:root{--bg:#0c0c10;--bg-2:#141419;--panel:#16161d;--panel-2:#1c1c25;--border:#26262f;--border-2:#33333f;--text:#c7c7d1;--muted:#7d7d8c;--accent:#7c5cff;--accent-2:#a78bfa;--good:#34d399;--bad:#f87171;--warn:#fbbf24;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(900px 500px at 85% -10%, #7c5cff1f, transparent 60%), radial-gradient(700px 400px at 0% 0%, #34d3990f, transparent 55%), var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}.app{flex-direction:column;max-width:1280px;min-height:100%;margin:0 auto;padding:0 24px;display:flex}.topbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:22px 4px 18px;display:flex}.brand{align-items:center;gap:14px;display:flex}.logo{background:linear-gradient(135deg, var(--accent), #4f37c9);letter-spacing:-2px;border-radius:11px;place-items:center;width:42px;height:42px;font-size:15px;display:grid;box-shadow:0 6px 20px #7c5cff59}.brand h1{letter-spacing:-.2px;color:#fff;margin:0;font-size:19px;font-weight:650}.brand .sub{color:var(--muted);margin:2px 0 0;font-size:12.5px}.btn{appearance:none;border:1px solid var(--border-2);background:var(--panel-2);color:var(--text);cursor:pointer;border-radius:9px;align-items:center;gap:7px;padding:9px 15px;font-size:13.5px;font-weight:550;transition:border-color .15s,background .15s,transform 50ms;display:inline-flex}.btn:hover{border-color:var(--accent)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed;border-color:var(--border-2)}.btn.primary{background:linear-gradient(135deg, var(--accent), #5b3fe0);color:#fff;border-color:#0000}.btn.primary:disabled{background:var(--panel-2);color:var(--muted)}.btn.ghost{background:0 0}.btn.small{padding:6px 11px;font-size:12.5px}.dropzone{border:1.5px dashed var(--border-2);cursor:pointer;background:#ffffff03;border-radius:18px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;min-height:320px;margin:60px 0;transition:border-color .15s,background .15s;display:flex}.dropzone:hover,.dropzone.drag{border-color:var(--accent);background:#7c5cff0f}.dropzone .big{color:#fff;margin:0;font-size:21px;font-weight:600}.dropzone .muted{color:var(--muted);margin:0;font-size:13.5px}.banner{border-radius:11px;margin:16px 0 0;padding:12px 16px;font-size:13.5px}.banner.error{color:#fca5a5;background:#f871711a;border:1px solid #f8717159}.workspace{flex:1;padding:22px 0 40px}.filebar{background:var(--panel);border:1px solid var(--border);border-radius:13px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;padding:14px 16px;display:flex}.filemeta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.filemeta strong{color:#fff;font-size:14.5px}.filebar-right{align-items:center;gap:14px;display:flex}.keepres{color:var(--muted);cursor:pointer;align-items:center;gap:7px;font-size:12.5px;display:flex}.keepres .exp{text-transform:uppercase;letter-spacing:.4px;color:var(--warn);border:1px solid #fbbf2466;border-radius:999px;padding:1px 6px;font-size:10px}.chip{color:var(--muted);background:var(--bg-2);border:1px solid var(--border);font-variant-numeric:tabular-nums;border-radius:999px;padding:3px 9px;font-size:11.5px}.empty{text-align:center;color:var(--muted);border:1px dashed var(--border-2);border-radius:14px;padding:60px}.tabs{border-bottom:1px solid var(--border);align-items:center;gap:6px;margin-bottom:20px;display:flex}.tab{appearance:none;color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-size:14px;font-weight:550}.tab:hover:not(:disabled){color:var(--text)}.tab.active{color:#fff;border-bottom-color:var(--accent)}.tab:disabled{opacity:.4;cursor:not-allowed}.wire-toggle{color:var(--muted);cursor:pointer;align-items:center;gap:7px;margin-left:auto;padding-bottom:6px;font-size:13px;display:flex}.viewer{border:1px solid var(--border);background:#101015;border-radius:14px;width:100%;height:560px;overflow:hidden}.viewer canvas{display:block}.grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;display:grid}.card{background:var(--panel);border:1px solid var(--border);border-radius:14px;transition:border-color .15s,transform .1s;overflow:hidden}.card:hover{border-color:var(--border-2);transform:translateY(-2px)}.card.replaced{border-color:#34d39980}.card-img{aspect-ratio:1;border-bottom:1px solid var(--border);background:repeating-conic-gradient(#1c1c22 0% 25%,#15151a 0% 50%) 50%/18px 18px;place-items:center;padding:12px;display:grid;position:relative}.tex-canvas{max-width:100%;max-height:100%;image-rendering:pixelated;border-radius:4px}.badge{background:var(--good);color:#06281c;text-transform:uppercase;letter-spacing:.4px;border-radius:999px;padding:3px 8px;font-size:10.5px;font-weight:700;position:absolute;top:8px;right:8px}.card-body{padding:12px 13px 14px}.tex-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}.tex-meta{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:3px;font-size:12px}.card-actions{gap:8px;margin-top:12px;display:flex}.card-actions .btn{cursor:pointer;flex:1;justify-content:center}.repl-info{color:var(--good);white-space:nowrap;text-overflow:ellipsis;margin-top:10px;font-size:11.5px;overflow:hidden}.foot{border-top:1px solid var(--border);color:var(--muted);text-align:center;padding:16px 4px 24px;font-size:12px}
