:root{--paper:#faf7f1;--paper-deep:#f3ede2;--card:#fff;--ink:#21303a;--ink-soft:#46555f;--muted:#75828c;--line:#e8e0d1;--line-strong:#d8cdb8;--flame:#e8431f;--flame-deep:#c33312;--flame-soft:#fcebe4;--amber:#c08a1d;--amber-soft:#faf0d8;--teal:#0f7b7c;--teal-soft:#e2f1ef;--green:#2e7d4f;--green-soft:#e3f1e7;--slate-soft:#edf0f2;--radius:16px;--radius-sm:9px;--shadow:0 1px 2px #21303a0d,0 4px 18px -8px #21303a17;--shadow-pop:0 2px 4px #21303a12,0 14px 34px -16px #21303a38;--sans:"IBM Plex Sans","Helvetica Neue",sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace;--display:"Bricolage Grotesque","IBM Plex Sans",sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--sans);color:var(--ink);background-color:var(--paper);-webkit-font-smoothing:antialiased;background-image:radial-gradient(#21303a0e 1px,#0000 1px);background-size:26px 26px;font-size:16px;line-height:1.55}::selection{background:var(--flame-soft);color:var(--flame-deep)}:focus-visible{outline:2px solid var(--flame);outline-offset:2px;border-radius:4px}.accent-rail{background:linear-gradient(90deg,var(--flame)0%,#f0862f 38%,var(--amber)62%,var(--teal)100%);height:4px}.shell{max-width:720px;margin:0 auto;padding:20px 18px 80px}.shell.wide{max-width:1080px}.topbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items: center;gap:12px;padding:14px 2px 22px}.brand{display:inline-flex;text-decoration:none;color:inherit;align-items: center;gap:10px}.brand-mark{background:linear-gradient(160deg,var(--flame)10%,var(--flame-deep)90%);display:grid;box-shadow:var(--shadow);border-radius:9px;flex:none;place-items: center;width:34px;height:34px}.brand-mark svg{width:20px;height:20px}.brand-name{font-family:var(--display);letter-spacing:-.01em;font-size:17px;font-weight:650;line-height:1.1}.brand-sub{display:block;font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:1px;font-size:10.5px;font-weight:500}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:18px;padding:22px}.card.hero{border-top:3px solid var(--flame)}.section-label{display:inline-flex;font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);align-items: center;gap:8px;margin:0 0 12px;font-size:11px;font-weight:600}.section-label .dot{background:var(--flame);border-radius:50%;flex:none;width:8px;height:8px}.section-label .dot.teal{background:var(--teal)}.section-label .dot.amber{background:var(--amber)}.section-label .dot.green{background:var(--green)}h1,h2,h3{font-family:var(--display);letter-spacing:-.015em;overflow-wrap:anywhere;margin:0 0 8px;line-height:1.15}h1{font-size:clamp(26px,5vw,34px);font-weight:700}h2{font-size:21px;font-weight:650}h3{font-size:17px;font-weight:600}p{margin:0 0 10px}.muted{color:var(--muted)}.small{font-size:13.5px}.chip{display:inline-flex;font-family:var(--mono);color:var(--ink-soft);background:var(--paper-deep);border:1px solid var(--line);white-space:nowrap;border-radius:7px;align-items: center;gap:6px;padding:2px 9px;font-size:12px;font-weight:500}.pill{display:inline-flex;font-family:var(--mono);letter-spacing:.02em;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items: center;gap:6px;padding:3px 11px;font-size:11.5px;font-weight:600}.pill.queued{background:var(--slate-soft);color:var(--ink-soft);border-color:#dde2e6}.pill.grouped{background:var(--teal-soft);color:var(--teal);border-color:#c8e4e0}.pill.answered{background:var(--green-soft);color:var(--green);border-color:#cbe6d4}.pill.needs-detail{background:var(--amber-soft);color:var(--amber);border-color:#efdcae}.pill.open{background:var(--green-soft);color:var(--green);border-color:#cbe6d4}.pill.closed,.pill.flame{background:var(--flame-soft);color:var(--flame-deep);border-color:#f6cfc1}.conn{display:inline-flex;font-family:var(--mono);letter-spacing:.04em;color:var(--muted);border:1px solid var(--line);background:var(--card);border-radius:999px;align-items: center;gap:7px;padding:4px 12px;font-size:11.5px;font-weight:600}.conn .beacon{background:var(--muted);border-radius:50%;flex:none;width:8px;height:8px}.conn.live{color:var(--teal);border-color:#c8e4e0}.conn.live .beacon{background:var(--teal);animation:beacon 2.2s ease-in-out infinite}.conn.connecting .beacon{background:var(--amber)}.conn.error{color:var(--flame-deep);border-color:#f6cfc1}.conn.error .beacon{background:var(--flame)}@keyframes beacon{0%,to{box-shadow:0 0 #0f7b7c73}55%{box-shadow:0 0 0 6px #0f7b7c00}}@media (prefers-reduced-motion:reduce){.conn.live .beacon{animation:none}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.btn{display:inline-flex;font-family:var(--sans);border:1px solid var(--line-strong);background:var(--card);color:var(--ink);cursor:pointer;text-decoration:none;border-radius:11px;justify-content:center;align-items: center;gap:8px;padding:9px 18px;transition:transform 60ms,box-shadow .12s,background .12s,border-color .12s;font-size:14.5px;font-weight:600}.btn:hover{border-color:var(--ink-soft)}.btn:active{transform:scale(.98)}.btn.primary{background:var(--flame);border-color:var(--flame-deep);color:#fff7f2;box-shadow:0 2px 8px -2px #e8431f73}.btn.primary:hover{background:var(--flame-deep)}.btn.quiet{color:var(--ink-soft);background:0 0;border-color:#0000;padding:7px 10px}.btn.quiet:hover{background:var(--paper-deep);color:var(--ink)}.btn.small{border-radius:9px;padding:6px 12px;font-size:13px}.btn:disabled{opacity:.55;cursor:not-allowed}textarea,input[type=text],input[type=password]{font-family:var(--sans);color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#fffdf9;width:100%;padding:11px 13px;transition:border-color .12s,box-shadow .12s;font-size:15px}textarea{resize:vertical;min-height:84px}textarea:focus,input:focus{outline:none;border-color:var(--flame);box-shadow:0 0 0 3px #e8431f21}label.field-label{display:block;color:var(--ink-soft);margin:0 0 6px;font-size:13.5px;font-weight:600}.form-status{color:var(--teal);margin-top:8px;font-size:13.5px;font-weight:500}.form-status.err{color:var(--flame-deep)}.char-hint{font-family:var(--mono);color:var(--muted);text-align:right;margin-top:4px;font-size:11px}.pulse-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pulse-btn{display:flex;font-family:var(--sans);color:var(--ink);background:var(--card);border:1.5px solid var(--line-strong);cursor:pointer;text-align:left;border-radius:13px;align-items: center;gap:10px;min-height:56px;padding:14px;transition:transform 70ms,border-color .12s,background .12s;font-size:15px;font-weight:600}.pulse-btn:hover{border-color:var(--flame)}.pulse-btn:active{background:var(--flame-soft);transform:scale(.965)}.pulse-glyph{border-radius:50%;flex:none;width:12px;height:12px}.pulse-glyph.with-you{background:var(--green)}.pulse-glyph.confused{background:var(--amber)}.pulse-glyph.too-fast{background:var(--flame)}.pulse-glyph.too-slow{background:var(--teal)}.meter-row{display:grid;grid-template-columns:130px 1fr 36px;align-items: center;gap:12px;margin-bottom:10px;font-size:14px}.meter-row .meter-label{color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.meter-track{display:block;background:var(--paper-deep);overflow:hidden;border-radius:999px;height:10px}.meter-fill{display:block;background:linear-gradient(90deg,var(--teal),#2b9d92);border-radius:999px;min-width:0;height:100%;transition:width .5s cubic-bezier(.22,1,.36,1)}.meter-fill.with-you{background:linear-gradient(90deg,#2e7d4f,#46a36e)}.meter-fill.confused{background:linear-gradient(90deg,#c08a1d,#ddab43)}.meter-fill.too-fast{background:linear-gradient(90deg,#e8431f,#f3793f)}.meter-fill.too-slow{background:linear-gradient(90deg,#0f7b7c,#34a09c)}.meter-count{font-family:var(--mono);color:var(--ink-soft);text-align:right;font-size:13px;font-weight:600}.q-list{display:flex;flex-direction:column;gap:10px;margin-top:14px}.q-row{display:flex;border:1px solid var(--line);background:#fffdf9;border-radius:12px;align-items: flex-start;gap:12px;padding:12px 14px}.q-row.answered{opacity:.62}.q-text{overflow-wrap:anywhere;flex:1;min-width:0;font-size:15px}.q-meta{display:flex;flex-wrap:wrap;align-items: center;gap:8px;margin-top:6px}.q-meta time{font-family:var(--mono);color:var(--muted);font-size:11px}.vote-box{display:flex;flex-direction:column;flex:none;align-items: center;gap:2px}.vote-btn{font-family:var(--mono);border:1px solid var(--line-strong);background:var(--card);color:var(--teal);cursor:pointer;border-radius:8px;padding:4px 10px;transition:background .1s,transform 70ms;font-size:13px;font-weight:600}.vote-btn:hover{background:var(--teal-soft)}.vote-btn:active{transform:scale(.93)}.vote-btn.down{color:var(--muted);background:0 0;border-color:#0000;padding:1px 8px;font-size:11px}.vote-btn.down:hover{background:var(--slate-soft)}.vote-btn.upvote{display:inline-flex;border-color:var(--line);background:var(--card);color:var(--ink-muted);justify-content:center;align-items: center;gap:5px;min-width:64px;padding:4px 12px;font-size:16px}.vote-btn.upvote:hover{background:var(--teal-soft)}.vote-btn.upvote.voted{background:var(--teal-soft);border-color:var(--teal);color:var(--teal)}.vote-count{font-family:var(--mono);font-size:12.5px;font-weight:600}.vote-score{font-family:var(--mono);color:var(--ink-soft);font-size:12.5px;font-weight:600}.theme-card{border:1px solid var(--line);border-left:4px solid var(--teal);background:#fffdf9;border-radius:12px;margin-bottom:10px;padding:14px 16px}.theme-card.pinned{border-left-color:var(--flame);background:#fffaf6}.theme-card.answered{border-left-color:var(--green);opacity:.66}.theme-card.hidden-theme{border-left-color:var(--muted);opacity:.6}.theme-text{overflow-wrap:anywhere;font-size:16px;font-weight:600;line-height:1.4}.theme-meta{display:flex;flex-wrap:wrap;align-items: center;gap:8px;margin-top:8px}.theme-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.rating-scale{display:flex;flex-wrap:wrap;gap:8px}.rating-dot{border:1.5px solid var(--line-strong);background:var(--card);font-family:var(--mono);color:var(--ink-soft);cursor:pointer;border-radius:12px;width:46px;height:46px;transition:all .1s;font-size:16px;font-weight:600}.rating-dot:hover{border-color:var(--flame)}.rating-dot.on{background:var(--flame);border-color:var(--flame-deep);color:#fff;box-shadow:0 2px 8px -2px #e8431f80}.room-card{display:flex;flex-wrap:wrap;justify-content:space-between;align-items: center;gap:16px}.room-card .room-info{flex:320px;min-width:0}.room-card .btn{flex:none}.seg{display:inline-flex;border:1px solid var(--line-strong);overflow:hidden;background:var(--paper-deep);border-radius:10px;gap:3px;padding:3px}.seg button{font-family:var(--sans);color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 14px;font-size:13.5px;font-weight:600}.seg button.on{background:var(--card);color:var(--ink);box-shadow:var(--shadow)}.control-grid{display:grid;grid-template-columns:minmax(280px,2fr)3fr;align-items: start;gap:18px}.admin-room-list{display:flex;flex-direction:column;gap:12px}.admin-room-card{display:grid;grid-template-columns:minmax(0,1fr)auto;border:1px solid var(--line);background:#fffdf9;border-radius:13px;align-items: center;gap:14px;padding:14px 16px}.admin-room-main{min-width:0}.admin-room-main h3{overflow-wrap:anywhere;margin-bottom:4px}.admin-room-meta,.admin-room-status,.admin-room-actions{display:flex;flex-wrap:wrap;align-items: center;gap:8px 10px}.admin-room-meta{color:var(--ink-soft);margin-top:4px;font-size:14px}.admin-room-status{margin-top:8px}.admin-room-actions{justify-content:flex-end}.room-id{display:inline-block;font-family:var(--mono);color:var(--muted);margin-top:3px;font-size:12px}.stat-row{display:flex;flex-wrap:wrap;gap:26px}.stat .stat-num{font-family:var(--display);color:var(--ink);font-size:32px;font-weight:700;line-height:1}.stat .stat-label{font-family:var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-top:5px;font-size:11px}details.private-feedback{border:1px dashed var(--line-strong);border-radius:var(--radius);background:#fffdf999}details.private-feedback>summary{cursor:pointer;list-style:none;display:flex;color:var(--ink-soft);align-items: center;gap:10px;padding:16px 22px;font-weight:600}details.private-feedback>summary::-webkit-details-marker{display:none}details.private-feedback[open]>summary{border-bottom:1px dashed var(--line)}details.private-feedback .pf-body{padding:18px 22px}.qr-frame{display:grid;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-pop);background:#fff;place-items: center;width:-moz-fit-content;width:fit-content;margin:18px auto;padding:26px}.qr-url{font-family:var(--mono);color:var(--flame-deep);text-align:center;overflow-wrap:anywhere;font-size:clamp(15px,2.4vw,22px);font-weight:600}.row{display:flex;flex-wrap:wrap;align-items: center;gap:10px}.row.between{justify-content:space-between}.spacer{flex:1}.empty{border:1px dashed var(--line-strong);text-align:center;color:var(--muted);background:#fffdf980;border-radius:12px;padding:22px;font-size:14.5px}pre.code-block{font-family:var(--mono);color:#e8e6df;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:#20303a;border-radius:12px;max-height:420px;padding:16px;font-size:12px;line-height:1.5}.fade-in{animation:fadeUp .4s cubic-bezier(.22,1,.36,1)both}.fade-in.d1{animation-delay:50ms}.fade-in.d2{animation-delay:.1s}.fade-in.d3{animation-delay:.16s}.fade-in.d4{animation-delay:.22s}@keyframes fadeUp{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media (max-width:760px){.control-grid{grid-template-columns:1fr}.admin-room-card{grid-template-columns:1fr;align-items:stretch}.admin-room-actions{justify-content:flex-start}}@media (max-width:560px){.shell{padding:14px 13px 70px}.card{padding:17px}.meter-row{grid-template-columns:minmax(86px,.8fr)minmax(72px,1fr)30px;gap:8px}.room-card .btn{width:100%}.admin-room-actions .btn{flex:100%}.row.between{align-items: flex-start}.seg{width:100%}.seg button{flex:1;padding-inline-start:8px;padding-inline-end:8px}.theme-card{padding:12px 13px}.theme-actions .btn{flex:auto}details.private-feedback>summary{align-items: flex-start;padding:14px 16px}details.private-feedback .pf-body{padding:16px}}
