/* V10 · 纸上书坊。仅使用独立环境和细节素材，正文及操作保持真实 HTML。 */
:root{color-scheme:light;--ivory:#302e27;--ink:#302e27;--muted:#716e60;--red:#a85e48;--gold:#746f59;--paper:#f7f3e9;--paper-rule:#cfcbbd;--body-face:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;--display-face:"Songti SC","STSong","Noto Serif CJK SC",serif;--sage:#dce2d3;--sage-ink:#435344;--tear:polygon(0 3%,4% 1%,9% 3%,16% 0,23% 2%,30% 1%,37% 3%,45% 0,52% 2%,60% 1%,68% 3%,75% 0,83% 2%,91% 1%,98% 3%,100% 9%,99% 23%,100% 38%,99% 52%,100% 70%,99% 88%,100% 97%,92% 99%,84% 97%,76% 100%,68% 98%,61% 99%,52% 97%,44% 100%,35% 98%,27% 99%,18% 97%,10% 100%,2% 98%,0 91%,1% 75%,0 60%,1% 42%,0 26%,1% 12%)}
body{background:#f3efe5;color:var(--ink)}p{color:#4e5047}a{color:#526b58}button{color:var(--ink);background:#f4f0e5;border:1px solid #bcbba9;border-radius:3px 6px 3px 5px;box-shadow:1px 3px 0 #8f8c7212;font-family:var(--body-face);transition:background .18s,box-shadow .18s,transform .18s}button:hover{background:#e3e7d8;box-shadow:1px 4px 7px #72755820}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #a5533d;outline-offset:4px}button:disabled{opacity:.5}.primary{background:#d9e1ce;color:#344b3b;border:1px solid #a0ae91;box-shadow:2px 4px 0 #67775b1c;letter-spacing:1px}.primary:hover{background:#c4d3b8;color:#263c2d}.primary:active{box-shadow:none}
.world{background:#f3efe5 url('assets/v10/paper-world.png') center bottom/cover no-repeat;filter:none!important;opacity:1;transform:none;transition:transform 1s ease,opacity .6s ease}.shade,body:not([data-scene=intro]) .shade{background:linear-gradient(0deg,#f6f2e926,transparent 65%);opacity:1}body:not([data-scene=intro]) .world{background-image:url('assets/v10/paper-detail.png');background-position:center;background-size:cover;filter:none;opacity:.5;transform:none}body:not([data-scene=intro]) .shade{background:linear-gradient(90deg,#f7f4ecc7,#f7f4ec66 55%,#f7f4ec66)}
.topbar{height:76px;border-bottom:1px solid #c9c4b680}.brand{font-size:24px;letter-spacing:2px;color:#292c27}.brand small{color:#747868;font-size:10px}.seal{background:#a85e48;color:#fff9ec;outline:1px solid #a85e48;outline-offset:3px;border-radius:2px;font-size:22px;padding:2px 5px}.toolbar{gap:7px}.toolbar button{color:#52594d;background:#f7f4eac9;border:1px solid #d8d5c7;padding:8px 10px;font-size:12px;box-shadow:1px 2px 3px #6d715512}.toolbar button:hover{background:#dce3d1}.toolbar button[aria-pressed=true]{background:#d8e0ce;border-color:#8a9c7d}.eyebrow{color:#777461;letter-spacing:2px}.footer{border-color:#c7c2b478;color:#6b7061;font-size:10px;background:#f5f1e6a6}
.intro{padding:5vh 8vw 0;position:relative;min-height:calc(100svh - 112px)}.intro .eyebrow{border-left:2px solid #ac6650;color:#6d725f}.intro h1{font-size:clamp(48px,4.9vw,82px);line-height:1.26;letter-spacing:1px;margin:18px 0;color:#292e27;font-weight:600;max-width:700px}.intro p{color:#53594d;font-size:18px;line-height:1.75;letter-spacing:.5px;margin:16px 0 19px}.intro .primary{font-family:var(--display-face);font-size:23px;padding:13px 26px;min-width:205px;border-radius:3px 8px 4px 2px;transform:rotate(-.4deg)}.intro .intro-note{font-size:11px;color:#616953;line-height:1.7;max-width:510px;padding:6px 9px;background:#f8f5ecbd;display:table;margin-top:12px}.intro-art-label{position:absolute;right:6vw;bottom:105px;font:11px/1.6 var(--body-face);color:#626957;background:#f6f2e4e8;padding:6px 10px;transform:rotate(1deg)}.intro-route{position:absolute;bottom:20px;left:12%;right:12%;display:flex;gap:0;align-items:center;justify-content:space-around;min-height:62px;background:#f7f4e8ee;border-block:1px solid #c6bba1;box-shadow:0 7px 11px #695b3c15;padding:8px 20px}.intro-route:before,.intro-route:after{content:"";position:absolute;top:-5px;bottom:-5px;width:11px;background:linear-gradient(90deg,#a29678,#e2d9bd 45%,#b6a88a);border:1px solid #a8997d;border-radius:5px}.intro-route:before{left:-5px}.intro-route:after{right:-5px}.intro-route button{background:transparent;border:0;box-shadow:none;min-width:120px;font-family:var(--display-face);font-size:20px;padding:5px 18px;color:#444f3e}.intro-route button:hover{background:#dfe4d4}.intro-route button::before{content:"○";font:14px Georgia;color:#a56d52;margin-right:10px}.intro-route small,.intro-route span{font:11px var(--body-face);color:#7c806f;display:block;margin-top:3px}
.mission h2{color:#30352c;text-shadow:none}.mission p{color:#626657}.mission-meta>span{color:#737a64}.mission-meta small{background:#eee4d6;color:#8b573d;border-color:#c1a990}.lesson-switch button{background:#f3f0e5;color:#626e56;border-color:#c4cbb8}.lesson-switch button[aria-pressed=true]{background:#d9e1ce;color:#334831;border-color:#9dab90}.course-navigation{border-color:#bbbba280}.course-navigation button{background:#eeeede;color:#43513c;border-color:#c1c8af}.course-navigation span{color:#646e59}.chapter-track span{background:#d3d4c5}.chapter-track span[data-state=past]{background:#a9b59a}.chapter-track span[data-state=current]{background:#a7634b}.feedback,.label-feedback{color:#8b5039}.object-caption,.target-caption{color:#6c715f}.model-tools{color:#626d56}.model-canvas:focus-visible{outline-color:#a85e48}
/* Each lesson is a paper spread, allowing large diagrams and readable copy. */
.lesson-panel{background:#fbf8f0ed;border:1px solid #ddd7c7;box-shadow:0 7px 0 -4px #e6dfcf,0 14px 0 -9px #d1c8b433,0 14px 28px #6e604414;gap:4%;grid-template-columns:.9fr 1.2fr;padding:18px 28px}.lesson-panel::before{width:28px;height:3px;top:16px;left:28px;background:#a85e48;border-radius:40%}.lesson-panel.has-stories{grid-template-columns:.9fr 1.2fr;padding:53px 28px 12px}.lesson-copy{border-color:#d8d4c6;padding-left:25px}.lesson-copy h3,.has-stories .lesson-copy h3{font-size:28px;color:#33392f;line-height:1.25}.lesson-copy .eyebrow{color:#8b694e}.lesson-copy p,.has-stories .lesson-copy p{font-size:18px;line-height:1.5;color:#4d5547;margin:7px 0}.lesson-copy #lesson-takeaway,.has-stories .lesson-copy #lesson-takeaway{color:#79533f;border-left:2px solid #b58d6e;background:#f0e4d675;padding:7px 10px;font-size:16px;line-height:1.45;margin:8px 0}.lesson-copy a{font-size:11px;color:#68795c;margin:3px 0}.lesson-copy button{font-size:15px;padding:8px 17px;margin-top:5px}#lesson-pages{left:28px;right:28px;top:9px;gap:20px;border-color:#d6d1c3;padding-bottom:6px}#lesson-pages button{font-size:14px;color:#747765;padding:5px 2px;background:transparent;box-shadow:none}#lesson-pages button[aria-pressed=true]{color:#96553c;border-color:#ad7157;background:transparent}#lesson-pages button:hover{color:#77432e;background:#ede8da}
.lesson-figure{color:#4c5b44}.lesson-figure svg{filter:drop-shadow(0 8px 8px #5b61421a)}.figure-heading{color:#617056}.figure-word{color:#48573e}.figure-caption{color:#767d69!important}.figure-arrow,.component-legend{color:#5e6c51}.artifact-date{color:#a06349}.artifact-meta,.lesson-figure h4{color:#53634a}.story-large{color:#526345}.story-small{color:#6a765f}.story-letter .story-large,.story-poem .story-large{background:#ecdad0;color:#835941;border-color:#b48065;box-shadow:4px 7px 9px #7e735316}.story-steps{border-color:#c1c9b5}.story-steps li{color:#586a4d;border-color:#d7dccd}.story-steps li:before{color:#aa7153}.story-layers li:nth-child(1){background:#ccd7bd}.story-layers li:nth-child(2){background:#e6eadb}.story-layers li:nth-child(3){background:#93a087;color:#263a29}.case-illustration{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}.case-illustration img{display:block;width:100%;height:clamp(170px,26vh,295px);object-fit:contain;mix-blend-mode:multiply}.case-caption{font:11px/1.5 var(--body-face);color:#77806b;margin:0;max-width:95%;text-align:center}.case-route{display:flex;gap:5px;justify-content:center;flex-wrap:wrap;margin-top:10px}.case-route li{font:12px/1.4 var(--body-face);color:#697760;background:#e6ebdc;padding:4px 8px;border-radius:2px}.case-context{font:14px/1.5 var(--body-face);color:#68785c;margin:8px auto;max-width:90%}
/* Game props keep depth; pale paper and muted clay replace the dark overlays. */
.big-question{color:#34412f}.lesson-lead,.material-display>p,#craft-instruction{color:#55614b}.lesson-footnote{color:#798169}.reveal-note{color:#866047;border-color:#b98965;background:#f3eee0a8}.material-choices button{background:#eeefdf;color:#4c5b42;border-color:#a3b191;box-shadow:2px 4px 0 #c1c6ad33}.material-choices span{color:#778168}.material-choices button[aria-pressed=true],.form-controls button[aria-pressed=true],.craft-steps button[aria-pressed=true]{background:#d9e1ca;color:#3f5237;border-color:#94a57d}.material-choices button[aria-pressed=true] span{color:#647758}.craft-guide{border-color:#c2cbb4}.material-display #material-object,.mystery-object,.inspect-object{filter:drop-shadow(5px 10px 9px #60523424)}.hanging-tag{background:#efead7;color:#59624b;box-shadow:2px 4px 6px #6d684129}.paper{background:#f4efdf;border-top-color:#fffdf3;border-bottom-color:#c4bb9e;box-shadow:inset 0 0 22px #9d8d6020}.scroll-object{filter:drop-shadow(3px 10px 8px #6a5b4429)}.leaf{background:linear-gradient(90deg,#a3916510,#fffdf433 45%,#a3916508);border-color:#b5ac923b}.leaf .verse{color:#414b37;font-size:24px}.leaf h3,.leaf .number{color:#7c836b}.leaf .clue-button{color:#945c45;border-color:#b78367;background:#ede4cf;box-shadow:inset 0 0 0 2px #f8f4e8}.leaf .clue-button:hover{background:#f8efdb}.leaf .clue-button[aria-pressed=true]{background:#a96f55;color:#fff9e9}.read-tools{color:#69765d}.clue-notes{border-color:#b8c0a778}.clue-notes .eyebrow{color:#77806a}.clue-note,.note{background:#ede5d1;color:#556246;box-shadow:2px 4px 4px #75653d20}.label-option,.paper-label{background:#f2ebd9;color:#536245;border-color:#c7bfa5;box-shadow:3px 7px 8px #75634625}.label-option:hover,.paper-label:hover{background:#e5ead5;color:#506243}.paper-label.selected,.paper-label[aria-pressed=true]{outline-color:#a1684b}.label-target:hover{background:#ced9bd33}.label-target.attached:after{color:#526044;background:#f4ecd7;box-shadow:0 2px 5px #76664a33}.has-model .ribbon,.has-model .wrapper,.has-model .open-control{background:#e7d2be;color:#704e3b;border-color:#b79272;box-shadow:2px 5px 8px #7c664a1f;border-radius:3px 6px 2px 5px}.has-model .ribbon:hover,.has-model .wrapper:hover,.has-model .open-control:hover{background:#dcc1a9}.has-model .ribbon span,.has-model .wrapper span{color:inherit}.ribbon span,.wrapper span{background:#f4eddc;color:#755c42;border-color:#c2a27b}.closed-scroll{background:repeating-linear-gradient(0deg,#9a896110 0 1px,transparent 1px 4px),linear-gradient(0deg,#b0a586,#ece3c8 25%,#f4efdb 50%,#e2d9bd 80%,#a69978);border-top-color:#f9f3df;border-bottom-color:#a19572;box-shadow:inset 0 5px 9px #fffef333,inset 0 -5px 9px #83704d33,0 7px 0 -4px #8c806544}.closed-scroll:before,.closed-scroll:after{background:linear-gradient(#655544,#b49c77 38%,#8c7456 65%,#685440);border-color:#7b674b}.roller{background:linear-gradient(90deg,#887055,#c1aa83 25%,#dbc9a7 45%,#a58b67 75%,#796148);border-color:#8f795a;box-shadow:3px 3px 7px #73604729}.roller:before,.roller:after{background:linear-gradient(90deg,#887053,#c2aa80,#897055);border-color:#927c5c}.shelves{background:#c7b896;border-top-color:#baaa85;border-bottom-color:#aa9874;box-shadow:0 12px 15px #71644624,inset 0 -3px #dfd6bd66}.shelf-slot{background:linear-gradient(#d4c9ab,#e3dac3);border-color:#b2a17d;box-shadow:inset 4px 0 7px #a28c6526}.shelf-slot:hover{background:#e8e4cf}.shelf-slot>span{background:#f0ecd9;color:#596144;box-shadow:0 3px 4px #77644622}.shelf-slot small{color:#727355}.shelve-scroll>span:last-child{color:#63734e}.shelve-scroll:hover,.shelve-scroll.selected,.shelve-scroll[aria-pressed=true]{background:#d9e1c844;outline-color:#9ba984}.archived-scroll{background:linear-gradient(90deg,#ad9772,#ccb78e 5%,#d9cfb5 6%,#e4dac2 94%,#b9a37c 95%);border-color:#b4a07a;box-shadow:0 10px 15px #74604425}.lessons{color:#56614b}.dragging{outline-color:#a86748}
dialog{background:#f8f5eb;color:#3f4b36;border:1px solid #c9ccb9;box-shadow:0 18px 70px #5560433d}dialog::backdrop{background:#606b5366;backdrop-filter:blur(4px)}dialog p,dialog li{color:#57654c}dialog h3{color:#9b684b}dialog a{color:#5d7756}dialog button{background:#e8eddc;color:#4a5d3e;border-color:#b6c1a4}dialog button:hover{background:#d6e0c5}.dialog-close{background:transparent;color:#5c694e}.guide-panel{background:#faf6e9;border:1px solid #ced0bc;box-shadow:0 12px 30px #5e674b2b;border-radius:3px 8px 4px 6px}.guide-panel p{color:#526146}.guide-panel small{color:#7d846d}.guide-panel>button{color:#58684a}.guide-panel img{mix-blend-mode:multiply}body[data-paused=true] .stage,body.paused .stage{filter:none}
@media(min-width:1600px){.topbar{height:88px}.brand{font-size:31px}.brand small{font-size:12px}.toolbar button{font-size:15px;padding:11px 15px}.intro{min-height:calc(100svh - 124px);padding-top:5vh}.intro h1{font-size:80px}.intro p{font-size:25px}.intro .primary{font-size:28px;padding:16px 34px}.intro .intro-note{font-size:14px;margin-top:15px}.intro-route{bottom:32px;min-height:86px}.intro-route button{font-size:26px;min-width:180px}.intro-route small,.intro-route span{font-size:14px}.intro-art-label{bottom:150px;font-size:13px}.lesson-panel{padding:32px 42px}.lesson-panel.has-stories{padding:76px 42px 22px}.lesson-copy{padding-left:38px}.lesson-copy h3,.has-stories .lesson-copy h3{font-size:40px;margin:9px 0 18px}.lesson-copy p,.has-stories .lesson-copy p{font-size:25px;line-height:1.65;margin:13px 0}.lesson-copy #lesson-takeaway,.has-stories .lesson-copy #lesson-takeaway{font-size:22px;line-height:1.5;margin:16px 0;padding:10px 16px}.lesson-copy a{font-size:14px;margin:5px 0}.lesson-copy button{font-size:19px;padding:12px 23px;margin-top:9px}#lesson-pages{top:16px;left:42px;right:42px;gap:26px}#lesson-pages button{font-size:19px;padding:8px 3px}.case-illustration img{height:360px}.case-caption{font-size:14px}.case-route li{font-size:16px;padding:6px 12px}.case-context{font-size:20px}.leaf .verse{font-size:28px}.footer{font-size:12px}}
@media(max-width:800px){.toolbar{gap:3px}.toolbar button{font-size:10px;padding:6px}.brand{font-size:18px}.intro{padding:5vh 7vw 115px;min-height:calc(100svh - 125px)}.intro h1{font-size:43px}.intro p{font-size:18px}.intro-route{left:7%;right:7%;bottom:20px;padding:8px}.intro-route button{font-size:16px;min-width:0;padding:7px}.intro-art-label{display:none}.lesson-panel,.lesson-panel.has-stories{padding:18px}.lesson-copy{padding-left:0}.lesson-panel::before{display:none}#lesson-pages{position:static;gap:10px}.case-illustration img{height:180px}.footer{font-size:9px}}
@media(prefers-reduced-motion:reduce){.world,button{transition:none}}
/* Four independently framed atlas illustrations; never stretch one quadrant. */
#lesson-experience{display:none} /* Bottom course control already enters the same interaction. */
.case-route{list-style:none;padding:0}
.case-context:first-child{font-family:var(--display-face);font-size:23px;color:#43543e;margin:0 auto 10px}
@media(min-width:1600px){.case-context:first-child{font-size:30px}}
.case-illustration[data-position]{position:relative;display:block;width:min(100%,220px);height:auto;aspect-ratio:1;overflow:hidden;margin:0 auto;background:#f5f0e3;border-radius:2px 5px 3px 7px}
.case-illustration[data-position] img{position:absolute;left:0;top:0;width:200%;height:200%;max-width:none;object-fit:fill;mix-blend-mode:multiply}
.case-illustration[data-position=letter] img{transform:none}
.case-illustration[data-position=dunhuang] img{transform:translateX(-50%)}
.case-illustration[data-position=night] img{transform:translateY(-50%)}
.case-illustration[data-position=restoration] img{transform:translate(-50%,-50%)}
@media(min-width:1600px){.topbar{height:76px}.intro{min-height:calc(100svh - 112px)}.case-illustration[data-position]{width:min(100%,360px)}}
