:root{--color-bg-base:#0c0d16;--color-bg:#161826;--color-surface-sunken:#1b1d2c;--color-surface:#232532;--color-surface-accent:#2b2741;--color-border:#3f424d;--color-border-strong:#595d6c;--color-border-focus:#9184d9;--color-text-primary:#e9e9ed;--color-text-secondary:#bfbfc5;--color-text-tertiary:#8a8b93;--color-text-disabled:#666772;--color-primary:#9184d9;--color-primary-pressed:#b5abfc;--color-primary-text:#d2cefd;--color-primary-tint:#9184d929;--color-primary-glow:#9184d9b3;--color-on-primary:#161826;--color-success:#7bbf9a;--color-success-tint:#7bbf9a24;--color-warning:#d4ae6a;--color-warning-tint:#d4ae6a24;--color-error:#dd7e7b;--color-error-text:#f0b9b7;--color-error-tint:#dd7e7b1f;--color-live:#9184d9;--color-neutral-100:#f3f5fe;--color-neutral-200:#e4e7f5;--color-neutral-300:#cfd3e5;--color-neutral-400:#b2b6ca;--color-neutral-500:#9397ab;--color-neutral-600:#75798c;--color-neutral-700:#595d6c;--color-neutral-800:#3f424d;--color-neutral-900:#292b31;--color-accent-100:#f5f4ff;--color-accent-200:#e7e5fe;--color-accent-300:#d2cefd;--color-accent-400:#b5abfc;--color-accent-500:#968ae0;--color-accent-600:#796cbf;--color-accent-700:#5d5294;--color-accent-800:#423a6a;--color-accent-900:#2b2741;--font-family:Inter, system-ui, sans-serif;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--text-display-size:24px;--text-display-line:28px;--text-display-weight:500;--text-display-tracking:-.36px;--text-title-player-size:22px;--text-title-player-line:26px;--text-title-player-weight:500;--text-title-player-tracking:-.33px;--text-title-screen-size:20px;--text-title-screen-line:25px;--text-title-screen-weight:500;--text-title-screen-tracking:-.2px;--text-headline-size:15px;--text-headline-line:20px;--text-headline-weight:500;--text-headline-tracking:-.15px;--text-body-size:14px;--text-body-line:21px;--text-body-weight:400;--text-body-tracking:0px;--text-list-title-size:13.5px;--text-list-title-line:19px;--text-list-title-weight:500;--text-list-title-tracking:0px;--text-body-small-size:12.5px;--text-body-small-line:18px;--text-body-small-weight:400;--text-body-small-tracking:0px;--text-caption-size:11.5px;--text-caption-line:16px;--text-caption-weight:400;--text-caption-tracking:0px;--text-overline-size:11px;--text-overline-line:14px;--text-overline-weight:500;--text-overline-tracking:1.1px;--text-badge-size:10px;--text-badge-line:13px;--text-badge-weight:500;--text-badge-tracking:.8px;--text-tab-label-size:10.5px;--text-tab-label-line:13px;--text-tab-label-weight:500;--text-tab-label-tracking:0px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:48px;--space-screen-margin:20px;--space-screen-margin-card:16px;--space-section-gap:18px;--space-card-padding:16px;--space-card-padding-compact:10px;--space-list-row-gap:10px;--space-inline-gap:8px;--radius-hero-card:14px;--radius-card:8px;--radius-card-inner:5px;--radius-input:8px;--radius-monogram:8px;--radius-monogram-small:7px;--radius-profile-tile:16px;--radius-sheet:20px;--radius-pill:999px;--border-hairline:1px;--border-active:2px;--opacity-disabled:.45;--size-touch-target:44px;--size-button-height:48px;--size-button-height-compact:44px;--size-tab-bar-height:56px;--size-monogram:38px;--size-monogram-small:30px;--size-profile-tile:56px;--size-toggle-track-width:44px;--size-toggle-track-height:26px;--size-toggle-knob:20px;--size-progress-bar-height:3px;--size-live-dot:6px}
*,:before,:after{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--color-bg-base);color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--text-body-size);line-height:var(--text-body-line);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--color-primary-text);text-decoration:none}a:hover{text-decoration:underline}.shell{max-width:720px;padding:var(--space-7) var(--space-4) var(--space-8);margin:0 auto}.shell--wide{max-width:960px}.topbar{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:var(--border-hairline) solid var(--color-border);background:var(--color-bg);display:flex}.topbar__brand{font-size:var(--text-title-screen-size);font-weight:var(--weight-medium);letter-spacing:var(--text-title-screen-tracking);color:var(--color-text-primary)}.topbar__nav{gap:var(--space-4);font-size:var(--text-body-small-size);display:flex}.footer{border-top:var(--border-hairline) solid var(--color-border);padding:var(--space-5) var(--space-4);color:var(--color-text-tertiary);font-size:var(--text-caption-size);gap:var(--space-4);flex-wrap:wrap;justify-content:center;display:flex}h1{font-size:var(--text-display-size);line-height:var(--text-display-line);font-weight:var(--weight-medium);letter-spacing:var(--text-display-tracking);margin:0 0 var(--space-3)}h2{font-size:var(--text-title-screen-size);line-height:var(--text-title-screen-line);font-weight:var(--weight-medium);letter-spacing:var(--text-title-screen-tracking);margin:var(--space-6) 0 var(--space-3)}h3{font-size:var(--text-headline-size);line-height:var(--text-headline-line);font-weight:var(--weight-medium);margin:var(--space-5) 0 var(--space-2)}p{margin:0 0 var(--space-3)}.lead{color:var(--color-text-secondary);font-size:var(--text-headline-size);line-height:1.6}.muted{color:var(--color-text-secondary)}.caption{color:var(--color-text-tertiary);font-size:var(--text-caption-size);line-height:var(--text-caption-line)}.overline{font-size:var(--text-overline-size);line-height:var(--text-overline-line);font-weight:var(--weight-medium);letter-spacing:var(--text-overline-tracking);text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:var(--space-1);display:block}.card{background:var(--color-surface);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-card-padding)}.card+.card{margin-top:var(--space-3)}.card__row{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--size-button-height);padding:0 var(--space-4);border-radius:var(--radius-input);border:var(--border-hairline) solid transparent;font:inherit;font-weight:var(--weight-medium);cursor:pointer;background:0 0;transition:background .12s,border-color .12s;display:inline-flex}a.btn:hover{text-decoration:none}.btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.btn--primary{border-color:var(--color-primary);color:var(--color-primary-text)}.btn--primary:hover:not(:disabled),.btn--primary:active:not(:disabled){background:var(--color-primary-tint)}.btn--secondary{border-color:var(--color-border);color:var(--color-text-primary)}.btn--secondary:hover:not(:disabled){border-color:var(--color-border-strong);background:#ffffff0d}.btn--ghost{color:var(--color-primary-text);min-height:var(--size-touch-target);padding:0 var(--space-2)}.btn--ghost:hover:not(:disabled){background:var(--color-primary-tint)}.btn--danger{border-color:var(--color-error);color:var(--color-error-text)}.btn--danger:hover:not(:disabled){background:var(--color-error-tint)}.btn--block{width:100%}.field{margin-bottom:var(--space-3);display:block}.field__label{font-size:var(--text-overline-size);line-height:var(--text-overline-line);font-weight:var(--weight-medium);letter-spacing:var(--text-overline-tracking);text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:var(--space-1);display:block}.field__input{width:100%;min-height:var(--size-button-height);padding:0 var(--space-3);background:var(--color-surface-sunken);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-input);color:var(--color-text-primary);font:inherit}.field__input:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-tint);outline:none}.field__input--code{font-size:var(--text-display-size);letter-spacing:.28em;text-align:center;text-transform:uppercase}.banner{border-radius:var(--radius-card);border:var(--border-hairline) solid;padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);font-size:var(--text-body-small-size)}.banner--error{border-color:var(--color-error);background:var(--color-error-tint);color:var(--color-error-text)}.banner--success{border-color:var(--color-success);background:var(--color-success-tint);color:var(--color-success)}.banner--info{border-color:var(--color-border);background:var(--color-surface-sunken);color:var(--color-text-secondary)}.badge{border:var(--border-hairline) solid var(--color-primary);border-radius:var(--radius-pill);padding:2px var(--space-2);font-size:var(--text-badge-size);line-height:var(--text-badge-line);font-weight:var(--weight-medium);letter-spacing:var(--text-badge-tracking);text-transform:uppercase;color:var(--color-primary-text);display:inline-block}.empty{text-align:center;padding:var(--space-7) var(--space-4);border:var(--border-hairline) dashed var(--color-border);border-radius:var(--radius-card)}.empty__title{font-size:var(--text-headline-size);font-weight:var(--weight-medium);margin-bottom:var(--space-1)}.device__name{font-size:var(--text-list-title-size);font-weight:var(--weight-medium)}.device__meta{color:var(--color-text-tertiary);font-size:var(--text-caption-size)}.actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.type-grid{gap:var(--space-2);margin-bottom:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}@media (max-width:520px){.type-grid{grid-template-columns:1fr}}.type-card{gap:var(--space-1);text-align:left;padding:var(--space-3);background:var(--color-surface-sunken);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-card-inner);color:var(--color-text-secondary);font:inherit;cursor:pointer;flex-direction:column;display:flex}.type-card:hover{border-color:var(--color-border-strong)}.type-card--on{border-color:var(--color-primary);background:var(--color-surface-accent);color:var(--color-text-primary)}.type-card__name{font-weight:var(--weight-medium);color:var(--color-text-primary)}.type-card__hint{font-size:var(--text-caption-size);line-height:var(--text-caption-line);color:var(--color-text-tertiary)}.field__with-action{gap:var(--space-2);align-items:center;display:flex}.source__info{flex:260px;min-width:0}.source__detail{overflow-wrap:anywhere}.code-display{font-size:44px;line-height:1.2;font-weight:var(--weight-medium);letter-spacing:.18em;color:var(--color-primary-text);text-align:center;padding:var(--space-5) 0}
