@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap');
:root{--cream:#f4f0e7;--ink:#25252a;--muted:#7f7b79;--berry:#8e3347;--lavender:#c9b5e4}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;background-image:radial-gradient(#695b4910 .7px,transparent .7px);background-size:5px 5px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #a67bc8;outline-offset:4px}button{touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.45}.page-shell{max-width:1272px;padding:0 48px;margin:auto}.masthead{height:90px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #2b232820}.brand{text-decoration:none;color:var(--ink);font-size:13px;letter-spacing:2px;font-weight:700}.brand-spark{color:var(--berry);font-size:26px;vertical-align:middle;margin-right:12px}.brand-light{font-weight:400;font-size:10px;letter-spacing:1.4px;margin-left:7px}.header-right{display:flex;align-items:center;gap:25px}.local-note,.eyebrow,.tiny-label,.scene-caption,footer,.note-symbol,.shop-tabs,.save-note{font-family:'Space Mono',monospace}.local-note{font-size:9px;letter-spacing:1px}.icon-button{border:1px solid #2b232826;background:transparent;width:38px;height:38px;border-radius:50%;font-size:19px;position:relative;color:inherit}.sound-slash{position:absolute;left:10px;top:8px;font-size:20px}.intro{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:39px 0 30px}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:700;margin:0 0 15px;color:var(--berry)}.eyebrow>span{display:inline-block;width:5px;height:5px;background:var(--berry);margin:0 7px 2px 0}h1{font-family:Georgia,serif;font-size:46px;letter-spacing:-2px;font-weight:400;line-height:1.1;margin:0 0 13px}h1 em{color:var(--berry);font-weight:400}.title-star{color:var(--berry);font-size:24px;display:inline-block;vertical-align:top;margin-left:12px;transform:rotate(15deg)}.subtitle{font-size:12px;color:var(--muted);margin:0}.wardrobe-button{border:1px solid #2b23282a;background:transparent;border-radius:5px;padding:13px 17px;font-size:11px;white-space:nowrap}.wardrobe-button>span:first-child{color:var(--berry);font-size:18px;margin-right:8px}.small-arrow{margin-left:14px;color:var(--muted)}.game-shell{background:#23232b;border:7px solid #25252c;border-radius:10px;box-shadow:0 17px 35px #29202b18;overflow:hidden;color:var(--cream)}.game-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 20px 17px}.tiny-label{display:block;font-size:8px;letter-spacing:1.3px;color:#a6a1a8;margin-bottom:6px}.location strong{font-size:13px;font-weight:500}.hud-stats{display:flex;gap:36px;margin-left:auto}.hud-stats strong{font-family:'Space Mono',monospace;font-size:17px;letter-spacing:-.8px}.hud-muted{font-size:12px;color:#a6a1a8}.hearts{color:#e894a0;letter-spacing:3px!important;font-size:15px!important}.pause-button{width:29px;height:29px;border-color:#ffffff25;margin-left:4px;font-size:15px}.canvas-wrap{position:relative;aspect-ratio:16/9;overflow:hidden;background:#2f2739;border-radius:4px}canvas{display:block;width:100%;height:100%;image-rendering:pixelated;touch-action:none}.game-overlay{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;background:linear-gradient(90deg,#1f172066,#23172512,#1f172044);padding:25px}.game-overlay:empty{display:none}.overlay-card{width:420px;max-width:100%;color:var(--cream);text-align:center;background:#22212bee;border:1px solid #b0a4bc43;border-radius:10px;padding:25px 30px;box-shadow:0 15px 70px #09060c55;backdrop-filter:blur(7px)}.overlay-kicker{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:2px;color:#d7bbd2;margin-bottom:12px}.overlay-card h2{font-family:Georgia,serif;font-size:36px;font-weight:400;margin:0 0 12px;line-height:1.05}.overlay-card h2 em{color:#e8b7c0}.overlay-card p{color:#c3bec7;font-size:12px;line-height:1.65;margin:10px 0 16px}.overlay-card .tutorial-list{text-align:left;display:grid;gap:10px;border-top:1px solid #ffffff15;border-bottom:1px solid #ffffff15;padding:14px 0;margin:16px 0;font-size:11px;color:#d9d4de}.tutorial-list b{display:inline-block;color:#edc4cd;width:24px}.primary-button{width:100%;padding:13px 20px;border:1px solid #c5657a;background:#983d54;color:#fff9ee;border-radius:5px;font-size:12px;font-weight:600;box-shadow:0 3px 0 #591f35;transition:background .15s}.primary-button:hover{background:#ae4c65}.secondary-button{width:100%;padding:10px;background:none;border:1px solid #ffffff30;color:#d8d0dd;border-radius:5px;margin-top:9px;font-size:11px}.overlay-footer{font-family:'Space Mono',monospace!important;font-size:8px!important;letter-spacing:.5px;margin:13px 0 0!important}.scene-caption{position:absolute;bottom:12px;left:16px;color:#e5d6daaa;font-size:7px;letter-spacing:1.2px;pointer-events:none}.live-dot{display:inline-block;width:4px;height:4px;background:#dfafbd;margin-right:7px;vertical-align:middle}.game-bottom{display:flex;justify-content:space-between;align-items:center;padding:13px 17px 7px;gap:10px}.key-hint{display:flex;align-items:center;gap:5px;font-size:9px;color:#a29ca7}kbd{font:9px 'Space Mono',monospace;display:inline-flex;justify-content:center;align-items:center;width:19px;height:19px;border:1px solid #ffffff2a;border-radius:3px;color:#ddd5df}.key-hint>span{margin:0 4px}.bank{display:flex;align-items:center;gap:7px;font-size:9px;color:#b8b1bd}.bank strong{font-family:'Space Mono',monospace;color:#e7cd94;font-size:12px}.coin-icon{color:#e7cd94;font-size:18px}.text-button{border:0;background:none;color:inherit;font-size:9px;padding:6px}.bank .text-button{color:#ddd4e2;margin-left:12px}.touch-controls{display:none}.notes{display:grid;grid-template-columns:repeat(3,1fr);gap:23px;margin:31px 0 36px}.notes>div{display:flex;gap:12px;align-items:flex-start}.note-symbol{width:29px;height:29px;flex-shrink:0;background:#e7e1d6;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px}.note-symbol.lavender{color:#775285;background:#e7deed;font-size:16px}.note-symbol.red{background:#eedde0;color:var(--berry);font-size:12px}.notes p{margin:0;color:var(--muted);font-size:10px;line-height:1.8}.notes strong{font-size:11px;color:#555056;font-weight:500}footer{border-top:1px solid #2b232820;padding:22px 0 26px;display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:.6px;color:#8c8587}footer>span:first-child{font-weight:700;color:#625b60}.footer-star{color:var(--berry);margin-left:8px}.combo-label{position:absolute;right:25px;top:23px;color:#fff4d5;font:700 16px 'Space Mono',monospace;text-shadow:2px 2px #312039;pointer-events:none}.combo-label:empty{display:none}dialog{border:1px solid #d8cad8;border-radius:14px;padding:27px;width:680px;max-width:calc(100% - 26px);max-height:90dvh;background:var(--cream);color:var(--ink);box-shadow:0 30px 100px #0006}dialog::backdrop{background:#17141cbb;backdrop-filter:blur(5px)}.shop-header{display:flex;align-items:center;justify-content:space-between}.shop-header h2{font:34px Georgia,serif;margin:0}.shop-header .eyebrow{margin-bottom:9px}.shop-description{font-size:12px;color:var(--muted)}.shop-bank{display:flex;justify-content:space-between;align-items:center;padding:15px 17px;background:#e9e0d6;border-radius:5px;font-size:12px;margin:20px 0}.shop-bank strong{color:#806033;font:700 18px 'Space Mono',monospace}.shop-tabs{display:flex;gap:6px;border-bottom:1px solid #33253622;padding-bottom:10px}.shop-tabs button{border:0;background:none;padding:9px 12px;font-size:10px;border-radius:4px;color:#756d78}.shop-tabs button.active{background:#292530;color:var(--cream)}.shop-items{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:17px}.shop-item{border:1px solid #38283e20;border-radius:7px;padding:15px;display:flex;flex-direction:column}.shop-item h3{font-size:13px;margin:7px 0}.shop-item p{font-size:11px;color:#807482;line-height:1.5;margin:0 0 15px;flex:1}.shop-item button{font-size:11px;padding:10px;background:var(--berry);color:#fff;border:0;border-radius:4px}.shop-item.equipped{border-color:#9d7fb5;background:#e9e1ee}.item-preview{height:115px;width:100%;object-fit:contain;image-rendering:pixelated}.upgrade-icon{color:var(--berry);font-size:26px}.save-note{font-size:8px;color:#8d818d;text-align:center;margin:19px 0 0}.result-stats{display:flex;justify-content:center;gap:30px;margin:20px 0}.result-stats strong{display:block;color:#efcf98;font:22px 'Space Mono',monospace}.result-stats span{font-size:9px;color:#aca2b2}.mobile-only{display:none}@media(min-width:1440px){.page-shell{max-width:1360px}.intro{padding-top:43px}}@media(max-width:850px){.page-shell{padding:0 24px}.brand-light,.local-note{display:none}h1{font-size:37px}.intro{padding-top:30px}.wardrobe-button{padding:10px;font-size:10px}.small-arrow{margin-left:5px}.hud-stats{gap:22px}.notes{gap:15px}.notes p{font-size:9px}.notes strong{font-size:10px}.overlay-card{padding:20px 25px;width:370px}.overlay-card h2{font-size:31px}.tutorial-list{gap:7px!important;padding:10px 0!important;margin:10px 0!important}.overlay-card p{margin:7px 0 12px}}@media(max-width:600px){.page-shell{padding:0 14px}.masthead{height:65px}.brand{font-size:11px;letter-spacing:1.5px}.brand-spark{font-size:23px;margin-right:6px}.header-right{gap:0}.icon-button{width:34px;height:34px}.intro{display:block;padding:25px 0 19px;position:relative}.eyebrow{font-size:7px;margin-bottom:12px;letter-spacing:1.5px}h1{font-size:33px;letter-spacing:-1.5px;max-width:310px;line-height:1.08;margin-bottom:10px}.title-star{font-size:17px;margin-left:6px}.subtitle{font-size:10px;max-width:260px;line-height:1.5}.wardrobe-button{margin-top:16px;font-size:10px;padding:7px 11px}.wardrobe-button>span:first-child{font-size:15px}.game-shell{border-width:5px;border-radius:8px}.game-topbar{padding:12px 10px;gap:10px;flex-wrap:wrap}.location{width:calc(100% - 43px)}.location .tiny-label{display:inline;margin-right:8px;font-size:7px}.location strong{font-size:11px}.hud-stats{order:3;width:100%;justify-content:space-between;margin-top:3px;gap:15px}.hud-stats .tiny-label{font-size:6px;margin-bottom:4px}.hud-stats strong{font-size:15px}.pause-button{position:absolute;right:28px;width:26px;height:26px}.canvas-wrap{aspect-ratio:3/4;max-height:65vh;min-height:360px}canvas{object-fit:cover}.game-bottom{padding:8px 7px 4px;justify-content:center}.key-hint{display:none}.bank{font-size:9px;width:100%;justify-content:center;gap:8px}.bank .text-button{margin-left:auto}.bank .coin-icon{margin-left:1px}.scene-caption{font-size:5px;left:8px;bottom:9px;letter-spacing:.6px}.overlay-card{padding:20px 18px;max-width:320px}.game-overlay{padding:16px}.overlay-kicker{font-size:7px}.overlay-card h2{font-size:32px}.overlay-card p{font-size:11px}.overlay-card .tutorial-list{font-size:10px;gap:10px!important;padding:13px 0!important;margin:14px 0!important}.primary-button{padding:13px}.touch-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}.touch-controls button{background:#e7e0d9;color:#584d58;border:1px solid #d7cdd5;border-radius:7px;padding:13px 18px;font-size:23px;touch-action:none;user-select:none;min-width:85px}.touch-controls button span{font:7px 'Space Mono',monospace;vertical-align:middle}.touch-controls>span{font:italic 10px Georgia,serif;color:#8e7d87;text-align:center}.notes{grid-template-columns:1fr;gap:15px;margin:25px 6px}.notes p{font-size:10px}.notes strong{font-size:11px}.notes>div{gap:13px}.notes br{display:none}.notes strong:after{content:' '}.note-symbol{width:25px;height:25px}.notes>div:last-child{display:none}footer{padding:18px 0 max(18px,env(safe-area-inset-bottom));font-size:6px}footer>span:nth-child(2){display:none}.shop-items{gap:8px}.shop-item{padding:11px}.shop-tabs button{padding:8px;font-size:9px}dialog{padding:20px}.shop-item h3{font-size:11px}.shop-item p{font-size:10px}.shop-item button{font-size:10px}.combo-label{right:10px;top:14px;font-size:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.audio-choice-button{display:block;min-height:36px;margin:5px auto 0;padding:8px 12px;color:#d9d2df;font-size:10px;text-decoration:underline;text-underline-offset:3px}
/* The game is the main event: a 656px playfield on a 900px laptop screen. */
@media(min-width:601px){
 .page-shell{max-width:1440px;padding-left:30px;padding-right:30px}
 .masthead{height:46px}.brand-spark{font-size:23px}.header-right .icon-button{width:32px;height:32px}
 .intro{padding:12px 0 14px}.intro .eyebrow{margin-bottom:6px;font-size:8px;line-height:12px}
 h1{font-size:36px;line-height:1.08;margin-bottom:7px}.subtitle{font-size:11px;line-height:15px}
 .wardrobe-button{padding:11px 15px}.game-shell{border-width:6px}
 .game-topbar{padding:10px 18px}.tiny-label{margin-bottom:4px}
 .canvas-wrap{aspect-ratio:auto;height:clamp(400px,calc(100dvh - 244px),720px)}
 .game-bottom{padding:8px 17px 5px}.notes{margin-top:21px;margin-bottom:23px}
}
@media(min-width:601px) and (max-width:850px){.page-shell{padding-left:20px;padding-right:20px}.intro h1{font-size:31px}.canvas-wrap{height:clamp(400px,calc(100dvh - 250px),640px)}}
html{max-width:100%;overflow-x:clip}body{min-width:280px;overflow-x:clip}.game-shell,.canvas-wrap{min-width:0}.canvas-wrap{isolation:isolate}.game-overlay{overflow-y:auto;overscroll-behavior:contain}.game-overlay .overlay-card{flex-shrink:0}canvas{touch-action:none;-webkit-user-select:none;user-select:none}.touch-controls button{min-height:52px}.touch-controls button:active{background:#d8c9dc;border-color:#ac8bb7}.game-topbar{position:relative}dialog{overscroll-behavior:contain}
@media(max-width:600px){.page-shell{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.masthead{height:55px}.intro{padding:19px 0 14px}.intro h1{font-size:31px}.intro .eyebrow{margin-bottom:9px}.wardrobe-button{margin-top:11px}.canvas-wrap{aspect-ratio:auto;height:clamp(350px,calc(100svh - 330px),470px);min-height:350px;max-height:none}.game-topbar{padding:11px 9px}.pause-button{right:9px;top:8px;width:34px;height:34px}.location{min-height:24px;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.location .tiny-label{margin-right:4px}.hud-stats{margin-top:0}.touch-controls{gap:8px;margin-top:10px;padding-bottom:max(0px,env(safe-area-inset-bottom))}.touch-controls button{min-width:96px;min-height:56px;padding:10px 19px}.touch-controls>span{max-width:110px;line-height:1.4}.overlay-card{padding:17px 16px}.overlay-card h2{font-size:29px}.overlay-card .tutorial-list{gap:8px!important;padding:11px 0!important;margin:11px 0!important}.overlay-footer{font-size:7px!important}.game-overlay{padding:10px}.primary-button,.secondary-button{min-height:44px}.shop-tabs button{min-height:42px}.shop-item button{min-height:42px}.shop-header .icon-button{width:44px;height:44px}.notes{margin-top:20px}}
@media(max-width:600px) and (max-height:700px){.canvas-wrap{height:350px}.game-overlay .overlay-card{padding:13px 15px}.overlay-card h2{font-size:25px}.overlay-card .tutorial-list{gap:6px!important}.overlay-card p{line-height:1.4}.overlay-footer{margin-top:9px!important}}
