:root{--bg:#f7f8ff;--card:#fff;--text:#1f2937;--muted:#6b7280;--line:#e5e7eb;--primary:#409eff;--primary2:#1677ff;--shadow:0 18px 60px rgba(31,41,55,.10)}*{box-sizing:border-box}html,body,#app{width:100%;min-height:100%;margin:0}body{font-family:Inter,"PingFang SC","Microsoft YaHei",Arial,sans-serif;color:var(--text);background:linear-gradient(180deg,#f8f8ff 0%,#eef5ff 45%,#f9fafb 100%)}button,input,textarea,select{font:inherit}.hidden{display:none!important}.header{width:100%;background:#f8f8ffcc;backdrop-filter:blur(16px);border-bottom:1px solid rgba(229,231,235,.75);position:sticky;top:0;z-index:10}.header-container{max-width:1320px;min-height:60px;margin:0 auto;padding:10px 12px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.brand-logo{width:38px;height:38px;border-radius:14px;background:linear-gradient(135deg,var(--primary),#8b5cf6);color:white;display:grid;place-items:center;font-weight:800;box-shadow:0 10px 25px rgba(64,158,255,.28)}.brand-text{font-weight:700;font-size:18px}.nav{display:flex;gap:8px}.nav-btn,.link-btn{border:0;background:transparent;color:#4b5563;cursor:pointer;padding:8px 12px;border-radius:10px}.nav-btn:hover,.link-btn:hover{background:#eef2ff;color:#111827}.container{max-width:1320px;min-height:calc(100vh - 104px);margin:0 auto;padding:24px 12px}.hero{text-align:center;padding:18px 0 26px}.eyebrow{display:inline-flex;margin:0 0 12px;padding:6px 12px;border-radius:999px;background:#eaf3ff;color:#1677ff;font-weight:700;font-size:12px}.hero h1{font-size:clamp(30px,5vw,56px);line-height:1.05;margin:0;letter-spacing:-.04em}.subtitle{max-width:680px;margin:14px auto 0;color:var(--muted);line-height:1.8}.workspace{display:grid;grid-template-columns:minmax(320px,460px) 1fr;gap:18px;align-items:start}.panel{background:rgba(255,255,255,.92);border:1px solid rgba(229,231,235,.9);border-radius:20px;box-shadow:var(--shadow)}.create-panel{padding:20px;position:sticky;top:82px}.output-panel{padding:18px;min-height:520px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.panel-title h2{font-size:20px;margin:0}.pill{font-size:12px;border-radius:999px;padding:5px 10px;background:#ecfdf5;color:#047857}.pill.muted{background:#f3f4f6;color:#6b7280}.field-label,.control span{display:block;font-size:13px;color:#4b5563;margin-bottom:8px;font-weight:600}.prompt{width:100%;min-height:170px;resize:vertical;border:1px solid var(--line);border-radius:16px;padding:14px 15px;line-height:1.7;background:#fbfdff;outline:none}.prompt:focus,input:focus,select:focus{border-color:#93c5fd;box-shadow:0 0 0 4px rgba(59,130,246,.10)}.controls{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:14px}.control select,.dialog input{width:100%;height:42px;border:1px solid var(--line);border-radius:12px;background:white;padding:0 10px;outline:none}.primary-btn{width:100%;height:48px;margin-top:16px;border:0;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--primary2));color:white;font-weight:800;cursor:pointer;box-shadow:0 12px 28px rgba(64,158,255,.25);transition:.18s}.primary-btn:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(64,158,255,.32)}.primary-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.primary-btn.small{width:auto;height:40px;margin:0;padding:0 18px}.secondary-btn{height:40px;border:1px solid var(--line);border-radius:12px;background:white;padding:0 16px;cursor:pointer}.message{min-height:20px;color:var(--muted);font-size:13px;margin:12px 0 0}.message.error{color:#dc2626}.message.ok{color:#059669}.output-list{display:flex;flex-direction:column;gap:12px;max-height:calc(100vh - 190px);overflow:auto;padding-right:4px}.output-list.empty{min-height:440px;display:grid;place-items:center}.empty-state{text-align:center;color:#9ca3af}.empty-icon{width:64px;height:64px;border-radius:22px;background:#f3f7ff;display:grid;place-items:center;margin:0 auto 12px;color:#60a5fa;font-size:28px}.output-item{border:1px solid var(--line);border-radius:16px;padding:12px;background:#fff}.output-meta{display:flex;justify-content:space-between;gap:12px;color:#6b7280;font-size:12px;margin-bottom:10px}.output-prompt{font-size:14px;line-height:1.6;margin:0 0 10px;color:#374151}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.image-card{position:relative;min-height:150px;border:1px dashed #d1d5db;border-radius:14px;overflow:hidden;background:#f9fafb;display:grid;place-items:center}.image-card img{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in}.spinner{width:28px;height:28px;border:3px solid #dbeafe;border-top-color:#409eff;border-radius:999px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.download{position:absolute;right:8px;bottom:8px;background:rgba(17,24,39,.78);color:white;border-radius:999px;padding:6px 10px;font-size:12px;text-decoration:none}.error-box{padding:12px;color:#dc2626;font-size:13px;text-align:center}.footer{text-align:center;color:#9ca3af;font-size:12px;padding:10px 0 18px}.dialog{border:0;border-radius:20px;padding:0;box-shadow:var(--shadow);width:min(92vw,420px)}.dialog::backdrop{background:rgba(15,23,42,.35);backdrop-filter:blur(3px)}.dialog-card{padding:22px}.dialog-card h3{margin:0 0 8px;font-size:22px}.dialog-card p{margin:0 0 14px;color:#6b7280;line-height:1.6}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.82);z-index:50;display:grid;place-items:center;padding:30px}.lightbox img{max-width:94vw;max-height:90vh;border-radius:14px}.close-btn{position:absolute;right:18px;top:14px;border:0;background:transparent;color:white;font-size:42px;cursor:pointer}@media (max-width:860px){.workspace{grid-template-columns:1fr}.create-panel{position:static}.output-list{max-height:none}.controls{grid-template-columns:1fr}.hero{text-align:left}.subtitle{margin-left:0}.container{padding-top:16px}}
.extra{}
.loading-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#6b7280;font-size:13px;padding:18px;text-align:center}.error-box{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:12px;color:#991b1b;font-size:13px;text-align:left;background:#fff7f7}.error-box strong{display:block;color:#dc2626;font-size:14px}.error-box small{display:block;color:#7f1d1d;line-height:1.55}.error-box details{margin-top:4px;color:#6b7280}.error-box summary{cursor:pointer;color:#991b1b}.error-box pre{white-space:pre-wrap;word-break:break-word;max-height:130px;overflow:auto;margin:6px 0 0;padding:8px;border-radius:8px;background:#f3f4f6;color:#374151;font-size:11px}

/* Image preview toolbar */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.86);z-index:50;display:flex;align-items:center;justify-content:center;padding:28px 24px 96px;overflow:hidden;user-select:none}.lightbox-stage{position:relative;max-width:96vw;max-height:calc(100vh - 132px);display:flex;align-items:center;justify-content:center}.lightbox img{max-width:96vw;max-height:calc(100vh - 132px);border-radius:14px;box-shadow:0 24px 80px rgba(0,0,0,.45);transform-origin:center center;transition:transform .12s ease;cursor:grab}.lightbox img:active{cursor:grabbing}.close-btn{position:absolute;right:-14px;top:-14px;z-index:2;width:34px;height:34px;border:0;border-radius:999px;background:rgba(20,20,20,.75);color:white;font-size:25px;line-height:32px;cursor:pointer;display:grid;place-items:center;backdrop-filter:blur(10px);box-shadow:0 8px 24px rgba(0,0,0,.25)}.close-btn:hover{background:rgba(239,68,68,.92)}.lightbox-toolbar{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);height:54px;display:flex;align-items:center;gap:14px;padding:0 22px;border-radius:999px;background:rgba(92,92,96,.82);backdrop-filter:blur(14px);box-shadow:0 12px 36px rgba(0,0,0,.28)}.tool-btn{width:30px;height:30px;border:0;background:transparent;color:white;display:grid;place-items:center;cursor:pointer;border-radius:999px;padding:0;text-decoration:none;opacity:.92}.tool-btn:hover{background:rgba(255,255,255,.16);opacity:1}.tool-btn svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.tool-btn[disabled]{opacity:.35;cursor:not-allowed}@media (max-width:640px){.lightbox{padding:18px 10px 86px}.lightbox-stage{max-height:calc(100vh - 116px)}.lightbox img{max-width:98vw;max-height:calc(100vh - 116px)}.lightbox-toolbar{bottom:18px;gap:10px;height:50px;padding:0 16px}.close-btn{right:2px;top:2px}}


/* Restore simple original close button */
.close-btn{position:fixed!important;right:18px!important;top:14px!important;z-index:3!important;width:auto!important;height:auto!important;border:0!important;border-radius:0!important;background:transparent!important;color:white!important;font-size:42px!important;line-height:1!important;cursor:pointer!important;display:block!important;backdrop-filter:none!important;box-shadow:none!important;padding:0!important}.close-btn:hover{background:transparent!important;color:white!important}
@media (max-width:640px){.close-btn{right:18px!important;top:14px!important}}


/* Lightbox previous / next arrows */
.nav-arrow{position:fixed;top:50%;transform:translateY(-50%);z-index:2;width:48px;height:72px;border:0;border-radius:18px;background:rgba(92,92,96,.58);color:#fff;font-size:56px;line-height:64px;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(12px);box-shadow:0 10px 30px rgba(0,0,0,.22);transition:background .15s ease,transform .15s ease,opacity .15s ease}.nav-arrow:hover{background:rgba(92,92,96,.82);transform:translateY(-50%) scale(1.04)}.nav-arrow-left{left:24px}.nav-arrow-right{right:24px}.nav-arrow.hidden{display:none!important}@media (max-width:640px){.nav-arrow{width:38px;height:58px;border-radius:14px;font-size:44px;line-height:54px}.nav-arrow-left{left:8px}.nav-arrow-right{right:8px}}

/* Mode, presets and upload controls */
.mode-tabs,.preset-tabs{display:flex;gap:8px;margin-bottom:14px}.mode-tab,.preset-tab{border:0;background:#f3f4f6;color:#4b5563;border-radius:12px;padding:8px 14px;cursor:pointer;font-weight:700}.mode-tab.active,.preset-tab.active{background:#eaf3ff;color:#1677ff}.upload-box{border:1px dashed #bfdbfe;background:#f8fbff;border-radius:16px;padding:12px;margin-bottom:14px}.upload-btn{height:38px;border:0;border-radius:12px;background:#1677ff;color:#fff;padding:0 14px;cursor:pointer;font-weight:700}.reference-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.reference-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;border-radius:999px;background:#eef2ff;color:#374151;padding:6px 8px 6px 10px;font-size:12px}.reference-chip button{border:0;background:transparent;color:#6b7280;cursor:pointer;font-size:16px;line-height:1}.preset-box{margin-top:12px;margin-bottom:12px;border:1px solid #eef2ff;border-radius:16px;background:#fff;overflow:hidden}.preset-tabs{margin:0;padding:8px 8px 0;border-bottom:1px solid #eef2ff}.preset-tab{border-radius:10px 10px 0 0;background:transparent}.preset-list{max-height:210px;overflow:auto;padding:8px}.preset-item{width:100%;border:0;background:#fff;text-align:left;padding:9px 8px;border-radius:10px;cursor:pointer;display:block}.preset-item:hover{background:#f3f7ff}.preset-item strong{display:block;color:#111827;font-size:14px;margin-bottom:4px}.preset-item span{display:block;color:#8b95a1;font-size:12px;line-height:1.4}@media (max-width:860px){.preset-list{max-height:180px}}


/* Compact preset popover */
.quick-bar{position:relative;display:flex;justify-content:flex-end;margin-top:10px}.quick-btn{height:34px;border:0;border-radius:10px;background:#f3f7ff;color:#374151;padding:0 12px;font-weight:700;cursor:pointer}.quick-btn:hover{background:#eaf3ff;color:#1677ff}.preset-popover{position:absolute;right:0;bottom:42px;z-index:20;width:min(320px,92vw);max-height:370px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;box-shadow:0 16px 45px rgba(15,23,42,.16);overflow:hidden}.preset-popover:after{content:"";position:absolute;right:28px;bottom:-8px;width:14px;height:14px;background:#fff;border-right:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;transform:rotate(45deg)}.preset-popover .preset-tabs{margin:0;padding:8px 10px 0;border-bottom:1px solid #eef2ff}.preset-popover .preset-list{max-height:310px;overflow:auto;padding:8px 10px 12px}.preset-box{display:none!important}


/* Case selector inline beside count */
.case-control{position:relative}.case-control>span{visibility:hidden}.case-control .quick-btn{width:100%;height:42px}.case-control .preset-popover{right:auto;left:0;bottom:50px}.case-control .preset-popover:after{right:auto;left:30px}.quick-bar{display:none!important}


/* Case dropdown like ai.samt.cloud */
.case-control{position:relative;min-width:82px}.case-control>span{visibility:hidden}.case-control .quick-btn{width:100%;height:42px;background:#f3f7ff;color:#1677ff}.case-control .preset-popover{right:auto;left:0;bottom:50px;width:min(320px,92vw);max-height:410px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;box-shadow:0 12px 32px rgba(15,23,42,.16);overflow:hidden}.case-control .preset-popover:after{right:auto;left:30px}.preset-list{padding:0!important;max-height:390px!important;overflow:auto!important}.case-dropdown-panel{background:#fff}.case-tabs{display:flex;height:48px;padding:0 12px;border-bottom:1px solid #ebeef5;background:#fff}.case-tab{display:flex;align-items:center;padding:0 12px;border-bottom:2px solid transparent;color:#606266;font-size:14px;cursor:pointer;font-weight:500}.case-tab.active{color:#1677ff;border-bottom-color:#1677ff;background:#ecf5ff;font-weight:700}.case-item{display:flex;flex-direction:column;gap:4px;padding:10px 16px;cursor:pointer;text-align:left}.case-item:hover{background:#f5f7fa}.case-title{font-size:14px;font-weight:700;color:#303133;line-height:1.35}.case-desc{font-size:12px;color:#909399;line-height:1.45}.case-image-guide{display:flex;gap:5px;margin-top:3px;font-size:12px;color:#909399;line-height:1.45}.case-image-guide:before{content:"\1F4F7";flex:none;font-size:13px;line-height:1.3}.preset-item{display:none!important}.preset-popover .preset-tabs{display:none!important}


/* Case dropdown typography refinements */
.case-control .preset-popover{width:min(420px,94vw);max-height:430px;border-radius:6px}.preset-list{max-height:410px!important}.case-tabs{height:38px;padding:0 12px}.case-tab{padding:0 12px;font-size:12px;font-weight:500;color:#606266}.case-tab.active{background:transparent;color:#1677ff;border-bottom-color:#1677ff;font-weight:600}.case-item{gap:5px;padding:9px 12px}.case-title{font-size:14px;font-weight:700;color:#111827;line-height:1.35}.case-desc{font-size:12px;color:#8b95a1;line-height:1.45}.case-image-guide{font-size:12px;color:#1677ff;line-height:1.45;margin-top:2px}.case-image-guide:before{color:#1677ff;font-size:12px}.case-item:hover{background:#f5f7fa}


/* Force case popup text styles over .control span */
.case-control .case-title{display:block!important;font-size:14px!important;font-weight:700!important;color:#111827!important;line-height:1.35!important;margin:0!important}.case-control .case-desc{display:block!important;font-size:12px!important;font-weight:400!important;color:#8b95a1!important;line-height:1.45!important;margin:0!important}.case-control .case-image-guide{display:flex!important;gap:5px!important;margin:2px 0 0!important;font-size:12px!important;font-weight:400!important;color:#1677ff!important;line-height:1.45!important}.case-control .case-image-guide:before{color:#1677ff!important}.case-control .case-tab{font-size:12px!important;font-weight:500!important}.case-control .case-tab.active{font-weight:600!important;color:#1677ff!important}


/* Left feature navigation */
.app-shell{max-width:1480px;margin:0 auto;padding:0 16px 24px;display:grid;grid-template-columns:176px minmax(0,1fr);gap:18px}.main-content{width:100%;padding-left:0;padding-right:0}.side-nav{position:sticky;top:76px;align-self:start;background:rgba(255,255,255,.86);border:1px solid rgba(229,231,235,.9);border-radius:18px;box-shadow:var(--shadow);padding:12px;z-index:5}.side-title{font-size:13px;font-weight:800;color:#111827;padding:4px 8px 10px}.side-item{width:100%;height:42px;border:0;border-radius:12px;background:transparent;color:#4b5563;display:flex;align-items:center;gap:10px;padding:0 10px;margin:3px 0;cursor:pointer;font-weight:700;text-align:left}.side-item:hover{background:#f3f7ff;color:#1677ff}.side-item.active{background:#eaf3ff;color:#1677ff}.side-item.disabled{opacity:.45;cursor:not-allowed}.side-icon{width:22px;height:22px;border-radius:8px;background:#eef2ff;color:#1677ff;display:grid;place-items:center;font-size:12px;font-weight:800;flex:none}.side-item.active .side-icon{background:#1677ff;color:#fff}@media (max-width:980px){.app-shell{display:block;padding:0}.main-content{padding:0 12px}.side-nav{position:sticky;top:60px;display:flex;gap:8px;overflow:auto;border-radius:0;border-left:0;border-right:0;padding:8px 12px;margin:0 -0px 12px;box-shadow:0 8px 24px rgba(15,23,42,.08)}.side-title{display:none}.side-item{width:auto;min-width:max-content;margin:0;height:36px;padding:0 12px}.side-icon{display:none}}


/* Recharge and user center */
.info-panels{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.info-panel{min-height:170px}.muted-text{margin:0 0 12px;color:#6b7280;font-size:13px;line-height:1.6}.redeem-row{display:flex;gap:10px}.text-input{width:100%;height:42px;border:1px solid var(--line);border-radius:12px;padding:0 12px;outline:none;background:#fbfdff}.text-input:focus{border-color:#93c5fd;box-shadow:0 0 0 4px rgba(64,158,255,.12)}.user-info{color:#4b5563;font-size:13px}.user-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.user-stat{padding:10px 12px;border:1px solid #eef2ff;border-radius:12px;background:#fbfdff}.user-stat span{display:block;color:#8b95a1;font-size:12px;margin-bottom:5px}.user-stat strong{display:block;color:#111827;font-size:15px}@media (max-width:860px){.info-panels{grid-template-columns:1fr}.redeem-row{flex-direction:column}.redeem-row .primary-btn{width:100%}}


/* Single-card navigation pages */
.page-hidden{display:none!important}.workspace.single-panel{grid-template-columns:minmax(0,1fr)}.workspace.single-panel .create-panel{position:static;max-width:none;margin:0;width:100%}.workspace.single-panel .output-panel{min-height:560px}.info-panels.single-panel{grid-template-columns:minmax(0,1fr)}.info-panels.single-panel .info-panel{max-width:none;margin:0;width:100%}


/* Home keeps original create/result two-column layout */
.workspace:not(.single-panel){grid-template-columns:minmax(320px,460px) 1fr}.workspace:not(.single-panel) .create-panel{position:sticky;top:82px;max-width:none;margin:0;width:auto}.workspace:not(.single-panel) .output-panel{display:block}.side-item[data-page="records"]{display:none!important}


/* Header centered badge + top alignment */
.header-container{position:relative}.header-eyebrow{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;padding:6px 12px;border-radius:999px;background:#eaf3ff;color:#1677ff;font-weight:800;font-size:12px;white-space:nowrap}.app-shell{align-items:start;padding-top:24px}.main-content{padding-top:0!important}.hero{padding-top:0}.side-nav{margin-top:0}@media (max-width:860px){.header-eyebrow{display:none}.app-shell{padding-top:0}}


/* Remove header badge and align side nav with first card */
.header-eyebrow{display:none!important}.app-shell{padding-top:24px}.main-content{padding-top:0!important}.hero{display:none!important}.side-nav{top:84px;margin-top:0}.workspace{align-items:start}
@media (max-width:860px){.hero{display:none!important}.app-shell{padding-top:0}.side-nav{top:60px}}


/* Header title: keep big title, only remove Text / Image to Image badge */
.header-container{position:relative}
.header-title{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;width:min(760px,58vw);text-align:center;font-size:clamp(22px,3.2vw,42px);line-height:1.05;font-weight:900;letter-spacing:-.045em;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.header-eyebrow,.eyebrow{display:none!important}
.hero{display:none!important}
.app-shell{padding-top:24px}
.main-content{padding-top:0!important}
.side-nav{top:84px;margin-top:0}
.workspace{align-items:start}
@media (max-width:980px){.header-title{font-size:clamp(18px,4vw,26px);width:50vw}.brand-text{display:none}}
@media (max-width:720px){.header-title{position:static;transform:none;order:2;width:auto;max-width:100%;font-size:18px;flex:1;text-align:center}.header-container{gap:8px}.nav{order:3}.brand{order:1}.app-shell{padding-top:0}.side-nav{top:60px}}


/* Align feature pages with home content width */
.workspace.single-panel .create-panel,.info-panels.single-panel .info-panel{max-width:none!important;margin-left:0!important;margin-right:0!important;width:100%!important}
.info-panels.single-panel{width:100%}


/* Feature page cards: full-width card, centered readable content */
.info-panels.single-panel{
  width:100%;
  margin-top:0!important;
}
.info-panels.single-panel .info-panel{
  max-width:none!important;
  width:100%!important;
  margin:0!important;
  padding:24px!important;
  min-height:520px;
}
.info-panels.single-panel .info-panel > *{
  max-width:720px;
  margin-left:auto;
  margin-right:auto;
}
.info-panels.single-panel .info-panel .panel-title{
  max-width:720px;
}
.info-panels.single-panel .redeem-row{
  max-width:720px;
}
.info-panels.single-panel .user-info{
  max-width:720px;
}
.info-panels.single-panel .primary-btn.small{
  width:auto;
  flex:none;
}
.workspace.single-panel{
  margin-top:0!important;
}
.main-content{
  padding-top:0!important;
}
@media (max-width:860px){
  .info-panels.single-panel .info-panel{padding:18px!important;min-height:360px}
  .info-panels.single-panel .info-panel > *,
  .info-panels.single-panel .info-panel .panel-title,
  .info-panels.single-panel .redeem-row,
  .info-panels.single-panel .user-info{max-width:100%}
  .info-panels.single-panel .primary-btn.small{width:100%}
}


/* Login / Register dialog */
.auth-tabs{display:flex;gap:8px;margin-bottom:16px;padding:4px;border-radius:14px;background:#f3f7ff}.auth-tab{flex:1;height:38px;border:0;border-radius:11px;background:transparent;color:#64748b;font-weight:800;cursor:pointer}.auth-tab.active{background:#fff;color:#1677ff;box-shadow:0 8px 18px rgba(15,23,42,.06)}.auth-pane input{width:100%;height:42px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 12px;outline:none}.captcha-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px}.captcha-question{margin:8px 0 0!important;color:#1677ff!important;font-size:13px!important;font-weight:700}.register-result{margin:10px 0 0!important;padding:10px 12px;border-radius:12px;background:#ecfdf5;color:#065f46!important;font-size:13px!important;word-break:break-all}.register-result.error{background:#fef2f2;color:#991b1b!important}@media(max-width:520px){.captcha-row{grid-template-columns:1fr}.captcha-row .secondary-btn{width:100%}}


/* Top user info */
.top-user-info{display:flex;align-items:center;gap:8px;margin-right:8px;font-size:13px;color:#4b5563}.top-user-info span{padding:6px 10px;border-radius:999px;background:#f3f7ff;color:#1677ff;font-weight:800}.top-user-info button{border:0;background:#eaf3ff;color:#1677ff;border-radius:999px;padding:6px 10px;font-weight:800;cursor:pointer}.top-user-info strong{font-weight:800;color:#111827;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:860px){.top-user-info{display:none}}
.auth-pane input+input{margin-top:10px}


/* Generate cost hint */
.generate-row{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;margin-top:16px}.generate-row .primary-btn{margin-top:0}.cost-hint{font-size:13px;font-weight:800;color:#1677ff;background:#eaf3ff;border-radius:999px;padding:8px 12px;white-space:nowrap}@media(max-width:520px){.generate-row{grid-template-columns:1fr}.cost-hint{text-align:center}}


/* Toast and user key center */
.toast-box{position:fixed;top:72px;left:50%;transform:translateX(-50%);z-index:120;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast-item{min-width:240px;max-width:min(92vw,520px);padding:12px 16px;border-radius:14px;background:#111827;color:#fff;box-shadow:0 18px 50px rgba(15,23,42,.2);opacity:0;transform:translateY(-8px);transition:.22s;font-size:14px;font-weight:700;text-align:center}.toast-item.show{opacity:1;transform:translateY(0)}.toast-item.error{background:#dc2626}.toast-item.ok{background:#059669}.api-key-card{margin-top:14px;padding:14px;border:1px solid #eef2ff;border-radius:16px;background:#fbfdff}.api-key-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.api-key-row span,.call-guide span{display:block;color:#8b95a1;font-size:12px;margin-bottom:6px}.api-key-row code{font-family:Consolas,monospace;color:#111827;font-size:13px;word-break:break-all}.call-guide{margin-top:12px}.call-guide pre{margin:0;padding:12px;border-radius:12px;background:#0f172a;color:#dbeafe;white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.5}@media(max-width:620px){.api-key-row{align-items:stretch;flex-direction:column}.api-key-row .secondary-btn{width:100%}}

/* Auth dialog inline message */
.auth-inline-msg{margin:0 auto 0 0;min-height:20px;max-width:230px;color:#6b7280;font-size:13px;line-height:1.45;text-align:left;word-break:break-word}.auth-inline-msg.error{color:#dc2626}.auth-inline-msg.ok{color:#059669}.dialog-actions{align-items:center}.dialog[open]{z-index:200}.toast-box{z-index:260}

/* Credit history */
.history-list{display:grid;gap:10px;margin-top:14px}.history-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid #edf2f7;border-radius:14px;background:#fff}.history-item strong{display:block;font-size:14px;color:#111827}.history-item p{margin:4px 0;color:#6b7280;font-size:13px;line-height:1.5}.history-item span{color:#9ca3af;font-size:12px}.history-change{font-weight:900;font-size:16px;font-family:Consolas,monospace}.history-change.plus{color:#059669}.history-change.minus{color:#dc2626}.history-balance{color:#64748b;font-size:12px;white-space:nowrap}@media(max-width:620px){.history-item{grid-template-columns:1fr}.history-balance{text-align:left}}
