@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700&family=Spectral:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Outfit:wght@300;400;500;600;700&display=block";:root{--page:#ede4d0;--card:#fcf8ed;--inset:#e4dbc5;--ink:#2a2420;--ink-soft:#5a4f44;--muted:#8c7e6a;--line:#d8cbac;--line-soft:#e3d8be;--line-strong:#c4b28a;--accent:#8c2f2f;--accent-deep:#6f2020;--accent-soft:#8c2f2f1a;--gold:#a97e3c;--gold-soft:#a97e3c29;--gold-screen:#e0b263;--hp:#a04640;--resolve:#9a7530;--corruption:#6e4fa8;--good:#3a725a;--radius:8px;--radius-sm:4px;--radius-pill:999px;--radius-sheet:16px;--radius-modal:12px;--shadow:0 1px 2px #3c281414;--shadow-press:0 1px 1px #3c28141a;--shadow-raised:0 8px 28px #140e064d, 0 2px 8px #140e0638;--shadow-overlay:0 18px 60px #0c080473, 0 4px 16px #0c08044d;--shadow-sheet:0 -10px 32px #140e0647, 0 -2px 10px #140e0633;--ease-out-soft:cubic-bezier(.22, 1, .36, 1);--ease-in-out-soft:cubic-bezier(.65, 0, .35, 1);--t-xs:12px;--t-sm:14px;--t-base:16px;--t-prose:18px;--t-lg:24px;--t-xl:36px;--font-display:"Cinzel", Georgia, serif;--font-prose:"Spectral", Georgia, serif;--font-ui:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100dvh;color:var(--ink);font-family:var(--font-ui);font-size:var(--t-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;background-color:#000;overflow:hidden}.selectable,.selectable *{-webkit-user-select:text;user-select:text}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--muted)}button{font-family:var(--font-ui);font-size:var(--t-sm);letter-spacing:.04em;cursor:pointer;border-radius:var(--radius-sm);min-height:44px;color:var(--ink);touch-action:manipulation;background:0 0;border:1px solid #0000;padding:.55rem 1rem;font-weight:600;transition:background .22s cubic-bezier(.2,.8,.2,1),color .22s cubic-bezier(.2,.8,.2,1),border-color .22s cubic-bezier(.2,.8,.2,1),transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s cubic-bezier(.2,.8,.2,1);position:relative}button:active{transition:transform 60ms;transform:scale(.97)translateY(1px)}button.btn-primary,.btn-primary{background:var(--accent);color:#fdf6ec;border:1px solid var(--accent-deep);box-shadow:0 1px 3px #3c28141f,inset 0 1px #ffffff2e}button.btn-primary:hover,.btn-primary:hover{background:var(--accent-deep);border-color:var(--accent-deep);box-shadow:0 4px 12px #3c28142e,inset 0 1px #ffffff40}button.btn-primary:active,.btn-primary:active{box-shadow:0 1px 2px #3c28141a}.btn-ghost{color:var(--ink-soft);border-color:var(--line);background:#fcf8ed66;box-shadow:inset 0 1px #ffffff80,0 1px 2px #3c28140a}.btn-ghost:hover{background:var(--card);color:var(--ink);border-color:var(--gold);box-shadow:inset 0 1px #fffc,0 3px 10px #a97e3c14}.btn-tiny{font-size:var(--t-xs);touch-action:manipulation;min-height:36px;padding:.4rem .7rem}button:disabled,.btn-primary:disabled{background:var(--inset);color:var(--muted);box-shadow:none;cursor:not-allowed;border-color:var(--line-soft);transform:none!important}input,textarea{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;color:var(--ink);font-family:var(--font-ui);font-size:var(--t-base);outline:none;padding:.7rem .9rem;transition:border-color .2s,box-shadow .2s,background .2s;box-shadow:inset 0 1px 2px #3c28140d}input::placeholder,textarea::placeholder{color:var(--muted)}input:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft), inset 0 2px 4px #3c281414;background:#fffdf9}textarea{font-family:var(--font-ui);resize:none;line-height:1.5}.display{font-family:var(--font-display);letter-spacing:.04em;font-weight:600}.prose{font-family:var(--font-prose);font-weight:400;line-height:1.55}.prose-italic{font-family:var(--font-prose);font-style:italic;line-height:1.55}.mono{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace}.eyebrow{font-family:var(--font-display);font-size:var(--t-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:600}.muted{color:var(--muted)}.ink-soft{color:var(--ink-soft)}.hr-gold{background:linear-gradient(90deg, transparent, var(--gold-soft) 50%, transparent);border:0;height:1px;margin:.5rem 0}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);position:relative}.panel.diegetic-frame{border:3px double var(--gold);box-shadow:inset 0 0 0 1px var(--gold-soft), 0 4px 20px #3c281426}.panel-inset{background:var(--inset);border:1px solid var(--line-soft);border-radius:var(--radius-sm);box-shadow:inset 0 2px 4px #3c28140f}.row{align-items:center;gap:.5rem;display:flex}.row-tight{align-items:center;gap:.3rem;display:flex}.col{flex-direction:column;display:flex}.spread{justify-content:space-between;align-items:center;display:flex}.chip{border-radius:var(--radius-pill);background:var(--inset);border:1px solid var(--line-soft);color:var(--ink-soft);font-size:var(--t-xs);align-items:center;gap:.3rem;padding:.2rem .55rem;font-weight:500;display:inline-flex}h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);letter-spacing:.02em;font-weight:600}h1{font-size:var(--t-xl)}h2{font-size:var(--t-lg)}h3{font-size:var(--t-base)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.film-surface{--page:#f7f2e7d1;--card:#fcf8f0e0;--inset:#7860361a;--ink:#2a2420;--ink-soft:#5a4f44;--muted:#8c7e6a;--line:#96743c4d;--line-soft:#96743c29;--line-strong:#96743c80;--gold:#9c6f24;--gold-soft:#a97e3c33;--accent:#8c2f2f;--accent-deep:#6f2020;--accent-soft:#8c2f2f1f;--shadow:0 8px 30px #281c0c42;--shadow-press:0 2px 8px #281c0c42;color:var(--ink);-webkit-backdrop-filter:blur(16px)saturate(1.15);backdrop-filter:blur(16px)saturate(1.15)}.film-surface .btn-ghost{color:var(--ink-soft);border-color:var(--line);background:#ffffff6b;box-shadow:inset 0 1px #fff9}.film-surface .btn-ghost:hover{color:var(--ink);border-color:var(--gold);background:#ffffffb3;box-shadow:inset 0 1px #fffc}.film-surface input,.film-surface textarea{color:var(--ink);border-color:var(--line);background:#ffffff8c;box-shadow:inset 0 1px 2px #3c28140f}.film-surface input::placeholder,.film-surface textarea::placeholder{color:var(--muted)}.film-surface input:focus,.film-surface textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft);background:#ffffffc7}.update-indicator-bar.svelte-12qhfyh{height:calc(34px + var(--safe-top,0px));padding-top:var(--safe-top,0px);background:var(--accent);color:#fdf6ec;font-family:var(--font-ui);font-size:var(--t-xs);z-index:9999;border-bottom:1px solid var(--gold);justify-content:center;align-items:center;gap:.8rem;font-weight:500;animation:.3s cubic-bezier(.2,.7,.2,1) svelte-12qhfyh-bar-slide-down;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 8px #3c281429}@keyframes svelte-12qhfyh-bar-slide-down{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.version-badge.svelte-12qhfyh{border-radius:var(--radius-sm);font-family:var(--font-display);letter-spacing:.05em;background:#ffffff26;border:1px solid #ffffff40;padding:.15rem .45rem;font-size:10px}.status-msg.svelte-12qhfyh{align-items:center;gap:.45rem;display:flex}.update-trigger-btn.svelte-12qhfyh{background:var(--card);color:var(--accent-deep);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;min-height:24px;padding:.15rem .6rem;font-size:10px;font-weight:600;line-height:1;transition:background .15s,transform 60ms}.update-trigger-btn.svelte-12qhfyh:hover{background:#fff}.update-trigger-btn.svelte-12qhfyh:active{transform:scale(.96)}
