:root{--bg: #0a0b0e;--surface: #101216;--surface-2: #15181e;--surface-3: #1c2028;--border: #222631;--border-strong: #2f3441;--text: #eef0f5;--muted: #939aa8;--faint: #5b6271;--accent: #c6f24f;--accent-ink: #0a0b0e;--accent-dim: rgba(198, 242, 79, .12);--accent-line: rgba(198, 242, 79, .32);--cyan: #65d0f0;--danger: #ff6b6b;--danger-dim: rgba(255, 107, 107, .1);--fs-micro: 10.5px;--fs-label: 11px;--fs-caption: 12px;--fs-body: 13px;--fs-ui: 13.5px;--fs-base: 14px;--fs-h3: 16px;--fs-h2: 18px;--lh-tight: 1.4;--lh-body: 1.6;--lh-relax: 1.7;--r1: 8px;--r2: 11px;--r3: 14px;--r-pill: 999px;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 16px 44px -22px rgba(0, 0, 0, .8);--ease: cubic-bezier(.32, .72, 0, 1);--font-display: ui-sans-serif, system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;--font-sans: ui-sans-serif, system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono: ui-monospace, "SFMono-Regular", "Menlo", monospace;font-family:var(--font-sans);font-size:var(--fs-base);line-height:1.5}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:var(--text);background-color:var(--bg);background-image:radial-gradient(1100px 560px at 50% -12%,rgba(198,242,79,.05),transparent 68%),linear-gradient(rgba(255,255,255,.014) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.014) 1px,transparent 1px);background-size:100% 100%,44px 44px,44px 44px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font:inherit;cursor:pointer;color:inherit}input,textarea{font:inherit}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent-line);outline-offset:2px;border-radius:4px}.consent-check{display:flex;gap:10px;align-items:flex-start;margin:18px 0;color:var(--muted);font-size:12px;line-height:1.6}.consent-check input{margin-top:3px;accent-color:var(--accent)}.consent-check a,.legal-page a,.billing-rules a{color:var(--accent)}.legal-page{max-width:820px;margin:0 auto;padding:48px 24px 96px;line-height:1.8}.legal-page article h1{font-size:34px}.legal-page article h2{margin-top:34px;font-size:19px}.consumer-billing-page{max-width:920px}.consumer-billing-page>a{display:inline-flex;margin-bottom:34px;font-size:var(--fs-ui);text-decoration:none}.consumer-billing-page article{max-width:760px}.consumer-billing-page article h1{margin:0 0 6px;font-family:var(--font-display);font-size:clamp(32px,5vw,48px);letter-spacing:-.045em;line-height:1.15}.consumer-billing-page article h1+p{margin:0;color:var(--muted);font-family:var(--font-mono);font-size:var(--fs-caption)}.consumer-billing-page article h2{position:relative;margin-top:54px;padding-top:17px;border-top:1px solid var(--border);font-size:21px;letter-spacing:-.02em}.consumer-billing-page article p{color:#c3c8d1;font-size:15px;line-height:1.85}.consumer-billing-page article ul{padding-left:22px;color:#c3c8d1}.consumer-billing-page article li{margin:8px 0;padding-left:4px}.consumer-billing-page article li::marker{color:var(--accent)}.billing-at-a-glance{margin:0 0 50px;padding:24px;border:1px solid var(--accent-line);border-radius:var(--r3);background:linear-gradient(115deg,rgba(198,242,79,.11),rgba(101,208,240,.045) 52%,transparent)}.legal-kicker{margin:0 0 18px;color:var(--accent);font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.08em}.billing-promises{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.billing-promises>div{min-width:0}.billing-promises span{display:block;margin-bottom:18px;color:var(--accent);font-family:var(--font-mono);font-size:var(--fs-micro)}.billing-promises strong{display:block;margin-bottom:6px;font-size:15px}.billing-promises p{margin:0;color:var(--muted);font-size:var(--fs-caption);line-height:1.65}@media(max-width:620px){.consumer-billing-page{padding:30px 20px 72px}.consumer-billing-page>a{margin-bottom:26px}.billing-at-a-glance{margin-bottom:36px;padding:20px}.billing-promises{grid-template-columns:1fr;gap:18px}.billing-promises span{margin-bottom:6px}.consumer-billing-page article h2{margin-top:42px}.consumer-billing-page article p{font-size:14px}}.public-legal-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 16px;margin:24px auto;max-width:820px;color:var(--muted);font-size:12px;line-height:1.6;text-align:center}.public-legal-footer a{color:inherit}.billing-rules{font-size:11px;color:var(--faint)}.ai-generated-badge{color:var(--accent);font-size:11px;border:1px solid var(--accent-line);border-radius:999px;padding:3px 8px}.guest-demo{max-width:1080px;margin:0 auto;padding:48px 24px 96px}.guest-demo header{margin-bottom:32px}.guest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:32px}.guest-grid article{padding:18px;border:1px solid var(--border);border-radius:var(--r3);background:var(--surface)}.guest-grid img{width:100%;border-radius:var(--r2)}.guest-grid code{display:block;white-space:pre-wrap;color:var(--muted)}.guest-demo .btn-primary{display:inline-block;text-decoration:none}@media(max-width:720px){.guest-grid{grid-template-columns:1fr}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--r-pill);border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#3b4150;background-clip:padding-box}.muted{color:var(--muted)}.mono{font-family:var(--font-mono)}.error{color:var(--danger);font-size:var(--fs-body);margin:12px 0 0;padding:9px 13px;border:1px solid rgba(255,107,107,.28);border-radius:var(--r1);background:var(--danger-dim)}.brand{display:flex;align-items:center;gap:11px;font-family:var(--font-display);font-weight:700;font-size:18px;letter-spacing:0}.brand .logo-mark{width:30px;height:30px;flex-shrink:0;display:block;filter:drop-shadow(0 10px 18px rgba(198,242,79,.14))}.logo-page{fill:var(--accent)}.logo-fold{fill:var(--cyan)}.logo-glyph{fill:none;stroke:var(--accent-ink);stroke-width:1.8;stroke-linecap:round}.logo-spark{fill:var(--accent-ink)}.brand b{color:var(--accent);font-weight:700}.btn-primary{display:inline-flex;align-items:center;gap:7px;background:var(--accent);color:var(--accent-ink);border:none;border-radius:var(--r2);font-family:var(--font-sans);font-weight:700;font-size:var(--fs-ui);padding:11px 18px;box-shadow:var(--shadow-1);transition:transform .16s var(--ease),filter .16s var(--ease),box-shadow .16s var(--ease)}.btn-primary:hover{filter:brightness(1.06);box-shadow:0 8px 22px -10px var(--accent)}.btn-primary:active{transform:translateY(1px)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;filter:none;box-shadow:none}.ghost{display:inline-flex;align-items:center;gap:7px;background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-size:var(--fs-ui);padding:8px 13px;border-radius:var(--r2);transition:border-color .15s var(--ease),background .15s var(--ease),color .15s var(--ease)}.ghost:hover{border-color:var(--border-strong);background:var(--surface-3)}.ghost:disabled{opacity:.4;cursor:not-allowed}.ghost.active{color:var(--accent);border-color:var(--accent-line);background:var(--accent-dim)}.ghost svg,.btn-primary svg{width:15px;height:15px;flex-shrink:0}.chip{font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.02em;color:var(--muted);padding:4px 10px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);white-space:nowrap}.chip.accent{color:var(--accent);border-color:var(--accent-line);background:var(--accent-dim)}.page{height:100%;display:flex;flex-direction:column;min-height:0}.topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 22px;border-bottom:1px solid var(--border);background:#101216c7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:sticky;top:0;z-index:10}.topbar-right,.topbar-left{display:flex;align-items:center;gap:12px}.topbar-left .divider{width:1px;height:18px;background:var(--border)}.project-title{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em}.account-nav{gap:8px;min-width:0}.account-identity{display:flex;align-items:center;gap:8px;min-width:0;max-width:180px;padding-right:2px;color:var(--muted);-webkit-user-select:none;user-select:none}.account-identity.identity-hidden>*{visibility:hidden}.account-avatar{width:26px;height:26px;flex:0 0 26px;display:grid;place-items:center;border:1px solid var(--accent-line);border-radius:8px;object-fit:cover;background:var(--accent-dim);color:var(--accent);font-family:var(--font-display);font-size:var(--fs-caption);font-weight:750}.account-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-body)}.account-nav-divider{width:1px;height:18px;margin:0 2px;background:var(--border)}.topbar-action{height:34px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 10px;border:1px solid transparent;border-radius:var(--r1);background:transparent;color:var(--muted);text-decoration:none;font-size:var(--fs-body);white-space:nowrap;transition:color .15s var(--ease),border-color .15s var(--ease),background .15s var(--ease)}.topbar-action:hover{color:var(--text);border-color:var(--border);background:var(--surface-2)}.topbar-action.active{color:var(--accent);border-color:var(--accent-line);background:var(--accent-dim)}.topbar-action svg{width:15px;height:15px}.account-brand{color:var(--text);text-decoration:none}.account-page{min-height:100%;background:transparent}.account-content{max-width:960px;width:100%;margin:0 auto;padding:44px 28px 96px}.account-page-head{margin-bottom:30px}.account-back{display:inline-flex;align-items:center;gap:7px;margin-bottom:13px;color:var(--accent);font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.04em;text-decoration:none}.account-back svg{width:14px;height:14px;transition:transform .16s var(--ease)}.account-back:hover svg{transform:translate(-2px)}.account-page-head h1{margin:0 0 8px;font-family:var(--font-display);font-size:34px;font-weight:700;letter-spacing:-.035em}.account-page-head p{margin:0;color:var(--muted);font-size:15px}.notice-box{margin-bottom:18px;padding:12px 14px;border:1px solid var(--accent-line);border-radius:var(--r2);background:var(--accent-dim);color:var(--text);font-size:var(--fs-body);line-height:var(--lh-body)}.account-section{position:relative;margin-bottom:18px;padding:24px;border:1px solid var(--border);border-radius:var(--r3);background:var(--surface);overflow:hidden;animation:fade-up .42s both}.account-section:nth-of-type(2){animation-delay:45ms}.account-section:nth-of-type(3){animation-delay:90ms}.account-section:nth-of-type(4){animation-delay:135ms}.account-section:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:1px;background:linear-gradient(90deg,var(--accent-line),transparent 46%);opacity:.45}.account-section-head{display:flex;align-items:center;gap:13px;margin-bottom:20px}.account-section-icon{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border:1px solid var(--accent-line);border-radius:10px;background:var(--accent-dim);color:var(--accent)}.account-section-icon svg{width:18px;height:18px}.account-kicker{display:block;margin-bottom:2px;color:var(--faint);font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.11em;text-transform:uppercase}.account-section h2{margin:0;font-family:var(--font-display);font-size:var(--fs-h2);letter-spacing:-.015em}.account-section-intro{max-width:720px;margin:-4px 0 20px;color:var(--muted);font-size:var(--fs-body);line-height:var(--lh-relax)}.account-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.account-stat{min-height:78px;display:flex;flex-direction:column;justify-content:space-between;gap:10px;padding:13px 15px;border:1px solid var(--border);border-radius:var(--r2);background:var(--surface-2)}.account-stat>span{color:var(--faint);font-family:var(--font-mono);font-size:var(--fs-label)}.account-stat strong{color:var(--text);font-family:var(--font-display);font-size:19px;font-variant-numeric:tabular-nums}.account-stat .status-live{display:flex;align-items:center;gap:7px;color:var(--accent);font-size:var(--fs-ui)}.status-live i{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--accent-dim)}.account-actions{display:flex;gap:14px;align-items:center;margin-top:18px}.account-text-link{color:var(--accent);font-size:var(--fs-body);text-underline-offset:4px;text-decoration-color:var(--accent-line)}.account-text-link:hover{text-decoration-color:var(--accent)}.consent-list{margin-top:18px;border-top:1px solid var(--border)}.consent-row{display:grid;grid-template-columns:minmax(140px,1fr) 90px minmax(190px,auto);align-items:center;gap:16px;padding:11px 2px;border-bottom:1px solid var(--border);color:var(--muted);font-size:var(--fs-body)}.consent-row:last-child{border-bottom:0}.consent-row code,.report-row code{justify-self:start;padding:3px 7px;border:1px solid var(--border);border-radius:var(--r-pill);color:var(--faint);background:var(--surface-2);font-family:var(--font-mono);font-size:var(--fs-micro)}.consent-row time{color:var(--faint);font-family:var(--font-mono);font-size:var(--fs-label);text-align:right}.transaction-list{border-top:1px solid var(--border)}.transaction-row{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:68px;padding:12px 10px;border-bottom:1px solid var(--border);transition:background .15s var(--ease)}.transaction-row:hover{background:#ffffff03}.transaction-row:last-child{border-bottom:0}.transaction-main{min-width:0}.transaction-main time{color:var(--text);font-size:var(--fs-body);font-variant-numeric:tabular-nums}.transaction-main small{display:flex;gap:8px;margin-top:5px;color:var(--faint);font-size:var(--fs-caption)}.transaction-main small span{color:var(--muted)}.transaction-main small span:after{content:"·";margin-left:8px;color:var(--faint)}.transaction-row strong{flex:0 0 auto;font-family:var(--font-mono);font-size:var(--fs-ui);font-variant-numeric:tabular-nums}.transaction-row strong.negative{color:#ff9696}.transaction-row strong.positive{color:var(--accent)}.account-empty{margin:0;padding:20px 2px 4px;color:var(--faint);font-family:var(--font-mono);font-size:var(--fs-caption)}.account-form{display:grid;grid-template-columns:minmax(180px,.42fr) minmax(320px,1fr);gap:14px;align-items:start}.account-form label{display:flex;min-width:0;flex-direction:column;gap:8px}.account-form label>span{color:var(--muted);font-size:var(--fs-caption);font-weight:650}.account-form select,.account-form textarea{width:100%;border:1px solid var(--border);border-radius:var(--r2);background:var(--surface-2);color:var(--text);font:inherit;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.account-form select{height:42px;padding:0 12px}.account-form textarea{min-height:116px;resize:vertical;padding:12px 13px;line-height:var(--lh-body)}.account-form select:focus,.account-form textarea:focus{outline:none;border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-dim)}.account-form textarea::placeholder{color:var(--faint)}.account-form label>small{margin-top:-2px;color:var(--faint);font-family:var(--font-mono);font-size:var(--fs-micro);text-align:right}.account-submit{grid-column:2;justify-self:start}.report-list{margin-top:22px;border-top:1px solid var(--border)}.report-row{display:grid;grid-template-columns:minmax(130px,1fr) 90px 120px;gap:14px;align-items:center;padding:11px 2px;border-bottom:1px solid var(--border);color:var(--muted);font-size:var(--fs-body)}.report-row time{color:var(--faint);font-family:var(--font-mono);font-size:var(--fs-label);text-align:right}.report-row small{grid-column:1 / -1;color:var(--faint)}.danger-zone{border-color:#ff6b6b47;background:linear-gradient(90deg,var(--danger-dim),transparent 40%),var(--surface)}.danger-zone:before{background:linear-gradient(90deg,rgba(255,107,107,.55),transparent 46%)}.danger-zone .account-section-icon{color:var(--danger);border-color:#ff6b6b52;background:var(--danger-dim)}.danger-zone .account-kicker{color:#ff9696b8}.danger{padding:9px 14px;border:1px solid rgba(255,107,107,.46);border-radius:var(--r1);background:transparent;color:#ff9696;font-size:var(--fs-body);font-weight:650;transition:color .15s var(--ease),background .15s var(--ease),border-color .15s var(--ease)}.danger:hover{color:#1a0808;border-color:var(--danger);background:var(--danger)}.auth-page{height:100%;display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden}.auth-hero{position:relative;padding:56px 60px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--border);background:radial-gradient(720px 420px at 18% 8%,rgba(198,242,79,.09),transparent 58%),radial-gradient(560px 400px at 92% 102%,rgba(101,208,240,.06),transparent 60%),linear-gradient(rgba(255,255,255,.016) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.016) 1px,transparent 1px);background-size:100% 100%,100% 100%,44px 44px,44px 44px;overflow:hidden}.auth-hero .brand{font-size:20px;position:relative;z-index:1}.hero-mid{position:relative;z-index:1;max-width:480px}.hero-kicker{font-family:var(--font-mono);font-size:12px;letter-spacing:.16em;color:var(--accent);text-transform:uppercase;margin-bottom:20px}.hero-title{font-family:var(--font-display);font-size:50px;line-height:1.04;font-weight:800;letter-spacing:-.035em;margin:0 0 22px}.hero-title .accent{color:var(--accent)}.hero-sub{color:var(--muted);font-size:16px;line-height:1.7;margin:0}.hero-features{position:relative;z-index:1;list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:15px}.hero-features li{display:flex;align-items:center;gap:13px;font-size:14.5px;color:var(--text)}.hero-features .tick{display:grid;place-items:center;width:22px;height:22px;flex-shrink:0;border-radius:7px;background:var(--accent-dim);color:var(--accent);border:1px solid var(--accent-line);font-family:var(--font-mono);font-size:11px;font-weight:600}.hero-features .lbl{color:var(--muted)}.auth-form-wrap{display:grid;place-items:center;padding:32px}.auth-card{width:100%;max-width:384px}.auth-card .form-kicker{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}.auth-card h2{font-family:var(--font-display);font-size:28px;font-weight:700;letter-spacing:-.025em;margin:10px 0 16px}.auth-card-sub{font-size:14px;color:var(--muted);margin:0 0 26px;line-height:1.6}.auth-hint{margin-top:16px;font-size:12px;color:var(--faint);text-align:center;line-height:1.6}.btn-wechat{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:13px;background:linear-gradient(135deg,#07c160,#06a34f);color:#fff;border:none;border-radius:var(--r2);font-size:15px;font-weight:600;cursor:pointer;transition:filter .15s var(--ease),transform .1s var(--ease),box-shadow .15s var(--ease)}.btn-wechat:hover{filter:brightness(1.05);box-shadow:0 8px 22px -10px #07c160}.btn-wechat:active{transform:translateY(1px)}.btn-wechat:disabled{opacity:.5;cursor:not-allowed;filter:none;box-shadow:none}.btn-wechat .wechat-icon{width:20px;height:20px;flex-shrink:0}.field{margin-bottom:16px}.field label{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.05em;color:var(--muted);text-transform:uppercase;margin-bottom:8px}.field input{width:100%;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);color:var(--text);transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.field input:focus{outline:none;border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-dim)}.field input::placeholder{color:var(--faint)}.auth-card .btn-primary{width:100%;justify-content:center;margin-top:10px;padding:13px}.switch{margin-top:24px;font-size:14px;color:var(--muted);text-align:center}.switch button{background:none;border:none;color:var(--accent);font-weight:600;padding:0 4px}.switch button:hover{text-decoration:underline}.legal-links{margin-top:20px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;color:var(--faint);font-size:12px}.legal-links button{padding:2px 0;color:var(--muted);background:none;border:0;font-weight:600;transition:color .15s var(--ease)}.legal-links button:hover{color:var(--accent)}.legal-links i{width:1px;height:11px;background:var(--border-strong)}.legal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:24px;background:#050608c7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:legal-fade-in .18s var(--ease)}.legal-modal{width:min(680px,100%);max-height:min(760px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r3);box-shadow:0 28px 80px -24px #000000e6;animation:legal-rise-in .22s var(--ease)}.legal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:26px 28px 22px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,rgba(198,242,79,.055),transparent 48%)}.legal-kicker{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.legal-header h2{margin:7px 0 5px;font-family:var(--font-display);font-size:24px;letter-spacing:-.02em}.legal-header p{margin:0;color:var(--faint);font-size:11px}.legal-close{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;color:var(--muted);background:var(--surface-2);font-size:23px;line-height:1;transition:color .15s var(--ease),border-color .15s var(--ease),transform .15s var(--ease)}.legal-close:hover{color:var(--text);border-color:var(--border-strong);transform:rotate(4deg)}.legal-body{padding:24px 28px 10px;overflow-y:auto}.legal-intro{margin:0 0 24px;padding:13px 15px;color:var(--muted);background:var(--surface-2);border-left:2px solid var(--accent);border-radius:0 var(--r1) var(--r1) 0}.legal-body section{margin-bottom:23px}.legal-body h3{margin:0 0 8px;font-family:var(--font-display);font-size:15px;font-weight:650;color:var(--text)}.legal-body p{margin:0;color:var(--muted);font-size:13px;line-height:1.85}.legal-footer{display:flex;justify-content:flex-end;padding:16px 28px;border-top:1px solid var(--border);background:#0a0b0e7a}.legal-footer .btn-primary{padding:9px 22px}@keyframes legal-fade-in{0%{opacity:0}}@keyframes legal-rise-in{0%{opacity:0;transform:translateY(12px) scale(.985)}}.projects{padding:44px 28px 60px;max-width:960px;width:100%;margin:0 auto}.projects-head{margin-bottom:30px}.projects-head h1{font-family:var(--font-display);font-size:34px;font-weight:700;letter-spacing:-.035em;margin:0 0 8px}.projects-head p{color:var(--muted);margin:0;font-size:15px}.create-bar{display:flex;gap:12px;margin-bottom:30px}.create-bar .field-wrap{flex:1;position:relative}.create-bar .field-label{position:absolute;left:14px;top:50%;transform:translateY(-50%);z-index:1;pointer-events:none;font-family:var(--font-mono);font-size:var(--fs-body);color:var(--accent);font-weight:600;white-space:nowrap}.create-bar input{width:100%;padding:13px 16px 13px 90px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);color:var(--text);transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.create-bar input:focus{outline:none;border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-dim)}.create-bar input::placeholder{color:var(--faint)}.create-bar input.invalid{border-color:var(--danger)}.create-bar input.invalid:focus{box-shadow:0 0 0 3px #ff6b6b2e}.create-bar .field-hint{position:absolute;left:4px;top:calc(100% + 6px);font-size:var(--fs-body);color:var(--danger);display:flex;align-items:center;gap:6px;white-space:nowrap}.create-bar .field-hint:before{content:"↑";font-weight:700}.create-bar .btn-primary{white-space:nowrap}.section-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:var(--faint);text-transform:uppercase;margin-bottom:16px;display:flex;align-items:center;gap:12px}.section-label:after{content:"";flex:1;height:1px;background:var(--border)}.projects-toolbar{display:flex;align-items:center;gap:16px;margin-bottom:16px}.projects-toolbar .section-label{flex:1;margin-bottom:0}.project-search{flex-shrink:0}.project-search input{width:240px;padding:9px 14px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--r2);font-size:13px;font-family:inherit;transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}.project-search input:focus{outline:none;border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-dim)}.project-search input::placeholder{color:var(--faint)}.pagination{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:28px;flex-wrap:wrap}.page-btn{min-width:34px;height:34px;padding:0 10px;display:grid;place-items:center;background:var(--surface);color:var(--muted);border:1px solid var(--border);border-radius:var(--r2);font-size:13px;font-family:var(--font-mono);cursor:pointer;transition:border-color .18s var(--ease),color .18s var(--ease),background .18s var(--ease)}.page-btn:hover:not(:disabled){color:var(--text);border-color:var(--border-strong)}.page-btn.active{background:var(--accent-dim);color:var(--accent);border-color:var(--accent-line)}.page-btn:disabled{opacity:.4;cursor:not-allowed}.project-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(264px,1fr));gap:14px}.project-card{position:relative;padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r3);cursor:pointer;overflow:hidden;transition:border-color .18s var(--ease),transform .18s var(--ease),box-shadow .18s var(--ease);animation:fade-up .5s both}.project-card:before{content:"";position:absolute;left:0;top:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),transparent 70%);opacity:0;transition:opacity .18s var(--ease)}.project-card:hover{border-color:var(--border-strong);transform:translateY(-3px);box-shadow:var(--shadow-2)}.project-card:hover:before{opacity:1}.project-card:hover .open-hint{color:var(--accent)}.project-card:hover .open-hint svg{transform:translate(2px)}.card-top{display:flex;align-items:center;gap:12px;margin-bottom:24px}.card-avatar{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:16px;background:var(--accent-dim);color:var(--accent);border:1px solid var(--accent-line);flex-shrink:0}.card-name{flex:1;font-weight:700;font-size:15px;letter-spacing:-.01em;line-height:1.3;word-break:break-word}.project-card:has(.menu-pop){overflow:visible;z-index:5}.card-menu{flex-shrink:0;position:relative}.kebab{width:28px;height:28px;border-radius:var(--r1);display:grid;place-items:center;background:transparent;color:var(--faint);border:1px solid transparent;opacity:0;transition:opacity .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease),background .18s var(--ease)}.kebab svg{width:16px;height:16px}.project-card:hover .kebab{opacity:1}.kebab:hover,.kebab.active{color:var(--text);border-color:var(--border);background:var(--surface-3);opacity:1}.menu-pop{position:absolute;top:calc(100% + 6px);right:0;min-width:172px;padding:6px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r2);box-shadow:var(--shadow-2);z-index:20;animation:menu-in .14s var(--ease) both}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}.menu-item{width:100%;display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--r1);background:transparent;border:none;color:var(--text);font-size:var(--fs-body);text-align:left;transition:background .14s var(--ease),color .14s var(--ease)}.menu-item:hover{background:var(--surface-3)}.menu-item.danger{color:var(--danger)}.menu-item.danger:hover{background:var(--danger-dim)}.menu-ico{display:grid;place-items:center;width:16px;opacity:.85}.menu-ico svg{width:15px;height:15px}.menu-confirm{padding:6px 8px 4px}.menu-confirm-text{margin:0 0 12px;font-size:13px;line-height:1.5;color:var(--text)}.menu-confirm-hint{color:var(--muted);font-size:12px}.menu-confirm-actions{display:flex;gap:8px}.menu-confirm-actions button{flex:1;padding:8px 10px;border-radius:var(--r1);font-size:13px;font-weight:600;white-space:nowrap;transition:filter .14s var(--ease),background .14s var(--ease),border-color .14s var(--ease),color .14s var(--ease)}.menu-confirm-actions button:disabled{opacity:.55;cursor:default}.mc-cancel{background:var(--surface-3);border:1px solid var(--border);color:var(--text)}.mc-cancel:hover:not(:disabled){border-color:var(--border-strong)}.mc-delete{background:var(--danger-dim);border:1px solid transparent;color:var(--danger)}.mc-delete:hover:not(:disabled){background:var(--danger);border-color:var(--danger);color:#1a0808}.card-rename-input{flex:1;min-width:0;padding:7px 10px;border-radius:var(--r1);background:var(--surface);border:1px solid var(--accent-line);color:var(--text);font-weight:700;font-size:15px;letter-spacing:-.01em;outline:none}.card-rename-input:focus{box-shadow:0 0 0 3px var(--accent-dim)}.rename-hint{font-family:var(--font-mono);font-size:11px;color:var(--accent)}.card-bottom{display:flex;align-items:center;justify-content:space-between}.card-time{font-family:var(--font-mono);font-size:11px;color:var(--muted)}.open-hint{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:12px;color:var(--faint);transition:color .18s var(--ease)}.open-hint svg{width:13px;height:13px;transition:transform .18s var(--ease)}.card-actions{display:inline-flex;align-items:center;gap:12px}.card-run{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:12px;color:var(--accent);border:1px solid var(--border);border-radius:var(--r-pill);background:transparent;padding:4px 11px;cursor:pointer;transition:background .18s var(--ease),border-color .18s var(--ease)}.card-run svg{width:13px;height:13px}.card-run:hover{background:var(--accent-dim, rgba(190,242,100,.12));border-color:var(--accent)}.run-overlay{z-index:95;padding:0;background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none}.run-modal{width:100%;max-width:none;height:100vh;height:100dvh;display:flex;flex-direction:column;background:var(--surface);border:0;border-radius:0;box-shadow:none;overflow:hidden}.run-modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid var(--border)}.run-modal-head h2{font-size:15px;font-weight:700;color:var(--text);margin:0}.run-modal-stage{position:relative;flex:1;min-height:0;background:var(--surface-2)}.run-preview-pane{position:relative;width:100%;height:100%}.run-preview,.run-preview .sp-preview-container,.run-preview iframe{width:100%;height:100%}.empty-state{text-align:center;padding:64px 20px;border:1px dashed var(--border);border-radius:var(--r3);background:var(--surface)}.empty-state .glyph{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 16px;border-radius:13px;background:var(--surface-2);border:1px solid var(--border);color:var(--faint)}.empty-state .glyph svg{width:24px;height:24px}.empty-state p{color:var(--muted);margin:0 auto;line-height:1.7;max-width:420px}.loading-state{color:var(--muted);font-family:var(--font-mono);font-size:var(--fs-body);padding:20px 0}.workspace{height:100%;display:flex;flex-direction:column;min-height:0}.workspace-body{flex:1;display:grid;grid-template-columns:1fr;min-height:0}.workspace-body.with-preview{grid-template-columns:clamp(480px,40%,620px) minmax(0,1fr)}.status-badge{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.02em;padding:4px 11px;border-radius:var(--r-pill);border:1px solid var(--border);color:var(--muted);background:var(--surface)}.status-badge .dot{width:7px;height:7px;border-radius:var(--r-pill);background:var(--faint)}.status-badge.live{color:var(--accent);border-color:var(--accent-line);background:var(--accent-dim)}.status-badge.live .dot{background:var(--accent);animation:pulse 1.5s ease-out infinite}.chat{display:flex;flex-direction:column;border-right:1px solid var(--border);min-width:0;min-height:0;background:var(--surface)}.messages{flex:1;min-width:0;overflow-y:auto;overflow-x:hidden;padding:24px 20px;display:flex;flex-direction:column;gap:18px}.hint{margin:auto;text-align:left;max-width:440px;width:100%}.hint-kicker{display:flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin:0 0 16px}.hint-kicker:after{content:"";flex:1;height:1px;background:var(--border)}.hint h3{font-family:var(--font-display);font-size:27px;font-weight:700;margin:0 0 10px;letter-spacing:-.025em;line-height:1.15}.hint p{color:var(--muted);line-height:var(--lh-body);margin:0 0 26px;font-size:var(--fs-body);max-width:32ch}.starter-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}.starter-list li{margin:0}.starter-list button{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:13px 4px;background:none;border:none;border-bottom:1px solid var(--border);color:var(--muted);font-size:var(--fs-ui);cursor:pointer;transition:padding-left .25s var(--ease),background .2s var(--ease)}.starter-index{font-family:var(--font-mono);font-size:var(--fs-label);color:var(--faint);font-variant-numeric:tabular-nums;transition:color .2s var(--ease)}.starter-emoji{font-size:15px;line-height:1;flex-shrink:0;filter:grayscale(1) opacity(.55);transition:filter .25s var(--ease),transform .25s var(--ease)}.starter-title{flex:1;color:var(--text);font-weight:500;transition:color .2s var(--ease)}.starter-arrow{font-family:var(--font-mono);color:var(--accent);opacity:0;transform:translate(-6px);transition:opacity .2s var(--ease),transform .25s var(--ease)}.starter-list button:hover{padding-left:10px}.starter-list button:hover .starter-index{color:var(--accent)}.starter-list button:hover .starter-emoji{filter:grayscale(0) opacity(1);transform:scale(1.12)}.starter-list button:hover .starter-title{color:var(--text)}.starter-list button:hover .starter-arrow{opacity:1;transform:translate(0)}.starter-list button:focus-visible{outline:none;padding-left:10px}.starter-list button:focus-visible .starter-arrow{opacity:1;transform:translate(0)}.msg{display:flex;flex-direction:column;gap:6px;animation:fade-up .35s both;max-width:94%;min-width:0}.msg.user{align-self:flex-end;align-items:flex-end}.msg.assistant{align-self:flex-start;align-items:flex-start}.msg-meta{display:flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.05em;color:var(--faint);text-transform:uppercase}.msg-meta .role-dot{width:6px;height:6px;border-radius:var(--r-pill)}.msg.user .role-dot{background:var(--cyan)}.msg.assistant .role-dot{background:var(--accent)}.bubble{padding:11px 14px;border-radius:var(--r3);white-space:pre-wrap;line-height:var(--lh-body);font-size:var(--fs-body);max-width:100%;min-width:0;overflow-wrap:break-word;word-break:break-word}.msg.user .bubble{background:var(--accent);color:var(--accent-ink);font-weight:500;border-bottom-right-radius:4px}.msg.assistant .bubble{background:var(--surface-2);border:1px solid var(--border);border-bottom-left-radius:4px}.msg-cost{display:flex;align-items:center;gap:10px;font-size:var(--fs-micro);color:var(--faint);font-family:var(--font-mono);letter-spacing:.02em;padding-left:2px}.preview-link{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;border:1px solid var(--accent);background:transparent;color:var(--accent);font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.02em;cursor:pointer;transition:background .15s ease,color .15s ease}.preview-link:hover{background:var(--accent);color:var(--accent-ink)}.preview-link svg{width:12px;height:12px}.preview-link.secondary{border-color:var(--border);color:var(--muted)}.preview-link.secondary:hover{background:var(--surface-2);color:var(--text);border-color:var(--faint)}.caret{display:inline-block;width:7px;height:14px;background:var(--accent);margin-left:2px;vertical-align:text-bottom;animation:blink 1s step-end infinite}.stream-text{white-space:pre-wrap}.markdown{white-space:normal;font-size:var(--fs-body);line-height:var(--lh-body);min-width:0;overflow-wrap:break-word;word-break:break-word}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown p{margin:0 0 10px}.markdown h1,.markdown h2,.markdown h3,.markdown h4{margin:15px 0 7px;line-height:1.35;font-weight:650;letter-spacing:-.01em}.markdown h1{font-size:var(--fs-h3)}.markdown h2{font-size:15px}.markdown h3{font-size:var(--fs-ui)}.markdown h4{font-size:var(--fs-body);color:var(--muted)}.markdown ul,.markdown ol{margin:0 0 10px;padding-left:20px}.markdown li{margin:3px 0}.markdown li>p{margin:0}.markdown a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.markdown strong{font-weight:650;color:var(--text)}.markdown code{font-family:var(--font-mono);font-size:var(--fs-caption);background:var(--surface-3);padding:1px 5px;border-radius:4px}.markdown pre{background:var(--bg);border:1px solid var(--border);border-radius:var(--r2);padding:12px 14px;overflow:auto;margin:0 0 10px;max-width:100%}.markdown pre code{background:none;padding:0;font-size:var(--fs-caption);line-height:1.55;white-space:pre;word-break:normal;overflow-wrap:normal}.markdown blockquote{margin:0 0 10px;padding:2px 12px;border-left:3px solid var(--accent-line);color:var(--muted)}.markdown hr{border:none;border-top:1px solid var(--border);margin:14px 0}.markdown table{border-collapse:collapse;width:100%;margin:0 0 10px;font-size:var(--fs-body);display:block;overflow-x:auto}.markdown th,.markdown td{border:1px solid var(--border);padding:6px 10px;text-align:left}.markdown th{background:var(--surface-3);font-weight:600}.markdown img{max-width:100%;border-radius:var(--r2)}.reasoning-spinner{width:10px;height:10px;border-radius:var(--r-pill);border:1.5px solid var(--accent-line);border-top-color:var(--accent);animation:spin .7s linear infinite;flex-shrink:0}.stream-card{padding:14px 16px 6px;border-radius:var(--r3);border-bottom-left-radius:4px;background:var(--surface-2);border:1px solid var(--accent-line);box-shadow:inset 0 0 0 1px #c6f24f08,var(--shadow-1);min-width:0;max-width:100%;overflow-wrap:break-word;word-break:break-word}.tl-warming{display:flex;align-items:center;gap:9px;padding:4px 0 10px;font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.05em;text-transform:uppercase;color:var(--faint)}.timeline{display:flex;flex-direction:column}.tl-item{position:relative;padding:0 0 14px 24px;animation:fade-up .3s both}.tl-item:before{content:"";position:absolute;left:4.5px;top:6px;bottom:-2px;width:1px;background:linear-gradient(var(--border-strong),var(--border))}.tl-item:last-child{padding-bottom:2px}.tl-item:last-child:before{display:none}.tl-dot{position:absolute;left:0;top:4px;width:10px;height:10px;border-radius:var(--r-pill);background:var(--surface-3);box-shadow:0 0 0 1px var(--border-strong);z-index:1}.tl-dot.think{background:var(--surface-3);box-shadow:0 0 0 1px var(--border-strong)}.tl-dot.say{background:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 10px 0 var(--accent-line)}.tl-dot.act{left:1.5px;top:6px;width:7px;height:7px;background:var(--muted);box-shadow:none}.tl-dot.act.err{background:var(--danger)}.tl-head{display:inline-flex;align-items:center;gap:7px;padding:2px 0;background:none;border:none;cursor:pointer;color:var(--faint);font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.06em;text-transform:uppercase;transition:color .15s var(--ease)}.tl-head:hover{color:var(--muted)}.tl-tick{color:var(--accent);font-size:var(--fs-label)}.tl-caret{width:13px;height:13px;opacity:.55;transition:transform .18s var(--ease)}.tl-item.think.open .tl-caret{transform:rotate(90deg)}.tl-think-body{margin-top:7px;font-size:var(--fs-caption);line-height:1.66;color:var(--muted);white-space:pre-wrap;max-height:150px;overflow-y:auto;overscroll-behavior:contain;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 16%,#000 88%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 16%,#000 88%,transparent);scrollbar-width:thin;scrollbar-color:var(--accent-line) transparent;padding-right:4px}.tl-think-body::-webkit-scrollbar{width:6px}.tl-think-body::-webkit-scrollbar-thumb{background:var(--accent-line);border-radius:var(--r-pill)}.tl-think-body::-webkit-scrollbar-track{background:transparent}.tl-say{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text);white-space:pre-wrap}.tl-act{display:flex;gap:8px;align-items:baseline;font-family:var(--font-mono);font-size:var(--fs-label);line-height:1.55;color:var(--muted)}.tl-act .ico{flex-shrink:0;font-size:9px;color:var(--accent);width:10px;text-align:center}.tl-item.act.running .tl-act{color:var(--text)}.tl-item.act.running .ico{animation:pulse 1.1s ease-in-out infinite}.tl-item.act.err .tl-act,.tl-item.act.err .ico{color:var(--danger)}.tl-act-msg{color:var(--faint)}.composer{border-top:1px solid var(--border);padding:14px;background:var(--surface)}.composer-box{border:1px solid var(--border);border-radius:var(--r3);background:var(--surface-2);transition:border-color .15s var(--ease),box-shadow .15s var(--ease);overflow:hidden}.composer-box:focus-within{border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-dim)}.composer.first-use .composer-box{border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-dim)}.composer textarea{width:100%;resize:none;padding:13px 14px 4px;background:transparent;border:none;color:var(--text);font-size:var(--fs-body);line-height:1.55}.composer textarea:focus{outline:none}.composer textarea::placeholder{color:var(--faint)}.composer-foot{display:flex;align-items:center;justify-content:space-between;padding:6px 10px 10px 14px}.composer-foot .kbd{font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--faint)}.composer-foot .kbd b{color:var(--muted);font-weight:500}.composer-foot .right{display:flex;align-items:center;gap:10px}.composer-foot .count{font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--faint)}.composer-foot .left{display:flex;align-items:center;gap:10px}.effort-select{display:inline-flex;align-items:center;gap:4px}.effort-select .effort-label{font-size:var(--fs-micro);color:var(--faint)}.effort-select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:3px 20px 3px 8px;border:1px solid var(--border);border-radius:var(--r1, 6px);background:var(--surface) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 5l3 3 3-3' fill='none' stroke='%23888' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 5px center/11px;color:var(--muted);font-size:var(--fs-micro);line-height:1.6;cursor:pointer}.effort-select select:hover:not(:disabled){border-color:var(--accent-line);color:var(--text)}.effort-select select:focus-visible{outline:none;border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-dim)}.effort-select select:disabled{opacity:.5;cursor:not-allowed}.composer .btn-primary{padding:8px 16px}.icon-btn{padding:5px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r2)}.icon-btn svg{width:17px;height:17px}.attach-tray{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:10px 12px 0}.attach-chip{display:inline-flex;align-items:center;gap:5px;max-width:220px;padding:3px 8px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);font-size:var(--fs-caption);line-height:1.4}.attach-chip svg{width:13px;height:13px;flex:none;color:var(--accent)}.attach-chip>:not(svg):not(button){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attach-chip.removable button{display:inline-flex;padding:0;margin-left:2px;border:none;background:none;color:var(--faint);cursor:pointer}.attach-chip.removable button:hover{color:var(--text)}.attach-chip.removable button svg{width:13px;height:13px;color:inherit}.attach-chip .chip-pin{flex:none;font-size:12px;line-height:1}.attach-chip .chip-act{display:inline-flex;padding:0 6px;margin-left:2px;border:none;border-radius:999px;background:var(--accent);color:#0b0e14;font-size:var(--fs-caption);cursor:pointer}.attach-chip .chip-act:disabled{opacity:.6;cursor:default}.attach-chip .chip-state.ok{color:var(--accent);font-size:var(--fs-caption)}.attach-status{font-size:var(--fs-caption);color:var(--faint)}.attach-status.err{color:var(--danger, #e5484d)}.attach-status.live{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums;opacity:.85}.icon-btn.recording{color:var(--danger, #e5484d);animation:rec-pulse 1.4s ease-in-out infinite}.rec-bar{display:flex;align-items:center;gap:10px;padding:10px 12px 0}.rec-dot{width:9px;height:9px;border-radius:50%;background:var(--danger, #e5484d);flex:none;animation:rec-pulse 1.2s ease-in-out infinite}.rec-time{font-size:var(--fs-caption);color:var(--text);font-variant-numeric:tabular-nums}.rec-hint{color:var(--faint)}.rec-bar .rec-cancel{margin-left:auto;padding:4px 10px;font-size:var(--fs-caption)}.rec-bar .rec-done{padding:4px 12px;font-size:var(--fs-caption)}@keyframes rec-pulse{0%,to{opacity:1}50%{opacity:.4}}.msg-attachments{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.preview{min-width:0;min-height:0;display:flex;background:var(--bg)}.preview>div{flex:1;min-width:0}.preview-wrap{flex:1;min-width:0;display:flex;flex-direction:column}.preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 14px;border-bottom:1px solid var(--border);background:var(--surface)}.preview-label{font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.preview-actions{display:flex;align-items:center;gap:8px}.ghost.sm{padding:6px 11px;font-size:var(--fs-caption);border-radius:var(--r1)}.ghost.sm svg{width:13px;height:13px}.preview-stage{flex:1;min-height:0;display:flex}.preview-stage>div{flex:1;min-width:0;display:flex;min-height:0}.preview-wrap.is-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--bg);animation:fade-up .2s var(--ease) both}.preview-wrap.is-fullscreen .pl-explorer,.preview-wrap.is-fullscreen .pl-editor{display:none}.preview-wrap.is-fullscreen .pl-preview{border-left:none}.preview .pl-sandpack{height:100%;width:100%;border:none;border-radius:0;flex-wrap:nowrap}.preview .pl-explorer{flex:0 0 190px;min-width:150px;max-width:240px;height:100%!important;border-right:1px solid var(--border);overflow:auto}.preview .pl-editor{flex:1 1 0;min-width:0;height:100%!important}.preview .pl-preview{flex:1 1 0;min-width:0;height:100%!important;border-left:1px solid var(--border)}.preview .pl-preview-pane{flex:1 1 0;min-width:0;height:100%!important;position:relative;display:flex}.preview .pl-preview-pane .pl-preview{border-left:1px solid var(--border)}.preview-wrap.is-fullscreen .pl-preview-pane .pl-preview{border-left:none}.preview-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px;text-align:center;background:var(--bg);color:var(--muted);font-size:var(--fs-body);line-height:var(--lh-relax)}.preview-overlay p{margin:0;max-width:420px}.preview-overlay .hint{color:var(--faint);font-size:var(--fs-caption);text-align:center;max-width:420px;width:auto}.preview-overlay.is-error{color:var(--text)}.preview-overlay.is-error h4{margin:0 0 4px;font-family:var(--font-display);font-size:var(--fs-h2);font-weight:700}.preview-overlay.is-error p{color:var(--muted)}.preview-overlay.is-error .msg{font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--accent);word-break:break-word}.preview-overlay .ghost.sm{margin-top:6px}.preview-overlay .spinner{width:26px;height:26px;border-radius:50%;border:2.5px solid var(--border);border-top-color:var(--accent);animation:spin .8s linear infinite}.preview-empty{margin:auto;text-align:center;padding:40px;max-width:390px}.preview-empty .glyph{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 18px;border-radius:14px;background:var(--surface);border:1px solid var(--border);color:var(--faint)}.preview-empty .glyph svg{width:26px;height:26px}.preview-empty h3{font-family:var(--font-display);font-size:var(--fs-h2);font-weight:700;margin:0 0 10px;letter-spacing:-.02em}.preview-empty p{color:var(--muted);line-height:var(--lh-relax);margin:0;font-size:var(--fs-body)}.sp-wrapper,.sp-layout{height:100%!important;border:none!important}.filetree{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--bg)}.ft-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 14px;border-bottom:1px solid var(--border);background:var(--surface)}.ft-title{font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.ft-count{font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--accent)}.ft-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:8px 6px}.ft-row{display:flex;align-items:center;gap:8px;height:28px;padding-right:10px;border-radius:var(--r2);color:var(--muted);font-size:var(--fs-body);animation:fade-up .18s ease;overflow:hidden}.ft-row.dir{color:var(--text);font-weight:500}.ft-row.active{background:var(--accent-dim);color:var(--accent)}.ft-ico{display:grid;place-items:center;flex:none}.ft-ico svg{width:15px;height:15px}.ft-row.dir .ft-ico{color:var(--accent)}.ft-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ft-spinner{width:10px;height:10px;flex:none;margin-left:auto;border-radius:var(--r-pill);border:1.5px solid var(--accent-line);border-top-color:var(--accent);animation:spin .7s linear infinite}.ft-empty{display:flex;align-items:center;gap:10px;padding:20px 14px;color:var(--faint);font-size:var(--fs-body)}.ft-empty .ft-spinner{margin:0}.ft-row.clickable{cursor:pointer}.ft-row.clickable:hover{background:var(--surface-2);color:var(--text)}.ft-row.selected{background:var(--surface-3);color:var(--text)}.ft-row.selected.active{background:var(--accent-dim);color:var(--accent)}.run-files{display:flex;min-width:0;min-height:0;overflow:hidden}.run-files .filetree{flex:0 1 220px;min-width:0;max-width:240px;border-right:1px solid var(--border)}.filecontent{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--bg)}.filecontent.empty{align-items:center;justify-content:center;color:var(--faint);font-size:var(--fs-body)}.fc-head{display:flex;align-items:center;gap:8px;padding:9px 14px;border-bottom:1px solid var(--border);background:var(--surface)}.fc-ico{display:grid;place-items:center;flex:none;color:var(--muted)}.fc-ico svg{width:15px;height:15px}.fc-name{font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fc-live{margin-left:auto;display:flex;align-items:center;gap:6px;flex:none;font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--accent)}.fc-live .ft-spinner{margin:0}.fc-body{flex:1;min-height:0;margin:0;overflow:auto;padding:14px 16px;font-family:var(--font-mono);font-size:var(--fs-caption);line-height:1.6;color:var(--text);white-space:pre;-moz-tab-size:2;tab-size:2}.fc-body code{font-family:inherit}.fc-badge{margin-left:auto;flex:none;padding:1px 8px;border-radius:999px;border:1px solid var(--border);font-size:var(--fs-micro);color:var(--muted)}.fc-img{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;overflow:auto}.fc-img img{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--r2);border:1px solid var(--border);background:repeating-conic-gradient(#1a1e26 0,#1a1e26 25%,#101216 0,#101216 50%) 0 0 / 18px 18px}.fc-img-hint{max-width:420px;text-align:center;font-size:var(--fs-caption);color:var(--faint);line-height:1.6}.btn-stop{display:inline-flex;align-items:center;gap:7px;background:var(--danger-dim);color:var(--danger);border:1px solid var(--danger);border-radius:var(--r2);font-family:var(--font-sans);font-weight:700;font-size:var(--fs-ui);padding:7px 15px;transition:filter .16s var(--ease),transform .16s var(--ease)}.btn-stop svg{width:15px;height:15px}.btn-stop:hover{filter:brightness(1.12)}.btn-stop:active{transform:translateY(1px)}.btn-stop:disabled{opacity:.5;cursor:not-allowed}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%{box-shadow:0 0 #c6f24f80}70%{box-shadow:0 0 0 6px #c6f24f00}to{box-shadow:0 0 #c6f24f00}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-width:860px){.auth-page{grid-template-columns:1fr}.auth-hero{display:none}.workspace-body.with-preview{grid-template-columns:minmax(0,360px) minmax(0,1fr)}}@media(max-width:560px){.auth-form-wrap{padding:24px}.legal-overlay{padding:12px}.legal-modal{max-height:calc(100vh - 24px)}.legal-header{padding:21px 20px 18px}.legal-body{padding:20px 20px 6px}.legal-footer{padding:14px 20px}}.balance-chip{height:34px;display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.02em;color:var(--accent);padding:0 6px 0 11px;border:1px solid var(--accent-line);border-radius:var(--r-pill);background:var(--accent-dim);white-space:nowrap;cursor:pointer;transition:filter .15s var(--ease)}.balance-chip:hover{filter:brightness(1.12);border-color:#c6f24f7a}.balance-chip.low{color:var(--danger);border-color:var(--danger);background:var(--danger-dim)}.balance-recharge{padding:3px 7px;border-left:1px solid var(--accent-line);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-caption);font-weight:650}.balance-chip.low .balance-recharge{border-left-color:#ff6b6b59}.workspace .balance-chip{padding-right:11px}.billing-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:center;justify-content:center;background:#0506089e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:20px}.billing-modal{width:100%;max-width:520px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r3, 16px);box-shadow:0 24px 60px -20px #000000b3;padding:30px 32px 32px;animation:billing-pop .32s var(--ease) both}@keyframes billing-pop{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}.billing-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.billing-head h2{font-family:var(--font-display);font-size:var(--fs-h2, 18px);font-weight:700;color:var(--text);letter-spacing:-.01em}.billing-close{width:32px;height:32px;border-radius:var(--r1, 8px);display:flex;align-items:center;justify-content:center;color:var(--muted);background:transparent;border:none;font-size:15px;transition:background .15s var(--ease),color .15s var(--ease)}.billing-close:hover{background:var(--surface-3);color:var(--text)}.billing-sub{color:var(--muted);font-size:var(--fs-ui);line-height:var(--lh-body);margin-bottom:24px}.billing-packs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.billing-pack{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:6px;align-items:center;padding:22px 10px 18px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r2);text-align:center;transition:border-color .18s var(--ease),background .18s var(--ease),transform .14s var(--ease)}.billing-pack:before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,var(--accent),transparent 70%);opacity:0;transition:opacity .18s var(--ease)}.billing-pack:hover{border-color:var(--accent-line);background:var(--surface-3);transform:translateY(-3px)}.billing-pack:hover:before{opacity:1}.billing-pack-price{font-family:var(--font-display);font-size:24px;font-weight:700;color:var(--text);letter-spacing:-.01em;font-variant-numeric:tabular-nums}.billing-pack-credits{font-size:var(--fs-label, 11px);color:var(--muted);white-space:nowrap;letter-spacing:.01em}.billing-pack-credits b{color:var(--accent);font-weight:600;font-variant-numeric:tabular-nums}.billing-custom{margin-top:28px;padding-top:24px;border-top:1px solid var(--border)}.billing-custom-label{display:block;font-family:var(--font-mono);font-size:var(--fs-micro, 11px);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:12px}.billing-custom-row{display:flex;align-items:center;gap:10px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r2);padding:6px 6px 6px 16px;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.billing-custom-row:focus-within{border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-dim)}.billing-custom-prefix{color:var(--muted);font-size:17px;font-weight:700}.billing-custom-input{flex:1;min-width:0;background:transparent;border:none;outline:none;color:var(--text);font-size:16px;font-family:var(--font-sans)}.billing-custom-row .btn-primary{flex:none;padding:10px 20px}.billing-custom-error{margin-top:10px;font-size:var(--fs-caption, 12px)}.billing-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:280px;color:var(--muted);font-size:var(--fs-ui)}.billing-qr{padding:14px;background:#fff;border-radius:var(--r2);box-shadow:var(--shadow-2)}.billing-amount{font-family:var(--font-display);font-size:26px;font-weight:700;color:var(--text);margin-top:16px;font-variant-numeric:tabular-nums}.billing-hint{font-size:var(--fs-caption, 12px);color:var(--faint)}.billing-paid{color:var(--accent);gap:14px}.billing-check{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;color:var(--accent-ink);background:var(--accent);box-shadow:0 12px 30px -10px var(--accent);animation:billing-check-pop .4s var(--ease) both}@keyframes billing-check-pop{0%{opacity:0;transform:scale(.4)}60%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@media(max-width:520px){.billing-modal{padding:24px 20px 26px}.billing-packs{grid-template-columns:repeat(2,1fr)}}.welcome-modal{max-width:420px;text-align:center}.welcome-hero{display:flex;flex-direction:column;align-items:center;gap:6px}.welcome-logo{width:38px;height:38px}.welcome-hero h2{font-size:var(--fs-h3, 18px);font-weight:800;color:var(--text);margin-top:6px}.welcome-hero .billing-sub{margin-bottom:0}.welcome-steps{list-style:none;margin:20px 0 22px;padding:0;display:flex;flex-direction:column;gap:12px;text-align:left}.welcome-step{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r2)}.welcome-step-num{flex-shrink:0;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--fs-caption, 12px);font-weight:700;color:var(--accent-ink);background:var(--accent)}.welcome-step-title{font-size:var(--fs-ui);font-weight:600;color:var(--text)}.welcome-step-desc{font-size:var(--fs-caption, 12px);color:var(--muted);margin-top:2px}.welcome-cta{width:100%;justify-content:center;padding:12px}.examples{margin-bottom:36px}.example-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(264px,1fr));gap:14px}.example-card{display:flex;flex-direction:column;width:100%;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--r3);overflow:hidden;cursor:pointer;padding:0;transition:border-color .18s var(--ease),transform .18s var(--ease),box-shadow .18s var(--ease)}.example-card:hover{border-color:var(--border-strong);transform:translateY(-3px);box-shadow:var(--shadow-2)}.example-cover{position:relative;aspect-ratio:16 / 9;display:grid;place-items:center;border-bottom:1px solid var(--border);overflow:hidden}.example-cover-emoji{font-size:40px;filter:saturate(1.1)}.example-shot{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:top center;z-index:1}.example-card:hover .example-shot{transform:scale(1.03);transition:transform .4s var(--ease)}.example-cat{position:absolute;top:10px;left:12px;z-index:2;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;background:#0506088c;border-radius:var(--r-pill);padding:3px 9px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.example-body{padding:14px 15px 16px;display:flex;flex-direction:column;gap:7px}.example-body h3{font-size:15px;font-weight:700;color:var(--text);margin:0}.example-body p{font-size:13px;color:var(--muted);margin:0;line-height:1.55}.example-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:3px}.example-tag{font-family:var(--font-mono);font-size:10.5px;color:var(--faint);border:1px solid var(--border);border-radius:var(--r-pill);padding:2px 8px}.demo-modal{width:100%;max-width:920px;height:min(86vh,760px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r3);box-shadow:0 24px 60px -20px #000000b3;overflow:hidden}.demo-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--border)}.demo-modal-head h2{font-size:17px;font-weight:700;color:var(--text);margin:0}.demo-modal-head p{font-size:13px;color:var(--muted);margin:4px 0 0;line-height:1.5}.demo-modal-stage{flex:1;min-height:0;background:var(--surface-2)}.demo-poster{position:relative;height:100%;overflow:auto;background:var(--surface-2)}.demo-poster-img{display:block;width:100%;height:auto}.demo-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-top:1px solid var(--border)}.demo-modal-hint{font-size:12.5px;color:var(--muted)}.demo-modal-foot .btn-primary{white-space:nowrap}@media(max-width:560px){.demo-modal-hint{display:none}.demo-modal-foot{justify-content:flex-end}}.gallery-modal{width:100%;max-width:1040px;height:min(86vh,800px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r3);box-shadow:0 24px 60px -20px #000000b3;overflow:hidden}.gallery-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid var(--border)}.gallery-modal-head h2{font-size:17px;font-weight:700;color:var(--text);margin:0}.gallery-modal-head p{font-size:13px;color:var(--muted);margin:4px 0 0;line-height:1.5}.gallery-modal-body{flex:1;min-height:0;overflow-y:auto;padding:20px 22px 24px}.demo-overlay{z-index:90}@media(max-width:860px){.account-identity{max-width:126px}.account-name{max-width:88px}.account-content{padding-top:36px}}@media(max-width:720px){.page>.topbar{padding-inline:16px}.account-name{display:none}.account-identity{max-width:none}.create-bar{flex-wrap:wrap}.create-bar .field-wrap{flex:1 0 100%}.account-form{grid-template-columns:1fr}.account-submit{grid-column:1}.consent-row{grid-template-columns:minmax(120px,1fr) auto;gap:8px 14px}.consent-row time{grid-column:1 / -1;text-align:left}}@media(max-width:560px){.page>.topbar{padding-inline:12px;gap:10px}.account-nav{gap:4px}.account-identity,.account-nav-divider{display:none}.topbar-action{padding-inline:8px}.logout-action span{display:none}.logout-action{width:34px;padding:0}.balance-chip{padding-left:9px}.balance-label{font-size:10.5px}.balance-recharge{padding-inline:6px}.account-content{padding:30px 16px 72px}.account-page-head{margin-bottom:24px}.account-page-head h1{font-size:30px}.account-section{padding:19px 17px}.account-stat-grid{grid-template-columns:1fr}.account-stat{min-height:66px;flex-direction:row;align-items:center}.account-actions{align-items:stretch;flex-direction:column}.account-actions .btn-primary{justify-content:center}.account-text-link{text-align:center}.transaction-row{align-items:flex-start;gap:14px;padding-inline:2px}.transaction-main small{display:block;line-height:var(--lh-body)}.transaction-main small span{display:block}.transaction-main small span:after{display:none}.report-row{grid-template-columns:1fr auto}.report-row time{grid-column:1 / -1;text-align:left}.projects-toolbar{align-items:stretch;flex-direction:column}.project-search input{width:100%}}@media(max-width:440px){.page>.topbar>.brand{gap:0;font-size:0}.topbar-action:not(.logout-action){font-size:12px}.balance-recharge{display:none}.balance-chip{padding-right:9px}}
