:root{--ink:#101b2c;--muted:#5b6472;--accent:#0c5cab;--accent-strong:#0a4d90;--navy:#12263f;--navy-hover:#1b3557;--bg:#f1f3f6;--card:#ffffff;--border:#d9dfe7;--border-strong:#c2cad5;--info:#0c5cab;--info-bg:#e8f0fa;--success:#1c6b39;--success-bg:#e6f4ea;--warning:#92600a;--warning-bg:#fdf3d9;--danger:#b3261e;--danger-bg:#fbe9e7;--ai:#6d28d9;--ai-bg:#f1eafd;--recording:#dc2626;--radius:6px;--radius-chip:4px;--radius-sm:999px;--font-display:"Georgia","Times New Roman",ui-serif,serif;--space:clamp(0.9rem,2.5vw,1.5rem)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg);font-size:16px;line-height:1.55}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:30;display:flex;align-items:stretch;justify-content:space-between;gap:.75rem;padding:0 clamp(.75rem,3vw,1.5rem);background:var(--card);border-top:3px solid var(--navy);border-bottom:1px solid var(--border-strong)}.brand{font-family:var(--font-display);font-weight:700;font-size:1.3rem;letter-spacing:.06em;color:var(--navy);text-decoration:none;flex:none;display:inline-flex;align-items:center;padding:.65rem 0}.brand:hover{color:var(--accent)}.topbar nav{display:flex;gap:clamp(.25rem,2vw,1.25rem);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.topbar nav::-webkit-scrollbar{display:none}.topbar nav a{display:inline-flex;align-items:center;color:var(--muted);text-decoration:none;font-size:.92rem;padding:.65rem .15rem;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:color .15s,border-color .15s}.topbar nav a:hover{color:var(--ink)}.topbar nav a.active{color:var(--ink);font-weight:600;border-bottom-color:var(--navy)}.container{max-width:1160px;margin:0 auto;padding:var(--space)}.footer{text-align:center;color:var(--muted);font-size:.8rem;border-top:1px solid var(--border);margin-top:1.5rem;padding:1.25rem var(--space) calc(1.25rem + env(safe-area-inset-bottom))}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space);margin-bottom:1rem}a.card{display:block;text-decoration:none;color:inherit;transition:border-color .15s}a.card:hover{border-color:var(--navy)}a.card h2{color:var(--navy)}h1,h2{font-family:var(--font-display);font-weight:600;letter-spacing:.005em;color:var(--ink)}h1{font-size:clamp(1.35rem,1rem + 1.4vw,1.7rem);line-height:1.25;margin-top:0;overflow-wrap:anywhere}h2{font-size:1.15rem;line-height:1.35}h3{font-size:.95rem}a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--accent-strong)}label{display:block;margin:.75rem 0 .25rem;font-size:.85rem;font-weight:600;color:var(--ink)}.hint{font-size:.8rem;color:var(--muted);margin:.25rem 0 0}input,select,textarea{width:100%;padding:.6rem .75rem;border:1px solid var(--border-strong);border-radius:var(--radius);font:inherit;font-size:16px;background:#fff;color:var(--ink);transition:border-color .15s,box-shadow .15s}input:hover,select:hover,textarea:hover{border-color:var(--muted)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--info-bg)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:disabled,select:disabled,textarea:disabled{background:var(--bg);color:var(--muted)}button{padding:.6rem 1.3rem;background:var(--navy);color:#fff;border:1px solid var(--navy);border-radius:var(--radius);font:inherit;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s;touch-action:manipulation}button:hover{background:var(--navy-hover);border-color:var(--navy-hover)}button:disabled{opacity:.45;cursor:default}button.secondary{background:transparent;color:var(--navy);border:1px solid var(--border-strong)}button.secondary:hover{background:transparent;border-color:var(--navy)}button.danger{background:var(--danger);border-color:var(--danger)}button.danger:hover{background:#9c1f18;border-color:#9c1f18}.error{color:var(--danger);border-left:3px solid var(--danger);background:var(--danger-bg)}.error,.ok{padding:.5rem .75rem;margin-top:.6rem;font-size:.92rem}.ok{color:var(--success);border-left:3px solid var(--success);background:var(--success-bg)}table{width:100%;border-collapse:collapse;font-size:.9rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}td,th{text-align:left;padding:.55rem .6rem;border-bottom:1px solid var(--border);vertical-align:top}thead th{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);border-bottom:1px solid var(--ink)}tbody tr:last-child td{border-bottom:none}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.cell-clip{max-width:280px;overflow:hidden;text-overflow:ellipsis}.cell-clip,.nowrap{white-space:nowrap}@media (max-width:767px){table.rtable thead{display:none}table.rtable,table.rtable tbody,table.rtable td,table.rtable tr{display:block;width:100%}table.rtable tr{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.6rem;padding:.4rem .75rem;background:var(--card)}table.rtable td{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.15rem .75rem;border-bottom:none;padding:.28rem 0}table.rtable td[data-label]:before{content:attr(data-label);color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;flex:none}table.rtable td:empty{display:none}table.rtable .cell-clip{max-width:none;white-space:normal}}.chip{display:inline-flex;align-items:center;gap:.35rem;padding:.18rem .55rem;border-radius:var(--radius-chip);font-size:.78rem;font-weight:500;white-space:nowrap;background:var(--info-bg);color:var(--info);border:1px solid color-mix(in srgb,currentColor 25%,transparent);max-width:100%}.chip.success{background:var(--success-bg);color:var(--success)}.chip.warning{background:var(--warning-bg);color:var(--warning)}.chip.danger{background:var(--danger-bg);color:var(--danger)}.chip.ai{background:var(--ai-bg);color:var(--ai)}.chip.neutral{background:#eef1f5;color:var(--muted)}@media (max-width:767px){.chip{white-space:normal;line-height:1.35}}.rec-indicator{display:inline-flex;align-items:center;gap:.4rem;color:var(--recording);font-size:.85rem;font-weight:600}.rec-dot{width:10px;height:10px;border-radius:50%;background:var(--recording);animation:rec-pulse 1.6s infinite}@keyframes rec-pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}.rec-dot{animation:rec-pulse 1.6s infinite!important}}.timeline{flex-wrap:wrap;gap:.15rem 0;padding:.5rem 0}.timeline,.timeline-step{display:flex;align-items:center}.timeline-step{gap:.35rem;font-size:.78rem;color:var(--muted)}.timeline-step .dot{width:11px;height:11px;border-radius:50%;background:var(--border-strong);flex:none}.timeline-step.done{color:var(--success)}.timeline-step.done .dot{background:var(--success)}.timeline-step.current{color:var(--ink);font-weight:600}.timeline-step.current .dot{background:var(--accent);box-shadow:0 0 0 3px var(--info-bg)}.timeline-sep{width:22px;height:1px;background:var(--border-strong);margin:0 4px;flex:none}@media (max-width:767px){.timeline{flex-direction:column;align-items:flex-start}.timeline-sep{width:1px;height:14px;margin:2px 0 2px 5px}}.section-title{display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin:1.6rem 0 .6rem;color:var(--muted)}.section-title.danger{color:var(--danger)}.section-title.warning{color:var(--warning)}.empty{color:var(--muted);font-size:.9rem;padding:.6rem 0}.wizard-steps{display:flex;gap:.4rem;margin-bottom:1rem}.wizard-steps .ws{flex:1 1;height:4px;border-radius:2px;background:var(--border);transition:background .2s}.wizard-steps .ws.active{background:var(--navy)}.wizard-nav{display:flex;justify-content:space-between;margin-top:1.2rem;gap:.6rem}@media (max-width:767px){.wizard-nav{flex-wrap:wrap}.wizard-nav button{flex:1 1 auto;min-height:46px}}.modal-backdrop{position:fixed;inset:0;background:rgba(16,27,44,.5);display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.modal{background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius);max-width:720px;width:100%;max-height:85vh;overflow:auto;padding:var(--space)}@media (max-width:767px){.modal-backdrop{padding:0;align-items:flex-end}.modal{max-width:none;max-height:92dvh;border-radius:10px 10px 0 0;border-left:none;border-right:none;border-bottom:none;padding-bottom:calc(var(--space) + env(safe-area-inset-bottom))}}.preflight-item{display:flex;align-items:center;gap:.6rem;padding:.55rem 0;border-bottom:1px solid var(--border)}.preflight-item .status{width:14px;height:14px;border-radius:50%;flex:none;background:var(--border)}.preflight-item .status.ok{background:var(--success)}.preflight-item .status.fail{background:var(--danger)}.mic-meter{height:8px;border-radius:4px;background:var(--border);overflow:hidden}.mic-meter>div{height:100%;background:var(--success);transition:width 80ms linear}.hall{position:fixed;inset:0;z-index:40;background:#10161f;color:#e8edf4;display:flex;flex-direction:column}.hall-top{display:flex;justify-content:space-between;align-items:center;gap:.8rem;padding:.6rem 1rem;background:rgba(16,22,31,.9);flex-wrap:wrap}.hall-top .hint{color:#93a0b4}.hall-stage-wrap{flex:1 1;display:flex;flex-direction:column;min-height:0;padding:0 1rem .5rem;gap:.5rem}.hall-stage{flex:1 1;min-height:0;display:flex}.hall-strip{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:2px}.hall-strip .hall-tile{width:200px;min-width:160px;aspect-ratio:16/10;flex:none}.hall-tile{position:relative;background:#1a2233;border-radius:8px;overflow:hidden;border:2px solid transparent;width:100%}.hall-tile.big{flex:1 1}.hall-tile.speaking{border-color:var(--success)}.hall-tile video{width:100%;height:100%;object-fit:cover;display:block}.hall-tile.big video{object-fit:contain}.hall-novideo{inset:0;justify-content:center;font-size:2rem;font-weight:700;color:#93a0b4;background:#232e42}.hall-nameplate,.hall-novideo{position:absolute;display:flex;align-items:center}.hall-nameplate{left:0;right:0;bottom:0;justify-content:space-between;gap:.5rem;padding:.25rem .6rem;font-size:.8rem;background:linear-gradient(transparent,rgba(0,0,0,.65))}.hall-role{font-size:.7rem;color:#c8d2e0;background:rgba(255,255,255,.14);border-radius:999px;padding:.05rem .5rem;white-space:nowrap}.hall-empty{flex:1 1;align-items:center;color:#93a0b4}.hall-controls,.hall-empty{display:flex;justify-content:center}.hall-controls{gap:.6rem;flex-wrap:wrap;padding:.7rem 1rem;transition:opacity .4s,transform .4s}.hall-controls.hidden{opacity:0;transform:translateY(8px);pointer-events:none}.hall-controls button{border-color:transparent}.hall-controls button.secondary{color:#e8edf4;border-color:#3a475c;background:rgba(255,255,255,.06)}.hall button,.hall-console button{display:inline-flex;align-items:center;gap:.45rem;justify-content:center}.hall-console button{font-size:.85rem;padding:.4rem .8rem}.hall-presence{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--border);vertical-align:1px}.hall-presence.on{background:var(--success)}.hall-console{position:absolute;right:1rem;bottom:4.6rem;width:min(380px,calc(100vw - 2rem));max-height:70vh;overflow:auto;z-index:45;background:var(--card);color:var(--ink);border-radius:var(--radius);border:1px solid var(--border);padding:1rem;box-shadow:0 12px 40px rgba(0,0,0,.4)}.hall-splash{position:absolute;inset:0;z-index:44;background:rgba(16,22,31,.94);display:flex;align-items:center;justify-content:center;text-align:center;padding:1.5rem}.hall-splash h1{color:#fff}.hall-splash p{color:#b6c1d2;max-width:28rem}@media (max-width:767px){.hall-stage-wrap{padding:0 .5rem .4rem}.hall-strip .hall-tile{width:120px;min-width:104px}.hall-controls{padding-bottom:max(.7rem,env(safe-area-inset-bottom))}.hall-controls button{padding:.55rem .8rem;font-size:.85rem}.hall-console{right:.5rem;left:.5rem;width:auto;bottom:5rem}}.builder{display:grid;grid-template-columns:5fr 4fr 6fr;grid-gap:1rem;gap:1rem;align-items:start}.builder-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.builder-panel h2{margin-top:0;font-size:1rem}.builder-scroll{max-height:calc(100vh - 260px);overflow-y:auto}.builder video{width:100%;background:#10161f}.builder video,.seg{border-radius:var(--radius)}.seg{padding:.5rem .6rem;border:1px solid transparent;margin-bottom:.35rem;cursor:pointer;transition:background .1s,border-color .1s}.seg:hover{background:var(--bg)}.seg.active{background:var(--info-bg);border-color:var(--accent)}.seg.used{border-left:3px solid var(--success)}.seg-head{display:flex;justify-content:space-between;gap:.5rem;font-size:.75rem;color:var(--muted);margin-bottom:.15rem}.seg-tc{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--accent);font-weight:600}.seg-text{font-size:.88rem;line-height:1.45}.seg-actions{display:flex;gap:.4rem;margin-top:.3rem}.seg-actions button{padding:.15rem .6rem;font-size:.75rem}@media (max-width:1100px){.builder{grid-template-columns:1fr}.builder-scroll{max-height:40vh}}@media (max-width:767px){.builder-scroll{max-height:55vh}.seg-actions button{padding:.4rem .8rem}}.grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));grid-gap:1rem}.grid,.grid-cards{display:grid;gap:1rem}.grid-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));grid-gap:1rem}.case-layout{display:grid;grid-template-columns:minmax(220px,280px) 1fr;grid-gap:1rem;gap:1rem;align-items:start}@media (max-width:860px){.case-layout{grid-template-columns:1fr}}.row{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center}.row>div{min-width:0}.spread{display:flex;justify-content:space-between;align-items:center;gap:.8rem;flex-wrap:wrap}.skeleton{background:linear-gradient(90deg,#eef1f5 25%,#f7f9fb 50%,#eef1f5 75%);background-size:200% 100%;animation:sk 1.2s infinite;border-radius:var(--radius);min-height:1em}@keyframes sk{0%{background-position:200% 0}to{background-position:-200% 0}}summary{cursor:pointer}summary:hover{color:var(--accent)}details[open]>summary{font-weight:600}