:root{--bg: #12141a;--card: #1c1f28;--card-border: #2a2e3b;--text: #e8eaf0;--text-dim: #9aa1b2;--accent: #4f8cff;--danger: #e5534b;--ok: #3fb27f;--warn: #d9a13b;--spk1: #4f8cff;--spk2: #3fb27f;--spk3: #d9a13b;--spk4: #b07cd8;--spk5: #e5748a;--spk6: #45b8c8}*{box-sizing:border-box}body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--text);font-family:Segoe UI,Hiragino Sans,Noto Sans JP,Yu Gothic UI,Meiryo,system-ui,sans-serif;font-size:15px;line-height:1.6}header{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 20px;border-bottom:1px solid var(--card-border)}header h1{font-size:18px;margin:0;font-weight:600}header .chip{margin-left:auto}#tabs{display:flex;gap:4px;margin-left:8px}.tab{background:transparent;border:1px solid transparent;color:var(--text-dim);padding:6px 14px;border-radius:8px;font-size:14px}.tab:hover:not(.active){color:var(--text);filter:none}.tab.active{background:var(--card);border-color:var(--card-border);color:var(--text);font-weight:600}.view{display:flex;flex-direction:column;gap:14px;flex:1}.chip{font-size:12px;padding:3px 12px;border-radius:99px;border:1px solid var(--card-border);color:var(--text-dim);white-space:nowrap}.chip.live,.chip.busy{color:#fff;background:var(--accent);border-color:var(--accent)}.chip.warn{color:#201700;background:var(--warn);border-color:var(--warn)}.chip.err{color:#fff;background:var(--danger);border-color:var(--danger)}.chip.done{color:#04150d;background:var(--ok);border-color:var(--ok)}.tally{display:flex;align-items:center;gap:12px;padding:8px 20px;background:color-mix(in srgb,var(--danger) 18%,var(--bg));border-bottom:1px solid var(--danger)}.tally.hidden{display:none}.tally.paused{background:color-mix(in srgb,var(--warn) 18%,var(--bg));border-bottom-color:var(--warn)}.tally-dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--danger);animation:tally-blink 1.4s steps(1,end) infinite}.tally.paused .tally-dot{background:var(--warn);animation:none}@keyframes tally-blink{50%{opacity:.2}}@media(prefers-reduced-motion:reduce){.tally-dot{animation:none}}.tally-label{font-size:12px;font-weight:700;letter-spacing:.08em}.tally-elapsed{font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.tally-title{flex:1;min-width:0;font-size:13px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tally-meters{display:flex;gap:10px;align-items:center}.tally-meter{display:flex;align-items:center;gap:4px;font-size:11px}.tally-meter.hidden{display:none}.tally-meter .meter{display:block;width:46px;height:6px}.tally-meter .meter-fill{display:block}.tally button{font-size:13px;padding:5px 12px}@media(max-width:640px){.tally-meters{display:none}}.chip.busy:before{content:"";display:inline-block;width:9px;height:9px;margin-right:6px;vertical-align:-1px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:chip-spin .7s linear infinite}@keyframes chip-spin{to{transform:rotate(360deg)}}.processing{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:10px;background:color-mix(in srgb,var(--accent) 16%,transparent);border:1px solid var(--accent);color:var(--text);font-weight:600;font-size:15px}.spinner-lg{flex:none;width:20px;height:20px;border:3px solid color-mix(in srgb,var(--accent) 35%,transparent);border-top-color:var(--accent);border-radius:50%;animation:chip-spin .7s linear infinite}main{flex:1;display:flex;flex-direction:column;gap:14px;padding:16px 20px;max-width:980px;width:100%;margin:0 auto}.card{background:var(--card);border:1px solid var(--card-border);border-radius:12px;padding:16px 18px}.card.grow{flex:1;display:flex;flex-direction:column;min-height:320px}.card h2{font-size:14px;margin:0 0 12px;color:var(--text-dim);font-weight:600;letter-spacing:.04em}.row{margin-bottom:14px}.row:last-child{margin-bottom:0}.label{display:block;font-size:13px;color:var(--text-dim);margin-bottom:4px}.key-row{display:flex;gap:8px}.key-row input{flex:1}.provider-tools{margin-top:8px;padding:10px 12px;border:1px solid var(--card-border);border-radius:8px;background:#171a22}.provider-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.provider-link{display:inline-flex;align-items:center;padding:5px 9px;border:1px solid var(--card-border);border-radius:7px;color:var(--text);text-decoration:none;font-size:12.5px}.provider-link:hover{border-color:var(--accent)}.provider-actions button{padding:5px 9px;font-size:12.5px}.provider-status{padding:2px 9px;border-radius:99px;border:1px solid var(--card-border);font-size:12px;white-space:nowrap}.provider-status.unset{color:var(--text-dim)}.provider-status.checking{color:var(--accent);border-color:var(--accent)}.provider-status.valid{color:var(--ok);border-color:var(--ok)}.provider-status.error{color:var(--danger);border-color:var(--danger)}.provider-status.quota{color:var(--warn);border-color:var(--warn)}.provider-usage{margin:7px 0 0;color:var(--text-dim);font-size:12.5px}.provider-alert{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:8px;padding:7px 10px;border:1px solid var(--warn);border-radius:7px;background:#3a2f14;color:var(--text);font-size:12.5px}.provider-alert a{color:var(--warn);font-weight:600}input[type=password],input[type=text],textarea{width:100%;background:#14161d;border:1px solid var(--card-border);border-radius:8px;color:var(--text);padding:8px 12px;font-size:14px;font-family:inherit}input:focus,textarea:focus{outline:none;border-color:var(--accent)}textarea{resize:vertical;margin-bottom:10px}input.num{width:90px;background:#14161d;border:1px solid var(--card-border);border-radius:8px;color:var(--text);padding:8px 10px;font-size:14px;font-family:inherit;font-variant-numeric:tabular-nums}.src-row .label{margin-bottom:0}.checks{display:flex;gap:20px;flex-wrap:wrap}.check{display:inline-flex;align-items:center;gap:6px;cursor:pointer;user-select:none}.check input{accent-color:var(--accent);width:16px;height:16px}.hint{font-size:12.5px;color:var(--text-dim);margin:8px 0 0}.hint b{color:var(--text);font-weight:600}details summary{cursor:pointer;color:var(--text-dim);font-size:13.5px;margin-bottom:10px}details[open] summary{color:var(--text)}button{font-family:inherit;font-size:14px;border:1px solid var(--card-border);border-radius:8px;background:#262a36;color:var(--text);padding:8px 18px;cursor:pointer}button:hover:not(:disabled){filter:brightness(1.15)}button:disabled{opacity:.45;cursor:default}button.ghost{padding:8px 12px;background:transparent}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-size:16px;font-weight:600;padding:10px 26px}button.danger{background:var(--danger);border-color:var(--danger);color:#fff;font-size:16px;font-weight:600;padding:10px 26px}.home-state{display:flex;flex-direction:column;gap:14px}.done-flag{margin:0;font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--ok)}.done-title{margin:4px 0 0;font-size:19px;font-weight:600}.done-meta{margin:2px 0 0;font-size:13.5px;color:var(--text-dim);font-variant-numeric:tabular-nums}.done-files{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.done-files li{display:flex;align-items:baseline;gap:10px;padding:7px 11px;border:1px solid var(--card-border);border-radius:7px;background:#171a22}.done-file-name{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;word-break:break-all}.done-file-note{flex:none;font-size:12px;color:var(--text-dim);font-variant-numeric:tabular-nums}.done-queue{margin:10px 0 0;font-size:13px;color:var(--text-dim)}.done-queue.warn{color:var(--warn)}#dl-row{margin-top:14px}.done-acts{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}.done-hint{margin-left:auto;text-align:right;white-space:pre-line;font-size:12.5px;color:var(--text-dim);line-height:1.5}.autoclose{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:14px}.cd{flex-basis:100%;height:3px;border-radius:99px;background:#14161d;overflow:hidden}.cd-fill{display:block;height:100%;width:100%;background:var(--ok);border-radius:99px;transition:width .12s linear}.cd-check{display:flex;align-items:center;gap:7px;font-size:13px;cursor:pointer}.cd-check input{width:15px;height:15px;accent-color:var(--accent)}.cd-note{font-size:12.5px;color:var(--text-dim);font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){.cd-fill{transition:none}}@media(max-width:640px){.done-hint{margin-left:0;text-align:left;flex-basis:100%}}#queue-status{align-self:flex-start}.controls{display:flex;align-items:center;gap:12px}#open-link-row{margin-top:12px}#slide-capture-row{margin-top:8px}.slide-opts{margin:6px 0 0 26px;display:flex;gap:18px;flex-wrap:wrap;font-size:13.5px;color:var(--text-dim)}.controls.wrap{flex-wrap:wrap}.stats{margin-left:auto;display:flex;gap:16px;font-variant-numeric:tabular-nums;color:var(--text-dim);font-size:14px}#elapsed{font-size:20px;color:var(--text);font-weight:600}.link-chip{background:none;border:0;padding:0;font:inherit;color:var(--text-dim);cursor:pointer;text-decoration:underline dotted}.link-chip:hover{color:var(--text)}.link-chip.warn{color:var(--warn)}.meter{flex:1;height:8px;background:#14161d;border-radius:99px;overflow:hidden}.meter-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--ok),var(--warn));border-radius:99px;transition:width 80ms linear}#message,#live-note{padding:10px 14px;border-radius:8px;font-size:13.5px}#message.info,#live-note.info{background:#1b2a45;border:1px solid #2d4f8a}#message.warn,#live-note.warn{background:#3a2f14;border:1px solid #6e5a24}#message.err,#live-note.err{background:#401d1b;border:1px solid #7c3833}#live-note{margin:0 0 14px}#transcript{flex:1;overflow-y:auto;background:#14161d;border:1px solid var(--card-border);border-radius:8px;padding:14px 16px;min-height:240px;max-height:60vh}#placeholder{color:var(--text-dim)}.line{margin-bottom:12px}.line .meta{display:flex;align-items:baseline;gap:8px;margin-bottom:2px}.spk{font-size:12px;font-weight:700;padding:1px 10px;border-radius:99px;color:#fff}.spk-0{background:#4a4f5e}.spk-1{background:var(--spk1)}.spk-2{background:var(--spk2)}.spk-3{background:var(--spk3);color:#201700}.spk-4{background:var(--spk4)}.spk-5{background:var(--spk5)}.spk-6{background:var(--spk6);color:#041518}.time{font-size:11.5px;color:var(--text-dim);font-variant-numeric:tabular-nums}.txt{font-size:16px}#interim-line{color:var(--text-dim);font-style:italic;font-size:16px}.hidden{display:none!important}footer{padding:10px 20px 18px}footer p{margin:0;font-size:12px;color:var(--text-dim);text-align:center}select{background:#14161d;border:1px solid var(--card-border);border-radius:8px;color:var(--text);padding:8px 10px;font-size:13.5px;font-family:inherit;max-width:340px}select:focus{outline:none;border-color:var(--accent)}.src-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.src-row .hint{margin:0}h2 .hint{margin:0;font-weight:400}.note{margin:8px 0 0;padding:8px 12px;border-radius:8px;font-size:12.5px;line-height:1.5;background:#3a2f14;border:1px solid #6e5a24;color:var(--text)}#meeting-title{margin-bottom:12px}.pill{background:#14161d;border:1px solid var(--card-border);border-radius:99px;padding:4px 14px;font-size:13px;color:var(--text)}#meeting-list{margin-top:6px}.tl{display:flex;flex-direction:column}.mtg-row{display:grid;grid-template-columns:44px 16px minmax(0,1fr);align-items:start;column-gap:10px}.mtg-row.mtg-flat{grid-template-columns:60px minmax(0,1fr)}.mtg-time{display:flex;flex-direction:column;align-items:flex-end;font-variant-numeric:tabular-nums;font-size:13px;line-height:1.35;color:var(--text-dim);white-space:nowrap;padding-top:9px;text-align:right}.mtg-day{font-size:11.5px}.mtg-rail{position:relative;align-self:stretch}.mtg-rail:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--card-border);transform:translate(-50%)}.mtg-row:first-child .mtg-rail:before{top:14px}.mtg-row:last-child .mtg-rail:before{bottom:calc(100% - 14px)}.mtg-rail:after{content:"";position:absolute;left:50%;top:14px;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--card-border)}.mtg-live .mtg-rail:after{background:var(--ok)}.mtg-upcoming .mtg-rail:after{background:var(--accent)}.mtg-body{padding:4px 0;min-width:0}.mtg-head{display:flex;align-items:center;gap:8px}.mtg-card{flex:1;min-width:0;display:flex;align-items:center;gap:10px;text-align:left;padding:8px 12px;background:#14161d;border:1px solid var(--card-border);border-radius:8px}.mtg-card:hover:not(:disabled){border-color:var(--accent);filter:none}.mtg-card:disabled{opacity:1;cursor:default}.mtg-row.sel .mtg-card{border-color:var(--accent);background:#1b2a45}.mtg-open .mtg-card{border-color:var(--accent);border-bottom-left-radius:0;border-bottom-right-radius:0}.tl .mtg-past:not(.mtg-has-rec) .mtg-card{opacity:.5}.tl .mtg-past:hover .mtg-card,.tl .mtg-past:focus-within .mtg-card{opacity:1}.mtg-title{flex:1;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mtg-flat .mtg-title{font-weight:600}.mtg-dur{flex:none;font-variant-numeric:tabular-nums;font-size:12.5px;color:var(--text-dim)}.mtg-caret{flex:none;font-size:11px;color:var(--text-dim)}.mtg-chips{flex:none;display:inline-flex;gap:6px}.mtg-chip{font-size:12px;color:var(--text-dim);border:1px solid var(--card-border);border-radius:99px;padding:1px 8px;white-space:nowrap}.mtg-start{flex:none;opacity:0;font-size:13px;padding:6px 12px;transition:opacity .12s linear}.mtg-row:hover .mtg-start,.mtg-row:focus-within .mtg-start,.mtg-start:focus-visible{opacity:1}.mtg-start:disabled{opacity:0}@media(prefers-reduced-motion:reduce){.mtg-start{transition:none}}@media(hover:none){.mtg-start{opacity:1}}.mtg-detail{border:1px solid var(--accent);border-top:none;border-radius:0 0 8px 8px;background:#12141a;padding:8px 12px 10px}.mtg-open .mtg-head .mtg-card{margin-bottom:0}.mtg-rec+.mtg-rec{margin-top:10px;border-top:1px solid var(--card-border);padding-top:10px}.mtg-recname{font-size:12px;color:var(--text-dim);margin-bottom:4px}.mtg-files{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mtg-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}.mtg-actions button,.mtg-files button.ghost{font-size:12.5px;padding:4px 10px}.tl-now .mtg-time{color:var(--accent);font-weight:700;padding-top:2px}.tl-now .mtg-rail:after{background:var(--accent);top:7px;width:10px;height:10px;margin:-5px 0 0 -5px}.tl-now-line{align-self:center;height:1px;margin:6px 0;background:linear-gradient(90deg,var(--accent),transparent)}.adhoc{margin-top:10px;padding-left:70px}#adhoc-open{font-size:13px;padding:6px 12px;color:var(--text-dim)}#adhoc-open:hover:not(:disabled){color:var(--text);border-color:var(--accent)}.adhoc-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.adhoc-form.hidden{display:none}.adhoc-form input{flex:1 1 200px;width:auto;min-width:160px;margin:0}.adhoc-form button{font-size:13px;padding:7px 14px}.mtg-tag{font-size:11px;font-weight:700;color:#04150d;background:var(--ok);border-radius:99px;padding:1px 10px;white-space:nowrap}.mtg-tag.tag-next{color:#fff;background:var(--accent)}.file-chip{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;padding:3px 12px;border-radius:99px;border:1px solid var(--card-border);background:#14161d;color:var(--text);text-decoration:none;white-space:nowrap}a.file-chip:hover{border-color:var(--accent)}.file-chip.nolink{color:var(--text-dim)}button.file-chip.toggle{cursor:pointer}button.file-chip.toggle:hover{border-color:var(--accent);filter:none}.slide-chips{display:inline-flex;gap:6px;flex-wrap:wrap}#history-list{display:flex;flex-direction:column;gap:6px;margin-top:12px}.param-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-top:12px}.param{display:flex;flex-direction:column;gap:2px;padding:8px 10px;background:#14161d;border:1px solid var(--card-border);border-radius:8px}.param-name{font-size:12.5px;color:var(--text)}.param-key{font-size:11px;color:var(--text-dim);font-family:Consolas,Courier New,monospace}.param input{width:100%;margin-top:4px;background:var(--card);border:1px solid var(--card-border);border-radius:6px;color:var(--text);padding:5px 8px;font-size:13.5px;font-family:inherit;font-variant-numeric:tabular-nums}.param input:focus{outline:none;border-color:var(--accent)}.param input.overridden{border-color:var(--warn)}.rec-card{display:flex;align-items:flex-start;gap:16px}.rec-card>.controls{flex:1;min-width:220px}.slide-panel{flex:none;width:280px;border:1px solid var(--card-border);border-radius:10px;background:#171a22;overflow:hidden}.slide-panel.lost{border-color:var(--warn);background:color-mix(in srgb,var(--warn) 10%,#171a22)}.slide-panel-head{display:flex;align-items:center;gap:8px;padding:8px 11px;border-bottom:1px solid var(--card-border);font-size:11.5px;letter-spacing:.13em;color:var(--text-dim)}.slide-panel.lost .slide-panel-head{border-bottom-color:var(--warn);color:var(--warn)}.slide-panel-count{margin-left:auto;letter-spacing:0;font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ok)}.slide-shot{position:relative;aspect-ratio:16 / 9;background:#000}.slide-preview{position:absolute;inset:0}.slide-preview video{display:block;width:100%;height:100%;object-fit:contain;background:#000}.slide-shot-empty{position:absolute;inset:0;margin:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 14px;font-size:12.5px;color:var(--text-dim);background:#101319}.slide-state{display:block;margin:0;padding:8px 11px 0;font-size:12.5px;color:var(--text-dim)}.slide-state.live{color:var(--ok)}.slide-state.warn{color:var(--warn)}.slide-panel-actions{display:flex;flex-wrap:wrap;gap:7px;padding:10px 11px 11px}.slide-panel-actions .slide-pick{flex:1 0 100%;font-size:13.5px;font-weight:600;padding:9px 12px;color:#fff;background:var(--accent);border:1px solid var(--accent)}.slide-panel-actions .slide-pick.alert{color:#201700;background:var(--warn);border-color:var(--warn)}.slide-panel-actions .slide-sub{flex:1 1 0;font-size:12px;padding:5px 9px}@media(max-width:760px){.rec-card{flex-wrap:wrap}.slide-panel{width:100%}}.sd-status{font-size:13px;color:var(--text-dim);font-variant-numeric:tabular-nums;margin-bottom:8px}.sd-canvas-wrap{position:relative;width:fit-content;max-width:100%;border:1px solid var(--card-border);border-radius:8px;overflow:hidden}#sd-canvas{display:block;width:512px;max-width:100%;height:auto}.sd-canvas-wrap:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0}.sd-flash-capture:after{background:var(--ok);animation:sd-flash .9s ease-out}.sd-flash-replace:after{background:var(--accent);animation:sd-flash .9s ease-out}@keyframes sd-flash{0%{opacity:.85}to{opacity:0}}.sd-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--text-dim);margin:8px 0}.sd-sw{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-1px;margin-right:4px}.sd-sw-changed{background:#e5534b8c}.sd-sw-masked{background:#b07cd899}.sd-sw-capture{background:var(--ok)}.sd-sw-replace{background:var(--accent)}#sd-log{max-height:180px;overflow-y:auto;background:#14161d;border:1px solid var(--card-border);border-radius:8px;padding:8px 12px;font-size:12.5px;line-height:1.7;font-variant-numeric:tabular-nums}#sd-log:empty:before{content:"キャプチャ判定のイベントがここに流れます。";color:var(--text-dim)}.sd-line{color:var(--text-dim)}.sd-line.sd-cap{color:var(--text);font-weight:600}#update-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 20px;background:#1b2a45;border-bottom:1px solid var(--accent);font-size:13.5px}#update-banner.hidden{display:none}#update-banner button{font-size:13px;padding:6px 14px}#action-banner{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 16px;border-radius:10px;background:#1b2a45;border:1px solid var(--accent)}#action-banner.hidden{display:none}#action-text{flex:1;min-width:200px;font-size:14.5px}#action-buttons{display:flex;gap:8px;flex-wrap:wrap}#action-buttons button.primary,#action-buttons button.danger{font-size:14px;padding:8px 18px}.save-name{margin-top:10px;padding:8px 10px;background:#14161d;border:1px solid var(--card-border);border-radius:8px}.save-name-label{display:block;font-size:11.5px;color:var(--text-dim)}.save-name-file{display:block;margin-top:2px;font-family:Consolas,Courier New,monospace;font-size:13px;color:var(--text);word-break:break-all}#save-name-slides{color:var(--text-dim)}.rec-name{margin-bottom:10px;padding:8px 10px;background:#14161d;border:1px solid var(--card-border);border-radius:8px}.rec-name-input{margin:4px 0 8px}#rec-save-name{color:var(--accent)}
