
    :root{color-scheme:dark;--bg:#1c1c1d;--panel:rgba(31,31,34,.92);--text:#eee;--muted:#98989f;--border:rgba(255,255,255,.09)}
    *{box-sizing:border-box}
    html,body{width:100%;height:100%;margin:0;overflow:hidden;background:var(--bg);color:var(--text);font:13px/1.4 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
    button,input{font:inherit}
    #graph{position:fixed;inset:0;touch-action:none;cursor:grab}
    #graph.dragging{cursor:grabbing}
    canvas{display:block;width:100%;height:100%}
    .panel{position:fixed;z-index:4;border:1px solid var(--border);background:var(--panel);box-shadow:0 14px 42px rgba(0,0,0,.3);backdrop-filter:blur(14px)}
    #legend{top:18px;left:18px;width:254px;max-height:calc(100vh - 36px);overflow:auto;padding:14px;border-radius:12px}
    .eyebrow{margin:0 0 3px;color:#85858c;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
    h1{margin:0;font-size:17px;font-weight:650;letter-spacing:-.01em}
    .sub{margin:5px 0 12px;color:var(--muted);font-size:11px}
    .collection-tools{display:grid;gap:7px;margin-bottom:12px}
    .tool-row{display:grid;grid-template-columns:1fr 1fr;gap:6px}
    .search-wrap{position:relative}
    .search-input{width:100%;height:34px;padding:0 10px;border:1px solid rgba(255,255,255,.1);border-radius:8px;outline:0;color:#eee;background:rgba(255,255,255,.045)}
    .search-input:focus{border-color:rgba(122,162,247,.65);box-shadow:0 0 0 3px rgba(122,162,247,.1)}
    .tool-button{height:34px;padding:0 10px;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#c8c8cd;background:rgba(255,255,255,.045);cursor:pointer}
    .tool-button:hover{color:#fff;background:rgba(255,255,255,.08)}
    .search-results{display:none;position:absolute;z-index:10;top:39px;left:0;width:100%;max-height:265px;overflow:auto;padding:5px;border:1px solid rgba(255,255,255,.11);border-radius:9px;background:rgba(19,19,21,.98);box-shadow:0 14px 30px rgba(0,0,0,.45)}
    .search-results.show{display:grid;gap:3px}
    .search-result{display:grid;grid-template-columns:30px 1fr;gap:8px;align-items:center;width:100%;padding:5px;border:0;border-radius:6px;color:#ddd;background:transparent;text-align:left;cursor:pointer}
    .search-result:hover{background:rgba(255,255,255,.075)}
    .search-result img{width:30px;height:44px;border-radius:3px;object-fit:cover;background:#29292d}
    .result-title{display:block;font-size:11px;font-weight:600}
    .result-meta{display:block;margin-top:2px;color:#85858c;font-size:10px}
    #toolStatus{min-height:14px;color:#85858c;font-size:10px}
    #modelStatus{display:flex;align-items:center;gap:6px;min-height:14px;color:#77777e;font-size:9px}
    #modelStatus::before{content:"";width:6px;height:6px;flex:0 0 auto;border-radius:50%;background:#77777e;box-shadow:0 0 7px currentColor}
    #modelStatus.loading{color:#e0af68}#modelStatus.ready{color:#9ece6a}#modelStatus.fallback{color:#f7768e}
    #genres{display:grid;gap:3px}
    .genre{width:100%;display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:9px;padding:6px 8px;border:0;border-radius:7px;color:#d4d4d8;background:transparent;text-align:left;cursor:pointer}
    .genre:hover{background:rgba(255,255,255,.065);color:#fff}
    .genre.active{background:rgba(255,255,255,.11);color:#fff}
    .dot{width:8px;height:8px;border-radius:50%;box-shadow:0 0 8px currentColor}
    .count{color:#77777e;font-variant-numeric:tabular-nums}
    .divider{height:1px;margin:11px 0;background:rgba(255,255,255,.075)}
    .relation-key{display:grid;gap:5px;color:#929299;font-size:10px}
    .key-row{display:flex;align-items:center;gap:8px}
    .key-line{width:20px;height:1px;background:#737781}
    .key-line.director{height:2px;background:#e0af68;box-shadow:0 0 7px rgba(224,175,104,.35)}
    .actions{display:flex;gap:7px;margin-top:11px}
    .small-button{flex:1;padding:7px 8px;border:1px solid var(--border);border-radius:7px;color:#bdbdc2;background:rgba(255,255,255,.035);cursor:pointer}
    .small-button:hover{color:#fff;background:rgba(255,255,255,.075)}
    #stats{top:18px;right:18px;padding:9px 11px;border-radius:9px;color:#aaaab0;font-size:11px;pointer-events:none}
    #tooltip{position:fixed;z-index:7;width:max-content;max-width:340px;padding:10px 12px;border:1px solid rgba(255,255,255,.12);border-radius:9px;background:rgba(16,16,18,.96);box-shadow:0 10px 30px rgba(0,0,0,.42);opacity:0;pointer-events:none;transform:translate(12px,12px);transition:opacity .1s}
    #tooltip.show{opacity:1}
    .tip-title{font-weight:650;color:#fff}.tip-meta{margin-top:2px;color:#a9a9af;font-size:11px}.tip-genres{margin-top:6px;color:#d8d8db;font-size:11px}.tip-relation{margin-top:7px;padding-top:7px;border-top:1px solid rgba(255,255,255,.08);color:#e0af68;font-size:11px}
    #detailCard{top:62px;right:18px;width:410px;max-height:calc(100vh - 80px);overflow:auto;padding:14px;border-radius:12px;opacity:0;pointer-events:none;transform:translateX(18px);transition:opacity .18s,transform .18s}
    #detailCard.show{opacity:1;pointer-events:auto;transform:translateX(0)}
    .detail-close{position:absolute;top:9px;right:9px;width:28px;height:28px;border:1px solid var(--border);border-radius:7px;color:#aaa;background:rgba(20,20,22,.7);cursor:pointer}
    .detail-head{display:grid;grid-template-columns:88px 1fr;gap:12px;padding-right:20px}
    #detailPoster{width:88px;height:130px;border-radius:6px;object-fit:cover;background:#29292d}
    .detail-title{margin:3px 0 2px;font-size:17px;line-height:1.18}
    .detail-original{color:#85858c;font-size:10px}
    .detail-facts{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}
    .fact{padding:3px 6px;border:1px solid var(--border);border-radius:5px;color:#c6c6ca;background:rgba(255,255,255,.035);font-size:10px}
    .detail-director{margin-top:8px;color:#aaa;font-size:11px;white-space:pre-line}
    .detail-description{margin:12px 0;color:#bbb;font-size:11px;line-height:1.55}
    .detail-section{margin-top:12px;padding-top:11px;border-top:1px solid rgba(255,255,255,.075)}
    .detail-label{margin-bottom:7px;color:#77777e;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
    #detailRelations{display:grid;gap:5px}
    .relation-item{width:100%;padding:7px 8px;border:1px solid rgba(255,255,255,.07);border-radius:7px;color:#ccc;background:rgba(255,255,255,.025);text-align:left;cursor:pointer}
    .relation-item:hover{background:rgba(255,255,255,.065)}
    .relation-name{display:flex;justify-content:space-between;gap:8px;font-size:11px;font-weight:600}.relation-score{color:#e0af68;font-variant-numeric:tabular-nums}.relation-reason{display:block;margin-top:2px;color:#828289;font-size:9px}
    #externalStatus{min-height:14px;color:#85858c;font-size:10px}
    #externalRecommendations{display:grid;gap:6px;margin-top:6px}
    .external-card{display:grid;grid-template-columns:46px minmax(0,1fr) 32px;gap:9px;align-items:center;padding:6px;border:1px solid rgba(255,255,255,.07);border-radius:8px;background:rgba(255,255,255,.025)}
    .external-poster{width:46px;height:68px;border-radius:5px;object-fit:cover;background:#29292d}
    .external-body{min-width:0}.external-title{overflow:hidden;color:#ddd;font-size:11px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.external-meta{margin-top:2px;color:#85858c;font-size:9px}.external-reason{display:-webkit-box;overflow:hidden;margin-top:5px;color:#9b9ba2;font-size:9px;-webkit-box-orient:vertical;-webkit-line-clamp:2}
    .external-score{color:#9ece6a;font-variant-numeric:tabular-nums}.external-add{width:32px;height:32px;border:1px solid rgba(158,206,106,.28);border-radius:7px;color:#9ece6a;background:rgba(158,206,106,.07);font-size:18px;line-height:1;cursor:pointer}.external-add:hover{background:rgba(158,206,106,.16)}.external-add:disabled{opacity:.45;cursor:default}
    .external-empty{padding:9px;border:1px dashed rgba(255,255,255,.09);border-radius:7px;color:#77777e;font-size:10px}
    .detail-actions{display:flex;gap:7px;margin-top:13px}
    .detail-link,.remove-button{flex:1;padding:7px 8px;border:1px solid var(--border);border-radius:7px;color:#bbb;background:rgba(255,255,255,.035);text-align:center;text-decoration:none;cursor:pointer}
    .remove-button{color:#d99a9f}.detail-link:hover,.remove-button:hover{background:rgba(255,255,255,.075)}
    #listDialog,#diagnosticsDialog{width:min(460px,calc(100vw - 28px));padding:0;border:1px solid rgba(255,255,255,.12);border-radius:14px;color:#e8e8eb;background:#202023;box-shadow:0 28px 80px rgba(0,0,0,.62)}
    #diagnosticsDialog{width:min(620px,calc(100vw - 28px))}#listDialog::backdrop,#diagnosticsDialog::backdrop{background:rgba(8,8,10,.72);backdrop-filter:blur(5px)}
    .list-form{display:grid;gap:16px;padding:18px}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.dialog-title{margin:0;font-size:17px}.dialog-sub{margin:4px 0 0;color:#8f8f96;font-size:10px}.dialog-close{width:30px;height:30px;border:1px solid var(--border);border-radius:7px;color:#aaa;background:rgba(255,255,255,.035);cursor:pointer}
    .form-section{display:grid;gap:8px;padding-top:14px;border-top:1px solid rgba(255,255,255,.075)}.form-section:first-of-type{padding-top:0;border-top:0}.form-label{color:#aaa;font-size:10px;font-weight:650}.form-input{width:100%;height:36px;padding:0 10px;border:1px solid rgba(255,255,255,.11);border-radius:8px;outline:0;color:#eee;background:rgba(255,255,255,.045)}.form-input:focus{border-color:rgba(122,162,247,.65);box-shadow:0 0 0 3px rgba(122,162,247,.1)}
    .form-action{height:36px;padding:0 12px;border:1px solid rgba(122,162,247,.3);border-radius:8px;color:#b9ccff;background:rgba(122,162,247,.08);cursor:pointer}.form-action:hover{background:rgba(122,162,247,.15)}.form-action:disabled{opacity:.4;cursor:default}.form-note{min-height:14px;color:#85858c;font-size:10px}.import-file{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border:1px dashed rgba(255,255,255,.13);border-radius:8px;color:#aaa;background:rgba(255,255,255,.025);cursor:pointer}.import-file:hover{border-color:rgba(255,255,255,.22);color:#ddd}.import-preview{display:none;padding:9px 10px;border-radius:8px;color:#b9b9bf;background:rgba(255,255,255,.04);font-size:10px}.import-preview.show{display:block}.import-modes{display:flex;gap:14px;color:#aaa;font-size:10px}.import-modes label{display:flex;align-items:center;gap:5px}
    .diagnostics-button{width:100%;margin-top:10px}.diagnostic-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.diagnostic-stat{padding:9px;border:1px solid rgba(255,255,255,.07);border-radius:8px;background:rgba(255,255,255,.025)}.diagnostic-value{display:block;color:#eee;font-size:15px;font-weight:650}.diagnostic-name{display:block;margin-top:2px;color:#85858c;font-size:9px}.diagnostic-table-wrap{overflow:auto;border:1px solid rgba(255,255,255,.07);border-radius:8px}.diagnostic-table{width:100%;border-collapse:collapse;font-size:10px}.diagnostic-table th,.diagnostic-table td{padding:7px 8px;border-bottom:1px solid rgba(255,255,255,.06);text-align:right;font-variant-numeric:tabular-nums}.diagnostic-table th:first-child,.diagnostic-table td:first-child{text-align:left}.diagnostic-table th{color:#85858c;font-weight:600}.diagnostic-table tr:last-child td{border-bottom:0}.diagnostic-table tr.best{color:#9ece6a;background:rgba(158,206,106,.045)}.diagnostic-actions{display:flex;gap:7px;flex-wrap:wrap}.diagnostic-actions .form-action{flex:1 1 145px}
    #webgl-error{display:none;position:fixed;inset:0;z-index:20;place-items:center;padding:24px;color:#ddd;background:#1e1e1e;text-align:center}
    @media(max-width:760px){#legend{width:216px;max-height:48vh}#stats{display:none}#detailCard{top:auto;right:12px;bottom:12px;left:12px;width:auto;max-height:48vh;transform:translateY(18px)}#detailCard.show{transform:translateY(0)}}
  