:root{--bg: #07080f;--surface: rgba(15, 18, 32, .72);--surface-solid: #0f1220;--border: rgba(255, 255, 255, .1);--text: #eef1ff;--text-2: #b6bdd8;--muted: #7d86a8;--accent: #4f9eff;--purple: #8b5cf6;--teal: #06b6d4;--danger: #ff6b81;--radius: 12px;--topbar-h: 56px;color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);overflow:hidden}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.topbar{position:fixed;inset:0 0 auto;z-index:20;min-height:var(--topbar-h);display:flex;align-items:center;gap:12px;padding:8px 16px;background:linear-gradient(180deg,#07080feb,#07080fb3);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.brand{display:inline-flex;align-items:center;gap:8px;color:var(--text);text-decoration:none;font-weight:700;letter-spacing:-.01em;white-space:nowrap}.brand-tag{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);border:1px solid rgba(79,158,255,.35);border-radius:999px;padding:2px 8px}.controls{display:flex;align-items:center;gap:8px;flex:1;min-width:0}select,input[type=url],.btn{height:36px;border-radius:10px;border:1px solid var(--border);background:#ffffff0d;color:var(--text);font:inherit;font-size:14px}select{padding:0 10px;max-width:220px}select option{background:var(--surface-solid)}.url-form{display:flex;gap:8px;flex:1;min-width:0;max-width:520px}.url-form input{flex:1;min-width:0;padding:0 12px}input[type=url]::placeholder{color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:0 14px;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .15s ease,border-color .15s ease}.btn:hover{background:#ffffff1a;border-color:#ffffff38}.btn:focus-visible,select:focus-visible,input:focus-visible,.tool:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-ghost{background:transparent}.repo-link{margin-left:auto}#stage{position:fixed;inset:var(--topbar-h) 0 0 0}.viewer-root{position:absolute;inset:0}.viewer-root canvas{display:block}.overlay{position:absolute;inset:0;z-index:10;display:grid;place-items:center;padding:16px;pointer-events:none}.overlay[hidden]{display:none}#error,#drop-overlay{pointer-events:auto;background:#07080f99}.drop .panel{border:2px dashed var(--accent);font-weight:600}.panel{max-width:440px;padding:20px 24px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);text-align:center;line-height:1.5}.panel h2{margin:0 0 8px;font-size:18px}.panel p{margin:0;color:var(--text-2);font-size:14px}.loader{display:grid;justify-items:center;gap:14px}.loader p{margin:0;color:var(--text-2);font-size:14px}.orb{width:64px;height:64px;border-radius:50%;background:radial-gradient(circle at 35% 35%,rgba(79,158,255,.9),rgba(139,92,246,.45) 55%,transparent 72%);animation:spin 3s linear infinite;box-shadow:0 0 40px #4f9eff40}.progress{width:min(260px,70vw);height:4px;border-radius:999px;background:#ffffff14;overflow:hidden}.progress-fill{height:100%;width:3%;background:linear-gradient(90deg,var(--accent),var(--purple));transition:width .2s ease}.card{position:absolute;top:16px;left:16px;z-index:5;width:min(340px,calc(100% - 32px));padding:14px 16px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.card[hidden]{display:none}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.card h1{margin:0;font-size:16px;line-height:1.3}.card p{margin:8px 0 0;font-size:13px;line-height:1.5;color:var(--text-2)}.card .muted{color:var(--muted);font-size:12px}.badge{flex-shrink:0;font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;color:var(--teal);background:#06b6d424;border:1px solid rgba(6,182,212,.3)}.toolbar{position:absolute;right:16px;bottom:16px;z-index:5;display:flex;gap:6px;padding:6px;border-radius:14px;background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.tool{height:34px;min-width:44px;padding:0 10px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--text-2);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.tool:hover{background:#ffffff14;color:var(--text)}.tool[aria-pressed=true]{background:#4f9eff2e;color:var(--text);border-color:#4f9eff66}.tool:disabled{opacity:.4;cursor:not-allowed}.hints{position:absolute;left:16px;bottom:16px;z-index:4;display:flex;flex-wrap:wrap;gap:6px;max-width:calc(100% - 340px);pointer-events:none}.hints span{font-size:12px;color:var(--text-2);padding:5px 9px;border-radius:999px;background:var(--surface);border:1px solid var(--border)}kbd{font:inherit;font-weight:700;color:var(--text);margin-right:4px}.toast{position:absolute;left:50%;bottom:72px;z-index:15;transform:translate(-50%);padding:8px 14px;border-radius:999px;background:var(--surface-solid);border:1px solid var(--border);font-size:13px;white-space:nowrap}.toast[hidden]{display:none}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:760px){:root{--topbar-h: 104px}.topbar{flex-wrap:wrap;row-gap:8px}.controls{order:3;flex-basis:100%}.brand-tag{display:none}select{max-width:42%}.url-form .btn{padding:0 10px}.hints{display:none}.toolbar{left:16px;right:16px;justify-content:space-between}.tool{flex:1;min-width:0;padding:0 4px}.card{top:12px;left:12px;width:calc(100% - 24px)}.card p{display:none}}@media(max-width:420px){#open-file{padding:0 10px}#url-form{display:none}select{max-width:none;flex:1}}@media(prefers-reduced-motion:reduce){.orb{animation:none}.progress-fill{transition:none}}
