@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&family=Inter:wght@400;500;600;700&display=swap";:root{--accent:#7cf9a2;--accent-ink:#062815;--bg:#0b0d0c;--bg-elev:#111413;--bg-soft:#16191a;--line:#1f2422;--line-strong:#2a312e;--ink:#e8ecea;--ink-dim:#8c948f;--ink-faint:#5a625d;--danger:#ff6b6b;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-family:var(--sans);color:var(--ink);background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;line-height:1.55}body{background:var(--bg);color:var(--ink);margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::selection{background:var(--accent);color:var(--accent-ink)}h1,h2,h3,h4{font-family:var(--sans);color:var(--ink);letter-spacing:-.015em;font-weight:600}p{margin:0}code{font-family:var(--mono);background:var(--bg-soft);border:1px solid var(--line);color:var(--ink);border-radius:4px;padding:2px 6px;font-size:12.5px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--sans);background:var(--bg);color:var(--ink)}.app{max-width:1040px;margin:0 auto;padding:24px 20px}.header{border-bottom:1px solid var(--line);align-items:center;gap:16px;margin-bottom:28px;padding:20px 0 28px;display:flex}.header-mark{background:var(--ink);border-radius:10px;flex-shrink:0;width:44px;height:44px;overflow:hidden}.header-mark img{object-fit:cover;width:100%;height:100%;display:block}.header h1{font-size:22px;font-weight:700;font-family:var(--mono);color:var(--ink);letter-spacing:.02em;margin:0}.tagline{color:var(--ink-faint);font-size:11.5px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em}.tabs{border-bottom:1px solid var(--line);gap:2px;margin-bottom:28px;display:flex;overflow-x:auto}.tabs button{cursor:pointer;font-size:13px;font-family:var(--mono);color:var(--ink-dim);white-space:nowrap;letter-spacing:.02em;background:0 0;border:none;border-bottom:2px solid #0000;padding:11px 18px;font-weight:500;transition:color .15s,border-color .15s}.tabs button:hover{color:var(--ink)}.tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.tabs button:disabled{opacity:.35;cursor:not-allowed}.panel{background:var(--bg-elev);border:1px solid var(--line);border-radius:14px;padding:28px}.panel h2{letter-spacing:-.015em;color:var(--ink);margin-bottom:16px;font-size:22px;font-weight:600}.panel h3{color:var(--ink);margin:24px 0 10px;font-size:15px;font-weight:600}.panel p{color:var(--ink-dim);line-height:1.55}.form-group{margin-bottom:18px}.form-group label{font-size:11.5px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-faint);margin-bottom:6px;font-weight:500;display:block}.form-group small{color:var(--ink-faint);margin-top:6px;font-size:12px;display:block}.form-group input,.form-group textarea,.form-group select{background:var(--bg);border:1px solid var(--line-strong);width:100%;font-size:13.5px;font-family:var(--sans);color:var(--ink);border-radius:8px;padding:10px 12px;transition:border-color .15s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 18%, transparent);outline:none}.form-group textarea{font-family:var(--mono);resize:vertical;font-size:13px;line-height:1.55}.btn-primary{background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent);font-size:13.5px;font-family:var(--mono);letter-spacing:.01em;cursor:pointer;border-radius:10px;padding:11px 22px;font-weight:500;transition:background .15s,transform 80ms}.btn-primary:hover{background:color-mix(in oklab, var(--accent) 90%, white)}.btn-primary:active{transform:translateY(1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-danger{background:var(--danger);color:var(--ink);border:1px solid var(--danger);font-size:13.5px;font-family:var(--mono);cursor:pointer;border-radius:10px;padding:11px 22px;font-weight:500;transition:background .15s}.btn-danger:hover{background:color-mix(in oklab, var(--danger) 88%, black)}.btn-danger-sm{background:color-mix(in oklab, var(--danger) 14%, transparent);color:var(--danger);border:1px solid color-mix(in oklab, var(--danger) 40%, transparent);font-size:11.5px;font-family:var(--mono);cursor:pointer;border-radius:6px;padding:5px 14px;transition:background .15s}.btn-danger-sm:hover{background:color-mix(in oklab, var(--danger) 22%, transparent)}.btn-sm{border:1px solid var(--line-strong);background:var(--bg-soft);color:var(--ink-dim);cursor:pointer;font-size:11.5px;font-family:var(--mono);border-radius:6px;padding:5px 14px;transition:color .15s,border-color .15s}.btn-sm:hover{color:var(--ink);border-color:var(--ink-dim)}.btn-google{color:#3c4043;width:100%;font-size:14px;font-family:var(--sans);cursor:pointer;background:#fff;border:1px solid #dadce0;border-radius:6px;justify-content:center;align-items:center;gap:10px;margin-bottom:4px;padding:10px 16px;font-weight:500;transition:background .15s,box-shadow .15s;display:flex}.btn-google:hover{background:#f8f9fa;box-shadow:0 1px 4px #00000026}.btn-google:disabled{opacity:.6;cursor:not-allowed}.auth-divider{color:var(--ink-faint);align-items:center;gap:12px;margin:16px 0;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);flex:1;height:1px}.status-ok{color:var(--accent);font-size:13px;font-family:var(--mono);margin-top:10px}.status-error{color:var(--danger);background:color-mix(in oklab, var(--danger) 10%, transparent);border:1px solid color-mix(in oklab, var(--danger) 40%, transparent);font-size:13px;font-family:var(--sans);border-radius:8px;margin-top:10px;padding:10px 14px}.status-warning{color:#e6b96b;font-size:13px;font-weight:500;font-family:var(--mono)}.muted{color:var(--ink-faint);font-size:13px;font-style:normal}.form-section{border-bottom:1px solid var(--line);padding:18px 0}.form-section:last-child{border-bottom:none}.key-display{background:color-mix(in oklab, var(--accent) 8%, transparent);border:1px solid color-mix(in oklab, var(--accent) 40%, transparent);border-radius:10px;margin-top:14px;padding:16px}.key-value{background:var(--bg);color:var(--accent);border:1px solid var(--line);word-break:break-all;font-size:12.5px;font-family:var(--mono);border-radius:6px;margin:10px 0;padding:12px;display:block}.key-actions{gap:8px;margin-top:8px;display:flex}.key-actions button{border:1px solid var(--line-strong);background:var(--bg-soft);color:var(--ink);cursor:pointer;font-size:12px;font-family:var(--mono);border-radius:6px;padding:6px 14px;transition:border-color .15s}.key-actions button:hover{border-color:var(--ink-dim)}.manifest-list{margin-bottom:24px}.manifest-entry{border:1px solid var(--line);background:var(--bg);border-radius:10px;margin-bottom:12px;overflow:hidden}.manifest-header{background:var(--bg-soft);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.version-badge{font-family:var(--mono);background:color-mix(in oklab, var(--accent) 14%, transparent);color:var(--accent);border:1px solid color-mix(in oklab, var(--accent) 40%, transparent);border-radius:4px;padding:2px 10px;font-size:12px}.config-preview{font-size:12px;font-family:var(--mono);background:var(--bg);color:var(--ink);max-height:220px;margin:0;padding:14px;line-height:1.6;overflow-x:auto}.upload-form{border-top:1px solid var(--line);padding-top:20px}.setup-guide{border-top:1px solid var(--line);margin-top:28px;padding-top:22px}.setup-guide ol{margin-bottom:18px;padding-left:22px}.setup-guide li{color:var(--ink-dim);margin-bottom:8px;line-height:1.55}.setup-guide li strong{color:var(--ink);font-weight:500}.setup-guide pre{background:var(--bg);border:1px solid var(--line);color:var(--ink);font-size:12.5px;font-family:var(--mono);border-radius:8px;padding:16px;line-height:1.7;overflow-x:auto}.footer{text-align:center;color:var(--ink-faint);font-size:11.5px;font-family:var(--mono);letter-spacing:.04em;border-top:1px solid var(--line);margin-top:48px;padding:32px 20px}.auth-container{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative}.auth-container:before{content:"";background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);opacity:.4;pointer-events:none;background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(60% 60%,#000 10%,#0000 70%);mask-image:radial-gradient(60% 60%,#000 10%,#0000 70%)}.auth-card{background:var(--bg-elev);border:1px solid var(--line);text-align:center;border-radius:16px;width:420px;max-width:100%;padding:40px;position:relative;box-shadow:0 40px 80px -30px #0009}.auth-card h1{font-size:26px;font-family:var(--mono);letter-spacing:.02em;margin-bottom:6px}.auth-card h2{text-align:left;margin:24px 0 16px;font-size:16px;font-weight:600}.auth-card .tagline{color:var(--ink-faint);font-size:11.5px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;margin-bottom:20px}.auth-card .form-group{text-align:left}.auth-card .btn-primary{width:100%;margin-top:10px;padding:13px}.auth-card input{background:var(--bg);border:1px solid var(--line-strong);width:100%;color:var(--ink);font-size:14px;font-family:var(--sans);border-radius:8px;margin-bottom:10px;padding:11px 14px}.auth-card input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 18%, transparent);outline:none}.auth-card button{background:var(--accent);width:100%;color:var(--accent-ink);border:1px solid var(--accent);font-size:13.5px;font-family:var(--mono);cursor:pointer;border-radius:10px;margin-top:10px;padding:13px;font-weight:500}.auth-card button:hover{background:color-mix(in oklab, var(--accent) 90%, white)}.auth-card p{color:var(--ink-dim);margin:16px 0 0;font-size:12.5px}.auth-card .auth-note,.auth-card p.auth-note{color:var(--ink-faint);font-size:12px;font-family:var(--mono);margin-top:14px;line-height:1.5}.auth-switch{color:var(--ink-dim);margin-top:18px;font-size:13px}.auth-switch a{color:var(--accent)}.mfa-setup-box{background:var(--bg);border:1px solid var(--line);text-align:center;border-radius:12px;margin:16px 0;padding:22px}.qr-code{border-radius:8px;margin-bottom:14px}.mfa-manual{color:var(--ink-faint);font-size:12px;font-family:var(--mono);margin-bottom:8px}.mfa-secret{font-family:var(--mono);letter-spacing:2px;background:var(--bg-soft);color:var(--accent);border:1px solid var(--line);-webkit-user-select:all;user-select:all;border-radius:6px;padding:10px 16px;font-size:13px;display:block}.user-bar{color:var(--ink-dim);font-size:12.5px;font-family:var(--mono);justify-content:flex-end;align-items:center;gap:12px;margin-left:auto;display:flex}.loading{height:100vh;font-size:14px;font-family:var(--mono);color:var(--ink-dim);justify-content:center;align-items:center;display:flex}.billing-cards{grid-template-columns:1fr 1fr 1fr;gap:14px;margin-bottom:24px;display:grid}@media (width<=720px){.billing-cards{grid-template-columns:1fr}}.billing-card{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:18px}.billing-label{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-family:var(--mono);margin-bottom:8px}.billing-value{color:var(--ink);letter-spacing:-.02em;font-size:26px;font-weight:600}.billing-value-sm{font-size:15px;font-weight:500;font-family:var(--mono);color:var(--ink)}.billing-limit{color:var(--ink-faint);font-size:13px;font-weight:400;font-family:var(--mono);margin-left:4px}.billing-sub{color:var(--ink-faint);font-size:11.5px;font-family:var(--mono);margin-top:4px}.tier-badge{border-radius:6px;padding:3px 12px;font-size:15px;font-weight:500;display:inline-block}.tier-badge[data-tier=hobby],.tier-badge[data-tier=free]{background:var(--bg-soft);color:var(--ink-dim);border:1px solid var(--line)}.tier-badge[data-tier=indie]{background:color-mix(in oklab, var(--accent) 14%, transparent);color:var(--accent);border:1px solid color-mix(in oklab, var(--accent) 40%, transparent)}.tier-badge[data-tier=pro]{background:color-mix(in oklab, var(--accent) 22%, transparent);color:var(--accent);border:1px solid color-mix(in oklab, var(--accent) 50%, transparent)}.tier-badge[data-tier=growth]{background:color-mix(in oklab, var(--accent) 30%, transparent);color:var(--accent);border:1px solid var(--accent)}.tier-badge[data-tier=scale]{color:#d8b4fe;background:oklab(82.6759% .0641989 -.0871323/.18);border:1px solid oklab(82.6759% .0641989 -.0871323/.5)}.mau-bar{background:var(--line);border-radius:3px;height:6px;margin-top:10px;overflow:hidden}.mau-fill{border-radius:3px;height:100%;transition:width .3s}.pricing-comparison{border:1px solid var(--line);border-radius:10px;margin-top:24px;overflow:hidden}.pricing-comparison h3{background:var(--bg-soft);border-bottom:1px solid var(--line);font-size:13px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faint);margin:0;padding:14px 18px}.pricing-comparison p{margin-top:12px;padding:0 18px}.pricing-comparison table{border-collapse:collapse;width:100%;margin:0}.pricing-comparison th{background:var(--bg-soft);text-align:left;font-size:11.5px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);border-bottom:1px solid var(--line);padding:10px 14px;font-weight:500}.pricing-comparison td{border-bottom:1px solid var(--line);color:var(--ink-dim);padding:10px 14px;font-size:13px}.pricing-comparison td:first-child{color:var(--ink);font-weight:500}.pricing-comparison tr:last-child td{border-bottom:none}.pricing-comparison .current-tier{background:color-mix(in oklab, var(--accent) 8%, transparent);color:var(--accent);font-weight:600}.upgrade-cta{text-align:center;background:var(--bg);border:1px solid var(--line);border-radius:10px;margin-top:18px;padding:24px}.upgrade-cta p{color:var(--ink-dim);margin-bottom:6px}.upgrade-cta strong{color:var(--ink)}.upgrade-section{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}.plan-selector{gap:12px;margin:18px 0;display:flex}@media (width<=720px){.plan-selector{flex-direction:column}}.plan-option{border:1px solid var(--line-strong);background:var(--bg);cursor:pointer;text-align:center;color:var(--ink);border-radius:10px;flex:1;padding:18px;transition:border-color .15s,background .15s}.plan-option:hover{border-color:var(--accent)}.plan-option.selected{border-color:var(--accent);background:color-mix(in oklab, var(--accent) 8%, transparent)}.plan-option:disabled{opacity:.5;cursor:not-allowed}.plan-name{color:var(--ink);font-size:14px;font-weight:600;font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.plan-mau{color:var(--ink-faint);font-size:11.5px;font-family:var(--mono);margin-bottom:6px}.plan-price{color:var(--ink);letter-spacing:-.02em;font-size:24px;font-weight:600}.price-period{color:var(--ink-faint);font-size:12.5px;font-weight:400}.price-struck{color:var(--ink-faint);margin-right:6px;font-size:15px;text-decoration:line-through}.price-discounted{color:var(--accent)}.coupon-section{background:var(--bg);border:1px solid var(--line);border-radius:10px;margin:18px 0;padding:16px}.coupon-label{color:var(--ink-faint);font-size:11.5px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px}.coupon-input-row{gap:8px;display:flex}.coupon-input-row input{background:var(--bg-soft);border:1px solid var(--line-strong);font-size:13px;font-family:var(--mono);text-transform:uppercase;letter-spacing:1px;color:var(--ink);border-radius:8px;flex:1;padding:9px 12px}.coupon-input-row button{background:var(--bg-soft);color:var(--ink);border:1px solid var(--line-strong);font-size:12.5px;font-family:var(--mono);cursor:pointer;border-radius:8px;padding:9px 18px;transition:border-color .15s}.coupon-input-row button:hover{border-color:var(--ink-dim)}.coupon-input-row button:disabled{opacity:.5}.coupon-applied{align-items:center;gap:12px;display:flex}.coupon-badge{background:color-mix(in oklab, var(--accent) 14%, transparent);color:var(--accent);border:1px solid color-mix(in oklab, var(--accent) 40%, transparent);font-size:12.5px;font-weight:500;font-family:var(--mono);border-radius:6px;padding:6px 14px}.coupon-remove{color:var(--danger);cursor:pointer;font-size:12.5px;font-family:var(--mono);background:0 0;border:none}.coupon-error{color:var(--danger);font-size:12.5px;font-family:var(--mono);margin-top:6px}.checkout-summary{background:var(--bg);border:1px solid var(--line);border-radius:10px;margin:18px 0;padding:18px}.checkout-line{color:var(--ink-dim);justify-content:space-between;padding:6px 0;font-size:13.5px;display:flex}.checkout-line.discount{color:var(--accent)}.checkout-line.total{border-top:1px solid var(--line);color:var(--ink);margin-top:8px;padding-top:12px;font-size:15px;font-weight:600}.btn-checkout{width:100%;margin-top:10px;padding:14px;font-size:14px}.history-table{border-collapse:collapse;width:100%;margin-top:12px;font-size:12.5px}.history-table th{text-align:left;background:var(--bg-soft);border-bottom:1px solid var(--line);font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);padding:8px 12px;font-size:11px;font-weight:500}.history-table td{border-bottom:1px solid var(--line);color:var(--ink-dim);padding:8px 12px}.history-table tr:last-child td{border-bottom:none}.status-card,.status-hint{background:var(--bg);border:1px solid var(--line);color:var(--ink-dim);border-radius:10px;padding:14px 16px;font-size:13px}.status-card p{margin:4px 0}.status-card strong{color:var(--ink)}.section{border-bottom:1px solid var(--line);padding:18px 0}.section:last-child{border-bottom:none}.form-row{align-items:center;gap:8px;display:flex}.success{color:var(--accent);background:color-mix(in oklab, var(--accent) 10%, transparent);border:1px solid color-mix(in oklab, var(--accent) 40%, transparent);font-size:13px;font-family:var(--mono);border-radius:8px;margin-top:10px;padding:10px 14px}.error{color:var(--danger);background:color-mix(in oklab, var(--danger) 10%, transparent);border:1px solid color-mix(in oklab, var(--danger) 40%, transparent);border-radius:8px;margin-top:10px;padding:10px 14px;font-size:13px}
