:root{color-scheme:dark;--bg: #0a0608;--veil: #150d11;--raised: #1d1218;--edge: #33202a;--ink: #f2e7e3;--ink-dim: #a4908d;--blood: #8e0f18;--blood-bright: #d8202c;--gold: #c9a227;--display: Georgia, "Times New Roman", serif;--body: system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;padding:0 0 3rem;background:radial-gradient(900px 520px at 50% -14%,#33101a 0%,transparent 62%),var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.2}app-root{display:block;max-width:720px;margin:0 auto;padding:1.25rem 1rem 0}.masthead{text-align:center;margin-bottom:1.25rem}.masthead h1{margin:.3rem 0 0;font-size:clamp(1.6rem,6vw,2.4rem)}.masthead__occasion{margin:.6rem auto 0;max-width:26rem;color:var(--gold);font-family:var(--display);font-size:1rem;line-height:1.35}.devbar{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:1rem;padding:.5rem .7rem;border:1px dashed var(--gold);border-radius:10px;background:#1a1206;font-size:.8rem}.devbar__label{font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}.devbar__hint{color:var(--ink-dim);margin-right:auto}.devbar__button{border:1px solid var(--edge);border-radius:999px;background:var(--raised);color:var(--ink);padding:.3rem .7rem;font:inherit;cursor:pointer}.devbar__button--on{border-color:var(--gold);color:var(--gold)}.masthead__who{margin:.5rem 0 0;color:var(--ink-dim);font-size:.9rem}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.34em;font-size:.66rem;color:var(--gold)}.muted{color:var(--ink-dim)}.link{border:0;background:none;color:var(--blood-bright);text-decoration:underline;cursor:pointer;padding:0;font:inherit}.tabs{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.5rem;margin-bottom:1rem;scrollbar-width:none}.tab{flex:0 0 auto;border:1px solid var(--edge);border-radius:999px;background:var(--veil);color:var(--ink-dim);padding:.5rem .95rem;font-size:.9rem;cursor:pointer}.tab--active{color:var(--ink);border-color:var(--blood-bright);background:linear-gradient(180deg,#2a0f16,var(--veil))}.card,.panel{border:1px solid var(--edge);border-radius:14px;background:var(--veil);padding:1.1rem;margin-bottom:1rem}.panel h2{margin:0 0 .5rem;font-size:1.4rem}.button{border:1px solid var(--edge);border-radius:999px;background:var(--raised);color:var(--ink);padding:.7rem 1.3rem;font:inherit;cursor:pointer;min-height:44px}.button:disabled{opacity:.45;cursor:not-allowed}.button--primary{background:linear-gradient(180deg,var(--blood-bright),var(--blood));border-color:var(--blood-bright);font-family:var(--display);font-size:1.1rem;width:100%}.row{display:flex;gap:.6rem;flex-wrap:wrap}.alert{border:1px solid var(--blood);border-radius:10px;background:#22090d;color:#ffd9dc;padding:.65rem .9rem;margin:0 0 1rem}.field{display:block;margin:0 0 .9rem}.field>span{display:block;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:.3rem}.field--row{display:grid;grid-template-columns:1fr 1.4fr;align-items:center;gap:.6rem}.field--row>span{margin:0;text-transform:none;letter-spacing:0;font-size:1rem;color:var(--ink)}select,input{width:100%;min-height:44px;border:1px solid var(--edge);border-radius:10px;background:var(--raised);color:var(--ink);padding:.5rem .7rem;font:inherit}.sheet__face{display:block;width:100%;max-height:320px;object-fit:cover;object-position:top center;border-radius:10px;margin-bottom:.9rem}.sheet__name{margin:.3rem 0 .2rem;font-size:2rem;color:var(--gold)}.sheet__tagline{margin:0 0 1rem;color:var(--ink-dim);font-style:italic}.sheet__block{border-top:1px solid var(--edge);padding-top:.9rem;margin-top:.9rem}.sheet__block h3{margin:0 0 .5rem;font-size:1rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}.sheet__block ul{margin:0 0 .7rem;padding-left:1.1rem}.sheet__lines{list-style:none;padding:0}.sheet__lines li{border-left:2px solid var(--blood);padding:.15rem 0 .15rem .7rem;margin-bottom:.4rem}.sheet__detail,.sheet__cue,.sheet__episode{margin:.5rem 0}.sheet__cue{color:var(--gold)}blockquote{margin:.6rem 0;padding:.6rem .9rem;border-left:3px solid var(--blood-bright);background:#170c10;font-family:var(--display);font-size:1.05rem}.sheet__secret{margin:1rem 0 0;text-align:center;font-size:.85rem;color:var(--ink-dim)}.roster,.votes{list-style:none;margin:0;padding:0}.role__head{display:grid;grid-template-columns:auto 1fr auto;gap:0 .6rem;width:100%;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;padding:0}.role__face{grid-row:1 / span 2;width:54px;height:54px;object-fit:cover;object-position:top center;border-radius:8px;border:1px solid var(--edge)}.role__name{font-family:var(--display);font-size:1.25rem;color:var(--gold)}.role__tagline{grid-column:2;color:var(--ink-dim);font-size:.9rem}.role__chevron{grid-column:3;grid-row:1 / span 2;align-self:center;font-size:1.5rem;color:var(--blood-bright)}.role__body{border-top:1px solid var(--edge);margin-top:.8rem;padding-top:.8rem}.role__body h3{margin:.6rem 0 .4rem;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}.countdown__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-top:1rem;text-align:center}.countdown__grid span{display:block;font-family:var(--display);font-size:clamp(1.6rem,8vw,2.4rem);color:var(--gold)}.countdown__grid small{font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim)}.ranking{list-style:none;margin:0;padding:0}.ranking__row{display:grid;grid-template-columns:2rem 1fr auto auto;align-items:center;gap:.6rem;padding:.6rem 0;border-bottom:1px solid var(--edge)}.ranking__row--lead .ranking__name{color:var(--gold)}.ranking__rank{font-family:var(--display);font-size:1.2rem;color:var(--ink-dim)}.ranking__score{font-variant-numeric:tabular-nums}.ranking__time{font-size:.8rem;color:var(--ink-dim)}.vote{display:grid;grid-template-columns:1fr;gap:.6rem}.vote__name{font-family:var(--display);font-size:1.2rem}.vote__marks{display:grid;grid-template-columns:repeat(5,1fr);gap:.4rem}.mark{min-height:48px;border:1px solid var(--edge);border-radius:10px;background:var(--raised);color:var(--ink);font:inherit;font-size:1.1rem;cursor:pointer}.mark--chosen{background:linear-gradient(180deg,var(--blood-bright),var(--blood));border-color:var(--blood-bright)}@media(min-width:640px){.button--primary{width:auto;min-width:16rem}}.auth__switch{margin:.9rem 0 0;text-align:center;color:var(--ink-dim);font-size:.9rem}.upload{display:inline-block;text-align:center;cursor:pointer;margin-bottom:1rem}textarea{width:100%;border:1px solid var(--edge);border-radius:10px;background:var(--raised);color:var(--ink);padding:.6rem .7rem;font:inherit;margin-bottom:.9rem}.shots{list-style:none;margin:0 0 1rem;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.5rem}.shot{position:relative}.shot__pick{display:block;width:100%;padding:0;border:2px solid var(--edge);border-radius:10px;background:none;cursor:pointer;overflow:hidden;aspect-ratio:1}.shot__pick img{width:100%;height:100%;object-fit:cover;display:block}.shot--picked .shot__pick{border-color:var(--gold);box-shadow:0 0 0 2px #c9a22759}.shot__remove{position:absolute;top:-6px;right:-6px;width:26px;height:26px;border-radius:50%;border:1px solid var(--edge);background:var(--bg);color:var(--ink-dim);font-size:1rem;line-height:1;cursor:pointer}.posters{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.7rem}.posters img{width:100%;border-radius:10px;border:1px solid var(--gold);display:block}.occasion{border-color:var(--gold);background:linear-gradient(180deg,#22140a,var(--veil));text-align:center}.steps{margin:0;padding-left:1.2rem;color:var(--ink-dim);line-height:1.6}.steps li{margin-bottom:.7rem}.steps strong,.slot strong{color:var(--ink)}.slot{border-left:3px solid var(--blood-bright);background:#170c10;padding:.7rem .9rem;margin:0;color:var(--ink-dim)}.example{margin:1rem 0 0}.example img{width:100%;max-width:22rem;display:block;margin:0 auto;border-radius:12px;border:1px solid var(--gold)}.example figcaption{margin-top:.6rem;font-size:.85rem;color:var(--ink-dim);line-height:1.5}
