:root{--bg:#f5f5f7;--bg2:#fafafa;--panel:#fff;--card:#f5f5f7;--card-hover:#ebebed;--border:#e3e3e6;--grid-dot:#e5e5ea;--text:#1d1d1f;--muted:#6e6e73;--toxic:#0071e3;--toxic2:#0a84ff;--toxic-dim:#cde4fb;--glow:#0071e329;--danger:#ff3b30;--warn:#ff9f0a;--font-ui:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif;--font-display:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace}:root[data-theme=dark]{--bg:#0a0d13;--bg2:#10141c;--panel:#ffffff0b;--card:#ffffff0d;--card-hover:#ffffff17;--border:#ffffff1a;--grid-dot:#ffffff12;--text:#f0f3f8;--muted:#8a93a6;--toxic:#22d3ee;--toxic2:#67e8f9;--toxic-dim:#22d3ee47;--glow:#22d3ee59;--danger:#ff453a;--warn:#ffd60a}:root[data-theme=dark] body{background:radial-gradient(700px 500px at 12% -10%, #22d3ee29, transparent 60%), radial-gradient(600px 500px at 105% 15%, #a855f724, transparent 55%), var(--bg)}:root[data-theme=dark] .sidebar,:root[data-theme=dark] .toolbar,:root[data-theme=dark] .footer-stats,:root[data-theme=dark] .library{-webkit-backdrop-filter:blur(22px)saturate(160%);background:var(--panel)!important}:root[data-theme=dark] .card,:root[data-theme=dark] #auth-widget,:root[data-theme=dark] input[type=text],:root[data-theme=dark] input[type=password],:root[data-theme=dark] input[type=number],:root[data-theme=dark] input[type=email],:root[data-theme=dark] select,:root[data-theme=dark] input[type=color]{-webkit-backdrop-filter:blur(12px);background:#ffffff0b!important}:root[data-theme=dark] .btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d}:root[data-theme=dark] .btn:hover{background:#ffffff1a}:root[data-theme=dark] .btn-toxic{box-shadow:0 0 22px var(--glow), 0 1px 2px #0006;color:#04222a}:root[data-theme=dark] .brand{text-shadow:0 0 16px var(--glow)}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;height:100vh;margin:0;overflow:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#00000038;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#00000052}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}.hub-wrap{align-items:center;gap:12px;margin-bottom:4px;display:flex}.hub-logo{flex:none;width:44px;height:44px}.brand{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text);font-size:16px;font-weight:700}.brand-sub{font-family:var(--font-mono);color:var(--muted);letter-spacing:.03em;text-transform:uppercase;margin-bottom:20px;font-size:10px}.lang-btn{background:var(--card);border:1px solid var(--border);color:var(--text);font-family:var(--font-ui);cursor:pointer;border-radius:8px;margin-left:auto;padding:5px 10px;font-size:11px;font-weight:600;transition:all .15s}.lang-btn:hover{background:var(--card-hover)}label{font-family:var(--font-ui);letter-spacing:.01em;color:var(--muted);margin:12px 0 4px;font-size:11px;font-weight:600;display:block}label:first-of-type{margin-top:0}input[type=text],input[type=password],input[type=number],input[type=email],select,input[type=color]{border:1px solid var(--border);width:100%;color:var(--text);font-family:var(--font-ui);background:#fff;border-radius:8px;outline:none;padding:8px 10px;font-size:14px;font-weight:500;transition:all .15s}input[type=color]{cursor:pointer;height:32px;padding:2px}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield}input:focus,select:focus{border-color:var(--toxic);box-shadow:0 0 0 3px var(--toxic-dim)}input.invalid{border-color:var(--danger)!important;box-shadow:0 0 0 3px #ff3b302e!important}.row2,.row3{gap:8px;display:flex}.row2>div,.row3>div{flex:1}.section-title{font-family:var(--font-ui);letter-spacing:.01em;color:var(--text);border-top:1px solid var(--border);margin:22px 0 10px;padding-top:16px;font-size:12px;font-weight:700}.section-title:first-child{border-top:none;margin-top:0;padding-top:0}.hint{font-family:var(--font-ui);color:var(--muted);border-top:1px solid var(--border);margin-top:16px;padding-top:12px;font-size:11.5px;line-height:1.6}.hint b{color:var(--text)}#toast-stack{z-index:10000;pointer-events:none;flex-direction:column-reverse;gap:8px;max-width:340px;display:flex;position:fixed;bottom:34px;right:16px}.toast{pointer-events:auto;background:var(--panel);border:1px solid var(--border);border-left:3px solid var(--toxic);font-family:var(--font-ui);color:var(--text);border-radius:10px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:12.5px;animation:.18s ease-out toastIn;display:flex;box-shadow:0 8px 24px #0000001f}.toast.toast-success{border-left-color:#34c759}.toast.toast-error{border-left-color:var(--danger)}.toast.toast-warn{border-left-color:var(--warn)}.toast span{flex:1;line-height:1.5}.toast button{color:var(--muted);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0;font-size:13px;line-height:1}.toast button:hover{color:var(--text)}@keyframes toastIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}#type-editor-modal,#load-modal,#confirm-modal,#text-prompt-modal{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:9000;background:#00000052;justify-content:center;align-items:center;display:none;position:fixed;inset:0}#type-editor-modal.active,#load-modal.active,#confirm-modal.active,#text-prompt-modal.active{display:flex}#type-editor-inner,#load-modal-inner,#confirm-modal-inner,#text-prompt-inner{background:var(--panel);border:1px solid var(--border);border-radius:16px;max-width:90vw;max-height:80vh;padding:22px;overflow:auto;box-shadow:0 24px 60px #0000002e}#load-modal-inner{width:440px}#type-editor-inner{width:360px}#cloud-projects-inner,#cloud-presets-inner{width:420px;padding:0}#cloud-projects-inner .cloud-modal-head,#cloud-presets-inner .cloud-modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.cloud-item:last-child{border-bottom:none!important}#auth-widget{background:var(--card);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;padding:6px 8px;font-size:11px;display:flex}#confirm-modal-inner,#text-prompt-inner{width:340px}.loading-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:9999;font-family:var(--font-ui);color:var(--text);background:#ffffffd9;flex-direction:column;justify-content:center;align-items:center;font-size:15px;font-weight:600;display:none;position:fixed;inset:0}.loading-overlay.active{display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--toxic);border-radius:50%;width:32px;height:32px;margin-bottom:15px;animation:.8s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app{width:100vw;height:100vh;display:flex}.workspace-col{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}#landing-view{z-index:8000;background:var(--bg);justify-content:center;align-items:center;padding:24px;display:none;position:fixed;inset:0;overflow-y:auto}#landing-view.active{display:flex}#landing-inner{width:340px;max-width:100%}#landing-logo{width:100%;max-width:320px;margin:0 auto 22px;display:block}.sidebar{background:var(--panel);border-right:1px solid var(--border);z-index:100;flex-direction:column;width:310px;min-width:310px;height:100%;padding:20px 18px;display:flex;position:relative;overflow-y:auto}.sidebar.right{border-right:none;border-left:1px solid var(--border)}.sidebar-bottom-actions{grid-template-columns:1fr 1fr;gap:8px;padding-top:16px;display:grid}.library{background:var(--panel);border-bottom:1px solid var(--border);flex-shrink:0;gap:10px;height:98px;padding:12px 16px;display:flex;overflow:auto hidden}.library-empty{color:var(--muted);font-family:var(--font-ui);align-items:center;font-size:12px;display:flex}.toolbar{background:var(--panel);border-bottom:1px solid var(--border);z-index:100;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:8px 16px;display:flex}.toolbar-view{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toolbar-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.canvas-outer{background:var(--bg);flex:1;position:relative;overflow:auto}.canvas-outer.drag-over{background:color-mix(in srgb, var(--toxic) 12%, var(--bg))}.canvas-outer.panning{cursor:grab!important}.canvas-outer.panning-active{cursor:grabbing!important}.footer-stats{font-family:var(--font-mono);color:var(--muted);background:var(--panel);border-top:1px solid var(--border);z-index:100;flex-wrap:nowrap;justify-content:center;align-items:center;gap:14px;min-height:40px;padding:8px 16px;font-size:11px;display:flex;overflow-x:auto}.footer-stats b{color:var(--text)}.footer-stats span{white-space:nowrap}.footer-stats .stat-highlight{color:var(--toxic);font-size:12px}.footer-stats .stat-highlight b{color:var(--toxic)}.quick-action-strip{gap:6px;display:none}.quick-action-strip.active{display:flex}.quick-action-strip .btn{padding:5px 9px;font-size:12px}#rp-project,#rp-export,#rp-content{display:none}.btn{border:1px solid var(--border);background:var(--panel);color:var(--text);font-family:var(--font-ui);cursor:pointer;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-block}.btn:hover{background:var(--card-hover);border-color:var(--border)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-toxic{background:var(--toxic);color:#fff;cursor:pointer;letter-spacing:0;border:none;border-radius:10px;width:100%;margin-top:14px;padding:12px;font-size:14px;font-weight:600;box-shadow:0 1px 2px #00000026}.btn-toxic:hover{background:var(--toxic2)}.btn-toxic:active{transform:scale(.98)}.btn-row{flex-wrap:wrap;gap:8px;display:flex}.btn-row .btn{text-align:center;flex:1;justify-content:center}.card{background:var(--panel);border:1px solid var(--border);cursor:pointer;border-radius:12px;flex:none;width:150px;padding:0;transition:all .15s;position:relative;overflow:hidden}.card:hover{background:var(--card-hover);border-color:var(--card-color,var(--toxic))}.card-swatch{background:var(--card-color,var(--toxic));height:5px}.card-body{padding:9px 11px}.card-name{text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;padding-right:14px;font-size:13px;font-weight:600;overflow:hidden}.card-meta{font-family:var(--font-mono);color:var(--muted);font-size:10.5px;line-height:1.55}.card-meta b{color:var(--text)}.card-del{width:16px;height:16px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:50%;font-size:14px;line-height:1;position:absolute;top:8px;right:8px}.card-del:hover{color:var(--danger)}.toggle{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--muted);font-size:12px;font-family:var(--font-ui);align-items:center;gap:5px;display:flex}.toggle input{accent-color:var(--toxic)}.mini-btn{background:var(--panel);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:26px;height:26px;font-size:14px;line-height:1;transition:all .15s;display:flex}.mini-btn:hover{background:var(--card-hover)}.mini-btn.active{background:var(--toxic);color:#000;border-color:var(--toxic)}.tab-bar{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.tab-btn{border:1px solid var(--border);background:var(--panel);color:var(--muted);font-family:var(--font-ui);cursor:pointer;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:600}.tab-btn:hover{color:var(--text)}.tab-btn.active{color:#fff;border-color:var(--toxic);background:var(--toxic)}.theme-switch{flex:none;width:46px;height:26px;display:inline-block;position:relative}.theme-switch input{opacity:0;width:0;height:0;position:absolute}.theme-switch .track{cursor:pointer;background:#d1d5db;border-radius:999px;transition:all .2s;position:absolute;inset:0}.theme-switch .track:before{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:all .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.theme-switch input:checked+.track{background:#34c759}.theme-switch input:checked+.track:before{transform:translate(20px)}.theme-switch.sm{width:36px;height:20px}.theme-switch.sm .track:before{width:14px;height:14px}.theme-switch.sm input:checked+.track:before{transform:translate(16px)}.switch-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.switch-row label{margin:0}.no-spinner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.no-spinner::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.no-spinner{appearance:textfield}
