:root{--ink:#23293a;--ink2:#23293a9e;--paper:#fffdf8;--pep:#1f6fb8;--pep-soft:#dce9f7;--live:#ff6a3d;--seal:#c8341f;--song:"Songti SC", "STSong", "Noto Serif SC", "Source Han Serif SC", serif;--sans:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif}*{box-sizing:border-box}html,body{overscroll-behavior:none;height:100%;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;background:#2a211b;margin:0;overflow:hidden}canvas#c{touch-action:none;outline:none;width:100%;height:100%;display:block}button{font:inherit;color:inherit;cursor:pointer}#loader{z-index:50;color:#f4ead8;background:radial-gradient(120% 90% at 50% 40%,#3a2d24 0%,#211913 70%);place-content:center;justify-items:center;gap:10px;transition:opacity .7s,visibility 0s .7s;display:grid;position:fixed;inset:0}#loader.done{opacity:0;visibility:hidden}.loader-book{perspective:300px;width:70px;height:46px;position:relative}.loader-book i{transform-origin:100%;background:#f6efe0;border-radius:3px 0 0 3px;width:35px;height:46px;animation:1.6s ease-in-out infinite flip;position:absolute;top:0;right:50%;box-shadow:0 1px #0003}.loader-book i:nth-child(2){background:#efe5d1;animation-delay:.25s}.loader-book i:nth-child(3){background:#e9ddc5;animation-delay:.5s}@keyframes flip{0%,20%{transform:rotateY(0)}60%,to{transform:rotateY(180deg)}}.loader-title{font:600 20px/1 var(--song);letter-spacing:.3em;margin:8px 0 0}.loader-msg{color:#cbbca4;margin:0;font-size:13px}.loader-bar{background:#ffffff1f;border-radius:2px;width:160px;height:2px;overflow:hidden}.loader-bar i{height:100%;width:calc(var(--p,0) * 100%);background:linear-gradient(90deg, #ffd38a, var(--live));transition:width .3s;display:block}#hud-top{padding:max(14px, env(safe-area-inset-top)) 18px 0;pointer-events:none;z-index:5;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}#hud-top>*{pointer-events:auto}.brand{color:#f3e9d7;align-items:baseline;gap:10px;display:flex}.brand b{font:700 18px/1 var(--song);letter-spacing:.12em}.brand span{color:#c9b99f;font-size:13px}.hud-actions{gap:8px;display:flex}.chip{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#f4ead8;background:#1e17128c;border:1px solid #ffffff29;border-radius:999px;padding:7px 14px;font-size:13px;transition:background .2s,transform .2s}.chip:hover{background:#3c2d22bf}.chip-live{border-color:#ff6a3d80}.chip-live em{color:#ffb38f;margin-left:4px;font-style:normal}#hud-pager{left:50%;bottom:max(18px, env(safe-area-inset-bottom));z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#f4ead8;background:#1e17128c;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:12px;padding:5px 6px;transition:opacity .4s,transform .4s;display:flex;position:fixed;transform:translate(-50%)}#page-label{text-align:center;min-width:110px;font:14px/1 var(--song);letter-spacing:.05em}.round{color:#f4ead8;background:#ffffff14;border:0;border-radius:50%;place-items:center;width:34px;height:34px;font-size:22px;line-height:1;display:grid}.round:hover{background:#ffffff2e}.round:disabled{opacity:.3;cursor:default}#hint{color:#f4ead8b3;letter-spacing:.05em;pointer-events:none;white-space:nowrap;margin:0;font-size:12.5px;transition:opacity .8s;position:fixed;bottom:64px;left:50%;transform:translate(-50%)}#hint.gone{opacity:0}#copy{right:16px;bottom:max(10px, env(safe-area-inset-bottom));color:#f4ead861;pointer-events:none;font-size:11px;position:fixed}body.lesson-on #hud-pager{opacity:0;pointer-events:none;transform:translate(-50%,20px)}body.lesson-on #hint,body.lesson-on #copy{opacity:0}#drawer{z-index:20;background:var(--paper);border-radius:14px;flex-direction:column;width:min(360px,100vw - 32px);animation:.35s cubic-bezier(.2,.8,.2,1) slidein;display:flex;position:fixed;top:64px;bottom:16px;right:16px;overflow:hidden;box-shadow:0 24px 70px #00000073}#drawer[hidden]{display:none}@keyframes slidein{0%{opacity:0;transform:translate(40px)}}.drawer-head{border-bottom:1px solid #eee6d6;justify-content:space-between;align-items:center;padding:18px 20px 10px;display:flex}.drawer-head h2{font:700 18px/1 var(--song);color:var(--pep);letter-spacing:.1em;margin:0}.x{color:var(--ink2);background:0 0;border:0;font-size:24px;line-height:1}#drawer-body{padding:8px 0 30px;overflow:auto}.toc-ch{font:700 15px/1.4 var(--song);color:var(--ink);cursor:pointer;justify-content:space-between;padding:12px 20px 4px;display:flex}.toc-sec{font:14px/1.5 var(--song);color:#3b4254;cursor:pointer;justify-content:space-between;gap:10px;padding:6px 20px 6px 36px;display:flex}.toc-ch:hover,.toc-sec:hover,.live-item:hover{background:#f5efe2}.toc-ch span,.toc-sec span{color:var(--ink2);font-family:var(--sans);font-size:12px}.toc-sec .live-dot{color:var(--live)}.live-item{cursor:pointer;grid-template-columns:52px 1fr;align-items:center;gap:12px;padding:12px 20px;display:grid}.live-item .seal{width:46px;height:46px;font:700 13px/1.1 var(--song);color:#c9bda6;text-align:center;border:2px dashed #d8cdb8;border-radius:8px;place-items:center;display:grid}.live-item .seal.book{color:#fff;background:linear-gradient(160deg,#2f7fc0,#1f5f99);border:0;border-radius:4px 8px 8px 4px;font-size:12px;box-shadow:inset 4px 0 #0000002e}.live-item.cur{background:#f1f6fd}.live-item .seal.got{border:2px solid var(--seal);color:var(--seal);background:#c8341f0d;transform:rotate(-8deg)}.live-item h4{font:700 15px/1.3 var(--song);margin:0 0 3px}.live-item p{color:var(--ink2);margin:0;font-size:12px}#panel{z-index:10;left:max(16px, env(safe-area-inset-left));background:var(--paper);width:min(380px,100vw - 32px);font-family:var(--song);border-radius:14px;flex-direction:column;animation:.55s cubic-bezier(.2,.8,.2,1) panelin;display:flex;position:fixed;top:64px;bottom:18px;overflow:hidden;box-shadow:0 24px 70px #00000073,0 0 0 1px #0000000a}#panel[hidden]{display:none}@keyframes panelin{0%{opacity:0;transform:translate(-30px)}}.p-head{padding:16px 18px 12px;position:relative}.p-fig{font:12px/1 var(--sans);color:var(--ink2);letter-spacing:.04em}.p-title{font:700 20px/1.3 var(--song);color:var(--ink);margin:6px 0 0}.p-close{font:12px/1 var(--sans);color:var(--ink2);background:#fff;border:1px solid #e6dcc8;border-radius:999px;padding:5px 11px;position:absolute;top:12px;right:12px}.p-close:hover{background:#f6f0e3}.p-tabs{border-bottom:1px solid #ece3d2;grid-template-columns:repeat(3,1fr);gap:0;margin:0 18px;display:grid}.p-tab{font:600 14px/1 var(--sans);color:#a59b8a;background:0 0;border:0;padding:9px 0 10px;position:relative}.p-tab b{color:#fff;vertical-align:1px;background:#e9e1d1;border-radius:50%;place-items:center;width:18px;height:18px;margin-right:5px;font-size:11px;display:inline-grid}.p-tab.on{color:var(--pep)}.p-tab.on b{background:var(--pep)}.p-tab.on:after{content:"";background:var(--pep);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:20%;right:20%}.p-tab.done b{background:#3f9b5b}.p-tab.locked{cursor:default}.p-body{flex:1;padding:14px 18px 18px;overflow:auto}.p-step[hidden]{display:none}.bar-title{font:700 15px/1 var(--sans);color:var(--pep);align-items:center;gap:8px;margin:2px 0 10px;display:flex}.bar-title:before{content:"";background:var(--pep);border-radius:2px;width:6px;height:16px}.bar-title:after{content:"";background:linear-gradient(90deg, var(--pep-soft), transparent);border-radius:4px;flex:1;height:8px}.q{font:16px/1.75 var(--song);color:#2c4f86;margin:0 0 12px}.q small{font:12px/1.5 var(--sans);color:var(--ink2);margin-top:4px;display:block}.q.ask{margin:2px 0 6px;font-size:18px;line-height:1.7}.opts{gap:8px;display:grid}.opt{text-align:left;font:15px/1.5 var(--song);background:#fff;border:1.5px solid #e6dcc8;border-radius:10px;padding:11px 13px;transition:border-color .2s,background .2s,transform .15s}.opt:hover{border-color:#c9b998;transform:translateY(-1px)}.opt.picked{border-color:var(--pep);background:#f1f6fd}.opts.locked .opt{pointer-events:none}.opts.locked .opt:not(.picked){opacity:.5}.go{background:var(--pep);color:#fff;width:100%;font:600 15px/1 var(--sans);letter-spacing:.05em;border:0;border-radius:10px;margin-top:14px;padding:12px}.go:disabled{cursor:default;background:#cfc6b5}.go.ghost{color:var(--pep);border:1.5px solid var(--pep);background:#fff}.ctl{margin:0 0 14px}.ctl-label{font:13px/1.4 var(--sans);color:var(--ink2);justify-content:space-between;margin-bottom:6px;display:flex}.ctl-label output{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.seg{flex-wrap:wrap;gap:6px;display:flex}.seg button{font:14px/1.2 var(--song);background:#fff;border:1.5px solid #e6dcc8;border-radius:8px;flex:auto;padding:8px 10px}.ctl.guess .seg button:disabled{cursor:default;opacity:.55}.ctl.guess .seg button.on:disabled{opacity:1}.guess-note{color:var(--seal,#b03a2a);font:12px/1.4 var(--sans)}.seg button.on{border-color:var(--pep);color:var(--pep);background:#f1f6fd;font-weight:700}.seg button .tick{color:#3f9b5b;font-family:var(--sans);margin-left:3px}input[type=range]{width:100%;accent-color:var(--pep)}.btn-row{flex-wrap:wrap;gap:8px;display:flex}.btn-row .go{white-space:normal;flex:auto;width:auto;margin-top:0;line-height:1.35}.readout{grid-template-columns:repeat(2,1fr);gap:8px;margin:4px 0 14px;display:grid}.readout div{background:#f7f2e7;border-radius:9px;padding:8px 10px}.readout span{font:11.5px/1.3 var(--sans);color:var(--ink2);display:block}.readout b{font:600 18px/1.3 var(--sans);font-variant-numeric:tabular-nums;color:var(--ink)}.readout b i{color:var(--ink2);margin-left:2px;font-size:12px;font-style:normal;font-weight:400}.ebar{font:12.5px/1 var(--sans);grid-template-columns:64px 1fr 52px;align-items:center;gap:8px;margin-bottom:6px;display:grid}.ebar .track{background:#efe8da;border-radius:6px;height:12px;overflow:hidden}.ebar .fill{border-radius:6px;width:0;height:100%}.ebar output{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink2)}table.data{border-collapse:collapse;width:100%;font:12.5px/1.4 var(--sans);font-variant-numeric:tabular-nums;margin:6px 0 10px}table.data th{color:#4b4467;background:#ece6f5;border:1px solid #d6cfe6;padding:5px 3px;font-size:11px;font-weight:600;line-height:1.3}table.data td{text-align:center;background:#fff;border:1px solid #e3ddee;padding:6px 4px}table.data tr.new td{animation:.8s rowin}@keyframes rowin{0%{background:#fff1c9}}canvas.chart{background:#fbf8f1;border-radius:9px;width:100%;height:150px;margin:4px 0 10px;display:block}.note{font:12.5px/1.6 var(--sans);color:var(--ink2);margin:6px 0 0}.note.warn{color:#b0571b}.status{font:13px/1.6 var(--sans);color:#2d6b3e;background:#eaf5ec;border-radius:8px;margin:0 0 12px;padding:8px 10px}.status:empty{display:none}.progress-need{font:12.5px/1.6 var(--sans);color:var(--ink2);text-align:center;margin-top:10px}.flap-wrap{perspective:900px;margin-top:4px}.flap{min-height:200px;transform-style:preserve-3d;transform-origin:50%;transition:transform .9s cubic-bezier(.3,.7,.2,1);position:relative}.flap.open{transform:rotateX(-178deg)}.flap-front,.flap-back{-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:12px;position:absolute;inset:0}.flap-front{cursor:pointer;font:600 16px/1.4 var(--song);color:#8a7650;background:repeating-linear-gradient(-45deg,#f4ecda 0 10px,#efe5cf 10px 20px);border:1.5px dashed #cdbf9f;place-content:center;justify-items:center;gap:6px;display:grid}.flap-front small{font:12px/1.4 var(--sans);color:#a8987a}.flap.locked .flap-front{cursor:default;filter:grayscale(.6);opacity:.7}.flap-back{transform:rotateX(180deg)}.answer{background:#fff;border:1.5px solid #e6dcc8;border-radius:12px;margin-top:0;padding:14px 14px 18px;position:relative}.answer .verdict{font:600 14px/1.5 var(--sans);margin:0 0 8px}.answer .verdict.ok{color:#2f8a4c}.answer .verdict.no{color:#b0571b}.answer blockquote{border-left:3px solid var(--pep);font:15.5px/1.8 var(--song);color:#1d4c8c;background:#f3f7fc;margin:0 0 10px;padding:8px 12px}.answer .formula{text-align:center;border:1.5px solid var(--pep);width:max-content;max-width:100%;font:italic 600 18px/1.4 "Times New Roman", var(--song);color:var(--ink);margin:10px auto;padding:6px 14px}.answer .why{font:14px/1.75 var(--song);color:#3b4254;margin:0}.answer .src{font:11.5px/1.4 var(--sans);color:var(--ink2);margin-top:10px}.seal-stamp{border:3px solid var(--seal);width:74px;height:74px;color:var(--seal);font:700 22px/1 var(--song);letter-spacing:2px;writing-mode:vertical-rl;opacity:0;pointer-events:none;mix-blend-mode:multiply;background:radial-gradient(circle at 30% 30%,#c8341f0f,#0000 60%);border-radius:10px;place-items:center;display:grid;position:absolute;bottom:10px;right:14px;transform:scale(2.2)rotate(-14deg)}.seal-stamp.on{animation:.45s cubic-bezier(.3,1.6,.5,1) forwards stamp}@keyframes stamp{to{opacity:.9;transform:scale(1)rotate(-10deg)}}.tag3d{z-index:4;pointer-events:none;font:600 13px/1 var(--sans);color:var(--ink);white-space:nowrap;text-shadow:0 0 3px #fff,0 0 6px #fff;transition:opacity .2s;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.tag3d.mag{color:#d4006c;font-family:Times New Roman,serif;font-size:16px;font-style:italic}.tag3d.pill{text-shadow:none;background:#ffffffeb;border-radius:6px;padding:5px 8px;font-size:12px;font-weight:500;box-shadow:0 2px 8px #00000026}.tag3d.big{font-size:15px}@media (max-width:760px){#panel{width:auto;height:52vh;inset:auto 8px 8px}#hint{font-size:11.5px;bottom:70px}.brand span{display:none}}#capsule{left:50%;bottom:max(18px, env(safe-area-inset-bottom));z-index:12;max-width:min(860px,100vw - 24px);font:14px/1.45 var(--song);color:var(--ink);background:#fdfbf4f0;border-radius:999px;align-items:center;gap:12px;padding:7px 16px 7px 8px;animation:.5s cubic-bezier(.2,.8,.2,1) capin;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 6px 24px #00000047,0 0 0 1px #0000000d}@keyframes capin{0%{opacity:0;transform:translate(-50%,20px)}}#capsule .cap-back{font:13px/1 var(--sans);color:#5e5648;white-space:nowrap;background:#efe7d6;border:0;border-radius:999px;padding:6px 12px}#capsule .cap-back:hover{background:#e6dcc6}#capsule .cap-fig{font:12px/1 var(--sans);color:#8b8170;white-space:nowrap}#capsule .cap-msg{color:#2c3a55}#capsule .cap-msg.flash{animation:.6s capflash}@keyframes capflash{0%{color:#c8341f}}body.world-ui #hud-top .hud-actions{opacity:.35}body.world-ui .tag3d.pill{color:#2c3245;transform-origin:50%;background:#fdfaf1;border-radius:2px;padding:5px 9px 4px;font:15px/1.15 Hannotate SC,HanziPen SC,Kaiti SC,STKaiti,serif;box-shadow:0 2px 5px #3c280a38,inset 0 0 0 1px #78643c1f}body.world-ui .tag3d.pill:after{content:"";background:#e6d7aabf;width:14px;height:7px;margin-left:-7px;position:absolute;top:-4px;left:50%;transform:rotate(-4deg)}.tag3d.btn{pointer-events:auto;cursor:pointer}body.world-ui .tag3d.btn{color:#8a4b10;background:#fff4d6;box-shadow:0 3px 8px #78460a4d,inset 0 0 0 1.5px #e0b866}body.world-ui .tag3d.btn:hover{background:#ffe9b0}.tag3d.btn{animation:1.6s ease-in-out infinite nudge}@keyframes nudge{50%{margin-top:-3px}}#viewctl{right:16px;bottom:max(56px, calc(env(safe-area-inset-bottom) + 44px));z-index:6;flex-direction:column;gap:6px;display:flex;position:fixed}#viewctl button{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#f4ead8;width:36px;height:36px;font:18px/1 var(--sans);background:#1e17128c;border:1px solid #ffffff29;border-radius:10px;place-items:center;display:grid}#viewctl button:hover{background:#3c2d22cc}#viewctl .reset{opacity:.45;transition:opacity .3s,background .3s}#viewctl.changed .reset{opacity:1;background:#c87832bf}#css3d .board{pointer-events:auto;box-sizing:border-box;color:#2a2f3d;width:400px;font-family:var(--song);-webkit-font-smoothing:antialiased;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:radial-gradient(120% 80% at 30% 0,#ffffff8c,#0000 60%),repeating-linear-gradient(0deg,#78643c06 0 1px,#0000 1px 3px),#f8f2e3;border-radius:2px;flex-direction:column;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #78643c2e,inset 0 0 40px #a082501f}#css3d .board[hidden]{display:none}.board .p-head{border-bottom:1.5px solid #2a2f3dbf;margin:0 18px;padding:18px 0 8px}.board .p-fig{font:12px/1 var(--song);color:#8a7d64;letter-spacing:.08em}.board .p-title{font:700 21px/1.3 var(--song);color:#1f4f8f;margin-top:6px}.board .p-close{color:#8a7d64;font:13px/1 var(--song);text-underline-offset:3px;background:0 0;border:0;padding:4px 0;text-decoration:underline}.board .p-close:hover{color:#1f4f8f;background:0 0}.board .p-tabs{border:0;gap:0;margin:0 18px}.board .p-tab{font:15px/1 var(--song);color:#a99c84;padding:11px 0 9px}.board .p-tab b{color:inherit;width:18px;height:18px;font:12px/16px var(--song);background:0 0;border:1.2px solid}.board .p-tab.on{color:#1f4f8f;font-weight:700}.board .p-tab.on:after{background:#1f4f8f;border-radius:0;height:1.5px;bottom:2px;left:10%;right:10%}.board .p-tab.done{color:#5d7a57}.board .p-tab.done b{color:#5d7a57;background:0 0;border-color:#5d7a57}.board .p-tab.done b:before{content:"✓";position:absolute}.board .p-tab.done b{color:#0000;position:relative}.board .p-tab.done b:before{color:#5d7a57;top:0;left:3px}.board .p-body{padding:10px 22px 22px}.board .p-body::-webkit-scrollbar{width:6px}.board .p-body::-webkit-scrollbar-thumb{background:#78643c40;border-radius:3px}.board .bar-title{font:700 15px/1 var(--song);color:#1f4f8f;letter-spacing:.1em}.board .bar-title:before{background:#1f4f8f;border-radius:0;width:4px;height:15px}.board .bar-title:after{background:linear-gradient(90deg,#1f4f8f66,#0000);border-radius:0;height:1px}.board .q{color:#1f3f73;font-size:16px}.board .note{font-family:var(--song);color:#8a7d64}.board .opt{font:15.5px/1.5 var(--song);background:0 0;border:0;border-bottom:1px dashed #78643c4d;border-radius:0;padding:10px 2px 10px 32px;position:relative}.board .opt:before{content:"";border:1.5px solid #4a4f5e;border-radius:1px;width:16px;height:16px;position:absolute;top:13px;left:4px}.board .opt:hover{background:#1f4f8f0d;transform:none}.board .opt.picked{color:#1f4f8f;background:0 0}.board .opt.picked:after{content:"✓";color:#1f5fae;font:700 22px/1 Hannotate SC,Kaiti SC,serif;position:absolute;top:4px;left:6px}.board .go{color:#1f4f8f;font:700 15px/1 var(--song);letter-spacing:.1em;background:0 0;border:1.5px solid #1f4f8f;border-radius:2px;padding:11px;box-shadow:2px 2px #1f4f8f2e}.board .go:hover:not(:disabled){background:#1f4f8f12}.board .go:active:not(:disabled){transform:translate(1px,1px);box-shadow:1px 1px #1f4f8f2e}.board .go.ghost{color:#6b5f48;box-shadow:none;border-style:dashed;border-color:#8a7d64}.board .go:disabled{color:#b8ad97;box-shadow:none;background:0 0;border-color:#cfc5b0}.board .ctl-label{font:13px/1.4 var(--song);color:#6b5f48}.board .ctl-label output{color:#1f3f73;font:600 15px/1 Hannotate SC,Kaiti SC,serif}.board .seg{gap:4px}.board .seg button{font:14px/1.2 var(--song);color:#4a4f5e;background:0 0;border:1px solid #0000;border-bottom-color:#78643c59;border-radius:2px;padding:7px 8px}.board .seg button:hover{border-color:#1f4f8f4d}.board .seg button.on{color:#1f4f8f;background:#1f4f8f0d;border:1.5px solid #1f4f8f;font-weight:700}.board input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:repeating-linear-gradient(90deg,#6b5f48 0 1px,#0000 1px 10%) bottom/100% 7px no-repeat,repeating-linear-gradient(90deg,#a99c84 0 1px,#0000 1px 2%) bottom/100% 4px no-repeat,linear-gradient(#6b5f48,#6b5f48) bottom/100% 1px no-repeat;height:18px}.board input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;clip-path:polygon(50% 100%,0 30%,0 0,100% 0,100% 30%);cursor:grab;background:#1f4f8f;width:14px;height:16px}.board .readout div{background:0 0;border-left:2px solid #1f4f8f59;border-radius:0;padding:2px 10px}.board .readout span{font:12px/1.3 var(--song);color:#8a7d64}.board .readout b{color:#1f3f73;font:400 21px/1.3 Hannotate SC,HanziPen SC,Kaiti SC,serif}.board .status{color:#7a3a22;font:14.5px/1.6 "Hannotate SC", "Kaiti SC", var(--song);background:0 0;border-left:2px solid #c8341f;border-radius:0;padding:2px 10px}.board table.data th{color:#4a4f5e;font:600 12px/1.3 var(--song);background:0 0;border:0;border-bottom:1.5px solid #4a4f5e}.board table.data td{color:#2a2f3d;background:0 0;border:0;border-bottom:1px solid #78643c4d;font:15px/1.4 Hannotate SC,Kaiti SC,serif}.board table.data tr.new td{animation:none}.board canvas.chart{background:#ffffff59;border-radius:0;box-shadow:inset 0 0 0 1px #78643c33}.board .ebar .track{background:#78643c1f;border-radius:0}.board .ebar .fill{border-radius:0}.board .progress-need{font-family:var(--song);color:#8a7d64}.board .flap-front{background:repeating-linear-gradient(-45deg,#efe4cb 0 8px,#eadfc4 8px 16px);border-radius:2px}.board .answer{background:#fffcf4;border-color:#78643c4d;border-radius:2px}body.stand-ui #hud-top .hud-actions{opacity:.5}.board .p-acts{position:absolute;top:14px;right:0}.board .p-head{cursor:grab;position:relative}.board .p-head:active{cursor:grabbing}.board:before{content:"";background:#78643c38;border-radius:2px;width:46px;height:4px;margin-left:-23px;position:absolute;top:5px;left:50%}.board.lying{cursor:pointer}.board.lying *{pointer-events:none}.board .p-close{position:static}#css3d .board{position:relative}.board-ear{cursor:pointer;z-index:2;background:linear-gradient(225deg,#2a211b 0 50%,#e9dcbf 50% 100%);width:34px;height:34px;transition:width .2s,height .2s;position:absolute;top:0;right:0;box-shadow:-2px 2px 3px #503c1e40}.board-ear:hover{width:42px;height:42px}.board-ear:after{content:"▾";font:12px/1 var(--song);color:#8a7d64;position:absolute;bottom:3px;left:6px}.board .p-acts{right:40px}.board-tab{color:#8a4b10;z-index:3;font:30px/1 "Hannotate SC", "Kaiti SC", var(--song);opacity:0;pointer-events:none;white-space:nowrap;background:#fff4d6;border-radius:3px;padding:12px 26px 10px;transition:opacity .3s;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:0 2px 6px #78460a40}.board.lying .board-tab{opacity:1}.board.lying .board-ear{opacity:0}#panel.board{color:#2a2f3d;background:radial-gradient(120% 80% at 30% 0,#ffffff8c,#0000 60%),repeating-linear-gradient(0deg,#78643c06 0 1px,#0000 1px 3px),#f8f2e3;border-radius:3px;transition:transform .5s cubic-bezier(.3,.8,.2,1);animation:.6s cubic-bezier(.2,.8,.2,1) paperin;overflow:visible;transform:rotate(-.6deg);box-shadow:0 18px 40px #140c0473,0 2px 6px #140c0440,inset 0 0 0 1px #78643c2e,inset 0 0 40px #a082501f}@keyframes paperin{0%{opacity:0;transform:translate(-60px)rotate(-3deg)}}#panel.board .p-body{overflow:auto}#panel.board .p-head{border-bottom:1.5px solid #2a2f3dbf;margin:0 18px;padding:18px 0 8px 22px;position:relative}#panel.board .p-close{position:absolute;top:18px;right:0}.p-tuck{font:28px/1 var(--song);color:#8a7d64;cursor:pointer;padding:0 4px;position:absolute;top:14px;left:-4px}.p-tuck:hover{color:#1f4f8f}.p-spine{display:none}#panel.board.folded{transform:translate(calc(30px - 100%))rotate(0)}#panel.board.folded .p-spine{cursor:pointer;z-index:3;writing-mode:vertical-rl;width:30px;font:700 15px/1 var(--song);letter-spacing:.3em;color:#1f4f8f;background:linear-gradient(90deg,#efe6d0,#f8f2e3);border-left:1px solid #78643c4d;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;right:0}#panel.board.folded .p-spine:hover{background:#f3ead3}@media (max-width:760px){#panel.board{transform:none}#panel.board.folded{transform:translateY(calc(100% - 34px))}#panel.board.folded .p-spine{writing-mode:horizontal-tb;border-bottom:1px solid #78643c4d;border-left:0;width:auto;height:34px;inset:0 0 auto}}.board .p-acts{white-space:nowrap}#panel.board .p-acts{top:16px;right:0}#panel.board .p-title{padding-right:76px}.page-crop{background-repeat:no-repeat;border-radius:2px;width:100%;margin:0 auto 10px;box-shadow:0 1px 4px #3c280a33,inset 0 0 0 1px #78643c26}body.theme-day{background:#e9e1d3}body.theme-day .brand{color:#2c3245}body.theme-day .brand span{color:#7a6f5c}body.theme-day .chip,body.theme-day #hud-pager,body.theme-day #viewctl button{color:#3a3f4e;background:#fdfaf2d1;border-color:#78643c38;box-shadow:0 2px 8px #5a46281f}body.theme-day .chip:hover,body.theme-day #viewctl button:hover{background:#fff}body.theme-day .round{color:#3a3f4e;background:#78643c14}body.theme-day .chip-live em{color:#c25a2a}body.theme-day #hint{color:#3c3223b3}body.theme-day #copy{color:#3c322373}body.home #hud-top,body.home #hud-pager,body.home #hint,body.home #copy,body.home #viewctl{display:none}#home{pointer-events:none;z-index:5;font-family:var(--song);color:#2c3245;transition:opacity .5s;position:fixed;inset:0}#home>*{pointer-events:auto}#home.leaving{opacity:0}body.home:after{content:"";z-index:2;pointer-events:none;background:radial-gradient(75% 70% at 42% 46%,#0000 55%,#462d1429 100%);position:fixed;inset:0}.home-top{z-index:1;padding:max(22px, env(safe-area-inset-top)) 28px 0;pointer-events:none;justify-content:space-between;align-items:flex-start;gap:24px;display:flex;position:absolute;top:0;left:0;right:0}.home-top>*{pointer-events:auto}.home-brand b{font:700 30px/1 var(--song);letter-spacing:.14em;color:#2c3245;display:block}body.mood .home-brand b{color:#f4ead6;text-shadow:0 2px 14px #00000059}body.mood .home-brand span{color:#d9c9a8;text-shadow:0 1px 10px #00000059}body.mood .home-copy{color:#f0e4cd80}body.mood .home-search input{background:#f4ecdd}body.mood .note-card{filter:brightness(.94)saturate(.95)}.home-brand span{font:20px/1.4 "Kaiti SC", "STKaiti", "KaiTi", var(--song);color:#4a3f2f;letter-spacing:.2em;margin-top:10px;display:block}.home-search{width:min(440px,46vw);position:relative}.home-search input{box-sizing:border-box;width:100%;font:15px/1.2 var(--song);color:#2c3245;background:#fdfaf1;border:0;border-radius:2px;outline:none;padding:13px 18px;box-shadow:0 2px 8px #5a46282e,inset 0 0 0 1px #78643c2e}.home-search input:focus{box-shadow:0 3px 12px #5a462840,inset 0 0 0 1.5px #1f4f8f}.search-list{background:#fdfaf1;border-radius:2px;max-height:60vh;padding:6px 0;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto;box-shadow:0 10px 30px #3c281440}.search-item{color:inherit;grid-template-rows:auto auto;grid-template-columns:46px 1fr;column-gap:10px;padding:9px 16px;text-decoration:none;display:grid}.search-item:hover{background:#f3ead6}.search-item .k{font:12px/1 var(--sans);text-align:center;color:#8a7d64;border:1px solid;border-radius:2px;grid-row:span 2;align-self:center;padding:5px 0;font-style:normal}.search-item .k-活页{color:#c25a2a}.search-item b{font:600 15px/1.3 var(--song)}.search-item span{font:12px/1.4 var(--sans);color:#8a7d64}.search-empty{color:#8a7d64;padding:12px 16px;font-size:14px}.home-notes{pointer-events:none;flex-direction:column;gap:26px;width:262px;display:flex;position:absolute;top:128px;right:44px}@media (max-aspect-ratio:3/2){.home-notes{flex-direction:row;justify-content:center;width:auto;inset:auto 0 86px}}.home-notes>*{pointer-events:auto}.note-card{box-sizing:border-box;color:#2c3245;background:#fdf3c4;border-radius:1px;width:262px;padding:14px 18px 16px;text-decoration:none;transition:transform .25s;display:block;position:relative;transform:rotate(-1.4deg);box-shadow:0 6px 14px #5a461438}.note-card.next{background:#e6f1fb;transform:rotate(1deg)}.note-card:hover{transform:rotate(0)translateY(-2px)}.note-card:before{content:"";background:#f0e2b4b3;width:56px;height:18px;margin-left:-28px;position:absolute;top:-9px;left:50%;transform:rotate(-3deg)}.note-card small{font:13px/1 var(--sans);color:#8a6d20;letter-spacing:.1em;margin-bottom:8px;display:block}.note-card.next small{color:#3a6e9e}.note-card b{font:700 19px/1.35 "Hannotate SC", "Kaiti SC", var(--song);display:block}.note-card span{font:12.5px/1.4 var(--sans);color:#6b5f48;margin-top:6px;display:block}.tag3d.sticky{pointer-events:auto;cursor:pointer;color:#3a3f4e;font:13px/1.45 "Hannotate SC", "Kaiti SC", var(--song);text-shadow:none;white-space:nowrap;transform-origin:50%;background:#fdf3c4;border-radius:1px;padding:8px 12px 9px;box-shadow:0 4px 10px #5a461440}.tag3d.sticky b{font:700 15px/1.3 var(--song)}.tag3d.sticky span{color:#c25a2a}.home-foot{left:0;right:0;bottom:max(18px, env(safe-area-inset-bottom));pointer-events:none;justify-content:center;align-items:center;gap:14px;display:flex;position:absolute}.home-foot>*{pointer-events:auto}.paper-btn{font:600 15px/1 var(--song);letter-spacing:.1em;color:#1f4f8f;cursor:pointer;background:#fdfaf1;border:0;border-radius:2px;padding:12px 22px;box-shadow:0 3px 10px #5a462833,inset 0 0 0 1.5px #1f4f8f80}.paper-btn:hover{background:#fff}.home-copy{font:11px/1 var(--sans);color:#3c322373;position:absolute;bottom:0;right:20px}.home-author{z-index:2;left:max(20px, env(safe-area-inset-left));bottom:max(18px, env(safe-area-inset-bottom));position:absolute}.author-chip{cursor:pointer;text-align:left;color:#2c3245;background:#fdfaf1;border:0;border-radius:2px;align-items:center;gap:9px;padding:7px 14px 7px 7px;display:flex;box-shadow:0 3px 10px #5a46282e}.author-chip img{border-radius:50%;width:30px;height:30px;display:block}.author-chip b{font:600 13px/1.25 var(--song);letter-spacing:.03em;display:block}.author-chip small{font:11px/1.2 var(--sans);color:#8a7d64;margin-top:2px;display:block}.author-qr{box-sizing:border-box;text-align:center;opacity:0;pointer-events:none;background:#fdfaf1;border-radius:2px;width:206px;padding:14px 14px 12px;transition:opacity .2s,transform .2s;position:absolute;bottom:calc(100% + 10px);left:0;transform:translateY(6px);box-shadow:0 8px 22px #5a462840}.author-qr img{box-sizing:content-box;background:#fff;width:132px;height:132px;margin:0 auto;padding:4px;display:block}.author-qr p{font:13px/1.3 var(--song);color:#2c3245;margin:10px 0 0}.author-qr small{font:11px/1.3 var(--sans);color:#8a7d64;margin-top:6px;display:block}.home-author.open .author-qr{opacity:1;pointer-events:auto;transform:none}@media (hover:hover){.home-author:hover .author-qr{opacity:1;pointer-events:auto;transform:none}}#overview{z-index:30;background:#3c2d1e47;place-items:center;animation:.4s ovin;display:grid;position:fixed;inset:0}@keyframes ovin{0%{opacity:0}}.ov-paper{background:#f8f2e3;border-radius:2px;flex-direction:column;width:min(1100px,94vw);height:min(86vh,900px);animation:.5s cubic-bezier(.2,.8,.2,1) paperin;display:flex;box-shadow:0 30px 80px #28190a73}.ov-head{border-bottom:1.5px solid #2a2f3db3;align-items:center;gap:24px;margin:0 26px;padding:22px 0 14px;display:flex}.ov-head h2{font:700 22px/1 var(--song);color:#1f4f8f;letter-spacing:.12em;margin:0}.ov-tabs{flex:1;gap:6px;display:flex}.ov-tabs button{font:15px/1 var(--song);color:#6b5f48;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;padding:7px 12px}.ov-tabs button.on{border-color:var(--c,#1f4f8f);color:var(--c,#1f4f8f);background:#1f4f8f0d;font-weight:700}.ov-tabs{flex-wrap:wrap;align-items:center;row-gap:6px}.ov-subj{font:700 13px/1 var(--song);letter-spacing:.2em;color:#fff;background:var(--c);border-radius:5px 5px 0 0;margin:0 2px 0 10px;padding:4px 9px 3px}.ov-subj:first-child{margin-left:0}.ov-close{font:14px/1 var(--song);color:#8a7d64;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;text-decoration:underline}.ov-body{padding:8px 26px 30px;overflow:auto}.ov-body h3{font:700 17px/1 var(--song);color:#2c3245;margin:22px 0 12px}.ov-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px;display:grid}.ov-card{color:inherit;background:#fffdf6;border-radius:2px;padding:10px;text-decoration:none;transition:transform .2s,box-shadow .2s;display:block;position:relative;box-shadow:0 2px 8px #5a462826}.ov-card:hover{transform:translateY(-3px);box-shadow:0 8px 18px #5a462838}.ov-thumb{background-color:#fff;background-repeat:no-repeat;width:100%;max-height:150px;margin-bottom:8px;box-shadow:inset 0 0 0 1px #78643c1f}.ov-card b{font:600 14.5px/1.35 var(--song);display:block}.ov-card span{font:12px/1.3 var(--sans);color:#8a7d64;margin-top:3px;display:block}.ov-done{font:700 12px/1 var(--song);color:#c8341f;background:#fffc;border:1.5px solid #c8341f;padding:4px 5px;font-style:normal;position:absolute;top:8px;right:8px;transform:rotate(-8deg)}@media (max-width:760px){.home-top{flex-direction:column;gap:14px;padding:18px 16px 0}.home-search{width:100%}.home-notes{gap:12px;inset:auto 14px 74px}.note-card{flex:1 1 0;width:auto;min-width:0;padding:11px 12px 12px}.note-card b{overflow-wrap:anywhere;font-size:16px}.note-card span{font-size:11.5px}.tag3d.sticky{padding:6px 9px 7px;font-size:12px}.tag3d.sticky b{font-size:13.5px}.home-foot{bottom:max(8px, env(safe-area-inset-bottom));flex-direction:column;gap:6px}.home-copy{position:static}.home-author{left:auto;right:14px;top:max(18px, env(safe-area-inset-top));bottom:auto}.author-chip{border-radius:50%;padding:4px}.author-chip span{display:none}.author-qr{inset:calc(100% + 8px) 0 auto auto}}body.predicting .tag3d:not(.sticky){visibility:hidden!important}#panel.board.folded>:not(.p-spine){visibility:hidden}.prev-record{font:13px/1.5 var(--sans);color:#6b5f48;margin:10px 0 4px}.prev-record summary{cursor:pointer;color:#8a7d64}.prev-record table.data td{opacity:.7}[hidden]{display:none!important}canvas.chart{cursor:zoom-in}.chart-zoom{z-index:60;cursor:zoom-out;background:#28221859;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.chart-zoom-paper{text-align:center;background:#fbf8ef;border-radius:2px;width:min(1100px,92vw);padding:18px 20px 10px;box-shadow:0 18px 50px #00000059}.chart-zoom-paper canvas.chart{cursor:zoom-out;width:100%;height:auto;display:block}.chart-zoom-paper small{font:12px/2 var(--sans);color:#8a7d62}.tag3d:empty{display:none!important}.readout .peek{float:right;font:11px/1.3 var(--sans);color:#b07a2a;cursor:pointer;background:0 0;border:0;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.readout .readself{font:13px/1.6 var(--sans);color:#a58c5a;font-weight:400}.now{margin:0 0 14px}.now .status{margin-bottom:8px}.now-ask .btn-row{margin:0 0 4px!important}.now-ask .btn-row .go,.now-ask .btn-row .go.ghost{color:#7a4a12;box-shadow:none;background:#fff7e8;border:1.5px solid #e0a44a;border-radius:18px;font-weight:600}.now-ask .btn-row .go:hover{background:#ffefd3}.how-to{font:12.5px/1.6 var(--sans);color:#8a7f6c;margin:2px 0 14px}.how-to summary{cursor:pointer;color:#6b5f48;margin-bottom:4px;font-weight:600}.how-to .note{margin:4px 0}.p-tab.skip b{background:#d9d2c4;font-size:0}.p-tab.skip b:after{content:"–";font-size:11px}.board .p-tab.skip b{color:#0000;background:0 0;border:1.2px dashed #b8ad97;position:relative}.board .p-tab.skip b:after{content:"–";color:#a99c84;font-size:12px;position:absolute;top:0;left:4px}.read-card{background:#fbf8ef;border:1px dashed #cdbf9c;border-radius:3px;margin:6px 0 10px;padding:8px 10px}.read-row{gap:14px;margin:4px 0 8px;display:flex}.read-row label{font:13px/1.4 var(--sans);color:#4b4f5c}.read-in{width:64px;font:15px/1.2 var(--sans);background:#fff;border:1px solid #c9bfa6;border-radius:2px;padding:4px 6px}.fineprint{font:12px/1.6 var(--sans);color:#7b7262;margin:6px 0 10px}.fineprint.warn{color:#a8501a;background:#fbefe2;border-radius:3px;padding:6px 8px}.q-title{font:600 13.5px/1.6 var(--song);color:#2c3245;margin:8px 0 4px}:root{--kai:"Kaiti SC", "STKaiti", "KaiTi", "楷体", "Songti SC", serif;--heat:#e8672a;--o2:#2f7fd8;--fuel:#3d8b5f}.lbar{z-index:12;border:1px solid #2b314238;border-top:2px solid var(--pep);width:min(820px,100vw - 470px);font:16px/1.45 var(--kai);color:var(--ink);background:#fffdf7;align-items:center;gap:12px;padding:8px 12px 8px 10px;transition:background .35s,color .35s,border-color .35s;display:flex;position:fixed;bottom:16px;left:calc(50% + 200px);transform:translate(-50%);box-shadow:0 6px 20px #3c280a24}body:not(.lesson-on) .lbar,body.predicting .lbar{display:none}.lbar button{font:13px/1 var(--song);color:var(--ink2);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:6px 4px}.lbar button:hover{color:var(--pep)}.lb-seal{font:700 13px/1 var(--song);color:var(--pep);writing-mode:vertical-rl;letter-spacing:.15em;border:1.6px solid;border-radius:2px;flex:none;padding:4px 3px;transform:rotate(-4deg)}.lb-main{flex:1;min-width:0}.lb-n{color:var(--pep);font:700 15px/1 var(--song);margin-right:2px}.lb-steps{flex:none;gap:4px;display:flex}.lb-steps i{font:12px/18px var(--song);text-align:center;color:#b8ad98;box-sizing:border-box;border:1px solid #ddd3c0;border-radius:50%;width:19px;height:19px;font-style:normal;transition:all .3s}.lb-steps i.cur{color:#fff;background:var(--pep);border-color:var(--pep)}.lb-steps i.done{color:#fff;background:#5d7a57;border-color:#5d7a57;font-size:0}.lb-steps i.done:after{content:"✓";font:700 11px/17px var(--sans)}.lbar .lb-demo{color:var(--seal);border:1.3px solid #c8341f80;border-radius:2px;padding:6px 8px;font-weight:700}.lbar .lb-demo:hover{color:#fff;background:var(--seal)}.lbar .lb-pause,.lbar .lb-exit,.lbar .lb-back{display:none}.lbar.near.do .lb-back{text-underline-offset:3px;text-decoration:underline;display:inline}.lbar .lb-snd.off{opacity:.5;text-decoration:line-through}.lbar.film{color:#f4efe2;border-color:#2b3142;border-top-color:var(--seal);background:#2b3142}.lbar.film .lb-seal{color:#ff8a6e}.lbar.film.tour .lb-seal{color:#8fb8ff}.lbar.film.tour{border-top-color:#6f9be8}.lbar.film .lb-n{color:#ffb59f}.lbar.film.tour .lb-n{color:#a9c8ff}.lbar.film .lb-steps i{color:#ffffff73;border-color:#ffffff40}.lbar.film .lb-steps i.cur{color:#2b3142;background:#f4efe2;border-color:#f4efe2}.lbar.film .lb-steps i.done{background:#ffffff40;border-color:#0000}.lbar.film .lb-demo{display:none}.lbar.film .lb-pause,.lbar.film .lb-exit{color:#f4efe2cc;display:inline}.lbar.film .lb-snd{color:#f4efe299}.lbar.film.paused .lb-main:after{content:"（暂停）";opacity:.6}.tag3d.cond{text-shadow:none;white-space:nowrap}.tag3d.cond .cc{font:14px/1.3 var(--kai);color:#2b3142;background:#fffdf7;border-radius:3px;padding:5px 8px 6px;box-shadow:0 3px 10px #3c2d0f33,0 0 0 1px #3c2d0f14}.cc-t{align-items:center;gap:7px;display:flex}.cc-name{font:700 14px/1.3 var(--song);letter-spacing:.02em}.cc-more{margin-top:4px}.cc-res{font:700 12px/1 var(--song);color:#6b6f7a;border:1.3px solid;border-radius:2px;margin-left:auto;padding:2px 3px 1px;animation:.35s cubic-bezier(.3,1.6,.5,1) stampIn;transform:rotate(-6deg)}.cc-res.burn{color:var(--seal)}@keyframes stampIn{0%{opacity:0;transform:rotate(-6deg)scale(1.8)}to{opacity:1;transform:rotate(-6deg)scale(1)}}.cc-obs{align-items:center;gap:4px;font-size:13px;display:flex}.cc-obs b{font:700 16px/1 var(--kai);color:var(--heat)}.cc-obs small{color:#8a7d64;margin-right:6px;font-size:11px}.cc-th{background:#fff;border:1px solid #c9b9a0;border-radius:3px;width:6px;height:18px;position:relative;overflow:hidden}.cc-th i{background:linear-gradient(#ffb074, var(--heat));position:absolute;bottom:0;left:0;right:0}.cc-air{color:#8a8f9a;border:1px dashed #b9bcc4;border-radius:9px;padding:1px 6px;font-size:12.5px}.cc-air.on{color:var(--o2);background:#2f7fd812;border:1px solid #2f7fd873}.cc-toks{gap:5px;display:flex}.tok{font:700 12.5px/1 var(--kai);color:#fff;border-radius:10px;padding:5px 7px 4px;position:relative;overflow:hidden}.tok.fuel.on{background:var(--fuel)}.tok.o2.on{background:var(--o2)}.tok.heat.on{background:var(--heat)}.tok.miss{color:#b3412a;background:#fff;border:1.5px dashed #d1694f;padding:3.5px 6px 2.5px}.tok.na{color:#a9adb6;background:#fff;border:1px dashed #c9ccd3;font-weight:400}.tok.heat i{z-index:0;background:#e8672a2e;position:absolute;top:0;bottom:0;left:0}.tok.heat.on i{display:none}.tok em{margin-right:3px;font-size:11px;font-style:normal;font-weight:400;position:relative}.cc-note{color:#8a7d64;margin-top:3px;font-size:12px}#panel.xuean .progress-need,.board.xuean .progress-need{display:none}.xuean .status{border-left:2px solid var(--pep);color:#2b3142;font:14.5px/1.65 var(--kai);background:0 0;border-radius:0;padding:2px 0 2px 10px}.xuean table.data{border-collapse:collapse;width:100%;font:13px/1.45 var(--song)}.xuean table.data th{font:700 12.5px/1.4 var(--song);color:#6d6455;text-align:left;border-bottom:1.2px solid #2b3142;padding:4px}.xuean table.data td{color:#2b3142;vertical-align:top;border-bottom:1px solid #2b314226;padding:6px 4px}.xuean table.data td b{color:var(--seal);font-weight:700}.xuean table.data tr.new td{animation:1.2s ease-out inkIn}@keyframes inkIn{0%{color:#0000;background:#1f6fb81f}40%{color:inherit}to{background:0 0}}.think{background:#fffaf0;border:1px solid #c8a05a59;border-radius:3px;margin:4px 0 12px;padding:10px 12px 6px}.think-t{font:700 15px/1 var(--song);color:var(--seal);letter-spacing:.1em;margin-bottom:8px}.think-t:before{content:"？";text-align:center;border:1.4px solid;border-radius:50%;width:20px;height:20px;margin-right:6px;font-size:12px;line-height:20px;display:inline-block}.think-q{font:700 14.5px/1.6 var(--song);color:#2b3142;margin:8px 0}.sum-ctx{font:13.5px/1.75 var(--song);color:#3b4254;background:#fff;border-left:2px solid #e3d6bb;padding:6px 10px}.sum-ctx b.y{color:var(--seal)}.sum-ctx b.n{color:#6b6f7a}.think .btn-row .go{text-align:left}.more{border-top:1px dashed #78643c40;margin-top:10px;padding-top:4px}.more>summary{cursor:pointer;font:13.5px/1.6 var(--song);color:#8a7d64;padding:5px 0}.more[open]>summary{color:var(--pep)}.more .fineprint{margin:2px 0 8px}.go.big-next{background:var(--seal);color:#fff;width:100%;font:700 15px/1 var(--song);letter-spacing:.05em;border:0;border-radius:3px;margin:4px 0 12px;padding:13px}.go.big-next:hover{background:#a92a17}#viewctl .show-tg{position:relative}#viewctl .show-tg svg{display:block}#viewctl .show-tg .slash{opacity:0;transition:opacity .2s}#viewctl .show-tg.off{opacity:.55}#viewctl .show-tg.off .slash{opacity:1}#viewctl .show-tg:after{content:attr(data-tip);white-space:nowrap;pointer-events:none;font:13px/1 var(--song);color:#2b3142;opacity:0;background:#fffdf7;border-radius:3px;padding:7px 9px;transition:opacity .15s,transform .15s;position:absolute;top:50%;right:calc(100% + 8px);transform:translate(4px,-50%);box-shadow:0 2px 8px #3c2d0f2e}#viewctl .show-tg:hover:after{opacity:1;transform:translateY(-50%)}#viewctl .show-tg:last-of-type{margin-bottom:8px}body.hide-steps .lbar.do{display:none}.o2-read{background:#fff;border:1px solid #2f7fd873;border-radius:4px;width:70px;height:8px;position:relative;overflow:hidden}.o2-read i{background:var(--o2);position:absolute;top:0;bottom:0;left:0}.cc-obs b.o2-num{color:var(--o2)}.xuean .read-row{font:15px/1 var(--song);align-items:center;gap:6px;margin:4px 0 6px;display:flex}.xuean .read-row .read-in{width:72px;font:16px/1 var(--kai);border:1px solid #c9bda6;border-radius:3px;padding:6px 8px}.xuean .read-row .go{margin-left:auto}.cc-obs b.o2-dim{color:#6b6f7a}.micro-lens{z-index:60;pointer-events:none;transform-origin:0 100%;filter:drop-shadow(0 6px 14px #28241c38);position:fixed;top:0;left:0}.micro-lens .lens-cap{color:#3b4254;white-space:nowrap;background:#fbf8f0f2;border-radius:4px;width:max-content;max-width:240px;margin-top:6px;padding:3px 9px;font:12px/1.5 Songti SC,serif;box-shadow:0 1px #0000000f}.micro-lens .lens-cap b{color:#23293a}.tag3d.cond .rx-view{width:300px}.rx-view canvas{box-shadow:inset 0 0 0 1px #2f344340}.rx-view .rx-eq{text-align:center;color:#23293a;margin:6px 0 2px;font:600 17px/1.3 Songti SC,serif;transition:opacity .2s}.rx-view .rx-eq .arr{letter-spacing:-2px;color:#6b7080;margin:0 4px}.rx-view .rx-eq .s-co2{color:#3d4350}.rx-view .rx-eq .s-h2o{color:#2f7fb8}.rx-view .rx-eq .s-h2co3{color:#c23a52}.rx-view .rx-cap{color:#4a5060;text-align:center;white-space:normal;min-height:3em;font:12px/1.5 Songti SC,serif}.rx-view .rx-eq sub{vertical-align:-.25em;font-size:.62em}.rx-view .rx-cap b{color:#23293a}.mw{z-index:58;pointer-events:none;position:fixed;inset:0}.mw.live .mw-dim,.mw.live .mw-port,.mw.live .mw-close{pointer-events:auto}.mw-dim{-webkit-backdrop-filter:grayscale(.95)blur(2.2px)brightness(1.06);-webkit-mask-image:radial-gradient(circle at var(--fx) var(--fy), transparent 0 54px, #000 96px);-webkit-mask-image:radial-gradient(circle at var(--fx) var(--fy), transparent 0 54px, #000 96px);mask-image:radial-gradient(circle at var(--fx) var(--fy), transparent 0 54px, #000 96px);background:#f6f2e86b;position:absolute;inset:0}.mw-beam{pointer-events:none;filter:blur(3px);position:absolute;top:0;left:0}.mw-port{cursor:grab;border-radius:50%;position:absolute;overflow:hidden;box-shadow:0 0 0 2px #ffecc4e6,0 0 0 7px #8cb4ff2e,0 0 46px 10px #78a0ff59}.mw-port:active{cursor:grabbing}.mw-hud{text-align:center;pointer-events:none;position:absolute}.mw-eq{color:#ecf0fa8c;text-shadow:0 1px 8px #0009;font:600 26px/1.2 Songti SC,Times New Roman,serif;transition:color .3s,transform .3s}.mw-eq.on{color:#fff;transform:scale(1.06)}.mw-eq sub{vertical-align:-.25em;font-size:.6em}.mw-eq .arr{letter-spacing:-3px;opacity:.8;margin:0 6px}.mw-eq .s-co2{color:#d6dbe6}.mw-eq .s-h2o{color:#8fd2ff}.mw-eq .s-h2co3{color:#ff9fb0}.mw-cap{color:#e6ebf6e0;text-shadow:0 1px 6px #000000b3;max-width:100%;margin:6px auto 0;font:13px/1.5 Songti SC,serif}.mw-cap b{color:#fff}.mw:not(.holo) .mw-eq span[style],.mw:not(.holo) .mw-cap span[style]{filter:invert()hue-rotate(180deg)saturate(1.3)}.mw-close{color:#e8ecf5;cursor:pointer;background:#0d1524b3;border:1px solid #fff6;border-radius:14px;padding:5px 12px;font:13px Songti SC,serif;position:absolute}.mw-scale{text-align:center;color:#3b4254;letter-spacing:.08em;font:12px Songti SC,serif;position:absolute}.tag3d.pill.mw-go{cursor:pointer;pointer-events:auto;color:#fff;background:#1d2b45;border-color:#1d2b45}.mw .mw-holo{pointer-events:none;width:100vw;height:100vh;position:absolute;inset:0}.mw.holo.live .mw-dim{pointer-events:none}.mw.holo .mw-eq{color:#23293a73;text-shadow:0 1px #fff9}.mw.holo .mw-eq.on{color:#23293a}.mw.holo .mw-eq .s-co2{color:#3d4350}.mw.holo .mw-eq .s-h2o{color:#2f7fb8}.mw.holo .mw-eq .s-h2co3{color:#c23a52}.mw.holo .mw-cap{color:#3b4254;text-shadow:none}.mw.holo .mw-cap b{color:#23293a}html.to-home,html.to-home body{background:#e9e1d3}html.to-home #loader,html.to-home #hud-top,html.to-home #hud-pager,html.to-home #hint,html.to-home #copy{display:none}body.book-enter #hud-top,body.book-enter #hud-pager,body.book-enter #hint,body.book-enter #copy,body.book-enter #viewctl{animation:.7s .15s both lb-fadein}@keyframes lb-fadein{0%{opacity:0}}body.shelf-leave #hud-top,body.shelf-leave #hud-pager,body.shelf-leave #hint,body.shelf-leave #copy,body.shelf-leave #viewctl{pointer-events:none;transition:opacity .3s;opacity:0!important}.tag3d.sticky.slip{transform-origin:0 0;animation:none}.tag3d.desk-slip{pointer-events:auto;cursor:pointer;color:#2c3245;text-align:center;text-shadow:none;background:#fdfaf1;border-radius:1px;padding:7px 14px 8px;transition:opacity .2s,box-shadow .2s;box-shadow:0 2px 8px #5a46282e}.tag3d.desk-slip b{font:700 14px/1.3 var(--song);letter-spacing:.06em;display:block}.tag3d.desk-slip small{font:500 11.5px/1.3 var(--sans);color:#8a7d64;margin-top:3px;display:block}.tag3d.desk-slip:hover{box-shadow:0 4px 14px #5a46284d}.imp-tip{z-index:60;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#f4ead8;background:#1e1712e6;border-radius:14px;width:330px;padding:12px 14px;font-size:13px;line-height:1.6;position:fixed;box-shadow:0 10px 28px #00000040}.imp-tip[hidden]{display:none}.imp-tip:before{content:"";background:#1e1712e6;width:12px;height:12px;position:absolute;top:-6px;right:34px;transform:rotate(45deg)}.imp-tip b{color:#ffe2b0;margin-bottom:2px;font-size:14px;display:block}.imp-tip p{margin:0 0 4px}.imp-tip .imp-how{color:#f4ead8b3;font-size:12px}.imp-tip a{color:#ffd28a}.imp-tip .imp-acts{gap:8px;margin-top:8px;display:flex}.imp-tip .imp-btn{color:#2a2118;cursor:pointer;background:#f4ead8;border:1px solid #ffe2b099;border-radius:999px;padding:5px 14px;font-size:13px}.imp-tip .imp-btn.ghost{color:#f4ead8;background:0 0;border-color:#f4ead84d}.imp-tip.blink{animation:1.1s ease-in-out 3 impBlink}.imp-tip.up:before{inset:auto auto -6px calc(50% - 6px)}@keyframes impBlink{0%,to{box-shadow:0 10px 28px #00000040,0 0 #ffd28a00}50%{box-shadow:0 10px 28px #00000040,0 0 0 5px #ffd28a8c}}.ov-thumb.nopage{color:#7d8696;letter-spacing:.04em;background:#f6f1e6;justify-content:center;align-items:center;min-height:92px;font:15px/1 Songti SC,STSong,serif;display:flex}.timeline{gap:8px;margin:4px 0 12px;display:grid}.timeline .tl-row{font:13px/1.6 var(--sans);color:var(--ink2);background:#ffffff80;border-radius:6px;padding:6px 10px}.timeline .tl-row b{color:#1f3f73;margin-right:4px}.wx-map{background:#fbf8f0;border-radius:6px;width:100%;height:auto;margin:2px 0 10px;display:block}.cycle-wrap{position:relative}.cycle-dot{opacity:0;pointer-events:none;background:#e8833a;border-radius:50%;width:10px;height:10px;margin:-5px 0 0 -5px;transition:opacity .3s;position:absolute;top:2px;left:0;box-shadow:0 0 0 3px #e8833a38,0 0 8px #e8833a8c}.btn-col.busy{opacity:.45;pointer-events:none}.timeline .tl-row small{color:#6b5f48;margin-top:2px;display:block}.tag3d.pill.hot{animation:1.2s ease-in-out 2 tagHot;box-shadow:0 0 0 2px #4f6f98,0 2px 10px #28467859}@keyframes tagHot{50%{box-shadow:0 0 0 4px #4f6f98,0 2px 14px #28467873}}table.rec{border-collapse:collapse;width:100%;margin:4px 0;font-size:12px}table.rec th,table.rec td{text-align:center;border:1px solid #3c32282e;padding:3px 4px;font-weight:500}table.rec td small{color:#8a5a2b}.tag3d.btn.view{color:#8a4b10;text-shadow:none;background:#fff4d6;border-radius:14px;padding:5px 11px;font:600 12px/1.2 PingFang SC,sans-serif;animation:none;box-shadow:0 2px 6px #78460a40,inset 0 0 0 1.5px #e0b866}.tag3d.btn.view:hover{background:#ffe9b0}body.world-ui .tag3d.btn.view{border-radius:14px;padding:5px 11px;font:600 12px/1.2 PingFang SC,sans-serif}body.world-ui .tag3d.btn.view:after{display:none}body.world-ui .tag3d.btn.view.on,.tag3d.btn.view.on{color:#fff8e8;background:#8a4b10;box-shadow:0 3px 8px #78460a59}.tag3d.pill.callout{color:#2a2f3c;pointer-events:none;background:#fff;border-left:3px solid #c4462e;border-radius:2px;font-size:13px;font-weight:600;box-shadow:0 3px 12px #28283c38}.geo-views{z-index:30;gap:6px;display:flex;position:fixed;top:58px;left:calc(50% + 190px);transform:translate(-50%)}.geo-views button{cursor:pointer;color:#8a4b10;background:#fff4d6;border:0;border-radius:15px;padding:6px 13px;font:600 12px/1.2 PingFang SC,sans-serif;box-shadow:0 2px 6px #78460a40,inset 0 0 0 1.5px #e0b866}.geo-views button:hover{background:#ffe9b0}.geo-views button.on{color:#fff8e8;background:#8a4b10;box-shadow:0 3px 8px #78460a59}.read-out{color:#3a3226;margin:4px 0 10px;font-size:12px;line-height:1.6}.read-out small{color:#8a7a62}.read-out .sail-bar{vertical-align:middle;background:#e8e0cf;border-radius:3px;width:64px;height:6px;display:inline-block;overflow:hidden}.read-out .sail-bar i{background:#c4462e;border-radius:3px;height:100%;transition:width .4s;display:block}.geo-views{transition:opacity .5s}.tag3d.pill.note-badge{pointer-events:auto;cursor:help;font:500 11px/1 var(--sans);letter-spacing:.14em;box-shadow:none;color:#4e4636;opacity:.8;text-shadow:0 0 6px #fbf8f0,0 0 2px #fbf8f0;background:0 0;border-bottom:1px dotted;border-radius:0;padding:2px 0 3px;transition:opacity .2s}.tag3d.pill.note-badge:hover{opacity:1}.tag3d.pill.note-badge:hover:before{content:attr(data-full);white-space:nowrap;color:#3a3226;font:400 12px/1.5 var(--sans);letter-spacing:.02em;background:#fffdf6;border-radius:3px;padding:7px 11px;position:absolute;bottom:170%;left:-4px;box-shadow:0 6px 18px #281e0a29,0 0 0 .5px #3c321e26}.tag3d.hint{font:500 13px/1.5 var(--sans);color:#463e30;text-align:center;letter-spacing:.04em;text-shadow:0 0 10px #fbf8f0,0 0 4px #fbf8f0,0 0 2px #fbf8f0}.tag3d.hint span{animation:2.8s ease-in-out infinite hint-breath;display:block}.tag3d.hint small{color:#7a6e5a;letter-spacing:.02em;font-size:11.5px;display:block}@keyframes hint-breath{0%,to{opacity:.72}50%{opacity:1}}.btn-col{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.btn-col .go.choice{text-align:left;white-space:normal;padding:8px 12px;font-size:13px;line-height:1.45}.atlas-list{flex-direction:column;gap:4px;margin:6px 0 4px;display:flex}.atlas-ch{font:600 13px/1.4 var(--serif,"Songti SC", serif);color:#4a3f2e;align-items:center;gap:8px;margin:10px 0 2px;display:flex}.atlas-ch i{border-radius:50%;width:10px;height:10px;display:inline-block;box-shadow:0 0 0 2px #fffc}.atlas-row{text-align:left;cursor:pointer;font:inherit;color:#2f2a22;background:#fffdf7b3;border:1px solid #7864462e;border-radius:8px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;column-gap:8px;padding:7px 10px;transition:background .15s,border-color .15s,transform .15s;display:grid}.atlas-row b{font-size:14px;font-weight:600}.atlas-row small{color:#7a6e5a;grid-column:2;font-size:11.5px;line-height:1.4}.atlas-row:hover,.atlas-row.on{background:#fff6e2;border-color:#b0723a8c;transform:translate(2px)}.atlas-kind{white-space:nowrap;border-radius:10px;grid-row:span 2;align-self:center;padding:2px 6px;font-size:11px}.atlas-kind.k-place{color:#a8341f;background:#fde6dc}.atlas-kind.k-layer{color:#1f4f86;background:#dde9f7}.atlas-kind.k-globe{color:#1f4f86;background:#dde9f7}.atlas-kind.k-idea{color:#6a5a40;background:#ece6da}.p-from{font:12.5px/1.6 var(--sans);color:var(--ink2);margin:8px 0 0}.p-from i{vertical-align:1px;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block;box-shadow:0 0 0 2px #fffc}.p-from b{color:var(--ink);margin:0 2px;font-weight:600}.p-links{flex-direction:column;gap:4px;margin-top:8px;display:flex}.p-link{font:12.5px/1.5 var(--sans);color:#8a4b10;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px dashed #8a4b1059;align-self:flex-start;padding:2px 0}.p-link:hover{color:#b25c12;border-bottom-color:#b25c12b3}.p-link[hidden]{display:none}.tag3d.w-loc{box-shadow:none;text-shadow:0 0 3px #fff,0 0 6px #fff,0 0 10px #fffc;background:0 0;flex-direction:column;align-items:center;gap:2px;animation:none;display:flex}.tag3d.w-loc b{font:600 12.5px/1.2 var(--sans);color:#1c2a44}.tag3d.w-loc small{font:11.5px/1.2 var(--sans);color:#8a4b10;opacity:0;transition:opacity .15s}.tag3d.w-loc:hover small,.tag3d.w-loc.hover small{opacity:1}.tag3d.w-card{width:168px;text-shadow:none;white-space:normal;transform-origin:50%;background:#fffdf7;border-radius:4px;padding:7px 7px 8px;box-shadow:0 6px 18px #281e0f47,0 0 0 1px #7864461f}.tag3d.w-card .w-fig{background-color:#f3eee3;background-repeat:no-repeat;border-radius:2px;width:100%;margin-bottom:6px}.tag3d.w-card .w-fig[hidden]{display:none}.tag3d.w-card b{font:600 13px/1.35 var(--song);color:var(--ink);display:block}.tag3d.w-card small{font:11px/1.4 var(--sans);color:var(--ink2);margin-top:2px;display:block}.tag3d.w-card{width:214px}.tag3d.w-card .w-q{font:12.5px/1.55 var(--song);color:#3a3326;margin:4px 0 0}.tag3d.w-card .w-q:empty{display:none}.tag3d.w-themes{pointer-events:auto;text-shadow:none;flex-direction:column;gap:6px;display:flex}.tag3d.w-themes button{color:#3a3326;font:600 13px/1 var(--sans);cursor:pointer;background:#fffdf7eb;border:1px solid #78644640;border-radius:999px;align-items:center;gap:7px;padding:6px 13px 6px 11px;display:flex;box-shadow:0 2px 8px #3c280a1f}.tag3d.w-themes button:before{content:"";background:var(--c);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 2px #fffc}.tag3d.w-themes button:hover{background:#fff6e2;border-color:#b0723a8c}.tag3d.w-themes button.on{color:#fff;background:#2f3a52;border-color:#2f3a52}body.geo-world #hud-pager,body.geo-world #hint,body.geo-world #copy{display:none}body.geo-world #hud-top .brand,body.geo-world #hud-top .brand b{color:#e9eef8}body.geo-world #hud-top .brand span{color:#a9b6cf}body.geo-world .tag3d.hint{color:#dfe7f5;text-shadow:0 0 10px #0a1124,0 0 4px #0a1124}body.geo-world .tag3d.hint small{color:#9fb0cc}.tag3d.w-booklabel{text-shadow:0 0 8px #0a1124,0 0 3px #0a1124;pointer-events:none;flex-direction:column;align-items:center;gap:1px;display:flex}.tag3d.w-booklabel b{font:600 12.5px/1.2 var(--sans);color:#e6ecf7;white-space:nowrap}.tag3d.w-booklabel small{font:11px/1.2 var(--sans);color:#93a3bf}.tag3d.w-booklabel.hot b{color:#ffe3b0}body.geo-world #panel{transition:opacity .4s}#panel.leaving{opacity:0;pointer-events:none;transition:opacity .4s}.atlas-grp{flex-direction:column;gap:4px;display:none}.atlas-grp.open{display:flex}.atlas-ch{cursor:pointer;border-radius:6px;padding:4px 6px}.atlas-ch:hover{background:#b0723a14}.atlas-ch em{font:11.5px/1 var(--sans);color:#8a7d66;margin-left:auto;font-style:normal}.atlas-ch.on{color:#2a2218}html.snap #loader{display:none}.tag3d.w-home{transform-origin:0;text-shadow:0 0 6px #0a1124,0 0 3px #0a1124;pointer-events:none;flex-direction:column;align-items:flex-start;margin-left:46px;display:flex}.tag3d.w-home b{font:600 12px/1.2 var(--sans);color:#fff;white-space:nowrap}.tag3d.w-home small{font:11px/1.2 var(--sans);color:#dfe7f5}body.geo-world .tag3d.w-themes button.on{color:#2a2218;background:#f3d9a4;border-color:#f3d9a4;box-shadow:0 0 0 3px #f3d9a447,0 0 18px #f3d9a480}.geo-dive{z-index:6;pointer-events:none;opacity:0;justify-content:space-between;align-items:flex-end;transition:opacity .5s;display:flex;position:fixed;bottom:20px;left:22px;right:22px}.geo-dive.on{opacity:1}.geo-dive .gd-north{color:#fff;text-shadow:0 1px 4px #0009;flex-direction:column;align-items:center;gap:2px;display:flex}.geo-dive .gd-north i{filter:drop-shadow(0 1px 3px #00000080);border-bottom:22px solid #fff;border-left:7px solid #0000;border-right:7px solid #0000;width:0;height:0;display:block}.geo-dive .gd-north b{font:600 13px/1 var(--sans)}.geo-dive .gd-src{font:11px/1.4 var(--sans);color:#ffffffd9;text-shadow:0 1px 3px #000000b3}.tag3d.w-dive{text-shadow:0 1px 6px #0009,0 0 2px #0009;transform-origin:bottom;pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0f1e80;border-radius:6px;flex-direction:column;align-items:center;margin-top:-30px;padding:6px 12px 7px;display:flex;box-shadow:inset 0 0 0 1px #d6b16e59}.tag3d.w-dive b{font:600 18px/1.2 var(--song);color:#fff;letter-spacing:.08em}.tag3d.w-dive small{font:11.5px/1.3 var(--sans);color:#ffffffe6}.tag3d.w-cut{max-width:230px;font:600 12.5px/1.5 var(--sans);color:#ffe7b8;text-shadow:0 1px 4px #000000bf;pointer-events:none;white-space:normal;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0f1e80;border-radius:6px;padding:6px 10px}.geo-dive .gd-btns{pointer-events:auto;gap:10px;display:flex}.geo-dive .gd-btns button{font:600 14px/1 var(--sans);cursor:pointer;border:0;border-radius:999px;padding:9px 18px;box-shadow:0 6px 18px #00000040}.geo-dive .gd-back{color:#2f3a52;background:#ffffffd9}.geo-dive .gd-go{color:#2a2218;background:#f3d9a4}body.geo-world{--gw-ink:#efe6d2;--gw-dim:#a3aec4;--gw-gold:#d6b16e;--gw-gold2:#f1d79f;--gw-line:#d6b16e5c;--gw-glass:#0c1223a3}.geo-now{z-index:6;text-align:left;width:300px;color:var(--gw-ink);text-shadow:0 1px 10px #050914e6;pointer-events:none;transition:opacity .4s;position:fixed;top:0;left:0}.geo-now.dim{opacity:.5}.geo-now.hidden{opacity:0}body.geo-leaving .tag3d,body.geo-leaving #hud-top,body.geo-leaving .geo-leak,body.geo-leaving .geo-lens,body.geo-leaving .geo-lens-hint,body.geo-leaving .geo-credit{pointer-events:none;transition:opacity .35s;opacity:0!important}.geo-now .gn-when b{font:600 26px/1.15 var(--song);letter-spacing:.12em;display:block}.geo-now .gn-when span{font:13px/1.3 var(--sans);letter-spacing:.1em;color:var(--gw-gold2);margin-top:3px;display:block}.geo-now .gn-line{font:12.5px/1.5 var(--sans);color:var(--gw-dim);letter-spacing:.04em;pointer-events:auto;margin-top:6px}.geo-now .gn-sub{color:var(--gw-ink)}.geo-now .gn-live{color:var(--gw-gold2);font:12.5px/1.5 var(--sans);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin-left:10px;padding:0;text-decoration:underline}.geo-now .gn-city{position:relative}.geo-now .gn-pick{color:var(--gw-gold2);font:600 12.5px/1.5 var(--sans);cursor:pointer;background:0 0;border:0;border-bottom:1px dashed #f1d79f8c;margin-right:6px;padding:0 2px 0 4px}.geo-now .gn-list{z-index:2;border:1px solid var(--gw-line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:300px;text-shadow:none;background:#0a0f1eeb;border-radius:6px;grid-template-columns:repeat(5,1fr);gap:2px;padding:8px;display:grid;position:absolute;top:24px;left:0;box-shadow:0 14px 34px #00000080}.geo-now .gn-list[hidden]{display:none}.geo-now .gn-list button{color:var(--gw-ink);font:12.5px/1 var(--sans);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:7px 0}.geo-now .gn-list button:hover{color:var(--gw-gold2);background:#d6b16e2e}.geo-now .gn-sky{width:260px;height:88px;margin:8px 0 0 -6px;display:block}.geo-now .gn-src{font:10.5px/1.4 var(--sans);color:#a3aec4b3;margin-top:4px;display:block}.geo-now.focus .gn-when b{color:var(--gw-gold2)}.tag3d.w-circle{font:11.5px/1 var(--song);color:#f1d79fd9;letter-spacing:.14em;text-shadow:0 0 6px #050914f2;pointer-events:none}.tag3d.w-sunhint{font:12px/1 var(--sans);color:var(--gw-gold2);letter-spacing:.08em;text-shadow:0 0 8px #050914f2;pointer-events:none}.tag3d.w-sunhint span{animation:2.8s ease-in-out infinite hint-breath;display:block}body.geo-world .geo-dive .gd-north i{border-bottom-color:var(--gw-gold2)}body.geo-world .geo-dive .gd-north b{color:var(--gw-gold2);font-family:var(--song)}.verdict:empty{display:none}.hover-tip{z-index:30;pointer-events:none;opacity:0;color:#2c3245;white-space:nowrap;background:#fdfaf1;border-radius:2px;padding:5px 9px 4px;font:15px/1.15 Hannotate SC,HanziPen SC,Kaiti SC,STKaiti,serif;transition:opacity .15s;position:fixed;top:0;left:0;box-shadow:0 2px 8px #281e0f38,0 0 0 1px #78643c26}.hover-tip.on{opacity:1}.hover-tip:after{content:"";background:#e6d7aabf;width:14px;height:7px;margin-left:-7px;position:absolute;top:-4px;left:50%;transform:rotate(-4deg)}.ask-mini{font:13.5px/1.6 var(--song);color:#4a3f2e;background:#b0723a12;border-left:2px solid #b0723a80;margin:0 0 10px;padding:6px 10px}.geo-toc{z-index:6;color:#2a2f3d;background:radial-gradient(120% 80% at 30% 0,#ffffff8c,#0000 60%),repeating-linear-gradient(0deg,#78643c06 0 1px,#0000 1px 3px),#f8f2e3;border-radius:3px;flex-direction:column;width:292px;max-height:calc(100vh - 100px);padding:22px 22px 14px;transition:transform .55s cubic-bezier(.3,.8,.2,1),opacity .4s;display:flex;position:fixed;top:72px;left:22px;box-shadow:0 18px 40px #00000073,0 2px 6px #00000040,inset 0 0 0 1px #78643c2e,inset 0 0 40px #a082501f}.geo-toc.folded{transform:translate(calc(-100% - 40px))}.geo-toc.leaving,.geo-toc-spine.leaving{opacity:0;pointer-events:none}.geo-toc .gt-tuck{font:26px/1 var(--song);color:#8a7d64;cursor:pointer;background:0 0;border:0;padding:2px 6px;position:absolute;top:8px;right:10px}.geo-toc .gt-tuck:hover{color:#1f4f8f}.geo-toc .gt-pre{font:12px/1 var(--song);letter-spacing:.32em;text-indent:.32em;color:#8a7d64;text-align:center}.geo-toc .gt-title{font:700 30px/1.15 var(--song);letter-spacing:.34em;text-indent:.34em;color:#1f2a44;text-align:center;margin:10px 0 11px}.geo-toc .gt-rule{border-top:1.6px solid #2a2f3d;border-bottom:.8px solid #2a2f3d;height:4px}.geo-toc .gt-sub{font:12px/1.4 var(--song);color:#8a7d64;justify-content:space-between;align-items:baseline;margin:9px 0 8px;display:flex}.geo-toc .gt-sub span:nth-child(2){font:600 14px/1.4 var(--song);letter-spacing:.5em;text-indent:.5em;color:#2a2f3d}.geo-toc .gt-list{margin:0 -8px;padding:0 8px;overflow:auto}.geo-toc .gt-list::-webkit-scrollbar{width:5px}.geo-toc .gt-list::-webkit-scrollbar-thumb{background:#78643c40;border-radius:3px}.geo-toc .gt-book,.geo-toc .gt-row{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:0;align-items:baseline;padding:0;display:flex}.geo-toc .gt-book{font:600 15px/1.35 var(--song);letter-spacing:.04em;border-top:1px solid #78643c24;gap:8px;padding:8px 0}.geo-toc .gt-book:first-child{border-top:0}.geo-toc .gt-book i{border-radius:1px;flex:none;width:9px;height:9px;transform:translateY(-1px);box-shadow:0 0 0 1.5px #fffc}.geo-toc em{border-bottom:1.6px dotted #5a4a326b;flex:1;min-width:14px;transform:translateY(-4px)}.geo-toc .gt-book b,.geo-toc .gt-row b{font:500 13px/1 var(--song);color:#6a5d48;font-variant-numeric:tabular-nums}.geo-toc .gt-book span{transition:color .2s}.geo-toc .gt-book:hover span,.geo-toc .gt-book.on span{color:#1f4f8f}.geo-toc .gt-lessons{grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.3,.8,.2,1);display:grid}.geo-toc .gt-lessons.open{grid-template-rows:1fr}.geo-toc .gt-in{min-height:0;overflow:hidden}.geo-toc .gt-row{font:13.5px/1.4 var(--song);color:#3a3326;gap:6px;padding:5px 0 5px 17px}.geo-toc .gt-sec{font:600 12.5px/1.4 var(--song);letter-spacing:.06em;color:#7a6a4e;align-items:baseline;gap:6px;padding:7px 0 2px 17px;display:flex}.geo-toc .gt-sec em{border-bottom:1px dotted #78643c59;flex:1;transform:translateY(-3px)}.geo-toc .gt-sec b{font:500 12px/1 var(--song);color:#8a7d64;font-variant-numeric:tabular-nums}.geo-toc .gt-row.sub{padding-left:29px}.geo-toc .gt-row small{width:40px;font:11px/1 var(--sans);color:#9a8d76;flex:none}.geo-toc .gt-row span{transition:color .2s}.geo-toc .gt-row:hover span,.geo-toc .gt-row.on span{color:#1f4f8f}.geo-toc .gt-row:last-child{padding-bottom:9px}.geo-toc .gt-row.done span:after{content:"";background:#c8341f;border-radius:50%;width:6px;height:6px;margin-left:5px;display:inline-block;transform:translateY(-2px)}.geo-toc .gt-foot{font:12px/1.6 var(--song);color:#8a7d64;border-top:1px solid #78643c38;margin:8px 0 0;padding-top:9px}.geo-toc-spine{z-index:6;cursor:pointer;color:#2a2f3d;font:600 14px/1.6 var(--song);letter-spacing:.5em;writing-mode:vertical-rl;background:repeating-linear-gradient(0deg,#78643c06 0 1px,#0000 1px 3px),#f3ead6;border:0;border-radius:0 3px 3px 0;padding:22px 9px;transition:transform .45s cubic-bezier(.3,.8,.2,1) .15s,opacity .4s,background .2s;position:fixed;top:50%;left:0;transform:translate(-120%,-50%);box-shadow:0 8px 22px #0006,inset 0 0 0 1px #78643c33}.geo-toc-spine.on{transform:translateY(-50%)}.geo-toc-spine:hover{background:#fff6e2}.geo-toc-spine:after{content:"";background:#b8322c;width:6px;height:24px;position:absolute;top:-5px;right:7px;box-shadow:0 1px 3px #0000004d}.geo-now .gv{pointer-events:auto;flex-direction:column;align-items:flex-end;gap:9px;margin-bottom:14px;display:flex}.geo-now .gv-seg{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0f1e73;border-radius:999px;padding:3px;display:inline-flex;position:relative;box-shadow:inset 0 0 0 1px #d6b16e80}.geo-now .gv-seg button{z-index:1;font:600 13.5px/1 var(--song);letter-spacing:.16em;text-indent:.16em;color:#e9dfca;cursor:pointer;text-shadow:none;background:0 0;border:0;padding:7px 16px;transition:color .35s;position:relative}.geo-now .gv-seg button:hover{color:#fff}.geo-now .gv-seg button.on{color:#2a2218}.geo-now .gv-thumb{background:linear-gradient(#fbf5e6,#ecdfbf);border-radius:999px;transition:transform .45s cubic-bezier(.3,.8,.2,1),width .45s cubic-bezier(.3,.8,.2,1);position:absolute;top:3px;bottom:3px;left:0;box-shadow:0 2px 8px #00000059,inset 0 0 10px #a082502e}.geo-now .gv-legend{max-width:290px;font:12.5px/1.5 var(--sans);color:#e6dcc6;flex-wrap:wrap;justify-content:flex-end;gap:4px 13px;display:flex}.geo-now .gv-legend[hidden]{display:none}.geo-now .gv-legend span{align-items:center;gap:6px;display:inline-flex}.geo-now .gv-legend i{border-radius:2px;width:16px;height:3px;display:inline-block}.geo-now .gv-legend i.sq{opacity:.9;border-radius:2px;width:11px;height:11px}.geo-now .gv-legend small{text-align:right;color:#a3aec4;flex-basis:100%;font-size:11.5px}.geo-now .gv-go{color:#f1d79f;font:600 12.5px/1.4 var(--song);letter-spacing:.04em;text-underline-offset:3px;cursor:pointer;text-shadow:0 1px 8px #050914e6;background:0 0;border:0;padding:0;text-decoration:underline}.geo-now .gv-go:hover{color:#fff}.geo-now.alt-view .gn-line,.geo-now.alt-view .gn-sky{display:none}.geo-leak{z-index:1;pointer-events:none;mix-blend-mode:screen;position:fixed;inset:0}body.geo-cover #hud-top,body.geo-cover .geo-toc,body.geo-cover .geo-toc-spine,body.geo-cover .geo-now,body.geo-cover #viewctl,body.geo-cover .tag3d,body.geo-cover .geo-lens,body.geo-cover .geo-lens-hint,body.geo-cover .geo-credit{display:none!important}.geo-lens{z-index:7;pointer-events:none;grid-template-columns:68px;justify-items:center;transition:opacity .45s;display:grid;position:fixed;top:-34px;left:-34px}.geo-lens.hidden{opacity:0}.geo-lens.hidden *{pointer-events:none!important}.geo-lens .gl-orb{cursor:pointer;pointer-events:auto;filter:saturate(.72)brightness(.86);background:0 0;border:0;border-radius:50%;width:68px;height:68px;padding:0;transition:transform .35s cubic-bezier(.3,.8,.2,1),filter .35s;position:relative}.geo-lens .gl-orb canvas{border-radius:50%;width:68px;height:68px;display:block}.geo-lens .gl-orb:after{content:"";border:1.5px solid #d6b16e6b;border-radius:50%;transition:border-color .35s,box-shadow .35s;position:absolute;inset:-6px}.geo-lens .gl-orb:hover{filter:saturate(.85)brightness(.95);transform:scale(1.08)}.geo-lens.on .gl-orb{filter:none}.geo-lens.on .gl-orb:after{border-color:#f1d79f;box-shadow:0 0 0 3px #f1d79f29,0 0 24px #f1d79f8c}.geo-lens .gl-name{font:600 13px/1 var(--song);letter-spacing:.22em;text-indent:.22em;color:#c9c0ad;text-shadow:0 1px 8px #050914e6;white-space:nowrap;margin-top:10px}.geo-lens.on .gl-name{color:#f1d79f}.geo-lens .gl-mini{font:11.5px/1.2 var(--sans);color:#e6dcc6;white-space:nowrap;text-shadow:0 1px 6px #050914e6;opacity:0;gap:9px;margin-top:7px;transition:opacity .35s,transform .35s;display:flex;transform:translateY(-4px)}.geo-lens.on .gl-mini{opacity:1;transform:none}.geo-lens .gl-mini span,.geo-lens .gl-legend span{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.geo-lens .gl-mini i,.geo-lens .gl-legend i{border-radius:2px;width:13px;height:3px;display:inline-block}.geo-lens .gl-mini i.sq,.geo-lens .gl-legend i.sq{border-radius:2px;width:9px;height:9px}.geo-lens .gl-mini i.dot,.geo-lens .gl-legend i.dot{border-radius:50%;width:6px;height:6px}.geo-lens .gl-more{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;background:#0a0f1ee6;border-radius:7px;flex-direction:column;gap:7px;width:220px;padding:10px 13px;transition:opacity .3s,transform .3s;display:flex;position:absolute;top:-2px;right:84px;transform:translate(8px);box-shadow:inset 0 0 0 1px #d6b16e73,0 12px 30px #00000073}.geo-lens.hover .gl-more,.geo-lens.just .gl-more{opacity:1;pointer-events:auto;transform:none}.geo-lens .gl-tip{font:12.5px/1.45 var(--song);color:#f1e6cc;margin:0}.geo-lens .gl-legend{font:12px/1.4 var(--sans);color:#e6dcc6;flex-wrap:wrap;gap:4px 12px;display:flex}.geo-lens .gl-legend small{color:#d6cdbab8;font-size:11px}.geo-lens .gl-go{color:#f1d79f;font:12.5px/1.4 var(--song);text-underline-offset:3px;cursor:pointer;text-align:left;background:0 0;border:0;align-self:flex-start;padding:0;text-decoration:underline}.geo-lens .gl-go:hover{color:#fff3d6}.geo-lens-hint{z-index:7;font:12px/1 var(--song);letter-spacing:.16em;color:#d6cdbaa8;pointer-events:none;white-space:nowrap;text-shadow:0 1px 6px #050914e6;transition:opacity .45s;position:fixed;top:0;left:0}.geo-lens-hint.hidden{opacity:0}.geo-credit{z-index:6;text-align:right;max-width:560px;font:10.5px/1.45 var(--sans);color:#a3aec499;pointer-events:none;transition:opacity .4s;position:fixed;bottom:12px;right:18px}.geo-credit.hidden{opacity:0}.geo-now .gn-city>span{display:block}.geo-now .gn-sky{width:100%;max-width:260px;height:auto}.geo-now.narrow .gn-when b{font-size:22px}.geo-now.narrow .gn-line{font-size:12px;line-height:1.45}.geo-now.narrow .gn-sky{width:100%;max-width:260px;height:auto}.geo-now.tight .gn-sky{display:none}.inpage-snap{z-index:10000;pointer-events:none;width:100vw;height:100vh;transition:opacity .32s;position:fixed;top:0;left:0}.inpage-snap.out{opacity:0}.inpage-orbit{z-index:10001;pointer-events:none;opacity:0;border-radius:50%;transition:opacity .35s;position:fixed;transform:translate(-50%,-50%)}.inpage-orbit.on{opacity:1}.inpage-orbit:before{content:"";border:1px solid #f1d79f29;border-radius:50%;position:absolute;inset:0}.inpage-orbit:after{content:"";filter:drop-shadow(0 0 6px #f1d79fcc);background:conic-gradient(#f1d79f00 0deg 250deg,#f1d79fe6 352deg,#fff6de 360deg);border-radius:50%;animation:1.4s linear infinite orbit-spin;position:absolute;inset:-1px;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 calc(100% - 2.5px));mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 calc(100% - 2.5px))}.inpage-orbit.out{opacity:0;transition-duration:.3s}@keyframes orbit-spin{to{transform:rotate(360deg)}}.home-community{align-items:center;gap:10px;display:flex;position:absolute;bottom:25px;right:20px}.home-copy+.home-community{bottom:36px}.home-copy+.home-community+.home-copy{bottom:14px}.feedback-entry{cursor:pointer;font:14px var(--sans);justify-content:center;align-items:center;gap:7px;display:inline-flex}.feedback-entry span,.github-entry span{align-items:center;display:flex}.home-community .feedback-entry,.home-community .github-entry{box-sizing:border-box;color:#343b46;min-height:42px;font:500 14px var(--sans);cursor:pointer;background:#fffaf0;border:1px solid #c8b99e;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:0 14px;text-decoration:none;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s;display:inline-flex;box-shadow:0 2px 6px #49341f20}.home-community svg{width:20px;height:20px;display:block}.home-community .feedback-entry:hover,.home-community .github-entry:hover{background:#fff;border-color:#8f7957;transform:translateY(-2px);box-shadow:0 4px 12px #49341f30}.home-community .feedback-entry:active,.home-community .github-entry:active{box-shadow:none;background:#eee5d5;transform:translateY(1px)}.home-community :focus-visible{outline-offset:3px;outline:3px solid #476b8c}#viewctl .feedback-entry:focus-visible{outline-offset:3px;outline:3px solid #476b8c}#viewctl .lesson-community{border-top:1px solid #88745455;align-items:flex-end;margin-top:10px;padding-top:10px;display:flex}#viewctl .feedback-entry{font:14px var(--sans);cursor:pointer;border-radius:9px;width:auto;min-width:76px;height:38px;padding:0 10px;transition:transform .16s,box-shadow .16s;display:flex}#viewctl .feedback-entry:hover{transform:translateY(-2px);box-shadow:0 4px 10px #49341f30}#viewctl .feedback-entry:active{transform:translateY(1px)}#viewctl{align-items:flex-end}@media (prefers-reduced-motion:reduce){.home-community .feedback-entry,.home-community .github-entry,#viewctl .feedback-entry{transition:none}}@media (max-width:760px){.home-foot{box-sizing:border-box;flex-flow:wrap;gap:6px 10px;padding:0 12px}.home-community{justify-content:center;width:100%;position:static}.home-foot .home-copy{text-align:center;width:100%;font-size:10px;line-height:1.4}.home-notes{bottom:112px}}.fb-dialog{color:#333e44;width:min(880px,100vw - 40px);max-height:calc(100dvh - 40px);font:14px/1.6 var(--sans);background:#fcfaf4;border:1px solid #d6cab6;border-radius:18px;padding:0;box-shadow:0 30px 100px #30271f55}.fb-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#24272380}.fb-lightbox::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#24272380}.fb-dialog *{box-sizing:border-box}.fb-close{color:#696e68;width:36px;height:36px;font:28px/1 var(--sans);cursor:pointer;background:0 0;border:0;border-radius:50%;position:absolute;top:14px;right:19px}.fb-close:hover{color:#263e3a;background:#eae5d9}.fb-header{border-bottom:1px solid #e2dccf;padding:30px 36px 24px}.fb-kicker{font:600 11px/1.5 var(--sans);letter-spacing:.12em;color:#66776a}.fb-header h2{font:600 28px/1.4 var(--song);letter-spacing:.02em;margin:9px 0 6px}.fb-header p{color:#73776d;margin:0;font-size:13px}.fb-layout{grid-template-columns:248px 1fr;display:grid}.fb-context{background:#f0eee4;border-radius:0 0 0 18px;padding:26px 25px}.fb-context-label{letter-spacing:.12em;color:#777e70;font-size:11px}.fb-context h3{font:600 20px/1.5 var(--song);margin:12px 0 10px}.fb-context p{color:#70776a;margin:0;font-size:12px;line-height:1.9}.fb-bound{color:#4c7063;align-items:center;gap:6px;margin-top:17px;font-size:11px;display:flex}.fb-icon{flex-shrink:0;align-items:center;display:inline-flex}.fb-icon svg{width:19px;height:19px}.fb-bound svg{width:15px;height:15px}.fb-divider{background:#dcded0;height:1px;margin:23px 0 19px}.fb-attach{color:#3f5d50;width:100%;font:12px var(--sans);cursor:pointer;background:#f9faf3;border:1px dashed #a5b2a1;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 10px;display:flex}.fb-attach:hover{background:#fff;border-color:#527361}.fb-optional{color:#7b8174;margin-left:auto;font-size:10px}.fb-capture-note{color:#7b8175;margin-top:11px;font-size:11px;line-height:1.8;display:block}.fb-form{padding:26px 30px 24px}.fb-message-label{justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}.fb-message-label label{font-size:15px;font-weight:600}.fb-message-label>span{color:#8a8d83;font-size:11px}.fb-form textarea,.fb-form input:not([type=checkbox]){color:#323e38;width:100%;font:14px/1.6 var(--sans);background:#fffefa;border:1px solid #d5d8cb;border-radius:8px;outline:none;padding:12px;transition:border-color .15s,box-shadow .15s}.fb-form textarea{resize:vertical;min-height:145px;max-height:280px}.fb-form textarea:focus,.fb-form input:not([type=checkbox]):focus{border-color:#688775;box-shadow:0 0 0 3px #68877518}.fb-form ::placeholder{color:#93988d;font-size:12px}.fb-identity{grid-template-columns:1fr 1fr;gap:14px;margin-top:20px;display:grid}.fb-field>span{align-items:center;gap:8px;margin-bottom:8px;font-size:12px;display:flex}.fb-field small{color:#93988c;font-size:10px}.fb-remember{color:#58685b;cursor:pointer;align-items:flex-start;gap:9px;margin-top:17px;font-size:12px;display:flex}.fb-remember input{accent-color:#436756;flex-shrink:0;width:16px;height:16px;margin:2px 0 0}.fb-remember small{color:#8a9185;margin-top:3px;font-size:10px;display:block}.fb-status{color:#597761;min-height:18px;margin:10px 0;font-size:11px}.fb-actions{border-top:1px solid #e5e5da;justify-content:space-between;align-items:center;gap:12px;padding-top:18px;display:flex}.fb-actions>span{color:#929386;font-size:10px}.fb-primary{color:#fffdf3;font:500 13px var(--sans);cursor:pointer;background:#436756;border:1px solid #365b49;border-radius:8px;justify-content:center;align-items:center;gap:15px;padding:12px 18px;transition:background .15s,transform .15s;display:inline-flex}.fb-primary:hover{background:#325640;transform:translateY(-1px)}.fb-primary:active{transform:translateY(1px)}.fb-dialog button:focus-visible{outline-offset:3px;outline:3px solid #7b9983}.fb-lightbox button:focus-visible{outline-offset:3px;outline:3px solid #7b9983}.fb-thumb{cursor:zoom-in;background:#d7c19c;border:1px solid #cccdbd;border-radius:8px;width:100%;padding:0;display:block;position:relative;overflow:hidden}.fb-thumb img{aspect-ratio:16/10;object-fit:cover;width:100%;display:block}.fb-thumb>span{color:#fff;font:10px var(--sans);background:#263d32bd;border-radius:4px;padding:2px 6px;position:absolute;bottom:6px;right:6px}.fb-shot-caption{color:#798071;justify-content:space-between;align-items:center;gap:4px;margin-top:8px;font-size:9px;display:flex}.fb-shot-caption button{color:#8b6253;font:11px var(--sans);cursor:pointer;background:0 0;border:0;padding:4px}.fb-attach[hidden]{display:none}.fb-lightbox{background:#fcfaf4;border:1px solid #d6cab6;border-radius:12px;width:min(1100px,94vw);padding:44px 12px 12px}.fb-lightbox img{width:100%;display:block}.fb-done{text-align:center;max-width:600px;margin:auto;padding:44px 40px}.fb-done-mark{color:#486950;background:#e5ece0;border-radius:50%;place-items:center;width:52px;height:52px;margin:23px auto 18px;font-size:25px;display:grid}.fb-done h2{font:600 25px var(--song)}.fb-done p{color:#7a8174;font-size:13px}.fb-receipt{text-align:left;background:#f0eee4;border-radius:10px;margin:24px 0;padding:18px 22px}.fb-receipt p{white-space:pre-wrap;overflow-wrap:anywhere;max-height:130px;overflow:auto}.fb-receipt small{color:#66816a;font-size:11px}.fb-local-note{margin:18px 0;font-size:11px!important}@media (max-width:640px){.fb-dialog{border-radius:14px;width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.fb-header{padding:25px 22px 18px}.fb-header h2{font-size:23px}.fb-layout{flex-direction:column;display:flex}.fb-context{border-radius:0;padding:18px 22px}.fb-context h3{margin:5px 0;font-size:17px}.fb-bound{margin-top:8px}.fb-divider{margin:12px 0}.fb-capture-note{margin-top:6px}.fb-form{padding:20px 22px}.fb-thumb,.fb-shot-caption{max-width:210px}.fb-form textarea{min-height:125px}.fb-actions{flex-wrap:wrap}.fb-primary{min-height:44px}}.fb-attachment-row{align-items:center;margin-top:8px;display:flex}.fb-add-images{color:#526b58;font:12px var(--sans);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:4px 0;display:flex}.fb-add-images:hover{color:#294d37}.fb-images{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.fb-images:empty{display:none}.fb-image{width:86px;height:68px;position:relative}.fb-image .fb-thumb,.fb-image .fb-thumb img{object-fit:cover;aspect-ratio:auto;width:100%;height:100%}.fb-delete{color:#4b554c;cursor:pointer;width:22px;height:22px;font:18px/1 var(--sans);background:#fffaf3;border:1px solid #dedbd0;border-radius:50%;position:absolute;top:-6px;right:-6px;box-shadow:0 1px 4px #0002}.fb-delete:hover{color:#803f2d;background:#f2ded8}.fb-status:empty{display:none}.fb-actions{justify-content:flex-end;margin-top:20px}.fb-account{background:#f5f2e9;border-top:1px solid #e2dccf;align-items:center;gap:11px;padding:10px 30px;display:flex}.fb-account-avatar{border-radius:50%;flex-shrink:0}.fb-account-copy{min-width:0}.fb-account b{font:500 14px/1.5 var(--song);color:#39493f;display:block}.fb-account small{color:#7b806f;margin-top:3px;font-size:11px;display:block}.fb-account-entry{flex-shrink:0;margin-left:auto;position:relative}.fb-account-trigger{color:#61705e;font:12px var(--sans);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:8px;display:flex}.fb-account-trigger:hover{color:#345c44;background:#e8ecdf}.fb-qr-lightbox{width:280px;max-width:calc(100vw - 32px);padding:44px 20px 20px}@media (max-width:640px){.fb-account{gap:8px;padding:10px 18px}.fb-account-avatar{display:none}.fb-account b{font-size:13px}.fb-account small{max-width:205px;font-size:10px;line-height:1.5}.fb-account-trigger{gap:5px;font-size:11px}}@media (min-width:641px){.fb-header{padding:16px 36px 12px}.fb-header h2{margin:6px 0;font-size:26px}.fb-form{padding:16px 30px}.fb-form textarea{height:112px;min-height:112px}.fb-identity{margin-top:14px}.fb-actions{margin-top:14px;padding-top:14px}}.fb-required{color:#a64b3e;margin-left:5px}.fb-contact-hint{color:#737c6e;margin:9px 0 0;font-size:12px;line-height:1.6}.fb-success{text-align:center;padding:56px 36px 44px}.fb-success-check{color:#4e6b5c;background:#e8ece4;border-radius:50%;place-items:center;width:52px;height:52px;margin:0 auto 24px;display:grid}.fb-success-check .fb-icon{width:26px;height:26px}.fb-success h2{font:26px/1.5 var(--song);outline:none;margin:0;font-weight:500}.fb-success-note{color:#81877e;margin:18px 0 26px}.fb-success-summary{text-align:left;background:#f0efe6;border-radius:10px;max-width:520px;margin:0 auto 30px;padding:20px 22px}.fb-success-summary strong{font-weight:600}.fb-success-summary p{color:#737c71;white-space:pre-wrap;overflow-wrap:anywhere;max-height:160px;margin:12px 0 14px;overflow:auto}.fb-success-summary small{color:#818b7d;font-size:11px}.fb-success>.fb-primary{display:inline-flex}@media (max-width:600px){.fb-success{padding:36px 22px 30px}.fb-success h2{font-size:22px}}.fb-contact-row{gap:8px;display:flex}.fb-contact-type{color:#323e38;width:72px;font:13px var(--sans);background:#fffefa;border:1px solid #d5d8cb;border-radius:8px;flex:0 0 72px;padding:10px 8px}.fb-contact-row input{min-width:0}.fb-contact-type:focus-visible{outline-offset:2px;outline:2px solid #688775}body.geo-in-wait :-webkit-any(.geo-toc,.geo-toc-spine,.geo-now,.geo-lens,.geo-lens-hint,.geo-credit,.tag3d){translate:0 10px;opacity:0!important}body.geo-in-wait :-moz-any(.geo-toc,.geo-toc-spine,.geo-now,.geo-lens,.geo-lens-hint,.geo-credit,.tag3d){translate:0 10px;opacity:0!important}body.geo-in-wait :is(.geo-toc,.geo-toc-spine,.geo-now,.geo-lens,.geo-lens-hint,.geo-credit,.tag3d){translate:0 10px;opacity:0!important}body.geo-in-wait :-webkit-any(.geo-toc,.geo-toc-spine){translate:-22px}body.geo-in-wait :-moz-any(.geo-toc,.geo-toc-spine){translate:-22px}body.geo-in-wait :is(.geo-toc,.geo-toc-spine){translate:-22px}body.geo-in-go :-webkit-any(.geo-toc,.geo-toc-spine,.geo-now,.geo-lens,.geo-lens-hint,.geo-credit,.tag3d){transition:opacity .75s ease var(--in,0s), translate .9s cubic-bezier(.2, .7, .2, 1) var(--in,0s)!important}body.geo-in-go :-moz-any(.geo-toc,.geo-toc-spine,.geo-now,.geo-lens,.geo-lens-hint,.geo-credit,.tag3d){transition:opacity .75s ease var(--in,0s), translate .9s cubic-bezier(.2, .7, .2, 1) var(--in,0s)!important}body.geo-in-go :is(.geo-toc,.geo-toc-spine,.geo-now,.geo-lens,.geo-lens-hint,.geo-credit,.tag3d){transition:opacity .75s ease var(--in,0s), translate .9s cubic-bezier(.2, .7, .2, 1) var(--in,0s)!important}body.geo-in-go .tag3d{--in:.55s}body.geo-in-go :-webkit-any(.geo-toc,.geo-toc-spine){--in:.45s}body.geo-in-go :-moz-any(.geo-toc,.geo-toc-spine){--in:.45s}body.geo-in-go :is(.geo-toc,.geo-toc-spine){--in:.45s}body.geo-in-go .geo-now{--in:.7s}body.geo-in-go .geo-lens[data-id=sun]{--in:.85s}body.geo-in-go .geo-lens[data-id=plates]{--in:.95s}body.geo-in-go .geo-lens[data-id=belts]{--in:1.05s}body.geo-in-go :-webkit-any(.geo-lens-hint,.geo-credit){--in:1.15s}body.geo-in-go :-moz-any(.geo-lens-hint,.geo-credit){--in:1.15s}body.geo-in-go :is(.geo-lens-hint,.geo-credit){--in:1.15s}@media (max-width:760px){body.geo-world .geo-toc{z-index:9;box-sizing:border-box;width:auto;max-height:calc(100vh - 72px);top:56px;left:10px;right:10px}body.geo-world .geo-lens-hint{display:none}.geo-lens{grid-template-columns:56px;top:-28px;left:-28px}.geo-lens .gl-orb,.geo-lens .gl-orb canvas{width:56px;height:56px}.geo-lens .gl-name{margin-top:8px;font-size:12px}.geo-lens .gl-mini{gap:6px;font-size:10px}.geo-lens .gl-mini i{width:9px}.geo-lens .gl-more,.geo-now .gn-sky{display:none}.geo-now .gn-when b{font-size:20px}.geo-credit{text-align:center;font-size:9px!important;line-height:1.3!important;bottom:6px!important;left:12px!important;right:12px!important}#hud-top{gap:8px;padding-left:12px;padding-right:10px}.brand b{letter-spacing:.06em;white-space:nowrap;font-size:15px}.hud-actions{flex-wrap:nowrap;gap:5px}.chip{white-space:nowrap;padding:6px 9px;font-size:12px}#btn-import{display:none}}.home-line{z-index:2;left:max(22px, env(safe-area-inset-left));bottom:max(16px, env(safe-area-inset-bottom));font:13px/1.2 var(--sans);letter-spacing:.03em;color:#3c32239e;flex-wrap:wrap;align-items:center;row-gap:4px;display:flex;position:absolute}body.mood .home-line{color:#f0e4cdbd;text-shadow:0 1px 8px #00000059}.home-sep{opacity:.55;margin:0 11px;font-style:normal}.home-link,.home-line .feedback-entry,.home-line .github-entry{min-height:0;box-shadow:none;font:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:0;align-items:center;gap:0;padding:4px 0;text-decoration:none;display:inline-flex;transform:none}.home-line .feedback-entry svg,.home-line .github-entry svg{display:none}.home-link:hover,.home-line .feedback-entry:hover,.home-line .github-entry:hover{color:#fff3d6;box-shadow:none;text-underline-offset:4px;background:0 0;text-decoration:underline;transform:none}body:not(.mood) .home-link:hover,body:not(.mood) .home-line .feedback-entry:hover,body:not(.mood) .home-line .github-entry:hover{color:#1f4f8f}.home-line .home-author{z-index:3;position:relative;inset:auto}.home-line .author-chip{box-shadow:none;color:inherit;background:0 0;border-radius:0;gap:8px;padding:2px 0}.home-line .author-chip img{width:22px;height:22px}.home-line .author-chip b{font:inherit;letter-spacing:inherit;color:inherit}.home-line .author-chip small{display:none}.home-line .author-chip:hover b{color:#fff3d6;text-underline-offset:4px;text-decoration:underline}.home-line .author-qr{bottom:calc(100% + 12px);left:-6px}.home-find{flex-direction:column;align-items:flex-end;gap:9px;display:flex}.home-overview{font:600 14px/1 var(--song);letter-spacing:.12em;color:#2c3245;padding:6px 2px}body.mood .home-overview{color:#f1e6cc;text-shadow:0 1px 8px #0006}.home-foot{left:auto;right:max(22px, env(safe-area-inset-right));justify-content:flex-end}@media (max-width:760px){.home-line{left:12px;right:12px;bottom:max(10px, env(safe-area-inset-bottom));justify-content:center;font-size:12px}.home-sep{margin:0 7px}.home-line .home-author{top:auto;bottom:auto;right:auto}.home-line .author-chip{border-radius:0;padding:2px 0}.home-line .author-chip span{display:inline}.home-line .author-qr{inset:auto auto calc(100% + 10px) 0}.home-find{width:100%}.home-notes{bottom:64px}.home-foot{right:12px;bottom:max(56px, env(safe-area-inset-bottom))}.home-top{padding:max(12px, env(safe-area-inset-top)) 14px 0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px 10px;display:grid}.home-brand{align-items:baseline;gap:9px;min-width:0;display:flex}.home-brand b{letter-spacing:.1em;white-space:nowrap;font-size:21px}.home-brand span{letter-spacing:.08em;white-space:nowrap;text-overflow:ellipsis;margin-top:0;font-size:12.5px;overflow:hidden}.home-find{display:contents}.home-overview{letter-spacing:.06em;white-space:nowrap;grid-area:1/2;padding:4px 0;font-size:12.5px}.home-search{grid-area:2/1/auto/-1;width:100%}.home-search input{padding:9px 12px;font-size:13.5px}.home-notes{left:10px;right:10px;bottom:max(38px, calc(env(safe-area-inset-bottom) + 28px));gap:8px}.note-card{padding:7px 10px 8px;box-shadow:0 3px 8px #5a461438}.note-card:before{width:34px;height:11px;margin-left:-17px;top:-6px}.note-card small{letter-spacing:.06em;margin-bottom:3px;font-size:10.5px}.note-card b{white-space:nowrap;text-overflow:ellipsis;overflow-wrap:normal;font-size:14px;line-height:1.3;overflow:hidden}.note-card span{white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:10.5px;overflow:hidden}.home-line{white-space:nowrap;bottom:max(9px, env(safe-area-inset-bottom));flex-wrap:nowrap;font-size:11.5px}.home-line .author-chip{gap:6px}.home-line .author-chip img{width:18px;height:18px}.home-line .home-sep{margin:0 6px}.home-line .home-offline{display:none}.home-foot{bottom:max(112px, calc(env(safe-area-inset-bottom) + 102px))}}.tip-slip{z-index:40;box-sizing:border-box;color:#3a3f4e;max-width:min(330px,100vw - 96px);font:13.5px/1.55 var(--sans);letter-spacing:.02em;cursor:pointer;opacity:0;pointer-events:none;background:#fdf3c4;border-radius:2px;padding:9px 13px 10px;transition:opacity .35s,transform .35s;position:fixed;transform:translate(8px,-50%)rotate(-.6deg);box-shadow:0 6px 16px #5a461447}.tip-slip.on{opacity:1;pointer-events:auto;transform:translateY(-50%)rotate(-.6deg)}.tip-slip b{color:#8a4a12;font-weight:600}.tip-slip:after{content:"";background:#fdf3c4;width:12px;height:12px;margin-top:-6px;position:absolute;top:50%;right:-6px;transform:rotate(45deg);box-shadow:3px -3px 6px #5a461414}#viewctl .help-btn{font:600 17px/1 var(--song)}.help-card{z-index:40;box-sizing:border-box;color:#2c3245;width:min(372px,100vw - 84px);font:13px/1.6 var(--sans);opacity:0;background:#fdfaf1;border-radius:3px;padding:12px 16px 14px;transition:opacity .25s,transform .25s;position:fixed;transform:translate(8px);box-shadow:0 12px 32px #3c28144d,inset 0 0 0 1px #78643c24}.help-card.on{opacity:1;transform:none}.help-card .hc-head{border-bottom:1px solid #78643c2e;align-items:baseline;gap:10px;margin-bottom:6px;padding-bottom:6px;display:flex}.help-card .hc-head b{font:700 16px/1.3 var(--song);letter-spacing:.12em}.help-card .hc-head small{color:#8a6d20;font-size:12px}.help-card .hc-x{font:22px/1 var(--sans);color:#8a7d64;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0 2px}.help-card .hc-row{grid-template-columns:3.4em 1fr;gap:8px;padding:4px 0;display:grid}.help-card .hc-row b{color:#1f4f8f;font:600 13px/1.6 var(--song)}.help-card .hc-acts{margin-left:8px;padding:2px 0 4px 3.4em}.help-card .hc-fs{font:600 13px/1 var(--song);letter-spacing:.1em;color:#1f4f8f;cursor:pointer;background:#fff;border:0;border-radius:2px;padding:6px 14px;box-shadow:inset 0 0 0 1.5px #1f4f8f80}.help-card .hc-fs:hover{background:#f3ead6}@media (max-width:760px){body.lesson-on #viewctl{bottom:calc(52vh + 18px)}}@media (max-width:760px) and (pointer:coarse){#viewctl .zoom-in,#viewctl .zoom-out{display:none}}.tip-slip{max-width:min(400px,100vw - 96px)}.nexus-top-actions{align-items:center;gap:8px;margin-bottom:2px;display:flex}.nexus-auth-bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.nexus-chip-btn{color:#1f4f8f;font:600 13px/1 var(--sans);cursor:pointer;white-space:nowrap;background:#fdfaf1;border:1.5px solid #1f4f8f73;border-radius:999px;padding:7px 15px;transition:all .2s;box-shadow:0 2px 8px #5a462824}.nexus-chip-btn:hover{color:#fff;background:#1f4f8f;transform:translateY(-1px);box-shadow:0 4px 12px #1f4f8f59}.nexus-chip-btn.upload{color:#c8341f;border-color:#c8341f73}.nexus-chip-btn.upload:hover{color:#fff;background:#c8341f;box-shadow:0 4px 12px #c8341f59}.nexus-chip-btn.ghost{color:#6b5f48;background:0 0;border-color:#78643c40}.nexus-chip-btn.ghost:hover{color:#2c3245;background:#efe5d1}.nexus-user-pill{cursor:pointer;background:#fffcf5;border:1px solid #78643c40;border-radius:999px;align-items:center;gap:8px;padding:5px 12px 5px 6px;font-size:13px;display:inline-flex;box-shadow:0 2px 8px #5a46281f}.nexus-user-pill b{color:#1f3f73;font-weight:600}.nexus-user-pill small{color:#8a7d64}.nexus-role-badge{color:#fff;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.nexus-role-badge.r-admin{background:#5c3a92}.nexus-role-badge.r-school{background:#1f6fb8}.nexus-role-badge.r-parent{background:#d97724}.nexus-role-badge.r-student{background:#2d8a4e}.nexus-user-acts{align-items:center;gap:6px;display:flex}.nexus-modal-overlay{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1c16108c;place-items:center;padding:16px;animation:.25s lb-fadein;display:grid;position:fixed;inset:0}.nexus-modal-card{box-sizing:border-box;width:min(580px,100vw - 32px);max-height:90vh;font-family:var(--sans);color:#2c3245;background:#fdfaf1;border-radius:12px;padding:24px 26px;overflow-y:auto;box-shadow:0 24px 70px #00000073,0 0 0 1px #78643c33}.nexus-modal-head{border-bottom:1.5px solid #ece2d0;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.nexus-modal-head h3{font:700 19px/1.3 var(--song);color:#1f4f8f;margin:0}.nexus-sec-title{color:#6b5f48;margin:0 0 8px;font-size:13px;font-weight:600}.nexus-preset-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:18px;display:grid}.nexus-preset-item{text-align:left;cursor:pointer;background:#fffdf8;border:1px solid #e3d9c6;border-radius:8px;padding:9px 12px;transition:all .15s}.nexus-preset-item:hover{background:#f2f7fc;border-color:#1f4f8f;transform:translateY(-1px)}.nexus-preset-item b{color:#1f3f73;font-size:13px;display:block}.nexus-preset-item small{color:#8a7d64;margin-top:2px;font-size:11px;display:block}.nexus-form{flex-direction:column;gap:12px;display:flex}.nexus-form label{color:#4a3f2f;flex-direction:column;gap:5px;font-size:13.5px;font-weight:600;display:flex}.nexus-form input,.nexus-form select{font:14px var(--sans);color:#2c3245;background:#fff;border:1.5px solid #dcd1be;border-radius:8px;outline:none;padding:10px 12px}.nexus-form input:focus,.nexus-form select:focus{border-color:#1f4f8f;box-shadow:0 0 0 3px #1f4f8f26}.nexus-form-msg{color:#c8341f;min-height:18px;font-size:13px}.nexus-submit-btn{color:#fff;font:700 15px var(--sans);cursor:pointer;background:#1f4f8f;border:0;border-radius:8px;margin-top:4px;padding:12px;transition:background .2s}.nexus-submit-btn:hover:not(:disabled){background:#153866}.nexus-submit-btn:disabled{cursor:default;background:#b0a696}.nexus-callout{color:#7a4b12;background:#fff7e8;border:1px solid #e6cb9a;border-radius:8px;margin-bottom:14px;padding:10px 14px;font-size:12.5px;line-height:1.6}.nexus-user-body p{margin:6px 0;font-size:14px}.nexus-user-body b{color:#6b5f48}.nexus-hint{color:#2d8a4e;margin-top:8px;font-size:12px}@media (max-width:760px){.nexus-top-actions{justify-content:flex-end;width:100%;margin-bottom:0}.nexus-preset-grid{grid-template-columns:1fr}.nexus-chip-btn{padding:6px 11px;font-size:12px}.nexus-user-pill{padding:4px 8px 4px 4px;font-size:12px}.nexus-user-pill small{display:none}}
