@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500;1,600&family=Cormorant:ital,wght@0,600;1,500&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--void:#0a0d0f;--panel:#12171b;--panel-2:#1a2126;--line:#263139;--moon:#e9eef1;--mist:#7c8a93;--mist-dim:#56636b;--blood:#8b3a3a;--blood-bright:#c15252;--amber:#c79a56;--amber-dim:#8c723f;--forest:#3d5a47;--forest-bright:#5c8768;--parchment:#e4dcc8;--parchment-dim:#17140f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--app-height:100dvh}*{box-sizing:border-box}html,body{background:var(--void);color:var(--moon);-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;margin:0;padding:0;font-family:Inter,sans-serif}body{min-height:var(--app-height);touch-action:manipulation}#root{min-height:var(--app-height);background:radial-gradient(ellipse 900px 500px at 20% 0%, #3c321e1a, transparent 60%), radial-gradient(ellipse 700px 500px at 85% 100%, #8b3a3a14, transparent 60%), var(--void);flex-direction:column;max-width:560px;margin:0 auto;display:flex;position:relative}button,input,select,textarea{color:inherit;font-family:inherit}button{appearance:none;cursor:pointer;font:inherit;background:0 0;border:none}input{font-size:16px}::selection{background:var(--amber-dim);color:var(--void)}.screen{min-height:var(--app-height);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);flex-direction:column;flex:1;display:flex}.screen-body{-webkit-overflow-scrolling:touch;flex:1;padding:20px 20px 28px;overflow-y:auto}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--amber-dim);font-family:JetBrains Mono,monospace;font-size:10.5px}.eyebrow.blood{color:var(--blood-bright)}.eyebrow.dim{color:var(--mist-dim)}.eyebrow.amber{color:var(--amber)}.serif-title{color:var(--moon);font-family:Cormorant Garamond,serif;font-weight:700}.serif-italic{color:#ede7d8;font-family:Cormorant,serif;font-style:italic}.section-label{letter-spacing:.14em;text-transform:uppercase;color:var(--amber-dim);align-items:center;gap:8px;margin:18px 0 10px;font-family:JetBrains Mono,monospace;font-size:10.5px;display:flex}.section-label:after{content:"";background:var(--line);flex:1;height:1px}.btn{border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;height:52px;font-size:14px;font-weight:700;transition:opacity .15s,transform .15s;display:flex}.btn:active{opacity:.85;transform:scale(.98)}.btn:disabled{opacity:.4;pointer-events:none}.btn-primary{background:linear-gradient(180deg, var(--amber), var(--amber-dim));color:#1a130a;box-shadow:0 10px 24px -8px #c79a5680}.btn-danger{background:var(--blood);border:1px solid var(--blood-bright);color:#f5e4e4}.btn-ghost{background:var(--panel);border:1px solid var(--line);color:var(--mist)}.btn-sm{height:44px;font-size:13px}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px}.narration-card{border:1px solid var(--line);background:linear-gradient(#1a2126b3,#12171be6);border-radius:18px;padding:22px 20px;position:relative}.narration-text{color:#ede7d8;text-align:center;font-family:Cormorant,serif;font-size:19px;font-style:italic;line-height:1.55}.variant-pill{background:var(--panel-2);color:var(--mist-dim);border:1px solid var(--line);border-radius:100px;padding:4px 9px;font-family:JetBrains Mono,monospace;font-size:9.5px}.variant-pill.active{color:var(--amber);border-color:var(--amber-dim)}.pick-row{background:var(--panel);border:1px solid var(--line);text-align:left;border-radius:12px;align-items:center;gap:12px;width:100%;padding:11px 13px;display:flex}.pick-row .avatar{background:var(--panel-2);border:1px solid var(--line);border-radius:50%;flex-shrink:0;width:30px;height:30px}.pick-row .p-nm{color:var(--moon);flex:1;font-size:13px;font-weight:600}.pick-row .sel{border:1.5px solid var(--mist-dim);border-radius:50%;flex-shrink:0;width:20px;height:20px}.pick-row.chosen{border-color:var(--blood-bright);background:#8b3a3a24}.pick-row.chosen .sel{background:var(--blood-bright);border-color:var(--blood-bright)}.pick-row.dead{opacity:.4}.pick-row.dead .p-nm{color:var(--mist);text-decoration:line-through}.parchment{background:linear-gradient(#ede4cc,#dccfae);border-radius:14px;margin-bottom:14px;padding:18px 18px 16px;box-shadow:0 14px 30px -14px #0009}.parchment .p-name{color:var(--parchment-dim);font-family:Cormorant Garamond,serif;font-size:20px;font-weight:700}.parchment .p-cause{color:#54492e;margin-top:4px;font-family:Cormorant,serif;font-size:14px;font-style:italic;line-height:1.5}.parchment .p-tag{letter-spacing:.08em;text-transform:uppercase;color:var(--blood);background:#8b3a3a24;border:1px solid #8b3a3a4d;border-radius:100px;margin-top:10px;padding:3px 9px;font-family:JetBrains Mono,monospace;font-size:9.5px;display:inline-block}.event-card{background:var(--panel);border:1px solid var(--amber-dim);border-radius:14px;align-items:flex-start;gap:12px;margin-bottom:14px;padding:14px 16px;display:flex}.event-card .e-icon{font-size:18px}.event-card .e-text{color:#e7dcc0;font-size:12.5px;line-height:1.55}.role-icon{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:17px;display:flex}.role-icon.wolf{background:#8b3a3a2e;border-color:#8b3a3a66}.role-icon.village{background:#3d5a472e;border-color:#3d5a4766}.role-icon.solo{background:#c79a5626;border-color:#c79a5666}.picker-flow{flex-direction:column;gap:14px;display:flex}.picker-list{flex-direction:column;gap:8px;max-height:42vh;display:flex;overflow-y:auto}.picker-note{color:var(--moon);text-align:center;margin:0;font-size:13px}.picker-note.dim{color:var(--mist);font-family:Cormorant,serif;font-size:14px;font-style:italic}.reveal-text{text-align:center;padding:0 8px;font-size:18px}.toggle-row{color:var(--moon);align-items:center;gap:10px;font-size:12.5px;display:flex}.toggle-row input{width:18px;height:18px;accent-color:var(--blood-bright)}::-webkit-scrollbar{width:0;height:0}
