:root{color-scheme:light;--paper:#faf6ef;--paper-raised:#ffffff;--surface-2:#f1eade;--surface-3:#fbf8f3;--ink:#2a2420;--muted:#726558;--line:#e7ddcd;--accent:#a3432b;--accent-strong:color-mix(in srgb,var(--accent) 78%,#000000);--accent-soft:color-mix(in srgb,var(--accent) 13%,var(--paper-raised));--accent-line:color-mix(in srgb,var(--accent) 32%,var(--line));--on-accent:#fff8f0;--accent-2:#4a6670;--accent-2-soft:#e3ecec;--hero-bg:#f3e7d6;--hero-line:#e4d2b8;--good:#2e7d5b;--good-soft:#e3f0e9;--warn:#9a6b12;--warn-soft:#f7eed9;--danger:#a5423b;--danger-soft:#f4e4e2;--radius:8px;--radius-lg:12px;--radius-pill:999px;--shadow:0 1px 2px rgba(42,36,32,0.05),0 6px 20px rgba(42,36,32,0.05);--sans:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic Medium","Yu Gothic","Noto Sans JP","Meiryo",system-ui,sans-serif;--serif:"Hiragino Mincho ProN","YuMincho","Yu Mincho","Noto Serif JP",serif;--mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--paper:#181411;--paper-raised:#211c18;--surface-2:#2a241f;--surface-3:#1e1916;--ink:#ede4d8;--muted:#a89a8b;--line:#3a322b;--accent:#e0805f;--accent-strong:color-mix(in srgb,var(--accent) 82%,#ffffff);--accent-soft:color-mix(in srgb,var(--accent) 16%,var(--paper-raised));--accent-line:color-mix(in srgb,var(--accent) 40%,var(--line));--on-accent:#1a1008;--accent-2:#8faeb8;--accent-2-soft:#222e33;--hero-bg:#241c16;--hero-line:#3d3128;--good:#6ec69a;--good-soft:#16281f;--warn:#e0b15c;--warn-soft:#2e2617;--danger:#e3908a;--danger-soft:#2e1c1b;--shadow:0 1px 2px rgba(0,0,0,0.3),0 8px 24px rgba(0,0,0,0.35)}}:root[data-theme=dark]{color-scheme:dark;--paper:#181411;--paper-raised:#211c18;--surface-2:#2a241f;--surface-3:#1e1916;--ink:#ede4d8;--muted:#a89a8b;--line:#3a322b;--accent:#e0805f;--accent-strong:color-mix(in srgb,var(--accent) 82%,#ffffff);--accent-soft:color-mix(in srgb,var(--accent) 16%,var(--paper-raised));--accent-line:color-mix(in srgb,var(--accent) 40%,var(--line));--on-accent:#1a1008;--accent-2:#8faeb8;--accent-2-soft:#222e33;--hero-bg:#241c16;--hero-line:#3d3128;--good:#6ec69a;--good-soft:#16281f;--warn:#e0b15c;--warn-soft:#2e2617;--danger:#e3908a;--danger-soft:#2e1c1b;--shadow:0 1px 2px rgba(0,0,0,0.3),0 8px 24px rgba(0,0,0,0.35)}*{box-sizing:border-box}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}html{overflow-x:hidden}body{margin:0;min-height:100dvh;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.8;font-feature-settings:"palt";-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;text-wrap:balance}p{margin:0}img,svg{max-width:100%}a{color:var(--accent)}[tabindex]:focus-visible,a:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.display{font-family:var(--serif);font-weight:600}.mono{font-family:var(--mono)}.wrap{max-width:980px;margin:0 auto;padding:0 clamp(14px,4vw,24px)}.page{padding-top:28px;padding-bottom:72px}.eyebrow{display:block;font-size:.7rem;letter-spacing:.14em;font-weight:700;color:var(--accent);margin:0 0 6px;overflow-wrap:anywhere}.muted{color:var(--muted);font-size:.85rem}.card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px 22px;box-shadow:var(--shadow);margin:0 0 16px}.card h2{font-size:1rem;margin:0 0 12px}.hr{height:1px;background:var(--line);border:0;margin:18px 0}.btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);border-radius:var(--radius);padding:10px 20px;font:inherit;font-size:.9rem;font-weight:700;text-decoration:none;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.btn:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.btn.ghost{background:var(--paper-raised);color:var(--accent);border-color:var(--line)}.btn.ghost:hover{border-color:var(--accent);background:var(--surface-3)}.btn.sm{padding:7px 14px;font-size:.82rem}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:default}.chip{display:inline-flex;align-items:baseline;gap:6px;border:1px solid var(--line);background:var(--surface-3);color:var(--muted);border-radius:var(--radius-pill);padding:4px 12px;font:inherit;font-size:.75rem;font-weight:700}.chip b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chip b,.tag{color:var(--accent)}.tag{display:inline-block;font-size:.68rem;font-weight:700;padding:2px 9px;border-radius:var(--radius-pill);background:var(--accent-soft)}.tag.g{background:var(--good-soft);color:var(--good)}.tag.w{background:var(--warn-soft);color:var(--warn)}.tag.d{background:var(--danger-soft);color:var(--danger)}.tag.n{background:var(--surface-2);color:var(--muted)}.stat{flex:1 1 140px;background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px;box-shadow:var(--shadow)}.stat .k{font-size:.72rem;color:var(--muted);letter-spacing:.05em;font-weight:700}.stat .v{font-size:1.5rem;font-weight:800;line-height:1.3;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat .v small{font-size:.7rem;font-weight:600;color:var(--muted)}.statrow{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 30px}.bar{height:7px;background:var(--surface-2);border-radius:var(--radius-pill);overflow:hidden;margin:9px 0 0}.bar i{display:block;height:100%;background:var(--accent)}.bar i.g{background:var(--good)}.bar i.w{background:var(--warn)}.bar i.d{background:var(--danger)}.split{display:flex;gap:14px;flex-wrap:wrap}.split>div{flex:1 1 110px}.split .sv{font-size:1.3rem;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sitehead{border-bottom:1px solid var(--hero-line);background:var(--hero-bg);position:-webkit-sticky;position:sticky;top:0;z-index:100}.sitehead .in{max-width:980px;margin:0 auto;padding:10px clamp(14px,4vw,24px);display:flex;align-items:center;gap:10px}.brand{display:inline-flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none;flex:0 0 auto}.brand img{width:26px;height:26px;border-radius:6px;display:block}.brand .bn{font-weight:800;font-size:.95rem;line-height:1.3}.brand .bs{display:block;font-weight:500;font-size:.62rem;letter-spacing:.1em;color:var(--muted)}.sitehead nav{display:flex;gap:2px;margin-left:4px;overflow-x:auto;scrollbar-width:none}.sitehead nav::-webkit-scrollbar{display:none}.sitehead nav a{color:var(--muted);text-decoration:none;font-size:.8rem;font-weight:700;padding:6px 10px;border-radius:var(--radius);white-space:nowrap}.sitehead nav a:hover{background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--ink)}.sitehead nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent)}.sitehead .sp{flex:1 1}.acct{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;font-size:.72rem;color:var(--muted)}.acct .who{max-width:15ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acct .linkbtn{border:0;background:none;padding:0;font:inherit;color:var(--muted);border-bottom:1px solid var(--hero-line);white-space:nowrap;cursor:pointer}.acct .linkbtn:hover{color:var(--accent);border-bottom-color:var(--accent)}.syncnote{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;font-size:.7rem;font-weight:700;color:var(--muted);white-space:nowrap}.syncnote .syncdot{width:7px;height:7px;border-radius:50%;background:var(--good);flex:none}.syncnote.loading .syncdot{background:var(--muted)}.syncnote.local .syncdot{background:var(--warn)}.syncnote.local{color:var(--warn)}.syncnote.error .syncdot{background:var(--danger)}.syncnote.error{color:var(--danger)}@media (max-width:560px){.sitehead .in{flex-wrap:wrap;row-gap:6px}.sitehead nav{order:3;width:100%;margin-left:0}.acct .who{display:none}.syncnote{font-size:0;gap:0}}.themebtn{border:1px solid var(--hero-line);background:transparent;color:var(--ink);border-radius:var(--radius);padding:5px 11px;font:inherit;font-size:.75rem;font-weight:700;cursor:pointer;white-space:nowrap;flex:0 0 auto}.subnav,.themebtn:hover{background:var(--paper-raised)}.subnav{border-bottom:1px solid var(--line)}.subnav .in{max-width:980px;margin:0 auto;padding:0 clamp(14px,4vw,24px);display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}.subnav .in::-webkit-scrollbar{display:none}.subnav a{color:var(--muted);text-decoration:none;font-size:.82rem;font-weight:700;padding:11px 12px;border-bottom:2px solid transparent;white-space:nowrap}.subnav a:hover{color:var(--ink)}.subnav a[aria-current=page]{color:var(--accent);border-bottom-color:var(--accent)}@media (max-width:480px){.subnav .in{gap:0;padding:0 10px}.subnav a{padding:11px 7px;font-size:.76rem}}.foot{border-top:1px solid var(--line);margin-top:40px;background:var(--surface-3)}.foot .in{max-width:980px;margin:0 auto;padding:22px clamp(14px,4vw,24px) 32px;font-size:.78rem;color:var(--muted);gap:8px 20px;align-items:baseline}.foot .in,.foot nav{display:flex;flex-wrap:wrap}.foot nav{gap:4px 14px}.foot a{color:var(--muted);text-decoration:none}.foot a:hover{color:var(--accent)}.foot .note{flex:1 1 100%;line-height:1.7}.hero{padding:30px 0 6px}.hero h1{font-size:clamp(1.4rem,5vw,2rem);line-height:1.45;margin:0 0 10px}.hero .lede{color:var(--muted);font-size:.95rem;max-width:56ch}.courses{display:grid;grid-gap:16px;gap:16px}.course{display:block;text-decoration:none;color:inherit;background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px 22px;box-shadow:var(--shadow)}.course:hover{border-color:var(--accent)}.course .ch{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 0 10px}.course .cn{font-size:1.2rem;font-weight:800;line-height:1.4;margin:0}.course .cd{text-align:right;flex:0 0 auto}.course .cd .k{font-size:.7rem;color:var(--muted);font-weight:700}.course .cd .v{font-size:1.2rem;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.3}.course .cd .v small{font-size:.68rem;font-weight:600;color:var(--muted)}.course .ct{font-size:.87rem;color:var(--muted);margin:0 0 14px}.course .cmats{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}@media (max-width:520px){.course .ch{flex-direction:column}.course .cd{text-align:left}}.phase{background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--radius-lg);padding:16px 20px;margin:0 0 18px}.phase .pl{font-size:.7rem;font-weight:700;letter-spacing:.1em;color:var(--accent);margin:0 0 6px}.phase .pt{font-size:1.02rem;font-weight:800;margin:0 0 8px}.phase .pd{font-size:.88rem;margin:0}.sched{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:12px;gap:12px;margin:0 0 16px}.sc{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-lg);padding:14px 16px;box-shadow:var(--shadow)}.sc .k{font-size:.72rem;color:var(--muted);font-weight:700;letter-spacing:.05em}.sc .d{font-size:.82rem;color:var(--muted);margin:2px 0 6px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sc .v{font-size:1.4rem;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.25}.sc .v small{font-size:.72rem;font-weight:600;color:var(--muted)}.sc.now{border-color:var(--accent);background:var(--accent-soft)}.sc.past .v{color:var(--muted)}.sectitle{font-size:.95rem;margin:26px 0 12px}.mats{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:14px;gap:14px;margin:0 0 16px}.mat{display:block;text-decoration:none;color:inherit;background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px 20px;box-shadow:var(--shadow)}.mat:hover{border-color:var(--accent)}.mat.lead{border-color:var(--accent-line);background:var(--surface-3)}.mat .mh{display:flex;align-items:center;gap:8px;margin:0 0 4px;flex-wrap:wrap}.mat .mt{font-weight:800;font-size:1.02rem}.mat .ms{font-size:.8rem;color:var(--muted);margin:0 0 12px;line-height:1.7}.mat .num{font-size:1.2rem;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mat .num small{font-size:.72rem;font-weight:600;color:var(--muted)}.mat .row{margin-top:10px}.mat .row .rk{font-size:.8rem;font-weight:700}.logrow{display:flex;align-items:flex-end;gap:3px;height:64px;margin:4px 0 8px}.logrow .lb{flex:1 1;background:var(--surface-2);border-radius:3px 3px 0 0;min-height:3px}.logrow .lb.on{background:var(--accent)}.logrow .lb.today{background:var(--accent-2)}.logax{display:flex;gap:3px;font-size:.6rem;color:var(--muted)}.logax span{flex:1 1;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;overflow:hidden}.pending{border:1px dashed var(--accent-line);border-radius:var(--radius-lg);background:var(--surface-3);padding:26px 24px;margin-top:18px}.pending .pt{font-size:1.05rem;font-weight:800;margin:0 0 8px}.pending .pd{font-size:.9rem;color:var(--muted);margin:0 0 16px;max-width:56ch}.notice{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius);background:var(--paper-raised);padding:14px 16px;margin-top:16px;font-size:.88rem}.notice.error{border-color:var(--danger);border-left-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.breadcrumb{color:var(--muted);font-size:.78rem;margin:0 0 4px}.drill{margin-top:18px}.drill-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:.82rem;color:var(--muted);padding-bottom:12px;border-bottom:1px solid var(--line)}.drill-bank select{font:inherit;font-size:.82rem;padding:5px 8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-raised);color:var(--ink);max-width:100%}.drill-stats{margin-left:auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.drill-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:20px 22px;margin-top:16px}.drill-question{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.drill-figure{margin-top:16px;border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 var(--radius) var(--radius) 0;padding:12px 14px}.drill-figure strong{display:block;font-size:.72rem;letter-spacing:.06em;color:var(--accent)}.drill-figure p{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.drill-choices{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-gap:8px;gap:8px}.drill-choice{display:flex;gap:10px;width:100%;text-align:left;font:inherit;color:inherit;background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;cursor:pointer;overflow-wrap:anywhere}.drill-choice:hover:not(:disabled){border-color:var(--accent)}.drill-choice:disabled{cursor:default;opacity:1}.drill-choice .drill-label{font-weight:700;flex:none}.drill-choice.is-answer{border-color:var(--good);background:var(--good-soft);color:var(--ink)}.drill-choice.is-wrong{border-color:var(--danger);background:var(--danger-soft);color:var(--ink)}.drill-result{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.drill-verdict{margin:0;font-weight:800}.drill-verdict.is-ok{color:var(--good)}.drill-verdict.is-ng{color:var(--danger)}.drill-keypoint{margin-top:12px;padding:10px 12px;border-left:3px solid var(--accent);background:var(--surface-2);border-radius:var(--radius)}.drill-keypoint strong{font-size:.72rem;letter-spacing:.06em;color:var(--accent)}.drill-keypoint p{margin:4px 0 0;font-size:.98rem;font-weight:600;line-height:1.6}.drill-explanation{margin-top:12px}.drill-explanation summary{font-size:.85rem;font-weight:600;letter-spacing:.06em;color:var(--accent);cursor:pointer;min-height:44px;display:flex;align-items:center;gap:6px;list-style:none}.drill-explanation summary::-webkit-details-marker{display:none}.drill-explanation summary:before{content:"▶";content:"▶"/"";font-size:.7rem}.drill-explanation[open] summary:before{content:"▼";content:"▼"/""}.drill-explanation p{margin:4px 0 0;font-size:.9rem}.drill-ask-turn{margin-top:10px;padding:8px 12px;border-radius:var(--radius);border:1px solid var(--line)}.drill-ask-turn.is-assistant{background:var(--surface-2);border-left:3px solid var(--accent-2)}.drill-ask-turn strong{font-size:.72rem;letter-spacing:.06em;color:var(--muted)}.drill-ask-turn p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.drill-ask-form{margin-top:10px}.drill-ask-form textarea{display:block;width:100%;box-sizing:border-box;font:inherit;font-size:.95rem;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-raised);color:inherit;resize:vertical}.drill-ask-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:6px}.drill-ask-over{color:var(--danger)}.drill-related ul{margin:4px 0 0;padding:0;list-style:none}.drill-related li{padding:6px 0;font-size:.9rem;line-height:1.6;border-top:1px solid var(--line)}.drill-related li:first-child{border-top:none}.drill-muted,.drill-src{color:var(--muted)}.drill-src{margin:12px 0 0;font-size:.78rem;overflow-wrap:anywhere}.drill-nav{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}.drill-setup{margin-top:18px}.field{margin:0 0 18px}.flabel{display:block;font-weight:700;letter-spacing:.04em;margin:0 0 7px}.fhint,.flabel{font-size:.76rem;color:var(--muted)}.fhint{margin:7px 0 0;line-height:1.7}.chips{display:flex;flex-wrap:wrap;gap:6px}.optchip{display:inline-flex;align-items:baseline;gap:6px;border:1px solid var(--line);background:var(--paper-raised);color:var(--muted);border-radius:var(--radius-pill);padding:6px 14px;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .12s ease,border-color .12s ease,color .12s ease}.optchip:hover{border-color:var(--accent);color:var(--ink)}.optchip small{font-size:.68rem;font-weight:700;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.optchip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.optchip[aria-pressed=true] small{color:var(--accent)}.kwrow{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.kinput{flex:1 1 220px;min-width:0;font:inherit;font-size:.88rem;padding:9px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-raised);color:var(--ink)}.checks{display:grid;grid-gap:10px;gap:10px}.check{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.check input{margin-top:5px;accent-color:var(--accent);flex:none}.check b{font-size:.88rem}.check small{display:block;font-size:.76rem;color:var(--muted);line-height:1.7}.startrow{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.tally{font-size:.9rem;margin:0}.tally b{font-size:1.25rem;font-weight:800;color:var(--accent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.resume{background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--radius-lg);padding:16px 20px;margin:0 0 16px}.resume .rl{font-size:.7rem;font-weight:700;letter-spacing:.1em;color:var(--accent);margin:0 0 4px}.resume .rt{font-size:1rem;font-weight:800;margin:0 0 4px}.btnrow{display:flex;gap:8px;flex-wrap:wrap}.resumeline{background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--radius);padding:8px 12px;font-size:.82rem;font-weight:700;color:var(--accent);margin:0 0 12px}.drill-timer{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;color:var(--ink)}.flagbtn{margin-left:auto;border:1px solid var(--line);background:var(--paper-raised);color:var(--muted);border-radius:var(--radius-pill);padding:5px 13px;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer;white-space:nowrap}.flagbtn:hover{border-color:var(--accent);color:var(--ink)}.flagbtn.on{background:var(--warn-soft);border-color:var(--warn);color:var(--warn)}.drill-progress{height:4px;background:var(--surface-2);border-radius:var(--radius-pill);overflow:hidden;margin:10px 0 0}.drill-progress i{display:block;height:100%;background:var(--accent)}.drill-src-top{font-size:.74rem;color:var(--muted);margin:0 0 10px;overflow-wrap:anywhere}.drill-tag{display:inline-block;margin-left:10px;padding:0 8px;border:1px solid var(--line);border-radius:var(--radius-pill);white-space:nowrap}.drill-figlink{margin:8px 0 0;font-size:.78rem}.drill-choice .drill-text{flex:1 1;min-width:0}.drill-choice .drill-key{flex:none;align-self:center;font-size:.68rem;font-weight:700;color:var(--muted);border:1px solid var(--line);border-radius:var(--radius);padding:1px 7px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:520px){.drill-choice .drill-key{display:none}}.drill-choice.is-picked{border-color:var(--accent);background:var(--accent-soft)}.drill-hold{margin:14px 0 0;font-size:.8rem;color:var(--muted)}.drill-navsp{flex:1 1}.drill-keys{margin:12px 0 0}.drill-keys b{color:var(--ink);font-family:var(--mono);font-size:.8rem}@media (max-width:640px){.drill-keys{display:none}}.qstrip{display:flex;flex-wrap:wrap;gap:4px;margin:18px 0 0;padding-top:14px;border-top:1px solid var(--line)}.qstrip .qs{min-width:30px;border:1px solid var(--line);background:var(--paper-raised);color:var(--muted);border-radius:var(--radius);padding:3px 6px;font:inherit;font-size:.74rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;cursor:pointer}.qstrip .qs:hover{border-color:var(--accent)}.qstrip .qs.done{background:var(--accent-soft);color:var(--accent)}.qstrip .qs.ok{background:var(--good-soft);border-color:var(--good);color:var(--good)}.qstrip .qs.ng{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.qstrip .qs.fl{border-color:var(--warn)}.qstrip .qs.cur{outline:2px solid var(--accent);outline-offset:1px}.drill-done{margin-top:6px}.rv{border-bottom:1px solid var(--line)}.rv:last-of-type{border-bottom:0}.rv>summary{display:flex;gap:8px;align-items:baseline;padding:10px 0;cursor:pointer;font-size:.85rem;list-style:none}.rv>summary::-webkit-details-marker{display:none}.rv .rvm{flex:none;font-weight:800}.rv .rvm.ok{color:var(--good)}.rv .rvm.ng{color:var(--danger)}.rv .rvn{flex:none;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rv .rvq{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rv[open] .rvq{white-space:normal}.rv .rvb{border-left:3px solid var(--accent-line);padding:0 0 16px 14px;margin:0 0 8px}.rv .rvline{font-size:.85rem;margin:0 0 6px;overflow-wrap:anywhere}.tx{margin-top:18px}.tx-muted{color:var(--muted)}.tx-sm{font-size:.85em}.tx-tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-raised)}.gd table,.tx-tablewrap table{border-collapse:collapse;width:100%;font-size:.86rem;min-width:420px}.gd td,.gd th,.tx-tablewrap td,.tx-tablewrap th{border-bottom:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top;line-height:1.7}.gd th,.tx-tablewrap th{background:var(--surface-2);font-size:.78rem;color:var(--muted);white-space:nowrap}.gd tr:last-child td,.tx-tablewrap tr:last-child td{border-bottom:0}.tx-callout{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius);background:var(--surface-3);padding:13px 16px;font-size:.89rem}.tx-callout .tx-label{display:block;font-size:.72rem;font-weight:800;letter-spacing:.04em;margin-bottom:5px;color:var(--accent)}.tx-callout.tx-key{border-left-color:var(--accent);background:var(--accent-soft)}.tx-callout.tx-trap{border-left-color:var(--danger);background:var(--danger-soft)}.tx-callout.tx-trap .tx-label{color:var(--danger)}.tx-callout.tx-warn{border-left-color:var(--warn);background:var(--warn-soft)}.tx-callout.tx-warn .tx-label{color:var(--warn)}.tx-deflist{margin:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-raised);padding:12px 16px;font-size:.88rem}.tx-deflist dt{font-weight:800;margin-top:10px}.tx-deflist dt:first-child{margin-top:0}.tx-deflist dd{margin:2px 0 0;color:var(--muted)}.tx-plain{list-style:none;padding-left:0}.tx-plain>li{position:relative;padding-left:1.1em}.tx-plain>li:before{content:"・";position:absolute;left:0;color:var(--accent)}.gd{margin-top:18px}.gd-sec{margin-bottom:18px}.gd-h{font-size:1.15rem;line-height:1.5;margin:0 0 12px}.gd-h3{font-size:.98rem;margin:22px 0 8px}.gd-lead{font-size:.9rem;margin:0 0 14px}.gd-sec>.tx-tablewrap{margin-bottom:14px}.gd-themes{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:12px;gap:12px;margin:0 0 14px}.gd-theme{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-3);padding:13px 15px}.gd-tt{font-size:.92rem;font-weight:800;line-height:1.5;margin:0 0 6px}.gd-td{font-size:.82rem;color:var(--muted);margin:0}.gd-road{list-style:none;margin:0 0 16px;padding:0 0 0 18px;border-left:2px solid var(--line);display:grid;grid-gap:16px;gap:16px}.gd-step{display:grid;grid-gap:3px;gap:3px;position:relative}.gd-step:before{content:"";position:absolute;left:-25px;top:6px;width:12px;height:12px;border-radius:var(--radius-pill);border:2px solid var(--line);background:var(--paper)}.gd-step.is-past:before{background:var(--line)}.gd-step.is-now:before{border-color:var(--accent);background:var(--accent)}.gd-step.is-today:before{border-color:var(--accent-2);background:var(--accent-2)}.gd-when{font-size:.74rem;font-weight:700;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.gd-key{font-size:.95rem;font-weight:800}.gd-detail{font-size:.84rem;line-height:1.75}.gd-detail,.gd-step.is-past .gd-key{color:var(--muted)}.gd-step.is-today .gd-key{color:var(--accent-2)}.gd-step.is-now .gd-key{color:var(--accent)}.pm-entry{margin-top:18px}.pm-session{margin-top:24px}.pm-list{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-gap:8px;gap:8px}.pm-row{display:flex;align-items:baseline;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-raised);color:inherit;text-decoration:none}.pm-row:hover{border-color:var(--accent)}.pm-no{flex:none;font-weight:800;color:var(--accent)}.pm-title{flex:1 1;overflow-wrap:anywhere}.pm-count{flex:none;font-size:.78rem;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pm-src{margin-top:0}.pm-h{margin:0;font-size:1.05rem}.pm-note{font-size:.8rem;margin:4px 0 0}.pm-item{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.pm-label{display:flex;justify-content:space-between;gap:8px;font-size:.85rem;font-weight:700;margin-bottom:4px}.pm-len{font-weight:400;font-size:.75rem;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pm-item textarea{display:block;width:100%;box-sizing:border-box;font:inherit;font-size:.95rem;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-raised);color:inherit;resize:vertical}.pm-answer,.pm-text{white-space:pre-wrap;overflow-wrap:anywhere}.pm-itemnote{font-size:.8rem;font-weight:400!important;color:var(--muted)}.pm-commentary p{margin:8px 0 0;font-size:.9rem;line-height:1.7}.pm-commentary b{display:block;font-size:.72rem;letter-spacing:.06em;color:var(--muted)}.pm-ai{margin:16px 0 0;font-size:.8rem;color:var(--muted)}.pm-wide{max-width:none}.pm-hero{padding-top:4px}.pm-hero h1{font-size:clamp(1.2rem,3vw,1.5rem);margin-bottom:4px}.pmv{--pm-top:48px;margin-top:8px}.pmv-viewer{min-width:0}.pmv-bar{position:-webkit-sticky;position:sticky;top:var(--pm-top);z-index:5;display:flex;flex-wrap:nowrap;align-items:center;gap:6px 8px;padding:6px 0;background:var(--paper);border-bottom:1px solid var(--line)}.pmv-btn{flex:none;width:34px;height:30px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-raised);color:var(--accent);font:inherit;font-size:1.1rem;font-weight:800;line-height:1;cursor:pointer}.pmv-btn:disabled{opacity:.35;cursor:default}.pmv-where{flex:none;font-weight:700;font-size:.8rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.pmv-thumbs{display:flex;flex-wrap:nowrap;gap:3px;min-width:0;flex:0 1 auto;overflow-x:auto;scrollbar-width:none}.pmv-thumbs::-webkit-scrollbar{display:none}.pmv-thumb{flex:none;min-width:26px;height:26px;border:1px solid var(--line);border-radius:6px;background:var(--paper-raised);color:var(--muted);font:inherit;font-size:.72rem;font-weight:700;cursor:pointer}.pmv-thumb[aria-current=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.pmv-keys{flex:none;font-size:.7rem;color:var(--muted)}@media (max-width:1279px){.pmv.panel-open .pmv-keys{display:none}}.pmv-mode{flex:none;display:inline-flex;margin-left:auto;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.pmv-seg{border:0;background:var(--paper-raised);color:var(--muted);font:inherit;font-size:.75rem;font-weight:700;padding:5px 10px;cursor:pointer}.pmv-seg+.pmv-seg{border-left:1px solid var(--line)}.pmv-seg[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.pmv-stage{display:grid;grid-gap:10px;gap:10px;margin-top:10px}.pmv-stage.spread{grid-template-columns:1fr 1fr;align-items:start}.pmv-stage.single{grid-template-columns:minmax(0,1fr)}.pmv-page{margin:0;min-width:0}.pmv-crop{position:relative;overflow:hidden;width:100%;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.pmv-crop img{position:absolute;display:block;max-width:none}.pmv-page figcaption{display:flex;justify-content:space-between;gap:8px;font-size:.7rem;color:var(--muted);margin-top:3px}.pmv-panel-head{display:flex;align-items:baseline;gap:10px;position:-webkit-sticky;position:sticky;top:0;z-index:1;padding:10px 0 8px;background:var(--paper-raised);border-bottom:1px solid var(--line)}.pmv-panel-head .pm-h{flex:none}.pmv-close{margin-left:auto;font-size:.78rem;padding:4px 10px}.pm-overview{margin-top:24px;padding-top:16px;border-top:2px solid var(--line)}.pmv-fab{position:fixed;right:16px;bottom:16px;z-index:60;display:inline-flex;align-items:baseline;gap:8px;box-shadow:0 6px 20px rgb(0 0 0/.22)}.pmv-fab small{font-weight:400;opacity:.85}.pmv-panel{position:fixed;left:0;right:0;bottom:0;z-index:70;height:55dvh;overflow-y:auto;overscroll-behavior:contain;padding:0 16px 24px;background:var(--paper-raised);border-top:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0;box-shadow:0 -8px 24px rgb(0 0 0/.18)}.pmv-panel[hidden]{display:none}.pmv.panel-open .pmv-viewer{padding-bottom:55dvh}@media (min-width:1024px){.pmv{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:16px;gap:16px;align-items:start}.pmv.panel-open{grid-template-columns:minmax(0,1fr) minmax(340px,28%)}.pmv.panel-open .pmv-viewer{padding-bottom:0}.pmv-stage.single .pmv-page{max-width:1100px;width:100%;justify-self:center}.pmv-panel{position:-webkit-sticky;position:sticky;top:calc(var(--pm-top) + 8px);left:auto;right:auto;bottom:auto;height:calc(100dvh - var(--pm-top) - 16px);border:1px solid var(--line);border-radius:var(--radius);box-shadow:none;padding:0 16px 20px}}.pm-grade{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px}.pm-grade-l{font-size:.72rem;font-weight:700;color:var(--muted);margin-right:2px}.pm-grade .optchip{font-size:.95rem;padding:4px 12px}.pm-score{margin:16px 0 0;font-weight:700;font-size:.9rem}.pm-st.done{color:var(--good);font-weight:700}.pm-st.doing{color:var(--warn);font-weight:700}.pm-st.done.weak{color:var(--accent)}.pm-sum{margin-top:18px}.pm-sum-main{margin:0 0 8px;font-weight:800;font-size:1.1rem}.pm-sum-main small{font-weight:400}.pm-sum-main .muted{font-size:.85rem;font-weight:400}.examdate input[type=date]{font:inherit;font-size:.95rem;padding:6px 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-raised);color:inherit}.examdate .btnrow{align-items:center}.examdate .btn:disabled{opacity:.5;cursor:default}.examdate-err{color:var(--accent);font-size:.85rem}.examdate-links{margin:0}