:root{color-scheme:light;--page:#f4f2eb;--ink:#173d34;--muted:#64766c;--line:#d6ddd2;--accent:#00451b;font-family:"PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100vh;min-height:100dvh;background:var(--page);color:var(--ink);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.5}a:focus-visible,button:focus-visible{outline:3px solid #9b6b37;outline-offset:5px}button:active:not(:disabled){transform:scale(.98)}[hidden]{display:none!important}.skip-link{position:absolute;left:20px;top:-100px;padding:14px;background:var(--ink);color:white;z-index:2}.skip-link:focus{top:12px}
.page-header,.page-footer{width:min(1440px,100%);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 5vw}.page-header{border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:16px;min-height:44px;font-weight:600;font-size:19px;letter-spacing:2px}.wordmark span{font-size:13px;letter-spacing:.3px;font-weight:400}.page-header nav{display:flex;gap:26px;font-size:13px}.page-header nav a,.page-footer a{display:inline-flex;min-height:44px;align-items:center;gap:10px}.page-header nav a:hover,.page-footer a:hover{text-decoration:underline;text-underline-offset:5px}
.card-workspace{width:min(1440px,100%);margin:0 auto;padding:76px 5vw 92px;display:grid;grid-template-columns:minmax(220px,270px) minmax(0,1fr);gap:clamp(36px,5vw,82px);align-items:center}.eyebrow,.preview-topline{font-size:10px;letter-spacing:2px;font-weight:500}.eyebrow{margin:0 0 25px;color:var(--muted)}h1{font-family:"Songti SC","STSong","Noto Serif CJK SC",serif;font-size:clamp(34px,3.4vw,49px);letter-spacing:2px;line-height:1.45;font-weight:500;margin:0 0 21px}.intro-copy{font-size:14px;line-height:1.9;letter-spacing:.5px;color:var(--muted);margin:0 0 31px}.theme-options{padding:0;border:0;margin:0 0 22px;min-width:0}.theme-options legend{font-size:12px;letter-spacing:1px;margin-bottom:12px}.theme-buttons{display:flex;gap:10px}.theme-button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:46px;min-width:88px;padding:10px 13px;border:1px solid var(--line);border-radius:3px;background:transparent;color:var(--ink);font-size:13px;transition:background .2s,transform .2s}.theme-button[aria-pressed=true]{border-color:var(--ink);background:#e8eade}.swatch{width:16px;height:16px;border-radius:50%;border:1px solid #0002}.swatch.forest{background:#00451b}.swatch.ivory{background:#f5f1e6}.save-button{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;max-width:244px;min-height:52px;padding:14px 19px;border:1px solid var(--ink);border-radius:3px;color:#f4f0e5;background:var(--ink);font-size:14px;letter-spacing:.5px;transition:background .2s,transform .2s}.save-button:hover:not(:disabled){background:#285446}.save-button>span:last-child{font-size:23px;line-height:1}.export-note{font-size:11px;line-height:1.8;color:var(--muted);margin:11px 0 0}.status{font-size:12px;line-height:1.7;color:var(--muted);min-height:21px;margin:14px 0 0;max-width:270px;overflow-wrap:anywhere}.status[data-error=true]{color:#974222}.retry-button{border:0;background:transparent;color:var(--ink);padding:10px 0;min-height:44px;font-size:13px;text-decoration:underline;text-underline-offset:4px}
.card-display{min-width:0}.preview-topline,.preview-caption{display:flex;align-items:center;justify-content:space-between;gap:15px;color:var(--muted)}.preview-topline{margin-bottom:21px}.preview-topline span:last-child{letter-spacing:.8px}.card-frame{width:100%;box-shadow:0 26px 55px -23px #18382b48,0 4px 10px #18382b12;border-radius:3px;overflow:hidden;background:#00451b}#business-card{display:block;width:100%;height:auto;aspect-ratio:5/3}.preview-caption{margin-top:21px;font-size:11px;letter-spacing:1px}.preview-caption span:last-child{letter-spacing:2px}.saved-result{margin-top:37px;padding-top:23px;border-top:1px solid var(--line)}.result-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.result-heading h2{font-size:17px;font-weight:500;margin:0}.result-heading a{display:inline-flex;align-items:center;min-height:44px;font-size:12px;gap:10px;text-decoration:underline;text-underline-offset:4px}.saved-result p{font-size:12px;color:var(--muted);line-height:1.8;margin:5px 0 16px}.saved-result img{display:block;width:100%;height:auto;border-radius:2px}.page-footer{border-top:1px solid var(--line);font-size:11px;color:var(--muted);letter-spacing:.5px;padding-top:16px;padding-bottom:16px}
@media(min-width:1440px){.page-header,.page-footer{padding-left:72px;padding-right:72px}.card-workspace{padding-left:72px;padding-right:72px}}
@media(max-width:1000px){.card-workspace{gap:32px;grid-template-columns:210px minmax(0,1fr);padding-top:55px;padding-bottom:60px}.wordmark span{display:none}}
@media(max-width:760px){.page-header{padding:18px 24px}.page-header nav{gap:18px}.card-workspace{display:flex;flex-direction:column;align-items:stretch;padding:36px 24px 44px;gap:34px}.card-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 24px}.eyebrow{grid-column:1/-1;margin-bottom:17px}h1{font-size:32px;grid-column:1/-1;grid-row:auto;margin-bottom:18px}.intro-copy{grid-column:1;font-size:12px;margin-bottom:0}.theme-options{grid-column:2;margin-bottom:0;align-self:end}.theme-options legend{font-size:11px}.theme-buttons{gap:8px}.theme-button{min-width:0;flex:1;padding:10px 7px;font-size:12px}.save-button{grid-column:1/-1;margin-top:23px;max-width:none}.export-note{grid-column:1/-1}.status{grid-column:1/-1;max-width:none}.retry-button{grid-column:1/-1;justify-self:start}.card-display{order:-1}.preview-topline{font-size:9px;margin-bottom:15px;letter-spacing:1.5px}.preview-caption{margin-top:15px;font-size:10px}.page-footer{padding:16px 24px;gap:8px;flex-wrap:wrap}.card-frame{box-shadow:0 20px 40px -22px #18382b48}.saved-result{margin-top:25px}}
@media(max-width:380px){.page-header{padding:14px 16px}.wordmark{font-size:16px;letter-spacing:1px}.page-header nav{gap:12px;font-size:12px}.card-workspace{padding:27px 16px 36px}.card-intro{column-gap:16px}h1{font-size:30px}.intro-copy{font-size:11px}.swatch{width:13px;height:13px}.theme-button{gap:5px}.page-footer{padding:12px 16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
