:root{--ink:#27251f;--muted:#766f64;--paper:#fbf7ee;--line:#e5d8bd;--red:#a6402c;--red-dark:#7e2c20;--teal:#245d58;--gold:#b88737;--soft:#f2e8d3;font-family:"Noto Serif SC","Songti SC",serif;color:var(--ink);background:#e9dfca}
*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(#fff7 1px,transparent 1px),#e9dfca;background-size:14px 14px}button,select{font:inherit}button{cursor:pointer}.page-shell{width:min(1180px,calc(100% - 32px));margin:0 auto}.site-header{display:flex;justify-content:space-between;align-items:center;padding:22px 0}.brand{color:var(--red-dark);font-size:20px;font-weight:800;text-decoration:none;letter-spacing:.06em}.brand span{margin-left:12px;color:var(--muted);font-size:12px;font-weight:400;letter-spacing:.02em}.header-actions{display:flex;align-items:center;gap:14px}.privacy-note{color:var(--muted);font-size:12px}.ghost-button{padding:7px 11px;color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:999px}.article-hero{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;padding:48px 48px 42px;color:#fff9ed;background:linear-gradient(125deg,#8c3325,#b95032);border-radius:18px;box-shadow:0 14px 35px #70401e2b}.eyebrow{margin:0 0 8px;color:var(--gold);font-size:12px;font-weight:800;letter-spacing:.16em}.article-hero .eyebrow{color:#f7d79a}.hero-copy{max-width:700px}.hero-copy h1{margin:0 0 12px;font-size:clamp(40px,7vw,72px);letter-spacing:.1em}.lead{max-width:620px;margin:0;color:#ffe8c7;font-size:17px;line-height:1.8}.hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.hero-tags span,.video-meta span{padding:6px 10px;border:1px solid #f7dbab66;border-radius:999px;color:#ffeaca;font-size:12px}.progress-card{display:flex;align-items:center;gap:14px;min-width:210px;padding:16px;background:#57251d4a;border:1px solid #f6d9a466;border-radius:12px}.progress-card p{margin:5px 0 0;color:#f9dcb1;font-size:12px}.progress-ring{display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:conic-gradient(#f7d28b var(--progress,0%),#ffffff2b 0);position:relative}.progress-ring:after{content:"";position:absolute;inset:6px;border-radius:50%;background:#8f3528}.progress-ring strong{position:relative;z-index:1;font-family:ui-sans-serif,sans-serif;font-size:15px}.context-strip{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:18px 0;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}.context-strip>div{display:flex;gap:14px;padding:16px 20px;background:#fffaf0}.context-strip b{color:var(--red);white-space:nowrap;font-size:13px}.context-strip span{color:var(--muted);font-size:13px;line-height:1.6}.content-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.85fr);gap:18px}.reading-card,.video-card,.detail-card,.method-card{background:#fffaf0e8;border:1px solid var(--line);box-shadow:0 8px 20px #72531d12;border-radius:12px}.reading-card{padding:25px}.section-heading,.detail-title{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.section-heading h2,.detail-title h2,.method-card h2{margin:0;font-size:25px}.read-controls{display:flex;align-items:center;gap:10px}.primary-button,.understand-button{padding:10px 13px;color:#fff9ee;background:var(--teal);border:0;border-radius:7px}.read-controls label{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:12px}.read-controls select{padding:6px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:#fff}.sentence-list{display:grid;gap:10px;margin-top:24px}.sentence{display:grid;grid-template-columns:34px 1fr auto;gap:13px;align-items:center;padding:16px;border:1px solid #eadfc9;border-radius:9px;background:#fffdf8;text-align:left;color:inherit;transition:.18s}.sentence:hover,.sentence:focus-visible{border-color:var(--gold);transform:translateY(-1px);outline:0}.sentence.active{border-color:var(--red);background:#fff4e6;box-shadow:0 5px 13px #ae2b1f16}.sentence.done .check{color:var(--teal);background:#dcece6}.sentence-no{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--soft);color:var(--red);font-family:ui-sans-serif,sans-serif;font-size:12px;font-weight:700}.sentence-text{font-size:21px;line-height:1.6}.sentence-hint{margin-top:3px;color:var(--muted);font-size:12px}.check{padding:5px 7px;color:#a99882;background:#f4eee2;border-radius:999px;font-size:11px;white-space:nowrap}.reading-tip{margin-top:15px;color:var(--muted);font-size:12px;line-height:1.7}.lesson-rail{display:grid;gap:18px;align-content:start}.video-card{overflow:hidden}.video-placeholder{display:grid;place-items:center;gap:8px;min-height:205px;padding:25px;text-align:center;color:#f9e3bc;background:linear-gradient(135deg,#324d49,#1d3935)}.video-icon{display:grid;place-items:center;width:52px;height:52px;border:1px solid #f5d596;border-radius:50%;font-size:20px}.video-placeholder small{max-width:210px;color:#c6d3c7;font-size:12px;line-height:1.6}.video-meta{display:flex;justify-content:space-between;padding:12px 14px;background:#244c48;color:#d9e7db}.video-meta span{padding:0;border:0;color:#cfe0d2}.detail-card{padding:22px}.detail-title h2{font-size:21px}.sentence-index{color:var(--red);font-family:ui-sans-serif,sans-serif;font-size:13px}.tabs{display:flex;gap:3px;margin-top:19px;border-bottom:1px solid var(--line)}.tab{padding:9px 11px;color:var(--muted);background:transparent;border:0;border-bottom:2px solid transparent;font-size:13px}.tab.active{color:var(--red);border-bottom-color:var(--red);font-weight:700}.detail-panel{min-height:176px;padding:17px 2px;color:var(--muted);font-size:14px;line-height:1.8}.detail-panel h3{margin:0 0 7px;color:var(--ink);font-size:16px}.detail-panel p{margin:0 0 10px}.detail-panel ul{margin:0;padding-left:19px}.understand-button{width:100%;background:var(--red)}.understand-button:disabled{color:#a9a092;background:#e9e1d3;cursor:not-allowed}.method-card{display:grid;grid-template-columns:260px 1fr;gap:20px;margin-top:18px;padding:24px}.method-card ol{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;padding:0;margin:0;list-style:none;counter-reset:method}.method-card li{padding:14px;background:#f7efdf;border-radius:8px;counter-increment:method}.method-card li:before{content:"0" counter(method);display:block;margin-bottom:10px;color:var(--red);font-family:ui-sans-serif,sans-serif;font-size:12px;font-weight:700}.method-card b{display:block;margin-bottom:5px}.method-card span{color:var(--muted);font-size:12px;line-height:1.6}footer{padding:24px 0 35px;color:var(--muted);font-size:12px;text-align:center}@media(max-width:820px){.article-hero{display:grid;padding:32px 25px 25px}.progress-card{min-width:0}.content-grid{grid-template-columns:1fr}.lesson-rail{grid-template-columns:1fr 1fr}.method-card{grid-template-columns:1fr}.method-card ol{grid-template-columns:1fr 1fr 1fr}}@media(max-width:590px){.page-shell{width:min(100% - 18px,540px)}.site-header{align-items:flex-start}.brand{font-size:17px}.brand span,.privacy-note{display:none}.context-strip,.lesson-rail{grid-template-columns:1fr}.article-hero{border-radius:12px}.hero-copy h1{font-size:47px}.reading-card{padding:18px}.section-heading{display:grid}.read-controls{justify-content:space-between}.sentence{grid-template-columns:28px 1fr}.sentence-text{font-size:18px}.check{grid-column:2}.method-card ol{grid-template-columns:1fr}.method-card h2{font-size:22px}}

.library-hero{padding:48px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(125deg,#fffaf0,#f4e7ca);box-shadow:0 10px 25px #72531d12}.library-hero h1{margin:0 0 12px;color:var(--red-dark);font-size:clamp(34px,6vw,58px);letter-spacing:.06em}.library-hero p:last-child{max-width:650px;margin:0;color:var(--muted);font-size:16px;line-height:1.8}.library-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:20px 0 16px}.library-search{display:flex;flex:1;gap:8px;align-items:center;max-width:620px;padding:12px 14px;color:var(--muted);background:#fffaf0;border:1px solid var(--line);border-radius:8px}.library-search input{width:100%;border:0;outline:0;color:var(--ink);background:transparent}.library-count{color:var(--muted);font-size:13px;white-space:nowrap}.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.article-tile{display:block;padding:20px;color:inherit;text-decoration:none;background:#fffaf0e8;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 20px #72531d12;transition:.18s}.article-tile:hover,.article-tile:focus-visible{border-color:var(--gold);transform:translateY(-2px);outline:0}.article-tile-top{display:flex;justify-content:space-between;align-items:center}.article-era{color:var(--red);font-size:12px;font-weight:700}.article-status{padding:4px 7px;color:var(--teal);background:#dcece6;border-radius:999px;font-size:11px}.article-tile h2{margin:21px 0 5px;font-size:24px}.article-source{margin:0 0 14px;color:var(--muted);font-size:12px}.article-tile p:not(.article-source){min-height:44px;margin:0;color:var(--muted);font-size:13px;line-height:1.7}.article-link{display:block;margin-top:18px;color:var(--red);font-size:13px;font-weight:700}@media(max-width:820px){.article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:590px){.library-hero{padding:30px 22px}.library-toolbar{display:grid}.library-search{max-width:none}.article-grid{grid-template-columns:1fr}}

.secondary-button{padding:9px 11px;color:var(--teal);background:#dcece6;border:1px solid #b8d3ca;border-radius:7px}.sentence-visual{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(180px,.75fr);gap:18px;align-items:center;margin-top:22px;padding:12px;background:#f6eddb;border:1px solid var(--line);border-radius:10px}.visual-art{overflow:hidden;border-radius:8px;background:#f4e7ca}.visual-art img{display:block;width:100%;height:auto}.visual-caption{padding:6px 6px 6px 0}.visual-caption .eyebrow{margin-bottom:10px}.visual-caption strong{display:block;color:var(--red-dark);font-size:20px;line-height:1.6}.visual-caption p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.7}.sentence.active .sentence-text{color:var(--red-dark)}@media(max-width:590px){.sentence-visual{grid-template-columns:1fr}.visual-caption{padding:4px 5px 10px}.visual-caption strong{font-size:18px}.read-controls{flex-wrap:wrap}.secondary-button{flex:1}}
