/* Live Sun Code studio: a shared, locally hosted product UI layer. */
:root {
  --blue:#245bd5; --ink:#182e48; --muted:#586d85; --line:#dce5ef;
  --pale:#eff4fa; --green:#168356; --surface:#fff; --page:#f5f7fb;
  font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  color-scheme:light; accent-color:var(--blue);
}
body{background:var(--page);color:var(--ink)}
::selection{background:#d9e7ff;color:#163c79}
input,textarea{caret-color:var(--blue)}
input::placeholder,textarea::placeholder{color:#6b7d92!important;opacity:1}
a,button,input,textarea,select,summary{outline-offset:4px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #87aaf0}
.wrap{width:min(1160px,calc(100% - 64px))}
.site-header{height:76px;background:#fff;border-bottom:1px solid var(--line)}
.brand{font-size:21px;letter-spacing:0;gap:11px}
.brand img{width:35px;height:35px}
.generator-account,.account-nav{font-size:13px;gap:25px;color:#526b89}
.generator-account a:hover,.account-nav a:hover{color:var(--blue)}
#account-entry{padding:10px 16px;background:#eff4fd;color:#244e9a;border:1px solid #dce7fb;border-radius:8px;white-space:nowrap}
.generator-page .intro{padding:42px 0 30px;display:flex;align-items:flex-end;justify-content:space-between;gap:40px}
.intro h1{font-size:42px;line-height:1.22;font-weight:750;letter-spacing:-.035em;margin:0}
.intro-copy{font-size:14px;line-height:1.9;max-width:410px;margin:0 0 4px;color:var(--muted)}
.billing-strip{border-radius:10px;padding:17px 22px;margin-bottom:22px;border-color:var(--line);box-shadow:none;gap:24px}
.billing-strip strong{font-size:23px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.billing-strip span,.billing-strip small{font-size:12px;color:var(--muted)}
.balance-side a,.history-heading>a{font-size:12px}
.workspace{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:26px;align-items:start}
.editor,.result-panel{border-radius:14px;padding:28px 30px;border-color:var(--line)}
.panel-heading{margin-bottom:25px;gap:12px}
.panel-heading h2{font-size:19px;letter-spacing:-.02em;font-weight:700}
.panel-heading>span{font-size:11px;color:var(--muted)}
.editor label,.open-mode legend{font-size:13px;font-weight:650;margin-bottom:9px}
.editor label>span{font-size:11px;color:var(--muted)}
.editor input,.editor textarea{padding:11px 13px;line-height:1.6;border-color:#cfdbea;border-radius:8px;font-size:14px}
.editor textarea{min-height:94px;height:94px;resize:vertical}
.field-help{font-size:11px;line-height:1.75;color:var(--muted);margin:8px 0 21px}
.editor input:focus,.editor textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #245bd510}
.open-mode{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 24px}
.open-mode legend{padding:0;margin-bottom:10px}
.editor .mode-choice{padding:13px 12px;align-items:flex-start;gap:9px;margin:0;min-width:0;border-color:#d5e0ed;background:#fff}
.editor .mode-choice input{margin-top:2px;width:16px;height:16px;padding:0}
.editor .mode-choice>span{font-size:12px;min-width:0}
.mode-choice strong{font-size:12px;line-height:1.6}
.mode-choice small{font-size:10px;line-height:1.65;margin-top:4px;color:#5c708a}
.editor .mode-choice:has(input:checked){background:#f0f5ff;border-color:#7296e6}
.logo-upload{border:1px dashed #bccfe8;border-radius:10px;background:#f8fafd;padding:15px;gap:16px}
.logo-avatar{width:64px;height:64px;background:white;border:1px solid #ceddf0}
.logo-avatar img{width:100%;height:100%;object-fit:cover}
.logo-placeholder,#logo-placeholder{color:#537aa7}
.logo-options p{font-size:11px;color:var(--muted);line-height:1.6;margin-top:9px}
.logo-buttons .button{min-height:34px;font-size:12px;padding:0 14px}
.text-button{color:#335e9e;font-size:12px}
.button{min-height:45px;border-radius:8px;font-size:13px;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}
.primary{background:var(--blue)}.primary:hover{background:#194bb9}
.secondary{border-color:#cddbed;background:#fff;color:#284b76}.secondary:hover{background:#f2f6fc;border-color:#a9bfdc}
.button:disabled{cursor:not-allowed;opacity:.48}
#create-button{margin-top:4px;min-height:48px;font-size:14px}
.feedback{font-size:12px;line-height:1.8;color:var(--muted);margin:12px 0 0}
.feedback[data-state=error]{color:#b33232}.feedback[data-state=success]{color:#13764d}
.entry-note{margin-top:21px;padding-top:19px;border-color:var(--line);gap:12px}
.entry-note p{font-size:11px;color:var(--muted);line-height:1.8}
.entry-note svg{color:#577aa8;flex-shrink:0}
.result-panel{position:sticky;top:22px;background:#eaf1fa;border-color:#d5e1f0}
.result-panel .panel-heading{margin-bottom:18px}
.empty-state{min-height:493px;padding:8px 0 23px;display:flex;align-items:center;justify-content:center;flex-direction:column}
.preview-paper{position:relative;width:min(340px,100%);background:#fff;border-radius:12px;box-shadow:0 15px 34px -17px #294f793b;margin:0 0 25px}
.preview-paper>img{display:block;width:100%;height:auto;border-radius:12px}
.preview-paper>span{position:absolute;bottom:13px;right:14px;color:#546c88;background:#f0f4f9;padding:4px 7px;font-size:10px;border-radius:4px}
.empty-state h3{font-size:17px;margin:0 0 10px;color:#2c4b70}
.empty-state>p{font-size:12px;line-height:1.85;color:#526b87;margin:0}
.result-state .code-frame{background:#fff;border:0;border-radius:10px;overflow:hidden;box-shadow:0 12px 28px -18px #1d3d6b55}
.result-state .code-frame img{display:block;width:100%;height:auto;max-width:none}
.verified{font-size:11px;color:#166744;margin-top:18px}.result-state h3{font-size:18px;overflow-wrap:anywhere}
.scan-tip{font-size:12px;color:#4e6680;line-height:1.8}.phone-note{font-size:11px;color:#536b85}
.result-actions{gap:10px}.result-actions .button{font-size:12px;padding:0 15px}
.working-state{min-height:493px}.working-state h3{font-size:17px}.working-state p{font-size:12px;color:#4d6785;line-height:1.8}
.history-section{padding:25px 28px;border-color:var(--line);border-radius:12px;margin-top:26px}
.history-heading h2{font-size:17px}.history-row{padding:17px 0;gap:20px}.history-row strong{font-size:13px}.history-row small{font-size:11px;color:var(--muted);line-height:1.8;margin-top:5px}.history-buttons a{font-size:12px;white-space:nowrap}
.how{padding:35px 0;margin-top:23px;gap:28px;border-bottom:1px solid var(--line)}
.how h2{font-size:22px;letter-spacing:-.02em}.how-title>p{font-size:12px;color:var(--muted)}
.how li h3{font-size:13px}.how li p{font-size:11px;color:var(--muted);line-height:1.8}.how li>span{font-size:12px}
.questions{padding-top:10px}.questions summary{font-size:13px;padding:20px 0;color:#3e5977}.questions details p{font-size:12px;line-height:1.9;max-width:75ch;color:var(--muted)}
.site-footer{padding-top:25px;padding-bottom:30px;font-size:12px;gap:20px}.site-footer p{font-size:11px;color:var(--muted)}
/* The payment transaction keeps protected focus and a compact reading order. */
.quick-pay{width:min(440px,calc(100% - 28px));border-radius:16px;padding:27px;border-color:#d9e4f0;box-shadow:0 24px 70px -18px #132b4f66}
.quick-pay::backdrop{background:#142a4966}.quick-pay h2{font-size:20px;letter-spacing:-.02em}
.quick-pay>.field-help{font-size:11px;margin:12px 0 20px}.quick-pay-summary{border-radius:10px;background:#f1f5fc;padding:20px}
.quick-pay-summary span,.quick-pay-summary small{font-size:12px;color:#506987}.quick-pay-summary strong{font-size:32px;font-variant-numeric:tabular-nums}
.quick-pay-buttons .button{font-size:14px;min-height:48px}.pay-channel-label{font-size:12px}.pay-wechat{background:#118953}.pay-wechat:hover{background:#0c7445}.pay-alipay{background:#1268ce}.pay-alipay:hover{background:#0c58b4}
.quick-pay .feedback{font-size:12px}.quick-pay[data-step=qr] #quick-pay-qr{padding-top:12px}.quick-pay[data-step=qr] #quick-pay-image{width:min(242px,100%);border-radius:10px;padding:9px}.quick-pay[data-step=qr] .quick-pay-summary{padding-top:17px}.quick-pay[data-step=qr] #quick-pay-qr-hint{font-size:13px;color:#375475}
/* Account and management surfaces share form, spacing and type conventions. */
.account-main{padding-top:36px}.account-heading{margin-bottom:28px}.account-heading h1{font-size:30px;letter-spacing:-.02em}.account-heading>div>p{display:none}
.auth-layout{padding-top:50px;gap:70px}.auth-intro h1{font-size:36px;letter-spacing:-.03em;line-height:1.35}.auth-intro>p{color:var(--muted);font-size:14px;line-height:1.9}.auth-panel{padding:32px;border-radius:14px;box-shadow:0 16px 40px -28px #1d3d6b44}.auth-panel label{font-size:13px}.auth-panel input{font-size:14px}
.auth-tabs button{font-size:17px}.auth-hint{font-size:12px!important;color:var(--muted)!important}
.wallet,.recharge,.records,.password-section,.settings-panel{border-radius:12px;border-color:var(--line)}
.wallet{background:#193c70;color:#fff;padding:30px;border-color:#193c70}.wallet>span,.wallet-rule,#wallet-price{color:#d6e5fa;font-size:12px}.wallet-amount{font-size:24px}.wallet-amount strong{font-size:48px;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:#fff}
.recharge{padding:27px}.recharge h2{font-size:18px}.recharge label,.settings-panel label{font-size:13px}.recharge input,.recharge select,.settings-panel input:not([type=checkbox]),.settings-panel textarea,.settings-panel select{font-size:14px;padding:11px 12px;border-radius:7px;border-color:#cfdbea;font-weight:400}
.records{padding:25px 28px}.record-tabs button{font-size:14px}.record-card h3{font-size:14px}.record-meta{font-size:11px;color:var(--muted)}.record-target{font-size:12px;color:#506984;line-height:1.75}.record-links a{font-size:12px}.record-card{padding:20px 0}.pager{font-size:12px}.small-button{font-size:12px;border-radius:7px}.password-section summary{font-size:13px}
.admin-main{width:min(1280px,calc(100% - 64px))}.admin-layout{grid-template-columns:218px minmax(0,1fr);gap:26px}.admin-sidebar{background:#173453;border-color:#173453;border-radius:12px;padding:25px 14px;color:#fff;top:24px}
.admin-sidebar-title{font-size:16px;border-color:#36516d;padding-bottom:19px}.admin-sidebar-title span{color:#c0d0e3;font-size:11px}.admin-menu-group p{color:#b4c6dc;font-size:11px;letter-spacing:0;margin-bottom:9px}.admin-menu-group a{color:#e1eaf6;font-size:13px;padding:11px 12px;gap:11px;min-height:44px}.admin-menu-group a:hover{background:#254561}.admin-menu-group a.active{color:#fff;background:#2c5888}.admin-menu-group a>span,.admin-menu-group a.active>span{border:0;background:none;width:19px;height:20px}.admin-menu-group svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.admin-site-link{border-color:#36516d;color:#d0dded;font-size:12px}
.settings-panel{padding:29px}.settings-panel h2{font-size:19px}.setting-heading>span{font-size:12px;color:var(--muted)}.merchant-form small{font-size:11px;color:var(--muted)}.payment-products{background:#f4f7fb;padding:20px 18px 5px}.callback-address{overflow-wrap:anywhere}.callback-address code{font-family:inherit;font-size:12px}.check-label input{width:17px;height:17px}.admin-content .feedback{font-size:12px}
.landing-header{background:#fff;border-bottom:1px solid var(--line)}.invitation{border-radius:16px;border-color:var(--line);box-shadow:0 18px 50px -30px #1d3d6b44}.invitation h1{letter-spacing:-.02em}.invitation-copy{color:var(--muted);font-size:14px}.destination,.invitation-bottom,.landing-footer{color:var(--muted);font-size:12px}.landing-header .brand{font-size:19px}.cashier-panel{box-shadow:0 18px 45px -30px #1d3d6b55}.cashier-channel,.cashier-note{color:var(--muted)}
[hidden]{display:none!important}
@media(max-width:1000px){.workspace{grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:20px}.editor,.result-panel{padding:24px}.open-mode{grid-template-columns:1fr}.generator-page .intro{gap:25px}.intro-copy{font-size:13px}.billing-strip{align-items:flex-start}.billing-strip>div:first-child{gap:10px}.balance-side{flex-direction:column;align-items:flex-end;gap:8px}.how{grid-template-columns:1fr}.admin-layout{gap:20px;grid-template-columns:200px minmax(0,1fr)}}
@media(max-width:850px){.admin-layout{grid-template-columns:1fr}.admin-main{width:calc(100% - 32px)}.admin-sidebar{padding:18px;position:static}.admin-sidebar nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-menu-group a{padding:8px;font-size:12px;gap:6px}.admin-menu-group p{margin-left:8px}.admin-content{width:100%}}
@media(max-width:760px){.wrap{width:calc(100% - 32px)}.site-header{height:68px}.brand{font-size:18px}.brand img{width:31px;height:31px}.generator-account,.account-nav{font-size:11px;gap:14px}#account-entry{padding:8px 11px}.help-nav{display:none}.generator-page .intro{display:block;padding:29px 0 24px}.intro h1{font-size:32px;line-height:1.25}.intro-copy{margin-top:16px;font-size:13px;line-height:1.9;max-width:100%}.billing-strip{padding:16px 18px;margin-bottom:18px;display:flex;gap:12px}.billing-strip>div:first-child{display:flex;flex-wrap:wrap;gap:7px}.billing-strip>div:first-child>small{flex-basis:100%;font-size:10px}.billing-strip span{font-size:10px}.billing-strip strong{font-size:20px}.balance-side{margin:0;align-items:flex-end;gap:9px;white-space:nowrap}.balance-side a{font-size:11px}.workspace{grid-template-columns:1fr;gap:20px}.editor,.result-panel{padding:23px 21px}.result-panel{position:static}.panel-heading h2{font-size:18px}.panel-heading>span{font-size:10px}.editor input,.editor textarea{font-size:16px}.editor textarea{height:98px}.open-mode{grid-template-columns:1fr 1fr;gap:9px}.editor .mode-choice{padding:11px 9px;gap:7px}.editor .mode-choice>span{font-size:11px}.mode-choice strong{font-size:11px}.mode-choice small{font-size:10px}.logo-avatar{width:58px;height:58px}.logo-upload{padding:13px}.logo-options p{font-size:10px}.empty-state{min-height:420px;padding-top:4px}.preview-paper{width:min(290px,100%);margin-bottom:22px}.history-section{padding:22px 20px}.history-heading{align-items:flex-start;gap:14px}.history-heading>a{font-size:10px;max-width:165px;text-align:right;line-height:1.7}.history-row{gap:12px;align-items:flex-start}.history-row>div:first-child{min-width:0}.history-row strong{overflow-wrap:anywhere}.history-buttons{gap:9px;flex-shrink:0}.history-buttons a{font-size:10px}.how{padding:28px 0}.how h2{font-size:22px}.how ol{gap:16px}.how li p{font-size:11px}.site-footer{flex-direction:column;align-items:flex-start;gap:6px}.site-footer p{margin:0;line-height:1.8}.account-heading h1{font-size:25px}.account-main{padding-top:28px}.wallet-layout{gap:18px}.wallet{padding:25px}.wallet-amount strong{font-size:43px}.records,.recharge,.settings-panel,.password-section{padding:22px 20px}.record-tabs button{font-size:12px}.record-tabs{gap:16px}.auth-layout{padding-top:30px;gap:25px}.auth-intro h1{font-size:30px}.auth-intro>p{font-size:13px}.auth-panel{padding:25px 22px}.recharge input,.recharge select,.settings-panel input:not([type=checkbox]),.settings-panel textarea,.settings-panel select,.auth-panel input{font-size:16px}.admin-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.admin-menu-group a{font-size:12px;gap:9px}.admin-main{width:calc(100% - 32px)}.account-nav a:first-child{display:none}.quick-pay{padding:24px}.quick-pay h2{font-size:19px}}
@media(max-width:370px){.generator-account,.account-nav{gap:10px;font-size:10px}.brand{font-size:16px;gap:8px}.brand img{width:28px;height:28px}#account-entry{padding:8px}.intro h1{font-size:29px}.editor,.result-panel{padding:21px 17px}.open-mode{grid-template-columns:1fr}.mode-choice strong{font-size:12px}.billing-strip{padding:15px}.billing-strip strong{font-size:18px}.quick-pay{padding:21px}.quick-pay-buttons{gap:9px}.quick-pay-buttons .button{font-size:12px}.panel-heading>span{font-size:9px}.history-buttons{flex-direction:column;gap:7px}.account-nav{flex-wrap:wrap}.admin-sidebar{padding:14px}.admin-menu-group a{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Finish pass: compact navigation and readable secondary states. */
.empty-records,.auth-tabs button[aria-selected=false],.record-tabs button:not(.active),.pager>span,.auth-panel .auth-note{color:#566d88}
.account-heading>div{min-width:0}.account-heading h1{overflow-wrap:anywhere}.account-heading>.button{flex-shrink:0}
@media(max-width:760px){
  .field-help{font-size:12px}.editor .open-mode{grid-template-columns:1fr}.editor .mode-choice{padding:12px;gap:10px}.mode-choice strong{font-size:13px}.mode-choice small{font-size:11px}.editor .mode-choice>span{font-size:12px}
  .admin-sidebar nav{display:grid;grid-template-columns:1fr 1fr;gap:7px}.admin-menu-group{display:contents}.admin-menu-group p{display:none}.admin-menu-group a{margin:0;padding:9px 11px;min-height:42px}.admin-sidebar{padding:12px}
}
/* Shared monochrome identity for account and administration surfaces. */
:root{--blue:#202124;--ink:#25282d;--muted:#696f79;--line:#e1e3e7;--pale:#f3f4f5;--page:#f6f6f7}
body:not(.desk-page){background:#f6f6f7}.primary{background:#202124;border-color:#202124}.primary:hover{background:#383b40}.secondary{color:#3a414c;border-color:#d8dbe1}.secondary:hover{background:#f4f5f7;border-color:#bfc5cf}.wallet{background:#26282c;border-color:#26282c}.wallet>span,.wallet-rule,#wallet-price{color:#dbdde2}.admin-sidebar{background:#25272c;border-color:#25272c}.admin-menu-group a.active{background:#44474e}.admin-menu-group a:hover{background:#393c43}.admin-sidebar-title,.admin-site-link{border-color:#454850}.admin-menu-group p{color:#bfc3cb}.admin-menu-group a{color:#e3e5e9}.auth-layout{display:block;min-height:0;width:min(430px,calc(100% - 32px));padding:0;margin:55px auto}.auth-intro{display:none}.auth-panel{box-shadow:none;border-color:#e0e2e7}.auth-tabs button[aria-selected=true]{border-color:#202124;color:#202124}.record-tabs button.active{color:#202124;border-color:#202124}.account-nav,.account-nav a,.account-nav button{color:#606773}.settings-panel input:not([type=checkbox]),.settings-panel textarea,.settings-panel select,.recharge input,.recharge select,.auth-panel input{border-color:#d1d5dc}.settings-panel select:focus{outline-color:#7e848e}.setting-heading>span,.record-target{color:#6e7581}.admin-main .account-heading h1{color:#25282d}
@media(max-width:760px){.auth-layout{margin-top:30px}.admin-sidebar{background:#25272c}}
