:root{--ink:#121b3a;--ink-soft:#263254;--blue:#4657d9;--blue-soft:#e7eafd;--vermilion:#e95a47;--paper:#f3f6fc;--surface:#fff;--line:#d9dfec;--muted:#68728a;--success:#0d8b68;--success-soft:#e3f5ef;--danger:#c8403a;--danger-soft:#fdebea;--shadow:0 18px 60px #141d4017}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:linear-gradient(90deg, #4657d909 1px, transparent 1px) 0 0 / 40px 40px, var(--paper);color:var(--ink);margin:0;font-family:Yu Gothic UI,Hiragino Kaku Gothic ProN,Noto Sans CJK JP,system-ui,sans-serif}button,a{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #4657d959}.app-shell{min-height:100vh}.site-header{justify-content:space-between;align-items:center;width:min(1240px,100% - 40px);height:78px;margin:0 auto;display:flex}.brand{min-width:0;color:var(--ink);align-items:center;gap:12px;text-decoration:none;display:flex}.brand-mark{background:var(--ink);color:#fff;place-items:center;width:38px;height:38px;font:700 19px Yu Mincho,serif;display:grid}.brand strong{letter-spacing:.02em;white-space:nowrap;font-size:15px;display:block}.brand small{color:var(--muted);letter-spacing:.18em;margin-top:2px;font-size:9px;font-weight:800;display:block}.header-actions{align-items:center;gap:14px;display:flex}.page-back{border:1px solid var(--line);min-height:36px;color:var(--ink);cursor:pointer;background:#fff;align-items:center;gap:7px;padding:0 12px;font-size:11px;font-weight:900;display:inline-flex}.page-back:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-soft)}.page-back span{color:var(--vermilion);font-size:15px}.catalog-back{color:var(--muted);font-size:11px;font-weight:800;text-decoration:none}.catalog-back:hover{color:var(--blue)}.header-meta{border:1px solid var(--line);background:#ffffffb8;align-items:center;gap:0;display:flex}.header-meta span{letter-spacing:.12em;border-left:1px solid var(--line);padding:9px 13px;font-size:10px;font-weight:900}.header-meta span:first-child{background:var(--vermilion);color:#fff;border-left:0}.account-control{z-index:20;position:relative}.account-control--loading{border:1px solid var(--line);background:linear-gradient(100deg,#fff 20%,#f0f2f8 45%,#fff 70%) 0 0/220% 100%;width:78px;height:36px;animation:1.3s linear infinite account-loading;display:block}.account-login{border:1px solid var(--line);border-bottom:3px solid var(--vermilion);min-height:36px;color:var(--ink);cursor:pointer;background:#ffffffc7;align-items:center;gap:7px;padding:0 10px;font-size:11px;font-weight:900;text-decoration:none;transition:all .18s;display:inline-flex}.account-login:hover{border-color:var(--ink);background:#fff;transform:translateY(-1px)}.account-login__signal{background:var(--vermilion);width:6px;height:6px;box-shadow:0 0 0 3px #ef53461f}.account-login__arrow{color:var(--vermilion);font-size:11px}.account-trigger{border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;align-items:center;gap:9px;min-height:36px;padding:0 9px 0 7px;font-size:11px;font-weight:900;display:inline-flex}.account-trigger:hover{border-color:var(--blue);background:var(--blue)}.account-avatar{width:24px;height:24px;color:var(--ink);background:#fff;place-items:center;font:900 11px Yu Mincho,serif;display:grid}.account-trigger{padding-right:9px}.account-trigger__copy{text-align:left;min-width:0;max-width:128px}.account-trigger__copy small{color:#aeb8ff;letter-spacing:.08em;font-size:8px;line-height:1;display:block}.account-trigger__copy strong{text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:10px;line-height:1.1;display:block;overflow:hidden}.account-trigger__chevron{color:#aeb8ff;font-size:12px}.account-menu{border:1px solid var(--line);border-top:4px solid var(--vermilion);background:#fff;width:280px;padding:22px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 24px 70px #0a102738}.account-menu__eyebrow{color:var(--blue);letter-spacing:.16em;font-size:8px;font-weight:900}.account-menu>strong{overflow-wrap:anywhere;margin-top:8px;font-size:15px;display:block}.account-menu>p{overflow-wrap:anywhere;color:var(--muted);margin:5px 0 0;font-size:11px}.account-menu>button{border:1px solid var(--line);width:100%;min-height:40px;color:var(--ink);cursor:pointer;background:#f7f8fc;margin-top:18px;font-size:11px;font-weight:900}.account-menu>button:hover{border-color:var(--danger);color:var(--danger);background:var(--danger-soft)}.account-menu>button:disabled{opacity:.55;cursor:wait}@keyframes account-loading{to{background-position:-220% 0}}.hero{background:var(--ink);color:#fff;width:min(1240px,100% - 40px);min-height:280px;box-shadow:var(--shadow);grid-template-columns:98px 1fr auto;margin:0 auto 26px;display:grid;position:relative;overflow:hidden}.hero:after{content:attr(data-watermark);color:#ffffff09;letter-spacing:.08em;white-space:nowrap;font:900 78px Yu Mincho,serif;position:absolute;bottom:-18px;right:22%}.week-rail{z-index:1;background:var(--vermilion);flex-direction:column;justify-content:center;align-items:center;gap:5px;font-family:Yu Mincho,Hiragino Mincho ProN,serif;display:flex}.week-rail span{font-size:14px;font-weight:800}.week-rail strong{font-size:48px;line-height:1}.hero-copy{z-index:1;align-self:center;padding:42px 50px}.eyebrow{color:#aeb8ff;letter-spacing:.22em;margin:0 0 16px;font-size:10px;font-weight:900}.hero h1{letter-spacing:-.035em;margin:0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(34px,5vw,64px);line-height:1.08}.hero h1 span{color:#aeb8ff;letter-spacing:.2em;margin-bottom:7px;font:900 15px Yu Gothic UI,sans-serif;display:block}.hero-copy>p:not(.eyebrow){color:#c8cee2;margin:20px 0 0;font-size:14px}.hero-tags{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.hero-tags span{color:#eef0ff;border:1px solid #ffffff29;padding:7px 11px;font-size:11px;font-weight:800}.score-block{z-index:1;background:#ffffff09;border-left:1px solid #ffffff1c;align-items:center;gap:18px;min-width:270px;padding:38px;display:flex}.score-ring{aspect-ratio:1;background:conic-gradient(var(--vermilion) var(--progress), #ffffff1a 0);border-radius:50%;place-items:center;width:92px;display:grid;position:relative}.score-ring:after{content:"";background:var(--ink);border-radius:50%;position:absolute;inset:7px}.score-ring>span{z-index:1;font-size:26px;font-weight:900}.score-ring small{font-size:11px}.score-block>div:last-child strong{font-size:19px;display:block}.score-block>div:last-child span{color:#aeb6cd;white-space:nowrap;margin-top:5px;font-size:11px;display:block}.workspace-grid{grid-template-columns:270px minmax(0,1fr);align-items:start;gap:26px;width:min(1240px,100% - 40px);margin:0 auto;display:grid}.course-map{border:1px solid var(--line);background:#ffffffd6;position:sticky;top:18px;box-shadow:0 12px 35px #141d400d}.course-map__heading{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:19px 18px;display:grid}.course-map__heading>div:first-child>span{color:var(--blue);letter-spacing:.16em;font-size:9px;font-weight:900;display:block}.course-map__heading strong{margin-top:3px;font-size:15px;display:block}.course-map__actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.course-map__actions .persistence-state{color:var(--success);letter-spacing:.06em;white-space:nowrap;align-items:center;gap:6px;font-size:9px;font-weight:900;display:inline-flex}.course-map__actions .persistence-state:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px;box-shadow:0 0 0 3px #2c97741a}.course-map__actions .persistence-state--checking,.course-map__actions .persistence-state--anonymous{color:var(--muted)}.course-map__actions .persistence-state--error{color:var(--danger)}.course-map__buttons{align-items:center;gap:6px;display:flex}.course-map__heading button{cursor:pointer;min-height:32px;padding:0 10px;font-size:10px;font-weight:900}.course-map__save{border:1px solid var(--ink);background:var(--ink);color:#fff}.course-map__save:hover{border-color:var(--blue);background:var(--blue)}.course-map__save:disabled{background:var(--success-soft);color:var(--success);cursor:default;border-color:#b9dfd3}.course-map__reset{color:var(--muted);background:0 0;border:0}.course-map__reset:hover{color:var(--danger)}.nav-section{border-bottom:1px solid var(--line);padding:18px}.nav-section__label{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.nav-section__label span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:800}.nav-section__label strong{font-family:Yu Mincho,serif;font-size:14px}.question-dots{grid-template-columns:repeat(5,1fr);gap:6px;margin-top:12px;display:grid}.question-dots button{aspect-ratio:1;border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fff;font-size:11px;font-weight:900;transition:all .18s}.question-dots button:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-1px)}.question-dots button.is-active{border-color:var(--ink);background:var(--ink);color:#fff}.question-dots button.is-correct:not(.is-active){background:var(--success-soft);color:var(--success);border-color:#a9dfcf}.question-dots button.is-wrong:not(.is-active){background:var(--danger-soft);color:var(--danger);border-color:#f0b6b2}.review-panel{background:#f8f9fd;padding:17px 18px}.review-panel>div>span{color:var(--vermilion);letter-spacing:.14em;font-size:9px;font-weight:900}.review-panel strong{margin-top:5px;font-size:14px;display:block}.review-panel p{color:var(--muted);margin:4px 0 0;font-size:10px;line-height:1.55}.review-panel button{border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;width:100%;min-height:38px;margin-top:13px;font-size:11px;font-weight:900}.review-panel button:disabled{border-color:var(--line);color:#9aa2b5;cursor:not-allowed;background:#eef1f7}.question-stage-anchor,.question-stage{min-width:0;scroll-margin-top:18px}.question-stage__bar{background:var(--ink);color:#fff;justify-content:space-between;align-items:center;height:64px;padding:0 22px;display:flex}.question-stage__bar>div{align-items:center;gap:14px;display:flex}.question-stage__bar span{color:#b4bdd3;letter-spacing:.15em;font-size:10px;font-weight:900}.question-stage__bar strong{letter-spacing:.05em;font-size:14px}.instruction{border:solid var(--line);color:var(--ink-soft);background:#edf0fb;border-width:0 1px 1px;padding:18px 22px;font:600 13px/1.7 Yu Mincho,serif}.reading-passage{border:solid var(--line);background:#fffdf8;border-width:0 1px 1px;padding:clamp(24px,4vw,42px);position:relative}.reading-passage__paper{position:relative}.reading-passage h2{text-align:center;letter-spacing:.08em;margin:0 0 20px;font:800 22px/1.5 Yu Mincho,Hiragino Mincho ProN,serif}.reading-passage__body{white-space:pre-line;letter-spacing:.02em;font:600 15px/2.15 Yu Mincho,Hiragino Mincho ProN,serif}.reading-passage__intro{z-index:1;color:var(--ink-soft);margin:0 0 22px;font:700 14px/1.8 Yu Mincho,Hiragino Mincho ProN,serif;position:relative}.reading-passage__attribution{color:var(--muted);text-align:right;margin:18px 0 0;font:600 12px/1.7 Yu Mincho,Hiragino Mincho ProN,serif}.reading-passage__notes{color:var(--ink-soft);border-top:1px solid #e5dfd3;gap:5px;margin:26px 0 0;padding-top:18px;display:grid}.reading-passage__notes>div{grid-template-columns:30px 1fr;gap:8px;display:grid}.reading-passage__notes dt,.reading-passage__notes dd{margin:0;font:600 11px/1.7 Yu Gothic UI,sans-serif}.reading-passage__notes dt{color:var(--vermilion);font-weight:900}.reading-passage--question{background:#f7f3e9;padding-left:clamp(48px,7vw,72px);overflow:hidden}.reading-passage--question:after{content:"";pointer-events:none;border:1px solid #121b3a1a;position:absolute;inset:14px}.reading-passage--question .reading-passage__paper{z-index:1;background:#fffef9;border:1px solid #ded7c9;padding:clamp(24px,3.5vw,42px);box-shadow:0 12px 34px #4d3e2314}.reading-passage__label{z-index:2;background:var(--ink);color:#fff;letter-spacing:.18em;text-transform:uppercase;writing-mode:vertical-rl;justify-content:center;align-items:center;width:38px;font-size:9px;font-weight:900;display:flex;position:absolute;top:14px;bottom:14px;left:0}.reading-passage--notice .reading-passage__paper{border-color:#b8b4aa}.reading-passage--notice .reading-passage__body{padding:4px clamp(4px,2vw,18px);font-size:14px;line-height:2}.reading-comparison{gap:24px;display:grid}.reading-subpassage{background:#fff;border:1px solid #cfc7b8;padding:24px clamp(18px,3vw,30px);position:relative}.reading-subpassage__label{background:var(--ink);color:#fff;text-align:center;border:1px solid #cfc7b8;min-width:32px;margin:0;padding:4px 10px;font:900 15px/1.4 Yu Gothic UI,sans-serif;position:absolute;top:-16px;left:18px}.reading-subpassage .reading-passage__body{padding-top:4px}.notice-letter{color:#181818;font-family:Yu Mincho,Hiragino Mincho ProN,serif}.notice-letter__date{text-align:right;margin:0 0 20px;font-size:13px;font-weight:600}.notice-letter__parties{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;font-size:14px;font-weight:600;line-height:1.9;display:grid}.notice-letter__parties>div:last-child{justify-self:end;min-width:44%}.notice-letter__parties span{display:block}.notice-letter>h2{margin:34px 0 24px}.notice-letter__body{letter-spacing:.02em;font-size:14px;font-weight:600;line-height:2.05}.notice-letter__body p{margin:0 0 16px}.notice-letter__salutation{margin-bottom:0!important}.notice-letter__closing{text-align:right;margin:-6px 0 0!important}.notice-letter__record{margin-top:8px}.notice-letter__record h3{text-align:center;margin:0 0 20px;font:700 15px/1.5 Yu Mincho,Hiragino Mincho ProN,serif}.notice-letter__record dl{gap:12px;margin:0;display:grid}.notice-letter__record dl>div{min-width:0}.notice-letter__record dt{margin:0 0 2px;font-size:13px;font-weight:800}.notice-letter__record dd{overflow-wrap:anywhere;margin:0;font-size:13px;font-weight:600;line-height:1.8}.notice-letter__record>p{text-align:right;margin:18px 0 0;font-size:13px;font-weight:600}.reading-passage--information .reading-passage__paper{padding:clamp(18px,3vw,32px)}.information-sheet{color:#181818;font-family:Yu Gothic UI,Hiragino Kaku Gothic ProN,sans-serif}.information-sheet>h2{letter-spacing:.04em;border-bottom:3px double #9f9a8e;margin-bottom:14px;padding-bottom:10px;font-family:inherit}.information-sheet__prose,.information-sheet__section p{white-space:pre-line;font-size:13px;font-weight:600;line-height:1.8}.information-sheet__section{margin:20px 0}.information-sheet__section h3{border-left:5px solid var(--ink);margin:0 0 8px;padding-left:11px;font-size:14px;line-height:1.5}.information-sheet__section ul,.information-table__notes{margin:8px 0 0;padding-left:1.3em;font-size:12px;font-weight:600;line-height:1.8}.information-table-wrap{margin:18px 0 24px;overflow-x:auto}.information-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:620px;font-size:11px;line-height:1.65}.information-table caption{color:var(--ink);text-align:left;margin-bottom:8px;font-size:14px;font-weight:900}.information-table th,.information-table td{white-space:pre-line;vertical-align:top;overflow-wrap:anywhere;border:1px solid #9f9a8e;padding:9px 8px}.information-table th{text-align:center;background:#e8e4da;font-weight:900}.information-table td:first-child{background:#f4f1e9;font-weight:800}.question-card{border:solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-width:0 1px 1px;padding:clamp(24px,5vw,56px)}.question-card.is-complete{border-top:3px solid var(--success)}.question-title-row{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.question-prompt{min-width:0}.question-prompt__eyebrow{color:var(--blue);letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;font:900 10px/1 Yu Gothic UI,sans-serif;display:block}.question-card h2{letter-spacing:.015em;margin:0;font:700 clamp(20px,2.6vw,29px)/2 Yu Mincho,Hiragino Mincho ProN,serif}.question-title-row>.audio-button{flex:none;margin-top:5px}.study-prompt-meta{margin-top:10px}.study-translation{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.7}.study-mode-label{color:var(--success);margin:10px 0 0;font-size:10px;font-weight:800}ruby{ruby-position:over}rt{color:var(--ink-soft);letter-spacing:.06em;font:700 .62em Yu Gothic UI,sans-serif}.exam-emphasis{border-bottom:2px solid;padding-bottom:3px}.composition-prompt{flex-wrap:wrap;align-items:flex-end;gap:.25em .45em;display:flex}.composition-slots{grid-template-columns:repeat(4,minmax(46px,1fr));align-items:end;gap:8px;min-width:min(310px,100%);padding-top:24px;display:inline-grid}.composition-slot{border-bottom:2px solid var(--ink);height:24px;display:block;position:relative}.composition-slot.is-star{border-color:var(--blue)}.composition-slot>span{color:var(--blue);text-align:center;font:900 16px/1 Yu Gothic UI,sans-serif;position:absolute;inset:-27px 0 auto}.option-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:38px;display:grid}.option-list--usage,.option-list--reading-comprehension{grid-template-columns:1fr}.option-list--reading-comprehension .option-card{min-height:78px;font-size:16px;line-height:1.75}.option-list--usage .option-card{min-height:82px;font-size:16px;line-height:1.75}.option-list--sentence-composition .option-card{border-top-width:3px}.option-card{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fbfcff;grid-template-columns:36px 1fr 24px;align-items:center;gap:14px;min-height:72px;padding:14px 16px;font:700 18px Yu Mincho,serif;transition:border-color .16s,background .16s,transform .16s;display:grid}.option-content{min-width:0}.option-content small{color:var(--muted);margin-top:4px;font:700 10px/1.4 Yu Gothic UI,sans-serif;display:block}.option-content .option-explanation{font-size:12px;font-weight:500;line-height:1.6}.option-content .option-explanation strong{color:var(--ink);font-weight:800}.option-card:not(:disabled):hover{border-color:var(--blue);background:#f4f5ff;transform:translateY(-1px)}.option-number{border:1px solid var(--line);width:34px;height:34px;color:var(--muted);place-items:center;font:900 12px Yu Gothic UI,sans-serif;display:grid}.option-status{color:#a5adc0;text-align:right;font:900 14px Yu Gothic UI,sans-serif}.option-card.is-selected{border-color:var(--blue);background:var(--blue-soft)}.option-card.is-correct{border-color:var(--success);background:var(--success-soft)}.option-card.is-correct .option-number{border-color:var(--success);background:var(--success);color:#fff}.option-card.is-wrong{border-color:var(--danger);background:var(--danger-soft)}.option-card.is-wrong .option-number{border-color:var(--danger);background:var(--danger);color:#fff}.option-card:disabled{cursor:default;opacity:1}.error-banner{border-left:3px solid var(--danger);background:var(--danger-soft);color:var(--danger);margin-top:18px;padding:12px 14px;font-size:12px}.answer-hint{border:solid var(--line);color:var(--muted);text-align:center;background:#ffffffa8;border-width:0 1px 1px;padding:24px;font-size:12px}.answer-hint span{color:var(--blue);letter-spacing:.16em;margin-right:10px;font-size:9px;font-weight:900}.feedback{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;margin-top:20px}.feedback__verdict{border-bottom:1px solid var(--line);grid-template-columns:110px 1fr;align-items:stretch;display:grid}.feedback__verdict>span{background:var(--success);color:#fff;letter-spacing:.1em;place-items:center;min-height:112px;font:800 19px Yu Mincho,serif;display:grid}.feedback--wrong .feedback__verdict>span{background:var(--danger)}.feedback__verdict>div{padding:26px 30px}.feedback__verdict strong{font-size:18px}.feedback__verdict p{color:var(--ink-soft);margin:10px 0 0;font-size:15px;line-height:1.8}.analysis-heading{padding:28px 30px 10px}.analysis-heading span{color:var(--blue);letter-spacing:.18em;font-size:9px;font-weight:900}.analysis-heading h3{margin:5px 0 0;font:800 20px Yu Mincho,serif}.analysis-heading>p{color:var(--muted);margin:8px 0 0;font-size:13px;line-height:1.75}.knowledge-chain{padding:14px 30px 30px}.knowledge-card{border:1px solid var(--line);background:#fafbfe;min-width:0;padding:22px}.knowledge-card--correct{border:0;border-left:5px solid var(--success);background:var(--success-soft)}.knowledge-card__top{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.knowledge-card__top>span{background:var(--ink);color:#fff;white-space:nowrap;padding:5px 7px;font-size:9px;font-weight:900}.knowledge-card--correct .knowledge-card__top>span{background:var(--success)}.knowledge-card h4{margin:0;font:800 22px/1.8 Yu Mincho,serif}.knowledge-card__top p{color:var(--blue);margin:2px 0 0;font-size:13px;font-weight:800}.related-knowledge{margin-top:24px}.related-knowledge__label{color:var(--muted);letter-spacing:.08em;align-items:center;gap:10px;margin-bottom:10px;font-size:10px;font-weight:900;display:flex}.related-knowledge__label span{background:var(--vermilion);width:28px;height:1px}.related-knowledge__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.meaning{color:var(--ink);margin:14px 0 0;font-size:15px;font-weight:900}.note{color:var(--ink-soft);margin:8px 0 0;font-size:14px;line-height:1.85}.example-line{border-top:1px dashed var(--line);grid-template-columns:1fr auto;align-items:center;gap:10px;margin-top:14px;padding-top:13px;display:grid}.example-line p{margin:0;font:700 17px/2.5 Yu Mincho,serif}.example-line span{color:var(--ink-soft);margin-top:5px;font-size:14px;line-height:1.75;display:block}.audio-button{min-height:34px;color:var(--blue);cursor:pointer;background:#fff;border:1px solid #cfd5e4;justify-content:center;align-items:center;gap:7px;padding:7px 10px;font-size:10px;font-weight:900;display:inline-flex}.audio-button:hover{border-color:var(--blue);background:var(--blue-soft)}.audio-button--compact{width:34px;padding:0}.audio-button.is-error{color:var(--danger);border-color:#efc1be}.confirm-backdrop{z-index:50;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#0a1027a8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirm-panel{border:1px solid #ffffff38;border-top:5px solid var(--vermilion);background:var(--surface);width:min(460px,100%);padding:34px;box-shadow:0 30px 90px #0408195c}.confirm-panel__eyebrow{color:var(--blue);letter-spacing:.2em;font-size:9px;font-weight:900}.confirm-panel h2{margin:9px 0 0;font:900 25px/1.35 Yu Mincho,serif}.confirm-panel>p{color:var(--ink-soft);margin:14px 0 0;font-size:14px;line-height:1.8}.confirm-panel__actions{grid-template-columns:1fr 1.25fr;gap:10px;margin-top:28px;display:grid}.dialog-button{border:1px solid var(--line);cursor:pointer;min-height:46px;padding:0 14px;font-size:12px;font-weight:900}.dialog-button--secondary{color:var(--ink);background:#fff}.dialog-button--secondary:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-soft)}.dialog-button--danger{border-color:var(--danger);background:var(--danger);color:#fff}.dialog-button--danger:hover{background:#a92f2b;border-color:#a92f2b}.pager{grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:22px 0 40px;display:grid}.pager button{border:1px solid var(--line);min-height:42px;color:var(--ink);cursor:pointer;background:#fff;padding:0 16px;font-size:11px;font-weight:900}.pager button:last-child:not(:disabled){border-color:var(--ink);background:var(--ink);color:#fff}.pager button:disabled{opacity:.35;cursor:not-allowed}.pager__track{background:var(--line);height:2px}.pager__track span{background:var(--vermilion);height:100%;transition:width .25s;display:block}.site-footer{border-top:1px solid var(--line);width:min(1240px,100% - 40px);color:var(--muted);justify-content:space-between;align-items:flex-start;gap:24px;margin:24px auto 0;padding:26px 0 40px;font-size:10px;display:flex}.site-footer>span{color:var(--ink);font-weight:900}.site-footer p{margin:0}.site-footer__meta{align-items:center;gap:18px;display:flex}.site-footer__visitors{color:var(--ink-soft);align-items:center;gap:6px;font-weight:800;display:inline-flex}.site-footer__visitors>span{color:var(--success);font-size:7px}.catalog-shell{min-height:100vh}.catalog-hero{background:var(--ink);color:#fff;width:min(1240px,100% - 40px);min-height:310px;box-shadow:var(--shadow);grid-template-columns:180px minmax(0,1fr) 300px;margin:0 auto 34px;display:grid;overflow:hidden}.catalog-hero__level{background:var(--vermilion);flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex}.catalog-hero__level strong{letter-spacing:-.07em;font:900 66px/1 Yu Mincho,serif}.catalog-hero__level span{writing-mode:vertical-rl;letter-spacing:.22em;font-size:10px;font-weight:900}.catalog-hero__copy{align-self:center;padding:48px 56px}.catalog-hero__copy .eyebrow{margin-bottom:18px}.catalog-hero h1{letter-spacing:-.04em;margin:0;font:900 clamp(38px,5vw,66px)/1.08 Yu Mincho,serif}.catalog-hero__copy>p:last-child{color:#c8cee2;max-width:620px;margin:22px 0 0;font-size:14px;line-height:1.9}.catalog-stats{border-left:1px solid #ffffff1a;grid-template-rows:1fr 1fr;margin:0;display:grid}.catalog-stats div{border-bottom:1px solid #ffffff1a;flex-direction:column;justify-content:center;padding:30px 38px;display:flex}.catalog-stats div:last-child{border-bottom:0}.catalog-stats dt{color:#aeb6cd;letter-spacing:.16em;font-size:10px;font-weight:900}.catalog-stats dd{margin:8px 0 0;font-size:42px;font-weight:900}.catalog-stats small{color:#aeb6cd;margin-left:6px;font-size:11px}.catalog-weeks{width:min(1240px,100% - 40px);margin:0 auto}.catalog-week{margin-top:26px}.catalog-week__heading{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:flex-end;gap:20px;padding-bottom:15px;display:flex}.catalog-week__heading span{color:var(--blue);letter-spacing:.18em;font-size:9px;font-weight:900}.catalog-week__heading h2{margin:5px 0 0;font:900 25px Yu Mincho,serif}.catalog-week__heading a{color:var(--muted);font-size:11px;font-weight:800;text-decoration:none}.catalog-week__heading a:hover{color:var(--blue)}.day-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px;display:grid}.day-card{border:1px solid var(--line);min-width:0;min-height:190px;color:var(--ink);background:#ffffffe6;grid-template-columns:92px minmax(0,1fr) 42px;align-items:stretch;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s;display:grid;box-shadow:0 10px 30px #141d400b}.day-card:hover{border-color:#aeb7e9;transform:translateY(-3px);box-shadow:0 18px 40px #141d4017}.day-card__number{border-right:1px solid var(--line);background:#f7f8fd;flex-direction:column;justify-content:center;align-items:center;display:flex}.day-card__number span{color:var(--vermilion);letter-spacing:.16em;font-size:9px;font-weight:900}.day-card__number strong{margin-top:6px;font:900 34px/1 Yu Mincho,serif}.day-card__body{align-self:center;padding:26px 28px}.day-card__status{color:var(--success);letter-spacing:.1em;align-items:center;gap:7px;font-size:9px;font-weight:900;display:flex}.day-card__status span{background:var(--success);width:7px;height:7px;box-shadow:0 0 0 4px var(--success-soft);border-radius:50%}.day-card h3{margin:12px 0 0;font:900 22px Yu Mincho,serif}.day-card__body>p{color:var(--muted);margin:8px 0 0;font-size:12px}.day-card__meta{color:var(--ink-soft);gap:16px;margin-top:19px;font-size:10px;font-weight:800;display:flex}.day-card__arrow{border-left:1px solid var(--line);color:var(--blue);place-items:center;font-size:18px;transition:background .18s,color .18s;display:grid}.day-card:hover .day-card__arrow{background:var(--blue);color:#fff}.not-found-page{align-content:center;justify-items:start;width:min(680px,100% - 40px);min-height:100vh;margin:0 auto;display:grid}.not-found-page>span{color:var(--vermilion);letter-spacing:.2em;font-size:12px;font-weight:900}.not-found-page h1{margin:12px 0 0;font:900 clamp(34px,7vw,58px)/1.15 Yu Mincho,serif}.not-found-page p{color:var(--muted);margin:18px 0 0;line-height:1.8}.not-found-page a{background:var(--ink);color:#fff;margin-top:28px;padding:13px 18px;font-size:12px;font-weight:900;text-decoration:none}.login-page{grid-template-columns:minmax(0,1fr) 300px;align-content:center;width:min(980px,100% - 40px);min-height:100vh;margin:0 auto;display:grid}.login-card{border:1px solid var(--line);min-height:570px;box-shadow:var(--shadow);background:#fff;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(34px,7vw,78px);display:flex}.login-card__eyebrow{color:var(--blue);letter-spacing:.2em;margin:58px 0 0;font-size:9px;font-weight:900}.login-card h1{letter-spacing:-.035em;margin:10px 0 0;font:900 clamp(32px,5vw,52px)/1.18 Yu Mincho,serif}.login-card>p:not(.login-card__eyebrow){max-width:530px;color:var(--ink-soft);margin:18px 0 0;font-size:14px;line-height:1.9}.login-error{border-left:4px solid var(--danger);background:var(--danger-soft);width:100%;color:var(--danger);margin-top:20px;padding:13px 15px;font-size:12px;line-height:1.7}.login-primary,.login-secondary{place-items:center;width:100%;min-height:48px;font-size:12px;font-weight:900;text-decoration:none;display:grid}.login-primary{background:var(--ink);color:#fff;margin-top:30px}.login-primary:hover{background:var(--blue)}.login-secondary{border:1px solid var(--line);color:var(--muted);margin-top:9px}.login-secondary:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-soft)}.login-aside{background:var(--vermilion);color:#fff;flex-direction:column;justify-content:center;align-items:center;min-height:570px;display:flex}.login-aside span{writing-mode:vertical-rl;letter-spacing:.22em;font-size:10px;font-weight:900}.login-aside strong{letter-spacing:-.08em;margin-top:28px;font:900 82px/1 Yu Mincho,serif}.login-aside p{letter-spacing:.14em;margin:20px 0 0;font-size:10px;font-weight:900}.practice-bootstrap{justify-content:center;align-items:center;gap:18px;width:min(720px,100% - 40px);min-height:100vh;margin:0 auto;display:flex}.practice-bootstrap__mark{background:var(--ink);color:#fff;place-items:center;width:52px;height:52px;font:900 22px Yu Mincho,serif;display:grid}.practice-bootstrap strong{font:900 20px Yu Mincho,serif;display:block}.practice-bootstrap p{color:var(--muted);margin:5px 0 0;font-size:12px}.practice-bootstrap--error{flex-direction:column;align-items:flex-start}.practice-bootstrap--error>span{color:var(--danger);letter-spacing:.18em;font-size:10px;font-weight:900}.practice-bootstrap--error h1{margin:5px 0 0;font:900 32px Yu Mincho,serif}.practice-bootstrap--error button{background:var(--ink);color:#fff;cursor:pointer;border:0;min-height:44px;margin-top:14px;padding:0 18px;font-size:12px;font-weight:900}@media (max-width:900px){.catalog-hero{grid-template-columns:110px minmax(0,1fr)}.catalog-stats{border:0 solid #ffffff1a;border-top-width:1px;grid-column:1/-1;grid-template-rows:none;grid-template-columns:1fr 1fr}.catalog-stats div{border:0;border-right:1px solid #ffffff1a;padding:22px 30px}.catalog-stats div:last-child{border-right:0}.hero{grid-template-columns:70px 1fr}.score-block{border:0 solid #ffffff1c;border-top-width:1px;grid-column:1/-1;justify-content:flex-end;min-width:0;padding:22px 28px}.score-ring{width:64px}.score-ring>span{font-size:19px}.workspace-grid{grid-template-columns:1fr}.course-map{position:static}.course-map__sections{grid-template-columns:repeat(3,1fr);display:grid}.nav-section{border-right:1px solid var(--line)}.nav-section:last-child{border-right:0}.review-panel{justify-content:space-between;align-items:center;gap:22px;display:flex}.review-panel button{width:auto;min-width:128px;margin-top:0}}@media (max-width:640px){.site-header,.hero,.workspace-grid,.catalog-hero,.catalog-weeks,.site-footer{width:min(100% - 24px,1240px)}.site-header{height:auto;min-height:68px;padding-block:10px}.brand{flex:0 auto}.brand small,.catalog-back{display:none}.header-actions{gap:6px;min-width:0;margin-left:auto}.account-control--loading{width:40px;height:40px}.account-login{min-height:40px;padding-inline:9px}.account-login__arrow,.account-trigger__copy,.account-trigger__chevron{display:none}.account-trigger{min-width:40px;min-height:40px;padding:0 7px}.account-avatar{width:24px;height:24px}.account-menu{width:min(280px,100% - 24px);position:fixed;top:64px;right:12px}.page-back{min-height:40px;padding-inline:10px}.header-meta span{display:none}.header-meta span:first-child{display:block}.hero{grid-template-columns:42px 1fr;min-height:0;margin-bottom:12px}.hero:after{display:none}.week-rail strong{font-size:30px}.week-rail span{font-size:11px}.hero-copy{padding:24px 18px 22px}.eyebrow{display:none}.hero h1{font-size:clamp(28px,9vw,34px)}.hero h1 span{margin-bottom:5px;font-size:12px}.hero-copy>p:not(.eyebrow){font-size:12px;line-height:1.7}.hero-tags{gap:5px;margin-top:16px}.hero-tags span{padding:5px 8px;font-size:10px}.score-block{justify-content:space-between;padding:13px 18px}.score-ring{width:54px}.score-block>div:last-child{order:-1}.course-map__heading{gap:10px;padding:15px 14px}.course-map__actions{gap:7px}.course-map__heading button{min-height:36px}.course-map__sections{display:block}.nav-section{border-right:0;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:10px;padding:11px 13px;display:grid}.nav-section__label{display:block}.nav-section__label span{margin-bottom:3px;font-size:8px;display:block}.nav-section__label strong{font-size:13px}.question-dots{margin-top:0}.question-dots button{min-height:40px}.review-panel{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px;display:grid}.review-panel button{min-width:98px;min-height:42px}.question-stage__bar{padding:0 16px}.instruction{padding:15px 16px;font-size:12px}.reading-passage--question{padding:18px 12px 18px 38px}.reading-passage--question:after{inset:8px}.reading-passage--question .reading-passage__paper{padding:22px 16px}.reading-passage__label{width:28px;font-size:8px;top:8px;bottom:8px}.reading-passage h2{letter-spacing:.03em;font-size:18px}.reading-passage--notice h2{font-size:17px}.reading-passage__body{font-size:14px;line-height:2}.reading-passage--notice .reading-passage__body{padding-inline:0;font-size:13px}.reading-passage__intro{margin-bottom:16px;font-size:13px}.notice-letter__date{margin-bottom:14px;font-size:11px}.notice-letter__parties{gap:10px;font-size:11px;line-height:1.75}.notice-letter__parties>div:last-child{min-width:0}.notice-letter>h2{margin:26px -4px 20px}.notice-letter__body{font-size:12px;line-height:2}.notice-letter__body p{margin-bottom:13px}.notice-letter__record h3{margin-bottom:15px;font-size:13px}.notice-letter__record dl{gap:10px}.notice-letter__record dt,.notice-letter__record dd,.notice-letter__record>p{font-size:11px}.information-sheet>h2{font-size:17px}.information-table{min-width:560px;font-size:10px}.information-table th,.information-table td{padding:7px 6px}.question-card{padding:30px 18px}.question-card h2{overflow-wrap:anywhere;font-size:20px;line-height:2.15}.question-title-row{display:block}.question-title-row>.audio-button{width:100%;min-height:44px;margin-top:14px}.option-list,.related-knowledge__grid{grid-template-columns:1fr}.option-list{margin-top:28px}.option-card{grid-template-columns:34px minmax(0,1fr) 20px;gap:10px;min-height:68px;padding:13px;font-size:17px}.feedback__verdict{grid-template-columns:1fr}.feedback__verdict>span{min-height:48px}.feedback__verdict>div{padding:19px 18px}.analysis-heading{padding:24px 18px 8px}.knowledge-chain{padding:12px 18px 20px}.knowledge-card{padding:16px}.knowledge-card__top{grid-template-columns:auto minmax(0,1fr) auto}.pager{z-index:5;padding:10px 0 calc(10px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f3f6fcf5;gap:8px;position:sticky;bottom:0}.pager button{min-height:46px;padding:0 10px}.confirm-panel{padding:27px 21px 22px}.confirm-panel__actions{grid-template-columns:1fr}.dialog-button{min-height:48px}.catalog-hero{grid-template-columns:58px minmax(0,1fr);min-height:0;margin-bottom:24px}.catalog-hero__level{gap:12px}.catalog-hero__level strong{font-size:34px}.catalog-hero__level span{font-size:8px}.catalog-hero__copy{padding:30px 21px}.catalog-hero__copy .eyebrow{margin-bottom:12px;font-size:8px;display:block}.catalog-hero h1{font-size:34px}.catalog-hero__copy>p:last-child{margin-top:16px;font-size:12px;line-height:1.75}.catalog-stats div{padding:15px 20px}.catalog-stats dd{font-size:28px}.catalog-week__heading{align-items:flex-start}.catalog-week__heading h2{font-size:22px}.catalog-week__heading a{text-align:right;max-width:110px;line-height:1.5}.day-grid{grid-template-columns:1fr}.day-card{grid-template-columns:66px minmax(0,1fr) 36px;min-height:158px}.day-card__number strong{font-size:27px}.day-card__body{padding:21px 18px}.day-card h3{font-size:19px}.day-card__meta{margin-top:14px}.login-page{grid-template-columns:1fr;width:min(100% - 24px,980px);padding:20px 0}.login-card{min-height:calc(100vh - 40px);padding:32px 22px}.login-card__eyebrow{margin-top:48px}.login-aside{display:none}.site-footer{display:block}.site-footer__meta{margin-top:6px;display:block}.site-footer__meta p+p{margin-top:6px}}@media (max-width:360px){.site-header,.hero,.workspace-grid,.catalog-hero,.catalog-weeks,.site-footer{width:min(100% - 16px,1240px)}.brand{gap:8px}.brand small{display:none}.header-actions{gap:5px}.page-back{padding-inline:8px}.course-map__heading{grid-template-columns:1fr}.course-map__actions{justify-content:space-between;width:100%}.nav-section{grid-template-columns:78px minmax(0,1fr);padding-inline:10px}.question-dots{gap:4px}.question-dots button{min-height:36px}.review-panel{grid-template-columns:1fr}.review-panel button{width:100%}.pager button{padding-inline:8px;font-size:10px}.day-card{grid-template-columns:58px minmax(0,1fr)}.day-card__arrow{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
