:root{color:#1c1b18;font-synthesis:none;--paper:#e9e5d7;--ink:#1c1b18;--oxide:#8f3029;--muted:#69665c;background:#cbc7b8;font-family:Courier New,Noto Sans Mono,monospace}*{box-sizing:border-box}body{background-color:#cbc7b8;background-image:radial-gradient(#a7a292 .7px,#0000 .7px);background-size:5px 5px;min-width:320px;min-height:100vh;margin:0}button{font:inherit;color:inherit}button:focus-visible,summary:focus-visible{outline:3px solid var(--oxide);outline-offset:3px}.lab-shell{width:min(1180px,100% - 32px);margin:0 auto;padding:28px 0 18px}.masthead,footer{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:flex-end;gap:20px;padding:0 2px 14px;display:flex}.eyebrow,footer{letter-spacing:.16em;font-size:11px}h1{letter-spacing:-.04em;margin:7px 0 0;font-family:Georgia,serif;font-size:clamp(32px,5vw,66px);font-weight:400}.capacity{align-items:center;gap:9px;font-size:12px;display:flex}.capacity i{background:var(--oxide);border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 3px #8f302929}.workbench{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:26px;padding:26px 0;display:grid}.device{background:#d8d3c3;border:2px solid #504d45;border-radius:22px;padding:18px;position:relative;box-shadow:0 15px #9b978a,0 22px 35px #23201940}.device-top,.device-label{color:#5a574f;letter-spacing:.14em;justify-content:space-between;padding:0 3px 12px;font-size:10px;display:flex}.screen{background:var(--paper);border:4px solid #3b3933;border-radius:7px;grid-template-rows:auto 1fr auto auto;grid-template-columns:minmax(180px,.85fr) 1.15fr;gap:14px 20px;min-height:530px;padding:17px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 30px #1e1c161f}.screen-grid{pointer-events:none;opacity:.28;mix-blend-mode:multiply;background-image:radial-gradient(#38362f .8px,#0000 .8px);background-size:4px 4px;position:absolute;inset:0}.screen:after{content:"";pointer-events:none;border:1px solid #ffffff8c;position:absolute;inset:0}.screen-meta{letter-spacing:.12em;border-bottom:1px solid var(--ink);z-index:1;grid-column:1/-1;justify-content:space-between;padding-bottom:8px;font-size:11px;display:flex}.portrait{border:0;border-right:1px dashed var(--ink);cursor:pointer;z-index:1;background:0 0;justify-content:center;align-self:center;align-items:center;min-height:300px;padding:7px 15px 7px 3px;transition:transform 80ms steps(2,end);display:flex;position:relative;overflow:hidden}.portrait:active{transform:translate(2px,2px)}.portrait img{object-fit:contain;width:100%;height:300px;image-rendering:pixelated;filter:saturate(.82)contrast(1.08)sepia(.08);display:block}.portrait:after{content:"";pointer-events:none;opacity:.13;mix-blend-mode:multiply;background:repeating-linear-gradient(#0000 0 3px,#1c1b1861 3px 4px);position:absolute;inset:7px 15px 7px 3px}.identity{z-index:1;align-self:center}.identity h2{writing-mode:vertical-rl;float:right;letter-spacing:.08em;margin:0 0 14px;font:400 clamp(28px,3.5vw,49px)/1 Georgia,serif}.identity p{max-width:13em;margin:0;font-size:12px;line-height:1.75}.speech-card{z-index:1;border:2px solid var(--ink);background:#e9e5d7db;grid-column:1/-1;min-height:102px;padding:11px 14px}.speech-card .speaker{letter-spacing:.14em;color:var(--oxide);margin-bottom:9px;font-size:10px;display:block}.speech-card p{margin:0;font:18px/1.55 Georgia,serif}.screen-status{z-index:1;grid-column:1/-1;align-items:center;gap:9px;font-size:12px;display:flex}.screen-status .pulse{border:1px solid var(--ink);border-radius:50%;width:10px;height:10px}.screen[data-phase=麦克风授权] .pulse,.screen[data-phase=你在说话] .pulse,.screen[data-phase=倾听] .pulse,.screen[data-phase=说话] .pulse{background:var(--oxide)}#level-bars{letter-spacing:2px;margin-left:auto}.hardware-controls{grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding-top:17px;display:grid}.character-switch{border:2px solid var(--ink);width:max-content;display:inline-flex}.character-switch button,.small-button,.clear-button{cursor:pointer;text-transform:uppercase;background:0 0;border:0;min-height:44px;padding:0 15px;font-size:11px;font-weight:700}.character-switch button.selected{background:var(--ink);color:var(--paper)}.contract-button{background:var(--oxide);color:#fff;cursor:pointer;border:2px solid #65211c;border-radius:50%;width:114px;height:64px;font-weight:700;box-shadow:0 5px #65211c}.contract-button:active{transform:translateY(4px);box-shadow:0 1px #65211c}.small-button{background:#c7c2b2;border:1px solid #777266;border-radius:4px}.small-button:disabled,.contract-button:disabled{opacity:.45;cursor:not-allowed}.device-label{align-items:flex-end;padding:22px 4px 0}.device-label b{font:20px Georgia,serif}.diagnostics{border-left:2px solid var(--ink);padding-left:22px}.diag-heading{border-bottom:5px solid var(--ink);justify-content:space-between;padding-bottom:9px;font-size:10px;display:flex}.metrics{margin:0}.metrics div{border-bottom:1px solid #817d71;justify-content:space-between;padding:13px 0;display:flex}.metrics dt{color:var(--muted);font-size:12px}.metrics dd{margin:0;font-size:13px;font-weight:700}.transcript-log{border:1px solid var(--ink);background:#e9e5d78c;margin-top:18px}.transcript-log div{min-height:82px;padding:12px}.transcript-log div+div{border-top:1px dashed var(--ink)}.transcript-log b{color:var(--oxide);font-size:10px}.transcript-log p{margin:7px 0 0;font:14px/1.55 Georgia,serif}.clear-button{border:1px solid var(--ink);width:100%;margin-top:10px}.notice{color:#5b584f;margin:18px 0;font-size:11px;line-height:1.55}details{border-top:1px solid var(--ink);padding-top:12px;font-size:11px}summary{cursor:pointer;font-weight:700}details code{color:var(--oxide);padding-top:10px;line-height:1.8;display:block}footer{border-top:2px solid var(--ink);color:#4f4c45;border-bottom:0;align-items:center;padding:13px 2px 0}@media (width<=880px){.workbench{grid-template-columns:1fr}.diagnostics{border-left:0;border-top:2px solid var(--ink);padding:20px 0 0}}@media (width<=620px){.lab-shell{width:min(100% - 18px,1180px);padding-top:16px}.masthead{align-items:flex-start}.screen{grid-template-rows:auto 210px auto auto auto;grid-template-columns:1fr;min-height:480px}.portrait{border-right:0;border-bottom:1px dashed var(--ink);min-height:200px;padding:3px 3px 12px}.portrait img{height:200px}.portrait:after{inset:3px 3px 12px}.identity h2{writing-mode:horizontal-tb;float:none}.hardware-controls{grid-template-columns:1fr 1fr}.character-switch{grid-column:1/-1;width:100%}.character-switch button{flex:1}.contract-button{grid-row:span 2}footer{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
