:root{--ink:#10131a;--panel:#191e28;--panel-light:#222935;--mint:#77e4c5;--muted:#96a0b2;--line:#2a313e;--text:#f4f6fa;--purple:#b4b8fc;--warning:#edc478;--danger:#ff9b9b;color-scheme:dark;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--text);font-size:14px;line-height:1.55;min-width:300px}button,input,select{font:inherit}button,a,input,select,summary{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.48;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--mint);outline-offset:4px}a{color:inherit}img{display:block}h1,h2,h3,p{margin:0}h1{font-size:40px;line-height:1.16;letter-spacing:-1.4px;font-weight:650}h2{font-size:22px;line-height:1.3;letter-spacing:-.45px;font-weight:630}h3{font-size:17px;font-weight:600}code{font:12px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}strong{font-weight:600}[hidden]{display:none!important}.shell{max-width:1240px;margin:auto;padding-left:44px;padding-right:44px}.header{height:100px;display:flex;gap:30px;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-size:20px;letter-spacing:-.5px;font-weight:750;white-space:nowrap}.brand-light{color:var(--muted);font-weight:450;font-size:17px;margin-left:2px}.header-label{padding-left:28px;border-left:1px solid var(--line);font-size:13px;color:var(--muted)}.header-device{display:flex;align-items:center;gap:8px;margin-left:auto;color:var(--muted);font-size:12px;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-dot{width:6px;height:6px;background:currentColor;border-radius:50%;display:inline-block;flex-shrink:0}.header-device .status-dot{color:var(--mint)}.pair-layout{display:grid;grid-template-columns:1.18fr 1fr;gap:90px;align-items:center;min-height:710px;padding:64px 0 76px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.8px;color:var(--muted);display:flex;align-items:center;gap:10px;margin-bottom:17px}.tiny-square{width:6px;height:6px;background:var(--mint)}.pair-intro h1{font-size:46px;line-height:1.19;margin-bottom:22px}.pair-intro h1 span{color:var(--mint)}.intro-copy{font-size:15px;line-height:1.75;color:var(--muted);max-width:440px}.steps{list-style:none;margin:35px 0 25px;padding:0;display:grid;gap:24px}.steps li{display:flex;gap:18px;align-items:start}.step-number{font-size:10px;font-family:ui-monospace,monospace;color:var(--mint);border:1px solid var(--line);border-radius:8px;width:30px;height:30px;display:grid;place-items:center;flex-shrink:0}.steps strong{font-size:13px;display:block;padding-top:3px;margin-bottom:4px}.steps p{font-size:12px;color:var(--muted);line-height:1.65;max-width:390px}.server-address{display:flex;gap:10px;align-items:center;width:fit-content;max-width:100%;margin-top:10px;background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:2px 6px 2px 10px;color:var(--mint)}.server-address code{overflow-wrap:anywhere}.local-note{font-size:11px;color:var(--muted);display:flex;gap:8px;align-items:center}.local-note span{color:var(--mint);font-size:20px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px}.pair-panel{padding:32px 34px;max-width:435px;width:100%;justify-self:end}.device-symbol{width:58px;height:58px;border:1px solid #375047;background:#243c36;border-radius:15px;color:var(--mint);display:grid;place-items:center;margin-bottom:26px}.device-symbol svg{width:46px;height:46px}.muted{color:var(--muted)}.pair-panel h2{margin-bottom:9px}.pair-panel>.muted,.pair-panel h2+.muted{font-size:13px}.pair-panel form{margin-top:24px}label:not(.switch-row):not(.file-drop){display:block;font-size:12px;margin:18px 0 8px;color:var(--text);font-weight:500}input:not([type=checkbox]):not([type=radio]):not([type=file]),select{width:100%;background:var(--ink);border:1px solid #343c4a;border-radius:8px;color:var(--text);padding:12px 13px;min-height:46px;transition:border-color .15s}input::placeholder{color:#6f7b8c;opacity:1}input:hover,select:hover{border-color:#586575!important}.code-input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:23px!important;letter-spacing:2.4px;text-transform:uppercase;height:59px}.field-help{color:var(--muted);font-size:11px;line-height:1.55;margin-top:7px}.button{min-height:44px;border-radius:8px;padding:11px 16px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:600;font-size:12px;transition:background .15s,transform .15s;line-height:1.4}.button:hover:not(:disabled){transform:translateY(-1px)}.button.primary{background:var(--mint);color:var(--ink);border-color:var(--mint)}.button.primary:hover{background:#91efd5}.button.secondary{background:transparent;color:var(--text);border-color:#3b4555}.button.secondary:hover{background:var(--panel-light)}.button.subtle{color:var(--muted);background:transparent}.button.subtle:hover{background:var(--panel-light);color:var(--text)}.button.small{padding:8px 12px;min-height:36px;font-size:11px}.button.full{width:100%;justify-content:space-between;margin-top:22px}.button.danger{background:#4d282d;color:#ffb8b8;border-color:#734047}.icon-button{border:0;background:transparent;color:var(--muted);border-radius:6px;min-height:34px;min-width:34px;display:inline-grid;place-items:center;font-size:20px;padding:2px;flex-shrink:0}.icon-button:hover{background:var(--panel-light);color:var(--text)}.privacy-note{display:flex;align-items:start;gap:11px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line);color:var(--muted);font-size:11px;line-height:1.6}.privacy-note svg{width:20px;flex-shrink:0;stroke:var(--mint);stroke-width:1.5;fill:none}.form-error{margin-top:12px;color:var(--danger);font-size:12px;line-height:1.6}.notice{margin-top:24px;padding:13px 17px;background:#203730;border:1px solid #365e50;border-radius:10px;color:#b4f2df;font-size:13px;overflow-wrap:anywhere}.notice.error{background:#39272c;border-color:#67404a;color:#ffb8b8}.badge{display:inline-flex;align-items:center;gap:7px;font-size:10px;font-weight:600;border-radius:30px;padding:5px 10px;color:var(--mint);background:#253c35;white-space:nowrap}.badge.pending{color:var(--warning);background:#3a3327}.badge.error{color:var(--danger);background:#402b32}.badge.offline{color:var(--muted);background:var(--panel-light)}#pair-pending .badge{margin-bottom:24px}#pair-pending h2{font-size:27px;margin-bottom:18px}#pair-pending .muted{line-height:1.8}#pair-pending strong{color:var(--text);overflow-wrap:anywhere}.pair-countdown{font-size:12px;color:var(--warning);margin-top:22px}#pair-pending .button{justify-content:center}#pair-pending .field-help{margin-top:16px}.footer{display:flex;justify-content:space-between;gap:20px;color:#788496;font-size:10px;padding-top:23px;padding-bottom:30px;border-top:1px solid var(--line)}.footer-separator{margin:0 9px;color:#495363}.page-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;padding:44px 0 28px}.page-heading h1{font-size:34px;margin-bottom:10px}.page-heading .eyebrow{margin-bottom:11px}.page-heading>.muted,.page-heading .muted{font-size:13px}.device-bar{border:1px solid var(--line);background:var(--panel);border-radius:12px;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 22px}.device-bar-info{display:flex;align-items:center;gap:15px;min-width:0}.device-mini{color:var(--mint);font-size:29px}.device-bar strong{font-size:13px;display:block;overflow-wrap:anywhere}.device-meta{display:flex;flex-wrap:wrap;gap:15px;color:var(--muted);font:10px ui-monospace,monospace;margin-top:5px}.device-connection{display:flex;flex-direction:column;align-items:end;flex-shrink:0}.device-connection .field-help{font-size:10px;margin-top:5px}.manager-grid{display:grid;grid-template-columns:minmax(0,1fr) 366px;gap:34px;padding:36px 0 60px;align-items:start}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px;margin-bottom:16px}.section-heading h2{font-size:18px;display:flex;align-items:center;gap:9px}.count{background:var(--panel-light);border-radius:5px;min-width:23px;padding:1px 6px;font-size:10px;color:var(--muted);text-align:center}.section-heading .field-help{margin-top:0}.source-list{display:grid;gap:12px}.source-card{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:20px}.source-top{display:flex;justify-content:space-between;align-items:start;gap:12px}.source-name{font-size:16px;line-height:1.45;overflow-wrap:anywhere}.source-kind{font-size:9px;letter-spacing:1.2px;font-weight:650;color:var(--purple);text-transform:uppercase;margin-bottom:5px;display:block}.source-detail{font-size:11px;color:var(--muted);margin-top:12px;display:flex;gap:14px;flex-wrap:wrap}.source-detail span{display:flex;align-items:center;gap:5px}.source-detail .enabled::before{content:'✓';color:var(--mint)}.source-detail .disabled::before{content:'−';color:var(--muted)}.source-result{font-size:11px;color:var(--muted);margin-top:12px}.source-result.error{color:var(--danger)}.source-actions{margin-top:17px;padding-top:14px;border-top:1px solid var(--line);display:flex;gap:8px;align-items:center;flex-wrap:wrap}.source-actions .button{font-size:10px;min-height:34px;padding:7px 10px}.source-actions .delete-source{color:var(--danger);margin-left:auto}.empty-state{min-height:315px;text-align:center;padding:45px 35px;display:flex;align-items:center;flex-direction:column;justify-content:center}.empty-icon{font-size:34px;color:var(--mint);width:54px;height:54px;display:grid;place-items:center;border-radius:13px;background:#243c36;margin-bottom:20px}.empty-state p{font-size:12px;color:var(--muted);max-width:330px;line-height:1.8;margin:10px 0 22px}.sync-note{display:flex;gap:12px;align-items:start;color:var(--muted);font-size:11px;margin:21px 4px 25px}.sync-note>span{color:var(--mint);font-size:20px;line-height:1.1}.activity{border-top:1px solid var(--line);padding-top:10px}.activity summary,.epg-details summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;font-weight:550;padding:12px 0;color:var(--muted)}summary::-webkit-details-marker{display:none}summary span{font-size:16px}.activity[open] summary span,.epg-details[open] summary span{transform:rotate(180deg)}.activity-row{display:flex;gap:13px;justify-content:space-between;padding:12px 2px;border-top:1px solid var(--line);font-size:11px;align-items:start}.activity-row .muted{font-size:10px;margin-top:3px}.activity-name{overflow-wrap:anywhere}.editor{padding:24px}.editor-heading{display:flex;align-items:center;justify-content:space-between}.editor .eyebrow{font-size:9px;margin-bottom:9px}.editor h2{font-size:22px}.editor .icon-button{font-size:27px}.editor .source-types{border:1px solid var(--line);background:var(--ink);padding:4px;display:flex;border-radius:9px;margin:23px 0 19px;gap:3px}.source-types label{flex:1;margin:0!important;cursor:pointer;text-align:center;font-size:11px!important;position:relative}.source-types input{position:absolute;opacity:0;width:100%;height:100%;left:0;top:0;margin:0;cursor:pointer}.source-types label>span{display:block;padding:9px 5px;color:var(--muted);border-radius:6px}.source-types input:checked+span{background:#294038;color:var(--mint)}.source-types input:focus-visible+span{outline:2px solid var(--mint);outline-offset:1px}.source-types input:disabled{cursor:default}.editor label:not(.switch-row):not(.file-drop){font-size:11px;margin-top:16px}.editor input:not([type=checkbox]):not([type=radio]):not([type=file]),.editor select{font-size:12px;min-height:42px;padding:10px 12px}.editor .field-help{font-size:10px}.editor .full{font-size:11px}.editor-footnote{font-size:10px;line-height:1.7;color:var(--muted);text-align:center;margin-top:14px}.epg-details{margin-top:21px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.epg-details summary{font-size:11px;color:var(--text);padding:14px 0}.epg-controls{padding:0 0 17px}.switch-row{display:flex;gap:10px;align-items:center;justify-content:space-between;position:relative;margin:5px 0 17px;cursor:pointer}.switch-row>span:first-child{flex:1}.switch-row strong{font-size:11px;display:block}.switch-row small{font-size:9px;color:var(--muted);display:block;margin-top:4px}.switch-row input{position:absolute;right:0;width:34px;height:24px;opacity:0;cursor:pointer}.switch-track{display:block;width:32px;height:19px;background:#3a4351;border-radius:15px;border:1px solid #556075;flex-shrink:0;pointer-events:none}.switch-track:after{content:'';display:block;width:13px;height:13px;background:#9ca7b8;border-radius:50%;margin:2px;transition:transform .15s}.switch-row input:checked+.switch-track{background:var(--mint);border-color:var(--mint)}.switch-row input:checked+.switch-track:after{transform:translateX(12px);background:var(--ink)}.switch-row input:focus-visible+.switch-track{outline:2px solid var(--mint);outline-offset:4px}.optional{font-size:9px;color:var(--muted);font-weight:400;float:right}.file-drop{border:1px dashed #4b605d;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;padding:23px 15px;border-radius:9px;background:#172822;margin-top:17px;cursor:pointer}.file-drop input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.file-drop:focus-within{outline:3px solid var(--mint);outline-offset:4px}.file-drop strong{font-size:11px;overflow-wrap:anywhere;max-width:100%}.file-drop>span:last-of-type{font-size:9px;color:var(--muted);margin-top:7px}.upload-icon{font-size:25px;color:var(--mint);line-height:1.3;margin-bottom:8px}.file-drop.dragover{background:#294038;border-color:var(--mint)}.edit-hint{font-size:10px;color:var(--warning);line-height:1.7;background:#332e25;border:1px solid #4d4431;padding:10px 12px;border-radius:7px;margin-top:17px}.skip{position:absolute;top:-100px;left:20px;padding:10px;background:var(--mint);color:var(--ink);z-index:100}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}dialog{color:var(--text);background:var(--panel);border:1px solid #485464;border-radius:15px;max-width:450px;width:calc(100% - 40px);padding:28px}dialog::backdrop{background:rgba(0,0,0,.72)}dialog p{font-size:13px;line-height:1.75;margin-top:15px;overflow-wrap:anywhere}dialog .eyebrow{font-size:9px}.dialog-actions{display:flex;justify-content:end;gap:10px;margin-top:25px}dialog .button{font-size:11px}
@media(min-width:1400px){.pair-layout{min-height:760px}.pair-intro h1{font-size:49px}}@media(max-width:1000px){.shell{padding-left:30px;padding-right:30px}.pair-layout{gap:40px;grid-template-columns:1fr 1fr}.pair-intro h1{font-size:36px}.pair-panel{padding:28px 25px}.manager-grid{gap:22px;grid-template-columns:minmax(0,1fr) 330px}.editor{padding:21px}.page-heading h1{font-size:30px}.source-card{padding:17px}.source-top{flex-wrap:wrap}}@media(max-width:760px){.header{height:80px;gap:18px}.header-label{font-size:11px;padding-left:17px}.header-device{display:none}.header #logout{margin-left:auto}.shell{padding-left:22px;padding-right:22px}.pair-layout{display:flex;flex-direction:column;gap:32px;padding:39px 0 45px;align-items:stretch;min-height:unset}.pair-intro h1{font-size:38px}.intro-copy{font-size:14px;max-width:470px}.pair-intro .steps{margin:28px 0 0;gap:20px}.local-note{display:none}.steps p{max-width:none}.pair-panel{max-width:none;padding:28px;align-self:stretch}.device-symbol{margin-bottom:21px}.footer{flex-direction:column;gap:9px;font-size:9px;padding-top:19px;padding-bottom:23px}.page-heading{padding-top:32px;align-items:start}.page-heading .eyebrow{font-size:9px}.page-heading h1{font-size:28px}.page-heading .button{font-size:10px;padding:9px 11px;min-height:40px}.page-heading .muted{font-size:12px}.device-bar{padding:15px 17px}.device-meta{font-size:9px;gap:7px}.device-connection .field-help{font-size:9px}.manager-grid{display:flex;flex-direction:column;gap:27px;padding:24px 0 40px}.sources-column,.editor{width:100%}.editor{padding:26px}.source-top{flex-wrap:nowrap}.source-card{padding:19px}.empty-state{min-height:235px;padding:28px}.empty-state p{max-width:390px}.section-heading{margin-bottom:10px}.sync-note{font-size:10px}.source-actions .button{min-height:36px}.editor input:not([type=checkbox]):not([type=radio]):not([type=file]),.editor select{font-size:14px;min-height:46px}.editor label:not(.switch-row):not(.file-drop){font-size:12px}.editor .full{font-size:12px}.switch-row strong{font-size:12px}.switch-row small{font-size:11px}.editor .field-help{font-size:11px}.editor-footnote{font-size:11px}.epg-details summary{font-size:12px}}@media(max-width:420px){.shell{padding-left:17px;padding-right:17px}.brand{font-size:18px;gap:8px}.brand img{width:32px;height:32px}.brand-light{font-size:15px}.header-label{font-size:10px;padding-left:13px}.header{gap:13px}.pair-intro h1{font-size:34px}.pair-panel{padding:24px}.page-heading{flex-wrap:wrap;gap:16px}.page-heading h1{font-size:28px}.device-bar{align-items:start}.device-bar-info{gap:9px}.device-mini{font-size:23px}.device-bar strong{font-size:12px}.device-meta{flex-direction:column;gap:4px}.device-connection .field-help{max-width:100px;text-align:right}.source-top{flex-wrap:wrap}.section-heading .field-help{font-size:10px;text-align:right}.source-actions{gap:3px}.source-actions .button{font-size:10px;padding:7px}.editor{padding:21px}.dialog-actions{flex-wrap:wrap}dialog{padding:23px}}
.activity-result{display:flex;flex-direction:column;align-items:end;gap:9px}.activity-result .button{font-size:10px;padding:6px 9px;min-height:33px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.device-number{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin-top:5px;font-size:11px;color:var(--muted)}.device-number>span{font:600 20px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:1px;color:var(--mint)}
@media(max-width:420px){.device-bar{flex-wrap:wrap}.device-number>span{font-size:18px}.device-connection{margin-left:auto}.pair-intro .steps{gap:17px}.steps li{gap:13px}}
