:root{color:#2d2b28;--paper:#fffdf8;--paper-edge:#eadfbe;--accent:#d88b08;--muted:#6f685b;--line:#dfd2ac;--shadow:0 20px 55px #5d4d231f;background:linear-gradient(#ece7de 0%,#f6f3ed 100%);font-family:Noto Sans SC,"Source Sans 3",sans-serif;line-height:1.45}*{box-sizing:border-box}body{min-width:320px;margin:0}button{font:inherit;cursor:pointer}#root{min-height:100vh}.app-shell{width:min(1460px,100vw - 24px);margin:0 auto;padding:18px 0 28px}.hero-panel,.sidebar-card,.preview-stage{background:var(--paper);border:1px solid var(--paper-edge);box-shadow:var(--shadow)}.hero-panel{border-radius:18px;padding:18px 22px}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.18em;margin:0 0 6px;font-size:.74rem;font-weight:700}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Bricolage Grotesque,Noto Sans SC,sans-serif}h1{font-size:clamp(2rem,4vw,3.8rem)}.subtitle,.preview-note{color:var(--muted);margin-top:10px}.preview-layout{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:18px;margin-top:18px;display:grid}.sidebar-card,.preview-stage{border-radius:18px;padding:16px}.page-list{gap:10px;display:grid}.page-item{text-align:left;border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px}.page-item strong,.page-item span,.page-item small{display:block}.page-item span{margin-top:4px;font-weight:700}.page-item small{color:var(--muted);margin-top:4px}.page-item.is-active{border-color:var(--accent);background:linear-gradient(#fff2cf,#fffdfa)}.paper-frame{border:1px solid var(--line);background:#fdfbf5;border-radius:16px;margin-top:14px;padding:18px}.page-render .page{background:#fffefb;border:1px solid #e6dbb9;border-radius:14px;padding:22px}.page-render .unit-header,.page-render .passport-block,.page-render .dialogue-block,.page-render .grammar-note,.page-render .exercise,.page-render .text-block,.page-render .table-block,.page-render .two-column-group{margin-top:16px}.page-render .unit-header{background:linear-gradient(#fff4d3,#fffdf8);border:1px solid #e0c36f;border-radius:12px;margin-top:0;padding:14px 16px}.page-render .unit-header .unit-chinese{color:var(--muted);margin-top:6px}.page-render .passport-block,.page-render .dialogue-block,.page-render .exercise,.page-render .text-block,.page-render .table-block,.page-render .grammar-note{background:#fffdfa;border:1px solid #eadfbf;border-radius:12px;padding:14px}.page-render .passport-block{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.page-render .passport-title,.page-render .dialogue-title,.page-render .exercise-title,.page-render .text-block h2,.page-render .grammar-title{grid-column:1/-1;margin-bottom:8px}.page-render .passport-fields{grid-template-columns:140px 1fr;gap:6px 10px;display:grid}.page-render .passport-fields dt{font-weight:700}.page-render .dialogue{gap:8px;display:grid}.page-render .dialogue-line{background:#fff;border:1px solid #eadfbf;border-radius:10px;padding:8px 10px}.page-render .speaker{font-weight:700}.page-render .grammar-content,.page-render .exercise-list{margin-top:8px}.page-render .verb-conjugation{background:#fff;border:1px solid #eadfbf;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;margin:10px 0;padding:10px;display:grid}.page-render table{border-collapse:collapse;background:#fff;width:100%}.page-render th,.page-render td{text-align:left;border:1px solid #e3d6af;padding:8px 10px}.page-render th{background:#fff0c7}.page-render .two-column-group{grid-template-columns:minmax(0,1fr) 220px;gap:12px;display:grid}@media (width<=980px){.preview-layout{grid-template-columns:1fr}}@media (width<=720px){.app-shell{width:calc(100vw - 12px);padding-top:8px}.page-render .passport-block,.page-render .two-column-group,.page-render .verb-conjugation{grid-template-columns:1fr}}
