@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;500;600&display=swap');
:root{color-scheme:dark;--night:#100d18;--paper:#e6dcee;--muted:#b4a2c4;--violet:#a188c6;--azure:#9cd3ef;--line:#665178;--danger:#e8a3b4;font-family:'DM Sans',system-ui,sans-serif;background:var(--night);color:var(--paper)}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--azure);outline-offset:5px}button:disabled{cursor:default;opacity:.5}[hidden]{display:none!important}
#game-shell{position:relative;width:100%;height:100%;isolation:isolate;background:var(--night)}#valley{width:100%;height:100%;display:block;touch-action:none}.vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 120px 35px #08060b80;z-index:1}
.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:500;color:var(--muted);margin:0}.overlay{position:absolute;inset:0;z-index:6;display:grid;place-items:center;padding:20px;background:#0b08129c;backdrop-filter:blur(3px);overflow:auto}.paper-panel{position:relative;text-align:center;width:min(660px,100%);padding:25px 40px 20px;background:linear-gradient(135deg,#292033f5,#1a1522fc 70%);border:1px solid #6f587d;box-shadow:0 22px 100px #050308a0;clip-path:polygon(0 1%,28% 0,61% .7%,99% 0,100% 30%,99.5% 60%,100% 99%,68% 100%,34% 99.4%,0 100%,.6% 61%,0 24%)}
.paper-panel:before{content:'';position:absolute;inset:7px;border:1px solid #6b54733b;pointer-events:none}.ornament{color:var(--azure);font-family:Georgia,serif;font-size:32px;line-height:1;margin-bottom:12px}h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:clamp(42px,6vw,66px);line-height:.98;letter-spacing:-.02em;margin:12px 0 15px}h1 em{font-weight:400;color:#c1a2d9}#panel-copy{font-family:'Cormorant Garamond',Georgia,serif;font-size:20px;line-height:1.4;color:#cbbbd7;margin:0 0 18px}.run-goal{font-size:12px;line-height:1.7;color:var(--muted);margin:0 0 18px}.run-goal strong{font-weight:500;color:var(--paper)}
fieldset{padding:0;border:0;margin:0}legend{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 auto 10px}#starters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.starter{background:#16111d;border:1px solid #584461;padding:12px 10px;text-align:left;transition:background .15s,border-color .15s}.starter:hover,.starter.selected{background:#352841;border-color:#b597cb}.starter b{display:block;color:var(--azure);font-family:Georgia,serif;font-size:27px;font-weight:400;height:34px}.starter strong{display:block;font-size:12px;font-weight:500;margin-bottom:5px}.starter span{display:block;font-size:10px;line-height:1.6;color:#bba9c9}.controls-copy{display:flex;justify-content:center;gap:7px 17px;flex-wrap:wrap;font-size:10px;color:var(--muted);margin:17px 0}.touch-copy{display:none;font-size:11px;line-height:1.6;color:var(--muted)}
.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:30px;border:1px solid #ac96be;background:#d4c2df;color:#21172c;padding:12px 24px;font-size:12px;font-weight:600;min-height:44px;transition:background .15s,transform .15s}.primary-button:hover{background:#e4d6ed;transform:translateY(-1px)}#primary-action{margin-top:2px;min-width:215px}#panel-footnote{font-size:9px;line-height:1.7;color:#a08baf;margin:15px 0 0}a{color:inherit;text-underline-offset:3px}.small-button{background:#18111ed9;border:1px solid #6a5475;color:#d6c7e0;font-size:11px;padding:8px 11px;min-height:36px;white-space:nowrap}.small-button:hover{background:#392a48}.key{font-size:9px;border:1px solid currentColor;border-radius:2px;padding:1px 4px;opacity:.65;margin-left:5px}
#hud{position:absolute;top:0;left:0;right:0;padding:23px 28px 17px;display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:15px;background:linear-gradient(#0e0b16ee,#100c18a0,transparent);z-index:3;pointer-events:none}#hud button{pointer-events:auto}.hud-health{width:190px;position:relative}.health-track{height:5px;background:#3e294b;margin:9px 0 5px;overflow:hidden}#health-fill{display:block;width:100%;height:100%;background:#c9a4d8;transition:width .15s}#health-number{font-size:10px;color:#b9a4c9;font-variant-numeric:tabular-nums}.hud-time{text-align:center}.hud-time strong{display:block;font:400 30px/1.2 'Cormorant Garamond',Georgia,serif;letter-spacing:.05em;margin-top:3px;font-variant-numeric:tabular-nums}.hud-time small{font:400 13px 'DM Sans',sans-serif;color:#9c8aa9}.hud-controls{display:flex;justify-content:flex-end;gap:8px}.xp-track{grid-column:1/-1;height:2px;background:#56426270;margin-top:-7px}#xp-fill{display:block;height:100%;background:var(--azure);width:0;transition:width .15s}
#objective{position:absolute;left:28px;top:106px;display:flex;align-items:center;gap:9px;font-size:11px;color:#d0bddb;z-index:3;max-width:calc(100% - 56px);pointer-events:none}.objective-dot{width:5px;height:5px;background:var(--azure);transform:rotate(45deg);flex:none}#tower-count{font-variant-numeric:tabular-nums;color:var(--azure);white-space:nowrap}#toast{position:absolute;top:145px;left:50%;transform:translateX(-50%);width:min(540px,calc(100% - 35px));text-align:center;color:#e7dbef;text-shadow:0 2px 8px #000;font-family:'Cormorant Garamond',Georgia,serif;font-size:23px;z-index:4;pointer-events:none;opacity:0;transition:opacity .3s}#toast.visible{opacity:1}
#loadout{position:absolute;bottom:22px;left:27px;display:flex;align-items:center;gap:19px;z-index:3;pointer-events:none}.weapon{display:flex;align-items:center;gap:8px;opacity:.35}.weapon.learned{opacity:1}.weapon-symbol{font-family:Georgia,serif;font-size:27px;color:#c5a3dc}.weapon>span:last-child{font-size:10px}.weapon small{font-size:9px;display:block;color:#aa96ba;margin-top:4px}#level-tag{font-size:9px;letter-spacing:.1em;color:#b09ac1;border-left:1px solid #654c74;padding-left:16px}#interact{position:absolute;bottom:110px;left:50%;transform:translateX(-50%);z-index:4;background:#a9d3e8;color:#142733;border-color:#d0eeff;white-space:nowrap}#interact:hover{transform:translateX(-50%) translateY(-1px)}
#choices{display:grid;gap:10px;margin:22px 0 7px}.choice{border:1px solid #6c537b;background:#1e1629;text-align:left;display:grid;grid-template-columns:38px 1fr;gap:10px;padding:15px;color:var(--paper)}.choice:hover{background:#382647;border-color:#c3a6d8}.choice .choice-symbol{font:400 27px Georgia,serif;color:var(--azure);align-self:center}.choice strong{display:block;font-size:13px;font-weight:500;margin-bottom:5px}.choice small{font-size:11px;line-height:1.6;color:#bca7c9}.choice .choice-key{float:right;color:#8e779f;font-size:10px}.result-stats{display:flex;justify-content:center;flex-wrap:wrap;gap:15px 30px;margin:23px 0}.result-stats div{font-size:10px;color:#b6a0c5}.result-stats b{display:block;font:400 30px Georgia,serif;color:var(--paper);margin-bottom:6px}.pause-help{font-size:12px;color:#bba7c9;line-height:1.9}.pause-help strong{color:var(--paper);font-weight:500}
#touch-pad{position:absolute;width:94px;height:94px;border-radius:50%;border:1px solid #bba4cc66;background:#21162f55;z-index:4;pointer-events:none;transform:translate(-50%,-50%)}#touch-pad i{position:absolute;left:30px;top:30px;width:32px;height:32px;border-radius:50%;background:#d8c3e776}
noscript{position:absolute;top:40%;left:10%;right:10%;z-index:10;background:#251a30;padding:30px;text-align:center}
@media(max-height:760px) and (min-width:601px){.paper-panel{padding:18px 35px 14px}h1{font-size:48px;margin:9px 0}.ornament{display:none}#panel-copy{font-size:18px;margin-bottom:12px}.run-goal{margin-bottom:12px}.starter{padding:8px 10px}.starter b{height:28px;font-size:24px}.controls-copy{margin:12px 0}#panel-footnote{margin-top:10px}}
@media(max-width:600px){.overlay{padding:14px;align-items:safe center}.paper-panel{padding:22px 20px 18px}.ornament{font-size:26px;margin-bottom:8px}h1{font-size:46px}#panel-copy{font-size:18px}.run-goal{font-size:11px}#starters{gap:6px}.starter{padding:9px 7px}.starter strong{font-size:10px}.starter span{font-size:9px}.starter b{font-size:24px;height:28px}.touch-copy{display:block}.controls-copy{display:none}#hud{padding:16px 14px 12px;gap:10px;grid-template-columns:1fr auto}.hud-health{width:135px}.hud-health .eyebrow,.hud-time .eyebrow{font-size:8px;letter-spacing:.1em}.hud-time{grid-column:2;grid-row:1;text-align:right}.hud-time strong{font-size:27px}.hud-controls{grid-column:1/-1;justify-content:flex-start;margin-top:-6px}.small-button{font-size:10px;padding:7px 10px;min-height:34px}.xp-track{margin-top:-4px}#objective{left:14px;top:135px;max-width:calc(100% - 28px);font-size:10px}#toast{top:168px;font-size:20px}#loadout{left:14px;bottom:17px;gap:13px}.weapon{gap:4px}.weapon-symbol{font-size:23px}.weapon>span:last-child{font-size:9px}.weapon small{font-size:8px}#level-tag{display:none}#interact{bottom:90px;padding:11px 17px;gap:12px}.key{display:none}.choice{padding:13px 10px}.vignette{box-shadow:inset 0 0 60px 10px #08060b60}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}
