:root{color:#3e2e22;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--paper:#fffaf4;--paper-strong:#fffdf9;--ink:#3e2e22;--muted:#8e7762;--line:#60442f29;--display:"STKaiti", "KaiTi", "Songti SC", serif;font-family:Noto Serif SC,Source Han Serif SC,STSong,serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:2px solid #a1452594}#root{min-height:100vh}h1{font-family:var(--display);letter-spacing:.04em;color:var(--ink);font-size:clamp(2rem,4vw,3.6rem);line-height:1.1}h2{color:var(--ink);font-size:1.2rem;line-height:1.2}p{margin:0}.app-shell{min-height:100vh;padding:24px}.topbar{border:1px solid var(--line);border-radius:28px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;padding:24px 28px;display:flex;box-shadow:0 18px 50px #4d362114}.eyebrow,.section-heading__eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:12px}.topbar h1,.section-heading h2{margin:0}.topbar__actions{flex-wrap:wrap;gap:12px;display:flex}.primary-button,.chip{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:999px;padding:12px 18px;transition:transform .2s,border-color .2s,background .2s}.ghost-link{color:var(--ink);background:#ffffffb8;border:1px solid #6f4e371f;border-radius:999px;justify-content:center;align-items:center;padding:12px 18px;text-decoration:none;transition:transform .2s,border-color .2s,background .2s;display:inline-flex}.primary-button{color:#fffaf2;background:#a64d2d}.ghost-link:hover,.primary-button:hover,.chip:hover{transform:translateY(-1px)}.workspace{grid-template-columns:360px minmax(0,1fr);align-items:start;gap:24px;display:grid}.control-panel,.preview-column{gap:24px;display:grid}.panel-card{border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:28px;padding:24px;box-shadow:0 12px 40px #573d270f}.section-heading--row{justify-content:space-between;align-items:start;gap:16px;display:flex}.chip-row{flex-wrap:wrap;gap:12px;margin:8px 0 0;display:flex}.chip{color:var(--ink);background:#ffffffb8;border-color:#6f4e371f}.chip--active{color:#fffaf2;background:#c16b45}.field-grid{gap:16px;display:grid}.field{gap:8px;display:grid}.fieldset{border:0;margin:0;padding:0}.fieldset legend{color:var(--muted);margin-bottom:8px;padding:0;font-size:14px}.field span,.stats span,.checkbox-card span{color:var(--muted);font-size:14px}.field input,.field select{box-sizing:border-box;width:100%;color:var(--ink);font:inherit;background:#ffffffd1;border:1px solid #6f4e3729;border-radius:16px;padding:12px 14px}.field-inline{grid-template-columns:1fr auto;align-items:center;gap:12px;display:grid}.field-inline em{color:var(--muted);font-style:normal}.checkbox-list{gap:10px;display:grid}.checkbox-card{cursor:pointer;background:#ffffffb8;border:1px solid #6f4e3729;border-radius:16px;align-items:center;gap:12px;padding:12px 14px;display:flex}.checkbox-card input{accent-color:#9e4426;width:18px;height:18px}.stats{gap:16px;display:grid}.stats strong{color:var(--ink);margin-top:4px;font-weight:600;display:block}.status-ok{color:#2f6a3d}.status-warning{color:#a14426}.warning-note{color:#8a351d;background:#b0401b1a;border-radius:16px;padding:12px 14px;font-size:14px}.badge,.page-meta{color:#8a351d;border-radius:999px;align-items:center;padding:8px 12px;font-size:14px;display:inline-flex}.single-preview{border-radius:24px;place-items:center;min-height:320px;display:grid}.preview-cell,.sheet-cell{background-color:#fffcf7e6;position:relative;overflow:hidden}.guide-layer{pointer-events:none;position:absolute;inset:0}.preview-cell{aspect-ratio:1;--grid-strong:#9642268c;--grid-mid:#ad502f6b;--grid-soft:#ad502f61;--grid-light:#ad502f66;border:2px solid var(--grid-strong);width:min(280px,62vw);box-shadow:inset 0 0 0 10px #fff6}.preview-cell--black{--grid-strong:#1e1e1eb8;--grid-mid:#2424246b;--grid-soft:#24242457;--grid-light:#24242466}.preview-cell--red{--grid-strong:#9642268c;--grid-mid:#ad502f6b;--grid-soft:#ad502f61;--grid-light:#ad502f66}.preview-cell__label{font-family:var(--display);color:#432c1cb8;place-items:center;font-size:clamp(88px,16vw,132px);display:grid;position:absolute;inset:0}.guide-layer--cross:before,.guide-layer--cross:after,.guide-layer--inner-square:before,.guide-layer--inner-square:after,.guide-layer--nine-square:before,.guide-layer--nine-square:after,.guide-layer--well-circle:before,.guide-layer--well-circle:after,.guide-layer--diagonal:before,.guide-layer--diagonal:after{content:"";position:absolute}.preview-cell .guide-layer--cross:before{border-top:1px dashed var(--grid-light);width:100%;top:50%;left:0}.preview-cell .guide-layer--cross:after{border-left:1px dashed var(--grid-light);height:100%;top:0;left:50%}.preview-cell .guide-layer--diagonal:before{background:linear-gradient(45deg, transparent 49.4%, var(--grid-light) 49.6%, var(--grid-light) 50.4%, transparent 50.6%);inset:0}.preview-cell .guide-layer--diagonal:after{background:linear-gradient(-45deg, transparent 49.4%, var(--grid-light) 49.6%, var(--grid-light) 50.4%, transparent 50.6%);inset:0}.preview-cell .guide-layer--inner-square:before{border:1px solid var(--grid-light);inset:22%}.preview-cell .guide-layer--inner-square:after{background:linear-gradient(var(--grid-soft), var(--grid-soft)) center / 1px 100% no-repeat, linear-gradient(90deg, var(--grid-soft), var(--grid-soft)) center / 100% 1px no-repeat;inset:0}.preview-cell .guide-layer--nine-square:before{background:linear-gradient(90deg, transparent 33.1%, var(--grid-mid) 33.3%, var(--grid-mid) 33.7%, transparent 33.9%), linear-gradient(90deg, transparent 66.1%, var(--grid-mid) 66.3%, var(--grid-mid) 66.7%, transparent 66.9%), linear-gradient(transparent 33.1%, var(--grid-mid) 33.3%, var(--grid-mid) 33.7%, transparent 33.9%), linear-gradient(transparent 66.1%, var(--grid-mid) 66.3%, var(--grid-mid) 66.7%, transparent 66.9%);inset:0}.preview-cell .guide-layer--well-circle:before{background:linear-gradient(90deg, transparent 33.1%, var(--grid-soft) 33.3%, var(--grid-soft) 33.7%, transparent 33.9%), linear-gradient(90deg, transparent 66.1%, var(--grid-soft) 66.3%, var(--grid-soft) 66.7%, transparent 66.9%), linear-gradient(transparent 33.1%, var(--grid-soft) 33.3%, var(--grid-soft) 33.7%, transparent 33.9%), linear-gradient(transparent 66.1%, var(--grid-soft) 66.3%, var(--grid-soft) 66.7%, transparent 66.9%);inset:0}.preview-cell .guide-layer--well-circle:after{border:1px solid var(--grid-mid);border-radius:50%;inset:6%}.page-preview-card{min-height:0}.page-preview{place-items:center;padding:12px 0 0;display:grid}.sheet{aspect-ratio:210/297;background:#fffffff7;border-radius:18px;width:min(100%,560px);position:relative}.sheet-grid{box-sizing:border-box;gap:0;width:100%;height:100%;display:grid;position:absolute}.sheet-cell{--grid-strong:#b65f3d57;--grid-mid:#ad502f3d;--grid-soft:#ad502f3d;--grid-light:#ad502f47;border:1px solid var(--grid-strong)}.sheet-cell--black{--grid-strong:#1e1e1e85;--grid-mid:#24242447;--grid-soft:#2424243d;--grid-light:#24242457}.sheet-cell--red{--grid-strong:#b65f3d57;--grid-mid:#ad502f3d;--grid-soft:#ad502f3d;--grid-light:#ad502f47}.sheet-grid--overflow .sheet-cell{border-color:#a8302585}.overflow-mask{color:#fff7ef;z-index:2;background:#a14426e6;border-radius:999px;padding:8px 12px;font-size:13px;position:absolute;inset:auto 12px 12px auto}.sheet-cell .guide-layer--cross:before{border-top:1px dashed var(--grid-light);width:100%;top:50%;left:0}.sheet-cell .guide-layer--cross:after{border-left:1px dashed var(--grid-light);height:100%;top:0;left:50%}.sheet-cell .guide-layer--diagonal:before{background:linear-gradient(45deg, transparent 49.4%, var(--grid-mid) 49.6%, var(--grid-mid) 50.4%, transparent 50.6%);inset:0}.sheet-cell .guide-layer--diagonal:after{background:linear-gradient(-45deg, transparent 49.4%, var(--grid-mid) 49.6%, var(--grid-mid) 50.4%, transparent 50.6%);inset:0}.sheet-cell .guide-layer--inner-square:before{border:1px solid var(--grid-light);inset:22%}.sheet-cell .guide-layer--inner-square:after{background:linear-gradient(var(--grid-soft), var(--grid-soft)) center / 1px 100% no-repeat, linear-gradient(90deg, var(--grid-soft), var(--grid-soft)) center / 100% 1px no-repeat;inset:0}.sheet-cell .guide-layer--nine-square:before,.sheet-cell .guide-layer--well-circle:before{background:linear-gradient(90deg, transparent 33.1%, var(--grid-mid) 33.3%, var(--grid-mid) 33.7%, transparent 33.9%), linear-gradient(90deg, transparent 66.1%, var(--grid-mid) 66.3%, var(--grid-mid) 66.7%, transparent 66.9%), linear-gradient(transparent 33.1%, var(--grid-mid) 33.3%, var(--grid-mid) 33.7%, transparent 33.9%), linear-gradient(transparent 66.1%, var(--grid-mid) 66.3%, var(--grid-mid) 66.7%, transparent 66.9%);inset:0}.sheet-cell .guide-layer--well-circle:after{border:1px solid var(--grid-mid);border-radius:50%;inset:6%}@media (width<=1080px){.workspace{grid-template-columns:1fr}}@media (width<=720px){.app-shell{padding:14px}.topbar,.panel-card{border-radius:22px;padding:18px}.topbar{flex-direction:column;align-items:start}.section-heading--row{flex-direction:column}}
