:root{--ink:#0f0d12;--ink-raised:#1b1720;--ink-raised-2:#251f2c;--hairline:#c9a24b38;--hairline-strong:#c9a24b73;--gold:#c9a24b;--gold-bright:#e4c878;--blood:#b23a3a;--blood-bright:#d6544f;--citizen-blue:#4d84ab;--zodiac-violet:#8968b3;--parchment:#ece5d6;--muted:#9c93a8;--faint:#665f70;--tint-day:#c9a24b12;--tint-night:#694e9e1f;--font-display:"Lalezar", "Vazirmatn", system-ui, sans-serif;--font-body:"Vazirmatn", system-ui, sans-serif;--fs-hero:clamp(2.1rem, 6vw, 3rem);--fs-h1:1.55rem;--fs-h2:1.15rem;--fs-body:1rem;--fs-small:.875rem;--fs-tiny:.75rem;--radius:10px;--radius-sm:6px;--container:30rem}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--ink);color:var(--parchment);font-family:var(--font-body);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;background-image:radial-gradient(70% 40% at 50% -10%,#c9a24b0f,#0000),radial-gradient(60% 30% at 100% 100%,#694e9e0d,#0000);margin:0;line-height:1.6}h1,h2,h3{margin:0;font-weight:700}p{margin:0}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer}a{color:inherit}::selection{background:var(--gold);color:var(--ink)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}.app-shell{justify-content:center;min-height:100%;display:flex}.screen{width:100%;max-width:var(--container);flex-direction:column;gap:1rem;min-height:100%;padding:1.25rem 1.1rem 2.5rem;display:flex}.stack{flex-direction:column;gap:.65rem;display:flex}.row{align-items:center;gap:.6rem;display:flex}.row-between{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.spacer{flex:1}.hero-title{font-family:var(--font-display);font-size:var(--fs-hero);color:var(--gold-bright);text-shadow:0 0 22px #c9a24b59;letter-spacing:.5px;line-height:1.15}.hero-subtitle{color:var(--muted);font-size:var(--fs-small)}.section-title{font-family:var(--font-display);font-size:var(--fs-h1);color:var(--gold-bright)}.eyebrow{font-size:var(--fs-tiny);color:var(--muted)}.muted{color:var(--muted)}.card{background:var(--ink-raised);border:1px solid var(--hairline);border-radius:var(--radius);padding:1rem;position:relative}.card:before{content:"";inset-inline-start:0;background:linear-gradient(to bottom, var(--gold), transparent 70%);opacity:.65;border-start-start-radius:var(--radius);border-end-start-radius:var(--radius);width:3px;height:100%;position:absolute;top:0}.card-flush{padding:0;overflow:hidden}.divider{background:var(--hairline);border:none;height:1px;margin:.15rem 0}.btn{appearance:none;border:1px solid var(--hairline-strong);color:var(--parchment);border-radius:var(--radius-sm);font-size:var(--fs-body);background:0 0;padding:.7rem 1rem;font-weight:600;transition:background-color .12s,border-color .12s,transform 80ms}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--gold);border-color:var(--gold);color:#201808}.btn-primary:hover:not(:disabled){background:var(--gold-bright)}.btn-danger{border-color:var(--blood);color:var(--blood-bright)}.btn-danger:hover:not(:disabled){background:#b23a3a1f}.btn-block{text-align:center;width:100%}.btn-ghost{color:var(--muted);border-color:#0000}.btn-ghost:hover:not(:disabled){color:var(--parchment)}.field{flex-direction:column;gap:.35rem;display:flex}.field label{font-size:var(--fs-small);color:var(--muted)}.field input,.field select{background:var(--ink);border:1px solid var(--hairline);border-radius:var(--radius-sm);outline:none;padding:.7rem .8rem}.field input:focus,.field select:focus{border-color:var(--gold)}.badge{font-size:var(--fs-tiny);border:1px solid var(--hairline);color:var(--muted);border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .55rem;display:inline-flex}.badge-mafia{color:var(--blood-bright);border-color:#b23a3a66}.badge-citizen{color:var(--citizen-blue);border-color:#4d84ab66}.badge-zodiac{color:var(--zodiac-violet);border-color:#8968b373}.phase-day{background-image:linear-gradient(to bottom, var(--tint-day), transparent 30%)}.phase-night{background-image:linear-gradient(to bottom, var(--tint-night), transparent 30%)}.center-text{text-align:center}.error-banner{color:var(--blood-bright);border-radius:var(--radius-sm);font-size:var(--fs-small);background:#b23a3a1a;border:1px solid #b23a3a80;padding:.6rem .8rem}.scrollable{overflow-y:auto}.pill-input{gap:.5rem;display:flex}.pill-input input{flex:1}
