:root{--plum:#4b237c;--mint:#c9ffd8;--red:#b52c1f;--ink:#111;--pale:#f1d7ff;--white:#fff}
*{box-sizing:border-box}html{background:var(--plum)}body{margin:0;color:var(--ink);font-family:"Courier New",Courier,monospace;font-size:16px}button,a,input{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.ritual-header{display:flex;min-height:44px;border-bottom:3px solid var(--ink);background:var(--mint);font-weight:bold}.ritual-header>*{display:flex;align-items:center;padding:9px 14px}.ritual-header a{background:var(--ink);color:var(--mint);text-decoration:none}.ritual-header span:nth-child(2){flex:1}.ritual-header span:last-child{border-left:2px solid var(--ink);background:var(--pale)}
main{width:min(1360px,100%);margin:0 auto;padding:24px}.ritual-intro{color:var(--pale)}.ritual-intro>p{margin:0 0 12px;color:var(--mint);font-weight:bold}.ritual-intro h1{max-width:16ch;margin:0;font-size:clamp(2.8rem,8vw,6rem);line-height:.88;letter-spacing:-.04em;text-wrap:balance}.intro-rules{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:970px;margin-top:22px;line-height:1.55}
.ritual-console{margin-top:24px;border:3px solid var(--ink);background:var(--pale)}.ritual-console>header,.ritual-index>header{display:flex;justify-content:space-between;gap:18px;padding:9px 12px;border-bottom:3px solid var(--ink);background:var(--ink);color:var(--mint);font-size:.8rem;font-weight:bold}.unassigned-state{padding:clamp(24px,6vw,70px)}.unassigned-state h2{max-width:18ch;margin:8px 0 15px;font-size:clamp(2rem,5vw,4rem);line-height:.95}.unassigned-state p{max-width:70ch;line-height:1.55}.unassigned-state a,.receipt-links a{display:inline-block;padding:9px 12px;border:2px solid var(--ink);background:var(--mint);color:var(--ink);font-weight:bold}
.ritual-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.85fr)}.ritual-reading{padding:22px;border-right:3px solid var(--ink)}.ritual-stage{margin:0 0 8px;font-size:.8rem;font-weight:bold}.ritual-reading h2,.receipt h2{max-width:20ch;margin:0 0 14px;font-size:clamp(2.1rem,5vw,4.5rem);line-height:.92;letter-spacing:-.035em}.ritual-instruction{max-width:67ch;font-size:1.05rem;line-height:1.65}.request-box,.boundary-box{margin-top:18px;padding:14px;border:2px solid var(--ink);background:var(--white)}.boundary-box{border-style:dashed;background:var(--mint)}.request-box p,.boundary-box p{margin:8px 0 0;line-height:1.55}
.ritual-form{padding:18px;background:var(--mint)}fieldset{margin:0 0 14px;padding:12px;border:2px solid var(--ink);background:var(--pale)}legend{padding:0 6px;font-weight:bold}.ritual-option{display:block;border:2px solid var(--ink);background:var(--white);cursor:pointer}.ritual-option+.ritual-option{margin-top:9px}.ritual-option input{position:absolute;opacity:0;pointer-events:none}.ritual-option span{display:block;padding:11px}.ritual-option input:checked+span{background:var(--red);font-weight:bold}.ritual-option input:focus-visible+span{outline:3px solid var(--red);outline-offset:2px}.ritual-option b,.ritual-option small{display:block}.ritual-option small{margin-top:6px;line-height:1.4}.claim-pair{display:grid;grid-template-columns:1fr 1fr;margin-top:8px;border-top:1px dashed var(--ink)}.claim-pair i{padding:8px 8px 0;font-style:normal;font-size:.78rem;line-height:1.35}.claim-pair i+i{border-left:1px dashed var(--ink)}.quiet-seal{min-height:210px;padding:30px 16px;border:3px double var(--ink);background:var(--plum);color:var(--pale);text-align:center}.quiet-seal b{display:block;margin-top:20px;font-size:1.35rem}.quiet-seal p{max-width:42ch;margin:12px auto 0;line-height:1.5}
#complete-ritual,#revoke-ritual{width:100%;min-height:48px;border:2px solid var(--ink);border-radius:0;background:var(--red);color:var(--ink);font-weight:bold;cursor:pointer}#complete-ritual:disabled,#revoke-ritual:disabled{background:var(--white);cursor:default}#ritual-status,#revoke-status{min-height:2.8em;font-weight:bold;line-height:1.4}
.receipt{display:grid;grid-template-columns:minmax(230px,.55fr) minmax(0,1.45fr);gap:0}.receipt>div{padding:22px}.receipt-stamp{display:flex;flex-direction:column;justify-content:center;border-right:3px solid var(--ink);background:var(--mint);text-align:center}.receipt-stamp b{display:block;margin:18px 0;font-size:clamp(2rem,5vw,4rem)}.receipt>div:last-child>p{max-width:70ch;line-height:1.6}.receipt dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:18px 0;border:2px solid var(--ink)}.receipt dl div{padding:11px;background:var(--white)}.receipt dl div+div{border-left:2px solid var(--ink)}.receipt dt{font-size:.75rem;font-weight:bold}.receipt dd{margin:7px 0 0;line-height:1.4}.receipt-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.ritual-history{margin-top:18px;border:3px solid var(--ink);background:var(--pale)}.ritual-history>header{display:flex;justify-content:space-between;gap:16px;padding:9px 12px;background:var(--ink);color:var(--mint);font-size:.8rem;font-weight:bold}.history-heading{padding:18px;border-bottom:2px solid var(--ink)}.history-heading h2{margin:0 0 8px;font-size:clamp(1.7rem,4vw,3rem)}.history-heading p{max-width:72ch;margin:0;line-height:1.5}.history-empty{margin:0;padding:18px}.history-record{display:grid;grid-template-columns:9rem minmax(0,1fr) auto;gap:16px;padding:16px;border-bottom:2px solid var(--ink);align-items:start}.history-record:last-child{border-bottom:0}.history-record h3{margin:0 0 6px}.history-record p{margin:4px 0;line-height:1.45}.history-record time{display:block;font-size:.78rem}.history-record button{min-height:44px;margin-top:10px;padding:8px;border:2px solid var(--ink);border-radius:0;background:var(--red);font:inherit;font-weight:bold;cursor:pointer}
.ritual-index{margin-top:18px;border:3px solid var(--ink);background:var(--mint)}.ritual-index>h2{max-width:25ch;margin:0;padding:20px 18px 0;font-size:clamp(1.8rem,4vw,3.2rem)}.ritual-index>div{display:grid;grid-template-columns:repeat(3,1fr)}.ritual-index article{padding:18px}.ritual-index article+article{border-left:2px solid var(--ink)}.ritual-index p{line-height:1.5}footer{display:flex;justify-content:space-between;gap:16px;padding:15px 24px;border-top:3px solid var(--ink);background:var(--ink)}footer a{color:var(--mint)}
@media(max-width:780px){main{padding:12px}.ritual-header span:nth-child(2){display:none}.intro-rules,.ritual-body,.receipt,.ritual-index>div{grid-template-columns:1fr}.ritual-reading,.receipt-stamp{border-right:0;border-bottom:3px solid var(--ink)}.ritual-index article+article{border-top:2px solid var(--ink);border-left:0}.claim-pair{grid-template-columns:1fr}.claim-pair i+i{border-top:1px dashed var(--ink);border-left:0}.receipt dl{grid-template-columns:1fr}.receipt dl div+div{border-top:2px solid var(--ink);border-left:0} .history-record{grid-template-columns:1fr}footer{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
