:root{color:#1d2433;background:#eef1f6;font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;font-weight:400;line-height:1.4}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-height:100vh}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:360px minmax(0,1fr);gap:24px;min-height:100vh;padding:24px;display:grid}.control-panel{background:#fff;border:1px solid #d8dee8;border-radius:8px;align-self:start;padding:20px;position:sticky;top:24px}.panel-block+.panel-block{border-top:1px solid #edf0f4;margin-top:18px;padding-top:18px}.control-panel h1{margin:0;font-size:28px;line-height:1.1}.panel-kicker{color:#7c2d12;letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:700}.panel-title{margin:0;font-size:28px;line-height:1.1}.panel-text,.field-hint,.status-text,.sheet-header p{color:#5d6472;margin:8px 0 0;font-size:14px}.field-label{color:#313846;margin-bottom:10px;font-size:14px;font-weight:700;display:block}textarea,input{color:#151a23;background:#fff;border:1px solid #c9d1dd;border-radius:6px;width:100%;padding:11px 12px}textarea{resize:vertical;min-height:132px}.segmented-control{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.segmented-control button,.color-chip,.primary-button,.secondary-button{color:#1d2433;background:#fff;border:1px solid #c9d1dd;border-radius:6px;padding:10px 12px}.segmented-control button.is-active,.color-chip.is-active{background:#f4f6fa;border-color:#1d2433}.color-row{gap:8px;display:flex}.color-chip{align-items:center;gap:8px;display:inline-flex}.color-chip span{border-radius:999px;width:14px;height:14px;display:inline-block}.check-row{color:#313846;align-items:center;gap:10px;display:flex}.check-row+.check-row{margin-top:12px}.check-row input{width:16px;height:16px;margin:0}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.stats-grid div{background:#f5f7fb;border:1px solid #e2e7ef;border-radius:6px;padding:12px}.stats-grid strong{font-size:24px;display:block}.stats-grid span{color:#5d6472;margin-top:6px;font-size:13px;display:block}.action-row{gap:10px;display:flex}.primary-button,.secondary-button{flex:1;min-height:44px}.primary-button{color:#fff;background:#1d2433;border-color:#1d2433}.warning-text{color:#9f4f07}.preview-panel{flex-direction:column;gap:20px;display:flex}.sheet-preview{flex-direction:column;align-items:center;gap:20px;padding-bottom:4px;display:flex;overflow-x:auto}.seo-intro,.seo-section{background:#fff;border:1px solid #d8dee8;border-radius:8px;padding:24px}.seo-intro h1,.seo-section h2,.faq-item h3{color:#111827;margin:0}.seo-intro h1,.seo-section h2{font-size:28px;line-height:1.15}.seo-intro p,.seo-section p,.seo-list{color:#4b5563;margin:12px 0 0;font-size:15px;line-height:1.75}.eyebrow{color:#7c2d12;letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px;font-size:12px;font-weight:700}.seo-list{padding-left:20px}.faq-list{gap:16px;margin-top:12px;display:grid}.faq-item{border-bottom:1px solid #edf0f4;padding-bottom:16px}.faq-item:last-child{border-bottom:0;padding-bottom:0}.faq-item p{margin-top:8px}.sheet-page{background:#fff;border:1px solid #d8dee8;border-radius:6px;width:210mm;min-height:297mm;margin:0 auto;padding:10mm 11mm 12mm;box-shadow:0 12px 28px #10162214}.sheet-header{justify-content:space-between;align-items:flex-start;gap:12px;min-height:22mm;padding-bottom:6mm;display:flex}.sheet-header h2{margin:0;font-size:24px;line-height:1.1}.page-meta{color:#5d6472;white-space:nowrap;padding-top:2px;font-size:14px}.sheet-grid{grid-template-columns:repeat(12,14.7mm);justify-content:center;gap:1.2mm .8mm;display:grid}.practice-cell{aspect-ratio:1;width:14.7mm;position:relative;overflow:hidden}.grid-guide,.char-svg{width:100%;height:100%;position:absolute;inset:0}.grid-outer,.grid-helper{fill:none;stroke-width:1.35px}.cell-pinyin{text-align:center;color:inherit;z-index:1;font-size:2.8mm;font-weight:700;position:absolute;inset:1.3mm 1mm auto}.fallback-char{place-items:center;font-family:Kaiti SC,KaiTi,serif;font-size:11mm;line-height:1;display:grid;position:absolute;inset:0}.is-blank .char-svg,.is-blank .fallback-char,.is-blank .cell-pinyin{display:none}@media (width<=1200px){.app-shell{grid-template-columns:1fr}.control-panel{position:static}.seo-intro,.seo-section{padding:20px}.seo-intro h1,.seo-section h2{font-size:24px}}@media print{@page{size:A4 portrait;margin:0}body{background:#fff}.app-shell{padding:0;display:block}.control-panel{display:none}.preview-panel{display:block}.sheet-preview{padding-bottom:0;display:block;overflow:visible}.seo-intro,.seo-section{display:none}.sheet-page{width:210mm;min-height:297mm;box-shadow:none;page-break-after:always;border:0;border-radius:0;margin:0;padding:10mm 11mm 12mm}.sheet-page:last-child{page-break-after:auto}}
