:root{--header:#2d2d30;--sidebar:#252526;--surface:#1e1e1e;--surface-raised:#333337;--border:#3e3e42;--text:#ccc;--muted:#929296;--white:#fff;--blue:#007acc;--blue-hover:#168bd2;--green:#2fb94d;--red:#dc4a5b;--font-interface:"Geist",-apple-system,BlinkMacSystemFont,"Segoe UI",ui-sans-serif,system-ui,sans-serif;--font-code:"Geist Mono","SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#424242 transparent}::-webkit-scrollbar{width:14px;height:14px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#424242 padding-box padding-box;border:4px solid #0000;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background-color:#4f4f4f}::-webkit-scrollbar-corner{background:0 0}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{background:var(--surface);color:var(--text);font-family:var(--font-interface)}button,input,select{font:inherit}button{color:inherit}svg{display:block}.forge-app{background:var(--surface);width:100vw;min-width:320px;height:100dvh}.forge-header{background:var(--header);border-bottom:1px solid var(--border);grid-template-columns:280px 1fr 340px;align-items:center;height:50px;padding:0 16px;display:grid}.brand{color:var(--white);letter-spacing:-.02em;align-items:center;gap:11px;font-size:16px;display:flex}.brand-mark{color:#f4f4f4;place-items:center;width:25px;height:25px;display:grid;transform:rotate(-8deg)}.brand-mark svg{stroke-width:2.4px;width:24px;height:24px}.current-path{color:var(--white);text-align:center;font-size:14px;font-weight:650}.connection-status{justify-content:flex-end;gap:12px;display:flex}.navbar-wallet{color:#eee;cursor:pointer;background:#38383c;border:1px solid #4b4b50;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-width:148px;height:32px;padding:0 10px;display:flex}.navbar-wallet:hover{background:#414148;border-color:#168bd2}.navbar-wallet.connected{background:#25352a;border-color:#315d3b;justify-content:flex-start}.navbar-wallet>svg{flex:none;width:16px;height:16px}.navbar-wallet>svg:last-child{width:13px;margin-left:auto}.navbar-wallet span{font-size:12px;font-weight:650}.navbar-wallet small{color:#8ec79a;font-size:10px}.secure-badge{color:#d8f0dd;background:#25352a;border-radius:5px;align-items:center;gap:7px;height:28px;padding:0 9px;font-size:11px;font-weight:650;display:inline-flex}.status-pill{white-space:nowrap;background:#38383b;border-radius:999px;align-items:center;gap:7px;height:23px;padding:0 9px;font-size:12px;display:inline-flex;box-shadow:inset 0 0 0 1px #3c3c40}.status-dot{border-radius:50%;width:8px;height:8px;box-shadow:0 0 8px}.status-dot.offline{color:var(--red);background:currentColor}.status-dot.secure{color:var(--green);background:currentColor}.ide-workspace{height:calc(100dvh - 50px);min-height:0;display:flex}.activity-rail{background:var(--header);border-right:1px solid var(--border);flex-direction:column;flex:0 0 50px;justify-content:space-between;width:50px;padding:8px 0;display:flex}.activity-rail>div{flex-direction:column;display:flex}.activity-rail>div:after{content:"";background:var(--border);height:1px;margin:8px}.activity-rail button{color:#bbb;cursor:pointer;background:0 0;border:0;border-left:3px solid #0000;place-items:center;width:50px;height:50px;padding:0;transition:color .15s,background .15s;display:grid}.activity-rail button:hover{color:var(--white);background:#333337}.activity-rail button.active{color:var(--white);border-left-color:var(--blue);background:#37373d}.activity-rail svg{stroke-width:1.8px;width:20px;height:20px}.resizable-sidebar{flex:none;min-width:190px;max-width:520px;height:100%;position:relative}.sidebar{background:var(--sidebar);border-right:1px solid var(--border);width:100%;height:100%;position:relative;overflow:hidden}.vertical-resizer{z-index:10;cursor:col-resize;touch-action:none;width:6px;height:100%;position:absolute;top:0;right:-3px}.vertical-resizer:hover,.vertical-resizer:active{background:var(--blue)}.vertical-resizer:focus-visible,.horizontal-resizer:focus-visible{background:var(--blue);outline:none}.sidebar>[hidden]{display:none!important}.tool-panel{position:absolute;inset:0;overflow-y:auto}.panel-header{background:var(--header);border-bottom:1px solid var(--border);height:57px;color:var(--white);justify-content:space-between;align-items:center;padding:0 16px;font-size:14px;display:flex}.panel-actions{gap:4px;display:flex}.panel-actions button,.dialog-title button{color:#bbb;cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;width:27px;height:27px;display:grid}.panel-actions button:hover,.dialog-title button:hover{color:var(--white);background:#444448}.panel-actions svg{width:16px;height:16px}.workspace-select{border-bottom:1px solid var(--border);height:55px;padding:11px 16px}.workspace-select button{cursor:pointer;background:#3c3c3c;border:1px solid #47474a;border-radius:4px;justify-content:space-between;align-items:center;width:100%;height:31px;padding:0 10px 0 12px;font-size:12px;display:flex}.workspace-select svg{width:14px}.workspace-actions{border-bottom:1px solid var(--border);gap:8px;height:97px;padding:11px 16px;display:grid}.workspace-actions button,.primary-action{height:33px;color:var(--white);cursor:pointer;background:#337fc6;border:1px solid #268ad0;border-radius:4px;align-items:center;gap:10px;padding:0 13px;display:flex}.workspace-actions button:hover,.primary-action:hover{background:var(--blue-hover)}.workspace-actions svg,.primary-action svg{width:16px;height:16px}.file-tree{padding:8px 0;font-size:14px}.folder-row,.file-row{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:7px;width:100%;height:24px;padding:0 16px;display:flex}.folder-row:hover,.file-row:hover{background:#2a2d2e}.folder-row svg,.file-row svg{flex:none;width:16px;height:16px}.folder-row>svg:first-child{color:#aaa;width:12px;transition:transform .15s}.folder-row>svg:first-child.collapsed{transform:rotate(-90deg)}.folder-icon{fill:#dcb67a22;color:#dcb67a!important}.file-row{padding-left:40px}.file-row.active{color:var(--white);background:#37373d}.folder-row.created{padding-left:39px}.folder-row.created svg:first-child{width:16px}.tool-form{padding:16px}.tool-form label{color:#cfcfcf;margin-bottom:7px;font-size:12px;display:block}.tool-form input,.tool-form select{width:100%;height:34px;color:var(--text);background:#353538;border:1px solid #4b4b4f;border-radius:4px;outline:none;margin-bottom:14px;padding:0 10px}.tool-form input:focus,.tool-form select:focus{border-color:var(--blue)}.tool-form .primary-action{justify-content:center;width:100%}.tool-form p{color:var(--muted);font-size:12px;line-height:1.5}.empty-state{height:calc(100% - 57px);color:var(--muted);text-align:center;place-content:center;justify-items:center;padding:28px;display:grid}.empty-state svg{width:34px;height:34px;margin-bottom:4px}.empty-state p{max-width:190px;font-size:13px;line-height:1.5}.security-card{background:#223029;border:1px solid #304c38;border-radius:6px;align-items:center;gap:10px;margin-top:12px;padding:12px;display:flex}.security-card svg{color:#53c96d;width:21px}.security-card div{gap:2px;font-size:12px;display:grid}.security-card span{color:#8cc79a}.main-workbench{flex:1;min-width:0;position:relative}.editor-pane{inset:0 0 var(--terminal-height,184px);background:var(--surface);min-height:0;position:absolute}.editor-tabs{background:var(--sidebar);border-bottom:1px solid var(--border);height:41px;display:flex}.editor-tab{border-top:1px solid #0000;align-items:center;gap:7px;width:154px;height:41px;padding:0 14px;font-size:12px;display:flex}.editor-tab.active{background:var(--surface);border-top-color:var(--blue);color:var(--white)}.editor-tab svg{width:15px;height:15px}.editor-tab .tab-close{color:#aaa;width:12px;margin-left:auto}.icon-button{cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.add-tab{color:#aaa;width:42px;font-size:18px}.code-area{font-family:var(--font-code);background:#1e1e1e;padding:5px 0 24px;font-size:15px;line-height:22px;position:absolute;inset:41px 0 0;overflow:auto}.editable-code-area{font:14px/22px var(--font-code);background:#1e1e1e;display:flex;position:absolute;inset:41px 0 0;overflow:hidden}.editor-line-numbers{color:#858585;text-align:right;-webkit-user-select:none;user-select:none;border-right:1px solid #333;flex:0 0 64px;width:64px;padding:6px 18px 24px 0;overflow:hidden}.editor-line-numbers span{height:22px;display:block}.editable-code-area textarea{resize:none;color:#a9d18e;caret-color:#fff;min-width:0;height:100%;font:inherit;white-space:pre;tab-size:4;background:0 0;border:0;outline:0;flex:1;padding:6px 12px 24px;line-height:22px;overflow:auto}.codemirror-shell{background:#1e1e1e;position:absolute;inset:41px 0 0;overflow:hidden}.codemirror-shell>div,.codemirror-shell .cm-theme,.codemirror-shell .cm-editor{height:100%;min-height:0}.codemirror-shell .cm-editor{font:14px/1.55 var(--font-code);background:#1e1e1e}.codemirror-shell .cm-scroller{overscroll-behavior:contain;height:100%;overflow:auto!important}.codemirror-shell .cm-content{min-height:100%}.codemirror-shell .cm-gutters{color:#858585;background:#1e1e1e;border-right-color:#333}.codemirror-shell .cm-activeLine,.codemirror-shell .cm-activeLineGutter{background:#252526}.code-line{min-width:940px;display:flex}.line-number{color:#858585;text-align:right;-webkit-user-select:none;user-select:none;border-right:1px solid #333;flex:none;width:65px;padding-right:20px}.code-line code{color:#d4d4d4;font:inherit;white-space:pre;padding-left:8px}.syntax-comment{color:#6a9955;font-style:italic}.syntax-keyword{color:#569cd6}.syntax-type{color:#4ec9b0}.syntax-number{color:#b5cea8}.syntax-string{color:#ce9178}.cursor-position{z-index:2;color:#999;font:11px var(--font-code);background:#2d2d30;border-radius:3px;padding:4px 9px;position:absolute;bottom:9px;right:16px}.terminal-panel{height:var(--terminal-height,184px);background:#101010;border-top:1px solid #303036;position:absolute;inset:auto 0 0}.context-menu{z-index:1000;background:#252526;border:1px solid #454545;border-radius:4px;gap:2px;min-width:160px;padding:4px;display:grid;position:fixed;box-shadow:0 4px 12px #00000080}.context-menu button{color:#ccc;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:3px;align-items:center;gap:8px;margin:0;padding:6px 12px;font-size:13px;display:flex}.context-menu button:hover{color:#fff;background:#094771}.context-menu button.danger{color:#f14c4c}.context-menu button.danger:hover{color:#fff;background:#f14c4c}.context-menu svg{width:14px;height:14px}.horizontal-resizer{z-index:12;left:0;right:0;bottom:calc(var(--terminal-height,184px) - 3px);cursor:row-resize;touch-action:none;height:6px;position:absolute}.horizontal-resizer:hover,.horizontal-resizer:active{background:var(--blue)}.terminal-header{border-bottom:1px solid var(--border);background:var(--surface);height:28px;color:var(--white);justify-content:space-between;align-items:center;padding:0 14px;font-size:12px;display:flex}.terminal-header span{align-items:center;gap:6px;display:flex}.terminal-header svg{width:14px;height:14px}.terminal-header button{color:#aaa;width:26px;height:26px}.terminal-header button:hover{color:var(--white)}.terminal-output{color:#56d9c3;height:calc(100% - 28px);font:13px/1.6 var(--font-code);padding:8px 16px;overflow:auto}.terminal-output p{border-bottom:1px solid #252525;align-items:center;gap:7px;margin:0 0 7px;padding-bottom:7px;display:flex}.terminal-output p svg{width:16px}.success-log{color:#7fd990;background:linear-gradient(90deg,#1f672844,#1f672815);border-left:3px solid #31d743;border-radius:6px;padding:7px 12px}.success-log span{color:#fff;background:#36ba4d;border-radius:4px;place-items:center;width:17px;height:17px;margin-right:5px;display:inline-grid}.terminal-log{color:#8ac5ea;overflow-wrap:anywhere;background:#17304455;border-left:3px solid #3478a4;border-radius:4px;align-items:flex-start;gap:8px;margin:5px 0;padding:6px 10px;display:flex}.terminal-log>span{color:#fff;background:#3478a4;border-radius:4px;flex:none;place-items:center;width:17px;height:17px;display:grid}.terminal-log.success{color:#7fd990;background:#1f672829;border-left-color:#31d743}.terminal-log.success>span{background:#36ba4d}.terminal-log.error{color:#f194a0;background:#6a26302e;border-left-color:#dc4a5b}.terminal-log.error>span{background:#dc4a5b}.compiler-form,.deploy-form{padding-bottom:36px}.compiler-form .check-row{color:var(--text);cursor:pointer;align-items:center;gap:9px;margin:5px 0 12px;display:flex}.compiler-form .check-row input{width:15px;height:15px;accent-color:var(--blue);margin:0}.primary-action:disabled,.deploy-action:disabled{opacity:.55;cursor:not-allowed}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.compiler-result{border:1px solid;border-radius:5px;align-items:flex-start;gap:8px;margin-top:12px;padding:10px;font-size:12px;line-height:1.4;display:flex}.compiler-result svg{flex:none;width:17px;height:17px}.compiler-result.success{color:#91dda3;background:#203126;border-color:#315d3b}.compiler-result.error{color:#f2a0ab;background:#3a2226;border-color:#713740}.compiler-message{white-space:pre-wrap;font:11px/1.45 var(--font-code);border-radius:4px;margin:9px 0 0;padding:9px;overflow:auto}.compiler-message.error{color:#f2a0ab;background:#3a2226}.compiler-message.warning{color:#e2c36e;background:#3c3420}.account-balance{color:#888;margin:-8px 0 14px 4px;font-size:12px;font-weight:500}.wallet-hint{color:#aaa;border:1px dashed #55555b;border-radius:5px;margin-bottom:14px;padding:10px;font-size:11px;line-height:1.45}.deploy-action{color:#fff;cursor:pointer;background:#b35b25;border:1px solid #ce6d2e;border-radius:4px;justify-content:center;align-items:center;gap:9px;width:100%;height:35px;margin-top:2px;display:flex}.deploy-action:hover:not(:disabled){background:#cc6b2e}.deploy-action svg{width:16px}.deploy-form h4{border-top:1px solid var(--border);color:#ddd;margin:20px 0 10px;padding-top:14px;font-size:13px}.attach-row{gap:6px;display:flex}.attach-row input{min-width:0;margin:0}.attach-row button{cursor:pointer;background:#3b3b3e;border:1px solid #5b5b60;border-radius:4px;flex:none;height:34px;padding:0 10px;font-size:11px}.deployed-list{gap:7px;margin-top:10px;display:grid}.deployed-card{background:#2d2d30;border:1px solid #424247;border-radius:4px;justify-content:space-between;align-items:center;padding:9px;display:flex}.deployed-card div{gap:3px;display:grid}.deployed-card strong{color:#ddd;font-size:12px}.deployed-card span{color:#96969b;font:11px var(--font-code)}.deployed-card a{color:#7ec8f5}.deployed-card svg{width:15px}.contract-card{background:#252526;border:1px solid #48484d;border-radius:5px;overflow:hidden}.contract-card>header{background:#363638;align-items:center;gap:10px;min-height:68px;padding:10px 12px;display:flex}.contract-card>header>div{gap:3px;min-width:0;margin-right:auto;display:grid}.contract-card>header strong{color:#fff;font-size:13px}.contract-card>header span{color:#96969b;font:11px var(--font-code)}.contract-card>header>span{white-space:nowrap;font:11px var(--font-interface)}.contract-card>header a{color:#7ec8f5}.contract-card>header svg{width:15px}.contract-functions{gap:8px;padding:10px;display:grid}.function-control{grid-template-columns:minmax(88px,.72fr) minmax(0,1.28fr);align-items:start;gap:7px;display:grid;position:relative}.function-control>button{color:#fff;text-align:left;cursor:pointer;overflow-wrap:anywhere;border:1px solid;border-radius:4px;min-height:32px;padding:5px 8px;font-size:10px;font-weight:650}.function-control>button span{display:block}.function-control>button small{color:#ffffffb8;text-transform:uppercase;letter-spacing:.04em;margin-top:2px;font-size:8px;font-weight:500;display:block}.function-control .read-function{background:#c23e4d;border-color:#dc4a5b}.function-control .write-function{background:#f98216;border-color:#ff9b45}.function-control>label,.function-arguments label{color:#aaa;gap:3px;font-size:9px;display:grid}.function-arguments{gap:6px;display:grid}.function-arguments label span,.function-control>label span{justify-content:space-between;gap:6px;display:flex}.function-arguments em{color:#73737a;font:8px var(--font-code);font-style:normal}.function-control input{width:100%;height:32px;font:10px var(--font-code);margin:0;padding:0 7px}.function-chevron{color:#aaa;width:13px;position:absolute;top:9px;right:8px}.function-control output{overflow-wrap:anywhere;color:#8ed1fa;font:10px/1.45 var(--font-code);background:#1c1c1d;border-radius:3px;grid-column:1/-1;padding:6px 8px}.function-control output.input-error{color:#ff9eaa;background:#331b1f}.splash-screen{z-index:50;background:var(--surface);color:#ddd;flex-direction:column;justify-content:center;align-items:center;gap:20px;transition:opacity .45s,visibility .45s;display:flex;position:fixed;inset:0}.splash-screen.hidden{opacity:0;visibility:hidden;pointer-events:none}.splash-logo{color:#2786ca;border:2px solid #35353a;border-radius:50%;place-items:center;width:76px;height:76px;display:grid;transform:rotate(-10deg);box-shadow:0 0 20px #101010}.splash-logo svg{stroke-width:1.4px;width:54px;height:54px}.splash-screen p{margin:4px 0 0;font-size:14px}.splash-screen>span{color:#777;font:11px var(--font-code);margin-top:-8px}.loading-track{background:#29292c;width:202px;height:3px;overflow:hidden}.loading-track i{background:linear-gradient(90deg,var(--blue),#ce6d2e);width:40%;height:100%;animation:1.35s ease-in-out progress;display:block}@keyframes progress{0%{transform:translate(-100%)}to{transform:translate(160%)}}.dialog-backdrop{z-index:40;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog{background:#2d2d30;border:1px solid #505055;border-radius:7px;width:min(390px,100%);box-shadow:0 20px 70px #000}.dialog-title{border-bottom:1px solid var(--border);height:54px;color:var(--white);justify-content:space-between;align-items:center;padding:0 16px;display:flex}.dialog-title>span{align-items:center;gap:9px;display:flex}.dialog-title svg{width:18px}.dialog form{padding:18px}.dialog label{margin-bottom:7px;font-size:12px;display:block}.dialog input{border:1px solid var(--blue);background:var(--surface);width:100%;height:38px;color:var(--white);border-radius:4px;outline:none;padding:0 11px}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.dialog-actions button{cursor:pointer;background:#414145;border:1px solid #55555a;border-radius:4px;min-width:78px;height:33px}.dialog-actions .primary-action{border-color:var(--blue);background:var(--blue);justify-content:center}.toast{z-index:35;color:#9adeaa;background:#203126;border:1px solid #345b40;border-radius:6px;padding:10px 14px;font-size:13px;position:fixed;bottom:18px;right:18px;box-shadow:0 8px 30px #0008}.wallet-dialog{width:min(430px,100%)}.wallet-options{padding:14px}.wallet-options h4{color:#aaa;letter-spacing:.08em;text-transform:uppercase;margin:6px 4px 8px;font-size:11px;font-weight:600}.wallet-options h4:not(:first-child){margin-top:18px}.wallet-options>button{text-align:left;cursor:pointer;background:#353539;border:1px solid #45454a;border-radius:6px;align-items:center;gap:12px;width:100%;margin:6px 0;padding:11px;display:flex}.wallet-options>button:hover:not(:disabled){background:#3d3d43;border-color:#168bd2}.wallet-options>button:disabled{opacity:.55}.wallet-options>button div{gap:2px;display:grid}.wallet-options>button strong{color:#eee;font-size:13px}.wallet-options>button small{color:#999;font-size:11px}.wallet-options>p{color:#888;margin:5px 4px;font-size:12px}.wallet-logo{border-radius:8px;place-items:center;width:32px;height:32px;font-size:18px;font-weight:700;display:grid}.wallet-logo.evm{color:#9ac1ff;background:#37517a}.wallet-logo.sol{color:#fff;background:linear-gradient(135deg,#7049d8,#26d8b1)}.debugger-content,.settings-content{height:calc(100% - 57px);padding:18px 16px 28px;overflow-y:auto}.tool-tabs{border-bottom:1px solid #47474b;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.tool-tabs button{color:#ccc;cursor:pointer;word-break:break-word;background:0 0;border:0;border-bottom:2px solid #0000;min-height:44px;padding:6px 4px;font-size:11px;line-height:1.2}.tool-tabs button.active{color:#20a9f5;border-bottom-color:#0797e7}.debug-section{gap:4px;padding-top:20px;display:grid}.debug-section strong{color:#ddd;font-size:13px}.debug-section span{color:#aaa;font-size:12px}.debug-section code{color:#7ec8f5;font:10px var(--font-code);overflow-wrap:anywhere;background:#1c1c1d;border-radius:4px;margin-top:5px;padding:7px}.settings-content h4{color:#ddd;margin:19px 0 10px}.settings-content>label{color:#ccc;margin:12px 0;font-size:12px;display:block}.settings-content label select,.settings-content label input:not([type=checkbox]):not([type=range]){color:#ddd;background:#3c3c3f;border:1px solid #4b4b4f;border-radius:4px;width:100%;height:34px;margin-top:6px;padding:0 9px}.settings-content input[type=range]{accent-color:#078ce0;width:62%;margin-top:9px}.settings-check{align-items:center;gap:8px;display:flex!important}.settings-check input{accent-color:#078ce0;width:15px;height:15px}.settings-actions{gap:7px;margin-top:25px;display:grid}.settings-actions button{color:#fff;cursor:pointer;background:#555559;border:1px solid #55555a;border-radius:4px;min-height:35px}.settings-actions .primary-action{background:#087fc8;border-color:#087fc8;justify-content:center}@media (max-width:800px){.forge-header{grid-template-columns:1fr auto}.current-path{display:none}.resizable-sidebar{width:225px!important}.code-area{font-size:13px}}@media (max-width:600px){.forge-header{padding:0 10px}.brand strong{font-size:14px}.connection-status .status-pill:first-child{display:none}.activity-rail,.activity-rail button{width:44px}.activity-rail{flex-basis:44px}.resizable-sidebar{display:none}.editor-pane{bottom:155px}.terminal-panel{height:155px}.line-number{width:48px;padding-right:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
