*{box-sizing:border-box}html,body{margin:0;background:#05090e;color:#ecf3f7;font-family:Georgia,'Times New Roman',serif;height:100%;}body{display:grid;place-items:center}button,input,textarea{font:inherit}button{cursor:pointer;color:inherit;background:transparent;border:1px solid #8a9cac66;padding:12px 20px;transition:.2s}button:hover{background:#c9e6ff16;border-color:#d0e5f6}button:focus-visible{outline:2px solid #c8eaff;outline-offset:4px}#game{position:relative;width:min(100vw,177.7778vh);aspect-ratio:16/9;overflow:hidden;background:#101d2b}canvas{width:100%;height:100%;display:block}.vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 130px 40px #02070bd9}header{position:absolute;inset:30px 40px auto;display:flex;justify-content:space-between;align-items:center;z-index:3;font:12px Arial;letter-spacing:3px;color:#b0c3d0}.utility{display:flex;gap:10px}.utility button{font:11px Arial;letter-spacing:2px;padding:9px 12px;border:0}.screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(90deg,#030a1080,#09132333,#030a1080);z-index:4;padding:40px}.screen[hidden], [hidden]{display:none!important}.ornament{font-size:30px;color:#c7dce9;margin-bottom:13px}.eyebrow{font:11px Arial;letter-spacing:4px;color:#a8c5d6;margin:10px 0 20px}h1{font-size:clamp(30px,5vw,72px);font-weight:400;line-height:1.04;margin:0;text-shadow:0 3px 30px #02060b}h1 em{font-style:normal;color:#c9deea}h2{font-weight:400;font-size:34px;margin:10px 0 24px}.intro{font-size:17px;line-height:1.8;color:#b5c5d1;margin:24px 0}.primary{background:#dfebef;color:#14202b;border-color:#dfebef;min-width:210px;letter-spacing:1px}.primary:hover{background:white;color:#12202d}.controls{display:flex;gap:20px;margin-top:32px;font:12px Arial;color:#c4cdd3}.controls span{display:flex;gap:5px;align-items:center}kbd{font:11px Arial;border:1px solid #8495a660;padding:5px;min-width:22px;border-radius:3px}.quiet{border:0;font:12px Arial;color:#8da1b3;margin-top:25px;padding:5px}footer{position:absolute;bottom:22px;left:40px;right:40px;display:flex;justify-content:space-between;font:10px Arial;letter-spacing:2px;color:#8da3b3;z-index:3;pointer-events:none}footer span:last-child{font-size:8px;letter-spacing:1px}#hud{position:absolute;top:85px;left:50px;z-index:2}#health{font-size:29px;letter-spacing:8px;text-shadow:0 0 12px #d9f3ff}#resource{font:9px Arial;letter-spacing:2px;color:#a0b6c8}.soul{height:4px;width:180px;background:#ffffff20;margin:8px 0}.soul span{display:block;height:100%;background:#d5efff;width:0;transition:width .2s}#bossbar{position:absolute;bottom:65px;left:30%;width:40%;text-align:center}#bossname{font-size:24px;letter-spacing:3px;margin:10px}.bar{height:5px;background:#ffffff20;border:1px solid #c4d9e43b}.bar span{display:block;height:100%;background:#d2e3eb;transition:width .1s}.reward-key{font:23px monospace;letter-spacing:2px;background:#071018bb;padding:17px 25px;border:1px solid #e0f0ff55;user-select:all;margin:12px}.reward-note{max-width:520px;line-height:1.6;color:#bfccd4}.screen .actions{margin-top:20px}.actions{display:flex;gap:12px;justify-content:center}dialog{background:#0d1823;color:#e4eef3;border:1px solid #7890a1;width:min(540px,94vw);max-height:90vh;padding:32px}dialog::backdrop{background:#000c;backdrop-filter:blur(7px)}label{display:block;font:14px Arial;margin:16px 0;color:#c5d7e2}input,textarea{display:block;width:100%;background:#07111b;color:#e5f1f8;border:1px solid #4c6172;margin-top:8px;padding:12px;border-radius:0}textarea{resize:vertical;min-height:70px}.note{font:12px/1.6 Arial;color:#9dafbd}#touch{display:none;position:absolute;bottom:40px;left:15px;right:15px;z-index:3;gap:8px;justify-content:space-between}#touch button{touch-action:none;padding:12px;background:#07101c77;font:12px Arial}#copyStatus{font:13px Arial}@media(pointer:coarse){#touch{display:flex}#bossbar{bottom:105px}.controls{display:none}}@media(max-width:700px){header{inset:12px 16px auto}.chapter{font-size:9px;letter-spacing:1px}.utility button{font-size:9px;padding:6px}.screen{padding:35px 15px}.ornament{display:none}.eyebrow{font-size:8px;margin:5px 0 12px;letter-spacing:2px}h1{font-size:35px}.intro{font-size:13px;margin:12px}.primary{padding:10px;font-size:13px}.quiet{margin-top:10px}.controls{gap:9px;margin-top:15px;font-size:10px}footer{bottom:10px;left:16px;right:16px;font-size:8px}footer span:last-child{display:none}#hud{top:43px;left:20px}#health{font-size:20px}#bossname{font-size:18px}.reward-key{font-size:14px;margin:6px;padding:10px}.reward-note{font-size:12px;margin:8px}h2{font-size:26px;margin:8px}#resource{font-size:8px}.soul{width:130px}}
.screen.reward{justify-content:flex-start;overflow-y:auto;padding:55px 20px 75px;background:#040c15e6}.reward .ornament{font-size:20px;margin:0}.reward .eyebrow{margin:12px 0 6px}.reward h2{margin:8px 0}.reward .reward-note{margin:8px 0}.reward .reward-key{margin:10px;padding:12px 20px}.reward button{padding:9px 18px}.reward .note{margin:3px 0}@media(max-width:700px){.screen.reward{padding:30px 15px 55px}}
/* Combat-focused interface */
header{inset:18px 24px auto}.chapter{display:none}.utility{margin-left:auto}.utility button{background:#040a1033}h1{font-variant:small-caps;letter-spacing:3px;font-size:clamp(40px,6vw,78px)}.subtitle{font-variant:small-caps;font-size:32px;letter-spacing:7px;margin:8px 0 34px;color:#c6d4dc}.screen{background:#03091266}.controls{gap:14px;margin-top:28px}.quiet{margin-top:22px}#hud{top:32px;left:42px;display:grid;grid-template-columns:64px auto;grid-template-rows:50px 30px;align-items:center;gap:0 9px}#health{display:flex;gap:6px;letter-spacing:0;height:42px;grid-column:2}#health .mask{width:27px;height:39px;object-fit:contain;filter:drop-shadow(0 0 3px #bfe0f577)}#health .empty{opacity:.15;filter:grayscale(1)}#crest{width:60px;height:60px;object-fit:cover;object-position:left;grid-column:1;grid-row:1/3;max-width:60px}#hud.soul-hud #crest{display:none}#hud.soul-hud #health{grid-column:1/3}#hud.soul-hud .soul{grid-column:1/3;width:165px;margin-left:0;height:7px;border:1px solid #acc2cf60;border-radius:10px;overflow:hidden}.soul-hud #spool{display:none}.silk-hud .soul{display:none}#spool{position:relative;width:172px;height:47px;grid-column:2;align-self:start;margin-top:-4px}#spool img{position:absolute;left:0;top:0;width:172px;height:47px;object-fit:fill}#spoolClip{position:absolute;inset:0}#spoolBase{opacity:.9}#spoolClip img{top:-10px;height:65px}#resource{display:none}#musicPanel{position:absolute;right:22px;bottom:18px;width:310px;z-index:8;background:#07101bdd;padding:8px;border:1px solid #a7b4be33}#musicFrame{width:100%;height:42px;border:0}#musicSource{display:block;color:#91a5b2;font:10px Arial;margin-top:5px;text-decoration:none}.credits{font:11px/1.5 Arial;color:#8195a6;margin:22px 0 0}.credits a{color:#a9c0d0}.vignette{box-shadow:inset 0 0 100px 25px #02070baa}.screen.reward{background:#040c15df}.reward .eyebrow{font-size:13px}.reward-key{font-size:24px}#touch{gap:4px;bottom:13px}#touch button{padding:12px 9px;min-width:35px;background:#0b1526b0}
@media(max-width:700px){h1{font-size:37px}.subtitle{font-size:22px;margin:8px 0 22px}.controls{gap:7px;flex-wrap:wrap;justify-content:center;font-size:10px}#hud{top:16px;left:15px;transform:scale(.65);transform-origin:top left}.utility button{padding:7px;font-size:9px}.screen{padding-top:45px}#musicPanel{width:270px;right:12px;bottom:9px}.credits{font-size:10px}}

/* Original artwork and top-left HUD composition. */
#hud{top:25px;left:30px;display:block;width:360px;height:140px;transform-origin:top left}
#health{position:absolute;left:105px;top:20px;gap:8px;height:42px}
#health .mask{width:31px;height:42px;filter:drop-shadow(0 1px 3px #000)}
#health .empty{opacity:.22;filter:brightness(.4)}
#hud.soul-hud .soul{position:absolute;left:0;top:0;width:171px;height:107px;margin:0;border:0;border-radius:0;background:none;overflow:visible}
#soulVessel{position:absolute;width:171px;height:107px}
.soul-well{position:absolute;left:8px;top:20px;width:78px;height:78px;border-radius:50%;overflow:hidden;background:#17151e}
#hud .soul #soul{position:absolute;bottom:0;left:0;width:100%;height:33%;background:none;overflow:hidden;transition:height .15s}
#soulFill{position:absolute;bottom:-9px;left:-8px;width:171px;height:107px;max-width:none}
#geo{position:absolute;top:105px;left:29px;display:flex;align-items:center;gap:11px;font:26px Georgia;color:#e2e5e7;text-shadow:0 2px 3px #000}
#geo img{width:22px;height:28px;object-fit:contain}
#hud.silk-hud #geo{display:none}#hud.silk-hud #health{left:76px;top:12px}
#crest{position:absolute;left:0;top:0;width:70px;height:85px;object-fit:contain;max-width:none}
#spool{position:absolute;left:72px;top:55px;width:190px;height:52px;margin:0}
#spool img{width:190px;height:52px}#spoolClip img{height:71px}
.in-combat header{opacity:0;transition:opacity .2s}.in-combat header:hover,.in-combat header:focus-within{opacity:1}
.screen .primary{background:transparent;color:#eef1f4;border:0;font-size:29px;letter-spacing:2px;text-shadow:0 2px 8px #000}
.screen .primary:hover{background:transparent;color:#fff}.screen .primary:hover::before{content:'›';margin-right:18px}.screen .primary:hover::after{content:'‹';margin-left:18px}
@media(max-width:700px){#hud{top:12px;left:14px;transform:scale(.65)}}

#hud{transform:scale(.8);transform-origin:top left}.title-screen{background:radial-gradient(ellipse at 50% 35%,#020b1444,#02070de6);padding:0;justify-content:flex-start}.title-screen .menu-logo{position:absolute;top:12%;left:27%;width:46%;height:30%;display:flex;align-items:center;justify-content:center}.menu-logo h1{font-family:Georgia,serif;color:#f5f6f8;line-height:.82;letter-spacing:8px;text-shadow:0 0 14px #b9d6ec44}.menu-logo h1 span{display:block;font-size:clamp(30px,4.8vw,64px);font-weight:400;letter-spacing:6px}.menu-logo h1 strong{display:block;font-size:clamp(50px,8.6vw,112px);font-weight:400;letter-spacing:4px}.title-screen nav{position:absolute;top:53%;left:25%;width:50%;display:flex;flex-direction:column;align-items:center;gap:6px}.title-screen nav button,.menu-prompt{border:0;min-width:240px;padding:9px 30px;background:none;font:24px Georgia;letter-spacing:1px;color:#e7e8eb;text-shadow:0 2px 8px #000}.title-screen nav button:hover,.title-screen nav button:focus-visible{background:none;color:white;outline:0}.title-screen nav button:focus-visible::before,.title-screen nav button:hover::before{content:'❧';display:inline-block;position:absolute;left:18%;transform:rotate(180deg)}.title-screen nav button:focus-visible::after,.title-screen nav button:hover::after{content:'❧';display:inline-block;position:absolute;right:18%}.menu-prompt{position:absolute;top:62%;left:25%;width:50%;font-size:21px;animation:prompt-breathe 3s infinite}.gift-setup{position:absolute;left:25px;bottom:18px;font-size:11px;margin:0}.menu-version{position:absolute;right:25px;bottom:20px;color:#748798;font:11px Georgia}.title-screen~header{display:none}@keyframes prompt-breathe{50%{opacity:.45}}#game:has(.title-screen:not([hidden])) header{opacity:0;pointer-events:none}@media(max-width:700px){#hud{transform:scale(.53)}.title-screen nav button{font-size:16px;min-width:180px;padding:6px 20px}.title-screen nav{gap:0;top:51%}.menu-prompt{font-size:16px}.menu-logo h1 span{font-size:28px}.menu-logo h1 strong{font-size:49px}.menu-logo h1{letter-spacing:1px}}

.title-screen{background:transparent}.title-screen .menu-logo{top:11%;left:25%;width:50%;height:34%;display:flex;flex-direction:column;gap:0}#logoTop{width:49%;height:13%;object-fit:contain}#logoHollow{width:57%;height:24%;object-fit:fill}#logoKnight{width:88%;height:39%;object-fit:fill}#logoBottom{width:87%;height:29%;object-fit:fill}.title-screen nav button:focus-visible::before,.title-screen nav button:hover::before,.title-screen nav button:focus-visible::after,.title-screen nav button:hover::after{content:'';width:62px;height:20px;background-image:var(--menu-fleur);background-repeat:no-repeat;background-size:contain;top:auto;margin-top:4px;filter:drop-shadow(0 0 4px #fff5)}.title-screen nav button:focus-visible::before,.title-screen nav button:hover::before{left:19%;transform:none}.title-screen nav button:focus-visible::after,.title-screen nav button:hover::after{right:19%;transform:scaleX(-1)}
/* The paper begins the hunt. No visible instructions or titles. */
[hidden]{display:none!important}#game.hunt-active>header,#game.hunt-active>#screen,#game.hunt-active>#touch,#game.hunt-active>.vignette{display:none!important}
#hunt{position:absolute;inset:0;z-index:20;background:#000;color:#fff;font-family:'Courier New',monospace;overflow:hidden;user-select:none}#hunt button{font:inherit;border:2px solid #fff;border-radius:0;background:#000;color:#fff;box-shadow:none;text-transform:none;letter-spacing:0}#hunt button:hover,#hunt button:focus-visible{color:#ffed42;border-color:#ffed42;outline:none}
#huntGate{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:12px}#huntCode{width:42%;max-width:460px;background:#000;border:0;border-bottom:2px solid #fff;border-radius:0;color:#fff;font:clamp(14px,2vw,25px) 'Courier New',monospace;outline:none;padding:12px;letter-spacing:2px}#huntGate button{font-size:28px;padding:3px 15px}#huntGate.invalid{animation:huntShake .35s}#huntGate.invalid input{border-color:#f33}
#huntStage{position:absolute;inset:0}#battleBox{position:absolute;width:28%;aspect-ratio:1;left:23%;top:24%;border:5px solid #fff;transform-origin:center;animation:boxSpawn 1s cubic-bezier(.16,1,.3,1) both;transition:opacity .6s,transform .6s}#huntHeart{position:absolute;left:50%;top:50%;width:22px;height:22px;background:#f0192b;clip-path:polygon(0 20%,20% 0,40% 0,50% 15%,60% 0,80% 0,100% 20%,100% 50%,50% 100%,0 50%);transform:translate(-50%,-50%);animation:heartSpawn 1.6s .6s both;filter:drop-shadow(0 0 12px #f22)}#huntHeart.ready{animation:heartBeat 1.7s infinite}
#huntNarrator{position:absolute;left:61%;top:30%;width:32%;min-height:120px;padding:24px 22px 24px 40px;border:3px solid #fff;background:#000;font-size:clamp(12px,1.8vw,23px);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;box-shadow:8px 8px 0 #171717}#huntNarrator:before{content:'';position:absolute;left:-13px;top:25px;width:20px;height:20px;background:#000;border-left:3px solid #fff;border-bottom:3px solid #fff;transform:rotate(45deg)}.dialogue-star{position:absolute;left:15px}#huntNext{position:absolute;bottom:4px;right:12px;animation:nextBlink 1s infinite}
#huntBoard{position:absolute;left:23%;top:23%;width:28%;aspect-ratio:1;transition:opacity .55s,transform .55s}#huntCells{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr))}#huntCells button{display:grid;place-items:center;padding:0;margin:0;border:0;min-width:0;min-height:0;width:100%;height:100%;line-height:1;font-size:clamp(28px,5vw,65px);transition:background .15s;overflow:hidden}#huntCells button:nth-child(3n+2){border-left:3px solid #fff;border-right:3px solid #fff}#huntCells button:nth-child(n+4):nth-child(-n+6){border-top:3px solid #fff;border-bottom:3px solid #fff}#huntCells button:disabled{opacity:1;cursor:default}#huntCells button.mark-x,#huntCells button.mark-x:disabled{color:#54aaff}#huntCells button.mark-o,#huntCells button.mark-o:disabled{color:#ff535d}#huntCells button.placed{animation:markInk .2s both}#huntBoard.drawing{animation:boardDraw .8s both}#huntWin{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}#huntWin line{stroke:#54aaff;stroke-width:7;stroke-linecap:round;opacity:0}#huntBoard.won #huntWin line{animation:winLine .6s both}#huntBoard.dismissed{opacity:0;transform:translateY(12px) scale(.96);pointer-events:none}#huntWand{position:absolute;font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;font-size:clamp(30px,5vw,64px);line-height:1;pointer-events:none;z-index:3;filter:drop-shadow(0 0 9px #c9a5ff);transform-origin:80% 80%}#huntWand.casting{animation:wandCast 2.1s both}#huntWand.departing{animation:wandDepart .7s both}#huntMagic{position:absolute;color:#d9bdff;font-size:clamp(30px,6vw,76px);line-height:1;pointer-events:none;z-index:4;transform:translate(-50%,-50%);text-shadow:0 0 18px #b287ff,0 0 32px #fff}#huntMagic.burst{animation:magicBurst 1.1s both}#huntCells button.transmuting{animation:markTransmute .4s both}#huntCells button.enchanted{animation:markEnchanted .8s both}

#huntChoices{position:absolute;left:20%;top:73%;width:36%;display:flex;gap:22px;justify-content:center}#huntChoices button{font-size:clamp(14px,2vw,24px);padding:9px 18px;position:relative}#huntGiveUp.vanish{animation:giveVanish .45s both;pointer-events:none}#huntInsist.hit{animation:huntShake .22s}#huntInsist:after{content:'';position:absolute;inset:0;pointer-events:none;opacity:var(--crack,0);background:linear-gradient(63deg,transparent 48%,#fff 49%,#fff 50%,transparent 51%),linear-gradient(140deg,transparent 57%,#fff 58%,#fff 59%,transparent 60%)}#huntInsist.broken{animation:buttonBreak .65s both;pointer-events:none}.button-shard{position:absolute;width:18px;height:8px;border:1px solid #fff;left:var(--x);top:78%;animation:shardFly .8s both;pointer-events:none}#hunt.leaving{animation:huntExit 1.3s forwards}#huntNarrator.bump{animation:markAppear .16s}
@keyframes boxSpawn{0%{transform:scaleX(.03) scaleY(.015);opacity:0}20%{opacity:1;transform:scaleX(1.3) scaleY(.015)}55%{transform:scaleX(1) scaleY(.02)}100%{transform:scale(1)}}@keyframes heartSpawn{0%,35%{opacity:0;transform:translate(-50%,-50%) scale(4) rotate(-15deg)}70%{opacity:1;transform:translate(-50%,-50%) scale(.8)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes heartBeat{50%{transform:translate(-50%,-50%) scale(1.1)}}@keyframes huntShake{20%,60%{transform:translateX(-5px) rotate(-2deg)}40%,80%{transform:translateX(5px) rotate(2deg)}}@keyframes boardDraw{0%{clip-path:inset(0 100% 100% 0)}100%{clip-path:inset(0)}}@keyframes markAppear{from{transform:scale(.8);opacity:.2}to{transform:scale(1);opacity:1}}@keyframes nextBlink{50%{opacity:.3}}@keyframes extraMark{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes winLine{from{opacity:0;stroke-dasharray:0 1000}to{opacity:1;stroke-dasharray:1000 0}}@keyframes giveVanish{30%{transform:translateY(-10px) rotate(-7deg)}100%{transform:translateY(60px) rotate(25deg) scale(.2);opacity:0}}@keyframes buttonBreak{30%{transform:scale(1.1) rotate(-5deg)}100%{transform:scale(.1) rotate(30deg);opacity:0}}@keyframes shardFly{to{transform:translate(var(--dx),var(--dy)) rotate(200deg);opacity:0}}@keyframes huntExit{40%{filter:blur(4px)}100%{opacity:0;filter:blur(20px)}}
@media(max-width:650px){#battleBox,#huntBoard{left:15%;top:18%;width:32%}#huntNarrator{left:56%;top:19%;width:39%;min-height:85px;padding:12px 10px 15px 25px;border-width:2px;font-size:clamp(10px,2vw,14px)}.dialogue-star{left:8px}#huntNarrator:before{width:12px;height:12px;left:-8px;border-width:2px}#huntChoices{left:12%;width:42%;top:77%;gap:10px}#huntChoices button{padding:4px 10px}#huntHeart{width:14px;height:14px}#battleBox{border-width:3px}}
@media(prefers-reduced-motion:reduce){#hunt *,#hunt{animation-duration:.01s!important;animation-iteration-count:1!important;transition-duration:.01s!important}}

#huntChoices.appearing{animation:choicesAppear 1.15s both}
@keyframes markInk{from{opacity:0;text-shadow:0 0 12px currentColor}to{opacity:1;text-shadow:none}}@keyframes wandCast{0%{opacity:0;transform:translate(-160%,-180%) rotate(-50deg) scale(.4)}35%{opacity:1;transform:translate(-15%,-100%) rotate(15deg) scale(1)}48%{transform:translate(-15%,-100%) rotate(-25deg)}65%{transform:translate(-15%,-75%) rotate(25deg)}85%,100%{opacity:1;transform:translate(-15%,-100%) rotate(8deg)}}@keyframes wandDepart{to{opacity:0;transform:translate(50%,-150%) rotate(40deg) scale(.7)}}@keyframes magicBurst{0%{opacity:0;transform:translate(-50%,-50%) scale(.2) rotate(-45deg)}25%{opacity:1;transform:translate(-50%,-50%) scale(1.5) rotate(15deg)}100%{opacity:0;transform:translate(-50%,-50%) scale(2.2) rotate(90deg)}}@keyframes markTransmute{50%{color:#eee;text-shadow:0 0 20px #fff;opacity:.7}100%{opacity:0}}@keyframes markEnchanted{0%{color:#fff;opacity:0;text-shadow:0 0 25px #fff}35%{opacity:1;color:#fff}100%{opacity:1;color:#54aaff;text-shadow:none}}@keyframes choicesAppear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

#battleBox{touch-action:none}#huntWords{font-weight:700;letter-spacing:.025em;text-shadow:0 0 1px #fff}#huntNarrator{border-color:#fff;box-shadow:8px 8px 0 #171717,0 0 18px #ffffff0a}

#gearStage{position:absolute;inset:0;background:#000;z-index:8;animation:choicesAppear .7s both}#gearCanvas{width:100%;height:100%;touch-action:none;cursor:grab}#gearCanvas:active{cursor:grabbing}#hunt.rummaging{animation:gearRumble 2.4s both}.gear-key{position:absolute;transform:translate(-50%,-50%);width:6%;height:10%;opacity:0;pointer-events:none;padding:0!important}.gear-key:focus-visible{opacity:1;outline:2px solid #ffeb94!important;background:transparent!important;border:0!important;border-radius:50%!important}#gearKeys{position:absolute;inset:0;pointer-events:none}@keyframes gearRumble{0%,100%{transform:translate(0)}10%,30%,50%,70%{transform:translate(-5px,3px)}20%,40%,60%,80%{transform:translate(5px,-3px)}85%{transform:translate(-3px,1px)}95%{transform:translate(2px,-1px)}}

#shadowStage{position:absolute;inset:0;z-index:9;background:#020307;animation:choicesAppear 1s both}#shadowCanvas{width:100%;height:100%;touch-action:none;cursor:grab}#shadowCanvas:active{cursor:grabbing}#shadowKeys{position:absolute;inset:0;pointer-events:none}.shadow-key{position:absolute;transform:translate(-50%,-50%);width:9%;height:16%;opacity:0;pointer-events:none;background:transparent!important;border:0!important}.shadow-key:focus-visible{opacity:1;border:2px solid #e8e5c9!important;border-radius:50%!important;outline:0!important}

#mathStage{position:absolute;inset:0;z-index:3;pointer-events:none}#mathEquation{position:absolute;left:8%;top:33%;width:47%;text-align:center;color:#f1f1f1;font:bold clamp(19px,3.4vw,43px) 'Courier New',monospace;letter-spacing:.02em}#mathEquation.math-ink{animation:markInk .65s both}#mathForm{position:absolute;left:18%;top:52%;width:28%;display:flex;align-items:center;gap:12px;pointer-events:auto}#mathAnswer{width:100%;min-width:0;border:0;border-bottom:2px solid #fff;background:#000;color:#fff;font:bold clamp(18px,2.5vw,30px) 'Courier New',monospace;text-align:center;outline:none;padding:10px}#mathForm button{font-size:clamp(18px,2.5vw,30px);padding:3px 12px}#huntNarrator{z-index:4}

#riemannStage{position:absolute;left:5%;top:14%;width:49%;height:77%;z-index:3;text-align:center;font-family:'Courier New',monospace}#riemannStage h2{font:bold clamp(18px,2.4vw,30px) 'Courier New',monospace;margin:0 0 18px}.riemann-formula{font:clamp(18px,2.4vw,30px) Georgia,serif;line-height:1.7}.riemann-formula span{font-size:1.25em}#riemannStage p{font-size:clamp(11px,1.4vw,18px);line-height:1.4;margin:15px 0}#riemannProof{width:100%;height:clamp(55px,17vh,145px);min-height:0;background:#030303;border:2px solid #fff;color:#fff;resize:none;font:clamp(12px,1.4vw,18px) 'Courier New',monospace}#riemannForm button{font-size:clamp(12px,1.4vw,18px);margin-top:10px;padding:8px 14px}#captchaStage{position:absolute;left:14%;top:17%;width:36%;height:75%;z-index:3;font-family:Arial,sans-serif}#captchaCheck{position:absolute;left:3%;top:30%;width:94%;padding:22px!important;font:clamp(15px,2vw,25px) Arial,sans-serif!important;display:flex;align-items:center;gap:18px;text-align:left}#captchaTick{font-size:1.8em}#captchaPuzzle{height:100%;display:flex;flex-direction:column}#captchaPrompt{margin:0;background:#253957;padding:14px;min-height:64px;font:bold clamp(12px,1.5vw,20px) Arial,sans-serif;line-height:1.3}#captchaTiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));height:66%;min-height:0;gap:4px;padding:4px;background:#fff}#captchaTiles .captcha-tile{position:relative;min-height:0;min-width:0;padding:8px;background:#15202d;border:0;overflow:hidden}#captchaTiles .captcha-tile img{height:100%;width:100%;object-fit:contain;pointer-events:none;transition:transform .2s}#captchaTiles .captcha-tile.selected{box-shadow:inset 0 0 0 5px #82bcff}#captchaTiles .captcha-tile.selected img{transform:scale(.85)}#captchaVerify{align-self:flex-end;margin-top:10px;padding:9px 18px!important;font:bold clamp(12px,1.5vw,18px) Arial,sans-serif!important}@media(max-width:650px){#riemannStage{top:8%;height:86%}#riemannStage h2{margin-bottom:6px}#riemannStage p{margin:4px 0}#riemannProof{height:50px;padding:5px}#riemannForm button{padding:3px 8px;margin-top:3px}#captchaStage{top:9%;height:84%;width:38%}#captchaPrompt{padding:6px;min-height:35px}#captchaTiles{gap:2px;padding:2px}#captchaVerify{padding:3px 9px!important;margin-top:4px}}

#captchaTiles .captcha-symbol{display:grid;place-items:center;height:100%;font:clamp(20px,4.5vw,58px) 'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;transition:transform .2s}#captchaTiles .selected .captcha-symbol{transform:scale(.8)}#captchaPuzzle.captcha-failed{animation:huntShake .4s}
#showStage{position:absolute;inset:0;z-index:3;background:radial-gradient(ellipse at 50% 20%,#16376a 0,#09152b 45%,#02040b 85%);font-family:Arial,sans-serif;animation:choicesAppear .8s both}#showBoard{position:absolute;left:8%;top:7%;width:84%;height:49%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}#showBoard .show-category{display:grid;grid-template-rows:1.1fr repeat(3,1fr);gap:6px;min-width:0}#showBoard h3{display:grid;place-items:center;text-align:center;background:#173466;color:#f1f1f6;font:700 clamp(12px,1.8vw,23px) Arial,sans-serif;margin:0;padding:7px;line-height:1.15}#showBoard button{background:#0b2858;border:2px solid #365991;color:#eacb7d;font:bold clamp(20px,3.5vw,45px) Georgia,serif;min-height:0;padding:0;transition:background .2s}#showBoard button:hover{background:#23477d}#showBoard button:disabled{background:#091c3b;border-color:#1e3556;cursor:default}#showContestants{position:absolute;left:8%;top:60%;width:84%;height:14%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.show-contestant{background:#101f36;border:1px solid #6a7a91;border-bottom:5px solid #bba16c;display:grid;grid-template-columns:auto 1fr;grid-template-rows:1fr 1fr;align-items:center;padding:8px;gap:0 9px;font-size:clamp(11px,1.4vw,18px);color:#d8dce3}.show-object{grid-row:span 2;font-size:clamp(24px,4vw,48px);animation:objectBob 3s infinite}.show-contestant:nth-child(2) .show-object{animation-delay:.4s}.show-contestant:nth-child(3) .show-object{animation-delay:.8s}.show-contestant:nth-child(4) .show-object{animation-delay:1.2s}.show-contestant strong{color:#f4ce72;font:bold clamp(17px,2.5vw,32px) Georgia,serif}#hunt.show-mode #huntNarrator{left:9%;top:78%;width:82%;min-height:0;padding:15px 25px 18px 40px;font-size:clamp(12px,1.6vw,20px);border-color:#bfcce1;background:#040b17;box-shadow:0 0 22px #2d619c33}#hunt.show-mode #huntNarrator:before{display:none}#showQuestion{position:absolute;left:10%;top:6%;width:80%;height:49%;padding:14px 20px;background:#0c2246;border:2px solid #8194b4;display:flex;flex-direction:column;align-items:center;text-align:center}#showValue{font:bold clamp(16px,2vw,26px) Georgia,serif;color:#f1cd77}#showPrompt{font:bold clamp(16px,2.5vw,32px) Arial,sans-serif;margin:12px 0;line-height:1.2}#showAssumption{font:clamp(11px,1.35vw,17px) Arial,sans-serif;color:#b7c7df;line-height:1.3}#showAnswers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:auto;padding-top:12px;width:100%}#showAnswers button{background:#183861;border:1px solid #7d96bb;padding:9px;color:#f7f5f1;font:clamp(12px,1.5vw,20px) Arial,sans-serif;line-height:1.2}#showAnswers button:disabled{opacity:.65;cursor:default}#showAnswers button:hover{background:#345a8a}@keyframes objectBob{50%{transform:translateY(-4px) rotate(3deg)}}@media(max-width:650px){#showBoard{gap:4px;top:5%;height:50%}#showBoard .show-category{gap:3px}#showBoard h3{font-size:10px;padding:4px}#showContestants{gap:4px;height:17%;top:59%}.show-contestant{padding:3px;gap:0 3px;font-size:9px;border-bottom-width:2px}.show-object{font-size:22px}.show-contestant strong{font-size:16px}#hunt.show-mode #huntNarrator{top:78%;padding:7px 10px 10px 25px;font-size:10px;line-height:1.2}#showQuestion{padding:5px 9px;height:50%}#showPrompt{font-size:13px;margin:4px 0}#showAssumption{font-size:9px}#showAnswers{gap:4px;padding-top:5px}#showAnswers button{font-size:10px;padding:4px}#showValue{font-size:13px}}
/* Television studio: retain the real set behind illuminated game panels. */
#showStage{background-image:linear-gradient(180deg,#03061118,#03061138 65%,#01030bea),var(--show-venue);background-size:cover;background-position:center 55%;overflow:hidden;isolation:isolate}
#showBoard,#showQuestion,#showContestants{z-index:2}
#showBoard{left:12%;width:76%;top:6%;height:47%;padding:10px;background:#030b18b8;border:2px solid #dfbf77;border-radius:10px;box-shadow:0 0 0 4px #080c17,0 0 28px #ffd36e55,0 16px 32px #000b}
#showBoard h3{background:linear-gradient(#24568d,#122944);border-bottom:2px solid #f2c363;text-shadow:0 2px 3px #000}
#showBoard button{background:linear-gradient(#163970f0,#071b3fed);border-color:#4e80c3;box-shadow:inset 0 0 12px #5194fa26;text-shadow:0 3px 3px #000}
#showQuestion{background:linear-gradient(145deg,#102e50f5,#030d20f5);border-color:#efcc85;border-radius:12px;box-shadow:0 0 0 4px #0a111e,0 0 28px #d4a85455,0 14px 40px #000b}
.show-contestant{background:linear-gradient(160deg,#213b54ee,#06101ef5);border:2px solid #ba9857;border-bottom:5px solid #e6ba5c;border-radius:8px 8px 2px 2px;box-shadow:0 10px 15px #0008,inset 0 0 18px #e8c16b18}
.show-contestant:first-child{border-color:#7cd9f3;box-shadow:0 0 17px #58dcff44,0 10px 15px #0008}
.show-lights{position:absolute;inset:0;pointer-events:none;z-index:1;opacity:.24;transition:opacity 2s;mix-blend-mode:screen}
.show-lights i{position:absolute;top:-12%;left:12%;width:30%;height:125%;background:linear-gradient(#fff2a670,transparent);clip-path:polygon(47% 0,53% 0,100% 100%,0 100%);transform-origin:50% 0;filter:blur(2px);animation:showSweep 7s ease-in-out infinite alternate}
.show-lights i:nth-child(2){left:62%;animation-delay:-3s;background:linear-gradient(#84dfff90,transparent)}
.show-lights i:nth-child(3){left:32%;animation-delay:-5s;background:linear-gradient(#ff87b560,transparent)}
.show-lights i:nth-child(4){left:48%;animation-delay:-1s}
.show-opening .show-lights{opacity:.9}
.show-curtains{position:absolute;inset:0;z-index:5;pointer-events:none;display:none}
.show-opening .show-curtains{display:flex}
.show-curtains i{width:50%;height:100%;background:repeating-linear-gradient(90deg,#21070d,#61132b 8%,#a43046 13%,#3b0818 20%);box-shadow:inset -12px 0 30px #0009,0 0 30px #000;animation:curtainLeft 2.3s .15s cubic-bezier(.6,0,.15,1) both}
.show-curtains i+ i{animation-name:curtainRight}
#showConfetti{position:absolute;inset:0;pointer-events:none;z-index:4;display:none}
.show-opening #showConfetti{display:block}
#showConfetti i{position:absolute;left:var(--x);top:-8%;width:7px;height:13px;animation:showConfettiFall 5s var(--delay) linear both;box-shadow:0 0 4px #fff3}
.show-opening #showContestants .show-contestant{animation:podiumEntrance 1s 2s both}
.show-opening #showContestants .show-contestant:nth-child(2){animation-delay:2.25s}
.show-opening #showContestants .show-contestant:nth-child(3){animation-delay:2.5s}
.show-opening #showContestants .show-contestant:nth-child(4){animation-delay:2.75s}
@keyframes showSweep{from{transform:rotate(-32deg)}to{transform:rotate(28deg)}}
@keyframes curtainLeft{to{transform:translateX(-105%)}}
@keyframes curtainRight{to{transform:translateX(105%)}}
@keyframes showConfettiFall{0%{transform:translate(0,-20px) rotate(0);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translate(var(--drift),850px) rotate(var(--turn));opacity:0}}
@keyframes podiumEntrance{from{opacity:0;transform:translateY(80px) scale(.8)}to{opacity:1;transform:none}}
@media(max-width:650px){#showBoard{left:8%;width:84%;padding:4px;top:5%;height:50%;border-width:1px}.show-contestant{border-width:1px;border-bottom-width:2px}}
@media(prefers-reduced-motion:reduce){.show-lights i,.show-curtains i,.show-opening #showContestants .show-contestant{animation:none}.show-curtains{visibility:hidden}#showConfetti{visibility:hidden}}

#narratorBossStage{position:absolute;inset:0;z-index:3;background:#020205}#narratorBossCanvas{touch-action:none}#hunt.narrator-boss-mode #huntNarrator{left:16%;top:77%;width:68%;min-height:0;padding:14px 24px 16px 42px;font-size:clamp(12px,1.65vw,21px);border:2px solid #cbbec4;background:#030205f5;box-shadow:5px 5px 0 #191019}#hunt.narrator-boss-mode #huntNarrator:before{display:none}@media(max-width:650px){#hunt.narrator-boss-mode #huntNarrator{left:12%;width:76%;top:78%;font-size:11px;padding:8px 12px 10px 27px}}
#hunt.handoff-mode{background:linear-gradient(0deg,#020609ee,#02060944);animation:handoffAppear .6s both}#hunt.handoff-mode #huntNarrator{left:19%;width:62%;top:68%;min-height:0;padding:20px 30px 24px 48px;font-size:clamp(13px,1.8vw,23px);background:#020407ee}#hunt.handoff-mode #huntNarrator:before{display:none}
#game.transferring:after{content:'';position:absolute;inset:0;z-index:9;pointer-events:none;background:radial-gradient(ellipse at center,#d5ebe533,#010508 62%);animation:kingdomFade 2.4s both}
.screen.final-reveal{background:radial-gradient(ellipse at 50% 42%,#213d3888,#03090eee 75%);gap:12px;animation:handoffAppear .9s both;overflow:auto}.final-reveal h2{animation:giftHeading 1.3s both;margin:4px}.final-reveal .reward-note{margin:0}.reward-seal{position:absolute;left:calc(50% - 35px);top:calc(50% - 35px);font-size:70px;color:#e9e6c9;text-shadow:0 0 30px #d9eddf;pointer-events:none;animation:sealOpen 1.8s both}.reward-keys{display:flex;gap:24px;width:min(850px,94%);justify-content:center}.reward-card{flex:1;min-width:0;padding:22px 18px;background:linear-gradient(145deg,#203837ba,#081316e6);border:1px solid #bacdc180;box-shadow:0 0 28px #c8dfbc14;animation:keyReveal 1.1s var(--reveal-delay) both}.reward-card .eyebrow{margin:0 0 16px;color:#e0e7d4;font-size:14px;letter-spacing:2px}.reward-card .reward-key{font-size:clamp(13px,1.6vw,22px);padding:14px 4px;overflow-wrap:anywhere;background:#020a1090;min-height:54px;display:grid;place-items:center}.reward-card button{font-size:13px;padding:9px 18px}.reward-replay{margin-top:10px;animation:keyReveal .7s 2.5s both}
@keyframes handoffAppear{from{opacity:0}to{opacity:1}}@keyframes kingdomFade{0%,100%{opacity:0}40%,60%{opacity:1}}@keyframes sealOpen{0%{opacity:0;transform:scale(.2) rotate(-90deg)}40%{opacity:1;transform:scale(1) rotate(0)}100%{opacity:0;transform:scale(4) rotate(75deg)}}@keyframes giftHeading{0%,35%{opacity:0;transform:translateY(12px)}100%{opacity:1;transform:none}}@keyframes keyReveal{from{opacity:0;transform:translateY(24px);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
@media(max-width:650px){.reward-keys{gap:10px;width:96%}.reward-card{padding:12px 7px}.reward-card .eyebrow{font-size:11px;margin-bottom:8px}.reward-card .reward-key{font-size:11px;min-height:38px;padding:8px 2px}.final-reveal h2{font-size:22px}.final-reveal{gap:6px}.reward-replay{padding:8px 16px}.reward-card button{font-size:11px;padding:5px 10px}#hunt.handoff-mode #huntNarrator{left:12%;width:76%;font-size:12px;padding:10px 14px 14px 28px}}
@media(prefers-reduced-motion:reduce){.reward-seal{display:none}.reward-card,.reward-replay,.final-reveal h2{animation-duration:.01s;transform:none;filter:none}}
#hunt.brother-mode #huntNarrator,#hunt.brother-mode #huntWords{font-family:'Comic Sans MS','Gift Comic','Comic Sans',cursive;letter-spacing:0}#hunt.brother-mode #huntNarrator{border-color:#f4d582;box-shadow:5px 5px 0 #3b284c;color:#fff3dc}#hunt.brother-mode .dialogue-star{color:#ffd26a}

#narratorHealth{position:absolute;left:30%;top:5%;width:40%;height:10px;border:1px solid #d6bcb4;background:#1d0a11;z-index:2;box-shadow:0 0 18px #d4425240}#narratorHealth span{position:absolute;left:0;top:0;height:100%;width:100%}#narratorHealthTrail{background:#f4bf8d}#narratorHealthFill{background:linear-gradient(90deg,#a71535,#ef4361);box-shadow:0 0 12px #fa4661}
