:root{--bg:#fff;--surface:#f8fafc;--border:#d7dde5;--text:#111827;--muted:#5b6575;--accent:#2459d6;--accent-text:#fff;--ok:#16794a;--warn:#a15c07;--error:#b42318;--ok-bg:#e4f5ec;--warn-bg:#fdf1dc;--error-bg:#fde8e6;--info-bg:#e6eefb;--radius:8px;color:var(--text);background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0f172a;--surface:#172033;--border:#2c3a52;--text:#f1f5f9;--muted:#9aa8bd;--accent:#6b9bff;--accent-text:#0b1220;--ok:#5ad19a;--warn:#f2b45a;--error:#ff8a80;--ok-bg:#12301f;--warn-bg:#3a2a0d;--error-bg:#3d1714;--info-bg:#172a4d}}*{box-sizing:border-box}body{background:var(--bg);margin:0;line-height:1.45}h1{margin:0 0 12px;font-size:1.5rem}h2{margin:20px 0 8px;font-size:1.15rem}h3{margin:0;font-size:1.05rem}h4{margin:18px 0 6px;font-size:.95rem}a{color:var(--accent)}code{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:0 4px;font-size:.9em}.muted{color:var(--muted)}.center{text-align:center;padding:32px 16px}.spacer{flex:1}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.text-error{color:var(--error)}ul.plain{margin:0;padding:0;list-style:none}ul.plain li{padding:3px 0}main{max-width:1000px;margin:0 auto;padding:16px 16px 160px}.topbar{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;align-items:center;gap:16px;padding:10px 16px;display:flex}.topbar nav{gap:12px;display:flex}.topbar nav a{color:var(--muted);padding:4px 2px;text-decoration:none}.topbar nav a[aria-current=page]{color:var(--text);border-bottom:2px solid var(--accent)}.brand{color:var(--text);font-size:1.15rem;font-weight:700;text-decoration:none}.user{color:var(--muted);font-size:.9rem}button,.button,input,select{font:inherit}button,.button{cursor:pointer;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:6px 12px;text-decoration:none;display:inline-block}button:hover:not(:disabled),.button:hover{border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}button.primary,.button.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}button.danger{color:var(--error)}button.danger.primary{background:var(--error);color:#fff;border-color:var(--error)}button.small{padding:2px 8px;font-size:.88rem}button.link{color:var(--accent);text-align:left;background:0 0;border:none;padding:0}button.link:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:not([type=checkbox]),select{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);min-width:0;padding:6px 10px}label{gap:4px;display:grid}label.check{align-items:center;gap:6px;margin-right:12px;display:inline-flex}fieldset{border:none;flex-wrap:wrap;align-items:center;margin:0;padding:0;display:inline-flex}.inline-form,.grant-form,.actions,.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.grant-form{margin-top:12px}.inline-form input{flex:220px}.grant-form input{flex:200px}.badge{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:1px 10px;font-size:.85rem;font-weight:600;display:inline-block}.badge-ok{background:var(--ok-bg);color:var(--ok);border-color:#0000}.badge-warn,.badge-pending{background:var(--warn-bg);color:var(--warn);border-color:#0000}.badge-error{background:var(--error-bg);color:var(--error);border-color:#0000}.badge-muted{color:var(--muted)}.notice{border-radius:var(--radius);background:var(--info-bg);margin:8px 0;padding:8px 12px}.notice-error{background:var(--error-bg);color:var(--error)}.notice button.link{margin-left:8px}.cards{gap:12px;margin:0;padding:0;list-style:none;display:grid}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin:0 0 12px;padding:12px 16px}.cards .card{margin:0}.card-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.card-head h2,.card-head h3{margin:0}.card p{margin:6px 0}.pairing{border:1px dashed var(--accent);border-radius:var(--radius);margin-top:12px;padding:8px 12px}.code{letter-spacing:.1em;font-family:ui-monospace,monospace;font-size:1.2em}.sync-ok{color:var(--ok)}.sync-wait{color:var(--warn)}.explorer{position:relative}.explorer.dragging{outline:2px dashed var(--accent);outline-offset:4px}.drop-overlay{background:color-mix(in srgb, var(--bg) 70%, transparent);pointer-events:none;z-index:20;place-items:center;font-size:1.3rem;display:grid;position:fixed;inset:0}.explorer-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:4px;display:flex}.explorer-head h1{margin:0}.breadcrumbs ol{flex-wrap:wrap;margin:4px 0 12px;padding:0;list-style:none;display:flex}.breadcrumbs li+li:before{content:"/";color:var(--muted);margin:0 8px}.toolbar{margin-bottom:12px}.empty{text-align:center;padding:24px 0}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:8px 10px}th{color:var(--muted);font-size:.85rem;font-weight:600}th button.sort{color:inherit;font-weight:inherit}.num{text-align:right;white-space:nowrap}td.name{word-break:break-word}.row-actions{white-space:nowrap;text-align:right}.row-actions>*{margin-left:6px}.table-wrap{overflow-x:auto}.menu{display:inline-block;position:relative}.menu summary{cursor:pointer;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:0 10px;list-style:none}.menu summary::-webkit-details-marker{display:none}.menu-list{z-index:10;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);gap:2px;min-width:150px;padding:4px;display:grid;position:absolute;right:0;box-shadow:0 6px 20px #0003}.menu-list button{text-align:left;background:0 0;border:none}.menu-list button:hover{background:var(--surface)}.dialog{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);width:min(480px,100vw - 32px);padding:16px 20px}.dialog::backdrop{background:#00000073}.dialog h2{margin-top:0}.dialog input{width:100%}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.transfers{background:var(--surface);border-top:1px solid var(--border);z-index:15;max-height:32vh;padding:8px 16px;position:fixed;bottom:0;left:0;right:0;overflow:auto;box-shadow:0 -4px 16px #0000001f}.transfers header{align-items:center;gap:12px;max-width:1000px;margin:0 auto;display:flex}.transfers h2{margin:0;font-size:1rem}.transfers ul{gap:8px;max-width:1000px;margin:8px auto 0;padding:0;list-style:none;display:grid}.transfer{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);gap:4px;padding:8px 12px;display:grid}.transfer-head{align-items:baseline;gap:8px;display:flex}.transfer-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.transfer-status{color:var(--muted);font-size:.85rem}.transfer-meta{color:var(--muted);flex-wrap:wrap;gap:4px 12px;font-size:.88rem;display:flex}.transfer-actions{gap:6px;display:flex}.transfer-actions:empty{display:none}.transfer-done .transfer-status{color:var(--ok)}.transfer-failed .transfer-status,.transfer-interrupted .transfer-status{color:var(--error)}progress{width:100%;height:8px;accent-color:var(--accent)}.diagnostics{margin-top:12px}.advice li{padding:4px 0}.advice-ok{color:var(--ok)}.advice-warn{color:var(--warn)}.advice-error{color:var(--error)}dl{grid-template-columns:max-content 1fr;gap:4px 16px;display:grid}dt{color:var(--muted)}dd{word-break:break-word;margin:0}.login{text-align:center;max-width:420px;margin:48px auto}@media (width<=640px){.hide-narrow{display:none}main{padding:12px 12px 160px}th,td{padding:8px 6px}dl{grid-template-columns:1fr}}@media (prefers-reduced-motion:no-preference){button,.button{transition:border-color .15s}}.install-guide{margin-top:12px}.install-guide label{margin:8px 0;display:block}.install-guide input{width:100%;max-width:28rem;display:block}.code-block{white-space:pre-wrap;word-break:break-all;border:1px solid var(--border,currentColor);border-radius:var(--radius);margin:8px 0;padding:8px 12px;font-family:ui-monospace,monospace;overflow-x:auto}.deb-link{margin-right:8px}.thumb{vertical-align:middle;border-radius:4px;flex:none;place-items:center;width:32px;height:32px;margin-right:8px;display:inline-grid;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%}.thumb-icon{font-size:1.15rem;line-height:1}.name-cell{align-items:center;display:inline-flex}tr.unavailable td.name,.tile.unavailable{color:var(--muted)}.segmented{display:inline-flex}.segmented button{border-radius:0}.segmented button:first-child{border-radius:var(--radius) 0 0 var(--radius)}.segmented button:last-child{border-radius:0 var(--radius) var(--radius) 0;margin-left:-1px}.segmented button[aria-pressed=true]{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.tile{text-align:center;background:var(--surface);justify-items:center;gap:4px;width:100%;padding:8px;display:grid}.tile:disabled{opacity:1}.thumb-large{aspect-ratio:1;background:var(--bg);width:100%;height:auto;margin:0}.thumb-large .thumb-icon{font-size:2.6rem}.tile-name{text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:.9rem;overflow:hidden}.tile-meta{font-size:.8rem}.viewer{color:#fff;background:#000;border:none;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0}.viewer[open]{grid-template-rows:auto 1fr;display:grid}.viewer::backdrop{background:#000}.viewer-bar{background:#0009;align-items:center;gap:8px;padding:8px 12px;display:flex}.viewer-bar button{color:#fff;background:#ffffff1f;border-color:#ffffff40}.viewer-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.viewer-count{color:#c7cdd6;white-space:nowrap;font-size:.9rem}.viewer-stage{place-items:center;min-height:0;padding:8px;display:grid}.viewer-stage img,.viewer-stage video{object-fit:contain;max-width:100%;max-height:100%}.viewer-stage audio{width:min(600px,100%)}.viewer-loading{justify-items:center;gap:12px;width:min(420px,90vw);display:grid}.thumb-placeholder{aspect-ratio:1;filter:blur(2px);width:min(420px,90vw);height:auto;margin:0}.thumb-placeholder img{object-fit:contain}.thumb-placeholder .thumb-icon{font-size:4rem}.viewer-nav{color:#fff;background:#00000073;border:none;padding:8px 14px;font-size:2.2rem;line-height:1;position:fixed;top:50%;transform:translateY(-50%)}.viewer-prev{left:8px}.viewer-next{right:8px}.mount-ok{color:var(--ok)}.mount-warn{color:var(--warn)}.mount-error{color:var(--error)}.mount-muted{color:var(--muted)}.section-head{margin:16px 0 8px}a.card-link{color:inherit;text-decoration:none;display:block}a.card-link:hover,a.card-link:focus-visible{border-color:var(--accent)}.card-link-arrow{color:var(--muted);font-size:1.5rem;line-height:1}.card h3{margin:16px 0 6px}.card .card-head h3{margin:0}.card-danger{border-color:color-mix(in srgb, var(--error) 40%, var(--border))}.card>h2:first-child{margin-top:4px}.card-head h1{margin:0}.loader{align-items:center;gap:10px;display:flex}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;flex:none;width:1.1em;height:1.1em;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}
