/* twentyq screen styles - 별빛 수수께끼 관측소 */
.tq-screen{--tq-ink:#fff4e2;--tq-muted:#cfc4e6;--tq-dim:#9b90b8;--tq-gold:#f2b35c;--tq-gold-deep:#c98a32;--tq-night:#1b1733;--tq-glass:linear-gradient(180deg,#2a2350e6 0%,#1a1532f0 100%);--tq-line:#ffffff1f;--tq-yes:#4aa36f;--tq-no:#d0445a;--tq-maybe:#8a7fa3}
.tq-screen.active{display:block}
.tq-stage{width:100%;max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-template-areas:"bar bar" "main side" "chat chat";gap:14px;align-items:start;color:var(--tq-ink)}
.tq-stage h2,.tq-stage h3,.tq-stage h4{color:var(--tq-ink)}
.tq-stage .stage-ending-card h2,.tq-stage .stage-ending-card h3,.tq-stage .stage-ending-card h4{color:var(--ink)}
.tq-bar{grid-area:bar;display:flex;align-items:center;gap:10px;min-height:60px;padding:6px 8px 6px 12px;border-radius:20px;background:var(--tq-glass);border:1px solid var(--tq-line);box-shadow:var(--shadow-art,0 10px 30px #0005)}
.tq-sky{grid-area:sky}
.tq-mc{grid-area:mc}
.tq-seats{grid-area:seats}
.tq-main{grid-area:main}
.tq-side{grid-area:side}
.tq-main,.tq-side{display:flex;flex-direction:column;gap:14px;min-width:0}
.tq-panel{grid-area:panel}
.tq-notes{grid-area:notes;display:grid;gap:8px}
.tq-notes:not(:has(:not([hidden]))){display:none}
.tq-clues{grid-area:clues}
.tq-log{grid-area:log}
.tq-chat{grid-area:chat}

.tq-sky{position:relative;aspect-ratio:16/9;border-radius:24px;overflow:hidden;background:#141029;box-shadow:var(--shadow-art,0 16px 40px #0006);isolation:isolate}
.tq-sky-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%;opacity:0;transform:scale(1.04);transition:opacity .7s ease,transform 1.4s ease;z-index:-2}
.tq-sky-art.loaded{opacity:1;transform:scale(1)}
.tq-sky:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0e0b1f8c 0%,#0e0b1f00 30%,#0e0b1f00 55%,#0e0b1fd9 100%);pointer-events:none}
.tq-sky[data-tension="dusk"]:after{background:linear-gradient(180deg,#2a0f3aa6 0%,#1a0e2e1a 34%,#1a0e2e26 55%,#140a24e6 100%)}
.tq-sky[data-tension="final"]:after{background:radial-gradient(ellipse at 50% 60%,#7a2a6a33 0%,#0000 60%),linear-gradient(180deg,#3a0f2eb3 0%,#1a0a2033 36%,#1a0a2040 56%,#12061af0 100%);animation:tqPulse 2.4s ease-in-out infinite}
.tq-sky.is-answer .tq-sky-art{object-position:50% 50%}

.tq-lanterns{flex:1;min-width:0;list-style:none;margin:0;padding:6px 4px;display:flex;align-items:center;justify-content:space-between;gap:2px;position:relative}
.tq-lanterns:before{content:'';position:absolute;left:0;right:0;top:50%;height:2px;background:linear-gradient(90deg,#c9a15a00,#c9a15a99 8%,#c9a15a99 92%,#c9a15a00);transform:translateY(-6px);border-radius:2px}
.tq-lantern{position:relative;flex:0 0 auto;width:clamp(13px,1.5vw,22px);aspect-ratio:1;transform:translateY(var(--sag,0));background:radial-gradient(circle at 50% 45%,#fff6d6 0%,#ffd27a 38%,#f2a93c 70%);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);filter:drop-shadow(0 0 5px #ffc76acc);animation:tqTwinkle 3.2s ease-in-out var(--d) infinite;transition:filter .5s ease,opacity .5s ease,transform .5s ease}
.tq-lantern.next{transform:translateY(var(--sag,0)) scale(1.3);filter:drop-shadow(0 0 7px #fff0b0) drop-shadow(0 0 14px #ffc44d)}
.tq-lantern.out{background:radial-gradient(circle at 50% 45%,#6e6690 0%,#403a5e 70%);filter:none;opacity:.6;animation:none}
.tq-lantern.just-out{animation:tqOut 1.1s ease-out both}
.tq-stage[data-tension="final"] .tq-lantern:not(.out){animation-duration:1.1s}

.tq-chip{flex-shrink:0;display:inline-flex;align-items:center;min-height:34px;padding:4px 12px;border-radius:999px;font-size:13px;font-weight:700;color:var(--tq-ink);background:#120e26b8;border:1px solid var(--tq-line);box-shadow:var(--shadow-1)}
.tq-category{color:#ffe2b0}
.tq-count{font-variant-numeric:tabular-nums}
.tq-clock{position:relative;flex-shrink:0;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#120e26cc;box-shadow:var(--shadow-2)}
.tq-clock svg{position:absolute;inset:2px;width:44px;height:44px;transform:rotate(-90deg)}
.tq-clock circle{fill:none;stroke-width:4}
.tq-clock-track{stroke:#ffffff26}
.tq-clock-fill{stroke:var(--tq-gold);stroke-linecap:round;stroke-dasharray:119.4;transition:stroke-dashoffset .25s linear,stroke .2s}
.tq-clock b{font-size:16px;font-variant-numeric:tabular-nums;color:var(--tq-ink)}
.tq-clock.urgent .tq-clock-fill{stroke:#ff6b7d}
.tq-clock.urgent{animation:tqShake .5s ease-in-out infinite}
.tq-headline{position:absolute;left:0;right:0;bottom:0;margin:0;padding:18px 22px;font-size:clamp(16px,1.8vw,20px);font-weight:700;line-height:1.45;text-align:center;color:var(--tq-ink);text-shadow:var(--text-shadow-art,0 2px 12px #000c)}
.tq-headline.mine{color:#ffd88f}

.tq-mc{display:flex;align-items:center;gap:12px;padding:10px 16px 10px 10px;border-radius:18px;background:var(--tq-glass);border:1px solid var(--tq-line);box-shadow:var(--shadow-art,0 10px 30px #0005)}
.tq-mc.is-new{animation:tqMcIn .45s cubic-bezier(.2,.8,.2,1)}
.tq-mc-face{flex-shrink:0;width:52px;height:52px;border-radius:16px;object-fit:cover;border:2px solid #ffd9ae;box-shadow:var(--shadow-1);background:#2a2350}
.tq-mc strong{display:block;font-size:12px;letter-spacing:.06em;color:#ffcf8a}
.tq-mc p{margin:2px 0 0;font-size:15px;line-height:1.55;color:var(--tq-ink)}

.tq-seats{list-style:none;margin:0;padding:8px 4px 4px;display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity}
.tq-seats::-webkit-scrollbar{display:none}
.tq-seat{position:relative;flex-shrink:0;scroll-snap-align:center;display:flex;flex-direction:column;align-items:center;gap:4px;width:84px;padding:10px 6px 8px;border-radius:18px;background:#1c1738d9;border:1px solid var(--tq-line);box-shadow:var(--shadow-2);transition:transform .25s ease,box-shadow .25s ease,border-color .25s}
.tq-seat-face{width:52px;height:52px;border-radius:50%;overflow:hidden;background:#2f2758;box-shadow:0 0 0 2px #ffffff30,var(--shadow-1)}
.tq-seat-face img{width:100%;height:100%;object-fit:cover}
.tq-seat-name{max-width:100%;font-size:13px;font-weight:700;color:var(--tq-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tq-seat-tag{font-size:11px;font-weight:700;color:var(--tq-muted)}
.tq-seat.keeper{background:linear-gradient(180deg,#4a2a2ae6,#2a1a2ae6);border-color:#e6a45f66}
.tq-seat.keeper .tq-seat-face{box-shadow:0 0 0 2px #f2b35c,0 0 16px #f2b35c66}
.tq-seat.keeper .tq-seat-tag{color:#ffcf8a}
.tq-seat.current{transform:translateY(-4px);border-color:#f2b35c;box-shadow:var(--shadow-3),0 0 0 2px #f2b35c55,0 0 24px #f2b35c55}
.tq-seat.current .tq-seat-face{box-shadow:0 0 0 3px #f2b35c,0 0 18px #f2b35caa}
.tq-seat.current .tq-seat-tag{color:#ffd88f}
.tq-seat.me .tq-seat-name{color:#ffd88f}
.tq-seat.away{opacity:.5}
.tq-bubble{position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);z-index:3;width:max-content;max-width:220px;padding:8px 12px;border-radius:14px;background:#fff8ec;color:#2b1f1a;font-size:13px;font-weight:600;line-height:1.45;box-shadow:var(--shadow-3);animation:tqBubbleIn .3s cubic-bezier(.2,.8,.2,1)}
.tq-bubble:after{content:'';position:absolute;left:50%;top:100%;border:7px solid transparent;border-top-color:#fff8ec;transform:translateX(-50%)}
.tq-bubble.is-out{opacity:0;transition:opacity .3s}
.tq-seats:has(.tq-bubble){padding-top:64px;margin-top:-56px}

.tq-away-note{margin:0;font-size:13px;color:var(--tq-muted);text-align:center}
.tq-notice{background:#3a1f2c;border:1px solid #ff8a9a66;color:#ffd6dc;border-radius:14px;padding:10px 14px;font-size:14px;font-weight:700;box-shadow:var(--shadow-2)}

.tq-panel{display:flex;flex-direction:column;gap:12px;min-width:0}
.tq-panel:empty{display:none}
.tq-card,.tq-clues,.tq-log{background:var(--tq-glass);border:1px solid var(--tq-line);border-radius:20px;padding:18px;box-shadow:var(--shadow-art,0 10px 30px #0005)}
.tq-card-title{margin:0 0 12px;font-size:17px;font-weight:700}
.tq-card-sub{margin:14px 0 8px;font-size:13px;font-weight:700;color:var(--tq-muted)}
.tq-whisper{margin:0 0 12px;padding:10px 12px;border-radius:12px;background:#ffffff0f;border-left:3px solid var(--tq-gold);font-size:14px;line-height:1.55;color:#ffe8c4}
.tq-wait{text-align:center}
.tq-wait p{margin:0;font-size:15px;line-height:1.6;color:var(--tq-muted)}
.tq-wait.with-orb{display:grid;justify-items:center;gap:12px;padding:24px 18px}
.tq-orb-mini{width:64px;height:64px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffffff 0%,#d8c8ff 18%,#7d64d8 55%,#2d1f6b 100%);box-shadow:0 0 0 6px #ffffff10,0 0 30px #a88bff99,0 12px 18px #0007;animation:tqOrb 2.4s ease-in-out infinite}

.tq-secret{display:flex;align-items:center;gap:14px;padding:12px;border-radius:20px;background:linear-gradient(135deg,#5a2b2e,#2d1a33);border:1px solid #f2b35c66;box-shadow:var(--shadow-art,0 10px 30px #0006)}
.tq-secret-art{flex-shrink:0;width:88px;height:88px;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-2);background:#1b1733}
.tq-secret-art img{width:100%;height:100%;object-fit:cover}
.tq-secret-copy{min-width:0}
.tq-secret-copy small{display:block;font-size:12px;font-weight:700;color:#ffcf8a}
.tq-secret-copy strong{display:block;font-size:28px;line-height:1.25;color:#fff;text-shadow:0 2px 10px #0008}
.tq-secret-copy .tq-whisper{margin:8px 0 0}

.tq-suggest{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.tq-suggest-btn{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:0 0 12px;border-radius:16px;overflow:hidden;border:1px solid var(--tq-line);background:#1c1738;color:var(--tq-ink);text-align:left;box-shadow:var(--shadow-2);transition:transform .18s,box-shadow .18s,border-color .18s}
.tq-suggest-btn:hover{transform:translateY(-2px);border-color:var(--tq-gold);box-shadow:var(--shadow-3)}
.tq-suggest-btn:active{transform:translateY(1px);box-shadow:var(--shadow-press)}
.tq-suggest-art{display:block;width:100%;aspect-ratio:16/9;overflow:hidden;margin-bottom:8px;background:#2a2350}
.tq-suggest-art img{width:100%;height:100%;object-fit:cover}
.tq-suggest-btn small,.tq-suggest-btn strong,.tq-suggest-btn .tq-suggest-go{padding:0 12px}
.tq-suggest-btn small{font-size:12px;color:var(--tq-muted)}
.tq-suggest-btn strong{font-size:19px}
.tq-suggest-go{font-size:12px;font-weight:700;color:var(--tq-gold)}
.tq-own{margin-top:14px;border-top:1px solid var(--tq-line);padding-top:12px}
.tq-own summary{min-height:44px;display:flex;align-items:center;font-size:14px;font-weight:700;color:var(--tq-muted);cursor:pointer}
.tq-cats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.tq-cat{display:flex;align-items:center;gap:8px;min-height:48px;padding:6px 10px 6px 6px;border-radius:14px;border:1px solid var(--tq-line);background:#1c1738;color:var(--tq-ink);font-size:14px;font-weight:700;box-shadow:var(--shadow-1)}
.tq-cat-art{flex-shrink:0;width:34px;height:34px;border-radius:10px;overflow:hidden}
.tq-cat-art img{width:100%;height:100%;object-fit:cover}
.tq-cat.selected{border-color:var(--tq-gold);background:#3a2b1f;box-shadow:0 0 0 2px #f2b35c66,var(--shadow-2)}
.tq-input{width:100%;min-width:0;min-height:48px;padding:12px 14px;border:1.5px solid #ffffff2e;border-radius:14px;background:#0f0c20cc;color:var(--tq-ink);font-size:16px;box-shadow:inset 0 2px 6px #0006}
.tq-input::placeholder{color:#a79cc6}
.tq-input:focus{border-color:var(--tq-gold);outline:none;box-shadow:inset 0 2px 6px #0006,0 0 0 3px #f2b35c40}
.tq-alias-label{display:flex;flex-direction:column;gap:6px;margin-top:10px;font-size:12px;color:var(--tq-muted);font-weight:700}
.tq-row{display:flex;gap:8px;margin-top:12px}
.tq-guess-row{margin-top:14px;padding-top:14px;border-top:1px dashed #ffffff26}
.tq-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 18px;border-radius:14px;border:0;font-size:15px;font-weight:700;cursor:pointer;transition:transform .15s,box-shadow .15s,filter .15s}
.tq-btn:disabled{opacity:.5;cursor:not-allowed}
.tq-btn-gold{background:linear-gradient(180deg,#ffcf7a,#e9a13f);color:#2b1805;box-shadow:0 3px 0 #9a5b1c,0 8px 18px #f2b35c40}
.tq-btn-gold:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 #9a5b1c,0 3px 8px #f2b35c30}
.tq-btn-cherry{background:linear-gradient(180deg,#e2566b,#be3449);color:#fff;box-shadow:var(--shadow-btn,0 3px 0 #8e1f33,0 8px 18px #be344952)}
.tq-btn-cherry:active:not(:disabled){transform:translateY(2px);box-shadow:var(--shadow-btn-press,0 1px 0 #8e1f33)}
.tq-btn-ghost{background:#ffffff12;color:var(--tq-ink);border:1px solid #ffffff2e;box-shadow:var(--shadow-1)}
.tq-btn-ghost:hover{background:#ffffff1f}
.tq-submit{width:100%;margin-top:12px}
.tq-delegate{width:100%;margin-top:12px}
.tq-row .tq-send{flex-shrink:0}
.tq-chips{display:flex;flex-wrap:wrap;gap:8px}
.tq-chip-btn{min-height:44px;padding:8px 14px;border-radius:999px;border:1px solid #ffffff2e;background:#ffffff10;color:var(--tq-ink);font-size:14px;text-align:left;box-shadow:var(--shadow-1);transition:background .15s,border-color .15s,transform .15s}
.tq-chip-btn:hover{border-color:var(--tq-gold);background:#f2b35c1f}
.tq-chip-btn:active{transform:translateY(1px);box-shadow:var(--shadow-press)}
.tq-chip-more{border-style:dashed;color:#ffd88f;background:none;box-shadow:none}
.tq-ask.sent{opacity:.55;pointer-events:none}
.tq-hint{margin:10px 0 0;font-size:13px;color:var(--tq-muted);line-height:1.6}

.tq-pending{text-align:center}
.tq-pending-who{display:flex;align-items:center;justify-content:center;gap:8px}
.tq-pending-who img{width:36px;height:36px;border-radius:50%;object-fit:cover;box-shadow:var(--shadow-1)}
.tq-pending-who small{font-size:13px;font-weight:700;color:var(--tq-muted)}
.tq-pending-q{margin:10px 0 4px;font-size:clamp(20px,2.4vw,26px);font-weight:700;line-height:1.4;word-break:keep-all;color:#fff;text-shadow:0 2px 12px #0008}
.tq-pending.mine{background:linear-gradient(180deg,#3b2346f2,#1f1533f5);border-color:#f2b35c66}
.tq-pending-wait{animation:tqBreath 1.8s ease-in-out infinite}
.tq-answer-btns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.tq-answer-btn{min-height:72px;border-radius:18px;border:0;font-size:20px;font-weight:700;color:#fff;box-shadow:0 4px 0 #0005,var(--shadow-2);transition:transform .12s,box-shadow .12s}
.tq-answer-btn:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 #0005}
.tq-answer-btn.ans-yes{background:radial-gradient(circle at 50% 30%,#5fc48a,#2f7d50)}
.tq-answer-btn.ans-no{background:radial-gradient(circle at 50% 30%,#ef6a7e,#a82a40)}
.tq-answer-btn.ans-maybe{background:radial-gradient(circle at 50% 30%,#a99ec4,#6d6389)}
.tq-wrong{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.tq-wrong small{font-size:13px;color:var(--tq-muted)}
.tq-wrong strong{font-size:24px;text-decoration:line-through;text-decoration-color:#ff6b7d;text-decoration-thickness:3px}
.tq-accept .tq-btn{width:100%;margin-top:10px}

.tq-clues h2,.tq-log h2{margin:0 0 10px;font-size:15px}
.tq-clue-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tq-clue-cols h3{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.04em}
.tq-clue-cols h3.yes{color:#8fe0ad}
.tq-clue-cols h3.no{color:#ff9aa9}
.tq-clue-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.tq-clue-cols li{font-size:13px;line-height:1.45;padding:6px 8px;border-radius:10px;background:#ffffff0d;color:var(--tq-ink)}
.tq-clue-cols li.empty{background:none;color:var(--tq-dim);padding:2px 0}
.tq-clue-maybe{margin:10px 0 0;font-size:12px;line-height:1.55;color:var(--tq-muted)}
.tq-history{list-style:none;margin:0;padding:0;display:grid;gap:8px;max-height:340px;overflow-y:auto}
.tq-history-empty{font-size:13px;color:var(--tq-dim)}
.tq-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:14px;background:#ffffff0b;box-shadow:var(--shadow-1)}
.tq-item-face{flex-shrink:0;width:34px;height:34px;border-radius:50%;overflow:hidden;background:#2f2758}
.tq-item-face img{width:100%;height:100%;object-fit:cover}
.tq-item-body{flex:1;min-width:0;display:grid;gap:2px}
.tq-item-head{display:flex;gap:6px;font-size:11px;font-weight:700;color:var(--tq-dim)}
.tq-item-num{color:var(--tq-gold)}
.tq-item-text{font-size:14px;line-height:1.45;color:var(--tq-ink);word-break:keep-all;overflow-wrap:anywhere}
.tq-item-note{font-size:11px;color:var(--tq-dim)}
.tq-skip{background:none;border:1px dashed #ffffff26;box-shadow:none}
.tq-skip .tq-item-text{font-size:12px;color:var(--tq-dim)}
.tq-guess{background:#3a1f3a99}
.tq-stamp{flex-shrink:0;display:inline-grid;place-items:center;min-width:52px;padding:5px 10px;border-radius:10px;font-size:13px;font-weight:700;border:2px solid currentColor;transform:rotate(-6deg);background:#0003}
.tq-stamp.ans-yes{color:#8fe0ad}
.tq-stamp.ans-no{color:#ff8e9e}
.tq-stamp.ans-maybe,.tq-stamp.ans-unknown{color:#c4b9df}
.tq-stamp.ans-correct{color:#1b1733;background:#ffd27a;border-color:#ffd27a}
.tq-stamp.ans-wrong{color:#ff8e9e}
.tq-stamp.ans-pending{color:#ffd88f;border-style:dashed;animation:tqBreath 1.6s ease-in-out infinite}

.tq-result{display:grid;gap:14px}
.tq-answer-card{display:flex;align-items:center;gap:16px;padding:14px;border-radius:22px;background:linear-gradient(135deg,#3b2a56,#1b1733);border:1px solid #f2b35c66;box-shadow:var(--shadow-art,0 10px 30px #0006);animation:tqReveal .8s cubic-bezier(.2,.8,.2,1) both}
.tq-result.lose .tq-answer-card{background:linear-gradient(135deg,#2a2440,#15122a);border-color:#b9a8e066}
.tq-answer-art{flex-shrink:0;width:132px;height:132px;border-radius:18px;overflow:hidden;box-shadow:var(--shadow-3);background:#1b1733}
.tq-answer-art img{width:100%;height:100%;object-fit:cover}
.tq-answer-copy{min-width:0;display:grid;gap:4px}
.tq-answer-copy small{font-size:13px;font-weight:700;color:#ffcf8a}
.tq-answer-copy strong{font-size:clamp(28px,3.4vw,40px);line-height:1.15;color:#fff;text-shadow:0 2px 16px #f2b35c88}
.tq-answer-stats{font-size:13px;color:var(--tq-muted)}
.tq-ending{border-radius:22px;overflow:hidden}
.tq-actions{display:grid;gap:8px;margin-top:12px}
.tq-chat{max-width:none;margin-top:0}

@keyframes tqTwinkle{0%,100%{opacity:1}50%{opacity:.78}}
@keyframes tqOut{0%{opacity:1;filter:drop-shadow(0 0 16px #fff0b0);transform:translate(-50%,-50%) scale(1.5)}60%{opacity:.8}100%{opacity:.55;transform:translate(-50%,-40%) scale(.9)}}
@keyframes tqPulse{0%,100%{opacity:1}50%{opacity:.82}}
@keyframes tqShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-2px)}75%{transform:translateX(2px)}}
@keyframes tqMcIn{from{transform:translateY(6px);opacity:.3}to{transform:none;opacity:1}}
@keyframes tqBubbleIn{from{opacity:0;transform:translate(-50%,6px) scale(.9)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes tqOrb{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.06);filter:brightness(1.2)}}
@keyframes tqBreath{0%,100%{opacity:1}50%{opacity:.55}}
@keyframes tqReveal{from{opacity:0;transform:scale(.92) rotateX(20deg)}to{opacity:1;transform:none}}

@media(max-width:900px){
  .tq-stage{grid-template-columns:1fr;grid-template-areas:"bar" "sky" "mc" "notes" "panel" "seats" "clues" "log" "chat"}
  .tq-main,.tq-side{display:contents}
  .tq-cats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .tq-sky{aspect-ratio:16/10;border-radius:20px}
  .tq-bar{flex-wrap:wrap;gap:6px 8px;padding:8px 8px 8px 10px}
  .tq-lanterns{order:3;flex-basis:100%;padding:2px 2px 4px}
  .tq-count{margin-left:auto}
  .tq-chip{min-height:30px;font-size:12px;padding:3px 10px}
  .tq-clock{width:44px;height:44px}
  .tq-clock svg{inset:2px;width:40px;height:40px}
  .tq-headline{padding:14px 14px;font-size:16px}
  .tq-mc{padding:8px 12px 8px 8px}
  .tq-mc-face{width:44px;height:44px;border-radius:14px}
  .tq-mc p{font-size:14px}
  .tq-seat{width:74px;padding:8px 4px 6px}
  .tq-seat-face{width:44px;height:44px}
  .tq-card,.tq-clues,.tq-log{padding:14px;border-radius:18px}
  .tq-suggest{grid-template-columns:1fr}
  .tq-suggest-btn{flex-direction:row;align-items:center;flex-wrap:wrap;padding:0 12px 0 0}
  .tq-suggest-art{width:84px;aspect-ratio:1;margin:0 4px 0 0}
  .tq-suggest-btn small{width:calc(100% - 100px);padding:8px 0 0}
  .tq-suggest-btn strong{padding:0;font-size:18px}
  .tq-suggest-go{margin-left:auto;padding:0}
  .tq-answer-btn{min-height:64px;font-size:18px}
  .tq-answer-art{width:96px;height:96px}
  .tq-history{max-height:280px}
  .tq-bubble{max-width:180px;font-size:12px}
}
@media(prefers-reduced-motion:reduce){
  .tq-lantern,.tq-sky:after,.tq-clock.urgent,.tq-orb-mini,.tq-pending-wait,.tq-stamp.ans-pending{animation:none!important}
}
.tq-screen .chat-area{background:var(--tq-glass);border:1px solid var(--tq-line);box-shadow:var(--shadow-art,0 10px 30px #0005);border-radius:20px}
.tq-screen .chat-messages{height:150px;color:var(--tq-ink)}
.tq-screen .chat-msg{color:var(--tq-ink)}
.tq-screen .chat-msg.system{color:var(--tq-muted)}
.tq-screen .chat-input-row{border-top-color:var(--tq-line)}
.tq-screen .chat-input-row input{background:#0f0c20cc;border-color:#ffffff2e;color:var(--tq-ink)}
.tq-screen .chat-input-row input::placeholder{color:#a79cc6}
.tq-side .stage-ending-card{grid-template-columns:1fr}
.tq-side .stage-ending-art{min-height:0;aspect-ratio:16/9}
.tq-side .stage-ending-copy{padding:24px 26px 26px}
