:root{--color-paper:#f7f9fc;--color-surface:#ffffff;--color-surface-soft:#f0f4f9;--color-ink:#1d293b;--color-muted:#627087;--color-rule:#e0e6ee;--color-rule-strong:#b4c1d3;--color-accent:#245ada;--color-accent-hover:#1749c4;--color-accent-ink:#ffffff;--color-accent-soft:#edf3ff;--color-focus:#4068c0;--color-sidebar:#152035;--color-sidebar-text:#d4deed;--color-sidebar-muted:#a7b5cb;--color-sidebar-rule:#344056;--color-sidebar-active:#293b58;--color-success:#17633d;--color-success-soft:#edf8f1;--color-error:#aa2b30;--color-error-soft:#fff1f1;--color-backdrop:#14213d66;--font-body:"PingFang SC","Microsoft YaHei",sans-serif;--font-display:"Avenir Next","PingFang SC",sans-serif;--font-mono:"SFMono-Regular","Menlo",monospace;--radius-sm:6px;--radius-md:10px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--ease-out:cubic-bezier(.16,1,.3,1);--dur-short:140ms}*{box-sizing:border-box}body,html{margin:0;overflow-x:clip}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}a,button,select,summary{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}a.button,button{white-space:nowrap}button{cursor:pointer}button:disabled,input:disabled{opacity:.5;cursor:not-allowed}a{color:inherit;text-decoration:none}button{border:0}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}input,select,textarea{color:var(--color-ink);background:var(--color-surface);border:1px solid var(--color-rule-strong);border-radius:var(--radius-sm);width:100%;min-width:0;padding:10px 12px;min-height:44px;outline-offset:2px}input::placeholder,textarea::placeholder{color:var(--color-muted)}input[aria-invalid=true]{border-color:var(--color-error)}textarea{resize:vertical}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-display);font-style:normal;overflow-wrap:anywhere;min-width:0}h1{font-size:30px;line-height:1.3;letter-spacing:-.025em;font-weight:650}h2{font-weight:600}h2,h3{font-size:15px}code,kbd,pre{font-family:var(--font-mono)}svg{flex-shrink:0}.field-help,.muted{color:var(--color-muted)}.accent-text{color:var(--color-accent)}.error-text{color:var(--color-error)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:clip;clip-path:inset(50%);white-space:nowrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 14px;background:var(--color-surface);color:var(--color-ink);border:1px solid var(--color-rule);border-radius:var(--radius-sm);font-weight:500;line-height:1.5;transition:background var(--dur-short),border-color var(--dur-short)}.button.primary{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent)}.button:active{transform:translateY(1px)}.full{width:100%}.icon-button{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;color:var(--color-muted);background:transparent;border-radius:var(--radius-sm)}.text-button{background:transparent;color:var(--color-accent);padding:8px;font-weight:500;min-height:44px}.app-shell{min-height:100dvh}.sidebar{background:var(--color-sidebar);color:var(--color-sidebar-text);padding:20px 16px 0}.brand{display:flex;align-items:center;gap:11px;min-width:0}.brand-symbol{height:42px;width:42px;background:var(--color-accent);color:var(--color-accent-ink);border-radius:11px;display:grid;place-items:center;flex-shrink:0}.brand strong{color:var(--color-surface);font-size:16px;font-weight:600;letter-spacing:.02em}.brand small{display:block;font-size:11px;color:var(--color-sidebar-muted);margin-top:1px}.nav-label{display:none}.sidebar nav{display:flex;gap:4px;margin-top:20px;padding-bottom:12px}.nav-item{display:flex;align-items:center;gap:9px;min-height:44px;padding:10px 12px;background:transparent;color:var(--color-sidebar-muted);border-radius:var(--radius-sm);white-space:nowrap;font-size:13px}.nav-item.selected{background:var(--color-sidebar-active);color:var(--color-surface)}.nav-arrow,.sidebar-bottom{display:none}.workspace{min-width:0}.topbar{min-height:62px;background:var(--color-surface);color:var(--color-muted);padding-inline:20px;border-bottom:1px solid var(--color-rule);display:flex;align-items:center;justify-content:space-between;font-size:12px}.topbar>span{display:inline-flex;align-items:center;gap:10px}.topbar-label{font-size:11px}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--color-success)}.mobile-logout{display:inline-flex}@media (min-width:60rem){.mobile-logout{display:none}}.main{padding:26px 16px 0;max-width:1680px;margin:auto}.page-heading{display:flex;flex-direction:column;gap:20px;margin-bottom:26px}.section-kicker{display:flex;align-items:center;gap:8px;color:var(--color-muted);font-size:10px;font-weight:600;letter-spacing:.12em;margin-bottom:9px}.page-heading p{color:var(--color-muted);margin-top:9px;font-size:13px}.heading-actions{display:flex;gap:8px;align-items:center}.stats-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:20px 0 24px;border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule);margin-bottom:28px;gap:20px}.stat{display:flex;flex-direction:column;gap:7px}.stat>span{color:var(--color-muted);font-size:12px}.stat strong{font-family:var(--font-display);font-size:30px;line-height:1.2;font-weight:550;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.content-grid{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:24px}.code-panel,.create-panel{background:var(--color-surface);color:var(--color-ink);border:1px solid var(--color-rule);border-radius:var(--radius-md);min-width:0}.panel-header{justify-content:space-between;padding:19px 20px;border-bottom:1px solid var(--color-rule);gap:12px}.panel-header,.panel-header h2{display:flex;align-items:center}.panel-header h2{gap:9px}.panel-header h2>span{font-size:12px;font-weight:500;padding:0 7px;border:1px solid var(--color-rule);border-radius:4px;color:var(--color-muted)}.quiet-label{font-size:11px;color:var(--color-muted);white-space:nowrap}.table-toolbar{display:flex;flex-direction:column;gap:10px;padding:16px}.search{display:flex;align-items:center;position:relative;min-width:0}.search>svg{position:absolute;left:12px;color:var(--color-muted)}.search input{padding-left:37px;padding-right:56px;border-color:var(--color-rule)}.search kbd{display:none;position:absolute;right:12px;font-size:10px;color:var(--color-muted);background:var(--color-surface-soft);border:1px solid var(--color-rule);border-radius:3px;padding:0 4px}.filter{display:flex;align-items:center;position:relative;min-width:125px}.filter>svg{position:absolute;left:12px;color:var(--color-muted);pointer-events:none}.filter select{padding-left:35px;border-color:var(--color-rule);font-size:12px}.codes-table{width:100%;border-collapse:collapse}.codes-table thead{display:none}.codes-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:16px;gap:10px;border-top:1px solid var(--color-rule);align-items:center}.codes-table td{min-width:0;font-size:12px}.codes-table .date-cell,.codes-table td:first-child{grid-column:1/-1}.codes-table td[data-label]:before{content:attr(data-label);display:inline-block;color:var(--color-muted);margin-right:10px}.code-link{display:inline-block;max-width:100%;word-break:break-all;white-space:normal;text-align:left;background:transparent;color:var(--color-ink);font-family:var(--font-mono);font-size:11px;font-weight:600;padding:3px 0}.row-note{display:block;color:var(--color-muted);margin-top:5px;overflow:clip;text-overflow:ellipsis;max-width:250px;font-size:11px}.badge,.row-note{white-space:nowrap}.badge{display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:10px;line-height:20px;padding:1px 7px;border-radius:4px}.badge>span{width:4px;height:4px;border-radius:50%;background:currentColor}.ready-badge{color:var(--color-accent);background:var(--color-accent-soft)}.used-badge{color:var(--color-success);background:var(--color-success-soft)}.disabled-badge{color:var(--color-muted);background:var(--color-surface-soft)}.device-count{font-family:var(--font-mono);font-size:12px}.date-cell,.device-count>span{color:var(--color-muted)}.date-cell{font-size:11px!important;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.row-actions{display:flex;gap:0;grid-column:1/-1;justify-content:flex-end}.row-actions .icon-button{width:44px}.pagination{justify-content:space-between;padding:10px 16px;border-top:1px solid var(--color-rule);color:var(--color-muted);font-size:11px}.pagination,.pagination>div{display:flex;align-items:center}.pagination>div{gap:3px}.pagination>div>span{min-width:45px;text-align:center;font-family:var(--font-mono)}.form-stack{display:flex;flex-direction:column;gap:17px}.detail-note,.form-stack label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:500}.form-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.create-panel .form-stack{padding:0 20px 20px;gap:15px}.perpetual-label{display:flex;align-items:center;gap:9px;margin:20px;padding:11px 12px;background:var(--color-accent-soft);color:var(--color-accent);border-radius:var(--radius-sm);font-size:12px}.field-help{line-height:1.65}.field-help,.optional{font-size:11px;font-weight:400}.optional{color:var(--color-muted)}.advanced{font-size:11px}.advanced summary{min-height:30px;cursor:pointer;color:var(--color-muted)}.advanced label{margin-top:6px}.form-feedback{font-size:12px}.create-panel .form-feedback:empty,.form-feedback{min-height:20px}.usage-note{display:flex;gap:10px;padding:17px 20px;border-top:1px solid var(--color-rule);color:var(--color-muted);font-size:11px}.usage-note>svg{margin-top:2px}.bottom-note{display:flex;gap:9px;color:var(--color-muted);padding:20px 0 0;align-items:flex-start;font-size:11px}.created-result{margin:0 20px 20px;border-top:1px solid var(--color-rule);padding-top:16px}.created-result>div:first-child{display:flex;gap:7px;align-items:center;color:var(--color-success);font-size:12px}.created-codes{max-height:160px;overflow-y:auto;margin:12px 0;display:flex;flex-direction:column;gap:7px}.created-codes code{font-size:10px;word-break:break-all;-webkit-user-select:all;user-select:all}.empty-state{min-height:285px;padding:40px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center}.empty-state>svg{color:var(--color-muted);margin-bottom:2px}.empty-state h3{font-weight:500}.empty-state p{font-size:12px;color:var(--color-muted);max-width:36ch}.empty-state .button{margin-top:4px}.skeleton-list{padding:8px 20px}.skeleton-row{height:66px;border-bottom:1px solid var(--color-rule);background:var(--color-surface-soft);margin:10px 0;opacity:.6;border-radius:4px}.notice{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--color-accent-soft);color:var(--color-ink);padding:14px 16px;border-radius:var(--radius-sm);font-size:12px;margin-bottom:20px}.error-notice{background:var(--color-error-soft);color:var(--color-error)}.activation-list{padding:0 20px}.activation-row{padding:22px 0;display:flex;flex-wrap:wrap;gap:14px;border-bottom:1px solid var(--color-rule)}.activation-row:last-child{border:0}.device-icon{width:46px;height:46px;border:1px solid var(--color-rule);color:var(--color-muted);border-radius:var(--radius-sm);display:grid;place-items:center}.activation-row>div{min-width:0;display:flex;flex-direction:column}.activation-row code{font-size:10px;color:var(--color-muted);margin:4px 0;overflow-wrap:anywhere}.activation-row>div>span:not(.badge){color:var(--color-muted);font-size:11px;overflow-wrap:anywhere}.activation-meta{gap:7px;align-items:flex-start;margin-left:60px}.activation-meta time{color:var(--color-muted);font-size:11px}.settings-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}.guide{padding:24px}.guide h2{font-size:17px;margin-bottom:20px}.guide h3{margin:24px 0 12px}.guide ol{padding-left:20px;color:var(--color-muted);line-height:2.2;font-size:13px}.guide pre{font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--color-surface-soft);color:var(--color-ink);padding:16px;border:1px solid var(--color-rule);border-radius:var(--radius-sm);margin:16px 0}.guide p{font-size:12px}.guide .notice{margin:20px 0 12px}.endpoint{font-size:12px;color:var(--color-accent)}.key-id{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--color-muted)}.key-id code{color:var(--color-ink)}.public-key{font-size:9px!important}.footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:42px;padding:20px 0;border-top:1px solid var(--color-rule);font-size:10px;color:var(--color-muted)}.footer>span>span{padding:0 7px;color:var(--color-rule-strong)}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,8px);z-index:100;display:flex;gap:9px;align-items:center;background:var(--color-sidebar);color:var(--color-surface);border-radius:var(--radius-sm);padding:12px 18px;opacity:0;pointer-events:none;max-width:calc(100% - 32px);font-size:12px;transition:opacity var(--dur-short),transform var(--dur-short)}.toast.visible{opacity:1;transform:translate(-50%)}.detail-dialog{position:fixed;inset:0;margin:auto;height:fit-content;max-height:min(85dvh,800px);width:min(600px,calc(100% - 32px));background:var(--color-surface);color:var(--color-ink);padding:24px;border:1px solid var(--color-rule);border-radius:var(--radius-md);overflow-y:auto}.detail-dialog::backdrop{background:var(--color-backdrop)}.dialog-heading{display:flex;gap:10px;justify-content:space-between;align-items:start}.dialog-heading h2{font-family:var(--font-mono);font-size:15px;overflow-wrap:anywhere}.dialog-heading .icon-button{margin-top:-8px;margin-right:-8px}.detail-summary{display:flex;flex-wrap:wrap;gap:10px 16px;font-size:11px;color:var(--color-muted);padding:16px 0 22px}.detail-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 26px}.detail-devices>div{display:flex;gap:12px;padding:16px 0;border-bottom:1px solid var(--color-rule)}.detail-devices>div>div{display:flex;flex-direction:column;min-width:0;gap:4px}.detail-devices code{font-size:10px;overflow-wrap:anywhere;color:var(--color-muted)}.detail-devices span{color:var(--color-muted);font-size:11px}.disable-section{display:flex;align-items:center;gap:16px;justify-content:space-between;border-top:1px solid var(--color-rule);margin-top:24px;padding-top:20px}.disable-section strong{font-size:12px}.disable-section p{font-size:11px;color:var(--color-muted);margin-top:4px}.danger-button{color:var(--color-error);border-color:var(--color-rule)}.login-shell{min-height:100dvh;flex-direction:column;justify-content:center;padding:32px 20px}.login-brand,.login-shell{display:flex;align-items:center}.login-brand{gap:12px;align-self:center;margin-bottom:40px}.login-brand strong{display:block;font-size:17px}.login-brand span{font-size:11px;color:var(--color-muted)}.login-panel{width:100%;max-width:430px}.login-panel h1{font-size:29px}.login-panel>p{font-size:12px;margin-top:12px}.login-panel form{margin-top:30px}.login-panel .setup-hint{border-top:1px solid var(--color-rule);margin-top:24px;padding-top:20px;line-height:1.9}.login-foot,.login-panel .setup-hint{font-size:11px;color:var(--color-muted)}.login-foot{display:flex;align-items:center;gap:7px;margin-top:32px}@media (hover:hover){.button:hover:not(:disabled){background:var(--color-surface-soft);border-color:var(--color-rule-strong)}.button.primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.icon-button:hover:not(:disabled){background:var(--color-surface-soft);color:var(--color-ink)}.code-link:hover{color:var(--color-accent)}input:hover:not(:disabled),textarea:hover{background:var(--color-paper)}.nav-item:hover{background:var(--color-sidebar-active);color:var(--color-surface)}}@media (min-width:40rem){.main{padding:32px 28px 0}.topbar{padding-inline:28px}.page-heading{flex-direction:row;justify-content:space-between;align-items:center}.stats-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.stat+.stat{border-left:1px solid var(--color-rule);padding-left:24px}.table-toolbar{flex-direction:row;justify-content:space-between}.search{flex:1 1;max-width:360px}.search kbd{display:block}.activation-row{flex-wrap:nowrap}.activation-meta{margin-left:auto;align-items:flex-end;text-align:right}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:60rem){.app-shell{display:grid;grid-template-columns:214px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;padding:28px 16px 0}.nav-label{display:block;color:var(--color-sidebar-muted);font-size:10px;margin:44px 12px 12px}.sidebar nav{flex-direction:column;gap:8px;margin-top:0}.nav-item{font-size:13px}.nav-arrow{display:block;margin-left:auto}.sidebar-bottom{display:block;margin-top:auto}.offline-mini{display:flex;gap:10px;align-items:start;padding:16px 10px 24px}.offline-mini strong{display:block;color:var(--color-sidebar-text);font-size:11px;font-weight:500}.offline-mini span{color:var(--color-sidebar-muted);font-size:10px}.admin-row{border-top:1px solid var(--color-sidebar-rule);padding:18px 0;display:flex;gap:10px;align-items:center}.avatar{width:30px;height:30px;display:grid;place-items:center;background:var(--color-sidebar-active);color:var(--color-sidebar-text);border-radius:50%;font-size:11px}.admin-name{min-width:0;overflow-wrap:anywhere;font-size:11px}.admin-name small{display:block;color:var(--color-sidebar-muted);font-size:10px}.sidebar-logout{margin-left:auto;color:var(--color-sidebar-muted)}.content-grid{grid-template-columns:minmax(0,1fr) 300px}.create-panel{position:sticky;top:24px}}@media (min-width:80rem){.main{padding:36px 36px 0}.topbar{padding-inline:36px}.content-grid{grid-template-columns:minmax(0,1fr) 310px}.codes-table thead{display:table-header-group}.codes-table tr{display:table-row;padding:0}.codes-table th{text-align:left;font-size:10px;font-weight:500;color:var(--color-muted);background:var(--color-paper);padding:11px 12px;white-space:nowrap}.codes-table td{padding:16px 12px}.codes-table td:first-child,.codes-table th:first-child{padding-left:20px}.codes-table td[data-label]:before{display:none}.codes-table .row-actions{display:table-cell;white-space:nowrap;padding-right:10px;padding-left:0}.row-actions .icon-button{width:32px;min-height:44px}.code-link{font-size:10px}.codes-table .date-cell{font-size:10px!important;max-width:100px}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important;scroll-behavior:auto!important}}.family-shell{min-height:100dvh}.family-header{max-width:1180px;margin:auto;padding:18px 20px;justify-content:space-between;gap:14px;border-bottom:1px solid var(--color-rule)}.family-brand,.family-header{display:flex;align-items:center}.family-brand{gap:10px;min-width:0}.family-brand .brand-symbol{width:38px;height:38px;border-radius:9px}.family-brand strong{display:block;font-size:15px;white-space:nowrap}.family-brand small{display:block;font-size:10px;color:var(--color-muted)}.family-header nav{display:flex;align-items:center;gap:24px}.family-header nav a{display:inline-flex;gap:6px;align-items:center;min-height:44px;font-size:12px;white-space:nowrap}.family-main,.guide-main{max-width:1180px;margin:auto;padding:28px 20px 0}.family-heading{display:flex;gap:16px;justify-content:space-between;align-items:start;margin-bottom:26px}.family-heading h1{font-size:30px}.family-heading .section-kicker{letter-spacing:.03em;font-size:10px}.family-heading p{color:var(--color-muted);font-size:12px;margin-top:9px}.family-heading>.button{margin-top:22px;flex-shrink:0;font-size:12px;padding-inline:11px}.pair-card{background:var(--color-surface);color:var(--color-ink);border:1px solid var(--color-rule);border-radius:var(--radius-md);padding:22px 18px;display:grid;gap:24px;margin-bottom:24px}.pair-intro{display:flex;align-items:start;gap:13px}.pair-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--radius-md);background:var(--color-accent-soft);color:var(--color-accent);flex-shrink:0}.pair-intro h2{font-size:18px;margin-bottom:7px}.pair-intro p{font-size:12px;color:var(--color-muted);max-width:40ch}.inline-link{display:inline-flex;align-items:center;gap:6px;color:var(--color-accent);font-size:12px;min-height:44px}.pair-form>label{display:block;font-size:12px;margin-bottom:7px}.pair-form>div:first-of-type{display:flex;gap:8px}.pair-form input{min-width:0;width:100%;font-family:var(--font-mono);letter-spacing:.12em}.pair-form .button{flex-shrink:0;font-size:12px}.pair-form>p{margin-top:8px}.pair-wait{background:var(--color-accent-soft);color:var(--color-ink);padding:16px;border-radius:var(--radius-sm)}.pair-wait p{font-size:12px;margin-top:8px}.first-install{border-top:1px solid var(--color-rule);padding:28px 0;display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:center}.first-install h2{font-size:22px;margin-bottom:12px}.first-install p{color:var(--color-muted);font-size:13px;max-width:46ch}.first-install img{width:100%;height:auto;border-radius:var(--radius-md)}.family-action-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.family-action-row .button{font-size:12px}.family-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:22px}.tv-list{display:flex;flex-direction:column;gap:9px;min-width:0}.tv-option{display:flex;align-items:center;gap:12px;text-align:left;background:var(--color-surface);color:var(--color-ink);border:1px solid var(--color-rule);padding:16px;border-radius:var(--radius-sm)}.tv-option.active{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-ink)}.tv-option>span{min-width:0;flex:1 1}.tv-option strong{display:block;font-size:13px;overflow:clip;text-overflow:ellipsis}.tv-option small{display:flex;align-items:center;gap:6px;color:var(--color-muted);font-size:11px;margin-top:4px}.offline-dot,.online-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--color-success)}.offline-dot{background:var(--color-muted)}.browser-saved{display:flex;align-items:start;gap:8px;padding:12px 2px;color:var(--color-muted);font-size:11px}.tv-detail{min-width:0;background:var(--color-surface);color:var(--color-ink);border:1px solid var(--color-rule);border-radius:var(--radius-md);padding:20px 16px 0}.tv-detail-heading{display:flex;gap:12px;align-items:start;justify-content:space-between;margin-bottom:18px}.tv-detail-heading h2{font-size:20px}.tv-detail-heading p{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--color-muted);margin-top:9px}.tv-detail-heading .button{font-size:11px}.device-checks{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;border-block:1px solid var(--color-rule);padding:14px 0;margin-bottom:24px;font-size:11px;color:var(--color-muted)}.device-checks span{display:inline-flex;align-items:center;gap:7px}.phone-settings fieldset{border:0;padding:0;margin:0;min-width:0}.phone-settings legend{font-size:17px;font-weight:600;margin-bottom:18px}.settings-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.settings-fields label{display:flex;flex-direction:column;gap:7px;font-size:12px}.settings-fields small{color:var(--color-muted);font-size:11px}.phone-settings h3{font-size:14px;margin:26px 0 8px}.subject-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.subject-options label{display:flex;align-items:center;gap:7px;min-height:44px;border:1px solid var(--color-rule);padding:8px 10px;border-radius:var(--radius-sm);font-size:12px}.app-options input,.subject-options input,.switch-row>input,.timing-options input{width:16px;height:16px;min-height:0;padding:0;accent-color:var(--color-accent);flex-shrink:0}.subject-options small{color:var(--color-muted);font-size:10px;white-space:nowrap;margin-left:auto}.chosen{border-color:var(--color-accent)!important;background:var(--color-accent-soft);color:var(--color-ink)}.timing-options{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.timing-options label{display:flex;align-items:start;gap:10px;border:1px solid var(--color-rule);border-radius:var(--radius-sm);padding:14px}.timing-options input{margin-top:4px}.timing-options strong{font-size:12px}.timing-options p{color:var(--color-muted);font-size:11px;margin-top:4px}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:22px 0;border-bottom:1px solid var(--color-rule)}.switch-row strong{display:block;font-size:12px;font-weight:500}.switch-row small{display:block;color:var(--color-muted);font-size:11px;margin-top:4px}.app-selection{margin-top:18px}.app-selection summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;min-height:44px;font-weight:500;font-size:12px}.app-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.app-options label{display:flex;align-items:center;gap:7px;min-height:44px;font-size:11px}.app-options span{overflow-wrap:anywhere}.settings-save{margin-top:22px;display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--color-rule);padding-top:20px}.settings-save>span{font-size:11px;color:var(--color-muted)}.phone-activation{margin-top:26px;border-top:1px solid var(--color-rule);padding-top:24px;display:flex;flex-direction:column;gap:12px}.phone-activation h3{font-size:14px}.phone-activation p{font-size:11px;color:var(--color-muted);margin-top:7px}.phone-activation input{font-family:var(--font-mono);font-size:11px}.tv-forget{border-top:1px solid var(--color-rule);margin-top:26px;padding:15px 0;display:flex;flex-direction:column;gap:6px;align-items:start}.tv-forget p{font-size:10px;color:var(--color-muted)}.tv-forget .text-button{display:inline-flex;gap:6px;align-items:center;padding-left:0;font-size:11px}.family-feedback{justify-content:flex-start;font-size:12px}.family-bottom{gap:10px;align-items:start;padding-top:24px;font-size:11px}.family-bottom,.family-footer{display:flex;border-top:1px solid var(--color-rule);color:var(--color-muted);margin-top:30px}.family-footer{flex-wrap:wrap;align-items:center;gap:12px 24px;padding:20px 0;font-size:10px}.family-footer small{font-size:10px;margin-left:auto}.family-loading{padding:20px 0;color:var(--color-muted);font-size:12px}.guide-main{max-width:1040px}.guide-intro{padding:15px 0 26px}.guide-intro h1{font-size:clamp(28px,4vw,42px);max-width:22ch}.guide-intro>p{font-size:14px;color:var(--color-muted);line-height:1.9;max-width:60ch;margin-top:18px}.guide-route{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:24px;font-size:11px;color:var(--color-muted)}.guide-route>span{display:inline-flex;align-items:center;gap:6px}.guide-anchor{display:flex;gap:10px;flex-wrap:wrap;border-block:1px solid var(--color-rule);padding:8px 0;background:var(--color-paper);color:var(--color-muted);position:sticky;top:0;z-index:3}.guide-anchor a{display:flex;align-items:center;min-height:44px;padding:0 9px;font-size:12px;white-space:nowrap}.tutorial-section{padding:44px 0;border-bottom:1px solid var(--color-rule);scroll-margin-top:80px}.tutorial-heading h2{font-size:25px;line-height:1.4}.tutorial-heading>p{color:var(--color-muted);font-size:13px;line-height:1.9;max-width:62ch;margin-top:12px}.tutorial-figure{margin:24px 0}.tutorial-figure img{display:block;width:100%;height:auto;border-radius:var(--radius-md)}.tutorial-figure figcaption{font-size:10px;color:var(--color-muted);margin-top:9px;line-height:1.8}.tutorial-steps{padding:0;margin:28px 0 0;list-style:none;display:flex;flex-direction:column;gap:28px}.tutorial-steps li{display:flex;align-items:start;gap:14px}.tutorial-steps li>span{display:grid;place-items:center;border:1px solid var(--color-rule-strong);border-radius:50%;width:28px;height:28px;color:var(--color-accent);font-size:12px;flex-shrink:0}.tutorial-steps li>div{min-width:0}.tutorial-steps h3{font-size:15px;margin:2px 0 9px}.tutorial-steps p{font-size:12px;color:var(--color-muted);line-height:1.9;max-width:68ch}.tutorial-steps p+p{margin-top:8px}.tutorial-steps .button{margin-top:14px;font-size:12px}.tutorial-note{display:flex;align-items:start;gap:12px;background:var(--color-accent-soft);color:var(--color-ink);padding:18px;border-radius:var(--radius-sm);margin-top:26px;font-size:12px;line-height:1.9}.tutorial-note svg{margin-top:3px;color:var(--color-accent)}.tutorial-columns{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}.tutorial-columns h3{font-size:14px;margin:12px 0 9px}.tutorial-columns p{color:var(--color-muted);font-size:12px;line-height:1.9}.tutorial-columns svg{color:var(--color-accent)}.tutorial-faq{margin-top:24px;border-top:1px solid var(--color-rule)}.tutorial-faq details{border-bottom:1px solid var(--color-rule);padding:8px 0}.tutorial-faq summary{cursor:pointer;font-size:13px;font-weight:500;min-height:44px;padding-block:12px}.tutorial-faq p{font-size:12px;color:var(--color-muted);padding:6px 0 16px;line-height:1.9;max-width:70ch}.advanced-guide pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;padding:14px;background:var(--color-surface-soft);color:var(--color-ink);border:1px solid var(--color-rule);border-radius:var(--radius-sm);margin:14px 0}.tutorial-sources{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;color:var(--color-muted);font-size:11px;margin-top:24px}.tutorial-sources a{color:var(--color-accent);min-height:44px;display:inline-flex;align-items:center}@media (min-width:40rem){.family-header{padding:22px 30px}.family-main,.guide-main{padding:40px 30px 0}.family-heading h1{font-size:34px}.family-heading p{font-size:14px}.pair-card{padding:28px;gap:32px}.first-install,.pair-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.first-install{gap:40px}.settings-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.subject-options{grid-template-columns:repeat(3,minmax(0,1fr))}.timing-options{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-save,.tv-forget{flex-direction:row;justify-content:space-between;align-items:center}.tutorial-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}.tutorial-heading h2{font-size:30px}}@media (min-width:60rem){.family-workspace{grid-template-columns:230px minmax(0,1fr);gap:28px}.tv-list{align-self:start;position:sticky;top:24px}.tv-detail{padding:26px 28px 0}.tutorial-section{padding:54px 0}}.question-bank-download{align-items:start}.question-bank-download .tutorial-steps{margin:0}.question-bank-download .template-help{font-size:11px;line-height:1.8;margin-top:14px;color:var(--color-muted)}@media(min-width:40rem){.question-bank-download{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}}.public-downloads{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 20px;background:var(--color-paper);border-bottom:1px solid var(--color-rule);padding:12px 0 16px;margin-bottom:26px}.public-download-actions{display:flex;flex-wrap:wrap;gap:8px}.public-download-actions .button{font-size:12px;padding-inline:12px}.public-downloads p{font-size:11px;color:var(--color-muted);margin:0}.guide-anchor{position:static}.tutorial-section{scroll-margin-top:150px}.advanced-guide>summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:14px}.advanced-guide[open]>.tutorial-heading{margin-top:24px}.pair-intro p+p{margin-top:12px}.pair-card{grid-template-columns:minmax(0,1fr)}.pair-intro p{max-width:72ch}.family-heading p,.first-install p,.pair-intro p,.tutorial-steps p{font-size:14px;line-height:1.85}