*,:after,:before{box-sizing:border-box}:root{--bg:#0c0c0d;--panel:#141416;--panel-2:#1b1b1e;--line:#26262a;--text:#ededef;--dim:#8b8b93;--accent:#d7ff3e;--ok:#4ade80;--warn:#fbbf24;--bad:#f87171;--radius:10px}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);font:15px/1.5 ui-sans-serif,-apple-system,Segoe UI,Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}.wrap{max-width:1180px;margin:0 auto;padding:40px 28px 96px}header.top{display:flex;align-items:baseline;gap:14px;padding-bottom:22px;margin-bottom:34px;border-bottom:1px solid var(--line)}header.top h1{margin:0;font-size:19px;font-weight:650;letter-spacing:-.01em}header.top .spec{color:var(--dim);font-size:13px}header.top .spec b{color:var(--text);font-weight:550}header.top .right{margin-left:auto}.grid{display:grid;grid-template-columns:400px 1fr;grid-gap:34px;gap:34px;align-items:start}@media (max-width:940px){.grid{grid-template-columns:1fr}}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px}.card h2{margin:0 0 4px;font-size:15px;font-weight:600;letter-spacing:-.01em}.card .sub{color:var(--dim);font-size:13px;margin:0 0 18px}label{display:block;font-size:13px;font-weight:550;margin:16px 0 6px}label .hint{color:var(--dim);font-weight:400}input[type=text],textarea{width:100%;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:10px 12px;font:inherit;font-size:14px}textarea{resize:vertical;min-height:66px}input[type=text]:focus,textarea:focus{outline:none;border-color:#3d3d44}.drop{border:1px dashed #33333a;border-radius:8px;padding:22px;text-align:center;color:var(--dim);font-size:13px;cursor:pointer;background:var(--bg);transition:border-color .15s,background .15s}.drop.over,.drop:hover{border-color:var(--accent);background:#101014}.drop img{max-width:100%;max-height:190px;border-radius:6px;display:block;margin:0 auto 10px}.drop .name{color:var(--text);font-size:13px;word-break:break-all}button{font:inherit;font-size:14px;font-weight:550;cursor:pointer;border-radius:8px;border:1px solid transparent;padding:10px 16px;transition:opacity .15s,background .15s,border-color .15s}button:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent);color:#14140a;width:100%;margin-top:20px}.btn-primary:hover:not(:disabled){background:#e4ff6b}.btn-ghost{background:transparent;color:var(--text);border-color:var(--line);padding:7px 12px;font-size:13px}.btn-ghost:hover:not(:disabled){border-color:#3d3d44;background:var(--panel-2)}.btn-danger{background:transparent;color:var(--bad);border-color:#3a2626;padding:7px 12px;font-size:13px}.btn-danger:hover:not(:disabled){background:#1d1214}.msg{margin-top:16px;padding:12px 14px;border-radius:8px;font-size:13px;line-height:1.5}.msg.err{background:#1d1214;border:1px solid #3a2626;color:#ffb4b4}.msg.ok{background:#101a12;border:1px solid #1f3a28;color:#b6f0c8}.msg a{color:var(--accent)}.msg .step{display:block;margin-top:8px}.list{display:flex;flex-direction:column;gap:12px}.row{display:grid;grid-template-columns:62px 1fr auto;grid-gap:16px;gap:16px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.row.warnrow{border-color:#3a3320}.row .thumb{width:62px;height:62px;border-radius:7px;background:var(--panel-2);object-fit:cover;border:1px solid var(--line)}.row .title{font-size:14px;font-weight:550;margin-bottom:6px}.row .meta{display:flex;flex-wrap:wrap;gap:6px}.row .actions{display:flex;gap:8px;align-items:center}.pill{font-size:11.5px;font-weight:550;letter-spacing:.01em;padding:3px 8px;border-radius:20px;border:1px solid var(--line);color:var(--dim);background:var(--bg);white-space:nowrap}.pill.ok{color:var(--ok);border-color:#1f3a28;background:#101a12}.pill.warn{color:var(--warn);border-color:#3a3320;background:#1a1710}.pill.bad{color:var(--bad);border-color:#3a2626;background:#1d1214}.empty{color:var(--dim);font-size:14px;padding:30px 0;text-align:center}.section-label{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--dim);font-weight:600;margin:0 0 14px}details.uploads{margin-top:30px}details.uploads summary{cursor:pointer;color:var(--dim);font-size:13px;list-style:none}details.uploads summary::-webkit-details-marker{display:none}details.uploads summary:hover{color:var(--text)}.upgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));grid-gap:10px;gap:10px;margin-top:14px}.upgrid .u{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:9px;font-size:11.5px;color:var(--dim);word-break:break-all}.upgrid .u b{color:var(--text);font-weight:500;display:block;margin-bottom:3px}.login{min-height:100vh;display:grid;place-items:center;padding:24px}.login .card{width:100%;max-width:360px}.login h1{margin:0 0 4px;font-size:20px;letter-spacing:-.01em}.login .btn-primary{width:100%;margin-top:18px}details.library{margin:4px 0 18px}details.library summary{cursor:pointer;color:var(--dim);font-size:12.5px;list-style:none}details.library summary::-webkit-details-marker{display:none}details.library summary:hover{color:var(--text)}.libgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:8px;gap:8px;margin-top:12px}.libitem{text-align:left;cursor:pointer;font:inherit;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:9px;font-size:11.5px;color:var(--text);word-break:break-all}.libitem:hover{border-color:var(--dim)}.libitem.picked{border-color:var(--ok);color:var(--ok)}.libitem span{display:block;color:var(--dim);margin-top:3px}.edit{display:grid;grid-gap:8px;gap:8px}.edit textarea{min-height:56px}.edit .actions{justify-content:flex-start}.msg.warn{color:var(--warn);border:1px solid #3a3320;background:#1a1710}