@layer tokens{:root{--font-display: var(--font-sans);--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--radius: .625rem;--radius-sm: calc(var(--radius) * .6);--radius-md: calc(var(--radius) * .8);--radius-lg: var(--radius);--radius-xl: calc(var(--radius) * 1.4);--radius-2xl: calc(var(--radius) * 1.8);--radius-3xl: calc(var(--radius) * 2.2);--radius-4xl: calc(var(--radius) * 2.6);--radius-full: 9999px;--duration-fast: .12s;--duration: .15s;--duration-slow: .24s;--ease: cubic-bezier(.4, 0, .2, 1);--ease-physical: cubic-bezier(.34, 1.56, .64, 1);--transition-ui: color var(--duration) var(--ease), background-color var(--duration) var(--ease), border-color var(--duration) var(--ease), opacity var(--duration) var(--ease);--ring-width: 2px;--ring-offset: 2px;--ring: currentColor;--input: oklch(.6 0 0);--accent-ink: var(--foreground);--neutral-hue: 0;--neutral-chroma: .006;--series-dash-1: none;--series-dash-2: 6 4;--series-dash-3: 1 4;--series-dash-4: 10 4 2 4;--series-dash-5: 2 2;--series-width: 2px}}@layer base{html,body{overflow-x:clip}h1,h2,h3,h4,[data-display],.display,.font-display{overflow-wrap:anywhere;min-width:0}.transition-ui{transition:var(--transition-ui)}}@media (prefers-reduced-motion: reduce){*:not([data-motion-critical]),*:not([data-motion-critical]):before,*:not([data-motion-critical]):after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.animate-spin,[role=progressbar],[data-loading=true]{animation-duration:1s!important;animation-iteration-count:infinite!important}.animate-pulse,[class*=skeleton i],[class*=shimmer i]{animation-duration:2s!important;animation-iteration-count:infinite!important}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible,[role=button]:focus-visible{outline:var(--ring-width) solid var(--ring);outline-offset:var(--ring-offset);transition:none}a:focus:not(:focus-visible),button:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible),textarea:focus:not(:focus-visible),summary:focus:not(:focus-visible){outline:none}@layer base{[data-series="1"]{stroke-dasharray:var(--series-dash-1)}[data-series="2"]{stroke-dasharray:var(--series-dash-2)}[data-series="3"]{stroke-dasharray:var(--series-dash-3)}[data-series="4"]{stroke-dasharray:var(--series-dash-4)}[data-series="5"]{stroke-dasharray:var(--series-dash-5)}.recharts-line-curve,.recharts-area-curve,[data-series]{stroke-width:var(--series-width)}}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px}:root{--gold: #d8b46a;--gold-dim: #a98a4e;--ink: #0b0e14;--panel: rgba(10, 13, 20, .82);--panel-line: rgba(216, 180, 106, .35);--text: #e8e2d4;--text-dim: #9a937f;--hp: #c8524a;--stam: #5a9e6f;--serif: "Cormorant Garamond", serif;--sans: "Inter", sans-serif;--ring: var(--gold);--background: var(--ink);--foreground: var(--text);--card: var(--panel);--muted-foreground: var(--text-dim);--border: var(--panel-line);--accent: var(--gold);--accent-ink: var(--ink);--input: oklch(.52 .03 85)}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:clip;background:#000}body{font-family:var(--sans);color:var(--text)}#app{position:relative;width:100%;height:100%}#game-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}#ui-root{position:absolute;inset:0;pointer-events:none}#ui-root>*{pointer-events:none}#ui-root .clickable,#ui-root button,#ui-root input,#ui-root select{pointer-events:auto}button{font-family:var(--sans);background:#d8b46a14;color:var(--text);border:1px solid var(--panel-line);padding:var(--space-2) var(--space-5);font-size:14px;letter-spacing:.08em;cursor:pointer;transition:all .18s ease;text-transform:uppercase}button:hover{background:#d8b46a38;border-color:var(--gold)}button.primary{background:#d8b46a33;border-color:var(--gold)}button:disabled{opacity:.35;cursor:default}.title-screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);background:radial-gradient(ellipse at 50% 30%,#1e284666,#000000d9),linear-gradient(#0a0d18,#05060c);z-index:40;pointer-events:auto}.title-screen h1{font-family:var(--serif);font-size:clamp(42px,7vw,92px);font-weight:600;letter-spacing:.22em;color:var(--gold);text-shadow:0 0 40px rgba(216,180,106,.35),0 2px 4px rgba(0,0,0,.8)}.title-screen .subtitle{font-family:var(--serif);font-size:clamp(16px,2vw,24px);letter-spacing:.55em;color:var(--text-dim);margin-bottom:var(--space-6);text-transform:uppercase}.title-screen .menu{display:flex;flex-direction:column;gap:var(--space-3);width:280px}.title-screen .tagline{position:absolute;bottom:32px;font-family:var(--serif);font-style:italic;font-size:15px;color:var(--text-dim);letter-spacing:.1em}.charcreate{position:absolute;inset:0;display:flex;z-index:40;pointer-events:auto;background:linear-gradient(90deg,#05060cf5 0 30%,#05060c4d 52%,#05060c00 72%)}.charcreate .panel{width:420px;padding:var(--space-7) var(--space-6);overflow-y:auto;border-right:1px solid var(--panel-line)}.charcreate h2{font-family:var(--serif);font-size:34px;color:var(--gold);letter-spacing:.12em;margin-bottom:var(--space-1)}.charcreate .sub{color:var(--text-dim);font-size:12px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:var(--space-5)}.cc-row{margin-bottom:var(--space-4)}.cc-row label{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);margin-bottom:var(--space-2)}.cc-row input[type=text]{width:100%;background:#ffffff0d;border:1px solid var(--input);color:var(--text);padding:var(--space-2) var(--space-3);font-size:16px;font-family:var(--serif);letter-spacing:.05em}.cc-opts{display:flex;flex-wrap:wrap;gap:var(--space-1)}.cc-opts button{padding:var(--space-2) var(--space-3);font-size:11px;text-transform:none;letter-spacing:.03em}.cc-opts button.sel{background:#d8b46a4d;border-color:var(--gold);color:#fff}.cc-swatches{display:flex;flex-wrap:wrap;gap:var(--space-2)}.cc-swatch{width:30px;height:30px;border-radius:50%;border:2px solid transparent;cursor:pointer}.cc-swatch.sel{border-color:var(--gold);box-shadow:0 0 10px #d8b46a99}.cc-begin{margin-top:var(--space-5);width:100%;padding:var(--space-3);font-size:15px}.hud{position:absolute;inset:0}.hud-vitals{position:absolute;left:28px;bottom:26px;width:300px}.hud-name{font-family:var(--serif);font-size:17px;letter-spacing:.1em;color:var(--text);margin-bottom:var(--space-1);text-shadow:0 1px 3px #000}.bar{height:9px;background:#0000008c;border:1px solid rgba(255,255,255,.18);margin-bottom:var(--space-1);position:relative}.bar .fill{position:absolute;inset:1px;transform-origin:left;transition:transform .15s ease}.bar.hp .fill{background:linear-gradient(90deg,#a33c35,var(--hp))}.bar.stam{height:6px;width:82%}.bar.stam .fill{background:linear-gradient(90deg,#3f7a52,var(--stam))}.bar.xp{height:3px;width:100%;border-color:#d8b46a4d}.bar.xp .fill{background:var(--gold-dim)}.hud-level{font-size:11px;color:var(--text-dim);letter-spacing:.15em;margin-top:var(--space-1)}.hud-clock{position:absolute;top:22px;right:30px;text-align:right;text-shadow:0 1px 4px rgba(0,0,0,.9)}.hud-clock .realm{font-family:var(--serif);font-size:15px;letter-spacing:.18em;color:var(--gold);text-transform:uppercase}.hud-clock .date{font-size:11px;color:var(--text);letter-spacing:.12em;margin-top:var(--space-1)}.hud-clock .weather{font-size:10px;color:var(--text-dim);letter-spacing:.14em;margin-top:var(--space-1);text-transform:uppercase}.hud-prompt{position:absolute;left:50%;bottom:17%;transform:translate(-50%);background:var(--panel);border:1px solid var(--panel-line);padding:var(--space-2) var(--space-4);font-size:13px;letter-spacing:.06em;white-space:nowrap}.hud-prompt b{color:var(--gold);font-weight:600}.hud-tutorial{position:absolute;left:28px;top:24px;max-width:300px;background:var(--panel);border-left:2px solid var(--gold);padding:var(--space-3) var(--space-4);font-size:12.5px;line-height:1.55;color:var(--text)}.hud-tutorial b{color:var(--gold)}.toasts{position:absolute;right:28px;top:90px;display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-end}.toast{background:var(--panel);border:1px solid var(--panel-line);border-right:2px solid var(--gold);padding:var(--space-2) var(--space-4);font-size:12.5px;max-width:360px;animation:toastIn .35s ease;line-height:1.45}.toast.grave{border-right-color:var(--hp)}@keyframes toastIn{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:none}}.dmg-num{position:absolute;font-family:var(--serif);font-weight:700;pointer-events:none;text-shadow:0 1px 3px #000;animation:dmgFloat .8s ease-out forwards;z-index:5}@keyframes dmgFloat{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-46px)}}.boss-bar{position:absolute;top:60px;left:50%;transform:translate(-50%);width:min(620px,70vw);text-align:center}.boss-bar .bname{font-family:var(--serif);font-size:19px;letter-spacing:.25em;color:#e6d6b0;text-shadow:0 1px 4px #000;margin-bottom:var(--space-1);text-transform:uppercase}.boss-bar .bar{height:7px}.boss-bar .bphase{font-size:10px;letter-spacing:.42em;color:var(--hp);margin-top:var(--space-1);text-transform:uppercase;transition:opacity .5s ease;text-shadow:0 1px 3px #000}.boss-bar .bar .fill{background:linear-gradient(90deg,#7d2d27,#c8524a)}.dialogue{position:absolute;left:50%;bottom:40px;transform:translate(-50%);width:min(860px,92vw);background:var(--panel);backdrop-filter:blur(6px);border:1px solid var(--panel-line);padding:var(--space-5) var(--space-6) var(--space-4);pointer-events:auto}.dialogue .speaker{font-family:var(--serif);font-size:20px;color:var(--gold);letter-spacing:.08em;margin-bottom:var(--space-1)}.dialogue .speaker small{font-size:12px;color:var(--text-dim);letter-spacing:.12em;margin-left:10px;font-family:var(--sans)}.dialogue .line{font-size:15.5px;line-height:1.65;min-height:52px;color:var(--text);font-weight:300}.dialogue .choices{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.dialogue .choices button{font-size:12px;padding:var(--space-2) var(--space-3);text-transform:none;letter-spacing:.02em}.dialogue .choices button.leave{border-color:#ffffff26;color:var(--text-dim)}.bigpanel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(880px,94vw);height:min(600px,88vh);background:var(--panel);backdrop-filter:blur(10px);border:1px solid var(--panel-line);pointer-events:auto;display:flex;flex-direction:column}.bigpanel header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5) 0}.bigpanel h3{font-family:var(--serif);font-size:26px;color:var(--gold);letter-spacing:.15em;text-transform:uppercase}.bigpanel .tabs{display:flex;gap:var(--space-1);padding:var(--space-3) var(--space-5) 0;border-bottom:1px solid rgba(255,255,255,.08)}.bigpanel .tabs button{border:none;border-bottom:2px solid transparent;background:none;font-size:12px;padding:var(--space-2) var(--space-3)}.bigpanel .tabs button.sel{border-bottom-color:var(--gold);color:var(--gold)}.bigpanel .body{flex:1;overflow-y:auto;padding:var(--space-4) var(--space-5) var(--space-5)}.bigpanel .closer{background:none;border:none;color:var(--text-dim);font-size:20px}.chron-item{padding:var(--space-3) 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:13.5px;line-height:1.55}.chron-item .cd{color:var(--gold-dim);font-size:11px;letter-spacing:.14em;margin-bottom:var(--space-1)}.chron-item.grave{border-left:2px solid var(--hp);padding-left:12px}.ppl-item{display:flex;justify-content:space-between;padding:var(--space-2) 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:13.5px}.ppl-item .pname{font-family:var(--serif);font-size:16px}.ppl-item .pmeta{color:var(--text-dim);font-size:12px}.ppl-item .pnote{color:var(--gold-dim);font-size:12px;font-style:italic;text-align:right}.ppl-item.dead .pname{color:var(--text-dim);text-decoration:line-through}.inv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-2)}.inv-item{border:1px solid rgba(255,255,255,.1);padding:var(--space-3) var(--space-3);font-size:12.5px}.inv-item .iname{font-family:var(--serif);font-size:15.5px;color:var(--text);margin-bottom:var(--space-1)}.inv-item .idesc{color:var(--text-dim);line-height:1.4;margin-bottom:var(--space-2)}.inv-item .istat{color:var(--gold-dim);font-size:11.5px;margin-bottom:var(--space-2)}.inv-item button{font-size:10.5px;padding:var(--space-1) var(--space-2)}.inv-item.equipped{border-color:var(--gold)}.cor{color:var(--gold);font-weight:500}.cine-bar{position:absolute;left:0;right:0;height:0;background:#000;transition:height .9s cubic-bezier(.4,0,.2,1);z-index:20}.cine-bar.top{top:0}.cine-bar.bot{bottom:0}.cine-on .cine-bar{height:11vh}.cine-sub{position:absolute;left:50%;bottom:13vh;transform:translate(-50%);z-index:21;font-family:var(--serif);font-size:clamp(17px,2vw,23px);font-weight:500;text-align:center;color:#f0e9d8;text-shadow:0 2px 8px #000;width:min(900px,90vw);line-height:1.5}.cine-sub .who{color:var(--gold);font-size:.75em;letter-spacing:.3em;text-transform:uppercase;display:block;margin-bottom:var(--space-1)}.fade-full{position:absolute;inset:0;background:#000;z-index:30;transition:opacity 1.2s ease;pointer-events:none}.center-title{position:absolute;left:50%;top:38%;transform:translate(-50%);z-index:22;text-align:center;animation:ctIn 3.2s ease forwards}.center-title .ct-main{font-family:var(--serif);font-size:clamp(30px,4.5vw,58px);letter-spacing:.3em;color:#f0e9d8;text-shadow:0 0 30px rgba(0,0,0,.9)}.center-title .ct-sub{font-size:13px;letter-spacing:.5em;color:var(--gold);text-transform:uppercase;margin-top:var(--space-2)}@keyframes ctIn{0%{opacity:0;transform:translate(-50%) translateY(8px)}15%{opacity:1;transform:translate(-50%)}80%{opacity:1}to{opacity:0}}.death-screen{position:absolute;inset:0;z-index:45;background:#000000f0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:auto;animation:deathIn 3s ease}@keyframes deathIn{0%{opacity:0}to{opacity:1}}.death-screen h2{font-family:var(--serif);font-size:44px;color:var(--hp);letter-spacing:.3em;margin-bottom:var(--space-4)}.death-screen .epitaph{font-family:var(--serif);font-size:17px;font-style:italic;color:var(--text-dim);max-width:600px;line-height:1.8;margin-bottom:var(--space-6)}.hint-keys{position:absolute;bottom:var(--space-5);right:var(--space-6);font-size:12px;color:#e8e2d49e;letter-spacing:.1em;text-align:right;line-height:1.8;text-shadow:0 1px 2px #000}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:#d8b46a4d}::-webkit-scrollbar-track{background:#0000004d}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.dmg-num,.center-title{animation:none;opacity:1}}
