:root{color-scheme:dark;--ink:#20112f;--purple:#bf98ec;--paper:#f5edf9;--lime:#e0edb0;--muted:#bbaac7;--line:rgba(245,237,249,.17);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--paper);background:var(--ink);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-width:280px;background:radial-gradient(ellipse at 5% 85%,#352044 0,transparent 55%),var(--ink)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:3px solid var(--lime);outline-offset:4px}button{touch-action:manipulation}button[hidden],*[hidden]{display:none!important}.app-shell{max-width:1440px;margin:auto;padding:0 40px}.masthead{height:92px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:12px}.brand{color:var(--paper);text-decoration:none;display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600;letter-spacing:.02em}.brand-mark{font:italic 40px/1 Georgia,serif;color:var(--purple)}nav{display:flex;gap:8px}.icon-button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--paper);font-size:22px;position:relative}.icon-button:hover{background:#ffffff0d}.sound-slash{position:absolute;left:12px;top:6px;font-size:25px;color:var(--purple)}.icon-button[aria-pressed=true] .sound-slash{display:none}#game{min-height:calc(100svh - 142px);display:flex;align-items:center;padding:30px 0}.adventure{width:100%;display:grid;grid-template-columns:minmax(0,1.13fr) minmax(320px,.87fr);gap:clamp(28px,5vw,80px);align-items:center}.scene-wrap{position:relative;align-self:stretch;min-height:520px}.scene{position:absolute;inset:0;background-color:#694887;background-image:url('assets/scene-atlas.webp');background-size:300% 200%;background-position:0 0;border-radius:160px 160px 24px 24px;overflow:hidden;box-shadow:0 30px 90px #12071b50}.scene:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 60%,#20112f88)}.scene-tag{position:absolute;left:24px;bottom:24px;display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:30px;background:#20112fd9;border:1px solid #f5edf930;font-size:12px;backdrop-filter:blur(12px)}.scene-dot{width:7px;height:7px;background:var(--lime);border-radius:50%}.scene-stamp{position:absolute;right:-15px;top:32px;width:90px;height:90px;display:grid;place-content:center;background:var(--lime);color:var(--ink);border-radius:50%;font:italic 16px/1.2 Georgia,serif;transform:rotate(11deg);text-align:center;box-shadow:0 3px 20px #20112f30}.dossier{padding:14px 0;min-width:0}.dedication{color:var(--purple);font-size:14px;margin:0 0 17px}.intro-title{font:normal clamp(48px,5.5vw,78px)/.98 Georgia,serif;letter-spacing:-.055em;margin:0 0 24px}.intro-title span{display:block}.intro-copy{font-size:16px;line-height:1.7;color:#ded0e8;max-width:390px;margin:0 0 24px}.intro-copy strong{color:var(--paper);font-weight:500}.mission-note{display:flex;gap:12px;border-left:2px solid var(--purple);padding:2px 0 2px 16px;margin:22px 0 28px;line-height:1.5;font-size:13px;color:var(--muted)}.mission-note b{font-weight:500;color:var(--paper)}.primary,.secondary{min-height:52px;display:flex;align-items:center;justify-content:center;gap:12px;width:100%;border:0;border-radius:13px;padding:14px 20px;font-weight:650;font-size:15px}.primary{background:var(--lime);color:var(--ink);box-shadow:0 7px 20px #0c03152b}.primary:hover{background:#edf7cc;transform:translateY(-1px)}.primary:active{transform:translateY(1px)}.secondary{background:transparent;color:var(--purple);margin-top:8px;border:1px solid var(--line)}.button-note{text-align:center;font-size:12px;color:var(--muted);margin:12px 0 0}.intro-actions{max-width:390px}.page-footer{height:50px;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#a693b5;gap:12px}.page-footer span span{color:var(--purple);font-size:15px;margin-left:3px}.status-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.time-badge{color:var(--lime);font-size:13px;display:flex;align-items:center;gap:7px}.hearts{letter-spacing:4px;font-size:19px;color:var(--purple);white-space:nowrap}.heart-lost{color:#72607e}.timeline{display:flex;gap:5px;margin-bottom:23px}.timeline-step{height:4px;background:#ffffff20;border-radius:3px;flex:1}.timeline-step.done{background:var(--purple)}.timeline-step.current{background:var(--lime)}.case-count{font-size:12px;color:var(--purple);margin:0 0 9px}.case-title{font:normal clamp(28px,3.1vw,43px)/1.12 Georgia,serif;letter-spacing:-.035em;margin:0 0 14px}.case-text{line-height:1.55;font-size:15px;color:#e1d3e9;margin:0 0 14px}.clue{font-size:12px;color:var(--muted);line-height:1.45;margin:0 0 16px;display:flex;gap:7px}.clue>span{color:var(--purple)}.choices{display:grid;gap:9px}.choice{min-height:53px;display:flex;align-items:center;text-align:left;gap:12px;padding:12px 15px;color:var(--paper);border:1px solid #d5b8e539;background:#ffffff05;border-radius:12px;font-size:14px;line-height:1.35}.choice:hover:not(:disabled){background:#bf98ec20;border-color:var(--purple)}.choice:active:not(:disabled){background:#bf98ec35}.choice-icon{display:grid;place-items:center;flex:0 0 29px;height:29px;border-radius:8px;background:#bf98ec15;font-size:17px}.choice-key{margin-left:auto;color:#bbaac780;font-size:10px}.choice.selected{background:#bf98ec2b;border-color:var(--purple)}.choice:disabled{opacity:.5}.feedback{padding:14px 16px;border-radius:12px;background:#bf98ec16;border:1px solid #bf98ec44;margin:12px 0;font-size:14px;line-height:1.5}.feedback.success{background:#e0edb012;border-color:#e0edb04a;color:var(--lime)}.feedback.error{background:#f39cc012;border-color:#f39cc04a;color:#f2b7cf}.progress-note{font-size:12px;color:var(--purple);margin:12px 0}.score-line{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:19px;border-top:1px solid var(--line);padding-top:14px}.ending-title{font:normal clamp(36px,4.5vw,60px)/1.05 Georgia,serif;letter-spacing:-.04em;margin:12px 0 20px}.ending-copy{color:#ded0e8;line-height:1.65;font-size:15px;margin-bottom:25px}.ending-score{font-size:14px;color:var(--purple);margin:0 0 24px}.ending-score b{font:normal 32px Georgia,serif;color:var(--lime);margin-right:8px}.ending-ribbon{color:var(--lime);font-size:13px}.airport-ticket{border:1px dashed #bf98ec70;border-radius:12px;padding:15px;margin:18px 0 24px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted)}.airport-ticket b{font:normal 27px Georgia,serif;color:var(--paper);display:block;margin-top:4px}.ticket-plane{font-size:25px;color:var(--lime)}dialog{padding:0;border:1px solid #bf98ec5c;border-radius:22px;background:#2c193c;color:var(--paper);width:min(440px,calc(100vw - 32px));max-height:calc(100svh - 32px);box-shadow:0 28px 130px #08020dd0}dialog::backdrop{background:#10071bc7;backdrop-filter:blur(7px)}.dialog-content{padding:28px}.dialog-symbol{font-size:38px;display:block;margin-bottom:15px}.dialog-title{font:normal 33px/1.1 Georgia,serif;letter-spacing:-.03em;margin:0 0 16px}.dialog-text{font-size:14px;line-height:1.65;color:#ded0e8;margin:0 0 20px}.help-list{padding-left:20px;margin:0 0 23px;font-size:14px;color:#ded0e8;line-height:1.7}.help-list li+li{margin-top:10px}.dialog-alert{border-color:#eb96cb}.hack-countdown{margin:0 0 14px;color:var(--lime);font-size:13px}.dialog-content .choices{margin-bottom:12px}.hack-caption{color:#c8b3d5;font-size:11px;margin:13px 0 0;line-height:1.5}#celebration{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:5}.storage-note{font-size:12px;color:#e9bfd4;line-height:1.4;margin-top:12px}.motion-in{animation:scene-in .35s ease-out}@keyframes scene-in{from{opacity:.2;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1100px){.scene-wrap{max-height:690px;height:min(70vh,690px)}.dossier{max-width:460px}.scene{border-radius:190px 190px 26px 26px}}
@media(max-width:767px){.app-shell{padding:0 20px}.masthead{height:69px}.brand{font-size:12px;gap:8px}.brand-mark{font-size:33px}nav{gap:5px}.icon-button{height:44px;width:44px;font-size:20px}#game{padding:21px 0 10px;min-height:calc(100svh - 109px);align-items:start}.adventure{grid-template-columns:1fr;gap:20px}.scene-wrap{min-height:0;height:clamp(180px,29svh,310px);margin:0 5px}.scene{border-radius:75px 75px 19px 19px;background-size:300% 200%}.scene-stamp{height:68px;width:68px;right:-9px;top:14px;font-size:13px}.scene-tag{left:14px;bottom:12px;padding:7px 11px;font-size:10px}.dossier{padding:0 0 6px}.dedication{font-size:12px;margin-bottom:9px}.intro-title{font-size:clamp(41px,10.6vw,64px);margin-bottom:14px;letter-spacing:-.055em}.intro-title span{display:inline}.intro-title span+span:before{content:' '}.intro-copy{font-size:14px;line-height:1.55;margin-bottom:17px;max-width:none}.mission-note{font-size:12px;margin:14px 0 18px;padding-left:12px}.intro-actions{max-width:none}.primary,.secondary{min-height:49px;padding:12px 16px;font-size:14px}.button-note{font-size:10px;margin-top:9px}.page-footer{height:40px;font-size:9px}.status-top{margin-bottom:11px}.hearts{font-size:17px}.timeline{margin-bottom:15px}.case-count{font-size:11px;margin-bottom:7px}.case-title{font-size:30px;margin-bottom:9px}.case-text{font-size:14px;line-height:1.48;margin-bottom:10px}.clue{font-size:11px;margin-bottom:12px}.choices{gap:7px}.choice{min-height:49px;padding:9px 12px;font-size:13px;gap:10px}.choice-icon{height:27px;flex-basis:27px}.choice-key{display:none}.feedback{font-size:13px;padding:10px 13px;margin:10px 0}.score-line{font-size:10px;margin-top:14px;padding-top:10px}.ending-title{font-size:39px;margin:10px 0 13px}.ending-copy{font-size:14px;line-height:1.5;margin:0 0 16px}.ending-score{margin-bottom:16px}.airport-ticket{margin:12px 0 18px;padding:12px}.dialog-content{padding:23px}.dialog-title{font-size:29px}.dialog-symbol{font-size:31px;margin-bottom:11px}}
@media(max-width:380px){.app-shell{padding:0 15px}.brand{font-size:11px}.masthead{height:62px}.brand-mark{font-size:30px}.icon-button{width:44px;height:44px}#game{padding-top:15px}.adventure{gap:14px}.scene-wrap{height:clamp(155px,26svh,230px)}.intro-title{font-size:39px}.intro-copy{font-size:13px}.mission-note{font-size:11px;margin:12px 0 14px}.case-title{font-size:27px}.case-text{font-size:13px}.case-count{font-size:10px}.choice{font-size:12px;min-height:46px;padding:8px 10px}.timeline{margin-bottom:12px}.score-line{margin-top:11px}.ending-title{font-size:34px}.ending-copy{font-size:13px}.intro .scene-wrap{height:180px}.intro .mission-note{display:none}.intro .intro-copy{margin-bottom:14px}.page-footer{font-size:9px}}
.scene{background-image:none}.scene:before{content:"";position:absolute;left:0;top:50%;width:100%;aspect-ratio:1;background-image:url('assets/scene-atlas.webp');background-size:300% 200%;background-position:inherit;transform:translateY(-50%)}
@media(min-width:768px){.scene-wrap{min-height:0;height:auto;max-height:none;aspect-ratio:1;align-self:center}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.primary:hover{transform:none}}
.mission-game{width:100%;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);grid-template-rows:auto 1fr;gap:20px 55px;align-items:center}.mission-heading{grid-column:2;align-self:end}.mission-topline{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.mission-topline .case-count{margin:0;line-height:1.5}.mission-instruction{font:normal clamp(28px,3vw,41px)/1.15 Georgia,serif;letter-spacing:-.025em;margin:0 0 20px;max-width:460px}.mission-heading .timeline{margin-bottom:0}.playfield{grid-column:1;grid-row:1/3;position:relative;aspect-ratio:1;border-radius:35px;overflow:hidden;isolation:isolate;box-shadow:0 24px 80px #0d041855;border:1px solid #d4b4ed40}.playfield-art{position:absolute;inset:0;background:url('assets/scene-atlas.webp') var(--scene-position)/300% 200%;z-index:-2}.playfield-shade{position:absolute;inset:0;background:linear-gradient(#20112f0a,#20112f05 50%,#20112f66);z-index:-1}.scene-object{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:82px;height:89px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:0;color:#20112f;background:#f5edf9eb;border-radius:19px;box-shadow:0 5px 0 #50306391,0 7px 18px #1d0d3f45;filter:drop-shadow(0 0 3px #fff7);transition:opacity .2s,filter .2s;isolation:isolate;padding:5px 4px 4px;touch-action:manipulation}.scene-object svg{width:55px;height:55px;overflow:visible;filter:drop-shadow(0 2px 0 #47285320)}.object-label{font-size:10px;font-weight:750;line-height:1.1;text-align:center;max-width:80px;color:#482656;margin-top:3px}.scene-object:hover:not(:disabled){background:#fff;filter:drop-shadow(0 0 7px #e0edb0)}.scene-object:active:not(:disabled){transform:translate(-50%,-50%) scale(.9)}.scene-object.collected{opacity:.27;box-shadow:none;filter:none;background:#e0edb0;transform:translate(-50%,-50%) scale(.84)}.scene-object.collected .object-label{color:#20112f}.scene-object:disabled:not(.collected){opacity:.65}.target-glow{outline:3px solid #e0edb0;box-shadow:0 0 0 7px #e0edb03d,0 5px 20px #1a052580;animation:tap-glow 1.3s infinite}.tap-cue{position:absolute;bottom:calc(100% + 7px);background:#e0edb0;color:#20112f;white-space:nowrap;border-radius:15px;padding:5px 8px;font-size:10px;font-weight:700;box-shadow:0 2px 7px #20112f45}.tap-cue:after{content:'';position:absolute;left:calc(50% - 4px);bottom:-4px;width:8px;height:8px;background:#e0edb0;transform:rotate(45deg)}.stage-caption{position:absolute;left:15px;bottom:11px;font-size:10px;color:#fff;text-shadow:0 1px 5px #20112f;font-weight:600}.mission-bottom{grid-column:2;align-self:start;min-width:0}.wendy-says{position:relative;display:flex;align-items:center;gap:12px;padding:15px 0;font-size:14px;line-height:1.5;min-height:85px}.wendy-says p{margin:0;color:#e6d8ed}.speech-avatar{flex:0 0 40px;height:40px;border-radius:50%;background:#bf98ec25;color:#d2b1ef;display:grid;place-items:center;font:italic 27px Georgia,serif;border:1px solid #bf98ec4d}.wendy-says.success p{color:var(--lime)}.wendy-says.error p{color:#ffb6d5}.inventory{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;font-size:12px}.inventory-name{color:#cbb8d8;white-space:nowrap}.inventory-checks{display:flex;gap:4px}.inventory-slot{width:25px;height:28px;border-radius:7px;border:1px dashed #bf98ec67;display:grid;place-items:center;color:#987daa;font-size:19px;line-height:1}.inventory-slot.filled{border-style:solid;background:#bf98ec22;color:var(--lime);border-color:#bf98ec90}.inventory strong{font-size:12px;color:var(--purple)}.mini-score{margin-left:auto;color:#cbb8d8;font-size:10px}.next-scene{margin-top:17px}.game-clock{text-align:center;font-size:10px;color:#ad95bf;margin-top:12px}.coin-counter{position:absolute;top:13px;left:13px;display:flex;flex-direction:column;text-align:center;background:#20112fed;border:1px solid #e0edb0aa;border-radius:14px;padding:9px 16px;line-height:1.2;color:#e0edb0;box-shadow:0 4px 17px #20112f55}.coin-counter span{font-size:9px;color:#f5edf9}.coin-counter b{font:normal 34px Georgia,serif}.coin-counter small{font-size:9px}.memory-card{height:103px;width:76px;border-radius:12px;background:#f2e4fa;box-shadow:0 5px 0 #80599e,0 6px 20px #20112f70}.memory-card svg{height:68px;width:59px}.memory-card.collected{opacity:.63;transform:translate(-50%,-50%)}.rhythm-note{position:absolute;color:#e0edb0;font-size:36px;text-shadow:0 3px 8px #20112f;animation:dance-note 1s ease-in-out infinite alternate}.note-a{top:16%;left:12%}.note-b{top:14%;right:12%;animation-delay:.3s}.flying-object{position:fixed;pointer-events:none;z-index:20;color:#e0edb0;font-size:40px;text-shadow:0 0 15px #e0edb0}.skull-field{position:relative;height:270px;background:radial-gradient(ellipse at center,#a869b740,#20112f 80%);border:1px solid #d99ed43d;border-radius:19px;overflow:hidden;margin-bottom:12px}.skull-field .scene-object{width:78px;height:88px;background:#56306a;border:2px solid #eab3dd;box-shadow:0 5px 0 #251031,0 5px 25px #ea85cb30;border-radius:12px}.skull-field .object-label{color:#f5edf9;font-size:10px}.skull-field .scene-object:before{content:'● ● ●';position:absolute;top:0;left:0;right:0;padding:2px 5px;background:#a96eab;color:#f5edf9;text-align:left;font-size:7px;border-radius:9px 9px 0 0}.skull-field .scene-object svg{width:48px;height:48px;margin-top:7px}.skull-field .scene-object.collected{transform:translate(-50%,-50%) scale(.1);opacity:0}.hack-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#e0edb0;margin-bottom:10px}.hack-top .hack-countdown{margin:0}.karl-taunt{position:absolute;top:8px;left:13px;color:#cf9bdc;font-size:11px;font-style:italic;pointer-events:none}.hacker-character{position:absolute;left:30%;top:9%;width:44%;height:72%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 6px 14px #10041e);opacity:.95}.robbery-bar{height:5px;background:#ffffff22;border-radius:5px;margin:0 0 14px;overflow:hidden}.robbery-bar span{display:block;height:100%;width:100%;background:#ec9acb;transform-origin:left}.dialog-alert .dialog-title{font-size:28px;margin-bottom:10px}.dialog-alert .dialog-text{font-size:13px;line-height:1.45;margin-bottom:12px}
@keyframes tap-glow{50%{box-shadow:0 0 0 10px #e0edb018,0 5px 20px #1a052580}}@keyframes dance-note{to{transform:translateY(-8px) rotate(12deg)}}
@media(max-width:767px){.masthead{height:58px}.page-footer{height:30px}#game{padding:13px 0 8px;min-height:calc(100svh - 88px)}.mission-game{display:flex;flex-direction:column;gap:11px;align-items:stretch}.mission-heading{width:100%;align-self:auto}.mission-topline{margin-bottom:7px}.mission-topline .case-count{font-size:10px}.mission-topline .hearts{font-size:15px;letter-spacing:2px}.mission-instruction{font-size:22px;line-height:1.18;letter-spacing:-.02em;margin:0 0 10px;min-height:51px;max-width:none}.mission-heading .timeline{margin:0;gap:4px}.playfield{width:100%;aspect-ratio:1;border-radius:22px;flex:none}.scene-object{width:65px;height:73px;border-radius:14px;padding:4px 3px}.scene-object svg{width:43px;height:43px}.object-label{font-size:8px;max-width:62px}.tap-cue{font-size:9px;padding:4px 6px;bottom:calc(100% + 5px)}.mission-bottom{width:100%}.wendy-says{min-height:0;padding:0 1px 10px;gap:9px;font-size:11px;line-height:1.4}.speech-avatar{flex-basis:28px;height:28px;font-size:20px}.inventory{padding:9px 0;gap:8px;font-size:10px}.inventory-slot{height:23px;width:23px;font-size:17px}.inventory strong{font-size:10px}.mini-score{font-size:9px}.next-scene{margin-top:10px}.game-clock{font-size:8px;margin-top:7px}.stage-caption{font-size:8px;bottom:8px;left:10px}.coin-counter{padding:7px 12px;top:9px;left:9px;border-radius:11px}.coin-counter b{font-size:27px}.memory-card{height:86px;width:65px;border-radius:10px}.memory-card svg{height:58px;width:48px}.skull-field{height:240px}.dialog-alert .dialog-content{padding:20px}.dialog-alert .dialog-title{font-size:25px}.skull-field .scene-object{width:66px;height:77px}.skull-field .scene-object svg{width:39px;height:39px}.skull-field .object-label{font-size:8px}.dialog-alert .secondary{min-height:46px}.intro .scene-wrap{height:clamp(230px,38svh,350px);margin:0}.intro .scene{border-radius:85px 85px 22px 22px}.intro .intro-title{font-size:39px}.intro .intro-copy{font-size:13px}.intro .dedication{margin-bottom:6px}.intro .mission-note{display:none}}
@media(max-width:360px){.app-shell{padding:0 13px}.mission-instruction{font-size:21px}.mission-topline .case-count{font-size:9px}.mission-game{gap:10px}.scene-object{width:61px;height:69px}.scene-object svg{width:40px;height:40px}.object-label{font-size:8px}.wendy-says{font-size:10px}.inventory{padding:8px 0}.scene-stamp{width:60px;height:60px;font-size:12px}.intro .intro-title{font-size:36px}.intro .scene-wrap{height:225px}.skull-field{height:220px}}
@media(prefers-reduced-motion:reduce){.target-glow,.rhythm-note{animation:none!important}.scene-object{transition:none}}
.mission-game.completed .mission-instruction{min-height:0}.mission-game.completed .scene-object:not(.collected){opacity:.23}.dialog-alert .skull-field .scene-object{z-index:2}.hacker-character{z-index:0}.karl-taunt{z-index:1}
@media(max-width:767px){.object-label{font-size:9px}.hacker-character{max-height:180px;top:6%;left:28%;width:48%;height:78%}}
.riddle-prompt{margin:0 0 8px;font-size:12px;color:var(--purple)}.riddle-clue{display:flex;align-items:flex-start;gap:10px;background:#bf98ec13;border:1px solid #bf98ec3d;border-radius:15px;padding:16px;margin:0 0 19px;color:#f5edf9;box-shadow:0 5px 16px #160b221a}.riddle-clue>span{font-size:22px;line-height:1;color:var(--lime)}.riddle-clue p{margin:0;font-size:15px;line-height:1.6}.riddle-prompt+.mission-instruction{margin-bottom:14px}.bomb-pop{position:fixed;inset:0;z-index:30;pointer-events:none;display:grid;place-items:center;background:#20112f22;animation:bomb-wash .85s ease-out both}.bomb-burst{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;color:#f5edf9;background:#20112fe8;padding:18px 30px 22px;border:2px solid #e7b1d6;border-radius:30px;box-shadow:0 15px 70px #0b011ca6;animation:bomb-bounce .85s ease-out both;max-width:85vw}.bomb-burst svg{width:106px;height:116px;filter:drop-shadow(0 4px 14px #bf98ec50)}.bomb-burst b{font:normal 24px Georgia,serif;text-align:center}.bomb-burst>span{color:#f3b7d9;font-size:14px;font-weight:700;margin-top:6px}.bomb-burst i{position:absolute;color:#e0edb0;font-size:28px;font-style:normal;animation:bomb-spark .8s ease-out both}.bomb-burst i:nth-of-type(1){left:-15px;top:10px;--dx:-30px;--dy:-35px}.bomb-burst i:nth-of-type(2){right:-15px;top:40px;--dx:35px;--dy:-15px}.bomb-burst i:nth-of-type(3){left:15px;bottom:-12px;--dx:-20px;--dy:30px}.bomb-burst i:nth-of-type(4){right:10px;bottom:-10px;--dx:28px;--dy:32px}@keyframes bomb-bounce{0%{transform:scale(.4) rotate(-10deg);opacity:0}22%{transform:scale(1.08) rotate(4deg);opacity:1}36%{transform:scale(.98) rotate(-2deg)}55%{transform:scale(1);opacity:1}100%{transform:scale(1.12);opacity:0}}@keyframes bomb-wash{0%,100%{background:#20112f00}25%,55%{background:#20112f35}}@keyframes bomb-spark{0%{transform:translate(0,0) scale(.1);opacity:0}25%{opacity:1}100%{transform:translate(var(--dx),var(--dy)) scale(1.4);opacity:0}}
@media(max-width:767px){.riddle-prompt{font-size:10px;margin-bottom:5px}.riddle-prompt+.mission-instruction{font-size:23px;min-height:0;margin-bottom:10px}.riddle-clue{padding:11px 12px;gap:8px;border-radius:12px;margin-bottom:11px}.riddle-clue p{font-size:12px;line-height:1.5}.riddle-clue>span{font-size:18px}.bomb-burst b{font-size:22px}.bomb-burst svg{width:93px;height:104px}}
@media(prefers-reduced-motion:reduce){.bomb-pop,.bomb-burst,.bomb-burst i{animation:none}.bomb-burst i{display:none}}
.playfield-art{background-image:url('assets/scene-backgrounds.webp')}.wendy-sprite{position:absolute;width:88%;aspect-ratio:1;left:-25%;bottom:-1%;background-image:url('assets/wendy-poses.webp');background-size:300% 200%;background-position:var(--pose-position);pointer-events:none;z-index:0;filter:drop-shadow(0 8px 6px #20112f45);transform-origin:50% 85%;animation:wendy-breathe 4s ease-in-out infinite}.scene-object{z-index:2}.wendy-sprite.pose-2{animation:wendy-happy .65s ease-out,wendy-breathe 4s .65s ease-in-out infinite}.wendy-sprite.pose-3{animation:wendy-surprise .5s ease-out,wendy-breathe 4s .5s ease-in-out infinite}.wendy-sprite.pose-4{animation:wendy-dance 1.15s ease-in-out 2}.wendy-sprite.pose-5{animation:wendy-happy .7s ease-out}.stage-caption{z-index:3}.rhythm-note{z-index:1}.coin-counter{z-index:4}@keyframes wendy-breathe{50%{transform:translateY(-1px) scaleY(1.012)}}@keyframes wendy-happy{30%{transform:translateY(-9px) rotate(-2deg)}65%{transform:translateY(-2px) rotate(1deg)}}@keyframes wendy-surprise{20%{transform:translateY(-12px) rotate(-4deg)}45%{transform:translateY(0) rotate(3deg)}70%{transform:rotate(-1deg)}}@keyframes wendy-dance{25%{transform:rotate(-4deg) translateY(-4px)}75%{transform:rotate(4deg) translateY(-7px)}}
.bomb-sequence{animation:none!important;background:#20112f0d}.bomb-sequence .bomb-burst{animation:bomb-arrive .22s ease-out both;overflow:visible;background:#20112fe0}.bomb-sequence .bomb-device{transform-origin:center;animation:bomb-tremble .15s linear infinite}.bomb-sequence .fuse-spark{animation:spark-flicker .11s steps(2,end) infinite}.bomb-sequence .bomb-heart{position:relative;z-index:3}.bomb-sequence .bomb-burst i{left:50%!important;right:auto!important;top:50%!important;bottom:auto!important;opacity:0;animation:none;transform:rotate(var(--angle)) translateX(10px)}.bomb-shockwave,.bomb-smoke{position:absolute;inset:20%;border:5px solid #eed5fb;border-radius:50%;opacity:0;pointer-events:none}.bomb-smoke{border:0;background:radial-gradient(ellipse,#e1bbf75c,transparent 70%);filter:blur(10px)}.bomb-pow{position:absolute;top:37%;left:50%;transform:translate(-50%,-50%) scale(.3) rotate(-9deg);opacity:0;color:#e0edb0;font:800 45px Georgia,serif;text-shadow:3px 3px 0 #713f8a;white-space:nowrap}.bomb-sequence.exploded{background:#bf98ec16}.bomb-sequence.exploded .bomb-device{animation:bomb-vanish .18s ease-out both}.bomb-sequence.exploded .bomb-pow{animation:bomb-pow .75s ease-out both}.bomb-sequence.exploded .bomb-shockwave{animation:shockwave .65s ease-out both}.bomb-sequence.exploded .bomb-smoke{animation:smoke-cloud .85s ease-out both}.bomb-sequence.exploded .bomb-burst i{animation:bomb-radial .8s var(--delay) ease-out both}.bomb-sequence.exploded .bomb-heart{animation:heart-lost .85s ease-out both}.bomb-sequence.exploded .bomb-burst{animation:bomb-finish .95s ease-out both}.stage-shake{animation:stage-shake .3s ease-out!important}@keyframes bomb-arrive{from{opacity:0;transform:scale(.65)}to{opacity:1;transform:scale(1)}}@keyframes bomb-tremble{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}@keyframes spark-flicker{50%{opacity:.3;stroke:#f3b7d9}}@keyframes bomb-vanish{to{transform:scale(1.3);opacity:0}}@keyframes bomb-pow{10%,60%{opacity:1;transform:translate(-50%,-50%) scale(1.1) rotate(-9deg)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.4) rotate(-9deg)}}@keyframes shockwave{10%{opacity:.85}100%{transform:scale(4);opacity:0}}@keyframes smoke-cloud{15%{opacity:.8}100%{transform:scale(5);opacity:0}}@keyframes bomb-radial{0%{opacity:0;transform:rotate(var(--angle)) translateX(20px)}20%{opacity:1}100%{opacity:0;transform:rotate(var(--angle)) translateX(140px) rotate(90deg)}}@keyframes heart-lost{20%{opacity:1}100%{transform:translateY(-75px);opacity:0}}@keyframes bomb-finish{65%{opacity:1}100%{opacity:0}}@keyframes stage-shake{15%,65%{transform:translateX(-4px)}40%,85%{transform:translateX(4px)}}
@media(prefers-reduced-motion:reduce){.wendy-sprite,.stage-shake,.bomb-sequence *{animation:none!important;transition:none!important}.bomb-sequence.exploded .bomb-device{opacity:0}.bomb-sequence.exploded .bomb-pow{opacity:1;transform:translate(-50%,-50%)}.bomb-sequence .bomb-burst i,.bomb-shockwave,.bomb-smoke{display:none}}
.dialog-encounter{width:min(480px,calc(100vw - 28px));border-color:#c7a8e7}.dialog-encounter .dialog-content{padding:23px}.encounter-kicker{margin:0 0 7px;color:#c9a7e7;font-size:11px}.dialog-encounter .dialog-title{font-size:31px;margin-bottom:15px}.encounter-stage{height:210px;border-radius:18px;position:relative;overflow:hidden;isolation:isolate;margin-bottom:15px;border:1px solid #bf98ec40}.encounter-art{position:absolute;width:100%;aspect-ratio:1;left:0;top:50%;transform:translateY(-50%);background:url('assets/scene-backgrounds.webp') 0 0/300% 200%;z-index:-2}.encounter-stage:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(transparent 65%,#20112fba);z-index:0}.encounter-stage .wendy-sprite{width:78%;left:-11%;bottom:-15%;z-index:0}.encounter-hacker{position:absolute;right:3%;bottom:4%;height:91%;max-width:50%;object-fit:contain;filter:drop-shadow(0 4px 9px #20112f60)}.encounter-caption{position:absolute;left:14px;right:14px;bottom:10px;font-size:10px;color:#f5edf9;text-shadow:0 1px 5px #20112f;z-index:2}.encounter-question{font-size:13px;line-height:1.5;color:#e7d8ef;margin:0 0 13px}.encounter-paths{display:grid;gap:8px}.path-choice{display:flex;align-items:center;text-align:left;gap:12px;min-height:52px;width:100%;padding:9px 13px;background:#bf98ec12;color:#f5edf9;border:1px solid #bf98ec4d;border-radius:12px;font-size:13px}.path-choice:hover{background:#bf98ec30;border-color:#e0edb0}.path-choice:active{transform:scale(.98)}.path-symbol{display:grid;place-items:center;width:30px;font-size:24px}.path-choice strong{font-weight:600}.path-arrow{margin-left:auto;color:#e0edb0;font-size:21px}.path-note{margin:11px 0 0;font-size:10px;color:#bea4cf;text-align:center}.encounter-outcome>strong{color:#e0edb0;font-size:13px}.encounter-outcome>p{font-size:14px;line-height:1.6;margin:10px 0 14px;color:#eadff0}.encounter-clue{border-top:1px solid #bf98ec40;margin:4px 0 15px;padding-top:11px;font-size:12px;line-height:1.5;color:#d6b5ed}.encounter-clue summary{cursor:pointer;min-height:32px;touch-action:manipulation}.encounter-clue p{color:#f5edf9;margin:7px 0}.encounter-notes{position:absolute;right:12%;top:14%;font-size:29px;color:#e0edb0;word-spacing:12px;animation:dance-note .7s ease-in-out infinite alternate}.encounter-result .wendy-sprite.pose-4{animation:wendy-dance 1.15s ease-in-out 3}
@media(max-width:767px){.dialog-encounter .dialog-content{padding:18px}.dialog-encounter .dialog-title{font-size:27px;margin-bottom:12px}.encounter-stage{height:180px;margin-bottom:12px}.encounter-stage .wendy-sprite{width:80%;bottom:-20%;left:-12%}.encounter-question{font-size:12px;margin-bottom:10px}.path-choice{min-height:48px;font-size:12px;padding:8px 11px}.encounter-outcome>p{font-size:13px;line-height:1.5}.encounter-kicker{font-size:10px}}
@media(prefers-reduced-motion:reduce){.encounter-notes,.encounter-result .wendy-sprite{animation:none!important}.path-choice:active{transform:none}}
.encounter-stage .wendy-sprite{width:230px;left:-24px;bottom:-22px}.encounter-clue summary{min-height:44px;padding:8px 0}
@media(max-width:767px){.encounter-stage .wendy-sprite{width:190px;left:-17px;bottom:-12px}}
body{--mood-glow:#503266;--day-glow:#a876c51a;transition:background-color .8s}body[data-dayphase=morning]{--day-glow:#edc7a51b}body[data-dayphase=noon]{--day-glow:#e9d99d18}body[data-dayphase=sunset]{--day-glow:#e89ca923}body[data-dayphase=night]{--day-glow:#7689da1e}body[data-mood=financial]{--mood-glow:#394b5b}body[data-mood=speaking]{--mood-glow:#56335f}body[data-mood=music]{--mood-glow:#682968}body[data-mood=airport]{--mood-glow:#384d66}body[data-mood=tea]{--mood-glow:#5a3e50}body{background:radial-gradient(ellipse at 5% 85%,var(--mood-glow) 0,transparent 55%),radial-gradient(ellipse at 90% 10%,var(--day-glow),transparent 60%),var(--ink)}.playfield-art,.encounter-art{transition:filter .7s}.playfield[data-dayphase=morning] .playfield-art,.encounter-stage[data-dayphase=morning] .encounter-art{filter:brightness(1.08) saturate(.98)}.playfield[data-dayphase=noon] .playfield-art,.encounter-stage[data-dayphase=noon] .encounter-art{filter:brightness(1.12) saturate(1.06)}.playfield[data-dayphase=sunset] .playfield-art,.encounter-stage[data-dayphase=sunset] .encounter-art{filter:brightness(1.03) saturate(1.12) sepia(.08)}.playfield[data-dayphase=night] .playfield-art,.encounter-stage[data-dayphase=night] .encounter-art{filter:brightness(.91) saturate(1.1)}.playfield:after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:var(--scene-light,transparent);mix-blend-mode:soft-light;transition:background .7s}.playfield[data-mood=financial]{--scene-light:linear-gradient(135deg,#e0edb026,transparent 70%)}.playfield[data-mood=music]{--scene-light:linear-gradient(125deg,#d27ce64d,transparent 70%)}.playfield[data-mood=airport]{--scene-light:linear-gradient(150deg,#9cc8ed30,transparent 65%)}.playfield[data-mood=mystery]{--scene-light:linear-gradient(135deg,#bf98ec24,transparent 70%)}.atmosphere-prop{position:absolute;right:4%;top:4%;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#e0edb0;background:#20112f66;opacity:.8;z-index:1;pointer-events:none;animation:idea-drift 4s ease-in-out infinite}.atmosphere-prop svg{width:25px;height:25px}.encounter-stage .atmosphere-prop{right:8%;top:14%;height:48px;width:48px;background:#20112f77;color:#e0edb0}.encounter-stage .atmosphere-prop svg{height:32px;width:32px}@keyframes idea-drift{50%{transform:translateY(-3px);opacity:1}}
.dialog-phone{width:min(460px,calc(100vw - 24px))}.dialog-phone .dialog-content{padding:21px}.dialog-phone .dialog-title{font-size:28px;margin-bottom:12px}.phone-scene{height:110px;margin-bottom:14px}.phone-scene .wendy-sprite{width:150px;left:1px;bottom:-27px}.phone-scene .encounter-caption{left:45%;bottom:12px;font-size:10px;line-height:1.4}.phone-scene .atmosphere-prop{top:21%;right:18%;width:52px;height:52px}.phone-frame{position:relative;border:5px solid #382441;background:#ebe2f2;color:#34203e;border-radius:29px;padding:10px 13px 16px;box-shadow:0 8px 0 #13091c55,0 15px 30px #1609233d;isolation:isolate}.phone-notch{position:absolute;top:-1px;left:calc(50% - 36px);width:72px;height:13px;background:#382441;border-radius:0 0 12px 12px}.phone-status{display:flex;justify-content:space-between;font-size:9px;font-weight:650;margin:1px 2px 12px;color:#765d82}.phone-contact{display:flex;align-items:center;gap:9px;padding:0 0 11px;border-bottom:1px solid #9a78b12f}.phone-avatar{height:33px;width:33px;flex:0 0 33px;background:#d3b8e4;border-radius:50%;color:#80509c;display:grid;place-items:center;overflow:hidden}.phone-avatar svg{width:25px;height:25px}.phone-contact strong{font-size:12px;font-weight:750;line-height:1.2;display:block}.phone-contact small{font-size:9px;color:#8c7299;display:block;margin-top:3px}.phone-lock{margin-left:auto;font-size:18px;color:#946bad}.phone-chat{padding:13px 0 9px}.phone-message{background:#fff9ff;border-radius:2px 15px 15px 15px;padding:12px 12px 8px;box-shadow:0 2px 5px #5b337511;font-size:13px;line-height:1.6;min-height:64px;color:#43284d;overflow-wrap:anywhere}.phone-text{white-space:pre-wrap}.phone-bubble-time{display:block;text-align:right;font-size:8px;color:#a58faf;margin-top:7px}.phone-typing{display:inline-flex;gap:4px;margin:8px 0 0;padding:8px 10px;background:#fff9ff;border-radius:10px;min-height:24px}.phone-typing i{width:5px;height:5px;border-radius:50%;background:#b08ac8;animation:typing-dot .8s infinite}.phone-typing i:nth-child(2){animation-delay:.15s}.phone-typing i:nth-child(3){animation-delay:.3s}.phone-reply-label{color:#8c6f9e;font-size:10px;margin:2px 0 8px}.phone-replies{display:grid;gap:7px}.phone-reply{display:flex;align-items:center;gap:9px;text-align:left;width:100%;min-height:46px;padding:8px 11px;border-radius:14px;border:1px solid #b99bc8;background:#e0d0ec;color:#57366c;font-size:12px;box-shadow:0 2px 0 #c8b2d5}.phone-reply strong{font-weight:650}.phone-reply .path-symbol{width:22px;font-size:20px}.phone-reply .path-arrow{color:#80509c;font-size:20px}.phone-reply:hover{background:#d6bfe8;border-color:#9265b0}.phone-reply:active{transform:translateY(1px)}.phone-home{height:4px;width:70px;border-radius:4px;background:#c2a6d2;margin:15px auto 0}.phone-sent{max-width:90%;margin:11px 0 0 auto;width:fit-content;background:#c7b0df;color:#4b2e61;font-size:11px;padding:9px 12px;line-height:1.4;border-radius:13px 2px 13px 13px}.phone-sent>span{font-size:8px;white-space:nowrap;margin-left:5px;color:#86619e}.phone-reward{padding:14px 0 11px}.phone-reward .encounter-clue{margin-bottom:0}@keyframes typing-dot{50%{opacity:.4;transform:translateY(-3px)}}
@media(max-width:767px){.dialog-phone .dialog-content{padding:16px}.dialog-phone .dialog-title{font-size:24px;margin-bottom:10px}.phone-scene{height:95px;margin-bottom:11px}.phone-scene .wendy-sprite{width:137px;left:0;bottom:-28px}.phone-frame{padding:9px 11px 12px;border-radius:25px;border-width:4px}.phone-message{font-size:12px;line-height:1.55;padding:10px 10px 7px;min-height:60px}.phone-reply{font-size:11px;min-height:44px;padding:8px 9px}.phone-contact strong{font-size:11px}.phone-status{margin-bottom:10px}.phone-chat{padding-top:11px}.phone-home{margin-top:12px}.phone-scene .encounter-caption{font-size:9px}.phone-scene .atmosphere-prop{height:43px;width:43px;right:15%}.atmosphere-prop{width:29px;height:29px;right:3%;top:3%}.atmosphere-prop svg{width:20px;height:20px}}
@media(prefers-reduced-motion:reduce){body,.playfield-art,.encounter-art,.playfield:after{transition:none}.atmosphere-prop,.phone-typing i{animation:none!important}}
.phone-text-wrap{display:grid}.phone-text-wrap>span{grid-area:1/1;white-space:pre-wrap}.phone-text-sizer{visibility:hidden}
.phone-scene .wendy-sprite{width:125px;left:8px;bottom:-16px}.playfield[data-mood=idea]{--scene-light:linear-gradient(125deg,#e0edb03b,transparent 70%)}body[data-mood=idea]{--mood-glow:#594658}
@media(max-width:767px){.phone-scene .wendy-sprite{width:110px;left:9px;bottom:-16px}}
