@import"https://fonts.googleapis.com/css2?family=Ma+Shan+Zheng&family=Noto+Serif+SC:wght@400;600;700&family=ZCOOL+XiaoWei&display=swap";:root{--ink: #191612;--ink-soft: #595248;--surface: #fffdf8;--line: rgba(25, 22, 18, .16)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{color:var(--ink);background:#f2eadf;font-family:"Noto Serif SC",Songti SC,STSong,serif;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}a{color:inherit}.ambient{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:0}.ambient-a{background:radial-gradient(58rem 34rem at 12% -4%,rgba(245,183,96,.28),transparent 68%),radial-gradient(34rem 20rem at 92% 12%,rgba(26,109,122,.22),transparent 70%)}.ambient-b{opacity:.18;background-image:radial-gradient(rgba(58,40,19,.22) .55px,transparent .55px);background-size:4px 4px}.home-shell{position:relative;z-index:1;max-width:1260px;margin:0 auto;padding:clamp(16px,2.2vw,30px);min-height:100vh;display:grid;grid-template-columns:minmax(300px,390px) minmax(0,1fr);gap:clamp(14px,2vw,24px);align-items:start}.hero-panel{position:sticky;top:16px;border:1px solid rgba(41,29,17,.2);border-radius:26px;background:linear-gradient(170deg,#fffbf2f0,#f9eedcd6);box-shadow:0 24px 50px #27180929;padding:clamp(18px,2.2vw,24px);display:grid;gap:14px;animation:slide-up .48s ease}.hero-heading{display:grid;gap:10px}.eyebrow{margin:0;font-family:ZCOOL XiaoWei,serif;letter-spacing:.16em;font-size:.76rem;color:#0e5e67}.hero-panel h1{margin:0;font-family:Ma Shan Zheng,ZCOOL XiaoWei,serif;font-size:clamp(2.1rem,4vw,2.95rem);line-height:.98}.hero-text{margin:0;color:#4e473d;line-height:1.7;font-size:.94rem}.hero-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.hero-metrics div{border:1px solid rgba(39,29,17,.14);border-radius:14px;background:#ffffffd1;padding:10px 9px;display:grid;gap:4px}.hero-metrics strong{font-size:1.28rem;line-height:1}.hero-metrics span{color:#655d52;font-size:.78rem}.hero-note{border:1px dashed rgba(21,102,113,.34);background:linear-gradient(125deg,#0c5a6414,#0c5a6405);border-radius:14px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.hero-note p{margin:0;color:#19444a;font-size:.84rem}.hero-note a{text-decoration:none;white-space:nowrap;font-size:.84rem;color:#0b5a64}.modules-panel{border:1px solid rgba(41,29,17,.17);border-radius:26px;background:#fffbf5e6;box-shadow:0 24px 50px #26180821;padding:clamp(16px,2.1vw,24px);animation:slide-up .62s ease}.modules-head{margin-bottom:14px}.modules-head h2{margin:0;font-size:clamp(1.22rem,2.3vw,1.72rem)}.modules-head p{margin:7px 0 0;color:#5f584e;font-size:.9rem}.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.module-card{position:relative;overflow:hidden;border:1px solid rgba(38,28,14,.16);border-radius:18px;background:linear-gradient(160deg,#fffefc,#fff9f0);padding:14px;display:grid;gap:10px;text-decoration:none;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.module-card:before{content:"";position:absolute;width:110px;height:110px;border-radius:999px;right:-52px;top:-52px;background:radial-gradient(circle,#007b8c29,#007b8c00)}.module-card:hover{transform:translateY(-3px);border-color:#15626e4d;box-shadow:0 12px 20px #18110a24}.module-id{font-family:ZCOOL XiaoWei,serif;font-size:.8rem;color:#8c7f6d;letter-spacing:.12em}.module-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.module-title{margin:0;font-size:1.08rem}.badge{padding:2px 8px;border-radius:999px;font-size:.74rem;border:1px solid transparent}.badge.ready{background:#0c6d411a;color:#0f6640;border-color:#0f66403d}.badge.planned{background:#a457101f;color:#7e4311;border-color:#7e43113d}.module-desc{margin:0;color:#5d5549;line-height:1.6;font-size:.9rem}.module-points{margin:0;padding-left:18px;color:#574f44;font-size:.83rem;line-height:1.6}.module-tags{display:flex;flex-wrap:wrap;gap:6px}.module-tag{font-size:.75rem;padding:2px 8px;border-radius:999px;border:1px dashed rgba(39,23,10,.26);color:#4d453a;background:#ffffffa3}.module-link{color:#0d5b66;font-size:.85rem}.module-card.planned{background:linear-gradient(160deg,#fffdf9,#fff6ea)}@keyframes slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 980px){.home-shell{grid-template-columns:1fr}.hero-panel{position:relative;top:0}}@media (max-width: 760px){.module-grid{grid-template-columns:1fr}.hero-note{flex-direction:column;align-items:flex-start}}.module-body{margin:0 auto;max-width:980px;min-height:100vh;padding:clamp(14px,2.1vw,26px);background:radial-gradient(44rem 26rem at 8% -10%,rgba(242,185,100,.22),transparent 72%),radial-gradient(26rem 18rem at 90% 10%,rgba(10,104,118,.16),transparent 70%),linear-gradient(160deg,#efe4d2,#deccb0)}.module-shell{border:1px solid rgba(30,21,9,.18);border-radius:24px;background:#fffcf5e6;box-shadow:0 22px 42px #1e140824;padding:clamp(16px,2.6vw,30px)}.module-nav{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;border:1px solid rgba(31,23,12,.22);background:#fff;text-decoration:none;font-size:.9rem}.module-nav:hover{border-color:#0d5b6670}.module-head{margin-top:16px}.module-head h1{margin:0;font-family:Ma Shan Zheng,ZCOOL XiaoWei,serif;font-size:clamp(2.1rem,4vw,2.9rem)}.module-head p{margin:10px 0 0;color:#575045;line-height:1.7}.coming-card{margin-top:18px;border-radius:16px;border:1px dashed rgba(31,23,12,.26);background:#fffc;padding:14px}.coming-card h2{margin:0;font-size:1.12rem}.coming-card ul{margin:10px 0 0;padding-left:18px;color:#4f473b;line-height:1.8}.vertical-page{position:relative;min-height:100vh;padding:clamp(12px,2vw,24px);background:radial-gradient(54rem 30rem at 6% -8%,rgba(249,193,120,.24),transparent 72%),radial-gradient(30rem 20rem at 94% 8%,rgba(10,108,120,.2),transparent 70%),linear-gradient(160deg,#f3e8d7,#e4d4bd)}.module-back{position:relative;z-index:2;display:inline-flex;align-items:center;margin-bottom:10px;padding:8px 13px;border-radius:999px;border:1px solid rgba(29,26,22,.25);background:#ffffffd1;text-decoration:none;font-size:.9rem;transition:border-color .14s ease,transform .14s ease}.module-back:hover{border-color:#0d5b6670;transform:translateY(-1px)}.page-bg{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;opacity:.2;background-image:radial-gradient(rgba(30,18,6,.12) .55px,transparent .55px);background-size:4px 4px}.app{position:relative;z-index:1;max-width:1320px;margin:0 auto;display:grid;grid-template-columns:minmax(290px,370px) minmax(0,1fr);gap:clamp(12px,2vw,20px);align-items:start}.toolbar{border:1px solid rgba(27,20,11,.2);border-radius:22px;background:linear-gradient(168deg,#fffcf7f0,#f8eddbd6);box-shadow:0 20px 40px #1b110824;padding:16px;animation:fade-up .46s ease}.kicker{margin:0;font-family:ZCOOL XiaoWei,serif;letter-spacing:.14em;font-size:.74rem;color:#0d5b66}.toolbar-title h1{margin:4px 0 0;font-size:clamp(1.32rem,2.3vw,1.82rem)}.controls{margin-top:14px;display:grid;gap:10px}.control-grid{display:grid;gap:8px}.control-grid label{display:grid;gap:5px;padding:9px;border-radius:12px;border:1px solid rgba(30,22,11,.14);background:#ffffffc2;font-size:.84rem;color:#5f584f}.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}select,.btn{height:40px;border-radius:10px;font-family:inherit;font-size:.94rem}select{border:1px solid rgba(29,26,22,.26);background:#fff;color:#1d1a16;padding:0 10px}.btn{border:1px solid rgba(29,26,22,.18);background:#fffffff0;color:#1d1a16;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 16px #21160c24}.btn:disabled{opacity:.72;cursor:not-allowed;transform:none;box-shadow:none}.btn.solid{background:linear-gradient(120deg,#f2b167,#d9823b);border-color:#381f0859}.btn.accent{background:linear-gradient(120deg,#0f6170,#0d4149);color:#f4fbfb;border-color:#0a282c6b}.hint{margin:2px 0 0;padding:9px 10px;border-radius:10px;border:1px dashed rgba(20,98,111,.24);background:#0e5c680a;font-size:.78rem;color:#565046;line-height:1.5}.stage{border:1px solid rgba(29,22,12,.16);border-radius:22px;background:#fffaf1c7;box-shadow:0 20px 40px #1b12081f;padding:10px;display:flex;justify-content:center;overflow:auto;animation:fade-up .62s ease}.sheet{width:min(210mm,100%);aspect-ratio:210 / 297;color:#111;-webkit-print-color-adjust:exact;print-color-adjust:exact;border-radius:10px;padding:9mm 10mm 8mm;display:flex;flex-direction:column}.sheet-header{display:flex;align-items:end;justify-content:space-between;border-bottom:.5mm solid #1f1f1f;padding-bottom:2mm}.sheet-header h2{margin:0;font-size:8.2mm;font-weight:700;letter-spacing:.4mm}.meta{font-size:5.2mm;letter-spacing:.38mm;display:flex;gap:4mm}.problem-grid{--rows: 6;margin-top:5mm;flex:1;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(var(--rows),minmax(0,1fr));gap:4mm 6mm}.problem{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-height:0;animation:float-in .26s ease both}.stack{width:31mm;margin-left:2mm}.sheet.range-1000 .stack{width:36mm}.stack-row{display:flex;justify-content:flex-end;align-items:baseline;font-size:7mm;line-height:1.2;color:#000;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.4mm}.sheet.range-1000 .stack-row{font-size:5.8mm;letter-spacing:.2mm}.operator{width:5mm;text-align:center;margin-right:.8mm}.operator.ghost{visibility:hidden}.num{min-width:17mm;text-align:right}.answer-line{margin-top:1.4mm;border-top:.55mm solid #000;width:100%;height:0}.sheet.exporting .problem{animation:none!important;opacity:1!important}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes float-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 980px){.app{grid-template-columns:1fr}.stage{justify-content:flex-start}.sheet{width:210mm}}@media (max-width: 640px){.action-grid{grid-template-columns:1fr}}@media print{@page{size:A4;margin:0}html,body,#root{width:210mm;height:297mm;background:#fff;padding:0}.module-back,.page-bg,.toolbar{display:none!important}.vertical-page,.app,.stage{margin:0;padding:0;display:block;width:210mm;max-width:none;background:#fff;border:0;box-shadow:none}.sheet{width:210mm;height:297mm;aspect-ratio:auto;border:none;box-shadow:none;border-radius:0;margin:0;padding:9mm 10mm 8mm}}
