@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/inter-latin-Dx4kXJAl.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/assets/jetbrains-mono-latin-6fWv1k7M.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*{margin:0;padding:0;box-sizing:border-box}:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,sans-serif;--bg: #030303;--bg-gradient: none;--surface: rgba(18, 18, 18, .7);--surface-opaque: #121212;--surface-2: rgba(0, 0, 0, .4);--border: rgba(255, 255, 255, .08);--border-bright: rgba(255, 255, 255, .15);--text: #f0f0f0;--muted: rgba(240, 240, 240, .6);--accent: #22c55e;--accent-glow: rgba(34, 197, 94, .3);--accent-soft: rgba(34, 197, 94, .08);--warning: #f59e0b;--danger: #ef4444;--pill-bg: rgba(255, 255, 255, .03);--pill-border: rgba(255, 255, 255, .1);--radius: 12px;--radius-sm: 8px;--radius-lg: 24px;--glass: blur(12px) saturate(180%);--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--sandbox-pane-max-height: 560px;--sandbox-pane-height: min(75vh, var(--sandbox-pane-max-height));--scrollbar-track: transparent;--scrollbar-thumb: rgba(255, 255, 255, .1);--scrollbar-thumb-hover: rgba(255, 255, 255, .2);--mobile-input-height: 50vh;--mobile-output-height: 30vh}body{min-height:100vh;background:var(--bg);background-image:var(--bg-gradient);color:var(--text);display:flex;flex-direction:column;align-items:center;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page{width:min(1200px,100%);padding:0 24px 120px}@media(max-width:600px){.page{padding:0 16px 80px}}.site-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:24px 40px;width:100%;border-bottom:1px solid var(--border);background:var(--bg)}.nav-links{display:flex;gap:20px;font-size:.9rem}.nav-links a{color:var(--muted);text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--text)}.brand-link{text-decoration:none;color:inherit}.brand-mark{font-size:1.1rem;letter-spacing:.4em;text-align:center;font-weight:700;text-transform:uppercase}.nav-actions{display:flex;justify-content:flex-end;gap:12px}@media(max-width:720px){.site-header{grid-template-columns:1fr;gap:20px;padding:20px}.nav-links{order:2;justify-content:center;font-size:.8rem}.brand-link{order:1}.nav-actions{order:3;justify-content:center}}.btn{font-size:.85rem;padding:10px 20px;border-radius:var(--radius);text-decoration:none;border:1px solid var(--border-bright);color:var(--text);transition:all .3s cubic-bezier(.4,0,.2,1);background:var(--surface);display:inline-flex;align-items:center;gap:8px;font-weight:500;cursor:pointer}.btn:hover:not(:disabled){border-color:var(--accent);box-shadow:0 0 15px var(--accent-glow);transform:translateY(-2px)}.btn-solid{background:var(--accent);color:#000;border-color:var(--accent)}.btn-solid:hover:not(:disabled){filter:brightness(1.2);background:var(--accent);box-shadow:0 0 20px var(--accent-glow)}.btn:disabled{opacity:.4;cursor:not-allowed;border-color:var(--border);transform:none;box-shadow:none}.hero{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:64px;padding:120px 0 80px;border-bottom:1px solid var(--border);position:relative;overflow:hidden}.hero-bg-grid{position:absolute;inset:0;background-image:linear-gradient(to right,var(--border) 1px,transparent 1px),linear-gradient(to bottom,var(--border) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse at center,black,transparent 80%);-webkit-mask-image:radial-gradient(ellipse at center,black,transparent 80%);opacity:.4;pointer-events:none;z-index:-1;animation:grid-move 60s linear infinite}@keyframes grid-move{0%{background-position:0 0}to{background-position:60px 60px}}@media(max-width:900px){.hero{grid-template-columns:1fr;gap:40px;padding:60px 0}}.hero-text h1{font-size:clamp(2.4rem,6.8vw,3.9rem);letter-spacing:-.04em;line-height:1.1;font-weight:700;margin-bottom:24px}.eyebrow{font-size:.75rem;letter-spacing:.4em;text-transform:uppercase;color:var(--accent);margin-bottom:24px;font-weight:600}.hero-text .lede{font-size:1.125rem;max-width:45ch;margin-bottom:32px;color:var(--muted);line-height:1.6}@media(max-width:900px){.hero-text{text-align:center;display:flex;flex-direction:column;align-items:center}.hero-text .lede{margin-left:auto;margin-right:auto}.hero-meta{justify-content:center}}.hero-meta{display:flex;flex-wrap:wrap;gap:16px}.hero-pill{border:1px solid var(--pill-border);background:var(--pill-bg);border-radius:var(--radius-sm);padding:8px 16px;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text);font-weight:500}@media(max-width:600px){.hero-pill{padding:6px 12px;font-size:.65rem;letter-spacing:.1em}}.hero-frame{position:relative;min-height:300px;border:none;border-radius:0;padding:0;background:transparent}@media(max-width:600px){.hero-frame{min-height:auto}}.frame-dots{display:none}.frame-device{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.flow-console{width:100%;border:1px solid var(--border-bright);border-radius:var(--radius);background:#000;overflow:hidden}.console-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-bottom:1px solid var(--border);background:var(--surface-opaque)}.pill-light{background:transparent;border:none;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);padding:0;font-weight:600}.console-body{padding:24px;font-size:.9rem;color:var(--text);background:#000;white-space:pre;display:block;font-family:var(--font-mono);line-height:1.7}@media(max-width:600px){.console-body{padding:16px;font-size:.75rem;white-space:pre-wrap;word-break:break-all}.console-header{padding:10px 16px}}.console-line{display:block;opacity:0;transform:translateY(6px);animation-duration:8s;animation-timing-function:cubic-bezier(.2,.8,.2,1);animation-iteration-count:infinite;animation-fill-mode:both}.console-line.hl-sign{color:#60a5fa;font-weight:600}.console-line.hl-ready{color:var(--accent);font-weight:600}.console-line.hl-exec{color:#22d3ee;font-weight:600}.console-line.hl-result{color:#e5e7eb;font-weight:600}.console-line.hl-done{color:var(--accent);font-weight:700}.line-1{animation-name:consoleLine1}.line-2{animation-name:consoleLine2}.line-3{animation-name:consoleLine3}.line-4{animation-name:consoleLine4}.line-5{animation-name:consoleLine5}@keyframes consoleLine1{0%,6%{opacity:0;transform:translateY(6px)}12%,96%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(0)}}@keyframes consoleLine2{0%,18%{opacity:0;transform:translateY(6px)}24%,96%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(0)}}@keyframes consoleLine3{0%,30%{opacity:0;transform:translateY(6px)}36%,96%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(0)}}@keyframes consoleLine4{0%,42%{opacity:0;transform:translateY(6px)}48%,96%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(0)}}@keyframes consoleLine5{0%,54%{opacity:0;transform:translateY(6px)}60%,96%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(0)}}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.grid.example-grid{align-items:start}.grid.example-grid>*{min-width:0}.grid.example-grid>.panel{height:auto;align-self:start}.example-panel{display:flex;flex-direction:column;gap:12px}.limits-inline{gap:10px}.limits-inline li{border:none;padding:0;font-size:.85rem}.code-block{border:1px solid var(--border);background:var(--surface-2);padding:16px;border-radius:var(--radius);font-size:.8rem;line-height:1.45;color:var(--text);margin:0;overflow-x:auto;white-space:pre-wrap;overflow-wrap:anywhere}.section{padding:36px 0}.section-heading{font-size:.9rem;letter-spacing:.28em;text-transform:uppercase;color:var(--text);margin-bottom:14px}.section-heading:before{content:""}.panel{border:1px solid var(--border);border-radius:var(--radius);padding:24px;background:var(--surface);transition:transform .2s ease,border-color .2s ease}@media(max-width:600px){.panel{padding:16px}}.input-panel,.output-panel{border:none;background:transparent;padding:0;display:flex;flex-direction:column;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.input-panel .panel-title,.output-panel .panel-title{margin-bottom:12px}.panel-title{font-size:.75rem;letter-spacing:.25em;text-transform:uppercase;color:var(--muted);margin-bottom:16px;font-weight:600}.playground-ide{border:1px solid var(--border-bright);border-radius:var(--radius);overflow:hidden;background:var(--surface-opaque);display:flex;flex-direction:row;height:var(--sandbox-pane-height);max-height:var(--sandbox-pane-height);box-shadow:0 10px 40px #0006}@media(max-width:900px){.playground-ide{flex-direction:column;height:80vh;max-height:none}}.playground-ide .input-panel{flex:6.5;border-right:1px solid var(--border);min-width:0;height:100%}@media(max-width:900px){.playground-ide .input-panel{border-right:none;border-bottom:1px solid var(--border);height:var(--mobile-input-height)}}.playground-ide .output-panel{flex:3.5;min-width:0;height:100%;position:relative}@media(max-width:900px){.playground-ide .output-panel{height:var(--mobile-output-height)}}.playground{display:flex;flex-direction:column;flex:1;height:100%}.playground-header,.playground-footer,.output-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--border);background:var(--surface-opaque)}@media(max-width:600px){.playground-header,.playground-footer,.output-header{padding:8px 12px}.playground-header{padding:8px 12px 0}.playground-footer-actions{width:100%;margin-left:0}.playground-session-actions{border-right:none;padding-right:0;margin-right:0}.lang-tab{padding:6px 10px;font-size:.7rem}.lang-tab-badge{width:13px;height:13px}}.playground-footer{border-bottom:none;border-top:1px solid var(--border);gap:12px;flex-wrap:wrap;padding:12px 20px}@media(max-width:600px){.playground-footer{padding:8px 12px;gap:8px}}.playground-header{justify-content:flex-start;border-bottom:none;padding:10px 20px 0}@media(min-width:901px){.playground-ide .playground-header>.playground-identity-btn{margin-left:auto;flex-shrink:0}}.playground-footer-actions{display:inline-flex;align-items:center;gap:10px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.playground-session-actions{display:inline-flex;align-items:center;gap:8px;padding-right:10px;margin-right:2px;border-right:1px solid var(--border)}.playground-upload-btn,.playground-generate-btn{width:42px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-color:var(--pill-border);background:var(--accent-soft);color:var(--accent);transition:background .15s,color .15s,border-color .15s,transform .15s}.playground-upload-btn:hover:not(:disabled),.playground-generate-btn:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:#050505}.playground-upload-btn:active:not(:disabled),.playground-generate-btn:active:not(:disabled){transform:translateY(1px)}.playground-identity-btn{min-height:32px;padding:6px 12px;font-size:.8rem;border-radius:16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;gap:8px}.playground-identity-btn:hover{background:#ffffff1a;border-color:#ffffff4d}.playground-identity-btn.connected{background:#22c55e1a;border-color:#22c55e4d}.playground-identity-btn.connected:hover{background:#22c55e26;border-color:#22c55e80}.identity-indicator{width:8px;height:8px;border-radius:50%;background:var(--muted);box-shadow:0 0 5px #fff3}.identity-indicator.authenticated{background:var(--accent);box-shadow:0 0 10px var(--accent-glow),0 0 20px var(--accent);animation:pulse-indicator 2s infinite ease-in-out}@keyframes pulse-indicator{0%,to{box-shadow:0 0 10px var(--accent-glow),0 0 20px var(--accent)}50%{box-shadow:0 0 5px var(--accent-glow),0 0 10px var(--accent)}}.identity-wallet-display{font-family:var(--font-mono);font-weight:500;color:var(--text);letter-spacing:.05em}.playground-identity-btn .wallet-balance{padding:2px 8px;margin-left:4px;background:#0000004d;border-radius:12px;font-size:.75rem;font-weight:600;color:var(--accent);border:1px solid rgba(34,197,94,.2)}.wallet-copy-btn{background:transparent;border:none;color:var(--muted);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;margin-left:2px}.wallet-copy-btn:hover{color:var(--text);background:#ffffff1a}.lang-tab[data-lang=python] .lang-tab-badge:before{background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3e%3cpath%20fill='%230288d1'%20d='M9.86%202A2.86%202.86%200%200%200%207%204.86v1.68h4.29c.39%200%20.71.57.71.96H4.86A2.86%202.86%200%200%200%202%2010.36v3.781a2.86%202.86%200%200%200%202.86%202.86h1.18v-2.68a2.85%202.85%200%200%201%202.85-2.86h5.25c1.58%200%202.86-1.271%202.86-2.851V4.86A2.86%202.86%200%200%200%2014.14%202zm-.72%201.61c.4%200%20.72.12.72.71s-.32.891-.72.891c-.39%200-.71-.3-.71-.89s.32-.711.71-.711'/%3e%3cpath%20fill='%23fdd835'%20d='M17.959%207v2.68a2.85%202.85%200%200%201-2.85%202.859H9.86A2.85%202.85%200%200%200%207%2015.389v3.75a2.86%202.86%200%200%200%202.86%202.86h4.28A2.86%202.86%200%200%200%2017%2019.14v-1.68h-4.291c-.39%200-.709-.57-.709-.96h7.14A2.86%202.86%200%200%200%2022%2013.64V9.86A2.86%202.86%200%200%200%2019.14%207zM8.32%2011.513l-.004.004.038-.004zm6.54%207.276c.39%200%20.71.3.71.89a.71.71%200%200%201-.71.71c-.4%200-.72-.12-.72-.71s.32-.89.72-.89'/%3e%3c/svg%3e");background-size:15px 15px}.lang-tab[data-lang=javascript] .lang-tab-badge:before{background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%3e%3cpath%20fill='%23ffca28'%20d='M2%202v12h12V2zm6%206h1v4a1.003%201.003%200%200%201-1%201H7a1.003%201.003%200%200%201-1-1v-1h1v1h1zm3%200h2v1h-2v1h1a1.003%201.003%200%200%201%201%201v1a1.003%201.003%200%200%201-1%201h-2v-1h2v-1h-1a1.003%201.003%200%200%201-1-1V9a1.003%201.003%200%200%201%201-1'/%3e%3c/svg%3e");background-size:15px 15px}.lang-tab[data-lang=typescript] .lang-tab-badge:before{background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xml:space='preserve'%20viewBox='0%200%2016%2016'%3e%3cpath%20fill='%230288d1'%20d='M2%202v12h12V2zm4%206h3v1H8v4H7V9H6zm5%200h2v1h-2v1h1a1.003%201.003%200%200%201%201%201v1a1.003%201.003%200%200%201-1%201h-2v-1h2v-1h-1a1.003%201.003%200%200%201-1-1V9a1.003%201.003%200%200%201%201-1'/%3e%3c/svg%3e");background-size:15px 15px}.lang-tab[data-lang=solidity] .lang-tab-badge:before{background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3e%3cg%20fill='%230288d1'%3e%3cpath%20d='m5.747%2014.046%206.254%208.61%206.252-8.61-6.254%203.807z'/%3e%3cpath%20d='M11.999%201.343%205.747%2011.83l6.252%203.807%206.253-3.807z'/%3e%3c/g%3e%3c/svg%3e");background-size:13px 14px}.wallet-btn{border:1px solid var(--border-bright);border-radius:var(--radius-sm);background:var(--surface-2);padding:6px 14px;font-size:.8rem;display:flex;align-items:center;gap:8px;color:var(--text);font-weight:500;transition:all .2s}.wallet-btn:hover{border-color:var(--accent);background:var(--accent-soft)}.wallet-btn.connected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.wallet-btn-icon{width:20px;height:20px;border-radius:var(--radius);overflow:hidden;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-2);border:1px solid var(--border)}.wallet-btn-icon img,.wallet-btn-icon svg{width:100%;height:100%;object-fit:contain}.code-editor{width:100%;min-height:210px;border:none;padding:24px;font-size:.95rem;background:#000;color:#fff;overflow:auto;resize:none;white-space:pre;overflow-wrap:normal;font-family:var(--font-mono);line-height:1.6}html.js .code-editor{color:transparent;caret-color:transparent;-webkit-text-fill-color:transparent;text-shadow:0 0 0 transparent}html.js .code-editor::selection{background:#7aa2f759}.code-editor{flex:1;min-height:0}.code-editor-host{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;position:relative}.wallet-status{font-size:.85rem;color:var(--muted)}.header-actions{display:flex;align-items:center;gap:12px}.playground-lock-btn{width:42px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-color:var(--pill-border);background:var(--surface-2);color:var(--muted);transition:background .15s,color .15s,border-color .15s,transform .15s}.playground-lock-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.playground-lock-btn.enabled{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.playground-lock-btn:active:not(:disabled){transform:translateY(1px)}.playground-lock-btn:disabled{opacity:.6;cursor:default}.settings-btn{background:transparent;border:1px solid var(--border-bright);color:var(--muted);width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:all .2s}.settings-btn:hover{color:var(--text);border-color:var(--text);background:#ffffff0d}.settings-modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto}.settings-modal-content{background:#161b22;border:1px solid #30363d;width:min(400px,90vw);border-radius:8px;box-shadow:0 10px 40px #00000080;overflow:hidden;max-height:calc(100vh - 32px);margin:auto}.settings-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #30363d;background:#0d1117}.settings-modal-header h3{font-size:1rem;margin:0;color:#c9d1d9}.close-btn{background:transparent;border:none;font-size:1.5rem;color:#8b949e;cursor:pointer;line-height:1}.close-btn:hover{color:#f0f6fc}.settings-modal-body{padding:16px}.settings-section{background:#0d1117;border:1px solid #30363d;border-radius:6px;padding:16px}.settings-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.solidity-deploy-modal [hidden]{display:none!important}.settings-info h4{margin:0 0 4px;font-size:.9rem;color:#c9d1d9}.settings-info p{margin:0;font-size:.8rem;color:#8b949e}.settings-row-stack{align-items:flex-start;flex-direction:column;gap:8px}.solidity-deploy-modal{width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 32px);border-radius:var(--radius);border-color:var(--border-bright);background:radial-gradient(circle at top left,rgba(34,197,94,.12),transparent 34%),linear-gradient(180deg,#ffffff05,#fff0),var(--surface-opaque);box-shadow:0 30px 60px #00000094;display:flex;flex-direction:column}.solidity-deploy-modal .settings-modal-header{background:#ffffff05;border-bottom:none;padding:16px 16px 12px}.solidity-deploy-modal .settings-modal-header h3{color:var(--text);letter-spacing:.01em;display:inline-flex;align-items:center;gap:8px}.sdm-header-icon{color:var(--accent);flex-shrink:0}.sdm-accent-line{height:2px;background:linear-gradient(90deg,var(--accent),rgba(34,197,94,.15),transparent);margin:0 16px;border-radius:1px}.solidity-deploy-modal .settings-modal-body{display:grid;gap:12px;padding:14px;overflow-y:auto;min-height:0}.solidity-deploy-modal .settings-section{background:linear-gradient(180deg,#ffffff08,#ffffff04);border:1px solid var(--border);border-radius:14px;padding:14px}.sdm-label{display:inline-flex;align-items:center;gap:6px;font-size:.84rem;font-weight:600;color:var(--text)}.sdm-label-hint{font-weight:400;color:var(--muted)}.sdm-icon{flex-shrink:0;opacity:.65}.settings-info h4 .sdm-icon{opacity:.8}.solidity-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}.sdm-mode-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:0}.solidity-toggle-row{display:flex;justify-content:space-between;align-items:center;min-height:38px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;background:#ffffff03;color:var(--text);font-size:.85rem;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,transform .16s ease,box-shadow .16s ease}.sdm-mode-btn{width:100%;appearance:none;text-align:left;font:inherit}.sdm-mode-btn.is-active,.sdm-mode-btn.is-active:hover,.sdm-mode-btn.is-active:focus-visible{border-color:#22c55e8f;background:linear-gradient(180deg,#22c55e29,#22c55e14);box-shadow:inset 0 1px #ffffff0a,0 12px 32px #22c55e14}.sdm-mode-btn:not(.is-active):hover{border-color:#ffffff2e;background:linear-gradient(180deg,#ffffff0b,#ffffff05);transform:translateY(-1px)}.solidity-toggle-row.is-disabled{opacity:.6}.solidity-toggle-row.is-disabled:hover{border-color:var(--border);background:#ffffff03}.sdm-toggle-label{display:inline-flex;align-items:center;gap:6px}.sdm-toggle-label .sdm-icon{opacity:.82}.sdm-mode-btn.is-active .sdm-toggle-label .sdm-icon{color:var(--accent);opacity:1}.sdm-choice-card{align-items:center;justify-content:flex-start;gap:0;min-height:58px;padding:12px;border-radius:12px;background:linear-gradient(180deg,#ffffff07,#ffffff03)}.sdm-choice-card-head{width:100%;display:flex;align-items:center;justify-content:flex-start;gap:8px}.sdm-choice-card .sdm-toggle-label{gap:8px;font-size:.9rem;font-weight:700}.sdm-mode-btn:focus-visible{outline:none;border-color:#22c55e8f;box-shadow:0 0 0 3px #22c55e1f}.sdm-toggle-switch{position:relative;display:inline-flex;align-items:center;width:36px;height:20px;flex-shrink:0}.sdm-toggle-switch input{position:absolute;opacity:0;width:0;height:0}.sdm-toggle-track{position:absolute;inset:0;background:#ffffff1a;border-radius:999px;border:1px solid var(--border);transition:background .25s cubic-bezier(.4,0,.2,1),border-color .25s;cursor:pointer}.sdm-toggle-track:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--muted);transition:transform .25s cubic-bezier(.4,0,.2,1),background .25s}.sdm-toggle-switch input:checked+.sdm-toggle-track{background:#22c55e40;border-color:#22c55e80}.sdm-toggle-switch input:checked+.sdm-toggle-track:after{transform:translate(16px);background:var(--accent);box-shadow:0 0 6px var(--accent-glow)}.solidity-detect-controls{width:100%;display:grid;grid-template-columns:minmax(0,1fr);gap:6px;align-items:center}.sdm-contract-select{position:relative}.sdm-contract-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;cursor:pointer}.sdm-contract-select-trigger:disabled{cursor:default;opacity:.65}.sdm-contract-select-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sdm-contract-select-chevron{flex-shrink:0;color:var(--muted);transition:transform .15s ease}.sdm-contract-select.is-open .sdm-contract-select-chevron{transform:rotate(180deg)}.sdm-contract-select.is-open .sdm-contract-select-trigger{border-color:var(--border);box-shadow:none}.sdm-contract-select-list{display:none;position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:120;border:1px solid var(--border-bright);border-radius:8px;background:#0d1117;padding:4px;box-shadow:0 12px 24px #00000073;max-height:220px;overflow-y:auto}.sdm-contract-select.is-open .sdm-contract-select-list{display:grid;gap:2px}.sdm-contract-option{width:100%;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text);padding:8px 10px;text-align:left;cursor:pointer;display:block}.sdm-contract-option:hover{background:#ffffff0a;border-color:#ffffff14}.sdm-contract-option.is-selected{background:transparent;border-color:transparent;font-weight:600}.sdm-contract-option-text{display:block;font-size:.84rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sdm-contract-option-meta{margin-top:4px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0;color:var(--muted);font-size:.72rem;line-height:1.25}.sdm-contract-option-badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:999px;border:1px solid var(--border);font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.sdm-contract-option-badge.is-native{border-color:#ffffff24;color:#f0f0f0b8;background:#ffffff0a}.sdm-contract-option-badge.is-sponsored{border-color:#22c55e52;color:#86efac;background:#22c55e14}.sdm-saved-deployment-option{display:block}.solidity-modal-hint.is-error{color:#fca5a5}.sdm-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#ffffff05;color:var(--muted);cursor:pointer;flex-shrink:0;padding:0}.sdm-icon-btn:hover:not(:disabled){color:var(--text);background:#ffffff0a;border-color:var(--border-bright)}.sdm-icon-btn:disabled{opacity:.5;cursor:default}.sdm-floating-tooltip{--sdm-tooltip-arrow-x: 50%;position:fixed;width:max-content;max-width:min(320px,calc(100vw - 24px));padding:7px 9px;border-radius:6px;border:1px solid rgba(255,255,255,.08);background:#000;color:#f9fafb;font-size:.72rem;line-height:1.35;white-space:normal;word-break:break-word;pointer-events:none;z-index:20050;box-sizing:border-box;box-shadow:0 10px 28px #0000006b}.sdm-floating-tooltip:after{content:"";position:absolute;left:var(--sdm-tooltip-arrow-x);transform:translate(-50%);border-left:5px solid transparent;border-right:5px solid transparent}.sdm-floating-tooltip[data-placement=top]:after{top:calc(100% + 1px);border-top:5px solid #000000}.sdm-floating-tooltip[data-placement=bottom]:after{bottom:calc(100% + 1px);border-bottom:5px solid #000000}.sdm-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 12px}.sdm-action-btn:disabled{opacity:.56;cursor:default}.solidity-modal-input,.solidity-modal-textarea{width:100%;background:#00000059;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 11px;font-size:.84rem;font-family:var(--font-mono);transition:border-color .2s,box-shadow .2s}.solidity-modal-input:focus,.solidity-modal-textarea:focus{outline:none;border-color:var(--border);box-shadow:none}.solidity-modal-textarea{resize:vertical;min-height:64px}.solidity-modal-select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 16px) calc(50% + 2px),calc(100% - 11px) calc(50% + 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:32px}.solidity-modal-select option{background:#0d1117;color:var(--text)}.sdm-constructor-inputs{width:100%;display:grid;gap:8px}.sdm-constructor-input-row{display:grid;gap:6px}.sdm-constructor-value-input{font-family:var(--font-mono);font-size:.82rem}.sdm-constructor-json{display:none}.solidity-modal-code{width:100%;display:block;padding:9px 11px;border-radius:var(--radius-sm);background:#00000059;border:1px solid var(--border);color:var(--text);word-break:break-all;font-family:var(--font-mono);font-size:.8rem}.solidity-modal-hint{margin:0;color:var(--muted);font-size:.78rem;line-height:1.35}.sdm-deploy-top-section{display:grid;gap:14px}.sdm-top-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.sdm-choice-panel{display:grid;gap:8px}.sdm-panel-heading{display:grid;gap:2px}.sdm-panel-eyebrow{color:#22c55eeb;font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.sdm-panel-heading h4{margin:0;font-size:.95rem;color:var(--text)}.sdm-panel-heading p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.45;max-width:62ch}.sdm-choice-grid{margin-bottom:0;gap:8px}.sdm-gas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sdm-network-card{position:relative;display:grid;align-content:center;gap:4px;min-height:0;min-width:168px;max-width:210px;width:max-content;justify-self:end;padding:10px 12px;border:1px solid rgba(34,197,94,.22);border-radius:12px;background:radial-gradient(circle at top right,rgba(34,197,94,.14),transparent 58%),linear-gradient(180deg,#ffffff0a,#ffffff05)}.sdm-network-card:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px #ffffff0a}.sdm-network-card-kicker{color:#f0f0f094;font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.sdm-network-card-main{display:inline-flex;align-items:center;gap:8px;min-width:0}.sdm-network-card-main .sdm-icon{color:var(--accent);opacity:.95}.sdm-network-card-value{min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--text);font-family:var(--font-mono);font-size:.8rem;font-weight:600}.sdm-callout{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:flex-start;padding:10px 12px;border-radius:12px}.sdm-callout-warning{border:1px solid rgba(245,158,11,.24);background:linear-gradient(180deg,#f59e0b1f,#f59e0b0d)}.sdm-callout-icon{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:8px;border:1px solid rgba(245,158,11,.28);background:#f59e0b24;color:#fbbf24}.sdm-callout-content{display:grid;gap:2px;min-width:0}.sdm-callout-title{color:#fde68a;font-size:.8rem;font-weight:700;line-height:1.3}.sdm-callout .solidity-modal-hint{color:#fff6d7d6;font-size:.74rem;line-height:1.45}.sdm-callout code{display:inline-block;padding:1px 5px;border-radius:6px;border:1px solid rgba(255,255,255,.08);background:#00000047;color:#fff7d6}.solidity-detect-controls .dialog-btn,.solidity-wallet-control-actions .dialog-btn{min-height:32px;font-size:.78rem;padding:0 10px}.solidity-wallet-list{display:grid;gap:2px;margin-top:10px;max-height:260px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}.solidity-wallet-list::-webkit-scrollbar{width:5px}.solidity-wallet-list::-webkit-scrollbar-track{background:transparent}.solidity-wallet-list::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.solidity-wallet-row{display:grid;grid-template-columns:18px minmax(96px,160px) minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:7px 8px;border:1px solid transparent;border-radius:6px;background:transparent;transition:background .15s,border-color .15s}.solidity-wallet-row:hover{background:#ffffff06}.solidity-wallet-row.is-selected{border-color:#3b82f659;background:#3b82f60f}.solidity-wallet-row.is-primary{border-color:#f9731640;background:#f9731608}.sdm-wr-selector{cursor:pointer;display:flex;align-items:center;justify-content:center;padding:2px}.sdm-wr-radio{width:14px;height:14px;border-radius:50%;border:2px solid var(--border-bright);background:transparent;position:relative}.sdm-wr-radio:after{content:"";position:absolute;inset:2px;border-radius:50%;background:transparent}.sdm-wr-radio.is-on{border-color:#3b82f6}.sdm-wr-radio.is-on:after{background:#3b82f6;box-shadow:none}.sdm-wr-identity{display:inline-flex;align-items:center;gap:6px;min-width:0;width:100%}.sdm-wallet-name-input{width:100%;min-width:0;max-width:none;flex:1 1 auto;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text);font-size:.8rem;font-weight:600;padding:2px 4px}.sdm-wallet-name-input:not(:focus){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sdm-wallet-name-input:hover{border-color:var(--border)}.sdm-wallet-name-input:focus{outline:none;border-color:transparent;background:transparent;box-shadow:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sdm-wallet-name-input.is-invalid{border-color:var(--danger)}.solidity-wallet-name{font-size:.8rem;font-weight:600;color:var(--text);white-space:nowrap}.solidity-wallet-badge{padding:1px 5px;border-radius:999px;border:1px solid var(--border);font-size:.6rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.solidity-wallet-badge.primary{border-color:#f9731680;background:#f973161a;color:#fdba74}.solidity-wallet-badge.selected{border-color:#22c55e66;background:#22c55e14;color:#86efac}.sdm-wr-address{font-family:var(--font-mono);font-size:.72rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.solidity-wallet-balance{font-family:var(--font-mono);font-size:.74rem;color:var(--text);white-space:nowrap;padding:2px 7px;border-radius:4px;background:#ffffff08}.sdm-wr-actions{display:inline-flex;align-items:center;gap:2px;justify-self:end}.sdm-wr-action{width:26px;height:26px;border-radius:5px;border-color:transparent;background:transparent}.sdm-wr-action:hover:not(:disabled){background:#ffffff0a;border-color:transparent}.sdm-wr-action.is-active{border-color:transparent;background:transparent}.sdm-wr-action:disabled{opacity:.38;cursor:default;transform:none}.solidity-wallet-controls{margin-top:10px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.solidity-wallet-meta{color:var(--muted);font-size:.78rem;display:inline-flex;align-items:center;gap:4px}.solidity-wallet-control-actions{display:flex;gap:8px;flex-wrap:wrap}.solidity-wallet-empty{border:1px dashed var(--border);border-radius:var(--radius-sm);padding:10px 12px;color:var(--muted);font-size:.8rem}.settings-info h4{display:inline-flex;align-items:center;gap:6px}@media(max-width:720px){.sdm-top-grid{grid-template-columns:1fr}.sdm-network-card{width:100%;max-width:none;min-width:0;justify-self:stretch}.solidity-toggle-grid,.sdm-mode-grid,.sdm-gas-grid{grid-template-columns:1fr}.solidity-detect-controls{grid-template-columns:1fr auto}.solidity-wallet-controls{align-items:flex-start;flex-direction:column}.solidity-wallet-row{grid-template-columns:18px 1fr auto;grid-template-rows:auto auto;gap:4px 6px}.sdm-wr-selector{grid-column:1;grid-row:1}.sdm-wr-identity{grid-column:2;grid-row:1}.sdm-wr-address{grid-column:2 / -1;grid-row:2}.solidity-wallet-balance{grid-column:3;grid-row:1;justify-self:end}.sdm-wr-actions{grid-column:1 / -1;grid-row:3}.sdm-choice-card{min-height:0}.solidity-deploy-modal{width:min(760px,calc(100vw - 24px));max-height:calc(100vh - 24px)}}.badge{font-size:.75rem;padding:2px 8px;border-radius:10px;font-weight:600;text-transform:uppercase}.badge-success{background:#23863633;color:#3fb950;border:1px solid rgba(35,134,54,.4)}.badge-warning{background:#bb800926;color:#d29922;border:1px solid rgba(187,128,9,.4)}.settings-actions button{width:100%;justify-content:center}.btn-action{background:#238636;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-weight:600;cursor:pointer}.btn-action:hover:not(:disabled){background:#2ea043}.btn-action:disabled{background:#238636;opacity:.5;cursor:default}.run-btn{background:var(--accent);color:#000;border:1px solid var(--accent);padding:10px 24px;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:42px;min-width:140px;white-space:nowrap;transition:all .2s cubic-bezier(.4,0,.2,1)}.run-btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.1)}.run-btn:active:not(:disabled){transform:translateY(0)}.run-btn:disabled{background:var(--accent);border-color:var(--accent);color:#0b0b0b;opacity:.5;cursor:default;box-shadow:none}.wallet-modal{display:none;position:fixed;inset:0;z-index:10000;align-items:center;justify-content:center}.wallet-modal.open{display:flex}.wallet-modal-backdrop{position:absolute;inset:0;background:#0006;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.wallet-modal-content{position:relative;background:var(--surface-opaque);border:1px solid var(--border-bright);border-radius:var(--radius);width:90%;max-width:420px;overflow:hidden;box-shadow:0 30px 60px #0009}.wallet-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border)}.wallet-modal-header h3{margin:0;font-size:1.1rem;color:var(--text);font-weight:600}.wallet-modal-close{background:transparent;border:none;color:var(--muted);font-size:1.5rem;cursor:pointer;padding:0;line-height:1;transition:color .2s}.wallet-modal-close:hover{color:var(--text)}.wallet-modal-body{padding:16px;display:flex;flex-direction:column;gap:8px}.wallet-option{display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;width:100%;text-align:left;color:var(--text);font-weight:500}.wallet-option:hover{border-color:var(--accent);background:var(--accent-soft);transform:scale(1.02)}.wallet-option:disabled{opacity:.5;cursor:not-allowed}.wallet-icon{width:40px;height:40px;border-radius:var(--radius);overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--surface-2);border:1px solid var(--border)}.wallet-icon svg,.wallet-icon img{width:80%;height:80%;object-fit:contain}.wallet-name{flex:1;font-size:.95rem;color:var(--text);font-family:inherit}.wallet-status-badge{font-size:.7rem;padding:4px 8px;border-radius:var(--radius);background:transparent;border:1px solid var(--pill-border);color:var(--accent)}.wallet-status-badge:empty{display:none}.wallet-status-badge.not-installed{border-color:var(--border);color:var(--muted)}.wallet-modal-footer{padding:16px 24px;border-top:1px solid var(--border)}.wallet-modal-footer p{margin:0;font-size:.75rem;color:var(--muted);text-align:center}.run-btn:active:not(:disabled){transform:translateY(1px)}.run-btn.loading:not(:disabled){border-style:dashed;background:transparent;color:var(--accent)}.run-btn.loading svg{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.run-btn:disabled{opacity:.5;cursor:default;border-color:var(--accent);background:var(--accent);color:#0b0b0b;box-shadow:none}.output-container{display:flex;flex-direction:column;height:var(--sandbox-pane-height);border:1px solid var(--border-bright);border-radius:var(--radius);background:#000;overflow:hidden;box-shadow:0 10px 40px #0006}@media(max-width:600px){.output-container{height:var(--mobile-output-height);transition:height .3s cubic-bezier(.4,0,.2,1)}.output-container:has(.success),.output-container:has(.error){height:300px}}.output-label{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;font-weight:700;color:var(--text);margin-bottom:4px}.output-meta{display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--muted)}.muted{color:var(--muted)}.pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-sm);font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--border-bright);background:var(--surface-2);color:var(--muted);line-height:1}.pill-dark{background:#ffffff0d;color:var(--text);border-color:var(--border-bright)}.button-tertiary{border:1px solid var(--border);background:transparent;color:var(--text);padding:6px 12px;border-radius:var(--radius)}.output{flex:1;padding:24px;font-family:var(--font-mono);font-size:.9rem;line-height:1.6;color:var(--text);overflow:auto;white-space:pre;word-break:normal;overflow-wrap:normal;background:#000;min-height:0}.output.solidity-rich{white-space:normal;word-break:break-word}.solidity-output-root{display:flex;flex-direction:column;gap:12px}.solidity-output-summary{margin:0;padding:12px;border:1px solid rgba(34,197,94,.25);border-radius:10px;background:#22c55e14;color:#d9fbe8;white-space:pre-wrap;font:inherit;line-height:1.5}.solidity-fan{border:1px solid var(--border);border-radius:10px;background:#ffffff05;overflow:hidden}.solidity-fan>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;font-size:.8rem;font-weight:600;color:var(--text)}.solidity-fan>summary::-webkit-details-marker{display:none}.solidity-fan>summary:before{content:"▸";color:var(--muted);margin-right:8px;transition:transform .2s ease}.solidity-fan[open]>summary:before{transform:rotate(90deg)}.solidity-fan-meta{color:var(--muted);font-size:.72rem;font-weight:500}.solidity-fan-body{border-top:1px solid var(--border);padding:10px 12px 12px;display:flex;flex-direction:column;gap:10px}.solidity-address-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;border:1px solid var(--border);border-radius:8px;background:#ffffff05;overflow:hidden}.solidity-address-row.is-selected{border-color:#22c55e8c;box-shadow:inset 0 0 0 1px #22c55e4d}.solidity-address-target{all:unset;cursor:pointer;display:flex;flex-direction:column;gap:2px;min-width:0;padding:8px 10px}.solidity-address-label{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.solidity-address-value{font-family:var(--font-mono);font-size:.76rem;color:var(--text);overflow:hidden;text-overflow:ellipsis}.solidity-address-copy{margin-right:8px;border:1px solid var(--border);background:transparent;color:var(--text);border-radius:7px;font-size:.72rem;line-height:1;padding:6px 8px;cursor:pointer}.solidity-address-copy:hover:not(:disabled){border-color:#22c55e8c}.solidity-address-copy:disabled{opacity:.5;cursor:not-allowed}.solidity-address-empty{color:var(--muted);font-size:.8rem}.solidity-abi-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:2px}.solidity-abi-address-wrap{display:flex;flex-direction:column;gap:2px;min-width:0}.solidity-abi-address-label{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.solidity-abi-address{font-family:var(--font-mono);font-size:.76rem;color:var(--text);overflow:hidden;text-overflow:ellipsis}.solidity-abi-tabs{display:inline-flex;align-items:center;gap:6px;margin-bottom:8px;border:1px solid var(--border);border-radius:999px;background:#ffffff05;padding:3px}.solidity-abi-tab-btn{border:1px solid transparent;background:transparent;color:var(--muted);border-radius:999px;font-size:.68rem;line-height:1;padding:6px 10px;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.solidity-abi-tab-btn.is-active{border-color:var(--border);background:#ffffff0d;color:var(--text)}.solidity-abi-tab-btn:focus-visible{outline:1px solid rgba(34,197,94,.55);outline-offset:1px}.solidity-abi-tab-count{border:1px solid var(--border);border-radius:999px;padding:2px 6px;font-size:.62rem;color:var(--muted)}.solidity-abi-tab-btn.is-active .solidity-abi-tab-count{color:var(--text)}.solidity-abi-panels{display:block}.solidity-abi-section{border:1px solid var(--border);border-radius:8px;padding:8px;background:#ffffff04;display:flex;flex-direction:column;gap:8px}.solidity-abi-section[hidden]{display:none}.solidity-abi-section h5{margin:0;color:var(--text);font-size:.74rem;text-transform:uppercase;letter-spacing:.08em}.solidity-abi-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.solidity-abi-mini-btn{border:1px solid var(--border);background:transparent;color:var(--muted);border-radius:7px;font-size:.66rem;line-height:1;padding:5px 7px;cursor:pointer}.solidity-abi-mini-btn:hover:not(:disabled){border-color:#22c55e73;color:var(--text)}.solidity-abi-mini-btn:disabled{opacity:.5;cursor:not-allowed}.solidity-abi-empty-state{color:var(--muted);font-size:.78rem}.solidity-abi-function{border:1px solid var(--border);border-radius:8px;background:#0000004d;overflow:hidden}.solidity-abi-function>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;padding:8px;font-size:.74rem}.solidity-abi-function>summary::-webkit-details-marker{display:none}.solidity-abi-signature{font-family:var(--font-mono);color:var(--text);overflow:hidden;text-overflow:ellipsis}.solidity-abi-badge{flex-shrink:0;border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:.68rem;color:var(--muted)}.solidity-abi-function.read .solidity-abi-badge{border-color:#3b82f673;color:#93c5fd}.solidity-abi-function.write .solidity-abi-badge{border-color:#f9731673;color:#fdba74}.solidity-abi-function-body{border-top:1px solid var(--border);padding:8px;display:flex;flex-direction:column;gap:8px}.solidity-abi-input-grid{display:flex;flex-direction:column;gap:6px}.solidity-abi-input-row{display:flex;flex-direction:column;gap:4px}.solidity-abi-input-label{color:var(--muted);font-size:.68rem}.solidity-abi-input{width:100%;min-width:0;border:1px solid var(--border);border-radius:7px;background:#0006;color:var(--text);font-family:var(--font-mono);font-size:.72rem;padding:6px 8px}.solidity-abi-no-inputs{color:var(--muted);font-size:.72rem}.solidity-abi-actions{display:flex;align-items:center;gap:8px}.solidity-abi-action-btn{border:1px solid var(--border);border-radius:7px;background:transparent;color:var(--text);font-size:.72rem;padding:6px 10px;cursor:pointer}.solidity-abi-action-btn.read{border-color:#3b82f673;color:#93c5fd}.solidity-abi-action-btn.write{border-color:#f9731673;color:#fdba74}.solidity-abi-action-btn:disabled{opacity:.6;cursor:not-allowed}.solidity-abi-status{font-size:.7rem;color:var(--muted)}.solidity-abi-status[data-state=idle]{color:var(--muted)}.solidity-abi-status[data-state=running]{color:#fcd34d}.solidity-abi-status[data-state=success]{color:#86efac}.solidity-abi-status[data-state=error]{color:#fca5a5}.solidity-abi-result{margin:0;border:1px solid var(--border);border-radius:7px;background:#00000080;color:var(--text);padding:8px;font-family:var(--font-mono);font-size:.7rem;line-height:1.45;white-space:pre-wrap;word-break:break-word;max-height:140px;overflow:auto}@media(max-width:900px){.solidity-abi-tabs{width:100%}.solidity-abi-tab-btn{flex:1;justify-content:center}}.output,.code-editor{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.output::-webkit-scrollbar,.code-editor::-webkit-scrollbar{width:10px;height:10px}.output::-webkit-scrollbar-track,.code-editor::-webkit-scrollbar-track{background:var(--scrollbar-track)}.output::-webkit-scrollbar-thumb,.code-editor::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:10px}.output::-webkit-scrollbar-thumb:hover,.code-editor::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}#playground .grid{align-items:stretch}.output-status-dot{width:8px;height:8px;border-radius:50%;background:var(--border)}.output-status-dot.running{background:var(--warning)}.output-status-dot.success{background:var(--accent)}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.features h3{font-size:1.25rem;margin-bottom:12px;letter-spacing:-.01em;font-weight:600}.features p{line-height:1.55;font-size:.95rem}.list{list-style:none;display:flex;flex-direction:column;gap:12px;color:var(--text);font-size:.9rem}.list.inline{flex-direction:row;flex-wrap:wrap;gap:8px}.list.inline li{border:1px solid var(--border);background:var(--surface-opaque);padding:6px 12px;border-radius:var(--radius-sm);font-size:.8rem;font-weight:500;transition:border-color .2s}.list.inline li:hover{border-color:var(--accent-glow)}.packages-panel{display:flex;flex-direction:column;gap:14px}.packages-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.pkg-category{border:1px solid var(--border);background:var(--surface-opaque);padding:20px;border-radius:var(--radius);transition:border-color .2s,transform .2s}.pkg-category:hover{border-color:var(--accent-glow);transform:translateY(-2px)}.pkg-category-title{text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;color:var(--muted);margin-bottom:10px}.pkg-pills{gap:6px}.pkg-pills li{font-size:.75rem;padding:4px 9px}.panel.code-panel{padding:0;background:var(--surface-2)}.code-header{padding:12px 20px;border-bottom:1px solid var(--border);background:var(--surface-opaque);display:flex;justify-content:space-between;align-items:center;color:var(--muted);text-transform:uppercase;letter-spacing:.2em;font-size:.75rem;font-weight:600}.copy-btn{width:36px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;gap:0;border-color:var(--pill-border);background:var(--accent-soft);color:var(--accent);transition:background .15s,color .15s,border-color .15s,transform .15s}.copy-btn:hover:not(:disabled){background:var(--accent);color:#050505}.copy-btn:active:not(:disabled){transform:translateY(1px)}.copy-icon{display:block}.copy-icon-ok{display:none}.copy-btn[data-state=copied]{background:var(--accent);color:#050505;animation:copyPulse .65s ease-out 1}.copy-btn[data-state=copied] .copy-icon-idle{display:none}.copy-btn[data-state=copied] .copy-icon-ok{display:block;animation:copyPop .18s ease-out 1}.copy-btn[data-state=copying] .copy-icon-idle{animation:copySpin .9s linear infinite}.copy-btn[data-state=error]{border-color:#ef444499;background:#ef44441f;color:#fecaca;animation:copyPulseDanger .65s ease-out 1}@keyframes copySpin{to{transform:rotate(360deg)}}@keyframes copyPop{0%{transform:scale(.9);opacity:.7}to{transform:scale(1);opacity:1}}@keyframes copyPulse{0%{box-shadow:0 0 #22c55e40}to{box-shadow:0 0 0 12px #22c55e00}}@keyframes copyPulseDanger{0%{box-shadow:0 0 #ef444440}to{box-shadow:0 0 0 12px #ef444400}}.panel.code-panel pre{border:none;background:transparent;padding:16px;border-radius:0;font-size:.76rem;line-height:1.42;color:var(--text);margin:0;overflow-x:auto;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:600px){.panel.code-panel pre{font-size:.72rem;padding:12px;white-space:pre-wrap;word-break:break-all}.example-grid{gap:12px}}.footer{padding:80px 0 40px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--muted)}.footer .links{display:flex;gap:24px}.footer a{color:var(--muted);text-decoration:none;transition:color .15s}.footer a:hover{color:var(--text)}@media(max-width:600px){.footer{flex-direction:column;gap:20px;padding:40px 0;text-align:center}.footer .links{gap:16px}}@media(max-width:720px){.site-header{grid-template-columns:1fr;gap:16px;text-align:center;padding:24px 20px}.nav-links,.nav-actions{justify-content:center}.page{padding:32px 20px 64px}.code-header{padding:10px 12px}.panel.code-panel pre{padding:12px}}.identity-modal{display:none;position:fixed;inset:0;z-index:10001;align-items:center;justify-content:center}.identity-modal.open{display:flex}.identity-modal-overlay{position:absolute;inset:0;background:#00000080;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.identity-modal-content{position:relative;background:var(--surface-opaque);border:1px solid var(--border-bright);border-radius:var(--radius);width:90%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 30px 60px #0009}.identity-modal-close{position:absolute;top:16px;right:16px;background:transparent;border:none;color:var(--muted);font-size:1.75rem;cursor:pointer;line-height:1;padding:4px;transition:color .2s;z-index:1}.identity-modal-close:hover{color:var(--text)}.identity-modal-body{padding:32px}.identity-modal-body h2{margin:0 0 16px;font-size:1.3rem;color:var(--text)}.identity-modal-body p{margin:0 0 20px;color:var(--muted);line-height:1.5}.identity-requirements{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px;margin-bottom:24px}.identity-requirements h4{margin:0 0 12px;font-size:.85rem;color:var(--text)}.identity-requirements ul{list-style:none;padding:0;margin:0}.identity-requirements li{color:#22c55e;font-size:.85rem;margin-bottom:6px}.identity-btn-primary{width:100%;padding:14px 24px;background:#22c55e!important;color:#000;border:none;border-radius:var(--radius-sm);font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s}.identity-btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px)}.identity-btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.identity-btn-link{background:transparent;border:none;color:#22c55e!important;cursor:pointer;text-decoration:underline;font-size:inherit}.identity-alt{margin-top:20px;text-align:center;color:var(--muted);font-size:.85rem}.separator{margin:0 8px;color:var(--border-bright)}.modal-header-actions{display:flex;align-items:center;gap:24px;margin-bottom:32px}.modal-back-btn{background:transparent;border:none;color:var(--text);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.modal-back-btn:hover{background:#ffffff1a}.progress-bar{display:flex;gap:8px;flex:1;max-width:200px}.progress-segment{height:4px;flex:1;background:#333;border-radius:2px}.progress-segment.active{background:#22c55e}.identity-subtitle{color:var(--muted);font-size:.95rem;line-height:1.5;margin-bottom:24px}.mnemonic-blur-container{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:32px 24px;margin-bottom:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:120px}.mnemonic-text{font-family:var(--font-mono);font-size:1.1rem;line-height:1.6;text-align:center;color:var(--text);transition:filter .3s ease;word-spacing:12px}.mnemonic-text.blurred{filter:blur(8px);-webkit-user-select:none;user-select:none}.mnemonic-reveal-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:transparent;border:none;color:var(--text);cursor:pointer;z-index:10;padding:12px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s}.mnemonic-text:not(.blurred)+.mnemonic-reveal-btn{inset:auto 8px 8px auto;transform:none;opacity:.5}.mnemonic-reveal-btn:hover{background:#ffffff1a}.mnemonic-copy-btn{display:flex;align-items:center;gap:8px;background:transparent;border:none;color:var(--text);font-size:.95rem;font-weight:500;cursor:pointer;margin-bottom:32px;padding:4px 0}.mnemonic-copy-btn:hover{text-decoration:underline}.mnemonic-copy-btn svg{opacity:.7}.identity-checkbox{display:flex;align-items:flex-start;gap:12px;margin-bottom:32px;cursor:pointer}.identity-checkbox input[type=checkbox]{width:20px;height:20px;margin-top:2px;cursor:pointer}.identity-checkbox label{font-size:.9rem;line-height:1.4;color:var(--muted);cursor:pointer}.identity-btn-primary{width:100%;padding:16px;border-radius:9999px;font-size:1.1rem;font-weight:600;background:#2b57df;color:#fff;border:none;cursor:pointer;transition:background .2s,opacity .2s}.identity-btn-primary:hover:not(:disabled){background:#2449c0}.identity-btn-primary:disabled{opacity:.4;cursor:not-allowed}.identity-checkbox{display:flex;align-items:center;gap:10px;margin-bottom:20px}.identity-checkbox input{width:18px;height:18px;accent-color:var(--accent)}.identity-checkbox label{color:var(--text);font-size:.9rem}.verify-inputs{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.verify-input-group label{display:block;margin-bottom:6px;color:var(--muted);font-size:.8rem}.verify-input{width:100%;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font-mono);font-size:.95rem}.verify-input:focus{outline:none;border-color:var(--accent)}.identity-loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px 20px}.identity-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}.identity-success{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px 20px;color:var(--accent)}.identity-success-icon{width:60px;height:60px;border:2px solid var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem}.identity-error-state{display:flex;flex-direction:column;align-items:center;gap:16px;padding:20px;text-align:center}.identity-error-icon{font-size:2.5rem}.identity-error{color:#ef4444;font-size:.85rem;padding:12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm)}@media(max-width:480px){.mnemonic-grid{grid-template-columns:repeat(2,1fr)}}.identity-indicator{width:8px;height:8px;border-radius:50%;background:var(--muted);transition:background .2s}.identity-indicator.authenticated{background:var(--accent);box-shadow:0 0 6px var(--accent)}.identity-import{padding:0}.import-textarea-group{margin-bottom:16px}.import-mnemonic-input{width:100%;padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font-mono);font-size:.9rem;line-height:1.5;resize:vertical;min-height:100px}.import-mnemonic-input:focus{outline:none;border-color:var(--accent)}.import-mnemonic-input::placeholder{color:var(--muted)}.identity-wallet-display{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.02em}.wallet-balance{font-family:var(--font-mono);font-size:.75rem;color:var(--accent);margin-left:4px;padding:2px 8px;background:var(--accent-soft);border-radius:var(--radius-sm);border:1px solid rgba(34,197,94,.2)}.wallet-copy-btn{background:transparent;border:none;color:var(--muted);cursor:pointer;padding:4px;display:inline-flex;align-items:center;justify-content:center;transition:color .2s,transform .1s;margin-left:4px}.wallet-copy-btn:hover{color:var(--text);transform:scale(1.1)}.wallet-copy-btn:active{transform:scale(.95)}.wallet-copy-btn svg{display:block}.identity-toast-container{position:absolute;top:24px;left:50%;transform:translate(-50%);z-index:20000;display:flex;flex-direction:column;gap:12px;pointer-events:none;width:100%;max-width:400px;padding:0 20px;align-items:center}.identity-toast{background:var(--surface-opaque);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;display:flex;align-items:flex-start;gap:12px;box-shadow:0 10px 40px #00000080;animation:toast-slide-in .3s cubic-bezier(.2,.8,.2,1);pointer-events:auto;max-width:100%}.identity-toast.error{border-color:#ef44444d;background:#140a0af2}.identity-toast.success{border-color:#22c55e4d;background:#09180ef2}.identity-toast.info{border-color:#3b82f64d;background:#0a101cf2}.identity-toast-icon{color:var(--muted);flex-shrink:0;margin-top:2px}.identity-toast.error .identity-toast-icon{color:var(--danger)}.identity-toast.success .identity-toast-icon{color:var(--accent)}.identity-toast.info .identity-toast-icon{color:#60a5fa}.identity-toast-content{font-size:.85rem;color:var(--text);line-height:1.5}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-slide-out{to{opacity:0;transform:translateY(-10px) scale(.95)}}.identity-toast.hiding{animation:toast-slide-out .2s cubic-bezier(.4,0,.2,1) forwards}.dialog-modal{display:none;position:fixed;inset:0;z-index:10002;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);align-items:center;justify-content:center}.dialog-modal.open{display:flex}.dialog-content{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);width:90%;max-width:400px;padding:24px;box-shadow:0 8px 32px #0006;animation:dialog-slide-up .2s ease-out}@keyframes dialog-slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.dialog-title{font-size:1.2rem;font-weight:600;margin:0 0 12px;color:var(--text)}.dialog-message{margin:0 0 24px;color:var(--muted);line-height:1.5;font-size:.95rem}.dialog-actions{display:flex;justify-content:flex-end;gap:12px}.dialog-actions-options{justify-content:stretch;flex-wrap:wrap}.dialog-btn{padding:10px 20px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s}.dialog-option-btn{flex:1 1 120px}.dialog-btn:hover{background:#ffffff0d}.dialog-btn:disabled{opacity:.56;cursor:default;pointer-events:none}.codegen-modal-overlay{display:none;position:fixed;inset:0;z-index:10003;background:#000000ad;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:center;justify-content:center;padding:20px}.codegen-modal-overlay.open{display:flex}.codegen-modal{width:min(560px,100%);border:1px solid var(--border);border-radius:20px;background:linear-gradient(180deg,#0e0e0efa,#0a0a0afa);box-shadow:0 32px 90px #00000073;overflow:hidden}.codegen-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 20px 16px;border-bottom:1px solid var(--border)}.codegen-modal-title{margin:0;font-size:1.05rem;color:var(--text)}.codegen-modal-subtitle{margin:8px 0 0;color:var(--muted);font-size:.85rem;line-height:1.5}.codegen-modal-close{width:34px;height:34px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--muted);font-size:1.4rem;line-height:1;cursor:pointer;flex-shrink:0}.codegen-modal-close:hover{color:var(--text);border-color:var(--border-bright)}.codegen-modal-body{display:flex;flex-direction:column;gap:16px;padding:18px 20px 20px}.codegen-field{display:flex;flex-direction:column;gap:8px}.codegen-field-label{color:var(--text);font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.codegen-select,.codegen-textarea{width:100%;border:1px solid var(--border);border-radius:12px;background:#ffffff08;color:var(--text);font:inherit}.codegen-select{min-height:42px;padding:0 12px}.codegen-textarea{min-height:180px;padding:12px 14px;resize:vertical;font-family:var(--font-mono);font-size:.9rem;line-height:1.5}.codegen-select:focus,.codegen-textarea:focus{outline:none;border-color:#22c55e8c;box-shadow:0 0 0 3px #22c55e1f}.codegen-modal-actions{display:flex;justify-content:flex-end;gap:12px}.receive-modal-overlay{display:none;position:fixed;inset:0;z-index:10004;background:#000000b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);align-items:center;justify-content:center;padding:20px}.receive-modal-overlay.open{display:flex}.receive-modal{width:min(420px,100%);border:1px solid var(--border);border-radius:20px;background:linear-gradient(180deg,#0e0e0efa,#080808fa);box-shadow:0 32px 90px #00000073;overflow:hidden}.receive-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 20px 16px;border-bottom:1px solid var(--border)}.receive-modal-title{margin:0;font-size:1.05rem;color:var(--text)}.receive-modal-subtitle{margin:8px 0 0;color:var(--muted);font-size:.85rem;line-height:1.5}.receive-modal-close{width:34px;height:34px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--muted);font-size:1.4rem;line-height:1;cursor:pointer;flex-shrink:0}.receive-modal-close:hover{color:var(--text);border-color:var(--border-bright)}.receive-modal-body{display:flex;flex-direction:column;gap:16px;padding:18px 20px 20px}.receive-modal-card{display:flex;flex-direction:column;gap:14px;padding:18px;border-radius:18px;border:1px solid rgba(255,255,255,.06);background:#ffffff05}.receive-modal-qr-shell{position:relative;display:flex;align-items:center;justify-content:center;min-height:280px;padding:16px;border-radius:16px;background:#fff;overflow:hidden}.receive-modal-qr-shell.is-loading .receive-modal-qr-placeholder{display:flex}.receive-modal-qr-shell.has-error{background:#ffffff08;border:1px dashed var(--border)}.receive-modal-qr{display:block;width:100%;max-width:280px;height:auto;image-rendering:pixelated}.receive-modal-qr-placeholder{display:none;position:absolute;inset:0;align-items:center;justify-content:center;padding:20px;color:#52525b;font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;text-align:center}.receive-modal-qr-error{max-width:220px;color:var(--muted);font-size:.84rem;line-height:1.5;text-align:center}.receive-modal-meta{display:flex;flex-wrap:wrap;gap:8px}.receive-modal-chip{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid var(--pill-border);background:#ffffff08;color:var(--text);font-size:.74rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.receive-modal-network-chip{color:var(--accent);border-color:#22c55e47;background:#22c55e14}.receive-modal-address-group{display:flex;flex-direction:column;gap:8px}.receive-modal-address-label{color:var(--muted);font-size:.74rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.receive-modal-address-value{padding:14px 16px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:var(--font-mono);font-size:.84rem;line-height:1.5;word-break:break-all}.receive-modal-actions{display:flex;justify-content:flex-end;gap:12px}.receive-modal-actions .dialog-btn{flex:1 1 0}.dialog-btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.dialog-btn-primary:hover{background:var(--accent);border-color:var(--accent)}.dialog-btn-danger{background:#ef4444;border-color:#ef4444;color:#fff}.dialog-btn-danger:hover{background:#dc2626}@media(max-width:600px){:root{--mobile-input-height: min(66vh, 460px);--mobile-output-height: min(34vh, 240px)}.codegen-modal-overlay{padding:12px}.codegen-modal{border-radius:16px}.receive-modal-overlay{padding:12px}.receive-modal{border-radius:16px}.codegen-modal-header,.codegen-modal-body,.receive-modal-header,.receive-modal-body{padding-left:16px;padding-right:16px}.codegen-modal-actions,.receive-modal-actions{flex-direction:column-reverse}.codegen-modal-actions .dialog-btn,.receive-modal-actions .dialog-btn{width:100%}.receive-modal-qr-shell{min-height:236px;padding:12px}.receive-modal-address-value{font-size:.8rem}.playground-footer{align-items:stretch}.wallet-status{width:100%;font-size:.82rem;line-height:1.35}.playground-footer-actions{width:100%;margin-left:0;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;justify-content:stretch}.playground-session-actions{min-width:0;margin-right:0;padding-right:0;border-right:none;gap:6px}.playground-identity-btn{flex:1 1 auto;min-width:0;max-width:100%;padding:6px 10px;gap:6px}.playground-identity-btn .identity-wallet-display{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.02em}.playground-identity-btn .wallet-balance{margin-left:auto;padding:2px 6px;font-size:.68rem;white-space:nowrap}.playground-identity-btn .wallet-copy-btn{margin-left:0;flex-shrink:0}.playground-lock-btn,.playground-upload-btn,.playground-generate-btn,.settings-btn{width:38px;height:36px}.run-btn{grid-column:1 / -1;width:100%;min-width:0;min-height:44px;padding:10px 14px;justify-content:center}.output{padding:16px 14px;font-size:.85rem}}:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,sans-serif;--surface: rgba(18, 18, 18, .7);--surface-opaque: #121212;--surface-2: rgba(0, 0, 0, .4);--border: rgba(255, 255, 255, .08);--border-bright: rgba(255, 255, 255, .15);--text: #f0f0f0;--muted: rgba(240, 240, 240, .6);--accent: #22c55e;--accent-glow: rgba(34, 197, 94, .3);--accent-soft: rgba(34, 197, 94, .08);--warning: #f59e0b;--danger: #ef4444;--pill-bg: rgba(255, 255, 255, .03);--pill-border: rgba(255, 255, 255, .1);--radius: 12px;--radius-sm: 8px;--radius-lg: 24px;--glass: blur(12px) saturate(180%);--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Courier New", monospace;--sandbox-pane-max-height: 560px;--sandbox-pane-height: min(75vh, var(--sandbox-pane-max-height));--scrollbar-track: transparent;--scrollbar-thumb: rgba(255, 255, 255, .1);--scrollbar-thumb-hover: rgba(255, 255, 255, .2);--mobile-input-height: 300px}body{min-height:100vh;color:var(--text);display:flex;justify-content:center;margin:0;-webkit-font-smoothing:antialiased}body.dragging{cursor:default!important;-webkit-user-select:none;user-select:none}body.dragging *{cursor:default!important}.editor-page{width:100%;max-width:1000px;padding:40px 20px;display:flex;flex-direction:column;height:100vh;box-sizing:border-box}@media(max-width:600px){.editor-page{padding:20px 12px}}.playground{border:1px solid var(--border-bright);border-radius:var(--radius);overflow:hidden;background:#000;display:flex;flex-direction:column;flex:1;height:var(--sandbox-pane-height);max-height:var(--sandbox-pane-height);box-shadow:0 10px 40px #0006}.playground-ide .playground,.playground-ide .output-container{border:none;border-radius:0;box-shadow:none;height:100%;max-height:100%}.playground-ide .input-panel,.playground-ide .output-panel{border-radius:0}@media(max-width:600px){.playground{height:var(--mobile-input-height);max-height:var(--mobile-input-height)}}.playground-header,.playground-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--border);background:var(--surface-opaque)}.playground-ide .playground-header,.playground-ide .output-header{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;height:58px;min-height:58px;padding:12px 20px;border-bottom:1px solid #1f1f1f;background:var(--surface-opaque)}@media(max-width:600px){.playground-header,.playground-footer{padding:10px 12px}.playground-ide .playground-header,.playground-ide .output-header{height:52px;min-height:52px;padding:10px 12px}.lang-tab{padding:6px 10px;font-size:.7rem}.lang-tab-badge{width:13px;height:13px}}.playground-footer{border-bottom:none;border-top:1px solid var(--border)}.playground-session-actions{border-right:none;padding-right:0;margin-right:0}@media(min-width:901px){.playground-ide .playground-header>.playground-identity-btn{margin-left:auto;flex-shrink:0}.playground-ide .playground-header .playground-session-actions{margin-left:auto;margin-right:0;padding-right:0;border-right:none;flex-shrink:0}}.playground-footer-actions .settings-btn,.playground-footer-actions .playground-generate-btn,.playground-footer-actions .playground-lock-btn,.playground-footer-actions .playground-backup-btn,.playground-footer-actions .playground-upload-btn{width:34px;height:34px;padding:0;border-radius:var(--radius-sm);border:1px solid var(--pill-border);background:var(--surface-2);color:var(--muted);display:inline-flex;align-items:center;justify-content:center;line-height:1;flex-shrink:0;transition:background .15s,color .15s,border-color .15s,transform .15s}.playground-footer-actions .settings-btn svg,.playground-footer-actions .playground-generate-btn svg,.playground-footer-actions .playground-lock-btn svg,.playground-footer-actions .playground-backup-btn svg,.playground-footer-actions .playground-upload-btn svg{width:15px;height:15px}.playground-footer-actions .settings-btn:hover:not(:disabled),.playground-footer-actions .playground-generate-btn:hover:not(:disabled),.playground-footer-actions .playground-lock-btn:hover:not(:disabled),.playground-footer-actions .playground-backup-btn:hover:not(:disabled),.playground-footer-actions .playground-upload-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.playground-footer-actions .settings-btn:active:not(:disabled),.playground-footer-actions .playground-generate-btn:active:not(:disabled),.playground-footer-actions .playground-lock-btn:active:not(:disabled),.playground-footer-actions .playground-backup-btn:active:not(:disabled),.playground-footer-actions .playground-upload-btn:active:not(:disabled){transform:translateY(1px)}.playground-footer-actions .settings-btn:disabled,.playground-footer-actions .playground-generate-btn:disabled,.playground-footer-actions .playground-lock-btn:disabled,.playground-footer-actions .playground-backup-btn:disabled,.playground-footer-actions .playground-upload-btn:disabled{opacity:.6;cursor:default}.playground-footer-actions .playground-lock-btn.enabled{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.lang-tabs{display:flex;align-items:center;gap:0;border-bottom:1px solid #1f1f1f;background:#252526;border-radius:0;overflow:hidden}.lang-tab{position:relative;display:inline-flex;align-items:center;gap:8px;border:none;border-right:1px solid #1f1f1f;background:transparent;font-size:.78rem;padding:8px 14px;margin-bottom:0;border-radius:0;cursor:pointer;color:#9da1a6;font-weight:500;box-shadow:inset 0 2px #22c55e00;transition:color .18s ease,background .18s ease,box-shadow .18s ease}.lang-tab-badge{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;border-radius:2px;border:none;background:transparent;box-shadow:none}.lang-tab-badge:before{content:"";display:block;width:16px;height:16px;background-repeat:no-repeat;background-position:center;background-size:contain}.lang-tab[data-lang=python] .lang-tab-badge:before{background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3e%3cpath%20fill='%230288d1'%20d='M9.86%202A2.86%202.86%200%200%200%207%204.86v1.68h4.29c.39%200%20.71.57.71.96H4.86A2.86%202.86%200%200%200%202%2010.36v3.781a2.86%202.86%200%200%200%202.86%202.86h1.18v-2.68a2.85%202.85%200%200%201%202.85-2.86h5.25c1.58%200%202.86-1.271%202.86-2.851V4.86A2.86%202.86%200%200%200%2014.14%202zm-.72%201.61c.4%200%20.72.12.72.71s-.32.891-.72.891c-.39%200-.71-.3-.71-.89s.32-.711.71-.711'/%3e%3cpath%20fill='%23fdd835'%20d='M17.959%207v2.68a2.85%202.85%200%200%201-2.85%202.859H9.86A2.85%202.85%200%200%200%207%2015.389v3.75a2.86%202.86%200%200%200%202.86%202.86h4.28A2.86%202.86%200%200%200%2017%2019.14v-1.68h-4.291c-.39%200-.709-.57-.709-.96h7.14A2.86%202.86%200%200%200%2022%2013.64V9.86A2.86%202.86%200%200%200%2019.14%207zM8.32%2011.513l-.004.004.038-.004zm6.54%207.276c.39%200%20.71.3.71.89a.71.71%200%200%201-.71.71c-.4%200-.72-.12-.72-.71s.32-.89.72-.89'/%3e%3c/svg%3e");background-size:15px 15px}.lang-tab[data-lang=python] .lang-tab-badge{background:transparent}.lang-tab[data-lang=javascript] .lang-tab-badge:before{background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%3e%3cpath%20fill='%23ffca28'%20d='M2%202v12h12V2zm6%206h1v4a1.003%201.003%200%200%201-1%201H7a1.003%201.003%200%200%201-1-1v-1h1v1h1zm3%200h2v1h-2v1h1a1.003%201.003%200%200%201%201%201v1a1.003%201.003%200%200%201-1%201h-2v-1h2v-1h-1a1.003%201.003%200%200%201-1-1V9a1.003%201.003%200%200%201%201-1'/%3e%3c/svg%3e");background-size:15px 15px}.lang-tab[data-lang=javascript] .lang-tab-badge{background:transparent}.lang-tab[data-lang=typescript] .lang-tab-badge:before{background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xml:space='preserve'%20viewBox='0%200%2016%2016'%3e%3cpath%20fill='%230288d1'%20d='M2%202v12h12V2zm4%206h3v1H8v4H7V9H6zm5%200h2v1h-2v1h1a1.003%201.003%200%200%201%201%201v1a1.003%201.003%200%200%201-1%201h-2v-1h2v-1h-1a1.003%201.003%200%200%201-1-1V9a1.003%201.003%200%200%201%201-1'/%3e%3c/svg%3e");background-size:15px 15px}.lang-tab[data-lang=typescript] .lang-tab-badge{background:transparent}.lang-tab[data-lang=solidity] .lang-tab-badge:before{background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3e%3cg%20fill='%230288d1'%3e%3cpath%20d='m5.747%2014.046%206.254%208.61%206.252-8.61-6.254%203.807z'/%3e%3cpath%20d='M11.999%201.343%205.747%2011.83l6.252%203.807%206.253-3.807z'/%3e%3c/g%3e%3c/svg%3e");background-size:13px 14px}.lang-tab[data-lang=solidity] .lang-tab-badge{background:transparent}.lang-tab-label{line-height:1}.lang-tab:before{content:"";position:absolute;top:0;bottom:0;left:0;width:1px;transform:scaleX(.25);transform-origin:left;background:var(--accent);opacity:0;transition:opacity .18s ease}.lang-tab:after{content:"";position:absolute;top:0;bottom:0;right:0;width:1px;transform:scaleX(.25);transform-origin:right;background:var(--accent);opacity:0;transition:opacity .18s ease}.lang-tab:hover{color:#d4d4d4;background:#2a2d2e}.lang-tab.active{color:#fff;background:#1e1e1e;box-shadow:inset 0 2px 0 var(--accent)}.lang-tab.active:before,.lang-tab.active:after{opacity:1}.lang-tab:last-child{border-right:none}.lang-tab:last-child:after{display:none}.lang-tab:first-child:before{display:none}.code-editor-shell{--editor-pad-block: 24px;--editor-pad-inline: 20px;--editor-pad-inline-end: 20px;--editor-pad-bottom: calc(var(--sandbox-pane-height) - 1.8em);--editor-hscroll-size: 10px;flex:1;min-height:0;position:relative;display:grid;grid-template-columns:60px 1fr 60px;grid-template-rows:minmax(0,1fr) var(--editor-hscroll-size);overflow:hidden;background:linear-gradient(180deg,#ffffff05 0,#fff0 56px),#000;border:none;border-radius:0;box-shadow:inset 0 1px #ffffff0a}.code-editor-shell:not(.has-horizontal-overflow){--editor-hscroll-size: 0px}@media(max-width:600px){.code-editor-shell{grid-template-columns:42px 1fr 38px;--editor-hscroll-size: 10px;--editor-pad-inline: 12px}.code-editor-gutter{padding-left:8px;padding-right:8px;font-size:.85rem}.code-editor-input,.code-editor-highlight{font-size:.85rem}.code-editor-gutter-right{scrollbar-width:none;scrollbar-gutter:auto}.code-editor-gutter-right::-webkit-scrollbar{width:0;height:0}.code-editor-minimap-slider{min-height:32px;touch-action:none}.code-editor-minimap-slider.visible{opacity:.65}.code-editor-minimap-slider.active{border-left-width:2px}}.code-editor-shell.drag-over{outline:2px dashed rgba(34,197,94,.85);outline-offset:-2px}.code-editor-shell.drag-over:after{content:"Drop code or backup (.py/.js/.ts/.json)";position:absolute;inset:0;display:grid;place-items:center;background:#22c55e14;color:#e8e8e8e6;letter-spacing:.12em;text-transform:uppercase;font-size:.75rem;pointer-events:none;z-index:100}.code-editor-gutter{grid-column:1;grid-row:1;padding:var(--editor-pad-block) 12px var(--editor-pad-bottom);border-right:1px solid var(--border);color:#ffffff52;text-align:right;white-space:pre;-webkit-user-select:none;user-select:none;overflow:hidden;line-height:1.6;font-family:var(--font-mono);font-size:.95rem;background:#ffffff06}.code-editor-gutter-line{display:block;padding-right:3px;border-right:2px solid transparent;transition:color .12s ease,border-color .12s ease,background .12s ease}.code-editor-gutter-line.is-lint-error{color:#ef4444f2;font-weight:600}.code-editor-gutter-line.is-active-line{color:#dbe4f2e6;background:transparent;border-right-width:2px;border-right-color:#7aa2f7b8;font-weight:600}.code-editor-gutter-line.is-lint-error.is-active-line{color:#fcd4d4e6;background:transparent;border-right-width:2px;border-right-color:#ef4444b8}.code-editor-gutter-right{--editor-vscroll-track: rgba(255, 255, 255, .03);--editor-vscroll-thumb: rgba(150, 150, 150, .55);--editor-vscroll-thumb-hover: rgba(175, 175, 175, .72);grid-column:3;grid-row:1;border-left:1px solid var(--border);border-right:1px solid rgba(255,255,255,.14);background:#ffffff08;overflow-y:scroll;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--editor-vscroll-thumb) var(--editor-vscroll-track);scrollbar-gutter:stable;position:relative}.code-editor-gutter-right-shim{width:100%;min-height:100%;box-sizing:border-box;border-right:none;pointer-events:none}.code-editor-gutter-right::-webkit-scrollbar{width:10px}.code-editor-gutter-right::-webkit-scrollbar-track{background:var(--editor-vscroll-track);border-left:none;box-shadow:none}.code-editor-gutter-right::-webkit-scrollbar-thumb{background:var(--editor-vscroll-thumb);border-radius:10px}.code-editor-gutter-right::-webkit-scrollbar-thumb:hover{background:var(--editor-vscroll-thumb-hover)}.code-editor-minimap-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:5}.code-editor-minimap{position:absolute;top:0;left:0;width:100%;height:100%;background:transparent}.code-editor-minimap-slider{position:absolute;top:0;left:0;width:100%;background:#ffffff0d;cursor:default;z-index:10;opacity:0;transition:opacity .3s ease;border-left:2px solid transparent}.code-editor-minimap-slider.visible{opacity:.4;pointer-events:auto}.code-editor-minimap-slider.active{opacity:1!important;background:#7aa2f733;border-left:3px solid #7aa2f7;cursor:default}.code-editor-highlight,.code-editor-input{grid-column:2;grid-row:1;padding:var(--editor-pad-block) 0 var(--editor-pad-bottom) var(--editor-pad-inline);margin:0;border:none;background:transparent;font-family:var(--font-mono);font-size:.95rem;line-height:1.6}.code-editor-input{resize:none;outline:none;overflow-x:hidden;overflow-y:scroll;scrollbar-width:none;color:transparent;caret-color:transparent;white-space:pre;overflow-wrap:normal;z-index:3;border-right:20px solid transparent}.code-editor-input::-webkit-scrollbar{display:none}.code-editor-highlight{pointer-events:none;overflow:hidden;white-space:pre;color:#f7f7f7;position:relative;z-index:1}.code-editor-highlight-code{display:block;padding-right:20px;width:max-content;min-width:100%;text-shadow:0 0 0 rgba(255,255,255,.02)}.code-editor-line-indicator{position:absolute;left:calc(-1 * var(--editor-pad-inline));background:linear-gradient(180deg,#7aa2f700 0px 2px,#7aa2f711 2px calc(100% - 2px),#7aa2f700 calc(100% - 2px) 100%),linear-gradient(90deg,#7aa2f714,#7aa2f708 55%,#7aa2f700);border-left:1px solid rgba(122,162,247,.28);box-shadow:inset 0 1px #7aa2f714,inset 0 -1px #7aa2f70f;border-radius:0;z-index:0;pointer-events:none;transition:top .08s ease,opacity .12s ease}.code-editor-lint-line-indicator{position:absolute;left:calc(-1 * var(--editor-pad-inline));background:#ef444429;box-shadow:0 0 0 1px #ef444473 inset;border-radius:4px;z-index:0;pointer-events:none}.code-editor-caret{position:absolute;width:2px;background:#9cdcfe;box-shadow:0 0 0 1px #0000006b,0 0 10px #9cdcfe52;animation:blink-caret 1.1s steps(1,start) infinite;z-index:2}.code-editor-input::selection{background:#7aa2f761}@keyframes blink-caret{0%,to{opacity:0}50%{opacity:1}}.tok-keyword{color:#7aa2f7}.tok-string{color:#9ece6a}.tok-comment{color:#565f89;font-style:italic}.tok-number{color:#ff9e64}.tok-builtin{color:#bb9af7}.code-editor-gutter-bottom{grid-column:2;grid-row:2;background:transparent;border-top:none;overflow-x:auto;overflow-y:hidden;position:relative;height:var(--editor-hscroll-size);scrollbar-width:thin;scrollbar-color:rgba(121,121,121,.4) transparent;z-index:10}.code-editor-shell:not(.has-horizontal-overflow) .code-editor-gutter-bottom,.code-editor-shell:not(.has-horizontal-overflow) .code-editor-gutter-corner{visibility:hidden;pointer-events:none}.code-editor-gutter-bottom:after{content:none;position:absolute;right:0;top:0;width:1px;height:100%;background:var(--border);pointer-events:none;z-index:20}.code-editor-gutter-bottom::-webkit-scrollbar{height:var(--editor-hscroll-size)}@media(max-width:600px){:root{--mobile-input-height: min(66vh, 460px)}.playground-footer{padding:7px 10px;gap:5px;align-items:stretch}.wallet-status{width:100%;font-size:.75rem;line-height:1.2}.playground-footer-actions{width:100%;margin-left:0;display:grid;grid-template-columns:minmax(0,1fr) auto auto auto auto;gap:5px;align-items:center;justify-content:stretch}.playground-session-actions{min-width:0;gap:3px}.playground-identity-btn{flex:1 1 auto;min-width:0;max-width:100%;min-height:32px;padding:3px 8px;gap:5px;font-size:.72rem;border-radius:12px}.playground-identity-btn .identity-wallet-display{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.01em}.playground-identity-btn .wallet-balance{margin-left:auto;padding:1px 4px;font-size:.6rem;white-space:nowrap}.playground-identity-btn .wallet-copy-btn{display:none}.playground-generate-btn,.playground-lock-btn,.playground-upload-btn,.playground-backup-btn,.settings-btn{width:32px;height:32px}.run-btn{grid-column:1 / -1;width:100%;min-height:40px;padding:8px 10px;justify-content:center}}@media(max-width:420px){.lang-tabs{overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.lang-tabs::-webkit-scrollbar{display:none}.lang-tab{flex:0 0 auto}}.code-editor-gutter-bottom::-webkit-scrollbar-track{background:transparent}.code-editor-gutter-bottom::-webkit-scrollbar-thumb{background:#79797966;border-radius:10px}.code-editor-gutter-bottom::-webkit-scrollbar-thumb:hover{background:#79797999}.code-editor-hscroll-shim{height:1px;pointer-events:none}.code-editor-gutter-corner{grid-column:3;grid-row:2;background:#0003;border-left:1px solid var(--border);border-right:1px solid rgba(255,255,255,.14)}
