:root{--ink:#142237;--ink-soft:#263a56;--muted:#697688;--paper:#f4efe3;--card:#fffdf7;--line:#d8cbb4;--red:#bf4c2e;--red-deep:#922e20;--green:#2d6759;--gold:#d6a047;--pale-blue:#dce8e9;--serif:"Noto Serif SC","Songti SC","STSong",serif;--sans:"Noto Sans CJK SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65}.paper-noise{position:fixed;inset:0;pointer-events:none;opacity:.22;background-image:radial-gradient(#8c795f .45px,transparent .6px),linear-gradient(90deg,transparent 49.8%,rgba(23,36,56,.035) 50%,transparent 50.2%);background-size:5px 5px,30px 30px;mix-blend-mode:multiply}.masthead,main,footer{position:relative;max-width:1180px;margin:auto}.masthead{display:flex;justify-content:space-between;align-items:center;padding:26px 30px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:baseline;gap:10px;color:inherit;text-decoration:none}.brand span{font:700 12px var(--sans);letter-spacing:.16em;color:var(--red)}.brand strong{font:700 21px var(--serif)}.brand em{font:12px var(--sans);color:var(--muted)}nav{display:flex;align-items:center;gap:18px}nav a,nav button,.back{color:var(--ink);text-decoration:none;font:14px var(--sans);background:none;border:0;cursor:pointer}nav a:hover,.back:hover{color:var(--red)}nav form{margin:0}main{padding:54px 30px 70px}footer{padding:24px 30px;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}h1,h2,h3{font-family:var(--serif);line-height:1.22}h1{font-size:clamp(34px,5vw,66px);margin:.15em 0}.hero{display:flex;justify-content:space-between;align-items:end;gap:36px;padding-bottom:38px;border-bottom:2px solid var(--ink)}.eyebrow{font-size:12px;letter-spacing:.15em;color:var(--red);font-weight:700}.stamp{display:grid;place-items:center;min-width:145px;min-height:145px;border:2px solid var(--red);border-radius:50%;transform:rotate(-7deg);color:var(--red);background:rgba(255,253,247,.68)}.stamp b{font:42px var(--serif);line-height:1}.stamp span{font-size:12px}.current-card,.ledger,.checkin,.monthly-card,.login-sheet,.progress-panel,.review-panel{background:var(--card);border:1px solid var(--line);box-shadow:8px 8px 0 rgba(20,34,55,.08)}.focus-board{display:grid;grid-template-columns:1.6fr .8fr;margin:40px 0 34px;align-items:stretch}.current-card{padding:32px;border-right:0;box-shadow:none}.current-card p:first-child{margin:0;color:var(--red);font-size:12px;font-weight:700;letter-spacing:.12em}.current-card h2{font-size:33px;margin:7px 0}.focus-note{background:var(--ink);color:#f6f0e6;padding:28px;transform:rotate(1.2deg);box-shadow:8px 8px 0 rgba(20,34,55,.17)}.focus-note .eyebrow{color:#edb078}.focus-note h3{font-size:28px;margin:10px 0}.task-steps{display:flex;gap:8px;flex-wrap:wrap;margin:19px 0}.task-steps span{font-size:12px;padding:4px 9px;border:1px solid var(--line);border-radius:16px;background:#faf4e9}.primary{display:inline-block;background:var(--red);color:#fff;text-decoration:none;border:0;padding:12px 20px;font:700 14px var(--sans);cursor:pointer;box-shadow:3px 3px 0 var(--red-deep);transition:transform .18s ease,box-shadow .18s ease}.primary:hover{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--red-deep)}.dashboard-grid,.detail-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:24px}.progress-panel,.review-panel{padding:25px}.section-heading{display:flex;justify-content:space-between;align-items:end}.section-heading h2,.review-panel h2{margin:2px 0 14px}.section-heading b{font:36px var(--serif);color:var(--green)}.progress-rail{height:8px;background:#e5dfd1;margin:0 0 19px;overflow:hidden}.progress-rail i{display:block;height:100%;background:linear-gradient(90deg,var(--green),#5f9b8d);transition:width .6s ease}.week-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.week-dot{border:1px solid var(--line);padding:12px 8px;text-decoration:none;color:var(--ink);font-size:12px;background:#fffaf0;transition:transform .16s ease,border-color .16s ease}.week-dot:hover{transform:translateY(-3px);border-color:var(--red)}.week-dot span{display:block;font-weight:700;color:var(--red)}.week-dot.done{background:var(--green);color:#fff;border-color:var(--green)}.week-dot.done span{color:#fff}.review-list{padding:0;list-style:none;margin:0}.review-list li{border-bottom:1px solid var(--line)}.review-list a{display:flex;justify-content:space-between;color:var(--ink);text-decoration:none;padding:12px 0}.review-list a span{color:var(--red);font-weight:700}.page-head{max-width:780px;margin-bottom:32px}.packet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.packet{background:var(--card);border:1px solid var(--line);padding:21px;min-height:245px;display:flex;flex-direction:column;transition:transform .18s ease,box-shadow .18s ease}.packet:hover{transform:translateY(-4px);box-shadow:7px 8px 0 rgba(20,34,55,.1)}.packet.draft{opacity:.62}.packet h2{font-size:25px;margin:8px 0}.packet>p:first-child{font-size:12px;color:var(--muted);margin:0}.code{color:var(--red);font-weight:700;font-size:12px}.packet-foot{margin-top:auto;display:flex;justify-content:space-between}.packet-foot a{color:var(--red);font-weight:700;text-decoration:none}.detail-grid{align-items:start}.ledger,.checkin{padding:28px}.ledger h3{margin-top:26px;font-size:17px}.route-line{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin:16px 0 25px}.route-line i{height:1px;flex:1;background:var(--line)}.route-line .active{color:var(--red);font-weight:700}.material-list{list-style:none;padding:0!important}.material-list li{display:flex;gap:10px;padding:10px 0;border-bottom:1px dashed var(--line)}.material-mark{color:var(--red);font-weight:700}.material-list a{color:var(--ink);font-weight:700}.ledger small{display:block;color:var(--muted)}.exercise-box{border-left:4px solid var(--gold);padding:14px 17px;background:#fff8e9}.exercise-box>span{font-size:11px;letter-spacing:.12em;color:var(--red);font-weight:700}.preserve{white-space:pre-line}.checkin{position:sticky;top:18px}.checkin label{display:block;margin:14px 0 5px;font-size:14px;font-weight:700}.checkin input:not([type=checkbox]),.checkin textarea,.checkin select,.login-form input{display:block;width:100%;border:1px solid var(--line);background:#fffcf4;padding:10px;font:15px var(--sans)}.checkbox{font-weight:400!important}.checkbox input{width:auto!important;display:inline;margin-right:8px}.checkin .primary{margin-top:18px}.feedback{margin-top:26px;padding:14px;border-left:4px solid var(--gold);background:#fff8e9}.feedback p{margin:0 0 5px;color:var(--red);font-size:12px;font-weight:700}.reflection{margin-top:28px;border-top:1px solid var(--line);padding-top:22px}.monthly-card{max-width:760px;padding:30px}.monthly-card li{padding:5px 0}.login-sheet{max-width:520px;margin:70px auto;padding:38px}.login-form label{display:block;margin:18px 0 6px;font-size:14px;font-weight:700}.login-form .primary{margin-top:22px;width:100%}@media(max-width:760px){.masthead{align-items:flex-start;gap:15px}.brand{display:block}.brand>*{display:block}nav{gap:10px;font-size:12px}main{padding:32px 18px 50px}.hero{align-items:flex-start;flex-direction:column}.stamp{min-width:105px;min-height:105px}.focus-board,.dashboard-grid,.detail-grid{grid-template-columns:1fr}.focus-note{transform:none}.current-card{border-right:1px solid var(--line)}.packet-grid{grid-template-columns:1fr}.week-strip{grid-template-columns:repeat(3,1fr)}.checkin{position:static}}
