:root{--bg:#0f172a;--panel:#1e293b;--panel-2:#273449;--border:#334155;--text:#e2e8f0;--muted:#94a3b8;--accent:#38bdf8;--danger:#f87171;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);-webkit-text-size-adjust:100%;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}#app{height:100%}.app{flex-direction:column;height:100%;display:flex}.toolbar{padding:8px 12px;padding-top:max(8px, env(safe-area-inset-top));background:var(--panel);border-bottom:1px solid var(--border);z-index:10;flex-wrap:wrap;align-items:center;gap:8px;display:flex}.brand{letter-spacing:.5px;margin-right:4px;font-weight:700}.brand span{color:var(--accent)}button,select,input,textarea{font:inherit;color:var(--text);background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:6px 10px}button{cursor:pointer;-webkit-user-select:none;user-select:none}button:hover{border-color:var(--accent)}button.primary{background:var(--accent);color:#04202f;border-color:var(--accent);font-weight:600}button.danger{color:var(--danger)}.search{flex:160px;min-width:120px}.status{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:12px}.board{touch-action:none;background:radial-gradient(circle,#1e293b 1px,#0000 1px) 0 0/24px 24px;flex:1;position:relative;overflow:hidden}.world{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.links{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.links line{stroke:#64748b;stroke-width:2px}.links marker path{fill:#64748b}.card{color:#0f172a;cursor:grab;border:2px solid #0000;border-radius:12px;width:240px;min-height:90px;padding:10px;position:absolute;overflow:hidden;box-shadow:0 6px 18px #00000059}.card.selected{border-color:var(--accent);box-shadow:0 0 0 3px #38bdf859}.card.dim{opacity:.25}.card.hit{box-shadow:0 0 0 3px #facc1599}.card .card-title{white-space:nowrap;text-overflow:ellipsis;margin-bottom:6px;font-size:14px;font-weight:700;overflow:hidden}.card .card-body{white-space:pre-wrap;word-break:break-word;color:#1e293b;max-height:120px;font-size:12px;line-height:1.4;overflow:hidden}.card .card-tags{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.card .tag{background:#0f172a26;border-radius:999px;padding:1px 8px;font-size:10px}.empty-hint{color:var(--muted);text-align:center;pointer-events:none;font-size:14px;line-height:1.6;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.inspector{background:var(--panel);border:1px solid var(--border);z-index:5;border-radius:12px;width:min(320px,100% - 16px);max-height:calc(100% - 16px);padding:14px;display:none;position:absolute;top:8px;right:8px;overflow:auto;box-shadow:0 10px 30px #00000080}.inspector.open{display:block}.inspector h3{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px;font-size:13px}.inspector label{color:var(--muted);margin:10px 0 4px;font-size:12px;display:block}.inspector input,.inspector textarea,.inspector select{width:100%}.inspector textarea{resize:vertical;min-height:120px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px}.swatches{gap:6px;margin-top:6px;display:flex}.swatch{border:2px solid var(--border);cursor:pointer;border-radius:6px;width:24px;height:24px;padding:0}.swatch.active{border-color:var(--accent)}.link-list{margin:6px 0 0;padding:0;font-size:13px;list-style:none}.link-list li{border-bottom:1px solid var(--border);align-items:center;gap:6px;padding:4px 0;display:flex}.link-list a{color:var(--accent);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;flex:1;text-decoration:none;overflow:hidden}.row{gap:8px;margin-top:14px;display:flex}.row button{flex:1}@media (width<=640px){.inspector{width:100%;max-height:60%;padding-bottom:max(14px, env(safe-area-inset-bottom));border-radius:14px 14px 0 0;position:fixed;inset:auto 0 0}}.auth-overlay{z-index:100;background:#020617d9;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.auth-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;width:min(360px,100%);padding:22px;box-shadow:0 20px 50px #0009}.auth-card h2{margin:0 0 4px}.auth-sub{color:var(--muted);margin:0 0 14px;font-size:13px}.auth-form label{color:var(--muted);margin:10px 0 4px;font-size:12px;display:block}.auth-form input{width:100%}.auth-form button.primary{width:100%;margin-top:16px}.auth-status{color:var(--muted);min-height:16px;margin-top:10px;font-size:13px}.auth-status.error{color:var(--danger)}button.link{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-top:14px;padding:0;font-size:13px}button.link:hover{border:none;text-decoration:underline}
