@charset "UTF-8";
:root{--bordeaux:#a61f2a;--ink:#111;--line:#e7e4e4;--rose:#fcf2f3;--paper:#fff;--soft:#faf8f8;--muted:#111}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:#111;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;-webkit-font-smoothing:antialiased;letter-spacing:.015em}a{color:inherit;text-underline-offset:5px}button,input{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--bordeaux);outline-offset:4px}h1,h2,h3,p{overflow-wrap:anywhere}.mobile-break{display:none}
.top{height:80px;max-width:1440px;margin:auto;padding:0 40px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;gap:14px;text-decoration:none}.brand img{width:203px;height:auto;display:block}.brand span{font-size:10px;letter-spacing:.18em;border-left:1px solid #111;padding-left:14px}.nav{display:flex;gap:26px;font-size:13px}.nav a{text-decoration:none;padding:12px 0}.nav a.current{font-weight:700;text-decoration:underline;text-decoration-color:var(--bordeaux);text-decoration-thickness:2px}.header-rule{border-bottom:1px solid var(--line)}
main{max-width:1080px;padding:0 40px;margin:auto}.catalog-main{max-width:1440px}.catalog-hero{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:23px 4px 18px}.catalog-kicker{font-size:11px;font-weight:650;margin:0 0 8px;letter-spacing:.08em}.catalog-hero h1{font-size:30px;line-height:1.5;letter-spacing:.025em;margin:0;font-weight:800}.catalog-lead{font-size:14px;margin:10px 0 0;line-height:1.8}.catalog-companion{width:106px;height:auto;margin:0 14px 0 0}.catalog-intro{margin:5px 0 27px}.catalog-intro h2{font-size:17px;line-height:1.6;margin:0;font-weight:700}
.subject-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}.catalog-subject{position:relative;min-width:0;border:2px solid #111;border-radius:22px;box-shadow:3px 4px 0 #111;padding:10px 13px 9px;background:#fff}.subject-bar{position:relative;margin:-27px 0 7px 4px;width:fit-content;background:#fff;padding:0 9px}.subject-bar h2{font-size:23px;font-weight:800;line-height:1.5;margin:0;letter-spacing:.02em}.catalog-grid{list-style:none;padding:0;margin:0}.chapter-row{display:flex;align-items:center;justify-content:space-between;gap:9px;min-height:49px;padding:9px 1px;border-bottom:1px solid var(--line)}.chapter-row:last-child{border:0}.chapter-title{display:flex;align-items:baseline;gap:8px;min-width:0}.chapter-number{font-size:10px;letter-spacing:0;font-weight:600;flex:0 0 15px;font-variant-numeric:tabular-nums}.chapter-title h3{font-size:14px;font-weight:500;line-height:1.65;margin:0;letter-spacing:0}.levels{display:flex;gap:6px;flex-shrink:0}.level-link{display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:12px;font-weight:600;white-space:nowrap;min-width:43px;min-height:31px;border:1px solid #111;border-radius:10px;padding:2px 7px;background:#fff;color:#111}.level-link:first-child{background:var(--rose)}.level-link:hover{background:var(--bordeaux);color:#fff;border-color:var(--bordeaux)}
.footer{max-width:1000px;margin:40px auto 0;border-top:1px solid var(--line);padding:22px 0 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;line-height:1.7}.footer .parent{display:flex;align-items:center}.footer img.wordmark{display:block;width:126px;height:auto}.catalog-footer{max-width:1360px;margin:35px 40px 0}.catalog-footer p{margin:0;font-size:12px}
.context{font-size:12px;margin:27px 0 0;line-height:1.8}.context span{margin:0 9px}.hero{display:grid;grid-template-columns:1fr 180px;align-items:center;gap:30px;padding-top:25px}.eyebrow{font-size:12px;font-weight:650;margin:0 0 10px}.hero h1{font-size:34px;font-weight:800;line-height:1.5;margin:0}.hero .lead{font-size:14px;line-height:1.9;margin:14px 0 0}.companion{text-align:center}.companion img{width:118px;height:auto;display:block;margin:auto}.companion p{font-size:12px;line-height:1.8;margin:10px 0 0}.result{display:flex;align-items:baseline;gap:11px;margin:22px 0}.result .label{font-size:13px;margin-right:6px}.result .number{font-size:43px;font-weight:800;letter-spacing:-.03em;color:var(--bordeaux);line-height:1.2}.result .out-of{font-size:19px;font-weight:650}.result .unit{font-size:12px}.reflection{position:relative;border:2px solid #111;border-radius:20px;box-shadow:3px 4px 0 #111;padding:23px 25px;margin:32px 0 0}.reflection .caption{position:absolute;top:-14px;left:17px;padding:0 8px;background:#fff;font-size:13px;font-weight:700;margin:0}.reflection .insight{font-size:18px;line-height:1.9;font-weight:600;margin:0}.reflection .next{font-size:14px;line-height:1.9;margin:9px 0 0}.actions{display:flex;align-items:center;gap:25px;margin-top:25px}.primary{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:48px;border:2px solid #111;box-shadow:2px 3px 0 #111;border-radius:13px;padding:10px 20px;font-size:14px;font-weight:650;background:var(--bordeaux);color:#fff;text-decoration:none;cursor:pointer}.primary:hover{background:#871925}.textlink{font-size:13px;line-height:1.8;text-decoration:none;border-bottom:1px solid #111}.details{font-size:13px;margin-top:24px}.details summary,.review summary{cursor:pointer;width:fit-content;line-height:1.9}.scores{list-style:none;padding:0;margin:12px 0 0;max-width:520px}.scores li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);gap:20px}.scores strong{font-weight:600}.learning{margin-top:38px;border-top:1px solid var(--line);padding-top:29px}.learning h2{font-size:25px;font-weight:750;line-height:1.6;margin:0}.learning .intro{font-size:14px;line-height:1.9;margin:10px 0 21px}.course{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.banner{margin:0}.banner a{display:block}.banner img{display:block;width:100%;height:auto;object-fit:contain;aspect-ratio:16/9}.course h3{font-size:21px;font-weight:750;line-height:1.65;margin:0 0 14px}.reason-label{font-size:12px;font-weight:700;margin:0 0 8px}.reason{font-size:14px;line-height:1.9;margin:0}.session{font-size:12px;line-height:1.8;margin:13px 0}.course-link{display:inline-block;font-size:14px;font-weight:700;color:var(--bordeaux);text-decoration:none;border-bottom:1px solid var(--bordeaux);padding-bottom:5px}.more{display:flex;justify-content:flex-end;margin-top:20px}.more .textlink{font-size:12px}.review{margin:30px 0 0;padding:22px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.9;scroll-margin-top:25px}.review h2{font-size:19px}
.quiz-main{max-width:860px}.quiz-heading{font-size:29px;line-height:1.6;font-weight:800;margin:25px 0 0}.progress-row{display:flex;justify-content:space-between;gap:20px;font-size:12px;margin-top:17px}.progress-row strong{font-weight:700}.progress{height:6px;border:1px solid #111;border-radius:4px;margin-top:12px;background:#fff;overflow:hidden}.progress:before{content:'';display:block;width:50%;height:100%;background:var(--bordeaux)}.question{font-size:17px;line-height:2;margin:29px 0 24px}.options{display:grid;gap:12px}.option{display:flex;align-items:center;gap:14px;min-height:57px;padding:13px 18px;border:1.5px solid #111;border-radius:14px;font-size:15px;cursor:pointer}.option:has(input:checked){background:var(--rose);border:2px solid var(--bordeaux);box-shadow:2px 3px 0 #111}.option input{width:18px;height:18px;accent-color:var(--bordeaux);margin:0}.option .letter{font-size:12px}.quiz-bottom{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:27px}.reassurance{display:flex;align-items:center;gap:13px}.reassurance img{width:62px;height:auto}.reassurance p{font-size:12px;line-height:1.9;margin:0}
@media(min-width:1101px) and (max-width:1240px){.top,.catalog-main{padding-left:26px;padding-right:26px}.subject-columns{gap:16px}.catalog-subject{padding-left:10px;padding-right:10px}.chapter-title{gap:5px}.chapter-row{gap:5px}.level-link{min-width:39px;padding:2px 5px}.levels{gap:4px}}
@media(min-width:761px) and (max-width:1100px){.subject-columns{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:39px}.catalog-companion{width:98px}.catalog-hero h1{font-size:27px}}
@media(min-width:1440px){.catalog-footer{margin-left:auto;margin-right:auto}}
@media(max-width:760px){
.top{height:69px;padding:0 20px;gap:15px}.brand{gap:9px}.brand img{width:157px}.brand span{font-size:8px;padding-left:9px}.nav{font-size:12px;gap:0}.nav .secondary{display:none}main{padding:0 22px}.catalog-main{padding:0 19px}.catalog-hero{padding:22px 0 18px;gap:10px}.catalog-kicker{font-size:10px;margin-bottom:7px}.catalog-hero h1{font-size:23px;line-height:1.6;letter-spacing:0}.catalog-lead{font-size:12px;line-height:1.7;margin-top:9px}.catalog-companion{width:65px;margin:20px 0 0}.mobile-break{display:block}.catalog-intro{margin:0 0 27px}.catalog-intro h2{font-size:15px}.subject-columns{grid-template-columns:1fr;gap:34px}.catalog-subject{border-radius:19px;padding:8px 11px 5px;box-shadow:3px 4px 0 #111}.subject-bar{margin:-24px 0 3px 2px;padding:0 8px}.subject-bar h2{font-size:22px}.chapter-row{min-height:54px;padding:4px 0;gap:6px}.chapter-title{gap:6px}.chapter-title h3{font-size:14px;line-height:1.6}.chapter-number{font-size:10px;flex-basis:14px}.level-link{min-width:44px;min-height:44px;padding:3px 5px;border-radius:11px;font-size:12px}.levels{gap:5px}.catalog-footer{margin:29px 20px 0;padding:20px 0;align-items:center}.catalog-footer p{font-size:10px;max-width:150px}.footer{margin:30px 22px 0;padding:20px 0}.footer img.wordmark{width:111px}
.context{font-size:11px;margin-top:21px}.context span{margin:0 6px}.hero{padding-top:24px;grid-template-columns:1fr 75px;gap:10px}.hero h1{font-size:27px;line-height:1.55}.eyebrow{font-size:11px}.hero .lead{font-size:14px;line-height:1.8}.companion img{width:75px}.companion p{display:none}.result{gap:8px;margin:23px 0}.result .label{font-size:12px}.result .number{font-size:38px}.result .out-of{font-size:18px}.reflection{padding:22px 17px 18px;border-radius:17px}.reflection .caption{font-size:12px;left:10px;top:-13px}.reflection .insight{font-size:16px;line-height:1.9}.reflection .next{font-size:14px}.actions{flex-direction:column;align-items:stretch;gap:17px;margin-top:23px}.primary{font-size:13px;min-height:49px;padding:11px 14px;gap:12px}.actions .textlink{align-self:center;font-size:13px}.details{font-size:13px;margin-top:23px}.learning{margin-top:31px;padding-top:24px}.learning h2{font-size:23px}.learning .intro{font-size:14px}.course{grid-template-columns:1fr;gap:23px}.course h3{font-size:21px}.reason{font-size:14px}.reason-label,.session{font-size:12px}.more{justify-content:flex-start}.review{font-size:14px}.quiz-heading{font-size:26px;margin-top:24px}.question{font-size:16px;line-height:1.95;margin:26px 0 23px}.progress-row{font-size:12px}.option{font-size:15px;padding:13px 15px;gap:12px}.quiz-bottom{flex-direction:column;align-items:stretch;gap:20px;margin-top:25px}.reassurance img{width:55px}.reassurance p{font-size:12px}}
@media(max-width:359px){.catalog-main{padding:0 14px}.catalog-hero h1{font-size:21px}.catalog-companion{width:52px}.catalog-lead{font-size:11px}.catalog-subject{padding-left:9px;padding-right:9px}.chapter-title{gap:4px}.chapter-number{flex-basis:13px}.levels{gap:4px}.hero{grid-template-columns:1fr 54px}.companion img{width:54px}.hero h1{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Hero identity: prominent original logo, supervision and one supportive line. */
.catalog-page .header-rule{border-bottom:0}.catalog-page .top{height:48px;justify-content:flex-end}
.catalog-hero{padding:13px 4px 38px;gap:35px;min-height:242px}
.supervision{display:inline-block;margin:0 0 18px;padding:7px 14px;border:1.5px solid var(--bordeaux);border-radius:8px;color:var(--bordeaux);font-size:14px;font-weight:750;line-height:1.5;letter-spacing:.08em;background:#fff}
.catalog-hero .quiz-lockup{display:flex;align-items:center;gap:19px;margin:0;line-height:1.2;white-space:nowrap}
.quiz-lockup img{width:365px;height:auto;display:block}.quiz-lockup span{font-size:35px;font-weight:800;letter-spacing:.02em}
.catalog-tagline{font-size:22px;font-weight:650;line-height:1.65;margin:20px 0 0;letter-spacing:.02em}
.catalog-hero .catalog-companion{width:182px;height:auto;margin:0 23px 0 0;flex-shrink:0}
@media(min-width:761px) and (max-width:1100px){.quiz-lockup img{width:290px}.quiz-lockup span{font-size:29px}.catalog-hero .catalog-companion{width:149px;margin-right:0}.catalog-tagline{font-size:20px}}
@media(max-width:760px){
.catalog-page .top{height:43px;padding:0 21px}.catalog-hero{position:relative;display:block;padding:7px 0 42px;min-height:255px}
.supervision{font-size:13px;padding:6px 11px;margin-bottom:17px;border-radius:7px}
.catalog-hero .quiz-lockup{gap:10px}.quiz-lockup img{width:220px;max-width:calc(100% - 78px)}.quiz-lockup span{font-size:26px}
.catalog-tagline{font-size:17px;line-height:1.8;margin-top:20px;max-width:205px}
.catalog-hero .catalog-companion{position:absolute;width:111px;right:0;bottom:24px;margin:0}
}
@media(max-width:359px){.quiz-lockup img{width:192px;max-width:calc(100% - 70px)}.quiz-lockup span{font-size:23px}.catalog-hero .quiz-lockup{gap:8px}.catalog-tagline{font-size:15px;max-width:170px}.catalog-hero .catalog-companion{width:93px;bottom:30px}.catalog-hero{min-height:247px}}
/* Connected preview: quiz, feedback, review and browser-local learning record. */
.flow-main{min-height:52vh}.loading{padding:70px 0;font-size:16px}.flow-main h1:focus{outline:none}.start-screen{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:35px 0 28px}.start-screen h1{font-size:32px;line-height:1.6;margin:0;font-weight:800}.start-screen img{width:126px;height:auto;flex-shrink:0}.start-meta{display:flex;gap:15px;margin-top:16px;font-size:13px}.start-meta span+span{border-left:1px solid #111;padding-left:15px}.outline-note{position:relative;margin:38px 0 27px;border:2px solid #111;border-radius:18px;box-shadow:3px 4px 0 #111;padding:24px}.outline-note h2{position:absolute;top:-15px;left:15px;background:#fff;padding:0 9px;margin:0;font-size:16px;font-weight:750}.outline-note p{font-size:16px;line-height:1.9;margin:0}.resume-note,.last-score{font-size:14px;line-height:1.8}.storage-notice,.inline-error{font-size:13px;line-height:1.8;color:#111}.storage-notice{padding:15px;border:1px solid var(--bordeaux);border-radius:10px;margin-top:22px}.inline-error:empty{display:none}.primary:disabled{background:#f3eded;color:#111;box-shadow:none;border-color:#b6a9ad;cursor:not-allowed}.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 15px;border:1px solid #111;border-radius:11px;color:#111;background:#fff;text-decoration:none;font-size:13px;line-height:1.5;cursor:pointer}.secondary-button:hover{background:var(--rose)}.real-progress{width:100%;display:block;height:7px;margin-top:12px;border:1px solid #111;border-radius:5px;overflow:hidden;background:#fff;appearance:none}.real-progress::-webkit-progress-bar{background:#fff}.real-progress::-webkit-progress-value{background:var(--bordeaux)}.real-progress::-moz-progress-bar{background:var(--bordeaux)}.question-block{border:0;padding:0;margin:0;min-inline-size:0;width:100%}.question-block .question{float:left;width:100%;padding:0;white-space:pre-line}.question-block .options{clear:both}.question-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.question-jumps{display:flex;gap:7px;flex-wrap:wrap;margin-top:27px}.jump{width:36px;min-height:36px;border:1px solid #c0b4b7;background:#fff;border-radius:9px;font-size:12px;color:#111;cursor:pointer}.jump.answered{background:#f4e3e7;border-color:#111}.jump.active{box-shadow:0 0 0 2px #111;font-weight:750}.jump:hover{border-color:var(--bordeaux)}.sample-label{font-size:12px;width:fit-content;padding:6px 11px;background:#f4eded;border-radius:7px;margin-top:18px}.score-strip{display:flex;align-items:baseline;gap:22px;margin:24px 0}.score-strip>div{display:flex;align-items:baseline;gap:8px}.score-strip strong{font-size:55px;font-weight:800;color:var(--bordeaux);line-height:1.2;letter-spacing:-.04em}.score-strip p{font-size:16px;margin:0}.score-strip>div span,.score-level{font-size:12px}.score-level{border:1px solid #111;border-radius:7px;padding:4px 8px}.feedback-title{font-size:20px;line-height:1.7;margin:0 0 10px}.feedback-body{font-size:15px;line-height:1.9;margin:0}.feedback-topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:19px}.feedback-topics:has(>div:only-child){grid-template-columns:1fr}.feedback-topics h3{font-size:13px;margin:0 0 9px}.feedback-topics ul{padding-left:18px;margin:0;font-size:14px;line-height:1.9}.answer-review{margin-top:40px;scroll-margin-top:25px}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}.section-heading h2{font-size:21px;margin:0}.review-filters{display:flex;gap:7px}.filter-button{border:1px solid #111;background:#fff;color:#111;border-radius:9px;padding:8px 11px;min-height:40px;font-size:12px;cursor:pointer}.filter-button.active{background:#111;color:#fff}.answer-item{border-top:1px solid var(--line)}.answer-item:last-child{border-bottom:1px solid var(--line)}.answer-item>summary{cursor:pointer;display:flex;align-items:center;gap:13px;min-height:60px;list-style:none;font-size:14px;line-height:1.7;padding:12px 1px}.answer-item>summary::-webkit-details-marker{display:none}.answer-item>summary::after{content:'＋';font-size:19px;margin-left:4px}.answer-item[open]>summary::after{content:'−'}.answer-number{font-size:11px;min-width:20px}.answer-status{font-size:11px;border-radius:6px;padding:3px 8px;margin-left:auto;white-space:nowrap}.answer-status.correct{background:#eaf2ed;color:#111}.answer-status.incorrect{background:#faecee;color:#111}.answer-detail{font-size:14px;line-height:1.95;padding:6px 27px 24px}.review-stem{font-size:15px;white-space:pre-line;margin-top:0}.answer-detail h3{font-size:13px;margin:18px 0 6px}.answer-detail p{margin:8px 0}.your-answer,.correct-answer{padding:10px 13px;background:#faf6f7;border-radius:9px}.your-answer strong,.correct-answer strong{display:block;font-size:11px;margin-bottom:4px}.other-explanations{margin-top:17px}.other-explanations summary{cursor:pointer;font-size:12px;min-height:35px}.other-explanations p{font-size:13px}.all-correct{font-size:14px;padding:24px 0}.result-main .learning h2{margin-bottom:23px}.result-main .course{gap:28px}.end-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:27px;margin-top:32px}.empty-state{padding:65px 0;text-align:center}.empty-state h1,.empty-state h2{font-size:25px;line-height:1.7}.empty-state p{font-size:15px;line-height:1.9;margin:15px 0 25px}.history-main{max-width:1200px}.history-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:32px 0}.history-heading h1{font-size:32px;line-height:1.6;margin:0}.history-heading p:last-child{font-size:13px;margin:12px 0 0}.history-heading img{width:100px;height:auto}.history-overview{display:flex;gap:40px;margin:25px 0 42px}.history-overview>div{display:flex;align-items:baseline;gap:10px}.history-overview strong{font-size:35px;color:var(--bordeaux);line-height:1.2}.history-overview span{font-size:13px}.history-subjects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.history-card{position:relative;border:2px solid #111;border-radius:18px;box-shadow:3px 4px 0 #111;padding:24px 20px 19px}.history-card h2{font-size:20px;position:absolute;top:-18px;left:13px;background:white;padding:0 8px;margin:0}.level-stat+.level-stat{margin-top:20px}.level-stat>div{display:flex;justify-content:space-between;font-size:13px}.level-stat p{font-size:11px;line-height:1.8;margin:7px 0 0}.level-stat meter{width:100%;height:12px;margin-top:8px;display:block}.level-stat meter::-webkit-meter-bar{background:#f3edef;border:0}.level-stat meter::-webkit-meter-optimum-value{background:var(--bordeaux)}.history-method{font-size:12px;line-height:1.8;margin:22px 0 35px}.attempt-section h2{font-size:22px;margin:0 0 15px}.attempt-row{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:17px 0;text-decoration:none}.attempt-row:hover{background:#fdf9fa}.attempt-subject,.attempt-row time{font-size:11px}.attempt-row h3{font-size:16px;line-height:1.8;font-weight:650;margin:5px 0}.attempt-score{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0}.attempt-score strong{font-size:26px;line-height:1.2;color:var(--bordeaux)}.attempt-score small{font-size:11px;margin-left:5px}.attempt-score>span{font-size:11px}
@media(max-width:760px){.nav{gap:18px}.catalog-page .nav{gap:22px}.brand img{width:139px}.brand span{font-size:9px;letter-spacing:0}.top{padding:0 17px;gap:13px}.nav{font-size:11px;white-space:nowrap}.start-screen{margin-top:27px;gap:15px}.start-screen h1{font-size:26px}.start-screen img{width:79px}.start-meta{font-size:12px;gap:10px}.start-meta span+span{padding-left:10px}.outline-note{padding:23px 17px;margin-top:31px}.outline-note p{font-size:15px}.outline-note h2{font-size:14px;top:-13px}.question-actions{justify-content:flex-end}.question-actions .primary{flex:1}.question-jumps{gap:6px}.jump{width:calc((100% - 24px)/5);min-height:44px}.score-strip{gap:15px;flex-wrap:wrap}.score-strip strong{font-size:48px}.score-strip p{font-size:14px}.feedback-title{font-size:18px}.feedback-body{font-size:14px}.feedback-topics{grid-template-columns:1fr;gap:18px}.feedback-topics ul{font-size:14px}.section-heading{align-items:flex-start;flex-direction:column;gap:15px}.section-heading h2{font-size:20px}.filter-button{min-height:44px}.answer-item>summary{gap:9px;font-size:14px}.answer-detail{padding:6px 3px 23px}.review-stem{font-size:15px}.answer-item>summary::after{font-size:17px}.answer-number{min-width:15px}.end-actions{gap:18px;align-items:stretch;flex-direction:column}.end-actions .textlink{align-self:center}.history-heading{gap:10px;margin-top:28px}.history-heading h1{font-size:25px}.history-heading img{width:73px}.history-overview{gap:20px;justify-content:space-between;margin-bottom:38px}.history-overview>div{display:block}.history-overview strong{font-size:31px;display:block}.history-overview span{font-size:11px;display:block;margin-top:8px}.history-subjects{grid-template-columns:1fr;gap:33px}.history-card{padding:23px 18px 20px}.level-stat p{font-size:12px}.history-method{font-size:11px}.attempt-row h3{font-size:15px}.attempt-score strong{font-size:24px}.empty-state h1,.empty-state h2{font-size:22px}.empty-state p{font-size:14px}}
@media(max-width:359px){.brand img{width:116px}.brand{gap:6px}.brand span{padding-left:6px;font-size:8px}.nav{gap:12px;font-size:10px}.top{padding:0 14px}.score-strip{gap:12px}}
.option input{flex-shrink:0}.option .letter{flex-shrink:0}
/* Gentle learning: resume, search, generous targets and expanded explanations. */
[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.connection-status{margin:0;font-size:11px;line-height:1.7;max-width:320px;color:#111}.nav{align-items:center}.nav a{white-space:nowrap}
.continue-learning{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;background:var(--rose);border:1.5px solid #111;border-radius:16px;margin:0 0 25px}.continue-learning p{font-size:12px;margin:0 0 8px}.continue-learning strong{font-size:16px;line-height:1.65}.continue-learning strong span{font-size:12px;margin-left:12px}.continue-learning .primary{white-space:nowrap}
.catalog-search{max-width:540px;margin:0 0 36px}.catalog-search label{display:block;font-size:13px;font-weight:650;margin-bottom:9px}.search-input{position:relative;display:flex;align-items:center}.search-input input{display:block;width:100%;height:48px;border:1.5px solid #111;border-radius:13px;background:#fff;color:#111;padding:10px 80px 10px 15px;font-size:15px}.search-input input::placeholder{color:#111;opacity:1}.search-input input::-webkit-search-cancel-button{-webkit-appearance:none}.search-input button{position:absolute;right:7px;background:#fff;border:0;border-radius:8px;min-height:40px;padding:0 10px;font-size:12px;cursor:pointer}.catalog-search #search-status{font-size:12px;line-height:1.7;margin:9px 0 0}.catalog-search #search-status:empty{display:none}
.quiz-topline{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:23px}.quiz-topline .quiz-heading{margin:0;font-size:26px}.pause-button{border:1px solid #111;background:#fff;color:#111;border-radius:10px;min-height:44px;padding:9px 12px;font-size:12px;white-space:nowrap;cursor:pointer}.pause-button:hover,.quiet-button:hover{background:var(--rose)}.gentle-note{font-size:13px;line-height:1.8;margin-top:21px}.resume-hint{padding:10px 13px;border-left:3px solid var(--bordeaux);background:var(--rose);font-size:12px;line-height:1.8;margin:19px 0 0}.question-paragraphs p{white-space:pre-wrap;margin:0 0 15px}.question-paragraphs p:last-child{margin-bottom:0}.question-paragraphs{line-height:1.95}.question-block .question{float:none;width:100%;margin:27px 0 24px}.option{min-height:64px;line-height:1.8;align-items:flex-start}.option input{margin-top:4px}.option .letter{margin-top:1px;line-height:1.8;min-width:14px}.option>span:last-child{min-width:0}.question-subactions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:18px 0 13px;font-size:11px}.quiet-button{min-height:44px;border:0;border-bottom:1px solid #111;background:#fff;color:#111;font-size:13px;padding:6px 1px;cursor:pointer}.question-jumps{margin-top:14px}.jump{position:relative;min-height:44px}.jump.skipped{border:1px dashed var(--bordeaux);padding-bottom:12px}.jump-mark{position:absolute;font-size:8px;bottom:3px;left:0;width:100%;line-height:1}.secondary-button:disabled{background:#f5f2f2;color:#111;cursor:default}.pending-list{display:grid;gap:12px;margin:28px 0;max-width:560px}.pending-list button{justify-content:flex-start;text-align:left}.quiz-active .footer{margin-top:35px}
.feedback-body+.feedback-body{margin-top:15px}.feedback-body{font-size:15px;line-height:1.95}.growth-note{margin-top:25px;padding:20px 23px;border-left:4px solid var(--bordeaux);background:var(--rose);border-radius:0 12px 12px 0}.growth-note h2{font-size:15px;margin:0 0 8px}.growth-note p{font-size:14px;line-height:1.9;margin:0}.review-jumps{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0 30px}.review-jumps a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #111;border-radius:9px;text-decoration:none;font-size:13px}.expanded-answer{scroll-margin-top:22px;border-top:1px solid var(--line);padding:27px 0 30px}.answer-heading{display:flex;align-items:center;gap:14px;margin-bottom:18px}.answer-heading h2,.answer-heading h3{display:flex;align-items:baseline;gap:12px;font-size:17px;line-height:1.75;flex:1;margin:0}.answer-heading .answer-number{font-size:12px;flex-shrink:0}.bookmark-button{border:1px solid #111;border-radius:9px;background:#fff;color:#111;padding:8px 12px;min-height:42px;white-space:nowrap;font-size:12px;cursor:pointer}.bookmark-button.saved{background:var(--rose);border-color:var(--bordeaux)}.expanded-answer .answer-detail{padding:0}.expanded-answer .review-stem{font-size:16px;line-height:1.9;margin-bottom:22px}.answer-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.answer-pair p{margin:0;line-height:1.85}.answer-pair strong{display:block;margin-bottom:8px;font-size:12px}.key-point{margin:25px 0;padding:18px 20px;background:#fcf2f3;border-radius:12px;border-left:3px solid var(--bordeaux)}.key-point h3{font-size:13px;margin:0 0 8px}.key-point p{font-size:15px;line-height:1.9;margin:0}.wrong-options>h3{font-size:14px;margin:22px 0 14px}.option-explanation{padding:14px 0;border-top:1px solid var(--line)}.option-explanation h4{font-size:14px;font-weight:650;line-height:1.85;margin:0 0 6px}.option-explanation p{font-size:14px;line-height:1.9;margin:0}.learning{scroll-margin-top:20px}.result-main .actions{flex-wrap:wrap}.history-shortcuts,.saved-links{display:flex;align-items:center;gap:24px;margin:22px 0 34px}.page-heading{margin:35px 0 0}.page-heading h1{font-size:30px;margin:0 0 12px}.page-heading>p:last-child{font-size:14px;line-height:1.8}.saved-list .context{margin:0 0 13px}.saved-list .answer-heading h2{font-size:19px}
.account-main{max-width:760px}.account-form-panel{display:grid;gap:15px;margin:30px 0}.account-form-panel form{display:grid;gap:14px}.account-form-panel label{font-size:14px;font-weight:650}.account-form-panel input{min-height:49px;width:100%;padding:12px 14px;border:1.5px solid #111;border-radius:12px;font-size:16px;color:#111;background:#fff}.account-form-panel input::placeholder{color:#111;opacity:1}.account-import{margin:32px 0;padding:20px;border:1px solid #111;border-radius:14px}.account-import p{font-size:14px;line-height:1.9}.account-signout{border:0;border-bottom:1px solid #111;padding:10px 0;background:#fff;color:#111;cursor:pointer}.account-main p{line-height:1.9}.account-main .storage-notice{border-color:#111}
@media(max-width:760px){
 .top{height:auto;min-height:70px;padding:12px 17px;flex-wrap:wrap;gap:10px}.top .nav{margin-left:auto;gap:14px;font-size:11px}.catalog-page .top{height:auto;min-height:43px;padding:3px 21px}.brand img{width:133px}.brand span{font-size:9px}.brand{gap:9px}.continue-learning{padding:16px;gap:14px;align-items:stretch;flex-direction:column;margin-top:-8px;margin-bottom:24px}.continue-learning .primary{align-self:flex-start;min-height:45px}.continue-learning strong{font-size:15px}.catalog-search{margin-bottom:34px}.catalog-search input{font-size:16px}.quiz-topline{gap:12px;align-items:flex-start;margin-top:22px}.quiz-topline .quiz-heading{font-size:23px;line-height:1.6}.pause-button{font-size:11px;padding:9px;min-height:42px}.question-block .question{font-size:16px;line-height:1.95;margin-top:24px}.question-subactions{font-size:11px}.question-jumps{margin-bottom:20px}.quiz-active main{padding-bottom:110px}.quiz-active .quiz-bottom{position:fixed;bottom:0;left:0;right:0;margin:0;display:block;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #111;z-index:15;box-shadow:0 -4px 15px #00000008}.quiz-active .quiz-bottom .reassurance{display:none}.quiz-active .question-actions{display:flex;gap:12px}.quiz-active .question-actions .primary{flex:1}.quiz-active .question-actions .secondary-button{min-width:67px}.quiz-active .footer{padding-bottom:110px}.feedback-body{font-size:14px;line-height:1.95}.growth-note{padding:17px}.review-jumps{gap:7px}.review-jumps a{width:calc((100% - 28px)/5);height:44px}.answer-heading{flex-wrap:wrap;gap:10px}.answer-heading h2,.answer-heading h3{font-size:15px;min-width:calc(100% - 65px);margin:0}.answer-heading .bookmark-button{margin-left:auto}.answer-pair{grid-template-columns:1fr}.answer-pair p{font-size:14px}.key-point{padding:16px;margin:22px 0}.key-point p{font-size:14px}.expanded-answer .review-stem{font-size:15px}.option-explanation h4,.option-explanation p{font-size:14px}.history-shortcuts,.saved-links{gap:15px;flex-wrap:wrap}.page-heading h1{font-size:26px}.connection-status{font-size:10px;max-width:200px;text-align:right}.expanded-answer{padding-bottom:24px}.result-main .actions .textlink{align-self:flex-start}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Personal learning status: one compact overview, directly below the hero. */
.learning-status{border:2px solid #111;border-radius:20px;box-shadow:3px 4px 0 #111;margin:0 0 30px;padding:23px 25px 13px;color:#111;background:#fff}
.status-top{display:grid;grid-template-columns:1.25fr 1.25fr .8fr;gap:24px;align-items:center}.rank-summary{display:flex;gap:15px;align-items:center;--rank-fill:#f8e8eb}.rank-bronze{--rank-fill:#ddb594}.rank-silver{--rank-fill:#d8e1e8}.rank-gold{--rank-fill:#f3d67c}.rank-platinum{--rank-fill:#c9e5e1}.rank-diamond{--rank-fill:#bce3ed}.rank-master{--rank-fill:#d8a4b0}.rank-medal{width:64px;flex:none;color:#111}.rank-medal svg{width:100%;height:auto;display:block}.rank-copy{min-width:0;flex:1}.status-eyebrow{font-size:11px;margin:0 0 6px}.rank-copy h2{font-size:24px;line-height:1.3;margin:0 0 9px}.rank-copy>p:last-of-type{font-size:11px;line-height:1.7;margin:0}.rank-copy progress{display:block;width:100%;height:5px;border:0;border-radius:10px;margin-top:10px;overflow:hidden;background:#f0e7e9}.rank-copy progress::-webkit-progress-bar{background:#f0e7e9}.rank-copy progress::-webkit-progress-value{background:var(--bordeaux)}.rank-copy progress::-moz-progress-bar{background:var(--bordeaux)}.learning-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0;border-left:1px solid #e1d9dc;padding-left:24px}.learning-numbers dt{font-size:11px;white-space:nowrap;margin-bottom:9px}.learning-numbers dd{font-size:29px;line-height:1.2;font-weight:750;margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}.learning-numbers dd span{font-size:11px;font-weight:400;margin-left:4px}.learning-numbers>div:first-child dd{color:var(--bordeaux)}.study-streak{border-left:1px solid #e1d9dc;padding-left:24px}.streak-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.streak-heading strong{font-size:26px;font-variant-numeric:tabular-nums}.streak-heading strong span{font-size:12px;margin-left:5px}.streak-heading>span,.study-streak>p{font-size:10px;margin:6px 0 0}.study-week{display:flex;justify-content:space-between;margin-top:10px;gap:4px}.study-day{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:9px}.day-dot{display:grid;place-items:center;width:21px;height:21px;border-radius:7px;background:#f7f3f4;border:1px solid #e1d9dc;font-size:12px}.learned .day-dot{background:var(--bordeaux);border-color:var(--bordeaux);color:white;font-weight:700}.today .day-dot{outline:1px solid #111;outline-offset:2px}.status-subjects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border-top:1px solid #e1d9dc;margin-top:20px;padding-top:17px}.status-subject h3{font-size:14px;margin:0 0 8px}.status-level{display:flex;align-items:center;gap:10px;margin-top:7px}.status-level>span{font-size:10px;flex:none}.status-level meter{width:100%;height:9px;min-width:0}.status-level meter::-webkit-meter-bar{background:#f3edef;border:0;border-radius:5px}.status-level meter::-webkit-meter-optimum-value{background:var(--bordeaux)}.status-level>strong{font-size:14px;min-width:39px;text-align:right;font-variant-numeric:tabular-nums}.status-level small{font-size:9px;margin-left:2px}.status-footer{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin-top:14px}.status-footer>p{font-size:10px;margin:0}.status-rules{font-size:11px;text-align:right;max-width:78%}.status-rules summary{cursor:pointer;min-height:30px;padding:5px 0;text-decoration:underline;text-underline-offset:4px}.status-rules[open]{flex:1}.status-rules>div{text-align:left;line-height:1.9;padding:10px 0}.status-rules ol{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 20px}.status-rules li{display:flex;justify-content:space-between;gap:10px}.status-rules p{margin:0 0 10px}.login-preview-notice{font-size:12px;line-height:1.8;padding:12px 16px;border-left:3px solid var(--bordeaux);background:var(--rose);margin-bottom:24px}.login-help{margin:25px 0;font-size:13px;line-height:1.9}.login-help summary{cursor:pointer;font-weight:650;padding:10px 0}.login-help p{margin:8px 0}.account-form-panel .secondary-button{margin-top:12px}.account-form-panel input{color:#111}.account-form-panel input::placeholder{color:#111;opacity:.65}.login-name{margin-bottom:18px}.login-name small{font-size:11px;font-weight:400}.account-form-panel button:disabled{cursor:not-allowed;opacity:.55}.login-progress{font-size:12px;margin-bottom:20px}.login-secondary{display:flex;flex-wrap:wrap;gap:20px;margin-top:20px}
@media(max-width:1050px){.status-top{grid-template-columns:1fr 1fr;gap:22px}.study-streak{grid-column:1/-1;display:flex;align-items:center;gap:22px;padding:13px 0 0;border-left:0;border-top:1px solid #e1d9dc}.study-week{margin:0;gap:12px}.streak-heading{gap:15px}.study-streak>p{margin:0}.status-subjects{margin-top:16px}}
@media(max-width:600px){.learning-status{padding:18px 16px 9px;border-radius:17px;margin-bottom:25px}.status-top{display:block}.rank-summary{gap:13px}.rank-medal{width:52px}.rank-copy h2{font-size:23px;margin-bottom:5px}.rank-copy progress{max-width:240px}.learning-numbers{padding:16px 0 0;border-left:0;margin-top:16px;border-top:1px solid #e1d9dc;gap:10px}.learning-numbers dd{font-size:26px}.learning-numbers dt{font-size:10px;margin-bottom:7px}.study-streak{display:grid;grid-template-columns:auto 1fr;gap:5px 14px;margin-top:16px;padding-top:12px}.streak-heading{display:block}.streak-heading strong{font-size:23px;display:block}.streak-heading>span{font-size:10px}.study-week{gap:4px}.day-dot{width:20px;height:20px}.study-streak>p{grid-column:2;font-size:9px;text-align:right;margin:3px 0 0}.status-subjects{gap:12px;padding-top:14px;margin-top:13px}.status-subject h3{font-size:12px}.status-level{gap:4px}.status-level>span{font-size:9px}.status-level strong{font-size:12px;min-width:28px}.status-level small{font-size:8px;margin-left:0}.status-footer{gap:7px;align-items:flex-start}.status-rules{font-size:10px;max-width:70%}.status-footer>p{font-size:9px;margin-top:7px}.status-rules ol{grid-template-columns:1fr}.status-rules summary{padding-top:6px}.login-help{font-size:12px}}

/* Larger companion, clearer personal progress and quieter feedback. */
.catalog-companion{width:210px}.hero{grid-template-columns:1fr 200px}.companion img{width:180px}.start-screen img{width:170px}.history-heading img{width:160px;flex-shrink:0}.reassurance img{width:82px;height:auto}.bookmark-help{font-size:12px;line-height:1.85;margin:0 0 13px}.bookmark-help a{color:#111;text-underline-offset:3px}.history-achievement{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;align-items:center;gap:22px;padding:23px 25px;border:2px solid #111;border-radius:18px;box-shadow:3px 4px 0 #111;margin:28px 0 42px}.history-achievement>div{display:flex;flex-direction:column;gap:7px}.history-achievement strong{font-size:32px;color:var(--bordeaux);line-height:1.3;font-variant-numeric:tabular-nums}.history-achievement small{font-size:12px;color:#111;margin-left:5px}.history-achievement span{font-size:12px}.history-achievement .history-rank strong{font-size:24px;color:#111}
@media(max-width:760px){.catalog-companion{width:130px;flex:none;margin-right:0}.hero{grid-template-columns:minmax(0,1fr) 120px;gap:12px}.companion img{width:120px}.start-screen img{width:110px}.history-heading img{width:112px}.history-heading h1{font-size:24px}.history-heading{gap:12px}.hero h1{font-size:27px}.start-screen h1{font-size:24px}.history-achievement{grid-template-columns:1fr 1fr;gap:20px;padding:20px;margin-bottom:36px}.history-achievement strong{font-size:29px}.history-achievement .history-rank strong{font-size:23px}.history-achievement span{font-size:11px}.bookmark-help{font-size:12px}}
@media(max-width:360px){.catalog-companion{width:110px}.hero{grid-template-columns:minmax(0,1fr) 96px}.companion img{width:96px}.history-heading img{width:100px}.start-screen img{width:96px}.hero h1{font-size:24px}}

.learning-numbers{grid-template-columns:repeat(2,1fr)}

/* Quiet, illustrated learning interface — October 17 */
.ui-icon{display:inline-block;width:22px;height:22px;flex:none;vertical-align:middle}
.catalog-hero{display:grid;grid-template-columns:minmax(0,1fr) 225px;position:relative;align-items:center;gap:24px;padding:22px 12px 28px;min-height:0}
.catalog-hero-copy{position:relative;z-index:1;min-width:0}
.supervision{display:inline-flex;align-items:center;gap:7px;font-size:12px;letter-spacing:.04em;padding:5px 10px;border-radius:7px;margin:0 0 15px}
.supervision .ui-icon{width:17px;height:17px}
.catalog-hero .quiz-lockup{gap:14px}.quiz-lockup img{width:clamp(230px,29vw,365px);max-width:calc(100% - 100px)}.quiz-lockup span{font-size:32px}
.catalog-tagline{font-size:22px;font-weight:750;letter-spacing:.08em;margin:16px 0 0;max-width:none;line-height:1.7}
.hero-illustration{position:relative;display:grid;place-items:center;isolation:isolate;width:225px;height:220px}
.hero-orbit{position:absolute;z-index:-1;background:#f9edef;width:190px;height:180px;border-radius:52% 48% 46% 54%;transform:rotate(-12deg)}
.hero-orbit:after{content:'';position:absolute;right:-8px;top:9px;width:12px;height:12px;border-radius:50%;background:#a61f2a}
.catalog-hero .catalog-companion{position:relative;inset:auto;width:190px;max-width:100%;height:auto;margin:0;transform:rotate(3deg)}
.learning-status{padding:24px 28px 10px;margin-bottom:24px}.status-top{display:grid;grid-template-columns:1fr 1.05fr;gap:32px;align-items:center}.rank-medal{width:66px}.rank-copy h2{font-size:28px;margin-bottom:7px}.rank-copy>p:last-of-type{font-size:12px}.rank-copy>p strong{margin:0 3px}.rank-copy progress{height:6px;max-width:280px}
.learning-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding-left:28px;margin:0;border-top:0;border-left:1px solid #e5dadd}.learning-numbers dt{display:flex;flex-direction:column;align-items:center;gap:7px;font-size:11px;margin:0 0 8px;white-space:nowrap}.learning-numbers dt .ui-icon{width:25px;height:25px;color:var(--bordeaux)}.learning-numbers dd{text-align:center;font-size:32px}.learning-numbers>div:first-child dd{color:#111}
.status-subjects{gap:30px;margin-top:21px;padding-top:17px}.status-subject h3{display:flex;align-items:center;gap:7px;font-size:14px}.status-subject h3 .ui-icon{width:20px;height:20px;color:var(--bordeaux)}.status-level strong{font-size:13px}.status-footer{justify-content:flex-end;margin-top:8px}.status-rules{max-width:100%;font-size:11px}.status-rules[open]{width:100%}.status-rules summary{min-height:36px;text-decoration:none;padding:9px 0}.status-rules ol{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;line-height:1.4;margin:5px 0 14px}.status-rules li{display:grid;grid-template-columns:30px 1fr;align-items:center;column-gap:9px;row-gap:3px;background:#fcf8f9;border-radius:10px;padding:10px;text-align:left}.rank-mini{grid-row:1/3;width:27px;color:#111;--rank-fill:#f8e8eb}.rank-mini svg{display:block;width:100%;height:auto}.status-rules li>strong{grid-column:2;font-size:11px;font-weight:500}.rank-beginner{--rank-fill:#f8e8eb}.status-rules .rank-mini{--rank-fill:inherit}
.continue-learning{display:flex;flex-direction:row;align-items:center;gap:16px;padding:16px 20px;margin:0 0 26px;border:1px solid #e7d4d8;border-radius:16px;background:#fcf6f7}.resume-icon{display:grid;place-items:center;width:42px;height:42px;background:white;border-radius:12px;color:var(--bordeaux)}.continue-learning>div{flex:1;min-width:0}.continue-learning p{font-size:11px;margin:0 0 5px}.continue-learning .primary{font-size:12px;gap:10px;min-height:44px;align-self:auto}.continue-learning .primary .ui-icon{width:18px;height:18px}
.catalog-section-title{display:flex;align-items:center;gap:10px;font-size:18px;margin:32px 0 25px;line-height:1.5}.catalog-section-title .ui-icon{width:24px;height:24px;color:var(--bordeaux)}
.catalog-subject{border:1px solid #d8c8cc;border-radius:18px;box-shadow:none;padding:10px 14px 8px}.subject-bar h2{display:flex;align-items:center;gap:8px}.subject-icon{display:inline-flex;align-items:center;justify-content:center;width:33px;height:33px;border-radius:10px;background:#f8edef;color:var(--bordeaux)}.subject-icon .ui-icon{width:23px;height:23px}.chapter-row{border-color:#eee6e8;min-height:53px}.chapter-number{display:grid;place-items:center;background:#f8f3f4;border-radius:7px;width:25px;height:27px;flex:none;color:#111}.level-link{border-color:#d8c8cc;box-shadow:none}.level-link:hover{background:var(--rose);border-color:var(--bordeaux)}
.login-card{max-width:420px;margin:45px auto 70px;text-align:center;padding:28px 22px}.login-mascot{position:relative;isolation:isolate;width:155px;margin:0 auto 25px}.login-mascot:before{content:'';position:absolute;z-index:-1;inset:15px 0 5px;background:#f9edef;border-radius:50%}.login-mascot img{width:155px;height:auto;display:block}.login-card h1{font-size:25px;margin:0 0 26px}.login-card .account-form-panel{margin:0;gap:12px}.google-button{display:flex;align-items:center;justify-content:center;min-height:52px;border:1.5px solid #111;border-radius:12px;background:#fff;color:#111;font:inherit;font-size:15px;font-weight:650;cursor:pointer;width:100%}.google-button:hover:not(:disabled){background:#faf5f6}.google-button:disabled{opacity:1!important;border-color:#d5c8cc;cursor:not-allowed}.login-card #connection-status:empty{display:none}.login-preview-label{font-size:11px;margin:20px 0 10px}.login-card .textlink{font-size:12px}.login-card .actions{flex-wrap:wrap;justify-content:center}.login-card .account-signout{margin-top:24px}
.history-heading{margin-bottom:18px}.history-heading h1{margin-bottom:20px}.history-saved{display:inline-flex;align-items:center;gap:8px;font-size:13px;text-decoration:none;min-height:44px}.history-saved .ui-icon{width:18px;height:18px}.history-saved>span{display:grid;place-items:center;min-width:23px;height:23px;background:#f6e9ec;border-radius:50%;font-size:11px}
.history-achievement{margin:18px 0 34px;grid-template-columns:1.5fr repeat(3,1fr);gap:18px;padding:24px}.history-achievement .history-rank{display:flex;flex-direction:row;align-items:center;gap:14px}.history-achievement .rank-medal{width:48px}.history-rank>div{display:flex;flex-direction:column;gap:7px}.history-achievement .history-metric{position:relative;align-items:center;gap:7px}.history-metric>.ui-icon{width:23px;height:23px;color:var(--bordeaux)}.history-achievement .history-metric>strong{font-size:29px;color:#111}.history-achievement .history-metric>span{font-size:11px}
.history-tabs{display:flex;gap:8px;margin:0 0 20px;max-width:560px}.history-tabs button{flex:1;min-height:49px;display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid #e4d7db;border-radius:12px;background:white;font:inherit;font-size:14px;color:#111;cursor:pointer;padding:10px 12px;white-space:nowrap}.history-tabs button[aria-selected=true]{background:#f8ecef;border-color:var(--bordeaux);font-weight:700;box-shadow:inset 0 -2px 0 var(--bordeaux)}.history-tabs .ui-icon{width:22px;height:22px;color:var(--bordeaux)}
.history-table-head,.theme-record>summary{display:grid;grid-template-columns:minmax(0,1fr) 70px 70px 18px;align-items:center;gap:12px}.history-table-head{font-size:11px;padding:5px 15px 12px}.history-table-head>span:not(:first-child){text-align:center}.theme-record{border-top:1px solid #e6dce0}.theme-record:last-child{border-bottom:1px solid #e6dce0}.theme-record>summary{list-style:none;cursor:pointer;padding:16px 15px;min-height:66px}.theme-record>summary::-webkit-details-marker{display:none}.theme-record>summary:hover{background:#fdf8f9}.theme-record-title{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:600;line-height:1.65}.theme-order{font-size:10px;min-width:26px;height:27px;background:#f8f1f3;border-radius:7px;display:grid;place-items:center;font-weight:500}.theme-score{text-align:center;font-size:15px;font-weight:650}.theme-score.has-score{color:var(--bordeaux)}.theme-score small{font-size:10px;margin-left:3px;font-weight:400}.record-chevron{width:16px;height:16px}.theme-record[open]>summary .record-chevron{transform:rotate(90deg)}.theme-record[open]>summary{background:#fcf5f7;border-radius:10px 10px 0 0}
.theme-record-detail{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:18px 20px 24px;background:#fcf9fa;border-radius:0 0 10px 10px}.level-record{min-width:0}.level-record-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.level-record-heading h3{font-size:13px;margin:0}.level-record-heading>span{font-size:11px;display:flex;align-items:center;gap:4px}.level-record-heading .ui-icon{width:15px;height:15px;color:var(--bordeaux)}.score-trend{display:block;width:100%;max-height:110px;margin:12px 0 4px}.theme-attempts{list-style:none;margin:12px 0 0;padding:0}.theme-attempts li+li{border-top:1px solid #e6dce0}.theme-attempts a{display:flex;align-items:center;gap:8px;min-height:45px;text-decoration:none;font-size:12px}.theme-attempts strong{margin-left:auto;white-space:nowrap;font-size:15px}.theme-attempts strong small{font-size:10px;margin-left:3px}.theme-attempts .ui-icon{width:14px;height:14px}.review-chip{font-size:10px;background:white;border:1px solid #e4d7db;border-radius:5px;padding:1px 5px}.unattempted{font-size:12px;margin:22px 0 8px}.history-panel[hidden]{display:none}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #a61f2a;outline-offset:4px}
@media(max-width:1050px){.status-top{grid-template-columns:1fr 1fr;gap:25px}.learning-numbers{gap:14px;padding-left:22px}.rank-copy h2{font-size:26px}.learning-numbers dd{font-size:28px}.quiz-lockup img{max-width:calc(100% - 90px)}.quiz-lockup span{font-size:28px}.catalog-hero{grid-template-columns:minmax(0,1fr) 175px;gap:16px;padding-right:0;padding-left:0}.hero-illustration{width:175px;height:180px}.hero-orbit{width:160px;height:155px}.catalog-hero .catalog-companion{width:160px}}
@media(max-width:760px){
 .catalog-hero{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:8px;padding:17px 0 24px;min-height:190px}.catalog-hero-copy{display:contents}.supervision{grid-column:1;justify-self:start;font-size:10px;gap:5px;padding:4px 7px;margin:0 0 2px}.supervision .ui-icon{width:14px;height:14px}.catalog-hero .quiz-lockup{grid-column:1/-1;grid-row:2;gap:9px;margin:4px 0 12px}.quiz-lockup img{width:240px;max-width:calc(100% - 76px)}.quiz-lockup span{font-size:25px}.catalog-tagline{grid-column:1;grid-row:3;font-size:17px;letter-spacing:.015em;line-height:1.65;margin:4px 0 12px;max-width:none;text-wrap:balance}.hero-illustration{grid-column:2;grid-row:3;width:120px;height:115px;margin-top:-12px;margin-bottom:-3px}.hero-orbit{width:109px;height:103px}.hero-orbit:after{width:7px;height:7px;right:0;top:5px}.catalog-hero .catalog-companion{position:relative;inset:auto;width:112px;margin:0}
 .learning-status{padding:20px 17px 9px;margin-bottom:22px}.status-top{display:block}.rank-summary{gap:16px}.rank-medal{width:57px}.rank-copy h2{font-size:26px}.rank-copy>p:last-of-type{font-size:11px}.learning-numbers{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border-left:0;border-top:1px solid #e5dadd;padding:17px 0 0;margin:18px 0 0}.learning-numbers dt{font-size:10px;gap:6px;margin-bottom:7px}.learning-numbers dt .ui-icon{width:23px;height:23px}.learning-numbers dd{font-size:27px}.learning-numbers dd span{font-size:10px}.status-subjects{gap:13px;padding-top:16px;margin-top:18px}.status-subject h3{flex-direction:column;align-items:flex-start;gap:6px;font-size:12px;margin-bottom:9px}.status-subject h3 .ui-icon{width:23px;height:23px}.status-level{gap:4px}.status-level strong{font-size:12px;min-width:28px}.status-rules ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.status-rules{font-size:10px}.status-rules summary{padding:10px 0 6px}.status-footer{margin-top:10px}
 .continue-learning{display:grid;grid-template-columns:32px minmax(0,1fr);gap:11px;padding:15px;margin:0 0 23px}.resume-icon{width:32px;height:35px;border-radius:8px}.resume-icon .ui-icon{width:22px;height:22px}.continue-learning strong{font-size:14px}.continue-learning strong span{font-size:10px;margin-left:6px}.continue-learning .primary{grid-column:1/-1;justify-self:end;font-size:12px;min-height:44px}.catalog-section-title{font-size:16px;margin:28px 0 25px}.catalog-subject{padding:9px 12px 7px;border-radius:16px;box-shadow:none}.chapter-row{min-height:52px}.subject-bar h2{font-size:18px}
 .history-heading img{width:108px}.history-heading h1{font-size:26px}.history-saved{font-size:12px}.history-achievement{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 10px;padding:20px 16px;margin-bottom:28px}.history-achievement .history-rank{grid-column:1/-1;flex-direction:row;gap:14px;border-bottom:1px solid #e5dadd;padding-bottom:17px}.history-achievement .history-rank strong{font-size:25px}.history-achievement .rank-medal{width:49px}.history-achievement .history-metric>strong{font-size:26px}.history-achievement .history-metric>span{font-size:10px}.history-tabs{gap:6px}.history-tabs button{font-size:12px;padding:9px 5px;gap:6px;min-height:48px}.history-tabs .ui-icon{width:20px;height:20px}.history-table-head,.theme-record>summary{grid-template-columns:minmax(0,1fr) 39px 39px 12px;gap:7px}.history-table-head{padding:5px 3px 10px}.theme-record>summary{padding:13px 3px}.theme-record-title{font-size:13px;gap:7px}.theme-order{font-size:9px;min-width:22px;height:25px}.theme-score{font-size:14px}.theme-score small{font-size:9px;margin-left:1px}.record-chevron{width:12px;height:12px}.theme-record-detail{padding:15px 12px 19px;grid-template-columns:1fr;gap:23px}.level-record+.level-record{border-top:1px solid #e5dadd;padding-top:17px}.score-trend{max-height:100px}.login-card{margin:30px auto 50px;padding:18px 6px}.login-card h1{font-size:23px}.login-mascot,.login-mascot img{width:145px}.google-button{font-size:14px}
}
@media(max-width:359px){.catalog-hero{grid-template-columns:minmax(0,1fr) 96px}.hero-illustration{width:96px;height:100px}.hero-orbit{width:90px;height:90px}.catalog-hero .catalog-companion{width:96px}.catalog-tagline{font-size:16px}.quiz-lockup span{font-size:23px}.status-subjects{gap:8px}.history-tabs button{font-size:11px;gap:4px}.history-tabs .ui-icon{width:17px;height:17px}}

/* Compact brand banner adapted from the supplied mMEDICI first view. */
.hero-orbit:after{content:none;display:none}
.catalog-hero{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:13px 2px 17px;min-height:0}
.catalog-hero-copy{display:block;min-width:0}.catalog-hero .supervision{margin-bottom:12px}.catalog-hero .quiz-lockup{margin:0}.catalog-hero .hero-illustration{width:104px;height:104px;flex:none;margin:0}.catalog-hero .hero-orbit{width:90px;height:85px}.catalog-hero .catalog-companion{width:99px;inset:auto;position:relative;margin:0}
.brand-banner{position:relative;isolation:isolate;overflow:hidden;border-radius:17px;background:#a61f2a;height:clamp(150px,19vw,224px);margin:0 0 24px;display:flex;align-items:center}
.brand-banner-art{position:absolute;inset:0;z-index:-2;display:block;width:100%;height:100%;object-fit:cover;object-position:center 34%}
.brand-banner:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#a61f2a55,transparent 58%)}
.brand-banner-copy{padding:25px 38px;max-width:72%}.brand-banner .catalog-tagline{font-family:'Yu Mincho','Hiragino Mincho ProN','Noto Serif JP',serif;font-weight:500;font-size:clamp(24px,3.2vw,43px);line-height:1.5;letter-spacing:.07em;margin:0 0 18px;color:#fff;white-space:nowrap}
.banner-wordmark{display:block;width:155px;height:auto;filter:brightness(0) invert(1)}
@media(max-width:760px){.catalog-hero{padding:12px 0 17px;gap:10px}.catalog-hero .catalog-hero-copy{display:block}.catalog-hero .supervision{font-size:10px;margin-bottom:9px}.catalog-hero .quiz-lockup{gap:8px;margin:0;display:flex}.catalog-hero .quiz-lockup img{width:220px;max-width:calc(100% - 62px)}.catalog-hero .quiz-lockup span{font-size:22px}.catalog-hero .hero-illustration{width:88px;height:92px;grid-area:auto}.catalog-hero .hero-orbit{width:80px;height:78px}.catalog-hero .catalog-companion{width:86px}.brand-banner{height:150px;margin-bottom:22px;border-radius:14px}.brand-banner-copy{padding:20px 22px;max-width:100%}.brand-banner .catalog-tagline{font-size:26px;letter-spacing:.035em;margin:0 0 16px}.banner-wordmark{width:118px}.brand-banner-art{object-position:60% 38%}}
@media(max-width:420px){.catalog-hero .hero-illustration{width:68px;height:80px}.catalog-hero .hero-orbit{width:65px;height:64px}.catalog-hero .catalog-companion{width:68px}.catalog-hero .quiz-lockup img{width:180px;max-width:calc(100% - 57px)}.catalog-hero .quiz-lockup span{font-size:20px}.brand-banner{height:137px}.brand-banner-copy{padding:18px}.brand-banner .catalog-tagline{font-size:22px;letter-spacing:.015em}.banner-wordmark{width:105px}}
@media(max-width:359px){.catalog-hero .hero-illustration{width:56px;height:70px}.catalog-hero .hero-orbit{width:55px;height:55px}.catalog-hero .catalog-companion{width:58px}.catalog-hero .quiz-lockup{gap:6px}.catalog-hero .quiz-lockup span{font-size:18px}.catalog-hero .quiz-lockup img{max-width:calc(100% - 47px)}.brand-banner{height:130px}.brand-banner-copy{padding:15px}.brand-banner .catalog-tagline{font-size:20px}}

/* Preserve the complete original M contour, with the slogan alone at left. */
.brand-banner{height:clamp(166px,23vw,254px);background:#a61f2a;display:grid;grid-template-columns:43% 57%;gap:0;align-items:center}
.brand-banner:before{content:none;display:none}
.brand-banner-copy{padding:20px 0 20px 34px;max-width:none;position:relative;z-index:1}
.brand-banner .catalog-tagline{display:flex;flex-direction:column;align-items:flex-start;margin:0;white-space:nowrap;font-size:clamp(27px,3vw,40px);line-height:1.65;letter-spacing:.07em}
.brand-banner-mark{display:block;width:100%;height:calc(100% - 16px);min-width:0;max-height:238px;padding:0 16px 0 0;overflow:visible;justify-self:stretch}
@media(max-width:760px){.brand-banner{height:180px;grid-template-columns:42% 58%}.brand-banner-copy{padding:18px 0 18px 22px}.brand-banner .catalog-tagline{font-size:28px;line-height:1.65;letter-spacing:.035em}.brand-banner-mark{height:calc(100% - 14px);padding-right:10px}}
@media(max-width:420px){.brand-banner{height:148px;grid-template-columns:43% 57%}.brand-banner-copy{padding:14px 0 14px 17px}.brand-banner .catalog-tagline{font-size:21px;letter-spacing:.01em}.brand-banner-mark{height:calc(100% - 12px);padding-right:8px}}
@media(max-width:359px){.brand-banner{height:140px}.brand-banner-copy{padding-left:15px}.brand-banner .catalog-tagline{font-size:19px}.brand-banner-mark{padding-right:6px}}
/* Keep SVG intrinsic sizing from expanding the grid row beyond the banner. */
.brand-banner{grid-template-rows:minmax(0,1fr)}
.brand-banner-mark{height:100%;min-height:0;max-height:none;padding-top:8px;padding-bottom:8px;box-sizing:border-box}

.nav{align-items:center}.nav .account-icon-link{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px;border-radius:50%}.nav .account-icon-link:hover{background:#f9edef}.nav .account-icon-link:focus-visible{outline:2px solid var(--bordeaux);outline-offset:2px}

/* Public privacy page: readable without login or JavaScript. */
.login-legal{text-align:center;padding:0 22px 12px;font-size:13px;color:#111}.login-legal a{display:inline-flex;align-items:center;min-height:44px}
.privacy-main{max-width:860px;padding:44px 40px 20px;font-size:15px;line-height:1.95;color:#111}.privacy-kicker{font-size:13px;font-weight:700;color:var(--bordeaux);margin:0 0 8px}.privacy-main h1{font-size:30px;line-height:1.5;margin:0 0 12px}.privacy-date{font-size:13px;margin:0 0 28px}.privacy-main section{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}.privacy-main h2{font-size:19px;line-height:1.7;margin:0 0 14px}.privacy-main p{margin:0 0 16px}.privacy-main ul,.privacy-main ol{padding-left:1.5em}.privacy-main li+li{margin-top:8px}.privacy-main a{color:var(--bordeaux);text-decoration-thickness:1px}.privacy-definitions{margin:0}.privacy-definitions dt{font-weight:700;margin:20px 0 6px}.privacy-definitions dd{margin:0}.privacy-back{display:inline-flex;align-items:center;min-height:44px;margin-top:24px;font-size:14px}.privacy-footer{max-width:780px}.privacy-page .nav{flex-shrink:0}
@media(max-width:760px){.privacy-main{padding:30px 22px 16px;font-size:15px}.privacy-main h1{font-size:25px}.privacy-main h2{font-size:18px}.privacy-main section{margin-top:26px;padding-top:20px}.privacy-page .top{height:auto;min-height:76px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px;gap:4px 16px}.privacy-page .nav{margin-left:auto}.privacy-footer{margin-left:22px;margin-right:22px}}
