*{box-sizing:border-box;margin:0;padding:0}body{background:#fff;color:#202124;font-family:Google Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}.loading-screen{align-items:center;color:#5f6368;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:100vh}.loading-spinner{animation:spin .8s linear infinite;border:3px solid #e8eaed;border-radius:50%;border-top-color:#4949b4;height:32px;width:32px}.admin-page:has(>.loading-spinner:only-child),.api-keys-page:has(>.loading-spinner:only-child),.playground-page:has(>.loading-spinner:only-child),.settings-page:has(>.loading-spinner:only-child){align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 64px)}.login-page{align-items:center;background:#f8f9fa;display:flex;justify-content:center;min-height:100vh;padding:24px}.login-container{max-width:400px;width:100%}.login-header{margin-bottom:32px;text-align:center}.login-logo{height:64px;margin-bottom:16px;width:auto}.login-header h1{color:#202124;font-size:28px;font-weight:400;margin-bottom:8px}.login-subtitle{color:#5f6368;font-size:18px;font-weight:400;margin-bottom:4px}.login-header p{color:#5f6368;font-size:14px}.login-buttons{background:#fff;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.1);display:flex;flex-direction:column;gap:12px;padding:24px}.login-btn{align-items:center;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;justify-content:center;padding:12px 24px;transition:background .15s,box-shadow .15s;width:100%}.login-btn-icon{height:20px;width:20px}.login-btn-google{background:#fff;border:1px solid #dadce0;color:#202124}.login-btn-google:hover{background:#f8f9fa;box-shadow:0 1px 3px rgba(0,0,0,.1)}.login-btn-google:disabled{cursor:not-allowed;opacity:.6}.login-btn-email{background:#fff;border:1px solid #dadce0;color:#202124}.login-btn-email:hover:not(:disabled){background:#f8f9fa;box-shadow:0 1px 3px rgba(0,0,0,.1)}.login-btn-email:disabled{cursor:not-allowed;opacity:.5}.login-footer{color:#80868b;font-size:12px;margin-top:24px;text-align:center}.login-divider{align-items:center;color:#80868b;display:flex;font-size:12px;gap:12px}.login-divider:after,.login-divider:before{background:#dadce0;content:"";flex:1;height:1px}.login-form{gap:16px}.login-form,.login-input-group{display:flex;flex-direction:column}.login-input-group{gap:6px;text-align:left}.login-input-group label{color:#5f6368;font-size:13px;font-weight:500}.login-input{border:1px solid #dadce0;border-radius:8px;color:#202124;font-family:inherit;font-size:14px;outline:none;padding:10px 14px;transition:border-color .15s;width:100%}.login-input:focus{border-color:#4949b4}.login-form-submit{align-items:center;background:#0b1220;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:14px;font-weight:500;justify-content:center;padding:12px 24px;transition:opacity .15s;width:100%}.login-form-submit:hover{opacity:.9}.login-form-submit:disabled{cursor:not-allowed;opacity:.6}.login-btn-signup{background:transparent;border:1.5px solid #dadce0;color:#0b1220}.login-btn-signup:hover{background:#f8f9fa;border-color:#0b1220;opacity:1}.login-form-footer{color:#5f6368;display:flex;flex-direction:column;font-size:13px;gap:8px;text-align:center}.login-link{background:none;border:none;color:#4949b4;cursor:pointer;font-family:inherit;font-size:13px;padding:0}.login-link:hover{text-decoration:underline}.auth-error,.login-error{background:#fce8e6;border:1px solid #f5c6cb;border-radius:6px;color:#c5221f;font-size:13px;line-height:1.4;padding:10px 16px;text-align:center;white-space:pre-line}.verify-page{align-items:center;background:#f8f9fa;display:flex;justify-content:center;min-height:100vh;padding:24px}.verify-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.1);max-width:400px;padding:32px 24px;text-align:center;width:100%}.verify-container h1{color:#202124;font-size:22px;font-weight:500;margin-bottom:8px}.verify-email-display{color:#5f6368;font-size:14px;margin-bottom:24px}.verify-email-address{color:#202124;font-weight:500}.verify-code-inputs{display:flex;gap:8px;justify-content:center;margin-bottom:24px}.verify-code-input{border:1px solid #dadce0;border-radius:8px;color:#202124;font-family:SF Mono,Fira Code,Courier New,monospace;font-size:24px;font-weight:600;height:56px;outline:none;text-align:center;transition:border-color .15s;width:48px}.verify-code-input:focus{border-color:#4949b4}.verify-code-input.error{animation:shake .4s ease-in-out;border-color:#d93025}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}.verify-resend{color:#5f6368;font-size:13px;margin-top:16px}.verify-resend-btn{background:none;border:none;color:#4949b4;cursor:pointer;font-family:inherit;font-size:13px;padding:0}.verify-resend-btn:disabled{color:#80868b;cursor:not-allowed}.verify-resend-btn:hover:not(:disabled){text-decoration:underline}.verify-logout{margin-top:20px}.app-layout{display:flex;min-height:100vh}.sidebar-container{flex-shrink:0;height:100vh;overflow:visible;position:sticky;top:0;width:256px}.app-layout.playground-mode .sidebar-container{overflow:visible;width:0}.sidebar{background:#f8f9fa;border-right:1px solid #e8eaed;display:flex;flex-direction:column;flex-shrink:0;height:100vh;min-width:256px;transform:translateX(0);transition:transform .3s ease-out;width:256px}.app-layout.playground-mode .sidebar{transform:translateX(-256px)}.app-layout.playground-mode .sidebar:hover,.app-layout.playground-mode:has(.hamburger-area:hover) .sidebar{transform:translateX(0)}.app-layout.sidebar-transitioning .sidebar{pointer-events:none;transform:translateX(-256px)!important}.sidebar-header{align-items:center;border-bottom:1px solid #e8eaed;display:flex;gap:12px;padding:16px 20px}.sidebar-logo{height:32px;width:auto}.sidebar-title{color:#202124;font-size:18px;font-weight:500}.sidebar-nav{flex:1;overflow-y:auto;padding:12px 0}.sidebar-section{padding:0 12px}.sidebar-nav-item{align-items:center;border-radius:24px;color:#5f6368;display:flex;font-size:14px;font-weight:500;gap:12px;padding:10px 16px;text-decoration:none;transition:background .15s,color .15s}.sidebar-nav-item:hover{background:#e8eaed;color:#202124}.sidebar-nav-item.active{background:#e8f0fe;color:#1a73e8}.sidebar-divider{background:#e8eaed;height:1px;margin:12px 20px}.sidebar-footer{border-top:1px solid #e8eaed;gap:8px;padding:12px 16px}.sidebar-footer,.sidebar-user{align-items:center;display:flex}.sidebar-user{flex:1;gap:10px;min-width:0}.sidebar-user-avatar,.sidebar-user-avatar-placeholder{border-radius:50%;flex-shrink:0;height:32px;width:32px}.sidebar-user-avatar-placeholder{align-items:center;background:#1a73e8;color:#fff;display:flex;font-size:14px;font-weight:500;justify-content:center}.sidebar-user-info{display:flex;flex:1;flex-direction:column;min-width:0}.sidebar-user-name{color:#202124;font-size:13px;font-weight:500}.sidebar-user-email,.sidebar-user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-email{color:#5f6368;font-size:11px}.sidebar-logout-btn{align-items:center;background:transparent;border:none;border-radius:50%;color:#5f6368;cursor:pointer;display:flex;flex-shrink:0;height:32px;justify-content:center;transition:background .15s,color .15s;width:32px}.sidebar-logout-btn:hover{background:#e8eaed;color:#202124}.main-content{background:#fff;flex:1;overflow-y:auto}.app-layout.playground-mode .main-content{overflow-y:visible}.page{margin:0 auto;max-width:960px;padding:32px 40px}.page-header{align-items:center;color:#202124;display:flex;gap:12px;margin-bottom:8px}.page-header h1{font-size:28px;font-weight:400}.page-description{color:#5f6368;font-size:14px;margin-bottom:32px}.placeholder-box{align-items:center;background:#f8f9fa;border:2px dashed #dadce0;border-radius:12px;color:#80868b;display:flex;font-size:14px;justify-content:center;min-height:300px}.hamburger-area{cursor:pointer;margin:-12px;padding:12px;position:relative}.hamburger-area:before{content:"";height:100vh;left:0;pointer-events:none;position:fixed;top:0;width:256px}.hamburger-area:hover:before{pointer-events:auto}.hamburger-btn{border-radius:8px}.app-layout.playground-mode .sidebar-container{position:sticky;z-index:200}.playground-layout{display:flex;height:100vh;overflow:hidden}.playground-sidebar{background:#f8f9fa;border-right:1px solid #e8eaed;display:flex;flex-direction:column;flex-shrink:0;height:100vh;position:sticky;top:0;width:256px}.playground-sidebar-header{align-items:center;border-bottom:1px solid #e8eaed;display:flex;gap:12px;padding:16px 20px}.hamburger-btn{align-items:center;background:transparent;border:none;border-radius:50%;color:#5f6368;cursor:pointer;display:flex;height:36px;justify-content:center;transition:background .15s;width:36px}.hamburger-btn:hover{background:#e8eaed}.playground-logo{height:32px;width:auto}.playground-new-btn{align-items:center;background:#fff;border:1px solid #dadce0;border-radius:8px;color:#202124;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;margin:12px;padding:10px 16px;transition:background .15s,box-shadow .15s}.playground-new-btn:hover{background:#f8f9fa;box-shadow:0 1px 3px rgba(0,0,0,.1)}.playground-new-dropdown{margin:12px;position:relative}.playground-new-dropdown .playground-new-btn{justify-content:flex-start;margin:0;width:100%}.dropdown-chevron{margin-left:auto;transition:transform .2s}.dropdown-chevron.open{transform:rotate(180deg)}.playground-new-menu{background:#fff;border:1px solid #e8eaed;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.15);left:0;overflow:hidden;position:absolute;right:0;top:calc(100% + 4px);z-index:100}.playground-new-menu button{align-items:center;background:transparent;border:none;color:#202124;cursor:pointer;display:flex;font-size:14px;gap:10px;padding:10px 14px;transition:background .15s;width:100%}.playground-new-menu button:hover{background:#f1f3f4}.playground-new-menu button svg{color:#5f6368}.playground-list{flex:1;overflow-y:auto;padding:0 8px}.playground-list-divider{background:#e8eaed;height:1px;margin:8px 12px}.playground-item{align-items:center;border-radius:8px;color:#5f6368;cursor:pointer;display:flex;gap:8px;padding:10px 12px;transition:background .15s}.playground-item:hover{background:#e8eaed}.playground-item.active{background:#e8f0fe;color:#1a73e8}.playground-item-title{flex:1;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.debug-badge{background:#fef3c7;border-radius:3px;color:#92400e;flex-shrink:0;font-size:9px;font-weight:600;letter-spacing:.5px;margin-left:4px;padding:1px 4px;text-transform:uppercase}.playground-item-rename{border:1px solid #1a73e8;border-radius:4px;flex:1;font-family:inherit;font-size:13px;outline:none;padding:2px 6px}.playground-item-menu{position:relative}.playground-item-menu-btn{background:transparent;border:none;border-radius:4px;color:#5f6368;cursor:pointer;opacity:0;padding:4px;transition:opacity .15s,background .15s}.playground-item:hover .playground-item-menu-btn{opacity:1}.playground-item-menu-btn:hover{background:#dadce0}.playground-item-dropdown{background:#fff;border:1px solid #e8eaed;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.15);min-width:120px;overflow:hidden;position:absolute;right:0;top:100%;z-index:100}.playground-item-dropdown button{background:transparent;border:none;color:#202124;cursor:pointer;display:block;font-size:13px;padding:8px 12px;text-align:left;width:100%}.playground-item-dropdown button:hover{background:#f1f3f4}.playground-item-dropdown button.danger{color:#c5221f}.playground-item-dropdown button.danger:hover{background:#fce8e6}.playground-back-link{align-items:center;background:transparent;border:none;border-radius:8px;color:#5f6368;cursor:pointer;display:flex;font-size:14px;gap:8px;margin:12px;padding:10px 12px;transition:background .15s,color .15s}.playground-back-link:hover{background:#e8eaed;color:#202124}.project-sidebar-info{align-items:center;border-bottom:1px solid #e8eaed;color:#5f6368;display:flex;gap:8px;padding:12px 20px}.project-type-label{font-size:14px;font-weight:500}.project-preview-link{align-items:center;background:transparent;border:1px solid #e8eaed;border-radius:6px;color:#5f6368;cursor:pointer;display:flex;height:28px;justify-content:center;margin-left:auto;transition:background .15s,color .15s;width:28px}.project-preview-link:hover{background:#e8eaed;color:#1a73e8}.playground-loading{align-items:center;color:#5f6368;display:flex;flex-direction:column;gap:16px;height:100%;justify-content:center}.playground-back-btn{align-items:center;background:#1a73e8;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;gap:8px;margin-top:16px;padding:10px 20px;transition:background .15s}.playground-back-btn:hover{background:#1557b0}.message-thinking{align-items:center;color:#5f6368;display:flex;gap:8px}.modal-overlay{background:rgba(0,0,0,.5)}.modal{background:#fff;border-radius:12px;box-shadow:0 4px 24px rgba(0,0,0,.2);max-width:400px;padding:24px;width:90%}.modal h3{color:#202124;font-size:18px;font-weight:500;margin:0 0 8px}.modal p{color:#5f6368;font-size:14px;margin:0 0 20px}.modal-actions{gap:8px}.modal-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background .15s}.modal-btn.cancel{background:#f1f3f4;color:#5f6368}.modal-btn.cancel:hover{background:#e8eaed}.modal-btn.danger{background:#c5221f;color:#fff}.modal-btn.danger:hover{background:#a31b19}.playground{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden;position:relative;z-index:201}.playground-header{align-items:center;border-bottom:1px solid #e8eaed;color:#202124;display:flex;gap:12px;padding:20px 24px}.playground-header h1{font-size:20px;font-weight:500}.playground-chat{flex:1;margin-top:54px;min-height:0;overflow-y:auto;padding:24px 24px 100px;position:relative;z-index:0}.playground-chat .playground-messages{margin-left:auto;margin-right:auto;max-width:900px}.playground-empty{align-items:center;color:#80868b;display:flex;flex-direction:column;justify-content:center;min-height:calc(100vh - 180px);text-align:center}.playground-empty h2{color:#5f6368;font-size:18px;font-weight:500;margin-top:16px}.playground-empty p{font-size:14px;margin-top:8px}.playground-messages{display:flex;flex-direction:column;gap:16px}.message{display:flex;gap:12px;max-width:100%}.message-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:32px;justify-content:center;margin-top:6px;width:32px}.message.user .message-icon{background:#e8f0fe;color:#1a73e8}.message.assistant .message-icon{background:#f8f9fa;color:#5f6368}.message-content{border-radius:12px;flex:1;font-size:15px;line-height:1.6;padding:12px 16px;white-space:pre-wrap;word-break:break-word}.message.user .message-content{background:#e8f0fe;color:#202124}.message.assistant .message-content{background:transparent;color:#202124;line-height:1.35;padding-left:0;white-space:normal}.message.assistant .message-content h1,.message.assistant .message-content h2,.message.assistant .message-content h3,.message.assistant .message-content h4,.message.assistant .message-content h5,.message.assistant .message-content h6{font-weight:600;line-height:1.2;margin-bottom:4px;margin-top:10px}.message.assistant .message-content :first-child{margin-top:0}.message.assistant .message-content :last-child{margin-bottom:0}.message.assistant .message-content h1{font-size:1.3em}.message.assistant .message-content h2{font-size:1.15em}.message.assistant .message-content h3{font-size:1.05em}.message.assistant .message-content p{margin:3px 0}.message.assistant .message-content ol,.message.assistant .message-content ul{margin:3px 0;padding-left:18px}.message.assistant .message-content li{line-height:1.5;margin-bottom:6px;padding:0}.message.assistant .message-content li:last-child{margin-bottom:0}.message.assistant .message-content li p{display:inline;margin:0}.message.assistant .message-content code{background:#f1f3f4;border-radius:4px;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:.9em;padding:2px 6px}.message.assistant .message-content pre{background:#1e1e1e;border-radius:6px;color:#d4d4d4;margin:6px 0;overflow-x:auto;padding:8px 12px}.message.assistant .message-content pre code{background:transparent;color:inherit;padding:0}.message.assistant .message-content blockquote{border-left:3px solid #dadce0;color:#5f6368;margin:6px 0;padding-left:10px}.message.assistant .message-content blockquote ol,.message.assistant .message-content blockquote p,.message.assistant .message-content blockquote ul{margin:2px 0}.message.assistant .message-content table{border-collapse:collapse;font-size:.9em;margin:8px 0;width:100%}.message.assistant .message-content td,.message.assistant .message-content th{border:1px solid #dadce0;padding:6px 10px;text-align:left}.message.assistant .message-content th{background:#f8f9fa;font-weight:600}.message.assistant .message-content tr:hover{background:#f8f9fa}.message.assistant .message-content hr{border:none;border-top:1px solid #e8eaed;margin:10px 0}.message.assistant .message-content strong{font-weight:600}.message.assistant .message-content a{color:#1a73e8;text-decoration:none}.message.assistant .message-content a:hover{text-decoration:underline}.message.error .message-content{background:#fce8e6;color:#c5221f}.message.loading .message-content{align-items:center;display:flex;padding:16px}.spinner{animation:spin 1s linear infinite}.streaming-cursor{animation:blink 1s step-end infinite;background:#1a73e8;display:inline-block;height:1.2em;margin-left:2px;vertical-align:text-bottom;width:2px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.message.thinking .message-content{align-items:center;color:#5f6368;display:flex;gap:8px}.status-text{color:#5f6368;font-size:13px}.message-footer{align-items:center;display:flex;gap:4px;margin-top:8px}.message-model-name{color:#5f6368;font-size:13px}.message-info-wrapper{align-items:center;display:flex;position:relative}.message-stats-tooltip{background:#202124;border-radius:6px;bottom:100%;color:#fff;display:none;font-size:12px;left:0;margin-bottom:6px;padding:6px 10px;position:absolute;white-space:nowrap;z-index:300}.message-stats-tooltip:after{border:5px solid transparent;border-top-color:#202124;content:"";left:16px;position:absolute;top:100%}.message-info-wrapper:hover .message-stats-tooltip{display:block}.message-action-btn{align-items:center;background:transparent;border:none;border-radius:4px;color:#5f6368;cursor:pointer;display:flex;height:24px;justify-content:center;transition:color .15s;width:24px}.message-action-btn:hover{color:#202124}.message-action-btn svg{flex-shrink:0}.playground-input{align-items:flex-end;background:#fff;border-top:1px solid #e8eaed;bottom:0;box-sizing:border-box;display:flex;gap:12px;left:256px;max-width:900px;padding:16px 24px;position:fixed;right:0;z-index:10}@media (min-width:1156px){.playground-input{left:calc(-322px + 50vw);right:auto;width:900px}}.admin-view-banner{align-items:center;background:repeating-linear-gradient(-45deg,#fbbf24,#fbbf24 10px,#1a1a1a 0,#1a1a1a 20px);background-size:28px 28px;color:#92400e;display:flex;font-size:12px;gap:8px;padding:6px 16px;position:relative}.admin-view-banner.bottom{bottom:0;left:0;position:fixed;right:0;z-index:300}.admin-view-banner:after{background:#fef3c7;border-radius:2px;content:"";inset:3px;position:absolute;z-index:0}.admin-view-banner a,.admin-view-banner span,.admin-view-banner svg{position:relative;z-index:1}.admin-view-banner svg{flex-shrink:0}.admin-view-banner span{flex:1}.admin-banner-btn{align-items:center;background:transparent;border:1px solid #92400e;border-radius:4px;color:#92400e;cursor:pointer;display:flex;font-size:11px;font-weight:500;gap:4px;padding:2px 8px;position:relative;white-space:nowrap;z-index:1}.admin-banner-btn:hover:not(:disabled){background:rgba(146,64,14,.1)}.admin-banner-btn:disabled{cursor:default;opacity:.5}.admin-view-back{color:#92400e;font-weight:500;text-decoration:none;white-space:nowrap}.admin-view-back:hover{text-decoration:underline}.playground-top-wrapper:has(.admin-view-banner)+.playground-chat,.playground-top-wrapper:has(.admin-view-banner)~.builder-preview{margin-top:86px}.playground-layout.no-sidebar .playground-input{bottom:36px;left:24px;right:24px;width:auto}@media (min-width:900px){.playground-layout.no-sidebar .playground-input{left:calc(50vw - 450px);right:auto;width:900px}}.playground-top-wrapper{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:hsla(0,0%,100%,.85);border-bottom:1px solid rgba(232,234,237,.8);left:0;position:absolute;right:0;top:0;z-index:50}.playground-top{align-items:center;box-sizing:border-box;display:flex;gap:12px;margin:0 auto;max-width:900px;padding:12px 24px;width:100%}.project-type-indicator{align-items:center;color:#5f6368;display:flex;font-size:13px;font-weight:500;gap:6px}.project-type-indicator svg{color:#5f6368;margin-top:2px}.playground-top-right{align-items:center;display:flex;gap:8px;margin-left:auto}.model-dropdown{position:relative}.model-dropdown-trigger{align-items:center;background:transparent;border:none;border-radius:6px;color:#5f6368;cursor:pointer;display:flex;font-family:inherit;font-size:13px;font-weight:500;gap:6px;padding:6px 10px;transition:background .15s,color .15s}.model-dropdown-trigger:hover{background:#f1f3f4;color:#202124}.model-dropdown-trigger:disabled{color:#9aa0a6;cursor:not-allowed}.model-dropdown-menu{background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.15);left:0;min-width:200px;padding:4px 0;position:absolute;top:calc(100% + 4px);z-index:100}.model-dropdown-item{align-items:flex-start;background:transparent;border:none;cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:10px 14px;text-align:left;transition:background .15s;width:100%}.model-dropdown-item:hover{background:#f1f3f4}.model-dropdown-item.active{background:#e8f0fe}.model-dropdown-item-name{color:#202124;font-size:13px;font-weight:500}.model-dropdown-item-desc{color:#5f6368;font-size:11px}.playground-top-right .version-history-section{padding:0;position:relative;z-index:100}.builder-tabs{background:#f1f3f4;border-radius:6px;display:flex;gap:2px;padding:2px}.builder-tab{align-items:center;background:transparent;border:none;border-radius:4px;color:#5f6368;cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:4px;padding:4px 8px;transition:background .15s,color .15s}.builder-tab:hover:not(:disabled){color:#202124}.builder-tab.active{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1);color:#1a73e8}.builder-tab:disabled{color:#9aa0a6;cursor:not-allowed}.tab-spinner{margin-left:2px}.builder-preview{display:flex;flex:1;flex-direction:column;margin-top:54px;overflow:hidden}.builder-preview-iframe{background:#fff;border:none;flex:1;width:100%}.builder-preview-placeholder{align-items:center;color:#5f6368;display:flex;flex:1;flex-direction:column;gap:16px;justify-content:center;padding:32px;text-align:center}.builder-preview-placeholder.error{color:#dc2626}.builder-preview-placeholder p{font-size:14px;margin:0}.version-history-section{padding:8px 16px;position:relative}.version-history-trigger{align-items:center;background:transparent;border:none;border-radius:6px;color:#5f6368;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:6px 10px;transition:all .15s}.version-history-trigger:hover:not(:disabled){background:#f1f3f4;color:#202124}.version-history-trigger:disabled{cursor:not-allowed;opacity:.6}.version-history-trigger svg.rotated{transform:rotate(180deg)}.version-history-trigger svg:last-child{margin-left:auto;transition:transform .2s}.version-history-dropdown{background:#fff;border:1px solid #e8eaed;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);display:flex;flex-direction:column;max-height:400px;min-width:280px;overflow:hidden;position:absolute;right:0;top:calc(100% + 4px);z-index:1000}.version-history-header{border-bottom:1px solid #e8eaed;color:#5f6368;font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-transform:uppercase}.version-history-list{max-height:340px;overflow-y:auto}.version-history-empty{color:#9ca3af;font-size:13px;line-height:1.5;padding:24px 16px;text-align:center}.version-history-item{align-items:flex-start;border-bottom:1px solid #f1f3f4;display:flex;gap:12px;padding:12px 16px}.version-history-item:last-child{border-bottom:none}.version-history-item.current{background:#f8f9fa}.version-info{display:flex;flex:1;flex-direction:column;gap:4px;min-width:0}.version-number{color:#1a73e8;font-size:13px;font-weight:600}.version-message{word-wrap:break-word;color:#5f6368;font-size:12px;line-height:1.4}.version-revert-btn{background:transparent;border:none;border-radius:4px;color:#5f6368;cursor:pointer;padding:6px;transition:all .15s}.version-revert-btn:hover:not(:disabled){background:#e8f0fe;color:#1a73e8}.version-revert-btn:disabled{cursor:not-allowed;opacity:.5}.version-current-badge{background:#e6f4ea;border-radius:4px;color:#34a853;font-size:11px;font-weight:500;padding:2px 8px}.undo-revert-btn{align-items:center;background:transparent;border:none;border-radius:6px;color:#5f6368;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:6px 10px;transition:all .15s}.undo-revert-btn:hover:not(:disabled){background:#f1f3f4;color:#202124}.undo-revert-btn:disabled{cursor:not-allowed;opacity:.6}.files-updated-header{align-items:center;display:flex;gap:8px;margin-bottom:8px}.version-badge{background:#e8f0fe;border-radius:4px;color:#1a73e8;font-size:11px;font-weight:600;padding:2px 6px}.runtime-error-banner{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;bottom:16px;box-shadow:0 4px 12px rgba(0,0,0,.1);display:flex;gap:12px;left:16px;padding:12px 16px;position:absolute;right:16px}.runtime-error-content{align-items:center;color:#dc2626;display:flex;flex:1;gap:8px;min-width:0}.runtime-error-message{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.runtime-error-fix-btn{align-items:center;background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 12px;transition:all .15s;white-space:nowrap}.runtime-error-fix-btn:hover:not(:disabled){background:#b91c1c}.runtime-error-fix-btn:disabled{cursor:not-allowed;opacity:.6}.build-msg-wrapper{display:flex;justify-content:center;margin:8px 0}.build-msg{border-radius:20px;font-size:12px;line-height:1.4;max-width:80%;min-width:180px}.build-msg-dot{border-radius:50%;flex-shrink:0;height:7px;width:7px}.build-msg-dot-error{background:#ef4444;box-shadow:0 0 0 2px rgba(239,68,68,.2)}.build-msg-dot-success{background:#22c55e;box-shadow:0 0 0 2px rgba(34,197,94,.2)}.build-msg-label{font-weight:500}.build-msg-failed{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.build-msg-header-row{align-items:center;display:flex}.build-msg-details{flex:1;min-width:0}.build-msg-header{align-items:center;cursor:pointer;display:flex;font-weight:500;gap:8px;list-style:none;padding:6px 14px;user-select:none}.build-msg-header::-webkit-details-marker{display:none}.build-msg-chevron{opacity:.5;transition:transform .15s}.build-msg-details[open] .build-msg-chevron{transform:rotate(180deg)}.build-msg-details[open]~.build-msg-fix-btn{margin-top:0}.build-msg-body{border-top:1px solid #fecaca;margin-top:2px;padding:8px 14px 10px}.build-msg-error-text{font-size:11px;margin-bottom:8px;opacity:.85}.build-msg-log{background:#fff;border:1px solid #fee2e2;border-radius:6px;color:#374151;font-family:SF Mono,Fira Code,Menlo,monospace;font-size:10px;line-height:1.5;max-height:250px;overflow-y:auto;padding:8px 10px;white-space:pre-wrap;word-break:break-word}.build-msg-fix-btn{align-items:center;background:#fff;border:1px solid #fca5a5;border-radius:14px;color:#b91c1c;cursor:pointer;display:flex;flex-shrink:0;font-size:11px;font-weight:500;gap:5px;margin:6px 10px 6px 0;padding:4px 10px;transition:all .15s}.build-msg-fix-btn:hover:not(:disabled){background:#fef2f2;border-color:#f87171}.build-msg-fix-btn:disabled{cursor:not-allowed;opacity:.5}.build-msg-fix-request{align-items:center;background:#fefce8;border:1px solid #fde68a;color:#92400e;display:flex;gap:6px;padding:6px 14px}.build-msg-interrupted{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.build-msg-fixed,.build-msg-interrupted{align-items:center;display:flex;gap:8px;padding:6px 14px}.build-msg-fixed{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.runtime-error-msg{display:flex;justify-content:flex-end;margin:8px 0}.runtime-error-msg-details{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#991b1b;font-size:12px;max-width:80%;min-width:200px}.runtime-error-msg-summary{align-items:center;cursor:pointer;display:flex;font-weight:500;gap:6px;list-style:none;padding:6px 12px;user-select:none}.runtime-error-msg-summary::-webkit-details-marker{display:none}.runtime-error-msg-details[open]{border-radius:12px}.runtime-error-msg-details[open] .build-msg-chevron{transform:rotate(180deg)}.runtime-error-msg-body{border-top:1px solid #fecaca;display:flex;flex-direction:column;gap:6px;margin-top:2px;padding:8px 12px 10px}.runtime-error-msg-item{background:hsla(0,96%,89%,.25);border-radius:6px;overflow:hidden;padding:6px 8px}.runtime-error-msg-message{font-family:SF Mono,Fira Code,Menlo,monospace;font-size:11px;font-weight:500;word-break:break-word}.runtime-error-msg-location{color:#dc2626;font-size:10px;margin-top:2px;word-break:break-all}.runtime-error-msg-stack{color:#b91c1c;font-family:SF Mono,Fira Code,Menlo,monospace;font-size:9px;line-height:1.5;margin-top:4px;max-height:120px;overflow-y:auto;white-space:pre-wrap;word-break:break-all}.playground-input textarea{border:1px solid #dadce0;border-radius:24px;flex:1;font-family:inherit;font-size:14px;outline:none;padding:12px 16px;resize:none;transition:border-color .15s}.playground-input textarea:focus{border-color:#1a73e8}.playground-input textarea:disabled{background:#f8f9fa}.playground-input button{align-items:center;background:#1a73e8;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:48px;justify-content:center;transition:background .15s;width:48px}.playground-input button:hover:not(:disabled){background:#1557b0}.playground-input button:disabled{background:#dadce0;cursor:not-allowed}.api-keys-page{margin:0 auto;max-width:800px;padding:32px 40px}.api-keys-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:24px}.api-keys-header h1{color:#202124;font-size:28px;font-weight:400;margin:0}.api-keys-subtitle{color:#5f6368;font-size:14px;margin-top:4px}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:background .15s,box-shadow .15s}.btn-primary{background:#1a73e8;color:#fff}.btn-primary:hover:not(:disabled){background:#1557b0}.btn-primary:disabled{background:#dadce0;cursor:not-allowed}.btn-dark{background:#202124;color:#fff}.btn-dark:hover{background:#3c4043}.btn-secondary{background:#f1f3f4;color:#5f6368}.btn-secondary:hover{background:#e8eaed}.btn-icon{background:transparent;border-radius:6px;color:#5f6368;padding:8px}.btn-icon:hover{background:#f1f3f4;color:#202124}.btn-icon.btn-danger:hover{background:#fce8e6;color:#c5221f}.usage-card{background:#f8f9fa;border-radius:12px;margin-bottom:24px;padding:20px 24px}.usage-card h3{color:#5f6368;font-size:14px;font-weight:500;margin:0 0 16px}.usage-stats{display:flex;gap:32px;margin-bottom:16px}.usage-stat{display:flex;flex-direction:column;gap:4px}.usage-label{color:#5f6368;font-size:12px}.usage-value{color:#202124;font-size:20px;font-weight:500}.wallet-card{background:#f8f9fa;border:1px solid #e8eaed;border-radius:12px;margin-bottom:24px;padding:16px 20px}.wallet-card-label{color:#5f6368;font-size:14px;font-weight:500}.wallet-link{align-items:center;color:#1a73e8;display:flex;gap:6px;text-decoration:none;transition:color .15s}.wallet-link:hover{color:#1557b0}.wallet-address,.wallet-link code{font-family:SF Mono,Fira Code,monospace;font-size:13px}.wallet-linked-badge{background:var(--wallet-badge-linked-bg,#fff7e6);border:1px solid var(--wallet-badge-linked-border,#ffd27f);border-radius:999px;color:var(--wallet-badge-linked-text,#b26b00);cursor:pointer;font-size:11px;font-weight:500;margin-left:8px;padding:2px 8px}.wallet-linked-badge:hover{background:var(--wallet-badge-linked-bg-hover,#ffecd2);border-color:var(--wallet-badge-linked-border-hover,#e6a020)}.wallet-not-linked-badge{background:var(--wallet-badge-unlinked-bg,#f1f3f4);border:1px solid var(--wallet-badge-unlinked-border,#dadce0);border-radius:999px;color:var(--wallet-badge-unlinked-text,#5f6368);cursor:pointer;font-size:11px;font-weight:500;margin-left:8px;padding:2px 8px}.wallet-not-linked-badge:hover{background:var(--wallet-badge-unlinked-bg-hover,#e8eaed);border-color:var(--wallet-badge-unlinked-border-hover,#bdc1c6)}.wallet-section{margin-bottom:32px}.section-title{font-size:16px;font-weight:600;margin:0 0 16px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.section-header .section-title{margin:0}.wallet-card-content{display:flex;flex-direction:column;gap:12px}.wallet-address-row{align-items:center;display:flex;gap:12px}.wallet-address-row .wallet-card-label{min-width:60px}.wallet-address-with-balance{align-items:flex-start;display:flex;justify-content:space-between}.wallet-address-left{display:flex;flex-direction:column;gap:4px}.wallet-hpp-balance-small{align-items:center;color:#202124;display:flex;font-size:18px;font-weight:600;gap:4px}.wallet-address-row-with-action{align-items:center;display:flex;gap:12px}.wallet-address-row-with-action .wallet-staking-btn{margin-left:auto}.wallet-staking-cta{border-top:1px solid #e8eaed;margin-top:16px;padding-top:16px}.wallet-staking-btn{align-items:center;background:transparent;border:1px solid #dadce0;color:#5f6368;display:inline-flex;gap:6px;text-decoration:none}.wallet-staking-btn:hover{background:#f1f3f4;border-color:#bdc1c6;color:#202124}.wallet-connect-description{color:#5f6368;font-size:14px;line-height:1.5;margin:0}.wallet-empty{padding:24px;text-align:center}.wallet-empty p{color:#5f6368;font-size:14px;margin:0 0 16px}.wallet-nfts{border-top:1px solid #e8eaed;margin-top:4px;padding-top:12px}.wallet-nfts-toggle{align-items:center;background:none;border:none;color:#202124;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:8px 0;text-align:left;width:100%}.wallet-nfts-toggle:hover{color:#1a73e8}.wallet-nfts-count{background:#e8eaed;border-radius:10px;color:#5f6368;font-size:12px;font-weight:600;padding:2px 8px}.wallet-nfts-toggle .chevron{margin-left:auto;transition:transform .2s}.wallet-nfts-toggle .chevron.rotated{transform:rotate(180deg)}.wallet-nfts-list{padding:8px 0}.wallet-nfts-empty,.wallet-nfts-loading{align-items:center;color:#5f6368;display:flex;font-size:13px;gap:8px;justify-content:center;padding:16px;text-align:center}.wallet-nft-item{align-items:center;background:#fff;border:1px solid #e8eaed;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:8px;padding:10px 12px}.wallet-nft-item:last-child{margin-bottom:0}.wallet-nft-info{display:flex;flex-direction:column;gap:2px}.wallet-nft-name{color:#202124;font-size:14px;font-weight:500}.wallet-nft-meta{color:#5f6368;font-family:SF Mono,Fira Code,monospace;font-size:12px}.wallet-nft-link{border-radius:4px;color:#5f6368;padding:4px;transition:all .15s}.wallet-nft-link:hover{background:#f1f3f4;color:#1a73e8}.api-keys-section{margin-bottom:32px}.router-subsection-title{align-items:center;color:#5f6368;display:flex;font-size:13px;font-weight:500;gap:6px;margin:24px 0 10px}.router-models-table-wrap{border:1px solid #e5e7eb;border-radius:8px;margin-bottom:20px;overflow:hidden}.router-models-table{border-collapse:collapse;font-size:13px;width:100%}.router-models-table th{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:11px;font-weight:600;letter-spacing:.04em;padding:8px 12px;text-align:left;text-transform:uppercase}.router-models-table td{border-bottom:1px solid #f3f4f6;padding:6px 12px}.router-models-table tbody tr{cursor:pointer;transition:background .12s}.router-models-table tbody tr:last-child td{border-bottom:none}.router-models-table tbody tr:hover{background:#f9fafb}.router-models-table tbody tr.active{background:#eff6ff}.model-id-cell code{color:#374151;font-family:SF Mono,Fira Code,monospace;font-size:12px}.model-provider-row td{background:#f9fafb;border-bottom:1px solid #f3f4f6;color:#9ca3af;cursor:default;font-size:11px;font-weight:600;padding:6px 12px 4px;text-transform:capitalize}.router-models-table tbody tr.active .model-id-cell code{color:#1d4ed8}.model-price-cell{color:#6b7280;font-family:SF Mono,Fira Code,monospace;font-size:12px;white-space:nowrap}.router-show-more{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;font-size:13px;gap:4px;margin:8px 0 20px;padding:0;transition:color .15s}.router-show-more:hover{color:#374151}.router-show-more .rotated{transform:rotate(180deg)}.router-code-block{background:#1e1e1e;border-radius:8px;overflow-x:auto;padding:16px 20px;position:relative}.router-code-block pre{margin:0}.router-code-block code{color:#d4d4d4;font-family:SF Mono,Fira Code,monospace;font-size:13px;line-height:1.6}.router-code-copy{background:transparent;border:none;border-radius:4px;color:#6b7280;cursor:pointer;padding:6px;position:absolute;right:8px;top:8px;transition:color .15s,background .15s}.router-code-copy:hover{background:hsla(0,0%,100%,.1);color:#d4d4d4}.btn-small{font-size:13px;margin-left:auto;padding:6px 12px}.credit-card{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-bottom:24px;padding:12px 16px}.credit-card-content{align-items:center;color:#166534;display:flex;gap:10px}.credit-card-label{font-size:14px;font-weight:500}.credit-card-value{font-size:18px;font-weight:600;margin-left:auto}.usage-bar{background:#e8eaed;border-radius:4px;height:8px;overflow:hidden}.usage-bar-fill{background:#1a73e8;border-radius:4px;height:100%;transition:width .3s ease}.new-key-banner{background:#e6f4ea;border:1px solid #34a853;border-radius:12px;margin-bottom:24px;padding:20px 24px}.new-key-header{align-items:center;color:#137333;display:flex;gap:8px;margin-bottom:8px}.new-key-warning{color:#137333;font-size:14px;margin-bottom:12px}.new-key-value{align-items:center;background:#fff;border:1px solid #dadce0;border-radius:8px;display:flex;gap:8px;margin-bottom:16px;padding:12px 16px}.new-key-value code{color:#202124;flex:1;font-family:SF Mono,Monaco,monospace;font-size:14px;word-break:break-all}.create-key-form{background:#fff;border:1px solid #dadce0;border-radius:12px;margin-bottom:24px;padding:20px 24px}.create-key-form h3{color:#202124;font-size:16px;font-weight:500;margin:0 0 16px}.create-key-form input{border:1px solid #dadce0;border-radius:8px;font-family:inherit;font-size:14px;margin-bottom:16px;outline:none;padding:12px 16px;transition:border-color .15s;width:100%}.create-key-form input:focus{border-color:#1a73e8}.form-actions{display:flex;gap:8px;justify-content:flex-end}.api-keys-list{background:#fff;border:1px solid #dadce0;border-radius:12px;padding:20px 24px}.api-keys-list h3{color:#202124;font-size:16px;font-weight:500;margin:0 0 16px}.empty-state{align-items:center;color:#80868b;display:flex;flex-direction:column;padding:48px 24px}.empty-state p{color:#5f6368;font-size:16px;margin-top:16px}.empty-state-hint{color:#80868b!important;font-size:14px!important;margin-top:8px!important}.api-keys-table{border-collapse:collapse;width:100%}.api-keys-table th{border-bottom:1px solid #e8eaed;color:#5f6368;font-size:12px;font-weight:500;padding:12px 16px;text-align:left}.api-keys-table td{border-bottom:1px solid #e8eaed;color:#202124;font-size:14px;padding:16px}.api-keys-table tr:last-child td{border-bottom:none}.api-keys-table .key-name{font-weight:500}.api-keys-table .key-value-cell{min-width:180px}.key-value-display{align-items:center;background:#f8f9fa;border:1px solid #e8eaed;border-radius:6px;display:inline-flex;max-width:100%;padding:6px 12px;transition:all .2s ease}.key-value-display code{color:#5f6368;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.key-value-display.revealed{background:#e8f0fe;border-color:#c2d7f7}.key-value-display.revealed code{color:#1a73e8;font-weight:500}.api-keys-table .key-date{color:#5f6368;white-space:nowrap}.api-keys-table .key-actions{text-align:right;white-space:nowrap}.key-action-btn{align-items:center;background:transparent;border:none;border-radius:6px;color:#5f6368;cursor:pointer;display:inline-flex;height:32px;justify-content:center;margin-left:4px;transition:all .15s ease;width:32px}.key-action-btn:first-child{margin-left:0}.key-action-btn:hover{background:#f1f3f4;color:#202124}.key-action-btn:disabled{cursor:not-allowed;opacity:.5}.key-action-btn.active{background:#e8f0fe;color:#1a73e8}.key-action-btn.active:hover{background:#d2e3fc}.key-action-btn.copied{background:#e6f4ea;color:#1e8e3e}.key-action-btn.danger:hover{background:#fce8e6;color:#c5221f}.settings-section{background:#fff;border:1px solid #dadce0;border-radius:12px;margin-bottom:24px;padding:20px 24px}.settings-section h2{color:#202124;font-size:16px;font-weight:500;margin:0 0 16px}.settings-section.danger-zone{background:#fff5f5;border-color:#f5c6cb}.settings-section.danger-zone h2{color:#c5221f}.settings-item{align-items:center;border-top:1px solid #e8eaed;display:flex;justify-content:space-between;padding:12px 0}.settings-item:first-of-type{border-top:none;padding-top:0}.settings-item-info{display:flex;flex-direction:column;gap:4px}.settings-item-label{color:#202124;font-size:14px;font-weight:500}.settings-item-value{color:#5f6368;font-size:14px}.settings-item-description{color:#5f6368;font-size:13px;max-width:400px}.settings-connected{align-items:center;color:#188038;display:inline-flex;font-size:14px;gap:6px}.settings-google-avatar{border-radius:50%;height:20px;width:20px}.settings-not-connected{align-items:center;color:#80868b;display:inline-flex;font-size:14px;gap:4px}.settings-btn{background:#fff;border:1px solid #dadce0;border-radius:8px;color:#202124;cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;padding:8px 16px;transition:background .15s}.settings-btn:hover{background:#f8f9fa}.settings-btn:disabled{cursor:not-allowed;opacity:.6}.settings-inline-form{background:#f8f9fa;border-radius:8px;display:flex;flex-direction:column;gap:12px;margin-top:8px;padding:16px}.settings-inline-form .login-input{max-width:320px}.settings-inline-actions{display:flex;gap:8px}.settings-success{background:#e6f4ea;border-radius:8px;color:#188038;font-size:13px;padding:8px 12px}.btn-danger{background:#c5221f}.btn-danger:hover{background:#a31b19}.modal.modal-danger{max-width:450px}.modal-icon{color:#c5221f;display:flex;justify-content:center}.modal-list{color:#5f6368;font-size:14px;margin:12px 0;padding-left:24px}.modal-list li{margin:4px 0}.modal input{border:1px solid #dadce0;border-radius:8px;font-family:inherit;font-size:14px;margin:12px 0;outline:none;padding:12px 16px;transition:border-color .15s;width:100%}.modal input:focus{border-color:#1a73e8}.modal input:disabled{background:#f8f9fa}.modal-error{background:#fce8e6;border:1px solid #f5c6cb;border-radius:6px;color:#c5221f;font-size:13px;line-height:1.4;margin:0 0 12px;padding:10px 16px}.settings-2fa-actions{display:flex;gap:8px}.login-input-totp{font-family:Google Sans Mono,Roboto Mono,monospace;font-size:24px;letter-spacing:8px;max-width:200px;text-align:center}.twofa-setup{align-items:flex-start}.twofa-step-label{color:#5f6368;font-size:14px;margin:0}.twofa-qr-container{background:#fff;border:1px solid #e8eaed;border-radius:8px;display:flex;justify-content:center;padding:16px}.twofa-qr-image{height:200px;width:200px}.twofa-secret{display:flex;flex-direction:column;gap:4px}.twofa-secret-label{color:#80868b;font-size:12px}.twofa-secret-value{background:#f1f3f4;border-radius:6px;font-family:Google Sans Mono,Roboto Mono,monospace;font-size:14px;padding:8px 12px;user-select:all;word-break:break-all}.twofa-backup-grid{display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.twofa-backup-code{background:#f1f3f4;border-radius:6px;font-family:Google Sans Mono,Roboto Mono,monospace;font-size:14px;padding:8px 12px;text-align:center;user-select:all}.settings-form-actions{align-items:center;display:flex;gap:8px}.settings-btn-sm{align-items:center;background:#fff;border:1px solid #dadce0;border-radius:8px;box-sizing:border-box;color:#202124;cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:500;height:36px;line-height:1;padding:8px 16px;transition:background .15s}.settings-btn-sm:hover{background:#f8f9fa}.settings-btn-sm:disabled{cursor:not-allowed;opacity:.6}.settings-btn-sm svg{margin-right:4px;vertical-align:-2px}.settings-btn-primary{background:#4949b4;border-color:#4949b4;color:#fff}.settings-btn-primary:hover{background:#3d3d9e}.settings-btn-danger{border-color:#c5221f;color:#c5221f}.settings-btn-danger:hover{background:#fce8e6}.twofa-backup-status{align-items:center;color:#202124;display:flex;font-size:14px;font-weight:500;gap:8px}.twofa-backup-warning{background:#fef7e0;border-radius:6px;color:#e37400;font-size:13px;margin:0;padding:8px 12px}.admin-page{margin:0 auto;max-width:1200px;padding:32px 40px}.admin-header{margin-bottom:32px}.admin-header h1{color:#202124;font-size:28px;font-weight:400;margin:0}.admin-subtitle{color:#5f6368;font-size:14px;margin-top:4px}.admin-section{background:#fff;border:1px solid #dadce0;border-radius:12px;margin-bottom:24px;padding:24px}.admin-section h2{align-items:center;color:#202124;display:flex;font-size:18px;font-weight:500;gap:8px;margin:0 0 8px}.section-description{color:#5f6368;font-size:14px;margin:0 0 24px}.faucet-stats{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.faucet-stat{background:#f8f9fa;border-radius:8px;display:flex;flex-direction:column;gap:4px;padding:12px 16px}.faucet-label{color:#5f6368;font-size:12px}.faucet-value{color:#202124;font-size:16px;font-weight:500}.faucet-value.warning{color:#ea4335}.faucet-link{align-items:center;color:#1a73e8;display:flex;font-size:13px;gap:6px;text-decoration:none}.faucet-link:hover{color:#1557b0}.faucet-link code{font-family:SF Mono,Fira Code,monospace}.faucet-not-configured{background:#fef3c7;border-radius:8px;color:#92400e;font-size:14px;padding:16px}.btn-icon-small{background:none;border:none;border-radius:4px;color:#5f6368;cursor:pointer;margin-left:auto;padding:4px}.btn-icon-small:hover{background:#f1f3f4;color:#202124}.btn-icon-small:disabled{cursor:not-allowed;opacity:.5}.settings-form{gap:20px}.form-group,.settings-form{display:flex;flex-direction:column}.form-group{gap:6px}.form-group label{color:#202124;font-size:14px;font-weight:500}.label-hint{color:#5f6368;display:block;font-size:12px;font-weight:400;margin-top:2px}.form-group input{border:1px solid #dadce0;border-radius:8px;font-family:inherit;font-size:14px;outline:none;padding:12px 16px;transition:border-color .15s}.form-group input:focus{border-color:#1a73e8}.message-banner{border-radius:8px;font-size:14px;margin-bottom:24px;padding:12px 16px}.message-banner.success{background:#e6f4ea;border:1px solid #34a853;color:#137333}.message-banner.error{background:#fce8e6;border:1px solid #c5221f;color:#c5221f}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.spinning{animation:spin 1s linear infinite}.onboarding-screen{align-items:center;background:#0a0a0f;bottom:0;display:flex;justify-content:center;left:0;overflow:hidden;position:fixed;right:0;top:0;z-index:1000}.onboarding-container{max-width:480px;padding:48px 32px;position:relative;width:100%;z-index:1}.onboarding-header{margin-bottom:48px;text-align:center}.onboarding-logo{margin-bottom:24px}.logo-hex{align-items:center;animation:pulse-glow 2s ease-in-out infinite;background:linear-gradient(135deg,#4949b4,#8383d9 50%,#8383d9);border-radius:16px;box-shadow:0 0 40px rgba(131,131,217,.3),0 0 80px rgba(131,131,217,.1);display:flex;height:72px;justify-content:center;margin:0 auto;width:72px}.logo-hex img{height:40px;width:40px}@keyframes pulse-glow{0%,to{box-shadow:0 0 40px rgba(131,131,217,.3),0 0 80px rgba(131,131,217,.1)}50%{box-shadow:0 0 60px rgba(131,131,217,.5),0 0 100px rgba(131,131,217,.2)}}.onboarding-header h1{color:#fff;font-size:24px;font-weight:600;letter-spacing:-.5px;margin-bottom:8px}.onboarding-subtitle{color:#6b7280;font-size:14px}.onboarding-steps{display:flex;flex-direction:column;gap:12px}.onboarding-step{align-items:center;background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.06);border-radius:12px;display:flex;gap:16px;padding:16px 20px;transition:all .3s ease}.onboarding-step.active{background:rgba(131,131,217,.1);border-color:rgba(131,131,217,.3);box-shadow:0 0 30px rgba(131,131,217,.1)}.onboarding-step.complete{background:rgba(34,197,94,.08);border-color:rgba(34,197,94,.2)}.step-icon{align-items:center;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.icon-pending{color:#374151}.icon-loading{animation:spin 1s linear infinite;color:#8383d9}.icon-complete{color:#22c55e}.step-content{flex:1;min-width:0}.step-label{color:#e5e7eb;font-size:14px;font-weight:500}.onboarding-step.active .step-label{color:#fff}.step-description{color:#6b7280;font-size:12px;margin-top:2px}.step-indicator{color:#374151;transition:color .3s ease}.onboarding-step.active .step-indicator{color:#8383d9}.onboarding-step.complete .step-indicator{color:#22c55e}.onboarding-result{background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.2);border-radius:12px;margin-top:32px;padding:20px}.result-item{align-items:center;display:flex;justify-content:space-between;padding:8px 0}.result-item:not(:last-child){border-bottom:1px solid hsla(0,0%,100%,.06)}.result-label{color:#6b7280;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.result-value{color:#22c55e;font-size:13px}.result-value.mono{font-family:SF Mono,Fira Code,monospace}.result-link{align-items:center;color:#22c55e;display:flex;font-size:13px;gap:6px;text-decoration:none;transition:color .15s}.result-link:hover{color:#4ade80}.result-link .mono{font-family:SF Mono,Fira Code,monospace}.onboarding-error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);border-radius:12px;margin-top:32px;padding:20px;text-align:center}.onboarding-error p{color:#ef4444;font-size:14px;margin-bottom:16px}.btn-retry{background:rgba(239,68,68,.2);border:1px solid rgba(239,68,68,.4);border-radius:8px;color:#fff;cursor:pointer;font-size:14px;padding:10px 24px;transition:all .2s ease}.btn-retry:hover{background:rgba(239,68,68,.3)}.onboarding-bg{overflow:hidden;pointer-events:none}.bg-grid,.onboarding-bg{bottom:0;left:0;position:absolute;right:0;top:0}.bg-grid{background-image:linear-gradient(rgba(131,131,217,.03) 1px,transparent 0),linear-gradient(90deg,rgba(131,131,217,.03) 1px,transparent 0);background-size:50px 50px;mask-image:radial-gradient(ellipse at center,#000 0,transparent 70%)}.bg-glow{animation:glow-pulse 4s ease-in-out infinite;background:radial-gradient(circle,rgba(131,131,217,.15) 0,transparent 60%);height:600px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:600px}@keyframes glow-pulse{0%,to{opacity:.5;transform:translate(-50%,-50%) scale(1)}50%{opacity:.8;transform:translate(-50%,-50%) scale(1.1)}}.onboarding-terms{align-items:center;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:16px;display:flex;flex-direction:column;gap:24px;padding:32px}.terms-links{display:flex;gap:16px}.terms-link{align-items:center;background:hsla(0,0%,100%,.1);border-radius:8px;color:#fff;display:flex;font-size:14px;gap:8px;padding:12px 20px;text-decoration:none;transition:all .2s}.terms-link:hover{background:hsla(0,0%,100%,.2)}.btn-accept-terms{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:500;padding:14px 32px;transition:all .2s}.btn-accept-terms:hover{box-shadow:0 4px 12px rgba(99,102,241,.4);transform:translateY(-1px)}.modal-overlay{align-items:center;backdrop-filter:blur(4px);background:rgba(0,0,0,.6);bottom:0;display:flex;justify-content:center;left:0;padding:24px;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:modal-enter .2s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.3);max-width:440px;position:relative;width:100%}@keyframes modal-enter{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-close{background:none;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;padding:4px;position:absolute;right:16px;top:16px;transition:all .2s}.modal-close:hover{background:#f3f4f6;color:#374151}.modal-header{padding:32px 32px 16px;text-align:center}.modal-icon{color:#4949b4;margin-bottom:16px}.modal-icon.success{color:#22c55e}.modal-icon-loading{color:#4949b4;margin-bottom:16px}.modal-header h2{color:#111827;font-size:20px;font-weight:600;margin-bottom:8px}.modal-header p{color:#6b7280;font-size:14px}.modal-body{padding:16px 32px 32px}.modal-input{border:1px solid #d1d5db;border-radius:10px;font-size:15px;margin-bottom:24px;outline:none;padding:12px 16px;transition:all .2s;width:100%}.modal-input:focus{border-color:#4949b4;box-shadow:0 0 0 3px rgba(73,73,180,.1)}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.modal-actions .btn{font-size:14px;padding:10px 20px}.modal-steps{display:flex;flex-direction:column;gap:12px;padding:8px 0}.modal-step{align-items:center;background:#f9fafb;border-radius:10px;display:flex;gap:12px;padding:12px 16px;transition:all .3s}.modal-step.active{background:#f0f0ff;border:1px solid rgba(73,73,180,.2)}.modal-step.complete{background:#f0fdf4}.modal-step-icon{color:#9ca3af;display:flex}.modal-step.active .modal-step-icon{color:#4949b4}.modal-step.complete .modal-step-icon{color:#22c55e}.modal-step span{color:#374151;font-size:14px}.blockchain-info{background:#f9fafb;border-radius:12px;margin-bottom:24px;padding:16px}.blockchain-item{align-items:center;display:flex;justify-content:space-between;padding:8px 0}.blockchain-item:not(:last-child){border-bottom:1px solid #e5e7eb}.blockchain-label{color:#6b7280;font-size:13px}.blockchain-value{color:#111827;font-size:13px;font-weight:500}.blockchain-value.sponsored{background:#dcfce7;border-radius:4px;color:#22c55e;font-size:12px;padding:2px 8px}.key-display{margin-bottom:20px}.key-display label{color:#6b7280;display:block;font-size:12px;font-weight:500;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.key-value{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;display:flex;gap:8px;padding:12px 16px}.key-value code{color:#111827;flex:1;font-family:SF Mono,Fira Code,monospace;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.key-action{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;padding:4px;transition:all .2s}.key-action:hover{background:#e5e7eb;color:#374151}.tx-display{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;margin-bottom:20px;padding:12px 16px}.tx-item{align-items:center;display:flex;justify-content:space-between;padding:4px 0}.tx-label{color:#166534;font-size:12px}.tx-value{color:#166534;font-size:13px;font-weight:500}code.tx-value{font-family:SF Mono,Fira Code,monospace}.tx-link{align-items:center;color:#166534;display:flex;gap:6px;text-decoration:none;transition:color .15s}.tx-link:hover{color:#15803d}.tx-link code{font-family:SF Mono,Fira Code,monospace;font-size:13px;font-weight:500}.modal-warning{background:#fef3c7;border:1px solid #fcd34d;border-radius:10px;color:#92400e;font-size:13px;margin-bottom:16px;padding:12px 16px}.modal-error{padding:24px 0;text-align:center}.modal-error p{color:#c5221f;font-size:14px;margin-bottom:16px}.project-view-layout{background:#f8f9fa;display:flex;height:calc(100vh - 64px)}.project-view-error,.project-view-loading{align-items:center;color:#5f6368;display:flex;flex-direction:column;gap:16px;height:calc(100vh - 64px);justify-content:center}.project-view-error h2{color:#202124;font-size:20px;font-weight:500}.project-view-error button{align-items:center;background:#4949b4;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;gap:8px;margin-top:8px;padding:10px 20px}.project-view-error button:hover{background:#3a3a9c}.project-sidebar{background:#fff;border-right:1px solid #e8eaed;display:flex;flex-direction:column;width:400px}.project-sidebar-header{align-items:center;border-bottom:1px solid #e8eaed;display:flex;gap:12px;padding:16px}.back-btn{align-items:center;background:transparent;border:none;border-radius:8px;color:#5f6368;cursor:pointer;display:flex;height:36px;justify-content:center;width:36px}.back-btn:hover{background:#f1f3f4;color:#202124}.project-info{align-items:center;color:#5f6368;display:flex;gap:8px}.project-type{font-size:14px;font-weight:500}.project-chat{flex:1;overflow-y:auto;padding:16px}.project-messages{display:flex;flex-direction:column;gap:16px}.project-chat .message{display:flex;font-size:14px;gap:12px}.project-chat .message-icon{align-items:center;background:#e8eaed;border-radius:50%;color:#5f6368;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.project-chat .message.user .message-icon{background:#4949b4;color:#fff}.project-chat .message-content{flex:1;line-height:1.6;min-width:0}.project-chat .message-content p{margin-bottom:8px}.project-chat .message-content p:last-child{margin-bottom:0}.message-loading{align-items:center;color:#5f6368;display:flex;gap:8px}.files-updated{display:flex;flex-direction:column;gap:8px;margin-top:12px}.file-card{background:#fff;border:1px solid #e8eaed;border-radius:8px;overflow:hidden}.file-card-header{align-items:center;background:#f8f9fa;border:none;border-bottom:1px solid #e8eaed;cursor:pointer;display:flex;gap:8px;padding:8px 12px;text-align:left;transition:background .15s;width:100%}.file-card-header:hover{background:#f1f3f4}.file-icon{align-items:center;display:flex;flex-shrink:0}.file-icon .icon-edit{color:#f59e0b}.file-icon .icon-new{color:#10b981}.file-icon .icon-file{color:#6b7280}.file-name{color:#202124;flex:1;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-badge{border-radius:4px;flex-shrink:0;font-size:10px;font-weight:500;padding:2px 6px}.file-badge.badge-edit{background:#fef3c7;color:#b45309}.file-badge.badge-new{background:#d1fae5;color:#047857}.file-chevron{color:#9ca3af;flex-shrink:0;transition:transform .2s}.file-chevron.expanded{transform:rotate(180deg)}.file-path{background:#fff;color:#6b7280;font-family:SF Mono,Monaco,monospace;font-size:11px;padding:6px 12px}.file-summary{color:#9ca3af;font-size:11px;font-style:italic;padding:4px 12px 8px}.file-content{background:#fff;border-top:1px solid #e8eaed;max-height:300px;overflow:auto}.code-preview pre{background:#fff!important;counter-reset:line!important;line-height:1.4!important;margin:0!important;padding:4px 4px 4px 3.5em!important}.code-preview pre>code{display:block!important;font-family:SF Mono,Monaco,monospace!important;font-size:11px!important}.code-preview .code-line{display:block!important;min-height:1.4em!important;padding-left:.5em!important;position:relative!important;white-space:pre-wrap!important;word-break:break-all!important}.code-preview .code-line:before{color:#999!important;content:counter(line)!important;counter-increment:line!important;font-size:11px!important;left:-3em!important;position:absolute!important;text-align:right!important;user-select:none!important;width:2.5em!important}.diff-view{font-family:SF Mono,Monaco,monospace;font-size:11px;line-height:1.4;padding:4px 0}.diff-header{background:#f3f4f6;color:#6b7280;font-size:10px;padding:2px 8px}.diff-line{display:flex;padding:1px 8px;white-space:pre-wrap;word-break:break-all}.diff-removed{background:#fef2f2;border-left:2px solid #ef4444}.diff-added{background:#f0fdf4;border-left:2px solid #22c55e}.diff-prefix{flex-shrink:0;user-select:none;width:16px}.diff-removed .diff-prefix{color:#ef4444}.diff-added .diff-prefix{color:#22c55e}.diff-line-content{flex:1;min-width:0;overflow-wrap:anywhere}.diff-line-content code,.diff-line-content pre,.diff-line-content span{overflow-wrap:anywhere!important;white-space:pre-wrap!important;word-break:break-all!important}.diff-hunk+.diff-hunk{border-top:1px solid #e8eaed;margin-top:8px}.diff-hunk-header{background:#f3f4f6;color:#6b7280;font-family:monospace;font-size:11px;padding:4px 8px}.diff-edit-separator{border-top:1px solid #e8eaed;color:#9ca3af;font-size:10px;font-weight:600;letter-spacing:.05em;margin-top:4px;padding:6px 8px;text-transform:uppercase}.diff-edit-separator:first-child{border-top:none;margin-top:0}.files-updated-footer{gap:8px;margin-top:4px;padding-top:8px}.files-updated-footer,.inline-revert-btn{align-items:center;display:flex;justify-content:center}.inline-revert-btn{background:transparent;border:none;border-radius:4px;color:#5f6368;cursor:pointer;height:22px;padding:0;transition:all .15s ease;width:22px}.inline-revert-btn:hover:not(:disabled){background:#e8eaed;color:#1a73e8}.inline-revert-btn:disabled{cursor:not-allowed;opacity:.5}.project-input{border-top:1px solid #e8eaed;display:flex;gap:8px;padding:16px}.project-input textarea{border:1px solid #e8eaed;border-radius:24px;flex:1;font-family:inherit;font-size:14px;max-height:120px;min-height:44px;padding:12px 16px;resize:none}.project-input textarea:focus{border-color:#4949b4;outline:none}.project-input button{align-items:center;background:#4949b4;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.project-input button:hover:not(:disabled){background:#3a3a9c}.project-input button:disabled{background:#e8eaed;color:#9aa0a6;cursor:not-allowed}.project-preview{display:flex;flex:1;flex-direction:column;min-width:0}.preview-header{align-items:center;background:#fff;border-bottom:1px solid #e8eaed;display:flex;justify-content:space-between;padding:12px 16px}.preview-title{color:#202124;font-size:14px;font-weight:500}.preview-actions{display:flex;gap:8px}.preview-action-btn{align-items:center;background:transparent;border:1px solid #e8eaed;border-radius:6px;color:#5f6368;cursor:pointer;display:flex;height:32px;justify-content:center;width:32px}.preview-action-btn:hover{background:#f1f3f4;color:#202124}.preview-content{align-items:center;background:#f8f9fa;display:flex;flex:1;justify-content:center;overflow:hidden}.preview-placeholder{align-items:center;color:#5f6368;display:flex;flex-direction:column;gap:16px;padding:32px;text-align:center}.preview-placeholder.error{color:#dc2626}.preview-placeholder button{align-items:center;background:#4949b4;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;gap:8px;margin-top:8px;padding:10px 20px}.preview-placeholder button:hover{background:#3a3a9c}.preview-iframe{background:#fff;border:none;height:100%;width:100%}.publish-header-btn{align-items:center;background:#1a73e8;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:11px;font-weight:500;gap:4px;padding:4px 8px;transition:background .15s}.publish-header-btn:hover:not(:disabled){background:#1557b0}.publish-header-btn:disabled{background:#dadce0;color:#9aa0a6;cursor:not-allowed}.publish-dropdown{position:relative}.publish-dropdown-content{background:#fff;border:1px solid #e8eaed;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);position:absolute;right:0;top:calc(100% + 4px);width:280px;z-index:1000}.publish-dropdown-header{align-items:center;border-bottom:1px solid #e8eaed;color:#5f6368;display:flex;font-size:12px;font-weight:600;gap:8px;letter-spacing:.5px;padding:12px 16px;text-transform:uppercase}.publish-status-badge{background:#34a853;border-radius:3px;color:#fff;font-size:10px;font-weight:600;padding:2px 6px;text-transform:uppercase}.publish-dropdown-body{display:flex;flex-direction:column;gap:12px;padding:12px 16px}.publish-field{display:flex;flex-direction:column;gap:4px}.publish-field label{color:#5f6368;font-size:11px;font-weight:500}.publish-field input,.publish-field textarea{border:1px solid #dadce0;border-radius:6px;font-family:inherit;font-size:13px;outline:none;padding:8px 10px;transition:border-color .15s}.publish-field input:focus,.publish-field textarea:focus{border-color:#1a73e8}.publish-field textarea{min-height:50px;resize:vertical}.publish-version-display{background:#f8f9fa;border:1px solid #e8eaed;border-radius:6px;color:#202124;font-size:13px;font-weight:500;padding:8px 10px}.publish-dropdown-footer{border-top:1px solid #e8eaed;padding:12px 16px}.publish-dropdown-footer .btn{justify-content:center;width:100%}.publish-url-preview{background:#f8f9fa;border-radius:6px;color:#5f6368;font-family:SF Mono,Monaco,monospace;font-size:12px;padding:8px 10px}.publish-url-slug{color:#1a73e8;font-weight:500}.publish-url-row{align-items:center;display:flex;gap:8px}.publish-url-row .publish-url-preview{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.publish-copy-btn{align-items:center;background:#e8eaed;border:none;border-radius:4px;color:#5f6368;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:all .15s ease;width:28px}.publish-copy-btn:hover{background:#dadce0;color:#202124}.publish-copy-btn.copied{background:#34a853;color:#fff}.publish-note{color:#9aa0a6;font-size:11px;margin:0}.publish-loading{align-items:center;color:#5f6368;display:flex;font-size:12px;gap:8px;padding:8px 0}.publish-success-overlay{align-items:center;animation:fadeIn .2s ease;background:rgba(0,0,0,.5);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.publish-success-modal{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.2);max-width:480px;padding:32px;position:relative;text-align:center;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.publish-success-close{align-items:center;background:#f1f3f4;border:none;border-radius:50%;color:#5f6368;cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;position:absolute;right:16px;top:16px;transition:background .15s;width:32px}.publish-success-close:hover{background:#e8eaed}.publish-success-icon{font-size:48px;margin-bottom:16px}.publish-success-title{color:#202124;font-size:24px;font-weight:600;margin:0 0 8px}.publish-success-subtitle{color:#5f6368;font-size:14px;margin:0 0 24px}.publish-success-url-box{align-items:center;background:#f8f9fa;border:1px solid #e8eaed;border-radius:8px;display:flex;gap:8px;margin-bottom:16px;padding:12px 16px}.publish-success-url{color:#1a73e8;flex:1;font-family:SF Mono,Monaco,monospace;font-size:13px;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.publish-success-url:hover{text-decoration:underline}.publish-success-copy-btn{align-items:center;background:#fff;border:1px solid #e8eaed;border-radius:6px;color:#202124;cursor:pointer;display:flex;flex-shrink:0;font-size:13px;font-weight:500;gap:6px;padding:8px 12px;transition:all .15s}.publish-success-copy-btn:hover{background:#f8f9fa;border-color:#dadce0}.publish-success-copy-btn.copied{background:#e6f4ea;border-color:#34a853;color:#1e8e3e}.publish-success-actions{display:flex;gap:12px;justify-content:center;margin-bottom:20px}.publish-success-actions .btn{align-items:center;display:flex;font-size:14px;gap:8px;padding:10px 20px}.publish-success-hint{color:#9aa0a6;font-size:13px;margin:0}.publish-nft-section{margin-bottom:24px;margin-top:8px}.publish-nft-progress{align-items:center;background:#f8f9fa;border-radius:8px;color:#5f6368;display:flex;font-size:13px;gap:10px;justify-content:center;padding:12px}.publish-nft-success{align-items:center;background:linear-gradient(135deg,#667eea15,#764ba215);border:1px solid #667eea30;border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px}.publish-nft-badge{align-items:center;color:#667eea;display:flex;font-size:13px;font-weight:600;gap:8px}.publish-nft-info{color:#5f6368;font-size:12px;margin:0}.publish-nft-info a{color:#1a73e8;margin-left:4px;text-decoration:none}.publish-nft-info a:hover{text-decoration:underline}.publish-nft-error{align-items:center;background:#fce8e6;border-radius:8px;color:#c5221f;display:flex;font-size:13px;justify-content:space-between;padding:12px 16px}.publish-nft-retry{background:#fff;border:1px solid #c5221f;border-radius:4px;color:#c5221f;cursor:pointer;font-size:12px;padding:4px 12px}.publish-nft-retry:hover{background:#c5221f;color:#fff}.publish-nft-no-wallet{background:#f8f9fa;border-radius:8px;color:#9aa0a6;font-size:13px;padding:12px;text-align:center}[data-sonner-toast]{border-radius:8px!important;box-shadow:0 4px 12px rgba(0,0,0,.15)!important;font-family:Google Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important;font-size:14px!important}[data-sonner-toast][data-type=success]{background:#e8f0fe!important;border:1px solid #1a73e8!important;color:#1a73e8!important}[data-sonner-toast][data-type=error]{background:#fce8e6!important;border:1px solid #c5221f!important;color:#c5221f!important}.announcement-form{background:#f8f9fa;border-radius:12px;margin-bottom:20px;padding:20px}.announcement-form .form-group{margin-bottom:16px}.announcement-form .form-group label{color:#3c4043;display:block;font-weight:500;margin-bottom:8px}.announcement-form input[type=text]{border:1px solid #dadce0;border-radius:8px;font-size:14px;padding:10px 14px;width:100%}.announcement-form input[type=text]:focus{border-color:#1a73e8;box-shadow:0 0 0 2px rgba(26,115,232,.2);outline:none}.editor-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.editor-header label{margin-bottom:0!important}.markdown-textarea{background:#fafafa;border:1px solid #dadce0;border-radius:8px;font-family:SF Mono,Monaco,Menlo,monospace;font-size:14px;line-height:1.6;padding:12px;resize:vertical;width:100%}.markdown-textarea:focus{border-color:#1a73e8;box-shadow:0 0 0 2px rgba(26,115,232,.2);outline:none}.markdown-preview{background:#fff;border:1px solid #dadce0;border-radius:8px;line-height:1.6;min-height:200px;padding:16px}.markdown-preview h1,.markdown-preview h2,.markdown-preview h3{margin-bottom:.5em;margin-top:1em}.markdown-preview p{margin-bottom:1em}.markdown-preview code{background:#f1f3f4;border-radius:4px;font-size:.9em;padding:2px 6px}.markdown-preview pre{background:#f1f3f4;border-radius:8px;overflow-x:auto;padding:12px}.markdown-preview pre code{background:none;padding:0}.announcement-actions{display:flex;gap:12px;margin-top:16px}.announcements-list{display:flex;flex-direction:column;gap:8px}.announcement-item{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px}.announcement-info{align-items:center;display:flex;flex:1;gap:12px}.announcement-title{color:#202124;font-weight:500}.announcement-status{border-radius:12px;font-size:12px;font-weight:500;padding:4px 10px}.announcement-status.published{background:#e6f4ea;color:#137333}.announcement-status.draft{background:#fef7e0;color:#b06000}.announcement-date{color:#9aa0a6;font-size:13px}.announcement-item-actions{display:flex;gap:8px}.announcement-item-actions .btn-icon-small.danger{color:#c5221f}.announcement-item-actions .btn-icon-small.danger:hover{background:#fce8e6}.announcements-empty{background:#f8f9fa;border-radius:8px;color:#9aa0a6;padding:24px;text-align:center}.announcements-section{margin-top:32px}.section-title{align-items:center;color:#202124;display:flex;font-size:18px;font-weight:500;gap:8px;margin-bottom:16px}.announcements-empty-home{background:#f8f9fa;border-radius:12px;color:#9aa0a6;padding:32px;text-align:center}.announcement-featured{background:linear-gradient(135deg,#fcfcfd,#fff);border:1px solid #f3f4f5;border-radius:12px;margin-bottom:24px;padding:24px}.announcement-featured-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.announcement-featured-header h3{color:#3c4043;font-size:20px;font-weight:600;margin:0}.announcement-featured-date{align-items:center;color:#5f6368;display:flex;font-size:13px;gap:6px}.announcement-featured-content{color:#3c4043;line-height:1.6}.announcements-older{margin-top:24px}.announcements-older h4{color:#5f6368;font-size:14px;font-weight:500;margin-bottom:12px}.announcements-older-list{list-style:none;margin:0;padding:0}.announcements-older-list li{border-bottom:1px solid #e8eaed}.announcements-older-list li:last-child{border-bottom:none}.announcement-link{align-items:center;color:inherit;display:flex;padding:14px 0;text-decoration:none;transition:all .2s}.announcement-link:hover{color:#1967d2}.announcement-link-title{flex:1;font-weight:500}.announcement-link-date{color:#9aa0a6;font-size:13px;margin-right:8px}.announcement-detail-page{max-width:800px}.back-link{align-items:center;color:#1a73e8;display:inline-flex;font-size:14px;gap:6px;margin-bottom:24px;text-decoration:none}.back-link:hover{text-decoration:underline}.announcement-detail{background:#fff;padding:0}.announcement-detail-header{align-items:center;display:flex;gap:12px;margin-bottom:12px}.announcement-detail-header h1{color:#3c4043;font-size:28px;font-weight:600;margin:0}.announcement-detail-header svg{color:#5f6368}.announcement-detail-meta{align-items:center;border-bottom:1px solid #e8eaed;color:#5f6368;display:flex;font-size:14px;gap:8px;margin-bottom:24px;padding-bottom:24px}.announcement-detail-content{color:#3c4043;line-height:1.7}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{color:#3c4043;font-weight:600;margin-bottom:12px;margin-top:24px}.markdown-body h1:first-child,.markdown-body h2:first-child,.markdown-body h3:first-child{margin-top:0}.markdown-body p{margin-bottom:16px}.markdown-body ol,.markdown-body ul{margin-bottom:16px;padding-left:24px}.markdown-body li{margin-bottom:8px}.markdown-body code{background:#f1f3f4;border-radius:4px;font-family:Roboto Mono,monospace;font-size:.9em;padding:2px 6px}.markdown-body pre{background:#f8f9fa;border-radius:8px;margin-bottom:16px;overflow-x:auto;padding:16px}.markdown-body pre code{background:none;padding:0}.markdown-body img{border-radius:8px;margin:16px 0;max-width:100%}.markdown-body blockquote{background:#f8f9fa;border-left:4px solid #dadce0;color:#5f6368;margin:16px 0;padding:12px 20px}.markdown-body a{color:#1967d2}.markdown-body a:hover{text-decoration:underline}.w-md-editor{border:1px solid #dadce0!important;border-radius:8px!important}.w-md-editor-toolbar{background:#f8f9fa!important;border-bottom:1px solid #dadce0!important}.btn-ghost{background:transparent;border:1px solid #dadce0;color:#5f6368}.btn-ghost:hover{background:#f1f3f4}.view-all-link{align-items:center;color:#1a73e8;display:inline-flex;font-size:14px;font-weight:500;gap:4px;margin-top:16px;padding:8px 0;text-decoration:none;transition:color .2s}.view-all-link:hover{color:#1557b0}.announcements-full-list{display:flex;flex-direction:column;gap:8px}.announcement-list-item{align-items:center;background:#fff;border:1px solid #e8eaed;border-radius:12px;color:inherit;display:flex;justify-content:space-between;padding:16px 20px;text-decoration:none;transition:all .2s}.announcement-list-item:hover{border-color:#1a73e8;box-shadow:0 2px 8px rgba(26,115,232,.15)}.announcement-list-content{display:flex;flex-direction:column;gap:4px}.announcement-list-title{color:#202124;font-size:16px;font-weight:500;margin:0}.announcement-list-date{align-items:center;color:#9aa0a6;display:flex;font-size:13px;gap:6px}.announcement-list-item>svg{color:#9aa0a6;transition:color .2s}.announcement-list-item:hover>svg{color:#1a73e8}.login-terms{margin-top:16px;padding:0 24px}.login-terms-checkbox{align-items:flex-start;color:#5f6368;cursor:pointer;display:flex;font-size:13px;gap:10px;line-height:1.5}.login-terms-checkbox input[type=checkbox]{accent-color:#1a73e8;cursor:pointer;flex-shrink:0;height:18px;margin-top:2px;width:18px}.login-terms-checkbox span{flex:1}.login-terms-checkbox a{color:#1a73e8;text-decoration:none}.login-terms-checkbox a:hover{text-decoration:underline}.legal-page{background:#fff;min-height:100vh;padding:40px 24px}.legal-container{margin:0 auto;max-width:800px}.legal-error,.legal-loading{align-items:center;color:#5f6368;display:flex;font-size:16px;justify-content:center;min-height:50vh}.legal-error{color:#c5221f}.legal-content{color:#202124;font-size:15px;line-height:1.7}.legal-content h1{border-bottom:1px solid #e8eaed;color:#202124;font-size:32px;font-weight:400;margin:0 0 8px;padding-bottom:16px}.legal-content h2{color:#202124;font-size:22px;font-weight:500;margin:32px 0 16px}.legal-content h3{color:#202124;font-size:18px;font-weight:500;margin:24px 0 12px}.legal-content p{margin:0 0 16px}.legal-content ol,.legal-content ul{margin:0 0 16px;padding-left:24px}.legal-content li{margin:8px 0}.legal-content strong{color:#202124;font-weight:600}.legal-content hr{border:none;border-top:1px solid #e8eaed;margin:32px 0}.legal-content table{border-collapse:collapse;font-size:14px;margin:16px 0;width:100%}.legal-content td,.legal-content th{border:1px solid #e8eaed;padding:12px 16px;text-align:left}.legal-content th{background:#f8f9fa;font-weight:600}.legal-content a{color:#1a73e8;text-decoration:none}.legal-content a:hover{text-decoration:underline}.legal-content blockquote{background:#f8f9fa;border-left:4px solid #e8eaed;color:#5f6368;margin:16px 0;padding:8px 16px}.legal-content code{background:#f1f3f4;border-radius:4px;font-family:SF Mono,Monaco,monospace;font-size:.9em;padding:2px 6px}.admin-users-table{border:1px solid #e8eaed;border-radius:8px;overflow:hidden}.admin-users-header{background:#f8f9fa;border-bottom:1px solid #e8eaed;color:#5f6368;font-size:12px;font-weight:500;padding:8px 16px}.admin-user-row,.admin-users-header{display:grid;gap:12px;grid-template-columns:20px 36px 1fr 1fr 70px 90px}.admin-user-row{align-items:center;border-bottom:1px solid #f1f3f4;cursor:pointer;font-size:13px;padding:10px 16px;transition:background .15s}.admin-user-row:last-child{border-bottom:none}.admin-user-row:hover{background:#f8f9fa}.admin-user-row.selected{background:#e8eaf6}.admin-user-row.suspended{opacity:.6}.admin-badge{background:#e8f0fe;border-radius:3px;color:#1a73e8;display:inline-block;font-size:10px;font-weight:600;letter-spacing:.5px;margin-left:6px;padding:1px 6px;text-transform:uppercase;vertical-align:middle}.col-chevron{align-items:center;color:#5f6368;display:flex}.admin-user-projects-expanded{border-bottom:1px solid #e8eaed;padding:0 16px 12px}.admin-user-toolbar{align-items:center;border-bottom:1px solid #f1f3f4;display:flex;flex-wrap:wrap;font-size:13px;gap:10px;margin-bottom:2px;padding:10px 10px 6px}.admin-user-toolbar .toolbar-info{align-items:center;display:flex;gap:6px}.admin-user-toolbar .balance-value{color:#202124;font-variant-numeric:tabular-nums;font-weight:600}.admin-user-toolbar .balance-value.muted{color:#9aa0a6;font-style:italic;font-weight:400}.admin-user-toolbar .balance-detail{color:#80868b;font-size:12px;font-variant-numeric:tabular-nums}.admin-user-toolbar .balance-detail:before{content:"·";margin-right:6px}.admin-user-toolbar .suspended-badge{background:#fce8e6;border-radius:3px;color:#c5221f;font-size:10px;font-weight:600;letter-spacing:.5px;padding:2px 8px;text-transform:uppercase}.admin-user-toolbar .toolbar-actions{display:flex;gap:4px;margin-left:auto}.admin-user-toolbar .toolbar-actions .btn{border-radius:4px;font-size:12px;gap:4px;padding:4px 10px;transition:background .1s,color .1s}.admin-user-toolbar .toolbar-actions .btn.active{background:#e8eaed;color:#202124}.admin-user-toolbar .toolbar-actions .danger{color:#d93025}.admin-user-toolbar .toolbar-actions .danger:hover{background:#fce8e6}.admin-user-toolbar .toolbar-message{font-size:12px;padding:4px 0 2px;width:100%}.admin-user-toolbar .toolbar-message.success{color:#1e8e3e}.admin-user-toolbar .toolbar-message.error{color:#d93025}.btn-danger{background:#d93025;border:none;color:#fff}.btn-danger:hover{background:#c5221f}.confirm-modal{animation:modal-enter .2s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.3);max-width:340px;padding:24px;width:100%}.confirm-modal h3{font-size:16px;font-weight:600;margin:0 0 4px}.confirm-modal.danger h3{color:#c5221f}.confirm-modal-detail{color:#5f6368;font-size:13px;line-height:1.5;margin:0 0 16px}.confirm-modal-field label{color:#5f6368;display:block;font-size:12px;font-weight:500;margin-bottom:4px}.confirm-modal-field input{border:1px solid #dadce0;border-radius:6px;box-sizing:border-box;font-size:14px;padding:8px 10px;width:100%}.confirm-modal-field input:focus{border-color:#1a73e8;box-shadow:0 0 0 2px rgba(26,115,232,.15);outline:none}.confirm-modal-msg{font-size:12px;margin:8px 0 0}.confirm-modal-msg.success{color:#1e8e3e}.confirm-modal-msg.error{color:#d93025}.confirm-modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}.confirm-modal-actions .btn{margin-left:0}.admin-user-projects-expanded .admin-project-row{align-items:center;border-radius:6px;color:#202124;display:grid;font-size:12px;gap:8px;grid-template-columns:48px 1fr 56px 24px 64px 64px 80px;padding:5px 10px;text-decoration:none;transition:background .12s}.admin-user-projects-expanded .admin-project-row:hover{background:#f1f3f4}.admin-user-projects-expanded .admin-project-row *{user-select:text}.admin-user-projects-expanded .project-name{color:#202124;flex:1;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-projects-expanded .project-meta{align-items:center;color:#5f6368;display:flex;font-size:11px;gap:4px;white-space:nowrap}.admin-user-projects-expanded .project-link-icon{color:#9aa0a6;flex-shrink:0}.status-dot{background:#9aa0a6;border-radius:50%;height:6px;width:6px}.status-dot.ready{background:#34a853}.status-dot.building,.status-dot.creating,.status-dot.generating{background:#fbbc04}.status-dot.error{background:#ea4335}.no-projects-msg{color:#9aa0a6;font-size:12px;padding:4px 10px}.user-avatar{border-radius:50%;height:28px;object-fit:cover;width:28px}.user-avatar.placeholder{align-items:center;background:#e8eaed;color:#5f6368;display:flex;font-size:13px;font-weight:500;justify-content:center}.col-email{color:#5f6368;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-projects,.type-badge{font-weight:500;text-align:center}.type-badge{background:#e8eaf6;border-radius:8px;color:#4949b4;display:inline-block;flex-shrink:0;font-size:10px;padding:1px 0;width:48px}.type-badge.game-2d{background:#fce4ec;color:#c62828}.type-badge.game-3d{background:#e8f5e9;color:#2e7d32}.debug-projects-list .admin-project-row{grid-template-columns:48px 1fr 56px 24px 140px 64px 80px}.project-id-meta{font-family:monospace}.import-wrapper{margin-top:12px;text-align:center}.import-label{cursor:pointer;font-size:13px}