:root{--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-navbar: #101018;--text-primary: #e8e8ed;--text-secondary: #9898a6;--border-color: #1e1e2e;--accent: #4da2ff;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.6;font-weight:400;color:var(--text-primary);background-color:var(--bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;min-width:320px}#root{height:100vh;display:flex;flex-direction:column;overflow:hidden}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.navbar{display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:64px;flex-shrink:0;background-color:var(--bg-navbar);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100}.navbar__home-btn{background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center}.navbar__logo{height:36px;display:block}.navbar__right{display:flex;align-items:center;gap:12px;margin-left:auto}.navbar__address{font-family:monospace;font-size:.85rem;padding:.25rem .6rem;border-radius:999px;background:var(--bg-secondary);color:var(--text-secondary)}.navbar__auth-btn{cursor:pointer;padding:6px;border-radius:8px;border:none;background:transparent;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.navbar__auth-btn:hover{background-color:var(--bg-secondary)}.navbar__auth-btn:disabled{opacity:.5;cursor:not-allowed}.navbar__auth-icon{width:24px;height:24px;color:var(--text-primary)}.home{flex:1;display:flex;flex-direction:column;align-items:center;padding:2rem;gap:2.5rem;overflow-y:auto;min-height:0}.home__hero{text-align:center;max-width:520px}.home__hero-img{max-width:400px;width:100%;height:auto;margin-bottom:1.25rem}.home__title{font-size:2rem;font-weight:700;margin-bottom:.5rem}.home__subtitle{color:var(--text-secondary);font-size:1.05rem;line-height:1.5}.home__github{padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px}.home__github-form{display:flex;gap:.5rem}.home__github-input{flex:1;padding:.5rem .75rem;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);font-size:.85rem;font-family:monospace;outline:none;transition:border-color .2s}.home__github-input::placeholder{color:var(--text-secondary);opacity:.6}.home__github-input:focus{border-color:var(--accent)}.home__github-btn{padding:.5rem 1rem;border-radius:8px;border:none;background:var(--accent);color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:opacity .2s}.home__github-btn:hover{opacity:.85}.home__github-btn:disabled{opacity:.5;cursor:not-allowed}.home__error{margin-top:.5rem;padding:.5rem .75rem;border-radius:8px;border:1px solid rgba(248,113,113,.4);background:#f8717114;color:#fca5a5;font-size:.8rem}.home__token-toggle{position:relative;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;border:1px solid var(--border-color);background:transparent;font-size:1rem;cursor:pointer;flex-shrink:0;transition:border-color .2s,background .2s}.home__token-toggle:hover,.home__token-toggle.active{border-color:var(--accent);background:#ffffff0d}.home__token-dot{position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%;background:var(--accent)}.home__token-panel{margin-top:.5rem;padding:.75rem;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-primary)}.home__token-input-row{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.home__token-input{flex:1;min-width:180px;padding:.35rem .5rem;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);font-size:.75rem;font-family:monospace}.home__token-input:focus{border-color:var(--accent);outline:none}.home__token-btn{padding:.35rem .6rem;border-radius:6px;border:1px solid var(--border-color);background:#ffffff0f;color:var(--text-primary);font-size:.7rem;cursor:pointer;white-space:nowrap;transition:border-color .2s}.home__token-btn:hover{border-color:var(--accent)}.home__token-btn--clear{border-color:#f8717166;color:#fca5a5}.home__token-btn--clear:hover{border-color:#f87171}.home__token-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem;margin-top:.5rem;font-size:.65rem;color:var(--text-secondary)}.home__token-create{padding:.2rem .5rem;border-radius:4px;border:1px solid var(--border-color);color:var(--text-primary);text-decoration:none;font-size:.65rem;transition:border-color .2s}.home__token-create:hover{border-color:var(--accent)}.home__token-hint{margin-top:.35rem;font-size:.6rem;color:var(--text-secondary);opacity:.7;text-align:right}.home__section{width:100%;max-width:680px}.home__section-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;margin-bottom:.75rem}.home__section-icon{width:20px;height:20px;border-radius:4px;object-fit:contain;flex-shrink:0}.home__section-icon[src$=".svg"]{filter:brightness(0) invert(1)}.home__section-icon[src="/sui.svg"]{width:20px;height:20px;padding:2px;box-sizing:border-box}.home__section-link{margin-left:auto;display:flex;align-items:center;opacity:.5;transition:opacity .15s}.home__section-link:hover{opacity:1}.home__tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}.home__tile{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:1.25rem .75rem;border-radius:12px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;text-align:center;transition:border-color .2s,box-shadow .2s}.home__tile:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.home__tile:disabled{opacity:.5;cursor:not-allowed}.home__tile-name{font-size:.9rem;font-weight:600}.home__tile-desc{font-size:.78rem;color:var(--text-secondary)}@media(max-width:600px){.home{padding:1.25rem 1rem;gap:1.5rem;justify-content:flex-start}.home__hero-img{max-width:240px}.home__subtitle{font-size:.9rem}.home__github{flex-direction:column;align-items:stretch;gap:.5rem}.home__tiles{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.home__tile{padding:1rem .5rem}}.playground{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.playground__tabs{display:flex;flex-shrink:0;align-items:center;gap:.25rem;padding:.5rem 1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);overflow-x:auto}.playground__tab{padding:.35rem .75rem;border-radius:8px;border:1px solid transparent;background:none;color:var(--text-secondary);font-size:.75rem;font-family:monospace;cursor:pointer;white-space:nowrap;transition:background-color .15s,color .15s}.playground__tab:hover{background:var(--bg-primary)}.playground__tab--active{color:var(--text-primary);background:var(--bg-primary);border-color:var(--border-color)}.playground__tab--hidden{cursor:default;border-color:var(--border-color);opacity:.7}.playground__body{flex:1;display:flex;min-height:0}.playground__editor{flex:1;min-height:0;min-width:0;overflow:hidden}.playground__editor>div{height:100%}.playground__editor .cm-editor{height:100%!important}.playground__editor .cm-editor .cm-scroller{overflow:auto!important;overscroll-behavior:none}.playground__console{flex-shrink:0;max-height:0;overflow:hidden;background:var(--bg-secondary);border-top:1px solid transparent;transition:max-height .25s ease,border-color .25s ease}.playground__console--open{max-height:33vh;overflow-y:auto;overscroll-behavior:none;border-top-color:var(--border-color)}.playground__console-body{padding:.5rem 1rem;font-family:JetBrains Mono,monospace;font-size:.75rem;line-height:1.6}.playground__console-line{color:var(--text-secondary);padding:1px 0}.playground__deploy-info{padding:.5rem 1rem;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:.35rem}.playground__deploy-status{color:var(--text-primary);font-size:.78rem;font-weight:700}.playground__deploy-row{display:flex;align-items:center;gap:.5rem;font-size:.75rem}.playground__deploy-label{color:var(--text-secondary);font-weight:600;white-space:nowrap}.playground__deploy-value{color:var(--text-primary);font-family:monospace;font-size:.7rem;word-break:break-all;flex:1;min-width:0}.playground__deploy-link{color:var(--accent);text-decoration:none;font-size:.7rem;white-space:nowrap;flex-shrink:0}.playground__deploy-link:hover{text-decoration:underline}.playground__actions{flex-shrink:0;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-secondary);border-top:1px solid var(--border-color)}.playground__btn{display:flex;align-items:center;gap:.4rem;padding:.5rem 1.25rem;border-radius:10px;border:none;font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .2s}.playground__btn:hover{opacity:.85}.playground__btn:disabled{opacity:.5;cursor:not-allowed}.playground__btn--build-deploy{background:var(--accent);color:#fff}.playground__btn--toggle{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);font-size:.8rem;padding:.5rem .75rem}.playground__btn-icon{width:18px;height:18px;filter:brightness(0) invert(.7)}.playground__btn--toggle:not(:disabled):hover .playground__btn-icon{filter:brightness(0) invert(1)}.playground__spacer{flex:1}.playground__network-select{padding:.4rem .6rem;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-secondary);font-size:.78rem;font-weight:600;cursor:pointer;outline:none;transition:border-color .2s}.playground__network-select:hover{border-color:var(--accent)}.playground__network-select:disabled{opacity:.5;cursor:not-allowed}@media(max-width:600px){.playground__actions{gap:.5rem;padding:.65rem}.playground__btn{padding:.5rem .8rem;white-space:nowrap}.playground__network-select{max-width:96px}}
