:root{color-scheme:dark;--bg:#0c1618;--panel:#152226;--line:#314344;--ink:#f1ead7;--muted:#a9b8ae;--gold:#ecc28a;--mint:#a9d9bb;font-family:system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 40% 0,#253632 0,transparent 60%),var(--bg);color:var(--ink);line-height:1.5}button,select{font:inherit;color:inherit}button{cursor:pointer;background:#243638;border:1px solid #617169;border-radius:9px;min-height:42px;padding:8px 16px;font-weight:700}button:hover{background:#354d4a}button:focus-visible,select:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit}main,.site-header,footer{width:min(1120px,calc(100% - 40px));margin:auto}.site-header{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.site-header>a{text-decoration:none;font-size:.85rem}.brand{display:flex;align-items:center;gap:10px;font-weight:850}.brand span{display:grid;place-items:center;background:#c9f45b;color:#112015;border-radius:9px;width:34px;height:34px}.intro{display:flex;align-items:end;justify-content:space-between;padding:32px 0 26px;gap:20px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.66rem;color:var(--gold);font-weight:800;margin:0 0 8px}h1{font:500 clamp(2.6rem,6vw,4.5rem)/1.05 Georgia,serif;margin:0;letter-spacing:-.04em}h1 em{font-weight:400;color:var(--gold)}.intro>p{font-size:.9rem;color:var(--muted);margin:0}.game-shell{border:1px solid #43554e;border-radius:16px;overflow:hidden;background:var(--panel);box-shadow:0 25px 80px #0004}.topbar{display:flex;align-items:center;gap:8px;padding:10px 15px;border-bottom:1px solid var(--line)}.topbar>div{display:flex;align-items:center;gap:15px;flex:1}.topbar span{color:var(--gold);font-size:.7rem;letter-spacing:.1em}.topbar strong{font-family:Georgia,serif;font-size:1.15rem}.topbar button{font-size:.75rem;padding:7px 12px;min-height:36px}.hud{display:grid;grid-template-columns:minmax(110px,2fr) repeat(4,1fr);gap:24px;padding:12px 16px;align-items:center}.hud small,.vital label{display:block;font-size:.61rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.vital label{display:flex;justify-content:space-between}.hud strong{font-size:1rem;color:var(--gold);font-variant-numeric:tabular-nums}.vital b{font-weight:500;letter-spacing:0}.vital meter{height:12px}meter{display:block;width:100%;background:#0a1419;border-radius:5px;border:0}meter::-webkit-meter-bar{background:#0a1419;border:0}meter::-webkit-meter-optimum-value{background:#b9cf93}meter::-moz-meter-bar{background:#b9cf93}.objective{display:flex;justify-content:space-between;gap:8px;background:#0c191d;padding:8px 16px;font-size:.76rem;color:#c5d4c6}.objective span:last-child{color:var(--gold)}.surface{position:relative;background:#1f3530}canvas{display:block;width:100%;height:560px;max-height:65dvh;touch-action:none}.overlay{position:absolute;inset:0;display:grid;place-items:center;padding:18px;background:#081419bf;backdrop-filter:blur(3px)}[hidden]{display:none!important}.overlay-card{width:min(460px,100%);padding:24px;border:1px solid #b6aa785c;border-radius:15px;background:linear-gradient(140deg,#263b38,#152328);box-shadow:0 20px 55px #0005}.overlay-card h2,dialog h2{font:500 clamp(1.9rem,5vw,2.7rem)/1.1 Georgia,serif;margin:8px 0 14px}.overlay-card p{color:#c1cdbf;font-size:.86rem;margin:8px 0}#overlay-controls p{font-size:.76rem}.primary{width:100%;margin-top:14px;background:var(--gold);color:#222d29;border-color:var(--gold)}.primary:hover{background:#ffdaa3}.bossbar{position:absolute;top:14px;left:15%;width:70%;padding:7px 12px;background:#122023e8;border-radius:6px}.bossbar span{display:flex;justify-content:space-between;font-size:.65rem;letter-spacing:.1em}.bossbar meter{height:7px}.bossbar meter::-webkit-meter-optimum-value{background:#f0ac7e}.touch-controls{display:flex;align-items:center;justify-content:center;gap:20px;padding:12px;background:#111e22;border-block:1px solid var(--line);user-select:none}.touch-controls button,#stick{touch-action:none;user-select:none;-webkit-user-select:none}.action-pad{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.action-pad button{min-width:90px;min-height:50px}.action-pad .sword{background:#46635b}.action-pad button.pressed{background:#9cbe9f;color:#142521}kbd{display:block;font:500 .57rem system-ui;opacity:.65}#stick{position:relative;width:94px;height:94px;border-radius:50%;border:1px solid #59736d;background:radial-gradient(circle,#334d44,#192b2c);flex-shrink:0;cursor:grab}#stick-knob{position:absolute;width:40px;height:40px;left:26px;top:26px;border-radius:50%;background:#8ea99a;box-shadow:0 4px 8px #0004;pointer-events:none}.stick-label{position:absolute;bottom:2px;width:100%;text-align:center;font-size:.48rem;letter-spacing:.1em;color:#afbeb0}#stick i{position:absolute;top:-3px;text-align:center;width:100%;font-style:normal;color:#82988b;font-size:.75rem}.use{min-width:66px;min-height:50px;border-color:#bda776;color:var(--gold)}.message{padding:10px 16px;display:flex;align-items:center;gap:14px;justify-content:space-between}.message p{margin:0;font-size:.77rem;color:var(--gold)}.message>span{white-space:nowrap;font-size:.6rem;color:var(--muted)}.loadout{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:20px;border-top:1px solid var(--line)}.loadout h3{margin:0;font-size:1rem}.loadout p:not(.eyebrow),.charms small{font-size:.75rem;color:var(--muted);margin:6px 0}.charms{display:grid;gap:5px;align-content:center}.charms label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.charms select{width:100%;min-width:0;background:#182b2d;border:1px solid #5e746b;padding:10px 8px;border-radius:7px;font-size:.8rem}.guide{display:grid;grid-template-columns:1fr 1.2fr;gap:65px;padding:55px 10px}.guide h2{font:400 2.9rem/1.05 Georgia,serif;margin:12px 0 20px}.guide h3{font-size:1rem;margin-top:22px}.guide p{font-size:.88rem;color:var(--muted)}.guide .quiet{font-size:.78rem}footer{display:flex;justify-content:space-between;padding:20px 0 32px;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted)}footer a{text-decoration:none}dialog{width:min(440px,calc(100% - 28px));max-height:85dvh;border:1px solid #8d9975;border-radius:16px;background:#1b2e2d;color:var(--ink);padding:25px}dialog::backdrop{background:#061117d9}dialog p{color:var(--muted);font-size:.85rem}#upgrade-options{display:grid;gap:10px}#upgrade-options button{text-align:left;min-height:64px}.dialog-actions{display:flex;gap:10px}.dialog-actions button{flex:1;font-size:.8rem}@media(max-width:650px){main,.site-header,footer{width:calc(100% - 20px)}.site-header{height:56px}.intro{padding:20px 2px 16px}.intro>p{display:none}.intro .eyebrow{font-size:.54rem}h1{font-size:2.55rem}.topbar{padding:8px;gap:6px}.topbar>div{display:block}.topbar span{display:block;font-size:.55rem}.topbar strong{font-size:.95rem}.topbar button{font-size:.65rem;padding:6px 8px}.hud{gap:8px;padding:9px 8px;grid-template-columns:minmax(105px,1.8fr) repeat(4,1fr)}.hud small,.vital label{font-size:.48rem;letter-spacing:0}.hud strong{font-size:.78rem}.objective{font-size:.62rem;padding:7px 8px;flex-wrap:wrap;gap:0}.surface canvas{height:410px;max-height:52dvh;min-height:290px}.touch-controls{gap:10px;padding:10px 7px}.action-pad{grid-template-columns:repeat(2,1fr);gap:6px;flex:1}.action-pad button{min-width:0;min-height:43px;font-size:.73rem;padding:4px 7px}.use{min-width:45px;min-height:54px;font-size:.72rem;padding:4px 7px}#stick{width:85px;height:85px}#stick-knob{left:22px;top:22px}.message{display:block;padding:8px 10px}.message p{font-size:.7rem}.message>span{font-size:.55rem}.loadout{grid-template-columns:1fr;padding:14px;gap:10px}.loadout p:not(.eyebrow){font-size:.7rem}.overlay{padding:10px}.overlay-card{padding:15px}.overlay-card h2{font-size:1.85rem;margin:5px 0 8px}.overlay-card p{font-size:.73rem}#overlay-controls p{font-size:.63rem}.primary{margin-top:8px}.guide{grid-template-columns:1fr;gap:0;padding:35px 5px}.guide h2{font-size:2.4rem}footer{font-size:.68rem}.bossbar{left:5%;width:90%}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
