@import"https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,500;12..96,700;12..96,800&family=Public+Sans:wght@400;500;600;700&display=swap";:root{color-scheme:light;--ink: #0e1520;--muted: #5a6573;--canvas: #eef1f5;--canvas-deep: #dde3ea;--line: #c5ced8;--accent: #1f6feb;--accent-strong: #1554c0;--turn: #d7ff3c;--turn-ink: #1a2200;--warn: #c45c26;--danger: #d92d20;--surface: #ffffff;--shadow: 0 10px 36px rgba(14, 21, 32, .08);--font-display: "Bricolage Grotesque", "Avenir Next Condensed", system-ui, sans-serif;--font-body: "Public Sans", "Avenir Next", system-ui, sans-serif;--radius: 16px;--safe-bottom: env(safe-area-inset-bottom, 0px)}*,*:before,*:after{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0;font-family:var(--font-body);color:var(--ink);background:radial-gradient(900px 480px at 0% -5%,rgba(31,111,235,.12),transparent 55%),radial-gradient(700px 420px at 100% 0%,rgba(215,255,60,.18),transparent 50%),linear-gradient(180deg,#f7f9fb 0%,var(--canvas) 40%,#e7ecf2 100%);line-height:1.45;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.shell{width:min(720px,100%);margin:0 auto;padding:1.25rem 1.1rem calc(2rem + var(--safe-bottom))}.shell-wide{width:min(1100px,100%)}.brand{font-family:var(--font-display);font-size:clamp(2rem,6vw,3rem);font-weight:800;letter-spacing:-.04em;line-height:.95;margin:0}.lede{color:var(--muted);margin:.55rem 0 0;max-width:38ch;font-size:1.05rem}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem;box-shadow:var(--shadow)}.stack{display:grid;gap:.9rem}.row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}label.field{display:grid;gap:.35rem;font-size:.9rem;color:var(--muted);font-weight:500}input,textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:.8rem .9rem;background:#fff;color:var(--ink)}input:focus,textarea:focus{outline:2px solid rgba(31,111,235,.35);outline-offset:1px;border-color:var(--accent)}textarea{min-height:7.5rem;resize:vertical}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:999px;padding:.8rem 1.2rem;background:var(--accent);color:#fff;font-weight:700;transition:transform .12s ease,background .12s ease,box-shadow .12s ease}.btn:hover{background:var(--accent-strong)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-secondary{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn-secondary:hover{background:var(--canvas-deep)}.btn-danger{background:var(--danger)}.btn-turn{background:var(--turn);color:var(--turn-ink)}.meta{font-size:.85rem;color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .7rem;border-radius:999px;background:var(--canvas-deep);color:var(--ink);font-size:.78rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.badge-live{background:#d9ecff;color:var(--accent-strong)}.badge-ended{background:#ffe0d6;color:#8a3414}.badge-turn{background:var(--turn);color:var(--turn-ink)}.story-card{display:grid;gap:.7rem}.story-card-pick{cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.story-card-pick:hover,.story-card-pick:focus-visible{border-color:var(--accent);box-shadow:0 6px 18px #0e15201a;outline:none}.story-card-pick:active{transform:translateY(1px)}.story-title{font-family:var(--font-display);font-size:1.4rem;font-weight:700;letter-spacing:-.03em;margin:0}.story-body,.prompt{white-space:pre-wrap;margin:0}.prompt{color:var(--muted);background:var(--canvas);border-radius:10px;padding:.65rem .8rem}.story-so-far{display:flex;flex-direction:column;gap:.65rem;max-height:min(42vh,18rem);overflow-y:auto;overscroll-behavior:contain;scrollbar-color:var(--line) transparent}.timer{font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:.02em;font-family:var(--font-display)}.timer-lg{font-size:clamp(2rem,8vw,4rem)}.next-up-timer{font-size:clamp(1.6rem,7vw,2.4rem);margin:0;color:var(--warn);line-height:1}.writing-panel{border-color:#b8d400;background:linear-gradient(180deg,#f7ffe0,#fff 42%);animation:pulse-border 1.6s ease infinite}.error{color:var(--danger);margin:0}.projection{box-sizing:border-box;min-height:100vh;min-height:100dvh;padding:clamp(1rem,2.5vh,1.75rem) clamp(1rem,3vw,2.5rem) clamp(1.25rem,3vh,2rem);background:radial-gradient(800px 500px at 15% 0%,rgba(215,255,60,.12),transparent 55%),linear-gradient(165deg,#0b121a,#152033 55%,#0e1520);color:#f3f6fa;display:flex;flex-direction:column}.projection-header{justify-content:space-between;align-items:flex-start;margin-bottom:clamp(.75rem,2vh,1.25rem);flex-shrink:0}.projection-join-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:.45rem;border:1px solid rgba(243,246,250,.22);border-radius:999px;padding:.55rem .95rem;background:#ffffff0f;color:#f3f6fa;font-family:var(--font-body);font-size:.95rem;font-weight:600;letter-spacing:.01em;transition:background .14s ease,border-color .14s ease,transform .12s ease}.projection-join-btn:hover{background:#ffffff1f;border-color:#f3f6fa5c}.projection-join-btn:active{transform:translateY(1px)}.projection-join-btn:focus-visible{outline:2px solid var(--turn);outline-offset:3px}.projection-join-icon{flex-shrink:0;opacity:.92}.projection-status{text-align:right}.projection-qr-dialog{margin:auto;padding:0;border:none;background:transparent;max-width:min(72vw,36rem);width:100%}.projection-qr-dialog::backdrop{background:#060a10b8}.projection-qr-dialog[open]{animation:projection-qr-rise .22s cubic-bezier(.16,1,.3,1) both}.projection-qr-dialog[open]::backdrop{animation:projection-qr-dim .22s ease both}.projection-qr-stage{position:relative;display:grid;place-items:center;padding:clamp(1.25rem,3vw,1.75rem);border-radius:calc(var(--radius) + 4px);background:#fff;box-shadow:0 18px 48px #00000073}.projection-qr-code{display:block;width:min(56vw,28rem);height:auto;aspect-ratio:1;border-radius:8px}.projection-qr-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;top:.65rem;right:.65rem;display:grid;place-items:center;width:2.4rem;height:2.4rem;border:none;border-radius:999px;background:#0e15200f;color:#0e1520;transition:background .14s ease}.projection-qr-close:hover{background:#0e15201f}.projection-qr-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes projection-qr-rise{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}@keyframes projection-qr-dim{0%{opacity:0}to{opacity:1}}.projection-status-label{color:#9aa8b8;margin:0}.projection-timer{display:block;color:#f3f6fa}.projection .prompt{color:inherit;background:none;border-radius:0;padding:0;font-family:var(--font-display);font-size:clamp(1rem,1.7vw,1.45rem);line-height:1.45;font-weight:500}.projection .story-title{color:#f3f6fa;font-size:clamp(1.35rem,2.4vw,2.1rem)}.projection .story-body{font-family:var(--font-display);font-size:clamp(1rem,1.7vw,1.45rem);line-height:1.45;font-weight:500}.projection-story{background:#ffffff0d;border-color:#f3f6fa29;box-shadow:none;min-height:0;display:flex;flex-direction:column}.projection-queue{color:#9aa8b8;margin-top:auto}.projection-grid{display:grid;gap:clamp(.75rem,1.5vw,1.25rem);flex:1;min-height:0;align-content:stretch}@media(min-width:900px){.projection-grid.cols-2{grid-template-columns:1fr 1fr}.projection-grid.cols-3{grid-template-columns:1fr 1fr 1fr}}@media(min-width:720px)and (orientation:landscape){.projection-grid.cols-2{grid-template-columns:1fr 1fr}.projection-grid.cols-3{grid-template-columns:1fr 1fr 1fr}}.fade-in{animation:rise .28s ease both}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes pulse-border{0%,to{box-shadow:0 0 #d7ff3c59,var(--shadow)}50%{box-shadow:0 0 0 6px #d7ff3c1f,var(--shadow)}}@media(prefers-reduced-motion:reduce){.fade-in,.writing-panel,.projection-qr-dialog[open],.projection-qr-dialog[open]::backdrop{animation:none}.story-card-pick{transition:none}.story-card-pick:active{transform:none}}
