@font-face{font-family:"Jersey 10";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jersey-10-latin-ext-400-normal-uIKqQSaG.woff2)format("woff2"),url(/assets/jersey-10-latin-ext-400-normal-ByMh3OYd.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Jersey 10";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jersey-10-latin-400-normal-DrL73VYW.woff2)format("woff2"),url(/assets/jersey-10-latin-400-normal-B8YT2i2g.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--night-950:#070b1c;--night-900:#0c1330;--night-800:#131d45;--night-700:#1d2a5c;--night-600:#2b3c7a;--night-500:#42569c;--snow:#f4f7ff;--snow-shade:#c4d2ee;--ice:#8cc8ec;--gold-light:#ffe39a;--gold:#f4c25a;--gold-dark:#c08a2e;--red-dark:#8f2433;--stone-light:#5d6480;--stone:#3a3f56;--stone-dark:#22253a;--cream:#f2e3c4;--cream-shade:#d9c39c;--pine:#2f6b4f;--absent-ink:#939eb8;--px:4px;--font:"Jersey 10", ui-monospace, monospace;font-synthesis:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:linear-gradient(to bottom, var(--night-950), var(--night-900) 40rem, var(--night-800)) var(--night-800);min-height:100%;font-size:125%}body{min-height:100dvh;font-family:var(--font);color:var(--snow);-webkit-font-smoothing:none;margin:0;font-size:1.1rem;font-weight:400;line-height:1.25}h1,h2,p{margin:0}h1,h2,h3,strong,b,th,dt,summary{font-weight:400}canvas.pixel{image-rendering:pixelated;image-rendering:crisp-edges;display:block}.page{flex-direction:column;align-items:center;min-height:100dvh;display:flex}.column{width:100%;max-width:480px;padding:24px 16px 48px}.stack>*+*{margin-top:20px}.stack-sm>*+*{margin-top:10px}.center{text-align:center;justify-content:center;display:flex}.loading{color:var(--snow-shade);margin-top:40vh}.skip{background:var(--gold);color:var(--night-950);z-index:10;padding:12px 16px;position:absolute;top:-100px;left:8px}.skip:focus{top:8px}.panel,.btn,input,.segmented,.tabs{box-shadow:0 calc(-1 * var(--px)) 0 0 var(--frame,var(--night-600)), 0 var(--px) 0 0 var(--frame,var(--night-600)), calc(-1 * var(--px)) 0 0 0 var(--frame,var(--night-600)), var(--px) 0 0 0 var(--frame,var(--night-600))}.panel{background:var(--night-800);margin-left:var(--px);margin-right:var(--px);padding:18px 16px}.title{color:var(--gold);text-align:center;text-shadow:0 3px 0 var(--night-950);letter-spacing:.02em;font-size:2rem;line-height:1.05}.subtitle{color:var(--gold-light);font-size:1.3rem}.hero{justify-content:center;display:flex}.story-scene{margin-bottom:.5rem}.welcome-lang{justify-content:center;display:flex}.duo{justify-content:center;align-items:flex-end;gap:12px;display:flex}:focus-visible{outline:3px solid var(--ice);outline-offset:6px}button,input,.btn{font:inherit;color:inherit}.btn{--frame:var(--night-500);width:calc(100% - 2 * var(--px));margin-left:var(--px);margin-right:var(--px);background:var(--night-700);min-height:52px;color:var(--snow);text-align:center;cursor:pointer;border:0;justify-content:center;align-items:center;padding:10px 18px;font-size:1.15rem;text-decoration:none;display:flex}.btn:hover{background:var(--night-600)}.btn:active{transform:translateY(2px)}.btn-primary{--frame:var(--gold-dark);background:var(--gold);color:var(--night-950)}.btn-primary:hover{background:var(--gold-light)}.btn:disabled,.btn[aria-disabled=true]{cursor:wait;opacity:.75}.link{min-height:44px;color:var(--ice);text-underline-offset:4px;align-items:center;padding:0 8px;text-decoration:underline;display:inline-flex}.link:hover{color:var(--snow)}.field{flex-direction:column;gap:8px;display:flex}label,.label{color:var(--gold-light)}input{--frame:var(--night-500);min-height:48px;margin:0 var(--px);background:var(--night-950);border:0;border-radius:0;padding:10px 12px;font-size:1.15rem}input:focus-visible{--frame:var(--ice);outline:none}.hint{color:var(--snow-shade);font-size:.95rem}.error{background:var(--red-dark);color:var(--snow);padding:10px 12px}.segmented,.tabs{--frame:var(--night-500);margin:0 var(--px);background:var(--night-950);display:flex}.segmented button,.tabs button{min-width:96px;min-height:48px;color:var(--snow-shade);cursor:pointer;background:0 0;border:0;flex:1;padding:8px 14px}.segmented button[aria-pressed=true],.tabs button[aria-selected=true]{background:var(--gold);color:var(--night-950)}.segmented button:focus-visible,.tabs button:focus-visible{outline-offset:-5px;outline-color:var(--night-950)}.segmented button[aria-pressed=false]:focus-visible,.tabs button[aria-selected=false]:focus-visible{outline-color:var(--ice)}.switch{width:100%;min-height:48px;color:var(--gold-light);cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:0;display:flex}.switch-track{background:var(--night-950);width:56px;height:28px;box-shadow:0 0 0 var(--px) var(--night-500);flex:none;position:relative}.switch-thumb{background:var(--snow-shade);width:20px;height:20px;position:absolute;top:4px;left:4px}.switch[aria-checked=true] .switch-track{background:var(--gold-dark)}.switch[aria-checked=true] .switch-thumb{background:var(--gold-light);left:32px}.topnav{gap:8px;width:100%;max-width:480px;padding:12px 16px 0;display:flex}.topnav a{min-height:48px;color:var(--snow-shade);border-bottom:var(--px) solid transparent;flex:1;justify-content:center;align-items:center;padding:4px 6px;font-size:1.1rem;text-decoration:none;display:flex}.topnav a:hover{color:var(--snow)}.topnav a[aria-current=page]{color:var(--gold);border-bottom-color:var(--gold)}.map-header{flex-direction:column;align-items:center;gap:4px;display:flex}.map-wrap{justify-content:center;margin-top:16px;display:flex}.map{box-shadow:0 calc(-1 * var(--px)) 0 0 var(--night-600), 0 var(--px) 0 0 var(--night-600), calc(-1 * var(--px)) 0 0 0 var(--night-600), var(--px) 0 0 0 var(--night-600);flex:none;position:relative;overflow:clip}.map-world{position:absolute;left:0}.map-fog{pointer-events:none;position:absolute;left:0}.map-stop{--frame:var(--night-900);z-index:1;cursor:pointer;width:44px;height:44px;box-shadow:0 -3px 0 0 var(--frame), 0 3px 0 0 var(--frame), -3px 0 0 0 var(--frame), 3px 0 0 0 var(--frame);border:0;margin:-22px 0 0 -22px;padding:0;font-size:1.4rem;line-height:1;position:absolute}.map-stop:active{transform:translateY(2px)}.map-stop:focus-visible{outline-offset:5px;outline-color:var(--gold-light)}.map-stop-locked{--frame:var(--night-500);background:var(--snow-shade);color:var(--night-600)}.map-stop-locked:before{content:"";background:var(--snow);height:9px;box-shadow:6px -3px 0 -2px var(--snow), 22px -3px 0 -1px var(--snow);clip-path:inset(-6px 0 0);position:absolute;top:-6px;left:-3px;right:-3px}.map-stop-open{--frame:var(--gold-dark);background:var(--gold-light);color:var(--night-950);animation:1.6s steps(2,jump-none) infinite alternate stop-glow}@keyframes stop-glow{0%{filter:drop-shadow(0 0 0 var(--gold))}to{filter:drop-shadow(0 0 8px var(--gold))}}.map-stop-haze{animation:.8s ease-out stop-reveal}@keyframes stop-reveal{0%{opacity:0}}.map-stop-solved{--frame:var(--gold);background:var(--night-800);color:var(--gold)}.map-stop-badge{pointer-events:none;position:absolute}.map-stop-solved .map-stop-badge{top:-18px;right:-12px}.map-stop-locked .map-stop-badge{bottom:-6px;right:-8px}.map-runa{z-index:2;pointer-events:none;transition:left 1s linear,top 1s linear;position:absolute}.snowfall{z-index:3;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.map-message{z-index:4;text-align:center;width:min(420px,100% - 40px);color:var(--gold-light);margin:0;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.map-message-empty{clip-path:inset(50%);width:1px;height:1px;overflow:hidden}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.dialog{--frame:var(--gold-dark);background:var(--night-950);cursor:pointer;-webkit-user-select:none;user-select:none;grid-template-columns:auto 1fr;grid-template-areas:"portrait body""controls controls";gap:10px 14px;min-height:200px;display:grid}.dialog-narrator{grid-template-columns:1fr;grid-template-areas:"body""controls"}.dialog-portrait{background:var(--night-800);box-shadow:0 0 0 var(--px) var(--night-600);grid-area:portrait;align-self:start;padding:4px}.dialog-body{grid-area:body;min-width:0}.dialog-name{color:var(--gold);margin-bottom:4px}.dialog-text{font-size:1.15rem}.dialog-narrator .dialog-text{border-left:var(--px) solid var(--night-600);color:var(--snow-shade);padding-left:12px}.dialog-rest{visibility:hidden}.dialog-controls{grid-area:controls;justify-content:space-between;align-items:center;gap:12px;display:flex}.dialog-next{background:var(--gold);min-width:96px;min-height:48px;color:var(--night-950);cursor:pointer;box-shadow:0 0 0 var(--px) var(--gold-dark);border:0;align-items:center;gap:10px;padding:8px 16px;display:inline-flex}.dialog-arrow{border-left:6px solid #0000;border-right:6px solid #0000;border-top:8px solid var(--night-950);width:0;height:0;animation:.9s steps(2,jump-none) infinite alternate arrow-bob}.dialog-next-last .dialog-arrow{background:var(--night-950);border:0;width:8px;height:8px;animation:none}@keyframes arrow-bob{0%{transform:translateY(-2px)}to{transform:translateY(2px)}}.dialog-skip{cursor:pointer;background:0 0;border:0;min-width:44px}.day-header{text-align:center}.day-kicker{color:var(--snow-shade);letter-spacing:.08em;text-transform:uppercase;font-size:.95rem}.preview-notice{background:var(--gold-dark);color:var(--night-950);text-align:center;padding:10px 12px}.preview-list{margin:0}.preview-list dt{color:var(--gold-light)}.preview-list dd{overflow-wrap:anywhere;margin:0 0 10px}.hints>.hint-nudge:empty{margin-top:0}.hint-nudge{text-align:center;color:var(--gold-light)}.hint-prominent{animation:1.2s steps(2,jump-none) infinite alternate hint-pulse}@keyframes hint-pulse{to{box-shadow:0 calc(-1 * var(--px)) 0 0 var(--gold-light), 0 var(--px) 0 0 var(--gold-light), calc(-1 * var(--px)) 0 0 0 var(--gold-light), var(--px) 0 0 0 var(--gold-light), 0 0 18px 2px var(--gold)}}.hint-list,.solver-list{margin:0;padding-left:1.6em}.hint-list li+li,.solver-list li+li{margin-top:6px}.solvers summary{min-height:44px;color:var(--gold-light);cursor:pointer;align-items:center;display:flex}.solvers summary:before{content:"";border-top:6px solid #0000;border-bottom:6px solid #0000;border-left:8px solid var(--gold);margin-right:10px}.solvers[open] summary:before{border-left:6px solid #0000;border-right:6px solid #0000;border-top:8px solid var(--gold);border-bottom:0}.solvers[open] summary{margin-bottom:8px}.reveal{--frame:var(--gold-dark);text-align:center;background:var(--night-900)}.reveal-title{outline:none}.reveal-label{color:var(--snow-shade);letter-spacing:.06em;text-transform:uppercase;font-size:.95rem}.runeword{margin:8px 0 14px;container-type:inline-size}.runeword-stones{flex-wrap:wrap;justify-content:center;gap:12px 10px;display:flex}.runeword-gap{width:20px}.rune{color:var(--gold-light);background: linear-gradient(var(--stone-light), var(--stone-light)) 4px 4px / 4px 4px no-repeat, linear-gradient(var(--stone-dark), var(--stone-dark)) calc(100% - 4px) calc(100% - 4px) / 4px 4px no-repeat, var(--stone);box-shadow:inset 0 var(--px) 0 0 var(--stone-light), inset 0 calc(-1 * var(--px)) 0 0 var(--stone-dark), 0 calc(-1 * var(--px)) 0 0 var(--night-950), 0 var(--px) 0 0 var(--night-950), calc(-1 * var(--px)) 0 0 0 var(--night-950), var(--px) 0 0 0 var(--night-950);text-shadow:0 -2px 0 var(--stone-dark), 0 2px 0 var(--gold-dark), 0 0 8px var(--gold), 0 0 18px var(--gold-dark);justify-content:center;align-items:center;line-height:1;display:flex}.runeword-large .runeword-stones{flex-wrap:nowrap}.runeword-large .rune{aspect-ratio:5/6;min-width:0;font-size:min(3.6rem, calc(96cqi / var(--n,5)));animation:rune-kindle .6s steps(4, jump-end) calc(var(--i,0) * .16s) both, rune-glow 1.6s steps(2, jump-none) calc(var(--i,0) * .16s + .6s) infinite alternate;flex:0 60px}.runeword-small .runeword-stones{justify-content:flex-start;gap:8px 6px}.runeword-small .rune{width:30px;height:36px;text-shadow:0 2px 0 var(--gold-dark), 0 0 6px var(--gold);font-size:28px}@keyframes rune-kindle{0%{color:var(--stone-dark);text-shadow:0 -2px 0 var(--stone-dark), 0 2px 0 var(--stone-light)}}@keyframes rune-glow{to{color:var(--snow);text-shadow:0 -2px 0 var(--stone-dark), 0 2px 0 var(--gold-dark), 0 0 12px var(--gold), 0 0 26px var(--gold)}}.souvenir{flex-direction:column;align-items:center;gap:8px;display:flex}.souvenir-art{background:var(--night-800);min-width:88px;min-height:88px;box-shadow:0 0 0 var(--px) var(--night-600);justify-content:center;align-items:center;padding:8px;display:flex}.souvenir-name{color:var(--gold-light);align-items:center;gap:6px;display:flex}.souvenir-star{color:var(--gold)}.journal-list{margin:0;padding:0;list-style:none}.journal-list>li+li{margin-top:20px}.journal-day{color:var(--gold);margin-bottom:10px}.journal-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.journal-key{flex:180px;min-width:0}.journal-key .runeword{margin:6px 0 0}.journal-entry .souvenir-art{min-width:64px;min-height:64px}.slider{padding-left:12px;padding-right:12px}.slider-help{color:var(--snow-shade);font-size:1rem}.slider-board{--frame:var(--stone);background:var(--night-950);box-shadow:inset 0 var(--px) 0 0 #000, 0 calc(-1 * var(--px)) 0 0 var(--frame), 0 var(--px) 0 0 var(--frame), calc(-1 * var(--px)) 0 0 0 var(--frame), var(--px) 0 0 0 var(--frame);touch-action:manipulation;margin-left:auto;margin-right:auto;position:relative}.slider-tile{cursor:pointer;background:0 0;border:0;padding:0;transition:transform .12s ease-out;display:block;position:absolute;top:0;left:0}.slider-tile:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #070b1cb3}.slider-tile:focus-visible{outline:none}.slider-tile:focus-visible:after{box-shadow:inset 0 0 0 3px var(--gold)}.slider-tile[aria-disabled=true]{cursor:default}.slider-board.is-complete .slider-tile:after{box-shadow:none}.slider-last{animation:.36s steps(4,end) both slider-fill}@keyframes slider-fill{0%{opacity:0}to{opacity:1}}.slider-peek{pointer-events:none;position:absolute;inset:0}.slider-status{text-align:center;color:var(--snow-shade)}.slider-actions{grid-template-columns:1fr 1fr;gap:12px;display:grid}.slider-actions .btn{width:auto;padding:8px 10px;line-height:1.1}.slider-peek-btn{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.slider-peek-btn[aria-pressed=true]{--frame:var(--gold-dark);background:var(--night-600)}.spotdiff{padding-left:12px;padding-right:12px}.spotdiff-help{color:var(--snow-shade);font-size:1rem}.spotdiff-scene{--frame:var(--stone);cursor:crosshair;touch-action:manipulation;-webkit-user-select:none;user-select:none;box-shadow:0 calc(-1 * var(--px)) 0 0 var(--frame), 0 var(--px) 0 0 var(--frame), calc(-1 * var(--px)) 0 0 0 var(--frame), var(--px) 0 0 0 var(--frame);margin-left:auto;margin-right:auto;position:relative;overflow:hidden}.spotdiff-scene>span[role=img],.spotdiff-scene canvas{display:block}.spotdiff-scene:focus-visible{--frame:var(--gold);outline:none}.spotdiff-scene.is-clouded{cursor:wait}.spotdiff-scene.is-clouded:after{content:"";pointer-events:none;background:#c4d2eeb8;animation:.3s steps(3,end) both spotdiff-cloud;position:absolute;inset:0}@keyframes spotdiff-cloud{0%{opacity:0}to{opacity:1}}.spotdiff-found{box-shadow:0 0 0 3px var(--gold), 0 0 0 5px var(--night-950);pointer-events:none;border-radius:4px;position:absolute}.spotdiff-ripple{border:3px solid var(--snow);opacity:0;pointer-events:none;border-radius:50%;width:24px;height:24px;margin:-12px 0 0 -12px;animation:.6s steps(4,end) both spotdiff-ripple;position:absolute}.spotdiff-ripple.is-still{opacity:.8;animation:none}@keyframes spotdiff-ripple{0%{opacity:.9;transform:scale(.4)}to{opacity:0;transform:scale(1.4)}}.spotdiff-status{text-align:center;color:var(--snow-shade)}.hidden-puzzle{padding-left:12px;padding-right:12px}.hidden-help,.hidden-status{color:var(--snow-shade)}.hidden-status{text-align:center}.hidden-list{background:var(--cream);color:var(--night-950);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:4px 12px;margin:0;padding:8px 12px;list-style:none;display:grid}.hidden-list li{align-items:center;gap:8px;min-height:28px;display:flex}.hidden-list li.is-found{color:var(--stone);text-decoration:line-through}.hidden-tick{width:22px;height:18px;box-shadow:inset 0 0 0 2px var(--stone);color:var(--pine);flex:none;justify-content:center;align-items:center;display:inline-flex}.hidden-magnifier{align-self:center;align-items:center;gap:8px;min-height:44px;display:inline-flex}.hidden-magnifier[aria-pressed=true]{--frame:var(--gold)}.hidden-viewport{max-width:100%}.hidden-viewport.is-magnified{overscroll-behavior:contain;max-height:60vh;box-shadow:inset 0 0 0 2px var(--gold);overflow:auto}.hidden-scene{--frame:var(--stone);cursor:crosshair;touch-action:manipulation;-webkit-user-select:none;user-select:none;box-shadow:0 calc(-1 * var(--px)) 0 0 var(--frame), 0 var(--px) 0 0 var(--frame), calc(-1 * var(--px)) 0 0 0 var(--frame), var(--px) 0 0 0 var(--frame);margin-left:auto;margin-right:auto;position:relative;overflow:hidden}.hidden-viewport.is-magnified .hidden-scene{box-shadow:none}.hidden-scene canvas{display:block}.hidden-scene:focus-visible{--frame:var(--gold);outline:3px solid var(--gold);outline-offset:-3px}.hidden-scene.is-dusty{cursor:wait}.hidden-scene.is-dusty:after{content:"";pointer-events:none;background:#d9c39cb3;animation:.3s steps(3,end) both spotdiff-cloud;position:absolute;inset:0}.hidden-found{box-shadow:0 0 0 3px var(--gold), 0 0 0 5px var(--night-950);pointer-events:none;border-radius:4px;position:absolute}.hidden-puff{background:radial-gradient(circle at 30% 40%, var(--cream-shade) 0 3px, transparent 3.5px), radial-gradient(circle at 70% 30%, var(--cream-shade) 0 2px, transparent 2.5px), radial-gradient(circle at 55% 75%, var(--cream-shade) 0 3px, transparent 3.5px);opacity:0;pointer-events:none;width:20px;height:20px;margin:-10px 0 0 -10px;animation:.6s steps(4,end) both hidden-puff;position:absolute}.hidden-puff.is-still{opacity:.8;animation:none}@keyframes hidden-puff{0%{opacity:.9;transform:scale(.5)}to{opacity:0;transform:scale(1.6)}}.runes{--frame:var(--stone);padding:12px 8px}.runes.stack-sm>*+*{margin-top:8px}.runes-title{text-align:center;color:var(--gold-light);text-shadow:0 0 10px var(--gold-dark);font-size:1.5rem;line-height:1.05}.runes-legend{color:var(--snow-shade);flex-wrap:wrap;justify-content:center;gap:6px 16px;margin:0;padding:0 4px;font-size:.9rem;line-height:1.1;list-style:none;display:flex}.runes-legend li{align-items:center;gap:8px;display:flex}.runes-legend .rtile{--tile:16px;flex:none}.runes-legend .rtile:after{content:none}.runes-board{gap:6px;margin:0;padding:0;list-style:none;display:grid;container-type:inline-size}.runes-row{--tile:min(44px, calc((100cqi - (var(--len,5) - 1) * 8px) / var(--len,5)));justify-content:center;gap:8px;display:flex}.rtile{width:var(--tile);aspect-ratio:10/11;font-size:min(28px, calc(var(--tile) * .7));color:var(--snow);background:linear-gradient(var(--stone-light), var(--stone-light)) 4px 4px / 4px 4px no-repeat, linear-gradient(var(--stone-dark), var(--stone-dark)) calc(100% - 4px) calc(100% - 4px) / 4px 4px no-repeat, var(--stone);box-shadow:inset 0 var(--px) 0 0 var(--stone-light), inset 0 calc(-1 * var(--px)) 0 0 var(--stone-dark), 0 calc(-1 * var(--px)) 0 0 var(--rim,var(--night-950)), 0 var(--px) 0 0 var(--rim,var(--night-950)), calc(-1 * var(--px)) 0 0 0 var(--rim,var(--night-950)), var(--px) 0 0 0 var(--rim,var(--night-950));justify-content:center;align-items:center;line-height:1;display:flex;position:relative}.rtile:after{content:"";width:4px;height:4px;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.rtile.is-empty{background:var(--night-950);box-shadow:inset 0 var(--px) 0 0 #000, inset 0 0 0 2px var(--night-700)}.rtile.is-typed{--rim:var(--night-500);text-shadow:0 2px 0 var(--stone-dark)}.rtile.is-correct{--rim:var(--gold);color:var(--gold-light);text-shadow:0 2px 0 var(--gold-dark), 0 0 8px var(--gold), 0 0 16px var(--gold-dark)}.rtile.is-correct:after{background:var(--gold);width:40%;box-shadow:0 0 6px var(--gold)}.rtile.is-present{--rim:var(--ice);color:var(--ice);background:linear-gradient(var(--ice), var(--ice)) 0 0 / 6px 6px no-repeat, linear-gradient(var(--ice), var(--ice)) 100% 0 / 6px 6px no-repeat, linear-gradient(var(--ice), var(--ice)) 0 100% / 6px 6px no-repeat, linear-gradient(var(--ice), var(--ice)) 100% 100% / 6px 6px no-repeat, var(--night-600);text-shadow:0 2px 0 var(--night-900), 0 0 8px var(--ice)}.rtile.is-present:after{box-shadow:-5px 0 0 0 var(--snow), 5px 0 0 0 var(--snow)}.rtile.is-absent{color:var(--absent-ink);background:linear-gradient(var(--night-950), var(--night-950)) calc(100% - 4px) 4px / 3px 6px no-repeat, linear-gradient(var(--night-950), var(--night-950)) calc(100% - 7px) 9px / 3px 3px no-repeat, var(--stone-dark);box-shadow:inset 0 var(--px) 0 0 var(--stone), 0 calc(-1 * var(--px)) 0 0 var(--night-950), 0 var(--px) 0 0 var(--night-950), calc(-1 * var(--px)) 0 0 0 var(--night-950), var(--px) 0 0 0 var(--night-950)}.runes-row.is-revealing .rtile{animation:rtile-kindle .4s steps(4, jump-end) calc(var(--i,0) * .15s) both}@keyframes rtile-kindle{0%{filter:grayscale()brightness(.45)}60%{filter:brightness(1.5)}}.runes-row.is-shaking{animation:.36s steps(6,end) runes-shake}@keyframes runes-shake{20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}.runes-board.is-fading .rtile{animation:rtile-fade .8s steps(4, end) var(--fade-delay,0s) forwards}.runes-board.is-fading .runes-row.is-revealing .rtile{animation:rtile-kindle .4s steps(4, jump-end) calc(var(--i,0) * .15s) both, rtile-fade .8s steps(4, end) var(--fade-delay,0s) forwards}@keyframes rtile-fade{to{opacity:.15}}.runes-status{text-align:center;min-height:1.25em;color:var(--snow-shade);line-height:1.25}.runes-keys{touch-action:manipulation;gap:6px;max-width:440px;margin-left:auto;margin-right:auto;display:grid}.runes-keyrow{justify-content:center;gap:4px;display:flex}.runes-key{background:var(--stone);min-width:0;min-height:48px;color:var(--snow);cursor:pointer;box-shadow:inset 0 3px 0 0 var(--stone-light), inset 0 -3px 0 0 var(--stone-dark);border:0;flex:1 1 0;padding:0;font-size:28px;line-height:1}.runes-key:hover:not([aria-disabled=true]){background:var(--stone-light)}.runes-key:active:not([aria-disabled=true]){transform:translateY(2px)}.runes-key:focus-visible{outline:3px solid var(--gold);outline-offset:1px}.runes-key[aria-disabled=true]{cursor:default;opacity:.6}.runes-key-action{background:var(--night-600);flex-grow:1.5;justify-content:center;align-items:center;font-size:18px;display:flex}.runes-key-action:last-child{flex-grow:2}.runes-key.is-correct{background:var(--gold-dark);color:var(--gold-light);text-shadow:0 0 6px var(--gold);box-shadow:inset 0 3px 0 0 var(--gold), inset 0 -6px 0 0 var(--gold)}.runes-key.is-present{color:var(--ice);background:linear-gradient(var(--ice), var(--ice)) 0 0 / 5px 5px no-repeat, linear-gradient(var(--ice), var(--ice)) 100% 0 / 5px 5px no-repeat, linear-gradient(var(--ice), var(--ice)) 0 100% / 5px 5px no-repeat, linear-gradient(var(--ice), var(--ice)) 100% 100% / 5px 5px no-repeat, var(--night-600);box-shadow:none}.runes-key.is-absent{color:var(--absent-ink);background:linear-gradient(var(--night-950), var(--night-950)) calc(100% - 3px) 3px / 3px 6px no-repeat, linear-gradient(var(--night-950), var(--night-950)) calc(100% - 6px) 8px / 3px 3px no-repeat, var(--stone-dark);box-shadow:none}@media (prefers-reduced-motion:reduce){.runeword-large .rune,.dialog-arrow{animation:none}.btn:active,.map-stop:active{transform:none}.map-stop-open{filter:drop-shadow(0 0 6px var(--gold));animation:none}.map-runa{transition:none}.map-stop-haze{animation:none}.slider-tile{transition:none}.slider-last,.spotdiff-ripple,.spotdiff-scene.is-clouded:after,.hidden-puff,.hidden-scene.is-dusty:after,.runes-row.is-revealing .rtile,.runes-row.is-shaking,.runes-board.is-fading .rtile,.runes-board.is-fading .runes-row.is-revealing .rtile{animation:none}.runes-key:active:not([aria-disabled=true]){transform:none}.hint-prominent{box-shadow:0 calc(-1 * var(--px)) 0 0 var(--gold-light), 0 var(--px) 0 0 var(--gold-light), calc(-1 * var(--px)) 0 0 0 var(--gold-light), var(--px) 0 0 0 var(--gold-light), 0 0 14px 2px var(--gold);animation:none}}.btn-danger{--frame:var(--red-dark);background:var(--red-dark)}.btn-danger:hover{background:#a83242}.admin-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.admin-cell{background:var(--night-700);min-height:56px;color:var(--snow);flex-direction:column;justify-content:center;padding:6px 8px;font-size:.9rem;line-height:1.2;text-decoration:none;display:flex}a.admin-cell:hover{background:var(--night-600)}.admin-cell strong{color:var(--gold-light)}.admin-cell-empty{background:var(--night-900);color:var(--stone-light)}.admin-cell-empty strong{color:var(--snow-shade)}.admin-notice:empty{display:none}.admin-table{border-collapse:collapse;width:100%;font-size:1rem}.admin-table th{text-align:left;color:var(--snow-shade);padding:4px 6px;font-size:.9rem}.admin-table td{border-top:2px solid var(--night-700);vertical-align:middle;padding:0 6px}.admin-table th+th,.admin-table td+td{text-align:right}.admin-toggle{min-height:44px;color:var(--ice);font:inherit;text-align:left;text-underline-offset:4px;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:0;padding:0;text-decoration:underline}.admin-toggle[aria-expanded=true]{color:var(--gold-light)}.admin-details-row>td{border-top:0;padding:4px 6px 14px}.admin-days-list{overflow-wrap:anywhere;margin:0;padding:0;font-size:.95rem;list-style:none}.admin-days-list li+li{margin-top:6px}.admin-actions,.admin-bar{gap:8px;display:flex}.admin-actions .btn,.admin-bar .btn,.admin-bar>span{flex:1;width:auto;margin:0;font-size:1rem}.admin-bar{margin-left:var(--px);margin-right:var(--px)}.admin-bar .btn{overflow-wrap:anywhere;min-width:0;padding-left:8px;padding-right:8px}.cipher{--wood-light:#b27c4e;--wood:#8c5a35;--wood-dark:#5f3a22;--wood-ink:#2f221c;--bone:#e2cfa3;--bone-shade:#b39a6c;padding:12px 8px}.cipher-title,.wheel-title{text-align:center;color:var(--gold-light);font-size:1.25rem;line-height:1.2}.cipher-help{text-align:center;color:var(--snow-shade)}.cipher-scene-wrap{justify-content:center;display:flex}.cipher-scene{flex:none;position:relative}.cipher-signs{margin:0;padding:0;list-style:none}.cipher-sign{background:linear-gradient(var(--wood-light), var(--wood-light)) 0 0 / 100% 3px no-repeat, linear-gradient(var(--wood-dark), var(--wood-dark)) 0 100% / 100% 3px no-repeat, var(--wood);font-family:var(--font);color:var(--snow);text-shadow:0 2px 0 var(--wood-ink);white-space:nowrap;justify-content:center;align-items:center;padding:0 12%;line-height:1;display:flex;position:absolute;container-type:inline-size}.cipher-sign span{font-size:clamp(.95rem, calc(100cqi / (var(--len,6) * .78)), 1.75rem);letter-spacing:.08em}.cipher-sign.at-E{clip-path:polygon(0 0,86% 0,100% 50%,86% 100%,0 100%);padding-left:4%}.cipher-sign.at-W{clip-path:polygon(14% 0,100% 0,100% 100%,14% 100%,0 50%);padding-right:4%}.cipher-sign.at-N{clip-path:polygon(0 18%,44% 18%,50% 0,56% 18%,100% 18%,100% 100%,0 100%);padding-top:4%}.cipher-sign.at-S{clip-path:polygon(0 0,100% 0,100% 82%,56% 82%,50% 100%,44% 82%,0 82%);padding-bottom:4%}.cipher-wheel-zoom{cursor:zoom-in;background:0 0;border:0;border-radius:50%;padding:0;position:absolute}.cipher-wheel-zoom:focus-visible{outline:3px solid var(--ice);outline-offset:2px}.cipher-wheel-zoom-badge{background:var(--gold);width:26px;height:26px;color:var(--wood-ink);box-shadow:0 0 0 2px var(--wood-ink);justify-content:center;align-items:center;display:flex;position:absolute;bottom:0;right:0}.cipher-closeup{z-index:1;background:var(--night-900);width:max-content;box-shadow:0 0 0 3px var(--gold), 0 0 0 6px var(--wood-ink);flex-direction:column;align-items:center;gap:8px;padding:8px;display:flex;position:absolute;top:2%;left:50%;transform:translate(-50%)}.cipher-closeup canvas{cursor:zoom-out;display:block}.btn.cipher-closeup-close{width:auto;min-width:120px;min-height:44px;margin:0}.wheel-help{text-align:center}.wheel-dial{aspect-ratio:1;background:radial-gradient(circle closest-side, var(--night-700) 0 48%, var(--bone-shade) 48% 50%, var(--bone) 50% 74%, var(--wood-dark) 74% 76%, var(--wood) 76% 97%, var(--wood-dark) 97% 100%, transparent 100%);border-radius:50%;width:min(300px,100%);margin:0 auto;position:relative;container-type:inline-size}.wheel-dial:focus-visible{outline:3px solid var(--ice);outline-offset:4px}.wheel-ring{border-radius:50%;position:absolute;inset:0}.wheel-inner{cursor:grab;touch-action:pan-y;inset:11%}.wheel-ring span{font-family:var(--font);transform:translate(-50%, -50%) rotate(var(--a)) translateY(var(--r)) rotate(calc(-1 * var(--a)));line-height:1;position:absolute;top:50%;left:50%}.wheel-outer span{--r:-44cqi;color:var(--snow);text-shadow:0 2px 0 var(--wood-ink);font-size:7cqi}.wheel-inner span{--r:-31cqi;color:var(--wood-ink);font-size:6cqi;transition:transform .2s steps(4,end)}.wheel-window{width:11%;height:25%;box-shadow:0 0 0 3px var(--gold), 0 0 10px 2px var(--gold-dark);pointer-events:none;position:absolute;top:1%;left:50%;transform:translate(-50%)}.wheel-legend{color:var(--snow-shade);flex-direction:column;align-items:center;gap:2px;margin:0;padding:0;font-size:1rem;list-style:none;display:flex}.wheel-legend li{align-items:center;gap:6px;display:flex}.wheel-swatch{border:2px solid var(--wood-dark);flex:none;width:14px;height:14px}.wheel-swatch.is-outer{background:var(--wood)}.wheel-swatch.is-inner{background:var(--bone)}.wheel-controls{justify-content:center;align-items:center;gap:8px;display:flex}.btn.wheel-turn{width:56px;min-height:48px;margin:0 var(--px);flex:none}.wheel-mapping{min-width:0;font-family:var(--font);color:var(--snow);flex:auto;justify-content:center;align-items:center;gap:10px;font-size:1.5rem;line-height:1;display:flex}.cipher-form label{text-align:center;display:block}.cipher-answer input{width:calc(100% - 2 * var(--px));font-family:var(--font);letter-spacing:.12em;text-align:center;text-transform:uppercase}.cipher-answer.is-shaking{animation:.36s steps(6,end) runes-shake}@media (prefers-reduced-motion:reduce){.wheel-inner span{transition:none}.cipher-answer.is-shaking{animation:none}}.pigpen{--lintel:#8d93ad;--lintel-edge:#b6bcd2;--groove:var(--stone-dark);--sign:28px;--sign-gap:3px;padding:12px 8px}@media (width>=480px){.pigpen{--sign:42px}}.pigpen-title{text-align:center;color:var(--gold-light);font-size:1.25rem;line-height:1.2}.pigpen-subtitle{text-align:center;color:var(--snow);font-size:1.15rem;line-height:1.2}.pigpen-help{text-align:center;color:var(--snow-shade)}.pigpen-scene-wrap{justify-content:center;display:flex}.pigpen-edge{fill:var(--lintel-edge)}.pigpen-groove{fill:var(--groove)}.pigpen-lintel,.pigpen-stone{--frame:var(--stone-dark);margin-left:var(--px);margin-right:var(--px);background:linear-gradient(var(--lintel-edge), var(--lintel-edge)) 0 0 / 100% 3px no-repeat, var(--lintel);box-shadow:0 calc(-1 * var(--px)) 0 0 var(--frame), 0 var(--px) 0 0 var(--frame), calc(-1 * var(--px)) 0 0 0 var(--frame), var(--px) 0 0 0 var(--frame);padding:12px 6px}.pigpen-inscription{flex-direction:column;align-items:center;gap:14px;display:flex}.pigpen-word{grid-template-columns:repeat(var(--n), var(--sign));gap:var(--sign-gap);display:grid}.pigpen-sign{flex-direction:column;align-items:center;gap:6px;display:flex}.pigpen-glyph{width:var(--sign);height:var(--sign);display:block}input.pigpen-note{--frame:var(--stone);width:var(--sign);background:var(--night-950);min-height:44px;box-shadow:inset 0 0 0 2px var(--frame);text-align:center;text-transform:uppercase;color:var(--ice);caret-color:var(--ice);margin:0;padding:0;font-size:1.4rem}input.pigpen-note:focus-visible{--frame:var(--ice)}.pigpen-lintel .pigpen-help{color:var(--night-950)}.btn.pigpen-clear{width:auto;margin:0 auto;padding:8px 16px}.pigpen-stone{background:linear-gradient(var(--snow), var(--snow)) 0 0 / 100% 6px no-repeat, linear-gradient(var(--snow-shade), var(--snow-shade)) 0 6px / 100% 2px no-repeat, var(--lintel);padding-top:14px}.pigpen-stone .pigpen-subtitle{color:var(--night-950)}.pigpen-key{grid-template-columns:repeat(2,123px);justify-content:center;gap:14px 22px;display:grid}@media (width>=480px){.pigpen-key{grid-template-columns:repeat(4,82px);gap:12px 18px}}.pigpen-key-grid{width:100%;height:auto;display:block}.pigpen-snow{fill:var(--snow)}.pigpen-snow .pigpen-snow-shade{fill:var(--snow-shade)}.pigpen-key-letter{font-family:var(--font);fill:var(--night-950);font-size:10px}.pigpen-form label{text-align:center;display:block}.pigpen-answer input{width:calc(100% - 2 * var(--px));font-family:var(--font);letter-spacing:.12em;text-align:center;text-transform:uppercase}.pigpen-answer.is-shaking{animation:.36s steps(6,end) runes-shake}@media (prefers-reduced-motion:reduce){.pigpen-answer.is-shaking{animation:none}}.morse{--wood-light:#b27c4e;--wood:#8c5a35;--wood-dark:#5f3a22;--wood-ink:#2f221c;--bone:#e2cfa3;padding:12px 8px}.morse-title{text-align:center;color:var(--gold-light);font-size:1.25rem;line-height:1.2}.morse-subtitle{text-align:center;color:var(--gold-light);font-size:1.1rem;line-height:1.2}.morse-help{text-align:center;color:var(--snow-shade)}.morse-scene-wrap{justify-content:center;display:flex}.morse-scene{flex:none;position:relative;overflow:hidden}.morse-lamp{aspect-ratio:1;opacity:0;pointer-events:none;background:radial-gradient(circle,#ffe39af2 0 7%,#f4c25a80 16%,#f4c25a29 36%,#f4c25a00 62%);border-radius:50%;width:22%;transition:opacity 90ms ease-out;position:absolute;transform:translate(-50%,-50%)}.morse-lamp.is-on{opacity:1}.morse-reflection{opacity:0;pointer-events:none;background:linear-gradient(#f4c25a80,#f4c25a00);width:3%;height:30%;transition:opacity 90ms ease-out;position:absolute;top:57%;transform:translate(-50%)}.morse-lamp.is-on~.morse-reflection{opacity:1}.morse-ripple{aspect-ratio:3;opacity:1;pointer-events:none;width:16%;animation:morse-ripple var(--knock-ms,.2s) steps(4, end) forwards;border:2px solid #f4f7ff;border-radius:50%;position:absolute;transform:translate(-50%,-50%)scale(.35);box-shadow:0 0 0 2px #42569c66}.morse-ripple.is-dash{border-width:3px;width:30%}@keyframes morse-ripple{to{opacity:.35;transform:translate(-50%,-50%)scale(1)}}.morse .segmented,.morse-controls,.morse-notes-keys,.morse-board,.morse-form{margin-top:18px}.morse-controls{margin-left:var(--px);margin-right:var(--px);grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.morse-controls .btn{width:auto;margin:0;padding:8px 6px;font-size:1.05rem}.morse-controls .btn[aria-pressed=true]{--frame:var(--gold);background:var(--night-500)}.morse-marks{align-items:center;gap:5px;display:inline-flex}.morse-mark{background:currentColor;height:8px;display:inline-block}.morse-mark.is-dot{width:8px}.morse-mark.is-dash{width:26px}.morse-groups{flex-wrap:wrap;justify-content:center;gap:10px 14px;margin:0;padding:0;list-style:none;display:flex}.morse-group{background:var(--night-950);align-items:center;min-height:32px;padding:6px 10px;display:flex}.morse-bars{color:var(--gold-light);padding:12px 0}.morse-notes-line{color:var(--ice)}.morse-notes-empty{text-align:center;color:var(--absent-ink)}.morse-notes-keys{margin-left:var(--px);margin-right:var(--px);gap:12px;display:flex}.morse-notes-keys .btn{flex:1;width:auto;min-width:0;margin:0;padding:8px 6px}.morse-board{--frame:var(--wood-dark);margin-left:var(--px);margin-right:var(--px);background:linear-gradient(var(--wood-light), var(--wood-light)) 0 0 / 100% 3px no-repeat, var(--wood);box-shadow:0 calc(-1 * var(--px)) 0 0 var(--frame), 0 var(--px) 0 0 var(--frame), calc(-1 * var(--px)) 0 0 0 var(--frame), var(--px) 0 0 0 var(--frame);padding:12px 10px}.morse-board .morse-subtitle{color:var(--bone);text-shadow:0 2px 0 var(--wood-ink)}.morse-table{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px 10px;margin:0;padding:0;list-style:none;display:grid}.morse-table li{min-height:28px;color:var(--wood-ink);align-items:center;gap:8px;display:flex}.morse-table .morse-marks{gap:4px}.morse-table .morse-mark{height:6px}.morse-table .morse-mark.is-dot{width:6px}.morse-table .morse-mark.is-dash{width:18px}.morse-letter{width:1.1em;font-family:var(--font);color:var(--bone);text-align:center;text-shadow:0 2px 0 var(--wood-ink);font-size:1.35rem;line-height:1}.morse-form label{text-align:center;display:block}.morse-answer input{width:calc(100% - 2 * var(--px));font-family:var(--font);letter-spacing:.12em;text-align:center;text-transform:uppercase}.morse-answer.is-shaking{animation:.36s steps(6,end) runes-shake}@media (prefers-reduced-motion:reduce){.morse-lamp,.morse-reflection{transition:none}.morse-ripple{animation:none;transform:translate(-50%,-50%)scale(.7)}.morse-answer.is-shaking{animation:none}}.memory{padding-left:12px;padding-right:12px}.memory-help{color:var(--snow-shade);font-size:1rem}.memory-grid{touch-action:manipulation;justify-content:center;display:grid}.memory-card{--frame:var(--stone);background:var(--night-900);box-shadow:inset 0 0 0 var(--px) var(--frame);cursor:pointer;border:0;place-items:center;padding:0;display:grid}.memory-card.is-up{--frame:var(--stone-light);background:var(--night-700)}.memory-card.is-matched{--frame:var(--gold-dark);outline:2px dashed var(--gold-light);outline-offset:-3px;cursor:default}.memory-card:focus-visible{--frame:var(--gold);outline:3px solid var(--gold-light);outline-offset:-3px}.memory-card[aria-disabled=true]{cursor:default}.memory-face{line-height:0;animation:.16s steps(4,end) both memory-flip;display:block}@keyframes memory-flip{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.memory-grid.is-complete .memory-card{--frame:var(--gold)}.memory-status{text-align:center;color:var(--snow-shade)}@media (prefers-reduced-motion:reduce){.memory-face{animation:none}}.lights{padding-left:12px;padding-right:12px}.lights-help{color:var(--snow-shade);font-size:1rem}.lights-board{background:var(--night-950);touch-action:manipulation;margin-left:auto;margin-right:auto;display:grid;position:relative}.lights-backdrop{pointer-events:none;position:absolute;top:0;left:0}.lights-lamp{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:flex-start;padding-bottom:0;padding-left:0;padding-right:0;display:flex;position:relative}.lights-lamp.is-on{background:radial-gradient(circle at 50% 42%,#ffe39a61 0,#f4c25a24 38%,#0000 62%)}.lights-board.is-complete .lights-lamp.is-on{background:radial-gradient(circle at 50% 42%,#ffe39a8c 0,#f4c25a38 42%,#0000 68%)}.lights-lamp.is-flicker canvas{animation:.26s steps(4,end) lights-flicker}@keyframes lights-flicker{0%{opacity:.35}50%{opacity:1}75%{opacity:.6}to{opacity:1}}.lights-board.is-cave .lights-lamp.is-on{background:radial-gradient(circle at 50% 45%,#f4f7ff57 0,#8cc8ec29 38%,#0000 62%)}.lights-board.is-cave.is-complete .lights-lamp.is-on{background:radial-gradient(circle at 50% 45%,#f4f7ff80 0,#8cc8ec42 42%,#0000 68%)}.lights-lamp:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}.lights-lamp[aria-disabled=true]{cursor:default}.lights-status{text-align:center}.lights-actions{justify-content:center;display:flex}.chase-table{background:var(--stone-dark);border:3px solid var(--stone);box-shadow:inset 3px 3px 0 var(--night-950), inset -3px -3px 0 var(--stone);margin-bottom:0;margin-left:0;margin-right:0;padding:12px}.chase-table figcaption{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.chase-title{color:var(--snow);font-size:1.25rem}.chase-caption{color:var(--snow-shade);font-size:1rem}.chase-rows{justify-content:center;gap:8px;display:grid}.chase-row{color:var(--stone-light);align-items:center;gap:12px;display:flex}.chase-dots{gap:5px;display:flex}.chase-dot{background:var(--ice);width:12px;height:12px;box-shadow:inset -2px -2px 0 var(--night-500)}.chase-dot.is-dark{background:var(--night-950);box-shadow:inset 0 0 0 2px var(--stone-light)}.chase-row>.chase-dots:last-child .chase-dot{background:var(--stone);box-shadow:none}.chase-row>.chase-dots:last-child .chase-dot.is-touch{background:var(--gold);box-shadow:inset -2px -2px 0 var(--gold-dark)}@media (prefers-reduced-motion:reduce){.lights-lamp.is-flicker canvas{animation:none}}.sudoku{--cell:clamp(36px, calc((min(100vw, 480px) - 84px) / var(--n,6)), 56px);--box-gap:6px;--clash:#cf3d47;padding:12px 8px}.sudoku-title{text-align:center;color:var(--gold-light);font-size:1.25rem;line-height:1.2}.sudoku-help{text-align:center;color:var(--snow-shade)}.sudoku-grid{background:var(--night-950);width:max-content;box-shadow:0 0 0 3px var(--stone-dark), 0 0 0 6px var(--stone);gap:2px;margin:14px auto 6px;padding:4px;display:grid;position:relative}.sudoku-cell{width:var(--cell);height:var(--cell);background:var(--stone-dark);color:var(--ice);font-family:var(--font);font-size:calc(var(--cell) * .62);cursor:pointer;touch-action:manipulation;border:0;justify-content:center;align-items:center;padding:0;line-height:1;display:flex}.sudoku-cell.is-given{background:var(--stone);color:var(--gold-light);text-shadow:0 2px 0 var(--stone-dark);box-shadow:inset 0 3px 0 0 var(--stone-light), inset 0 -3px 0 0 var(--stone-dark);cursor:default}.sudoku-cell.is-selected{box-shadow:inset 0 0 0 3px var(--gold)}.sudoku-cell:focus-visible{outline:3px solid var(--ice);outline-offset:1px;z-index:2}.sudoku-cell.is-clash{background:var(--red-dark);color:var(--snow);text-shadow:0 0 6px var(--clash);box-shadow:0 0 8px 1px var(--clash)}.sudoku-cell.is-clash.is-selected{box-shadow:inset 0 0 0 3px var(--gold), 0 0 8px 1px var(--clash)}.sudoku-key-frame{pointer-events:none;box-shadow:0 0 0 3px var(--gold), 0 0 10px 2px var(--gold-dark);z-index:1;margin:-3px}.sudoku-grid.is-complete .sudoku-cell.is-key-row{color:var(--gold-light);text-shadow:0 0 8px var(--gold)}.sudoku-status{text-align:center;color:var(--snow-shade)}.sudoku-clash{text-align:center}.sudoku-pad{touch-action:manipulation;gap:4px;max-width:440px;margin-left:auto;margin-right:auto;display:flex}.sudoku-key{background:var(--stone);min-width:44px;min-height:52px;color:var(--snow);cursor:pointer;box-shadow:inset 0 3px 0 0 var(--stone-light), inset 0 -3px 0 0 var(--stone-dark);border:0;flex:1 1 0;padding:0;font-size:30px;line-height:1}.sudoku-key:hover:not([aria-disabled=true]){background:var(--stone-light)}.sudoku-key:active:not([aria-disabled=true]){transform:translateY(2px)}.sudoku-key:focus-visible{outline:3px solid var(--gold);outline-offset:1px}.sudoku-key[aria-disabled=true]{cursor:default;opacity:.6}.sudoku-key-erase{background:var(--night-600);justify-content:center;align-items:center;display:flex}.sudoku[data-size="9"]{--box-gap:4px;--cell:clamp(34px, calc((min(100vw, 480px) - 16px - 22px) / 9), 48px)}.sudoku[data-size="9"] .sudoku-grid{margin-left:calc((100% - 9 * var(--cell) - 22px) / 2);gap:1px;margin-right:0;padding:2px}.sudoku[data-size="9"] .sudoku-pad{grid-template-columns:repeat(5,1fr);display:grid}.sudoku-actions{grid-template-columns:1fr 1fr;gap:12px;display:grid}.sudoku-actions .btn{width:auto;padding:8px 10px;line-height:1.1}.sudoku-actions .btn[aria-pressed=true]{background:var(--night-600);color:var(--gold-light)}.escape{padding:12px 8px}.escape-help,.escape-dialog-help,.escape-empty{text-align:center;color:var(--snow-shade)}.escape-room-wrap{justify-content:center;display:flex}.escape-room{flex:none;position:relative}.escape-room canvas{display:block}.escape-spot{left:calc(var(--x) + var(--w) / 2);top:calc(var(--y) + var(--h) / 2);width:max(44px, var(--w));height:max(44px, var(--h));outline-offset:-2px;cursor:pointer;background:0 0;border:0;outline:2px dashed #ffe39a99;padding:0;position:absolute;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 2px #120c1273}.escape-spot:hover,.escape-spot:focus-visible{outline:3px solid var(--gold-light);outline-offset:0;background:#ffe39a1a}.escape-room.is-holding .escape-spot{outline-color:#8cc8ecbf}.escape-room.is-holding .escape-spot:hover,.escape-room.is-holding .escape-spot:focus-visible{outline:3px solid var(--ice)}.escape-letters{left:var(--x);top:var(--y);width:var(--w);height:var(--h);pointer-events:none;flex-wrap:wrap;place-content:center;gap:0 2%;margin:0;padding:0 2%;list-style:none;display:flex;position:absolute}.escape-letters li{color:var(--snow);text-shadow:0 2px 0 var(--night-950);flex-direction:column;align-items:center;line-height:.9;display:flex}.escape-letters span{font-size:1.15rem}.escape-letters small{color:var(--gold-light);font-size:.85rem}.escape-letters .escape-mark{background:var(--cream);margin-top:1px;padding:1px;line-height:0;display:block}.escape-line{background:var(--night-950);min-height:3.2em;color:var(--snow);text-align:center;padding:8px 10px}.escape-closeup{justify-content:center;margin:0;display:flex}.escape-dialog{--frame:var(--gold-dark);background:var(--night-900);padding:14px 10px}.escape-dialog-title,.escape-inventory-title{text-align:center;color:var(--gold-light);font-size:1.2rem}.escape-wheels{justify-content:center;gap:14px;display:flex}.escape-wheel{flex-direction:column;align-items:center;gap:10px;display:flex}.btn.escape-turn{justify-content:center;align-items:center;width:56px;min-height:48px;margin:0;display:flex}.escape-digit{background:var(--night-950);width:56px;color:var(--gold-light);text-align:center;box-shadow:inset 0 0 0 3px var(--stone-light);padding:6px 0;font-size:2.2rem;line-height:1}.escape-word input{width:calc(100% - 2 * var(--px));letter-spacing:.12em;text-align:center;text-transform:uppercase}.escape-wheels.is-shaking,.escape-word.is-shaking{animation:.36s steps(6,end) runes-shake}.escape-items{flex-wrap:wrap;justify-content:center;gap:10px;margin:0;padding:0;list-style:none;display:flex}.escape-item{background:var(--night-950);min-width:76px;min-height:64px;box-shadow:inset 0 0 0 3px var(--night-600);cursor:pointer;border:0;flex-direction:column;align-items:center;gap:4px;padding:6px 8px;display:flex}.escape-item:hover{box-shadow:inset 0 0 0 3px var(--night-500)}.escape-item[aria-pressed=true]{background:var(--night-700);box-shadow:inset 0 0 0 3px var(--gold);color:var(--gold-light)}@media (prefers-reduced-motion:reduce){.escape-wheels.is-shaking,.escape-word.is-shaking{animation:none}}.nonogram{--cell:26px;--group-gap:3px;padding:12px 4px}.nonogram-board.is-whole{--cell:clamp(12px, calc((min(100vw, 480px) - 70px - var(--clue-w,44px)) / var(--n,10)), 36px)}@supports (width:round(down, 10px, 1px)){.nonogram{--cell:clamp(24px, round(down, calc((min(100vw, 480px) - 62px - var(--clue-w,44px)) / var(--n,10)), 1px), 36px)}.nonogram-board.is-whole{--cell:clamp(12px, round(down, calc((min(100vw, 480px) - 70px - var(--clue-w,44px)) / var(--n,10)), 1px), 36px)}}.nonogram-help,.nonogram-status{text-align:center;color:var(--snow-shade);padding:0 8px}.nonogram-tools{align-items:stretch;gap:12px;padding:0 4px;display:flex}.nonogram-mode{flex:2 1 0}.nonogram-mode button{min-width:0}.nonogram-tools .nonogram-zoom{flex:1 1 0;width:auto;min-height:48px;padding:6px 10px;font-size:1rem;line-height:1.1}.nonogram-zoom[aria-pressed=true]{background:var(--night-600);color:var(--gold-light)}.nonogram-board{max-width:100%;overflow-x:auto}.nonogram-board.is-zoomed{--cell:44px;overscroll-behavior:contain;max-height:72dvh;overflow:auto}.nonogram-grid{background:var(--night-950);touch-action:none;gap:1px;width:max-content;margin:6px auto;padding:3px;display:grid}.nonogram-board.is-zoomed .nonogram-grid{touch-action:manipulation}.nonogram-board.is-zoomed .nonogram-cell{scroll-margin:110px 0 0 var(--clue-w,44px)}.nonogram-clue{color:var(--gold-light);font-size:clamp(15px, calc(var(--cell) * .6), 22px);background:var(--night-950);gap:6px;line-height:1;display:flex}.nonogram-rowClue{z-index:3;justify-content:flex-end;align-items:center;padding:0 5px 0 2px;position:sticky;left:0}.nonogram-colClue{z-index:3;flex-direction:column;justify-content:flex-end;align-items:center;padding:2px 0 5px;position:sticky;top:0}.nonogram-corner{z-index:4;background:var(--night-950);position:sticky;top:0;left:0}.nonogram-clue.is-done{color:var(--night-500)}.nonogram-cell{width:var(--cell);height:var(--cell);background:var(--snow-shade);color:var(--night-600);font-size:calc(var(--cell) * .7);cursor:pointer;box-shadow:inset 0 -2px 0 0 var(--ice);border:0;justify-content:center;align-items:center;padding:0;line-height:1;display:flex}.nonogram-cell.is-filled{background:var(--night-700);box-shadow:inset 0 2px 0 0 var(--night-950), inset 0 -2px 0 0 var(--night-600)}.nonogram-cell.is-crossed:before{content:"x"}.nonogram-cell:focus-visible{outline:3px solid var(--gold);outline-offset:0;z-index:2}.nonogram-cell[aria-disabled=true]{cursor:default}.nonogram-grid.is-complete .nonogram-cell.is-filled{background:var(--gold-dark)}.nonogram[data-scene=aurora15] .nonogram-cell{background:var(--night-600);color:var(--snow-shade);box-shadow:inset 0 -2px 0 0 var(--night-500)}.nonogram[data-scene=aurora15] .nonogram-cell.is-filled{background:#52e3a0;box-shadow:inset 0 2px #b8ffd9,inset 0 -2px #2a9e7c}.nonogram[data-scene=aurora15] .nonogram-grid.is-complete .nonogram-cell.is-filled{background:#b98af2}.nonogram-picture{justify-content:center;padding:6px;display:flex}.nonogram-picture canvas{max-width:100%;height:auto;box-shadow:0 0 0 3px var(--stone-dark), 0 0 0 6px var(--stone);animation:.9s steps(6,end) both nonogram-reveal}@keyframes nonogram-reveal{0%{opacity:0}}.nonogram-actions .btn{width:auto}@media (prefers-reduced-motion:reduce){.nonogram-picture canvas{animation:none}}.logic{padding:12px 4px}.logic-title{text-align:center;color:var(--gold-light);font-size:1.25rem;line-height:1.2}.logic-help,.logic-note,.logic-status{text-align:center;color:var(--snow-shade)}.logic-subtitle{color:var(--gold-light);font-size:1.1rem;line-height:1.2}.logic-scroll{max-width:100%;overflow-x:auto}.logic-grid{--cell:clamp(26px, calc((min(100vw, 480px) - 124px) / (var(--n) * var(--blocks))), 40px);--head:2.9rem;--block-gap:4px;gap:1px;width:max-content;margin:8px auto 4px;padding:0;display:grid}.logic-grid.is-dense{--head:2.4rem;--block-gap:3px;--cell:clamp(15px, calc(( min(100vw, 480px) - 48px - var(--head) - (var(--n) * var(--blocks) + 2) * 1px - var(--blocks) * var(--block-gap) ) / (var(--n) * var(--blocks))), 40px)}.logic-scroll.is-zoomed{overscroll-behavior:contain;max-height:min(72vh,640px);scroll-padding-top:6rem;scroll-padding-left:calc(2.4rem + 4px);overflow:auto}.logic-scroll.is-zoomed .logic-grid{--cell:44px;margin-top:0}.logic-scroll.is-zoomed .logic-head-row{z-index:2;background:var(--night-800);justify-content:flex-end;place-self:stretch stretch;align-items:center;max-width:none;display:flex;position:sticky;left:0}.logic-scroll.is-zoomed .logic-head-col{z-index:3;background:var(--night-800);place-self:stretch stretch;position:sticky;top:0}.logic-scroll.is-zoomed .logic-corner{z-index:4;background:var(--night-800);position:sticky;top:0;left:0}.logic-scroll.is-zoomed .logic-cell:focus-visible{z-index:5}.logic-actions .logic-fit{grid-column:1/-1}.logic-head{color:var(--snow-shade);font-size:.8rem;line-height:1}.logic-head-row{max-width:var(--head);text-align:right;place-self:center end;padding-right:4px}.logic-head-col{writing-mode:vertical-rl;place-self:end center;padding:4px 0;transform:rotate(180deg)}.logic-cell{width:var(--cell);height:var(--cell);background:var(--stone-dark);box-shadow:inset 0 0 0 1px var(--stone);color:var(--snow);cursor:pointer;touch-action:manipulation;border:0;justify-content:center;align-items:center;padding:0;display:flex}.logic-cell:hover{background:var(--stone)}.logic-cell:focus-visible{outline:3px solid var(--ice);outline-offset:1px;z-index:1}.logic-cell.is-no{color:var(--absent-ink)}.logic-cell.is-yes{background:var(--stone);color:var(--gold)}.logic-actions{grid-template-columns:1fr 1fr;gap:12px;display:grid}.logic-actions .btn{width:auto;padding:8px 10px;line-height:1.1}.logic-actions .btn[aria-pressed=true]{background:var(--night-600);color:var(--gold-light)}.logic-clues{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.logic-clue{background:var(--night-900);width:100%;min-height:44px;box-shadow:inset 0 0 0 2px var(--night-600);text-align:left;cursor:pointer;border:0;padding:8px 12px;line-height:1.2;display:block}.logic-clue:hover{background:var(--night-700)}.logic-clue.is-used{color:var(--absent-ink);text-decoration:line-through;text-decoration-thickness:2px}.logic-summary{margin:0;padding:0;list-style:none}.pipes{padding-left:12px;padding-right:12px}.pipes-help{color:var(--snow-shade);font-size:1rem}.pipes-board{border:3px solid var(--night-950);box-sizing:content-box;background:var(--night-950);touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;margin-left:auto;margin-right:auto;display:grid}.pipes-tile{cursor:pointer;background:0 0;border:0;padding:0;display:block;overflow:hidden}.pipes-tile canvas{display:block}.pipes-tile.is-bolted,.pipes-tile[aria-disabled=true]{cursor:default}.pipes-tile:focus-visible{z-index:1;outline:3px solid var(--gold);outline-offset:-3px;position:relative}.pipes-tile.is-turning-cw canvas{animation:.14s steps(3,end) pipes-turn-cw}.pipes-tile.is-turning-ccw canvas{animation:.14s steps(3,end) pipes-turn-ccw}@keyframes pipes-turn-cw{0%{transform:rotate(-90deg)}to{transform:rotate(0)}}@keyframes pipes-turn-ccw{0%{transform:rotate(90deg)}to{transform:rotate(0)}}.pipes-board.is-complete{border-color:var(--gold)}.pipes-status{text-align:center}.pipes-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.pipes-actions .btn[aria-pressed=true]{background:var(--night-600);color:var(--gold-light)}@media (prefers-reduced-motion:reduce){.pipes-tile canvas{animation:none!important}}.meta{--wood-ink:#2f221c;padding:12px 8px}.meta-title{text-align:center;color:var(--gold-light);font-size:1.25rem;line-height:1.2}.meta-help,.meta-status{text-align:center;color:var(--snow-shade)}.meta-status:empty{display:none}.meta-door-wrap{justify-content:center;display:flex}.meta-door{flex:none;position:relative}.meta-door canvas{display:block}.meta-letter{font-family:var(--font);color:var(--cream-shade);text-shadow:0 2px 0 var(--wood-ink);pointer-events:none;justify-content:center;align-items:center;font-size:1.5rem;line-height:1;display:flex;position:absolute}.meta-letter.is-lit{color:var(--gold-light);text-shadow:0 0 6px var(--gold), 0 2px 0 var(--wood-ink);animation:1.6s steps(4,end) infinite alternate meta-glow}@keyframes meta-glow{0%{text-shadow:0 0 3px var(--gold), 0 2px 0 var(--wood-ink)}to{text-shadow:0 0 9px var(--gold-light), 0 2px 0 var(--wood-ink)}}.meta-slot{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:0;display:flex;position:absolute}.meta-slot.is-filled{background:var(--wood-ink)}.meta-slot:focus-visible{outline:var(--px) solid var(--gold-light);outline-offset:2px}.meta-door.is-complete .meta-slot.is-filled{box-shadow:0 0 0 2px var(--gold)}.meta-missing{text-align:center;color:var(--gold-light)}.meta-missing a{color:inherit}.meta-tray{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.meta-tray:empty{display:none}.meta-keepsake{--frame:var(--night-500);min-width:76px;min-height:44px;margin:var(--px);background:var(--night-700);color:var(--snow);font:inherit;cursor:pointer;box-shadow:0 calc(-1 * var(--px)) 0 0 var(--frame), 0 var(--px) 0 0 var(--frame), calc(-1 * var(--px)) 0 0 0 var(--frame), var(--px) 0 0 0 var(--frame);border:0;flex-direction:column;align-items:center;gap:4px;padding:8px 6px;display:flex}.meta-keepsake[aria-pressed=true]{--frame:var(--gold);background:var(--night-600)}.meta-keepsake:focus-visible{outline:var(--px) solid var(--gold-light);outline-offset:var(--px)}.meta-keepsake-name{font-size:.95rem;line-height:1.1}.meta-form label{text-align:center;display:block}.meta-answer input{width:calc(100% - 2 * var(--px));font-family:var(--font);letter-spacing:.12em;text-align:center;text-transform:uppercase}.meta-answer.is-shaking{animation:.36s steps(6,end) runes-shake}.the-end{text-align:center}.the-end-title{color:var(--gold-light)}.the-end-title:focus{outline:none}.the-end-picture{justify-content:center;display:flex}@media (prefers-reduced-motion:reduce){.meta-letter.is-lit,.meta-answer.is-shaking{animation:none}}.chase-covered{color:var(--night-800);text-align:center;background:var(--snow-shade);border:3px solid var(--stone);box-shadow:inset 3px 3px 0 var(--snow), inset -3px -3px 0 var(--stone-light);margin:0;padding:16px 12px}
