:root{color-scheme:light;--paper: #fff;--surface: #f5f6f7;--subtle: #eff1f2;--line: #e2e5e7;--ink: #191c20;--muted: #626a73;--green: #187348;--radius: 12px;font:14px/1.5 -apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;color:var(--ink);background:var(--surface)}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100dvh}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.48}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #3b6fb7;outline-offset:3px}.icon-symbols{position:absolute;width:0;height:0;overflow:hidden}.icon{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;padding:24px 14px 16px;border-right:1px solid var(--line);background:var(--paper)}.brand{display:flex;align-items:center;gap:11px;padding:0 8px}.brand-mark,.device-icon{display:grid;place-items:center;flex:none;border-radius:9px}.brand-mark{width:37px;height:37px;background:#f1f8fc}.brand strong{display:block;font-size:17px;letter-spacing:-.025em}.brand small{display:block;color:var(--muted);font-size:11px}.nav{display:grid;gap:4px;margin:28px 0 16px}.nav-item,.device-link{display:flex;align-items:center;gap:10px;min-width:0;padding:9px 10px;border-radius:7px}.nav-item{width:100%;border:0;background:transparent;text-align:left;color:var(--muted)}.nav-item.active{background:var(--subtle);color:var(--ink);font-weight:650}.nav-item:hover,.device-link:hover{background:var(--subtle)}.device-nav{padding-top:16px;border-top:1px solid var(--line);overflow-y:auto}.device-nav p{padding:0 10px 8px;color:var(--muted);font-size:12px}.device-link{font-size:13px}.device-link span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-link .icon{color:var(--muted);width:16px;height:16px}.device-link i,.online-count:before,.connection:before{display:inline-block;flex:none;width:7px;height:7px;border-radius:50%;background:#a2a9af;content:""}.device-link.online i,.online-count.online:before,.connection.online:before{background:#258653}.connection,.online-count{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;white-space:nowrap}.connection{margin-top:auto;padding:18px 10px 0}.connection.online,.online-count.online{color:var(--green)}.workspace{min-width:0;width:100%;max-width:1720px;margin-inline:auto;padding:30px clamp(18px,3vw,46px) 48px}.page-header,.screen-toolbar,.header-actions,.toolbar-actions,.card-head,.content-row,.control-row,.type-controls,.dialog-head,.library-tools{display:flex;align-items:center;gap:12px}.page-header,.screen-toolbar,.content-row,.control-row,.dialog-head{justify-content:space-between}.page-header{margin-bottom:24px}.page-header h1{font-size:29px;line-height:1.2;font-weight:700;letter-spacing:-.035em}.page-header p,.screen-toolbar p,.dialog-head p{margin-top:6px;color:var(--muted)}.screen-toolbar{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:15px 18px;margin-bottom:18px}.screen-toolbar h2{font-size:15px}.screen-toolbar p{margin-top:2px;font-size:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:7px 12px;border:1px solid #dce0e3;border-radius:7px;background:var(--paper);color:var(--ink);white-space:nowrap;font-weight:550;cursor:pointer}.button:hover:not(:disabled){background:var(--subtle)}.button.primary{background:#24282e;border-color:#24282e;color:#fff}.button.primary:hover:not(:disabled){background:#3e454f}.button .icon{width:16px;height:16px}.icon-button{width:36px;padding-inline:0}.clients{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.client-card,.empty-screens{min-width:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.client-card{scroll-margin-top:12px}.client-card:target{border-color:#8190a1}.card-head{padding:15px 17px}.device-icon{width:42px;height:42px;color:#434b55;background:#f1f3f4}.device-icon .icon{width:24px;height:24px}.card-identity{flex:1;min-width:0}.device-name{overflow-wrap:anywhere;font-size:16px}.device-name-trigger{max-width:100%;padding:0;border:0;background:transparent;font:inherit;text-align:left;overflow-wrap:anywhere;cursor:text}.device-name-trigger:disabled{opacity:1}.device-name-error{color:#9d3434;font-size:12px}.device-name-error:empty{display:none}.device-meta{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.status-label,.preview-tag{border-radius:5px;font-size:11px;white-space:nowrap}.status-label{color:var(--muted);background:var(--subtle);padding:4px 8px}.online .status-label{color:var(--green);background:#eaf5ee}.preview{position:relative;display:grid;place-items:center;aspect-ratio:16 / 9;overflow:hidden;color:#aeb7c3;background:#242a31}.thumbnail{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain}.preview-placeholder{display:grid;justify-items:center;gap:10px;padding:12px;text-align:center;font-size:12px}.preview-placeholder .icon{width:40px;height:40px;stroke-width:1.15}.preview-tag{position:absolute;right:10px;bottom:10px;background:#121820d9;color:#fff;padding:3px 7px}.card-body{padding:15px 17px 13px}.content-row>div{min-width:0}.field-caption{font-size:11px;color:var(--muted)}.content-name{display:block;font-size:14px;overflow-wrap:anywhere}.playback-controls:empty{display:none}.display-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-top:12px}.display-controls label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}.display-controls select{min-height:32px;max-width:100%;font:inherit;color:var(--ink)}.playback-controls{margin-top:13px;padding-top:13px;border-top:1px solid var(--line)}.control-row,.type-controls{flex-wrap:wrap;gap:7px}.control-value{min-width:46px;text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums}.carousel-settings{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.carousel-settings label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}.carousel-settings input{max-width:75px}.carousel-note{margin-top:8px;color:var(--muted);font-size:12px}.control-row .button{min-height:32px;padding:5px 9px;font-size:12px}.stop{color:#6b4141}.volume-row{display:flex;gap:8px;align-items:center;margin-top:12px;font-size:12px}.volume-row input{flex:1;min-width:60px;accent-color:#24282e}.volume-label{min-width:34px;text-align:right;font-variant-numeric:tabular-nums}.audio-note,.card-result,.heartbeat{color:var(--muted);font-size:12px}.audio-note,.card-result:not(:empty){margin-top:9px}.card-result.success{color:var(--green)}.card-result.failed,.library-status.error{color:#9d3434}.marquee-settings{margin-top:13px;padding-top:9px;border-top:1px solid var(--line)}.marquee-settings summary,.protocol summary{cursor:pointer;color:var(--muted);font-size:12px}.marquee-settings label,.connect-dialog>label,.web-form label{display:grid;gap:5px;color:var(--muted);font-size:12px}.marquee-settings label,.marquee-settings .control-row,.heartbeat{margin-top:8px}input:not([type=file],[type=range]){width:100%;min-width:0;height:36px;padding:7px 9px;border:1px solid #dce0e3;border-radius:7px;background:var(--paper)}.empty-screens{display:grid;justify-items:center;gap:9px;padding:36px 20px;text-align:center}.empty-screens .icon{width:34px;height:34px;color:var(--muted)}.empty-screens h2{font-size:17px}.empty-screens p{color:var(--muted)}.empty-screens .button{margin-top:5px}.protocol{padding:12px 2px;margin-top:9px}.protocol pre{max-height:180px;padding:10px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:#edf0f2;font-size:11px}.dialog{width:min(640px,calc(100% - 24px));max-height:calc(100dvh - 28px);padding:20px;color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 60px #18202833}.dialog::backdrop{background:#19212b65}.dialog-head{align-items:flex-start;margin-bottom:16px}.dialog-head h2{font-size:20px}.dialog-head p{font-size:13px}.library-tools{gap:8px;flex-wrap:wrap}#upload-button{position:relative}#upload-button:focus-within{outline:2px solid #3b6fb7;outline-offset:3px}#upload{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;cursor:pointer}#upload-button:has(:disabled){opacity:.48}#media-search{flex:1;min-width:110px}.library-status{margin-top:8px;color:var(--muted);font-size:12px}.media-list{margin-top:12px}.media-item{display:flex;align-items:center;gap:10px;min-height:52px;padding:8px 0;border-top:1px solid var(--line)}.media-item small{color:var(--muted);white-space:nowrap}.media-name{flex:1;min-width:0;overflow-wrap:anywhere}.type-icon{min-width:40px;padding:4px 6px;border-radius:5px;text-align:center;font-size:11px;font-weight:650;background:var(--subtle)}.type-icon.slides{background:#f8eade;color:#8e4818}.type-icon.video{background:#eae8fa;color:#594987}.type-icon.image{background:#e6f3eb;color:#275b3c}.type-icon.web{background:#e6eff9;color:#335e88}.library-empty{padding:24px 0 10px;text-align:center;color:var(--muted)}.web-form{display:grid;grid-template-columns:1fr 1.5fr auto;gap:8px;align-items:end;margin-top:12px}.connect-dialog{max-width:480px}.connect-dialog>label{margin-bottom:12px}.connect-dialog .control-row{justify-content:flex-end}.manual-pairing{margin-top:14px;padding-top:10px;border-top:1px solid var(--line)}.manual-pairing summary{cursor:pointer}.manual-pairing label{display:grid;gap:5px;margin:10px 0;color:var(--muted);font-size:12px}.discovered-tvs{list-style:none;margin:8px 0 0;padding:0}.discovered-tvs li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 0;border-top:1px solid var(--line)}.discovered-tvs small{display:block;color:var(--muted)}.pair-code:not(:empty){display:block;margin-top:12px;font-weight:650;font-variant-numeric:tabular-nums}#login-form{display:grid;gap:12px}#login-form label{display:grid;gap:5px}#login-form .button{justify-self:end}.sign-out{margin-top:6px}.showroom-mode{display:block}.showroom-mode .sidebar,.showroom-mode .workbench-only,.showroom-mode .choose,.showroom-mode .display-controls,.showroom-mode .playback-controls,.showroom-mode .card-result,.showroom-mode .marquee-settings,.showroom-mode .heartbeat{display:none}.showroom-mode .clients{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}@media(max-width:1060px){body{grid-template-columns:184px minmax(0,1fr)}.workspace{padding-inline:18px}}@media(max-width:830px){.clients{grid-template-columns:minmax(0,1fr)}}@media(max-width:620px){body{display:block}.sidebar{position:static;height:auto;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:10px 12px;border-right:0;border-bottom:1px solid var(--line)}.brand{padding:0}.brand-mark{width:32px;height:32px}.brand-mark img{width:26px;height:26px}.nav{display:flex;margin:0}.nav-item{width:auto;padding:6px 8px}.nav-item.active,.device-nav,.connection{display:none}.workspace{padding:18px 12px 28px}.page-header{align-items:flex-start;flex-wrap:wrap;margin-bottom:15px}.page-header h1{font-size:24px}.screen-toolbar{flex-wrap:wrap;padding:12px}.dialog{padding:14px}.web-form{grid-template-columns:minmax(0,1fr)}}
