:root{color:#181a17;font-synthesis:none;--ink:#181a17;--paper:#f4f0e5;--paper-deep:#e7e1d2;--screen:#070a07;--signal:#d9ff57;--signal-deep:#95b52c;--mint:#baf7ce;--orange:#e66d3f;--line:#181a1733;--muted:#6f706a;--shadow:0 18px 50px #22231d24;background:#e9e6dc;font-family:Avenir Next,Futura,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{min-width:0;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{min-height:44px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--ink);outline-offset:2px;box-shadow:0 0 0 5px var(--signal)}body:before{content:"";pointer-events:none;opacity:.34;background-image:linear-gradient(#181a1706 1px,#0000 1px),linear-gradient(90deg,#181a1706 1px,#0000 1px);background-size:24px 24px;position:fixed;inset:0}.app-shell{width:min(1440px,100%);margin:0 auto;padding:22px;position:relative}.masthead{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:center;gap:20px;padding:10px 4px 16px;display:flex}.brand-block{align-items:center;gap:14px;display:flex}.brand-block>div{min-width:0}.brand-mark{background:var(--ink);width:52px;height:52px;color:var(--signal);border-radius:50%;flex:none;place-items:center;font-family:Noto Serif SC,Songti SC,serif;font-size:27px;display:grid}.brand-mark-image{background:0 0;border-radius:0;width:44px;height:44px}.brand-mark-image img{object-fit:contain;width:44px;height:44px;display:block}.brand-block .eyebrow{white-space:nowrap}.eyebrow{letter-spacing:.17em;color:var(--muted);margin:0 0 5px;font-size:.68rem;font-weight:800}h1,h2,p{margin-top:0}h1{letter-spacing:-.06em;margin-bottom:0;font-family:Noto Serif SC,Songti SC,serif;font-size:clamp(2rem,4vw,3.4rem);font-weight:800;line-height:.95}h2{letter-spacing:-.04em;margin-bottom:0;font-family:Noto Serif SC,Songti SC,serif;font-size:1.35rem}.system-strip{justify-items:end;gap:4px;display:grid}.system-summary{border:1px solid var(--ink);min-width:156px;min-height:44px;color:var(--ink);cursor:pointer;text-align:left;background:#fff1a5;border-radius:13px;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:9px;padding:6px 9px;display:grid;box-shadow:3px 3px #181a171f}.system-summary[data-tone=live]{background:var(--mint)}.system-summary[data-tone=loading]{background:var(--paper-deep)}.system-summary[data-tone=error]{color:#7e2814;background:#ffd9ca}.system-summary-copy{min-width:0;line-height:1.05;display:grid}.system-summary-copy>span{text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-weight:900;overflow:hidden}.system-summary-copy strong{color:var(--muted);white-space:nowrap;margin-top:3px;font-size:.64rem;font-weight:800}.version-chip{min-height:0;color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap;align-items:center;padding:0 4px;font-family:Noto Sans Mono CJK SC,SFMono-Regular,Consolas,monospace;font-size:.63rem;font-weight:800;display:inline-flex}.status-dot{background:#9a9a92;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 4px #9a9a9224}.system-summary[data-state=listening] .status-dot{background:var(--orange);animation:1.2s ease-in-out infinite pulse;box-shadow:0 0 0 5px #e66d3f2e}.system-status-dialog{border:0;border-left:1px solid var(--ink);background:var(--paper);width:min(430px,100%);max-width:none;height:100dvh;max-height:100dvh;color:var(--ink);margin:0 0 0 auto;padding:clamp(22px,4vw,36px);overflow-y:auto;box-shadow:-18px 0 60px #070a0733}.system-status-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#070a0794}.system-panel-heading{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:20px;display:flex}.system-panel-heading .eyebrow{margin-bottom:7px}.provider-options{border:0;gap:10px;margin:26px 0 0;padding:0;display:grid}.provider-options legend{letter-spacing:.06em;margin-bottom:11px;padding:0;font-size:.76rem;font-weight:900}.provider-option{border:1px solid var(--line);background:#fffdf7;border-radius:13px;grid-template-columns:19px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:78px;padding:12px;display:grid}.provider-option[data-selected=true]{border-color:var(--ink);background:#f3f8dc;box-shadow:4px 4px #181a171c}.provider-option[data-unavailable=true]{color:var(--muted)}.provider-option input{width:18px;height:18px;accent-color:var(--ink);margin:0}.provider-option-copy{gap:5px;min-width:0;display:grid}.provider-option-copy strong{font-family:Noto Serif SC,Songti SC,serif;font-size:1rem}.provider-option-copy small{color:var(--muted);font-size:.68rem;line-height:1.4}.provider-option-state{white-space:nowrap;border:1px solid;border-radius:999px;align-self:start;padding:4px 7px;font-size:.62rem;font-weight:900}.provider-option[data-selected=true] .provider-option-state{background:var(--signal);color:var(--ink)}.device-detail{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);justify-content:space-between;align-items:center;gap:18px;margin-top:26px;padding:17px 0;display:flex}.device-detail-heading .eyebrow{margin-bottom:4px}.device-detail-heading h3{margin:0;font-family:Noto Serif SC,Songti SC,serif;font-size:1rem}.device-detail-value{text-align:right;align-items:center;gap:9px;display:flex}.device-detail-value[data-connected=true] .status-dot{background:var(--signal-deep)}.device-detail-value strong{font-size:.8rem}.product-tabs{border:1px solid var(--ink);background:var(--paper-deep);border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));margin:18px 0;display:grid;overflow:hidden;box-shadow:6px 6px #181a171a}.product-tabs button{border:0;border-right:1px solid var(--ink);min-height:58px;color:var(--muted);letter-spacing:.04em;cursor:pointer;background:0 0;border-radius:0;font-weight:900}.product-tabs button:last-child{border-right:0}.product-tabs button[aria-selected=true]{background:var(--ink);color:var(--signal)}[role=tabpanel][hidden]{display:none!important}.workspace{grid-template-columns:minmax(0,1.65fr) minmax(300px,.65fr);gap:18px;padding:18px 0;display:grid}.workspace-single{grid-template-columns:minmax(0,1fr);padding-top:0}.mode-output-grid{grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:18px;margin-bottom:18px;display:grid}.voiceprint-grid{grid-template-columns:minmax(0,1fr)}.caption-stage,.glasses-panel,.household-panel,.transcript-panel,.voiceprint-panel,.benchmark-panel{border:1px solid var(--ink);background:var(--paper);box-shadow:var(--shadow);border-radius:20px}.caption-stage{padding:clamp(18px,3vw,34px)}.continuous-capture-choice{min-height:44px;color:var(--muted);align-items:center;gap:10px;font-size:.78rem;display:flex}.continuous-capture-choice input{width:20px;height:20px;accent-color:var(--ink)}.meta-label{color:var(--muted);font-size:.75rem}.source-select{width:min(100%,420px);color:var(--muted);align-items:center;gap:10px;font-size:.75rem;display:flex}.source-select select{border:1px solid var(--line);min-width:0;min-height:38px;color:var(--ink);background:#fffdf7;border-radius:8px;flex:auto;padding:0 28px 0 9px}.caption-display{background:var(--screen);color:#f4ffe0;border-radius:14px;flex-direction:column;justify-content:center;min-height:315px;padding:clamp(24px,5vw,64px);display:flex;position:relative;overflow:hidden}.caption-display:before{content:"";opacity:.18;background:radial-gradient(circle at 85% 15%, var(--signal), transparent 30%), linear-gradient(110deg, transparent 40%, #d9ff5714);position:absolute;inset:0}.speaker-kicker{color:var(--signal);letter-spacing:.12em;margin-bottom:19px;font-size:.82rem;font-weight:900;position:relative}.caption-display p{letter-spacing:-.055em;text-wrap:balance;max-width:900px;margin-bottom:0;font-family:Noto Serif SC,Songti SC,serif;font-size:clamp(2rem,5.4vw,5.8rem);font-weight:800;line-height:1.18;position:relative}.live-caption-list{z-index:1;align-content:center;gap:0;width:100%;margin:0;padding:0;list-style:none;display:grid;position:relative}.live-caption-list li{color:#aeb8a5;border-bottom:1px solid #f4ffe02e;grid-template-columns:minmax(86px,150px) minmax(0,1fr);align-items:baseline;gap:clamp(12px,2.5vw,30px);padding:clamp(13px,2vw,22px) 0;display:grid}.live-caption-list li:last-child{border-bottom:0}.live-caption-list li>span{color:var(--signal);letter-spacing:.05em;font-size:.72rem;font-weight:900}.live-caption-list li p{letter-spacing:-.04em;text-wrap:pretty;max-width:none;font-size:clamp(1.35rem,3vw,2.75rem);line-height:1.28}.live-caption-list li[data-current=true]{color:#f4ffe0}.live-caption-list .live-caption-empty{border:0;display:block}.live-caption-list .live-caption-empty p{font-size:clamp(2rem,5.4vw,5.8rem)}.live-caret{background:var(--signal);vertical-align:.15em;width:.45em;height:.08em;margin-left:.14em;animation:.85s steps(2,end) infinite blink;display:inline-block}.action-deck{grid-template-columns:minmax(0,1fr);gap:18px;margin-top:18px;display:grid}.action-deck p:not(.caption-input-health){color:var(--muted);margin-bottom:0;font-size:.83rem;line-height:1.5}.listen-button{border:1px solid var(--ink);background:var(--signal);min-height:56px;color:var(--ink);cursor:pointer;box-shadow:4px 4px 0 var(--ink);border-radius:999px;justify-content:center;align-items:center;gap:10px;font-weight:900;transition:transform .16s,box-shadow .16s;display:flex}.listen-button:hover:not(:disabled){box-shadow:7px 7px 0 var(--ink);transform:translate(-2px,-2px)}.listen-button.is-listening{background:var(--orange);color:#fff}.listen-button:disabled{cursor:wait;opacity:.65}.button-icon{font-size:.72rem}.caption-input-health{overflow-wrap:anywhere;border-left:4px solid var(--signal-deep);color:#33420b;background:#f3f8dc;margin:0;padding:8px 10px;font-size:.83rem;font-weight:850;line-height:1.5;position:relative}.caption-input-health[data-tone=checking]{color:#60470a;background:#fff4c7;border-left-color:#d8aa26}.caption-input-health[data-tone=warning]{border-left-color:var(--orange);color:#7e2814;background:#fff1ea}.error-banner{border-left:4px solid var(--orange);color:#7e2814;background:#fff1ea;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding:11px 13px;display:flex}.error-banner button{min-height:40px;color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:999px;flex:none;padding:0 14px;font-weight:800}.glasses-panel{color:#eef7df;background:#181b18;flex-direction:column;padding:18px;display:flex}.glasses-heading{justify-content:space-between;gap:10px;margin-bottom:18px;font-size:.73rem;display:flex}.glasses-heading span{color:#9ca794}.glasses-frame{flex:1;place-items:center;min-height:300px;display:grid;position:relative}.glasses-frame:before,.glasses-frame:after{content:"";border:4px solid #51574f;border-radius:50%;width:45%;height:88px;position:absolute;top:50%;transform:translateY(-50%)}.glasses-frame:before{left:1%}.glasses-frame:after{right:1%}.glasses-lens{z-index:1;aspect-ratio:2;color:#baf7ce;background:#040704;border:1px solid #75816e;border-radius:12px;flex-direction:column;justify-content:center;gap:4px;width:min(92%,576px);padding:18px;font-family:Noto Sans Mono CJK SC,Microsoft YaHei,monospace;font-size:clamp(.85rem,1.7vw,1.12rem);line-height:1.35;display:flex;position:relative;box-shadow:inset 0 0 30px #baf7ce14,0 0 35px #baf7ce14}.device-note{color:#9ca794;margin:14px 0 0;font-size:.75rem;line-height:1.5}.household-panel{margin-bottom:18px;padding:22px;position:relative;overflow:hidden}.household-panel:before{background:var(--signal-deep);content:"";width:7px;position:absolute;inset:0 auto 0 0}.household-heading{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:flex-start;gap:18px;padding:0 0 17px 9px;display:flex}.node-status-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0;padding:0;list-style:none;display:grid}.node-status-list li{border:1px solid var(--ink);background:#fffdf7;border-radius:12px;grid-template-columns:7px minmax(0,1fr);align-items:center;gap:13px;min-width:0;min-height:92px;padding:12px;display:grid;position:relative}.node-status-list li>div{gap:4px;display:grid}.node-status-list li strong{font-family:Noto Serif SC,Songti SC,serif;font-size:1.05rem}.node-status-list li>div span,.node-route{color:var(--muted);font-size:.72rem;font-weight:800}.node-rail{background:#9a9a92;align-self:stretch;min-height:44px}.node-status-list li[data-state=healthy] .node-rail,.node-status-list li[data-state=connected] .node-rail{background:var(--signal-deep);box-shadow:0 0 0 4px #95b52c26}.node-status-list li[data-state=delayed] .node-rail,.node-status-list li[data-state=connecting] .node-rail{background:#d8aa26}.node-status-list li[data-state=offline] .node-rail,.node-status-list li[data-state=error] .node-rail,.node-status-list li[data-state=disconnected] .node-rail{background:var(--orange)}.node-status-list button,.node-status-list a{border:1px solid var(--ink);min-height:44px;color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;grid-column:2/-1;justify-content:center;align-items:center;padding:7px 14px;font-size:.72rem;font-weight:900;text-decoration:none;display:inline-flex}.node-status-list button:disabled{cursor:not-allowed}.node-status-list a{background:var(--signal)}.node-status-list .node-pairing-actions{grid-column:2/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.node-status-list .node-pairing-actions>button,.node-status-list .node-pairing-actions>a{text-align:center;grid-column:auto;width:100%;padding-inline:10px;line-height:1.2}.node-status-list .node-pairing-actions{grid-template-columns:minmax(0,1fr)}.pairing-request-card{border-left:4px solid var(--orange);background:#fff1ea;grid-column:2/-1;grid-template-columns:minmax(0,1fr);align-items:end;gap:12px;width:100%;padding:12px;display:grid}.pairing-request-card>div:first-child{gap:4px;display:grid}.pairing-request-card span,.pairing-request-card small{color:var(--muted);font-size:.72rem}.pairing-request-card .pairing-device-label{color:#7e2814;letter-spacing:.08em;font-size:.65rem;font-weight:950}.pairing-request-card .pairing-device-code{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:.09em;font-family:Noto Sans Mono CJK SC,Microsoft YaHei,monospace;font-size:1.45rem;line-height:1.1}.pairing-request-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.node-status-list .pairing-request-actions button{border:1px solid var(--ink);cursor:pointer;background:0 0;border-radius:999px;grid-column:auto;min-width:0;padding-inline:10px;font-size:.75rem;font-weight:900}.pairing-request-actions button:first-child{background:var(--signal)}.node-status-list .node-copy-button{background:var(--paper-deep)}.node-pairing-validity{color:var(--muted);grid-column:2/-1;font-size:.7rem;font-weight:800;line-height:1.35}.node-copy-status{border-left:4px solid var(--signal-deep);color:#303329;background:#ecebdc;grid-column:2/-1;padding:7px 9px;font-size:.7rem;font-weight:850;line-height:1.35}.node-status-list .node-unbind-button{border-color:var(--orange);color:#7e2814;background:#fff1ea}.node-status-list .node-unbind-button:not(:disabled):hover,.node-status-list .node-unbind-button:focus-visible{outline:2px solid var(--orange);outline-offset:2px}.household-actions{grid-template-columns:minmax(0,1fr);gap:12px;padding-left:9px;display:grid}.household-actions p:not(.caption-input-health){color:var(--muted);margin:0;font-size:.75rem;line-height:1.5}.household-warning{color:#60470a;background:#fff4c7;border-left:4px solid #d8aa26;margin:14px 0 0 9px;padding:10px 12px;font-size:.78rem;font-weight:850}.household-error{border-left:4px solid var(--orange);color:#7e2814;background:#fff1ea;margin:14px 0 0 9px;padding:10px 12px;font-size:.78rem;font-weight:800}.lower-grid{grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:18px;display:grid}.transcript-panel,.voiceprint-panel{padding:22px}.section-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-bottom:16px;display:flex}.section-heading>span{color:var(--muted);font-size:.8rem}.transcript-list,.profile-list{margin:0;padding:0;list-style:none}.transcript-list li{border-bottom:1px solid var(--line);grid-template-columns:100px minmax(0,1fr) auto;align-items:start;gap:14px;padding:17px 0;display:grid}.transcript-list p{margin-bottom:0;font-family:Noto Serif SC,Songti SC,serif;font-size:1.08rem;line-height:1.7}.speaker-index{color:var(--signal-deep);font-size:.78rem;font-weight:900}.verified-mark{background:var(--mint);padding:3px 7px;font-size:.68rem;font-weight:800}.transcript-list li[data-provisional=true]{border-bottom:1px dashed #d8aa26}.provisional-mark{color:#60470a;background:#fff4c7;justify-self:start;padding:3px 7px;font-size:.68rem;font-weight:850}.empty-row{color:var(--muted);font-size:.88rem}.transcript-list .empty-row{border:0;padding:26px 0 8px;display:block}.transcript-list .overlap-group{border-left:5px solid var(--orange);grid-template-columns:100px minmax(0,1fr);gap:14px;padding-left:13px;display:grid;position:relative}.overlap-group>div{gap:10px;display:grid}.overlap-group article{border-bottom:1px dashed var(--line);gap:4px;padding-bottom:9px;display:grid}.overlap-group article:last-child{border-bottom:0;padding-bottom:0}.overlap-group article span{color:var(--muted);font-size:.68rem;font-weight:900}.overlap-group .overlap-bracket{color:var(--orange)}.outline-button,.submit-button{border:1px solid var(--ink);min-height:46px;color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;padding:0 17px;font-weight:800}.submit-button{background:var(--signal)}.panel-intro{color:var(--muted);margin:17px 0 8px;font-size:.82rem;line-height:1.55}.profile-list li{border-bottom:1px solid var(--line);grid-template-columns:44px 1fr 44px;align-items:center;gap:12px;min-height:70px;display:grid}.profile-list .empty-row{min-height:0;padding:20px 0 8px;display:block}.profile-monogram{background:var(--ink);width:40px;height:40px;color:var(--signal);border-radius:50%;place-items:center;font-family:Noto Serif SC,serif;font-size:1.1rem;display:grid}.profile-list li>div{gap:4px;display:grid}.profile-list li>div span{color:var(--muted);font-size:.75rem}.icon-button{width:44px;min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;font-size:1.4rem;display:grid}.icon-button:hover{color:var(--ink);background:#181a1714}.benchmark-panel{margin-top:18px;padding:22px;overflow:hidden}.benchmark-setup{padding-top:18px}.benchmark-topline{justify-content:space-between;align-items:stretch;gap:14px;display:flex}.benchmark-switch{border:1px solid var(--ink);cursor:pointer;background:#fffdf7;border-radius:12px;flex:1;grid-template-columns:27px 1fr;align-items:center;gap:12px;min-height:66px;padding:11px 14px;display:grid}.benchmark-switch input{width:22px;height:22px;accent-color:var(--ink)}.benchmark-switch span{gap:3px;display:grid}.benchmark-switch small{color:var(--muted);font-size:.72rem;line-height:1.4}.benchmark-import{border:1px dashed var(--ink);background:var(--paper-deep);cursor:pointer;border-radius:12px;place-items:center;min-width:158px;padding:0 18px;font-size:.78rem;font-weight:900;display:grid;position:relative}.benchmark-import input{opacity:0;cursor:pointer;position:absolute;inset:0}.benchmark-import:focus-within{outline:3px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 6px var(--signal)}.benchmark-fields{grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;margin-top:14px;display:grid}.benchmark-fields>label:not(.benchmark-consent){color:var(--muted);gap:7px;font-size:.72rem;font-weight:800;display:grid}.benchmark-fields select,.benchmark-fields input{border:1px solid var(--ink);width:100%;min-height:46px;color:var(--ink);background:#fffdf7;border-radius:9px;padding:0 11px}.benchmark-notes{grid-column:span 2}.benchmark-consent{border-left:4px solid var(--signal-deep);background:#ecebdc;grid-column:span 2;align-self:end;min-height:46px;margin:0;padding:6px 10px}.benchmark-notice,.benchmark-import-error{border-left:4px solid var(--orange);color:#7e2814;background:#fff1ea;margin:14px 0 0;padding:10px 12px;font-size:.78rem;font-weight:800}.benchmark-review{border-top:1px solid var(--ink);margin-top:20px;padding-top:20px}.tape-deck{background:var(--screen);color:#f4ffe0;border-radius:14px;grid-template-columns:minmax(150px,.5fr) minmax(280px,1.6fr) auto;align-items:center;gap:16px;padding:16px;display:grid;box-shadow:inset 0 0 30px #d9ff5714}.tape-deck>div:first-child{gap:4px;display:grid}.tape-deck span{color:var(--signal);letter-spacing:.08em;font-family:Noto Sans Mono CJK SC,Microsoft YaHei,monospace;font-size:.7rem}.tape-deck strong{font-size:.85rem}.tape-deck em{background:var(--orange);color:#fff;justify-self:start;padding:2px 6px;font-size:.65rem;font-style:normal;font-weight:900}.tape-deck audio{width:100%;min-height:44px;accent-color:var(--signal)}.benchmark-actions{gap:9px;display:flex}.tape-deck .outline-button{color:#f4ffe0;border-color:#f4ffe0}.benchmark-export-guide,.annotation-guide{color:var(--muted);margin:12px 2px 0;font-size:.72rem;font-weight:750;line-height:1.55}.benchmark-action-status,.benchmark-action-error,.benchmark-boundary-error{border-left:4px solid var(--signal-deep);color:#303329;background:#ecebdc;margin:10px 2px 0;padding:9px 11px;font-size:.74rem;font-weight:850;line-height:1.45}.benchmark-action-error,.benchmark-boundary-error{border-left-color:var(--orange);color:#7e2814;background:#fff1ea}.benchmark-metrics{border:1px solid var(--ink);background:repeating-linear-gradient(0deg,#181a1709 0 1px,#0000 1px 18px),#f6f1e5;border-radius:14px;margin-top:18px;padding:16px;position:relative;overflow:hidden}.benchmark-metrics:before{background:var(--signal-deep);content:"";width:6px;position:absolute;inset:0 auto 0 0}.metrics-heading{justify-content:space-between;align-items:flex-end;gap:18px;padding:0 2px 12px 10px;display:flex}.metrics-heading h3{margin:0;font-family:Noto Serif SC,Songti SC,serif;font-size:1.16rem}.metrics-heading>p{max-width:340px;color:var(--muted);text-align:right;margin:0;font-size:.7rem;font-weight:800;line-height:1.5}.metrics-grid{border-top:1px solid var(--ink);border-left:1px solid var(--ink);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.metrics-grid article{border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);background:#fffdf7c7;align-content:space-between;gap:8px;min-width:0;min-height:110px;padding:12px;display:grid}.metrics-grid article:first-child{background:var(--ink);color:#f4ffe0}.metrics-grid span{color:var(--muted);letter-spacing:.04em;font-size:.68rem;font-weight:900}.metrics-grid article:first-child span,.metrics-grid article:first-child small{color:#c9cabd}.metrics-grid strong{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-family:Noto Sans Mono CJK SC,Microsoft YaHei,monospace;font-size:clamp(1.25rem,2.3vw,1.8rem);line-height:1}.metrics-grid small{color:var(--muted);font-size:.64rem;line-height:1.4}.metrics-boundary{color:var(--muted);margin:10px 2px 0 10px;font-size:.66rem;line-height:1.5}.annotation-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;margin-top:24px;padding-bottom:14px;display:flex}.annotation-heading h3{margin:0;font-family:Noto Serif SC,Songti SC,serif;font-size:1.16rem}.annotation-list{counter-reset:benchmark-line;margin:0;padding:0;list-style:none}.annotation-list>li{border-bottom:1px solid var(--line);grid-template-columns:minmax(190px,.7fr) minmax(0,1.8fr);gap:16px;padding:18px 0;display:grid}.prediction-card{border-left:5px solid var(--signal-deep);background:var(--paper-deep);flex-direction:column;align-items:flex-start;gap:8px;padding:12px 14px;display:flex}.prediction-card>span{color:var(--muted);letter-spacing:.08em;font-size:.66rem;font-weight:900}.prediction-card strong{font-size:.88rem}.prediction-card p{margin:0;font-family:Noto Serif SC,Songti SC,serif;font-size:.92rem;line-height:1.55}.prediction-card button,.time-editor button{border:1px solid var(--ink);min-height:44px;color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;padding:0 11px;font-size:.7rem;font-weight:900}.truth-editor{gap:12px;display:grid}.time-editor{grid-template-columns:minmax(110px,1fr) auto minmax(110px,1fr) auto;align-items:end;gap:8px;display:grid}.time-editor label,.truth-fields label{color:var(--muted);gap:6px;font-size:.7rem;font-weight:800;display:grid}.time-editor input,.truth-fields input,.truth-fields select,.truth-fields textarea{border:1px solid var(--line);width:100%;min-height:42px;color:var(--ink);background:#fffdf7;border-radius:8px;padding:8px 10px}.truth-fields{grid-template-columns:minmax(140px,.7fr) minmax(140px,.7fr) minmax(220px,1.6fr);gap:10px;display:grid}.truth-fields textarea{resize:vertical;min-height:72px;line-height:1.5}.dialog-backdrop{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#070a07c2;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow-y:auto}.enrollment-dialog{overscroll-behavior:contain;border:1px solid var(--ink);background:var(--paper);width:min(720px,100%);max-height:calc(100dvh - 60px);box-shadow:10px 10px 0 var(--signal);border-radius:18px;padding:clamp(20px,4vw,34px);overflow-y:auto}.dialog-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.close-dialog{border:1px solid var(--line)}.privacy-note{border-left:4px solid var(--signal-deep);background:#ecebdc;gap:5px;margin:20px 0;padding:12px 14px;display:grid}.privacy-note span{color:var(--muted);font-size:.78rem;line-height:1.5}.identity-fields{grid-template-columns:1fr 180px;gap:12px;display:grid}.identity-fields label{gap:7px;font-size:.76rem;font-weight:800;display:grid}.identity-fields input,.identity-fields select{border:1px solid var(--ink);background:#fffdf7;border-radius:9px;width:100%;min-height:48px;padding:0 12px}.consent-row{color:#4f504c;grid-template-columns:22px 1fr;align-items:start;gap:10px;margin:18px 0;font-size:.78rem;line-height:1.5;display:grid}.consent-row input{width:20px;height:20px;accent-color:var(--ink)}.mode-tabs{border-bottom:1px solid var(--ink);grid-template-columns:1fr 1fr;gap:0;display:grid}.mode-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:0;font-weight:800}.mode-tabs button[aria-selected=true]{background:var(--ink);color:var(--signal)}.record-zone,.upload-zone{justify-content:center;align-items:center;gap:16px;min-height:205px;padding:24px 0 4px;display:flex}.record-zone{flex-direction:column}.voiceprint-reading{border:1px solid var(--line);background:#fffdf7;border-radius:12px;gap:10px;width:100%;padding:14px;display:grid}.voiceprint-reading-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.voiceprint-reading-heading strong{font-size:.82rem}.voiceprint-reading-heading button{border:1px solid var(--ink);min-height:44px;color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;flex-shrink:0;padding:0 12px;font-weight:800}.voiceprint-reading-heading button:disabled{opacity:.45;cursor:not-allowed}.voiceprint-reading p{overflow-wrap:anywhere;margin:0;font-size:1rem;line-height:1.75}.voiceprint-reading>span{color:var(--muted);font-size:.76rem;line-height:1.5}.record-orb{border:1px solid var(--ink);background:var(--signal);width:82px;height:82px;box-shadow:5px 5px 0 var(--ink);cursor:pointer;border-radius:50%;font-size:1.2rem}.record-orb.is-recording{background:var(--orange);color:#fff;animation:1.2s ease-in-out infinite pulse}.record-zone time,.upload-zone time{color:var(--muted);font-variant-numeric:tabular-nums}.upload-zone{flex-wrap:wrap}.file-drop{border:1px dashed var(--ink);cursor:pointer;border-radius:12px;gap:7px;min-width:min(300px,100%);padding:18px;display:grid;position:relative}.file-drop span{color:var(--muted);font-size:.72rem}.file-drop input{opacity:0;cursor:pointer;position:absolute;inset:0}.dialog-error{color:#942f17;margin:14px 0 0;font-size:.82rem;font-weight:800}.node-shell{background:var(--screen);color:#f4ffe0;grid-template-columns:minmax(220px,.7fr) minmax(300px,1fr);align-items:center;gap:clamp(24px,7vw,100px);min-height:100vh;padding:clamp(24px,7vw,96px);display:grid;position:relative;overflow:hidden}.node-shell:before{opacity:.22;content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#0000 0 31px,#d9ff571f 32px),radial-gradient(circle at 14%,#d9ff5747,#0000 34%);position:absolute;inset:0}.node-signal,.node-console{position:relative}.node-content{gap:18px;width:min(680px,100%);display:grid;position:relative}.node-signal{aspect-ratio:1;border:1px solid #667052;border-radius:50%;justify-self:center;place-items:center;width:min(38vw,380px);display:grid}.node-signal:before,.node-signal:after{content:"";border:1px solid #d9ff5757;border-radius:50%;position:absolute}.node-signal:before{inset:16%}.node-signal:after{inset:32%}.node-signal span{aspect-ratio:1;background:#6f706a;border-radius:50%;width:23%;box-shadow:0 0 0 16px #6f706a1f}.node-shell[data-state=capturing] .node-signal span{background:var(--signal);animation:1.4s ease-in-out infinite node-scan;box-shadow:0 0 45px #d9ff57a6}.node-shell[data-state=error] .node-signal span{background:var(--orange)}.node-console{border-left:7px solid var(--signal);background:#151915;width:min(620px,100%);padding:clamp(22px,5vw,52px);box-shadow:18px 18px #d9ff571c}.node-content .node-console{width:100%}.node-transcript-panel{color:var(--ink);box-shadow:18px 18px #d9ff571c}.node-console h1{color:#fff;margin-bottom:13px}.node-boundary,.node-privacy{color:#9ca794;font-size:.78rem;line-height:1.55}.node-device-identity{border:1px solid #596154;border-left:5px solid var(--orange);background:#ffffff09;gap:5px;margin:24px 0 0;padding:14px 16px;display:grid}.node-device-identity span{color:#9ca794;letter-spacing:.12em;font-size:.67rem;font-weight:900}.node-device-identity strong{color:#fff;font-variant-numeric:tabular-nums;letter-spacing:.11em;font-family:Noto Sans Mono CJK SC,Microsoft YaHei,monospace;font-size:clamp(1.8rem,5vw,3.3rem);line-height:1}.node-device-identity small{color:#c6cebf}.node-live-state{border-top:1px solid #596154;border-bottom:1px solid #596154;grid-template-columns:1fr auto;align-items:end;gap:6px 16px;margin:30px 0;padding:18px 0;display:grid}.node-live-state span{color:#9ca794;letter-spacing:.12em;font-size:.68rem;font-weight:900}.node-live-state strong{color:var(--signal);grid-column:1/-1;font-family:Noto Serif SC,Songti SC,serif;font-size:clamp(2rem,5vw,4.4rem);line-height:1}.node-live-state small{color:#c6cebf;grid-column:1/-1}.node-connection-state{color:#9ca794;letter-spacing:.12em;border:1px solid #596154;border-radius:999px;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding:10px 14px;font-size:.68rem;font-weight:900;display:flex}.node-connection-state strong{color:#d6ddd0;letter-spacing:.04em;font-family:Noto Serif SC,Songti SC,serif;font-size:.92rem}.node-connection-state[data-state=connected]{background:#d9ff5714;border-color:#d9ff5794}.node-connection-state[data-state=connected] strong{color:var(--signal)}.node-primary,.node-stop{border:1px solid var(--signal);background:var(--signal);width:100%;min-height:58px;color:var(--ink);cursor:pointer;border-radius:999px;font-weight:900}.node-stop{border-color:var(--orange);background:var(--orange);color:#fff}.node-error{border-left:4px solid var(--orange);color:#ffd9ca;background:#e66d3f26;padding:10px 12px;font-size:.78rem;font-weight:800}@keyframes node-scan{50%{transform:scale(1.18);box-shadow:0 0 75px #d9ff57c7}}@keyframes blink{50%{opacity:0}}@keyframes pulse{50%{box-shadow:2px 2px 0 var(--ink);opacity:.78}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width:900px){.workspace,.lower-grid,.mode-output-grid{grid-template-columns:1fr}.glasses-frame{min-height:240px}.benchmark-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.tape-deck{grid-template-columns:1fr}.benchmark-actions{flex-wrap:wrap}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.annotation-list>li{grid-template-columns:1fr}.household-actions p:not(.caption-input-health){grid-column:1/-1}.node-status-list,.node-shell{grid-template-columns:1fr}.node-signal{width:min(42vw,260px)}}@media (max-width:560px){.app-shell{padding:12px}.masthead{align-items:center;gap:8px;padding:4px 0 12px}.brand-block{gap:8px;min-width:0}.brand-mark{width:44px;height:44px}.eyebrow{letter-spacing:.11em}.brand-block .eyebrow{letter-spacing:.02em;font-size:clamp(.5rem,2vw,.56rem)}h1{font-size:1.65rem}.system-strip{flex:none;gap:3px}.system-summary{gap:7px;min-width:112px;max-width:122px;padding:5px 7px;box-shadow:2px 2px #181a171f}.system-summary-copy>span{font-size:.7rem}.system-summary-copy strong{font-size:.58rem}.version-chip{padding-right:1px;font-size:.58rem}.system-status-dialog{border:1px solid var(--ink);width:100%;height:auto;max-height:calc(100dvh - 18px);padding:22px 18px max(24px, env(safe-area-inset-bottom));border-bottom:0;border-radius:22px 22px 0 0;margin:auto 0 0;box-shadow:0 -18px 60px #070a0733}.provider-option{grid-template-columns:18px minmax(0,1fr) auto;gap:9px;padding:11px 10px}.provider-option-state{padding:3px 6px;font-size:.57rem}.device-detail{align-items:flex-end}.product-tabs button{min-height:52px;font-size:.85rem}.caption-stage{border-radius:14px;padding:12px}.caption-display{min-height:285px;padding:24px 18px}.caption-display p{font-size:clamp(2.1rem,12vw,3.5rem)}.live-caption-list li{grid-template-columns:1fr;gap:5px}.live-caption-list li p{font-size:clamp(1.25rem,6.5vw,2rem)}.action-deck{grid-template-columns:1fr}.listen-button{width:100%}.error-banner{flex-direction:column;align-items:stretch}.transcript-panel,.voiceprint-panel,.glasses-panel,.household-panel,.benchmark-panel{border-radius:14px;padding:16px}.transcript-list li{grid-template-columns:1fr;gap:6px}.verified-mark,.provisional-mark{justify-self:start}.identity-fields{grid-template-columns:1fr}.dialog-backdrop{align-items:start;padding:10px}.enrollment-dialog{box-shadow:5px 5px 0 var(--signal);margin:10px 0;padding:18px}.upload-zone{flex-direction:column;align-items:stretch}.submit-button{width:100%}.benchmark-topline{flex-direction:column}.benchmark-import{min-height:52px}.benchmark-fields{grid-template-columns:1fr}.benchmark-notes,.benchmark-consent{grid-column:auto}.benchmark-actions{grid-template-columns:1fr;display:grid}.tape-deck .outline-button,.tape-deck .submit-button{width:100%}.metrics-heading{flex-direction:column;align-items:flex-start}.metrics-heading>p{text-align:left;max-width:none}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.time-editor,.truth-fields{grid-template-columns:1fr}.time-editor button{min-height:44px}.household-heading{align-items:center;padding-left:5px}.node-status-list{grid-template-columns:1fr}.node-status-list li{grid-template-columns:7px minmax(0,1fr)}.pairing-request-card{grid-column:2;grid-template-columns:1fr}.household-actions{grid-template-columns:1fr;padding-left:5px}.household-actions p:not(.caption-input-health){grid-column:auto}.transcript-list .overlap-group{grid-template-columns:1fr}.node-shell{gap:24px;padding:22px 14px}.node-signal{width:min(64vw,230px)}.node-console{border-left-width:5px;padding:23px 18px}}.pilot-feedback-entry{justify-content:flex-end;padding:18px 0;display:flex}.pilot-feedback-dialog{border:1px solid var(--ink);background:var(--paper);width:min(440px,100% - 24px);max-height:calc(100dvh - 32px);color:var(--ink);box-shadow:var(--shadow);border-radius:16px;padding:22px;overflow-y:auto}.pilot-feedback-dialog::backdrop{background:#070a0794}.pilot-feedback-dialog h2{margin:6px 0;font-family:Noto Serif SC,Songti SC,serif;font-size:1.25rem}.pilot-feedback-note{color:var(--muted);font-size:.83rem;line-height:1.6}.pilot-feedback-options{border:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;margin:14px 0;padding:0;display:grid}.pilot-feedback-options legend{padding:0 0 8px;font-weight:800}.pilot-feedback-options label{border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:center;gap:6px;min-height:44px;padding:6px;font-size:.85rem;line-height:1.3;display:flex}.pilot-feedback-options label:has(input:checked){background:var(--signal);border-color:var(--ink)}.pilot-feedback-options input{accent-color:var(--ink);flex-shrink:0;margin:0}.pilot-feedback-actions{gap:12px;display:grid}.pilot-feedback-note-label{margin-bottom:6px;font-size:.85rem;font-weight:800;display:block}.pilot-feedback-textarea{resize:vertical;border:1px solid var(--line);background:var(--paper);width:100%;min-height:84px;color:var(--ink);font:inherit;border-radius:8px;margin:0 0 14px;padding:8px;font-size:16px;line-height:1.4;display:block}.pilot-feedback-error{color:#a1311d;font-size:.85rem;line-height:1.6}.pilot-feedback-result{line-height:1.8}.pilot-feedback-result code{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;font-size:.8rem;display:block}.voiceprint-availability{color:var(--ink-muted,#655f55);flex-wrap:wrap;align-items:center;gap:.25rem .75rem;margin:0 0 1rem;font-size:.875rem;display:flex}.glasses-reading{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 18px;margin:0 0 18px;padding:12px 0;display:flex}.glasses-reading>span{font-size:.8rem;font-weight:800}.glasses-reading-actions{gap:6px;display:flex}.glasses-reading-actions button{min-height:44px;color:var(--ink);background:var(--paper);border:1px solid var(--line);cursor:pointer;border-radius:6px;padding:8px 12px}.glasses-reading-actions button:disabled{opacity:.45;cursor:default}.glasses-reading details{flex-basis:100%;font-size:.78rem;line-height:1.6}.glasses-reading summary{cursor:pointer;width:-moz-fit-content;width:fit-content}.glasses-reading details p{max-width:65ch;margin:8px 0 0}.quality-resume{border:1px solid var(--line);background:0 0;border-radius:8px;justify-self:start;min-height:44px;padding:6px 10px;font-size:.8rem}.profile-list .person-card{padding:16px 0;display:block}.profile-list .person-card>.person-heading{grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.person-heading>div,.template-info{overflow-wrap:anywhere;gap:4px;min-width:0;display:grid}.person-heading .quality-resume{white-space:nowrap}.template-list{border-left:2px solid var(--line);margin:12px 0 0 20px;padding-left:14px}.template-row{grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:8px;padding:10px 0;display:grid}.template-row+.template-row{border-top:1px solid var(--line)}.template-info>strong{font-size:.9rem}.template-info>span{color:var(--muted);font-size:.75rem}.template-label-field{gap:6px;margin:12px 0;font-size:.85rem;display:grid}.template-label-field input{border:1px solid var(--line);background:var(--paper);min-width:0;min-height:44px;color:var(--ink);font:inherit;border-radius:8px;padding:10px 12px}.client-update-notice{color:#493813;overflow-wrap:anywhere;background:#fff8e6;border:1px solid #bf963f;border-radius:14px;align-items:flex-start;gap:16px;margin:16px 0;padding:16px;display:flex}.client-update-notice p{margin:6px 0;line-height:1.55}.client-update-notice ul{margin:8px 0 0;padding-left:20px;line-height:1.55}.client-update-notice button{min-height:44px;color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:8px;flex-shrink:0;padding:8px 12px}.client-update-notice button:disabled{opacity:.65;cursor:wait}@media (max-width:600px){.client-update-notice{flex-direction:column;gap:8px}}.settings-icon{flex:none;width:22px;height:22px;display:block}.audio-input-settings{margin-top:24px}.settings-scope,.settings-hint{color:var(--muted);font-size:.78rem;line-height:1.6}.settings-hint{margin:10px 0 0}.audio-input-settings .source-select{width:100%}.audio-input-settings .source-select select{min-height:44px}.audio-input-settings .continuous-capture-choice{align-items:center;gap:8px;margin-top:14px;font-size:.82rem;display:flex}.node-settings-button{float:right;color:var(--signal)}.node-settings-button:hover,.node-settings-button:focus-visible{color:var(--signal);background:#d9ff571f}.voiceprint-panel .section-heading{flex-wrap:wrap}.voiceprint-entry-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.voiceprint-entry-actions>button{white-space:nowrap}.compact-hint{flex:0 0 44px;position:relative}.compact-hint summary{width:44px;height:44px;color:var(--muted);cursor:pointer;place-items:center;list-style:none;display:grid}.compact-hint summary::-webkit-details-marker{display:none}.compact-hint summary>span{border:1.5px solid;border-radius:50%;place-items:center;width:21px;height:21px;font-size:.85rem;font-weight:800;display:grid}.compact-hint summary:hover,.compact-hint[open] summary{color:var(--ink)}.compact-hint summary:focus-visible{outline:3px solid var(--ink);outline-offset:2px;border-radius:50%}.compact-hint-attention summary>span{color:var(--ink);background:var(--signal)}.compact-hint-attention:not([open]) summary>span{animation:1.2s ease-out 3 compact-hint-pulse}@keyframes compact-hint-pulse{0%,to{transform:scale(1);box-shadow:0 0 #95b52c00}35%{transform:scale(1.12);box-shadow:0 0 0 5px #95b52c4d}75%{transform:scale(1);box-shadow:0 0 0 9px #95b52c00}}@media (prefers-reduced-motion:reduce){.compact-hint-attention:not([open]) summary>span{animation:none}}.compact-hint>p{z-index:5;border:1px solid var(--line);background:var(--paper);width:min(280px,100vw - 64px);box-shadow:var(--shadow);color:var(--ink);border-radius:10px;margin:4px 0 0;padding:12px 14px;font-size:.8rem;line-height:1.6;position:absolute;top:100%;right:0}.sample-duration-row{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px 12px;display:flex}.sample-duration-row>time{white-space:nowrap}.sample-duration-row>span{white-space:nowrap;color:var(--muted);font-size:.78rem;line-height:1.5}.capture-control-row{grid-template-columns:minmax(0,1fr);align-items:center;gap:8px;min-width:0;display:grid}.capture-control-row>button{white-space:nowrap;width:100%;min-width:0}.household-heading>div{min-width:0}.action-deck>div:empty{display:none}.compact-hint{width:44px;min-width:44px}.compact-hint>p{text-align:left;font-weight:400}.node-console .capture-control-row{margin-bottom:16px}.node-content>.pilot-feedback-entry .outline-button{color:#f4ffe0;border-color:#c6cebf}.caption-input-health>[data-testid=capture-screen-wake-lock]:before{content:" · "}.caption-input-health .capture-screen-warning{color:#7e2814}.node-console .caption-input-health{margin:0 0 16px}#root{flex-direction:column;min-height:100vh;display:flex}.icp-footer{padding:12px 16px max(16px, env(safe-area-inset-bottom));text-align:center;margin-top:auto}.icp-footer a{max-width:100%;min-height:44px;color:var(--ink);text-underline-offset:3px;overflow-wrap:anywhere;align-items:center;font-size:.8rem;display:inline-flex}.icp-footer a:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
