@font-face{font-family:Bodoni;src:url('./assets/bodoni.woff2') format('woff2');font-display:swap}
:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Noto Sans SC",sans-serif;color:#202123;background:#f6f6f5;font-synthesis:none;-webkit-font-smoothing:antialiased;--ink:#202123;--muted:#696b70;--line:#e5e5e3;--soft:#f6f6f5;--focus:#5b5d60;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent}body{margin:0;min-width:0}button,input,select{font:inherit}button{cursor:pointer}svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}a{color:inherit}button,input,select,summary,a{outline-offset:3px}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid var(--focus)}::selection{background:#d5d5d2;color:#111}
.site-head{height:68px;padding:0 max(28px,calc((100vw - 1320px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e9e9e7}.site-identity{display:flex;align-items:center;gap:19px;min-width:0}.brand{font:italic 36px/.9 Bodoni,Georgia,serif;letter-spacing:-.03em;color:#131313}.header-divider{height:20px;width:1px;background:#dededc}.site-name{font-size:14px;font-weight:600;white-space:nowrap}.site-back{display:inline-flex;align-items:center;gap:7px;color:#6a6b6d;text-decoration:none;font-size:13px;min-height:44px}.site-back svg{width:14px;height:14px}
.page{width:min(1320px,100%);margin:0 auto;padding:38px 28px 72px}.page-intro{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:28px}.path{display:flex;align-items:center;gap:7px;color:#66676a;font-size:12px;font-weight:500;margin-bottom:14px}.path svg{width:12px;height:12px}.path span:last-child{color:#414245}h1,h2,h3,p{margin:0}h1{font-size:26px;font-weight:650;letter-spacing:-.025em;line-height:1.3}.page-intro p{margin-top:7px;color:#66676a;font-size:13px;line-height:1.5}.template-picker{display:flex;align-items:center;gap:12px;min-width:205px;padding:7px 10px 7px 7px;background:#fff;border:1px solid #ebebea;border-radius:12px}.template-thumb{width:38px;height:48px;overflow:hidden;border-radius:6px;background:#f1f1f1;flex:none}.template-thumb img{width:100%;height:100%;object-fit:cover}.template-picker strong,.template-picker small{display:block}.template-picker strong{font-size:12px;font-weight:650}.template-picker small{margin-top:4px;color:#6b6c6e;font-size:11px}.template-picker>svg{width:15px;height:15px;color:#98999a;margin-left:auto}
.workspace{display:grid;grid-template-columns:minmax(0,1fr) 355px;gap:18px;align-items:start}.preview,.editor{min-width:0;border:1px solid #e7e7e5;border-radius:16px;background:#fff;overflow:hidden}.section-bar{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:0 22px;border-bottom:1px solid #efefed}.section-label{display:flex;gap:9px;align-items:center}.live-dot{width:7px;height:7px;background:#55575a;border-radius:50%}.section-bar h2,.editor-heading h2{font-size:14px;font-weight:650;line-height:1.35}.format{font-size:11px;color:#6b6c6e;font-variant-numeric:tabular-nums;letter-spacing:.02em}.format span{padding:0 3px}.canvas-stage{display:grid;place-items:center;min-height:600px;padding:38px 28px;background:#eeefed}.canvas-stage canvas{display:block;width:min(100%,460px);height:auto;aspect-ratio:3/4;background:#fff;box-shadow:0 10px 28px rgba(28,28,26,.11),0 2px 5px rgba(28,28,26,.05)}.preview-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:45px;padding:0 22px;color:#6b6c6e;font-size:11px;font-variant-numeric:tabular-nums}
.editor-heading{min-height:77px;padding:20px 20px 18px;display:flex;justify-content:space-between;gap:10px;align-items:flex-start;border-bottom:1px solid #efefed}.editor-heading p{margin-top:6px;color:#6d6e70;font-size:12px;line-height:1.5}.editor-heading>svg{width:18px;height:18px;color:#a5a5a4}.editor-content{padding:20px;display:grid;gap:22px}.control-group{display:grid;gap:11px}.group-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.group-heading h3{font-size:12px;font-weight:650}.group-heading>span{font-size:11px;color:#707173}.upload{position:relative;display:flex;align-items:center;gap:11px;min-height:70px;padding:10px 12px;background:#f7f7f6;border:1px solid #eeeeec;border-radius:10px;cursor:pointer}.upload:focus-within{outline:2px solid var(--focus);outline-offset:3px}.upload-icon{display:grid;place-items:center;flex:none;width:38px;height:38px;background:white;border:1px solid #eaeae8;border-radius:8px;color:#5a5b5d}.upload-icon svg{width:19px;height:19px}.upload-copy{min-width:0;flex:1}.upload-copy strong,.upload-copy small{display:block}.upload-copy strong{font-size:12px;font-weight:650}.upload-copy small{margin-top:4px;color:#696a6d;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-action{color:#5f6062;font-size:11px;font-weight:600}.upload input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.field{display:grid;gap:8px;color:#66676a;font-size:12px}.field input,.field select{height:43px;width:100%;min-width:0;padding:0 12px;border:1px solid #e5e5e3;border-radius:8px;background:#fafaf9;color:#242527;font-size:16px}.field input::placeholder{color:#8a8b8c}.field input:focus,.field select:focus{background:#fff;border-color:#929394}.settings{border-top:1px solid #eeeeec}.settings+.settings{margin-top:-22px}.settings summary{min-height:49px;display:flex;align-items:center;justify-content:space-between;gap:10px;list-style:none;cursor:pointer}.settings summary::-webkit-details-marker{display:none}.settings-label{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600}.settings-label svg{width:16px;height:16px;color:#868789}.chevron{width:15px;height:15px;color:#a0a1a2;transition:transform .18s var(--ease)}details[open] .chevron{transform:rotate(90deg)}.settings-content{display:grid;gap:16px;padding:0 0 19px}.range-field{display:grid;gap:8px;font-size:12px;color:#66676a}.range-field span{display:flex;justify-content:space-between;gap:12px}.range-field output{color:#77787a;font-size:11px;font-variant-numeric:tabular-nums}.range-field input{margin:0;width:100%;height:26px;accent-color:#292a2c;cursor:pointer}.actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.actions button{height:46px;border-radius:9px;font-size:13px;font-weight:600;transition:background-color .16s var(--ease),transform .12s var(--ease)}.primary{display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid #222;background:#242527;color:#fff}.primary svg{width:17px;height:17px}.secondary{padding:0 14px;background:#fff;border:1px solid #e5e5e3;color:#5d5e60}.status{margin-top:-10px;font-size:11px;line-height:1.6;color:#68696c}
@media(hover:hover) and (pointer:fine){.site-back:hover{color:#111}.upload:hover{background:#f1f1ef}.primary:hover{background:#424345}.secondary:hover{background:#f5f5f4}.settings summary:hover{color:#555}.actions button:active{transform:scale(.985)}}
@media(max-width:760px){.site-head{height:60px;padding:0 max(18px,env(safe-area-inset-right)) 0 max(18px,env(safe-area-inset-left))}.brand{font-size:32px}.site-identity{gap:12px}.site-name{font-size:13px}.site-back{font-size:12px}.page{padding:27px max(16px,env(safe-area-inset-right)) max(52px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.page-intro{margin-bottom:19px;align-items:flex-start;gap:10px}.path{margin-bottom:10px}.page-intro h1{font-size:23px}.page-intro p{font-size:12px;max-width:210px}.template-picker{min-width:0;gap:8px;padding:5px;border-radius:9px}.template-thumb{width:32px;height:40px}.template-picker strong{font-size:11px}.template-picker small{font-size:11px}.template-picker>svg{display:none}.workspace{grid-template-columns:minmax(0,1fr);gap:14px}.preview,.editor{border-radius:14px}.section-bar{min-height:50px;padding:0 16px}.canvas-stage{min-height:0;padding:21px 28px}.canvas-stage canvas{width:min(100%,360px);box-shadow:0 8px 20px rgba(28,28,26,.10)}.preview-foot{min-height:42px;padding:0 16px;font-size:11px}.editor-heading{min-height:70px;padding:17px 17px 15px}.editor-content{padding:18px;gap:20px}.settings+.settings{margin-top:-20px}.field input,.field select{font-size:16px}.actions button{height:48px}.status{font-size:12px}}
@media(max-width:350px){.template-picker small{display:none}.template-picker{gap:6px}.template-thumb{width:28px;height:36px}.page-intro p{max-width:170px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
