:root{--sh-bg:#f5f6f8;--sh-panel:#fff;--sh-border:#eef1f5;--sh-text:#1b1f27;--sh-muted:#8a94a6;--sh-primary:#2f6bff;--sh-primary-deep:#1e56e8;--sh-blue-soft:#eaf1ff;--sh-orange:#ff8a3d;--sh-orange-soft:#fff3e8;--sh-green:#22c55e;--sh-green-soft:#e9f9f0;--sh-red:#ff4d4f;--sh-red-soft:#fff0f0;--sh-header:#16202c;--sh-radius:14px;--sh-radius-sm:10px;--sh-shadow:0 6px 18px #1f2d3d0a}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{background:var(--sh-bg);color:var(--sh-text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Microsoft YaHei,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0}.boot-screen{background:linear-gradient(160deg, #111113 0%, #1c2430 55%, var(--sh-bg) 55.1%);color:#e5e7eb;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:100vh;display:flex}.boot-spinner{border:3px solid #fff3;border-top-color:#2cff9d;border-radius:50%;width:28px;height:28px;animation:.8s linear infinite boot-spin}@keyframes boot-spin{to{transform:rotate(360deg)}}.app-shell{background:var(--sh-bg);width:100%;max-width:none;min-height:100vh;margin:0;position:relative}.app-page{padding:0 16px calc(24px + env(safe-area-inset-bottom))}.app-page.no-tabbar{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.nav-bar{background:0 0;grid-template-columns:52px 1fr 52px;align-items:center;gap:4px;min-height:52px;margin:0 -16px;padding:4px 2px;display:grid}.nav-bar.solid{background:var(--sh-panel);border-bottom:1px solid var(--sh-border)}.nav-bar .nav-title{text-align:center;white-space:nowrap;text-overflow:ellipsis;font-size:17px;font-weight:600;overflow:hidden}.nav-bar .nav-back{width:48px;height:48px;color:var(--sh-text);background:0 0;justify-content:center;align-items:center;display:inline-flex}.nav-bar .nav-back svg{width:24px;height:24px}.nav-bar .nav-right{color:var(--sh-primary);justify-content:flex-end;padding-right:8px;font-size:13px;display:flex}.nav-bar.on-blue,.nav-bar.on-blue .nav-back,.nav-bar.on-blue .nav-right{color:#fff}.balance-strip{background:linear-gradient(90deg,#fff3e8,#fff8f2);border-radius:0;justify-content:space-between;align-items:center;gap:10px;margin:4px -16px 16px;padding:12px 16px;font-size:13px;display:flex}.balance-strip strong{color:var(--sh-orange);font-size:16px}.balance-strip .recharge-link{color:#e5741e;white-space:nowrap;background:#ffe3c7;border-radius:999px;padding:5px 12px;font-size:12px}.section-head{justify-content:space-between;align-items:center;margin:16px 0 10px;display:flex}.section-head h2{margin:0;font-size:15px;font-weight:600}.section-head .link{color:var(--sh-primary);font-size:12px}.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.resource-card{border-radius:var(--sh-radius);background:var(--sh-orange-soft);border:1px solid #ffe7d2;align-items:center;gap:10px;min-height:72px;padding:12px;display:flex}.resource-card .resource-icon{background:0 0;border-radius:50%;flex:none;justify-content:center;align-items:center;width:38px;height:38px;display:flex;overflow:hidden}.resource-card .resource-icon img,.tool-icon img{object-fit:contain;width:100%;height:100%;display:block}.resource-card .resource-text{flex-direction:column;gap:3px;min-width:0;display:flex}.resource-card .resource-text strong{font-size:14px;font-weight:600}.resource-card .resource-text span{color:#a86a3a;font-size:11px}.resource-card .chevron{color:#c9976d;margin-left:auto;font-size:14px}.tool-section{box-shadow:none;background:0 0;border:0;border-radius:0;margin-bottom:16px;padding:0}.tool-section-label{background:#f7faff;border:1px solid #dbe8fc;border-radius:8px;align-items:baseline;gap:8px;width:100%;margin-bottom:12px;padding:9px 12px;display:flex}.tool-section-label strong{font-size:14px}.tool-section-label span{color:var(--sh-muted);font-size:11px}.tool-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 8px;padding:2px;display:grid}.tool-item{text-align:center;color:#3a4353;flex-direction:column;align-items:center;gap:7px;font-size:12px;display:flex}.tool-icon{width:38px;height:38px;box-shadow:none;background:0 0;border-radius:50%;justify-content:center;align-items:center;display:flex;overflow:hidden}.tool-icon.orange{background:linear-gradient(135deg,#ffad5c,#ff7a1a);box-shadow:0 6px 12px #ff7a1a38}.tool-icon.purple{background:linear-gradient(135deg,#8c7bff,#6b52ff);box-shadow:0 6px 12px #6b52ff38}.tool-icon.green{background:linear-gradient(135deg,#4fd39a,#22b573);box-shadow:0 6px 12px #22b57333}.tabbar{z-index:30;width:100%;max-width:480px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--sh-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff7;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tabbar a{color:var(--sh-muted);flex-direction:column;align-items:center;gap:3px;padding:3px 0;font-size:10px;display:flex}.tabbar a .tab-icon{font-size:19px;line-height:1}.tabbar a.router-link-active{color:var(--sh-primary);font-weight:600}.token-hero{color:#fff;background:linear-gradient(#2f6bff 0%,#2b64f5 100%);margin:0;padding:0 16px 22px}.token-hero .balance-label{color:#ffffffc7;margin:12px 0 4px;font-size:12px}.balance-warning{color:#ffd54a;background:#ffd54a33;border-radius:999px;margin-left:8px;padding:2px 7px;font-size:10px}.balance-progress{background:#ffffff40;border-radius:999px;height:6px;margin-top:10px;overflow:hidden}.balance-progress span{background:#ffd54a;border-radius:999px;height:100%;display:block}.token-hero .balance-value{letter-spacing:-.02em;font-size:34px;font-weight:700;line-height:1.1}.token-hero .hero-actions{gap:8px;margin-top:12px;display:flex}.token-hero .hero-actions a,.token-hero .hero-actions button{color:#fff;background:#ffffff29;border:1px solid #ffffff59;border-radius:999px;padding:7px 14px;font-size:12px}.token-hero .hero-actions .primary{color:var(--sh-primary);background:#fff;border-color:#fff}.token-hero .hero-stats{border-top:1px solid #ffffff38;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px;padding-top:14px;display:grid}.token-hero .hero-stats div{flex-direction:column;gap:3px;display:flex}.token-hero .hero-stats span{color:#ffffffb8;font-size:11px}.token-hero .hero-stats strong{font-size:16px;font-weight:600}.card{background:var(--sh-panel);border:1px solid var(--sh-border);border-radius:var(--sh-radius);box-shadow:var(--sh-shadow);margin-bottom:12px;padding:14px}.card-title{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.card-title h3{margin:0;font-size:15px;font-weight:600}.card-title .muted{font-size:12px}.muted{color:var(--sh-muted)}.trend-summary{align-items:baseline;gap:8px;margin-bottom:10px;display:flex}.trend-summary strong{font-size:24px;font-weight:700}.trend-summary .pill{background:var(--sh-red-soft);color:var(--sh-red);border-radius:999px;margin-left:auto;padding:3px 8px;font-size:11px}.trend-summary .pill.good{background:var(--sh-green-soft);color:var(--sh-green)}.trend-bars{justify-content:space-between;align-items:flex-end;gap:8px;height:110px;padding-top:8px;display:flex}.trend-bar{height:100%;color:var(--sh-muted);flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:5px;font-size:10px;display:flex}.trend-bar .bar{background:#dce8ff;border-radius:5px;width:18px;min-height:4px}.trend-bar.active .bar{background:var(--sh-primary)}.trend-bar .bar-value{color:var(--sh-muted);font-size:10px}.consumption-row{grid-template-columns:76px 1fr 38px;align-items:center;gap:8px;padding:9px 0;font-size:12px;display:grid}.consumption-row .bar-track{background:#edf1f7;border-radius:999px;height:6px;overflow:hidden}.consumption-row .bar-fill{background:var(--sh-primary);border-radius:999px;height:100%}.consumption-row .percent{text-align:right;color:var(--sh-muted)}.ledger-group{margin-bottom:14px}.ledger-date{color:var(--sh-muted);justify-content:space-between;padding:10px 2px;font-size:12px;display:flex}.ledger-item{border-radius:var(--sh-radius-sm);background:var(--sh-panel);border:1px solid var(--sh-border);justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;padding:12px 14px;display:flex}.ledger-item .ledger-main{flex-direction:column;gap:4px;display:flex}.ledger-item .ledger-main strong{font-size:14px;font-weight:500}.ledger-item .ledger-main span{color:var(--sh-muted);font-size:11px}.ledger-item .delta{color:var(--sh-primary);white-space:nowrap;font-size:14px;font-weight:600}.ledger-item .delta.positive{color:var(--sh-green)}.filter-row{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.filter-row select{color:var(--sh-text);background:0 0;border:0;font-size:13px}.recharge-packages{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.package-card{border-radius:var(--sh-radius-sm);background:var(--sh-panel);border:1.5px solid var(--sh-border);text-align:left;padding:13px 12px;position:relative}.package-card.selected{border-color:var(--sh-primary);background:#f7f9ff}.package-card .package-tokens{font-size:16px;font-weight:700}.package-card .package-tokens span{color:var(--sh-muted);margin-left:4px;font-size:11px;font-weight:400}.package-card .package-price{color:var(--sh-primary);margin-top:10px;font-size:15px;font-weight:600}.pay-methods{flex-direction:column;gap:8px;display:flex}.pay-method{border-radius:var(--sh-radius-sm);background:var(--sh-panel);border:1px solid var(--sh-border);align-items:center;gap:10px;padding:12px 14px;font-size:14px;display:flex}.pay-method .pay-icon{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:15px;display:flex}.pay-method .pay-icon.wechat{background:#20c15a}.pay-method .pay-icon.alipay{background:#1677ff}.pay-method .radio{border:1.5px solid #d5dbe5;border-radius:50%;width:18px;height:18px;margin-left:auto}.pay-method.selected .radio{border:5px solid var(--sh-primary)}.pay-tip{color:var(--sh-muted);background:#f7f8fa;border-radius:8px;padding:10px 12px;font-size:11px;line-height:1.7}.bottom-action{z-index:30;width:auto;padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--sh-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;align-items:center;gap:12px;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-action .cost{color:var(--sh-muted);flex-direction:column;gap:2px;font-size:11px;display:flex}.bottom-action .cost strong{color:var(--sh-text);font-size:15px}.bottom-action .primary-btn{background:var(--sh-primary);color:#fff;border-radius:999px;min-width:150px;height:44px;margin-left:auto;font-size:15px;font-weight:600}.bottom-action .primary-btn:disabled{opacity:.5}.bottom-action .secondary-btn{height:44px;color:var(--sh-text);background:#f0f2f6;border-radius:999px;padding:0 18px;font-size:14px}.storage-card{padding:12px 14px}.storage-bar{background:#e9edf4;border-radius:999px;height:8px;margin:10px 0 6px;overflow:hidden}.storage-bar .fill{background:var(--sh-primary);border-radius:999px;height:100%}.asset-tabs{gap:8px;margin:10px 0 12px;display:flex}.asset-tabs button{color:#4a5465;background:#eef1f5;border-radius:7px;padding:6px 16px;font-size:12px}.asset-tabs button.active{background:var(--sh-primary);color:#fff}.asset-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.asset-card{aspect-ratio:1;border-radius:var(--sh-radius-sm);background:#edf1f7;position:relative;overflow:hidden}.asset-card img,.asset-card video{object-fit:cover;width:100%;height:100%;display:block}.asset-card .asset-date{color:#fff;text-align:right;background:linear-gradient(#0000,#00000073);padding:16px 9px 8px;font-size:11px;position:absolute;bottom:0;left:0;right:0}.asset-card .check{background:#ffffff40;border:2px solid #fff;border-radius:50%;width:22px;height:22px;position:absolute;bottom:8px;left:8px}.asset-card.selected{outline:3px solid var(--sh-primary);outline-offset:-3px}.asset-card.selected .check{background:var(--sh-primary);border-color:var(--sh-primary);color:#fff;justify-content:center;align-items:center;font-size:13px;display:flex}.upload-fab{right:16px;bottom:calc(96px + env(safe-area-inset-bottom));z-index:25;background:var(--sh-primary);color:#fff;border-radius:50%;width:48px;height:48px;font-size:24px;position:fixed;box-shadow:0 8px 18px #2f6bff4d}.asset-bottom-bar{z-index:30;width:auto;padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--sh-border);background:#fffffffa;gap:10px;display:flex;position:fixed;bottom:0;left:0;right:0}.asset-bottom-bar .primary-btn{background:var(--sh-primary);color:#fff;border-radius:999px;flex:1;height:44px;font-size:15px;font-weight:600}.asset-bottom-bar .icon-btn{color:#4a5465;background:#f0f2f6;border-radius:50%;width:44px;height:44px;font-size:18px}.create-section{border-radius:var(--sh-radius);background:var(--sh-panel);border:1px solid var(--sh-border);margin-bottom:12px;padding:14px}.create-section h3{margin:0 0 10px;font-size:13px;font-weight:600}.prompt-box{width:100%;min-height:118px;color:var(--sh-text);resize:vertical;background:#f7f8fa;border:0;border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.7}.prompt-box::placeholder{color:#b2bac7}.prompt-foot{color:var(--sh-muted);justify-content:space-between;align-items:center;margin-top:8px;font-size:11px;display:flex}.ai-polish{background:var(--sh-blue-soft);color:var(--sh-primary);border-radius:6px;align-items:center;gap:4px;padding:5px 9px;font-size:12px;display:inline-flex}.field-label{color:var(--sh-muted);margin:10px 0 8px;font-size:12px;display:block}.chip-row{flex-wrap:wrap;gap:8px;display:flex}.chip{color:#4a5465;background:#f1f3f7;border:1px solid #0000;border-radius:7px;padding:8px 13px;font-size:12px}.chip.selected{color:var(--sh-primary);background:#eef4ff;border-color:#c9dbff;font-weight:600}.model-row{background:#f7f8fa;border-radius:8px;justify-content:space-between;align-items:center;min-height:44px;padding:0 12px;font-size:13px;display:flex}.model-row .chevron{color:var(--sh-muted)}.stepper{align-items:center;gap:10px;display:flex}.stepper button{color:#4a5465;background:#f1f3f7;border-radius:50%;width:30px;height:30px;font-size:16px}.stepper span{text-align:center;min-width:24px;font-size:14px}.empty-state{text-align:center;color:var(--sh-muted);padding:40px 20px;font-size:13px}.preview-mask{z-index:100;background:#090c12eb;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.preview-mask img,.preview-mask video{border-radius:10px;max-width:100%;max-height:88vh}.preview-close{top:calc(16px + env(safe-area-inset-top));color:#fff;background:#ffffff29;border-radius:50%;width:36px;height:36px;font-size:20px;position:absolute;right:18px}.sheet-mask{z-index:100;background:#11182773;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.toast{left:50%;bottom:calc(120px + env(safe-area-inset-bottom));z-index:200;color:#fff;text-align:center;white-space:nowrap;text-overflow:ellipsis;background:#1b1f27e6;border-radius:999px;max-width:80%;padding:10px 16px;font-size:13px;position:fixed;overflow:hidden;transform:translate(-50%)}.status-pill{color:#6b7586;background:#eef1f5;border-radius:999px;align-items:center;padding:3px 8px;font-size:10px;display:inline-flex}.status-pill.success{background:var(--sh-green-soft);color:var(--sh-green)}.status-pill.running{background:var(--sh-blue-soft);color:var(--sh-primary)}.status-pill.failed{background:var(--sh-red-soft);color:var(--sh-red)}.error-page{text-align:center;max-width:480px;margin:0 auto;padding:56px 22px}.error-page h1{margin:0 0 10px;font-size:22px}.error-page p{color:var(--sh-muted);margin:0 0 20px;font-size:14px;line-height:1.7}.error-actions{justify-content:center;gap:10px;display:flex}.btn{background:var(--sh-primary);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-height:40px;padding:0 16px;font-size:14px;display:inline-flex}.btn.secondary{color:var(--sh-text);background:#eef1f5}.btn.danger{background:var(--sh-red)}.btn:disabled{opacity:.5}.form{flex-direction:column;gap:10px;display:flex}.form input{background:#fff;border:1px solid #dbe1ea;border-radius:10px;width:100%;min-height:42px;padding:0 12px}.hint{color:var(--sh-muted);font-size:12px;line-height:1.6}
