:root{color-scheme:dark;--bg:#0a100f;--panel:#0e1714;--border:#263b30;--muted:#8a9e91;--ink:#e3eadf;--green:#c3ef99;--dim:#5f8068;--gold:#d9bd87;font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;font-size:14px;line-height:1.6}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 60% 0,#17291c66,transparent 65%),var(--bg);color:var(--ink);min-height:100vh}a{color:var(--green);text-underline-offset:4px}a:hover{color:white}button,input,select{font:inherit}button,.button{border:1px solid #466448;padding:12px 19px;background:#152119;color:var(--ink);cursor:pointer;text-decoration:none;border-radius:3px;display:inline-flex;gap:25px;align-items:center;justify-content:center;font-size:.85rem;transition:background .2s}button:hover,.button:hover{background:#29402b}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--green);border-color:var(--green);color:#172213;font-weight:700}.primary:hover{background:#dafac0;color:#172213}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}[hidden]{display:none!important}header{max-width:1300px;padding:29px 45px;margin:auto;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);gap:30px}.brand{display:flex;align-items:center;gap:0;text-decoration:none;font-weight:700;font-size:17px;letter-spacing:2px;color:var(--ink)}.brand>span:not(.brand-mark){font-weight:400}.brand-mark{font-size:34px;color:var(--green);margin-right:13px;line-height:1}nav{display:flex;gap:27px;flex-wrap:wrap}nav a{color:#a1b2a4;text-decoration:none;font-size:12px}nav a[aria-current]{color:var(--green)}main{max-width:1210px;margin:auto;padding:38px 30px 70px}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.12;font-size:clamp(34px,4vw,54px);letter-spacing:-1px;margin-bottom:18px}h2{font-size:21px;line-height:1.35;font-weight:400}h3{font-size:12px;font-weight:400;letter-spacing:1.5px}.muted{color:var(--muted)}.small{font-size:11px}.eyebrow{font-size:10px;letter-spacing:1.7px;color:var(--green);margin-bottom:24px}.page-heading{display:flex;justify-content:space-between;gap:20px;margin:1px 0 15px}.page-heading .eyebrow{color:var(--muted)}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:8px;box-shadow:0 0 12px #b5ee8860}.panel{background:linear-gradient(145deg,#12201788,#0c1412);border:1px solid var(--border);border-radius:5px}.ritual-grid{display:grid;grid-template-columns:275px 1fr;gap:22px}.weather-card{padding:30px 27px;display:flex;flex-direction:column;align-items:flex-start}.weather-icon{font-size:77px;color:var(--green);line-height:1.1;margin:10px 0 28px}.weather-card h2{font-size:23px;letter-spacing:1px;max-width:210px}.weather-card>p.muted{font-size:12px;line-height:1.8}.metadata{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:20px 0;margin:22px 0;width:100%;font-size:10px;display:grid;grid-template-columns:1fr;gap:4px}.metadata dt{color:var(--muted)}.metadata dd{margin:0 0 9px;color:var(--ink)}details{font-size:11px;color:var(--muted);width:100%}summary{cursor:pointer;padding:8px 0;color:var(--green)}code{font-size:10px;overflow-wrap:anywhere;display:block}.ritual{position:relative;min-height:610px;padding:28px 35px 0;text-align:center;overflow:hidden}.ritual-top,.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;text-align:left}.ritual-top{margin-bottom:37px}.ritual-top .eyebrow,.section-heading .eyebrow{margin:0}.pill{font-size:9px;letter-spacing:1px;padding:4px 8px;border:1px solid var(--border);color:var(--green);border-radius:2px;white-space:nowrap}.ritual h1{font-size:36px}.ritual>p.muted{font-size:12px}.sigil{position:relative;width:195px;height:195px;margin:35px auto 42px;border:1px solid #45603b;border-radius:50%;display:grid;place-items:center;color:var(--green);box-shadow:0 0 60px #72be5010}.sigil:before,.sigil:after{content:'';position:absolute;inset:14px;border:1px solid #48613a66;transform:rotate(45deg)}.sigil:after{transform:rotate(0deg);inset:28px}.sigil span{font-size:83px;line-height:1;font-family:Georgia,serif}.sigil i{font-style:normal;position:absolute;font-size:7px;letter-spacing:2px;bottom:-26px;white-space:nowrap;color:var(--dim)}.sigil-ring{position:absolute;inset:-9px;border:1px dashed #45603b77;border-radius:50%;animation:orbit 70s linear infinite}.letters{display:flex;justify-content:center;gap:9px;margin:28px 0 17px;flex-wrap:wrap}.letters:empty{display:none}.letter{display:inline-grid;place-items:center;width:43px;height:50px;border:1px solid #526846;background:#1b2a1b;color:var(--green);font-size:23px;font-family:Georgia,serif}.winner{font-family:Georgia,serif;font-size:clamp(35px,6vw,64px);letter-spacing:7px;color:var(--green);margin:12px 0}.result-top{display:flex;gap:20px;justify-content:center;align-items:center;margin:20px 0}.result-top>span:last-child{color:var(--gold);letter-spacing:3px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{display:inline-block;border:1px solid var(--border);padding:5px 9px;font-size:10px;color:#adc3a8;border-radius:3px}#properties{justify-content:center;margin-bottom:27px}.actions{display:flex;gap:10px;flex-wrap:wrap}.ritual-actions{justify-content:center;margin-top:25px}.ritual #allowance{margin:15px 0 25px}.steps{border-top:1px solid var(--border);padding:15px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:2px;color:var(--dim);margin-top:25px}.reading,.network{padding:28px 32px;margin-top:22px}.reading .section-heading,.network .section-heading{margin-bottom:30px}#fortune-body{display:grid;grid-template-columns:1fr 1fr;gap:23px 40px}#fortune-body h3{color:var(--dim);font-size:9px}#fortune-body p{font-family:Georgia,serif;font-size:20px;line-height:1.65;margin-bottom:0}.fortune-impact{border-left:2px solid var(--green);padding-left:20px}.roads{margin-top:30px;padding-top:24px;border-top:1px solid var(--border)}.roads h3{color:var(--gold);font-size:10px}.roads p{margin:0;font-size:12px}.echo,.interruption{padding:16px;border:1px dashed #71613d;color:var(--gold);margin-top:20px}.interruption{grid-column:1/-1}.network .reaction{font-size:21px;padding:8px 14px}.network h3{margin-top:25px}.network #reaction-status{margin-top:15px}.landing{position:relative;padding:45px 0 60px}.landing h1{font-size:clamp(43px,5.5vw,72px);max-width:750px}.landing h1 em{font-style:normal;color:var(--green)}.landing>p:not(.eyebrow){max-width:540px;color:var(--muted);font-size:13px;line-height:1.9;margin:27px 0}.landing-seal{position:absolute;right:30px;top:85px;width:265px;height:265px;border:1px solid var(--border);border-radius:50%;display:grid;place-items:center;transform:rotate(15deg);color:var(--dim)}.landing-seal:after{content:'';inset:32px;position:absolute;border:1px solid var(--border)}.landing-seal span{font-size:170px;font-family:Georgia,serif}.intro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;border-top:1px solid var(--border);padding-top:30px}.intro-grid article>span{color:var(--dim);font-size:10px}.intro-grid h2{font-family:Georgia,serif;font-size:24px;margin-top:15px}.intro-grid p{color:var(--muted);font-size:12px;line-height:1.8}footer{max-width:1210px;margin:0 auto;padding:23px 30px;border-top:1px solid var(--border);color:var(--dim);font-size:8px;letter-spacing:1px;display:flex;justify-content:space-between;gap:25px}.account-panel{max-width:640px;margin:25px auto;padding:35px;border:1px solid var(--border);border-radius:5px;background:var(--panel)}.account-panel h1{font-size:38px}.account-panel input:not([type=checkbox]),.account-panel select{display:block;width:100%;background:#09120d;border:1px solid #455a46;color:var(--ink);padding:12px;border-radius:3px;margin:8px 0 18px}.account-panel label{font-size:12px}.account-panel .helptext,.account-panel li{font-size:12px;color:var(--muted)}.account-panel .check{display:flex;align-items:center;gap:10px;margin:20px 0 8px}input[type=checkbox]{accent-color:var(--green);width:17px;height:17px}hr{border:0;border-top:1px solid var(--border);margin:28px 0}.error,.errorlist{border:1px solid #9f625a;padding:15px;color:#ffb5a7;background:#34201c}.messages{color:var(--green)}.skip{position:absolute;top:-80px;left:20px;background:var(--panel);z-index:10;padding:10px}.skip:focus{top:10px}.ledger-tabs{margin:25px 0}.ledger-tabs [aria-pressed=true]{background:var(--green);color:var(--bg)}.ledger-entries{display:grid;gap:20px}.ledger-card{padding:26px}.ledger-card h2{font-family:Georgia,serif;color:var(--green);font-size:32px;margin:20px 0 10px}.ledger-card button{margin-top:15px}.word-chip{font-size:15px;padding:12px}#load-more{margin-top:22px}body[data-tier=GLITCH] .reading,body[data-tier=DAEMON] .reading,body[data-tier=ASCENDANT] .reading{border-color:var(--gold);box-shadow:inset 4px 0 var(--gold)}body[data-tier=ASCENDANT] .winner{color:var(--gold)}body[data-stage=CASTING] .sigil span{animation:breathe 1.8s ease-in-out infinite}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes breathe{50%{transform:scale(1.07)}}.stabilized *{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(max-width:1000px){.landing-seal{opacity:.18;right:0;z-index:-1}.ritual-grid{grid-template-columns:230px 1fr}.ritual{padding:25px 22px 0}.ritual h1{font-size:30px}}@media(max-width:700px){header{padding:22px 20px;display:block}.brand{font-size:15px}nav{margin-top:18px;gap:22px}main{padding:25px 18px 50px}.page-heading{display:block}.page-heading>p:last-child{display:none}.ritual-grid{grid-template-columns:1fr;gap:15px}.weather-card{padding:21px;display:block}.weather-icon{display:none}.weather-card h2{max-width:none;font-size:20px;margin-bottom:8px}.weather-card .eyebrow{margin-bottom:10px}.weather-card .metadata{display:grid;grid-template-columns:auto 1fr;gap:8px;margin:14px 0;padding:10px 0}.metadata dd{text-align:right;margin:0}.weather-card>p.small{display:none}.weather-card details{font-size:10px}.ritual{min-height:540px;padding:24px 17px 0}.ritual-top{margin-bottom:30px}.ritual-top .eyebrow{font-size:8px}.ritual h1{font-size:29px}.reading,.network{padding:24px 20px}#fortune-body{grid-template-columns:1fr;gap:25px}#fortune-body p{font-size:19px}.intro-grid{grid-template-columns:1fr;gap:22px}.landing{padding:30px 0 45px}.landing h1{font-size:43px}.landing .actions{display:grid}.landing-seal{width:190px;height:190px;top:95px}.account-panel{margin:0;padding:23px}.account-panel h1{font-size:31px}footer{display:block;padding:22px 18px}footer span{display:block;margin-bottom:8px}.letters{gap:6px}.letter{width:32px;height:42px;font-size:21px}.section-heading{align-items:flex-start}.section-heading .small{font-size:8px}.ledger-tabs button{padding:10px 12px}}

.case-fusion-tools{position:absolute;left:16px;right:16px;bottom:16px;z-index:8;display:flex;gap:8px;flex-wrap:wrap;padding:10px;background:#0a1010ee;border:1px solid var(--border);border-radius:6px}.case-fusion-tools button{padding:7px 10px;gap:4px}.case-fusion-selection{display:flex;gap:5px;flex-wrap:wrap;width:100%}.case-item[aria-pressed=true]{outline:2px solid var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent)}.portal-launch-transition{position:fixed;inset:0;z-index:2147483647;background:#030509;isolation:isolate}.portal-launch-transition canvas{position:relative;z-index:2;width:100%;height:100%;display:block}.portal-launch-black{position:absolute;inset:0;z-index:5;background:#000;opacity:0;pointer-events:none}.portal-fusion-glow{position:absolute;z-index:1;left:50%;top:50%;width:min(64vw,680px);aspect-ratio:1;transform:translate(-50%,-50%) scale(.4);border-radius:50%;background:radial-gradient(circle,var(--fusion-color,#b9f5d0) 0,transparent 67%);opacity:0;filter:blur(18px);pointer-events:none}.portal-fusion-glow.active{animation:portal-fusion-glow 2.3s ease-out both}.portal-fusion-particles{position:absolute;z-index:3;inset:0;pointer-events:none}.portal-fusion-particles i{position:absolute;left:50%;top:50%;animation-delay:var(--particle-delay,0s)!important}.portal-fusion-ember{width:5px;height:5px;border-radius:50%;background:var(--particle-color);box-shadow:0 0 13px var(--particle-color),0 0 26px color-mix(in srgb,var(--particle-color),transparent 45%);animation:portal-fusion-ember 1.05s cubic-bezier(.13,.65,.25,1) both}.portal-fusion-fog{width:34px;height:34px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--particle-color),transparent 48%) 0,transparent 70%);filter:blur(5px);animation:portal-fusion-fog 1.45s ease-out both}.portal-launch-fallback{position:absolute;z-index:2;inset:40% 0;text-align:center;font-size:70px}.portal-launch-transition.complete{background:#000}.portal-launch-transition.complete canvas,.portal-launch-transition.complete .portal-fusion-particles,.portal-launch-transition.complete .portal-fusion-glow{display:none}body:has(#public-flight){animation:portal-page-arrive 1s ease-out both}@keyframes portal-page-arrive{from{filter:brightness(0)}to{filter:brightness(1)}}@keyframes portal-fusion-glow{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}12%{opacity:.9}60%{opacity:.48;transform:translate(-50%,-50%) scale(1.15)}to{opacity:0;transform:translate(-50%,-50%) scale(1.48)}}@keyframes portal-fusion-ember{from{opacity:1;transform:translate(0,0) scale(1)}to{opacity:0;transform:translate(var(--particle-x),var(--particle-y)) scale(.12)}}@keyframes portal-fusion-fog{from{opacity:.7;transform:translate(0,0) scale(.3)}to{opacity:0;transform:translate(calc(var(--particle-x)*.48),calc(var(--particle-y)*.48)) scale(2.9)}}@media(max-width:700px){.case-fusion-tools{left:8px;right:8px;bottom:8px;padding:6px}.case-fusion-tools button{font-size:11px;padding:7px}}
.portal-traits-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:1px solid var(--border);padding:16px;margin:16px 0}.portal-traits-editor label{display:flex;flex-direction:column;gap:4px;min-width:0}.portal-traits-editor input,.portal-traits-editor textarea{width:100%;min-height:36px;background:var(--bg);color:var(--ink);border:1px solid var(--border);padding:8px}.portal-traits-editor p,.portal-traits-editor label:last-child{grid-column:1/-1}@media(max-width:500px){.portal-traits-editor{grid-template-columns:1fr}}
.portal-checkpoint-status{position:absolute;left:12px;bottom:12px;max-width:70%;pointer-events:none;z-index:5;text-shadow:0 1px 3px #000}.controller-active .portal-checkpoint-status{bottom:80px}body.controller-active :focus{outline:3px solid var(--accent)!important;outline-offset:4px!important}@media(max-width:700px){#console-controls{font-size:11px!important;padding:7px!important;gap:8px!important}#console-controls button{font-size:11px;padding:6px}}
.particulate-counter{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;color:var(--accent)}.particulate-flight{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:11000}.game-item-slots{display:flex;align-items:center;justify-content:center;gap:8px;margin:8px 0}.game-item-slot{display:grid;place-items:center;width:44px;height:44px;min-width:44px;padding:5px;font-size:23px;border:1px dashed var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--panel));color:var(--accent)}.game-item-slot.filled{border-style:solid;box-shadow:inset 0 0 14px color-mix(in srgb,var(--accent) 15%,transparent)}.game-item-slot:disabled{opacity:.9;cursor:default}#anagram-item-panel{margin-top:12px;text-align:center}.nested-word{border-color:var(--accent);box-shadow:0 0 9px color-mix(in srgb,var(--accent) 30%,transparent);text-decoration:underline;text-underline-offset:4px}.exchange-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}.exchange-card{padding:22px;display:flex;align-items:flex-start;flex-direction:column}.exchange-card h2{font-size:19px;margin:10px 0}.exchange-card p{font-size:13px}.exchange-card button{margin-top:auto}.exchange-glyph{font-size:34px;color:var(--accent)}.exchange-picker{max-width:min(640px,94vw);max-height:85dvh;overflow:auto}.exchange-picker-list{display:grid;gap:8px;margin:14px 0}.exchange-picker-list button{display:flex;flex-direction:column;gap:4px;text-align:left;align-items:flex-start;justify-content:flex-start}.exchange-picker-list small{color:var(--muted)}.exchange-filter [aria-pressed=true]{background:var(--accent);color:#101812}.portal-consumables{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);z-index:50;text-align:center;max-width:90%}.portal-consumables p{max-width:280px;margin:4px 0;text-shadow:0 1px 4px #000}.portal-consumables .game-item-slot{background:#071013df;width:38px;height:38px;min-width:38px;font-size:20px}.portal-offering-confirm select{max-width:100%;padding:8px;color:var(--ink);background:var(--panel)}.signal-companion{left:auto!important;top:auto!important;right:calc(100px + var(--companion-index)*65px)!important;bottom:100px!important;transform:scale(.58)!important;transform-origin:bottom right;pointer-events:none;opacity:.75}.signal-companion .ghost-name{font-size:12px}@media(max-width:800px){.exchange-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-consumables{bottom:5px}.portal-checkpoint-status{bottom:65px!important;max-width:85%}}@media(max-width:500px){.exchange-grid{grid-template-columns:1fr}.game-item-slot{width:42px;height:42px;min-width:42px}.signal-companion{left:auto!important;top:auto!important;right:calc(62px + var(--companion-index)*48px)!important;bottom:80px!important}}
/* v0.2: a quiet chromatic field, public artifacts, and explicit signal levels. */
@font-face{font-family:'Exo 2';font-style:normal;font-weight:100 900;font-display:swap;src:url('/static/fonts/Exo2.ttf') format('truetype')}
@font-face{font-family:'Oxanium';font-style:normal;font-weight:200 800;font-display:swap;src:url('/static/fonts/Oxanium.ttf') format('truetype')}@font-face{font-family:'Marcellus';font-style:normal;font-weight:400;font-display:swap;src:url('/static/fonts/Marcellus-Regular.ttf') format('truetype')}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:400;font-display:swap;src:url('/static/fonts/SpaceMono-Regular.ttf') format('truetype')}@font-face{font-family:'VT323';font-style:normal;font-weight:400;font-display:swap;src:url('/static/fonts/VT323-Regular.ttf') format('truetype')}@font-face{font-family:'Chakra Petch';font-style:normal;font-weight:400;font-display:swap;src:url('/static/fonts/ChakraPetch-Regular.ttf') format('truetype')}@font-face{font-family:'Nova Square';font-style:normal;font-weight:400;font-display:swap;src:url('/static/fonts/NovaSquare-Regular.ttf') format('truetype')}@font-face{font-family:'Rubik Glitch';font-style:normal;font-weight:400;font-display:swap;src:url('/static/fonts/RubikGlitch-Regular.ttf') format('truetype')}@font-face{font-family:'UnifrakturCook';font-style:normal;font-weight:700;font-display:swap;src:url('/static/fonts/UnifrakturCook-Bold.ttf') format('truetype')}@font-face{font-family:'Cinzel';font-style:normal;font-weight:400 900;font-display:swap;src:url('/static/fonts/Cinzel.ttf') format('truetype')}
.letter-count-popup{position:fixed;z-index:10000;transform:translateX(-50%);padding:7px 12px;border:1px solid var(--accent);border-radius:5px;background:var(--panel);color:var(--ink);box-shadow:0 4px 18px #0008;font-size:1.05rem;line-height:1.4;pointer-events:none;white-space:nowrap}
:root{--accent:#c3ef99;--tone:#7cad5b;--green:var(--accent)}
.storage-capacity{display:grid;gap:10px;padding:14px;cursor:pointer}.storage-capacity:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.storage-capacity-track{display:flex;min-height:48px;overflow:hidden;border:1px solid var(--border);background:#07100d}.storage-capacity-segment{position:relative;display:block;flex:var(--storage-share) 1 0;min-width:3px;overflow:hidden;border-right:1px solid #07100dbb;background:var(--storage-color)}.storage-capacity-segment:last-child{border-right:0}.storage-segment-top,.storage-segment-bottom{position:absolute;left:0;right:0;background:var(--storage-color)}.storage-segment-top{top:0;height:50%;display:flex;align-items:center;justify-content:center;padding:0 6px;color:#07100d;font-size:10px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.storage-segment-bottom{bottom:0;height:50%;opacity:.52}.storage-database-breakdown{position:absolute;inset:auto 0 0;height:50%;display:flex;background:#0004}.storage-database-piece{display:block;flex:var(--storage-weight) 1 0;min-width:1px;background:var(--storage-color)}.storage-mode{margin:0}.storage-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin:0}.storage-legend-item::before{content:'';display:inline-block;width:.7em;height:.7em;margin-right:5px;background:var(--storage-color)}@media(max-width:600px){.storage-capacity{padding:10px}.storage-capacity-track{min-height:42px}.storage-segment-top{font-size:8px;padding:0 3px}}
body[data-theme=blue]{--accent:#9dc8ff;--tone:#4483c4}body[data-theme=purple]{--accent:#c6a6ff;--tone:#8654cb}body[data-theme=pink]{--accent:#f3aed8;--tone:#ba568b}body[data-theme=orange]{--accent:#f1bb83;--tone:#c77835}body[data-theme=brown]{--accent:#c7ac91;--tone:#805b3c}body[data-theme=red]{--accent:#f3a59b;--tone:#a84b47}body[data-theme=grey]{--accent:#c4cbd3;--tone:#6f7882}body[data-theme=black]{--accent:#d9d9db;--tone:#3d3c46}body[data-theme=teal]{--accent:#94e5d7;--tone:#3b9f92}
body{--green:var(--accent);--border:color-mix(in srgb,var(--tone) 27%,#1a201e);--panel:color-mix(in srgb,var(--tone) 8%,#0a0e0e);--dim:color-mix(in srgb,var(--accent) 47%,#52605a);--muted:color-mix(in srgb,var(--accent) 24%,#9a9da0);background:#080c0d;isolation:isolate}body[data-theme=black]{background:#050506}.ambient{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;contain:strict}.aura{position:absolute;width:110vw;height:100vh;left:-25vw;top:-25vh;opacity:.19;filter:blur(45px);background:conic-gradient(from 40deg,transparent 0 15%,var(--tone) 24%,transparent 38% 56%,#514776 70%,transparent 87%);border-radius:48%;animation:cosmic-drift 73s linear infinite}.aura-two{width:85vw;height:95vh;left:43vw;top:45vh;opacity:.10;animation-direction:reverse;animation-duration:97s}.node-orbit{position:absolute;width:75vw;height:75vw;top:-15vw;right:-23vw;border:1px solid color-mix(in srgb,var(--tone) 16%,transparent);border-radius:50%;transform:rotate(-25deg) scaleY(.67);animation:node-drift 110s linear infinite;opacity:.4;background:linear-gradient(37deg,transparent 49.85%,color-mix(in srgb,var(--tone) 23%,transparent) 50%,transparent 50.15%),linear-gradient(-62deg,transparent 49.87%,color-mix(in srgb,var(--tone) 22%,transparent) 50%,transparent 50.13%)}.node-orbit:before,.node-orbit:after{content:'';position:absolute;inset:18%;border:1px solid color-mix(in srgb,var(--tone) 30%,transparent);border-radius:50%}.node-orbit:after{inset:32%;border-radius:34%;transform:rotate(33deg)}.node-orbit i{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--accent);box-shadow:0 0 13px var(--tone)}.node-orbit i:nth-child(1){top:0;left:50%}.node-orbit i:nth-child(2){top:50%;left:0}.node-orbit i:nth-child(3){top:50%;right:0}.node-orbit i:nth-child(4){bottom:0;left:50%}.node-orbit i:nth-child(5){top:20%;left:23%}.node-orbit i:nth-child(6){bottom:19%;right:23%}.node-orbit i:nth-child(7){top:45%;left:30%}.node-orbit i:nth-child(8){top:32%;right:15%}.node-orbit.second{top:60vh;right:64vw;width:65vw;height:65vw;animation-duration:135s;animation-direction:reverse;opacity:.22}@keyframes cosmic-drift{50%{transform:rotate(180deg) translate(2%,3%)}to{transform:rotate(360deg)}}@keyframes node-drift{to{transform:rotate(335deg) scaleY(.67)}}
.brand,nav,.eyebrow,button,.button,.pill,.metadata,.steps,.chip,.operator-strip,.token-palette,.rarity-rail{font-family:'Exo 2',sans-serif}.brand{font-weight:550}.eyebrow{font-weight:600;letter-spacing:1.8px}.panel{background:linear-gradient(145deg,color-mix(in srgb,var(--tone) 8%,#111718ee),#0b1011ed)}.operator-strip{max-width:1210px;margin:12px auto -17px;padding:0 30px;display:flex;justify-content:flex-end;gap:12px;align-items:center;font-size:10px;color:var(--muted);flex-wrap:wrap}.operator-strip a{color:var(--accent);text-decoration:none}.operator-strip span{font-size:10px}.ritual-grid{grid-template-columns:235px minmax(0,1fr);gap:18px}.signal-shell{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:12px;min-width:0}.ritual{padding:25px 22px 0}.rarity-rail{padding:23px 10px;display:flex;flex-direction:column;gap:15px}.rarity-rail .eyebrow{font-size:8px;text-align:center;margin:0}.rarity-level{display:flex;justify-content:space-between;align-items:center;width:100%;padding:13px 8px;margin:0 0 8px;gap:4px;background:transparent;border-color:color-mix(in srgb,var(--tier-color) 30%,transparent);color:var(--tier-color);font-size:10px;font-weight:600;letter-spacing:.5px}.rarity-level small{font-size:8px;font-weight:400}.rarity-level[aria-current=true]{background:var(--tier-color);color:#0b0e14;border-color:var(--tier-color);box-shadow:0 0 20px color-mix(in srgb,var(--tier-color) 12%,transparent)}[data-rarity=NULL]{--tier-color:#9da6b1}[data-rarity=STATIC]{--tier-color:#cbd1d3}[data-rarity=SIGNAL]{--tier-color:#80d6df}[data-rarity=CIPHER]{--tier-color:#bcabf2}[data-rarity=GLITCH]{--tier-color:#e49fce}[data-rarity=DAEMON]{--tier-color:#e5a383}[data-rarity=ASCENDANT]{--tier-color:#ebd391}.rarity-rail .small{font-size:10px;line-height:1.65;margin:0}.letter{border-color:color-mix(in srgb,var(--tone) 65%,#364139);background:color-mix(in srgb,var(--tone) 12%,#121916);font-family:'Exo 2',sans-serif;position:relative;flex:none}.letter.empty{color:transparent;border-style:dashed;opacity:.55}.letters{gap:7px;min-height:50px}.letter.sealed{color:var(--accent);border-color:var(--accent);box-shadow:0 0 15px color-mix(in srgb,var(--accent) 15%,transparent),inset 0 0 12px color-mix(in srgb,var(--accent) 8%,transparent)}.letter.vanishing{opacity:0;transform:scale(.7);transition:opacity .45s,transform .45s}.score-summary{font-family:'Exo 2',sans-serif;margin:15px 0;color:var(--accent);font-size:18px}.score-summary small{font-size:11px;color:var(--muted);margin-left:12px}#scoring{text-align:left;max-width:480px;margin:0 auto 20px;padding:12px 15px;border:1px solid var(--border);border-radius:3px}#scoring summary{font-size:11px}#score-breakdown p{margin:8px 0;font-size:11px}#score-breakdown .chips{margin:10px 0}.token-palette{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0}.token-palette button{font-size:11px;padding:8px 12px;min-height:36px;gap:0;background:color-mix(in srgb,var(--tone) 8%,#111718)}.composition{min-height:55px;border:1px dashed var(--border);border-radius:4px;display:flex;align-items:center;gap:7px;padding:10px;flex-wrap:wrap;margin:15px 0}.composition:empty:after{content:'Choose words or emoji below…';color:var(--muted);font-size:11px}.composition button{padding:5px 8px;font-size:12px;border-color:var(--dim)}#reaction-length{font-size:11px;align-self:center;color:var(--muted)}.inscription{font-family:'Exo 2',sans-serif;padding:13px 15px;background:color-mix(in srgb,var(--tone) 10%,#0b1110);border-left:2px solid var(--dim);margin:10px 0;font-size:14px}.social-entries{display:grid;gap:14px}.board-row{display:grid;grid-template-columns:40px minmax(140px,1fr) minmax(120px,1fr) 80px;align-items:center;gap:16px;border-top:1px solid var(--border);padding:18px 5px}.board-row:first-child{border-top:0}.rank{font-size:18px;font-family:'Exo 2',sans-serif;color:var(--dim)}.player-identity{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-family:'Exo 2',sans-serif;font-size:13px}.player-identity a{text-decoration:none;color:var(--accent)}.player-points{font-size:10px;color:var(--muted)}.mini-badge{border:1px solid var(--border);padding:2px 5px;border-radius:3px;font-size:11px;color:var(--gold)}.board-word{font-family:Georgia,serif;font-size:24px;color:var(--accent);letter-spacing:2px}.board-tier{display:block;font-size:9px;letter-spacing:1px;color:var(--muted)}.board-points{text-align:right;font-size:18px;color:var(--ink);font-family:'Exo 2',sans-serif}.board-points small{display:block;font-size:10px;color:var(--muted)}.board-inscriptions{grid-column:2/-1;margin-top:-8px}.board-inscriptions .inscription{font-size:12px;margin:2px 0}.badge-gallery{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}.badge-card{padding:15px;max-width:230px;border:1px solid var(--border);border-radius:5px}.badge-card h3{font-family:'Exo 2',sans-serif;font-size:14px;letter-spacing:0;color:var(--gold);margin:0 0 6px}.badge-card p{font-size:11px;color:var(--muted);margin:0}.debug-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin-top:30px}.debug-card{padding:25px}.debug-card h2{font-family:'Exo 2',sans-serif}.preview-canvas{margin-top:25px;min-height:220px;padding:22px;text-align:center;border:1px solid var(--border);border-radius:5px}.preview-canvas .winner{font-size:38px}.danger-zone{margin-top:25px;border-color:#704b46}.danger-zone input,.danger-zone select{display:block;background:var(--bg);border:1px solid var(--border);padding:12px;color:var(--ink);width:100%;margin:10px 0 20px}.danger-zone strong{color:var(--gold)}.danger-zone label{font-size:12px}.debug-card .check{display:block;margin:20px 0;font-size:12px}.theme-swatches{display:flex;gap:8px;margin:12px 0 25px;flex-wrap:wrap}.theme-swatch{width:26px;height:26px;padding:0;border-radius:50%;border:2px solid #868c85}.theme-swatch[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:3px}body[data-tier=GLITCH] .ritual,body[data-tier=DAEMON] .ritual,body[data-tier=ASCENDANT] .ritual{border-color:var(--gold)}body[data-tier=GLITCH]:not(.stabilized) .ritual-top .pill{animation:signal-offset 5s ease-in-out infinite}body[data-tier=DAEMON] .ritual-top .pill:before{content:'⌁ ';color:var(--gold)}body[data-tier=ASCENDANT] .ritual{box-shadow:inset 0 0 35px #c7ad6810,0 0 35px #c7ad680b}@keyframes signal-offset{0%,80%,100%{transform:translateX(0)}85%{transform:translateX(2px)}90%{transform:translateX(-1px)}}.stabilized .ambient *{animation:none!important}.stabilized .ambient{opacity:.6}
@media(max-width:1080px){.ritual-grid{grid-template-columns:205px minmax(0,1fr)}.signal-shell{grid-template-columns:minmax(0,1fr) 115px}.ritual{padding:22px 14px 0}.ritual h1{font-size:29px}.letter{width:34px;height:44px;font-size:21px}.letters{gap:5px}.rarity-level{font-size:9px;padding:12px 6px}.rarity-level small{font-size:7px}.operator-strip{padding:0 30px}.ritual-top{gap:5px}.ritual-top .eyebrow{font-size:8px}.debug-grid{grid-template-columns:1fr}}
@media(max-width:800px){.ritual-grid{grid-template-columns:1fr}.weather-card{padding:20px}.weather-icon{display:none}.weather-card h2{max-width:none}.weather-card .metadata{display:grid;grid-template-columns:80px 1fr;gap:4px;margin:12px 0;padding:10px 0}.weather-card .metadata dd{margin:0}.weather-card>p.small{display:none}.signal-shell{grid-template-columns:minmax(0,1fr) 115px}.rarity-rail{padding:22px 8px}.operator-strip{justify-content:flex-start;padding:0 20px;margin:10px 0 0}.board-row{grid-template-columns:25px minmax(0,1fr) 75px;gap:10px}.board-word-cell{grid-column:2;grid-row:2}.board-points{grid-column:3;grid-row:1/3}.board-inscriptions{grid-column:2/-1}.brand{font-size:14px}nav{gap:17px;font-size:11px}}
@media(max-width:480px){header{padding:18px 14px}nav{gap:5px 16px}nav a{padding:6px 0}.signal-shell{grid-template-columns:1fr;gap:12px}.rarity-rail{padding:18px 12px;gap:10px}.rarity-level{font-size:9px;letter-spacing:.2px;padding:12px 10px;flex-direction:row;align-items:center;gap:6px}.rarity-rail .eyebrow{font-size:8px;letter-spacing:.8px}.rarity-rail>.small{font-size:9px}.ritual{padding:20px 12px 0}.ritual-top{flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:26px}.ritual h1{font-size:27px}.ritual>p.muted{font-size:11px}.letter{width:36px;height:44px;font-size:19px}.letters{gap:5px;flex-wrap:wrap;min-height:44px}.winner-letters .letter{width:29px;height:39px;font-size:18px}.selected-letter{width:42px;height:44px}.winner{font-size:29px;letter-spacing:3px;overflow-wrap:anywhere}.sigil{width:135px;height:135px;margin:30px auto 40px}.sigil span{font-size:61px}.sigil i{font-size:5px;letter-spacing:1px}.score-summary{font-size:16px}.score-summary small{display:block;margin:0}.hunt-composition{align-items:stretch}.hunt-composition strong{flex-basis:100%;min-height:48px}.hunt-composition button{min-height:44px;flex:1;padding:9px 8px;gap:6px}.ritual-actions button{padding:11px;font-size:11px;gap:10px}.steps{font-size:6px;letter-spacing:0;padding:12px 0}.result-top{gap:7px}.result-top>span:last-child{letter-spacing:1px;font-size:11px}#properties .chip{font-size:8px;padding:4px 5px}#scoring{padding:7px}#scoring summary{font-size:9px}#score-breakdown p{font-size:9px}main{padding:22px 12px}.operator-strip span{font-size:8px}.operator-strip{gap:8px;padding:0 14px}.letter.empty{min-width:0}.debug-card{padding:18px}.preview-canvas{padding:15px 5px}.preview-canvas .letters{justify-content:center}.landing h1{font-size:40px}.theme-swatches{gap:10px}}
@media(prefers-reduced-motion:reduce){.ambient *{animation:none!important}.ambient{opacity:.6}.letter.vanishing{transition:none!important}}

body[data-tier=GLITCH]:not(.stabilized) .preview-canvas .pill{animation:signal-offset 5s ease-in-out infinite}body[data-tier=DAEMON] .preview-canvas{border-color:var(--gold);box-shadow:inset 0 0 50px #91709e22}body[data-tier=ASCENDANT] .preview-canvas{border-color:var(--gold);box-shadow:inset 0 0 35px #c7ad6820,0 0 35px #c7ad681a}

button:not(.primary),.button:not(.primary){border-color:color-mix(in srgb,var(--accent) 35%,var(--bg));background:color-mix(in srgb,var(--accent) 8%,var(--bg))}button:not(.primary):hover,.button:not(.primary):hover{background:color-mix(in srgb,var(--accent) 17%,var(--bg))}.primary:hover{background:color-mix(in srgb,var(--accent) 80%,white);color:#121711}

/* Shared tier artwork: previews and saved signals use identical layers. */
.ritual,.preview-canvas{position:relative;isolation:isolate;overflow:hidden}
.signal-effects{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;opacity:0;transition:opacity .7s}
[data-effect]>.signal-effects{opacity:1}
.effect-halo,.effect-orbit{position:absolute;display:block;width:260px;height:260px;max-width:90%;aspect-ratio:1;left:50%;top:48%;translate:-50% -50%;border:1px solid var(--effect-color);border-radius:50%;opacity:.3}
.effect-orbit{width:205px;height:205px;border-style:dashed;opacity:.2}
.effect-scan{position:absolute;inset:0;opacity:0}
.effect-rune{position:absolute;right:8%;top:15%;font-size:42px;color:var(--effect-color);opacity:0}
.effect-particles i{position:absolute;width:3px;height:3px;left:calc(9% + var(--i)*11%);top:calc(24% + var(--i)*7%);border-radius:50%;background:var(--effect-color);opacity:0;box-shadow:0 0 8px var(--effect-color)}
[data-effect=NULL]{--effect-color:#a0aec0}
[data-effect=NULL] .effect-halo{width:180px;height:180px;border-style:dotted;animation:void-breathe 7s ease-in-out infinite;box-shadow:0 0 50px #8294b014}
[data-effect=NULL] .effect-orbit{display:none}
[data-effect=STATIC]{--effect-color:#bbc8ce}
[data-effect=STATIC] .effect-halo,[data-effect=STATIC] .effect-orbit{display:none}
[data-effect=STATIC] .effect-scan{opacity:.28;background:repeating-linear-gradient(0deg,transparent 0 9px,#a5bac528 10px,transparent 11px);animation:static-drift 5s linear infinite}
[data-effect=SIGNAL]{--effect-color:#80d6df}
[data-effect=SIGNAL] .effect-halo{box-shadow:0 0 40px #80d6df20,inset 0 0 30px #80d6df0e;animation:signal-wave 4s ease-in-out infinite}
[data-effect=SIGNAL] .effect-orbit{animation:signal-wave 4s 1s ease-in-out infinite;border-style:solid}
[data-effect=CIPHER]{--effect-color:#bcabf2}
[data-effect=CIPHER] .effect-halo{border-radius:20%;transform:rotate(45deg);animation:cipher-orbit 24s linear infinite;background:linear-gradient(45deg,transparent 49.7%,#bcabf230 50%,transparent 50.3%)}
[data-effect=CIPHER] .effect-orbit{border-radius:25%;animation:cipher-orbit 30s linear reverse infinite}
[data-effect=CIPHER] .effect-rune{opacity:.35;animation:void-breathe 6s ease-in-out infinite}
[data-effect=GLITCH]{--effect-color:#e49fce}
[data-effect=GLITCH] .effect-halo{border-radius:8%;border-color:#e49fce;box-shadow:8px 0 #80d6df32,-8px 0 #e49fce32;animation:channel-slip .4s steps(2,end) infinite}
[data-effect=GLITCH] .effect-orbit{border-radius:8%;border-color:#80d6df;animation:channel-slip .55s steps(2,end) reverse infinite}
[data-effect=GLITCH] .effect-scan{opacity:.2;background:repeating-linear-gradient(0deg,transparent 0 30px,#e49fce44 31px,transparent 34px);animation:static-drift .8s linear infinite}
[data-effect=DAEMON]{--effect-color:#e5a383}
[data-effect=DAEMON] .effect-halo{border:3px solid transparent;border-top-color:#e5a383;border-bottom-color:#a56bca;box-shadow:0 0 55px #df815b18;animation:cipher-orbit 9s linear infinite}
[data-effect=DAEMON] .effect-orbit{border:2px solid transparent;border-left-color:#e5a383;border-right-color:#a56bca;animation:cipher-orbit 7s linear reverse infinite}
[data-effect=DAEMON] .effect-particles i{opacity:.4;animation:mote-rise 7s ease-in-out infinite;animation-delay:calc(var(--i)*-.8s)}
[data-effect=ASCENDANT]{--effect-color:#ebd391}
[data-effect=ASCENDANT] .effect-halo{width:300px;height:300px;background:repeating-conic-gradient(from 0deg,#ebd39118 0deg 2deg,transparent 2deg 30deg);box-shadow:0 0 65px #ebd3912a,inset 0 0 45px #ebd3911a;animation:cipher-orbit 45s linear infinite}
[data-effect=ASCENDANT] .effect-orbit{border:3px double #ebd391;animation:signal-wave 5s ease-in-out infinite}
[data-effect=ASCENDANT] .effect-particles i{opacity:.65;animation:mote-rise 6s ease-in-out infinite;animation-delay:calc(var(--i)*-.7s)}
[data-effect=ASCENDANT] .effect-rune{opacity:.4;color:#ebd391}
[data-effect] .letter.sealed{border-color:var(--effect-color);box-shadow:0 0 16px color-mix(in srgb,var(--effect-color) 23%,transparent)}
.effect-description{font-size:12px;color:var(--effect-color)}
[data-preview-tier][aria-pressed=true]{outline:2px solid var(--accent);outline-offset:3px}
@keyframes void-breathe{50%{opacity:.15;scale:.9}}
@keyframes static-drift{to{transform:translateY(33px)}}
@keyframes signal-wave{0%,100%{scale:.91;opacity:.22}50%{scale:1.07;opacity:.46}}
@keyframes cipher-orbit{from{rotate:0deg}to{rotate:360deg}}
@keyframes channel-slip{0%,65%,100%{transform:translateX(0) skew(0)}70%{transform:translateX(7px) skew(-2deg)}80%{transform:translateX(-5px) skew(2deg)}90%{transform:translateX(3px)}}
@keyframes mote-rise{0%,100%{transform:translateY(12px);opacity:.15}50%{transform:translateY(-28px);opacity:.7}}
.stabilized .signal-effects *{animation:none!important}
@media(prefers-reduced-motion:reduce){.signal-effects *{animation:none!important}.signal-effects{transition:none}}
.signal-anchor{position:relative;isolation:isolate;z-index:0}
.signal-anchor>.signal-effects{inset:auto;left:50%;top:50%;width:min(380px,115vw);height:320px;translate:-50% -50%;overflow:visible}
.signal-anchor>.signal-effects .effect-halo,.signal-anchor>.signal-effects .effect-orbit{top:50%}
.signal-anchor>.signal-effects .effect-scan{inset:15% -20%}
/* Keep the active tier's inverted colors above generic theme button rules. */
button.rarity-level[aria-current=true]{background:var(--tier-color);color:#0b0e14;border-color:var(--tier-color)}

/* Curated word drawers keep the inscription palette compact. */
.token-palette{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}
.token-drawer{border:1px solid var(--border);border-radius:5px;background:color-mix(in srgb,var(--tone) 5%,#0b1011);overflow:hidden}
.token-drawer summary{display:grid;grid-template-columns:1fr auto;gap:5px 12px;list-style:none;padding:17px 18px;min-height:77px;position:relative}
.token-drawer summary::-webkit-details-marker{display:none}
.token-drawer summary strong{font-family:'Exo 2',sans-serif;font-size:14px;font-weight:500;letter-spacing:.3px}
.token-drawer summary small{grid-column:1/-1;color:var(--muted);font-size:10px}
.token-group-count{font-size:10px;color:var(--muted)}
.token-group-count:after{content:' ＋';color:var(--accent);font-size:14px}
.token-drawer[open] .token-group-count:after{content:' −'}
.token-drawer[open]{border-color:var(--dim)}
.token-group-words{display:flex;flex-wrap:wrap;gap:7px;padding:4px 17px 18px;animation:word-drawer-in .2s ease-out}
@keyframes word-drawer-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
.player-stars{font-size:10px;color:var(--gold);white-space:nowrap}
button.star-button{font-family:'Exo 2',sans-serif;font-size:11px;padding:8px 10px;gap:4px;white-space:nowrap;border-color:color-mix(in srgb,var(--gold) 35%,var(--bg));color:var(--gold);margin-top:9px}
button.star-button[aria-pressed=true]{background:color-mix(in srgb,var(--gold) 16%,var(--bg));border-color:var(--gold)}
button.star-button:disabled{cursor:default;opacity:.7}
.board-row{grid-template-columns:35px minmax(130px,1fr) minmax(100px,1fr) 145px}
.ledger-card>.star-button{margin:0 0 16px}
.ledger-card,.board-row{position:relative}
button.favorite-button{position:absolute;right:10px;top:8px;z-index:2;border:0;background:transparent;color:var(--gold);font-size:24px;padding:4px 8px;line-height:1}
button.favorite-button[aria-pressed=true]{color:#ef6f91;text-shadow:0 0 10px color-mix(in srgb,#ef6f91 55%,transparent)}
@media(max-width:800px){.board-row{grid-template-columns:25px minmax(0,1fr) 120px}.board-points{font-size:16px}.board-points .star-button{font-size:10px;padding:8px 6px}}
@media(max-width:480px){.token-palette{grid-template-columns:1fr}.token-drawer summary{padding:15px;min-height:72px}.board-row{grid-template-columns:20px minmax(0,1fr) 107px;gap:8px}.board-word{font-size:20px;overflow-wrap:anywhere}.player-identity{overflow-wrap:anywhere}}
.stabilized .token-group-words{animation:none}
@media(prefers-reduced-motion:reduce){.token-group-words{animation:none}}

/* Initiation: native modal focus containment; a transparent CSS spotlight. */
.initiation{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:#edf0ed;overflow:hidden;z-index:1000;transition:opacity .55s ease}
.initiation::backdrop{background:transparent}
.tour-spot{position:fixed;border:1px solid #c0e6d5;border-radius:12px;box-shadow:0 0 0 200vmax #030609dd,0 0 24px #6bffc933;pointer-events:none;transition:width .18s,height .18s,left .18s,top .18s}
.tour-panel{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);width:min(660px,calc(100vw - 28px));max-height:52dvh;overflow:auto;background:linear-gradient(145deg,#10171cf7,#090e14fc);border:1px solid #8fbaa566;border-radius:14px;padding:22px 26px;box-shadow:0 20px 80px #000,0 0 25px #7192da12;transition:opacity .26s;isolation:isolate}
.tour-panel h2{font-size:clamp(1.4rem,4vw,2rem);margin:8px 0;font-weight:500;letter-spacing:.035em;text-shadow:1px 0 #af74df55,-1px 0 #7afbd455}
.tour-panel p{margin:10px 0;line-height:1.5}.tour-plain{font-size:.86rem;color:#fff;opacity:.5}.tour-controls{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:18px}.tour-tools{margin-left:auto;display:flex;gap:8px}.tour-controls button{min-height:44px}.tour-controls button:focus-visible,.token-choices button:focus-visible{outline:2px solid #d9ffe7;outline-offset:3px}
.tour-ending .tour-spot{inset:0!important;width:100%!important;height:100%!important;border:0;border-radius:0;background:#020409ed;box-shadow:none}.tour-ending .tour-panel{top:50%;bottom:auto;transform:translate(-50%,-50%);text-align:center;border-color:transparent;background:transparent;box-shadow:none}.tour-ending h2{font-size:clamp(2rem,6vw,3.5rem)}.tour-ending .tour-controls{justify-content:center}.tour-ending .tour-tools{margin-left:0}.tour-text-fade,.tour-depart{opacity:0}
[data-tutorial-preview]::before{content:attr(data-tutorial-preview);display:block;font-size:.7rem;color:#c8bcdf;border-left:2px solid #796491;padding:5px 9px;margin-bottom:10px;letter-spacing:.06em}.tutorial-replay{margin:0 0 18px;font-size:.8rem}
.token-choices{position:fixed;inset:0;z-index:600;pointer-events:none}.token-choices button{position:fixed;pointer-events:auto;min-height:44px;padding:7px;background:#111a20;border:1px solid #789b9e;box-shadow:0 4px 20px #000d;font-size:.85rem;touch-action:manipulation}.token-choices .token-true{color:#e2f7e8;border-color:#c3edd2;box-shadow:0 0 18px #72d3bd44}.token-choices .token-variant{color:#c5bada}.token-group-words button{touch-action:manipulation;user-select:none;-webkit-touch-callout:none}
.ritual-particle{position:fixed;width:calc(3px * var(--particle-scale,2.5));height:calc(3px * var(--particle-scale,2.5));background:#dcfff1;box-shadow:0 0 10px #9bffe3;z-index:700;pointer-events:none;animation:mote-arrive .9s var(--delay) both steps(16)}
.ritual-particle:nth-child(3n){width:calc(9px * var(--particle-scale,2.5));height:calc(1px * var(--particle-scale,2.5));background:#b1a0ff}.ritual-particle.ash{background:#211330;box-shadow:0 0 8px #91568388;animation-name:mote-ash}
@keyframes mote-arrive{0%{transform:translate(var(--dx),var(--dy)) scale(.7);opacity:0}18%{opacity:1}82%{opacity:.95}100%{transform:translate(0,0) scale(.45);opacity:0}}
@keyframes mote-ash{0%{transform:translate(0,0);opacity:1}100%{transform:translate(var(--dx),var(--dy)) scale(.2);opacity:0}}
.word-materialize{animation:word-coalesce .8s both}.word-destroy{animation:word-unmake .34s both}.token-flight{position:fixed;z-index:700;pointer-events:none;color:#d5ffeb;text-shadow:0 0 10px #8fecca;background:#121b20;padding:5px 9px;border:1px solid #7aab9a;animation:token-ascend .6s cubic-bezier(.2,.7,.2,1) both}.token-arriving{animation:token-form .65s both}
@keyframes word-coalesce{0%{opacity:0;filter:blur(7px);clip-path:inset(45% 0 45% 0);transform:translateX(-3px)}35%{opacity:.5;clip-path:inset(15% 0 25% 0);text-shadow:3px 0 #bb72b6,-3px 0 #82d9dc}70%{opacity:1;filter:blur(1px)}100%{opacity:1;filter:none;clip-path:inset(0);transform:none}}
@keyframes word-unmake{0%{filter:none}35%{transform:translateX(4px);filter:brightness(.4);text-shadow:-4px 1px #704870}65%{clip-path:inset(25% 0 15% 0);transform:translateX(-5px)}100%{opacity:0;filter:blur(6px);transform:scale(.94);clip-path:inset(50% 0)}}
@keyframes token-ascend{0%{opacity:1}80%{opacity:.8}100%{transform:translate(var(--dx),var(--dy)) scale(.8);opacity:0}}@keyframes token-form{0%,55%{opacity:0}100%{opacity:1}}
@media(max-width:600px){.tour-panel{padding:15px 18px;bottom:10px;max-height:55dvh}.tour-panel p{font-size:.88rem}.tour-panel .tour-plain{font-size:.78rem}.tour-controls{gap:6px}.tour-controls button{padding:8px 12px}}
@media(prefers-reduced-motion:reduce){.tour-spot,.tour-panel,.initiation{transition:none}.ritual-particle,.token-flight{display:none}.word-materialize,.word-destroy,.token-arriving{animation:none}}
.stabilized .tour-spot,.stabilized .tour-panel,.stabilized .initiation{transition:none}.stabilized .ritual-particle,.stabilized .token-flight{display:none}.stabilized .word-materialize,.stabilized .word-destroy,.stabilized .token-arriving{animation:none}

.letter-flight{position:fixed;z-index:710;pointer-events:none;margin:0;animation:letter-flight .9s cubic-bezier(.2,.75,.2,1) both;box-shadow:0 0 22px color-mix(in srgb,var(--accent) 65%,transparent)}
.ritual-particle.letter-select-spark{animation-timing-function:cubic-bezier(.2,.7,.3,1);will-change:transform,opacity}
.letter-return{position:fixed;z-index:710;pointer-events:none;margin:0;animation:letter-return 1.1s cubic-bezier(.15,.8,.25,1) both}.return-spark{position:fixed;z-index:711;width:calc(3px * var(--particle-scale,2.5));height:calc(3px * var(--particle-scale,2.5));border-radius:50%;pointer-events:none;background:color-mix(in srgb,var(--accent) 80%,white);box-shadow:0 0 10px var(--accent);animation:return-spark 1.1s var(--delay) cubic-bezier(.2,.7,.3,1) both}
.letter-flight.dark{animation-name:letter-flight-dark}.letter-arriving{animation:letter-arrive 1.2s both}.letter-casting{animation:source-pulse 1.1s ease both}
@keyframes letter-flight{0%{opacity:.9;filter:brightness(1.7)}70%{opacity:.95}100%{transform:translate(var(--dx),var(--dy)) scale(.8);opacity:0;filter:blur(2px)}}
@keyframes letter-flight-dark{0%{opacity:.9}100%{transform:translate(var(--dx),var(--dy)) scale(.35) rotate(8deg);opacity:0;filter:blur(5px) brightness(.3)}}
@keyframes letter-return{0%{opacity:.7;filter:blur(0) brightness(1.5)}35%{opacity:.35;filter:blur(3px)}100%{transform:translate(var(--dx),var(--dy)) scale(.65);opacity:0;filter:blur(6px)}}
@keyframes return-spark{0%{opacity:0;transform:translate(0,0) scale(.3)}18%{opacity:1;transform:translate(0,var(--bend)) scale(1)}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.15)}}
@keyframes letter-arrive{0%,45%{opacity:0;filter:blur(4px)}70%{opacity:1;filter:brightness(2);box-shadow:0 0 24px var(--accent)}100%{filter:none}}
@keyframes source-pulse{0%,100%{filter:none}35%{filter:brightness(2);box-shadow:0 0 22px var(--accent)}70%{filter:brightness(.65)}}
@media(prefers-reduced-motion:reduce){.letter-flight,.letter-return,.return-spark{display:none}.letter-arriving,.letter-casting{animation:none}}
.stabilized .letter-flight,.stabilized .letter-return,.stabilized .return-spark{display:none}.stabilized .letter-arriving,.stabilized .letter-casting{animation:none}
.selected-letter.letter-pending{animation:letter-materialize .9s ease-out both}@keyframes letter-materialize{0%{opacity:.12;color:transparent;text-shadow:0 0 9px var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}55%{opacity:.55;color:color-mix(in srgb,var(--accent) 45%,transparent);text-shadow:0 0 7px var(--accent)}100%{opacity:1;color:inherit;text-shadow:none}}
.debug-timing-bars{position:fixed;right:12px;bottom:12px;z-index:900;width:min(410px,calc(100vw - 24px));background:#081116f2;border:1px solid var(--accent);box-shadow:0 8px 28px #000b;color:var(--ink);font:12px ui-monospace,monospace;transition:translate .3s ease}.debug-timing-content{padding:12px;max-height:min(82vh,760px);overflow:auto}.debug-timing-bars strong,.debug-timing-bars small{display:block}.debug-timing-bars small{color:var(--muted);margin:3px 0 9px}.debug-timing-toggle{position:absolute;right:-1px;bottom:100%;margin:0;padding:5px 11px;border-radius:10px 10px 0 0;font:10px ui-monospace,monospace;letter-spacing:.1em}.debug-timing-hidden{translate:calc(100% + 12px) 0}.debug-timing-hidden .debug-timing-toggle{right:100%;bottom:0;border-radius:10px 0 0 10px;writing-mode:vertical-rl}.debug-timing-row{display:grid;grid-template-columns:136px 1fr 58px;gap:7px;align-items:center;margin:4px 0}.debug-timing-row i{display:block;min-width:2px;height:10px;box-shadow:0 0 7px currentColor}.debug-timing-row b{text-align:right;font-weight:400}
.signal-ghost{--ghost-color:#9bd9ff;position:fixed;left:7vw;top:15vh;z-index:390;width:124px;height:105px;margin:0;display:grid;place-items:center;isolation:isolate;color:var(--ghost-color);opacity:.7;filter:drop-shadow(0 0 14px var(--ghost-color));pointer-events:none;animation:ghost-drift 13s ease-in-out infinite alternate}.ghost-body{position:relative;width:65px;height:65px;display:grid;place-items:center;border-radius:50%;font-size:0;background:radial-gradient(circle at 38% 32%,#fff9 0 4%,var(--ghost-color) 25%,color-mix(in srgb,var(--ghost-color) 45%,transparent) 62%,transparent 70%);opacity:.52}.ghost-body::before,.ghost-body::after{content:'';position:absolute;width:8px;height:12px;border-radius:50%;background:#071014aa;transform:translate(-11px,-7px);box-shadow:22px 0 #071014aa}.ghost-body::after{width:48px;height:35px;z-index:-1;transform:translate(-26px,22px) skewX(-20deg);background:linear-gradient(135deg,var(--ghost-color),transparent 72%);filter:blur(6px);opacity:.45}.signal-ghost span{position:absolute;bottom:0;font-size:10px;letter-spacing:.12em;color:var(--ghost-color);white-space:nowrap;text-shadow:0 1px 3px #000}.ghost-rays{position:absolute;inset:0;z-index:-1;opacity:0;background:repeating-conic-gradient(transparent 0 9deg,#fff 11deg,transparent 16deg 27deg);clip-path:circle(46%)}.signal-ghost.ghost-hit{animation:ghost-hit .5s steps(2) both}.signal-ghost.ghost-hit .ghost-body{filter:hue-rotate(120deg) saturate(3);background-color:#f44}.signal-ghost.ghost-capture{animation:ghost-capture 1.3s ease-in both}.signal-ghost.ghost-capture .ghost-rays{animation:ghost-rays 1.15s linear both}.signal-ghost.ghost-captured{display:none}
@keyframes ghost-drift{0%{transform:translate(0,0) rotate(-4deg)}30%{transform:translate(58vw,8vh) rotate(5deg)}62%{transform:translate(24vw,55vh) rotate(-2deg)}100%{transform:translate(72vw,35vh) rotate(4deg)}}@keyframes ghost-hit{0%,100%{transform:translate(35vw,25vh);filter:drop-shadow(0 0 14px #f44)}25%{transform:translate(calc(35vw - 8px),25vh)}50%{transform:translate(calc(35vw + 9px),25vh)}75%{transform:translate(calc(35vw - 5px),25vh)}}@keyframes ghost-rays{0%{opacity:0;transform:scale(.3) rotate(0)}75%{opacity:.85;transform:scale(1.7) rotate(130deg)}100%{opacity:1;transform:scale(2.2) rotate(180deg)}}@keyframes ghost-capture{0%{transform:translate(35vw,25vh);filter:drop-shadow(0 0 12px var(--ghost-color))}70%{opacity:.9;filter:brightness(4) saturate(0) drop-shadow(0 0 35px white);transform:translate(35vw,25vh) scale(.85)}100%{opacity:0;filter:brightness(8) saturate(0);transform:translate(35vw,25vh) scale(0)}}
.stabilized .signal-ghost,.stabilized .signal-ghost *{animation:none!important}@media(prefers-reduced-motion:reduce){.signal-ghost,.signal-ghost *{animation:none!important}}
.letter-return.letter-rejected{color:#ff5555;border-color:#ff5555;background:color-mix(in srgb,#ff3333 22%,var(--panel));box-shadow:0 0 16px #ff333366;animation:letter-reject .7s ease-out both}
@keyframes letter-reject{0%{opacity:1;filter:brightness(1.5)}35%{opacity:.7;filter:brightness(1)}100%{transform:translate(var(--dx),var(--dy)) scale(.65);opacity:0;filter:blur(3px)}}
.source-pool .letter.letter-hinted{filter:grayscale(var(--letter-used,0)) brightness(calc(1 - var(--letter-used,0) * .35));transition:filter .45s ease-in-out,opacity .3s ease-out,background-color .3s ease-out}
.source-pool .letter.letter-arriving.letter-hinted{animation-name:selector-letter-arrive}
.source-pool .letter.chosen.letter-arriving{animation:none}
@keyframes selector-letter-arrive{0%,45%{opacity:0;transform:scale(.85)}70%{opacity:1;transform:scale(1.05);box-shadow:0 0 24px var(--accent)}100%{opacity:1;transform:scale(1)}}
.stabilized .source-pool .letter.letter-hinted{transition:none}@media(prefers-reduced-motion:reduce){.source-pool .letter.letter-hinted{transition:none}}
.source-pool .letter.letter-exhausted:not(.chosen){border-style:dashed}
.source-pool .letter.letter-hinted:disabled:not(.chosen){opacity:1}
.talisman-reveal{--ink:#e3eadf;--muted:#aabfb5}
.collection-progress{font-size:.88rem;color:var(--accent);padding:10px 0;border-bottom:1px solid var(--border)}
.augur-icon{--augur-color:#77cfff;--augur-tempo:9s;position:relative;display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border:1px solid var(--augur-color);border-radius:50%;color:var(--augur-color);background:radial-gradient(circle,color-mix(in srgb,var(--augur-color) 25%,transparent),transparent 70%);box-shadow:0 0 12px color-mix(in srgb,var(--augur-color) 35%,transparent);margin-right:8px;transition:color .5s,background .5s}
.augur-icon::before,.augur-icon::after{content:'';position:absolute;inset:4px;border:1px dashed var(--augur-color);border-radius:50%;animation:augur-orbit var(--augur-tempo) linear infinite}.augur-icon::after{inset:-4px;border-style:dotted;animation-direction:reverse;opacity:.5}
@keyframes augur-orbit{to{transform:rotate(360deg)}}
.augur-progress{padding:10px 12px;border-left:2px solid var(--augur-color,var(--accent));color:var(--ink)}
.augur-rewrite{animation:augur-rewrite .75s ease-out both}@keyframes augur-rewrite{0%{opacity:.45;filter:brightness(1.4)}100%{opacity:1;filter:brightness(1)}}
.stabilized .augur-icon::before,.stabilized .augur-icon::after,.stabilized .augur-rewrite{animation:none}@media(prefers-reduced-motion:reduce){.augur-icon::before,.augur-icon::after,.augur-rewrite{animation:none}}
.ghost-motion{display:grid;place-items:center;transform-origin:50% 65%;will-change:rotate}
@keyframes ghost-drift{0%{transform:translate(0,0)}30%{transform:translate(58vw,8vh)}62%{transform:translate(24vw,55vh)}100%{transform:translate(72vw,35vh)}}
/* Pause in the actual floating position; shake a separate layer, never jump
   to a hard-coded point or restart the travel path after a hit. */
.signal-ghost.ghost-hit{animation:ghost-drift 13s ease-in-out infinite alternate;animation-play-state:paused;filter:drop-shadow(0 0 14px #f44)}
.signal-ghost.ghost-hit .ghost-body{animation:ghost-body-hit .5s steps(2) both}
@keyframes ghost-body-hit{0%,100%{transform:translateX(0)}25%{transform:translateX(-8px)}50%{transform:translateX(9px)}75%{transform:translateX(-5px)}}
.day-clock{position:fixed;left:0;top:38vh;z-index:520;display:flex;align-items:stretch;touch-action:none;transition:transform .35s ease;color:var(--ink);filter:drop-shadow(0 5px 15px #0008)}.day-clock>div{width:174px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--accent) 55%,var(--border));border-left:0;background:color-mix(in srgb,var(--panel) 93%,transparent);backdrop-filter:blur(10px);cursor:ns-resize}.day-clock span,.day-clock small{display:block;font-size:9px;letter-spacing:.12em;color:var(--muted)}.day-clock strong{display:block;margin:3px 0;font:700 24px ui-monospace,monospace;letter-spacing:.08em;color:var(--accent)}.day-clock-tab{order:2;width:34px;min-width:34px;padding:4px;border-radius:0 999px 999px 0;border-left:0}.day-clock-hidden{transform:translateX(-174px)}.day-clock-critical strong{color:#ff4d4d;text-shadow:0 0 10px #ff1f1f88}.day-clock-critical>div{border-color:#d33}.veil-waiting p{animation:veil-message 1.7s ease-in-out infinite}@keyframes veil-message{50%{opacity:.35;letter-spacing:.24em}}@media(max-width:600px){.day-clock>div{width:150px}.day-clock-hidden{transform:translateX(-150px)}}

@view-transition{navigation:auto}

.tour-panel h2:focus{outline:none}

.brand img.brand-mark{width:36px;height:36px;object-fit:contain;flex:none;margin-right:13px;font-size:0;color:transparent;line-height:1}

.talisman-count{position:absolute;right:-7px;top:-7px;z-index:3;min-width:20px;height:20px;padding:0 5px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--trophy-color) 72%,white);border-radius:999px;background:var(--bg);color:var(--trophy-color);font-size:9px;font-weight:700;line-height:1;box-shadow:0 0 9px var(--trophy-glow)}

.reward-ad{position:fixed;inset:0;margin:auto;width:min(560px,calc(100vw - 24px));max-height:90dvh;overflow:auto;padding:30px;background:#0d1518;color:var(--ink);border:1px solid #628079;border-radius:12px;box-shadow:0 0 60px #000b}.reward-ad::backdrop{background:#020509df}.reward-ad img{display:block;width:100%;height:min(40vh,300px);object-fit:contain;background:#080b0e;border:1px solid #34444a}.reward-ad #ad-close{position:absolute;top:8px;right:8px;min-width:44px;min-height:44px;padding:4px;font-size:1.6rem}.reward-ad h2{padding-right:25px}.reward-ad #ad-status{min-height:3em;color:var(--green)}
.fate-confirm{width:min(560px,calc(100vw - 28px));padding:0;border:1px solid color-mix(in srgb,var(--accent) 52%,#2d3432);border-radius:7px;background:linear-gradient(145deg,color-mix(in srgb,var(--tone) 12%,#0c1112),#050708);color:var(--ink);box-shadow:0 0 80px #000,0 0 38px color-mix(in srgb,var(--accent) 10%,transparent)}.fate-confirm::backdrop{background:#010304e8;backdrop-filter:blur(3px)}.fate-confirm section{padding:clamp(28px,6vw,48px)}.fate-confirm h2{font-family:Georgia,serif;font-size:clamp(30px,6vw,45px);font-weight:400;color:var(--accent)}.fate-confirm p:not(.eyebrow){color:var(--muted);line-height:1.85;margin-bottom:28px}.fate-confirm .actions{justify-content:flex-end}

.review-log-scroll{overflow:auto;max-height:65vh;border:1px solid var(--border);margin-top:16px;contain:content}.review-log-table{width:100%;border-collapse:collapse;font-size:.8rem;table-layout:fixed;min-width:660px}.review-log-table th{position:sticky;top:0;background:var(--panel);text-align:left;z-index:1}.review-log-table td,.review-log-table th{padding:12px;border-bottom:1px solid var(--border);vertical-align:top;overflow-wrap:anywhere;white-space:pre-wrap}.review-log-table th:nth-child(2){width:14%}.review-log-table th:nth-child(3){width:35%}.log-navigation{margin-top:18px}

.astrology-reading{margin-top:28px;padding:20px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));background:radial-gradient(circle at 8% 50%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 35%);display:flex;gap:20px;align-items:center}.zodiac-icon{font-size:42px;line-height:1;color:var(--accent);text-shadow:0 0 18px color-mix(in srgb,var(--accent) 50%,transparent)}.astrology-reading p{margin:0}.astrology-reading .eyebrow{margin-bottom:5px}.word-hunt{margin-top:28px;padding-top:24px;border-top:1px solid var(--border)}.hunt-letters{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0}.hunt-letters .letter{width:38px;height:43px;padding:0}.hunt-composition{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.hunt-composition strong{min-width:120px;min-height:42px;padding:8px 12px;border-bottom:1px solid var(--accent);font-size:20px;letter-spacing:3px;color:var(--accent)}#discovered-words{margin-top:14px}.card-trophies{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:5px 0 14px}.talisman-wrap{--trophy-color:#8fe8c1;--trophy-glow:#72d3bd;--talisman-back-glow:#6650a8;position:relative;isolation:isolate;display:inline-grid;place-items:center;width:58px;height:58px}.talisman-rays{position:absolute;z-index:-1;inset:-9px;background:repeating-conic-gradient(from 12deg,transparent 0 10deg,var(--talisman-back-glow) 13deg,transparent 19deg 34deg);clip-path:polygon(50% 0,57% 36%,78% 8%,68% 40%,100% 30%,72% 48%,98% 64%,67% 58%,78% 94%,57% 65%,50% 100%,43% 65%,22% 94%,33% 58%,2% 64%,28% 48%,0 30%,32% 40%,22% 8%,43% 36%);filter:blur(2px) drop-shadow(0 0 9px var(--talisman-back-glow));opacity:.52;animation:talisman-rays 5.8s ease-in-out infinite alternate}.trophy-mark{display:inline-grid;place-items:center;width:42px;height:42px;background:color-mix(in srgb,var(--trophy-color) 25%,#0b1011);border:2px solid var(--trophy-color);filter:drop-shadow(0 0 7px var(--trophy-glow));font-size:21px;clip-path:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%)}.trophy-mark[data-shape=diamond]{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.trophy-mark[data-shape=circle],.trophy-mark[data-shape=moon]{clip-path:circle(49%)}.trophy-mark[data-shape=eye]{clip-path:polygon(0 50%,20% 18%,50% 5%,80% 18%,100% 50%,80% 82%,50% 95%,20% 82%)}.trophy-mark[data-shape=moon]{border-radius:50%;box-shadow:inset -9px 0 color-mix(in srgb,var(--trophy-glow) 45%,transparent)}@keyframes talisman-rays{0%{rotate:-7deg;scale:.72 .9;opacity:.25}31%{rotate:4deg;scale:1.08 .82;opacity:.58}67%{rotate:-2deg;scale:.88 1.14;opacity:.38}100%{rotate:9deg;scale:1.18;opacity:.7}}.board-trophies{grid-column:2/-1;justify-content:flex-start;margin:0}.board-trophies .talisman-wrap{width:40px;height:40px}.board-trophies .trophy-mark{width:30px;height:30px;font-size:15px}.trophy-profile-card{display:grid;grid-template-columns:auto 1fr;gap:8px 12px;align-items:center}.trophy-profile-card p{grid-column:1/-1}.trophy-form textarea{display:block;width:100%;background:#09120d;border:1px solid #455a46;color:var(--ink);padding:12px;margin:8px 0}.trophy-config-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.trophy-admin-list{display:grid;gap:12px}.trophy-admin-card{padding:16px;display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center}.trophy-admin-card h3,.trophy-admin-card p{margin:0}.trophy-admin-card button{margin:0}.trophy-gallery:empty{display:none}.stabilized .talisman-rays{animation:none}.stabilized .talisman-wrap{filter:none}
@media(max-width:600px){.trophy-config-row{grid-template-columns:1fr 1fr}.astrology-reading{align-items:flex-start}.hunt-composition strong{width:100%}.trophy-admin-card{grid-template-columns:auto 1fr}.trophy-admin-card button{grid-column:1/-1}}
.board-discoveries{grid-column:2/-1;margin:-7px 0 0;color:var(--muted);font-family:'Exo 2',sans-serif;font-size:10px;letter-spacing:1.1px;overflow-wrap:anywhere}.board-discoveries .found-word{font-size:12px;font-weight:750;color:var(--gold);text-shadow:0 0 10px color-mix(in srgb,var(--gold) 32%,transparent)}.ledger-card>.board-discoveries{margin:0 0 15px}
.brand{align-items:center}.brand-word{display:grid;line-height:1.05}.brand-word>span{font-weight:400}.brand-word small{display:block;margin-top:5px;color:var(--muted);font-family:'Exo 2',sans-serif;font-size:8px;font-weight:500;letter-spacing:1.3px}.operator-strip{justify-content:space-between}.operator-identity{display:flex;justify-content:flex-end;align-items:center;gap:12px;flex-wrap:wrap}.operator-tagline{color:var(--muted);letter-spacing:1.5px}.messages{position:fixed;z-index:900;top:18px;left:50%;transform:translateX(-50%);width:min(520px,calc(100vw - 32px));padding:13px 17px;border:1px solid color-mix(in srgb,var(--accent) 65%,var(--border));border-radius:5px;background:color-mix(in srgb,var(--tone) 22%,#0c1511f5);box-shadow:0 12px 42px #0009;color:var(--accent);font-family:'Exo 2',sans-serif;text-align:center;animation:message-arrive .35s ease both}.messages p{margin:0}.messages p+p{margin-top:6px}@keyframes message-arrive{from{opacity:0;transform:translate(-50%,-12px)}to{opacity:1;transform:translate(-50%,0)}}
@media(max-width:800px){.operator-strip{justify-content:space-between}.operator-identity{gap:8px}.brand-word small{font-size:7px}.operator-tagline{font-size:8px;letter-spacing:.8px}}
.brand-name{display:block;white-space:nowrap;font-weight:400}.brand-name strong{font-weight:650}.winner-letters{min-height:50px;margin:24px 0 10px;justify-content:center}.winner-letters .null-signal{font-family:'Exo 2',sans-serif;font-size:18px;letter-spacing:3px;color:var(--muted)}.source-pool{margin:10px 0 20px}.source-pool .letter{padding:0;gap:0}.source-pool button.letter:not(:disabled){cursor:pointer}.source-pool button.letter:not(:disabled):hover{border-color:var(--accent);box-shadow:0 0 13px color-mix(in srgb,var(--accent) 25%,transparent)}:is(.source-pool,.practice-letters) .letter{transition:opacity .3s cubic-bezier(.16,1,.3,1),filter .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1),background-color .3s cubic-bezier(.16,1,.3,1),border-color .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1)}:is(.source-pool,.practice-letters) .letter.chosen{opacity:.28;filter:brightness(.42) saturate(.58);transform:scale(.96);background-color:color-mix(in srgb,var(--bg) 88%,#000);border-color:color-mix(in srgb,var(--accent) 18%,var(--border));box-shadow:inset 0 0 16px #000b}.hunt-composition strong{display:flex;min-width:140px;gap:5px;align-items:center;border:0;padding:0}.selected-letter{width:30px;height:36px;font-size:17px}.word-hunt{margin:20px -22px 0;padding:22px 22px 18px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--tone) 5%,transparent);text-align:left}.word-hunt h3{color:var(--accent);margin-bottom:14px}.word-hunt #discovered-words{padding-top:13px;border-top:1px dashed var(--border)}.account-reminder{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 12px;padding:10px 14px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--tone) 10%,#0b1110d9);color:var(--muted);font-family:'Exo 2',sans-serif;font-size:11px}.account-reminder .button,.account-reminder button{padding:7px 10px;font-size:10px}.account-reminder small{color:var(--accent)}
@media(max-width:600px){.word-hunt{margin-left:-10px;margin-right:-10px;padding-left:10px;padding-right:10px}.account-reminder{align-items:flex-start;flex-direction:column}.winner-letters .letter{width:28px;height:37px}.brand-name{font-size:13px}}

/* v0.10: appearance modes, atmospheric fog, guest casts, sharing, and earned channel themes. */
body[data-special-theme="tier-null"]{--accent:#b8c0ca;--tone:#65717d}body[data-special-theme="tier-static"]{--accent:#edf2ee;--tone:#737d79}body[data-special-theme="tier-signal"]{--accent:#80e8ed;--tone:#268c99}body[data-special-theme="tier-cipher"]{--accent:#c9b2ff;--tone:#7559b8}body[data-special-theme="tier-glitch"]{--accent:#ffaadf;--tone:#ba407f}body[data-special-theme="tier-daemon"]{--accent:#ffaf8b;--tone:#a94838}body[data-special-theme="tier-ascendant"]{--accent:#ffe09a;--tone:#ad8732}
.fog{position:fixed;z-index:-1;inset:-25%;pointer-events:none;opacity:.17;filter:blur(55px);background:radial-gradient(ellipse at 25% 45%,color-mix(in srgb,var(--tone) 35%,transparent),transparent 32%),radial-gradient(ellipse at 76% 52%,#82899822,transparent 29%);animation:fog-drift 48s ease-in-out infinite alternate;mix-blend-mode:screen}.fog-near{opacity:.1;transform:scaleX(-1);animation-duration:67s;animation-direction:alternate-reverse}.fog-far{animation-delay:-19s}@keyframes fog-drift{0%{translate:-7% -2%;scale:1 .82}45%{translate:5% 3%;scale:1.08 1}100%{translate:-2% 7%;scale:.94 1.12}}
.guest-warning{max-width:620px;margin:18px auto 0;padding:11px 14px;border:1px solid color-mix(in srgb,var(--accent) 42%,var(--border));background:color-mix(in srgb,var(--tone) 9%,transparent);font-size:11px;color:var(--muted)}
button.share-button,#share-signal{gap:7px}.share-button:before,#share-signal:before{content:'↗';color:var(--accent)}
.theme-unlock{--unlock-color:var(--accent);position:fixed;z-index:950;left:50%;top:22%;translate:-50% -50%;width:min(460px,calc(100vw - 30px));padding:28px;text-align:center;border:1px solid var(--unlock-color);background:color-mix(in srgb,var(--unlock-color) 11%,#090d10f5);color:var(--unlock-color);font:650 15px/1.4 'Exo 2',sans-serif;letter-spacing:2px;box-shadow:0 0 60px color-mix(in srgb,var(--unlock-color) 30%,transparent);animation:theme-unlock 4.2s both;overflow:hidden}.theme-unlock:before{content:'';position:absolute;z-index:-1;inset:-100%;background:repeating-conic-gradient(from 0deg,transparent 0 9deg,color-mix(in srgb,var(--unlock-color) 25%,transparent) 10deg 12deg,transparent 13deg 24deg);animation:unlock-rays 12s linear infinite}@keyframes theme-unlock{0%{opacity:0;scale:.82;filter:blur(5px)}12%,82%{opacity:1;scale:1;filter:none}100%{opacity:0;scale:1.04}}@keyframes unlock-rays{to{rotate:360deg}}
body[data-special-theme="tier-static"]:before{content:'';position:fixed;z-index:-1;inset:0;pointer-events:none;opacity:.11;background:repeating-linear-gradient(0deg,#fff 0 1px,transparent 1px 4px),repeating-linear-gradient(90deg,transparent 0 13px,#fff 14px,transparent 15px 31px);animation:theme-static .22s steps(2,end) infinite}body[data-special-theme="tier-static"] .panel{animation:theme-static-ui 3.2s steps(1,end) infinite}@keyframes theme-static{50%{translate:2px -3px;opacity:.06}}@keyframes theme-static-ui{0%,94%,100%{translate:0}95%{translate:2px 0}97%{translate:-1px 1px}}
body[data-special-theme="tier-cipher"] .panel{background-image:linear-gradient(145deg,color-mix(in srgb,var(--tone) 13%,#111718ee),#0b1011ed),repeating-linear-gradient(45deg,transparent 0 18px,color-mix(in srgb,var(--accent) 4%,transparent) 19px 20px)}body[data-special-theme="tier-glitch"] .panel{box-shadow:inset 2px 0 color-mix(in srgb,var(--accent) 22%,transparent)}body[data-special-theme="tier-daemon"] .ambient{filter:saturate(1.25)}body[data-special-theme="tier-ascendant"] .panel{box-shadow:0 0 24px color-mix(in srgb,var(--accent) 7%,transparent),inset 0 0 24px color-mix(in srgb,var(--accent) 5%,transparent)}
body[data-mode=light]{color-scheme:light;--bg:#edf0ee;--ink:#15201c;--muted:#52605b;--border:color-mix(in srgb,var(--tone) 31%,#c9cfcc);--panel:color-mix(in srgb,var(--tone) 7%,#f5f6f4);--dim:color-mix(in srgb,var(--tone) 62%,#69736f);background:#e7ebe8;color:var(--ink)}body[data-mode=light] .panel{background:linear-gradient(145deg,color-mix(in srgb,var(--tone) 8%,#fbfcfbef),#e9edeaec)}body[data-mode=light] button,body[data-mode=light] .button{background:color-mix(in srgb,var(--tone) 10%,#f4f5f2);color:var(--ink);border-color:color-mix(in srgb,var(--tone) 42%,#b7c0ba)}body[data-mode=light] button:hover,body[data-mode=light] .button:hover{background:color-mix(in srgb,var(--tone) 18%,#fff)}body[data-mode=light] .primary{background:var(--accent);color:#172213}body[data-mode=light] .letter,body[data-mode=light] .token-drawer,body[data-mode=light] .inscription{background:color-mix(in srgb,var(--tone) 9%,#f7f8f6)}body[data-mode=light] .account-panel input:not([type=checkbox]),body[data-mode=light] .account-panel select,body[data-mode=light] .trophy-form textarea{background:#f8faf8;color:var(--ink)}body[data-mode=light] .fog{opacity:.24;filter:blur(64px);mix-blend-mode:multiply;background:radial-gradient(ellipse at 25% 45%,color-mix(in srgb,var(--tone) 25%,transparent),transparent 33%),radial-gradient(ellipse at 76% 52%,#747d7820,transparent 30%)}body[data-mode=light] .ambient{opacity:.42}body[data-mode=light] .theme-unlock{background:color-mix(in srgb,var(--unlock-color) 12%,#f1f2f0f5)}
@media(prefers-color-scheme:light){body[data-mode=system]{color-scheme:light;--bg:#edf0ee;--ink:#15201c;--muted:#52605b;--border:color-mix(in srgb,var(--tone) 31%,#c9cfcc);--panel:color-mix(in srgb,var(--tone) 7%,#f5f6f4);--dim:color-mix(in srgb,var(--tone) 62%,#69736f);background:#e7ebe8;color:var(--ink)}body[data-mode=system] .panel{background:linear-gradient(145deg,color-mix(in srgb,var(--tone) 8%,#fbfcfbef),#e9edeaec)}body[data-mode=system] button,body[data-mode=system] .button{background:color-mix(in srgb,var(--tone) 10%,#f4f5f2);color:var(--ink)}body[data-mode=system] .primary{background:var(--accent);color:#172213}body[data-mode=system] .letter,body[data-mode=system] .token-drawer,body[data-mode=system] .inscription{background:color-mix(in srgb,var(--tone) 9%,#f7f8f6)}body[data-mode=system] .account-panel input:not([type=checkbox]),body[data-mode=system] .account-panel select{background:#f8faf8;color:var(--ink)}body[data-mode=system] .fog{opacity:.24;mix-blend-mode:multiply}body[data-mode=system] .ambient{opacity:.42}}
@media(prefers-reduced-motion:reduce){.fog,.theme-unlock:before,body[data-special-theme="tier-static"]:before,body[data-special-theme="tier-static"] .panel{animation:none!important}}.stabilized .fog,.stabilized .theme-unlock:before,.stabilized[data-special-theme="tier-static"]:before,.stabilized[data-special-theme="tier-static"] .panel{animation:none!important}
.messages{padding-right:46px}.message-dismiss{position:absolute;right:5px;top:50%;translate:0 -50%;width:36px;height:36px;min-width:36px;padding:0;border:0;background:transparent;color:var(--accent);font-size:22px;line-height:1;gap:0}.message-dismiss:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.messages.messages-leaving{animation:message-leave .28s ease both}@keyframes message-leave{to{opacity:0;transform:translate(-50%,-12px)}}
@media(max-width:600px){.messages{top:max(10px,env(safe-area-inset-top));width:calc(100vw - 20px)}}
@media(prefers-reduced-motion:reduce){.messages.messages-leaving{animation:none}}

/* Completion themes and a granular STATIC channel. */
body[data-special-theme="tier-static"]:before{background-image:radial-gradient(circle at 13% 27%,#fff 0 .6px,transparent .9px),radial-gradient(circle at 71% 63%,#fff 0 .7px,transparent 1px),radial-gradient(circle at 41% 81%,#000 0 .7px,transparent 1px),repeating-linear-gradient(0deg,transparent 0 2px,#fff1 3px,transparent 4px);background-size:7px 9px,11px 13px,13px 7px,100% 4px;opacity:.16;animation:static-grain .12s steps(2,end) infinite}body[data-special-theme="tier-static"] .panel{animation:none!important}@keyframes static-grain{0%,90%,100%{background-position:0 0,0 0,0 0,0 0}25%{background-position:5px -7px,-8px 3px,4px 9px,0 1px}50%{background-position:-6px 4px,3px -9px,-8px 2px,0 -2px}75%{background-position:2px 8px,9px -3px,-3px -6px,0 2px}}
body[data-special-theme=diamond]{--accent:#e9f2f7;--tone:#8495a2;--gold:#f8fdff;--ink:#eef6fa;--muted:#b3c0c8;--dim:#8fa2ad;--border:#667985;background:radial-gradient(circle at 72% 18%,#dceeff1c,transparent 28%),radial-gradient(circle at 18% 74%,#a9bed41c,transparent 32%),#080d12;color:var(--ink)}body[data-special-theme=diamond] .ambient{background:repeating-conic-gradient(from 12deg at 50% 50%,transparent 0 15deg,#d8e8f00a 16deg 18deg,transparent 19deg 41deg)}body[data-special-theme=diamond] .panel,body[data-special-theme=diamond] button,body[data-special-theme=diamond] .button,body[data-special-theme=diamond] .letter{color:var(--ink);border-color:#91a6b2;background-image:linear-gradient(112deg,transparent 0 38%,#ffffff2c 47%,#dff6ff55 50%,transparent 58% 100%),linear-gradient(145deg,#1a252df2,#0d151bea);background-size:260% 100%,100% 100%;background-repeat:repeat-x,no-repeat;animation:crystal-gloss 5.4s ease-in-out infinite}body[data-special-theme=diamond] .panel{border-color:#afc2ce73;box-shadow:0 0 24px #ddecf10d,inset 0 0 18px #e6f6ff0a}body[data-special-theme=diamond] button:hover,body[data-special-theme=diamond] .button:hover{color:#fff;border-color:#d9edf7}body[data-special-theme=diamond] .primary,body[data-special-theme=diamond] .ledger-tabs [aria-pressed=true]{color:#0b171d;border-color:#e7f3f8;background-image:linear-gradient(112deg,transparent 0 38%,#fff9 47%,#fff 50%,transparent 58% 100%),linear-gradient(145deg,#edf5f8,#91a8b4)}body[data-special-theme=diamond] .primary:hover{color:#071015;border-color:#fff}body[data-special-theme=diamond] button:disabled{color:#c9d5db;opacity:.72}body[data-special-theme=diamond] .primary:disabled{color:#34464f;opacity:.75}
body[data-special-theme=true-light]{color-scheme:light;--accent:#fff;--tone:#c9d1d5;--gold:#715716;--bg:#f4f6f6;--ink:#17252c;--muted:#4f6068;--dim:#687a83;--border:#abb9c0;--panel:#f9fbfb;background:radial-gradient(circle at 50% 12%,#fff 0 8%,#ffffffd9 15%,#edf3f5 42%,#dce4e7 100%);color:var(--ink)}body[data-special-theme=true-light]:after{content:'';position:fixed;z-index:-1;inset:-45%;pointer-events:none;background:repeating-conic-gradient(from 0deg at 50% 24%,transparent 0 8deg,#fff9 9deg 10deg,transparent 11deg 24deg);filter:blur(8px);opacity:.52;animation:true-light-rays 42s linear infinite}body[data-special-theme=true-light] .ambient{opacity:.28;filter:grayscale(1)}body[data-special-theme=true-light] .fog{mix-blend-mode:multiply;opacity:.12}body[data-special-theme=true-light] .panel,body[data-special-theme=true-light] button,body[data-special-theme=true-light] .button,body[data-special-theme=true-light] .letter,body[data-special-theme=true-light] .token-drawer{color:var(--ink);border-color:#9eafb7;background-image:linear-gradient(112deg,transparent 0 38%,#fff 46%,#fff 51%,transparent 59% 100%),linear-gradient(145deg,#fff,#e5ecef);background-size:260% 100%,100% 100%;background-repeat:repeat-x,no-repeat;animation:crystal-gloss 5.4s ease-in-out infinite;box-shadow:0 7px 20px #58666d14,inset 0 1px #fff}body[data-special-theme=true-light] a,body[data-special-theme=true-light] .eyebrow,body[data-special-theme=true-light] .pill{color:#263943}body[data-special-theme=true-light] button:hover,body[data-special-theme=true-light] .button:hover{color:#101b20;border-color:#667d88}body[data-special-theme=true-light] button:disabled{color:#53656d;opacity:.72}body[data-special-theme=true-light] .account-panel input:not([type=checkbox]),body[data-special-theme=true-light] .account-panel select{background:#fff;color:#17252c;border-color:#9eafb7}
@keyframes crystal-gloss{0%,16%{background-position:112% 0,0 0}100%{background-position:-50.5% 0,0 0}}@keyframes true-light-rays{to{rotate:360deg}}
body[data-special-theme=diamond] :is(.brand,.eyebrow,h1,h2,h3,button,.button,.pill,.winner,.board-word){font-family:'Oxanium','Exo 2',sans-serif}body[data-special-theme=true-light] :is(.brand-name,h1,h2,.winner,.board-word,#fortune-body p,.astrology-reading p){font-family:'Marcellus',Georgia,serif}
body[data-special-theme="tier-null"] :is(.brand,.eyebrow,h1,h2,h3,button,.button,.pill,.winner,.board-word){font-family:'Space Mono',monospace}body[data-special-theme="tier-static"] :is(.brand,.eyebrow,h1,h2,h3,button,.button,.pill,.winner,.board-word){font-family:'VT323',monospace;font-size-adjust:.62}body[data-special-theme="tier-signal"] :is(.brand,.eyebrow,h1,h2,h3,button,.button,.pill,.winner,.board-word){font-family:'Chakra Petch','Exo 2',sans-serif}body[data-special-theme="tier-cipher"] :is(.brand,.eyebrow,h1,h2,h3,button,.button,.pill,.winner,.board-word){font-family:'Nova Square','Exo 2',sans-serif}body[data-special-theme="tier-glitch"] :is(.brand-name,.eyebrow,h1,h2,h3,.winner,.board-word){font-family:'Rubik Glitch','Exo 2',sans-serif}body[data-special-theme="tier-daemon"] :is(.brand-name,h1,h2,.winner,.board-word){font-family:'UnifrakturCook',Georgia,serif}body[data-special-theme="tier-ascendant"] :is(.brand,.eyebrow,h1,h2,h3,button,.button,.pill,.winner,.board-word){font-family:'Cinzel',Georgia,serif}
body[data-special-theme="tier-null"] .panel{position:relative;overflow:hidden;background-image:radial-gradient(circle at 15% 12%,#000 0 4px,transparent 5px),radial-gradient(circle at 78% 36%,#000 0 7px,transparent 8px),radial-gradient(circle at 42% 88%,#000 0 5px,transparent 6px),linear-gradient(145deg,#11151aee,#050607f5);background-size:83px 107px,137px 149px,101px 127px,100% 100%;animation:void-fall 18s linear infinite}body[data-special-theme="tier-null"] .panel:before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 0 46%,#0008 49% 52%,transparent 55%);opacity:.45}@keyframes void-fall{to{background-position:0 214px,0 298px,0 254px,0 0}}
@media(pointer:coarse){body[data-special-theme="tier-null"] .panel{animation:none}}
.user-admin{max-width:1050px}.admin-maintenance{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 18px;padding:16px;margin:18px 0}.admin-maintenance p{margin:4px 0}.admin-maintenance>p{grid-column:1/-1}.inline-form{display:grid;grid-template-columns:1fr auto;align-items:end;gap:12px}.user-results,.admin-card-list{display:grid;gap:12px;margin:20px 0}.user-result{display:flex;justify-content:space-between;align-items:center;padding:16px;gap:18px}.user-result p{margin:3px 0}.admin-checks{display:flex;gap:18px;flex-wrap:wrap}.admin-game-card{padding:18px}.admin-game-card h3{font-size:15px}.game-state{max-height:360px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:#050807;padding:14px;border:1px solid var(--border);color:var(--muted)}@media(max-width:600px){.admin-maintenance,.inline-form{grid-template-columns:1fr}.user-result{align-items:flex-start}.admin-checks{display:grid;gap:0}}
@media(prefers-reduced-motion:reduce){body[data-special-theme="tier-static"]:before,body[data-special-theme=diamond] .panel,body[data-special-theme=diamond] button,body[data-special-theme=diamond] .button,body[data-special-theme=diamond] .letter,body[data-special-theme=true-light]:after,body[data-special-theme=true-light] .panel,body[data-special-theme=true-light] button,body[data-special-theme=true-light] .button,body[data-special-theme=true-light] .letter,body[data-special-theme=true-light] .token-drawer{animation:none!important}}.stabilized[data-special-theme="tier-static"]:before,.stabilized[data-special-theme=diamond] .panel,.stabilized[data-special-theme=diamond] button,.stabilized[data-special-theme=diamond] .button,.stabilized[data-special-theme=diamond] .letter,.stabilized[data-special-theme=true-light]:after,.stabilized[data-special-theme=true-light] .panel,.stabilized[data-special-theme=true-light] button,.stabilized[data-special-theme=true-light] .button,.stabilized[data-special-theme=true-light] .letter{animation:none!important}
@media(pointer:coarse){body[data-special-theme=diamond] .panel,body[data-special-theme=diamond] button,body[data-special-theme=diamond] .button,body[data-special-theme=diamond] .letter,body[data-special-theme=true-light] .panel,body[data-special-theme=true-light] button,body[data-special-theme=true-light] .button,body[data-special-theme=true-light] .letter,body[data-special-theme=true-light] .token-drawer,body[data-special-theme=true-light]:after,body[data-special-theme=diamond]::after{animation:none!important;background-position:112% 0,0 0}}
.completion-marks{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.board-row>.completion-marks{grid-column:2/-1;margin:-5px 0 0}.completion-chip{color:var(--gold);border-color:color-mix(in srgb,var(--gold) 55%,var(--border));background:color-mix(in srgb,var(--gold) 7%,transparent);box-shadow:0 0 13px color-mix(in srgb,var(--gold) 10%,transparent)}
.missing-word{color:#ff665f!important;border-color:#c43e39!important;background:color-mix(in srgb,#8d1f1b 18%,transparent)!important;box-shadow:inset 0 0 10px #7f151522}.debug-cheat{border-color:#a53e3a;color:#ff8d87}
body[data-theme=default]{--accent:#c3ef99;--tone:#7cad5b}body[data-theme=default][data-special-theme="tier-null"]{--accent:#b8c0ca}body[data-theme=default][data-special-theme="tier-static"]{--accent:#edf2ee}body[data-theme=default][data-special-theme="tier-signal"]{--accent:#80e8ed}body[data-theme=default][data-special-theme="tier-cipher"]{--accent:#c9b2ff}body[data-theme=default][data-special-theme="tier-glitch"]{--accent:#ffaadf}body[data-theme=default][data-special-theme="tier-daemon"]{--accent:#ffaf8b}body[data-theme=default][data-special-theme="tier-ascendant"]{--accent:#ffe09a}body[data-theme=default][data-special-theme=diamond]{--accent:#e9f2f7}body[data-theme=default][data-special-theme=true-light]{--accent:#fff}
body[data-special-theme][data-theme=green]{--accent:#a5c882}body[data-special-theme][data-theme=blue]{--accent:#77a9dd}body[data-special-theme][data-theme=purple]{--accent:#a88ade}body[data-special-theme][data-theme=pink]{--accent:#d89abf}body[data-special-theme][data-theme=orange]{--accent:#d5a068}body[data-special-theme][data-theme=brown]{--accent:#a7896c}body[data-special-theme][data-theme=red]{--accent:#cb8279}body[data-special-theme][data-theme=grey]{--accent:#a0a9b0}body[data-special-theme][data-theme=black]{--accent:#d9d9db}body[data-special-theme][data-theme=teal]{--accent:#6fb9ad}
.practice{max-width:850px;margin:20px auto;padding:clamp(24px,5vw,54px);overflow:hidden}.practice>p.muted{max-width:650px;line-height:1.9}.practice-letters{margin:38px 0}.practice-actions{margin:24px 0}.practice #practice-found{margin-top:22px}.practice .hunt-composition{padding:18px;border:1px solid var(--border);border-radius:5px}.practice .hunt-composition strong{flex:1}
.user-board-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:18px;padding:19px 5px;border-top:1px solid var(--border)}.user-board-row:first-child{border-top:0}.user-board-totals{text-align:right;font-family:'Exo 2',sans-serif}.user-board-totals strong,.user-board-totals small{display:block}.user-board-totals small{color:var(--gold)}
@media(max-width:600px){.practice{padding:24px 16px}.practice-letters .letter{width:31px}.user-board-row{grid-template-columns:28px minmax(0,1fr);gap:10px}.user-board-totals{grid-column:2;text-align:left}}
/* Every earned visual theme carries a distinct ambient motion language. */
body[data-special-theme="tier-null"]::after,body[data-special-theme="tier-signal"]::after,body[data-special-theme="tier-cipher"]::after,body[data-special-theme="tier-glitch"]::after,body[data-special-theme="tier-daemon"]::after,body[data-special-theme="tier-ascendant"]::after,body[data-special-theme=diamond]::after{content:'';position:fixed;z-index:-1;inset:-25%;pointer-events:none}
body[data-special-theme="tier-null"]::after{background:radial-gradient(circle at 50% 50%,transparent 0 8%,#8993a008 12%,transparent 27%);animation:null-depth 12s ease-in-out infinite}
body[data-special-theme="tier-signal"]::after{background:repeating-radial-gradient(circle at 50% 45%,transparent 0 50px,color-mix(in srgb,var(--accent) 13%,transparent) 51px 52px,transparent 54px 95px);animation:signal-radar 13s linear infinite}
body[data-special-theme="tier-cipher"]::after{background:linear-gradient(60deg,transparent 48%,color-mix(in srgb,var(--accent) 8%,transparent) 49% 51%,transparent 52%),linear-gradient(-60deg,transparent 48%,color-mix(in srgb,var(--accent) 6%,transparent) 49% 51%,transparent 52%);background-size:90px 156px;animation:cipher-field 24s linear infinite}
body[data-special-theme="tier-glitch"]::after{inset:0;background:repeating-linear-gradient(0deg,transparent 0 17px,color-mix(in srgb,var(--accent) 10%,transparent) 18px,transparent 20px 43px);animation:glitch-field .68s steps(3,end) infinite}
body[data-special-theme="tier-daemon"]::after{background:radial-gradient(circle at 20% 85%,#ff67351c 0 2px,transparent 3px),radial-gradient(circle at 70% 70%,#b36bff16 0 3px,transparent 4px);background-size:70px 110px,130px 95px;animation:daemon-embers 16s linear infinite}
body[data-special-theme="tier-ascendant"]::after{background:repeating-conic-gradient(from 0deg at 50% 45%,transparent 0 12deg,color-mix(in srgb,var(--accent) 8%,transparent) 13deg 15deg,transparent 16deg 31deg);animation:ascendant-rays 80s linear infinite}
body[data-special-theme=diamond]::after{background:conic-gradient(from 30deg at 30% 40%,transparent,#dceeff12,transparent 22%),conic-gradient(from 210deg at 75% 60%,transparent,#fff1,transparent 28%);clip-path:polygon(0 20%,25% 0,50% 18%,78% 2%,100% 30%,82% 58%,100% 86%,62% 100%,38% 78%,4% 100%,18% 56%);animation:diamond-facets 28s ease-in-out infinite alternate}
@keyframes null-depth{50%{scale:.72;opacity:.35;filter:blur(16px)}}
/* Closed breathing cycle; the previous growing radar jumped back every 13s. */
body[data-special-theme="tier-signal"]::after{animation-timing-function:ease-in-out}
@keyframes signal-radar{0%,100%{scale:1;rotate:0deg}50%{scale:1.16;rotate:8deg}}
@keyframes cipher-field{to{background-position:180px 312px,-180px 156px}}
/* Jitter inside the cycle, with a matching resting plateau across its seam. */
@keyframes glitch-field{0%,80%,100%{translate:0 0;opacity:.7}35%{translate:0 8px;opacity:.28}65%{translate:0 -5px;opacity:.55}}
/* Whole tile periods: 70×110 and 130×95, including horizontal travel. */
@keyframes daemon-embers{to{background-position:70px -220px,-130px -190px}}
@keyframes ascendant-rays{to{rotate:360deg}}
@keyframes diamond-facets{50%{translate:4% -3%;filter:brightness(1.35)}100%{translate:-3% 4%;scale:1.08}}
/* Light palettes must retain the tile dimensions used by void-fall, rather
   than scrolling their replacement full-panel gradient and resetting it. */
body[data-mode=light][data-special-theme="tier-null"] .panel{background-image:radial-gradient(circle at 15% 12%,#52606b30 0 4px,transparent 5px),radial-gradient(circle at 78% 36%,#52606b24 0 7px,transparent 8px),radial-gradient(circle at 42% 88%,#52606b28 0 5px,transparent 6px),linear-gradient(145deg,#ffffffeb,#edf1efeb);background-size:83px 107px,137px 149px,101px 127px,100% 100%}
@media(prefers-color-scheme:light){body[data-mode=system][data-special-theme="tier-null"] .panel{background-image:radial-gradient(circle at 15% 12%,#52606b30 0 4px,transparent 5px),radial-gradient(circle at 78% 36%,#52606b24 0 7px,transparent 8px),radial-gradient(circle at 42% 88%,#52606b28 0 5px,transparent 6px),linear-gradient(145deg,#ffffffeb,#edf1efeb);background-size:83px 107px,137px 149px,101px 127px,100% 100%}}
@media(prefers-reduced-motion:reduce){body[data-special-theme]::after{animation:none!important}}.stabilized[data-special-theme]::after{animation:none!important}

/* v0.11 light palette: designed colors and surfaces rather than simulated inversion. */
body[data-theme=default],body[data-theme=green]{--accent-light:#356b2b}body[data-theme=blue]{--accent-light:#285f9b}body[data-theme=purple]{--accent-light:#6742a0}body[data-theme=pink]{--accent-light:#963865}body[data-theme=orange]{--accent-light:#92521f}body[data-theme=brown]{--accent-light:#6f503a}body[data-theme=red]{--accent-light:#963d38}body[data-theme=grey]{--accent-light:#4f5b63}body[data-theme=black]{--accent-light:#25262a}body[data-theme=teal]{--accent-light:#24766d}
body[data-theme=default][data-special-theme="tier-null"]{--accent-light:#4f5964}body[data-theme=default][data-special-theme="tier-static"]{--accent-light:#47524f}body[data-theme=default][data-special-theme="tier-signal"]{--accent-light:#14727d}body[data-theme=default][data-special-theme="tier-cipher"]{--accent-light:#66509b}body[data-theme=default][data-special-theme="tier-glitch"]{--accent-light:#963968}body[data-theme=default][data-special-theme="tier-daemon"]{--accent-light:#98472d}body[data-theme=default][data-special-theme="tier-ascendant"]{--accent-light:#80651f}body[data-theme=default][data-special-theme=diamond]{--accent-light:#415c6c}body[data-theme=default][data-special-theme=true-light]{--accent-light:#304953}
body[data-mode=light]{--accent:var(--accent-light);--green:var(--accent);--tone:color-mix(in srgb,var(--accent) 52%,#7f8b87);--gold:#775b18;--bg:#edf1ef;--ink:#18231f;--muted:#52615b;--dim:#60716a;--border:color-mix(in srgb,var(--accent) 21%,#c3ccc7);--panel:#f7f9f7;background:radial-gradient(circle at 50% -15%,color-mix(in srgb,var(--accent) 11%,#fff) 0,transparent 48%),linear-gradient(160deg,#f5f7f5,#e8eeeb);color:var(--ink)}
body[data-mode=light] .panel,body[data-mode=light] .account-panel{background:linear-gradient(145deg,#ffffffeb,color-mix(in srgb,var(--accent) 4%,#edf1efeb));border-color:var(--border);box-shadow:0 12px 35px #23352e0a,inset 0 1px #fff}
body[data-mode=light] nav a{color:#53635d}body[data-mode=light] nav a:hover,body[data-mode=light] nav a[aria-current]{color:var(--accent)}body[data-mode=light] a:hover{color:color-mix(in srgb,var(--accent) 78%,#000)}
body[data-mode=light] button,body[data-mode=light] .button,body[data-mode=light] .token-palette button,body[data-mode=light] .token-drawer{background:color-mix(in srgb,var(--accent) 5%,#f8faf8);border-color:color-mix(in srgb,var(--accent) 30%,#b8c3bd);color:var(--ink);box-shadow:none}body[data-mode=light] button:hover,body[data-mode=light] .button:hover{background:color-mix(in srgb,var(--accent) 12%,#fff);border-color:var(--accent)}body[data-mode=light] .primary,body[data-mode=light] .ledger-tabs [aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}body[data-mode=light] .primary:hover{background:color-mix(in srgb,var(--accent) 82%,#000);color:#fff}
body[data-mode=light] .letter,body[data-mode=light] .inscription,body[data-mode=light] .composition,body[data-mode=light] .account-reminder,body[data-mode=light] .word-hunt{background:color-mix(in srgb,var(--accent) 4%,#fafcfb);border-color:color-mix(in srgb,var(--accent) 28%,#c2cbc6);color:var(--ink)}body[data-mode=light] .letter.sealed{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 72%,#9da9a3);box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 10%,transparent),inset 0 0 8px color-mix(in srgb,var(--accent) 5%,transparent)}body[data-mode=light] .chip{color:color-mix(in srgb,var(--accent) 78%,#25342e);background:color-mix(in srgb,var(--accent) 5%,#fff)}
body[data-mode=light] .sigil,body[data-mode=light] .sigil:before,body[data-mode=light] .sigil:after,body[data-mode=light] .sigil-ring{border-color:color-mix(in srgb,var(--accent) 38%,transparent)}body[data-mode=light] .sigil{box-shadow:0 0 55px color-mix(in srgb,var(--accent) 8%,transparent)}
body[data-mode=light] .account-panel input:not([type=checkbox]),body[data-mode=light] .account-panel select,body[data-mode=light] .danger-zone input,body[data-mode=light] .danger-zone select,body[data-mode=light] .trophy-form textarea{background:#fff;color:var(--ink);border-color:color-mix(in srgb,var(--accent) 28%,#b8c2bc)}body[data-mode=light] .messages{background:color-mix(in srgb,var(--accent) 8%,#fffffff2);color:var(--accent);box-shadow:0 12px 38px #24332c24}body[data-mode=light] .error,body[data-mode=light] .errorlist{background:#fff2ef;color:#8e3027;border-color:#c57870}
body[data-mode=light] .fog{opacity:.32;filter:blur(54px);mix-blend-mode:multiply;background:radial-gradient(ellipse at 25% 45%,color-mix(in srgb,var(--accent) 32%,transparent),transparent 34%),radial-gradient(ellipse at 76% 52%,#56696324,transparent 31%)}body[data-mode=light] .ambient{opacity:.7;mix-blend-mode:multiply}body[data-mode=light] .aura{opacity:.18;filter:blur(36px);background:conic-gradient(from 40deg,transparent 0 15%,color-mix(in srgb,var(--accent) 34%,transparent) 24%,transparent 38% 56%,#59657c20 70%,transparent 87%)}body[data-mode=light] .node-orbit{opacity:.55;border-color:color-mix(in srgb,var(--accent) 24%,transparent)}body[data-mode=light] .node-orbit i{background:var(--accent);box-shadow:0 0 9px color-mix(in srgb,var(--accent) 45%,transparent)}
body[data-mode=light] [data-rarity=NULL]{--tier-color:#59636e}body[data-mode=light] [data-rarity=STATIC]{--tier-color:#505b58}body[data-mode=light] [data-rarity=SIGNAL]{--tier-color:#16727c}body[data-mode=light] [data-rarity=CIPHER]{--tier-color:#68569a}body[data-mode=light] [data-rarity=GLITCH]{--tier-color:#963e70}body[data-mode=light] [data-rarity=DAEMON]{--tier-color:#984c31}body[data-mode=light] [data-rarity=ASCENDANT]{--tier-color:#7f641d}body[data-mode=light] button.rarity-level[aria-current=true]{color:#fff}
body[data-mode=light][data-special-theme]::after{mix-blend-mode:multiply;opacity:.72}body[data-mode=light][data-special-theme="tier-null"]::after{background:radial-gradient(circle at 50% 50%,transparent 0 8%,#52606b24 12%,transparent 28%)}body[data-mode=light][data-special-theme="tier-daemon"]::after{background-image:radial-gradient(circle at 20% 85%,#9b412c35 0 2px,transparent 3px),radial-gradient(circle at 70% 70%,#754c9d2b 0 3px,transparent 4px)}body[data-mode=light][data-special-theme=diamond]{background:radial-gradient(circle at 72% 18%,#9ebed238,transparent 30%),radial-gradient(circle at 18% 74%,#819daf2b,transparent 34%),linear-gradient(145deg,#f8fbfc,#dfe9ed);color:var(--ink)}body[data-mode=light][data-special-theme=diamond] .panel,body[data-mode=light][data-special-theme=diamond] button,body[data-mode=light][data-special-theme=diamond] .button,body[data-mode=light][data-special-theme=diamond] .letter{color:var(--ink);border-color:#879da8;background-image:linear-gradient(112deg,transparent 0 38%,#fff 46%,#d9f0fa 51%,transparent 59% 100%),linear-gradient(145deg,#ffffff,#d7e3e8);box-shadow:0 8px 25px #344b5714,inset 0 1px #fff}body[data-mode=light][data-special-theme=diamond] .primary,body[data-mode=light][data-special-theme=diamond] .ledger-tabs [aria-pressed=true]{color:#f7fbfd;border-color:#526975;background-image:linear-gradient(112deg,transparent 0 38%,#ffffff3d 47%,#eaf8ff70 50%,transparent 58% 100%),linear-gradient(145deg,#506875,#263a44)}
/* True Light is intentionally luminous regardless of the global appearance switch. */
body[data-special-theme=true-light]{--accent:var(--accent-light);--green:var(--accent);--gold:#725817;color-scheme:light;color:var(--ink)}body[data-special-theme=true-light] .primary,body[data-special-theme=true-light] .ledger-tabs [aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}body[data-special-theme=true-light] nav a{color:#53636a}body[data-special-theme=true-light] nav a:hover,body[data-special-theme=true-light] nav a[aria-current]{color:var(--accent)}body[data-special-theme=true-light]::after{background:repeating-conic-gradient(from 0deg at 50% 24%,transparent 0 8deg,color-mix(in srgb,var(--accent) 13%,transparent) 9deg 10deg,transparent 11deg 24deg);opacity:.78;mix-blend-mode:multiply}body[data-special-theme=true-light] .fog{opacity:.22;mix-blend-mode:multiply;background:radial-gradient(ellipse at 28% 48%,color-mix(in srgb,var(--accent) 23%,transparent),transparent 35%),radial-gradient(ellipse at 74% 46%,#75878d20,transparent 32%)}
@media(prefers-color-scheme:light){body[data-mode=system]{--accent:var(--accent-light);--green:var(--accent);--tone:color-mix(in srgb,var(--accent) 52%,#7f8b87);--gold:#775b18;--bg:#edf1ef;--ink:#18231f;--muted:#52615b;--dim:#60716a;--border:color-mix(in srgb,var(--accent) 21%,#c3ccc7);--panel:#f7f9f7;background:radial-gradient(circle at 50% -15%,color-mix(in srgb,var(--accent) 11%,#fff) 0,transparent 48%),linear-gradient(160deg,#f5f7f5,#e8eeeb);color:var(--ink)}body[data-mode=system] .panel,body[data-mode=system] .account-panel{background:linear-gradient(145deg,#ffffffeb,color-mix(in srgb,var(--accent) 4%,#edf1efeb));border-color:var(--border);box-shadow:0 12px 35px #23352e0a,inset 0 1px #fff}body[data-mode=system] nav a{color:#53635d}body[data-mode=system] nav a[aria-current]{color:var(--accent)}body[data-mode=system] button,body[data-mode=system] .button,body[data-mode=system] .token-palette button,body[data-mode=system] .token-drawer{background:color-mix(in srgb,var(--accent) 5%,#f8faf8);border-color:color-mix(in srgb,var(--accent) 30%,#b8c3bd);color:var(--ink)}body[data-mode=system] .primary,body[data-mode=system] .ledger-tabs [aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}body[data-mode=system] .letter,body[data-mode=system] .inscription,body[data-mode=system] .composition,body[data-mode=system] .account-reminder,body[data-mode=system] .word-hunt{background:color-mix(in srgb,var(--accent) 4%,#fafcfb);border-color:color-mix(in srgb,var(--accent) 28%,#c2cbc6);color:var(--ink)}body[data-mode=system] .chip{color:color-mix(in srgb,var(--accent) 78%,#25342e);background:color-mix(in srgb,var(--accent) 5%,#fff)}body[data-mode=system] .fog{opacity:.32;filter:blur(54px);mix-blend-mode:multiply;background:radial-gradient(ellipse at 25% 45%,color-mix(in srgb,var(--accent) 32%,transparent),transparent 34%),radial-gradient(ellipse at 76% 52%,#56696324,transparent 31%)}body[data-mode=system] .ambient{opacity:.7;mix-blend-mode:multiply}body[data-mode=system] .account-panel input:not([type=checkbox]),body[data-mode=system] .account-panel select{background:#fff;color:var(--ink);border-color:color-mix(in srgb,var(--accent) 28%,#b8c2bc)}}
@media(prefers-color-scheme:light){body[data-mode=system][data-special-theme]::after{mix-blend-mode:multiply;opacity:.72}body[data-mode=system][data-special-theme=diamond]{background:radial-gradient(circle at 72% 18%,#9ebed238,transparent 30%),radial-gradient(circle at 18% 74%,#819daf2b,transparent 34%),linear-gradient(145deg,#f8fbfc,#dfe9ed);color:var(--ink)}body[data-mode=system][data-special-theme=diamond] .panel,body[data-mode=system][data-special-theme=diamond] button,body[data-mode=system][data-special-theme=diamond] .button,body[data-mode=system][data-special-theme=diamond] .letter{color:var(--ink);border-color:#879da8;background-image:linear-gradient(112deg,transparent 0 38%,#fff 46%,#d9f0fa 51%,transparent 59% 100%),linear-gradient(145deg,#ffffff,#d7e3e8);box-shadow:0 8px 25px #344b5714,inset 0 1px #fff}body[data-mode=system][data-special-theme=diamond] .primary,body[data-mode=system][data-special-theme=diamond] .ledger-tabs [aria-pressed=true]{color:#f7fbfd;border-color:#526975;background-image:linear-gradient(112deg,transparent 0 38%,#ffffff3d 47%,#eaf8ff70 50%,transparent 58% 100%),linear-gradient(145deg,#506875,#263a44)}}

/* Word-builder tiles keep their card geometry inside the responsive action row. */
.hunt-composition strong{display:flex;flex:1 1 260px;min-width:0;min-height:44px;gap:6px;align-items:center;align-content:center;flex-wrap:wrap;border:0;padding:0}.hunt-composition strong .selected-letter{box-sizing:border-box;flex:0 0 38px;width:38px;min-width:38px;height:42px;min-height:42px;margin:0;padding:0;gap:0;font-size:18px;line-height:1}@media(max-width:480px){.hunt-composition>button{min-height:44px;flex:1;padding:9px 8px;gap:6px}.hunt-composition strong .selected-letter{flex-basis:40px;width:40px;min-width:40px;height:44px;min-height:44px;padding:0}}

/* Compact mobile weather and answer-free word-hunt progress. */
.weather-toggle{width:100%;padding:0;border:0;background:transparent!important;color:inherit;justify-content:space-between;text-align:left;cursor:default}.weather-toggle:disabled{opacity:1;cursor:default}.weather-toggle .eyebrow{margin:0}.weather-compact{display:none;align-items:center;gap:12px;color:var(--accent);font-size:11px;letter-spacing:.5px}.weather-body{width:100%;max-height:700px;opacity:1;overflow:hidden;transition:max-height .48s cubic-bezier(.2,.75,.2,1),opacity .26s ease,margin .48s cubic-bezier(.2,.75,.2,1)}.word-hunt-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.word-hunt-heading h3{margin:0}.word-hunt-heading .pill{color:var(--accent)}
@media(max-width:700px){.weather-toggle{cursor:pointer;min-height:32px}.weather-compact{display:flex}.weather-chevron{display:inline-block;font-size:15px;transition:rotate .42s ease}.weather-body{margin-top:10px}.weather-card.weather-collapsed{padding-top:14px;padding-bottom:14px}.weather-card.weather-collapsed .weather-body{max-height:0;opacity:0;margin-top:0;pointer-events:none}.weather-card.weather-collapsed .weather-chevron{rotate:180deg}.word-hunt-heading{align-items:flex-start}.word-hunt-heading .pill{margin-top:-3px}}
@media(prefers-reduced-motion:reduce){.weather-body,.weather-chevron{transition:none}}
.install-app-panel{margin-top:28px}.install-app-panel h2{font-family:'Exo 2',sans-serif}.install-app-panel .primary{margin:8px 0}.install-app-panel #install-status{color:var(--accent)}
@media(max-width:700px){header{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));padding-top:max(22px,env(safe-area-inset-top))}main{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}footer{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right));padding-bottom:max(22px,env(safe-area-inset-bottom))}}

/* Mobile GPU budget: preserve the artwork, stop indefinite viewport-sized compositing. */
@media (hover:none) and (pointer:coarse){
 .ambient *,.fog,.sigil-ring,.signal-effects *,.talisman-rays,body[data-special-theme]::before,body[data-special-theme]::after{animation:none!important}
 .ambient,.fog,body[data-special-theme]::before,body[data-special-theme]::after{transform:none!important;translate:none!important;rotate:none!important;scale:none!important}
 .aura{filter:blur(24px)}
 .fog{inset:-8%;filter:blur(28px);mix-blend-mode:normal}
 body[data-mode=light] .fog,body[data-mode=system] .fog,body[data-mode=light][data-special-theme]::after,body[data-mode=system][data-special-theme]::after{mix-blend-mode:normal}
 body[data-special-theme]::after{inset:0;filter:none!important}
 .fate-confirm::backdrop{backdrop-filter:none}
}

/* Purpose-focused site administration. */
.control-shell{max-width:1100px;margin:auto}.control-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 30px}.control-tabs a{border:1px solid var(--border);padding:10px 14px;color:var(--accent)}.control-shell .account-panel{max-width:none;margin:0}.control-filter{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;align-items:end;margin:24px 0}.control-filter input,.control-filter select{display:block;width:100%;padding:10px;background:var(--panel);color:var(--ink);border:1px solid var(--border)}.control-filter-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.control-log{padding:16px 0;border-top:1px solid var(--border)}.control-log p{margin:0 0 8px}.control-log pre{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font-size:12px;color:var(--ink)}.control-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:24px 0}.control-stats article{padding:22px}.control-stats h3{text-transform:capitalize;color:var(--muted)}.control-help{margin-top:28px}.control-panel .actions{margin-top:18px}@media(max-width:700px){.control-filter-actions{display:grid;grid-template-columns:1fr}}

.control-tabs a[aria-current=page]{background:var(--accent);color:var(--bg);border-color:var(--accent)}

/* One talisman grammar at every scale: editor, card icon, and cinematic reveal. */
button.talisman-wrap{margin:0;padding:0;border:0;background:transparent;color:inherit;cursor:pointer}
body[data-special-theme=frutiger-aero]{--accent:#13aee5;--green:#13aee5;--gold:#f6df47;--bg:#07598f;--panel:#e9fbffda;--ink:#073854;--muted:#276b88;--border:#63c9ed;background:radial-gradient(circle at 78% 12%,#fff 0 4%,transparent 12%),linear-gradient(160deg,#36c7f0 0,#0d8bd5 45%,#07518c 100%)}body[data-special-theme=frutiger-aero] .panel{background:linear-gradient(145deg,#ffffffef,#9feaffc9);box-shadow:inset 0 1px #fff,0 16px 38px #014a7c55}body[data-special-theme=frutiger-aero] button{background:linear-gradient(#fff,#a9eeff);color:#075075;border-color:#42bce8}body[data-special-theme=frutiger-aero] .primary{background:linear-gradient(#72e6ff,#139edc);color:white}body[data-special-theme=pixel-terminal]{--accent:#8dff61;--green:#8dff61;--gold:#e8c15a;--bg:#071007;--panel:#0b160b;--ink:#b9f5a4;--muted:#6b9c62;--border:#426a3c;background:repeating-linear-gradient(0deg,#071007 0 3px,#091509 4px 6px)}body[data-special-theme=pixel-terminal] *{border-radius:0!important}body[data-special-theme=pixel-terminal] .panel{box-shadow:5px 5px 0 #030703,inset 0 0 0 1px #82bd68}body[data-special-theme=pixel-terminal] .letter,body[data-special-theme=pixel-terminal] button{font-family:ui-monospace,monospace;text-shadow:0 0 6px #8dff6188}
body[data-mode=light][data-special-theme=frutiger-aero],body[data-mode=system][data-special-theme=frutiger-aero]{--bg:#e5fbff;--panel:#ffffffdf;--ink:#063b5c;--muted:#276b88;background:radial-gradient(circle at 78% 12%,#fff 0 4%,transparent 12%),linear-gradient(160deg,#d6fbff 0,#77dafa 48%,#1da6dc 100%)}body[data-mode=light][data-special-theme=pixel-terminal],body[data-mode=system][data-special-theme=pixel-terminal]{--bg:#d7ebca;--panel:#eff9e9;--ink:#163c19;--muted:#49704a;--border:#638961;background:repeating-linear-gradient(0deg,#dff1d4 0 3px,#d4eacb 4px 6px)}body[data-mode=light][data-special-theme=pixel-terminal] .panel,body[data-mode=system][data-special-theme=pixel-terminal] .panel{box-shadow:5px 5px 0 #93ad8d,inset 0 0 0 1px #5e885d}body[data-mode=light][data-special-theme=pixel-terminal] button,body[data-mode=system][data-special-theme=pixel-terminal] button{background:#e4f4dd;color:#163c19}
.signal-settling{position:relative;display:flex;justify-content:center;align-items:center;gap:10px;min-height:30px;margin:-8px 0 8px;color:var(--accent);font:600 9px/1.3 'Exo 2',sans-serif;letter-spacing:1.6px;opacity:1;transition:opacity .7s ease,translate .7s ease}.signal-settling span{font-size:18px;animation:settling-spark .7s ease-in-out infinite alternate}.signal-settling p{margin:0}.signal-settling::before,.signal-settling::after{content:'✦';position:absolute;color:var(--gold);font-size:9px;animation:settling-particle 1.1s ease-out infinite}.signal-settling::before{margin-left:-190px}.signal-settling::after{margin-left:190px;animation-delay:.45s}.signal-settling-leaving{opacity:0;translate:0 -8px}@keyframes settling-spark{to{scale:1.35;filter:drop-shadow(0 0 8px var(--accent))}}@keyframes settling-particle{from{opacity:0;translate:0 8px}35%{opacity:1}to{opacity:0;translate:0 -15px}}
.score-summary[role=button]{cursor:pointer}.score-summary[role=button]::after{content:'?';display:inline-grid;place-items:center;width:18px;height:18px;margin-left:8px;border:1px solid currentColor;border-radius:50%;font-size:12px;vertical-align:middle}.score-dialog #score-breakdown{margin:18px 0}.rarity-toggle{display:none}
@media(max-width:600px){.word-hunt{margin-top:16px;order:unset}.ritual:has(#word-hunt){display:flex;flex-direction:column}.ritual:has(#word-hunt) #word-hunt{order:8}.ritual:has(#word-hunt) .ritual-actions{order:9}.ritual:has(#word-hunt) #allowance{order:10}.ritual:has(#word-hunt) .steps{order:11}.ritual #scoring{display:none}.score-summary{display:flex;align-items:center;justify-content:center}.rarity-toggle{display:block;position:fixed;right:0;top:42%;z-index:900;border-radius:5px 0 0 5px;padding:10px 9px;background:var(--tier-color,var(--accent));color:#101712;border-color:var(--tier-color,var(--accent));font-size:9px;letter-spacing:.8px;writing-mode:vertical-rl}.signal-shell{display:block}.signal-shell>.rarity-rail{position:fixed;z-index:901;top:0;right:0;width:min(85vw,310px);height:100dvh;overflow:auto;translate:100% 0;transition:translate .28s ease;box-shadow:-20px 0 55px #0008}.signal-shell>.rarity-rail.rarity-open{translate:0}.signal-settling{margin-top:-14px;font-size:8px;letter-spacing:1px}.signal-settling::before{margin-left:-150px}.signal-settling::after{margin-left:150px}}
.rarity-veil,.rarity-close{display:none}.hunt-composition strong{flex-basis:100%;width:100%}.hunt-composition>button{flex:1 1 0;min-width:0}.debug-cheat{color:#ff7070}
@media(max-width:600px){.rarity-veil{display:block;position:fixed;z-index:900;inset:0;border:0;background:#02070ab8;opacity:0;pointer-events:none;transition:opacity .28s ease}.rarity-veil.rarity-veil-visible{opacity:1;pointer-events:auto}.rarity-toggle{z-index:899}.rarity-close{display:grid;place-items:center;position:absolute;top:18px;left:-47px;width:47px;height:47px;padding:0;border-radius:7px 0 0 7px!important;background:var(--accent);color:#06100b;border-color:var(--accent);font-size:28px;line-height:1;box-shadow:-7px 6px 18px #0005}.hunt-composition{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.hunt-composition strong{grid-column:1/-1;min-width:0}.hunt-composition>button{width:100%;padding:9px 4px;font-size:9px;white-space:normal}.hunt-composition>#hunt-submit{font-size:8px}.word-hunt{margin-inline:-12px;padding-inline:12px}}
.player-identity>.talisman-wrap{width:58px;height:58px;flex:0 0 58px}.player-identity>.talisman-wrap .trophy-mark{width:42px;height:42px;font-size:27px;line-height:1}
.profile-identity-card{display:grid;grid-template-columns:clamp(150px,20vw,230px) minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:clamp(18px,3vw,38px);align-items:center;max-width:820px;margin:clamp(22px,4vw,42px) auto;padding:clamp(18px,3vw,30px);border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--panel) 78%,transparent),color-mix(in srgb,var(--tone) 10%,transparent));box-shadow:0 14px 35px #0003}.profile-identity-card>.profile-talisman-avatar{grid-row:1/4}.profile-identity-card>a{grid-column:2;font:600 clamp(26px,4.2vw,45px)/1.08 'Exo 2',sans-serif;letter-spacing:.02em;color:var(--ink)}.profile-identity-card>.player-level{grid-column:2;font-size:13px;color:var(--muted)}.profile-identity-card>.player-points,.profile-identity-card>.player-stars{grid-column:2;font-size:13px}.profile-talisman-avatar{position:relative;width:100%;aspect-ratio:1;isolation:isolate;touch-action:none;cursor:grab}.profile-talisman-avatar:active{cursor:grabbing}.profile-talisman-avatar>.talisman-wrap{position:absolute;inset:0;width:100%;height:100%;display:grid;place-items:center}.profile-talisman-avatar .trophy-mark{width:78%;height:78%;font-size:clamp(58px,8vw,108px);line-height:1}.profile-talisman-avatar .talisman-rays{inset:6%}.profile-talisman-model{position:absolute;inset:0;z-index:3;touch-action:none}.profile-talisman-model>.stone-talisman-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.profile-talisman-3d-ready>.profile-talisman-fallback{display:none}@media(max-width:600px){.profile-identity-card{grid-template-columns:clamp(112px,34vw,158px) minmax(0,1fr);column-gap:16px;margin:20px 0;padding:16px}.profile-identity-card>a{font-size:clamp(23px,7vw,32px);overflow-wrap:anywhere}.profile-identity-card>.player-level,.profile-identity-card>.player-points,.profile-identity-card>.player-stars{font-size:11px}}
.operator-identity>.talisman-wrap{box-sizing:border-box;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.word-chip.talisman-word{border-color:color-mix(in srgb,var(--gold) 62%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--gold) 19%,transparent),color-mix(in srgb,var(--accent) 8%,transparent));box-shadow:inset 0 0 12px color-mix(in srgb,var(--gold) 12%,transparent)}
.word-chip.pattern-tile{color:#e8d9ff;border-color:#a86ee8;background:repeating-linear-gradient(135deg,#7c3fc528 0 5px,#1b0e312c 6px 11px);box-shadow:inset 0 0 14px #9d58dc33,0 0 11px #8d43c522}
.word-chip.grey-auto-word{color:#84908d;border-color:#52615d;background:#18201f;opacity:.72;text-decoration:line-through}.source-letter.letter-destroy-target{border-color:#e0a45f!important;box-shadow:0 0 15px #e0a45f88!important;animation:letter-destroy-pulse .8s ease-in-out infinite alternate}@keyframes letter-destroy-pulse{to{filter:brightness(1.35);transform:translateY(-2px)}}
.source-letter.letter-ashed{filter:grayscale(1) brightness(.45);color:#8b8580!important;background:#34302d!important}.ash-ember,.ransom-mote{position:fixed;z-index:14000;width:4px;height:4px;pointer-events:none;background:#ff6a24;box-shadow:0 0 10px #ffb13b}.ransom-mote{background:#d9bd87;box-shadow:0 0 9px #ffe89a}.ghost-quiet-lock{position:fixed;z-index:14000;pointer-events:none;font-size:58px;filter:drop-shadow(0 0 16px #c6e8ff)}
body[data-mode=light] .word-chip.pattern-tile{color:#5a257f;border-color:#8c45ba;background:repeating-linear-gradient(135deg,#d8b9f055 0 5px,#f8effd 6px 11px)}
button.talisman-wrap:hover .trophy-mark,button.talisman-wrap:focus-visible .trophy-mark{filter:drop-shadow(0 0 13px var(--trophy-glow));scale:1.07}
.talisman-reveal{position:fixed;inset:0;width:100dvw;height:100dvh;max-width:none;max-height:none;box-sizing:border-box;margin:0;padding:0;border:0;transform:none;background:rgba(2,5,7,.84);color:var(--ink);opacity:0;transition:opacity .42s ease;overflow:hidden;cursor:default;z-index:1200}
.talisman-reveal::backdrop{background:rgba(1,3,4,.72);backdrop-filter:blur(10px)}
.talisman-reveal.talisman-reveal-visible{opacity:1}.talisman-reveal.talisman-reveal-leaving{opacity:0}
.talisman-reveal-scene{--trophy-color:#8fe8c1;--trophy-glow:#72d3bd;--talisman-back-glow:#6650a8;position:relative;isolation:isolate;display:flex;width:min(92vw,680px);min-height:100dvh;height:100dvh;margin:0 auto;padding:clamp(35px,8vh,90px) 22px;box-sizing:border-box;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.talisman-reveal-halo{position:absolute;z-index:-2;width:min(78vw,520px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--trophy-glow) 24%,transparent) 0 16%,transparent 49%),repeating-conic-gradient(from 7deg,color-mix(in srgb,var(--talisman-back-glow) 55%,transparent) 0 2deg,transparent 3deg 13deg),radial-gradient(circle at center,transparent 39%,color-mix(in srgb,var(--trophy-color) 35%,transparent) 40% 41%,transparent 42% 53%,color-mix(in srgb,var(--talisman-back-glow) 38%,transparent) 54% 55%,transparent 56%);filter:blur(.4px) drop-shadow(0 0 38px var(--talisman-back-glow));opacity:.92;animation:talisman-halo 7s linear infinite}
.talisman-reveal-halo::before,.talisman-reveal-halo::after{content:'';position:absolute;inset:10%;border:1px solid color-mix(in srgb,var(--trophy-glow) 55%,transparent);clip-path:polygon(50% 0,62% 34%,98% 20%,70% 50%,98% 80%,62% 66%,50% 100%,38% 66%,2% 80%,30% 50%,2% 20%,38% 34%);filter:drop-shadow(0 0 13px var(--trophy-glow));rotate:18deg}.talisman-reveal-halo::after{inset:22%;rotate:-13deg;opacity:.6}
.talisman-reveal-mark{width:clamp(190px,40vw,270px);height:clamp(190px,40vw,270px);margin-bottom:22px}.talisman-reveal-mark .talisman-rays{inset:-42px;filter:blur(3px) drop-shadow(0 0 25px var(--talisman-back-glow));opacity:.9}.talisman-reveal-mark .trophy-mark{width:clamp(135px,29vw,190px);height:clamp(135px,29vw,190px);border-width:4px;font-size:clamp(66px,14vw,96px);filter:drop-shadow(0 0 18px var(--trophy-glow)) drop-shadow(0 0 45px var(--talisman-back-glow))}
.talisman-reveal-scene h2{max-width:620px;margin:5px 0 12px;font:600 clamp(26px,6vw,46px)/1.05 'Exo 2',sans-serif;color:var(--trophy-color);text-shadow:0 0 18px color-mix(in srgb,var(--trophy-glow) 56%,transparent)}.talisman-reveal-description{max-width:560px;margin:0 0 18px;font-size:clamp(14px,2.5vw,18px);line-height:1.6;color:var(--ink)}
.talisman-earned .talisman-reveal-scene{animation:talisman-arrival .9s cubic-bezier(.16,.85,.21,1.15) both}.talisman-earned .talisman-reveal-mark{animation:talisman-strike 1.15s cubic-bezier(.16,.85,.21,1.15) both}
@keyframes talisman-arrival{0%{opacity:0;translate:0 35px;scale:.82}55%{opacity:1;translate:0 -7px;scale:1.035}100%{translate:0 0;scale:1}}
@keyframes talisman-strike{0%{rotate:-22deg;scale:.2;filter:brightness(3)}48%{rotate:5deg;scale:1.18;filter:brightness(1.8)}72%{rotate:-2deg;scale:.96}100%{rotate:0;scale:1;filter:none}}
@keyframes talisman-halo{to{rotate:360deg}}
@media(max-width:600px){.talisman-reveal-scene{justify-content:center;padding:25px 18px}.talisman-reveal-mark{margin-bottom:12px}.talisman-reveal-description{line-height:1.45}}
@media(prefers-reduced-motion:reduce){.talisman-reveal,.talisman-earned .talisman-reveal-scene,.talisman-earned .talisman-reveal-mark,.talisman-reveal-halo{animation:none;transition:none}}

/* Emoji tints are a separate talisman attribute: white keeps a symbol neutral. */
.trophy-mark{color:var(--trophy-emoji-color,#fff);text-shadow:0 0 8px color-mix(in srgb,var(--trophy-emoji-color,#fff) 55%,transparent);-webkit-text-fill-color:initial}.trophy-emoji-stack{position:relative;display:grid;place-items:center;width:1.35em;height:1.35em;line-height:1;overflow:visible;transform:translateX(-.05em)}.trophy-emoji-base,.trophy-emoji-mask{grid-area:1/1;display:grid;place-items:center;width:1.55em;height:1.55em;line-height:1;text-align:center}.trophy-emoji-base{font-variant-emoji:emoji;transform:translateY(.015em)}.trophy-emoji-mask{position:relative;overflow:hidden;opacity:var(--trophy-tint-opacity,.3);pointer-events:none}.trophy-emoji-tint{display:block;line-height:1;transform:translate(-2em,.015em);filter:brightness(0) saturate(100%) drop-shadow(2em 0 0 var(--trophy-emoji-color,#fff));font-variant-emoji:emoji}.numeric-trophy .trophy-emoji-stack{transform:translateX(0);font-family:'Exo 2',ui-monospace,monospace;font-size:calc(var(--numeric-glyph-scale,.7) * 1em);font-weight:800;letter-spacing:-.09em}.numeric-trophy .trophy-emoji-base,.numeric-trophy .trophy-emoji-tint{font-variant-emoji:normal}.numeric-trophy .trophy-emoji-base{transform:translateY(0)}.numeric-trophy .trophy-emoji-tint{transform:translate(-2em,0)}

/* A deliberately rare binary fault: CSS-only scan distortion and prismatic sparks. */
#binary-glitch-field{position:fixed;z-index:1100;inset:0;overflow:hidden;pointer-events:none;mix-blend-mode:screen}#binary-glitch-field::before,#binary-glitch-field::after{content:'';position:absolute;inset:-24%;background-image:radial-gradient(circle,#ff427c 0 2px,transparent 3px),radial-gradient(circle,#ffdc4d 0 1px,transparent 3px),radial-gradient(circle,#54ffbf 0 2px,transparent 3px),radial-gradient(circle,#4bd8ff 0 1px,transparent 3px),radial-gradient(circle,#9876ff 0 2px,transparent 3px),radial-gradient(circle,#ff72ed 0 1px,transparent 3px);background-size:113px 149px,173px 127px,97px 179px,151px 103px,191px 163px,131px 109px;background-position:9px 17px,41px 57px,76px 12px,23px 88px,99px 43px,62px 71px;filter:drop-shadow(0 0 5px currentColor);animation:binary-rainbow-drift 1.9s steps(7,end) infinite, binary-hue 3.1s linear infinite;opacity:.72}#binary-glitch-field::after{inset:0;background:repeating-linear-gradient(0deg,transparent 0 17px,#ff4fc416 18px 19px,transparent 20px 33px),linear-gradient(90deg,#00eaff12,transparent 28%,#ff5dbb14 55%,transparent 80%);background-size:auto,220% 100%;animation:binary-scan 1.2s steps(5,end) infinite;opacity:.55}.binary-glitch-active #score-summary{animation:binary-score-fault 1.6s steps(2,end) infinite;text-shadow:2px 0 #f52bc3,-2px 0 #22eaff,0 0 16px var(--accent)}@keyframes binary-rainbow-drift{0%{translate:-2% -1%;scale:1}35%{translate:3% -4%;scale:1.04}70%{translate:-4% 3%;scale:.98}to{translate:2% 4%;scale:1.03}}@keyframes binary-hue{to{filter:hue-rotate(360deg) drop-shadow(0 0 5px #fff)}}@keyframes binary-scan{0%,100%{background-position:0 0,0 0;translate:0}37%{background-position:0 28px,48% 0;translate:2px -1px}64%{background-position:0 -18px,100% 0;translate:-2px 1px}}@keyframes binary-score-fault{0%,82%,100%{translate:0;filter:none}84%{translate:3px -1px;filter:brightness(1.45)}87%{translate:-2px 1px;filter:hue-rotate(90deg)}90%{translate:1px 0}}@media(prefers-reduced-motion:reduce){#binary-glitch-field::before,#binary-glitch-field::after,.binary-glitch-active #score-summary{animation:none}}

/* An in-flow support link stays visible without competing with ritual controls. */
.ritual-support{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin:25px auto 0;padding:12px 0;color:var(--muted);font-size:12px}.ritual-support .kofi-support{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:9px 16px;border:1px solid color-mix(in srgb,var(--accent) 65%,transparent);border-radius:999px;background:color-mix(in srgb,var(--accent) 13%,var(--bg));color:var(--accent);text-decoration:none;box-shadow:inset 0 1px color-mix(in srgb,var(--accent) 20%,transparent);transition:background .2s,box-shadow .2s}.ritual-support .kofi-support:hover{background:color-mix(in srgb,var(--accent) 23%,var(--bg));box-shadow:0 0 16px color-mix(in srgb,var(--accent) 18%,transparent)}.ritual-support .kofi-support:focus-visible{outline:2px solid var(--accent);outline-offset:4px}

/* Frutiger Aero: sky above, a luminous water-and-grass horizon below, all drawn locally. */
body[data-special-theme=frutiger-aero]{--accent:#49e8e0;--green:#54dd83;--gold:#f8f36c;--bg:#06172d;--panel:#0b3552a8;--ink:#ebffff;--muted:#a8d6e7;--border:#75edff91;background:radial-gradient(ellipse 48% 20% at 78% 17%,#dfffff55 0 18%,transparent 52%),radial-gradient(ellipse 52% 22% at 15% 72%,#197bcf 0 28%,transparent 67%),radial-gradient(ellipse 45% 23% at 78% 82%,#109fb4 0 26%,transparent 68%),linear-gradient(180deg,#071f4a 0 49%,#075c87 50%,#063e5a 72%,#032438 100%)}body[data-special-theme=frutiger-aero]::before{content:'';position:fixed;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse 48% 15% at 18% 63%,#3fcf827d 0 35%,transparent 72%),radial-gradient(ellipse 38% 13% at 54% 69%,#66e49b6b 0 38%,transparent 74%),radial-gradient(ellipse 50% 20% at 78% 76%,#23d6da66 0 28%,transparent 70%),linear-gradient(165deg,transparent 0 52%,#39d88b32 53% 60%,transparent 61%)}body[data-special-theme=frutiger-aero] .panel{background:linear-gradient(145deg,#d8ffff24,#0a3958a8 42%,#062942b8);border-color:#a4f8ff90;box-shadow:inset 0 1px #e8ffffb3,inset 0 -1px #00bfe244,0 14px 34px #001a38a8,0 0 26px #35e4e51d;backdrop-filter:blur(15px) saturate(1.35)}body[data-special-theme=frutiger-aero] button{background:linear-gradient(180deg,#eaffffab,#4cd8e06b 47%,#0e9dc4a8);color:#efffff;border-color:#afffffaa;box-shadow:inset 0 1px #fff9,0 3px 10px #001c3b80}body[data-special-theme=frutiger-aero] .primary{background:linear-gradient(180deg,#dfffff,#4ce4db 42%,#0a98c7);color:#03284d;border-color:#eaffff;box-shadow:inset 0 1px #fff,0 5px 15px #38e8e477}body[data-special-theme=frutiger-aero] .letter{background:linear-gradient(145deg,#eaffff3b,#086a9a9e);border-color:#96f9ffb5;color:#f5ffff;box-shadow:inset 0 1px #fff8,0 4px 12px #002555a8}body[data-special-theme=frutiger-aero] .trophy-mark{background:color-mix(in srgb,var(--trophy-color) 30%,#06375a)}
body[data-special-theme=pixel-terminal]{--accent:#9dff75;--green:#9dff75;--gold:#ffe47a;--bg:#040a06;--panel:#08120bbb;--ink:#d7ffca;--muted:#83b87a;--border:#69a05d;background:repeating-linear-gradient(0deg,#040a06 0 2px,#071008 3px 5px)}body[data-special-theme=pixel-terminal] .panel{background:#071108e6;box-shadow:5px 5px 0 #010301,inset 0 0 0 1px #82bd68,0 0 18px #65ff3d19;backdrop-filter:none}body[data-special-theme=pixel-terminal] button{background:#0b1c0de6;color:#d7ffca;border-color:#79bf6d}body[data-special-theme=pixel-terminal] .primary{background:#275d29;color:#efffe9;border-color:#a7ff8d}
body[data-mode=light][data-special-theme=frutiger-aero]{--accent:#008fbc;--green:#159e54;--gold:#d8a500;--bg:#dffaff;--panel:#ffffffad;--ink:#063957;--muted:#2b6e88;--border:#3cbce4a8;background:radial-gradient(ellipse 46% 18% at 78% 14%,#fff 0 18%,transparent 54%),radial-gradient(ellipse 48% 17% at 17% 73%,#3dc982 0 32%,transparent 72%),radial-gradient(ellipse 43% 18% at 77% 79%,#33cfe1 0 28%,transparent 69%),linear-gradient(180deg,#78dfff 0 51%,#c8f6ff 52%,#6ed794 72%,#218b75 100%)}body[data-mode=light][data-special-theme=frutiger-aero] .panel{background:linear-gradient(145deg,#ffffffd9,#bff5ffb8);border-color:#7de4f5bd;box-shadow:inset 0 1px #fff,0 14px 30px #2185a138}body[data-mode=light][data-special-theme=frutiger-aero] button{background:linear-gradient(#fff,#b6f5ff 52%,#75d7ec);color:#064f74;border-color:#64cbe9}body[data-mode=light][data-special-theme=frutiger-aero] .primary{background:linear-gradient(#eaffff,#62dfde 43%,#159dcc);color:#043c63}
body[data-mode=light][data-special-theme=pixel-terminal]{--accent:#1f7d2c;--green:#1f7d2c;--gold:#9d6a00;--bg:#e1f0d8;--panel:#f2faeddf;--ink:#163c19;--muted:#49704a;--border:#638961;background:repeating-linear-gradient(0deg,#e3f2da 0 3px,#d8e9d0 4px 6px)}body[data-mode=light][data-special-theme=pixel-terminal] .panel{background:#eff9e9ed;box-shadow:5px 5px 0 #93ad8d,inset 0 0 0 1px #5e885d}body[data-mode=light][data-special-theme=pixel-terminal] button{background:#e4f4dd;color:#163c19}
@media(prefers-color-scheme:light){body[data-mode=system][data-special-theme=frutiger-aero]{--accent:#008fbc;--green:#159e54;--gold:#d8a500;--bg:#dffaff;--panel:#ffffffad;--ink:#063957;--muted:#2b6e88;--border:#3cbce4a8;background:radial-gradient(ellipse 46% 18% at 78% 14%,#fff 0 18%,transparent 54%),radial-gradient(ellipse 48% 17% at 17% 73%,#3dc982 0 32%,transparent 72%),radial-gradient(ellipse 43% 18% at 77% 79%,#33cfe1 0 28%,transparent 69%),linear-gradient(180deg,#78dfff 0 51%,#c8f6ff 52%,#6ed794 72%,#218b75 100%)}body[data-mode=system][data-special-theme=frutiger-aero] .panel{background:linear-gradient(145deg,#ffffffd9,#bff5ffb8);border-color:#7de4f5bd;box-shadow:inset 0 1px #fff,0 14px 30px #2185a138}body[data-mode=system][data-special-theme=frutiger-aero] button{background:linear-gradient(#fff,#b6f5ff 52%,#75d7ec);color:#064f74;border-color:#64cbe9}body[data-mode=system][data-special-theme=frutiger-aero] .primary{background:linear-gradient(#eaffff,#62dfde 43%,#159dcc);color:#043c63}body[data-mode=system][data-special-theme=pixel-terminal]{--accent:#1f7d2c;--green:#1f7d2c;--gold:#9d6a00;--bg:#e1f0d8;--panel:#f2faeddf;--ink:#163c19;--muted:#49704a;--border:#638961;background:repeating-linear-gradient(0deg,#e3f2da 0 3px,#d8e9d0 4px 6px)}body[data-mode=system][data-special-theme=pixel-terminal] .panel{background:#eff9e9ed;box-shadow:5px 5px 0 #93ad8d,inset 0 0 0 1px #5e885d}body[data-mode=system][data-special-theme=pixel-terminal] button{background:#e4f4dd;color:#163c19}}

/* Special themes keep the operator's chosen accent instead of replacing it. */
body[data-special-theme][data-theme=default]{--accent:#c3ef99;--tone:#7cad5b}body[data-special-theme][data-theme=blue]{--accent:#9dc8ff;--tone:#4483c4}body[data-special-theme][data-theme=purple]{--accent:#c6a6ff;--tone:#8654cb}body[data-special-theme][data-theme=pink]{--accent:#f3aed8;--tone:#ba568b}body[data-special-theme][data-theme=orange]{--accent:#f1bb83;--tone:#c77835}body[data-special-theme][data-theme=brown]{--accent:#c7ac91;--tone:#805b3c}body[data-special-theme][data-theme=red]{--accent:#f3a59b;--tone:#a84b47}body[data-special-theme][data-theme=grey]{--accent:#c4cbd3;--tone:#6f7882}body[data-special-theme][data-theme=black]{--accent:#d9d9db;--tone:#3d3c46}body[data-special-theme][data-theme=teal]{--accent:#94e5d7;--tone:#3b9f92}body[data-special-theme]{--green:var(--accent);--border:color-mix(in srgb,var(--accent) 48%,#163348)}

/* Dark Aero uses the chosen color as illuminated water, glass rims and reflected sky. */
body[data-special-theme=frutiger-aero]{background:radial-gradient(ellipse 65% 28% at 14% 78%,color-mix(in srgb,var(--tone) 72%,transparent) 0 28%,transparent 68%),radial-gradient(ellipse 57% 24% at 83% 86%,color-mix(in srgb,var(--accent) 57%,transparent) 0 27%,transparent 68%),radial-gradient(ellipse 60% 26% at 58% 62%,color-mix(in srgb,var(--tone) 43%,#087a9a) 0 24%,transparent 66%),linear-gradient(180deg,#020919 0 46%,color-mix(in srgb,var(--tone) 42%,#03152d) 47% 63%,#020b16 100%)}body[data-special-theme=frutiger-aero]::before{background:radial-gradient(ellipse 48% 15% at 18% 63%,color-mix(in srgb,var(--accent) 68%,transparent) 0 35%,transparent 72%),radial-gradient(ellipse 38% 13% at 54% 69%,color-mix(in srgb,var(--tone) 70%,transparent) 0 38%,transparent 74%),radial-gradient(ellipse 50% 20% at 78% 76%,color-mix(in srgb,var(--accent) 48%,#0bc4e0) 0 28%,transparent 70%)}body[data-special-theme=frutiger-aero] .panel{background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 13%,#071a2ccc),color-mix(in srgb,var(--tone) 18%,#061425d9));border-color:color-mix(in srgb,var(--accent) 72%,transparent);box-shadow:inset 0 1px color-mix(in srgb,var(--accent) 55%,white),inset 0 -1px color-mix(in srgb,var(--tone) 55%,transparent),0 14px 34px #00101fbf,0 0 31px color-mix(in srgb,var(--accent) 22%,transparent)}body[data-special-theme=frutiger-aero] button{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 28%,#ecffffc7),color-mix(in srgb,var(--tone) 48%,#073b63c7));color:#f4ffff;border-color:color-mix(in srgb,var(--accent) 75%,white);box-shadow:inset 0 1px #fff9,0 3px 14px color-mix(in srgb,var(--accent) 28%,transparent)}body[data-special-theme=frutiger-aero] .primary{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 48%,white),var(--accent) 46%,color-mix(in srgb,var(--tone) 80%,#07547a));color:#041724;border-color:color-mix(in srgb,var(--accent) 70%,white);box-shadow:inset 0 1px white,0 5px 20px color-mix(in srgb,var(--accent) 55%,transparent)}body[data-special-theme=frutiger-aero] .letter{background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 25%,#eaffff24),color-mix(in srgb,var(--tone) 48%,#052b4aa8));border-color:color-mix(in srgb,var(--accent) 75%,white);color:var(--accent)}

/* Terminal phosphor and its scan-field now follow the chosen theme color too. */
body[data-special-theme=pixel-terminal]{--border:color-mix(in srgb,var(--accent) 55%,#162018);background:repeating-linear-gradient(0deg,transparent 0 2px,#0008 3px 5px),radial-gradient(ellipse at 50% 18%,color-mix(in srgb,var(--tone) 42%,transparent),transparent 64%),linear-gradient(135deg,color-mix(in srgb,var(--tone) 24%,#020502),#020502 58%,color-mix(in srgb,var(--accent) 12%,#020502))}body[data-special-theme=pixel-terminal] .panel{background:color-mix(in srgb,var(--tone) 12%,#030805e8);border-color:color-mix(in srgb,var(--accent) 55%,#254229);box-shadow:5px 5px 0 #010301,inset 0 0 0 1px color-mix(in srgb,var(--accent) 62%,transparent),0 0 22px color-mix(in srgb,var(--accent) 20%,transparent)}body[data-special-theme=pixel-terminal] button{background:color-mix(in srgb,var(--tone) 18%,#071009);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 60%,#223527);text-shadow:0 0 7px color-mix(in srgb,var(--accent) 72%,transparent)}body[data-special-theme=pixel-terminal] .primary{background:color-mix(in srgb,var(--tone) 62%,#102114);color:#f5fff2;border-color:var(--accent);box-shadow:0 0 14px color-mix(in srgb,var(--accent) 30%,transparent)}body[data-special-theme=pixel-terminal] .letter{background:color-mix(in srgb,var(--tone) 18%,#050b06);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 65%,#172319)}

/* Native controls need explicit surfaces; otherwise browser option palettes can become black-on-black. */
body[data-special-theme] input:not([type=checkbox]):not([type=color]),body[data-special-theme] select,body[data-special-theme] textarea{background:color-mix(in srgb,var(--tone) 17%,#071016);color:var(--ink);border-color:color-mix(in srgb,var(--accent) 55%,#33434a);accent-color:var(--accent);color-scheme:dark}body[data-special-theme] select option{background:#071016;color:#efffff}body[data-special-theme] input::placeholder,body[data-special-theme] textarea::placeholder{color:color-mix(in srgb,var(--accent) 32%,#aab5b8)}

body[data-mode=light][data-special-theme=frutiger-aero]{background:radial-gradient(ellipse 48% 18% at 78% 14%,#fff 0 18%,transparent 54%),radial-gradient(ellipse 52% 19% at 17% 73%,color-mix(in srgb,var(--tone) 76%,#37d988) 0 32%,transparent 72%),radial-gradient(ellipse 48% 20% at 77% 81%,color-mix(in srgb,var(--accent) 66%,#36d9ed) 0 28%,transparent 69%),linear-gradient(180deg,#72dcff 0 50%,#d6faff 51%,color-mix(in srgb,var(--tone) 54%,#7bdd9e) 73%,#218b75 100%)}body[data-mode=light][data-special-theme=frutiger-aero] .panel{background:linear-gradient(145deg,#ffffffdf,color-mix(in srgb,var(--accent) 18%,#d9f9ffbe));border-color:color-mix(in srgb,var(--accent) 60%,#60cde6);box-shadow:inset 0 1px #fff,0 14px 30px color-mix(in srgb,var(--tone) 28%,transparent)}body[data-mode=light][data-special-theme=frutiger-aero] button{background:linear-gradient(#fff,color-mix(in srgb,var(--accent) 24%,#d8f9ff) 52%,color-mix(in srgb,var(--tone) 36%,#8ddff0));color:#063d59;border-color:color-mix(in srgb,var(--accent) 65%,#43b4d0)}body[data-mode=light][data-special-theme=frutiger-aero] .primary{background:linear-gradient(color-mix(in srgb,var(--accent) 35%,white),var(--accent) 48%,color-mix(in srgb,var(--tone) 75%,#159dcc));color:#052b3d}body[data-mode=light][data-special-theme=pixel-terminal]{background:repeating-linear-gradient(0deg,transparent 0 3px,#6e8b6526 4px 6px),radial-gradient(ellipse at 45% 15%,color-mix(in srgb,var(--accent) 35%,transparent),transparent 66%),color-mix(in srgb,var(--tone) 22%,#edf7e8)}body[data-mode=light][data-special-theme=pixel-terminal] .panel{background:color-mix(in srgb,var(--tone) 8%,#f6fcf2e8);border-color:color-mix(in srgb,var(--accent) 55%,#668066);box-shadow:5px 5px 0 color-mix(in srgb,var(--tone) 25%,#abbba5),inset 0 0 0 1px color-mix(in srgb,var(--accent) 45%,transparent)}body[data-mode=light][data-special-theme=pixel-terminal] button{background:color-mix(in srgb,var(--tone) 16%,#eff8eb);color:color-mix(in srgb,var(--accent) 75%,#102819);border-color:color-mix(in srgb,var(--accent) 58%,#657865)}body[data-mode=light][data-special-theme] input:not([type=checkbox]):not([type=color]),body[data-mode=light][data-special-theme] select,body[data-mode=light][data-special-theme] textarea{background:#f7fcf5;color:#102d25;border-color:color-mix(in srgb,var(--accent) 58%,#78928a);color-scheme:light}body[data-mode=light][data-special-theme] select option{background:#fff;color:#102d25}

@media(prefers-color-scheme:light){body[data-mode=system][data-special-theme=frutiger-aero]{background:radial-gradient(ellipse 48% 18% at 78% 14%,#fff 0 18%,transparent 54%),radial-gradient(ellipse 52% 19% at 17% 73%,color-mix(in srgb,var(--tone) 76%,#37d988) 0 32%,transparent 72%),radial-gradient(ellipse 48% 20% at 77% 81%,color-mix(in srgb,var(--accent) 66%,#36d9ed) 0 28%,transparent 69%),linear-gradient(180deg,#72dcff 0 50%,#d6faff 51%,color-mix(in srgb,var(--tone) 54%,#7bdd9e) 73%,#218b75 100%)}body[data-mode=system][data-special-theme=frutiger-aero] .panel{background:linear-gradient(145deg,#ffffffdf,color-mix(in srgb,var(--accent) 18%,#d9f9ffbe));border-color:color-mix(in srgb,var(--accent) 60%,#60cde6)}body[data-mode=system][data-special-theme=pixel-terminal]{background:repeating-linear-gradient(0deg,transparent 0 3px,#6e8b6526 4px 6px),radial-gradient(ellipse at 45% 15%,color-mix(in srgb,var(--accent) 35%,transparent),transparent 66%),color-mix(in srgb,var(--tone) 22%,#edf7e8)}body[data-mode=system][data-special-theme=pixel-terminal] .panel{background:color-mix(in srgb,var(--tone) 8%,#f6fcf2e8)}body[data-mode=system][data-special-theme] input:not([type=checkbox]):not([type=color]),body[data-mode=system][data-special-theme] select,body[data-mode=system][data-special-theme] textarea{background:#f7fcf5;color:#102d25;color-scheme:light}body[data-mode=system][data-special-theme] select option{background:#fff;color:#102d25}}

/* Aero controls are tactile glass: broad curves and a static upper reflection. */
body[data-special-theme=frutiger-aero] .panel,body[data-special-theme=frutiger-aero] dialog,body[data-special-theme=frutiger-aero] details,body[data-special-theme=frutiger-aero] .token-drawer{border-radius:32px!important}
body[data-special-theme=frutiger-aero] button,body[data-special-theme=frutiger-aero] .button,body[data-special-theme=frutiger-aero] input,body[data-special-theme=frutiger-aero] select,body[data-special-theme=frutiger-aero] textarea,body[data-special-theme=frutiger-aero] .pill,body[data-special-theme=frutiger-aero] .chip,body[data-special-theme=frutiger-aero] summary{border-radius:999px!important;box-shadow:inset 0 2px 0 #ffffffb8,inset 0 12px 18px #ffffff1f,0 4px 14px color-mix(in srgb,var(--accent) 24%,transparent)}
body[data-special-theme=frutiger-aero] input:not([type=checkbox]):not([type=color]),body[data-special-theme=frutiger-aero] select,body[data-special-theme=frutiger-aero] textarea{background-image:linear-gradient(180deg,#ffffff52 0,#ffffff18 42%,transparent 46%)}
body[data-special-theme=frutiger-aero] .panel{box-shadow:inset 0 2px 0 #ffffffa3,inset 0 28px 38px #ffffff12,0 14px 34px #00101fbf,0 0 31px color-mix(in srgb,var(--accent) 22%,transparent)}

/* A system preference already in dark mode must receive the dark Aero cascade on first paint. */
@media(prefers-color-scheme:dark){
 body[data-mode=system][data-special-theme=frutiger-aero]{--bg:#06172d;--panel:#0b3552a8;--ink:#ebffff;--muted:#a8d6e7;background:radial-gradient(ellipse 65% 28% at 14% 78%,color-mix(in srgb,var(--tone) 72%,transparent) 0 28%,transparent 68%),radial-gradient(ellipse 57% 24% at 83% 86%,color-mix(in srgb,var(--accent) 57%,transparent) 0 27%,transparent 68%),radial-gradient(ellipse 60% 26% at 58% 62%,color-mix(in srgb,var(--tone) 43%,#087a9a) 0 24%,transparent 66%),linear-gradient(180deg,#020919 0 46%,color-mix(in srgb,var(--tone) 42%,#03152d) 47% 63%,#020b16 100%)}
 body[data-mode=system][data-special-theme=frutiger-aero] .panel{background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 13%,#071a2ccc),color-mix(in srgb,var(--tone) 18%,#061425d9));border-color:color-mix(in srgb,var(--accent) 72%,transparent)}
 body[data-mode=system][data-special-theme=frutiger-aero] button{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 28%,#ecffffc7),color-mix(in srgb,var(--tone) 48%,#073b63c7));color:#f4ffff}
 body[data-mode=system][data-special-theme=frutiger-aero] .primary{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 48%,white),var(--accent) 46%,color-mix(in srgb,var(--tone) 80%,#07547a));color:#041724}
 body[data-mode=system][data-special-theme=frutiger-aero] input:not([type=checkbox]):not([type=color]),body[data-mode=system][data-special-theme=frutiger-aero] select,body[data-mode=system][data-special-theme=frutiger-aero] textarea{background-color:color-mix(in srgb,var(--tone) 17%,#071016);color:#ebffff;color-scheme:dark}
 body[data-mode=system][data-special-theme=frutiger-aero] select option{background:#071016;color:#efffff}
}
@media(min-width:801px){.ritual-support{padding-top:32px}}
.trophy-emoji-base.canvas-emoji-base{background-position:center;background-repeat:no-repeat;background-size:contain;transform:none}
.trophy-emoji-stack.canvas-emoji-stack{transform:none;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
.pending-word{border-style:dashed;opacity:.75}.pending-score{color:var(--gold)}
.trophy-mark[data-shape=octagon]{clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%)}.trophy-mark[data-shape=shield]{clip-path:polygon(8% 3%,92% 3%,100% 30%,85% 70%,50% 100%,15% 70%,0 30%)}.trophy-mark[data-shape=triangle]{clip-path:polygon(50% 0,100% 94%,0 94%)}
.talisman-stone-host{position:absolute;inset:0;z-index:2;pointer-events:none;filter:drop-shadow(0 0 9px var(--trophy-glow))}.talisman-stone-ready>.trophy-mark{visibility:hidden}.stone-talisman-canvas{display:block;width:100%;height:100%;pointer-events:none}.lab-stones{width:100%;height:clamp(250px,65vw,520px);position:relative;margin-top:18px}.debug-card>label{display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap;margin:8px 15px 8px 0}#lab-sounds{flex-wrap:wrap;margin:18px 0}
.collection-sections{display:block}.collection-sections>section{margin-bottom:2rem}.catalog-tools{margin:2rem 0;padding:1.2rem}.catalog-tools .actions{flex-wrap:wrap}.catalog-help{max-width:min(700px,90vw);max-height:80vh;overflow:auto;background:var(--panel);color:var(--ink);border:1px solid var(--border);padding:1.5rem}.catalog-help::backdrop{background:#000a}
.source-pool .ghost-letter-twitch{animation:ghost-letter-twitch .8s ease-in-out}
.source-pool .ghost-letter-ember{animation:ghost-letter-ember .8s ease-in-out}
.source-pool .ghost-letter-ripple{animation:ghost-letter-ripple .8s ease-out}
@keyframes ghost-letter-twitch{0%,100%{translate:0 0}20%{translate:-2px 1px}40%{translate:2px -1px}60%{translate:-1px 1px}80%{translate:1px 0}}
@keyframes ghost-letter-ember{0%,100%{box-shadow:0 0 0 transparent}40%{box-shadow:0 2px 10px #ff763c,inset 0 -3px 8px #ffad5e88}}
@keyframes ghost-letter-ripple{0%{box-shadow:0 0 0 0 var(--ghost-effect-color)}100%{box-shadow:0 0 4px 15px transparent}}
.stabilized .source-pool [class*="ghost-letter-"]{animation:none}@media(prefers-reduced-motion:reduce){.source-pool [class*="ghost-letter-"]{animation:none}}
.trophy-emoji-mask.canvas-emoji-mask{background:var(--trophy-emoji-color,#fff);mask-mode:alpha;mask-size:contain;mask-position:center;mask-repeat:no-repeat;-webkit-mask-size:contain;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat}
.stone-icon{position:relative;border:0;background:transparent}.stone-icon-svg{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}.stone-icon>.trophy-emoji-stack{z-index:1}.stone-icon-real>*{visibility:hidden}.stone-icon-overlay{position:fixed;inset:0;z-index:380;pointer-events:none;contain:strict}.stone-icon-overlay[hidden]{display:none}
.ghost-3d-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.ghost-body.ghost-3d-ready{background:transparent;opacity:.8}.ghost-3d-ready::before{display:none}.ghost-body.ghost-3d-ready::after{opacity:.55}.signal-ghost.ghost-hit .ghost-3d-ready{filter:none;background:transparent}
.ghost-haunt-text{display:inline-block;white-space:pre-wrap}.ghost-letter-twitch{animation:haunt-twitch .8s ease-in-out}.ghost-letter-ember{animation:haunt-ember .8s ease-in-out}.ghost-letter-ripple{animation:haunt-ripple .8s ease-out}
.source-pool .ghost-letter-twitch{animation-name:haunt-twitch}.source-pool .ghost-letter-ember{animation-name:haunt-ember}.source-pool .ghost-letter-ripple{animation-name:haunt-ripple}
@keyframes haunt-twitch{0%,100%{translate:0 0}20%{translate:calc(-1 * var(--haunt-shift,2px)) 1px}40%{translate:var(--haunt-shift,2px) -1px}60%{translate:calc(-.6 * var(--haunt-shift,2px)) 1px}80%{translate:calc(.5 * var(--haunt-shift,2px)) 0}}
@keyframes haunt-ember{0%,100%{text-shadow:0 0 transparent}40%{text-shadow:0 -2px 5px #ff763c,0 -5px 10px var(--ghost-effect-color);filter:brightness(calc(1 + var(--haunt-strength,.5)))}}
@keyframes haunt-ripple{0%,100%{translate:0 0;text-shadow:0 0 transparent}40%{translate:0 calc(-1 * var(--haunt-shift,2px));text-shadow:0 0 8px var(--ghost-effect-color)}}
.stabilized [class*="ghost-letter-"]{animation:none!important}@media(prefers-reduced-motion:reduce){[class*="ghost-letter-"]{animation:none!important}}
.lab-ghost{position:relative!important;left:auto;top:auto;width:160px;height:160px;margin:18px auto;animation:none!important}.lab-ghost .ghost-body{width:120px;height:120px}.lab-ambience .actions{flex-wrap:wrap;gap:8px}.lab-ambience{margin:24px 0}
.sound-setting-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:16px 0}.sound-setting-row>.check{min-width:170px;margin:0}.sound-volume-control{display:flex!important;align-items:center;gap:10px;margin:0!important;flex:1;min-width:190px}.sound-volume-control input[type=range]{padding:0;width:100%;min-width:80px;accent-color:var(--accent)}.sound-volume-control output{min-width:42px;text-align:right}.sound-setting-muted .sound-volume-control{opacity:.4;filter:grayscale(1)}.sound-volume-control input:disabled{cursor:not-allowed}@media(max-width:600px){.sound-setting-row{gap:10px;flex-wrap:nowrap}.sound-setting-row>.check{min-width:0;flex:0 0 125px}.sound-volume-control{min-width:0;gap:6px;font-size:0}.sound-volume-control input[type=range]{min-width:40px}.sound-volume-control output{font-size:12px;min-width:32px}}
[data-page="sound-admin"] #sound-controls{display:grid;gap:1rem;margin:1.25rem 0}
[data-page="sound-admin"] #sound-controls fieldset{min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:.8rem;padding:1rem}
[data-page="sound-admin"] #sound-controls legend{padding:0 .4rem}
[data-page="sound-admin"] #sound-controls label{display:flex;flex-direction:column;gap:.35rem;min-width:0}
[data-page="sound-admin"] #sound-controls input,[data-page="sound-admin"] #sound-controls select{box-sizing:border-box;width:100%;min-width:0;padding:.55rem}
[data-page="sound-admin"]>label{display:block;margin:.8rem 0}
[data-page="sound-admin"]>label select{max-width:100%}
.ritual-particle[data-sprite],.return-spark[data-sprite]{background:transparent;box-shadow:none;border-radius:0;filter:drop-shadow(0 0 5px var(--particle-color,#9bd9ff));width:calc(3px * var(--particle-scale,2.5));height:calc(3px * var(--particle-scale,2.5))}
.ritual-particle[data-sprite]::before,.return-spark[data-sprite]::before{content:'';display:block;width:100%;height:100%;background:var(--particle-color,#9bd9ff);border-radius:inherit}
.ritual-particle[data-sprite=dot],.return-spark[data-sprite=dot]{border-radius:50%}
.ritual-particle[data-sprite=diamond]::before,.return-spark[data-sprite=diamond]::before{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.ritual-particle[data-sprite=streak],.return-spark[data-sprite=streak]{width:calc(8px * var(--particle-scale,2.5));height:calc(1.2px * var(--particle-scale,2.5));border-radius:1px}
.ritual-particle[data-sprite=star],.return-spark[data-sprite=star]{width:calc(4px * var(--particle-scale,2.5));height:calc(4px * var(--particle-scale,2.5))}
.ritual-particle[data-sprite=star]::before,.return-spark[data-sprite=star]::before{clip-path:polygon(50% 0,60% 37%,100% 50%,60% 63%,50% 100%,40% 63%,0 50%,40% 37%)}
.effect-particles i{filter:drop-shadow(0 0 4px var(--effect-color));box-shadow:none;left:calc(9% + var(--i)*var(--ambient-particle-step,11%));top:calc(24% + var(--i)*var(--ambient-particle-top-step,7%))}
.effect-particles i:nth-child(n+9){display:none}
body[data-graphics-quality=high]{--ambient-particle-step:7.09%;--ambient-particle-top-step:4.45%}
body[data-graphics-quality=high] .effect-particles i:nth-child(n+9){display:block}
body[data-graphics-quality=low]{--ambient-particle-step:26%;--ambient-particle-top-step:16.33%}
body[data-graphics-quality=low] .effect-particles i{width:4px;height:4px}
body[data-graphics-quality=low] .ritual-particle,body[data-graphics-quality=low] .return-spark,body[data-graphics-quality=low] .effect-particles i{filter:none;box-shadow:none}
body[data-graphics-quality=low] .effect-particles i:nth-child(n+5){display:none}
body[data-graphics-quality=low] .letter-flight,body[data-graphics-quality=low] .letter-return,body[data-graphics-quality=low] .token-flight{box-shadow:none;text-shadow:none}
.source-pool{position:relative}
.conjure-prompt{position:absolute;top:100%;left:0;width:100%;z-index:2;pointer-events:none;text-align:center;color:var(--accent);font-size:12px;letter-spacing:1.5px;text-shadow:0 0 12px var(--accent);animation:conjure-prompt 2.8s ease-in-out both}
@keyframes conjure-prompt{0%{opacity:0;transform:translateY(-7px) scale(.8)}25%{opacity:1;transform:translateY(0) scale(1)}65%{opacity:.85}100%{opacity:0;transform:translateY(8px) scale(1.15)}}
.word-hunt{margin-top:8px;padding-top:0;border-top:0}
#hunt-remaining{display:block;margin-top:6px;font-size:9px}
@media(prefers-reduced-motion:reduce){.conjure-prompt{animation:none;opacity:1;text-shadow:none}}
.stabilized .conjure-prompt{animation:none;text-shadow:none}
.talisman-trigger-word{color:var(--trophy-color,var(--accent));font-size:clamp(11px,2.5vw,15px);letter-spacing:.1em;overflow-wrap:anywhere;margin:8px 0}
.player-level{white-space:nowrap;color:var(--accent)}.player-level sub{font-size:.65em}.operator-strip .player-level{font-size:12px}
.signal-ghost{height:128px;grid-template-rows:18px 78px 20px;align-content:center}
.signal-ghost .ghost-name{position:static;grid-row:3;font-size:10px;text-align:center}
.signal-ghost .ghost-motion{grid-row:2}
.ghost-health{display:flex;align-items:baseline;gap:4px;width:124px;grid-row:1}
.ghost-health sub{font-size:8px;color:color-mix(in srgb,var(--accent) 55%,white)}
.ghost-health-track{position:relative;overflow:hidden;flex:1;height:11px;border:1px solid color-mix(in srgb,var(--accent) 60%,white);background:color-mix(in srgb,var(--tone,var(--accent)) 55%,#061018);border-radius:2px;box-shadow:0 1px 5px #0008}
.ghost-health-track i{position:absolute;left:0;top:0;height:100%;transition:width .55s ease-out;border-radius:inherit}
.ghost-health-red{z-index:1;background:#f45661}.ghost-health-green{z-index:2;background:linear-gradient(180deg,#78eea3,#26b75d)}
.ghost-body::before{display:none}.ghost-face{position:absolute;inset:0}.ghost-3d-ready .ghost-face{display:none}
.ghost-eye,.ghost-brow,.ghost-mouth{position:absolute;background:#071014bf}
.ghost-eye{top:24px;width:7px;height:11px;border-radius:50%}.ghost-eye-left{left:22px}.ghost-eye-right{right:22px}
.ghost-brow{top:18px;width:11px;height:2px;border-radius:2px}.ghost-brow-left{left:20px}.ghost-brow-right{right:20px}
.ghost-mouth{left:24px;top:41px;width:17px;height:7px;background:transparent;border-bottom:2px solid #071014bf;border-radius:0 0 50% 50%}
[data-expression=happy] .ghost-eye,[data-expression=excited] .ghost-eye{clip-path:inset(0 0 35% 0)}
[data-expression=sad] .ghost-mouth{border-bottom:0;border-top:2px solid #071014bf;border-radius:50% 50% 0 0}
[data-expression=sad] .ghost-brow-left{rotate:-20deg}[data-expression=sad] .ghost-brow-right{rotate:20deg}
[data-expression=angry] .ghost-brow-left{rotate:23deg}[data-expression=angry] .ghost-brow-right{rotate:-23deg}
[data-expression=angry] .ghost-eye-left{clip-path:polygon(0 0,100% 35%,100% 100%,0 100%)}[data-expression=angry] .ghost-eye-right{clip-path:polygon(0 35%,100% 0,100% 100%,0 100%)}
[data-expression=suspicious] .ghost-eye{height:5px;top:27px}[data-expression=suspicious] .ghost-brow-right{top:16px}[data-expression=suspicious] .ghost-mouth{rotate:-12deg}
[data-expression=pixar_smile] .ghost-brow-left{top:22px;rotate:18deg}[data-expression=pixar_smile] .ghost-brow-right{top:16px}[data-expression=pixar_smile] .ghost-eye-left{clip-path:inset(30% 0 0 0)}
[data-expression=excited] .ghost-brow,[data-expression=surprised] .ghost-brow{top:14px}
[data-expression=excited] .ghost-mouth,[data-expression=surprised] .ghost-mouth{left:27px;top:42px;width:11px;height:10px;background:#071014bf;border:0;border-radius:50%}
[data-expression=surprised] .ghost-eye{height:14px;top:22px}
body[data-special-theme=frutiger-aero] :is(.letter-flight,.letter-return,.token-flight){border-radius:999px}
.stabilized .ghost-health-track i{transition:none}@media(prefers-reduced-motion:reduce){.ghost-health-track i{transition:none}}

/* Touch-first word composition: selected word above, selector beside controls. */
.ritual #hunt-word{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;min-height:75px;margin:10px 0 20px;letter-spacing:0}
.ritual :is(.source-pool,.selected-pool,.winner-letters) .letter{width:64.5px;height:75px;min-width:0;min-height:0;padding:0;gap:0;font-size:34.5px;line-height:1}
.ritual .hunt-composition{display:block;width:100%}
.ritual .hunt-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%;max-width:400px;margin:14px auto}
.ritual .hunt-controls:has(#hunt-cheat:not([hidden])){grid-template-columns:repeat(5,minmax(0,1fr))}
.ritual .hunt-controls>button{display:grid;place-items:center;aspect-ratio:1;width:100%;min-width:0;min-height:0;height:auto;padding:18%;gap:0;border-radius:3px;font-size:clamp(24px,3vw,40px);line-height:1;container-type:inline-size;--emoji-accent:var(--accent,var(--green));color:var(--emoji-accent);background:color-mix(in srgb,var(--emoji-accent) 12%,var(--panel));border-color:color-mix(in srgb,var(--emoji-accent) 65%,var(--border))}
.ritual .hunt-controls>#hunt-cheat{--emoji-accent:#ff7070}

.hunt-icon{display:block;width:100%;height:100%;max-width:48px;max-height:48px;overflow:visible;filter:drop-shadow(0 0 3px color-mix(in srgb,currentColor 25%,transparent))}
.ritual :is(.source-pool,.selected-pool,.winner-letters){--letter-count:9;--tray-gap:6px;display:flex;flex-wrap:nowrap;gap:var(--tray-gap);container-type:inline-size;align-items:center;justify-content:center;width:100%;padding:8px 0;min-height:91px}
.ritual #hunt-word{flex-wrap:nowrap;gap:var(--tray-gap);min-height:91px;padding:8px 0;align-items:center}
.ritual :is(.source-pool,.selected-pool,.winner-letters) .letter{flex:0 1 calc((100% - (var(--letter-count) - 1)*var(--tray-gap))/var(--letter-count));width:calc((100% - (var(--letter-count) - 1)*var(--tray-gap))/var(--letter-count));max-width:64.5px;min-width:0;height:75px;font-size:min(34.5px,calc(80cqw/var(--letter-count)))}
@media(max-width:600px){
 .ritual :is(.source-pool,.selected-pool,.winner-letters){--tray-gap:3px;min-height:66px}
 .ritual #hunt-word{min-height:66px}
 .ritual :is(.source-pool,.selected-pool,.winner-letters) .letter{flex:0 0 calc((100% - (var(--letter-count) - 1)*var(--tray-gap))/var(--letter-count));max-width:none;height:50px;font-size:min(28px,calc(80cqw/var(--letter-count)))}
 .ritual .hunt-controls{max-width:none;gap:6px}
}

/* Keep signal-card discoveries and peer section labels visually consistent. */
#game #discovered-words{justify-content:center;text-align:center}
#game :is(.weather-toggle,.ritual-top,.section-heading,.rarity-rail)>.eyebrow{font-size:10px;line-height:1.6;letter-spacing:1.8px;font-weight:600}

/* Enlarge flat icon glyphs; keep reveal glyphs proportional to the model. */
.talisman-wrap:not(.talisman-reveal-mark)>.trophy-mark>.trophy-emoji-stack{scale:1.3}
.talisman-reveal-mark>.trophy-mark>.trophy-emoji-stack{scale:.9}
@media(max-width:600px){.talisman-reveal-mark>.trophy-mark>.trophy-emoji-stack{scale:.8}}

/* Selection ghosts retain tray dimensions and settle before the real glyph appears. */
@keyframes letter-flight{0%{opacity:.7;filter:blur(0) brightness(1.5)}35%{opacity:.35;filter:blur(3px)}100%{transform:translate(var(--dx),var(--dy));opacity:0;filter:blur(6px)}}
.letter-flight:not(.dark){animation-timing-function:cubic-bezier(.15,.8,.25,1)}
.selected-letter.letter-pending{animation:letter-settle .9s linear both!important;pointer-events:none}
@keyframes letter-settle{0%,66.6667%{opacity:0;animation-timing-function:ease-out}100%{opacity:1}}
.ritual .hunt-controls>button{aspect-ratio:5/4;padding:14% 18%}

/* Interactive ritual surfaces should never summon mobile text-selection overlays. */
#game,.talisman-wrap,.talisman-reveal,.portal-lab,.stone-talisman-canvas{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
.portal-lab{max-width:1050px;margin:auto}.portal-stage{position:relative;isolation:isolate;overflow:hidden;height:min(80svh,820px);min-height:540px;background:#030610;border:1px solid color-mix(in srgb,var(--accent) 50%,var(--border));border-radius:8px;color:#eaf2ff;touch-action:none;overscroll-behavior:none}
.portal-stage.portal-immersive{position:fixed;inset:auto;top:var(--portal-viewport-top,0px);left:var(--portal-viewport-left,0px);width:var(--portal-viewport-width,100%);height:var(--portal-viewport-height,100dvh);min-height:0;z-index:1300;border:0;border-radius:0}
html.portal-flight-active{overflow:hidden;overscroll-behavior:none}
body.portal-flight-active{position:fixed;inset:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}
#portal-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}
.portal-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse,transparent 25%,#01020c55 65%,#01020cc7);z-index:1}
.portal-hud{position:absolute;z-index:3;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:max(18px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 16px max(16px,env(safe-area-inset-left));pointer-events:none;background:linear-gradient(#020512b3,transparent)}
.portal-hud>div:first-child{display:grid;grid-template-columns:auto auto;align-items:center;gap:0 14px}.portal-hud .eyebrow{font-size:9px;margin:0;color:var(--accent);text-shadow:0 1px 6px #000}.portal-hud strong{font-size:23px;line-height:1.3;font-variant-numeric:tabular-nums;text-shadow:0 1px 5px #000}.portal-toolbar{display:flex;align-items:center;gap:7px;pointer-events:auto}.portal-speed-readout{display:grid;grid-template-columns:auto auto;align-items:center;gap:0 7px;padding:0 4px;color:var(--accent);white-space:nowrap}.portal-toolbar button{padding:8px 12px;font-size:11px;min-height:44px;background:#071221cc;color:#eaf2ff;border-color:color-mix(in srgb,var(--accent) 50%,#333)}
.portal-menu{position:absolute;z-index:5;left:50%;top:50%;translate:-50% -50%;width:min(520px,calc(100% - 32px));max-height:calc(100% - 150px);overflow:auto;overscroll-behavior:contain;touch-action:pan-y;padding:clamp(20px,4vw,35px);background:linear-gradient(145deg,#0c1629f2,#070c18f5);border:1px solid color-mix(in srgb,var(--accent) 55%,#253644);border-radius:7px;box-shadow:0 0 65px #0008;text-align:center;backdrop-filter:blur(9px)}
.portal-menu h2{font:400 clamp(25px,5vw,34px)/1.2 Georgia,serif;margin:5px 0 18px;color:#f3f7ff}.portal-menu p{font-size:12px;line-height:1.7}.portal-menu .eyebrow{color:var(--accent);font-size:9px;margin-bottom:12px}.portal-menu label{display:block;font-size:11px;text-align:left;color:#c8d6e8}.portal-menu select{display:block;width:100%;max-width:100%;padding:12px 9px;margin:6px 0 12px;color:#f1f7ff;background:#101c2e;border:1px solid #577288;font-size:14px;min-height:44px}.portal-menu button{margin:5px 3px;min-height:44px}.portal-menu .muted{color:#a3b3c9}.portal-omen{position:absolute;z-index:3;top:max(95px,calc(env(safe-area-inset-top) + 80px));left:12px;right:12px;text-align:center;font-size:12px;color:var(--accent);text-shadow:0 0 12px #000,0 2px 3px #000;pointer-events:none}
.portal-control-hint{position:absolute;z-index:2;bottom:max(12px,env(safe-area-inset-bottom));left:10px;right:10px;text-align:center;font-size:9px;letter-spacing:1px;color:#b9cbdf;pointer-events:none}.portal-result-stats{display:grid;grid-template-columns:1fr auto;gap:7px;text-align:left;font-size:12px;padding:14px 0;border-block:1px solid #39475f}.portal-result-stats dt{color:#b4c9dc}.portal-result-stats dd{margin:0;color:var(--accent);font-variant-numeric:tabular-nums}
.portal-touch{position:absolute;inset:0;pointer-events:none;z-index:4}.portal-touch i,.portal-touch b{position:absolute;display:block;border:1px solid var(--accent);border-radius:50%;translate:-50% -50%;background:color-mix(in srgb,var(--accent) 12%,transparent)}.portal-touch i{width:90px;height:90px;opacity:.4}.portal-touch b{width:26px;height:26px;opacity:.8}
.portal-reward-notes{margin:24px 0}.portal-reward-notes p{line-height:1.8}.portal-lab #portal-error{color:#ffb3ad}
@media(max-width:600px){.portal-stage{height:calc(100svh - 180px);min-height:560px}.portal-hud strong{font-size:20px}.portal-menu{padding:20px 18px}.portal-menu p{font-size:11px}.portal-omen{font-size:11px}.portal-hud>div:first-child{gap:0 9px}.portal-hud .eyebrow{font-size:8px}.portal-toolbar button{padding:8px 10px}.portal-control-hint{font-size:8px}}
body{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
input,textarea,select,[contenteditable=true]{user-select:text;-webkit-user-select:text;-webkit-touch-callout:default}
.portal-vitals{position:absolute;z-index:3;top:max(80px,calc(env(safe-area-inset-top) + 68px));left:18px;right:18px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;color:var(--accent);font-size:10px;letter-spacing:1px;pointer-events:none;--health-color:var(--accent)}
.portal-vitals[data-level=damaged]{--health-color:#ffcc77}.portal-vitals[data-level=critical]{--health-color:#ff697c}.portal-vitals output{font-variant-numeric:tabular-nums;color:var(--health-color);white-space:nowrap}.portal-vitals progress{width:100%;height:9px;appearance:none;-webkit-appearance:none;border:1px solid #384a60;border-radius:8px;overflow:hidden;background:#111d2c}.portal-vitals progress::-webkit-progress-bar{background:#111d2c}.portal-vitals progress::-webkit-progress-value{background:var(--health-color);transition:width .2s ease-out}.portal-vitals progress::-moz-progress-bar{background:var(--health-color)}
.portal-omen{top:max(119px,calc(env(safe-area-inset-top) + 105px))}.portal-stage[data-control-locked=true] .portal-control-hint{color:#ffcc77}
@media(max-width:600px){.portal-vitals{left:16px;right:16px;font-size:9px;gap:8px}}

/* Portal resources, practice tuning and independent prototype records. */
.portal-vitals{grid-template-columns:68px 1fr 100px}.portal-fuel{top:max(108px,calc(env(safe-area-inset-top) + 96px))}.portal-omen{top:max(151px,calc(env(safe-area-inset-top) + 137px))}.portal-power{position:absolute;z-index:3;top:max(138px,calc(env(safe-area-inset-top) + 126px));right:18px;color:var(--accent);font-size:10px;pointer-events:none}.portal-menu{max-height:calc(100% - 210px);top:calc(50% + 45px)}.portal-settings{text-align:left;border-block:1px solid #39475f;padding:12px 0;margin:12px 0}.portal-settings summary{cursor:pointer;color:var(--accent);font-size:12px}.portal-settings label{margin:10px 0}.portal-settings input[type=number]{display:block;width:100%;padding:9px;background:#101c2e;color:#fff;border:1px solid #577288;min-height:44px}.portal-check{display:flex!important;gap:10px;align-items:center;min-height:44px}.portal-records{margin:28px 0;padding:20px;border:1px solid var(--border);border-radius:8px}.portal-board-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.portal-board-grid ol{padding-left:24px;line-height:1.9;overflow-wrap:anywhere}.portal-loot{list-style:none;padding:0;display:grid;gap:7px;color:var(--accent);font-size:12px}.portal-loot li{padding:10px;border:1px solid #39475f;border-radius:5px}.portal-fuel progress::-webkit-progress-value{transition:none}.portal-fuel progress::-moz-progress-bar{transition:none}@media(max-width:600px){.portal-vitals{grid-template-columns:56px 1fr 80px}.portal-board-grid{grid-template-columns:1fr}.portal-records{padding:14px}.portal-menu{max-height:calc(100% - 205px)}}

#portal-loot-preview{position:relative;height:105px;width:100%}#portal-loot-preview:empty{display:none}

.portal-controls-hint{position:absolute;bottom:1rem;left:1rem;right:1rem;text-align:center;pointer-events:none;font-size:.7rem;opacity:.65}.portal-stage:not(.portal-immersive)>.portal-controls-hint{display:none}
.talisman-case{position:relative;max-width:1100px;margin:auto}.case-shelves{perspective:900px;perspective-origin:50% 50%}.case-shelf{position:relative;display:grid;grid-template-columns:repeat(var(--case-columns),minmax(0,1fr));gap:1rem;min-height:240px;margin:2rem 0 5rem;transform-style:preserve-3d;transform:rotateX(var(--shelf-angle,0deg))}.case-glass{position:absolute;bottom:52px;left:-1%;right:-1%;height:110px;border:1px solid color-mix(in srgb,var(--accent),transparent 25%);background:linear-gradient(120deg,#cdefff28,#a9e2ff08 45%,#cdefff30);box-shadow:0 0 18px #a5edff18,inset 0 0 20px #d8f7ff20;transform:rotateX(80deg);transform-origin:50% 100%;border-bottom:6px solid #bfefff55;pointer-events:none}.case-item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:.5rem;border:0;background:transparent!important;min-width:0;color:var(--text);padding:.5rem;z-index:7}.case-stone-2d{display:grid;place-items:center;width:130px;height:145px;background:color-mix(in srgb,var(--stone),#17212a 65%);border:2px solid var(--stone);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);font-size:3rem;text-shadow:0 0 12px #fff8}.case-item-name{font-size:.85rem;text-align:center;max-width:100%}.case-item-count{font-size:.7rem;opacity:.7}.case-webgl{position:fixed;inset:0;z-index:6;pointer-events:none}.case-webgl canvas{width:100%;height:100%}.case-3d-ready .case-stone-2d{visibility:hidden}.portal-debug-badge{position:fixed;right:8px;bottom:8px;z-index:1020;opacity:.45;font:10px ui-monospace;pointer-events:none}@media(max-width:600px){.case-stone-2d{width:110px;height:125px}.case-shelf{gap:.25rem;margin-bottom:3.5rem;min-height:220px}}
.portal-personal-record{margin:.7rem 0;padding:1rem}.portal-replay-link{white-space:nowrap}.portal-board-grid li{padding:.5rem 0}.portal-boards-only{margin-top:3rem}
.case-stone-2d[data-shape=circle]{clip-path:circle(48%)}.case-stone-2d[data-shape=diamond]{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.case-stone-2d[data-shape=triangle]{clip-path:polygon(50% 0,100% 100%,0 100%)}.case-stone-2d[data-shape=octagon]{clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%)}.case-stone-2d[data-shape=eye]{clip-path:ellipse(50% 38%)}.case-stone-2d[data-shape=shield]{clip-path:polygon(10% 0,90% 0,100% 40%,75% 80%,50% 100%,25% 80%,0 40%)}.case-stone-2d[data-shape=moon]{clip-path:circle(48%);mask:radial-gradient(circle at 78% 28%,transparent 30%,#000 31%)}
/* Fixed camera reliquary: scrolling moves upright shelves through world space. */
.case-viewport{position:relative;height:clamp(420px,72svh,800px);isolation:isolate;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent),transparent 75%);border-radius:12px;background:radial-gradient(ellipse at center,#61768915,transparent 70%)}
.case-shelves{position:absolute;inset:0;overflow:auto;overscroll-behavior:contain;perspective:none;scrollbar-width:thin;touch-action:pan-y}
.case-spacer{position:relative;width:100%}.case-item{position:absolute;height:174px;margin:0;transform-origin:50% 58px;justify-content:start;gap:.3rem;will-change:auto}.case-item[hidden]{display:none}.case-stone-2d{width:116px;height:116px;flex-shrink:0;font-size:3rem;position:relative;isolation:isolate}.case-stone-2d::before,.case-stone-2d::after,.case-reserve-top{content:"";position:absolute;inset:0;z-index:-1;clip-path:inherit;background:color-mix(in srgb,var(--stone),#17212a 72%);border:2px solid color-mix(in srgb,var(--stone),transparent 30%);box-sizing:border-box;transform-origin:50% 100%;filter:brightness(.65)}.case-stone-2d::before{transform:translate(-42px,53px) scale(.78);opacity:calc(min(var(--case-stack,0),10)*.067)}.case-stone-2d::after{transform:translate(42px,53px) scale(.78);opacity:calc(max(0,min(var(--case-stack,0) - 10,10))*.067)}.case-reserve-top{transform:translate(0,-13px) scale(.66);opacity:calc(max(0,min(var(--case-stack,0) - 20,4))*.17)}.case-flat-stacks{display:none}.case-item-name{max-width:100%;line-height:1.15}.case-item-count{line-height:1.1}
.case-webgl{position:absolute;inset:0;z-index:2;pointer-events:none}.case-glass{position:absolute;right:auto;bottom:auto;margin:0;border:1px solid #c8eaff55;border-radius:2px;background:linear-gradient(110deg,#bbecff30,#bbecff0c,#bbecff30);box-shadow:0 0 12px #bceaff15;pointer-events:none}.case-sort{display:flex;align-items:center;gap:.75rem;margin:1rem 0}.case-flat-stacks{display:flex;position:absolute;left:50%;top:54px;width:1px;height:1px;z-index:-1;pointer-events:none}.case-flat-stacks i{position:absolute;width:72px;height:28px;border:1px solid color-mix(in srgb,var(--stone),#17212a 38%);border-radius:4px;background:linear-gradient(180deg,color-mix(in srgb,var(--stone),#17212a 30%),color-mix(in srgb,var(--stone),#17212a 72%));filter:brightness(.8) drop-shadow(0 8px 8px #0008);opacity:.86}.case-flat-stacks i:first-child{transform:translate(-86px,47px) rotate(-7deg);height:calc(18px + min(var(--case-stack,0),10)*3px)}.case-flat-stacks i:nth-child(2){transform:translate(14px,47px) rotate(7deg);height:calc(18px + max(0,min(var(--case-stack,0) - 10,10))*3px);opacity:calc(max(0,min(var(--case-stack,0) - 10,10))*.086)}.case-flat-stacks i:last-child{transform:translate(-36px,-7px);width:72px;height:calc(15px + max(0,min(var(--case-stack,0) - 20,4))*4px);opacity:calc(max(0,min(var(--case-stack,0) - 20,4))*.215)}.case-3d-ready .case-flat-stacks{display:none}.case-3d-ready .case-glass{display:none}.case-3d-ready .case-item-name,.case-3d-ready .case-item-count{position:relative;z-index:3}
/* Clip the entire ray field before rotation, including conic-gradient corners. */
.talisman-reveal-halo{clip-path:circle(49%);mask-image:radial-gradient(circle,#000 0 61%,transparent 70%);-webkit-mask-image:radial-gradient(circle,#000 0 61%,transparent 70%)}
.talisman-emoji-decorations{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none;overflow:visible}
.effects-editor{margin:20px 0;padding:12px;border:1px solid var(--border);border-radius:8px;min-width:0}.effects-editor>div,.effects-editor fieldset{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.effects-editor fieldset{width:100%;min-width:0;box-sizing:border-box;margin:10px 0;padding:12px}.effects-editor label{display:flex;flex-direction:column;gap:5px;font-size:12px;min-width:0}.effects-editor input[type=number]{width:70px;max-width:100%;box-sizing:border-box}.effects-editor input[type=color]{width:65px;min-height:36px}.effects-editor button{font-size:12px;padding:8px 12px}.effects-editor select{max-width:180px}
.portal-opening-status::before{content:'';display:inline-block;width:1em;height:1em;margin-right:.6em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:middle;animation:portal-pending-spin 1s linear infinite}@keyframes portal-pending-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.portal-opening-status::before{animation:none}}
.talisman-effect-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:4}.talisman-effect-canvas--behind,.talisman-effect-canvas--front{z-index:4}.case-effects{position:absolute;inset:0;pointer-events:none;z-index:3}.talisman-reveal-halo{filter:brightness(var(--rare-glow,1)) blur(.4px) drop-shadow(0 0 38px var(--talisman-back-glow))}.talisman-reveal-scene>.talisman-effect-canvas--behind{z-index:0}.talisman-reveal-scene>.talisman-effect-canvas--front{z-index:2}.talisman-reveal-mark{z-index:1}
.trophy-mark[data-emissive=true] .trophy-emoji-stack{filter:brightness(1.5) drop-shadow(0 0 4px var(--emissive-color)) drop-shadow(0 0 9px var(--emissive-color))}.talisman-wrap:has([data-emissive=true])>.talisman-rays{filter:brightness(var(--rare-glow,1)) blur(2px) drop-shadow(0 0 12px var(--talisman-back-glow))}
.level-transmutation{--level-color:var(--accent,#a4e7de);position:fixed;z-index:1500;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1rem;pointer-events:none;color:var(--level-color);background:radial-gradient(circle,#060b12d9,transparent 65%);animation:level-veil 2.4s both;font:600 12px ui-monospace,monospace;text-align:center;isolation:isolate}.level-transmutation-loss{--level-color:#ff667f}.level-transmutation p{max-width:80vw;letter-spacing:.15em;text-shadow:0 0 15px currentColor}.level-numbers{position:relative;width:240px;height:160px;font:700 140px/1 ui-monospace,monospace;text-shadow:0 0 30px currentColor}.level-numbers span{position:absolute;inset:0;display:grid;place-items:center}.level-old{animation:level-unbind 2.4s both}.level-new{animation:level-bind 2.4s both}.level-sigil{position:absolute;width:min(80vw,360px);aspect-ratio:1;z-index:-1;border:2px solid currentColor;border-radius:50%;box-shadow:0 0 30px currentColor,inset 0 0 20px currentColor;outline:1px dashed currentColor;outline-offset:16px;animation:level-ring 2.4s both}.level-transmutation b{position:absolute;left:50%;top:50%;width:3px;height:3px;background:currentColor;box-shadow:0 0 8px currentColor;transform:rotate(var(--a)) translateX(var(--d));animation:level-spark 2.4s both}.level-transmutation-loss .level-sigil{border-style:dashed;animation-direction:reverse}@keyframes level-veil{0%,100%{opacity:0}12%,85%{opacity:1}}@keyframes level-unbind{0%,20%{opacity:1;filter:none}45%{opacity:0;filter:blur(8px);transform:scale(1.3) skewX(25deg)}100%{opacity:0}}@keyframes level-bind{0%,35%{opacity:0;transform:scale(.6);filter:blur(15px)}65%,100%{opacity:1;transform:scale(1);filter:none}}@keyframes level-ring{from{transform:rotate(-35deg) scale(.7)}65%{transform:rotate(25deg) scale(1.05)}to{transform:rotate(45deg) scale(1.1)}}@keyframes level-spark{0%,20%{opacity:0}40%{opacity:1;scale:1}90%,100%{opacity:0;scale:2}}@media(prefers-reduced-motion:reduce){.level-transmutation,.level-transmutation *{animation:none!important}.level-old{display:none!important}.level-new{opacity:1}}
.level-transmutation[popover]{margin:0;width:100dvw;height:100dvh;max-width:none;max-height:none;padding:0;border:0;overflow:hidden}
/* Reliquary workspace: records occupy the upper quarter; the wheel owns the rest. */
body:has(.talisman-case){height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}
body:has(.talisman-case)>header,body:has(.talisman-case)>.operator-strip{flex:none}
body:has(.talisman-case)>main{flex:1;min-height:0;width:100%;max-width:none;box-sizing:border-box;margin:0;padding:12px clamp(12px,3vw,36px) max(12px,env(safe-area-inset-bottom));display:flex;flex-direction:column}
body:has(.talisman-case)>footer{display:none}
.talisman-case{width:100%;max-width:none;flex:1;min-height:0;margin:0;display:flex;flex-direction:column;gap:12px}
.case-top{flex:0 0 25%;min-height:100px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;overflow:hidden}
.case-intro{min-width:0;min-height:0;overflow:auto;padding:4px 8px}
.case-intro h1{font-size:clamp(26px,3vw,40px);line-height:1.1;margin:0 0 8px}.case-intro .eyebrow{margin:0 0 6px;font-size:10px}.case-intro p{margin:6px 0;font-size:12px}.case-intro p:empty{display:none}
#case-active-flights{display:flex;gap:6px;flex-wrap:wrap}#case-active-flights:empty{display:none}#case-active-flights .button{font-size:11px;padding:8px 10px}
.case-records{min-width:0;min-height:0;overflow:hidden;margin:0;padding:10px 14px;display:flex;flex-direction:column}
.case-records>summary{font-size:16px;font-weight:600;color:var(--accent);cursor:default;list-style:none;flex:none}.case-records>summary::-webkit-details-marker{display:none}
.case-records-content{overflow:auto;min-height:0;font-size:11px;max-height:calc(100% - 25px);padding-top:6px;overscroll-behavior:contain}
.case-records #portal-personal{display:grid;grid-template-columns:1fr 1fr;gap:8px}.case-records .portal-personal-record{margin:0;padding:7px;font-size:11px}.case-records .portal-personal-record p{margin:5px 0 0}.case-records .portal-board-grid{gap:12px;grid-template-columns:1fr 1fr}.case-records h3{font-size:12px;margin:10px 0 4px}.case-records ol{margin:0;padding-left:18px;line-height:1.4}.case-records .portal-board-grid li{padding:4px 0}
.case-display{position:relative;flex:1;min-height:0}.case-display>.case-viewport{height:100%;min-height:0;width:100%;box-sizing:border-box}
.case-display>#case-empty{position:absolute;inset:70px 20px auto;text-align:center;pointer-events:none;font-size:13px}
.case-viewport>.case-sort{position:absolute;top:12px;left:12px;z-index:12;margin:0;padding:6px;border:1px solid color-mix(in srgb,var(--accent),transparent 65%);border-radius:8px;background:color-mix(in srgb,var(--panel) 92%,transparent);box-shadow:0 4px 18px #0005;backdrop-filter:blur(8px)}
.case-sort select{max-width:min(240px,65vw);min-height:36px;padding:6px 10px;color:var(--ink);background:var(--panel);border:1px solid var(--border);border-radius:4px;font:inherit;font-size:12px}
@media(min-width:701px){.case-records>summary{pointer-events:none}}
@media(max-width:700px){
 body:has(.talisman-case)>header{padding-top:max(10px,env(safe-area-inset-top));padding-bottom:10px}body:has(.talisman-case)>header nav{margin-top:8px;row-gap:2px}
 body:has(.talisman-case)>main{padding-top:8px}.talisman-case{gap:8px}.case-top{flex:0 0 auto;max-height:45%;min-height:0;grid-template-columns:1fr;gap:8px}.case-intro{padding:0 4px;max-height:135px}.case-intro h1{font-size:26px;margin-bottom:4px}.case-intro .eyebrow{font-size:8px}.case-intro p{font-size:11px;margin:4px 0}.case-records{padding:9px 12px}.case-records>summary{cursor:pointer;font-size:14px;list-style:disclosure-closed}.case-records[open]>summary{list-style:disclosure-open}.case-records-content{max-height:140px}.case-viewport>.case-sort{top:10px;left:10px;padding:4px}.case-sort select{font-size:11px}
}
body:has(.talisman-case)>.operator-strip{margin:0 auto;padding:4px 18px;min-height:0}
.talisman-editor-previews{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 24px}.talisman-editor-previews article{min-width:0;border:1px solid var(--border);border-radius:8px;padding:12px;text-align:center}.talisman-editor-previews h3{margin:0 0 6px;font-size:14px}.talisman-editor-flat,.talisman-editor-model{height:230px;position:relative;isolation:isolate;display:grid;place-items:center}.talisman-editor-flat>.talisman-wrap{width:160px;height:160px}.talisman-editor-flat .trophy-mark{width:130px;height:130px;font-size:64px}.talisman-editor-model{touch-action:none;cursor:grab}.talisman-editor-model.dragging{cursor:grabbing}.talisman-editor-model>canvas.stone-talisman-canvas{position:absolute;inset:0;width:100%;height:100%}.talisman-editor-model:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}.talisman-editor-previews button{font-size:11px;padding:8px 12px}.talisman-editor-previews p{font-size:10px;min-height:1em}@media(max-width:500px){.talisman-editor-previews{gap:8px}.talisman-editor-previews article{padding:8px}.talisman-editor-flat,.talisman-editor-model{height:180px}.talisman-editor-flat>.talisman-wrap{width:130px;height:130px}.talisman-editor-flat .trophy-mark{width:100px;height:100px;font-size:48px}}
[data-page=trophies] .trophy-config-row{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}[data-page=trophies] .trophy-config-row label{min-width:0;overflow-wrap:anywhere}[data-page=trophies] .trophy-config-row input,[data-page=trophies] .trophy-config-row select{width:100%;min-width:0;max-width:100%}[data-page=trophies] .trophy-form>label{display:block;min-width:0}[data-page=trophies] .trophy-form>label.check{display:flex}[data-page=trophies] .trophy-form>label>select{max-width:100%;white-space:normal}[data-page=trophies] .trophy-form>p{overflow-wrap:anywhere}

.game-item-slot.spent{opacity:.45;filter:grayscale(1)}

.talisman-preview-anchor{display:flow-root}.talisman-preview-handle{display:none;grid-column:1/-1;touch-action:none;cursor:move}
.talisman-editor-previews.is-floating{position:fixed;z-index:80;right:16px;top:80px;width:min(440px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow:auto;margin:0;padding:10px;gap:8px;border:1px solid var(--accent);border-radius:12px;background:var(--panel,#191823);box-shadow:0 8px 30px #0008}
.talisman-editor-previews.is-floating .talisman-preview-handle{display:block}.talisman-editor-previews.is-floating .talisman-editor-flat,.talisman-editor-previews.is-floating .talisman-editor-model{height:160px}.talisman-editor-previews.is-floating article{padding:6px}
.portal-new-record{display:inline-block;color:var(--accent,#c6a0f3);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-shadow:0 0 5px currentColor,0 0 14px currentColor;animation:portal-record-reveal 1.2s cubic-bezier(.15,.8,.2,1) both,portal-record-glow 2s 1.2s ease-in-out 2}
.exchange-themes{margin-top:24px}.exchange-theme-list{display:grid;gap:12px}.exchange-theme-list .exchange-theme{display:block;min-width:0;width:100%;min-height:76px;padding:14px 18px;overflow:hidden;text-align:left;animation:none!important}.exchange-theme-face{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:8px 6px;min-height:44px}.exchange-theme-face strong{font-weight:700;font-size:1.1rem}.exchange-theme-face>span{font-size:.8rem;white-space:nowrap}.exchange-theme-list .exchange-theme[data-owned=true]{filter:grayscale(1);opacity:.48;cursor:default}.exchange-theme-list .exchange-theme:focus-visible{outline:3px solid var(--accent);outline-offset:3px}@media(max-width:420px){.exchange-theme-face{padding:8px 0;gap:8px}.exchange-theme-face strong{font-size:1rem}.exchange-theme-face>span{white-space:normal;text-align:right;font-size:.75rem}}
@keyframes portal-record-reveal{0%{opacity:0;transform:translateY(8px) scale(1.5);filter:brightness(3) blur(3px)}45%{opacity:1;transform:translateY(-2px) scale(1.06);filter:brightness(1.8) blur(0)}100%{opacity:1;transform:none;filter:brightness(1)}}
@keyframes portal-record-glow{50%{text-shadow:0 0 9px currentColor,0 0 23px currentColor;filter:brightness(1.5)}}
@media(prefers-reduced-motion:reduce){.portal-new-record{animation:none}}.stabilized .portal-new-record{animation:none}
.settings-theme-picker{display:flex;width:100%;margin-top:8px;min-height:52px}.settings-theme-dialog{width:min(620px,calc(100vw - 24px));max-height:85dvh;overflow:auto}.settings-theme-dialog .exchange-theme-list{margin-bottom:20px}.settings-theme-dialog .exchange-theme[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:3px}
.operator-identity .player-points,.operator-identity .player-stars,.operator-identity .particulate-counter{display:inline-block;flex-shrink:0;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}.operator-identity .player-points{width:24ch}.operator-identity .player-stars{width:17ch}.operator-identity .particulate-counter{width:16ch}.operator-identity .player-level{display:inline-block;min-width:6ch;font-variant-numeric:tabular-nums}
.portal-entrance{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}.portal-stage[data-entrance=ready] #portal-menu{background:linear-gradient(145deg,#0c1629d9,#070c18df)}
.tour-panel .tour-plain,.tutorial-translation{font-size:.8rem!important;color:#a7a1b5!important;opacity:1!important;border-left:2px solid #777083;padding-left:12px}.practice-tutorial{width:min(760px,calc(100vw - 20px));max-height:94dvh;overflow:auto;padding:clamp(16px,4vw,30px);border:1px solid var(--accent);border-radius:9px;background:var(--panel);color:var(--ink)}.practice-tutorial::backdrop{background:#02050bd9;backdrop-filter:blur(5px)}.practice-tutorial h2{font-size:clamp(24px,4vw,32px)}.practice-tutorial p{line-height:1.5}.tutorial-playground{margin:16px 0}.tutorial-tools,.tutorial-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.tutorial-word{display:flex;justify-content:center;gap:4px;min-height:60px;padding:5px}.tutorial-letters{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:4px;margin:14px 0}.tutorial-letters .letter{width:100%;height:clamp(42px,8vw,60px);padding:0}.tutorial-highlight{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 14px color-mix(in srgb,var(--accent) 55%,transparent)}.tutorial-found{display:flex;flex-wrap:wrap;gap:5px;margin-top:15px}.tutorial-feedback{min-height:1.5em;color:var(--accent);font-size:.85rem}.portal-practice-arena{position:relative;height:clamp(210px,38dvh,380px);overflow:hidden;background:#02050b;border:1px solid var(--border);border-radius:6px;touch-action:none}.portal-practice-arena canvas{width:100%;height:100%;display:block;touch-action:none}.portal-practice-meters,.portal-practice-prompt{position:absolute;top:8px;left:8px;right:8px;padding:6px;background:#000b;color:white;font-size:12px;pointer-events:none}.portal-practice-prompt{top:auto;bottom:6px;color:var(--accent)}.portal-practice-pad{display:flex;justify-content:center;gap:10px;margin-top:8px;touch-action:none}.portal-practice-pad button{min-width:48px;min-height:44px;touch-action:none}.portal-practice-card{padding:18px;border:1px solid var(--accent);border-radius:8px}.portal-practice-card>div{display:flex;justify-content:space-between;gap:12px;margin:8px 0}.tutorial-rewinding{filter:hue-rotate(25deg) contrast(1.3);animation:tutorial-rewind .12s steps(2) infinite}.tutorial-rewinding:after{content:'◀◀';position:absolute;inset:0;display:grid;place-items:center;color:white;font-weight:bold;background:repeating-linear-gradient(transparent 0 3px,#bdb5ff20 4px 6px);pointer-events:none}@keyframes tutorial-rewind{50%{transform:translateX(2px);filter:hue-rotate(-25deg) contrast(1.5)}}@media(prefers-reduced-motion:reduce){.tutorial-rewinding{animation:none;transform:none}}
.lesson-relics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.lesson-relic{display:flex;flex-direction:column;gap:10px!important;min-width:0;padding:14px 8px!important;font-size:12px!important}.lesson-relic-mark{display:grid;place-items:center;width:70px;max-width:100%;height:80px;background:linear-gradient(135deg,#777,var(--stone),#171923);box-shadow:0 0 18px var(--stone);font-size:36px;border-radius:10px}.lesson-relic-mark[data-shape=circle]{border-radius:50%}.lesson-relic[aria-pressed=true]{outline:3px solid var(--accent);outline-offset:2px}.lesson-relic>span:last-child{font-size:10px;color:var(--muted)}
.practice-tutorial .tutorial-translation{color:color-mix(in srgb,var(--ink) 75%,#a7a1b5)!important}
.brand-domain{font-size:.6667em;color:color-mix(in srgb,var(--accent) 45%,var(--muted));margin-left:.18em;letter-spacing:.08em;font-weight:500}.brand-word small{font-size:7px;letter-spacing:.85px}
.portal-replay-viewer{width:min(1280px,100vw);height:96dvh;max-width:100vw;max-height:100dvh;margin:auto;padding:0;border:1px solid var(--accent);background:var(--panel);color:var(--ink);overflow:hidden}.portal-replay-viewer::backdrop{background:#000e}.replay-viewer-tools{display:flex;align-items:center;gap:10px;height:64px;padding:8px 12px}.replay-viewer-tools strong{margin-right:auto}.portal-replay-viewer iframe{display:block;width:100%;height:calc(100% - 64px);border:0;background:#030610}.portal-replay-embedded header,.portal-replay-embedded footer,.portal-replay-embedded .operator-strip,.portal-replay-embedded .portal-lab>h1,.portal-replay-embedded .portal-lab>p,.portal-replay-embedded #portal-again{display:none!important}.portal-replay-embedded main{padding:0;max-width:none}.portal-replay-embedded .portal-stage{position:fixed;inset:0;height:100dvh;min-height:0;border:0;border-radius:0}
.replay-details{display:flex;align-items:center;gap:8px;margin:10px 0}.replay-details>span:last-child{min-width:0;font-size:11px;overflow-wrap:anywhere}.replay-details strong,.replay-details time{display:block}.replay-details time{color:var(--muted);font-size:10px}.replay-icon-rack{position:relative;display:inline-block;width:132px;height:58px;flex:0 0 132px;isolation:isolate}.replay-icon-rack .talisman-wrap{position:absolute;top:7px;width:40px;height:46px;padding:0;pointer-events:none}.replay-icon-rack .trophy-mark{width:40px;height:46px;font-size:25px}.saved-replay-card{padding:12px 0;border-top:1px solid var(--border)}.saved-replay-card>button{padding:6px 9px;margin-left:10px;font-size:10px}#portal-saved-replays{margin-top:20px}.portal-board-grid li{padding-bottom:10px}

.practice-tutorial section>p{white-space:pre-line}.portal-practice-card strong{overflow-wrap:anywhere}

.case-records[open]{display:block;position:relative}.case-records[open]>.case-records-content{height:calc(100% - 32px);max-height:none;overflow-y:auto;padding-bottom:16px;scrollbar-gutter:stable}@media(max-width:700px){.case-records[open]{height:210px;flex:none}.case-records[open]>.case-records-content{height:155px;max-height:155px}.case-top:has(.case-records[open]){max-height:55%}}
.cheat-form{padding:18px;margin:16px 0}.cheat-form label{display:block;margin:10px 0}.cheat-form input,.cheat-form select{max-width:100%;padding:8px}

.profile-reliquary{display:block;position:relative;margin:20px 0;width:100%}.profile-reliquary>.case-viewport{height:clamp(380px,65dvh,700px);min-height:380px}.profile-reliquary #case-empty{position:absolute;top:80px;left:20px;right:20px;text-align:center}.profile-reliquary .case-stone-2d .trophy-emoji-stack{font-size:58px}

.flat-talisman-effects{position:fixed;inset:0;pointer-events:none;z-index:380;overflow:hidden}body:has(#page-veil:not([hidden]):not(.veil-leaving)) .flat-talisman-effects,body:has(#page-veil:not([hidden]):not(.veil-leaving)) .stone-icon-overlay{display:none!important}.flat-talisman-effects canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.ui-loading{position:relative!important;cursor:progress!important}.ui-loading::after{content:'';position:absolute;inset:-5px;border:2px solid transparent;border-top-color:var(--accent);border-right-color:var(--accent);border-radius:50%;pointer-events:none;animation:ui-loading-turn .8s linear infinite}.ui-arriving{animation:ui-arrival .5s ease-out both}@keyframes ui-loading-turn{to{transform:rotate(360deg)}}@keyframes ui-arrival{from{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.ui-arriving{animation:none}.ui-loading::after{animation:none;border-color:var(--accent)}}

.particulate-symbol{display:inline-block;width:1.2em;height:1.2em;flex:none;vertical-align:-.2em;background:currentColor;mask:url('/static/icons/points.svg') center/contain no-repeat;-webkit-mask:url('/static/icons/points.svg') center/contain no-repeat;margin-right:.25em}.lesson-replay{margin:8px auto;display:block;font-size:11px;padding:7px 14px}
.source-pool .source-letter{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.portal-replay-embedded .portal-records,.portal-replay-embedded #portal-saved-replays{display:none!important}
.portal-flight-active>.stone-icon-overlay,.portal-flight-active>.flat-talisman-effects,.portal-replay-embedded>.stone-icon-overlay,.portal-replay-embedded>.flat-talisman-effects{display:none!important}
.portal-replay-timeline{position:absolute;z-index:6;bottom:0;left:0;right:0;display:flex;align-items:center;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#030610e8;color:var(--ink);font-size:12px}.portal-replay-timeline input{flex:1;min-width:0;min-height:32px;accent-color:var(--accent);touch-action:none}.portal-replay-timeline output{font-variant-numeric:tabular-nums;white-space:nowrap}
/* Scroll the details panel itself: its anonymous content wrapper has no percentage height. */
.case-records[open]{display:block;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.case-records[open]>.case-records-content{height:auto;max-height:none;overflow:visible;padding-bottom:16px}.case-records>summary{position:sticky;top:-1px;z-index:2;background:var(--panel);padding-bottom:5px}
@media(max-width:700px){.case-top:has(.case-records[open]){flex:0 0 48%;max-height:none;min-height:210px;grid-template-rows:minmax(60px,.65fr) minmax(100px,1fr)}.case-records[open]{height:auto;min-height:0}.case-records[open]>.case-records-content{height:auto;max-height:none}}
.rainbow-talisman-edge{position:absolute;inset:0;z-index:5;pointer-events:none;background:conic-gradient(#ff5577,#ffaa44,#ffed66,#66ed99,#55ccff,#aa77ff,#ff5577);mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat;filter:brightness(1.5);animation:rainbow-stone 8s linear infinite}@keyframes rainbow-stone{to{filter:hue-rotate(360deg) brightness(1.5)}}@media(prefers-reduced-motion:reduce){.rainbow-talisman-edge{animation:none}}.stabilized .rainbow-talisman-edge{animation:none}

.letter-count-popup .letter-count-found{color:#83e7a5}.letter-count-popup .letter-count-remaining{color:#ff8c94}

/* Flat collection mode keeps its reserve stacks visibly behind the front stone. */
.case-stone-2d{z-index:1}.case-flat-stacks{z-index:0}
.case-flat-stacks i{border-color:color-mix(in srgb,var(--stone,var(--accent)),#17212a 38%);background:linear-gradient(180deg,color-mix(in srgb,var(--stone,var(--accent)),#17212a 30%),color-mix(in srgb,var(--stone,var(--accent)),#17212a 72%))}

/* Low graphics: three plain, edge-on talisman stacks.  Keep them level and
   directly beneath the face; the texture is the same shared stone atlas. */
.case-stone-2d::before,.case-stone-2d::after,.case-reserve-top{display:none}
.case-flat-stacks{display:flex;position:absolute;left:50%;top:103px;width:0;height:0;z-index:0;pointer-events:none}
.case-flat-stacks i{position:absolute;left:0;width:116px;height:19px;transform:translateX(-50%);border:1px solid color-mix(in srgb,var(--stone,var(--accent)),#17212a 30%);border-radius:2px;background-image:repeating-linear-gradient(to bottom,#0000 0 1px,#0008 2px 3px),linear-gradient(color-mix(in srgb,var(--stone,var(--accent)),#17212a 20%),color-mix(in srgb,var(--stone,var(--accent)),#17212a 58%)),url('/static/materials/pixar-stone-color-4821c4814611.webp');background-size:auto,auto,232px 232px;background-position:center;filter:brightness(.8);box-shadow:0 4px 7px #0009;opacity:calc(min(var(--case-stack,0),10)*.086)}
.case-flat-stacks i:first-child{top:0;height:19px}
.case-flat-stacks i:nth-child(2){top:8px;height:19px;opacity:calc(max(0,min(var(--case-stack,0) - 10,10))*.086)}
.case-flat-stacks i:last-child{top:16px;height:19px;opacity:calc(max(0,min(var(--case-stack,0) - 20,4))*.215)}
body:not(.case-3d-ready) .case-item-name{position:relative;z-index:3;margin-top:25px}
.case-3d-ready .case-flat-stacks{display:none}.case-3d-ready .case-item-name{margin-top:0}
.case-flat-stacks{top:80px}
.case-flat-stacks i:first-child,.case-flat-stacks i:nth-child(2),.case-flat-stacks i:last-child{transform:translateX(-50%)}

/* A reserve is an edge-on talisman body, not a control: three contiguous
   rectangular stacks stand in for the two tens and four-cap visible in 3D. */
.case-flat-stacks{top:74px}
.case-flat-stacks i{width:116px;height:22px;transform:translateX(-50%);border:2px solid var(--stone);border-radius:0;background-image:linear-gradient(color-mix(in srgb,var(--stone) 72%,transparent),color-mix(in srgb,var(--stone) 34%,#101820)),url('/static/materials/pixar-stone-color-4821c4814611.webp');background-size:auto,232px 232px;background-position:center;filter:brightness(.8);box-shadow:0 1px 8px color-mix(in srgb,var(--stone) 42%,transparent);opacity:clamp(0,var(--case-stack),1)}
.case-flat-stacks i:first-child{top:0;height:22px}
.case-flat-stacks i:nth-child(2){top:22px;height:22px;opacity:clamp(0,calc(var(--case-stack) - 10),1)}
.case-flat-stacks i:last-child{top:44px;height:22px;opacity:clamp(0,calc(var(--case-stack) - 20),1)}
body:not(.case-3d-ready) .case-item-name{margin-top:47px}

/* The low-mode reserve has the same simple physical arrangement as the 3D
   scene: two ten-slice piles on the shelf and a four-slice cap above them. */
.case-flat-stacks{top:112px}
.case-flat-stacks i,.case-flat-stacks i:first-child,.case-flat-stacks i:nth-child(2),.case-flat-stacks i:last-child{top:0;left:0;width:52px;height:6px;transform:translate(var(--flat-x),var(--flat-y));border:1px solid var(--stone);border-radius:0;background-image:linear-gradient(color-mix(in srgb,var(--stone) 72%,transparent),color-mix(in srgb,var(--stone) 34%,#101820)),url('/static/materials/pixar-stone-color-4821c4814611.webp');background-size:auto,232px 232px;background-position:center;filter:brightness(.8);box-shadow:0 1px 5px color-mix(in srgb,var(--stone) 38%,transparent);opacity:1}

/* 50% taller slices, each as wide as the 2D circle body. */
.case-flat-stacks i,.case-flat-stacks i:first-child,.case-flat-stacks i:nth-child(2),.case-flat-stacks i:last-child{width:110px;height:9px;transform:translate(var(--flat-x),var(--flat-y));opacity:1}

/* The fusion is a centered, full-screen event rather than a small sparkle. */
.portal-fusion-glow{width:min(84vw,980px)}
.portal-fusion-ember{width:7px;height:7px;box-shadow:0 0 16px var(--particle-color),0 0 42px color-mix(in srgb,var(--particle-color),transparent 35%);animation-duration:1.5s}
.portal-fusion-fog{width:58px;height:58px;filter:blur(7px);animation-duration:1.8s}
@keyframes portal-fusion-ember{from{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(calc(-50% + var(--particle-x)),calc(-50% + var(--particle-y))) scale(.12)}}
@keyframes portal-fusion-fog{from{opacity:.7;transform:translate(-50%,-50%) scale(.3)}to{opacity:0;transform:translate(calc(-50% + var(--particle-x)*.48),calc(-50% + var(--particle-y)*.48)) scale(2.9)}}

.cheat-reward-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:.65rem;max-height:24rem;overflow:auto;padding:.75rem 0}.cheat-reward-grid label{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.cheat-reward-grid input{width:5rem;min-height:44px}.item-reveal-model{position:relative;width:min(65vw,280px);height:min(65vw,280px);margin:0 auto;z-index:1}.item-reveal-model canvas{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated}.item-reveal-fallback{display:block;font-size:7rem;line-height:2.3;text-align:center;color:var(--accent)}.item-reveal-fallback[hidden]{display:none}.item-reveal-quantity{font-size:1.6rem;color:var(--accent);margin:.25rem}.item-reveal .talisman-reveal-scene{--talisman-back-glow:var(--accent);background:radial-gradient(ellipse at 50% 30%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 65%),#0b1117}

.item-reveal{--ink:#edf4f2}.item-reveal-model{isolation:isolate}.item-reveal .item-reveal-model>.talisman-reveal-halo{inset:-10%;width:120%;height:120%;opacity:.6;z-index:-1}.item-reveal button{color:#edf4f2;background:#18232c}.item-reveal .talisman-reveal-description{color:#edf4f2}
.item-reveal .talisman-reveal-scene>button{background:#18232c!important;color:#edf4f2!important;border:1px solid var(--accent);min-height:44px;text-shadow:none!important}
/* A single canvas draws every reward on the current page. */
.item-reveal .talisman-reveal-scene{position:relative;max-height:100dvh;overflow:auto;justify-content:safe center}.reward-grid{width:100%;display:grid;grid-template-columns:1fr;gap:1rem;z-index:1}.reward-card{min-width:0;position:relative;text-align:center}.reward-card h2{margin:.35rem 0}.reward-card .item-reveal-quantity{display:block;position:absolute;right:8%;top:8%;z-index:3;padding:.25rem .6rem;border:2px solid var(--accent);border-radius:.35rem;background:#0b1117;font-size:clamp(1.4rem,4vw,2.1rem);color:#fff;box-shadow:0 0 18px #000}.reward-shared-canvas{position:absolute;inset:0;pointer-events:none;z-index:2}.reward-shared-canvas canvas{width:100%;height:100%;position:absolute;inset:0}.reward-page-status,.reward-rarity{color:#dce7ed;font-size:.85rem}.reward-batch .talisman-reveal-scene{width:min(96vw,1000px);padding:18px 16px}.reward-batch .reward-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.reward-batch .item-reveal-model{width:min(29vw,190px);height:min(29vw,190px)}.reward-batch .reward-card h2{font-size:clamp(16px,3vw,25px)}.reward-batch .talisman-reveal-description{font-size:12px;line-height:1.35;margin:5px 0}.reward-batch .reward-card .item-reveal-quantity{right:0;top:0;font-size:clamp(18px,3vw,28px)}.reward-batch .item-reveal-fallback{font-size:clamp(38px,12vw,90px);line-height:1.8}.reward-batch .eyebrow{margin-bottom:12px}.item-reveal .talisman-reveal-scene>button{position:relative;z-index:3}.reward-rarity{margin:.35rem 0}@media(prefers-reduced-motion:reduce){.item-reveal .talisman-reveal-halo{animation:none}}
/* Shared reward cards retain talisman particles in front of and behind the model. */
.reward-shared-canvas>.talisman-effect-canvas--behind{z-index:0}.reward-shared-canvas>.stone-talisman-canvas{z-index:1}.reward-shared-canvas>.talisman-effect-canvas--front{z-index:2}.exchange-model-preview{width:120px;height:120px;display:grid;place-items:center;position:relative;margin:auto}.exchange-model-surface{position:fixed;inset:0;pointer-events:none;z-index:3}.exchange-model-surface canvas{position:absolute;inset:0;width:100%;height:100%}.talisman-reveal-mark>.talisman-count{min-width:58px;height:auto;min-height:44px;padding:8px 12px;right:-12px;top:-10px;font-size:clamp(22px,4vw,34px);border-width:2px;border-radius:8px;color:#fff;background:#0b1117;line-height:1.2;box-shadow:0 0 18px #000,0 0 12px var(--trophy-glow)}
body[data-graphics-quality=low] .exchange-model-preview{width:44px;height:44px;margin:0}
.source-letter.ghost-blocked{opacity:.48;filter:saturate(.45);border-color:color-mix(in srgb,var(--accent) 70%,#fff);box-shadow:inset 0 0 16px color-mix(in srgb,var(--accent) 28%,transparent)}.source-letter.ghost-blocked::after{content:'⌁';position:absolute;inset:0;display:grid;place-items:center;color:var(--accent);font-size:28px;text-shadow:0 0 12px var(--accent);pointer-events:none}.signal-ghost.ghost-blocking-route{animation:none!important;opacity:.94;z-index:410;transition:none!important}.ghost-mischief-flyby{position:fixed;z-index:420;width:46px;height:46px;pointer-events:none;border-radius:50%;translate:-50% -50%;background:radial-gradient(circle at 38% 30%,#fff9 0 5%,var(--ghost-color) 27%,color-mix(in srgb,var(--ghost-color) 38%,transparent) 64%,transparent 72%);filter:drop-shadow(0 0 10px var(--ghost-color));animation:none;opacity:.95}.ghost-mischief-flyby::before{content:'◉';position:absolute;inset:0;display:grid;place-items:center;color:#071014bb;font-size:24px;line-height:1;text-shadow:13px 0 #071014bb}.source-letter.ghost-vanished{opacity:0!important;transform:scale(.68)!important;pointer-events:none;transition:opacity .22s,transform .22s}
/* Ritual channels remain mounted so readings and inscriptions stay current. */
.signal-shell{grid-template-columns:minmax(0,1fr)}
.ritual-dock{position:fixed;right:0;top:28%;z-index:850;display:flex;flex-direction:column;align-items:flex-end;gap:6px;max-width:min(290px,72vw);pointer-events:none}
.ritual-dock>*,.ritual-dock button{pointer-events:auto}
.ritual-dock .dock-button{display:block;position:static;writing-mode:horizontal-tb;max-width:150px;padding:10px 12px;min-height:44px;border-radius:6px 0 0 6px;font-size:10px;background:var(--bg);color:var(--accent);border-color:var(--accent)}
.augur-bubbles{display:flex;flex-direction:column;align-items:flex-end;gap:8px;max-height:30dvh;overflow:auto;padding:6px}
.augur-bubble{text-align:left;display:block;max-width:270px;padding:12px;border-radius:14px 14px 2px 14px;background:color-mix(in srgb,var(--accent) 16%,var(--bg));color:var(--ink);border:1px solid var(--accent);box-shadow:0 3px 18px #0003;font-size:12px;line-height:1.6}
.ritual-side-card{position:fixed;inset:0 0 0 auto;margin:0;width:min(760px,94vw);max-width:94vw;height:100dvh;max-height:100dvh;padding:56px 20px 24px;background:var(--bg);color:var(--ink);border:1px solid var(--accent);overflow:auto;box-shadow:-20px 0 60px #0007}
.ritual-side-card[open]{animation:side-card-in .24s ease-out}.ritual-side-card::backdrop{background:#02070ab8}
.ritual-side-card>.panel{margin:0;width:100%;max-width:none;position:static;height:auto;translate:none;box-shadow:none}
.ritual-side-card .rarity-rail{display:flex;padding:20px;gap:12px}
.ritual-side-card:has(>.panel:not([hidden]))>.drawer-empty{display:none}
.side-card-close{position:absolute;right:12px;top:10px;min-width:44px;min-height:44px;font-size:24px}
.learning-controls{display:flex;flex-wrap:wrap;gap:12px}.learning-controls h2{width:100%}.learning-controls .button{min-height:44px}
@keyframes side-card-in{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.ritual-side-card[open]{animation:none}}
@media(max-width:700px){.ritual-dock{top:auto;bottom:12px;max-width:100vw;flex-direction:row;flex-wrap:wrap;justify-content:flex-end;gap:3px}.ritual-dock .dock-button{max-width:110px;font-size:9px;padding:8px;min-height:44px;border-radius:4px}.augur-bubbles{width:100%;max-height:18dvh}.augur-bubble{max-width:min(330px,86vw);font-size:11px}body:has(.ritual-dock) main{padding-bottom:180px}}
/* Narrow edge tabs leave the letter bank clear at every viewport width. */
body:has(.ritual-dock) main{padding-right:60px}
.ritual-dock{top:50%;bottom:auto;transform:translateY(-50%);right:0;width:44px;max-width:44px;max-height:calc(100dvh - 24px);flex-direction:column;flex-wrap:nowrap;gap:4px;align-items:stretch}
.dock-entry{position:relative;flex:none}.dock-entry[hidden]{display:none}
.ritual-dock .dock-button{display:flex;align-items:center;justify-content:center;gap:6px;position:static;writing-mode:vertical-rl;text-orientation:mixed;width:44px;min-width:44px;height:auto;min-height:72px;max-height:126px;padding:10px 8px;font-size:11px;letter-spacing:.6px;line-height:1.3;border-radius:5px 0 0 5px;white-space:nowrap}
.signal-level-symbol{display:inline-block;width:20px;height:20px;flex:none;background:currentColor;mask:url('/static/icons/signal-level.svg') center/contain no-repeat;-webkit-mask:url('/static/icons/signal-level.svg') center/contain no-repeat;color:var(--tier-color,var(--accent))}
.ritual-notices{position:fixed;right:52px;top:0;width:min(310px,calc(100vw - 68px));pointer-events:none}
.ritual-notice{display:flex;align-items:flex-start;position:fixed;right:52px;width:min(310px,calc(100vw - 68px));opacity:0;visibility:hidden;transition:top .24s ease,opacity .3s ease;pointer-events:none;background:color-mix(in srgb,var(--accent) 12%,var(--bg));color:var(--ink);border:1px solid var(--accent);border-radius:12px 12px 2px 12px;box-shadow:0 4px 22px #0005;max-height:min(60dvh,360px);overflow:visible}
.notice-connector{position:fixed;z-index:0;height:1px;padding:0;margin:0;background:var(--accent);box-shadow:0 0 6px var(--accent);opacity:.82;transform-origin:0 50%;pointer-events:none}
.notice-connector::after{content:'';position:absolute;right:-2px;top:-2px;width:4px;height:4px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px var(--accent)}
.ritual-notice.notice-visible{opacity:1;visibility:visible;pointer-events:auto}.ritual-notice.notice-leaving{opacity:0;pointer-events:none}
.ritual-notice .notice-body{display:block;position:relative;z-index:1;flex:1;min-width:0;max-width:none;white-space:normal;text-align:left;margin:0;padding:14px 8px 14px 14px;background:transparent;border:0;box-shadow:none;color:var(--ink);font-size:12px;line-height:1.6;border-radius:12px;overflow:auto;max-height:inherit}
.ritual-notice .notice-close{position:relative;z-index:1;flex:none;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border:0;background:transparent;color:var(--accent);font-size:26px;line-height:1}
.notice-icon{float:left;margin:0 10px 5px 0;font-size:32px;line-height:1.2;color:var(--accent)}
.ritual-side-card.tour-preview[open]{animation:none!important;transition:none!important;transform:none!important}
.ritual-side-card.tour-preview{z-index:0}.initiation:has(.tour-preview) .tour-spot{transition:none}
.weather-in-drawer .ritual-grid{grid-template-columns:minmax(0,1fr)}
#weather-card-card .weather-card{display:block;min-width:0;max-width:none;width:100%;height:auto;margin:0;padding:20px}
#weather-card-card .weather-body{display:block;grid-template-rows:1fr;opacity:1;max-height:none;visibility:visible}
#weather-card-card .weather-icon{display:block}#weather-card-card .weather-chevron,#weather-card-card .weather-compact{display:none}
#weather-card-card .weather-toggle{cursor:default;opacity:1}#weather-card-card .weather-card h2{max-width:none}
#weather-card-card .drawer-empty{display:none}
@media(max-height:650px){.ritual-dock .dock-button{min-height:54px;max-height:100px;padding:7px 6px;font-size:10px}}
@media(max-width:700px){body:has(.ritual-dock) main{padding-bottom:30px;padding-right:56px}.ritual-dock .dock-button{font-size:10px;min-height:66px;max-height:112px}.ritual-dock{gap:3px}.ritual-side-card{padding:56px 12px 20px}.ritual-notice .notice-body{font-size:11px}}
@media(prefers-reduced-motion:reduce){.ritual-notice{transition:none}}
.ritual-dock{inset:0 0 0 auto;top:0;bottom:0;height:100dvh;max-height:none;transform:none;justify-content:center}
.operator-identity .player-points,.operator-identity .player-stars,.operator-identity .particulate-counter{display:inline-flex;align-items:center;justify-content:flex-end;gap:3px;width:auto;min-width:6ch;font-size:12px;line-height:1.3}
.operator-identity #particulate-balance{font-size:inherit}.operator-identity .player-points::before,.operator-identity .player-stars::before{content:'';display:inline-block;width:1.2em;height:1.2em;flex:none;background:currentColor;margin-right:.25em}
.operator-identity .player-points::before{mask:url('/static/icons/particulate.svg') center/contain no-repeat;-webkit-mask:url('/static/icons/particulate.svg') center/contain no-repeat}
.operator-identity .player-stars::before{mask:url('/static/icons/astral.svg') center/contain no-repeat;-webkit-mask:url('/static/icons/astral.svg') center/contain no-repeat}
@media(max-height:500px){.ritual-dock .dock-button{font-size:9px;min-height:44px;max-height:calc((100dvh - 36px)/5);padding:7px 6px;overflow:hidden}}
.stabilized .ritual-notice{transition:none}
.operator-identity .particulate-symbol{font-size:inherit}
.ritual-notice .notice-close{font-size:32px}
/* Reserve changing totals so reward animation never shifts adjacent counters. */
.operator-identity .player-points{width:16ch}.operator-identity .player-stars{width:10ch}.operator-identity .particulate-counter{width:15ch}
/* Original, all-ages Halloween scenery and warm lantern-lit controls. */
body[data-special-theme=halloween]{--bg:#0d131d;--panel:#181c27;--ink:#eae1cf;--muted:#baadc5;--accent:#f6b55a;--border:#725842;--tone:#b08bc8;--gold:#f7c67b;background:#0b111c;color:var(--ink)}
body[data-special-theme=halloween]>.fog,body[data-special-theme=halloween]>.ambient{display:none}
.halloween-scene{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.halloween-scene canvas{width:100%;height:100%;display:block}
body[data-special-theme=halloween]>:is(main,footer,.operator-strip){position:relative;z-index:2}
/* Navigation must stay above the themed page's independent stacking contexts. */
body[data-special-theme=halloween]>header.site-header{position:relative;z-index:20000}
body[data-special-theme=halloween] .panel,body[data-special-theme=halloween] .account-panel{background:color-mix(in srgb,var(--panel) 89%,transparent);border-color:var(--border);box-shadow:inset 0 0 28px #b8772212,0 12px 32px #08081744}
body[data-special-theme=halloween] :is(button,.button){background:linear-gradient(160deg,color-mix(in srgb,var(--panel) 85%,#b96c23),var(--panel));color:var(--accent);border-color:var(--accent);border-radius:9px 2px 9px 2px;box-shadow:inset 0 0 10px #ef9d2c15;font-family:Georgia,serif;letter-spacing:.055em}
body[data-special-theme=halloween] :is(button,.button):hover{box-shadow:0 0 14px #ed9f3e66,inset 0 0 12px #f6b55a22}
body[data-special-theme=halloween] :is(h1,h2,h3){font-family:Georgia,serif;text-shadow:0 0 18px #edb45824}
body[data-special-theme=halloween] :is(input,select,textarea){background:var(--panel);color:var(--ink);border-color:var(--border)}
body[data-special-theme=halloween] .letter{background:color-mix(in srgb,var(--panel) 87%,#805f9a);border-color:var(--accent);color:var(--ink)}
body[data-special-theme=halloween][data-mode=light]{--bg:#c7bacb;--panel:#e3d9df;--ink:#2d2333;--muted:#5d4d63;--accent:#8c4211;--border:#866879;--tone:#775b8a;--gold:#895220;background:#756178}
@media(prefers-color-scheme:light){body[data-special-theme=halloween]:not([data-mode=dark]){--bg:#c7bacb;--panel:#e3d9df;--ink:#2d2333;--muted:#5d4d63;--accent:#8c4211;--border:#866879;--tone:#775b8a;--gold:#895220;background:#756178}}
.halloween-pumpkin{width:120px;height:112px;margin:0 auto 12px;background:url('/static/icons/halloween-pumpkin.svg') center/contain no-repeat;filter:drop-shadow(0 0 22px #f2a33e66)}
.halloween-acquired,.sound-pack-manager{width:min(720px,calc(100vw - 24px));max-height:92dvh;overflow:auto;background:var(--bg);color:var(--ink);border:1px solid var(--accent);padding:24px;border-radius:12px}
.halloween-acquired::backdrop,.sound-pack-manager::backdrop{background:#050711c9}.halloween-acquired{text-align:center}.halloween-acquired button{min-height:44px;margin:8px}.halloween-acquired p{line-height:1.6}
.sound-pack-manager label{display:block;margin:15px 0}.sound-pack-manager input,.sound-pack-manager select{max-width:100%;min-height:44px;padding:8px;background:var(--panel);color:var(--ink);border:1px solid var(--border)}.sound-pack-manager fieldset{margin:20px 0;display:flex;flex-wrap:wrap;gap:10px}.sound-pack-manager>button{margin:5px;min-height:44px}#sound-packs-open{margin:12px 0 24px;min-height:44px}

body[data-special-theme=halloween] .brand-mark{content:url('/static/icons/halloween-pumpkin.svg');filter:drop-shadow(0 0 8px #ef9d2c88)}
body[data-special-theme=halloween] :is(.brand-name,.brand-word small,.mobile-header-tagline,.operator-tagline){color:var(--ink)}
/* Flight actions remain reachable while either touch stick owns a pointer. */
.portal-spin-button{position:absolute;z-index:7;right:max(16px,env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));display:grid;place-items:center;width:56px;height:56px;min-width:56px;min-height:56px;padding:10px;border:1px solid var(--accent);border-radius:0!important;background:#101c2ded;color:var(--accent);touch-action:manipulation;box-shadow:0 0 14px #0009}
.portal-spin-button svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.portal-spin-button:disabled{opacity:.4}.portal-spin-button[hidden]{display:none}
.portal-rotation-touch i{border-style:dashed;box-shadow:0 0 12px #0006}.portal-rotation-touch b{border-radius:2px;rotate:45deg}
.portal-consumables{position:absolute;z-index:5;bottom:calc(20px + env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));right:88px;width:auto;margin:0;padding:0;pointer-events:none}
.portal-consumables .game-item-slots{display:grid;grid-template-columns:repeat(3,minmax(44px,1fr));justify-items:center;gap:8px;width:100%;margin:0}.portal-consumables .game-item-slot{pointer-events:auto;margin:0}.portal-consumables>p{margin:4px 0 0;text-align:center;min-height:0}.portal-consumables>p:empty{display:none}

.portal-consumables{transform:none;max-width:none}.portal-consumables .game-item-slot{width:44px;height:44px;min-width:44px}
/* Three charge slots plus shield share four equal horizontal centers. */
.portal-consumables{right:calc(25% + 6px)}.portal-consumables .game-item-slots{gap:0}.portal-spin-button{right:calc(12.5% - 19px)}
.flight-theme-form{max-width:760px}.flight-theme-form>label{display:grid;gap:8px;margin:18px 0}.flight-theme-form select{width:100%;min-height:44px}.flight-theme-form .actions{flex-wrap:wrap}
[data-page=flight-theme-admin].panel{padding:clamp(16px,3vw,30px)}
.control-tabs a[href="/control/themes/"][aria-current=page]{background:var(--panel);color:var(--ink);box-shadow:inset 0 -3px var(--accent)}

/* Keep the living sky visible through the ritual instead of an opaque slab. */
body #game .ritual.panel,body #game .weather-card.panel{background:color-mix(in srgb,var(--panel) 55%,transparent);backdrop-filter:none}
.ghost-thought{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);padding:7px 11px;border:1px solid var(--ghost-color,var(--accent));border-radius:18px;background:var(--bg);color:var(--ink);font:600 15px/1.3 monospace;white-space:nowrap;box-shadow:0 3px 14px #0005;pointer-events:auto}
.ghost-thought:after{content:'';position:absolute;top:100%;left:45%;border:6px solid transparent;border-top-color:var(--ghost-color,var(--accent))}
.ghost-theft-flyer .ghost-motion{animation:none!important;transform:none!important}.ghost-theft-particle{position:fixed;z-index:15001;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 9px var(--accent);pointer-events:none}
#hunt-remaining{display:block;font-size:clamp(1rem,1.1vw,1.25rem);font-weight:600;line-height:1.5;margin:12px 0;letter-spacing:.055em;color:var(--ink)}
#hunt-status{display:none}
.signal-ghost.ghost-stealing{visibility:hidden}

/* Ghost messages sit beside the body, clear of its health label and name. */
.signal-ghost .ghost-thought{left:calc(50% + 24px);top:35px;bottom:auto;transform:none;max-width:100px;padding:5px 8px;font-size:14px;line-height:1.2;z-index:6}
.signal-ghost .ghost-thought:after{top:10px;left:-10px;border:5px solid transparent;border-right-color:var(--ghost-color,var(--accent))}

/* A single optional invitation, with room to see the portal around the card. */
.guest-portal-invitation{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:18px;border:0;background:transparent;color:var(--ink);overflow:hidden;isolation:isolate}
.guest-portal-invitation[open]{display:grid;place-items:center}.guest-portal-invitation::backdrop{background:#01040870}
.guest-portal-preview{position:absolute;width:min(970px,98vw);height:min(970px,96dvh);left:50%;top:50%;transform:translate(-50%,-50%) scale(.08);opacity:0;transition:transform 1.25s cubic-bezier(.16,.8,.2,1),opacity .6s;pointer-events:none;z-index:-1;overflow:hidden}
.guest-portal-preview.is-open{transform:translate(-50%,-50%) scale(1);opacity:1}
.guest-portal-window{position:absolute;inset:9% 8% 6%;border-radius:50%;overflow:hidden;background:#030711;box-shadow:0 0 60px color-mix(in srgb,var(--accent) 25%,transparent)}
.guest-portal-window canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.guest-portal-window canvas[hidden]{display:none}.guest-portal-preview>.portal-entrance{position:absolute;inset:0;width:100%;height:100%}
.guest-invitation-card{position:relative;width:min(420px,calc(100vw - 70px));max-height:calc(100dvh - 80px);overflow:auto;padding:22px;background:color-mix(in srgb,var(--panel) 95%,#030710);border:1px solid var(--accent);border-radius:12px;box-shadow:0 12px 55px #000b;text-align:center;font-size:13px;line-height:1.55}
.guest-invitation-card h2{font-size:clamp(19px,4vw,25px);line-height:1.25;margin:10px 0 15px}.guest-invitation-card .eyebrow{font-size:9px;padding:0 18px}.guest-invitation-card p{margin:12px 0}.guest-invitation-close{position:absolute;right:5px;top:5px;width:44px;height:44px;font:27px/1 sans-serif;padding:0;border:0!important;background:transparent!important;box-shadow:none!important}
.guest-invitation-card .guest-privacy{font-size:11px;color:var(--muted)}.guest-invitation-card .guest-existing{font-size:11px;color:var(--muted);margin-bottom:0}.guest-invitation-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.guest-invitation-actions>*{min-height:44px;padding:10px 12px}
.guest-earned{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;max-height:140px;overflow:auto}.guest-earned-cell{display:grid;justify-items:center;position:relative;max-width:92px}.guest-earned-cell small{font-size:9px;line-height:1.3;max-width:90px}.guest-earned-cell b{position:absolute;right:0;top:2px;background:var(--bg);padding:1px 4px;border:1px solid var(--accent);font-size:12px}
.guest-earned-icon{position:relative;display:grid;place-items:center;width:48px;height:48px;min-width:48px;font-size:24px;isolation:isolate;background:transparent}.guest-earned-glyph{position:relative;z-index:2;line-height:1}.guest-falling-talisman{position:absolute;width:46px;height:46px;filter:drop-shadow(0 0 9px #7bc8d87a)}
@media(max-height:650px){.guest-invitation-card{padding:12px 18px;font-size:11px;max-height:calc(100dvh - 30px)}.guest-invitation-card h2{font-size:19px}.guest-invitation-card p{margin:8px 0}.guest-earned-cell small{display:none}.guest-earned-icon{width:36px;height:36px;min-width:36px;font-size:20px}}
@media(prefers-reduced-motion:reduce){.guest-portal-preview{transition:none}.guest-falling-talisman{display:none}}.stabilized .guest-portal-preview{transition:none}.stabilized .guest-falling-talisman{display:none}

.share-preview{width:min(660px,calc(100vw - 24px));max-height:94dvh;overflow:auto;background:var(--panel);color:var(--ink);border:1px solid var(--accent);border-radius:12px;padding:20px;text-align:center}.share-preview::backdrop{background:#02060be6}.share-preview h2{margin:0 0 10px}.share-preview img{display:block;max-width:100%;width:auto;height:auto;max-height:60dvh;aspect-ratio:1;margin:12px auto;border:1px solid var(--border)}.share-preview img[hidden]{display:none}.share-preview .actions{justify-content:center;flex-wrap:wrap}.share-preview .actions>*{min-height:44px}.share-preview [role=status]{font-size:12px;line-height:1.5}
.shared-card-page{max-width:1000px;margin:auto}.shared-card-player{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.shared-card-player h1{font-size:clamp(22px,5vw,36px);overflow-wrap:anywhere}.shared-card-player .trophy-mark{width:50px;height:50px;font-size:25px}.shared-card-totals{border:1px solid var(--border);padding:16px;color:var(--accent);line-height:2}.shared-card-welcome{padding:24px;margin-top:28px}.shared-card-welcome h2{margin-top:0}.shared-card-welcome .actions{flex-wrap:wrap}
.share-adult-option{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;font-size:13px}.share-adult-option[hidden]{display:none}.share-adult-option input{width:20px;height:20px}.share-preview>small{font-size:11px;color:var(--muted);display:block}.share-preview>small[hidden]{display:none}

.guest-portal-preview{mask-image:radial-gradient(ellipse closest-side,#000 0 89%,#000c 94%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse closest-side,#000 0 89%,#000c 94%,transparent 100%)}
/* Match the shared portal's circular projection and feather the scene into its fog. */
.guest-portal-preview{width:min(1000px,max(94vw,84dvh));height:auto;aspect-ratio:1;mask-image:none;-webkit-mask-image:none}
.guest-portal-window{inset:0;border-radius:0;box-shadow:none;mask-image:radial-gradient(ellipse closest-side at 50% 53%,#000 0 75%,#000e 85%,transparent 97%);-webkit-mask-image:radial-gradient(ellipse closest-side at 50% 53%,#000 0 75%,#000e 85%,transparent 97%)}
.guest-invitation-card .particulate-symbol{margin-right:0}

.share-image-viewport{position:relative;width:min(100%,60dvh);aspect-ratio:1;margin:12px auto;overflow:hidden;border:1px solid var(--border);background:var(--panel)}
.share-image-viewport img{width:100%;height:100%;max-height:none;margin:0;border:0;object-fit:contain}
.share-image-static{position:absolute;inset:0;pointer-events:none;opacity:1;transition:opacity .4s ease;background-color:#252b2b;background-image:radial-gradient(circle at 13% 27%,#fff 0 .6px,transparent .9px),radial-gradient(circle at 71% 63%,#fff 0 .7px,transparent 1px),radial-gradient(circle at 41% 81%,#000 0 .7px,transparent 1px),repeating-linear-gradient(0deg,transparent 0 2px,#fff1 3px,transparent 4px);background-size:7px 9px,11px 13px,13px 7px,100% 4px;animation:static-grain .12s steps(2,end) infinite}
.share-image-viewport.ready .share-image-static{opacity:0;animation:none}
.stabilized .share-image-static{animation:none;transition:none}
@media(prefers-reduced-motion:reduce){.share-image-static{animation:none;transition:none}}

.share-render-stage{position:fixed;left:-12000px;top:0;width:1080px;height:1080px;pointer-events:none;contain:strict;visibility:hidden}

.challenge-item .exchange-glyph,.challenge-item strong,.game-item-slot.challenge-item,.challenge-masked-letter{color:#ff5b6d!important;border-color:#d6495c!important}.exchange-card.challenge-item{border-color:#9f3545}.challenge-masked-letter{text-shadow:0 0 10px #df345c55}

/* Text lives with compact game controls; the hit target stays unchanged. */
.ritual .hunt-controls>button{grid-template-rows:minmax(0,1fr) auto;align-items:center}.ritual .hunt-icon{height:auto;max-height:70%}.hunt-icon-label{font:500 clamp(8px,16cqi,11px)/1 var(--mono,inherit);letter-spacing:.04em}.game-item-slot-wrap{display:grid;justify-items:center;align-items:start;gap:4px;min-width:0;flex:1}.game-item-slot-label{display:block;max-width:84px;min-height:2.2em;overflow-wrap:anywhere;text-align:center;font-size:9px;line-height:1.1;color:var(--muted)}.game-item-slots{align-items:start;gap:12px}.portal-consumables .game-item-slot-label{color:#eaf2ff;text-shadow:0 1px 3px #000}.tutorial-account-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:12px 0}.tutorial-account-actions .small{flex-basis:100%;margin:0}
.tutorial-voice{position:relative;isolation:isolate;overflow:hidden;margin:12px 0;padding:12px 15px 12px 73px;min-height:70px;border:1px solid color-mix(in srgb,var(--voice-color) 48%,transparent);border-radius:10px;background:linear-gradient(100deg,color-mix(in srgb,var(--voice-color) 13%,#10151bcc),#090e14ee);box-shadow:inset 0 0 22px color-mix(in srgb,var(--voice-color) 8%,transparent),0 0 14px color-mix(in srgb,var(--voice-color) 12%,transparent)}.tutorial-voice::before{content:'';position:absolute;z-index:-1;left:-10px;bottom:-18px;width:104px;height:104px;background:center/contain no-repeat var(--voice-icon);color:var(--voice-color);opacity:.5;filter:drop-shadow(0 0 10px var(--voice-color));transform:rotate(-7deg)}.tutorial-voice strong{display:block;margin-bottom:5px;font:700 .72rem/1 var(--mono,monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--voice-color);text-shadow:0 0 9px var(--voice-color)}.tutorial-voice p{position:relative;margin:0!important;white-space:pre-line}.tutorial-voice-augur{--voice-color:#ff9b46;--voice-icon:url('/static/icons/tutorial-augur.svg')}.tutorial-voice-guide{--voice-color:#78d9ff;--voice-icon:url('/static/icons/tutorial-guide.svg')}.tutorial-account-actions{margin:18px 0 0}.tutorial-account-tease{flex-basis:100%;margin:0 0 2px;font-family:var(--display,serif);font-size:1.05rem;color:var(--ink)}.practice-tutorial .tutorial-playground>.tutorial-account-actions{display:flex}.practice-tutorial .tutorial-playground>.tutorial-account-actions .small{order:3}.practice-tutorial .tutorial-playground{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.practice-tutorial .tutorial-playground>.tutorial-account-actions{flex-basis:100%}
.tutorial-voice-augur p{font-size:.85rem;line-height:1.5;color:#d8bca7;opacity:1}.tutorial-voice-guide p{font-size:1rem;line-height:1.55;color:#edf5fb;text-shadow:none}.tour-panel .tutorial-voice .tour-plain{display:block!important;padding:0;border:0;font-size:1rem!important;color:#edf5fb!important;opacity:1}.practice-tutorial .tutorial-playground{align-items:flex-start}.practice-tutorial .tutorial-word,.practice-tutorial .tutorial-letters,.practice-tutorial .tutorial-actions,.practice-tutorial .tutorial-found{flex-basis:100%}.practice-tutorial .tutorial-word{order:1;margin:0 0 10px;min-height:64px}.practice-tutorial .tutorial-letters{order:2;margin:0 0 14px}.practice-tutorial .tutorial-actions{order:3}.practice-tutorial .tutorial-found{order:4}.practice-tutorial .tutorial-letters .letter{aspect-ratio:1;width:100%;height:auto;min-height:48px;border:1px solid color-mix(in srgb,var(--accent) 72%,#fff);background:color-mix(in srgb,var(--panel) 85%,#000);color:var(--ink);font-size:clamp(20px,5vw,30px)}.dock-icon{display:inline-block;width:18px;height:18px;flex:0 0 18px;background:center/contain no-repeat}.dock-icon-augur{background-image:url('/static/icons/tutorial-augur.svg');filter:drop-shadow(0 0 6px #ff9b46)}.dock-icon-guide{background-image:url('/static/icons/tutorial-guide.svg');filter:drop-shadow(0 0 6px #78d9ff)}.dock-entry[data-channel=reading]>.dock-button{border-color:#ff9b4688;color:#ffc080;box-shadow:inset 0 0 14px #ff9b461c}.dock-entry[data-channel=weather-card]>.dock-button{border-color:#78d9ff88;color:#bceeff;box-shadow:inset 0 0 14px #78d9ff1c}.ritual-side-card#reading-card{border-color:#ff9b4688;box-shadow:0 0 28px #ff9b4622}.ritual-side-card#weather-card-card{border-color:#78d9ff88;box-shadow:0 0 28px #78d9ff22}
.ritual .hunt-controls>button{grid-template-rows:minmax(0,1fr) 12px;padding:5px 6px 4px;gap:1px}.ritual .hunt-controls .hunt-icon{width:min(84%,64px);height:auto;max-width:none;max-height:86%;align-self:center}.ritual .hunt-controls .hunt-icon-label{display:block;min-height:10px;margin:0 1px;font:600 8px/1 ui-monospace,SFMono-Regular,Consolas,monospace!important;letter-spacing:.02em;white-space:nowrap;color:currentColor;text-align:center}.weather-card .eyebrow::before{content:'';display:inline-block;width:17px;height:17px;margin:0 7px -4px 0;background:center/contain no-repeat url('/static/icons/tutorial-guide.svg');filter:drop-shadow(0 0 5px #78d9ff)}@media(max-width:700px){.ritual .hunt-controls>button{grid-template-rows:minmax(0,1fr) 10px;padding:4px 3px 3px}.ritual .hunt-controls .hunt-icon{width:min(88%,72px);max-height:88%}.ritual .hunt-controls .hunt-icon-label{font-size:7px!important;min-height:9px;letter-spacing:0}}
.signal-ghost{--ghost-trail-x:0px;--ghost-trail-y:0px}.signal-ghost::before{content:'';position:absolute;z-index:-1;width:116px;height:116px;border-radius:50%;pointer-events:none;opacity:.82;transform:translate(var(--ghost-trail-x),var(--ghost-trail-y));background:radial-gradient(circle at 43% 39%,color-mix(in srgb,var(--ghost-color) 68%,#fff) 0 5%,color-mix(in srgb,var(--ghost-color) 58%,transparent) 19%,color-mix(in srgb,var(--ghost-color) 29%,transparent) 40%,transparent 70%),radial-gradient(circle at 48% 50%,color-mix(in srgb,var(--ghost-color) 38%,transparent),transparent 67%);filter:blur(1px);transition:transform .12s linear}.signal-ghost::after{content:'';position:absolute;z-index:-2;width:146px;height:128px;border-radius:50%;pointer-events:none;opacity:.6;transform:translate(calc(var(--ghost-trail-x) * 1.45),calc(var(--ghost-trail-y) * 1.45));background:radial-gradient(ellipse at 44% 44%,color-mix(in srgb,var(--ghost-color) 28%,transparent),color-mix(in srgb,var(--ghost-color) 12%,transparent) 45%,transparent 73%);filter:blur(7px);transition:transform .15s linear}.signal-ghost .ghost-body:not(.ghost-3d-ready){background:radial-gradient(circle at 37% 29%,#fff9 0 4%,color-mix(in srgb,var(--ghost-color) 82%,#fff) 15%,var(--ghost-color) 30%,color-mix(in srgb,var(--ghost-color) 55%,transparent) 58%,transparent 74%)}

/* Visible names for the compact game icons during keyboard/controller focus. */
.hunt-controls button{position:relative}.hunt-controls:has(button:focus-visible),body.controller-active .hunt-controls:has(button:focus){padding-bottom:26px}.hunt-controls button:focus-visible::after,body.controller-active .hunt-controls button:focus::after{content:attr(aria-label);position:absolute;top:calc(100% + 7px);left:50%;transform:translateX(-50%);white-space:nowrap;color:var(--ink);background:var(--panel);border:1px solid var(--border);border-radius:3px;padding:2px 6px;font-size:12px;font-weight:400;line-height:1.4;z-index:5;pointer-events:none}

/* Keep every adjustable preference in one visually coherent vessel. */
/* The voices use dark message cards in every theme, including light mode. */
.practice-tutorial{background:var(--bg)!important}
.practice-tutorial .small,.practice-tutorial .tutorial-feedback{color:var(--ink)!important}
.tour-panel{--ink:#edf5fb;--muted:#b6c7d3;--accent:#b8d9d3;--green:#b8d9d3;--panel:#101923;--bg:#0c1319;--border:#6c8991;background:#0c1319!important;color:#edf5fb}
.tour-panel #tour-progress{color:#b8d9d3!important}
.tour-panel #tour-title{color:#edf5fb!important}
.practice-tutorial :is(button,.button),.tour-panel button{background:#192c36!important;color:#edf5fb!important;text-shadow:none!important}
.practice-tutorial .primary,.tour-panel .primary{background:#b8d9d3!important;color:#0c1716!important;border-color:#b8d9d3}
.tutorial-voice{background:#101923;color:#edf5fb}
.tutorial-voice::before{width:90px;height:90px;left:-15px;opacity:.28}
.tutorial-voice-augur #tour-omen,.tutorial-voice-augur p{color:#d8bca7;opacity:1}
.tutorial-voice-guide p{color:#edf5fb;opacity:1}
.tutorial-voice strong{text-shadow:0 0 4px color-mix(in srgb,var(--voice-color) 35%,transparent)}
.account-panel form#preferences{margin-top:24px;padding:24px;border:1px solid color-mix(in srgb,var(--border) 85%,var(--accent));border-radius:6px;background:color-mix(in srgb,var(--panel) 88%,var(--accent))}.account-panel form#preferences::before{content:'ADJUSTABLE SETTINGS';display:block;margin:0 0 22px;color:var(--accent);font-size:10px;letter-spacing:.17em}.account-panel form#preferences>button[type=submit]{display:flex;width:min(100%,440px);min-height:58px;margin:30px auto 0;justify-content:center;font-size:1rem;letter-spacing:.08em}.account-panel form#preferences>#saved{text-align:center;min-height:1.6em;margin:8px 0 0}
/* Shared Aero scenery replaces the old blurred-gradient-only wallpaper. */
.aero-scene{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
body[data-special-theme=frutiger-aero]>.ambient,body[data-special-theme=frutiger-aero]>.fog{display:none}
body[data-special-theme=frutiger-aero]>:is(main,footer,.operator-strip){position:relative;z-index:2}
body[data-special-theme=frutiger-aero]>header.site-header{position:relative;z-index:20000}

/* iQuest · Pocket LCD: original LCD ink stays independent of replaceable faceplates. */
@font-face{font-family:Silkscreen;src:url('/static/fonts/Silkscreen-Regular.ttf') format('truetype');font-display:swap}
body[data-special-theme=iquest]{--iq-case:#7296b9;--iq-button:#65529b;--iq-silver:#bdc1c4;--iq-trim:#e2e4df;--iq-lcd:#b2c3a0;--iq-ink:#293b42;--bg:#26333e;--panel:#b2c3a0;--ink:#293b42;--muted:#3f5351;--border:#758478;--accent:#314a51;--accent-light:#314a51;--green:#314a51;--gold:#304a51;background:radial-gradient(ellipse at 35% 0%,#ffffff35,transparent 60%),linear-gradient(125deg,color-mix(in srgb,var(--iq-case) 50%,#151e2b),#141c26);font-family:Silkscreen,ui-monospace,monospace;--body-font:Silkscreen;--heading-font:Silkscreen;--display-font:Silkscreen}
body[data-special-theme=iquest]:not([data-mode=light]){--iq-case-shade:#111c2b;--iq-silver:#626c75;--iq-trim:#929c9f;--iq-lcd:#a9c6ae}
body[data-special-theme=iquest][data-mode=light]{--iq-case-shade:#c3d2df;--bg:#bcc5cc;background:radial-gradient(ellipse at 30% 0%,#fff9,transparent 65%),linear-gradient(135deg,color-mix(in srgb,var(--iq-case) 42%,#dce1e4),#aeb8c1)}
@media(prefers-color-scheme:light){body[data-special-theme=iquest][data-mode=system]{--iq-case-shade:#c3d2df;--iq-silver:#bdc1c4;--iq-trim:#e2e4df;--iq-lcd:#b2c3a0;--bg:#bcc5cc;background:linear-gradient(135deg,color-mix(in srgb,var(--iq-case) 42%,#dce1e4),#aeb8c1)}}
body[data-special-theme=iquest] .ambient,body[data-special-theme=iquest] .signal-effects{display:none}
body[data-special-theme=iquest] :is(.panel,.account-panel,.debug-card,.fate-confirm>section,.preview-canvas,.case-viewport){color:var(--iq-ink);background:linear-gradient(125deg,#ffffff24,transparent 50%,#293b4210),repeating-linear-gradient(0deg,transparent 0 3px,#293b4209 3px 4px),var(--iq-lcd);border:7px solid var(--iq-trim);border-color:color-mix(in srgb,var(--iq-case) 25%,var(--iq-trim)) color-mix(in srgb,var(--iq-case) 25%,var(--iq-silver)) color-mix(in srgb,var(--iq-case) 25%,var(--iq-silver)) color-mix(in srgb,var(--iq-case) 25%,var(--iq-trim));border-radius:22px 22px 30px 30px;box-shadow:inset 0 3px 9px #1c32294d,0 0 0 2px #374653,0 0 0 10px color-mix(in srgb,var(--iq-case) 75%,var(--iq-case-shade,#111c2b)),0 12px 22px #0004}
body[data-special-theme=iquest] :is(h1,h2,h3,.eyebrow,.winner,.letter,.selected-letter,.hunt-composition strong){font-family:Silkscreen,ui-monospace,monospace;letter-spacing:0;text-shadow:1px 1px #293b421c}
body[data-special-theme=iquest] :is(.site-header,.operator-strip){background:linear-gradient(170deg,color-mix(in srgb,var(--iq-case) 72%,#fff),var(--iq-case) 48%,color-mix(in srgb,var(--iq-case) 65%,#152236));border-color:#293b4260;color:#101e2d;box-shadow:inset 0 2px 2px #fff8,0 3px 9px #0004}
body[data-special-theme=iquest] :is(.site-header,.operator-strip) a{color:#101e2d;text-shadow:0 1px #ffffff70}
body[data-special-theme=iquest] :is(button,.button,input,select,textarea){font-family:inherit}
body[data-special-theme=iquest] :is(button,.button):not(.letter):not(.theme-swatch){color:#fff;background:radial-gradient(ellipse at 45% 0%,#ffffff24,transparent 65%),linear-gradient(color-mix(in srgb,var(--iq-button) 55%,#162032),color-mix(in srgb,var(--iq-button) 40%,#0b1022));border:2px solid color-mix(in srgb,var(--iq-button) 45%,#0b1022);border-radius:50px;box-shadow:inset 0 2px 1px #fff7,inset 0 -3px 2px #0005,0 3px 2px #0005;text-shadow:0 1px 1px #0008}
body[data-special-theme=iquest] :is(button,.button):not(.letter):active{box-shadow:inset 0 3px 5px #0009;translate:0 1px}
body[data-special-theme=iquest] :is(.letter,.selected-letter){color:var(--iq-ink);border:1px solid #687c6b;border-radius:3px;background:repeating-linear-gradient(90deg,transparent 0 3px,#293b4207 3px 4px),repeating-linear-gradient(0deg,transparent 0 3px,#293b420b 3px 4px),var(--iq-lcd);box-shadow:inset 1px 2px 3px #293b4238;text-shadow:1px 1px #293b4225}
body[data-special-theme=iquest] .letter:is(:hover,:focus-visible){outline:3px solid var(--iq-ink);outline-offset:2px;background:var(--iq-lcd)}
body[data-special-theme=iquest] .letter.selected{background:var(--iq-ink);color:var(--iq-lcd)}
body[data-special-theme=iquest] :is(input,select,textarea){background:var(--iq-lcd);color:var(--iq-ink);border:1px solid #687c6b;box-shadow:inset 1px 2px 3px #293b4238}
body[data-special-theme=iquest] :is(.chip,.pill,.small,.muted,a){color:var(--iq-ink)}
body[data-special-theme=iquest] :is(.chip,.pill){background:#293b4212;border-color:#687c6b}
body[data-special-theme=iquest] :is(button,.button):focus-visible{outline:3px solid var(--iq-ink);outline-offset:3px}
body[data-special-theme=iquest] .error{color:#572c25;background:#d0c3a2}
#secondary-theme-field[hidden]{display:none}
@media(max-width:600px){body[data-special-theme=iquest] :is(.panel,.account-panel){border-width:4px;box-shadow:inset 0 3px 6px #1c32294d,0 0 0 2px #374653,0 0 0 5px var(--iq-case),0 7px 12px #0004}body[data-special-theme=iquest] .letter{font-size:22px}body[data-special-theme=iquest] .site-header{font-family:ui-monospace,monospace}}
body[data-special-theme=iquest][data-theme=green]{--iq-case:#a5c882}
body[data-special-theme=iquest][data-secondary-theme=green]{--iq-button:#a5c882}
body[data-special-theme=iquest][data-theme=blue]{--iq-case:#77a9dd}
body[data-special-theme=iquest][data-secondary-theme=blue]{--iq-button:#77a9dd}
body[data-special-theme=iquest][data-theme=purple]{--iq-case:#a88ade}
body[data-special-theme=iquest][data-secondary-theme=purple]{--iq-button:#a88ade}
body[data-special-theme=iquest][data-theme=pink]{--iq-case:#d89abf}
body[data-special-theme=iquest][data-secondary-theme=pink]{--iq-button:#d89abf}
body[data-special-theme=iquest][data-theme=orange]{--iq-case:#d5a068}
body[data-special-theme=iquest][data-secondary-theme=orange]{--iq-button:#d5a068}
body[data-special-theme=iquest][data-theme=brown]{--iq-case:#a7896c}
body[data-special-theme=iquest][data-secondary-theme=brown]{--iq-button:#a7896c}
body[data-special-theme=iquest][data-theme=red]{--iq-case:#cb8279}
body[data-special-theme=iquest][data-secondary-theme=red]{--iq-button:#cb8279}
body[data-special-theme=iquest][data-theme=grey]{--iq-case:#a0a9b0}
body[data-special-theme=iquest][data-secondary-theme=grey]{--iq-button:#a0a9b0}
body[data-special-theme=iquest][data-theme=black]{--iq-case:#34343b}
body[data-special-theme=iquest][data-secondary-theme=black]{--iq-button:#34343b}
body[data-special-theme=iquest][data-theme=teal]{--iq-case:#6fb9ad}
body[data-special-theme=iquest][data-secondary-theme=teal]{--iq-button:#6fb9ad}
/* Keep screen surfaces opaque and readable through shared scenery/dialog rules. */
body[data-special-theme=iquest] :is(.panel.ritual,.account-panel,.debug-card,.preview-canvas,.case-viewport,.tour-panel,.practice-tutorial,dialog:not(.initiation),.fate-confirm>section){--ink:var(--iq-ink);--muted:#3f5351;--panel:var(--iq-lcd);background-color:var(--iq-lcd)!important;color:var(--iq-ink)}
body[data-special-theme=iquest] :is(.tour-panel,.practice-tutorial,dialog:not(.initiation)){background:linear-gradient(125deg,#ffffff24,transparent),var(--iq-lcd)!important;border:6px ridge var(--iq-trim);border-radius:20px;box-shadow:0 0 0 7px var(--iq-case),0 12px 24px #0005}
body[data-special-theme=iquest] .tour-panel #tour-title,body[data-special-theme=iquest] .tour-panel #tour-progress{color:var(--iq-ink)!important}
body[data-special-theme=iquest] .tutorial-voice{background:#293b4210;color:var(--iq-ink);border-color:#687c6b}
body[data-special-theme=iquest] .tutorial-voice :is(p,strong,#tour-omen){color:var(--iq-ink);text-shadow:none}
body[data-special-theme=iquest] :is(input:not([type=checkbox]):not([type=color]),select,textarea){background:var(--iq-lcd);color:var(--iq-ink);border-color:#687c6b}
body[data-special-theme=iquest] :is(.account-panel p,.account-panel label,.small,.muted){font-size:max(11px,.75rem);line-height:1.7;letter-spacing:.02em}
body[data-special-theme=iquest] :is(.account-panel form#preferences,.practice-tutorial .tutorial-feedback){background:var(--iq-lcd);color:var(--iq-ink)}
body[data-special-theme=iquest] .account-panel form#preferences::before{color:var(--iq-ink)}
body[data-special-theme=iquest] :is(.tour-panel,.practice-tutorial) :is(button,.button){background:linear-gradient(var(--iq-button),color-mix(in srgb,var(--iq-button) 52%,#0b1022))!important;color:#fff!important}
body[data-special-theme=iquest][data-theme]{--accent:#314a51;--green:#314a51;--accent-light:#314a51;--gold:#304a51;--tone:var(--iq-case)}
body[data-special-theme=iquest] :is(.account-reminder,.weather-card,.signal-levels,.scoring-panel,.drawer-panel){background:var(--iq-lcd);color:var(--iq-ink)}
body[data-special-theme=iquest] footer{background:var(--iq-silver);color:#172c35;padding:20px}
body[data-special-theme=iquest] footer :is(a,p,span){color:#172c35}
body[data-special-theme=iquest] .winner-letters .letter{color:var(--iq-ink)!important;background:var(--iq-lcd)!important;border-color:#687c6b!important;box-shadow:inset 1px 2px 3px #293b4238;text-shadow:1px 1px #293b4225}

/* iQuest faceplate: stippled molded plastic around inset LCD readouts. */
body[data-special-theme=iquest]{--iq-print-font:Inter,"Exo 2",system-ui,sans-serif;--iq-grain:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22128%22%20height%3D%22128%22%3E%3Cfilter%20id%3D%22n%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%220.7%22%20numOctaves%3D%223%22%20seed%3D%2212%22%20stitchTiles%3D%22stitch%22%2F%3E%3CfeColorMatrix%20type%3D%22saturate%22%20values%3D%220%22%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%22128%22%20height%3D%22128%22%20filter%3D%22url%28%23n%29%22%20opacity%3D%22.22%22%2F%3E%3C%2Fsvg%3E");--iq-plastic:#c7cbcd;--iq-plastic-shadow:#979fa4;font-family:var(--iq-print-font);--body-font:var(--iq-print-font);--heading-font:var(--iq-print-font);--display-font:var(--iq-print-font)}
body[data-special-theme=iquest]:not([data-mode=light]){--iq-plastic:#87939a;--iq-plastic-shadow:#56646d}
@media(prefers-color-scheme:light){body[data-special-theme=iquest][data-mode=system]{--iq-plastic:#c7cbcd;--iq-plastic-shadow:#979fa4}}
body[data-special-theme=iquest] :is(.panel,.account-panel,.debug-card,.preview-canvas,.case-viewport){background:var(--iq-grain),linear-gradient(160deg,#ffffff35,transparent 34%,#27323a22 78%),linear-gradient(135deg,var(--iq-plastic),var(--iq-plastic-shadow))!important;background-blend-mode:soft-light,normal,normal;color:#152932}
body[data-special-theme=iquest] :is(.site-header,.operator-strip){background:var(--iq-grain),linear-gradient(170deg,color-mix(in srgb,var(--iq-case) 72%,#fff),var(--iq-case) 48%,color-mix(in srgb,var(--iq-case) 65%,#152236));background-blend-mode:soft-light,normal}
body[data-special-theme=iquest] :is(button,.button):not(.letter):not(.theme-swatch){background:linear-gradient(#ffffff0a,#00000009),var(--iq-grain),radial-gradient(ellipse at 45% 0%,#ffffff24,transparent 65%),linear-gradient(color-mix(in srgb,var(--iq-button) 55%,#162032),color-mix(in srgb,var(--iq-button) 40%,#0b1022));background-blend-mode:normal,soft-light,normal,normal;font-family:var(--iq-print-font);letter-spacing:.02em}
body[data-special-theme=iquest] :is(h1,h2,h3,.eyebrow){font-family:var(--iq-print-font);text-shadow:none}
body[data-special-theme=iquest] :is(.word-hunt,.hunt-composition){background:transparent!important;border-color:transparent}
body[data-special-theme=iquest] :is(.letter,.selected-letter,.winner-letters .letter,#discovered-words .chip){font-family:Silkscreen,ui-monospace,monospace!important;color:var(--iq-ink);background:repeating-linear-gradient(90deg,transparent 0 3px,#293b4207 3px 4px),repeating-linear-gradient(0deg,transparent 0 3px,#293b420b 3px 4px),var(--iq-lcd);border:1px solid #687c6b;border-radius:3px;box-shadow:inset 1px 2px 3px #293b4238;text-shadow:1px 1px #293b4225;letter-spacing:0}
body[data-special-theme=iquest] #discovered-words .chip{font-size:12px;padding:.65em .75em}
body[data-special-theme=iquest] :is(.letter.chosen,.letter.selected){background:var(--iq-ink);color:var(--iq-lcd)}
body[data-special-theme=iquest] .winner-letters .letter{background:var(--iq-lcd)!important}
body[data-special-theme=iquest]:not([data-mode=light]){--iq-plastic:#a4b0b4;--iq-plastic-shadow:#7c8a91}
@media(prefers-color-scheme:light){body[data-special-theme=iquest][data-mode=system]{--iq-plastic:#c7cbcd;--iq-plastic-shadow:#979fa4}}
body[data-special-theme=iquest] :is(.eyebrow,.hunt-icon-label,.steps){font-family:var(--iq-print-font)!important}
body[data-special-theme=iquest][data-theme=black] :is(.site-header,.operator-strip),body[data-special-theme=iquest][data-theme=black] :is(.site-header,.operator-strip) :is(a,span,strong){color:#f3f7f7;text-shadow:0 1px 2px #0009}

/* iQuest: molded card shells with recessed monochrome displays. */
body[data-special-theme=iquest]{--iq-screen:repeating-linear-gradient(90deg,transparent 0 3px,#293b4209 3px 4px),repeating-linear-gradient(0deg,transparent 0 3px,#293b420d 3px 4px),linear-gradient(145deg,#ffffff18,#293b420d),var(--iq-lcd)}
body[data-special-theme=iquest] .ritual-side-card{background:var(--iq-grain),linear-gradient(145deg,var(--iq-plastic),var(--iq-plastic-shadow))!important;background-blend-mode:soft-light,normal;color:var(--iq-ink)}
body[data-special-theme=iquest] .ritual-side-card>.panel{background:var(--iq-screen)!important;color:var(--iq-ink);border:5px ridge var(--iq-trim);border-radius:12px;box-shadow:inset 0 3px 9px #1c32294d}
body[data-special-theme=iquest] .ritual-side-card>.panel :is(h1,h2,h3,p,span,dl,dt,dd,details,summary,code,strong,.eyebrow){font-family:Silkscreen,ui-monospace,monospace!important;color:var(--iq-ink);text-shadow:none}
body[data-special-theme=iquest] .ritual-side-card .weather-toggle{background:transparent!important;border:0;border-radius:0;box-shadow:none;text-shadow:none;color:var(--iq-ink)}
body[data-special-theme=iquest] :is(.exchange-card,#exchange-shopkeeper){background:var(--iq-screen)!important;color:var(--iq-ink);border:6px ridge var(--iq-trim);box-shadow:inset 0 3px 8px #1c322945,0 0 0 3px color-mix(in srgb,var(--iq-case) 70%,var(--iq-silver))}
body[data-special-theme=iquest] :is(.exchange-card,#exchange-shopkeeper) :is(h2,p,strong,.small,.muted){font-family:Silkscreen,ui-monospace,monospace!important;color:var(--iq-ink);text-shadow:none;line-height:1.65}
body[data-special-theme=iquest] :is(.game-item-slot,.exchange-sell-item){background:var(--iq-screen)!important;color:var(--iq-ink)!important;border:1px solid #687c6b!important;border-radius:4px!important;box-shadow:inset 1px 2px 4px #293b4238!important;text-shadow:none!important}
body[data-special-theme=iquest] :is(.game-item-slot,.exchange-sell-item) :is(.case-item-name,.case-item-count,.exchange-sell-price){font-family:Silkscreen,ui-monospace,monospace;color:var(--iq-ink)}
body[data-special-theme=iquest] .site-header .operator-strip{background:linear-gradient(180deg,#172d3a18,#ffffff12);border:1px solid #31495a55;border-radius:12px;box-shadow:inset 0 1px 3px #263d4b40,inset 0 -1px #ffffff55}
body[data-special-theme=iquest][data-theme=black] .site-header .operator-strip{background:#101b2699}
body[data-special-theme=iquest] dialog.ritual-side-card:not(.initiation){background:var(--iq-grain),linear-gradient(145deg,var(--iq-plastic),var(--iq-plastic-shadow))!important;background-blend-mode:soft-light,normal}
body[data-special-theme=iquest] .ritual-side-card .weather-card button.weather-toggle{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;text-shadow:none!important;color:var(--iq-ink)!important}

/* A waiting veil covers the high-stacking header, and hides talisman effects
   even inside a top-layer dialog until the page is visible again. */
#page-veil{z-index:2147483646}
body:has(#page-veil:not([hidden]):not(.veil-leaving)) :is(.talisman-effect-canvas,.flat-talisman-effects,.stone-icon-overlay){visibility:hidden!important}

/* LCD text gets a faint second image, as on the reflective handheld screen. */
body[data-special-theme=iquest]{--iq-lcd-shadow:1px 1px 0 color-mix(in srgb,currentColor 18%,transparent)}
body[data-special-theme=iquest] :is(.winner,.letter,.selected-letter,#discovered-words .chip,.ritual-side-card>.panel :is(h1,h2,h3,p,span,dl,dt,dd,details,summary,code,strong,.eyebrow),.exchange-card :is(h2,p,strong,.small,.muted),#exchange-shopkeeper :is(h2,p,strong,.small,.muted),.game-item-slot :is(.case-item-name,.case-item-count,.exchange-sell-price),.exchange-sell-item :is(.case-item-name,.case-item-count,.exchange-sell-price)){text-shadow:var(--iq-lcd-shadow)!important}
body[data-special-theme=iquest] .item-reveal :is(.eyebrow,.reward-card h2,.item-reveal-quantity,.talisman-reveal-description,.reward-rarity,.reward-page-status){font-family:Silkscreen,ui-monospace,monospace!important;text-shadow:var(--iq-lcd-shadow)!important;line-height:1.6}
body[data-special-theme=iquest] .item-reveal .talisman-reveal-scene{background:var(--iq-screen)!important;color:var(--iq-ink);border:6px ridge var(--iq-trim);border-radius:18px;box-shadow:0 0 0 7px var(--iq-case),inset 0 3px 9px #1c32294d}
body[data-special-theme=iquest] .item-reveal :is(.eyebrow,.reward-card h2,.talisman-reveal-description,.reward-rarity,.reward-page-status){color:var(--iq-ink)!important}
body[data-special-theme=iquest] .item-reveal .item-reveal-quantity{color:var(--iq-ink);background:var(--iq-lcd);border-color:#687c6b;box-shadow:inset 1px 2px 3px #293b4238}
body[data-special-theme=iquest] .item-reveal .talisman-reveal-scene>button{background:linear-gradient(var(--iq-button),color-mix(in srgb,var(--iq-button) 45%,#0b1022))!important;color:#fff!important;border-color:#20203c!important}
body[data-special-theme=iquest] .hunt-composition strong{ text-shadow:var(--iq-lcd-shadow) }

/* Recess LCD glass into the surrounding iQuest faceplate. */
body[data-special-theme=iquest] :is(.letter,.selected-letter,.winner-letters .letter,#discovered-words .chip,.game-item-slot,.exchange-sell-item){
 border-color:#536b62 #84988b #cbd9c6 #61796e!important;
 box-shadow:inset 0 2px 3px #243b3b66,inset 2px 0 2px #304a4655,inset 0 -1px #edf6e078,0 1px 0 #e7f0e14d!important;
}

@font-face{font-family:Audiowide;src:url('/static/fonts/Audiowide-Regular.ttf') format('truetype');font-display:swap}
body[data-special-theme=iquest]{--iq-brand-font:Audiowide,"Exo 2",system-ui,sans-serif;--iq-outline:#243a6b;--iq-header-white:#faf8e9;--iq-header-green:#b5d77b;--iq-print-outline:-1px -1px 0 var(--iq-outline),1px -1px 0 var(--iq-outline),-1px 1px 0 var(--iq-outline),1px 1px 0 var(--iq-outline),0 1px 1px var(--iq-outline)}
body[data-special-theme=iquest] .site-header .brand-mark{content:url('/static/icons/logo-iquest.svg');filter:drop-shadow(0 1px 1px #1c285766)}
body[data-special-theme=iquest] .site-header .brand-name{font-family:var(--iq-brand-font);font-weight:400;letter-spacing:.02em;color:var(--iq-header-green);text-shadow:var(--iq-print-outline)}
body[data-special-theme=iquest] .site-header .brand-name strong{font-weight:400;color:var(--iq-header-white)}
body[data-special-theme=iquest] .site-header :is(.brand-name>span,.brand-domain,.brand-word small){color:var(--iq-header-green);text-shadow:var(--iq-print-outline)}
body[data-special-theme=iquest] .site-header :is(.player-name-and-level,.player-name-and-level>a,.player-points,#main-navigation a){color:var(--iq-header-white)!important;text-shadow:var(--iq-print-outline)!important}
body[data-special-theme=iquest] .site-header :is(.player-level,.player-stars,.particulate-counter,.particulate-counter span){color:var(--iq-header-green)!important;text-shadow:var(--iq-print-outline)!important}
body[data-special-theme=iquest] .site-header .nav-toggle i{background:var(--iq-header-green);box-shadow:0 1px 1px var(--iq-outline)}
body[data-special-theme=iquest] :is(.ritual-top,.word-hunt-heading,.section-heading)>:is(h1,h2,h3,.eyebrow){font-family:var(--iq-brand-font)!important;color:var(--iq-header-white);text-shadow:var(--iq-print-outline)!important;letter-spacing:.04em}
/* LCD panel headings stay part of the display, rather than printed casing. */
body[data-special-theme=iquest] .ritual-side-card>.panel :is(h1,h2,h3,.eyebrow){font-family:Silkscreen,ui-monospace,monospace!important;color:var(--iq-ink);text-shadow:var(--iq-lcd-shadow)!important}
