:root,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c0e12;--bg-elev:#12151c;--bg-elev-2:#181c25;--bg-hover:#1e2430;--border:#2a3140;--border-strong:#3a4458;--text:#e8edf5;--text-muted:#8b95a7;--text-dim:#667085;--accent:#3d9cf0;--accent-hover:#5aadf5;--accent-soft:#3d9cf024;--ok:#5dcc8a;--ok-soft:#5dcc8a24;--warn:#e6c07b;--warn-soft:#e6c07b24;--danger:#f07178;--danger-soft:#f0717824;--payable:#c084fc;--shadow:0 16px 48px #00000059;--radius:10px;--radius-sm:7px;--font-ui:"Segoe UI", "SF Pro Text", "Helvetica Neue", ui-sans-serif, system-ui, sans-serif;--font-mono:"SF Mono", "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3f5f8;--bg-elev:#fff;--bg-elev-2:#eef1f6;--bg-hover:#e7ebf2;--border:#d5dbe6;--border-strong:#b8c2d1;--text:#151920;--text-muted:#5b6575;--text-dim:#7a8494;--accent:#1565c0;--accent-hover:#0d47a1;--accent-soft:#1565c01a;--ok:#1b7f4a;--ok-soft:#1b7f4a1f;--warn:#9a6b12;--warn-soft:#9a6b121f;--danger:#c62828;--danger-soft:#c628281a;--payable:#7b1fa2;--shadow:0 16px 40px #1519201a}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html{background:var(--bg)}body{font-family:var(--font-ui);color:var(--text);background:var(--bg);font-size:13.5px;line-height:1.45;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent)}.app-root{background:var(--bg);flex-direction:column;height:100%;display:flex}.topbar{border-bottom:1px solid var(--border);background:var(--bg-elev);flex-shrink:0;align-items:center;gap:12px;height:52px;padding:0 14px;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:10px;font-weight:700;display:flex}.brand-mark{background:linear-gradient(160deg, var(--accent), #5eead4);color:#0b0d10;border-radius:8px;place-items:center;width:28px;height:28px;font-size:13px;font-weight:800;display:grid}.topbar-spacer{flex:1}.topbar-meta{color:var(--text-muted);align-items:center;gap:8px;font-size:12px;display:flex}.btn{border:1px solid var(--border);background:var(--bg-elev-2);color:var(--text);border-radius:var(--radius-sm);min-height:34px;padding:7px 12px;transition:background .12s,border-color .12s,transform .12s}.btn:hover{background:var(--bg-hover);border-color:var(--border-strong)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#071018;border-color:#0000;font-weight:650}.btn-primary:hover{background:var(--accent-hover)}.btn-danger{background:var(--danger-soft);color:var(--danger);border-color:#0000}.btn-ghost{background:0 0}.btn-block{width:100%}.icon-btn{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--text-muted);background:0 0;border:1px solid #0000;place-items:center;padding:0;display:grid}.icon-btn:hover{background:var(--bg-hover);color:var(--text)}.field{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.field label,.label{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:600}.input,.select,.textarea{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;width:100%;min-height:36px;padding:8px 10px}.textarea{resize:vertical;min-height:88px;font-family:var(--font-mono);font-size:12px}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.checkbox{align-items:center;gap:8px;min-height:36px;display:flex}.ide{flex:1;grid-template-rows:1fr auto;min-height:0;display:grid}.ide-main{grid-template-columns:var(--left,260px) 6px 1fr 6px var(--right,360px);min-height:0;display:grid}.ide-main.left-collapsed{grid-template-columns:0 0 1fr 6px var(--right,360px)}.ide-main.right-collapsed{grid-template-columns:var(--left,260px) 6px 1fr 0 0}.ide-main.both-collapsed{grid-template-columns:0 0 1fr 0 0}.pane{background:var(--bg);flex-direction:column;min-width:0;min-height:0;display:flex}.pane-side{background:var(--bg-elev);border-color:var(--border)}.gutter{background:var(--bg);cursor:col-resize;position:relative}.gutter:after{content:"";background:0 0;position:absolute;inset:0 2px}.gutter:hover:after,.gutter:active:after{background:var(--accent)}.gutter-row{cursor:row-resize;background:var(--bg);height:6px}.pane-header{border-bottom:1px solid var(--border);letter-spacing:.08em;text-transform:uppercase;height:40px;color:var(--text-muted);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 10px;font-size:11px;font-weight:700;display:flex}.pane-body{flex:1;min-height:0;padding:10px;overflow:auto}.editor-wrap{background:var(--bg);flex-direction:column;flex:1;min-height:0;display:flex}.tabs{border-bottom:1px solid var(--border);background:var(--bg-elev);flex-shrink:0;align-items:stretch;gap:2px;min-height:38px;display:flex;overflow-x:auto}.tab{color:var(--text-muted);white-space:nowrap;background:0 0;border:none;align-items:center;gap:8px;padding:0 12px;display:flex}.tab.active{color:var(--text);background:var(--bg);box-shadow:inset 0 -2px 0 var(--accent)}.tab-close{color:var(--text-dim);background:0 0;border:none;border-radius:4px;width:18px;height:18px}.tab-close:hover{background:var(--bg-hover);color:var(--text)}.tree-item{text-align:left;width:100%;color:var(--text);background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}.tree-item:hover,.tree-item:focus{background:var(--bg-hover)}.tree-item.active{background:var(--accent-soft);color:var(--accent)}.tree-item .muted{color:var(--text-dim);font-size:11px}.tree-children{padding-left:14px}.bottom{grid-template-rows:6px var(--bottom,220px);border-top:1px solid var(--border);background:var(--bg-elev);display:grid}.bottom.collapsed{grid-template-rows:6px 36px}.bottom-tabs{border-bottom:1px solid var(--border);align-items:center;gap:4px;height:36px;padding:0 8px;display:flex}.chip{color:var(--text-muted);background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:12px}.chip.active{background:var(--bg-hover);color:var(--text)}.badge{border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:650;display:inline-flex}.badge-ok{background:var(--ok-soft);color:var(--ok)}.badge-warn{background:var(--warn-soft);color:var(--warn)}.badge-err{background:var(--danger-soft);color:var(--danger)}.badge-pay{color:var(--payable);background:#c084fc29}.badge-read{background:var(--accent-soft);color:var(--accent)}.card{background:var(--bg-elev-2);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:10px;padding:12px}.muted{color:var(--text-muted)}.mono{font-family:var(--font-mono);word-break:break-all;font-size:12px}.row{align-items:center;gap:8px;display:flex}.row-wrap{flex-wrap:wrap;gap:8px;display:flex}.stack{flex-direction:column;gap:8px;display:flex}.kv{grid-template-columns:92px 1fr;gap:4px 10px;font-size:12px;display:grid}.kv dt{color:var(--text-muted)}.problem{text-align:left;width:100%;color:inherit;background:0 0;border:none;border-radius:8px;padding:8px;display:block}.problem:hover{background:var(--bg-hover)}.console-line{font-family:var(--font-mono);border-bottom:1px solid #0000;padding:4px 0;font-size:12px}.console-line.error{color:var(--danger)}.console-line.warn{color:var(--warn)}.console-line.debug{color:var(--text-dim)}.overlay{z-index:50;background:#06080c8c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--bg-elev);border:1px solid var(--border);width:min(640px,100%);max-height:min(86vh,820px);box-shadow:var(--shadow);border-radius:16px;padding:18px;overflow:auto}.modal h2{letter-spacing:-.02em;margin:0 0 8px;font-size:18px}.palette{width:min(560px,100%)}.palette-list{max-height:360px;margin-top:10px;overflow:auto}.palette-item{text-align:left;width:100%;color:var(--text);background:0 0;border:none;border-radius:8px;padding:10px 12px}.palette-item.active,.palette-item:hover{background:var(--bg-hover)}.context-menu{z-index:40;background:var(--bg-elev);border:1px solid var(--border);min-width:180px;box-shadow:var(--shadow);border-radius:10px;padding:6px;position:fixed}.context-menu button{text-align:left;width:100%;color:var(--text);background:0 0;border:none;border-radius:6px;padding:8px 10px}.context-menu button:hover{background:var(--bg-hover)}.mobile-nav{border-top:1px solid var(--border);background:var(--bg-elev);grid-template-columns:repeat(5,1fr);height:58px;display:none}.mobile-nav button{color:var(--text-muted);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:10px;font-weight:600;display:flex}.mobile-nav button.active{color:var(--accent)}.settings-grid{gap:14px;display:grid}.settings-section h3{margin:0 0 8px;font-size:13px}.empty{color:var(--text-muted);text-align:center;padding:18px 8px}.json-view{font-family:var(--font-mono);background:var(--bg);border:1px solid var(--border);white-space:pre-wrap;border-radius:8px;max-height:280px;padding:10px;font-size:11px;overflow:auto}.nested{border-left:1px dashed var(--border);margin-left:4px;padding-left:10px}.drawer{background:var(--bg-elev);z-index:20;flex-direction:column;display:flex;position:absolute;inset:52px 0 58px}@media (max-width:768px){body{overflow:auto}.app-root{height:100dvh}.topbar{height:48px;padding:0 10px}.topbar-meta,.hide-sm{display:none!important}.ide{flex-direction:column;display:flex}.ide-main{flex:1;grid-template-columns:none;min-height:0;display:flex}.pane-side,.gutter,.bottom,.gutter-row{display:none}.ide-main.mobile-files .files-pane,.ide-main.mobile-compile .right-pane,.ide-main.mobile-deploy .right-pane,.ide-main.mobile-contracts .right-pane{z-index:15;position:absolute;inset:48px 0 58px;width:100%!important;display:flex!important}.editor-wrap{flex:1}.mobile-nav{display:grid}.btn,.input,.select,.textarea{min-height:44px}.icon-btn{width:44px;height:44px}.modal{border-radius:14px;padding:16px}}@media (max-width:320px){.brand span{display:none}}.sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}details.tech{color:var(--text-muted);margin-top:8px}details.tech pre{white-space:pre-wrap;font-size:11px}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
