.prep{display:grid;gap:18px;padding:24px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#fbfcf9,#fff 120px)}.prep-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.prep-head h2{margin:4px 0 0;font-size:19px;letter-spacing:-.4px}.prep-head p{margin:5px 0 0;font-size:12.5px;color:#7e877d}.prep-head .text-link{flex:none;white-space:nowrap}.prep-grid{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);gap:16px}.prep-ticket{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:16px;padding:20px;border-radius:14px;background:#315d48;color:#fff}.prep-ticket:after{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;border:1px solid rgba(231,215,152,.18);box-shadow:0 0 0 28px rgba(255,255,255,.025);pointer-events:none}.prep-ticket-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.prep-chip{background:rgba(255,255,255,.12);font-weight:800;color:#e7f0e6}.prep-chip,.prep-status{padding:5px 11px;border-radius:99px;font-size:11.5px}.prep-status{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.1);font-weight:700;color:#d5e2d6}.prep-status.is-live{background:#f1e3a8;color:#5f4b14}.prep-status i{width:7px;height:7px;border-radius:50%;background:#d1572f;box-shadow:0 0 0 0 rgba(209,87,47,.5);animation:prep-pulse 1.6s infinite}@keyframes prep-pulse{70%{box-shadow:0 0 0 7px rgba(209,87,47,0)}to{box-shadow:0 0 0 0 rgba(209,87,47,0)}}@media (prefers-reduced-motion:reduce){.prep-status i{animation:none}}.prep-ticket-main{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.prep-ticket h3{margin:0;font-size:15px;font-weight:700;color:#cfe0d1}.prep-date{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin:4px 0 0}.prep-date strong{font:26px/1.15 var(--serif);color:#fff;letter-spacing:-.5px}.prep-date span{font-size:12px;color:#b9cdbb}.prep-dday{flex:none;display:grid;justify-items:center;padding:10px 14px;border-radius:12px;background:rgba(255,255,255,.1)}.prep-dday strong{font:26px/1 var(--serif);color:#f1e3a8}.prep-dday span{margin-top:4px;font-size:10.5px;color:#c4d4c6}.prep-timeline{--progress:0%;position:relative;list-style:none;margin:4px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr)}.prep-timeline:after,.prep-timeline:before{content:"";position:absolute;top:6px;left:16.66%;height:2px;border-radius:2px}.prep-timeline:before{right:16.66%;background:rgba(255,255,255,.16)}.prep-timeline:after{width:calc(66.66% * var(--progress) / 100);background:#f1e3a8;transition:width .6s}.prep-timeline li{position:relative;z-index:1;display:grid;justify-items:center;gap:3px;text-align:center}.prep-dot{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.35);background:#315d48}.prep-timeline li.is-done .prep-dot{border-color:#f1e3a8;background:#f1e3a8}.prep-timeline strong{margin-top:4px;font-size:12.5px;color:#fff}.prep-timeline small{font-size:11px;color:#b9cdbb}.prep-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.prep-facts div{padding:10px 6px;border-radius:10px;background:rgba(255,255,255,.08);text-align:center}.prep-facts span,.prep-facts strong{display:block}.prep-facts strong{font-size:15px;color:#fff}.prep-facts span{margin-top:2px;font-size:10.5px;color:#b9cdbb}.prep-caveat{margin:0;font-size:11px;line-height:1.6;color:#b4c7b6}.prep-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.prep-links a{padding:6px 11px;border-radius:99px;background:rgba(255,255,255,.1);font-size:11.5px;font-weight:700;color:#e7f0e6;transition:background .18s}.prep-links a:hover{background:rgba(255,255,255,.2)}.prep-routine{display:flex;flex-direction:column;gap:16px;padding:20px;border:1px solid #e7eae4;border-radius:14px;background:#fff}.prep-routine-title h3{margin:4px 0 0;font-size:16px;letter-spacing:-.3px}.prep-routine-title p{margin:5px 0 0;font-size:12.5px;line-height:1.6;color:#7d857b}.prep-steps{position:relative;list-style:none;margin:0;padding:0;display:grid;gap:14px}.prep-steps:before{content:"";position:absolute;left:17px;top:18px;bottom:18px;width:2px;background:repeating-linear-gradient(#dfe5dc 0 4px,transparent 4px 8px)}.prep-steps li{--tone:#e6f1e7;--tone-ink:#568063;position:relative;display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:start}.prep-steps li.is-lavender{--tone:#efecf7;--tone-ink:#7770a0}.prep-steps li.is-peach{--tone:#f7ede4;--tone-ink:#b07c52}.prep-step-index{z-index:1;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--tone);color:var(--tone-ink);font:15px var(--serif);box-shadow:0 0 0 4px #fff}.prep-steps li>div{padding:10px 14px;border-radius:12px;background:#fafbf8;border:1px solid #eef0eb}.prep-step-period{display:inline-block;padding:2px 8px;border-radius:99px;background:var(--tone);color:var(--tone-ink);font-size:10.5px;font-weight:800;letter-spacing:.4px}.prep-steps strong{display:block;margin:6px 0 2px;font-size:14px}.prep-steps p{margin:0;font-size:12.5px;line-height:1.6;color:#7d857b}.prep-tip{display:flex;gap:11px;align-items:flex-start;margin-top:auto;padding:12px 14px;border-radius:12px;background:#f7f3e3}.prep-tip-icon{flex:none;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#efe5c3;color:#8a6f2b}.prep-tip strong{display:block;font-size:12.5px;color:#6d5d2f}.prep-tip span{font-size:12px;line-height:1.6;color:#7f7660}.prep-tip b{color:#5f4b14}.prep-source{margin:-4px 0 0;font-size:11px;line-height:1.7;color:#939a91}.prep-source a{color:#58715a;text-decoration:underline;text-underline-offset:3px}@media (max-width:1100px){.prep-grid{grid-template-columns:1fr}}@media (max-width:760px){.prep{padding:18px 16px}.prep-head{align-items:flex-start}.prep-routine,.prep-ticket{padding:16px}.prep-date strong,.prep-dday strong{font-size:22px}.prep-facts{grid-template-columns:repeat(2,1fr)}}.prep-plan{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:#f1e3a8;color:#4f3f12;transition:transform .18s}.prep-plan:hover{transform:translateY(-1px)}.prep-plan-icon{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.55);color:#8a6f2b}.prep-plan-copy{flex:1 1;min-width:0}.prep-plan-copy small,.prep-plan-copy strong{display:block}.prep-plan-copy small{font-size:11px;font-weight:700;color:#8a6f2b}.prep-plan-copy strong{font-size:14px;letter-spacing:-.2px}.prep-links{margin-top:0}.prep-ticket{justify-content:space-between}.scope{display:grid;gap:16px;padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff}.scope-head h2{margin:4px 0 0;font-size:19px;letter-spacing:-.4px;color:var(--ink)}.scope-head h2 em{font-style:normal;color:var(--green)}.scope-head p{margin:5px 0 0;font-size:12.5px;line-height:1.6;color:#7e877d}.scope-grid{display:grid;gap:12px}.scope-col{padding:14px 16px;border-radius:12px;background:#f6f8f4}.scope-col h3{margin:0 0 8px;font-size:13px;color:#4f5f51}.scope-col ul{display:grid;gap:5px;margin:0;padding:0;list-style:none;font-size:13.5px;color:var(--ink)}.scope-col li{display:flex;align-items:center;gap:7px}.scope-col li:before{flex:none;display:grid;place-items:center;width:16px;height:16px;border-radius:50%;font-size:11px;font-weight:800}.scope-col.is-out li{color:#6f736c}.scope-col.is-out li:before{content:"−";background:#ece8e3;color:#8a6f5a}.scope-col.is-in li:before{content:"+";background:#e2efe3;color:var(--green)}.scope-col dl{display:grid;gap:7px;margin:0}.scope-col dl div{display:grid;grid-template-columns:34px 1fr;gap:8px;font-size:13px}.scope-col dt{color:#8a9188;font-weight:700}.scope-col dd{margin:0;color:var(--ink)}.scope-col dd small{display:block;margin-top:1px;font-size:11.5px;color:#8a9188}.scope-foot{margin:0;font-size:12px;line-height:1.6;color:#8a9188}@media (max-width:640px){.scope{padding:18px 16px}}.scope-subjects{display:grid;grid-template-columns:1fr 1.25fr;gap:12px}.scope-subject{display:grid;gap:12px;align-content:start;padding:16px 18px;border:1px solid #edf0ea;border-radius:12px;background:#fbfcfa}.scope-subject>header{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.scope-subject h3{margin:0;font-size:14.5px;color:var(--ink)}.scope-subject>header span{font-size:11.5px;color:#8a9188;white-space:nowrap}.scope-chapter h4,.scope-removed h4{margin:0 0 7px;font-size:12px;color:#6d7a6e}.scope-chapter ul,.scope-removed ul{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.scope-chapter a{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid #e3e8e0;border-radius:999px;background:#fff;color:#3f4b40;font-size:12.5px;transition:border-color .15s,background .15s}.scope-chapter a:hover{border-color:#b8d1b8;background:#f4f8f2}.scope-chapter a.is-new{border-color:#bcd6c0;background:#eef6ef;color:var(--green-dark);font-weight:700}.scope-chapter a small{padding:0 5px;border-radius:4px;background:var(--green);color:#fff;font-size:9.5px;font-weight:700;line-height:1.6}.scope-removed{padding:11px 13px;border-radius:10px;background:#f6f3ef}.scope-removed li{padding:3px 9px;border-radius:999px;background:#ece6df;color:#7d6a5b;font-size:12px;text-decoration:line-through;text-decoration-color:#b9a796}.scope-removed p{margin:8px 0 0;font-size:11.5px;line-height:1.6;color:#8a7d72}.scope-grid{grid-template-columns:1fr 1.25fr}.scope-col h3 small{margin-left:6px;font-size:11px;font-weight:500;color:#9aa198}.scope-priority ol{display:grid;gap:7px;margin:0;padding:0;list-style:none}.scope-priority li{display:grid;grid-template-columns:66px 1fr;gap:10px;align-items:baseline;font-size:13px;color:var(--ink)}.scope-priority li strong{padding:2px 0;border-radius:6px;font-size:11.5px;text-align:center}.scope-priority .is-top strong{background:var(--green);color:#fff}.scope-priority .is-mid strong{background:#dfeadf;color:var(--green-dark)}.scope-priority .is-skip strong{background:#ece6df;color:#7d6a5b}.scope-priority .is-skip span{color:#8a9188;text-decoration:line-through;text-decoration-color:#c9bdb1}@media (max-width:1100px){.scope-subjects{grid-template-columns:1fr}}@media (max-width:900px){.scope-grid{grid-template-columns:1fr}}.home-weak{padding:22px 24px;border:1px solid var(--line);border-radius:14px;background:white}.home-weak-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:12px}.home-weak-list a{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px;color:var(--ink);font-size:14px}.home-weak-num{color:#8c9389;font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.home-weak-empty{margin:10px 0 0;color:#647165;font-size:14px;line-height:1.8}.home-quick-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.home-quick-card{display:flex;flex-direction:column;gap:4px;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:white;color:var(--ink)}.home-quick-card:hover{border-color:#87a18a}.home-quick-card strong{font-size:16px}.home-quick-card small{color:#647165;font-size:13px;line-height:1.6}.home-start{padding:24px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#fbfcf9,#fff 120px)}.home-start-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.home-start-head h2{margin:4px 0 0;font-size:19px;letter-spacing:-.4px}.home-start-head p{margin:5px 0 0;font-size:12.5px;color:#7e877d}.home-start-head .text-link{flex:none;white-space:nowrap}.home-start-body{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:22px}.home-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;counter-reset:step}.home-steps li{position:relative;display:flex}.home-steps li+li:before{content:"›";position:absolute;left:-20px;top:50%;transform:translateY(-50%);width:14px;text-align:center;font-size:22px;line-height:1;color:#b8c2b5}.home-step{--tone:#e6f1e7;--tone-ink:#568063;flex:1 1;display:flex;flex-direction:column;gap:4px;padding:16px 16px 14px;border:1px solid #e7eae4;border-radius:14px;background:#fff;color:var(--ink);transition:transform .18s,box-shadow .18s,border-color .18s}.home-step.is-practice{--tone:#efecf7;--tone-ink:#7770a0}.home-step.is-exam{--tone:#f7ede4;--tone-ink:#b07c52}.home-step:hover{transform:translateY(-2px);border-color:var(--tone-ink);box-shadow:0 10px 24px #23361a12}.home-step-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.home-step-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--tone);color:var(--tone-ink)}.home-step-num{font:22px/1 var(--serif);opacity:.55}.home-step .eyebrow,.home-step-num{color:var(--tone-ink)}.home-step strong{font-size:16px;letter-spacing:-.3px}.home-step p{margin:2px 0 0;font-size:12.5px;line-height:1.6;color:#7d857b}.home-step-meta{margin-top:auto;padding-top:12px;font-size:11.5px;font-weight:700;color:#5d6a5e}.home-step-go{display:flex;align-items:center;gap:5px;margin-top:8px;padding-top:10px;border-top:1px dashed #e4e8e1;font-size:12px;font-weight:700;color:var(--tone-ink)}.home-step:hover .home-step-go svg{transform:translateX(3px)}.home-step-go svg{transition:transform .18s}.home-start-side{display:flex;flex-direction:column;gap:4px;padding-left:22px;border-left:1px solid var(--line)}.home-start-side h3{margin:2px 0 10px;font-size:15px;letter-spacing:-.3px}.home-recent{display:flex;align-items:center;gap:12px;padding:13px;border-radius:13px;background:var(--green);color:#fff;transition:background .18s}.home-recent:hover{background:var(--green-dark)}.home-recent-round{flex:none;width:48px;height:48px;border-radius:12px;display:flex;align-items:baseline;justify-content:center;padding-top:10px;background:rgba(255,255,255,.12)}.home-recent-round strong{font:22px/1 var(--serif);color:#f1e3a8}.home-recent-round small{font-size:10px;color:#cfdccf;margin-left:1px}.home-recent-copy{flex:1 1;min-width:0}.home-recent-copy small,.home-recent-copy strong{display:block}.home-recent-copy strong{font-size:13px}.home-recent-copy small{margin-top:3px;font-size:11px;color:#c4d4c6}.home-recent-go{color:#dce8dc}.home-start-note{display:flex;gap:9px;margin:auto 0 0;padding:12px 13px;border-radius:11px;background:#f3f5ee;font-size:11.5px;line-height:1.55;color:#7c8579}.home-start-note>span:first-child{color:#a3aa78;font-size:16px;line-height:1.2}.home-start-note strong{display:block;color:#4c574d;font-size:12px}@media (max-width:1100px){.home-start-body{grid-template-columns:1fr}.home-start-side{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);column-gap:12px;padding:18px 0 0;border-left:0;border-top:1px solid var(--line)}.home-start-side>.eyebrow,.home-start-side>h3{grid-column:1/-1}.home-start-note{margin:0;align-items:center}}@media (max-width:760px){.home-start{padding:18px 16px}.home-start-head{align-items:flex-start}.home-steps{grid-template-columns:1fr;gap:18px}.home-steps li+li:before{left:50%;top:-16px;transform:translateX(-50%) rotate(90deg)}.home-start-side{grid-template-columns:1fr;row-gap:10px}}.home-rounds{display:grid;gap:4px;padding:22px 24px;border:1px solid var(--line);border-radius:16px;background:#fff}.home-rounds .section-title-row{margin-bottom:10px}.home-rounds-year,.home-rounds-years{display:grid;gap:12px}.home-rounds-year{grid-template-columns:52px 1fr;align-items:start}.home-rounds-label{padding-top:12px;font:15px var(--serif);color:#8a948a}.home-rounds-year ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px}.home-round{position:relative;display:grid;gap:2px;padding:10px 12px;border:1px solid #e7ebe4;border-radius:12px;background:#fafbf8;transition:border-color .15s,background .15s,transform .15s}.home-round:hover{border-color:#b8d1b8;background:#f3f8f1;transform:translateY(-1px)}.home-round:focus-visible{outline:2px solid var(--green);outline-offset:2px}.home-round strong{font:20px/1.1 var(--serif);color:var(--green-dark)}.home-round strong small{margin-left:1px;font:700 11px Arial,sans-serif;color:#7d887d}.home-round span{font-size:11.5px;color:#8a928a}.home-round i{position:absolute;top:9px;right:10px;padding:1px 7px;border-radius:99px;background:#e6f1e7;color:#4f7b5b;font:700 10px Arial,sans-serif}.home-round.is-latest{border-color:#315d48;background:#315d48}.home-round.is-latest strong,.home-round.is-latest strong small{color:#f1e3a8}.home-round.is-latest span{color:#cfe0d1}.home-round.is-latest:hover{background:#2a5240}@media (max-width:760px){.home-rounds{padding:18px 16px}.home-rounds-year{grid-template-columns:1fr;gap:6px}.home-rounds-label{padding-top:0}.home-rounds-year ul{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}