:root{font-family:Times New Roman,Songti SC,"Noto Serif SC",SimSun,serif;font-size:16px;font-weight:400;font-synthesis:none;color:#222220;background:#f6f3ee;-webkit-font-smoothing:antialiased;--ink: #222220;--muted: #77736e;--line: #ddd6cc;--border: #e4ddd3;--panel: #ffffff30;--field: #ffffff10}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit;color:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:not-allowed}[hidden]{display:none!important}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #8a8175;outline-offset:5px}.icon{width:28px;height:28px;display:inline-flex;flex-shrink:0}.icon svg{display:block;width:100%;height:100%;fill:currentColor}.page-background{position:fixed;inset:0;z-index:-1;pointer-events:none;background-position:center center;background-size:cover;background-repeat:no-repeat;opacity:.46}.header{max-width:1394px;height:81px;margin:0 auto;padding:0 19px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:25px}.brand-icon{width:28px;height:28px}.brand-name{font-size:1.9rem;letter-spacing:1px}.brand-en{padding-left:23px;border-left:1px solid #cfc7bd;font-size:1.2rem;line-height:24px}.header-right{display:flex;align-items:center;gap:34px}.header-motto{font-size:1rem;letter-spacing:1px}.header-motto>span{margin-left:24px;padding-left:24px;border-left:1px solid #d3cbc0}.theme-toggle{display:grid;place-items:center;width:43px;height:43px;padding:8px;border-radius:50%;border:1px solid var(--line);background:transparent}.theme-toggle .icon{width:27px;height:27px}main{max-width:1345px;margin:0 auto;padding:48px 0 100px}.workspace{display:grid;grid-template-columns:1.137fr 1fr;min-height:518px;background:var(--panel);border:1px solid var(--border);border-radius:18px;box-shadow:0 18px 40px #61554808;overflow:hidden}.editor{padding:77px 44px 60px 46px;min-width:0}.rule-label{display:flex;align-items:center;gap:21px;font-size:1.375rem;line-height:1.5}.rule-label:after{content:"";flex:1;height:1px;background:var(--line)}.input-label{margin-bottom:12px}.input-wrap{display:flex;align-items:center;gap:28px;border:1px solid #c8c2bb;border-radius:10px;background:var(--field);padding:0 22px;transition:border-color .2s,box-shadow .2s}.input-wrap:focus-within{border-color:#8a8175;box-shadow:0 0 0 3px #9689760b}.input-wrap>.icon{color:#716d69;width:28px;height:28px}.input-wrap input{width:100%;min-width:0;height:71px;border:0;outline:none;background:transparent;font-size:1.375rem;padding:0}.input-wrap input:focus-visible{outline:none}.input-wrap input::placeholder{color:#99938d;opacity:1}.input-wrap:has([aria-invalid=true]){border-color:#a75a4a}.clear-button{border:0;background:transparent;padding:4px;display:flex;color:#777}.clear-button .icon{width:19px;height:19px}.input-error{margin:8px 0 0;color:#a1483b;font-size:.875rem}.separator{height:1px;background:var(--line);margin:49px 0 42px}.settings{display:grid;grid-template-columns:1fr 1fr;gap:40px}.color-setting{border:0;margin:0;padding:0;min-width:0}.color-setting legend{font-size:1.375rem;padding:0;margin-bottom:25px;line-height:1.5}.swatches{display:flex;gap:15px}.swatch{width:44px;height:44px;display:block;position:relative;cursor:pointer}.swatch input{width:100%;height:100%;position:absolute;z-index:1;opacity:0;cursor:pointer;margin:0}.swatch>span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--swatch);pointer-events:none;box-shadow:inset 0 0 0 1px #22222208}.swatch .icon{width:24px;height:24px;color:#fff;opacity:0}.swatch:has(input:checked)>span{outline:1.5px solid var(--ink);outline-offset:4px}.swatch input:checked+span .icon{opacity:1}.swatch input:focus-visible+span{outline:2px solid var(--ink);outline-offset:5px}.size-setting{min-width:0}.size-setting>label{margin-bottom:17px}.select-wrap{position:relative}.select-wrap .icon{position:absolute;pointer-events:none;right:17px;top:19px;width:22px;height:22px}.size-setting select{appearance:none;width:100%;height:63px;padding:0 42px 0 21px;font-size:1.25rem;border:1px solid #c8c2bb;border-radius:10px;background:var(--field);cursor:pointer}.preview-panel{border-left:1px solid var(--border);padding:34px 33px;min-width:0}.preview-heading{margin:0 10px}.qr-stage{height:345px;display:grid;place-items:center;padding-top:12px}.qr-card{width:270px;height:270px;background:#fcfaf7;border-radius:20px;transform:translate(9px,-10px) rotate(-2.3deg);box-shadow:-12px 22px 38px #51453624;display:grid;place-items:center;padding:17px}.qr-card:has(img:not([hidden])){transform:rotate(0);background:#fff}.qr-card img{width:100%;height:100%;display:block}.empty-scan{width:85px;height:85px;border-radius:17px;display:grid;place-items:center;background:#e9e5de6b}.empty-scan .icon{width:48px;height:48px;color:#575550}.download-actions{display:grid;grid-template-columns:1.83fr 1fr;gap:20px;margin-top:0}.download-actions button{height:71px;border-radius:10px;font-size:1.5rem;display:flex;align-items:center;justify-content:center;gap:21px;transition:background .2s}.download-primary{color:#fff;background:#292929;border:1px solid #202020}.download-primary:hover:not(:disabled){background:#42413e}.download-secondary{background:transparent;color:var(--ink);border:1px solid #aaa39b}.download-secondary:hover:not(:disabled){background:#8d807713}.download-actions button:disabled{opacity:1}.download-actions .icon{width:25px;height:25px}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);background:#292929;color:#fff;border-radius:10px;padding:13px 22px;font-size:1rem;z-index:10}:root[data-theme=dark]{background:#21211f;color:#e7e0d5;--ink: #e7e0d5;--muted: #b2a99b;--line: #575147;--border: #514b42;--panel: #292925aa;--field: #29292566}[data-theme=dark] .page-background{filter:brightness(.25);opacity:.6}[data-theme=dark] .input-wrap,[data-theme=dark] select{border-color:#7a7063}[data-theme=dark] .download-primary{background:#e7e0d5;color:#292929}[data-theme=dark] select option{background:#292925}@media(max-width:1460px){.header{margin:0 5.4%}main{margin:0 7.8%}.editor{padding:65px 35px 50px}.settings{gap:28px}.swatches{gap:12px}.swatch,.swatch>span{width:36px;height:36px}.rule-label,.color-setting legend{font-size:1.25rem}.input-wrap{gap:18px;padding:0 17px}.input-wrap input{font-size:1.125rem}.preview-panel{padding:34px 27px}.download-actions{gap:16px}.download-actions button{font-size:1.3rem;gap:14px}}@media(max-width:1100px){main{padding-top:44px;margin:0 6%}.workspace{min-height:430px}.editor{padding:45px 26px}.settings{grid-template-columns:1fr;gap:26px}.color-setting legend{margin-bottom:15px}.separator{margin:30px 0}.preview-panel{padding:28px 22px}.qr-stage{height:322px}.qr-card{width:235px;height:235px}.download-actions button{height:56px;font-size:1.125rem;gap:8px}.download-actions .icon{width:20px;height:20px}}@media(max-width:650px){.header{height:74px;margin:0 20px;padding:0 2px}.brand{gap:12px}.brand-icon{width:23px;height:23px}.brand-name{font-size:1.5rem}.brand-en{font-size:.95rem;padding-left:13px;line-height:20px}.header-motto{display:none}.theme-toggle{width:35px;height:35px;padding:6px}main{margin:0 20px;padding:31px 0 45px}.workspace{grid-template-columns:1fr;border-radius:15px}.editor{padding:28px 22px}.rule-label,.color-setting legend{font-size:1.125rem}.input-wrap{gap:10px;padding:0 12px}.input-wrap input{font-size:.95rem;height:56px}.input-wrap>.icon{width:22px;height:22px}.separator{margin:28px 0}.settings{grid-template-columns:1fr;gap:25px}.swatches{gap:17px}.swatch,.swatch>span{width:36px;height:36px}.size-setting>label{margin-bottom:13px}.size-setting select{height:53px;padding-left:15px;font-size:1.125rem}.select-wrap .icon{top:16px;width:20px;height:20px}.preview-panel{border-left:0;border-top:1px solid var(--border);padding:24px 22px}.preview-heading{margin:0}.qr-stage{height:288px;padding-top:0}.qr-card{width:225px;height:225px}.download-actions{grid-template-columns:1.55fr 1fr;gap:12px}.page-background{background-position:60% bottom}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}
