:root{--ink: #212121;--muted: #737373;--line: #dbdbdb;--panel-fill: #f4f4f4;--canvas: #fafafa;--surface: #ffffff;--warn: #b86600;--warn-line: #edb34d;--warn-bg: #fff7e6;--tag-stroke: #8c8c8c;--bg: var(--canvas);--panel: var(--surface);--radius: 8px;--radius-ctl: 6px;--radius-tag: 4px;--gap: 16px;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:13px;line-height:1.4;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--canvas)}.hacs-app{max-width:1280px;margin:0 auto;padding:16px 16px 48px}.hacs-topbar{display:flex;align-items:center;gap:8px;margin:-16px -16px 16px;padding:12px 16px;background:var(--surface);border:0;border-bottom:1px solid var(--line);border-radius:0}.hacs-topbar h1{font-size:13px;margin:0;font-weight:600;letter-spacing:.01em}.hacs-seatchip{margin-left:auto;font-size:12px;font-weight:400;padding:0;border:0;border-radius:0;background:transparent;color:var(--muted)}.hacs-conn{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:400;color:var(--muted)}.hacs-conn:before{content:"·";color:var(--muted)}.hacs-conn[data-state=connecting]{animation:hacs-pulse 1.2s ease-in-out infinite}.hacs-conn[data-state=disconnected]{color:var(--warn)}@keyframes hacs-pulse{0%,to{opacity:1}50%{opacity:.3}}.hacs-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:var(--gap);align-items:start}.hacs-col{display:flex;flex-direction:column;gap:var(--gap);min-width:0}.hacs-card{max-width:560px;margin:48px auto 0}.hacs-card+.hacs-card,.hacs-card .panel+.panel{margin-top:var(--gap)}@media(max-width:900px){.hacs-app{padding:16px}.hacs-grid{grid-template-columns:1fr}.hacs-card{margin-top:16px}}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.hacs-card .panel,.panel.hacs-card{padding:20px}.panel>h2{font-size:13px;text-transform:none;letter-spacing:0;color:var(--ink);margin:0 0 10px;font-weight:600}.panel h2{font-size:15px;font-weight:600;margin:8px 0 6px}.panel>h2:first-child{margin-top:0}.hacs-card .panel>h2:first-child,.panel.hacs-card>h2:first-child{font-size:17px;text-transform:none;letter-spacing:0;color:var(--ink);margin:0 0 10px}.hacs-title-sub{color:var(--muted);font-weight:400}.empty{color:var(--muted);font-size:13px;padding:2px 0}.error{color:var(--warn);font-size:13px}.section-note{font-size:12px;color:var(--muted);margin-top:4px}.prompt{line-height:1.4}.brief{white-space:pre-wrap;line-height:1.5}.hacs-warnbanner{background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:var(--radius-ctl);color:var(--warn);padding:10px 14px;font-size:13px;line-height:1.5;display:flex;gap:8px;align-items:baseline;margin:10px 0}.hacs-warnbanner p{margin:0}.btn{font:inherit;font-size:13px;font-weight:500;cursor:pointer;min-height:44px;min-width:44px;padding:8px 16px;border-radius:var(--radius-ctl);border:1px solid var(--line);background:var(--surface);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn:hover{border-color:var(--muted)}.btn.primary{background:var(--ink);color:var(--surface);border-color:var(--ink)}.btn.primary:hover{background:#000;border-color:#000}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.small{padding:6px 12px;font-size:12px}.btn.ghost{border:none;background:transparent}.btn.ghost:hover{background:var(--panel-fill)}.btn:focus-visible,.input:focus-visible,.textarea:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.input,.textarea,select.input,label>input:not([type=checkbox]):not([type=radio]):not([type=range]){font:inherit;width:100%;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-ctl);background:var(--surface);color:var(--ink)}.textarea{resize:vertical;min-height:44px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.hacs-composer{border:1px solid var(--line);border-radius:var(--radius-ctl);background:var(--surface);padding:0 4px 0 0;flex-wrap:nowrap;align-items:center;gap:0}.hacs-composer .textarea{border:none;resize:none;min-height:44px;height:44px;padding:12px;flex:1;background:transparent}.hacs-composer .textarea:focus-visible{outline:none}.hacs-composer:focus-within{outline:2px solid var(--ink);outline-offset:1px}.hacs-composer .btn{flex:none}.badge{font-size:10px;font-weight:500;line-height:1.4;padding:1px 6px;border-radius:var(--radius-tag);background:var(--surface);color:var(--ink);border:1px solid var(--tag-stroke);white-space:nowrap;flex:none}.badge-ai{background:var(--ink);color:var(--surface);border-color:var(--ink)}.badge-ai_access,.badge-ai_assisted{background:var(--surface);color:var(--ink);border-color:var(--tag-stroke)}.roster{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.roster li{display:flex;align-items:center;gap:10px;min-height:24px}.roster .dot{width:8px;height:8px;border-radius:50%;background:var(--ink);flex:none}.roster .you{font-weight:400}.roster .badge{margin-left:auto}.roster .section-note{margin-top:0}.chat-log{display:flex;flex-direction:column;gap:16px;min-height:200px;max-height:60vh;overflow-y:auto;padding-right:4px}.msg{padding:0;border:none;border-radius:0;background:transparent}.msg.own{background:transparent}.msg .meta{font-size:12px;color:var(--muted);margin-bottom:3px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.msg .who{font-weight:600;font-size:13px;color:var(--ink)}.msg .dm{color:var(--muted);font-style:italic}.typing-line{font-size:12px;color:var(--muted);min-height:18px;font-style:italic}.assistant .note{font-size:12px;color:var(--muted);margin:0 0 10px}.assistant .exchange{border:none;border-radius:var(--radius-ctl);padding:12px;margin-bottom:10px;background:var(--panel-fill)}.assistant .exchange .q{font-weight:400;font-size:12px;color:var(--muted);margin-bottom:4px}.assistant .exchange .a{white-space:pre-wrap}.assistant .exchange.pending{background:var(--panel-fill)}.hacs-assistant-notice{padding:4px 0}.hacs-thinking{display:inline-flex;gap:4px;align-items:center;padding:4px 0}.hacs-thinking i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:hacs-think 1.2s ease-in-out infinite}.hacs-thinking i:nth-child(2){animation-delay:.2s}.hacs-thinking i:nth-child(3){animation-delay:.4s}@keyframes hacs-think{0%,60%,to{opacity:.25}30%{opacity:1}}.hacs-assistant-unavailable{border:1px solid var(--line);border-radius:var(--radius-ctl);background:var(--surface);color:var(--muted);padding:8px 12px;margin:8px 0;font-size:12px}.hacs-task-heading{display:flex;align-items:baseline;gap:8px}.clues{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.clue{border:none;border-radius:0;padding:2px 0;background:transparent;display:flex;gap:12px;align-items:center;justify-content:space-between}.clue.shared{background:transparent;color:var(--muted)}.answer-options{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.answer-state{font-size:13px;color:var(--muted)}.answer-state b{color:var(--ink)}.rank-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.rank-item{align-items:center}.rank-pos{color:var(--muted);font-variant-numeric:tabular-nums;min-width:22px;text-align:right}.rank-text{flex:1}.rank-controls{gap:4px;flex-shrink:0;flex-wrap:nowrap}.probe .prompt{margin-bottom:10px}.panel.probe{padding:16px 12px}.probe .scale{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.probe .scale label{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:13px;min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:var(--radius-ctl);background:var(--surface);cursor:pointer;padding:4px}.probe .scale label:hover{border-color:var(--muted)}.probe .scale label input[type=radio]{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.probe .scale label:has(input[type=radio]:checked){background:var(--ink);color:var(--surface);border-color:var(--ink)}.probe .scale label:has(input[type=radio]:focus-visible){outline:2px solid var(--ink);outline-offset:1px}.probe .scale label input[type=checkbox]{position:static;opacity:1;width:auto;height:auto}.probe .privacy{font-size:12px;color:var(--muted);margin-top:10px}.slider-row{display:flex;gap:12px;align-items:center;min-height:44px}.slider-row input[type=range]{flex:1;min-height:44px}.slider-row output{min-width:24px;text-align:center;font-weight:600}.hacs-entry-field{display:block;margin:12px 0 0;font-weight:400;font-size:12px;color:var(--muted)}.hacs-entry-field input{margin-top:4px;font-weight:400;font-size:13px;color:var(--ink)}.hacs-entry-actions{margin-top:14px}.hacs-entry-error{color:var(--warn);font-size:13px;margin:10px 0 0}.hacs-lobby{max-width:560px;margin:48px auto 0}.hacs-lobby-you{color:var(--ink);font-size:13px;margin:0 0 14px}.hacs-lobby-you strong{font-weight:400}.hacs-lobby-seats{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:4px}.hacs-lobby-seat{display:flex;align-items:center;gap:10px;padding:8px 0;min-height:40px;border:none;border-radius:0;background:transparent}.hacs-lobby-dot{width:8px;height:8px;border-radius:50%;background:transparent;border:1px solid var(--line);flex:none}.hacs-lobby-seat[data-occupied=true] .hacs-lobby-dot{background:var(--ink);border-color:var(--ink)}.hacs-lobby-name{font-weight:400}.hacs-lobby-status{margin-left:auto;font-size:12px;color:var(--muted)}.hacs-lobby .empty{font-size:12px}.hacs-consent{max-width:560px;margin:48px auto 0}.hacs-consent-brief{line-height:1.5;margin:0 0 12px}.hacs-consent-doc{border:none;border-radius:var(--radius);background:var(--panel-fill);padding:14px 16px;max-height:280px;overflow-y:auto;white-space:pre-wrap;line-height:1.5;font-size:13px;color:var(--muted);margin-bottom:14px}.hacs-consent-doc-caption{color:var(--muted);font-size:12px;margin:0 0 8px}.hacs-consent-affirm{display:flex;gap:8px;align-items:flex-start;font-size:13px;margin-bottom:14px;cursor:pointer;min-height:44px}.hacs-consent-affirm input{margin-top:2px;width:16px;height:16px;flex:none;accent-color:var(--ink)}.hacs-consent-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.hacs-consent-error{color:var(--warn);font-size:13px;margin:8px 0 0}.hacs-endpage-grid{padding-top:48px}.hacs-endpage-grid .hacs-col:first-child>*{max-width:560px;width:100%;margin-left:auto;margin-right:auto}.hacs-debrief{max-width:560px}.hacs-debrief>h2{font-size:15px;text-transform:none;letter-spacing:0;color:var(--ink)}.hacs-debrief-text{line-height:1.5;white-space:pre-wrap;margin:0 0 8px}.hacs-debrief-disclosure{border:none;border-radius:0;background:transparent;padding:0;margin:0 0 8px}.hacs-debrief-disclosure p{margin:0;line-height:1.5;white-space:pre-wrap}.hacs-endpage-text{line-height:1.5;white-space:pre-wrap;margin:0}.hacs-redirect-row{display:flex;align-items:center;gap:12px}.hacs-redirect-countdown{font-weight:400;color:var(--muted);margin:0;flex:1}.hacs-redirect-fallback{overflow-wrap:anywhere;font-size:12px;margin:8px 0 0}.hacs-redirect-fallback a{color:var(--ink)}.hacs-withdraw{text-align:left;padding:4px}.hacs-withdraw .row{justify-content:flex-start;padding:4px 8px}.hacs-withdraw-btn{color:var(--muted);width:100%;justify-content:flex-start;border:none;background:transparent}.hacs-withdraw-btn:hover{background:var(--panel-fill)}.hacs-phase-banner{padding:8px 16px}.hacs-phase-banner .section-note{margin-top:0;font-weight:500}.hacs-interstitial{max-width:560px;margin:48px auto 0}.hacs-interstitial h2{margin:6px 0 8px;font-size:17px;text-transform:none;letter-spacing:0;color:var(--ink)}.hacs-interstitial .section-note{margin-top:0}.hacs-interstitial .prompt{margin:0 0 12px}.hacs-interstitial .empty{font-size:12px}.hacs-phase-dots{display:flex;gap:6px;align-items:center;margin:0 0 12px}.hacs-phase-dots i{width:7px;height:7px;border-radius:50%;background:transparent;border:1px solid var(--line)}.hacs-phase-dots i[data-done=true]{background:var(--ink);border-color:var(--ink)}.hacs-reconnect{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn);font-weight:400;font-size:13px;border-radius:var(--radius-ctl);padding:10px 14px;text-align:left}.hacs-note-warn,.hacs-full-note{color:var(--warn);font-size:13px;line-height:1.5}.hacs-full-waitlist{margin:12px 0;max-width:24rem;display:flex;flex-direction:column;gap:8px}.hacs-progress{height:4px;border-radius:2px;background:var(--panel-fill);overflow:hidden;margin:14px 0;position:relative}.hacs-progress:after{content:"";position:absolute;top:0;bottom:0;left:0;width:35%;border-radius:2px;background:var(--ink);animation:hacs-sweep 1.6s ease-in-out infinite}@keyframes hacs-sweep{0%{transform:translate(-100%)}to{transform:translate(385%)}}.hacs-spinner{width:20px;height:20px;margin:8px 0;border-radius:50%;border:2px solid var(--line);border-top-color:var(--ink);animation:hacs-spin .8s linear infinite}@keyframes hacs-spin{to{transform:rotate(360deg)}}.hacs-boundary{text-align:left}@media(prefers-reduced-motion:reduce){.hacs-spinner,.hacs-thinking i,.hacs-conn[data-state=connecting],.hacs-progress:after{animation:none}}
