@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@500;700&family=Crimson+Pro:ital,wght@0,400;1,400&display=swap";:root{--bg: #000000;--surface: #0b0b0a;--ink: #e9e3d4;--muted: #8b8577;--neutral: #c9bda0;--neutral-dim: #6f6959;--hair: #2a271f;--band: #121009;--ok: #4fb383;--bad: #e8655a;--accent: #c9bda0;--accent-rgb: 201, 189, 160}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Crimson Pro,Georgia,serif;min-height:100vh}.hall{max-width:560px;margin:0 auto;padding:0 0 calc(48px + env(safe-area-inset-bottom))}.pad{padding:0 16px}.eyebrow{text-align:center;font-family:Cinzel,serif;font-size:11px;letter-spacing:.42em;text-transform:uppercase;color:var(--neutral-dim);margin-bottom:10px}h1{text-align:center;font-family:Cinzel,serif;font-weight:700;font-size:clamp(26px,7vw,36px);letter-spacing:.12em;margin:0 0 6px;color:var(--neutral)}.subtitle{text-align:center;font-style:italic;color:var(--muted);margin:0 0 28px;font-size:17px}.section-title{font-family:Cinzel,serif;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--neutral-dim);margin:0 0 8px;font-weight:500;text-align:center}.section-note{text-align:center;color:var(--muted);font-size:15px;margin:0 0 18px;line-height:1.5}a{color:var(--accent)}.banner{position:relative;overflow:hidden;padding:22px 16px 0;margin-bottom:26px}.banner-glow{position:absolute;top:-120px;left:0;right:0;height:230px;background:radial-gradient(ellipse 70% 100% at 50% 100%,rgba(var(--accent-rgb),.2),transparent 70%);pointer-events:none}.banner-inner{position:relative;display:flex;align-items:center;gap:14px}.banner-crest{width:52px;flex:0 0 52px}.banner-name{font-family:Cinzel,serif;font-size:19px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.banner-trait{font-style:italic;color:var(--muted);font-size:15px;margin-top:3px;line-height:1.35}.banner-rule{position:relative;height:6px;margin-top:16px;background:var(--house-band, var(--band));border-top:1px solid var(--house-rim, var(--neutral-dim));border-bottom:1px solid var(--house-rim, var(--neutral-dim))}.preview-banner{border:1px solid var(--hair);background:var(--surface);border-radius:10px;padding:12px 14px;margin-bottom:24px;font-size:15px;line-height:1.5;color:var(--muted)}.preview-banner strong{color:var(--neutral);font-family:Cinzel,serif;letter-spacing:.06em}.selector{margin:0 0 30px}.crest-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.crest-button{display:flex;flex-direction:column;align-items:center;gap:6px;background:transparent;border:1px solid transparent;border-radius:10px;padding:10px 2px 8px;min-height:0;cursor:pointer;transition:background .25s ease,border-color .25s ease,transform .25s ease}.crest-button.selected{background:var(--surface);border-color:var(--hair);transform:translateY(-3px)}.crest{width:100%;max-width:54px;height:auto}.crest-button:not(.selected) .crest{opacity:.5}.crest-name{font-family:Cinzel,serif;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.crest-button.selected .crest-name{color:var(--accent)}button{font-family:Cinzel,serif;font-size:13px;letter-spacing:.12em;background:var(--surface);color:var(--neutral);border:1px solid var(--neutral-dim);border-radius:8px;padding:14px 22px;cursor:pointer;min-height:48px;transition:background .2s ease,border-color .2s ease}button:hover:not(:disabled){border-color:var(--neutral)}button:focus-visible{outline:2px solid var(--neutral);outline-offset:2px}button:disabled{opacity:.4;cursor:default}button.ghost{background:transparent;color:var(--muted);border-color:var(--hair)}button.small{font-size:11px;padding:8px 14px;min-height:0}.button-house{border-color:var(--accent);color:var(--accent);background:rgba(var(--accent-rgb),.1)}.actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.button-link{display:inline-block;font-family:Cinzel,serif;font-size:12px;letter-spacing:.12em;text-decoration:none;background:var(--surface);border:1px solid var(--neutral-dim);color:var(--neutral);border-radius:8px;padding:14px 22px;min-height:48px;line-height:20px}.button-link.ghost{background:transparent;border-color:transparent;color:var(--muted)}.notice-link{display:inline-block;margin-top:10px;font-family:Cinzel,serif;font-size:12px;letter-spacing:.12em;color:var(--accent);text-decoration:none}.notices{margin:30px 0;padding:22px 16px;border:1px solid var(--hair);border-radius:12px;background:var(--surface)}.notice{border:1px solid var(--hair);background:var(--bg);border-radius:10px;padding:14px 16px;margin-bottom:18px}.notice strong{font-family:Cinzel,serif;font-size:13px;letter-spacing:.1em;color:var(--neutral)}.notice p{margin:8px 0 0;font-size:16px;color:var(--muted);line-height:1.5}.message{text-align:center;margin:18px 0 0;font-size:16px}.message.ok{color:var(--ok)}.message.bad{color:var(--bad)}.aside{text-align:center;margin-top:18px;font-size:15px;color:var(--muted)}.whats-here{margin-top:34px}.feature-list{list-style:none;margin:0 0 26px;padding:0}.feature{display:flex;gap:12px;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--hair);font-size:16px}.feature-mark{flex:0 0 16px;color:var(--muted);text-align:center}.feature.done .feature-mark{color:var(--ok)}.feature strong{display:block;color:var(--ink);font-weight:400}.feature em{display:block;color:var(--muted);font-size:14px;font-style:normal;margin-top:2px}.feature:not(.done) strong{color:var(--muted)}.steps{list-style:none;margin:28px 0 0;padding:0}.step{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--hair);font-size:18px;line-height:1.5}.step-n{flex:0 0 30px;height:30px;border-radius:50%;border:1px solid var(--neutral-dim);color:var(--neutral);font-family:Cinzel,serif;font-size:14px;display:flex;align-items:center;justify-content:center}.step-body strong{color:var(--ink)}.glyph{width:22px;height:22px;vertical-align:-5px;color:var(--neutral);margin:0 1px}.footnote{text-align:center;margin-top:26px;font-style:italic;color:var(--neutral-dim);font-size:14px;line-height:1.5}.diag-toggle-wrap{text-align:center;margin-top:30px;opacity:.6}.diagnostics{margin-top:30px;border:1px solid var(--hair);border-radius:10px;padding:18px}.diagnostics h2{font-family:Cinzel,serif;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--neutral-dim);margin:0 0 14px;font-weight:500}.row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--hair);font-size:15px}.row-label{color:var(--muted)}.row-value{font-variant-numeric:tabular-nums}.row-value.ok{color:var(--ok)}.row-value.bad{color:var(--bad)}.endpoint{padding-top:10px;font-size:12px;color:var(--muted)}.endpoint code{display:block;word-break:break-all;margin-top:4px;color:var(--neutral-dim)}.muted{color:var(--muted)}.diag-actions{display:flex;gap:10px;justify-content:center}.check-grid{display:grid;gap:20px;margin-top:10px}.check-card{border:1px solid var(--hair);border-radius:12px;overflow:hidden;padding-bottom:18px}.check-card .banner{margin-bottom:16px}.check-body{padding:0 16px}.check-body p{margin:0 0 12px;color:var(--muted);font-size:15px}.check-swatches{display:flex;gap:10px;margin-top:14px;font-size:11px;color:var(--neutral-dim);flex-wrap:wrap}.check-swatch{display:inline-flex;align-items:center;gap:5px}.check-dot{width:12px;height:12px;border-radius:3px;border:1px solid rgba(255,255,255,.2)}.wrong-browser .copy-button{margin-top:12px;width:100%;font-size:12px}.wrong-browser .copy-url{display:block;margin-top:10px;padding:9px 10px;background:var(--bg);border:1px solid var(--hair);border-radius:6px;color:var(--neutral-dim);font-size:13px;word-break:break-all;-webkit-user-select:all;user-select:all}.feed{margin:30px 0}.unread-pip{display:inline-block;margin-left:10px;padding:2px 8px 1px;border-radius:10px;background:var(--accent);color:var(--bg);font-size:9px;letter-spacing:.1em;vertical-align:1px}.notice-list{list-style:none;margin:0;padding:0}.notice-item{padding:14px 16px;border:1px solid var(--hair);border-radius:10px;background:var(--surface);margin-bottom:10px}.notice-item.unread{border-left:1px solid var(--neutral);box-shadow:inset 3px 0 0 -1px var(--band),inset 4px 0 0 -1px var(--neutral);padding-left:18px}.notice-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.notice-title{font-family:Cinzel,serif;font-size:14px;letter-spacing:.06em;color:var(--neutral)}.notice-item.unread .notice-title{color:var(--ink)}.notice-when{font-size:12px;color:var(--neutral-dim);white-space:nowrap}.notice-body{margin:7px 0 0;font-size:16px;line-height:1.5;color:var(--muted)}.notice-item .notice-link{margin-top:8px}.notice-item.collapsed{padding:0;background:transparent;border-color:transparent;border-bottom:1px solid var(--hair);border-radius:0;margin-bottom:0}.notice-collapsed-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;width:100%;text-align:left;background:transparent;border:none;border-radius:0;padding:12px 2px;min-height:0;font-family:inherit;letter-spacing:0}.notice-collapsed-row .notice-title{color:var(--muted);font-size:13px}.notice-fold{margin-top:10px}.field-label{display:block;font-family:Cinzel,serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--neutral-dim);margin:22px 0 8px}.field{width:100%;background:var(--surface);border:1px solid var(--neutral-dim);border-radius:8px;padding:14px;font-size:17px;font-family:Crimson Pro,Georgia,serif;color:var(--ink);min-height:52px}.field:focus{outline:none;border-color:var(--neutral)}.field::placeholder{color:var(--neutral-dim)}.code-field{font-family:Cinzel,serif;font-size:24px;letter-spacing:.3em;text-align:center;padding-left:.3em}.code-field::placeholder{font-family:Crimson Pro,Georgia,serif;font-size:16px;letter-spacing:normal}.try-section{margin:30px 0;padding:22px 16px;border:1px solid var(--hair);border-radius:12px}.acting-as{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:rgba(var(--glow-rgb),.14);border-bottom:1px solid var(--neutral-dim);box-shadow:inset 0 -4px 0 -1px var(--band),inset 0 -5px 0 -1px var(--neutral-dim);font-size:15px;color:var(--ink);position:sticky;top:0;z-index:10}.acting-as strong{color:var(--neutral)}.who-you-are{text-align:center;color:var(--muted);font-size:15px;margin:0 0 18px}.who-you-are strong{color:var(--neutral)}.people-list{list-style:none;margin:0 0 18px;padding:0}.person{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid var(--hair);border-radius:10px;background:var(--surface);margin-bottom:8px}.person.current{border-color:var(--neutral-dim)}.person-name{font-family:Cinzel,serif;font-size:15px;letter-spacing:.06em;color:var(--ink)}.person-tag{margin-left:8px;font-family:Crimson Pro,Georgia,serif;font-size:12px;letter-spacing:normal;color:var(--neutral-dim)}.person-state{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--neutral);font-family:Cinzel,serif}.add-person,.nickname-form{border:1px solid var(--hair);border-radius:10px;padding:16px;margin-top:10px}.optional{color:var(--neutral-dim);letter-spacing:normal;text-transform:none;font-family:Crimson Pro,Georgia,serif;font-size:13px}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:#050505;border-top:1px solid var(--neutral-dim);box-shadow:inset 0 4px 0 -1px var(--band),inset 0 5px 0 -1px var(--neutral-dim);padding-bottom:env(safe-area-inset-bottom)}.tab{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 4px 9px;text-decoration:none;color:var(--muted);min-height:56px;justify-content:center}.tab.active{color:var(--neutral)}.tab-icon{width:22px;height:22px}.tab-label{font-family:Cinzel,serif;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.hall{padding-bottom:calc(86px + env(safe-area-inset-bottom))}.glass-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:22px}@media(min-width:420px){.glass-grid{gap:12px}}.glass{display:flex;flex-direction:column;align-items:center}.glass-svg{width:100%;max-width:135px;height:auto;display:block}.glass-label{text-align:center;margin-top:6px}.glass-house{font-family:Cinzel,serif;font-size:9px;letter-spacing:.04em;text-transform:uppercase;line-height:1.2}.glass-points{font-family:Cinzel,serif;font-weight:700;font-size:19px;color:var(--ink);font-variant-numeric:tabular-nums;margin-top:1px}@media(min-width:420px){.glass-house{font-size:11px;letter-spacing:.12em}.glass-points{font-size:23px}}@media(prefers-reduced-motion:no-preference){.gem-drop{animation:gemFall .55s cubic-bezier(.3,0,.7,1.4) both}@keyframes gemFall{0%{transform:translateY(var(--fall-from));opacity:.4}60%{opacity:1}to{transform:translateY(0);opacity:1}}.trickle{animation:trickleFlicker 1.4s ease-in-out infinite}@keyframes trickleFlicker{0%,to{opacity:.75}50%{opacity:.35}}.shine{animation:shineDrift 7s ease-in-out infinite}@keyframes shineDrift{0%,to{opacity:.7}50%{opacity:.25}}}.admin-block{margin:28px 0;padding:20px 16px;border:1px solid var(--hair);border-radius:12px}.household{margin-bottom:14px}.household-name{font-family:Cinzel,serif;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--neutral-dim);margin:10px 0 4px}.roster-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:9px 10px;border-bottom:1px solid var(--hair)}.roster-row.out{opacity:.45}.roster-who{display:flex;align-items:baseline;gap:8px}.roster-name{font-size:16px;color:var(--ink)}.roster-actions{display:flex;align-items:center;gap:8px}.house-chip{font-family:Cinzel,serif;font-size:10px;letter-spacing:.1em;padding:7px 10px;min-height:0;border-radius:6px;background:transparent;border:1px solid var(--hair);color:var(--muted)}.house-chip.muted{border-style:dashed}.house-picker{display:flex;gap:6px;flex-wrap:wrap;width:100%;padding:8px 0 2px}.draft-sizes{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-bottom:14px;font-family:Cinzel,serif;font-size:11px;letter-spacing:.1em}.playing-toggle{display:inline-flex;align-items:center;gap:7px;font-family:Crimson Pro,Georgia,serif;font-size:14px;letter-spacing:0;padding:7px 11px;min-height:0;border-radius:20px;background:transparent;border:1px solid var(--hair);color:var(--muted)}.playing-toggle.on{border-color:var(--neutral-dim);color:var(--neutral)}.playing-dot{width:9px;height:9px;border-radius:50%;border:1px solid var(--neutral-dim);background:transparent}.playing-toggle.on .playing-dot{background:var(--ok);border-color:var(--ok)}.linkish{background:none;border:none;padding:0;min-height:0;font-family:Crimson Pro,Georgia,serif;font-size:16px;letter-spacing:0;color:var(--ink);text-decoration:underline;text-decoration-color:var(--hair);text-underline-offset:3px}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#000000b8;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:560px;max-height:88vh;overflow-y:auto;background:var(--surface);border:1px solid var(--neutral-dim);border-bottom:none;border-radius:14px 14px 0 0;padding:18px 16px calc(28px + env(safe-area-inset-bottom))}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.sheet-head strong{font-family:Cinzel,serif;font-size:16px;letter-spacing:.08em;color:var(--ink)}.claim-code{display:block;font-family:Cinzel,serif;font-size:24px;letter-spacing:.3em;text-align:center;padding:14px;border:1px solid var(--neutral-dim);border-radius:8px;color:var(--neutral);background:var(--bg)}.sheet-danger{margin-top:26px;padding-top:16px;border-top:1px solid var(--hair)}button.danger{color:var(--bad);border-color:transparent}select.field{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 23px,calc(100% - 13px) 23px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.household-list{list-style:none;margin:0 0 18px;padding:0}.household-row{display:flex;justify-content:space-between;gap:12px;padding:9px 2px;border-bottom:1px solid var(--hair);font-size:15px}.activity-list{list-style:none;margin:18px 0 0;padding:0}.activity{border:1px solid var(--hair);border-radius:12px;background:var(--surface);padding:15px 16px;margin-bottom:10px}.activity.spent{opacity:.5}.activity-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.activity-name{font-family:Cinzel,serif;font-size:15px;letter-spacing:.06em;color:var(--ink)}.activity-points{font-family:Cinzel,serif;font-size:13px;color:var(--neutral);white-space:nowrap}.activity-note{margin:6px 0 10px;font-size:15px;color:var(--muted);line-height:1.45}.release-waiting{text-align:center;font-size:17px;color:var(--ink);margin:0 0 6px}.release-waiting strong{font-family:Cinzel,serif;font-size:26px;color:var(--neutral)}.logged-confirm{margin:8px 0 0;font-size:15px;color:var(--ok)}.undo-link{background:none;border:none;padding:0;min-height:0;font-family:inherit;font-size:inherit;letter-spacing:0;color:var(--muted);text-decoration:underline;text-underline-offset:2px}
