:root{color:#24201d;font-synthesis:none;--orange:#ee6b2f;--ink:#24201d;--line:#ded8cf;background:#f4f0e9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:#f4f0e9;min-height:100vh;margin:0}button,select,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.topbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:20;background:#ffffffe0;border-bottom:1px solid #e0d9cf;justify-content:space-between;align-items:center;height:76px;padding:0 34px;display:flex;position:sticky;top:0}.brand{color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.brand>span:last-child{flex-direction:column;display:flex}.brand strong{letter-spacing:-.03em;font-size:18px}.brand small{color:#9c948a;letter-spacing:.16em;margin-top:2px;font-size:8px;font-weight:800}.brand-mark{background:var(--ink);border-radius:12px;grid-template-columns:repeat(2,1fr);gap:3px;width:38px;height:38px;padding:5px;display:grid;transform:rotate(-3deg)}.brand-mark i{background:#f28c4c;border-radius:3px}.brand-mark i:nth-child(2),.brand-mark i:nth-child(3){background:#ffd7a2}.privacy-pill{color:#777168;background:#fff;border:1px solid #e2ddd5;border-radius:999px;padding:9px 14px;font-size:11px;font-weight:650}.privacy-pill span{color:#53a36a;margin-right:6px}.workflow-step{color:#8b837a;align-items:center;gap:8px;font-size:10px;font-weight:750;display:flex}.workflow-step b{width:20px;height:20px;color:var(--orange);background:#fff0e4;border-radius:50%;place-items:center;font-size:9px;display:grid}.workflow-step i{background:#ddd5cc;width:28px;height:1px}.workspace{grid-template-columns:360px minmax(0,1fr);min-height:calc(100vh - 76px);display:grid}.control-panel{background:#fffdf9;border-right:1px solid #ddd6cc;padding:24px 22px 80px}.panel-section{border-bottom:1px dashed #dfd9d1;padding:22px 0}.first-section{padding-top:4px}.section-heading{align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.section-heading>span{min-width:32px;height:24px;color:var(--orange);background:#fff0e4;border-radius:8px;place-items:center;font-size:10px;font-weight:900;display:grid}.section-heading h2{margin:0;font-size:15px}.section-heading p{color:#9b938a;margin:4px 0 0;font-size:11px}.upload-zone{color:#685f56;background:#faf7f2;border:1.5px dashed #d4cbc0;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;min-height:150px;transition:all .2s;display:flex;position:relative;overflow:hidden}.upload-zone:hover,.upload-zone.dragging{border-color:var(--orange);background:#fff6ed;transform:translateY(-1px)}.upload-zone>b{width:38px;height:38px;color:var(--orange);background:#fff;border:1px solid #e4ddd4;border-radius:13px;place-items:center;font-size:23px;display:grid}.upload-zone strong{font-size:13px}.upload-zone small{color:#a59d94;font-size:10px}.upload-zone.has-image{background:#fff;border-style:solid;height:190px;padding:8px}.upload-zone img{object-fit:contain;border-radius:14px;width:100%;height:100%}.replace-badge{color:#fff;background:#231f1cd1;border-radius:999px;padding:7px 11px;font-size:10px;font-weight:800;position:absolute;bottom:12px;right:12px}.style-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.style-grid button{text-align:left;color:#4b4540;background:#fff;border:1px solid #e1dbd3;border-radius:14px;align-items:center;gap:9px;min-height:66px;padding:9px;display:flex}.style-grid button>b{color:#8b8178;background:#f5f1eb;border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.style-grid button span{flex-direction:column;min-width:0;display:flex}.style-grid button strong{font-size:11px}.style-grid button small{color:#aaa198;white-space:nowrap;margin-top:3px;font-size:8px}.style-grid button.selected{background:#fff9f5;border-color:#f38a58;box-shadow:0 0 0 2px #ffe3d1}.style-grid button.selected>b{background:var(--orange);color:#fff}.ai-workbench{background:linear-gradient(145deg,#fffaf6,#fff5ef);border:1px solid #efc4aa;border-radius:16px;margin-top:11px;padding:12px}.ai-card-title{align-items:center;gap:10px;display:flex}.ai-card-title>span{color:#fff;background:linear-gradient(135deg,#f48745,#f05262);border-radius:11px;flex:none;place-items:center;width:34px;height:34px;font-size:10px;font-weight:900;display:grid}.ai-card-title p{flex-direction:column;margin:0;display:flex}.ai-card-title b{font-size:11px}.ai-card-title small{color:#9b8c80;margin-top:3px;font-size:8px;line-height:1.45}.ai-style-select{justify-content:space-between;align-items:center;min-height:38px;font-size:9px;font-weight:800;display:flex}.ai-style-select select{color:#4c433d;background:#fff;border:1px solid #e2d7ce;border-radius:9px;width:154px;padding:7px 8px;font-size:9px}.ai-generate{color:#fff;background:linear-gradient(135deg,#f17838,#ef5360);border:0;border-radius:10px;width:100%;padding:9px 10px;font-size:9px;font-weight:850;box-shadow:0 6px 15px #ef6d4430}.ai-generate:disabled{opacity:.48;cursor:not-allowed}.ai-status{color:#8d745f;background:#fff8dc;border-radius:9px;align-items:center;gap:7px;margin-top:9px;padding:8px 9px;font-size:8px;line-height:1.5;display:flex}.ai-status i{background:#f0a52d;border-radius:50%;flex:none;width:7px;height:7px;animation:1.2s infinite ai-pulse}@keyframes ai-pulse{50%{opacity:.35;transform:scale(.75)}}.ai-single-result{background:#fff;border:1px solid #e2d5cb;border-radius:12px;width:100%;margin-top:9px;padding:5px;position:relative;overflow:hidden}.ai-single-result img{object-fit:contain;border-radius:8px;width:100%;max-height:180px;display:block}.ai-single-result span{color:#fff;background:#24201dcc;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:850;position:absolute;bottom:10px;right:10px}.use-original{color:#d65b2d;background:#fff;border:1px solid #e3d6cc;border-radius:9px;width:100%;margin-top:8px;padding:7px;font-size:8px;font-weight:850}.ai-error{color:#ae3f43;background:#fff0f0;border:1px solid #ffd5d5;border-radius:9px;margin-top:8px;padding:8px 9px;font-size:8px;line-height:1.5}.compact-controls>label{border-bottom:1px solid #f0ece7;justify-content:space-between;align-items:center;min-height:46px;font-size:11px;font-weight:750;display:flex}.compact-controls select{color:#4e4842;background:#fff;border:1px solid #ded7ce;border-radius:10px;outline:none;width:136px;padding:8px 10px;font-size:11px}.toggle-row>span{flex-direction:column;display:flex}.toggle-row small{color:#aaa198;margin-top:3px;font-size:9px;font-weight:500}.toggle-row input{appearance:none;background:#d7d1ca;border-radius:999px;width:38px;height:22px;transition:all .2s;position:relative}.toggle-row input:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:all .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.toggle-row input:checked{background:var(--orange)}.toggle-row input:checked:after{transform:translate(16px)}.toggle-row input:disabled{opacity:.4;cursor:not-allowed}.range-row{flex-direction:column;gap:8px;padding:10px 0;justify-content:center!important;align-items:stretch!important}.range-row span{justify-content:space-between;display:flex}.range-row b{color:var(--orange)}.range-row input{width:100%;accent-color:var(--orange)}.crop-controls{background:#f8f4ee;border-radius:14px;margin:8px 0;padding:4px 12px}.crop-controls .range-row{border-bottom-color:#e9e1d8}.preview-area{min-width:0;padding:34px 38px 80px}.preview-header{justify-content:space-between;align-items:flex-end;margin-bottom:22px;display:flex}.eyebrow,.table-title span,.export-card>span{color:var(--orange);letter-spacing:.18em;font-size:9px;font-weight:900}.preview-header h1{letter-spacing:-.04em;margin:6px 0 0;font-size:27px}.summary-chips{gap:8px;display:flex}.summary-chips span{color:#81786e;background:#fff;border:1px solid #e1dad1;border-radius:10px;padding:8px 11px;font-size:10px}.summary-chips b{color:#2d2925;font-size:13px}.editor-toolbar{background:#fffffff0;border:1px solid #ddd5cb;border-radius:16px;align-items:center;gap:12px;min-height:52px;margin-bottom:10px;padding:7px 9px;display:flex;box-shadow:0 8px 25px #47392a0d}.view-tabs{background:#f2eee8;border-radius:11px;gap:3px;padding:3px;display:flex}.view-tabs button{color:#797168;background:0 0;border:0;border-radius:8px;min-width:70px;padding:8px 11px;font-size:10px;font-weight:800}.view-tabs button.active{color:var(--orange);background:#fff;box-shadow:0 2px 8px #5d49311a}.tool-group{color:#8e857c;align-items:center;gap:6px;font-size:9px;font-weight:750;display:flex}.bg-dot{border:2px solid #fff;border-radius:50%;width:23px;height:23px;padding:0;box-shadow:0 0 0 1px #d5cec5}.bg-dot.white{background:#fff}.bg-dot.dark{background:#25262a}.bg-dot.checker{background-color:#fff;background-image:linear-gradient(45deg,#c9c9c9 25%,#0000 25%),linear-gradient(-45deg,#c9c9c9 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#c9c9c9 75%),linear-gradient(-45deg,#0000 75%,#c9c9c9 75%);background-position:0 0,0 4px,4px -4px,-4px 0;background-size:8px 8px}.bg-dot.active{box-shadow:0 0 0 2px var(--orange)}.inline-select,.code-switch{color:#756d65;white-space:nowrap;align-items:center;gap:6px;font-size:9px;font-weight:750;display:flex}.inline-select select{color:#514b45;background:#fff;border:1px solid #ded7ce;border-radius:8px;padding:6px 7px;font-size:9px}.code-switch input{accent-color:var(--orange)}.zoom-control{background:#fff;border:1px solid #ded7ce;border-radius:10px;align-items:center;margin-left:auto;display:flex;overflow:hidden}.zoom-control button{color:#554e47;background:#fff;border:0;width:30px;height:30px;font-weight:800}.zoom-control span{text-align:center;color:#777067;min-width:44px;font-size:9px;font-weight:800}.canvas-stage{background-color:#e8e3dc;background-image:linear-gradient(45deg,#ddd8d1 25%,#0000 25%),linear-gradient(-45deg,#ddd8d1 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#ddd8d1 75%),linear-gradient(-45deg,#0000 75%,#ddd8d1 75%);background-position:0 0,0 12px,12px -12px,-12px 0;background-size:24px 24px;border:1px solid #ddd5cb;border-radius:26px;place-items:center;min-height:570px;display:grid;overflow:hidden;box-shadow:inset 0 1px #fff9}.canvas-stage.ready{padding:24px;display:block}.canvas-stage.white{background:#fff}.canvas-stage.dark{background:#202124}.canvas-stage.checker{background-color:#e8e3dc}.canvas-scroll{text-align:center;width:100%;max-height:760px;overflow:auto}.canvas-scroll canvas{vertical-align:top;max-width:none;height:auto;box-shadow:0 20px 60px #392d2029}.source-preview{text-align:center;width:100%;max-height:760px;overflow:auto}.source-preview img{vertical-align:top;max-width:none;height:auto;box-shadow:0 20px 60px #392d2029}.empty-state{text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffc2;border-radius:30px;width:440px;padding:60px 30px;box-shadow:0 20px 60px #4b3d2f14}.mini-grid{grid-template-columns:repeat(6,1fr);gap:3px;width:114px;margin:0 auto 24px;display:grid;transform:rotate(-4deg)}.mini-grid i{aspect-ratio:1;background:#f0b06c;border-radius:3px}.mini-grid i:nth-child(3n){background:#fa779f}.mini-grid i:nth-child(4n){background:#4d3b32}.empty-state h3{margin:0;font-size:20px}.empty-state p{color:#8d857d;width:300px;margin:10px auto 20px;font-size:12px;line-height:1.7}.empty-state button{background:var(--ink);color:#fff;border:0;border-radius:12px;padding:11px 24px;font-size:11px;font-weight:800}.error-box{color:#bd4141;background:#fff0f0;border:1px solid #ffd0d0;border-radius:12px;margin-top:12px;padding:12px 16px;font-size:11px}.result-footer{grid-template-columns:minmax(0,1fr) 270px;align-items:start;gap:16px;margin-top:20px;display:grid}.color-table-card,.export-card{background:#fff;border:1px solid #dfd8cf;border-radius:22px;padding:20px;box-shadow:0 12px 35px #47392a0d}.table-title{justify-content:space-between;align-items:center;display:flex}.table-title h2,.export-card h2{margin:4px 0 0;font-size:17px}.table-title>strong{color:#7f766d;background:#f6f2ed;border-radius:999px;padding:8px 11px;font-size:11px}.table-actions{align-items:center;gap:7px;display:flex}.table-actions button{color:#6f675f;background:#fff;border:1px solid #ded7ce;border-radius:9px;padding:7px 9px;font-size:9px;font-weight:800}.table-actions strong{color:#7f766d;background:#f6f2ed;border-radius:999px;padding:8px 11px;font-size:10px}.color-table{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:15px;display:grid}.color-table>div{border:1px solid #eee9e3;border-radius:12px;align-items:center;gap:9px;min-height:50px;padding:8px;display:flex}.color-table i{border:1px solid #7775;border-radius:9px;flex:none;width:31px;height:31px}.color-table span{flex-direction:column;flex:1;min-width:0;display:flex}.color-table span b{font-size:10px}.color-table span small{color:#aaa198;margin-top:3px;font-size:8px}.color-table>div>strong{color:var(--orange);font-size:15px}.color-table>div>strong small{color:#a99e94;margin-left:2px;font-size:8px}.export-card p{color:#8d857d;font-size:10px;line-height:1.7}.export-card button{color:#4e4842;background:#fff;border:1px solid #dcd5cc;border-radius:12px;width:100%;margin-top:8px;padding:11px 12px;font-size:11px;font-weight:800}.export-card button.primary{background:var(--ink);color:#fff;border-color:var(--ink)}.toast{z-index:50;color:#fff;background:#24201d;border-radius:999px;padding:11px 18px;font-size:11px;font-weight:800;position:fixed;bottom:34px;left:50%;transform:translate(-50%);box-shadow:0 12px 35px #0003}@media (width<=1250px){body{min-width:1024px}.workspace{grid-template-columns:330px minmax(0,1fr)}.preview-area{padding-left:25px;padding-right:25px}.result-footer{grid-template-columns:1fr}.export-card{grid-template-columns:1fr 180px 180px;align-items:end;gap:10px;display:grid}.export-card>span,.export-card h2,.export-card p{grid-column:1}}.access-loading{color:#7b726a;background:#f7f3ed;align-content:center;place-items:center;gap:16px;min-height:100vh;font-size:12px;font-weight:750;display:grid}.vip-gate{background:linear-gradient(135deg,#fff5ef 0%,#f6fbfa 50%,#f0f5ff 100%);place-items:center;min-height:100vh;padding:50px 24px;display:grid;position:relative;overflow:hidden}.vip-gate-glow{filter:blur(80px);opacity:.26;border-radius:50%;width:500px;height:500px;position:absolute}.vip-gate-glow.first{background:#ff7b58;top:-170px;left:-180px}.vip-gate-glow.second{background:#4ec8b8;bottom:-210px;right:-170px}.vip-gate-card{z-index:1;text-align:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffe6;border:1px solid #e5ddd5;border-radius:34px;width:720px;max-width:100%;padding:34px 48px 28px;position:relative;overflow:hidden;box-shadow:0 35px 100px #46301f1f}.vip-logo{justify-content:center;align-items:center;gap:10px;display:flex}.vip-logo b{font-size:17px}.vip-logo em{color:#fff;letter-spacing:.08em;background:linear-gradient(135deg,#ffc247,#ff8a33);border-radius:999px;padding:4px 9px;font-size:8px;font-style:normal;font-weight:900;box-shadow:0 5px 12px #ef872f33}.vip-art{grid-template-columns:repeat(8,1fr);gap:3px;width:150px;margin:28px auto 25px;display:grid;transform:rotate(-3deg)}.vip-art i{aspect-ratio:1;background:#f0a25d;border-radius:4px}.vip-art i:nth-child(3n){background:#f57498}.vip-art i:nth-child(4n){background:#493b36}.vip-art i:nth-child(7n){background:#78c9bd}.vip-kicker{color:var(--orange);letter-spacing:.2em;font-size:9px;font-weight:950}.vip-gate-card h1{letter-spacing:-.05em;max-width:560px;margin:11px auto 0;font-size:34px;line-height:1.18}.vip-gate-card>p{color:#81786f;max-width:540px;margin:13px auto 20px;font-size:12px;line-height:1.8}.vip-feature-row{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.vip-feature-row span{color:#8b8179;background:#fff;border:1px solid #eee7df;border-radius:14px;flex-direction:column;min-height:52px;padding:10px;font-size:9px;display:flex}.vip-feature-row b{color:#2e2925;margin-bottom:3px;font-size:12px}.vip-access-box{text-align:left;background:#f8f4ef;border-radius:15px;justify-content:space-between;align-items:center;gap:15px;margin-top:16px;padding:13px 15px;display:flex}.vip-access-box div{flex-direction:column;display:flex}.vip-access-box strong{font-size:10px}.vip-access-box small{color:#9e948a;margin-top:3px;font-size:8px}.vip-access-box code{color:#d36535;white-space:nowrap;background:#fff;border-radius:8px;padding:7px 9px;font-size:8px}.vip-redeem{text-align:left;margin-top:15px}.vip-redeem label{color:#70675f;margin:0 0 7px 3px;font-size:9px;font-weight:850;display:block}.vip-redeem>div{gap:8px;display:flex}.vip-redeem input{color:#403a35;letter-spacing:.06em;background:#fff;border:1px solid #ddd5cc;border-radius:12px;outline:none;flex:1;min-width:0;padding:12px 13px;font:700 11px ui-monospace,monospace}.vip-redeem input:focus{border-color:#ed8655;box-shadow:0 0 0 3px #ffe5d5}.vip-redeem button{color:#fff;background:#29231f;border:0;border-radius:12px;padding:0 22px;font-size:10px;font-weight:850}.vip-redeem button:disabled{opacity:.45;cursor:not-allowed}.vip-gate-error{color:#b94747!important;margin:8px 0 0!important;font-size:9px!important}.vip-gate-card footer{color:#a29991;margin-top:18px;font-size:8px}.vip-gate-card footer a{color:#db6a36;margin-left:10px;font-weight:800;text-decoration:none}.admin-login-page{background:radial-gradient(circle at 25% 20%,#fff0e4,#0000 35%),radial-gradient(circle at 80% 75%,#dff6f2,#0000 30%),#f3f0eb;place-items:center;min-height:100vh;padding:40px;display:grid}.admin-login-card{background:#fffffff0;border:1px solid #dfd8d0;border-radius:28px;width:430px;padding:38px;box-shadow:0 30px 90px #59452e1f}.admin-login-brand{align-items:center;gap:11px;display:flex}.admin-login-brand>div{flex-direction:column;display:flex}.admin-login-brand b{font-size:16px}.admin-login-brand small{color:#a1988f;letter-spacing:.16em;font-size:7px;font-weight:900}.admin-login-kicker{color:var(--orange);letter-spacing:.2em;margin-top:32px;font-size:8px;font-weight:950;display:block}.admin-login-card h1{letter-spacing:-.04em;margin:8px 0;font-size:28px}.admin-login-card>p{color:#898078;margin:0 0 24px;font-size:10px;line-height:1.7}.admin-login-card label,.admin-form label,.ai-config-form label{color:#5e5650;flex-direction:column;gap:7px;margin-top:13px;font-size:9px;font-weight:850;display:flex}.admin-login-card input,.admin-form input,.ai-config-form input,.ai-config-form select{color:#39342f;background:#fff;border:1px solid #ddd6ce;border-radius:11px;outline:none;width:100%;padding:11px 12px;font-size:10px}.admin-login-card input:focus,.admin-form input:focus,.ai-config-form input:focus{border-color:#ef8956;box-shadow:0 0 0 3px #ffe5d5}.admin-login-card>button{color:#fff;background:#28231f;border:0;border-radius:12px;width:100%;margin-top:18px;padding:12px;font-size:10px;font-weight:850}.admin-login-card>a{color:#9a9189;text-align:center;margin-top:17px;font-size:9px;text-decoration:none;display:block}.admin-error{color:#b64242;background:#fff0f0;border:1px solid #ffd0d0;border-radius:10px;margin-top:12px;padding:10px 12px;font-size:9px}.admin-error.wide{justify-content:space-between;margin:0 0 14px;display:flex}.admin-error button{color:inherit;background:0 0;border:0}.admin-shell{background:#f3f1ed;grid-template-columns:232px minmax(0,1fr);min-height:100vh;display:grid}.admin-sidebar{background:#fffdf9;border-right:1px solid #e0d9d1;flex-direction:column;height:100vh;padding:24px 15px;display:flex;position:sticky;top:0}.admin-brand{border-bottom:1px solid #eee8e1;align-items:center;gap:11px;padding:0 8px 24px;display:flex}.admin-brand>div{flex-direction:column;display:flex}.admin-brand b{font-size:15px}.admin-brand small{color:#aaa097;letter-spacing:.15em;margin-top:2px;font-size:7px;font-weight:900}.admin-sidebar nav{flex-direction:column;gap:5px;margin-top:20px;display:flex}.admin-sidebar nav button{color:#797169;text-align:left;background:0 0;border:0;border-radius:11px;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:10px;font-weight:800;display:flex}.admin-sidebar nav button i{background:#f3efe9;border-radius:8px;place-items:center;width:25px;height:25px;font-style:normal;display:grid}.admin-sidebar nav button.active{color:#d85e29;background:#fff0e5}.admin-sidebar nav button.active i{color:#fff;background:var(--orange)}.admin-side-bottom{gap:6px;margin-top:auto;display:grid}.admin-side-bottom a,.admin-side-bottom button{color:#777068;text-align:center;background:#fff;border:1px solid #e6dfd7;border-radius:10px;padding:9px 11px;font-size:9px;font-weight:800;text-decoration:none}.admin-main{min-width:0;padding:28px 34px 70px}.admin-main>header{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.admin-main>header div{flex-direction:column;display:flex}.admin-main>header span,.admin-panel-title span{color:var(--orange);letter-spacing:.18em;font-size:8px;font-weight:950}.admin-main>header h1{letter-spacing:-.04em;margin:5px 0 0;font-size:25px}.admin-main>header>button{color:#6d655e;background:#fff;border:1px solid #ddd6ce;border-radius:10px;padding:9px 13px;font-size:9px;font-weight:850}.admin-stat-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.admin-stat-grid>div{background:#fff;border:1px solid #e1dad2;border-radius:19px;flex-direction:column;min-height:120px;padding:18px;display:flex;box-shadow:0 9px 30px #5d493108}.admin-stat-grid span{color:#8c837b;font-size:9px;font-weight:800}.admin-stat-grid strong{letter-spacing:-.04em;margin-top:15px;font-size:27px}.admin-stat-grid small{color:#aaa199;margin-top:auto;font-size:8px}.admin-panel{background:#fff;border:1px solid #e0d9d1;border-radius:20px;margin-top:14px;padding:20px;box-shadow:0 10px 35px #59452e08}.admin-panel-title{justify-content:space-between;align-items:center;display:flex}.admin-panel-title h2{margin:5px 0 0;font-size:16px}.admin-panel-title>b{color:#81786f;background:#f4f0eb;border-radius:999px;padding:7px 10px;font-size:9px}.admin-panel-title>button{color:#776e66;background:#fff;border:1px solid #e0d9d1;border-radius:9px;padding:7px 10px;font-size:8px;font-weight:850}.admin-two-column{grid-template-columns:330px minmax(0,1fr);align-items:start;gap:14px;display:grid}.admin-two-column .admin-panel{margin-top:0}.form-split{grid-template-columns:1fr 1fr;gap:9px;display:grid}.admin-form label small,.ai-config-form label small{color:#a39a92;font-size:8px;font-weight:500}.admin-primary{color:#fff;background:#29231f;border:0;border-radius:11px;width:100%;margin-top:17px;padding:11px 13px;font-size:9px;font-weight:850}.list-panel{max-height:calc(100vh - 115px);overflow:auto}.vip-admin-list,.code-admin-list{gap:8px;margin-top:14px;display:grid}.vip-admin-list article{background:#fff;border:1px solid #e9e3dc;border-radius:13px;padding:12px}.vip-admin-list article.disabled{opacity:.55;background:#f6f4f1}.vip-row-head{justify-content:space-between;align-items:center;display:flex}.vip-row-head span{flex-direction:column;display:flex}.vip-row-head b{font-size:10px}.vip-row-head small{color:#a09890;margin-top:3px;font-size:8px}.vip-row-head button{color:#d66031;background:0 0;border:0;font-size:8px;font-weight:850}.vip-admin-list article>code{color:#7e6e61;text-overflow:ellipsis;white-space:nowrap;background:#f7f3ee;border-radius:8px;margin-top:9px;padding:8px;font-size:8px;display:block;overflow:hidden}.vip-admin-list footer{color:#9e958c;justify-content:space-between;align-items:center;margin-top:8px;font-size:8px;display:flex}.vip-admin-list footer button{color:#d45e2c;background:#fff0e5;border:0;border-radius:7px;padding:5px 8px;font-size:8px;font-weight:850}.code-admin-list article{border:1px solid #e9e3dc;border-radius:12px;grid-template-columns:minmax(0,1fr) 100px 42px;align-items:center;gap:8px;padding:10px 11px;display:grid}.code-admin-list article.used{opacity:.48}.code-admin-list code{font-size:9px;font-weight:800}.code-admin-list span{color:#4f8464;flex-direction:column;font-size:8px;font-weight:850;display:flex}.code-admin-list small{color:#a39a92;margin-top:2px;font-size:7px;font-weight:500}.code-admin-list button{color:#d7602f;background:0 0;border:0;font-size:8px;font-weight:850}.ai-config-form{max-width:840px}.ai-config-form .admin-panel-title strong{color:#ad4c4c;background:#fff0f0;border-radius:999px;padding:7px 10px;font-size:8px}.ai-config-form .admin-panel-title strong.ok{color:#3c8056;background:#eaf8ee}.ai-config-grid{grid-template-columns:1fr 1fr;gap:0 12px;margin-top:12px;display:grid}.ai-config-grid .wide{grid-column:1/-1}.config-meta{color:#a19890;margin:12px 0 0;font-size:8px}.usage-table{border:1px solid #ece6df;border-radius:13px;min-width:820px;margin-top:14px;overflow:hidden}.usage-table>div{color:#6e665f;border-top:1px solid #f0ebe5;grid-template-columns:150px 1fr 1.15fr 90px 65px 110px;align-items:center;gap:10px;min-height:48px;padding:8px 11px;font-size:8px;display:grid}.usage-table .usage-head{color:#91877e;background:#f7f4ef;border-top:0;min-height:35px;font-weight:850}.usage-table>div>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.usage-table span small{color:#aaa198;text-overflow:ellipsis;margin-top:2px;display:block;overflow:hidden}.usage-table b{border-radius:999px;padding:4px 7px;font-size:7px}.usage-table b.succeeded{color:#34724e;background:#eaf8ef}.usage-table b.failed{color:#a54347;background:#fff0f0}.empty-list{color:#aaa198;text-align:center;margin:0;padding:35px;font-size:9px}.admin-panel>.usage-table{overflow-x:auto}@media (width<=1180px){.admin-stat-grid{grid-template-columns:repeat(2,1fr)}.admin-two-column{grid-template-columns:300px minmax(0,1fr)}}


/* ========== 手机/平板自适应 (≤768px) ========== */
@media (max-width: 768px) {
  body{min-width:0}
  .topbar{height:auto;padding:12px 14px;gap:10px;flex-wrap:wrap}
  .topbar .brand strong{font-size:15px}
  .topbar .brand small{display:none}
  .topbar .workflow-step{display:none}
  .topbar .privacy-pill{padding:6px 10px;font-size:10px}

  .workspace{grid-template-columns:1fr;min-height:auto}
  .control-panel{border-right:0;border-bottom:1px solid #ddd6cc;padding:14px 14px 30px}
  .panel-section{padding:14px 0}
  .panel-section.first-section{padding-top:4px}
  .section-heading h2{font-size:14px}
  .upload-zone{min-height:120px}
  .upload-zone.has-image{height:160px}
  .style-grid{grid-template-columns:1fr 1fr;gap:6px}
  .style-grid button{min-height:56px;padding:7px;gap:7px}
  .ai-style-select select{width:auto;flex:1;min-width:0}
  .ai-style-select{flex-wrap:wrap;gap:6px}

  .preview-area{padding:14px 14px 60px}
  .preview-header{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:14px}
  .preview-header h1{font-size:20px;margin-top:4px}
  .summary-chips{flex-wrap:wrap;gap:6px}
  .summary-chips span{padding:6px 9px;font-size:9px}
  .summary-chips b{font-size:11px}

  .editor-toolbar{flex-wrap:wrap;gap:8px;min-height:auto;padding:8px}
  .editor-toolbar .view-tabs{order:1;width:100%}
  .editor-toolbar .tool-group{order:2;flex-wrap:wrap}
  .editor-toolbar .zoom-control{order:3;margin-left:0;width:100%;justify-content:space-between}
  .editor-toolbar .zoom-control button{flex:1}
  .view-tabs button{min-width:0;flex:1;padding:8px 6px;font-size:9px}

  .canvas-stage{min-height:380px;border-radius:18px}
  .canvas-stage.ready{padding:10px}
  .canvas-scroll{max-height:520px}
  .canvas-scroll canvas{max-width:100% !important;height:auto !important}
  .source-preview{max-height:520px}
  .source-preview img{max-width:100% !important;height:auto !important}

  .empty-state{width:auto;max-width:100%;padding:36px 20px;border-radius:22px}
  .empty-state p{width:auto;font-size:11px}

  .result-footer{grid-template-columns:1fr;gap:12px}
  .color-table-card,.export-card{padding:14px;border-radius:16px}
  .color-table{grid-template-columns:1fr;gap:6px}
  .table-title{flex-wrap:wrap;gap:8px}
  .table-title h2{font-size:14px}
  .table-actions{flex-wrap:wrap}

  .toast{bottom:18px;padding:9px 14px;font-size:10px;max-width:90%}

  /* VIP 登录页 */
  .vip-gate{padding:30px 14px;min-height:100vh;height:auto}
  .vip-gate-card{width:auto;max-width:100%;padding:24px 18px 22px;border-radius:24px;margin:0}
  .vip-gate-card h1{font-size:22px;line-height:1.25;max-width:none}
  .vip-gate-card>p{font-size:11px;max-width:none}
  .vip-art{width:120px;margin:20px auto 18px}
  .vip-feature-row{grid-template-columns:1fr;gap:7px}
  .vip-access-box{flex-direction:column;align-items:flex-start;gap:8px;padding:11px 13px}
  .vip-access-box>div{width:100%}
  .vip-access-box code{font-size:9px;padding:6px 8px;word-break:break-all;white-space:normal}
  .vip-redeem>div{flex-direction:column;gap:8px}
  .vip-redeem button{padding:11px 14px;width:100%}
  .vip-redeem input{font-size:11px;padding:11px 12px}

  /* Admin 后台 */
  .admin-login-page{padding:20px 14px}
  .admin-login-card{width:auto;max-width:100%;padding:26px 22px;border-radius:22px}
  .admin-login-card h1{font-size:22px}
  .admin-shell{grid-template-columns:1fr}
  .admin-sidebar{position:static;height:auto;flex-direction:row;flex-wrap:wrap;gap:10px;padding:14px}
  .admin-brand{padding:0 6px 14px;width:100%}
  .admin-sidebar nav{flex-direction:row;flex-wrap:wrap;gap:6px;margin-top:0;width:100%}
  .admin-sidebar nav button{flex:1 1 45%;padding:9px 10px;font-size:9px}
  .admin-side-bottom{width:100%;grid-template-columns:1fr 1fr}
  .admin-main{padding:18px 14px 50px}
  .admin-main>header{flex-direction:column;align-items:flex-start;gap:10px}
  .admin-main>header h1{font-size:20px}
  .admin-stat-grid{grid-template-columns:1fr 1fr;gap:8px}
  .admin-stat-grid>div{min-height:90px;padding:14px}
  .admin-stat-grid strong{font-size:20px}
  .admin-two-column{grid-template-columns:1fr}
  .admin-panel{padding:14px;border-radius:16px}
  .form-split{grid-template-columns:1fr}
  .ai-config-grid{grid-template-columns:1fr}
  .usage-table{min-width:600px}
}

/* ========== 平板中等屏 (≤1024px) ========== */
@media (max-width: 1024px) and (min-width: 769px) {
  .workspace{grid-template-columns:300px minmax(0,1fr)}
  .preview-area{padding:20px 22px 60px}
  .preview-header h1{font-size:22px}
  .editor-toolbar{flex-wrap:wrap}
}

/* ========== 全局防溢出 ========== */
html,body{overflow-x:hidden}
img,canvas{max-width:100%}
