@charset "UTF-8";
:root{color-scheme:dark;--ink:#081110;--paper:#f1e9d8;--muted:#b2b9b3;--accent:#d8b57b;--line:#ffffff24;font-family:"Microsoft YaHei","PingFang SC",sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--paper)}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:1px solid var(--line);background:#ffffff07;border-radius:6px;padding:10px 14px;transition:background .2s,border-color .2s}button:hover{background:#ffffff13;border-color:var(--accent)}button:disabled{cursor:default;opacity:.35}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:4px}a{color:var(--accent);text-underline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3,.serif{font-family:"STSong","Songti SC","SimSun",serif;font-weight:400}[hidden]{display:none!important}.muted{color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:.22em;color:var(--accent)}.seal{display:inline-grid;place-items:center;width:34px;height:38px;background:#813e30;color:#ead4b1;border:1px solid #bc7660;font-family:serif;font-size:16px}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:14px;white-space:nowrap}.brand strong{font-size:14px;letter-spacing:.18em;font-weight:400}.brand small{display:block;font-size:10px;letter-spacing:.15em;color:var(--muted);margin-top:5px}.toptools{display:flex;align-items:center;gap:8px}.toptools button{font-size:12px;padding:8px 12px}.textbutton{border-color:transparent;background:none}.pill{font-size:10px;letter-spacing:.1em;border:1px solid var(--line);border-radius:30px;padding:6px 10px;color:var(--muted)}
.home{min-height:100dvh;background:radial-gradient(ellipse at 50% 4%,#26322a 0,transparent 58%),#081110}.intro{max-width:1440px;margin:auto;padding:45px 4vw 27px;display:flex;align-items:flex-end;justify-content:space-between;gap:28px}.intro h1{font-size:clamp(36px,4vw,64px);letter-spacing:.13em;margin:13px 0}.intro h1 em{font-style:normal;color:#d0b687}.intro p{font-size:13px;color:var(--muted);line-height:1.9;max-width:540px}.home-meta{text-align:right;flex-shrink:0;font-size:12px;line-height:2;color:var(--muted)}.home-meta b{font-size:21px;color:var(--paper);font-weight:400;margin:0 4px}.poem-grid{max-width:1440px;margin:auto;padding:0 4vw;display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.poem-card{position:relative;min-height:350px;height:46vh;max-height:500px;overflow:hidden;border:1px solid #c8cdb22e;border-radius:3px;text-align:left;padding:26px 20px;background:#15201c;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between}.poem-card .card-art{position:absolute;inset:0;z-index:-2;width:100%;height:100%;filter:saturate(.75);transition:transform 1s}.poem-card:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#040c0bc4 0%,#07100b00 45%,#030a08ef 100%)}.poem-card:hover .card-art{transform:scale(1.06)}.card-id{font:11px ui-monospace,monospace;color:#dfd3b7;letter-spacing:.2em}.card-title{font-size:38px;letter-spacing:.18em;margin-top:14px;writing-mode:vertical-rl;max-height:180px}.card-author{font-size:11px;color:#c5cabc;margin-top:14px}.card-foot{width:100%}.card-subtitle{font-size:15px;line-height:1.7;margin-bottom:10px;letter-spacing:.04em}.card-tags{font-size:10px;line-height:1.8;color:#adb7ab}.card-enter{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff30;margin-top:17px;padding-top:12px;font-size:11px}.home-bottom{max-width:1440px;margin:22px auto 0;padding:0 4vw 28px;display:flex;gap:24px;justify-content:space-between;font-size:11px;color:#929e94;line-height:1.9}.home-bottom p{max-width:710px}.home-bottom a{white-space:nowrap}
.reader{min-height:100dvh}.poemnav{height:58px;padding:0 4vw;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:20px;background:#0d1613}.poemnav .tabs{display:flex;gap:6px}.poemnav button{border:0;font-size:13px;padding:9px 15px;color:#a8b4aa;white-space:nowrap}.poemnav button.active{color:var(--accent);background:#ffffff0a}.poem-status{font-size:11px;white-space:nowrap;color:var(--muted)}.scene{position:relative;height:calc(100dvh - 259px);min-height:490px;overflow:hidden;isolation:isolate}.art{position:absolute;inset:0;z-index:-3;width:100%;height:100%;animation:drift 30s ease-in-out infinite alternate;transform-origin:55% 48%;filter:saturate(.82)}@keyframes drift{from{transform:scale(1)}to{transform:scale(1.055)}}.paused .art{animation-play-state:paused}.scene:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#040b09b8 0%,#040b0930 52%,#040b0945 75%),linear-gradient(0deg,#030807e8,transparent 70%)}.scene:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;box-shadow:inset 0 0 100px #030b0940}.location{position:absolute;top:28px;left:4vw;display:flex;align-items:center;gap:12px;font-size:11px;color:#d0d8c9;letter-spacing:.14em}.location:before{content:"";height:1px;width:26px;background:var(--accent)}.scene-num{position:absolute;left:4vw;top:65px;font:11px ui-monospace,monospace;color:#9caa9f;letter-spacing:.15em}.verse-wrap{position:absolute;left:6vw;bottom:68px;width:calc(58% - 8vw);max-width:680px}.verse-wrap .eyebrow{margin-bottom:18px}.verse{font:400 clamp(27px,3vw,49px)/1.6 "STSong","Songti SC","SimSun",serif;letter-spacing:.06em;text-shadow:0 2px 24px #000a}.verse.long{font-size:clamp(21px,2.15vw,32px);line-height:1.65}.verse p{margin-bottom:7px;text-wrap:balance}.verse mark{color:inherit;background:none;transition:.3s}.verse.marked mark{color:#ffe2a2;text-shadow:0 0 15px #c79846}.observe{font-size:12px;line-height:1.95;color:#c3cbbd;border-top:1px solid #ffffff29;margin-top:22px;padding-top:17px;max-width:485px}.scene-footnote{position:absolute;left:4vw;bottom:17px;font-size:10px;letter-spacing:.07em;color:#afbbac}.hotspot{position:absolute;left:var(--hx);top:var(--hy);transform:translate(-50%,-50%);font-size:11px;border:1px solid #dcc3946e;background:#10211bcc;backdrop-filter:blur(8px);border-radius:30px;padding:10px 14px;white-space:nowrap;box-shadow:0 6px 20px #0003;max-width:40%}.hotspot:before{content:"＋";margin-right:8px;color:#efd7a6}.hotspot[aria-expanded=true]{background:#cfb581;color:#12231d}.hotspot[aria-expanded=true]:before{content:"−";color:inherit}.clue-pop{position:absolute;left:29%;top:calc(var(--hy) + 32px);width:29%;padding:18px;background:#102018f5;border:1px solid #d6bc7c88;border-radius:7px;font-size:12px;line-height:1.85;box-shadow:0 15px 40px #0005;z-index:4}.clue-pop strong{font-size:10px;display:block;color:var(--accent);letter-spacing:.12em;margin-bottom:7px}.task-card{position:absolute;right:4vw;top:28px;bottom:33px;width:35%;max-width:455px;display:flex;flex-direction:column;background:linear-gradient(145deg,#0a1714f5,#0b1713e8);border:1px solid #d9e4c529;border-radius:10px;backdrop-filter:blur(20px);box-shadow:0 18px 60px #0004}.task-top{padding:19px 22px 0;flex:none}.task-caption{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.12em;color:var(--accent);margin-bottom:14px}.task-tabs{display:flex;border-bottom:1px solid var(--line);gap:17px}.task-tabs button{border:0;border-radius:0;background:none;padding:0 1px 12px;color:#92a194;font-size:12px}.task-tabs button.active{border-bottom:2px solid var(--accent);color:var(--paper)}.task-scroll{padding:20px 22px 22px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#566656 transparent;flex:1;min-height:0}.skill-label{font-size:10px;color:#a5b8a5;line-height:1.8;margin-bottom:11px}.task-scroll h2{font-family:"Microsoft YaHei",sans-serif;font-size:16px;font-weight:400;line-height:1.75;margin-bottom:17px}.choices{display:grid;gap:8px}.choice{display:flex;gap:10px;align-items:flex-start;text-align:left;padding:11px 12px;border-radius:5px;font-size:12px;line-height:1.65;background:#ffffff04}.choice .letter{font:11px/1.9 ui-monospace,monospace;color:#9caa98}.choice.selected{border-color:#cca172;background:#cca17210}.choice.correct{border-color:#9bbb93;background:#97b68b12}.feedback{margin-top:14px;font-size:12px;line-height:1.9;padding:13px 14px;border-left:2px solid var(--accent);background:#ffffff05}.feedback strong{display:block;color:var(--accent);font-size:11px;margin-bottom:5px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.actions button{font-size:11px;padding:9px 12px}.primary{background:var(--accent);border-color:var(--accent);color:#142018}.primary:hover{background:#ead5ae;color:#142018}.hint,.pitfall{font-size:12px;line-height:1.85;color:#c1cdbb;margin-top:13px}.hint{padding:13px;border:1px dashed #9da99166}.pitfall{color:#d5bca1}.answer-label{display:block;font-size:11px;color:#a6b5a5;margin:12px 0 7px}.answer-field{width:100%;resize:vertical;min-height:100px;background:#ffffff06;border:1px solid #ffffff25;border-radius:5px;color:var(--paper);padding:11px 12px;line-height:1.8;font-size:12px}.recall-field{min-height:44px;margin-bottom:7px;font-family:"STSong","SimSun",serif;font-size:16px}.rubric{padding:0;margin:10px 0;list-style:none;counter-reset:point}.rubric li{counter-increment:point;position:relative;margin:11px 0;padding-left:23px;font-size:12px;line-height:1.9;color:#cdd4c7}.rubric li:before{content:counter(point,decimal-leading-zero);position:absolute;left:0;color:var(--accent);font:10px/2.2 ui-monospace,monospace}.small-note{font-size:10px;line-height:1.8;color:#99a993;margin-top:12px}.hidden-verse{font:24px/1.8 "STSong","SimSun",serif;color:#bfcdb7;border:1px dashed #d3e1ba4a;padding:20px}.hidden-verse small{font:12px/1.9 "Microsoft YaHei",sans-serif;display:block;margin-top:10px;color:#a2b297}.chapterbar{height:91px;display:flex;align-items:center;padding:0 4vw;gap:24px;background:#0c1512;border-top:1px solid var(--line)}.chapters{display:grid;grid-template-columns:repeat(4,1fr);flex:1;gap:14px}.chapter{padding:8px 0;text-align:left;border:0;border-radius:0;background:none;position:relative;color:#8d9d90;font-size:12px}.chapter:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:#ffffff20}.chapter.active:before{background:var(--accent)}.chapter.active{color:var(--paper)}.chapter b{font:10px ui-monospace,monospace;margin-right:7px;color:var(--accent)}.chapter small{font-size:10px;display:block;margin-top:8px;color:#8d9d90}.chapter small.done{color:#b5cda6}.step-controls{display:flex;gap:8px}.step-controls button{font-size:12px;padding:10px 12px}.motion-btn{font-size:12px;white-space:nowrap}.reader-footer{font-size:10px;color:#748477;text-align:center;padding:10px 15px;background:#0c1512}
dialog{max-height:86dvh;overflow:auto;width:min(720px,92vw);color:var(--paper);background:#112019;border:1px solid #becda34d;border-radius:12px;padding:28px;box-shadow:0 30px 100px #0009}dialog::backdrop{background:#020807cf;backdrop-filter:blur(7px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.dialog-head h2{font-size:27px}.dialog-head button{padding:6px 11px}.dialog-body{font-size:13px;line-height:2;color:#c4cfc0}.dialog-body h3{font-size:19px;color:var(--accent);margin:24px 0 9px}.dialog-body .full-poem{font-family:"STSong","SimSun",serif;font-size:21px;line-height:1.9;color:var(--paper)}.dialog-body ul{padding-left:22px}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);z-index:30;max-width:88vw;background:#d0be91;color:#17231a;border-radius:30px;padding:12px 20px;font-size:12px;box-shadow:0 8px 40px #0008}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.compare-grid section{border:1px solid var(--line);padding:16px;border-radius:6px}.compare-grid h3{margin:0 0 10px}.review-item{padding:12px 0;border-bottom:1px solid var(--line)}.review-item button{font-size:12px;margin:7px 0}.review-item p{font-size:12px}.status-line{color:var(--accent);font-size:11px}
@media(min-width:1550px){.task-card{right:5vw;width:31%;max-width:520px}.task-scroll{padding:25px 28px}.task-top{padding:23px 28px 0}.task-scroll h2{font-size:18px}.choice,.rubric li,.feedback{font-size:14px}.verse-wrap{bottom:100px}.observe{font-size:14px}}
@media(max-width:1100px){.poem-grid{gap:9px}.poem-card{padding:20px 14px}.card-title{font-size:33px}.card-subtitle{font-size:12px}.task-card{right:3vw;width:38%}.verse-wrap{left:4vw;width:51%}.verse{font-size:34px}.verse.long{font-size:26px}.task-top{padding:16px 17px 0}.task-scroll{padding:17px}.hotspot{left:43%;font-size:10px}.poemnav{padding:0 3vw}.poemnav button{padding:9px 11px}.topbar{padding:0 3vw}.pill{display:none}}
@media(max-width:900px){.topbar{height:auto;min-height:69px;padding:14px 5vw;gap:10px;flex-wrap:wrap}.brand strong{font-size:12px}.brand small{font-size:9px}.toptools{gap:3px}.toptools button{padding:7px 8px;font-size:11px}.toptools .optional{display:none}.intro{display:block;padding:30px 5vw 22px}.intro h1{font-size:40px}.intro p{font-size:12px}.home-meta{margin-top:15px;text-align:left;font-size:11px}.home-meta br{display:none}.poem-grid{padding:0 5vw;grid-template-columns:repeat(2,1fr);gap:12px}.poem-card{height:350px;min-height:0;padding:22px 18px}.poem-card:last-child{grid-column:1/-1;height:245px}.poem-card:last-child .card-title{writing-mode:horizontal-tb}.card-title{font-size:37px}.card-subtitle{font-size:14px}.home-bottom{padding:0 5vw 24px;display:block}.home-bottom a{display:inline-block;margin-top:15px}.poemnav{height:auto;min-height:57px;display:block;padding:8px 3vw}.poemnav .tabs{overflow:auto;gap:0;scrollbar-width:none}.poemnav button{font-size:12px;padding:9px 12px}.poem-status{font-size:10px;padding:4px 12px}.scene{height:auto;min-height:0;overflow:hidden;padding:155px 4vw 22px}.art{height:450px;animation:none}.scene:before{background:linear-gradient(0deg,#081110 0%,#081110 28%,#08111008 75%,#08111055 100%)}.location{top:22px;left:5vw;font-size:10px}.scene-num{top:49px;left:5vw}.verse-wrap{position:relative;left:auto;top:auto;bottom:auto;width:100%;max-width:none;padding:0 2vw}.verse{font-size:31px;line-height:1.5}.verse.long{font-size:22px;line-height:1.65}.verse-wrap .eyebrow{margin-bottom:9px}.verse p{margin-bottom:2px}.observe{font-size:11px;line-height:1.7;margin-top:13px;padding-top:10px;max-width:100%}.hotspot{left:52%;top:99px;max-width:92%;font-size:10px}.clue-pop{left:5%;top:127px;width:90%;z-index:5;padding:14px}.task-card{margin-top:25px;position:relative;top:auto;right:auto;bottom:auto;width:100%;max-width:none;background:#0b1a16f5;max-height:none}.task-scroll{overflow:visible;padding:19px}.task-top{padding:19px 19px 0}.task-scroll h2{font-size:16px}.choice{font-size:13px;padding:12px}.scene-footnote{position:relative;bottom:auto;left:auto;font-size:9px;margin-top:15px;text-align:center}.chapterbar{height:auto;min-height:135px;padding:15px 4vw;gap:12px;flex-wrap:wrap}.chapters{order:-1;flex-basis:100%;gap:9px}.chapter{font-size:11px}.chapter b{margin-right:3px}.chapter small{font-size:9px}.motion-btn{display:none}.step-controls{margin-left:auto}.step-controls button{font-size:11px}.reader-footer{font-size:9px;padding-top:0}.hidden-verse{font-size:21px;padding:14px}.compare-grid{grid-template-columns:1fr}dialog{padding:21px}.dialog-head h2{font-size:23px}.full-poem{font-size:18px!important}}
@media(max-width:380px){.poem-card{padding:18px 12px}.card-title{font-size:32px}.card-subtitle{font-size:12px}.verse{font-size:28px}.verse.long{font-size:20px}.scene{padding-top:155px}.toptools button{font-size:10px;padding:6px}.chapter{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{body{background:white;color:black}.home,.reader,.toast{display:none!important}dialog[open]{display:block;position:static;width:100%;max-height:none;border:0;background:white;color:black;overflow:visible}.dialog-body,.dialog-body h3,.full-poem{color:black!important}.dialog-head button{display:none}}
