:root{color:#f7f8fb;background:#07090d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #07090d;--panel: #11151d;--panel-raised: #171c26;--line: rgba(255, 255, 255, .1);--muted: #8f99aa;--soft: #c1c8d3;--white: #f7f8fb;--accent: #b7f36b;--accent-strong: #8fd93e;--warning: #f7c968;--danger: #ff7f78}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 85% 0%,rgba(102,130,50,.14),transparent 31rem),var(--bg)}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.app-shell{width:min(1180px,calc(100% - 40px));min-height:100vh;margin:0 auto;padding:40px 0 28px}.topbar,.page-footer,.caption-toolbar,.panel-heading,.room-share,.caption-toolbar-actions,.status-row,.room-form-row,.home-actions{display:flex;align-items:center}.topbar,.page-footer,.caption-toolbar,.room-share,.status-row{justify-content:space-between}.topbar{gap:24px;margin-bottom:34px}.eyebrow{margin:0 0 8px;color:var(--muted);font-size:.68rem;font-weight:750;letter-spacing:.17em;text-transform:uppercase}h1,h2,p{margin-top:0}h1,h2{margin-bottom:0;letter-spacing:-.04em}h1{font-size:clamp(1.7rem,3vw,2.45rem);line-height:1}h2{font-size:1.18rem}.language-pill,.caption-room{color:var(--soft);font-size:.82rem;font-weight:650}.language-pill{padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:#ffffff08}.language-pill span{margin:0 8px;color:var(--accent)}.speaker-layout{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:18px}.panel{border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,#ffffff0b,#ffffff04),var(--panel);box-shadow:0 22px 80px #00000030}.speaker-control-panel,.speaker-preview{min-height:540px;padding:28px}.speaker-control-panel{display:flex;flex-direction:column}.panel-heading{gap:16px}.compact-heading{align-items:flex-start}.mic-orb{display:grid;width:62px;height:62px;place-items:center;flex:0 0 auto;border:1px solid var(--line);border-radius:50%;background:#202631;font-size:1.55rem;filter:grayscale(1);transition:.18s ease}.mic-orb.active{border-color:#b7f36ba6;background:#b7f36b24;filter:none;box-shadow:0 0 0 8px #b7f36b0f,0 0 36px #b7f36b2e}.status-stack{display:grid;gap:12px;margin:40px 0 28px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.status-row{gap:12px;font-size:.86rem}.status-label{color:var(--soft)}.status-value{display:inline-flex;align-items:center;gap:7px;font-size:.75rem;font-weight:700}.status-dot{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 10px currentColor}.status-success{color:var(--accent)}.status-warning{color:var(--warning)}.status-danger{color:var(--danger)}.status-neutral{color:var(--muted)}.direction-control{display:grid;gap:8px;margin-bottom:24px}.direction-control label{color:var(--soft);font-size:.8rem;font-weight:700}.direction-control select{width:100%;height:46px;padding:0 12px;border:1px solid var(--line);border-radius:11px;outline:none;background:#0b0e14;color:var(--white)}.direction-control select:focus{border-color:#b7f36ba6}.direction-control p{margin:0;color:var(--muted);font-size:.72rem;line-height:1.4}.start-button,.secondary-button,.room-form button{border:0;border-radius:13px;font-weight:750;transition:transform .16s ease,background .16s ease,border-color .16s ease}.start-button{display:inline-flex;min-height:58px;align-items:center;justify-content:center;gap:10px;width:100%;background:var(--accent);color:#0b1207;letter-spacing:.04em}.start-button:hover:not(:disabled){background:var(--accent-strong);transform:translateY(-1px)}.start-button.stop-mode{background:#2a303b;color:var(--white)}.start-button-icon{font-size:1rem}.secondary-button{min-height:40px;padding:0 14px;border:1px solid var(--line);background:transparent;color:var(--soft);font-size:.78rem}.secondary-button:hover{border-color:#b7f36b73;color:var(--white)}.helper-text,.error-message,.share-url,.muted-copy{color:var(--muted);font-size:.78rem;line-height:1.55}.helper-text{margin:16px 0 0}.warning-text{color:var(--warning)}.error-message{margin:15px 0 0;color:var(--danger)}code{color:var(--soft);font-size:.72rem}.speaker-preview{display:flex;flex-direction:column}.preview-pulse{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 7px #b7f36b14,0 0 20px #b7f36b40}.caption-display{display:block;min-height:280px;padding:28px 10px;overflow-y:auto;color:var(--muted);font-size:clamp(1.55rem,4vw,3.1rem);font-weight:550;letter-spacing:-.035em;line-height:1.2;text-align:center;scrollbar-width:none}.caption-display::-webkit-scrollbar{display:none}.caption-content{display:flex;min-height:100%;flex-direction:column;align-items:center;justify-content:center}.caption-display.has-caption .caption-content{justify-content:flex-end}.caption-text{white-space:pre-line}.speaker-preview .caption-display{flex:1;max-height:350px}.caption-display.has-caption{color:var(--white)}.caption-placeholder{color:#667080;font-size:.95rem;font-weight:500;letter-spacing:0}.room-share{gap:20px;padding-top:18px;border-top:1px solid var(--line)}.room-share strong{color:var(--white);font-size:1.2rem;letter-spacing:.08em}.share-url{margin:12px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-footer{gap:16px;margin-top:18px;color:#667080;font-size:.7rem}.setup-page{display:grid;place-items:center}.setup-card{width:min(520px,100%);padding:34px}.setup-card h1{margin-bottom:14px}.home-actions{flex-wrap:wrap;gap:10px;margin-top:28px}.link-button{width:auto;min-height:48px;padding:0 18px;text-decoration:none}.room-form{margin-top:28px}.room-form label{display:block;margin-bottom:8px;color:var(--soft);font-size:.8rem;font-weight:700}.room-form-row{gap:8px}.room-form input{min-width:0;flex:1;height:46px;padding:0 13px;border:1px solid var(--line);border-radius:11px;outline:none;background:#0b0e14;color:var(--white)}.room-form input:focus{border-color:#b7f36ba6}.room-form button{height:46px;padding:0 14px;background:var(--accent);color:#0b1207;font-size:.78rem}.caption-page{display:flex;min-height:100vh;flex-direction:column;padding:24px 30px 30px;background:#000}.caption-toolbar{gap:20px;color:var(--muted)}.caption-toolbar-actions{gap:20px}.caption-toolbar .status-row{gap:8px}.projector-stage{display:grid;min-height:0;flex:1;place-items:center;padding:5vh 7vw}.projector-stage .caption-display{width:min(1300px,100%);max-height:68vh;overflow-y:auto;color:var(--white);font-size:clamp(2rem,5vw,5.6rem);font-weight:600;line-height:1.16}.projector-stage .caption-placeholder{color:#444;font-size:clamp(1rem,2vw,1.6rem)}.is-fullscreen .caption-toolbar{opacity:.12;transition:opacity .18s ease}.is-fullscreen .caption-toolbar:hover{opacity:1}@media(max-width:760px){.app-shell{width:min(100% - 28px,600px);padding-top:24px}.topbar,.room-share,.page-footer{align-items:flex-start;flex-direction:column}.topbar{margin-bottom:22px}.speaker-layout{grid-template-columns:1fr}.speaker-control-panel,.speaker-preview{min-height:auto;padding:22px}.speaker-preview .caption-display{min-height:260px}.caption-page{padding:18px}.caption-toolbar,.caption-toolbar-actions{align-items:flex-start;flex-direction:column}.caption-toolbar-actions{width:100%;gap:12px}.caption-toolbar-actions .secondary-button{width:100%}.projector-stage{padding:8vh 0}}
