:root{--bg-parchment:#faf7f2;--bg-parchment-warm:#f4efe6;--bg-surface:#fff;--bg-surface-elevated:#fff;--bg-subtle:#f6f2ec;--text-primary:#221f1e;--text-secondary:#5c5551;--text-muted:#8e8680;--text-light:#b8b0a8;--color-cinnabar:#c23b22;--color-cinnabar-soft:#fdf1ef;--color-cinnabar-border:#f6d3cd;--color-bamboo:#246b4e;--color-bamboo-soft:#eef8f3;--color-bamboo-border:#c8e8d8;--color-amber:#c7771e;--color-amber-soft:#fdf7eb;--color-amber-border:#f5e1b8;--color-indigo:#204169;--color-indigo-soft:#eff4fa;--color-indigo-border:#cce0f5;--border-delicate:#e7dfd5;--border-subtle:#f0eae1;--border-strong:#d3c7b8;--shadow-xs:0 1px 3px #221f1e0a;--shadow-sm:0 2px 8px #221f1e0f;--shadow-md:0 6px 20px #221f1e14;--shadow-lg:0 14px 34px #221f1e1f;--font-serif:"Songti SC", "Source Han Serif SC", "Noto Serif SC", "STSong", "SimSun", Georgia, serif;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;--font-art:"Ma Shan Zheng", "Noto Serif SC", cursive, serif;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-bounce:.35s cubic-bezier(.34, 1.56, .64, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-parchment);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:var(--bg-parchment-warm)}::-webkit-scrollbar-thumb{background:#d9d0c3;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#bfaf9e}button{cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;outline:none;font-family:inherit}a{color:inherit;text-decoration:none}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{width:auto;padding:0;max-width:none!important;max-height:none!important}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107, M12=.707107, M21=-.707107, M22=.707107);margin:0 auto}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.unit-ext-container{max-width:1100px;font-family:var(--font-sans);margin:0 auto;padding:1.5rem 1rem 4rem}.unit-ext-header{flex-direction:column;gap:1rem;margin-bottom:2rem;display:flex}.unit-ext-breadcrumb{color:#777;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.breadcrumb-btn{color:#c23b22;cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;font-weight:600}.breadcrumb-btn:hover{text-decoration:underline}.sep-icon{color:#aaa}.current-crumb{color:#333;font-weight:700}.unit-ext-nav-tabs{border-bottom:2px solid #0000000f;flex-wrap:wrap;gap:.85rem;padding-bottom:1rem;display:flex}.unit-tab-pill{color:#5d4037;cursor:pointer;background:#fff;border:1px solid #e5dcd1;border-radius:24px;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.95rem;font-weight:600;transition:all .2s;display:inline-flex}.unit-tab-pill:hover{color:#c23b22;background:#c23b2208;border-color:#c23b22}.unit-tab-pill.active{color:#fff;background:#c23b22;border-color:#c23b22;box-shadow:0 4px 12px #c23b2240}.unit-tab-pill .page-tag{opacity:.85;background:#0000000f;border-radius:10px;padding:1px 6px;font-size:.75rem}.unit-tab-pill.active .page-tag{background:#ffffff40}.module-hero-card{background:linear-gradient(135deg,#fffdf9 0%,#fbf6ef 100%);border:1px solid #eae0d5;border-radius:16px;margin-bottom:2rem;padding:2rem;position:relative;overflow:hidden;box-shadow:0 4px 16px #00000008}.module-hero-card:before{content:"";background:#c23b22;width:6px;height:100%;position:absolute;top:0;left:0}.hero-badge-tag{color:#c23b22;background:#c23b221a;border-radius:20px;align-items:center;gap:.35rem;margin-bottom:.75rem;padding:3px 10px;font-size:.8rem;font-weight:700;display:inline-flex}.hero-title{color:#2d2320;margin:0 0 .75rem;font-size:1.75rem;font-weight:700}.hero-intro{color:#4a3e39;margin:0;font-size:1.05rem;line-height:1.8}.unit-ext-container .section-card{background:#fff;border:1px solid #eadbcc;border-radius:14px;margin-bottom:2rem;padding:1.75rem;box-shadow:0 2px 10px #00000005}.unit-ext-container .section-title{color:#2d2320;align-items:center;gap:.5rem;margin:0 0 1.25rem;font-size:1.15rem;font-weight:700;display:flex}.unit-ext-container .section-desc{color:#666;margin:0 0 1.25rem;font-size:.95rem;line-height:1.7}.topic-pill-selector{flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem;display:flex}.topic-pill{color:#5d4037;cursor:pointer;background:#faf7f2;border:1px solid #e0d5c7;border-radius:20px;padding:.5rem 1.25rem;font-size:.95rem;font-weight:600;transition:all .2s}.topic-pill:hover{color:#c23b22;border-color:#c23b22}.topic-pill.active{color:#fff;background:#c23b22;border-color:#c23b22}.topic-detail-box{background:#fdfbf7;border:1px solid #eae0d5;border-radius:10px;flex-direction:column;gap:.85rem;padding:1.25rem;display:flex}.topic-titles-row,.topic-tips-row{flex-wrap:wrap;align-items:baseline;gap:.75rem;display:flex}.topic-titles-label,.topic-tips-label{color:#333;min-width:90px;font-size:.9rem;font-weight:700}.topic-titles-list{flex-wrap:wrap;gap:.5rem;display:flex}.suggested-title-badge{color:#8b1a1a;background:#fff;border:1px solid #c23b2240;border-radius:6px;padding:3px 10px;font-size:.88rem;font-weight:600}.topic-tips-text{color:#555;margin:0;font-size:.92rem;line-height:1.6}.guidelines-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;display:grid}.guideline-card{background:#fdfcf9;border:1px solid #eadbcc;border-radius:10px;padding:1.25rem}.guideline-badge{color:#c23b22;margin-bottom:.4rem;font-size:.8rem;font-weight:700}.guideline-rule{color:#2d2320;margin:0 0 .5rem;font-size:1.05rem;font-weight:700}.guideline-detail{color:#666;margin:0;font-size:.9rem;line-height:1.6}.two-col-layout{grid-template-columns:1fr 1.6fr;gap:1.5rem;display:grid}@media (width<=800px){.two-col-layout{grid-template-columns:1fr}}.sticky-notes-box{background:#fff9e6;border:1px solid #ffe082;border-radius:12px;padding:1.5rem;box-shadow:2px 4px 12px #ffd54f26}.sticky-title{color:#8d6e63;align-items:center;gap:.4rem;margin:0 0 1rem;font-size:1rem;font-weight:700;display:flex}.sticky-paper{flex-direction:column;gap:.85rem;display:flex}.sticky-point-item{color:#5d4037;align-items:flex-start;gap:.5rem;font-size:.92rem;line-height:1.6;display:flex}.sample-speech-box{background:#faf7f2;border:1px solid #eae0d5;border-radius:12px;padding:1.5rem}.sample-speech-header{border-bottom:1px solid #e0d5c7;justify-content:space-between;align-items:baseline;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.sample-speech-title{color:#8b1a1a;margin:0;font-size:1.15rem}.sample-speech-role{color:#888;font-size:.8rem}.sample-speech-content{color:#333;flex-direction:column;gap:.65rem;font-size:.95rem;line-height:1.8;display:flex}.sample-speech-para{text-indent:2em;margin:0}.sample-speech-comment{color:#6d4c41;border-top:1px dashed #d7ccc8;margin-top:1rem;padding-top:.75rem;font-size:.85rem;line-height:1.5}.req-list-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.req-item-card{background:#fdfbf7;border:1px solid #eae0d5;border-radius:8px;padding:1rem}.req-text{color:#444;margin:0;font-size:.92rem;line-height:1.6}.scaffolding-steps-row{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;display:grid}.scaffold-step-card{background:#fdfcf9;border:1px solid #eae0d5;border-radius:10px;padding:1.25rem;position:relative}.step-circle{color:#fff;background:#c23b22;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;margin-bottom:.65rem;font-size:.9rem;font-weight:700;display:flex}.step-title{color:#2d2320;margin:0 0 .5rem;font-size:1rem;font-weight:700}.step-guidance{color:#666;margin:0;font-size:.88rem;line-height:1.6}.model-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.model-grade-badge{color:#c23b22;background:#c23b221a;border-radius:4px;margin-left:.5rem;padding:2px 8px;font-size:.8rem;font-weight:600}.model-article-text-wrap{color:#2d2320;background:#faf7f2;border:1px solid #e5dcd1;border-radius:10px;margin-bottom:1.5rem;padding:1.5rem;font-size:1rem;line-height:2}.model-para{text-indent:2em;margin:0 0 .75rem}.analysis-cards-grid{flex-direction:column;gap:1rem;display:flex}.analysis-subhead{color:#5d4037;margin:0;font-size:.95rem;font-weight:700}.analysis-quote-card{border:1px solid;border-radius:8px;padding:1rem 1.25rem}.analysis-quote-card.plane{background:#2b547e0a;border-color:#2b547e33}.analysis-quote-card.point{background:#c23b220a;border-color:#c23b2233}.quote-badge{margin-bottom:.35rem;font-size:.8rem;font-weight:700}.analysis-quote-card.plane .quote-badge{color:#2b547e}.analysis-quote-card.point .quote-badge{color:#c23b22}.quote-text{color:#333;margin-bottom:.4rem;font-size:.92rem;font-style:italic;line-height:1.6}.quote-comment{color:#666;font-size:.88rem;line-height:1.5}.garden-subtabs-row{flex-wrap:wrap;gap:.65rem;margin-bottom:1.5rem;display:flex}.garden-subtab{color:#5d4037;cursor:pointer;background:#fff;border:1px solid #e0d5c7;border-radius:8px;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.9rem;font-weight:600;display:inline-flex}.garden-subtab.active{color:#fff;background:#5d4037;border-color:#5d4037}.revolution-timeline{border-left:2px dashed #c23b22;flex-direction:column;gap:1.25rem;margin-left:1.5rem;padding-left:1.5rem;display:flex;position:relative}.timeline-node-card{background:#fdfbf7;border:1px solid #eae0d5;border-radius:10px;padding:1.25rem;position:relative}.timeline-node-dot{color:#fff;background:#c23b22;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:700;display:flex;position:absolute;top:1.25rem;left:-2.35rem;box-shadow:0 0 0 4px #fff}.timeline-time-badge{color:#c23b22;background:#c23b221a;border-radius:4px;margin-bottom:.4rem;padding:2px 8px;font-size:.78rem;font-weight:700;display:inline-block}.timeline-lesson-title{color:#2d2320;margin:0 0 .4rem;font-size:1.05rem}.timeline-significance{color:#555;margin:0;font-size:.9rem;line-height:1.6}.semicolon-rules-box{background:#f5efeb;border-radius:8px;margin-bottom:1.25rem;padding:1.25rem}.rules-heading{color:#5d4037;margin:0 0 .5rem;font-size:.95rem}.rules-list{color:#444;margin:0;padding-left:1.25rem;font-size:.92rem;line-height:1.8}.semicolon-comparison-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.comp-item{background:#fff;border:1px solid #eae0d5;border-radius:8px;padding:1rem}.comp-item.highlight{background:#fffdf9;border-color:#c23b22}.comp-sign{color:#c23b22;margin-bottom:.5rem;font-size:.95rem;font-weight:700;display:inline-block}.comp-item p{color:#555;margin:0;font-size:.88rem;line-height:1.6}.examples-heading{color:#333;margin:1.5rem 0 1rem;font-size:1rem}.semicolon-examples-list{flex-direction:column;gap:1.25rem;display:flex}.semicolon-ex-card{background:#fdfbf7;border:1px solid #eae0d5;border-radius:10px;padding:1.25rem}.ex-header-row{justify-content:space-between;margin-bottom:.65rem;display:flex}.ex-num-tag{color:#c23b22;font-size:.8rem;font-weight:700}.ex-source-badge{color:#888;font-size:.78rem}.ex-sentence-text{color:#2d2320;border-bottom:1px dashed #e0d5c7;margin-bottom:.85rem;padding-bottom:.85rem;font-size:1rem;line-height:1.8}.semicolon-highlight{color:#c23b22;padding:0 2px;font-size:1.3rem;font-weight:900}.ex-analysis-meta p{color:#555;margin:.35rem 0;font-size:.88rem;line-height:1.6}.handwriting-formats-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;margin-bottom:1.5rem;display:grid}.handwriting-card{background:#fdfbf7;border:1px solid #eae0d5;border-radius:10px;padding:1.25rem}.fmt-type-title{color:#8b1a1a;margin:0 0 .75rem;font-size:1rem}.fmt-paper-mock{color:#2d2320;background:#fffdf9;border:1px solid #d7ccc8;border-radius:6px;margin-bottom:.85rem;padding:1.25rem;font-family:Kaiti,STKaiti,KaiTi_GB2312,serif;font-size:1.1rem;line-height:2}.fmt-sample-text{margin:0}.fmt-features-list{color:#666;margin:0;padding-left:1.2rem;font-size:.85rem;line-height:1.7}.handwriting-rules-strip{background:#faf7f2;border:1px solid #eae0d5;border-radius:8px;padding:1rem 1.25rem}.rules-strip-title{color:#5d4037;margin:0 0 .5rem;font-size:.9rem}.rules-strip-items{flex-direction:column;gap:.4rem;display:flex}.rule-pill-badge{color:#333;font-size:.9rem}.quotes-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}@media (width<=768px){.quotes-grid{grid-template-columns:1fr}}.quote-monument-card{background:linear-gradient(145deg,#fffdf9 0%,#faf5ee 100%);border:1px solid #e2d7c8;border-radius:12px;flex-direction:column;gap:.85rem;padding:1.5rem;display:flex;box-shadow:0 4px 12px #00000008}.quote-top-bar{justify-content:space-between;align-items:center;display:flex}.quote-seal-num{color:#c23b22;background:#c23b221a;border-radius:4px;padding:2px 8px;font-size:.75rem;font-weight:700}.quote-author{color:#8d6e63;font-size:.85rem;font-weight:600}.quote-primary-text{color:#8b1a1a;margin:0;font-family:Kaiti,STKaiti,KaiTi_GB2312,serif;font-size:1.2rem;line-height:1.6}.quote-detail-section{color:#555;border-top:1px dashed #e0d5c7;flex-direction:column;gap:.4rem;padding-top:.75rem;font-size:.88rem;line-height:1.6;display:flex}.quote-detail-section p{margin:0}.sub-module-title{color:#5d4037;margin:1.5rem 0 1rem;font-size:1.05rem;font-weight:700}.core-concept-box{background:linear-gradient(135deg,#c23b220d 0%,#d4a37314 100%);border-left:4px solid #c23b22;border-radius:0 12px 12px 0;margin-bottom:1.5rem;padding:1.1rem 1.4rem}.core-concept-text{color:#3e2723;margin:0;font-size:1.05rem;font-weight:500;line-height:1.7}.exchange-methods-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;display:grid}.exchange-method-card{background:#fffdfb;border:1px solid #eadbcc;border-radius:12px;flex-direction:column;gap:.65rem;padding:1.3rem;transition:all .25s;display:flex;box-shadow:0 2px 8px #00000005}.exchange-method-card:hover{border-color:#c23b22;transform:translateY(-2px);box-shadow:0 6px 16px #c23b2214}.method-step-tag{color:#fff;letter-spacing:.5px;background:#c23b22;border-radius:4px;align-self:flex-start;padding:2px 8px;font-size:.75rem;font-weight:700}.method-title{color:#3e2723;margin:0;font-size:1.05rem;font-weight:700}.method-desc{color:#616161;margin:0;font-size:.92rem;line-height:1.65}.exchange-examples-list{flex-direction:column;gap:1.25rem;display:flex}.exchange-ex-card{background:#faf8f5;border:1px solid #e6dcd1;border-radius:12px;flex-direction:column;gap:.85rem;padding:1.4rem;display:flex}.exchange-ex-card .ex-header-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.exchange-ex-card .ex-title{color:#3e2723;margin:0;font-size:1.05rem;font-weight:700}.ex-quote-box{color:#5d4037;background:#fff;border:1px solid #ebe3d8;border-radius:8px;padding:.85rem 1.1rem;font-family:Kaiti,STKaiti,serif;font-size:.95rem;line-height:1.6}.ex-association-box{color:#424242;font-size:.95rem;line-height:1.7}.ex-insight-box{color:#c23b22;background:#c23b220d;border-radius:8px;padding:.75rem 1rem;font-size:.88rem;font-weight:500;line-height:1.6}.pinyin-categories-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.25rem;margin-bottom:1.5rem;display:grid}.pinyin-cat-card{background:#fffdf9;border:1px solid #e2d7c8;border-radius:12px;flex-direction:column;gap:.75rem;padding:1.4rem;display:flex}.cat-title{color:#c23b22;border-bottom:2px solid #c23b2226;margin:0;padding-bottom:.4rem;font-size:1.1rem;font-weight:700}.cat-rule-desc{color:#555;font-size:.9rem;line-height:1.6}.pinyin-samples-table{flex-direction:column;gap:.5rem;margin-top:.5rem;display:flex}.pinyin-sample-row{background:#fff;border:1px solid #ede4d8;border-radius:6px;align-items:center;gap:.75rem;padding:.5rem .85rem;font-size:.9rem;display:flex}.sample-hanzi{color:#2e2e2e;min-width:72px;font-weight:700}.sample-pinyin-badge{font-family:var(--font-mono,monospace);color:#c23b22;background:#c23b2214;border-radius:4px;padding:2px 8px;font-weight:600}.sample-note{color:#757575;margin-left:auto;font-size:.82rem}.pinyin-exam-tips-card{background:linear-gradient(135deg,#fff9f6 0%,#fff3ec 100%);border:1px solid #f5c6b5;border-radius:12px;padding:1.25rem 1.4rem}.tips-header{color:#c23b22;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.98rem;display:flex}.exam-tips-list{color:#4e342e;flex-direction:column;gap:.45rem;margin:0;padding-left:1.25rem;font-size:.9rem;line-height:1.65;display:flex}.ancient-poem-display-card{text-align:center;background:linear-gradient(145deg,#fffdf8 0%,#f8f3ea 100%);border:2px solid #e2d2bc;border-radius:16px;padding:2rem 1.5rem;box-shadow:0 4px 16px #7850320a}.ancient-poem-header{margin-bottom:1.8rem}.poem-main-title{letter-spacing:4px;color:#2b1810;margin:0 0 .5rem;font-family:Kaiti,STKaiti,KaiTi_GB2312,serif;font-size:1.8rem;font-weight:700}.poem-author-seal{color:#8d6e63;background:#8d6e631a;border-radius:12px;padding:3px 12px;font-family:Kaiti,STKaiti,serif;font-size:.9rem}.ancient-poem-body{flex-direction:column;gap:1.35rem;max-width:600px;margin:0 auto;display:flex}.poem-line-block{border-bottom:1px dashed #d2b48c59;flex-direction:column;align-items:center;gap:.25rem;padding-bottom:.85rem;display:flex}.poem-line-block:last-child{border-bottom:none;padding-bottom:0}.poem-pinyin{font-family:var(--font-sans);color:sienna;letter-spacing:2px;font-size:.9rem}.poem-chinese{color:#211510;letter-spacing:5px;font-family:Kaiti,STKaiti,KaiTi_GB2312,serif;font-size:1.6rem;font-weight:600}.poem-translation{color:#6d4c41;margin-top:.2rem;font-size:.88rem;line-height:1.5}.glossary-chips-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.9rem;display:grid}.glossary-chip-card{background:#fff;border:1px solid #e8dfd3;border-radius:8px;flex-direction:column;gap:.35rem;padding:.75rem .95rem;display:flex;box-shadow:0 1px 4px #00000005}.glossary-word-row{align-items:baseline;gap:.4rem;display:flex}.glossary-word{color:#c23b22;font-family:Kaiti,STKaiti,serif;font-size:1.05rem}.glossary-pinyin{color:#8d6e63;font-size:.8rem}.glossary-meaning{color:#424242;font-size:.86rem;line-height:1.55}.poem-appreciation-box{color:#4e342e;background:#f9f6f0;border:1px solid #e2d7c5;border-radius:12px;flex-direction:column;gap:.65rem;margin-top:1.8rem;padding:1.4rem;font-size:.92rem;line-height:1.7;display:flex}.appreciation-title{color:#c23b22;margin:0 0 .35rem;font-size:1.05rem;font-weight:700}.poem-appreciation-box p{margin:0}.activity-guide-box{background:#fdfbf7;border:1px solid #e8dfd3;border-radius:10px;margin-bottom:1.25rem;padding:1rem 1.25rem}.activity-guide-text{color:#5d4037;margin:0;font-size:.95rem;line-height:1.65}.student-dialogues-grid{flex-direction:column;gap:1rem;display:flex}.student-bubble-card{background:#fff;border:1px solid #e6dcd1;border-radius:12px;flex-direction:column;gap:.65rem;padding:1.25rem;display:flex;box-shadow:0 2px 6px #00000005}.bubble-header-row{justify-content:space-between;align-items:center;display:flex}.bubble-avatar-tag{color:#c23b22;background:#c23b2214;border-radius:4px;padding:2px 8px;font-size:.82rem;font-weight:700}.bubble-source-tag{color:#8d6e63;font-size:.8rem}.bubble-quote-text{color:#2d2320;background:#faf7f2;border-left:3px solid #d4a373;border-radius:8px;padding:.75rem 1rem;font-family:Kaiti,STKaiti,serif;font-size:.98rem;line-height:1.7}.bubble-insight-text{color:#555;font-size:.88rem;line-height:1.6}.real-road-signs-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;margin-bottom:1.5rem;display:grid}.road-sign-mock-card{background:#fffdfb;border:1px solid #e2d7c8;border-radius:12px;flex-direction:column;gap:.85rem;padding:1.25rem;display:flex}.sign-board{color:#fff;border-radius:8px;justify-content:space-between;align-items:center;padding:1rem 1.25rem;font-weight:700;display:flex;box-shadow:inset 0 0 0 2px #ffffffd9,0 4px 10px #00000026}.road-sign-mock-card.blue-street .sign-board{background:linear-gradient(#1a5fa8 0%,#0d3e78 100%)}.road-sign-mock-card.green-highway .sign-board{background:linear-gradient(#1c7430 0%,#0e4e1e 100%)}.sign-main-content{flex-direction:column;flex:1;align-items:center;gap:.2rem;display:flex}.sign-hanzi{letter-spacing:4px;font-size:1.4rem}.sign-pinyin{font-family:var(--font-mono,monospace);letter-spacing:2px;opacity:.95;font-size:.85rem}.sign-dir-left,.sign-dir-right{opacity:.9;padding:0 .5rem;font-size:.95rem}.sign-distance{margin-left:.5rem;font-size:1.1rem;font-weight:700}.sign-meta-rule{color:#616161;font-size:.86rem;line-height:1.55}.pinyin-name-rules-card{background:#fffdf9;border:1px solid #e5dacf;border-radius:12px;padding:1.25rem}.rules-subtext{color:#666;margin:.25rem 0 .85rem;font-size:.88rem}.textbook-modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1200;background-color:#0f172aa6;justify-content:center;align-items:center;padding:24px;animation:.25s ease-out fadeIn;display:flex;position:fixed;inset:0}.textbook-modal-card{background:#fdfbf7;border:1px solid #e7ded4;border-radius:16px;flex-direction:column;width:100%;max-width:1080px;max-height:88vh;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #2c181040}.textbook-modal-header{background:linear-gradient(#faf4ec 0%,#f7efe4 100%);border-bottom:1px solid #ebd9c8;justify-content:space-between;align-items:center;padding:20px 28px;display:flex}.modal-header-left{align-items:center;gap:16px;display:flex}.modal-badge-seal{color:#fff;letter-spacing:2px;background:#b91c1c;border:1.5px solid #991b1b;border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;font-family:STSong,Noto Serif SC,SimSun,serif;font-size:19px;font-weight:700;display:flex;box-shadow:inset 0 0 4px #00000040,0 2px 6px #b91c1c4d}.modal-title{color:#292524;align-items:center;gap:10px;margin:0;font-family:Noto Serif SC,Songti SC,serif;font-size:19px;font-weight:700;display:flex}.modal-edition-tag{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca;border-radius:9999px;padding:2px 8px;font-size:12px;font-weight:600}.modal-subtitle{color:#78716c;margin:4px 0 0;font-size:12.5px}.modal-close-btn{color:#78716c;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex}.modal-close-btn:hover{color:#1c1917;background:#ebd9c8}.textbook-modal-controls{background:#fff;border-bottom:1px solid #ebd9c8;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:16px 28px;display:flex}.table-tabs-wrap{background:#f5ece1;border-radius:10px;gap:4px;padding:4px;display:flex}.table-tab-btn{color:#57534e;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-size:13.5px;font-weight:600;transition:all .2s;display:flex}.table-tab-btn.active{color:#b91c1c;background:#fff;box-shadow:0 2px 4px #0000000f}.table-search-and-filter{flex:1;justify-content:flex-end;align-items:center;gap:12px;max-width:520px;display:flex}.table-search-input-box{flex:1;align-items:center;display:flex;position:relative}.table-search-input-box .search-icon{color:#a8a29e;position:absolute;left:10px}.table-search-input{color:#292524;background:#faf7f2;border:1px solid #d6c7b7;border-radius:8px;outline:none;width:100%;padding:8px 30px 8px 34px;font-size:13px;transition:border-color .2s,background .2s}.table-search-input:focus{background:#fff;border-color:#b91c1c}.clear-search-btn{color:#a8a29e;cursor:pointer;background:0 0;border:none;font-size:16px;position:absolute;right:8px}.table-lesson-filter{align-items:center;display:flex;position:relative}.table-lesson-filter .filter-icon{color:#78716c;pointer-events:none;position:absolute;left:10px}.lesson-filter-select{color:#44403c;cursor:pointer;background:#faf7f2;border:1px solid #d6c7b7;border-radius:8px;outline:none;padding:8px 12px 8px 30px;font-size:13px}.textbook-modal-body{background:#faf7f2;flex:1;padding:24px 28px;overflow-y:auto}.tables-content-grid{flex-direction:column;gap:20px;display:flex}.empty-search-state{text-align:center;color:#8c827a;padding:48px;font-size:14px}.lesson-char-card,.lesson-word-card{background:#fff;border:1px solid #e7ded4;border-radius:12px;padding:16px 20px 20px;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 8px #00000008}.lesson-char-card:hover,.lesson-word-card:hover{box-shadow:0 4px 12px #2c181014}.lesson-char-card-header,.lesson-word-card-header{border-bottom:1px dashed #ebd9c8;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:10px;display:flex}.card-header-left{align-items:center;gap:10px;display:flex}.lesson-number-tag{color:#fff;letter-spacing:.5px;background:#b91c1c;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700}.lesson-card-title{color:#292524;font-family:Noto Serif SC,serif;font-size:15.5px;font-weight:700}.char-count-pill{color:#78716c;background:#f5ece1;border-radius:9999px;padding:2px 8px;font-size:12px}.btn-go-lesson{color:#b91c1c;cursor:pointer;background:#fee2e2;border:1px solid #fecaca;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600;transition:background .2s}.btn-go-lesson:hover{color:#7f1d1d;background:#fca5a5}.tianzige-character-list{flex-wrap:wrap;gap:14px;display:flex}.tianzige-char-cell{cursor:pointer;background:#fff;border:1.5px solid #ef4444;border-radius:2px;justify-content:center;align-items:center;width:52px;height:52px;transition:all .15s ease-in-out;display:flex;position:relative;box-shadow:0 1px 3px #0000000d}.tianzige-char-cell:hover{border-color:#b91c1c;transform:translateY(-2px)scale(1.05);box-shadow:0 4px 10px #b91c1c33}.tianzige-crossline-h{pointer-events:none;border-top:1px dashed #ef444466;height:1px;position:absolute;top:50%;left:0;right:0}.tianzige-crossline-v{pointer-events:none;border-left:1px dashed #ef444466;width:1px;position:absolute;top:0;bottom:0;left:50%}.tianzige-char-font{color:#1c1917;z-index:1;font-family:Kaiti,STKaiti,KaiTi_GB2312,serif;font-size:32px;line-height:1;position:relative}.tianzige-audio-hover{color:#fff;cursor:pointer;z-index:2;background:#b91c1cd9;border:none;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;display:none;position:absolute;bottom:2px;right:2px}.tianzige-char-cell:hover .tianzige-audio-hover{display:flex}.words-pill-list{flex-wrap:wrap;gap:10px;display:flex}.word-pill-item{cursor:pointer;background:#fdfaf6;border:1px solid #ebd9c8;border-radius:8px;align-items:center;gap:6px;padding:7px 12px;transition:all .15s ease-in-out;display:flex}.word-pill-item:hover{background:#fff;border-color:#b91c1c;transform:translateY(-1px);box-shadow:0 2px 6px #0000000f}.word-pill-text{color:#292524;letter-spacing:.5px;font-family:Noto Serif SC,PingFang SC,sans-serif;font-size:14.5px}.btn-speak-word,.btn-copy-word{color:#a8a29e;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:2px;font-size:11px;display:flex}.btn-speak-word:hover{color:#b91c1c}.btn-copy-word:hover{color:#1c1917}.textbook-modal-footer{background:#faf4ec;border-top:1px solid #ebd9c8;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 28px;display:flex}.footer-tip{color:#78716c;font-size:12.5px}.btn-footer-export{color:#fff;cursor:pointer;background:#b91c1c;border:none;border-radius:8px;padding:8px 18px;font-size:13px;font-weight:600;transition:background .2s}.btn-footer-export:hover{background:#991b1b}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (width<=768px){.textbook-modal-overlay{padding:8px}.textbook-modal-card{border-radius:12px;max-height:94vh}.textbook-modal-header{padding:12px 14px}.modal-badge-seal{letter-spacing:1px;width:32px;height:32px;font-size:14px}.modal-title{font-size:16px}.modal-subtitle{font-size:11px}.textbook-modal-tabs{padding:0 12px}.textbook-tab-btn{padding:10px 14px;font-size:13px}.textbook-search-bar{padding:10px 14px}.textbook-modal-body{padding:14px 12px}.lesson-char-card,.lesson-word-card{padding:12px 14px 16px}.tianzige-character-list{gap:8px}.tianzige-char-cell{width:44px;height:44px}.tianzige-char-text{font-size:24px}.textbook-modal-footer{text-align:center;flex-direction:column;align-items:stretch;padding:10px 14px}.btn-footer-export{width:100%}}.app-container{background-color:var(--bg-parchment);flex-direction:column;min-height:100vh;display:flex}.navbar-container{-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-delicate);z-index:500;box-shadow:var(--shadow-xs);background:#ffffffe0;justify-content:space-between;align-items:center;padding:.75rem 2rem;display:flex;position:sticky;top:0}.navbar-left{flex:1 0 0;align-items:center;min-width:0;display:flex}.navbar-center{flex:none;justify-content:center;align-items:center;gap:.65rem;display:flex}.brand-logo{cursor:pointer;align-items:center;gap:.75rem;display:flex}.seal-badge{background:var(--color-cinnabar);color:#fff;width:38px;height:38px;font-family:var(--font-art);white-space:nowrap;letter-spacing:.5px;-webkit-user-select:none;user-select:none;border:1px solid #8b1e0d;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.18rem;line-height:1;display:flex;box-shadow:0 2px 6px #c23b2247}.brand-titles{flex-direction:column;justify-content:center;display:flex}.brand-name{font-family:var(--font-serif);color:var(--text-primary);letter-spacing:.5px;font-size:1.15rem;font-weight:800;line-height:1.25}.brand-sub{color:#8c532b;letter-spacing:.2px;font-size:.72rem;font-weight:600;line-height:1.2}.textbook-selector-dropdown-wrapper{position:relative}.textbook-selector-btn{cursor:pointer;color:var(--text-primary);background:#faf6f0;border:1px solid #e6dccd;border-radius:20px;align-items:center;gap:.55rem;padding:.38rem .85rem;font-family:inherit;transition:all .2s;display:flex}.textbook-selector-btn:hover,.textbook-selector-btn.active{background:#f3ece1;border-color:#d4c3ac;box-shadow:0 2px 8px #8c532b14}.textbook-btn-icon{color:#c23b22;flex-shrink:0}.textbook-btn-content{align-items:baseline;gap:.35rem;display:flex}.textbook-badge-prefix{color:#8c532b;background:#f3e7d8;border-radius:4px;padding:1px 5px;font-size:.72rem;font-weight:600}.textbook-vol-name{color:#292524;font-size:.86rem;font-weight:700;font-family:var(--font-serif)}.textbook-online-tag{color:#15803d;letter-spacing:.2px;background:#dcfce7;border:1px solid #86efac;border-radius:9999px;padding:1px 6px;font-size:.68rem;font-weight:700}.textbook-stage-panel{z-index:550;background:#fff;border:1px solid #e6dccd;border-radius:14px;width:580px;max-width:92vw;padding:1.1rem 1.25rem;animation:.2s ease-out fadeInDown;position:absolute;top:calc(100% + 10px);left:0;box-shadow:0 12px 36px #2c18101f}.stage-panel-header{border-bottom:1px dashed #ebe0d2;margin-bottom:.85rem;padding-bottom:.65rem}.stage-panel-title{font-family:var(--font-serif);color:#292524;margin-bottom:.25rem;font-size:.96rem;font-weight:800}.stage-panel-desc{color:#78716c;font-size:.78rem;line-height:1.45}.stage-tabs-row{grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:.85rem;display:grid}.stage-switch-tab{cursor:pointer;background:#f8f5f0;border:1px solid #ebe0d2;border-radius:8px;flex-direction:column;align-items:center;padding:.5rem .6rem;transition:all .18s;display:flex}.stage-switch-tab:hover{background:#f1e9dc}.stage-switch-tab.active{background:#fff;border-color:#c23b22;box-shadow:0 2px 8px #c23b221f}.stage-tab-name{color:#292524;font-size:.86rem;font-weight:700}.stage-switch-tab.active .stage-tab-name{color:#c23b22}.stage-tab-tag{color:#8c532b;margin-top:2px;font-size:.68rem}.volume-grid-cards{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.6rem;max-height:520px;padding-right:2px;display:grid;overflow-y:auto}.volume-card-item{cursor:pointer;background:#faf8f5;border:1px solid #eae2d6;border-radius:8px;padding:.65rem .75rem;transition:all .18s}.volume-card-item:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000000d}.volume-card-item.ready{background:#f2faf5;border-color:#86efac}.volume-card-item.selected{border-color:#15803d;box-shadow:0 0 0 1.5px #15803d}.volume-card-item.upcoming{opacity:.75}.vol-card-top{justify-content:space-between;align-items:center;gap:4px;margin-bottom:.3rem;display:flex}.vol-card-title{color:#292524;font-size:.84rem;font-weight:700}.vol-card-badge-ready{color:#fff;background:#15803d;border-radius:4px;padding:1px 5px;font-size:.65rem;font-weight:700}.vol-card-badge-upcoming{color:#78716c;background:#e7e5e4;border-radius:4px;padding:1px 5px;font-size:.65rem}.vol-card-desc{color:#78716c;font-size:.72rem;line-height:1.4}.volume-upcoming-notice{color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:6px;justify-content:space-between;align-items:center;margin-top:.75rem;padding:.5rem .75rem;font-size:.76rem;display:flex}.volume-upcoming-notice button{color:#92400e;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:1rem}.catalog-dropdown-wrapper{position:relative}.catalog-trigger-btn{color:var(--text-primary);cursor:pointer;background:#faf6f0;border:1px solid #e6dccd;border-radius:20px;align-items:center;gap:.5rem;padding:.38rem .85rem;font-family:inherit;font-size:.84rem;font-weight:600;transition:all .2s;display:flex}.catalog-trigger-btn:hover,.catalog-trigger-btn.active{background:#f3ece1;border-color:#d4c3ac;box-shadow:0 2px 8px #8c532b14}.catalog-btn-icon{color:#8c532b}.catalog-btn-text{font-family:var(--font-serif)}.catalog-btn-count{color:#8c532b;background:#f3e7d8;border-radius:9999px;padding:1px 6px;font-size:.7rem;font-weight:700}.arrow-icon{transition:transform var(--transition-fast)}.arrow-icon.rotated{transform:rotate(180deg)}.catalog-dropdown-menu{background:var(--bg-surface);z-index:550;border:1px solid #e6dccd;border-radius:12px;width:500px;max-width:92vw;max-height:min(720px,82vh);padding:.75rem .85rem;animation:.2s ease-out fadeInDown;position:absolute;top:calc(100% + 8px);left:0;overflow-y:auto;box-shadow:0 12px 36px #2c181024}.catalog-menu-header{border-bottom:1px dashed #ebe0d2;flex-direction:column;gap:2px;margin-bottom:.55rem;padding-bottom:.45rem;display:flex}.catalog-menu-title{font-family:var(--font-serif);color:#292524;font-size:.88rem;font-weight:800}.catalog-menu-sub{color:#78716c;font-size:.71rem}.lesson-stepper-bar{background:#faf6f0;border:1px solid #e6dccd;border-radius:20px;align-items:center;padding:2px;display:flex}.btn-step{color:#57534e;cursor:pointer;background:0 0;border:none;border-radius:16px;align-items:center;gap:2px;padding:.32rem .55rem;font-family:inherit;font-size:.76rem;font-weight:600;transition:all .18s;display:flex}.btn-step:hover:not(:disabled){color:#c23b22;background:#fff;box-shadow:0 1px 4px #0000000f}.btn-step:disabled{opacity:.35;cursor:not-allowed}.current-lesson-chip{background:#fff;border-radius:16px;align-items:center;gap:6px;max-width:180px;padding:.3rem .65rem;display:flex;box-shadow:0 1px 4px #0000000d}.current-dot{background:#15803d;border-radius:50%;flex-shrink:0;width:6px;height:6px}.current-lesson-name{font-family:var(--font-serif);color:#292524;white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:700;overflow:hidden}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.catalog-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.75rem;display:flex}.catalog-header-title{color:var(--text-primary);font-size:.95rem;font-weight:700}.catalog-tag{background:var(--color-cinnabar-soft);color:var(--color-cinnabar);border-radius:4px;padding:.15rem .5rem;font-size:.7rem}.unit-group{margin-bottom:.65rem}.unit-title-row{align-items:center;gap:.45rem;margin-bottom:.2rem;display:flex}.unit-badge{background:var(--bg-subtle);color:var(--text-secondary);border-radius:4px;padding:.08rem .35rem;font-size:.7rem;font-weight:700}.unit-theme{color:var(--text-primary);font-size:.8rem;font-weight:600}.unit-element-hint{color:var(--text-muted);margin-bottom:.3rem;font-size:.71rem;line-height:1.35}.element-label{color:var(--color-bamboo);font-weight:600}.unit-lessons{flex-direction:column;gap:.2rem;display:flex}.lesson-item{background:var(--bg-parchment);cursor:pointer;color:inherit;transition:all var(--transition-fast);border:1px solid #0000;border-radius:6px;justify-content:space-between;align-items:center;min-height:28px;padding:.32rem .6rem;text-decoration:none;display:flex}.lesson-item:hover:not(.disabled){border-color:var(--border-delicate);background:#f4efe6}.lesson-item.active{background:var(--color-cinnabar-soft);border-color:var(--color-cinnabar-border)}.lesson-item.disabled{opacity:.5;cursor:not-allowed}.lesson-left{flex:1;justify-content:space-between;align-items:center;gap:.5rem;min-width:0;display:flex}.lesson-title{color:var(--text-primary);white-space:nowrap;flex-shrink:0;font-size:.82rem;font-weight:600}.lesson-item.active .lesson-title{color:var(--color-cinnabar)}.lesson-skill{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;text-align:right;flex:1;font-size:.71rem;overflow:hidden}.badge-current{color:var(--color-cinnabar);white-space:nowrap;background:#c23b221a;border:1px solid #c23b2240;border-radius:10px;flex-shrink:0;margin-left:.4rem;padding:.08rem .4rem;font-size:.65rem;font-weight:700}.badge-coming{color:var(--text-muted);white-space:nowrap;flex-shrink:0;margin-left:.4rem;font-size:.68rem}.textbook-tables-quick-group{align-items:center;gap:.45rem;display:flex}.btn-quick-table{color:#44403c;cursor:pointer;background:#fdfaf6;border:1px solid #e7ded4;border-radius:6px;align-items:center;gap:.35rem;padding:.32rem .65rem;font-size:.78rem;font-weight:600;transition:all .2s;display:flex}.btn-quick-table:hover{color:#b91c1c;background:#fff;border-color:#b91c1c;box-shadow:0 2px 5px #0000000d}.table-badge-dot{border-radius:50%;width:6px;height:6px}.table-badge-dot.red{background-color:#ef4444}.table-badge-dot.green{background-color:#10b981}.table-count-sub{color:#a8a29e;font-size:.68rem;font-weight:500}.catalog-appendix-section{border-top:1px dashed #ebd9c8;margin-top:.85rem;padding-top:.65rem}.appendix-section-title{color:#78716c;letter-spacing:.5px;margin-bottom:.45rem;font-size:.76rem;font-weight:700}.appendix-cards-grid{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.appendix-quick-card{cursor:pointer;background:#fff;border:1px solid #ebd9c8;border-radius:8px;padding:.55rem .7rem;transition:all .2s}.appendix-quick-card:hover{transform:translateY(-2px);box-shadow:0 4px 10px #0000000f}.appendix-quick-card.red-theme:hover{border-color:#ef4444}.appendix-quick-card.green-theme:hover{border-color:#10b981}.appendix-quick-card.amber-theme:hover{border-color:#d97706}.appendix-quick-card .card-top{justify-content:space-between;align-items:center;margin-bottom:.3rem;display:flex}.appendix-quick-card .card-badge{color:#78716c;font-size:.68rem}.appendix-quick-card .card-count{border-radius:4px;padding:1px 6px;font-size:.72rem;font-weight:700}.appendix-quick-card.red-theme .card-count{color:#b91c1c;background:#fee2e2}.appendix-quick-card.green-theme .card-count{color:#065f46;background:#d1fae5}.appendix-quick-card.amber-theme .card-count{color:#92400e;background:#fef3c7}.appendix-quick-card .card-name{color:#292524;margin-bottom:.2rem;font-family:Noto Serif SC,serif;font-size:.86rem;font-weight:700}.appendix-quick-card .card-desc{color:#8c827a;font-size:.72rem;line-height:1.35}.navbar-right{flex:1 0 0;justify-content:flex-end;align-items:center;gap:.75rem;min-width:0;display:flex}.auth-action-wrapper{align-items:center;display:flex}.auth-buttons-group{align-items:center;gap:.5rem;display:flex}.btn-auth{cursor:pointer;border-radius:6px;align-items:center;gap:.35rem;padding:.36rem .85rem;font-size:.82rem;font-weight:600;transition:all .18s;display:inline-flex}.btn-auth-login{color:var(--text-primary);background:0 0;border:1px solid #00000024}.btn-auth-login:hover{color:var(--color-cinnabar);background:#0000000a;border-color:#00000040}.btn-auth-register{background:var(--color-cinnabar);color:#fff;border:1px solid var(--color-cinnabar);box-shadow:0 2px 6px #c23b2238}.btn-auth-register:hover{background:#a82814;border-color:#a82814;transform:translateY(-1px);box-shadow:0 4px 10px #c23b224d}.user-profile-menu{align-items:center;gap:.45rem;display:flex}.user-avatar-badge{background:var(--color-cinnabar-soft);color:var(--color-cinnabar);border:1px solid var(--color-cinnabar-border);border-radius:20px;align-items:center;gap:.35rem;padding:.28rem .65rem;font-size:.8rem;font-weight:600;display:inline-flex}.btn-logout{width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:#fff;border:1px solid #0000001a;border-radius:50%;justify-content:center;align-items:center;transition:all .18s;display:inline-flex}.btn-logout:hover{color:#dc2626;background:#fee2e2;border-color:#fca5a5}.vip-btn{color:#fff;background:linear-gradient(135deg,#c23b22,#9e2412);border-radius:20px;align-items:center;gap:.4rem;padding:.45rem 1rem;font-size:.82rem;font-weight:600;display:flex;box-shadow:0 2px 8px #c23b2247}.vip-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #c23b2259}.vip-badge-active{color:#8c5b09;cursor:pointer;background:linear-gradient(135deg,#fff8e7,#fdf0d0);border:1px solid #f0d499;border-radius:20px;align-items:center;gap:.4rem;padding:.4rem .9rem;font-size:.82rem;font-weight:600;display:flex}.phase-tabs-container{border-bottom:1px solid var(--border-delicate);background:#f4efe6;justify-content:center;padding:.4rem 2rem 0;display:flex}.phase-tabs-list{gap:1rem;width:100%;max-width:1000px;display:flex}.phase-tab{text-align:left;background:0 0;border-radius:10px 10px 0 0;flex:1;align-items:center;gap:.85rem;padding:.75rem 1.25rem;display:flex;position:relative}.phase-tab:hover{background:#fff6}.phase-tab.active{background:var(--bg-parchment);box-shadow:0 -2px 6px #00000008}.tab-icon-wrap{background:var(--bg-surface);width:36px;height:36px;color:var(--text-secondary);border:1px solid var(--border-delicate);border-radius:8px;justify-content:center;align-items:center;display:flex}.phase-tab.active .tab-icon-wrap{background:var(--color-cinnabar-soft);color:var(--color-cinnabar);border-color:var(--color-cinnabar-border)}.tab-text-wrap{flex-direction:column;display:flex}.tab-title{color:var(--text-primary);font-size:.95rem;font-weight:700}.phase-tab.active .tab-title{color:var(--color-cinnabar)}.tab-sub{color:var(--text-muted);font-size:.75rem}.tab-active-indicator{background:var(--color-cinnabar);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:0;left:0;right:0}.main-content-wrapper{flex-direction:column;flex:1;display:flex}.phase-content-container{width:100%;max-width:1200px;margin:0 auto;padding:2.5rem 1.5rem}.preview-banner,.review-banner{border:1px solid var(--border-delicate);box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#fff 0%,#faf6ee 100%);border-radius:16px;margin-bottom:2.5rem;padding:2rem;position:relative;overflow:hidden}.banner-badge{background:var(--color-cinnabar-soft);color:var(--color-cinnabar);border-radius:20px;align-items:center;gap:.4rem;margin-bottom:.75rem;padding:.25rem .75rem;font-size:.8rem;font-weight:600;display:inline-flex}.banner-title{color:#221e1c;letter-spacing:.08em;margin:0;font-family:Songti SC,Source Han Serif CN,Noto Serif SC,STSong,SimSun,serif;font-size:2.05rem;font-weight:700}.banner-top-center{text-align:center;flex-direction:column;align-items:center;width:100%;margin-bottom:.85rem;display:flex}.textbook-title-wrap{justify-content:center;align-items:center;display:inline-flex;position:relative}.pep-lesson-badge{-webkit-user-select:none;user-select:none;cursor:default;box-sizing:border-box;background:#fffdf9;border:1.8px solid #d26e30;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:transform .2s,border-color .2s;display:inline-flex;position:absolute;top:50%;right:calc(100% + .85rem);transform:translateY(-50%);box-shadow:0 1px 2px #d26e3014}.pep-lesson-badge:hover{border-color:#ba581d;transform:scale(1.06);box-shadow:0 2px 5px #d26e3029}.pep-badge-num{color:#d26e30;text-shadow:none;font-family:Songti SC,Source Han Serif CN,Noto Serif SC,STSong,SimSun,Georgia,serif;font-size:1.25rem;font-weight:600;line-height:1;transform:translateY(-.5px)}.unit-guidance-bar{background:#faf7f0;border:1px solid #ece3d4;border-radius:8px;flex-wrap:wrap;justify-content:center;align-items:center;gap:.85rem;max-width:100%;margin-top:.75rem;padding:.5rem 1.15rem .88rem;display:inline-flex;box-shadow:0 1px 3px #3e272308}.guidance-theme-group,.guidance-element-group{align-items:center;gap:.45rem;font-size:.84rem;display:inline-flex}.guidance-tag-pill{letter-spacing:.03em;color:#c23b22;background:#c23b2214;border:1px solid #c23b2233;border-radius:4px;flex-shrink:0;align-items:center;gap:.25rem;padding:.12rem .5rem;font-size:.72rem;font-weight:700;display:inline-flex}.guidance-tag-pill.tag-bamboo{color:#246b4e;background:#246b4e14;border-color:#246b4e33}.guidance-icon{color:#246b4e}.guidance-theme-val{color:#3c3530;font-weight:600;font-family:var(--font-serif)}.guidance-element-val{color:#4a443e;font-family:var(--font-sans);line-height:1.85}.guidance-split-dot{color:#c5bcb1;font-weight:700}@media (width<=1180px){.guidance-split-dot{display:none}}.exam-annotated-term{vertical-align:baseline;margin:0 .22rem;display:inline-block;position:relative}.exam-point-tag{color:#fff;white-space:nowrap;letter-spacing:.04em;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:2;background:#c23b22;border-radius:3px;justify-content:center;align-items:center;padding:1.5px 5.5px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,sans-serif;font-size:.58rem;font-weight:700;line-height:1;transition:transform .2s,filter .2s,box-shadow .2s;display:inline-flex;position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%);box-shadow:0 1.5px 4px #c23b2247}.exam-point-arrow{border-bottom:3.5px solid #c23b22;border-left:3px solid #0000;border-right:3px solid #0000;width:0;height:0;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.exam-point-text{display:inline-block;transform:scale(.95)}.exam-point-tag.tag-kaodian{background:#c23b22;box-shadow:0 1.5px 4px #c23b2247}.exam-point-tag.tag-kaodian .exam-point-arrow{border-bottom-color:#c23b22}.exam-point-tag.tag-zhongdian{background:#1565c0;box-shadow:0 1.5px 4px #1565c047}.exam-point-tag.tag-zhongdian .exam-point-arrow{border-bottom-color:#1565c0}.exam-point-tag.tag-nandian{background:#d97706;box-shadow:0 1.5px 4px #d9770647}.exam-point-tag.tag-nandian .exam-point-arrow{border-bottom-color:#d97706}.exam-annotated-term:hover .exam-point-tag{filter:brightness(1.08);transform:translate(-50%)translateY(1px)}.highlighter-pen{color:#24201d;-webkit-box-decoration-break:clone;box-decoration-break:clone;cursor:default;background:linear-gradient(104deg,#fef08a14 0%,#fef08a6b 4%,#fde04761 92%,#fef08a1f 100%);border-radius:3px;margin:0 .06em;padding:.06em .28em;font-weight:600;transition:all .2s;display:inline;box-shadow:inset 0 -.32em #eab30833}.highlighter-pen.pen-kaodian{background:linear-gradient(104deg,#fef08a14 0%,#fef08a70 4%,#fde04766 92%,#fef08a24 100%);box-shadow:inset 0 -.32em #eab30838}.highlighter-pen.pen-kaodian:hover{background:linear-gradient(104deg,#fef08a24 0%,#fef08a94 4%,#fde04785 92%,#fef08a33 100%);box-shadow:inset 0 -.36em #eab3084d}.highlighter-pen.pen-zhongdian{background:linear-gradient(104deg,#e0f2fe1a 0%,#bae6fd7a 4%,#7dd3fc61 92%,#e0f2fe1f 100%);box-shadow:inset 0 -.32em #0ea5e938}.highlighter-pen.pen-zhongdian:hover{background:linear-gradient(104deg,#e0f2fe29 0%,#bae6fd9e 4%,#7dd3fc80 92%,#e0f2fe2e 100%);box-shadow:inset 0 -.36em #0ea5e94d}.highlighter-pen.pen-nandian{background:linear-gradient(104deg,#ffedd51a 0%,#fed7aa80 4%,#fdba7466 92%,#ffedd51f 100%);box-shadow:inset 0 -.32em #f9731638}.highlighter-pen.pen-nandian:hover{background:linear-gradient(104deg,#ffedd529 0%,#fed7aaa3 4%,#fdba7485 92%,#ffedd52e 100%);box-shadow:inset 0 -.36em #f973164d}.banner-title.banner-title-center{text-align:center;width:100%}.banner-desc{color:var(--text-secondary);max-width:850px;margin-bottom:1.25rem;font-size:.95rem;line-height:1.6}.preview-core-cards{flex-direction:column;gap:.85rem;width:100%;margin:1.25rem 0 1.35rem;display:flex}.core-card{border:1px solid var(--border-delicate);box-sizing:border-box;border-radius:8px;width:100%;padding:.95rem 1.25rem;transition:all .2s;position:relative}.core-card:hover{box-shadow:0 4px 12px #3e27230f}.card-genre{background:#f8fafc;border-left:4px solid #2b4c6f}.card-author{background:#faf8f5;border-left:4px solid #8c532b}.card-summary{background:#fcfaf6;border-left:4px solid #c23b22}.card-central{background:#f6f9f7;border-left:4px solid #246b4e}.core-card-header{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.45rem;display:flex}.core-badge{letter-spacing:.05em;border-radius:4px;padding:.15rem .55rem;font-size:.75rem;font-weight:700}.badge-genre{color:#fff;background:#2b4c6f}.badge-author{color:#fff;background:#8c532b}.badge-summary{color:#fff;background:#c23b22}.badge-central{color:#fff;background:#246b4e}.card-reading-prompt{background:#fffdf9;border-color:#d9770640;border-left-style:solid;border-left-width:4px}.badge-prompt{color:#fff;background:#d97706}.prompt-highlight-text{color:#78350f;letter-spacing:.2px;white-space:pre-line;font-size:.96rem;font-weight:500;line-height:1.8}.core-card-body{flex-direction:column;gap:.65rem;display:flex}.genre-features-wrap{flex-direction:column;gap:.5rem;margin-top:.2rem;display:flex}.genre-feature-row{align-items:baseline;gap:.65rem;display:flex}.genre-feature-tag{color:#2b4c6f;font-size:.8rem;font-weight:700;font-family:var(--font-serif);letter-spacing:.02em;white-space:nowrap;-webkit-user-select:none;user-select:none;background:#2b4c6f14;border:1px solid #2b4c6f38;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:.12rem .5rem;display:inline-flex}.genre-feature-desc{font-family:var(--font-serif);color:var(--text-primary);text-align:justify;flex:1;font-size:.96rem;line-height:1.72}.genre-strategy-tip-box{background:#fffdf9;border:1px solid #e6d8c3;border-left:3px solid #c26b22;border-radius:6px;flex-direction:column;gap:.6rem;margin-top:.65rem;padding:.85rem 1rem;display:flex}.strategy-tip-header{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.strategy-tip-badge{color:#1e5080;letter-spacing:.04em;background:#ebf3fa;border:1px solid #1e508033;border-radius:4px;padding:.12rem .5rem;font-size:.72rem;font-weight:700}.strategy-tip-title{font-family:var(--font-serif);color:#8c4318;font-size:.95rem;font-weight:700}.strategy-tip-concept{font-family:var(--font-serif);color:#4a3a2a;text-align:justify;margin:0;font-size:.92rem;line-height:1.7}.strategy-tip-tasks{flex-direction:column;gap:.45rem;margin-top:.2rem;display:flex}.strategy-tip-task-card{background:#fff;border:1px dashed #dccbb5;border-radius:5px;flex-direction:column;gap:.25rem;padding:.55rem .75rem;display:flex}.strategy-task-target{font-family:var(--font-serif);color:#2b4c6f;font-size:.88rem;font-weight:700}.strategy-task-method{font-family:var(--font-serif);color:#555;font-size:.88rem;line-height:1.6}.strategy-tip-summary{font-size:.86rem;font-family:var(--font-serif);color:#7b3e1d;background:#faf4eb;border-radius:4px;align-items:flex-start;gap:.45rem;padding:.45rem .65rem;font-weight:600;line-height:1.6;display:flex}.core-sub{color:var(--text-tertiary);font-size:.8rem;font-family:var(--font-serif)}.core-card-text{font-family:var(--font-serif);color:var(--text-primary);text-align:justify;margin:0;font-size:.96rem;line-height:1.72}.core-card-text strong{font-family:var(--font-serif);color:var(--text-primary);font-weight:700}.core-card-author-embedded{background:#fff;border:1px solid #e7ded4;border-radius:12px;margin-bottom:1.25rem;padding:22px 24px;transition:box-shadow .2s;box-shadow:0 2px 10px #2c18100a;border-left:4px solid #8c532b!important}.core-card-author-embedded:hover{box-shadow:0 4px 16px #2c181012}.author-tabs-bar{background:#8c532b0d;border:1px solid #8c532b29;border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:8px 14px;display:flex}.author-tabs-label{color:#8c532b;align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.author-tabs-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.author-tab-btn{color:#57534e;cursor:pointer;background:#fff;border:1px solid #e7e5e4;border-radius:6px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 1px 3px #0000000a}.author-tab-btn:hover{color:#8c532b;background:#fdfbf7;border-color:#8c532b;transform:translateY(-1px)}.author-tab-btn.is-active{color:#fff;background:#8c532b;border-color:#8c532b;font-weight:600;box-shadow:0 2px 6px #8c532b40}.author-tab-name{font-weight:700}.author-tab-work{opacity:.88;font-size:12px}.author-card-top-bar{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.author-name-group{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.author-category-badge{letter-spacing:.05em;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700}.cat-modern{color:#fff;background:#8c532b}.cat-ancient{color:#fff;background:#2b4c6f}.cat-foreign{color:#fff;background:#246b4e}.author-display-name{color:#292524;font-size:20px;font-weight:700;font-family:var(--font-serif);align-items:baseline;gap:4px;margin:0;display:flex}.author-pinyin-span{color:#78716c;font-family:sans-serif;font-size:13.5px;font-weight:400}.author-lifespan-pill{color:#78716c;background:#f5f5f4;border-radius:4px;padding:2px 8px;font-family:monospace;font-size:12px}.author-title-honor{color:#8c532b;font-size:13.5px;font-weight:600}.author-style-tags-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.style-tags-label{color:#78716c;font-size:12.5px;font-weight:600}.author-style-tag{color:#b45309;background:#fdf6ec;border:1px solid #fde68a;border-radius:9999px;padding:2px 9px;font-size:12px;font-weight:500}.author-bio-paragraph{color:#3b3734;text-align:justify;font-size:14px;line-height:1.75;font-family:var(--font-serif);margin:0 0 16px}.author-progression-banner{background:#fbf7f0;border-left:3.5px solid #8c532b;border-radius:0 8px 8px 0;margin-bottom:16px;padding:12px 16px}.progression-banner-title{color:#78350f;align-items:center;gap:6px;margin-bottom:6px;font-size:13px;font-weight:700;display:flex}.progression-banner-content{color:#57534e;text-align:justify;margin:0;font-size:13.5px;line-height:1.7}.author-lessons-table-wrap{border:1px solid #e7ded4;border-radius:8px;width:100%;overflow-x:auto;box-shadow:0 1px 3px #00000005}.author-lessons-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.author-lessons-table th{color:#44403c;white-space:nowrap;background:#f7efe4;border-bottom:1px solid #ebd9c8;padding:11px 14px;font-weight:600}.author-lessons-table td{vertical-align:middle;border-bottom:1px solid #f2ece4;padding:11px 14px}.author-lessons-table tr:last-child td{border-bottom:none}.lesson-row-past{background:#fff}.lesson-row-current{background:#f4faf6}.lesson-row-future{background:#fff}.is-active-lesson-row{background:#edfcf2!important}.lesson-table-grade{color:#292524;font-weight:600;display:block}.lesson-table-unit{color:#78716c;font-size:11px}.lesson-table-title{font-family:var(--font-serif);color:#1c1917;margin-right:6px;font-size:14.5px;display:inline-block}.current-reading-badge{color:#fff;vertical-align:middle;background:#15803d;border-radius:4px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:700;display:inline-block}.temporal-tag{white-space:nowrap;border-radius:4px;padding:2px 7px;font-size:11.5px;font-weight:700;display:inline-block}.tag-past{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.tag-current{color:#15803d;background:#dcfce7;border:1px solid #86efac}.tag-future{color:#6d28d9;background:#f5f3ff;border:1px solid #ddd6fe}.lesson-table-role{color:#57534e;font-size:12px}.lesson-table-focus{color:#44403c;font-size:12.5px;line-height:1.55;display:block}.banner-meta-row{flex-wrap:wrap;gap:.75rem;display:flex}.meta-tag{border:1px solid var(--border-delicate);color:var(--text-secondary);background:#fff;border-radius:6px;padding:.3rem .75rem;font-size:.8rem}.element-tag{background:var(--color-bamboo-soft);color:var(--color-bamboo);border-color:var(--color-bamboo-border);font-weight:500}.preview-section,.review-section{margin-bottom:3rem}.section-header{border-bottom:2px solid #ebe4d8;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:1.25rem;padding-bottom:.75rem;display:flex}.section-title-wrap{flex-wrap:wrap;align-items:baseline;gap:.65rem;display:flex}.section-number{font-family:var(--font-serif);color:var(--color-cinnabar);letter-spacing:-.02em;margin:0;font-size:1.35rem;font-weight:700;line-height:1.2}.section-title{font-family:var(--font-serif);color:var(--text-primary);margin:0;padding:0;font-size:1.35rem;font-weight:700;line-height:1.2}.section-sub{color:var(--text-muted);font-size:.88rem;font-family:var(--font-sans);margin:0;line-height:1.3}.section-count-tag{color:var(--text-secondary);font-size:.95rem;font-family:var(--font-serif);font-weight:500;line-height:1}.dialect-seal-group{border:1px solid var(--border-delicate);background:#f8f5f0;border-radius:6px;align-items:center;gap:.25rem;margin-left:auto;padding:3px;display:inline-flex}.seal-box-btn{color:#795548;width:28px;height:28px;font-family:var(--font-serif);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:.88rem;font-weight:700;line-height:1;transition:all .2s;display:inline-flex}.seal-box-btn:hover{color:var(--text-primary);background:#fffc}.seal-box-btn.active{color:#fff;background:#c23b22;border-color:#b71c1c;box-shadow:0 1px 3px #c23b2240}.vocab-layout{box-sizing:border-box;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:1.5rem;width:100%;display:grid}.vocab-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-self:start;gap:.85rem;min-width:0;display:grid}.vocab-chip{background:var(--bg-surface);border:1px solid var(--border-delicate);box-sizing:border-box;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:10px;flex-direction:column;justify-content:space-between;align-items:center;height:112px;padding:.6rem .35rem .55rem;transition:all .22s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;box-shadow:0 1px 3px #00000008}.vocab-chip:hover{border-color:#c23b2259;transform:translateY(-2px);box-shadow:0 4px 14px #c23b2217}.vocab-chip.active{background:#fff9f8;border-color:#c23b22;box-shadow:0 0 0 1.5px #c23b22,0 4px 14px #c23b221f}.chip-pinyin{font-family:var(--font-serif);color:#78716c;letter-spacing:.04em;margin:0;font-size:.82rem;font-weight:500;line-height:1;transition:color .2s}.vocab-chip.active .chip-pinyin{color:#c23b22;font-weight:600}.chip-word{font-family:var(--font-serif);color:#1f1d1b;justify-content:center;align-items:center;margin:.1rem 0;font-size:1.85rem;font-weight:700;line-height:1;transition:transform .2s,color .2s;display:flex}.vocab-chip:hover .chip-word{color:#c23b22}.vocab-chip.active .chip-word{color:#c23b22;transform:scale(1.05)}.chip-words-preview{color:#6e6862;white-space:nowrap;box-sizing:border-box;text-overflow:ellipsis;text-align:center;letter-spacing:0;background:#00000009;border-radius:4px;max-width:100%;padding:2px 5px;font-size:.7rem;font-weight:500;line-height:1.35;transition:all .2s;overflow:hidden}.vocab-chip.active .chip-words-preview{color:#b94734;background:#c23b2217;font-weight:600}.chip-speaker{color:#c5bcb4;cursor:pointer;opacity:.65;z-index:2;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:3px;transition:all .2s;display:flex;position:absolute;top:4px;right:4px}.vocab-chip:hover .chip-speaker{opacity:1;color:#c23b22;background:#c23b2214}.chip-speaker.speaking{opacity:1;color:#c23b22;animation:1s infinite pulse}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.vocab-detail-card{box-sizing:border-box;background:var(--bg-surface);border:1px solid var(--border-delicate);border-radius:14px;flex-direction:column;gap:1.1rem;min-width:0;padding:1.4rem 1.6rem;display:flex;position:relative;box-shadow:0 4px 18px #221f1e0a}.detail-top{border-bottom:1px solid #f0eae1;align-items:center;gap:1.25rem;padding-bottom:1.1rem;display:flex}.stroke-box-wrapper{flex-shrink:0}.word-character-box{border:1.5px solid var(--color-cinnabar-border);background:#fffdfd;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:84px;height:84px;display:flex;position:relative;box-shadow:inset 0 0 0 1px #c23b220d,0 2px 8px #c23b220f}.word-character-box:before{content:"";pointer-events:none;border-top:1px dashed #c23b2229;height:1px;position:absolute;top:50%;left:0;right:0}.word-character-box:after{content:"";pointer-events:none;border-left:1px dashed #c23b2229;width:1px;position:absolute;top:0;bottom:0;left:50%}.big-char{font-family:var(--font-serif);color:var(--color-cinnabar);z-index:1;font-size:2.75rem;font-weight:700;line-height:1;position:relative}.stroke-box-container{-webkit-user-select:none;user-select:none;transition:transform .2s,box-shadow .2s;overflow:hidden}.stroke-box-container:hover{transform:translateY(-2px);box-shadow:0 4px 12px #c23b2226}.hanzi-writer-svg-target{z-index:1;justify-content:center;align-items:center;display:flex;position:relative}.hanzi-writer-svg-target svg{display:block}.char-meta{flex-direction:column;flex:1;gap:.65rem;display:flex}.char-header-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;display:flex}.char-pinyin-group{align-items:center;gap:.5rem;display:flex}.pinyin-headline{font-family:var(--font-serif);color:#c23b22;letter-spacing:.04em;font-size:1.55rem;font-weight:700;line-height:1}.pinyin-speaker-btn{color:#c23b22;cursor:pointer;background:#c23b2214;border:1px solid #c23b2233;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;padding:0;transition:all .2s;display:inline-flex}.pinyin-speaker-btn:hover{color:#fff;background:#c23b22;border-color:#c23b22;transform:scale(1.05)}.pinyin-speaker-btn.speaking{color:#fff;background:#c23b22;animation:1s infinite pulse}.speak-btn-pill{color:#c23b22;cursor:pointer;background:#c23b220f;border:1px solid #c23b2233;border-radius:20px;align-items:center;gap:.35rem;padding:.35rem .8rem;font-size:.8rem;font-weight:600;transition:all .2s;display:inline-flex}.speak-btn-pill:hover{color:#fff;background:#c23b22;border-color:#c23b22}.speak-btn-pill.speaking{color:#fff;background:#c23b22;animation:1s infinite pulse}.char-badges-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.char-attr-badge{background:#faf7f2;border:1px solid #ebe3d7;border-radius:6px;align-items:center;gap:.3rem;padding:.2rem .6rem;font-size:.8rem;line-height:1.2;display:inline-flex}.char-attr-badge .attr-name{color:#8c827a;font-weight:500}.char-attr-badge .attr-val{color:#2d2926;font-weight:700}.detail-body{flex-direction:column;gap:.85rem;display:flex}.card-section{flex-direction:column;display:flex}.section-label-bar{align-items:center;margin-bottom:.25rem;display:flex}.section-label-tag{letter-spacing:.04em;color:#8c827a;background:#00000008;border:1px solid #0000000f;border-radius:4px;padding:1px 7px;font-size:.76rem;font-weight:700}.section-label-tag.tag-tip{color:#92580e;background:#c7771e12;border-color:#c7771e33}.section-box{font-family:var(--font-serif);background:#faf8f5;border:1px solid #efe8de;border-left:2px solid #c23b2273;border-radius:6px;padding:.5rem .82rem}.def-content{color:#2f2b27;margin:0;font-size:.91rem;line-height:1.58}.compound-box{flex-direction:column;gap:.5rem;display:flex}.compound-item-row{align-items:baseline;gap:.35rem;min-width:0;line-height:1.58;display:flex}.compound-term-badge{background:#c23b2212;border:1px solid #c23b222e;border-radius:4px;flex-shrink:0;align-items:center;gap:.25rem;padding:1px 6px;display:inline-flex}.compound-circle-num{color:#c23b22;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.88rem;font-weight:500;line-height:1}.compound-term-text{color:#8e2512;letter-spacing:.02em;font-size:.93rem;font-weight:700}.compound-term-colon{color:#9e938a;flex-shrink:0;font-weight:400}.compound-term-def{color:#4a443e;word-break:break-word;flex:1;min-width:0;font-size:.88rem;line-height:1.58;white-space:normal!important}.example-quote-content{color:#2f2a26;letter-spacing:.01em;margin:0;font-size:.92rem;line-height:1.6}.tip-box{background:#fcf9f3;border-color:#efe3d3 #efe3d3 #efe3d3 #c7771e;border-left-style:solid;border-left-width:2.5px}.tip-box-content{color:#7a5311;margin:0;font-size:.89rem;line-height:1.55}.glossary-section{margin-top:1.5rem}.glossary-header-actions{align-items:center;gap:.75rem;display:flex}.glossary-toggle-btn{border:1px solid var(--border-delicate);color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;background:#faf7f2;border-radius:20px;align-items:center;gap:.5rem;padding:.35rem .85rem;font-size:.82rem;font-weight:600;transition:all .2s;display:inline-flex}.glossary-toggle-btn:hover{background:#f2ece1;border-color:#c23b2266}.glossary-toggle-btn.active{color:#c23b22;background:#fff7f5;border-color:#c23b22}.glossary-grid.compact-mode{grid-template-columns:repeat(7,1fr);gap:.65rem;margin-top:.75rem;display:grid}.glossary-card.is-compact{background:var(--bg-surface);border:1px solid var(--border-delicate);box-sizing:border-box;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;min-height:72px;padding:.65rem .35rem .6rem;transition:all .22s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;box-shadow:0 1px 3px #00000008}.glossary-card.is-compact:hover{border-color:#c23b2259;transform:translateY(-2px);box-shadow:0 4px 14px #c23b2217}.glossary-speaker-btn{color:#c5bcb4;cursor:pointer;opacity:.45;z-index:2;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:3px;transition:all .2s;display:flex;position:absolute;top:4px;right:4px}.glossary-card:hover .glossary-speaker-btn{opacity:1;color:#c23b22}.glossary-speaker-btn.speaking{opacity:1;color:#c23b22;animation:1s infinite pulse}.glossary-card.is-compact .glossary-pinyin{font-family:var(--font-serif);color:#78716c;letter-spacing:.04em;text-align:center;margin:0 0 .35rem;font-size:.8rem;font-weight:500;line-height:1;transition:color .2s}.glossary-card.is-compact .glossary-word{font-family:var(--font-serif);color:#1f1d1b;letter-spacing:.04em;text-align:center;justify-content:center;align-items:center;margin:0;font-size:1.25rem;font-weight:700;line-height:1.15;transition:color .2s,transform .2s;display:flex}.glossary-card.is-compact:hover .glossary-pinyin,.glossary-card.is-compact:hover .glossary-word{color:#c23b22}.glossary-grid.with-defs{grid-template-columns:repeat(4,1fr);gap:.95rem;margin-top:.75rem;display:grid}.glossary-card.has-def{background:var(--bg-surface);border:1px solid var(--border-delicate);box-sizing:border-box;border-radius:10px;flex-direction:column;align-items:center;padding:.85rem 1rem;transition:all .22s cubic-bezier(.4,0,.2,1);display:flex;position:relative;box-shadow:0 1px 3px #00000005}.glossary-card.has-def:hover{border-color:#c23b2259;transform:translateY(-2px);box-shadow:0 4px 14px #c23b2214}.glossary-card.has-def .glossary-pinyin{font-family:var(--font-serif);color:#78716c;letter-spacing:.04em;text-align:center;margin-bottom:.25rem;font-size:.8rem;font-weight:500}.glossary-card.has-def .glossary-word{font-family:var(--font-serif);color:#1f1d1b;letter-spacing:.04em;text-align:center;margin-bottom:.4rem;font-size:1.25rem;font-weight:700}.glossary-def-block{box-sizing:border-box;background:#faf7f2;border:1px solid #c23b2217;border-radius:6px;width:100%;padding:.55rem .75rem}.glossary-def-text{font-family:var(--font-serif);color:#4a4238;text-align:justify;font-size:.84rem;line-height:1.55;display:block}.glossary-dictation-btn{color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#c23b22,#9e2412);border:1px solid #9e2412;border-radius:20px;align-items:center;gap:.45rem;padding:.35rem .95rem;font-size:.82rem;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 2px 8px #c23b2240}.glossary-dictation-btn:hover{background:linear-gradient(135deg,#d44229,#b72510);transform:translateY(-1px);box-shadow:0 4px 14px #c23b2259}.dictation-modal-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;background:#1a1715a6;justify-content:center;align-items:center;padding:1.25rem;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.dictation-modal-card{border:1px solid var(--border-delicate);box-sizing:border-box;background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:660px;max-height:88vh;display:flex;position:relative;overflow-y:auto;box-shadow:0 24px 50px #1f1d1b47}.dictation-modal-header{border-bottom:1px solid var(--border-delicate);background:#fcfaf6;justify-content:space-between;align-items:center;padding:1rem 1.4rem;display:flex}.dictation-header-title-box{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.dictation-badge{color:#fff;letter-spacing:.05em;background:#c23b22;border-radius:4px;padding:.2rem .65rem;font-size:.8rem;font-weight:700}.dictation-sub-info{color:var(--text-tertiary);font-size:.82rem;font-family:var(--font-serif)}.dictation-close-btn{color:#8c827a;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.35rem;transition:all .2s;display:flex}.dictation-close-btn:hover{color:#1f1d1b;background:#efe7da}.dictation-body{flex-direction:column;gap:1.2rem;padding:1.4rem 1.6rem;display:flex}.dictation-status-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.dictation-step-pill{font-size:.88rem;font-family:var(--font-serif);color:var(--text-secondary)}.dictation-step-pill strong{color:#c23b22;font-size:1.15rem;font-weight:700}.dictation-settings-bar{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.settings-label{color:var(--text-tertiary);align-items:center;gap:.25rem;font-size:.78rem;display:flex}.pacing-btn-group,.repeat-btn-group{border:1px solid var(--border-delicate);background:#f4efeb;border-radius:14px;padding:2px;display:inline-flex}.pacing-btn,.repeat-btn{color:#6e675e;cursor:pointer;background:0 0;border:none;border-radius:12px;padding:.15rem .55rem;font-size:.74rem;font-weight:600;transition:all .15s}.pacing-btn.active,.repeat-btn.active{color:#c23b22;background:#fff;font-weight:700;box-shadow:0 1px 3px #0000001a}.dictation-focus-card{background:#faf8f5;border:1.5px solid #c23b222e;border-radius:14px;flex-direction:column;align-items:center;gap:1.25rem;padding:1.75rem 1.5rem;display:flex;box-shadow:inset 0 2px 6px #00000005}.dictation-speaker-indicator{flex-direction:column;align-items:center;gap:.6rem;display:flex}.speaker-wave-circle{color:#c23b22;background:#fff;border:2px solid #e5dcd2;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;transition:all .3s;display:flex;box-shadow:0 4px 14px #c23b221f}.speaker-wave-circle.pulsing{background:#fff4f2;border-color:#c23b22;animation:1.4s ease-in-out infinite pulseScale}@keyframes pulseScale{0%{transform:scale(1);box-shadow:0 0 #c23b2259}50%{transform:scale(1.08);box-shadow:0 0 0 10px #c23b2200}to{transform:scale(1);box-shadow:0 0 #c23b2200}}.speaker-status-text{font-size:.88rem;font-family:var(--font-serif);text-align:center}.dictation-word-mask-area{flex-direction:column;align-items:center;gap:.65rem;width:100%;display:flex}.dictation-word-hidden{border:1px dashed var(--border-delicate);background:#fff;border-radius:10px;flex-direction:column;align-items:center;gap:.3rem;width:100%;max-width:380px;padding:.9rem 1.5rem;display:flex}.hidden-placeholder{font-family:var(--font-serif);color:#a39b93;letter-spacing:.15em;font-size:1.25rem;font-weight:700}.hidden-hint{color:#b5aca3;font-size:.78rem}.dictation-word-revealed{background:#fff;border:1.5px solid #c23b22;border-radius:10px;flex-direction:column;align-items:center;gap:.2rem;width:100%;max-width:380px;padding:.75rem 1.5rem;animation:.2s ease-out fadeIn;display:flex}.revealed-pinyin{font-family:var(--font-serif);color:#c23b22;font-size:.88rem;font-weight:600}.revealed-word{font-family:var(--font-serif);color:#1f1d1b;letter-spacing:.08em;font-size:1.75rem;font-weight:700}.btn-peek-word{border:1px solid var(--border-delicate);color:#8c827a;cursor:pointer;background:0 0;border-radius:16px;align-items:center;gap:.35rem;padding:.25rem .75rem;font-size:.76rem;transition:all .2s;display:inline-flex}.btn-peek-word:hover{color:#1f1d1b;background:#fff;border-color:#8c827a}.btn-peek-word.active{color:#c23b22;background:#fff4f2;border-color:#c23b2266}.dictation-timer-container{flex-direction:column;gap:.45rem;width:100%;max-width:440px;display:flex}.timer-info-row{font-size:.82rem;font-family:var(--font-serif);justify-content:space-between;align-items:center;display:flex}.strokes-tag{color:sienna;align-items:center;gap:.25rem;font-weight:600;display:flex}.time-remaining-tag{color:var(--text-secondary)}.time-remaining-tag strong{color:#c23b22;font-size:.95rem}.dictation-progress-track{background:#e8e1d7;border-radius:4px;width:100%;height:8px;overflow:hidden}.dictation-progress-fill{background:linear-gradient(90deg,#e65100,#c23b22);border-radius:4px;height:100%;transition:width 1s linear}.dictation-controls-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.btn-control{border:1px solid var(--border-delicate);color:var(--text-primary);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:.45rem;padding:.55rem 1rem;font-size:.88rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-control:hover:not(:disabled){background:#faf7f2;border-color:#8c827a}.btn-control:disabled{opacity:.4;cursor:not-allowed}.btn-pause.is-paused{color:#c23b22;background:#fff7f5;border-color:#c23b22}.btn-next-primary{margin-left:auto;padding:.55rem 1.4rem;box-shadow:0 4px 12px #c23b2240;color:#fff!important;background:linear-gradient(135deg,#c23b22,#9e2412)!important;border-color:#9e2412!important}.btn-next-primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px #c23b2259}.dictation-finish-panel{flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.finish-celebration{text-align:center;flex-direction:column;align-items:center;gap:.45rem;display:flex}.celebration-icon{margin-bottom:.25rem}.finish-title{font-family:var(--font-serif);color:var(--text-primary);margin:0;font-size:1.35rem;font-weight:700}.finish-desc{color:var(--text-secondary);font-size:.88rem;font-family:var(--font-serif);max-width:520px;margin:0}.check-results-grid{grid-template-columns:repeat(2,1fr);gap:.65rem;max-height:42vh;padding:.25rem;display:grid;overflow-y:auto}.check-item-card{border:1px solid var(--border-delicate);background:#faf8f5;border-radius:8px;justify-content:space-between;align-items:center;padding:.5rem .85rem;transition:all .15s;display:flex}.check-item-card.marked-correct{background:#f3f9f5;border-color:#2e7d32}.check-item-card.marked-wrong{background:#fff5f5;border-color:#c23b22}.check-item-num{color:#a39b93;width:24px;font-size:.75rem}.check-item-center{flex-direction:column;flex:1;align-items:flex-start;display:flex}.check-item-pinyin{font-family:var(--font-serif);color:#c23b22;font-size:.72rem}.check-item-word{font-family:var(--font-serif);color:#1f1d1b;font-size:1.05rem}.check-item-actions{align-items:center;gap:.4rem;display:flex}.btn-mark{cursor:pointer;color:#d3c9bf;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .15s;display:flex}.btn-mark.mark-correct:hover,.btn-mark.mark-correct.active{color:#2e7d32;transform:scale(1.15)}.btn-mark.mark-wrong:hover,.btn-mark.mark-wrong.active{color:#c23b22;transform:scale(1.15)}.finish-actions-bar{border-top:1px solid var(--border-delicate);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.5rem;padding-top:1rem;display:flex}.btn-restart-all,.btn-retry-errors{cursor:pointer;border-radius:8px;align-items:center;gap:.45rem;padding:.55rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-restart-all{border:1px solid var(--border-delicate);color:var(--text-primary);background:#fff}.btn-restart-all:hover{background:#faf7f2}.btn-retry-errors{color:#c23b22;background:#fff7f5;border:1px solid #c23b22}.btn-retry-errors:hover{background:#ffebe8}.btn-finish-exit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#c23b22,#9e2412);border:1px solid #9e2412;border-radius:8px;margin-left:auto;padding:.55rem 1.3rem;font-size:.88rem;font-weight:700;transition:all .2s;box-shadow:0 4px 12px #c23b2240}.btn-finish-exit:hover{transform:translateY(-1px);box-shadow:0 6px 16px #c23b2259}.background-section{position:relative}.bg-flat-container{flex-direction:column;gap:1.25rem;margin-top:.75rem;display:flex}.bg-theme-pill{letter-spacing:.04em;border-radius:4px;justify-content:center;align-items:center;padding:.16rem .55rem;font-size:.72rem;font-weight:700;line-height:1.35;display:inline-flex;white-space:nowrap!important;flex-shrink:0!important}.bg-theme-pill.pill-cinnabar{color:var(--cinnabar-primary);background:#c23b221a;border:1px solid #c23b2233}.bg-theme-pill.pill-bamboo{color:var(--bamboo-primary);background:#2e6b4f1a;border:1px solid #2e6b4f33}.bg-theme-pill.pill-amber{color:#b45309;background:#d977061f;border:1px solid #d9770640}.bg-split-row{grid-template-columns:1fr 1.35fr;align-items:stretch;gap:1.25rem;display:grid}.bg-col-card{background:var(--bg-surface);border:1px solid var(--border-delicate);border-radius:12px;flex-direction:column;padding:1.25rem 1.4rem;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 10px #00000008}.bg-col-card:before{content:"";width:4px;position:absolute;top:0;bottom:0;left:0}.bg-history-card:before{background:var(--cinnabar-primary)}.bg-geography-card:before{background:var(--bamboo-primary)}.bg-card-mini-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.mini-head-left{flex:1;align-items:center;gap:.6rem;min-width:0;display:flex}.bg-mini-title{font-family:var(--font-serif);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.05rem;font-weight:700;line-height:1.35;overflow:hidden}@media (width<=640px){.bg-mini-title{white-space:normal;word-break:break-word}}.geo-key-coords{color:var(--text-muted);align-items:center;gap:.25rem;font-size:.74rem;display:flex}.bg-mini-body{flex-direction:column;flex:1;gap:.75rem;display:flex}.bg-compact-summary{color:var(--text-primary);font-size:.88rem;line-height:1.65;font-family:var(--font-serif);text-align:justify;margin:0}.history-key-nodes{background:#fcfaf7;border:1px dashed #c23b2233;border-radius:8px;flex-direction:column;flex:1;justify-content:space-between;gap:.5rem;padding:.75rem .85rem;display:flex}.key-node-row{align-items:baseline;gap:.5rem;font-size:.82rem;line-height:1.5;display:flex}.node-tag{color:var(--cinnabar-primary);background:#c23b2214;border-radius:3px;padding:.1rem .35rem;font-size:.7rem;font-weight:700;white-space:nowrap!important;flex-shrink:0!important}.history-key-nodes.geo-key-nodes{background:#f8faf8;border-color:#2e6b4d38}.node-tag.node-tag-bamboo{color:#2e6b4d;background:#2e6b4d1a}.node-text{color:var(--text-secondary)}.geo-term-banner{background:#fdfbf8;border:1px solid #c23b2233;border-radius:6px;align-items:center;gap:.6rem;margin-bottom:.65rem;padding:.35rem .65rem;font-size:.76rem;line-height:1.4;display:flex}.geo-term-badge{font-family:var(--font-serif);color:var(--cinnabar-primary);white-space:nowrap;background:#c23b2214;border-radius:4px;flex-shrink:0;align-items:center;gap:.25rem;padding:.15rem .4rem;font-size:.72rem;font-weight:700;display:inline-flex}.geo-term-body{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:.3rem;font-size:.75rem;display:flex}.geo-term-body strong{color:var(--text-primary)}.geo-term-body .highlight{color:var(--cinnabar-primary);background:#c23b2212;border:1px dashed #c23b2240;border-radius:3px;padding:.05rem .3rem}.term-sep{color:var(--text-muted)}.geo-summary-box{margin:0;padding:0;position:relative}.geo-compact-2lines{color:var(--text-primary);font-size:.84rem;line-height:1.55;font-family:var(--font-serif);text-align:justify;-webkit-line-clamp:2;line-clamp:2;cursor:pointer;-webkit-box-orient:vertical;max-height:calc(2.604rem + 2px);margin:0;transition:all .25s;display:-webkit-box;overflow:hidden}.geo-summary-full{color:var(--text-primary);font-size:.84rem;line-height:1.55;font-family:var(--font-serif);text-align:justify;max-height:none;margin:0;animation:.25s cubic-bezier(.16,1,.3,1) fadeInGeoText;display:block}.geo-summary-box.no-overflow .geo-summary-full{cursor:default;animation:none}@keyframes fadeInGeoText{0%{opacity:.8;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.geo-inline-expand-btn{background:linear-gradient(90deg, transparent 0%, var(--bg-surface) 28%, var(--bg-surface) 100%);color:var(--bamboo-primary,#3b6e4e);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;gap:2px;padding-left:1.1rem;padding-right:1px;font-size:.74rem;font-weight:600;line-height:1.55;display:inline-flex;position:absolute;bottom:0;right:0}.geo-inline-expand-btn:hover{color:#274c34}.geo-inline-expand-btn .expand-ellipsis{color:var(--text-muted,#7c7267);font-family:var(--font-serif);margin-right:2px;font-weight:400}.geo-inline-expand-btn .toggle-icon{flex-shrink:0}.geo-inline-expand-btn .bounce-subtle{animation:2s ease-in-out infinite subtleBounceDown}.geo-inline-collapse-btn{color:var(--bamboo-primary,#3b6e4e);cursor:pointer;vertical-align:baseline;-webkit-user-select:none;user-select:none;background:#4a6b4614;border-radius:4px;align-items:center;gap:2px;margin-left:.45rem;padding:0 .25rem;font-size:.74rem;font-weight:600;line-height:1.55;display:inline-flex}.geo-inline-collapse-btn:hover{color:#274c34;background:#4a6b4629}@keyframes subtleBounceDown{0%,to{transform:translateY(0)}50%{transform:translateY(2px)}}.geo-route-row-single{white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;background:#4a6b460d;border:1px dashed #4a6b4638;border-radius:6px;align-items:center;gap:.45rem;height:27px;padding:.22rem .55rem;font-size:.76rem;line-height:1.35;display:flex;overflow:hidden}.route-nodes-wrap{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.35rem;display:flex;overflow:hidden}.route-node{color:#2f402b}.route-node strong{font-weight:600}.route-node.highlight{color:var(--cinnabar-primary)}.route-arrow{color:var(--bamboo-primary);font-size:.8rem;font-weight:700}.compact-map-wrap{isolation:isolate;z-index:1;border:1px solid var(--border-delicate);background:#eae6df;border-radius:8px;flex-direction:column;height:285px;display:flex;position:relative;overflow:hidden}.compact-illustration-wrap{border:1px solid var(--border-delicate);background:#2a3028;border-radius:8px;height:285px;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 10px #00000014}.geo-illustration-img{object-fit:cover;object-position:center 35%;width:100%;height:100%;transition:transform .5s cubic-bezier(.2,.8,.2,1);display:block}.compact-illustration-wrap:hover .geo-illustration-img{transform:scale(1.035)}.geo-img-caption-bar{color:#f8f6f1;font-size:.76rem;font-family:var(--font-kaiti,serif);letter-spacing:.02em;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none;background:linear-gradient(#0000 0%,#14181473 30%,#141814e0 100%);justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex;position:absolute;bottom:0;left:0;right:0}.geo-mini-footer-inline{border-top:1px dashed var(--border-delicate);flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:auto;padding-top:.65rem;display:flex}.geo-inline-loc{color:#2f402b;white-space:nowrap;background:#4a6b4614;border:1px solid #4a6b4638;border-radius:4px;align-items:center;gap:.25rem;padding:.12rem .45rem;font-size:.72rem;font-weight:600;display:inline-flex}.geo-inline-loc-text{font-family:var(--font-serif)}.geo-inline-tags{flex-wrap:wrap;align-items:center;gap:.35rem;display:inline-flex}.pill-bamboo{color:var(--bamboo-primary)!important;background:#4a6b4614!important;border:1px solid #4a6b4633!important}.langya-map-container{isolation:isolate;z-index:1;background:#faf7f2;flex-direction:column;width:100%;height:100%;display:flex;position:relative}.map-toolbar{color:#ece7de;white-space:nowrap;background:#25282a;justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem .75rem;font-size:.75rem;display:flex;overflow:hidden}.map-toolbar-info{flex:1;align-items:center;gap:.4rem;min-width:0;display:flex;overflow:hidden}.map-info-icon{color:#e58e26;flex-shrink:0}.map-coord-title{color:#f3efe6;white-space:nowrap;flex-shrink:0;font-weight:600}.map-coord-val{color:#9e9b96;font-size:.68rem;font-family:var(--font-mono,monospace);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.map-toolbar-actions{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.zoom-switch-pills{background:#00000040;border-radius:4px;align-items:center;gap:.2rem;padding:.1rem;display:flex}.toolbar-sep{color:#fff3;-webkit-user-select:none;user-select:none;font-size:.7rem}.map-tool-btn{color:#ece7de;cursor:pointer;white-space:nowrap;background:#ffffff1a;border:1px solid #ffffff26;border-radius:4px;align-items:center;gap:.2rem;padding:.18rem .45rem;font-size:.68rem;transition:all .2s;display:inline-flex}.map-tool-btn:hover{background:#fff3}.map-tool-btn.active{background:var(--cinnabar-primary);border-color:var(--cinnabar-primary);color:#fff;font-weight:600}.map-tool-btn.reset-btn{color:#d4a373}.map-viewport-wrapper{isolation:isolate;z-index:1;background:#eae6df;width:100%;position:relative}.map-render-div{width:100%;height:100%}.map-markers-strip{border-top:1px solid var(--border-delicate);background:#f2ede4;align-items:center;gap:.4rem;padding:.4rem .7rem;display:flex;overflow-x:auto}.strip-label{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:.25rem;font-size:.72rem;font-weight:600;display:flex}.strip-pills{align-items:center;gap:.35rem;display:flex}.marker-strip-pill{border:1px solid var(--border-delicate);color:var(--text-primary);cursor:pointer;white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:.25rem;padding:.18rem .45rem;font-size:.7rem;transition:all .2s;display:inline-flex}.marker-strip-pill:hover{border-color:var(--cinnabar-primary);color:var(--cinnabar-primary)}.marker-strip-pill.active{border-color:var(--cinnabar-primary);color:var(--cinnabar-primary);background:#fff5f2;font-weight:600}.marker-strip-pill .pill-dot{border-radius:50%;width:6px;height:6px}.marker-strip-pill .pill-dot.dot-peak{background:#c23b22}.marker-strip-pill .pill-dot.dot-cliff{background:#8c532b}.marker-strip-pill .pill-dot.dot-pass{background:#2b4c6f}.marker-strip-pill .pill-dot.dot-evacuation{background:#2e6b4f}.marker-strip-pill .pill-cat{color:var(--text-muted);font-size:.68rem}.langya-custom-marker{background:0 0;border:none}.marker-pin-wrap{flex-direction:column;align-items:center;display:flex;position:relative}.marker-dot{background:var(--pin-color,#c23b22);z-index:2;border:2px solid #fff;border-radius:50%;width:12px;height:12px;position:relative;box-shadow:0 2px 6px #00000059}.marker-pulse{background:var(--pin-color,#c23b22);opacity:.4;z-index:1;border-radius:50%;width:16px;height:16px;animation:2s ease-out infinite marker-pulse-anim;position:absolute;top:-4px;left:0}@keyframes marker-pulse-anim{0%{opacity:.6;transform:scale(.8)}to{opacity:0;transform:scale(2.2)}}.marker-name-label{white-space:nowrap;color:#fff;pointer-events:none;background:#191a1ce0;border-radius:3px;padding:.1rem .35rem;font-size:.68rem;font-weight:600;position:absolute;top:15px;box-shadow:0 2px 5px #00000040}.marker-pin-wrap.is-selected .marker-dot{box-shadow:0 0 8px var(--pin-color,#c23b22);transform:scale(1.3)}.langya-leaflet-popup .leaflet-popup-content-wrapper{border:1px solid var(--border-delicate);background:#fffdf9;border-radius:8px;padding:.2rem;box-shadow:0 4px 16px #0003}.map-popup-inner{max-width:220px;padding:.3rem .2rem}.popup-badge{border-radius:3px;margin-bottom:.25rem;padding:.1rem .35rem;font-size:.68rem;font-weight:600;display:inline-block}.popup-title{color:#1f1d1b;font-size:.88rem;font-weight:700;font-family:var(--font-serif);margin:0 0 .25rem}.popup-desc{color:#55514c;margin:0;font-size:.78rem;line-height:1.45}.bg-mini-footer{border-top:1px dashed var(--border-delicate);align-items:center;gap:.4rem;margin-top:auto;padding-top:.65rem;display:flex}.mini-pill{color:var(--text-muted);background:var(--bg-parchment-warm);border-radius:3px;padding:.1rem .4rem;font-size:.7rem}.bg-heroes-flat-panel{background:var(--bg-surface);border:1px solid var(--border-delicate);border-radius:12px;padding:1.25rem 1.4rem;position:relative;overflow:hidden;box-shadow:0 2px 10px #00000008}.bg-heroes-flat-panel:before{content:"";background:var(--amber-gold);width:4px;position:absolute;top:0;bottom:0;left:0}.heroes-flat-head{justify-content:space-between;align-items:center;margin-bottom:.95rem;display:flex}.heroes-head-left{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.heroes-panel-title{font-family:var(--font-serif);color:var(--text-primary);margin:0;font-size:1.15rem;font-weight:700}.heroes-panel-sub{color:var(--text-muted);font-size:.78rem}.heroes-compact-grid{grid-template-columns:repeat(var(--heroes-cols,5), minmax(0, 1fr));gap:.85rem;width:100%;margin-bottom:1.15rem;display:grid}.heroes-compact-grid.heroes-cols-1,.heroes-compact-grid.heroes-grid-single{grid-template-columns:1fr;gap:1.15rem;margin-bottom:.5rem}.heroes-compact-grid.heroes-cols-2,.heroes-compact-grid.heroes-grid-duo{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem;margin-bottom:.5rem}.heroes-compact-grid.heroes-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.heroes-compact-grid.heroes-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.heroes-compact-grid.heroes-cols-5{grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem}.hero-compact-item{border:1px solid var(--border-delicate);box-sizing:border-box;background:#fcfbf8;border-radius:9px;flex-direction:column;min-width:0;padding:.9rem .95rem .85rem;transition:all .2s;display:flex}.hero-compact-item:hover{border-color:#c23b224d;transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.hero-compact-item.is-survivor{background:#fffdf9;border-color:#d9770647}.item-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.35rem;margin-bottom:.45rem;display:flex}.item-badge{border-radius:4px;padding:.12rem .45rem;font-size:.68rem;font-weight:700}.item-badge.martyr{color:var(--cinnabar-primary);background:#c23b221a}.item-badge.survivor{color:#b45309;background:#d9770626}.item-age{color:var(--text-muted);font-size:.72rem}.item-name{font-family:var(--font-serif);color:var(--text-primary);margin-bottom:.2rem;font-size:1.12rem;font-weight:700;line-height:1.3}.item-role{color:var(--text-secondary);margin-bottom:.3rem;font-size:.76rem;font-weight:500;line-height:1.4}.item-status-quote{color:var(--cinnabar-primary,#c23b22);border-left:2.5px solid var(--cinnabar-primary,#c23b22);background:#c23b220f;border-radius:0 4px 4px 0;margin-bottom:.4rem;padding:.18rem .5rem;font-size:.72rem;line-height:1.4}.item-hometown{color:var(--text-muted);margin-bottom:.45rem;font-size:.7rem}.item-desc{color:var(--text-secondary);text-align:justify;flex:1;font-size:.78rem;line-height:1.6}.item-aftermath{border-top:1px dashed #7864502e;margin-top:.65rem;padding-top:.55rem}.item-aftermath-tag{color:#b45309;background:#d977061f;border-radius:3px;margin-bottom:.25rem;padding:.08rem .35rem;font-size:.65rem;font-weight:700;display:inline-block}.item-aftermath-p{color:var(--text-muted);text-align:justify;margin:0;font-size:.74rem;line-height:1.55}.hero-compact-item.hero-card-horizontal{background:#fcfbf8;border-radius:10px;grid-template-columns:160px 1fr;align-items:stretch;gap:1.15rem;padding:1.1rem 1.25rem;display:grid}.hero-compact-item.hero-card-horizontal.is-survivor{background:#fffdf8;border-color:#d9770647}.hero-compact-item.hero-card-horizontal.is-martyr{background:#fcfaf8;border-color:#c23b2240}.hero-horizontal-left{border-right:1px dashed #78645033;flex-direction:column;justify-content:flex-start;padding-right:1rem;display:flex}.hero-badge-row{justify-content:space-between;align-items:center;gap:.35rem;margin-bottom:.55rem;display:flex}.hero-badge-row .item-badge{white-space:nowrap;font-size:.68rem}.hero-horizontal-left .item-name{font-family:var(--font-serif);color:var(--text-primary);margin-bottom:.35rem;font-size:1.25rem;font-weight:700;line-height:1.3}.hero-horizontal-left .item-role{color:var(--cinnabar-primary);margin-bottom:.35rem;font-size:.78rem;font-weight:600;line-height:1.45}.hero-compact-item.is-survivor .hero-horizontal-left .item-role{color:#b45309}.hero-horizontal-left .item-hometown{color:var(--text-muted);margin-top:auto;padding-top:.5rem;font-size:.72rem;line-height:1.4}.hero-horizontal-right{flex-direction:column;justify-content:center;gap:.65rem;display:flex}.hero-desc-section{flex-direction:column;gap:.25rem;display:flex}.hero-section-tag{border-radius:3px;align-self:flex-start;padding:.1rem .4rem;font-size:.68rem;font-weight:700;line-height:1.2;display:inline-block}.hero-section-tag.tag-cinnabar{color:var(--cinnabar-primary);background:#c23b2214;border:1px dashed #c23b2240}.hero-section-tag.tag-gold{color:#b45309;background:#d977061a;border:1px dashed #d9770640}.hero-desc-p{color:var(--text-secondary);text-align:justify;margin:0;font-size:.78rem;line-height:1.6}.hero-desc-p.text-aftermath{color:var(--text-primary);font-size:.76rem}@media (width<=860px){.heroes-compact-grid.heroes-cols-3,.heroes-compact-grid.heroes-cols-4,.heroes-compact-grid.heroes-cols-5,.heroes-compact-grid.heroes-grid-duo{grid-template-columns:1fr;gap:.85rem}}@media (width<=640px){.hero-compact-item.hero-card-horizontal{grid-template-columns:1fr;gap:.75rem}.hero-horizontal-left{border-bottom:1px dashed #78645033;border-right:none;padding-bottom:.75rem;padding-right:0}}.trivia-slices-panel{background:var(--bg-surface);border:1px solid var(--border-delicate);border-radius:12px;padding:1.25rem 1.4rem;position:relative;overflow:hidden;box-shadow:0 2px 10px #00000008}.trivia-slices-panel:before{content:"";background:#d97706;width:4px;position:absolute;top:0;bottom:0;left:0}.trivia-slices-head{border-bottom:1px solid var(--border-delicate);justify-content:space-between;align-items:center;margin-bottom:1.15rem;padding-bottom:.65rem;display:flex}.trivia-head-left{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.bg-theme-pill.pill-ochre{color:#b45309;background:#d977061f;border:1px solid #d9770647}.text-ochre{color:#d97706}.trivia-panel-title{font-family:var(--font-serif);color:var(--text-primary);margin:0;font-size:1.15rem;font-weight:700}.trivia-panel-sub{color:var(--text-muted);font-size:.78rem}.trivia-slices-grid{grid-template-columns:repeat(3,1fr);gap:.85rem;display:grid}.archive-slice-card{background:#fdfbf8;border:1px solid #00000014;border-radius:8px;flex-direction:column;padding:.75rem .85rem .75rem .9rem;transition:all .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 3px #00000005}.archive-slice-card:hover{background:#fff;border-color:#d9770659;transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.archive-slice-card:before{content:"";width:4px;position:absolute;top:0;bottom:0;left:0}.archive-slice-card.type-movie:before{background:#00aeec}.archive-slice-card.type-taoist:before{background:#2b4c6f}.archive-slice-card.type-heroes:before{background:#b45309}.archive-slice-card.type-village:before{background:#2e6b4f}.archive-slice-card.type-family:before{background:var(--color-cinnabar)}.archive-slice-card.type-archive:before{background:#475569}.archive-card-header{border-bottom:1px dashed #00000014;align-items:flex-start;gap:.45rem;margin-bottom:.45rem;padding-bottom:.35rem;display:flex}.archive-cat-badge{font-family:var(--font-art), sans-serif;letter-spacing:.04em;white-space:nowrap;border-radius:4px;flex-shrink:0;align-items:center;margin-top:.05rem;padding:.1rem .45rem;font-size:.78rem;font-weight:600;line-height:1.25;display:inline-flex}.archive-slice-card.type-movie .archive-cat-badge{color:#0087b8;background:#00aeec1a;border:1px solid #00aeec4d}.archive-slice-card.type-taoist .archive-cat-badge{color:#2b4c6f;background:#2b4c6f1a;border:1px solid #2b4c6f4d}.archive-slice-card.type-heroes .archive-cat-badge{color:#b45309;background:#d977061a;border:1px solid #d977064d}.archive-slice-card.type-village .archive-cat-badge{color:#2e6b4f;background:#2e6b4f1a;border:1px solid #2e6b4f4d}.archive-slice-card.type-family .archive-cat-badge{background:var(--color-cinnabar-soft);border:1px solid var(--color-cinnabar-border);color:var(--color-cinnabar)}.archive-slice-card.type-archive .archive-cat-badge{color:#475569;background:#64748b1a;border:1px solid #64748b4d}.archive-title{font-family:var(--font-serif);color:var(--text-primary);flex:1;margin:0;font-size:.85rem;font-weight:700;line-height:1.35}.archive-content-body{flex-direction:column;flex:1;gap:.45rem;display:flex}.archive-fact-row{align-items:baseline;gap:.4rem;display:flex}.archive-bullet{opacity:.8;flex-shrink:0;font-size:.6rem;position:relative;top:0}.archive-slice-card.type-movie .archive-bullet{color:#00aeec}.archive-slice-card.type-taoist .archive-bullet{color:#2b4c6f}.archive-slice-card.type-heroes .archive-bullet{color:#b45309}.archive-slice-card.type-village .archive-bullet{color:#2e6b4f}.archive-slice-card.type-family .archive-bullet{color:var(--color-cinnabar)}.archive-slice-card.type-archive .archive-bullet{color:#475569}.archive-fact-text{color:var(--text-secondary);text-align:justify;margin:0;font-size:.84rem;line-height:1.58}.archive-fact-text strong{color:var(--text-primary)}.archive-link-wrap{border-top:1px dashed #0000000f;margin-top:.45rem;padding-top:.35rem}.archive-bilibili-btn{color:#0087b8;background:#f0f9ff;border:1px solid #00aeec59;border-radius:4px;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.72rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.archive-bilibili-btn:hover{color:#fff;background:#00aeec;border-color:#00aeec;transform:translateY(-1px);box-shadow:0 2px 6px #00aeec40}.archive-btn-icon{flex-shrink:0}.archive-btn-arrow{opacity:.75;flex-shrink:0}.bili-film-icon{flex-shrink:0}.bili-ext-icon{opacity:.85;flex-shrink:0;margin-left:.15rem}@media (width<=1060px){.trivia-slices-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=680px){.trivia-slices-grid{grid-template-columns:1fr}}.idioms-section{margin-bottom:2.5rem}.idioms-grid{grid-template-columns:repeat(2,1fr);gap:.95rem;display:grid}.idiom-card{background:#fff;border:1px solid #00000012;border-radius:8px;flex-direction:column;padding:.9rem 1.05rem;transition:all .2s;display:flex;box-shadow:0 1px 3px #00000005}.idiom-card:hover{border-color:#c23b2240;transform:translateY(-1px);box-shadow:0 4px 12px #0000000a}.idiom-card-header{margin-bottom:.45rem}.idiom-title-row{align-items:center;margin-bottom:.2rem;display:flex}.idiom-text{font-family:var(--font-serif);color:var(--text-primary);letter-spacing:.03em;font-size:1.12rem;font-weight:700}.idiom-definition{color:var(--text-secondary);margin:0 0 .35rem;font-size:.79rem;line-height:1.45}.idiom-relations-row{border-top:1px dashed #0000000d;flex-wrap:wrap;align-items:center;gap:.75rem;padding-top:.3rem;display:flex}.idiom-rel-group{align-items:center;gap:.3rem;font-size:.72rem;display:inline-flex}.rel-tag{border-radius:3px;padding:.05rem .28rem;font-size:.65rem;font-weight:600;line-height:1.2}.syn-tag{color:#166534;background:#f0fdf4;border:1px solid #dcfce7}.ant-tag{color:#92400e;background:#fffbeb;border:1px solid #fef3c7}.rel-words{color:#57534e}.idiom-sentences-body{border-top:1px dashed #0000000f;flex-direction:column;gap:.35rem;margin-top:.1rem;padding-top:.5rem;display:flex}.idiom-sentence-row{align-items:baseline;gap:.45rem;padding:.15rem 0;display:flex}.sentence-tag-col{flex-shrink:0}.sentence-type-badge{white-space:nowrap;border-radius:3px;padding:.05rem .3rem;font-size:.64rem;font-weight:600;display:inline-block}.badge-orig{color:#a16207;background:#fdf4e7}.badge-sample{color:#15803d;background:#edf7f0}.sentence-quote-text{color:#44403c;text-align:justify;margin:0;font-size:.79rem;line-height:1.55}.idiom-target-kw{padding:0 .1rem;font-weight:700}.kw-orig{color:#a16207;border-bottom:1.5px solid #a1620759}.kw-sample{color:#15803d;border-bottom:1.5px solid #15803d59}@media (width<=860px){.idioms-grid{grid-template-columns:1fr}}.outline-card{background:var(--bg-surface);border:1px solid var(--border-delicate);box-shadow:var(--shadow-sm);border-radius:12px;padding:1.25rem 1.4rem}.flow-steps-container{scrollbar-width:thin;align-items:stretch;gap:.55rem;width:100%;padding-bottom:.35rem;display:flex;overflow-x:auto}.flow-step-card{background:#fff;border:1px solid #00000014;border-top:3px solid #94a3b8;border-radius:8px;flex-direction:column;flex:1 1 0;min-width:175px;padding:.85rem .8rem .75rem;transition:all .2s;display:flex;position:relative;box-shadow:0 1px 3px #00000005}.flow-step-card:hover{border-color:#c23b2247;transform:translateY(-2px);box-shadow:0 6px 16px #0000000d}.flow-step-card.stage-type-cause{border-top-color:#64748b}.flow-step-card.stage-type-cause .flow-stage-pill{color:#475569;background:#64748b1a;border:1px solid #64748b38}.flow-step-card.stage-type-progress{border-top-color:#2b4c6f}.flow-step-card.stage-type-progress .flow-stage-pill{color:#2b4c6f;background:#2b4c6f1a;border:1px solid #2b4c6f38}.flow-step-card.stage-type-turning{background:#fffdf9;border-top-color:#d97706}.flow-step-card.stage-type-turning .flow-stage-pill{color:#b45309;background:#d977061a;border:1px solid #d9770640}.flow-step-card.stage-type-climax{border-top-color:var(--color-cinnabar);background:#fffaf8;border-color:#c23b2240}.flow-step-card.stage-type-climax .flow-stage-pill{background:var(--color-cinnabar-soft);color:var(--color-cinnabar);border:1px solid var(--color-cinnabar-border)}.flow-step-card.stage-type-climax .flow-action-title{color:var(--color-cinnabar)}.flow-step-card.stage-type-ending{border-top-color:#2e6b4f}.flow-step-card.stage-type-ending .flow-stage-pill{color:#2e6b4f;background:#2e6b4f1a;border:1px solid #2e6b4f38}.flow-step-card.stage-type-sublime{border-top-color:#6c4a8d}.flow-step-card.stage-type-sublime .flow-stage-pill{color:#6c4a8d;background:#6c4a8d1a;border:1px solid #6c4a8d40}.flow-card-header{justify-content:space-between;align-items:center;margin-bottom:.45rem;display:flex}.flow-step-badge{color:#78716c;letter-spacing:.02em;font-size:.72rem;font-weight:700}.flow-stage-pill{color:#57534e;background:#0000000d;border-radius:3px;padding:.06rem .32rem;font-size:.64rem;font-weight:700}.flow-action-title{font-family:var(--font-serif);color:var(--text-primary);letter-spacing:.02em;margin:0 0 .3rem;font-size:1.02rem;font-weight:800;line-height:1.3}.flow-detail-text{color:var(--text-secondary);flex:1;margin:0 0 .6rem;font-size:.74rem;line-height:1.45}.flow-location-row{color:#78716c;border-top:1px dashed #0000000f;align-items:center;gap:.25rem;margin-top:auto;padding-top:.4rem;font-size:.68rem;display:flex}.flow-loc-icon{opacity:.8;color:var(--color-cinnabar);flex-shrink:0}.flow-loc-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.flow-connector{color:#cbd5e1;flex-shrink:0;justify-content:center;align-items:center;width:14px;display:flex}.connector-arrow{opacity:.75}@media (width<=900px){.flow-steps-container{flex-direction:column;gap:.4rem}.flow-connector{width:100%;height:14px;transform:rotate(90deg)}}.preview-footer-action{justify-content:center;margin-top:2rem;display:flex}.btn-enter-reading{color:#fff;background:linear-gradient(135deg,#c23b22,#9e2412);border-radius:30px;align-items:center;gap:.75rem;padding:.85rem 2rem;font-size:1.05rem;font-weight:700;display:inline-flex;box-shadow:0 4px 16px #c23b2252}.btn-enter-reading:hover{transform:translateY(-2px);box-shadow:0 6px 20px #c23b226b}.reading-phase-container{flex-direction:column;flex:1;display:flex}.reading-toolbar{border-bottom:1px solid var(--border-delicate);box-shadow:var(--shadow-xs);background:#fff;justify-content:space-between;align-items:center;padding:.65rem 2rem;display:flex}.lens-toggle-btn{background:var(--bg-parchment-warm);border:1px solid var(--border-delicate);color:var(--text-primary);border-radius:20px;align-items:center;gap:.65rem;padding:.45rem 1rem;font-size:.88rem;font-weight:600;display:flex}.lens-toggle-btn:hover{background:#efe8dd}.lens-toggle-btn.active{background:var(--color-cinnabar-soft);border-color:var(--color-cinnabar);color:var(--color-cinnabar)}.switch-pill{border-radius:10px;padding:.15rem .5rem;font-size:.72rem;font-weight:700}.switch-pill.on{background:var(--color-cinnabar);color:#fff}.switch-pill.off{color:#6e675e;background:#ddd5c7}.toolbar-right{align-items:center;gap:1.5rem;display:flex}.font-controls{background:var(--bg-subtle);border:1px solid var(--border-delicate);border-radius:8px;align-items:center;gap:.4rem;padding:2px 6px;display:flex}.ctrl-btn{color:var(--text-secondary);border-radius:4px;align-items:center;padding:4px;display:flex}.ctrl-btn:hover{color:var(--text-primary);background:#fff}.font-size-indicator{text-align:center;min-width:38px;font-size:.8rem;font-weight:600}.theme-controls{align-items:center;gap:.5rem;display:flex}.theme-icon{color:var(--text-muted)}.theme-dot{border:1.5px solid #0000;border-radius:50%;width:18px;height:18px}.theme-dot.warm{background:#faf7f2;border-color:#d3c7b8}.theme-dot.white{background:#fff;border-color:#d3c7b8}.theme-dot.dark{background:#2a2827;border-color:#55504d}.theme-dot.active{box-shadow:0 0 0 2px var(--color-cinnabar)}.reading-split-workspace{flex:1;min-height:calc(100vh - 170px);display:flex}.reading-split-workspace.is-wide-centered-mode{background:var(--bg-paper);display:block}.workspace-left{border-right:1px solid var(--border-delicate);flex:1.15;padding:2.5rem 3rem;overflow-y:auto}.workspace-left.workspace-full-width{border-right:none;flex:1;max-width:1440px;margin:0 auto;padding:2.5rem 2rem}.workspace-right{background:#fff;flex:.85;overflow-y:auto;box-shadow:-2px 0 12px #00000005}.article-view-container{max-width:1560px;line-height:2.2;font-family:var(--font-serif);color:#211e1c;margin:0 auto;padding:2.5rem 1.5rem 4rem}.article-header{text-align:center;width:100%;margin:0 auto 2rem;padding-bottom:.5rem}.title-row-wrapper{grid-template-columns:minmax(0,1fr) 592px minmax(0,1fr);align-items:start;gap:2rem;width:100%;margin-bottom:2rem;display:grid;position:relative}.title-row-wrapper.is-poem-row{grid-template-columns:minmax(0,1fr) 700px minmax(0,1fr)}.title-row-wrapper .margin-note-right{align-self:start;height:0;min-height:0;display:block;position:relative}.title-row-wrapper .margin-guide-card.title-guide-card{box-sizing:border-box;z-index:10;width:100%;max-width:460px;transition:top .25s cubic-bezier(.4,0,.2,1),box-shadow .2s,border-color .2s,background .2s;top:0;left:0;position:absolute!important}.title-center-block{box-sizing:content-box;text-align:center;border-left:1px solid #0000;border-right:1px solid #0000;flex-direction:column;align-items:center;width:542px;max-width:542px;margin:0 auto;padding:0 1.5rem;display:flex}.article-number-badge{font-family:var(--font-sans);color:var(--text-muted);letter-spacing:1px;margin-bottom:.5rem;font-size:.78rem}.article-title-wrap{margin-bottom:.5rem}.article-title{font-family:var(--font-serif);color:#211e1c;letter-spacing:.12em;margin:0;font-size:2.15rem;font-weight:700;line-height:1.35}.title-annotated-term{cursor:pointer;color:#8b2011;border-bottom:2px dashed #c23b2273;border-radius:4px;padding:0 2px;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline;position:relative}.title-annotated-term:hover,.title-annotated-term.active-target{color:#c23b22;background:#c23b2214;border-bottom-color:#c23b22}.circled-badge{font-family:var(--font-sans);-webkit-user-select:none;user-select:none;box-sizing:border-box;text-align:center;vertical-align:super;border-radius:50%;justify-content:center;align-items:center;font-weight:700;line-height:1;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.title-circled-badge{color:#c23b22;filter:drop-shadow(0 1px 3px #c23b2240);vertical-align:super;width:18px;height:18px;margin-left:3px;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-block;overflow:visible;transform:translateY(-9px)}.title-annotated-term:hover .title-circled-badge,.title-annotated-term.active-target .title-circled-badge{color:#9e2412;filter:drop-shadow(0 2px 5px #c23b2259);transform:translateY(-9px)scale(1.08)}.cultural-story-box{font-family:var(--font-sans);background:#fdfbf7;border:1px solid #ece0cf;border-left:3px solid #8b2011;border-radius:6px;margin-bottom:.65rem;padding:.65rem .85rem}.poem-quote-card{background:#fff;border:1px solid #d3c7b8a6;border-radius:5px;margin-bottom:.45rem;padding:.45rem .65rem;box-shadow:0 1px 3px #00000005}.poem-line{font-family:var(--font-serif);color:#8b2011;letter-spacing:.06em;text-align:center;margin:0 0 .18rem;font-size:.95rem;font-weight:700;line-height:1.4}.poem-source{color:var(--text-muted);text-align:right;margin-top:.25rem;font-size:.72rem;display:block}.cultural-desc{color:#554841;text-align:justify;margin:.4rem 0 0;font-size:.8rem;line-height:1.6}.cultural-desc strong{color:#211e1c}.title-tag-highlight{color:#8b2011;background:#fbebe8;font-weight:700}.title-controls-bar{text-align:center;justify-content:center;align-items:center;width:100%;max-width:100%;margin:1.25rem auto .65rem;display:flex}.title-controls-bar .controls-group{-webkit-backdrop-filter:blur(8px);background:#ffffffb8;border:1px solid #d3c7b8a6;border-radius:30px;flex-wrap:nowrap;justify-content:center;align-items:center;gap:.45rem;margin:0 auto;padding:.3rem .55rem;display:inline-flex;box-shadow:0 2px 8px #00000008}.control-chip{color:#5c524b;font-family:var(--font-sans);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;background:#f7f4ee;border:1px solid #e4dbd0;border-radius:20px;flex-shrink:0;justify-content:center;align-items:center;gap:.35rem;padding:.28rem .72rem;font-size:.78rem;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.control-chip:hover{color:#211e1c;background:#efe9de;border-color:#d3c7b8;transform:translateY(-1px)}.control-chip .chip-icon{color:#8e8680;flex-shrink:0;transition:color .2s}.control-chip:hover .chip-icon{color:#c23b22}.control-chip.active-lens{color:#8c590e;background:#fdf4e3;border-color:#e2b860;font-weight:600;box-shadow:0 2px 6px #c7771e29}.control-chip.active-lens .chip-icon{color:#c7771e}.control-chip.active{color:#8b2011;background:#fbebe8;border-color:#e8a89e;font-weight:600;box-shadow:0 2px 6px #c23b2226}.control-chip.active .chip-icon{color:#c23b22}.lens-banner-active{box-sizing:border-box;width:100%;font-family:var(--font-sans);color:#6c4b18;background:#fffdf8;border:1px solid #eedfbe;border-radius:8px;margin-top:1.15rem;padding:.85rem 1.15rem;font-size:.88rem;line-height:1.8;box-shadow:0 1px 4px #b482280d}.lens-banner-text{text-align:justify;letter-spacing:.02em;margin:0}.unit-strategy-control-panel{box-sizing:border-box;background:linear-gradient(#fffdf8 0%,#faf5ea 100%);border:1px solid #e6d8c3;border-top:3.5px solid #c26b22;border-radius:8px;flex-direction:column;gap:.85rem;width:100%;margin-top:1.15rem;padding:1rem 1.25rem;display:flex;box-shadow:0 4px 16px #8a5a1e14}.strategy-panel-title-row{flex-wrap:wrap;align-items:center;gap:.65rem;margin-bottom:.35rem;display:flex}.strategy-badge{color:#fff;letter-spacing:.03em;background:#c26b22;border-radius:4px;padding:.15rem .6rem;font-size:.76rem;font-weight:700}.strategy-heading{font-family:var(--font-serif);color:#6d3d12;font-size:.98rem;font-weight:700}.strategy-panel-desc{color:#5c4328;font-size:.88rem;line-height:1.68;font-family:var(--font-sans);text-align:justify;margin:0}.strategy-tasks-tabs{flex-wrap:wrap;gap:.6rem;margin-top:.2rem;display:flex}.strategy-task-tab-btn{color:#555;cursor:pointer;font-family:var(--font-serif);background:#fff;border:1px solid #d9c8af;border-radius:6px;align-items:center;gap:.45rem;padding:.45rem .9rem;font-size:.88rem;transition:all .2s;display:inline-flex;box-shadow:0 1px 3px #00000008}.strategy-task-tab-btn:hover{color:#c26b22;background:#fffdf9;border-color:#c26b22}.strategy-task-tab-btn.active{color:#fff;background:#2b4c6f;border-color:#2b4c6f;font-weight:700;box-shadow:0 3px 10px #2b4c6f47}.task-tab-tag{font-size:.72rem;font-family:var(--font-sans);background:#0000000f;border-radius:3px;padding:.08rem .38rem}.strategy-task-tab-btn.active .task-tab-tag{color:#fff;background:#ffffff40}.task-tab-title{letter-spacing:.02em}.active-strategy-summary-card{background:#fff;border:1px dashed #d8c3a5;border-radius:6px;flex-direction:column;gap:.5rem;padding:.65rem .95rem;display:flex}.active-task-desc-row{align-items:baseline;gap:.5rem;display:flex}.active-task-badge{color:#b35415;white-space:nowrap;background:#fcefe6;border-radius:3px;flex-shrink:0;padding:.1rem .45rem;font-size:.74rem;font-weight:700}.active-task-subtitle{font-family:var(--font-serif);color:#3a2e20;font-size:.88rem;line-height:1.6}.strategy-legend-row{color:#666;font-size:.78rem;font-family:var(--font-sans);border-top:1px solid #f0e6d8;flex-wrap:wrap;align-items:center;gap:1.25rem;padding-top:.4rem;display:flex}.legend-item{align-items:center;gap:.35rem;display:inline-flex}.legend-dot{border-radius:50%;width:7px;height:7px;display:inline-block}.dot-focus{background:#c23b22}.dot-skim{background:#d9822b}.dot-skip{background:#8c98a4}.dot-plane{background:#1565c0}.dot-point{background:#9a6300}.unit-xinji-control-panel{box-sizing:border-box;background:linear-gradient(#f8fafc 0%,#f1f5f9 100%);border:1px solid #cbd5e1;border-top:3.5px solid #2563eb;border-radius:8px;flex-direction:column;gap:.85rem;width:100%;margin-top:1.15rem;padding:1rem 1.25rem;display:flex;box-shadow:0 4px 16px #2563eb14}.xinji-badge{color:#fff;letter-spacing:.03em;background:#2563eb;border-radius:4px;padding:.15rem .6rem;font-size:.76rem;font-weight:700}.unit-zhongxin-control-panel{box-sizing:border-box;background:linear-gradient(#fffdf8 0%,#faf5ee 100%);border:1px solid #e6d7c8;border-top:3.5px solid #d97706;border-radius:8px;flex-direction:column;gap:.85rem;width:100%;margin-top:1.15rem;padding:1rem 1.25rem;display:flex;box-shadow:0 4px 16px #d9770614}.zhongxin-badge{color:#fff;letter-spacing:.03em;background:#d97706;border-radius:4px;padding:.15rem .6rem;font-size:.76rem;font-weight:700}.unit-guandian-control-panel{box-sizing:border-box;background:linear-gradient(#f6fbf9 0%,#ecf7f2 100%);border:1px solid #cde8dc;border-top:3.5px solid #059669;border-radius:8px;flex-direction:column;gap:.85rem;width:100%;margin-top:1.15rem;padding:1rem 1.25rem;display:flex;box-shadow:0 4px 16px #05966914}.guandian-badge{color:#fff;letter-spacing:.03em;background:#059669;border-radius:4px;padding:.15rem .6rem;font-size:.76rem;font-weight:700}.unit-chushi-control-panel{box-sizing:border-box;background:linear-gradient(#fdf9f7 0%,#f8efea 100%);border:1px solid #e4cdc4;border-top:3.5px solid #991b1b;border-radius:8px;flex-direction:column;gap:.85rem;width:100%;margin-top:1.15rem;padding:1rem 1.25rem;display:flex;box-shadow:0 4px 16px #991b1b14}.chushi-badge{color:#fff;letter-spacing:.03em;background:#991b1b;border-radius:4px;padding:.15rem .6rem;font-size:.76rem;font-weight:700}.para-strategy-badge-card{font-family:var(--font-serif);border-radius:6px;align-items:center;gap:.65rem;margin-bottom:.6rem;padding:.45rem .8rem;font-size:.86rem;line-height:1.5;display:flex;box-shadow:0 1px 4px #00000008}.para-strategy-badge-card.mode-focus{color:#8a1f10;background:#fff5f2;border:1px solid #f3c4ba;border-left:3.5px solid #c23b22}.para-strategy-badge-card.mode-skim{color:#7b4b15;background:#fffdf5;border:1px solid #eedfbe;border-left:3.5px solid #d9822b}.para-strategy-badge-card.mode-skip{color:#667085;background:#f8f9fa;border:1px dashed #d0d5dd;border-left:3.5px solid #8c98a4}.strategy-badge-left{flex-shrink:0}.strategy-mode-pill{white-space:nowrap;border-radius:3px;padding:.12rem .5rem;font-size:.75rem;font-weight:700}.mode-focus .strategy-mode-pill{color:#fff;background:#c23b22}.mode-skim .strategy-mode-pill{color:#fff;background:#d9822b}.mode-skip .strategy-mode-pill{color:#fff;background:#8c98a4}.strategy-badge-right{flex:1}.strategy-guide-text{letter-spacing:.01em;font-size:.86rem}.strategy-para-block.mode-focus{background:#c23b2206;border-radius:4px;border-left:3px solid #c23b22!important;padding-left:.85rem!important}.strategy-para-block.mode-skim{border-left:2px dashed #e2cca8!important;padding-left:.75rem!important}.strategy-para-block.mode-skip{opacity:.5;transition:opacity .25s;border-left:2px solid #0000!important;padding-left:.65rem!important}.strategy-para-block.mode-skip:hover{opacity:.9}.vocab-legend-indicator{background:var(--color-cinnabar-soft);border:1px solid var(--color-cinnabar-border);color:#8b2011;font-family:var(--font-sans);border-radius:20px;align-items:center;gap:.5rem;margin-top:.75rem;padding:.35rem .85rem;font-size:.8rem;display:inline-flex}.vocab-legend-indicator strong{color:var(--color-cinnabar)}.vocab-char-highlight{cursor:pointer;border-bottom:2px solid #e57373;border-radius:2px;padding:0 1px;font-weight:700;transition:all .2s;display:inline;color:#c23b22!important}.vocab-char-highlight:hover{background-color:#fdf1ef;border-bottom-color:#c23b22;box-shadow:0 1px 3px #c23b2233}.vocab-circled-badge{vertical-align:baseline;filter:drop-shadow(0 .5px 1px #c23b221a);width:12px;height:12px;margin-left:1px;margin-right:0;transition:all .2s;display:inline-block;position:relative;top:-.45em;overflow:visible}.vocab-badge-circle{fill:#fffdfb;stroke:#c23b22;stroke-width:1.2px;transition:all .2s}.vocab-badge-text{fill:#c23b22;font-family:system-ui,-apple-system,sans-serif;font-size:9.5px;font-weight:700;transition:all .2s}.vocab-char-highlight:hover .vocab-badge-circle{fill:#c23b22}.vocab-char-highlight:hover .vocab-badge-text{fill:#fff}.legend-plane{background:var(--color-indigo-soft);color:var(--color-indigo);border-radius:3px;padding:1px 4px;font-weight:600}.legend-point{color:#8c5b09;background:#ffeaa7;border-radius:3px;padding:1px 4px;font-weight:600}.paragraph-row-wrapper{transition:all var(--transition-fast);grid-template-columns:minmax(0,1fr) 592px minmax(0,1fr);align-items:start;gap:2rem;margin-bottom:2rem;display:grid;position:relative}.paragraph-row-wrapper.row-selected{position:relative}.margin-note-left{justify-content:flex-end;display:flex;position:relative}.margin-note-left.is-collapsed,.margin-note-right.is-collapsed{visibility:hidden;pointer-events:none}.left-margin-column-content{text-align:left;flex-direction:column;align-items:flex-start;gap:.5rem;width:250px;max-width:100%;display:flex}.left-streamlined-stage{color:#7a5844;-webkit-user-select:none;user-select:none;text-align:left;box-sizing:border-box;background:#f7f4ee;border:1px solid #d3c7b899;border-radius:4px;align-items:center;gap:.35rem;width:fit-content;max-width:100%;padding:3px 8px;font-size:.74rem;font-weight:700;line-height:1.35;transition:all .2s;display:inline-flex}.paragraph-row-wrapper:hover .left-streamlined-stage,.paragraph-row-wrapper.row-selected .left-streamlined-stage{color:#8b2011;background:#fffdf9;border-color:#c23b2266}.left-streamlined-stage .stage-dot{background:#c23b22;border-radius:50%;flex-shrink:0;width:5px;height:5px}.word-comment-card{cursor:pointer;text-align:left;width:100%;font-family:var(--font-sans);background:#fff;border:1px solid #d3c7b8b3;border-left:3px solid #c23b22;border-radius:6px;padding:.6rem .75rem;transition:border-color .2s,background-color .2s,box-shadow .2s;position:relative;box-shadow:0 1px 4px #00000008}.word-comment-card:hover,.word-comment-card.is-active{background:#fffdf9;border-color:#c23b22;border-left-width:3px;box-shadow:0 4px 14px #c23b2217}.comment-card-header{margin-bottom:.35rem;display:block}.comment-tag{color:#8b2011;letter-spacing:.02em;white-space:normal;word-break:break-word;overflow-wrap:break-word;width:100%;font-size:.74rem;font-weight:700;line-height:1.45;display:inline-block}.comment-card-body{color:#4a3e38;margin:0;font-size:.8rem;line-height:1.55}.comment-connector-line{display:none!important}.row-connector-svg{pointer-events:none;z-index:10;width:100%;height:100%;position:absolute;top:0;left:0;overflow:visible}.connector-svg-path{transition:stroke .2s cubic-bezier(.4,0,.2,1),stroke-width .2s cubic-bezier(.4,0,.2,1)}.connector-svg-dot{transition:fill .2s cubic-bezier(.4,0,.2,1),r .2s cubic-bezier(.4,0,.2,1)}.center-para-block{box-sizing:content-box;width:542px;max-width:542px;transition:all var(--transition-fast);background:#fff;border:1px solid #d3c7b899;border-radius:10px;margin-bottom:0;padding:1.25rem 1.5rem;box-shadow:0 2px 10px #00000005}.center-para-block:hover{background:#fff;border-color:#c23b2266}.center-para-block.has-annotation{cursor:pointer}.center-para-block.selected{background:#fffdf9;border-color:#c23b2259;box-shadow:0 4px 16px #c23b220d}.para-index-bar.mini-bar{border-bottom:1px dashed #0000000d;justify-content:flex-end;align-items:center;gap:.5rem;margin-bottom:.5rem;padding-bottom:.25rem;display:flex}.handwritten-para-num{text-indent:0;width:2em;height:2.65em;line-height:2.65;font-family:var(--font-serif);color:var(--text-muted);-webkit-user-select:none;user-select:none;pointer-events:none;justify-content:center;align-items:center;font-size:.9em;font-weight:500;transition:all .2s;display:inline-flex;position:absolute;top:0;left:0}.para-num-circle{width:1.35em;height:1.35em;color:var(--text-muted);border:1px solid #8c827a73;border-radius:50%;justify-content:center;align-items:center;font-size:.78em;line-height:1;transition:all .2s;display:inline-flex}.center-para-block:hover .handwritten-para-num .para-num-circle{color:var(--text-secondary);border-color:#8c827acc}.para-index-bar{font-family:var(--font-sans);border-bottom:1px dashed #0000000f;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;padding-bottom:.4rem;display:flex}.para-num{color:var(--text-muted);font-size:.75rem;font-weight:700}.annotation-marker{background:var(--color-cinnabar-soft);color:var(--color-cinnabar);border-radius:4px;align-items:center;gap:.25rem;padding:1px 6px;font-size:.72rem;font-weight:600;display:inline-flex}.lens-marker{background:var(--color-amber-soft);color:var(--color-amber);border-radius:4px;align-items:center;gap:.25rem;padding:1px 6px;font-size:.72rem;font-weight:600;display:inline-flex}.toggle-interlinear-btn{color:#6a563d;cursor:pointer;background:#f4efe6;border:1px solid #d8cebe;border-radius:4px;align-items:center;gap:.3rem;margin-left:auto;padding:2px 7px;font-size:.72rem;font-weight:600;transition:all .2s;display:inline-flex}.toggle-interlinear-btn:hover{color:#4a3a25;background:#ede4d3}.toggle-interlinear-btn.active{color:#fff;background:#8b2011;border-color:#8b2011}.chevron-icon{transition:transform .2s}.chevron-icon.rotate{transform:rotate(180deg)}.para-text{text-indent:2em;letter-spacing:0;color:#231f1d;text-align:justify;width:100%;text-justify:inter-ideograph;line-break:strict;word-break:normal;overflow-wrap:break-word;font-feature-settings:"halt" 1, "chws" 1;margin:0;font-size:18px;line-height:2.65;position:relative}.para-text.has-para-num{text-indent:2em}.para-with-interlinear-flow{flex-direction:column;display:flex}.annotated-text-target{cursor:pointer;background:#c23b220f;border-bottom:1.5px dashed #c23b2273;border-radius:2px;padding:1px 2px;transition:all .2s;display:inline}.annotated-text-target:hover,.annotated-text-target.active{color:#7d1a0d;background:#c23b2221;border-bottom:2px solid #c23b22}.annotated-text-target .lens-point-highlight,.annotated-text-target .lens-plane-highlight,.lens-point-highlight .annotated-text-target,.lens-plane-highlight .annotated-text-target,.lens-point-highlight.annotated-text-target,.lens-plane-highlight.annotated-text-target{cursor:pointer;background:#c23b2214;border-radius:2px;transition:all .2s;border-bottom:1.5px dashed #c23b22!important}.annotated-text-target:hover .lens-point-highlight,.annotated-text-target:hover .lens-plane-highlight,.annotated-text-target.active .lens-point-highlight,.annotated-text-target.active .lens-plane-highlight,.lens-point-highlight .annotated-text-target:hover,.lens-point-highlight .annotated-text-target.active,.lens-plane-highlight .annotated-text-target:hover,.lens-plane-highlight .annotated-text-target.active,.lens-point-highlight.annotated-text-target:hover,.lens-point-highlight.annotated-text-target.active,.lens-plane-highlight.annotated-text-target:hover,.lens-plane-highlight.annotated-text-target.active{color:#7d1a0d!important;background:#c23b2229!important;border-bottom:2px solid #c23b22!important}.article-view-container.has-word-glosses .para-text:not(.poem-para-text){line-height:3.4!important}.para-text.poem-para-text{text-indent:0!important;text-align:center!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;width:100%!important;padding:1.2rem 0 1.8rem!important;display:flex!important;position:relative!important}.para-text.poem-para-text .handwritten-para-num.poem-para-num{text-indent:0!important;position:absolute!important;top:.8rem!important;left:.5rem!important}.poem-title-line{font-family:var(--font-kai,"Kaiti SC", "STKaiti", "KaiTi", "Noto Serif SC", serif);color:#1f1b18;letter-spacing:.14em;text-align:center;margin-bottom:.45rem;font-size:1.4rem;font-weight:700;line-height:1.4}.poem-author-line{font-family:var(--font-kai,"Kaiti SC", "STKaiti", "KaiTi", "Noto Serif SC", serif);color:#635850;letter-spacing:.08em;text-align:center;margin-bottom:1.4rem;font-size:.96rem;line-height:1.4}.poem-verses-body{flex-direction:column;align-items:center;width:100%;display:flex}.poem-content-row{justify-content:center;align-items:flex-start;gap:1.6rem;width:100%;transition:all .25s;display:flex;position:relative}.poem-content-row.has-side-glossary{justify-content:space-between;gap:1.5rem;padding:0 .5rem}.poem-content-row.has-side-glossary.has-side-tags{padding-left:78px}.poem-verses-column{text-align:left;flex-direction:column;align-items:flex-start;margin:0 auto;display:inline-flex;position:relative}.poem-content-row.has-side-glossary .poem-verses-column{flex-shrink:0;margin:0}.poem-side-glossary-panel{text-align:left;background:#fcfbf8;border:1px solid #eadbce;border-radius:6px;flex:300px;min-width:220px;max-width:340px;padding:.45rem .65rem;animation:.2s ease-out fadeInGlossaryPanel;box-shadow:0 1px 6px #6b55320a}@keyframes fadeInGlossaryPanel{0%{opacity:0;transform:translate(6px)}to{opacity:1;transform:translate(0)}}.poem-glossary-list{flex-direction:column;gap:.16rem;display:flex;overflow:visible}.poem-glossary-item{color:#4a3e38;cursor:default;border-radius:3px;padding:.1rem .25rem;font-size:.77rem;line-height:1.38;transition:all .12s;display:block}.poem-glossary-item:hover,.poem-glossary-item.is-active-hover{color:#7d1a0d;background:#f4ebe1}.poem-glossary-num{font-family:var(--font-kai,serif);color:#c23b22;margin-right:.12rem;font-size:.82rem;font-weight:600}.poem-glossary-word{color:#7d1a0d;font-weight:600}.poem-glossary-pinyin{font-family:var(--font-sans,sans-serif);color:sienna;margin-right:.12rem;font-size:.72rem;font-weight:400}.poem-glossary-def{color:#4a3e38;font-size:.76rem}.poem-glossary-item.is-active-hover .poem-glossary-def{color:#2d231e}.poem-annotated-term{cursor:pointer;border-bottom:1.5px dotted #c23b2299;border-radius:2px;padding-bottom:1px;transition:all .15s;display:inline;position:relative}.poem-annotated-term:hover,.poem-annotated-term.is-hovered{color:#7d1a0d;background:#c23b221f;border-bottom:1.5px solid #c23b22}.poem-term-circle-num{font-family:var(--font-kai,serif);color:#c23b22;vertical-align:super;-webkit-user-select:none;user-select:none;margin-left:1px;font-size:.66rem;font-weight:700;line-height:1}.paragraph-row-wrapper.is-poem-row{grid-template-columns:minmax(0,1fr) 700px minmax(0,1fr)}.paragraph-row-wrapper.is-poem-row .margin-note-right{align-self:start;height:0;min-height:0;display:block;position:relative}.paragraph-row-wrapper.is-poem-row .margin-note-right .margin-guide-card{box-sizing:border-box;z-index:10;width:100%;max-width:460px;transition:top .25s cubic-bezier(.4,0,.2,1),box-shadow .2s,border-color .2s,background .2s;top:0;left:0;position:absolute!important}.center-para-block.is-modern-poem-block{box-sizing:border-box;background:#ffffff73;border:1px solid #dcd6cc99;border-radius:8px;width:100%;max-width:680px;margin:.5rem auto 1.25rem;padding:1.15rem 1.6rem;transition:all .2s}.center-para-block.is-modern-poem-block:hover{background:#ffffffd9;border-color:#c23b2240;box-shadow:0 4px 12px #3c28140d}.center-para-block.is-modern-poem-block.lens-target{background:#fffcf6d9;border-color:#c23b2259}.para-text.modern-poem-text{font-family:var(--font-kai,"Kaiti SC", "STKaiti", "KaiTi", "Noto Serif SC", serif);letter-spacing:.06em;color:#231f1d;text-indent:0!important;white-space:pre-line!important;text-align:left!important;padding-left:2.5rem!important;font-size:1.16rem!important;line-height:2.15!important;position:relative!important}.article-view-container.has-word-glosses .para-text.modern-poem-text{line-height:3.15!important}.handwritten-para-num.modern-poem-para-num{text-indent:0!important;justify-content:center!important;align-items:center!important;width:1.8rem!important;height:1.8rem!important;display:flex!important;position:absolute!important;top:.28rem!important;left:.2rem!important}.handwritten-para-num.modern-poem-para-num .para-num-circle{font-family:var(--font-sans,system-ui, sans-serif);color:#8c5338;background:#fff8f2b3;border:1px solid #8c533859;border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:flex;width:1.45rem!important;height:1.45rem!important;font-size:.82rem!important}.para-text.modern-poem-text .role-tag{vertical-align:.05em;letter-spacing:0;margin-right:6px;font-size:.74rem;line-height:1.3;display:inline-block}.center-para-block.is-poem-block{width:650px;max-width:650px;padding:1.25rem}.poem-verse-line{white-space:nowrap;font-family:var(--font-kai,"Kaiti SC", "STKaiti", "KaiTi", "Noto Serif SC", serif);letter-spacing:.08em;font-size:1.22rem;display:block;position:relative;text-indent:0!important;text-align:left!important;line-height:3.3!important}.poem-verse-text{transition:all .2s;display:inline;position:relative}.article-view-container.has-word-glosses .poem-verse-line{line-height:3.4!important}.poem-stanza-gap{width:100%;height:1.4rem}.annotated-text-target.is-poem-target{text-indent:0!important;background:#c23b220d!important;border-bottom:2px dashed #c23b2273!important;border-radius:6px!important;flex-direction:column!important;align-items:flex-start!important;width:100%!important;margin:.15rem 0!important;padding:0 .5rem!important;display:flex!important}.annotated-text-target.is-poem-target:hover,.annotated-text-target.is-poem-target.active{background:#c23b221f!important;border-bottom:2px solid #c23b22!important}.guide-focus-keyword{cursor:pointer;border-radius:3px;margin:0 1px;padding:0 4px;font-weight:700;text-decoration:none;transition:all .22s cubic-bezier(.16,1,.3,1);display:inline-block;position:relative;box-shadow:0 0 10px #c23b2240;color:#9e1b1b!important;background:linear-gradient(#e6510014 0%,#c23b2238 100%)!important;border-bottom:2.5px solid #c23b22!important}.guide-focus-keyword:hover{transform:translateY(-1px);box-shadow:0 2px 12px #c23b2266;color:#7a1212!important;background:#c23b2259!important}.guide-focus-keyword.active{animation:2s ease-in-out infinite alternate guideFocusPulse}@keyframes guideFocusPulse{0%{background-color:#c23b2229;box-shadow:0 0 5px #c23b2233}to{background-color:#c23b2252;box-shadow:0 0 14px #c23b227a}}.poem-verse-line.guide-active-verse{background:#c23b220a;border-radius:6px;padding:0 6px}.para-text.guide-active-para{background:#c23b2205;border-radius:6px;padding:2px 6px}.guide-q-keyword-tag{color:#c23b22;background:#c23b2214;border-bottom:1.5px solid #c23b2266;border-radius:3px;margin:0 1px;padding:1px 4px;font-weight:700}.poem-side-role-tag{white-space:nowrap!important;font-family:var(--font-sans,system-ui, sans-serif)!important;letter-spacing:0!important;-webkit-user-select:none!important;user-select:none!important;pointer-events:auto!important;border-radius:4px!important;padding:.14rem .45rem!important;font-size:.72rem!important;font-weight:600!important;line-height:1.2!important;position:absolute!important;top:50%!important;right:calc(100% + 10px)!important;transform:translateY(-50%)!important;box-shadow:0 1px 3px #0000000a!important}.poem-side-role-tag.role-tag-plane{color:#2e7d32!important;background:#e8f5e9!important;border:1px solid #c8e6c9!important}.poem-side-role-tag.role-tag-point{color:#c23b22!important;background:#fbe9e7!important;border:1px solid #ffccbc!important}.poem-verse-text.lens-plane-highlight{background:#2e7d3214!important;border-radius:3px!important;padding:2px 4px!important}.poem-verse-text.lens-point-highlight{background:#c23b2214!important;border-radius:3px!important;padding:2px 4px!important}.poem-lens-insight{text-align:left!important;width:92%!important;max-width:580px!important;margin-top:1.6rem!important;box-shadow:0 2px 8px #6b55320f!important}.poem-inline-translation{animation:.25s ease-out fadeInTrans;text-align:left!important;background:#fcf9f2!important;border:1px solid #eadbce!important;border-left:3.5px solid sienna!important;border-radius:6px!important;width:92%!important;max-width:580px!important;margin-top:1.6rem!important;padding:.85rem 1.1rem!important;box-shadow:0 2px 8px #a0522d0d!important}@keyframes fadeInTrans{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.poem-inline-translation .trans-header{color:#8d411f!important;align-items:center!important;gap:.35rem!important;margin-bottom:.4rem!important;display:flex!important}.poem-inline-translation .trans-icon{color:#8d411f!important;flex-shrink:0!important}.poem-inline-translation .trans-tag{font-family:var(--font-sans,system-ui, sans-serif)!important;letter-spacing:.04em!important;font-size:.82rem!important;font-weight:700!important}.poem-inline-translation .trans-text{font-family:var(--font-kai,"Kaiti SC", "STKaiti", "KaiTi", "Noto Serif SC", serif)!important;color:#4a3e38!important;letter-spacing:.02em!important;text-align:justify!important;margin:0!important;font-size:.98rem!important;line-height:1.8!important}.left-poem-translation-card{background:#faf6ef!important;border:1px solid #e5d9c8!important;border-radius:6px!important;margin-bottom:.8rem!important;padding:.65rem .85rem!important;transition:all .2s!important;box-shadow:0 1px 4px #00000008!important}.left-poem-translation-card:hover{background:#fffdf8!important;border-color:#c5a070!important}.left-poem-translation-card .trans-header{color:#8d411f!important;align-items:center!important;gap:.35rem!important;margin-bottom:.35rem!important;font-size:.78rem!important;font-weight:700!important;display:flex!important}.left-poem-translation-card .trans-body{color:#5c4f46!important;text-align:justify!important;margin:0!important;font-size:.82rem!important;line-height:1.6!important}.interlinear-punct-wrapper{white-space:nowrap;display:inline}.interlinear-trailing-punct{white-space:nowrap;letter-spacing:0;display:inline}.interlinear-word-wrap{white-space:nowrap;text-indent:0;vertical-align:baseline;line-height:1.15;display:inline-block;position:relative}.interlinear-term-text{color:inherit;border-bottom:1.5px dashed #c23b2273;padding-bottom:2px;transition:all .2s}.interlinear-word-wrap:hover .interlinear-term-text{color:#8b2011;border-bottom-color:#c23b22}.interlinear-subnote{white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:5;align-items:center;line-height:1.1;display:inline-flex;position:absolute;top:calc(100% + 7px);left:0}.interlinear-subnote.is-close-offset{max-width:none}.interlinear-subnote.is-shift-left{text-align:right;justify-content:flex-end;left:auto;right:2px}.interlinear-subnote.is-shift-right{text-align:left;justify-content:flex-start;left:3px;right:auto}.interlinear-subnote.is-preceded-close{padding-left:3px}.interlinear-subnote.align-right{left:auto;right:0}.gloss-def-text{color:#8c2618;letter-spacing:.3px;white-space:nowrap;font-family:STKaiti,KaiTi,Songti SC,serif;font-size:11.5px;font-weight:500;line-height:1}.interlinear-tooltip-popover{opacity:0;visibility:hidden;pointer-events:none;z-index:100;white-space:normal;text-align:left;background:#fffdf9;border:1px solid #e6d8ca;border-radius:8px;width:max-content;max-width:280px;padding:8px 12px;transition:all .2s cubic-bezier(.16,1,.3,1);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px);box-shadow:0 10px 25px #78321e24,0 2px 6px #0000000f}.interlinear-tooltip-popover:after{content:"";border:5px solid #0000;border-top-color:#fffdf9;position:absolute;top:100%;left:50%;transform:translate(-50%)}.interlinear-word-wrap:hover .interlinear-tooltip-popover{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.popover-term-badge{font-family:var(--font-kai), "STKaiti", "KaiTi", serif;color:#8c2618;letter-spacing:.5px;margin-bottom:3px;font-size:13px;font-weight:700;display:block}.popover-def-content{color:#4a3b32;font-size:12px;font-weight:400;line-height:1.5;display:block}ruby.vocab-char-ruby{ruby-position:over;ruby-align:center;display:inline-ruby;font-family:inherit}ruby.vocab-char-ruby rt.vocab-pinyin-rt{font-family:var(--font-sans);color:#c23b22;-webkit-user-select:none;user-select:none;letter-spacing:0;font-size:11px;font-weight:600;line-height:1}.vocab-circled-char{color:#c23b22;font-weight:600;display:inline}ruby.textbook-char-ruby{ruby-position:over;ruby-align:center;display:inline-ruby;font-family:inherit}ruby.textbook-char-ruby rt.textbook-pinyin-rt{font-family:var(--font-sans);color:#4a3e38;-webkit-user-select:none;user-select:none;letter-spacing:0;font-size:11px;font-weight:500;line-height:1}.textbook-char-text{color:inherit}.article-view-container.has-word-glosses .interlinear-word-wrap{vertical-align:baseline;margin-bottom:.15em}.article-view-container.has-word-glosses .interlinear-subnote{top:calc(100% + 7px)}.article-view-container.has-word-glosses ruby.vocab-char-ruby,.article-view-container.has-word-glosses ruby.textbook-char-ruby{display:inline-ruby;vertical-align:baseline}.article-view-container.has-word-glosses ruby.vocab-char-ruby rt.vocab-pinyin-rt,.article-view-container.has-word-glosses ruby.textbook-char-ruby rt.textbook-pinyin-rt{font-family:var(--font-sans);letter-spacing:.2px;font-size:11px;line-height:1}.para-tags-bar{border-top:1px dashed #0000000f;flex-wrap:wrap;gap:.4rem;margin-top:.75rem;padding-top:.5rem;display:flex}.para-tag-pill{font-size:.74rem;font-family:var(--font-sans);color:#4a3e38;cursor:pointer;background:#f4efea;border:1px solid #ddd3c5;border-radius:12px;align-items:center;gap:.3rem;padding:2px 8px;transition:all .2s;display:inline-flex}.para-tag-pill:hover,.para-tag-pill.active{color:#fff;background:#8b2011;border-color:#8b2011}.margin-note-right{justify-content:flex-start;display:flex;position:sticky;top:1.5rem}.margin-guide-card{width:100%;max-width:460px;box-shadow:none;font-family:var(--font-sans);text-align:left;background:#faf9f7;border:1px solid #00000012;border-radius:6px;padding:.7rem .85rem;transition:margin-top .25s cubic-bezier(.4,0,.2,1),box-shadow .2s,border-color .2s,background .2s;position:relative}.paragraph-row-wrapper:hover .margin-guide-card,.paragraph-row-wrapper.row-selected .margin-guide-card,.title-guide-card.row-selected{background:#fff;border-color:#c23b2259;box-shadow:0 2px 10px #0000000a}.guide-qa-section{flex-direction:column;gap:.5rem;display:flex}.guide-qa-row{align-items:flex-start;gap:.45rem;display:flex}.guide-qa-row.guide-a-row.is-locked{align-items:center;min-height:20px}.guide-qa-row.guide-a-row.is-locked .guide-qa-prefix{margin-top:0}.guide-qa-prefix{border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin-top:2px;font-size:.68rem;font-weight:700;line-height:1;display:inline-flex}.q-prefix{color:#2b5f8c;background:#ebf3fa;border:1px solid #2b5f8c40}.a-prefix{color:#8b2011;background:#fdf2ee;border:1px solid #8b201140}.guide-qa-content{flex:1;min-width:0}.guide-q-text{color:#211e1c;text-align:justify;margin:0;font-size:.84rem;font-weight:600;line-height:1.5}.guide-a-unlocked{flex-direction:column;gap:.35rem;display:flex}.guide-a-text{color:#3e3430;text-align:justify;margin:0;font-size:.81rem;line-height:1.55}.master-quote-mini{color:#795548;background:#fdf8f0;border-left:2.5px solid #d97706;border-radius:4px;margin-top:.25rem;padding:.3rem .5rem;font-size:.75rem;line-height:1.5}.master-quote-mini .quote-speaker{color:#b45309;font-weight:700}.guide-vip-trigger-btn{cursor:pointer;-webkit-user-select:none;user-select:none;vertical-align:middle;background:linear-gradient(135deg,#fffdf8 0%,#fef8ec 100%);border:1px solid #ead4aa;border-radius:4px;justify-content:center;align-items:center;gap:.25rem;height:20px;padding:0 .45rem;line-height:1;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 1px 2px #b453090a}.guide-vip-trigger-btn:hover{background:linear-gradient(135deg,#fef8ec 0%,#fdf0d5 100%);border-color:#d97706;transform:translateY(-.5px);box-shadow:0 2px 6px #b453091a}.guide-vip-trigger-btn .vip-crown-icon{vertical-align:middle;color:#d97706;flex-shrink:0;margin:0;padding:0;display:inline-block}.vip-btn-text{vertical-align:middle;color:#b45309;letter-spacing:.02em;white-space:nowrap;font-size:.72rem;font-weight:600;line-height:1;display:inline-block}.margin-guide-placeholder{width:100%;max-width:300px;color:var(--text-muted);background:#fff6;border:1px dashed #d3c7b899;border-radius:8px;align-items:center;gap:.4rem;padding:.75rem .85rem;font-size:.74rem;display:flex}.placeholder-dot{background:#c4b5a5;border-radius:50%;width:5px;height:5px}.textbook-appendix-section{width:100%;max-width:1200px;font-family:var(--font-sans);border-top:2px dashed #c23b2240;flex-direction:column;gap:2rem;margin:3.5rem auto 0;padding-top:2rem;display:flex}.textbook-credits-row{color:#666;border-bottom:1px solid #0000000f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1rem;font-size:.85rem;display:flex}.textbook-footnote{align-items:center;gap:.4rem;font-style:italic;display:flex}.textbook-footnote .footnote-num{color:var(--color-cinnabar);font-style:normal;font-weight:700}.textbook-art-credit{color:#888;font-size:.8rem}.textbook-char-grid-card{background:#fffdf9;border:1px solid #c23b2233;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000008}.char-grid-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:1.25rem;display:flex}.char-grid-title{color:#333;align-items:center;gap:.5rem;margin:0;font-size:1.05rem;font-weight:700;display:flex}.char-grid-subtitle{color:#888;font-size:.8rem}.tianzige-char-list{flex-wrap:wrap;justify-content:flex-start;gap:1rem;display:flex}.tianzige-box{flex-direction:column;align-items:center;gap:.3rem;display:flex}.tianzige-pinyin{color:#666;font-size:.85rem;font-family:var(--font-sans)}.tianzige-cell{background:#fff;border:2px solid #c23b22;border-radius:3px;justify-content:center;align-items:center;width:52px;height:52px;display:flex;position:relative}.tianzige-cell .cross-h{border-top:1px dashed #c23b2259;height:1px;position:absolute;top:50%;left:0;right:0}.tianzige-cell .cross-v{border-left:1px dashed #c23b2259;width:1px;position:absolute;top:0;bottom:0;left:50%}.tianzige-cell .char-glyph{z-index:2;color:#1a1a1a;font-family:Kaiti,STKaiti,KaiTi_GB2312,Noto Serif SC,serif;font-size:1.95rem;line-height:1;position:relative}.tianzige-radical{color:#999;font-size:.72rem}.textbook-exercises-card{background:#fdfbf7;border:1px solid #eadece;border-radius:12px;flex-direction:column;gap:1.5rem;padding:1.75rem;display:flex}.exercises-header{border-bottom:2px solid #c23b2226;justify-content:space-between;align-items:center;padding-bottom:.75rem;display:flex}.exercises-title{color:#2d2320;margin:0;font-size:1.1rem;font-weight:700}.exercises-badge{color:#c23b22;background:#c23b221a;border-radius:12px;padding:2px 8px;font-size:.75rem;font-weight:600}.exercise-item-block{align-items:flex-start;gap:1rem;display:flex}.exercise-q-num{color:#fff;background:#c23b22;border-radius:50%;justify-content:center;align-items:center;width:28px;min-width:28px;height:28px;font-size:.9rem;font-weight:700;display:flex}.exercise-q-content{flex-direction:column;flex:1;gap:.75rem;display:flex}.exercise-q-text{color:#2d2320;margin:0;font-size:1rem;font-weight:600;line-height:1.6}.exercise-flow-diagram{background:#fff;border:1px solid #e5dcd1;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.85rem 1.25rem;display:flex}.flow-step{border-radius:6px;padding:.35rem .85rem;font-size:.9rem}.flow-step.fixed{color:#8b1a1a;background:#c23b2214;font-weight:700}.flow-step.blank{color:#5d4037;background:#f5ebe1;border:1px dashed #c23b22;font-weight:600}.flow-arrow{color:#c23b22;font-size:1.1rem;font-weight:700}.exercise-quote-box{background:#fff;border-left:3px solid #c23b22;border-radius:0 8px 8px 0;flex-direction:column;gap:.5rem;padding:.85rem 1.25rem;display:flex}.exercise-quote-line{color:#333;margin:0;font-size:.95rem;line-height:1.75}.dot-mark{color:#8b1a1a;font-weight:700;text-emphasis:dot;text-emphasis-position:under;position:relative}.exercise-hint-text{color:#5d4037;background:#5d40370d;border-radius:6px;padding:.65rem .95rem;font-size:.88rem;line-height:1.6}.exercise-q-title-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.exercise-q-badge{color:#c23b22;letter-spacing:.5px;white-space:nowrap;background:#c23b2214;border:1px solid #c23b2233;border-radius:10px;padding:2px 8px;font-size:.72rem;font-weight:700}.exercise-quote-header{color:#8b1a1a;letter-spacing:.5px;margin-bottom:.35rem;font-size:.85rem;font-weight:700}.exercise-quote-item{border-bottom:1px dashed #d2c3b499;flex-direction:column;gap:.35rem;padding:.35rem 0;display:flex}.exercise-quote-item:last-child{border-bottom:none}.quote-bullet{color:#c23b22;margin-right:.25rem;font-weight:700}.quote-item-details{background:#c23b2208;border-left:2px solid #c23b224d;border-radius:0 4px 4px 0;flex-direction:column;gap:.25rem;margin-left:1.15rem;padding:.35rem .65rem;font-size:.86rem;line-height:1.6;display:flex}.quote-meaning-tag{color:#8b1a1a}.quote-meaning-tag strong,.quote-trans-tag strong{color:#5d4037;font-weight:600}.quote-trans-tag{color:#4a3b32}.exercise-subquestions-box{flex-direction:column;gap:.65rem;display:flex}.exercise-subq-item{background:#fff;border:1px solid #eadece;border-radius:8px;flex-direction:column;gap:.45rem;padding:.75rem 1rem;display:flex}.subq-title{color:#2d2320;align-items:center;gap:.5rem;font-size:.92rem;font-weight:700;display:flex}.subq-label{color:#c23b22;white-space:nowrap;background:#c23b221a;border-radius:4px;padding:2px 6px;font-size:.72rem;font-weight:700}.subq-question{flex:1}.subq-answer{color:#5d4037;white-space:pre-line;border-left:2px solid #e5dcd1;padding-left:.5rem;font-size:.88rem;line-height:1.7}.exercise-model-answer{background:#f8f3ec;border:1px solid #e5d7c7;border-radius:8px;flex-direction:column;gap:.4rem;padding:.75rem 1rem;display:flex}.model-answer-badge{color:#8b1a1a;align-items:center;gap:.35rem;font-size:.8rem;font-weight:700;display:inline-flex}.model-answer-content{color:#3d2d27;white-space:pre-line;font-size:.88rem;line-height:1.65}.textbook-reading-prompt-card{text-align:left;box-sizing:border-box;background:#fcfaf6;border:1px solid #c23b2240;border-left:4px solid #c23b22;border-radius:8px;width:100%;margin:1.15rem 0 .5rem;padding:.95rem 1.25rem;transition:all .2s;box-shadow:0 2px 8px #5c2d1e0a}.textbook-reading-prompt-card:hover{border-color:#c23b2273;box-shadow:0 4px 14px #c23b2214}.reading-prompt-header{justify-content:space-between;align-items:center;margin-bottom:.45rem;display:flex}.prompt-badge{color:#c23b22;letter-spacing:.5px;font-size:.8rem;font-weight:700}.prompt-tag{color:#8c7365;background:#c23b220f;border-radius:12px;padding:.15rem .5rem;font-size:.72rem;font-weight:500}.reading-prompt-body{color:#3b2a24;letter-spacing:.2px;white-space:pre-line;margin:0;font-size:.95rem;font-weight:500;line-height:1.8}.omitted-reading-hint-box{background:#c23b220a;border:1px dashed #c23b224d;border-radius:8px;padding:1rem 1.25rem}.omitted-hint-text{color:#5d4037;margin:0;font-size:.95rem;line-height:1.7}.omitted-hint-text strong{color:#8b1a1a}.para-tags-bar{font-family:var(--font-sans);gap:.5rem;margin-top:.65rem;display:flex}.para-tag-pill{background:var(--bg-surface);border:1px solid var(--border-delicate);color:var(--text-secondary);border-radius:12px;align-items:center;gap:.35rem;padding:.2rem .65rem;font-size:.75rem;display:inline-flex}.para-tag-pill:hover,.para-tag-pill.active{background:var(--color-cinnabar-soft);border-color:var(--color-cinnabar-border);color:var(--color-cinnabar);font-weight:600}.lens-paragraph-wrap{flex-direction:column;gap:.75rem;display:flex}.lens-legend-row{font-family:var(--font-sans);gap:.65rem;font-size:.75rem;display:flex}.badge-plane{background:var(--color-indigo-soft);color:var(--color-indigo);border:1px solid var(--color-indigo-border);border-radius:4px;padding:.15rem .5rem;font-weight:600}.badge-point{background:var(--color-amber-soft);color:var(--color-amber);border:1px solid var(--color-amber-border);border-radius:4px;padding:.15rem .5rem;font-weight:600}.lens-point-highlight{cursor:pointer;background:linear-gradient(#0000 65%,#ffe082 65%);border-radius:2px;margin:0 2px;padding:2px;display:inline;position:relative}.lens-point-highlight:hover{background:#ffecb3}.role-tag{font-family:var(--font-sans);vertical-align:.06em;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:3px;margin-right:4px;padding:1px 5px;font-size:.74rem;font-weight:700;line-height:1.35;display:inline-block;text-indent:0!important}.role-tag.role-tag-plane{color:#1565c0;background:#e3f2fd;border:1px solid #90caf9}.role-tag.role-tag-point{color:#9a6300;background:#fff8e1;border:1px solid #ffe082}.lens-plane-highlight{background:linear-gradient(#0000 65%,#bbdefb 65%);border-radius:2px;margin:0 2px;padding:2px}.lens-insight-card{font-family:var(--font-sans);color:#6b5532;background:#faf7f0;border:1px solid #ebe2d0;border-radius:8px;padding:.75rem 1rem;font-size:.85rem;line-height:1.5}.annotation-drawer-empty{text-align:center;justify-content:center;align-items:center;height:100%;padding:3rem;display:flex}.empty-content{flex-direction:column;align-items:center;max-width:320px;display:flex}.empty-icon-wrap{background:var(--bg-parchment);border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin-bottom:1.25rem;display:flex}.empty-title{font-family:var(--font-serif);color:var(--text-primary);margin-bottom:.5rem;font-size:1.15rem;font-weight:700}.empty-desc{color:var(--text-muted);font-size:.85rem;line-height:1.6}.annotation-drawer-container{flex-direction:column;height:100%;display:flex}.drawer-header{border-bottom:1px solid var(--border-delicate);background:#fcfaf7;padding:1.5rem 1.75rem}.drawer-title-row{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.drawer-tag{background:var(--color-cinnabar-soft);color:var(--color-cinnabar);border:1px solid var(--color-cinnabar-border);border-radius:4px;padding:1px 6px;font-size:.72rem;font-weight:600}.drawer-title{font-family:var(--font-serif);color:var(--text-primary);font-size:1.15rem;font-weight:700}.target-quote-box{background:var(--bg-surface);border-left:3px solid var(--color-cinnabar);box-shadow:var(--shadow-xs);border-radius:0 8px 8px 0;padding:.65rem .85rem}.quote-mark{font-family:var(--font-serif);color:var(--color-cinnabar);vertical-align:-.2em;margin-right:.25rem;font-size:1.5rem;line-height:0}.target-quote-text{font-family:var(--font-serif);color:var(--text-secondary);font-size:.9rem;line-height:1.5}.drawer-tabs-bar{background:var(--bg-subtle);border-bottom:1px solid var(--border-delicate);padding:0 1rem;display:flex}.drawer-tab-btn{color:var(--text-muted);border-bottom:2px solid #0000;align-items:center;gap:.35rem;padding:.75rem .85rem;font-size:.82rem;font-weight:600;display:flex}.drawer-tab-btn:hover{color:var(--text-primary)}.drawer-tab-btn.active{color:var(--color-cinnabar);border-bottom-color:var(--color-cinnabar);background:#fff}.drawer-body{flex:1;padding:1.5rem 1.75rem;overflow-y:auto}.dimension-card{flex-direction:column;gap:1.25rem;animation:.2s ease-out fadeIn;display:flex}.card-badge-row{justify-content:space-between;align-items:center;display:flex}.dimension-badge{border-radius:6px;align-items:center;gap:.35rem;padding:.2rem .6rem;font-size:.78rem;font-weight:600;display:inline-flex}.badge-qian{background:var(--color-cinnabar-soft);color:var(--color-cinnabar)}.badge-master{background:var(--color-amber-soft);color:var(--color-amber)}.badge-curriculum{background:var(--color-bamboo-soft);color:var(--color-bamboo)}.badge-exam{background:var(--color-indigo-soft);color:var(--color-indigo)}.badge-writing{color:#7e22ce;background:#f3e8ff}.step-tag,.master-author{color:var(--text-muted);font-size:.78rem;font-weight:600}.guided-question-box{border:1px solid var(--border-delicate);background:#fffdf9;border-radius:10px;padding:1rem}.guided-question-title{color:var(--color-cinnabar);margin-bottom:.35rem;font-size:.85rem;font-weight:700}.guided-question-text{color:var(--text-primary);font-size:.95rem;font-weight:600;line-height:1.6}.thought-hint-box{background:var(--bg-parchment);border-radius:8px;padding:.85rem;font-size:.88rem}.hint-label{color:var(--text-secondary);font-weight:700}.hint-text{color:var(--text-primary);margin-top:.25rem;line-height:1.5}.blind-box-container{margin-top:.5rem}.blind-action-box{border:1px dashed var(--border-delicate);text-align:center;background:#faf7f2;border-radius:10px;padding:1.25rem}.blind-tip{color:var(--text-muted);margin-bottom:.75rem;font-size:.85rem}.btn-reveal-analysis{background:var(--color-cinnabar);color:#fff;border-radius:8px;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.88rem;font-weight:600;display:inline-flex;box-shadow:0 2px 8px #c23b2240}.btn-reveal-analysis:hover{background:#a82814}.revealed-analysis-box{background:var(--color-bamboo-soft);border:1px solid var(--color-bamboo-border);border-radius:10px;padding:1.25rem}.revealed-header{color:var(--color-bamboo);align-items:center;gap:.4rem;margin-bottom:.5rem;font-size:.9rem;display:flex}.revealed-text{color:#174c35;font-size:.92rem;line-height:1.6}.master-insight-title{font-family:var(--font-serif);color:var(--text-primary);font-size:1.1rem;font-weight:700}.master-quote-card{border-left:3px solid var(--color-amber);background:#fff9e6;border-radius:0 8px 8px 0;padding:.85rem 1rem}.master-quote-text{font-family:var(--font-serif);color:#664d03;font-size:.92rem;line-height:1.6}.master-deep-dive{font-size:.9rem;line-height:1.6}.deep-dive-title{color:var(--text-secondary);font-weight:700}.curriculum-element-box,.curriculum-concept-box{background:var(--bg-surface);border:1px solid var(--border-delicate);border-radius:8px;padding:1rem}.elem-title{color:var(--color-bamboo);margin-bottom:.25rem;font-size:.85rem;font-weight:700;display:block}.elem-content,.concept-content{color:var(--text-primary);font-size:.92rem;line-height:1.6}.exam-type-pill{background:var(--bg-subtle);color:var(--text-secondary);border-radius:4px;padding:.15rem .5rem;font-size:.75rem}.mock-question-box{background:var(--bg-parchment);border-radius:8px;padding:.85rem}.mock-q-label{color:var(--color-indigo);font-size:.85rem;font-weight:700}.mock-q-text{color:var(--text-primary);margin-top:.25rem;font-size:.92rem;font-weight:600}.scoring-keywords-box{flex-direction:column;gap:.35rem;display:flex}.scoring-label{color:var(--text-secondary);font-size:.82rem;font-weight:700}.keywords-wrap{flex-wrap:wrap;gap:.4rem;display:flex}.kw-tag{color:#2e7d32;background:#e8f5e9;border:1px solid #c8e6c9;border-radius:6px;padding:.2rem .55rem;font-size:.78rem;font-weight:600}.answer-template-box{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1rem}.template-label{color:var(--text-secondary);margin-bottom:.35rem;font-size:.82rem;font-weight:700;display:block}.template-content{color:var(--text-primary);font-size:.88rem;line-height:1.6}.writing-tip-title{font-family:var(--font-serif);color:var(--text-primary);font-size:1.05rem;font-weight:700}.writing-tip-card{background:#faf5ff;border:1px solid #e9d5ff;border-radius:10px;gap:.75rem;padding:1rem;display:flex}.writing-technique-text{color:#581c87;font-size:.9rem;line-height:1.6}.drawer-footer{border-top:1px solid var(--border-delicate);color:var(--text-muted);background:#fcfaf7;padding:.75rem 1.75rem;font-size:.8rem}.exam-vertical-list{flex-direction:column;gap:2.25rem;display:flex}.exam-point-card{border:1px solid var(--border-delicate);box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background:#fff;border-radius:16px;flex-direction:column;gap:1.5rem;padding:1.75rem 2rem;display:flex}.exam-point-card:hover{box-shadow:var(--shadow-md);border-color:#d3c7b8}.exam-card-header{border-bottom:1px solid #f3ede4;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding-bottom:1rem;display:flex}.card-header-left{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.card-idx-badge{font-family:var(--font-serif);color:var(--color-cinnabar);background:var(--color-cinnabar-soft);border-radius:6px;padding:.15rem .6rem;font-size:1.15rem;font-weight:700;line-height:1.2}.card-title-text{font-family:var(--font-serif);color:#24201d;margin:0;font-size:1.15rem;font-weight:700}.card-freq-tag{border-radius:4px;padding:.15rem .5rem;font-size:.72rem;font-weight:600}.freq-star{color:#b45309;background:#fef3c7}.freq-high{color:#b91c1c;background:#fee2e2}.card-type-label{color:#786c60;background:#faf6ee;border-radius:6px;padding:.2rem .65rem;font-size:.8rem;font-weight:500}.showcase-q-box{border-left:4px solid var(--color-cinnabar);background:#faf7f2;border-radius:0 10px 10px 0;flex-direction:column;gap:.65rem;padding:1.25rem 1.5rem;display:flex}.showcase-q-meta{align-items:center;gap:.75rem;display:flex}.q-badge{color:var(--color-cinnabar);background:var(--color-cinnabar-soft);border-radius:4px;padding:.2rem .6rem;font-size:.75rem;font-weight:700}.q-type-tag{color:#786c60;font-size:.78rem;font-weight:500}.q-statement{font-family:var(--font-serif);color:#24201d;margin:0;font-size:1.05rem;font-weight:600;line-height:1.75}.showcase-model-box{background:#fcfaf7;border:1px solid #efe7da;border-radius:12px;padding:1.25rem 1.5rem}.model-box-header{align-items:center;gap:.5rem;margin-bottom:.85rem;display:flex}.model-header-indicator{background:#d97706;border-radius:2px;width:3px;height:14px}.model-header-title{color:#78350f;letter-spacing:.02em;margin:0;font-size:.88rem;font-weight:700}.method-pipeline-flow{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.pipeline-step-node{background:#fff;border:1px solid #e5d8c5;border-radius:8px;align-items:center;gap:.45rem;padding:.45rem .85rem;display:inline-flex;box-shadow:0 1px 3px #00000008}.step-node-index{color:#92400e;background:#fde68a;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:.72rem;font-weight:800;display:inline-flex}.step-node-label{color:#451a03;font-size:.88rem;font-weight:600}.pipeline-step-arrow{color:#b45309;font-size:1rem;font-weight:700}.method-text-plain{color:#5d4037;margin:0;font-size:.92rem;line-height:1.6}.showcase-answer-dual-grid{grid-template-columns:1.45fr 1fr;gap:1.5rem;display:grid}@media (width<=900px){.showcase-answer-dual-grid{grid-template-columns:1fr}}.showcase-card{border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.showcase-answer-card{background:#fcfcfa;border:1px solid #e2e8f0}.showcase-scoring-card{background:#fffdf9;border:1px solid #fde68a}.card-top-heading{align-items:center;gap:.45rem;padding:.75rem 1.25rem;font-size:.85rem;font-weight:700;display:flex}.heading-emerald{color:#166534;background:#f0fdf4;border-bottom:1px solid #dcfce7}.heading-amber{color:#854d0e;background:#fef9c3;border-bottom:1px solid #fef08a}.card-body-content{flex:1;padding:1.25rem}.sample-answer-text{font-family:var(--font-serif);color:#2c2623;margin:0;font-size:.95rem;line-height:1.85}.scoring-tips-tree{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.scoring-tip-item{color:#4b3b2b;align-items:baseline;gap:.5rem;font-size:.88rem;line-height:1.5;display:flex}.tip-dot{background:#d97706;border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:6px;display:inline-block}.tip-text{flex:1}.tip-pts-pill{color:#b45309;white-space:nowrap;background:#fef3c7;border-radius:4px;flex-shrink:0;padding:.15rem .5rem;font-size:.75rem;font-weight:700}.writing-workspace-card{background:var(--bg-surface);border:1px solid var(--border-delicate);box-shadow:var(--shadow-sm);border-radius:16px;flex-direction:column;gap:1.5rem;padding:2rem;display:flex}.prompt-header{align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.prompt-title{font-family:var(--font-serif);color:var(--text-primary);font-size:1.15rem;font-weight:700}.prompt-desc{color:var(--text-secondary);margin-bottom:.75rem;font-size:.92rem;line-height:1.6}.requirements-tags{flex-wrap:wrap;gap:.5rem;display:flex}.req-pill{background:var(--color-bamboo-soft);color:var(--color-bamboo);border-radius:12px;padding:.2rem .6rem;font-size:.78rem;font-weight:500}.scaffold-box{border:1px dashed var(--border-delicate);background:#fcfaf6;border-radius:10px;padding:1.25rem}.scaffold-title{color:#795548;margin-bottom:.65rem;font-size:.85rem;font-weight:700}.scaffold-plane{color:#5d4037;margin-bottom:.5rem;font-size:.88rem;line-height:1.5}.scaffold-points{flex-direction:column;gap:.35rem;display:flex}.scaffold-pt-item{font-size:.85rem;line-height:1.45}.pt-role{color:#3e2723;font-weight:700}.writing-textarea-wrapper{flex-direction:column;gap:.5rem;display:flex}.textarea-header{justify-content:space-between;align-items:center;display:flex}.textarea-title{color:var(--text-primary);font-size:.9rem;font-weight:700}.char-counter{color:var(--text-muted);font-size:.8rem}.char-counter.valid{color:var(--color-bamboo);font-weight:600}.essay-textarea{border:1px solid var(--border-delicate);width:100%;font-family:var(--font-serif);color:var(--text-primary);resize:vertical;background:#fffefd;border-radius:10px;padding:1rem;font-size:1rem;line-height:1.8}.essay-textarea:focus{border-color:var(--color-cinnabar);outline:none;box-shadow:0 0 0 3px #c23b221a}.model-essay-box{margin-top:.5rem}.btn-toggle-model{background:var(--bg-parchment-warm);border:1px solid var(--border-delicate);color:var(--text-secondary);border-radius:8px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.85rem;font-weight:600;display:inline-flex}.btn-toggle-model:hover{background:#efe8dd}.model-essay-content{background:#fffdf8;border:1px solid #f5e1b8;border-radius:10px;padding:1.25rem}.model-header{color:#8c5b09;align-items:center;gap:.4rem;margin-bottom:.5rem;font-size:.9rem;display:flex}.model-text{font-family:var(--font-serif);color:#3e2723;font-size:.95rem;line-height:1.8}.download-toast-success{background:var(--color-bamboo-soft);border:1px solid var(--color-bamboo-border);color:#174c35;border-radius:10px;align-items:center;gap:.65rem;margin-bottom:1.5rem;padding:.85rem 1.25rem;font-size:.9rem;display:flex}.pdf-resources-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2rem;display:grid}.pdf-card{background:var(--bg-surface);border:1px solid var(--border-delicate);box-shadow:var(--shadow-sm);transition:all var(--transition-normal);border-radius:16px;flex-direction:column;padding:1.75rem;display:flex;position:relative}.pdf-card:hover{box-shadow:var(--shadow-md);border-color:#d3c7b8;transform:translateY(-3px)}.pdf-card-top{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.pdf-type-badge{background:var(--bg-parchment-warm);color:var(--text-secondary);border-radius:6px;align-items:center;gap:.35rem;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.pdf-pages-badge{color:var(--text-muted);font-size:.72rem}.pdf-card-title{font-family:var(--font-serif);color:var(--text-primary);margin-bottom:.4rem;font-size:1.15rem;font-weight:700;line-height:1.4}.pdf-card-subtitle{color:var(--text-muted);margin-bottom:1.25rem;font-size:.82rem;line-height:1.45}.pdf-features-list{flex-direction:column;flex:1;gap:.5rem;margin-bottom:1.5rem;display:flex}.pdf-feat-item{color:var(--text-secondary);align-items:flex-start;gap:.45rem;font-size:.82rem;line-height:1.4;display:flex}.feat-check{color:var(--color-bamboo);flex-shrink:0;margin-top:2px}.pdf-actions-row{align-items:center;gap:.55rem;width:100%;display:flex}.pdf-actions-row .btn-download-pdf{flex:1.4;padding:.72rem .6rem;font-size:.88rem}.btn-preview-pdf{color:var(--color-cinnabar);white-space:nowrap;cursor:pointer;background:#c23b2214;border:1px solid #c23b2247;border-radius:10px;flex:.9;justify-content:center;align-items:center;gap:.35rem;padding:.72rem .6rem;font-size:.84rem;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.btn-preview-pdf:hover{border-color:var(--color-cinnabar);color:var(--color-cinnabar);background:#c23b2229;text-decoration:none;transform:translateY(-1px)}.btn-preview-pdf:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-download-pdf{background:var(--color-cinnabar);color:#fff;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;font-size:.9rem;font-weight:700;text-decoration:none;transition:all .2s;display:flex;box-shadow:0 2px 8px #c23b2240}.btn-download-pdf:hover{color:#fff;background:#a82814;text-decoration:none;box-shadow:0 4px 12px #c23b2259}.btn-download-locked{color:#8c5b09;background:#fff8e7;border:1px solid #f0d499;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;font-size:.88rem;font-weight:700;display:flex}.btn-download-locked:hover{background:#fdf0d0}.spin-icon{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.monetization-info-bar{border:1px dashed var(--border-delicate);background:#fcfaf6;border-radius:12px;justify-content:space-between;align-items:center;padding:1.25rem 1.75rem;display:flex}.info-bar-left{color:var(--text-secondary);align-items:center;gap:1rem;font-size:.88rem;display:flex}.btn-get-code-link{color:var(--color-cinnabar);white-space:nowrap;border-radius:6px;padding:.4rem .85rem;font-size:.88rem;font-weight:700}.btn-get-code-link:hover{background:var(--color-cinnabar-soft)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#1e1b1a99;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-dialog{background:var(--bg-surface);box-shadow:var(--shadow-lg);border-radius:20px;width:100%;max-width:520px;padding:2.25rem;animation:.25s cubic-bezier(.34,1.56,.64,1) modalPop;position:relative}@keyframes modalPop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-close-btn{color:var(--text-muted);border-radius:50%;padding:4px;position:absolute;top:1.25rem;right:1.25rem}.modal-close-btn:hover{background:var(--bg-subtle);color:var(--text-primary)}.modal-header-icon{background:var(--color-cinnabar-soft);border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:1rem;display:flex}.modal-title{font-family:var(--font-serif);color:var(--text-primary);margin-bottom:.5rem;font-size:1.45rem;font-weight:700}.modal-desc{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.9rem;line-height:1.5}.activation-form{margin-bottom:1.5rem}.input-group{border:1.5px solid var(--border-delicate);background:#faf7f2;border-radius:12px;align-items:center;padding:.35rem .5rem .35rem .85rem;display:flex}.input-group:focus-within{border-color:var(--color-cinnabar);box-shadow:0 0 0 3px #c23b221f}.input-icon{color:var(--text-muted);margin-right:.5rem}.code-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:.95rem;font-weight:600}.btn-activate{background:var(--color-cinnabar);color:#fff;border-radius:8px;align-items:center;gap:.35rem;padding:.65rem 1.15rem;font-size:.88rem;font-weight:600;display:flex}.btn-activate:hover{background:#a82814}.form-error-msg{color:#d32f2f;margin-top:.45rem;font-size:.82rem}.form-success-msg{color:var(--color-bamboo);margin-top:.45rem;font-size:.85rem;font-weight:600}.demo-hint-box{background:#fffdf8;border:1px solid #f5e1b8;border-radius:10px;margin-bottom:1.25rem;padding:1rem}.hint-header{color:#8c5b09;align-items:center;gap:.35rem;margin-bottom:.35rem;font-size:.82rem;font-weight:700;display:flex}.hint-content{color:#6b5532;font-size:.8rem;line-height:1.55}.code-tag{color:#8c5b09;cursor:pointer;background:#ffe8a3;border-radius:4px;margin:0 4px;padding:1px 6px;font-weight:700;display:inline-block}.code-tag:hover{background:#ffde80}.vip-pricing-tiers{grid-template-columns:repeat(3,1fr);gap:.6rem;margin:.75rem 0 .85rem;display:grid}@media (width<=560px){.vip-pricing-tiers{grid-template-columns:1fr;gap:.5rem}}.tier-card{text-align:center;background:#fff;border:1px solid #ead8b5;border-radius:8px;padding:.75rem .5rem;transition:all .2s;position:relative}.tier-card.is-popular{background:#fff9f7;border-color:#c23b22;box-shadow:0 2px 8px #c23b2214}.popular-badge{color:#fff;background:linear-gradient(135deg,#c23b22 0%,#a62710 100%);border-radius:6px;padding:1px 6px;font-size:.65rem;font-weight:700;line-height:1.2;position:absolute;top:-8px;right:6px}.tier-name{color:var(--text-primary);margin-bottom:.25rem;font-size:.78rem;font-weight:700}.tier-price{color:#c23b22;justify-content:center;align-items:baseline;margin-bottom:.2rem;display:flex}.tier-price .currency{margin-right:1px;font-size:.78rem;font-weight:700}.tier-price .amount{font-size:1.25rem;font-weight:800;line-height:1}.tier-duration{color:var(--text-muted);font-size:.7rem}.wechat-purchase-card{text-align:left;background:#fff;border:1px dashed #c23b2259;border-radius:8px;padding:.75rem .85rem}.wechat-left{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.wechat-label{color:#211e1c;font-size:.82rem;font-weight:700}.wechat-id{font-family:var(--font-mono,monospace);color:#c23b22;letter-spacing:.05em;background:#c23b2214;border-radius:4px;padding:1px 8px;font-size:.95rem;font-weight:800}.btn-copy-wechat{color:#55504a;cursor:pointer;background:#faf8f5;border:1px solid #d6d0c7;border-radius:4px;align-items:center;gap:4px;padding:2px 8px;font-size:.75rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-copy-wechat:hover{color:#211e1c;background:#f0ece4;border-color:#b8b0a4}.wechat-desc{color:#7d756c;margin:0;font-size:.76rem;line-height:1.5}.privilege-preview{flex-direction:column;gap:.4rem;display:flex}.privilege-preview-title{color:var(--text-muted);font-size:.8rem;font-weight:700}.privilege-tags{flex-direction:column;gap:.35rem;display:flex}.p-tag{color:var(--text-secondary);align-items:center;gap:.4rem;font-size:.82rem;display:flex}.vip-modal-activated{text-align:center;flex-direction:column;align-items:center;display:flex}.vip-modal-activated .vip-crown-icon{margin-bottom:1rem}.vip-privilege-list{text-align:left;flex-direction:column;gap:.65rem;width:100%;margin:1.5rem 0;display:flex}.privilege-item{color:var(--text-primary);align-items:center;gap:.65rem;font-size:.88rem;display:flex}.text-emerald{color:#10b981;flex-shrink:0}.text-amber-gold{color:#f59e0b}.text-cinnabar{color:var(--color-cinnabar)}.text-bamboo{color:var(--color-bamboo)}.text-sand-muted{color:#c5bcb2}.modal-footer-actions{justify-content:space-between;align-items:center;width:100%;margin-top:.5rem;display:flex}.btn-secondary{background:var(--bg-parchment-warm);border:1px solid var(--border-delicate);color:var(--text-primary);border-radius:8px;padding:.65rem 1.25rem;font-size:.88rem;font-weight:600}.btn-secondary:hover{background:#efe8dd}.btn-outline-text{padding:.4rem .65rem;font-size:.78rem}.text-danger{color:#dc2626}.vip-session-info-card{text-align:left;background:#f59e0b0f;border:1px solid #f59e0b40;border-radius:12px;flex-direction:column;gap:.55rem;width:100%;margin:1.1rem 0;padding:1rem 1.25rem;display:flex}.session-info-item{color:var(--text-primary);align-items:center;gap:.5rem;font-size:.86rem;display:flex}.session-info-item .info-label{color:var(--text-muted);flex-shrink:0}.session-info-item .info-val{font-weight:600}.session-info-item .info-val.highlight{color:#b45309;font-weight:700}.session-info-item.code-row .info-code{font-family:var(--font-mono,monospace);letter-spacing:.05em;color:#8b2011;background:#0000000d;border-radius:4px;padding:2px 8px;font-size:.85rem;font-weight:700}.vip-expired-notice{color:#b91c1c;text-align:left;background:#ef444414;border:1px solid #ef444440;border-radius:10px;align-items:center;gap:.65rem;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.84rem;line-height:1.5;display:flex}.vip-btn-expired{color:#dc2626!important;background:#ef44441a!important;border-color:#ef444459!important}.modal-dialog.auth-modal{border-radius:14px;width:90%;max-width:420px;padding:2.2rem 2rem 1.8rem}.auth-header{text-align:center;margin-bottom:1.25rem}.auth-brand-row{justify-content:center;align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.auth-seal{font-family:var(--font-art);background:var(--color-cinnabar);color:#fff;border-radius:4px;padding:1px 6px;font-size:.95rem}.auth-brand-name{font-family:var(--font-serif);color:var(--text-primary);letter-spacing:.04em;font-size:1.15rem;font-weight:800}.auth-brand-desc{color:var(--text-muted);margin:0;font-size:.78rem}.auth-tab-bar{border-bottom:2px solid #0000000f;grid-template-columns:1fr 1fr;margin-bottom:1.2rem;display:grid}.auth-tab-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:.65rem 0;font-size:.92rem;font-weight:600;transition:all .18s}.auth-tab-btn:hover{color:var(--color-cinnabar)}.auth-tab-btn.active{color:var(--color-cinnabar);border-bottom-color:var(--color-cinnabar);font-weight:700}.auth-sub-tabs{border:1px solid var(--border-delicate);background:#f4efe6;border-radius:8px;margin-bottom:1.2rem;padding:3px;display:flex}.sub-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:.35rem;padding:.4rem .6rem;font-size:.78rem;font-weight:600;transition:all .18s;display:flex}.sub-tab.active{color:var(--color-cinnabar);background:#fff;box-shadow:0 1px 4px #0000000a}.auth-input-group{background:#fff;border:1px solid #0000001f;border-radius:8px;align-items:center;margin-bottom:.85rem;padding:.55rem .75rem;transition:all .18s;display:flex}.auth-input-group:focus-within{border-color:var(--color-cinnabar);box-shadow:0 0 0 3px #c23b221a}.input-prefix{color:var(--text-muted);flex-shrink:0;align-items:center;gap:.35rem;margin-right:.65rem;display:flex}.country-code{color:var(--text-secondary);font-size:.82rem;font-weight:600}.auth-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:.88rem}.auth-input::placeholder{color:#a8a29e;font-size:.82rem}.btn-send-code{color:var(--color-cinnabar);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;padding:.2rem .4rem;font-size:.78rem;font-weight:600}.btn-send-code:hover:not(.disabled){text-decoration:underline}.btn-send-code.disabled{color:var(--text-muted);cursor:not-allowed}.auth-tip-msg{color:#d97706;text-align:center;margin-bottom:.75rem;font-size:.76rem}.auth-submit-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#c23b22,#9e2412);border:none;border-radius:8px;justify-content:center;align-items:center;gap:.45rem;width:100%;margin-top:.35rem;padding:.72rem;font-size:.95rem;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 14px #c23b2247}.auth-submit-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px #c23b2259}.qrcode-container{flex-direction:column;align-items:center;padding:1rem 0 .5rem;display:flex}.qrcode-mock-box{background:#fff;border:1px solid #0000001a;border-radius:12px;justify-content:center;align-items:center;width:170px;height:170px;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000000a}.qrcode-img{color:#1f1d1b}.qrcode-scan-line{background:var(--color-cinnabar);height:2px;box-shadow:0 0 6px var(--color-cinnabar);animation:2s ease-in-out infinite scanQrcode;position:absolute;top:0;left:0;right:0}@keyframes scanQrcode{0%{top:10%}50%{top:90%}to{top:10%}}.qrcode-hint{color:var(--text-primary);margin:.85rem 0 .25rem;font-size:.88rem;font-weight:700}.qrcode-subhint{color:var(--text-muted);font-size:.74rem}.auth-success-box{text-align:center;flex-direction:column;align-items:center;padding:2rem 1rem;display:flex}.success-title{color:#10b981;margin:.75rem 0 .35rem;font-size:1.15rem;font-weight:700}.success-desc{color:var(--text-secondary);margin:0;font-size:.84rem}.auth-agreement-footer{text-align:center;border-top:1px dashed #0000000f;margin-top:1.25rem;padding-top:.85rem}.agreement-text{color:var(--text-muted);font-size:.72rem}.agreement-text a{color:var(--color-cinnabar);text-decoration:none}.agreement-text a:hover{text-decoration:underline}.audio-player-mount-wrap{justify-content:center;align-items:center;width:100%;margin:.5rem auto .75rem;animation:.22s cubic-bezier(.4,0,.2,1) audioMountFade;display:flex}@keyframes audioMountFade{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.cnr-player-card{-webkit-backdrop-filter:blur(8px);box-sizing:border-box;background:#ffffffb8;border:1px solid #d3c7b8a6;border-radius:30px;flex-shrink:0;width:100%;height:39px;margin:0 auto;transition:all .25s cubic-bezier(.4,0,.2,1);overflow:hidden;box-shadow:0 2px 8px #00000008}.cnr-player-card.is-expanded{background:#faf7f2;border-color:#e4d8c8;border-radius:14px;height:auto;box-shadow:0 4px 16px #2c181012}.cnr-player-card:hover{border-color:#cdbfae}.cnr-player-row{box-sizing:border-box;flex-wrap:nowrap;align-items:center;gap:.5rem;height:37px;padding:0 .55rem;display:flex}.cnr-bar-lead{flex-shrink:0;align-items:center;gap:.35rem;display:inline-flex}.cnr-reader-name{font-family:var(--font-sans);color:#332b25;letter-spacing:.3px;white-space:nowrap;font-size:.82rem;font-weight:700}.cnr-track-selector{align-items:center;display:inline-flex}.cnr-track-select{appearance:none;color:#574f4a;height:23px;font-size:.7rem;line-height:21px;font-family:var(--font-sans);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:#f4ede2 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%238C532B' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 5px center no-repeat;border:1px solid #dfd2c2;border-radius:12px;outline:none;max-width:90px;padding:0 16px 0 6px;transition:all .15s}.cnr-track-select:hover{border-color:var(--color-cinnabar);color:var(--color-cinnabar)}.btn-cnr-play-circle{background:var(--color-cinnabar);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:25px;height:25px;transition:all .18s;display:inline-flex;box-shadow:0 1px 4px #c23b2240}.btn-cnr-play-circle:hover{background:#a82f1a;transform:scale(1.06)}.btn-cnr-play-circle.playing{background:#15803d;box-shadow:0 1px 4px #15803d40}.btn-cnr-play-circle:disabled{opacity:.6;cursor:not-allowed;transform:none}.icon-play-offset{margin-left:2px}.cnr-progress-wrap{flex:1;align-items:center;gap:.45rem;min-width:0;display:flex}.time-display{color:#78716c;white-space:nowrap;min-width:32px;font-family:monospace;font-size:.68rem}.time-display.current{text-align:right;color:var(--color-cinnabar);font-weight:600}.cnr-progress-slider{height:3px;accent-color:var(--color-cinnabar);cursor:pointer;flex:1;min-width:40px}.btn-cnr-expand{color:#78716c;cursor:pointer;background:#8c532b0d;border:1px solid #e8ddd0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;transition:all .2s;display:flex}.btn-cnr-expand:hover{color:var(--color-cinnabar);background:#c23b2217;border-color:#dfcfbd}.btn-cnr-expand.expanded{border-color:var(--color-cinnabar);color:var(--color-cinnabar);background:#c23b221f}.cnr-expand-icon{transition:transform .25s cubic-bezier(.4,0,.2,1)}.cnr-expand-icon.rotated{transform:rotate(180deg)}.cnr-drawer-panel{text-align:left;background:#faf7f2;border-top:1px solid #ece3d7;flex-direction:column;gap:.55rem;padding:.75rem .9rem;animation:.2s cnrDrawerFade;display:flex}@keyframes cnrDrawerFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.cnr-drawer-header{text-align:left;justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.cnr-drawer-brand{text-align:left;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.cnr-brand-title{font-family:var(--font-serif);color:#292524;text-align:left;font-size:.84rem;font-weight:700;line-height:1.3}.cnr-brand-orgs{color:#8c532b;text-align:left;font-size:.68rem;line-height:1.3}.cnr-verify-link{color:var(--color-cinnabar);white-space:nowrap;background:#fff;border:1px solid #e8ddd0;border-radius:12px;flex-shrink:0;align-items:center;gap:3px;padding:2px 8px;font-size:.72rem;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.cnr-verify-link:hover{background:var(--color-cinnabar);color:#fff;border-color:var(--color-cinnabar)}.cnr-drawer-meta-grid{text-align:left;grid-template-columns:85px 1fr;gap:.45rem;display:grid}.cnr-meta-card{text-align:left;background:#fff;border:1px solid #eae1d4;border-radius:6px;flex-direction:column;align-items:flex-start;gap:2px;padding:.35rem .55rem;display:flex}.meta-card-label{color:#a89f91;text-align:left;font-size:.65rem;font-weight:500}.meta-card-value{color:#292524;text-overflow:ellipsis;white-space:nowrap;text-align:left;font-size:.75rem;line-height:1.3;overflow:hidden}.meta-card-value strong{font-family:var(--font-serif);color:#1c1917;font-size:.82rem}.cnr-drawer-copyright-box{text-align:left;background:#f0e8dc8c;border:1px solid #ece1d2;border-radius:6px;padding:.45rem .65rem}.cnr-copyright-desc{color:#78716c;text-align:left;margin:0;font-size:.69rem;line-height:1.5}.cnr-error-notice{color:#b91c1c;background:#fef2f2;border-top:1px solid #fee2e2;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.74rem;display:flex}.cnr-error-notice a{color:var(--color-cinnabar);text-decoration:underline}.cnr-player-card.compact{margin:.45rem auto 1rem}.app-footer{border-top:1px solid var(--border-delicate);background:#f4efe6;margin-top:auto;padding:1.25rem 2rem}.footer-content{flex-direction:column;align-items:center;gap:.65rem;max-width:1200px;margin:0 auto;display:flex}.footer-brand{align-items:center;gap:.5rem;display:flex}.footer-seal{font-family:var(--font-art);background:var(--color-cinnabar);color:#fff;-webkit-user-select:none;user-select:none;border-radius:3px;padding:0 4px;font-size:.85rem;line-height:1.2}.footer-text{font-family:var(--font-serif);color:var(--text-primary);font-size:.95rem;font-weight:700}.footer-seo-nav{text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:.45rem;margin-top:.25rem;font-size:.78rem;line-height:1.8;display:flex}.seo-nav-title{color:var(--text-muted);font-weight:600;font-family:var(--font-serif);flex-shrink:0}.seo-nav-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:.3rem .45rem;display:inline-flex}.footer-nav-item{align-items:center;display:inline-flex}.seo-nav-links a{color:var(--text-secondary);white-space:nowrap;text-decoration:none;transition:color .15s}.seo-nav-links a:hover{color:var(--color-cinnabar);text-decoration:underline}.seo-nav-links a.active{color:var(--color-cinnabar);text-underline-offset:3px;font-weight:700;text-decoration:underline}.seo-nav-links a.appendix-link{color:var(--text-primary);font-weight:600}.seo-nav-links a.appendix-link:hover{color:var(--color-cinnabar)}.nav-dot{color:#0000002e;-webkit-user-select:none;user-select:none;margin-left:.45rem}@media (width<=1024px){.reading-split-workspace{flex-direction:column}.workspace-left{border-right:none;border-bottom:1px solid var(--border-delicate);padding:1.5rem}.vocab-layout{grid-template-columns:1fr}.glossary-grid.compact-mode{grid-template-columns:repeat(4,1fr)}.glossary-grid.with-defs{grid-template-columns:repeat(2,1fr)}.bg-split-row{grid-template-columns:1fr}.heroes-compact-grid.heroes-cols-5,.heroes-compact-grid.heroes-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.survivor-compact-cards,.pdf-resources-grid{grid-template-columns:1fr}.stages-timeline{flex-direction:column;gap:1rem}.step-line{display:none}.navbar-left,.navbar-right{flex:none}.navbar-center{flex:1;justify-content:center}}@media (width<=900px){.lesson-stepper-bar .step-text,.textbook-online-tag{display:none}.textbook-stage-panel,.catalog-dropdown-menu{width:92vw}}@media (width<=640px){.glossary-grid.compact-mode{grid-template-columns:repeat(2,1fr)}.glossary-grid.with-defs{grid-template-columns:1fr}.brand-sub{display:none}.current-lesson-chip{max-width:110px}}.material-section-separator{box-sizing:border-box;align-items:center;gap:1rem;width:100%;margin:2.2rem 0 1.2rem;padding:0 1.5rem;display:flex}.material-separator-line{background:linear-gradient(90deg,#8c43180d,#8c431840,#8c43180d);flex:1;height:1px}.material-separator-badge-wrap{background:#fffdf8;border:1px solid #e6d8c3;border-radius:9999px;align-items:center;gap:.6rem;padding:.35rem 1rem;display:inline-flex;box-shadow:0 2px 6px #8c43180f}.material-separator-tag{color:#fff;letter-spacing:.04em;background:#c23b22;border-radius:4px;padding:.12rem .5rem;font-size:.75rem;font-weight:700}.material-separator-title{font-family:var(--font-serif);color:#292524;margin:0;font-size:.95rem;font-weight:700}.material-separator-source{color:#78716c;font-size:.8rem;font-family:var(--font-serif)}.center-para-block.is-classical-prose-block{background:#ffffffb8;border:1px solid #c23b2217;border-radius:12px;padding:1.5rem 1.8rem;transition:all .25s;box-shadow:0 2px 14px #2c181008}.center-para-block.is-classical-prose-block:hover{background:#fffffff2;border-color:#c23b2233;box-shadow:0 4px 18px #2c18100f}.center-para-block.is-classical-prose-block.selected,.center-para-block.is-classical-prose-block.lens-target{background:#fffcf6f2;border-color:#c23b2259;box-shadow:0 4px 20px #c23b2214}.para-text.classical-prose-text{font-family:var(--font-kai,"Kaiti SC", "STKaiti", "KaiTi", "Noto Serif SC", serif);text-indent:0!important;white-space:pre-line!important;letter-spacing:.04em!important;color:#292524!important;font-size:1.15rem!important;line-height:2.35!important;position:relative!important}.para-text.classical-prose-text.has-para-num{padding-left:2.2rem!important}.para-text.classical-prose-text .handwritten-para-num{text-indent:0!important;position:absolute!important;top:.2rem!important;left:.15rem!important}.article-view-container.has-word-glosses .para-text.classical-prose-text{line-height:3.4!important}.classical-inline-translation{box-shadow:0 1px 4px #2c181008;background:#f7f2e9d9!important;border-left:3.5px solid #8e3524!important;border-radius:0 8px 8px 0!important;margin-top:1.25rem!important;padding:.9rem 1.25rem!important}.classical-inline-translation .trans-header{color:#8e3524;align-items:center;gap:.4rem;margin-bottom:.45rem;font-size:.82rem;font-weight:700;display:flex}.classical-inline-translation .trans-tag{letter-spacing:.04em}.classical-inline-translation .trans-text{color:#57534e;font-size:.96rem;line-height:1.85;font-family:var(--font-kai,"Kaiti SC", "STKaiti", "KaiTi", serif);margin:0}.vip-paywall-block{z-index:20;width:100%;max-width:860px;margin:3.5rem auto 4.5rem;position:relative}.vip-paywall-gradient-overlay{pointer-events:none;z-index:1;background:linear-gradient(#faf8f500 0%,#faf8f5bf 50%,#faf8f5 100%);height:140px;position:absolute;top:-140px;left:0;right:0}.theme-white .vip-paywall-gradient-overlay{background:linear-gradient(#fff0 0%,#ffffffbf 50%,#fff 100%)}.theme-dark .vip-paywall-gradient-overlay{background:linear-gradient(#1a1a1a00 0%,#1a1a1abf 50%,#1a1a1a 100%)}.vip-paywall-card{text-align:center;z-index:2;background:#fff;border:1px solid #c23b2233;border-radius:20px;padding:3rem 2.5rem;position:relative;overflow:hidden;box-shadow:0 22px 50px -15px #8b201124,0 0 0 1px #c23b2214}.theme-dark .vip-paywall-card{background:#242220;border-color:#d4af3740;box-shadow:0 22px 50px -15px #00000073}.vip-paywall-card:before{content:"";background:linear-gradient(90deg,#d4af37,#c23b22,#d4af37);height:4px;position:absolute;top:0;left:0;right:0}.vip-paywall-badge-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.vip-paywall-crown-badge{color:#8b5e00;letter-spacing:.05em;background:linear-gradient(135deg,#fff8e7 0%,#ffefc2 100%);border:1px solid #d4af3773;border-radius:20px;align-items:center;gap:6px;padding:4px 14px;font-size:.82rem;font-weight:700;display:inline-flex}.vip-paywall-sample-tip{color:#2e7d32;background:#2e7d3214;border:1px solid #2e7d3238;border-radius:20px;align-items:center;gap:4px;padding:4px 12px;font-size:.8rem;font-weight:600;display:inline-flex}.vip-paywall-title{font-family:var(--font-serif,"Songti SC", serif);color:#211e1c;letter-spacing:.04em;margin:0 0 .85rem;font-size:1.85rem;font-weight:700;line-height:1.35}.theme-dark .vip-paywall-title{color:#ede8df}.vip-paywall-subtitle{color:#666059;max-width:680px;margin:0 auto 2.2rem;font-size:.96rem;line-height:1.7}.theme-dark .vip-paywall-subtitle{color:#b0a99f}.vip-paywall-features-grid{text-align:left;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:2.25rem;display:grid}@media (width<=860px){.vip-paywall-features-grid{grid-template-columns:1fr;gap:.85rem}}.vip-paywall-feat-item{background:#faf8f5;border:1px solid #0000000d;border-radius:12px;align-items:flex-start;gap:.85rem;padding:1.1rem 1rem;transition:transform .2s,border-color .2s;display:flex}.theme-dark .vip-paywall-feat-item{background:#2d2b28;border-color:#ffffff0f}.vip-paywall-feat-item:hover{border-color:#c23b2240;transform:translateY(-2px)}.vip-feat-icon-box{color:#c23b22;background:#c23b2214;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.theme-dark .vip-feat-icon-box{color:#e5c368;background:#d4af3726}.vip-feat-info h4{color:#211e1c;margin:0 0 .35rem;font-size:.94rem;font-weight:700;line-height:1.3}.theme-dark .vip-feat-info h4{color:#ede8df}.vip-feat-info p{color:#7d756c;margin:0;font-size:.8rem;line-height:1.5}.theme-dark .vip-feat-info p{color:#a39b90}.vip-paywall-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:1.25rem;margin-bottom:1.5rem;display:flex}.btn-paywall-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#c23b22 0%,#a62710 100%);border:none;border-radius:30px;align-items:center;gap:8px;padding:.85rem 2.2rem;font-size:1.02rem;font-weight:700;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 8px 22px -6px #c23b2273}.btn-paywall-primary:hover{background:linear-gradient(135deg,#d4442a 0%,#b82f15 100%);transform:translateY(-2px);box-shadow:0 12px 28px -6px #c23b2299}.btn-paywall-secondary{color:#4a453f;cursor:pointer;background:#fff;border:1px solid #d6d0c7;border-radius:30px;align-items:center;gap:8px;padding:.8rem 1.6rem;font-size:.94rem;font-weight:600;transition:all .2s;display:inline-flex}.theme-dark .btn-paywall-secondary{color:#ede8df;background:#2d2b28;border-color:#55504a}.btn-paywall-secondary:hover{color:#211e1c;background:#f5f2eb;border-color:#b8b0a4}.theme-dark .btn-paywall-secondary:hover{color:#fff;background:#383531}.btn-paywall-outline{color:#c23b22;cursor:pointer;background:0 0;border:1px solid #c23b2259;border-radius:30px;align-items:center;gap:6px;padding:.8rem 1.6rem;font-size:.94rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-paywall-outline:hover{background:#c23b220f;border-color:#c23b22;transform:translateY(-1px)}.theme-dark .btn-paywall-outline{color:#e5c368;border-color:#d4af3766}.theme-dark .btn-paywall-outline:hover{background:#d4af371a;border-color:#e5c368}.preview-vip-paywall{max-width:900px;margin:2.5rem auto 3.5rem}.vip-paywall-footer-note{color:#8c8479;justify-content:center;align-items:center;gap:.75rem;font-size:.82rem;display:flex}.vip-paywall-footer-note strong{color:#c23b22;font-weight:700}.vip-paywall-footer-note .divider{color:#d6d0c7}.sample-free-badge{color:#2e7d32;background:#2e7d3214;border:1px solid #2e7d3240;border-radius:12px;align-items:center;gap:4px;margin-left:.6rem;padding:2px 10px;font-size:.76rem;font-weight:700;display:inline-flex}.vip-only-badge{color:#c23b22;background:#c23b2214;border:1px solid #c23b2240;border-radius:12px;align-items:center;gap:4px;margin-left:.6rem;padding:2px 10px;font-size:.76rem;font-weight:700;display:inline-flex}.vip-unlocked-badge{color:#8b5e00;background:#d4af371f;border:1px solid #d4af3759;border-radius:12px;align-items:center;gap:4px;margin-left:.6rem;padding:2px 10px;font-size:.76rem;font-weight:700;display:inline-flex}.badge-sample-free{color:#2e7d32;white-space:nowrap;background:#2e7d321a;border:1px solid #2e7d3240;border-radius:8px;padding:1px 7px;font-size:.68rem;font-weight:700}.badge-vip-pill{color:#8b5e00;white-space:nowrap;background:#d4af371f;border:1px solid #d4af374d;border-radius:8px;padding:1px 6px;font-size:.68rem;font-weight:700}html,body{-webkit-text-size-adjust:100%;width:100%;overflow-x:hidden}.app-container,.main-content-wrapper{box-sizing:border-box;width:100%;max-width:100%;overflow-x:hidden}@media (width<=900px){.article-view-container{box-sizing:border-box!important;max-width:100%!important;padding:1.35rem .85rem 3.5rem!important;overflow-x:hidden!important}.title-row-wrapper,.title-row-wrapper.is-poem-row{flex-direction:column!important;gap:.85rem!important;width:100%!important;margin-bottom:1.5rem!important;display:flex!important}.title-center-block{box-sizing:border-box!important;width:100%!important;max-width:100%!important;padding:0!important}.title-row-wrapper .margin-note-right{height:auto!important;min-height:auto!important}.title-row-wrapper .margin-guide-card.title-guide-card{width:100%!important;max-width:100%!important;margin-top:.65rem!important;position:static!important}.paragraph-row-wrapper,.paragraph-row-wrapper.is-poem-row,.paragraph-row-wrapper.is-modern-poem-row{box-sizing:border-box!important;flex-direction:column!important;gap:.75rem!important;width:100%!important;margin-bottom:1.65rem!important;padding:0!important;display:flex!important}.paragraph-block.center-para-block,.paragraph-block{box-sizing:border-box!important;border-radius:8px!important;order:1!important;width:100%!important;max-width:100%!important;padding:.65rem .5rem!important;font-size:1.05rem!important;line-height:1.9!important}.row-connector-svg{display:none!important}.margin-note-left{order:2!important;justify-content:flex-start!important;width:100%!important;margin:0!important;display:flex!important}.left-margin-column-content{flex-direction:column!important;gap:.5rem!important;width:100%!important;display:flex!important}.word-comment-card{box-sizing:border-box!important;width:100%!important;max-width:100%!important;margin-top:0!important;position:static!important}.margin-note-right{order:3!important;width:100%!important;height:auto!important;min-height:auto!important;margin:0!important;display:block!important}.margin-guide-card{box-sizing:border-box!important;width:100%!important;max-width:100%!important;margin-top:0!important;position:static!important}.poem-content-row,.poem-content-row.has-side-glossary{flex-direction:column!important;align-items:center!important;gap:1rem!important;padding:0!important}.poem-side-glossary-panel{width:100%!important;min-width:0!important;max-width:100%!important;margin-top:.85rem!important}.poem-verses-column{align-items:center!important;width:100%!important}}@media (width<=768px){.navbar-container{flex-wrap:wrap!important;gap:.4rem 0!important;padding:.5rem .75rem!important}.navbar-left{flex:none!important}.brand-titles .brand-sub{display:none!important}.brand-name{font-size:1.05rem!important}.seal-badge{width:32px!important;height:32px!important;font-size:1rem!important}.navbar-right{flex:none!important;margin-left:auto!important}.vip-badge-active,.vip-btn{padding:.35rem .65rem!important;font-size:.78rem!important}.navbar-center{border-top:1px solid #0000000d!important;order:3!important;justify-content:space-between!important;gap:.35rem!important;width:100%!important;padding-top:.35rem!important}.textbook-selector-btn{padding:.35rem .55rem!important;font-size:.76rem!important}.textbook-badge-prefix{display:none!important}.catalog-trigger-btn{padding:.35rem .55rem!important;font-size:.76rem!important}.catalog-btn-count{display:none!important}.lesson-stepper-bar{flex:1!important;justify-content:space-between!important;min-width:0!important;padding:2px 4px!important}.lesson-stepper-bar .step-text{display:none!important}.current-lesson-chip{max-width:90px!important;padding:.2rem .4rem!important}.current-lesson-name{text-overflow:ellipsis!important;white-space:nowrap!important;max-width:75px!important;font-size:.76rem!important;overflow:hidden!important}.textbook-stage-panel,.catalog-dropdown-menu{z-index:600!important;width:auto!important;max-width:calc(100vw - 1rem)!important;max-height:82vh!important;position:fixed!important;top:92px!important;left:.5rem!important;right:.5rem!important}.phase-tabs-container{padding:.2rem .4rem 0!important}.phase-tabs-list{gap:.25rem!important;width:100%!important}.phase-tab{text-align:center!important;flex:1!important;justify-content:center!important;gap:.25rem!important;padding:.5rem .15rem!important}.phase-tab .tab-sub{display:none!important}.phase-tab .tab-title{white-space:nowrap!important;letter-spacing:0!important;font-size:.82rem!important;font-weight:700!important}.phase-tab .tab-icon-wrap svg{width:14px!important;height:14px!important}.phase-content-container{box-sizing:border-box!important;width:100%!important;padding:1.15rem .75rem 2.5rem!important}.preview-banner{padding:1.1rem .75rem!important}.banner-title{font-size:1.55rem!important}.unit-guidance-bar{flex-direction:column!important;align-items:flex-start!important;gap:.4rem!important;padding:.6rem .75rem!important}.guidance-split-dot{display:none!important}.vocab-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr))!important;gap:.5rem!important}.vocab-chip{height:100px!important;padding:.5rem .25rem!important}.detail-top{text-align:center!important;flex-direction:column!important;align-items:center!important;gap:.85rem!important}.meta-rows{align-items:center!important}.pdf-resources-grid{grid-template-columns:1fr!important;gap:1rem!important}.pdf-resource-card{flex-direction:column!important;align-items:flex-start!important;gap:.85rem!important}.pdf-action-col{gap:.5rem!important;width:100%!important;display:flex!important}.pdf-btn{flex:1!important;justify-content:center!important}.modal-dialog{border-radius:14px!important;width:calc(100vw - 1rem)!important;max-width:calc(100vw - 1rem)!important;max-height:88vh!important;padding:1.4rem 1rem!important;overflow-y:auto!important}.vip-pricing-tiers{grid-template-columns:1fr!important;gap:.5rem!important}.wechat-purchase-card{padding:.75rem!important}.wechat-left{flex-direction:column!important;align-items:flex-start!important;gap:.5rem!important}.btn-copy-wechat{justify-content:center!important;width:100%!important;padding:6px 12px!important}.title-controls-bar .controls-group{border-radius:16px!important;flex-wrap:wrap!important;gap:.3rem!important;padding:.3rem!important}.control-chip{padding:.25rem .55rem!important;font-size:.72rem!important}.article-title{font-size:1.55rem!important}}@media (width<=480px){.reading-toolbar{gap:.4rem!important;padding:.4rem .65rem!important}.theme-controls{gap:.35rem!important}.font-controls{gap:.2rem!important;padding:2px 4px!important}.lens-toggle-btn{padding:.3rem .6rem!important;font-size:.75rem!important}.article-title{font-size:1.4rem!important}.article-view-container{padding:1rem .5rem 2.5rem!important}.paragraph-block.center-para-block{font-size:1rem!important;line-height:1.85!important}}
