:root{--navy:#17243b;--navy2:#213451;--indigo:#5b6ce8;--indigo2:#eef0ff;--text:#172033;--muted:#5a6478;--line:#dfe4ee;--bg:#f5f7fb;--ok:#168462;--bad:#c84b5f;--warn:#c47717;--shadow:0 1px 3px rgba(16,24,40,.06),0 14px 36px rgba(35,52,81,.06);font-family:Inter,"Noto Sans JP","Yu Gothic UI",Meiryo,sans-serif;color:var(--text);background:var(--bg)}
*[hidden]{display:none!important}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg)}body{font-size:15px;line-height:1.7}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid rgba(91,108,232,.28);outline-offset:2px}.siteHeader{height:72px;background:rgba(23,36,59,.98);color:#fff;display:flex;align-items:center;padding:0 max(24px,calc((100vw - 1160px)/2));gap:28px;position:sticky;top:0;z-index:50;box-shadow:0 8px 24px rgba(23,36,59,.12)}.brand{border:0;background:transparent;color:#fff;display:flex;align-items:center;gap:11px;padding:8px 0;text-align:left}.brandMark{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#7b87f5,#4f63df);display:grid;place-items:center;font-weight:900;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}.brand strong{display:block;font-size:14px}.brand small{display:block;font-size:12px;letter-spacing:.1em;color:#bfc9dd}.desktopNav{display:flex;align-self:stretch}.desktopNav button{border:0;background:transparent;color:#c9d1e2;min-width:70px;padding:0 16px;font-weight:700}.desktopNav button.active,.desktopNav button:hover{color:#fff;background:rgba(255,255,255,.06)}.accountButton{margin-left:auto;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);color:#fff;border-radius:999px;min-height:44px;padding:5px 12px 5px 6px;display:flex;align-items:center;gap:8px}.accountButton span{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--navy);font-weight:900}.accountButton b{font-size:13px}.app{width:min(1160px,calc(100% - 32px));margin:28px auto 64px}.hero{border-radius:22px;padding:36px 38px;background:linear-gradient(125deg,#17243b 0%,#243b61 68%,#344b81 100%);color:#fff;box-shadow:0 18px 48px rgba(23,36,59,.18);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:330px;height:330px;border-radius:50%;right:-90px;top:-170px;background:rgba(121,135,245,.15)}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.14em;font-weight:900;color:#cbd3ff}.hero h1{font-size:clamp(28px,4vw,45px);line-height:1.25;margin:12px 0 12px;letter-spacing:-.03em}.hero p{max-width:660px;color:#d7deec;margin:0 0 24px;font-size:15px}.heroActions{display:flex;gap:12px;flex-wrap:wrap}.primary,.secondary,.ghost,.danger{border-radius:12px;min-height:48px;padding:0 20px;font-weight:800;border:1px solid transparent}.primary{background:var(--indigo);color:#fff;box-shadow:0 8px 20px rgba(91,108,232,.28)}.primary:hover{filter:brightness(.97)}.secondary{background:#fff;color:var(--navy);border-color:var(--line)}.ghost{background:transparent;color:var(--indigo);border-color:#cbd1ff}.danger{background:#fff1f3;color:var(--bad);border-color:#ffd1d9}.panel{background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow);padding:24px;margin-top:20px}.panelHead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}.panelHead h2{font-size:20px;margin:0}.panelHead p{margin:2px 0 0;color:var(--muted);font-size:13px}.firstGuide{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:22px;border:1px solid #dfe3ff;background:linear-gradient(135deg,#f7f8ff,#fff);border-radius:15px}.firstGuide h2{margin:5px 0;font-size:22px}.firstGuide p{margin:0;color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:20px}.metric{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px;box-shadow:var(--shadow)}.metric small{display:block;color:var(--muted);font-size:13px}.metric strong{display:inline-block;font-size:29px;margin-top:5px}.metric em{font-style:normal;color:var(--muted);font-size:13px;margin-left:4px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.actionCard{border:1px solid var(--line);background:#fff;border-radius:16px;padding:20px;text-align:left;min-height:190px;display:flex;flex-direction:column;box-shadow:var(--shadow)}.actionCard:hover{border-color:#b8c0fa;transform:translateY(-1px)}.actionCard .tag{font-size:12px;font-weight:900;color:var(--indigo);letter-spacing:.06em}.actionCard .icon{width:43px;height:43px;border-radius:13px;background:var(--indigo2);color:var(--indigo);display:grid;place-items:center;font-weight:900;margin:12px 0}.actionCard h3{font-size:18px;margin:0 0 5px}.actionCard p{color:var(--muted);font-size:13px;margin:0}.actionCard .cta{margin-top:auto;color:var(--indigo);font-weight:800;font-size:13px;padding-top:14px}.loginShell{min-height:calc(100vh - 20px);display:grid;place-items:center;padding:24px}.loginCard{width:min(980px,100%);display:grid;grid-template-columns:1.08fr .92fr;background:#fff;border-radius:24px;overflow:hidden;border:1px solid var(--line);box-shadow:0 24px 70px rgba(23,36,59,.14)}.loginVisual{padding:52px;background:linear-gradient(135deg,#17243b,#2a4270);color:#fff}.loginVisual .brandMark{width:48px;height:48px}.loginVisual h1{font-size:38px;line-height:1.25;margin:30px 0 14px}.loginVisual p{color:#d7deec}.loginPoints{display:grid;gap:12px;margin-top:35px}.loginPoints div{display:flex;gap:11px;align-items:flex-start;font-size:13px;color:#e2e7f2}.loginPoints i{width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.12);display:grid;place-items:center;font-style:normal}.loginForm{padding:52px;display:flex;flex-direction:column;justify-content:center}.loginForm h2{font-size:25px;margin:0 0 8px}.loginForm>p{color:var(--muted);font-size:13px;margin:0 0 24px}.field label{display:block;font-weight:800;font-size:13px;margin-bottom:7px}.field input{width:100%;height:50px;border:1px solid #cfd5e1;border-radius:11px;padding:0 14px;font-size:16px}.loginForm .primary{width:100%;margin-top:14px}.loginStatus{margin-top:16px;background:#f5f7ff;border:1px solid #dce1ff;border-radius:12px;padding:14px;font-size:13px;color:var(--muted)}.loginStatus a{display:inline-flex;margin-top:8px;color:var(--indigo);font-weight:800}.examShell{width:min(920px,100%);margin:0 auto}.examBar{background:rgba(23,36,59,.98);color:#fff;border-radius:17px;padding:12px 14px;display:grid;grid-template-columns:1fr auto auto auto auto;align-items:center;gap:10px;position:sticky;top:82px;z-index:30;box-shadow:0 12px 32px rgba(23,36,59,.18)}.examIdentity{display:flex;align-items:center;gap:10px}.examIcon{width:38px;height:38px;border-radius:11px;background:#6676eb;display:grid;place-items:center;font-weight:900}.examIdentity strong{display:block;font-size:14px}.examIdentity span{display:block;color:#bdc7da;font-size:12px}.examMetric{min-width:82px;text-align:center;border-left:1px solid rgba(255,255,255,.12)}.examMetric small{display:block;font-size:12px;color:#bfc9dd}.examMetric strong{font-size:16px}.exitButton{height:44px;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;font-weight:800;padding:0 13px}.questionCard{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:28px;margin-top:16px}.questionTop{display:flex;gap:13px;align-items:flex-start}.questionNumber{flex:0 0 38px;height:38px;border-radius:11px;background:var(--indigo2);color:var(--indigo);display:grid;place-items:center;font-weight:900}.questionKind{font-size:12px;font-weight:900;color:var(--indigo);letter-spacing:.08em}.questionPrompt{font-size:17px;font-weight:800;line-height:1.8;margin-top:3px}.passage{max-width:46em;margin:24px auto;background:#fafbfe;border:1px solid #e5e8f0;border-radius:14px;padding:22px;font-size:16px;line-height:2}.passage p{margin:0 0 1em}.choices{display:grid;gap:10px;margin-top:20px}.choice{min-height:57px;border:1px solid #d7dce7;background:#fff;border-radius:13px;display:grid;grid-template-columns:36px 1fr;align-items:center;text-align:left;padding:10px 14px;color:var(--text)}.choice:hover{border-color:#aeb8fa;background:#fafaff}.choice.selected{border:2px solid var(--indigo);background:#f3f4ff;padding:9px 13px}.choiceKey{width:28px;height:28px;border-radius:9px;background:#f1f3f8;display:grid;place-items:center;font-weight:900;color:var(--muted)}.choice.selected .choiceKey{background:var(--indigo);color:#fff}.questionNav{display:flex;align-items:center;gap:10px;margin-top:20px}.questionNav .primary{margin-left:auto}.sessionCode{margin-top:17px;text-align:right;color:#8b94a5;font-size:12px;letter-spacing:.08em;user-select:none}.resultHero{border-radius:20px;padding:30px;background:linear-gradient(135deg,#17243b,#2b4370);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px}.scoreBig{font-size:52px;font-weight:900;line-height:1}.scoreBig small{font-size:17px;color:#c7d0e1}.resultList{display:grid;gap:13px;margin-top:18px}.reviewRow{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px;box-shadow:var(--shadow)}.reviewRow.wrong{border-left:4px solid var(--bad)}.reviewRow.correct{border-left:4px solid var(--ok)}.reviewRow h3{font-size:15px;margin:0 0 9px}.answerLine{font-size:13px;color:var(--muted)}.answerLine .ok{color:var(--ok);font-weight:900}.answerLine .bad{color:var(--bad);font-weight:900}.explanation{margin-top:12px;padding-top:12px;border-top:1px solid #edf0f5;font-size:14px;color:#374156}.tableList{display:grid;gap:10px}.historyRow,.deviceRow,.reviewSummary{display:grid;grid-template-columns:1.4fr repeat(3,.7fr);align-items:center;gap:14px;border:1px solid var(--line);border-radius:13px;padding:15px;background:#fff}.historyRow small,.deviceRow small{display:block;color:var(--muted);font-size:12px}.historyRow strong,.deviceRow strong{font-size:14px}.statusPill{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;padding:0 10px;background:#eaf8f2;color:var(--ok);font-size:12px;font-weight:900}.accountGrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.infoList{display:grid}.infoRow{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid #edf0f5}.infoRow span{color:var(--muted);font-size:13px}.infoRow strong{font-size:13px;text-align:right}.emptyState{text-align:center;padding:40px 18px;color:var(--muted)}.emptyState h2{color:var(--text);margin:0 0 6px}.modalBackdrop{position:fixed;inset:0;background:rgba(17,27,45,.55);z-index:100;display:grid;place-items:center;padding:20px}.modalCard{width:min(440px,100%);background:#fff;border-radius:16px;padding:24px;box-shadow:0 24px 60px rgba(16,24,40,.24)}.modalCard h2{font-size:19px;margin:0 0 7px}.modalCard p{font-size:14px;color:var(--muted)}.modalActions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.toast{position:fixed;right:18px;bottom:18px;z-index:120;background:#17243b;color:#fff;padding:12px 16px;border-radius:11px;box-shadow:0 12px 32px rgba(0,0,0,.18);opacity:0;pointer-events:none;transform:translateY(10px);transition:.2s}.toast.show{opacity:1;transform:none}.mobileNav{display:none}.focusVideo{position:fixed;right:18px;bottom:18px;width:220px;aspect-ratio:4/3;object-fit:cover;border-radius:15px;border:4px solid #fff;box-shadow:0 16px 44px rgba(23,36,59,.28);z-index:40;background:#111}@media print{.examShell,.questionCard,.resultList{display:none!important}}
@media(max-width:760px){body{padding-bottom:74px}.siteHeader{height:62px;padding:0 12px;gap:8px}.brand strong{font-size:13px}.brand small,.desktopNav,.accountButton b{display:none}.brandMark{width:35px;height:35px}.accountButton{width:44px;height:44px;padding:0;justify-content:center}.accountButton span{width:31px;height:31px}.app{width:min(100% - 20px,620px);margin:15px auto 28px}.mobileNav{position:fixed;left:0;right:0;bottom:0;height:65px;background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);z-index:60;padding-bottom:env(safe-area-inset-bottom)}.mobileNav button{border:0;background:#fff;color:#6a7385;min-height:51px;font-size:12px;font-weight:800;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.mobileNav button span{font-size:17px}.mobileNav button.active{color:var(--indigo)}.hero{padding:26px 22px;border-radius:18px}.hero h1{font-size:29px}.heroActions>*{width:100%}.metrics{grid-template-columns:1fr 1fr}.metric{padding:15px}.metric strong{font-size:25px}.cards{grid-template-columns:1fr}.panel{padding:18px}.firstGuide{display:block}.firstGuide button{width:100%;margin-top:16px}.loginShell{padding:10px;min-height:100vh}.loginCard{grid-template-columns:1fr;border-radius:18px}.loginVisual{padding:27px}.loginVisual h1{font-size:27px;margin:18px 0 8px}.loginPoints{display:none}.loginForm{padding:27px}.examShell{width:100%}.examBar{top:70px;border-radius:14px;grid-template-columns:1fr auto auto;padding:10px}.examIdentity span,.examMetric:first-of-type,.examMetric:nth-of-type(2){display:none}.examMetric{min-width:64px}.examMetric small{font-size:12px}.exitButton{height:44px;padding:0 9px}.questionCard{padding:19px 16px;border-radius:15px}.questionPrompt{font-size:16px}.passage{width:100%;font-size:16px;line-height:1.95;padding:17px;margin:18px 0}.choice{min-height:52px;padding:11px;grid-template-columns:34px 1fr}.choice.selected{padding:10px}.questionNav{position:sticky;bottom:8px;background:rgba(245,247,251,.96);padding:9px;border-radius:14px;box-shadow:0 8px 24px rgba(23,36,59,.12)}.questionNav button{min-height:48px;padding:0 13px}.resultHero{display:block;padding:24px}.scoreBig{font-size:44px;margin-top:15px}.accountGrid{grid-template-columns:1fr}.historyRow,.deviceRow{grid-template-columns:1fr 1fr}.historyRow>:first-child,.deviceRow>:first-child{grid-column:1/-1}.focusVideo{display:none!important}body.inExam .mobileNav{display:none}body.inExam{padding-bottom:0}.sessionCode{font-size:12px}}

/* candidate_08: display mode and language timing analysis */
.layoutPicker{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.layoutPicker legend{font-weight:900;font-size:14px;margin-bottom:10px}.layoutOption{min-height:92px;border:1px solid var(--line);border-radius:14px;padding:15px;display:flex;gap:12px;align-items:flex-start;background:#fff;cursor:pointer}.layoutOption:hover{border-color:#b8c0fa}.layoutOption.selected{border:2px solid var(--indigo);background:#f5f6ff;padding:14px}.layoutOption input{margin-top:5px;accent-color:var(--indigo)}.layoutOption strong{display:block;font-size:15px}.layoutOption small{display:block;color:var(--muted);font-size:13px;line-height:1.65;margin-top:2px}.focusChoice{display:flex;gap:10px;align-items:center;margin-top:18px;color:var(--muted);font-size:13px}.practiceActions{display:flex;justify-content:flex-end;margin-top:20px}.loadingPanel{margin:80px auto;background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow);padding:44px;text-align:center}.loadingPanel h2{margin:12px 0 3px}.loadingPanel p{margin:0;color:var(--muted)}.loadingDot{display:inline-block;width:34px;height:34px;border-radius:50%;border:4px solid #dfe3ff;border-top-color:var(--indigo);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.allPageShell{width:min(1020px,100%)}.allQuestions{display:grid;gap:16px}.allQuestionCard{margin-top:16px}.finishPanel{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:20px;margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:18px}.finishPanel strong{font-size:16px}.finishPanel p{margin:2px 0 0;color:var(--muted);font-size:13px}.resultActions,.accountActions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.timingPanel{margin-top:18px}.timingGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.timingGrid article{border:1px solid var(--line);border-radius:13px;padding:15px;background:#fbfcff}.timingGrid strong{display:block;color:var(--indigo);font-size:15px}.timingGrid span{display:block;font-weight:800;font-size:13px;margin-top:5px}.timingGrid small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.reviewTitle{display:flex;gap:14px;align-items:flex-start;justify-content:space-between}.reviewTitle h3{margin:0 0 9px}.timingBadge{flex:0 0 auto;display:inline-flex;min-height:30px;align-items:center;border-radius:999px;padding:0 10px;background:var(--indigo2);color:var(--indigo);font-size:12px;font-weight:900}.timingLine{display:flex;gap:14px;flex-wrap:wrap;margin:2px 0 10px;color:var(--muted);font-size:12px}.timingLine strong{color:var(--text)}

@media(max-width:760px){.layoutPicker{grid-template-columns:1fr}.layoutOption{min-height:96px}.practiceActions .primary{width:100%}.loadingPanel{margin:50px auto;padding:30px 20px}.allPageShell .examBar{top:70px}.allQuestionCard{padding:19px 16px}.finishPanel{display:block}.finishPanel .primary{width:100%;margin-top:14px}.timingGrid{grid-template-columns:1fr 1fr}.timingGrid article{padding:13px}.reviewTitle{display:block}.timingBadge{margin-bottom:8px}.timingLine{gap:8px 12px}.resultActions{flex-direction:column-reverse}.resultActions button{width:100%}}

/* candidate_09: language drills and production adapter */
.menuCards{grid-template-columns:repeat(auto-fit,minmax(205px,1fr))}.practiceSection{scroll-margin-top:88px}.settingsGrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.compactPicker{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-content:start}.compactPicker legend{grid-column:1/-1;font-weight:900;font-size:14px;margin-bottom:2px}.compactPicker .layoutOption{min-height:66px;padding:12px}.compactPicker .layoutOption.selected{padding:11px}.drillStats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.drillStats>div{border:1px solid var(--line);border-radius:13px;background:#fbfcff;padding:14px}.drillStats small{display:block;color:var(--muted);font-size:12px}.drillStats strong{display:block;font-size:16px;margin-top:3px}.resultDrillStats{margin:0}.dontKnowChoice{background:#f2f4f7}.choice:disabled{cursor:default;opacity:1}.choice.answerCorrect{border:2px solid var(--ok);background:#eaf8f2;padding:9px 13px}.choice.answerCorrect .choiceKey{background:var(--ok);color:#fff}.choice.answerWrong{border:2px solid var(--bad);background:#fff1f3;padding:9px 13px}.choice.answerWrong .choiceKey{background:var(--bad);color:#fff}.inlineFeedback{margin-top:14px;border-radius:12px;padding:12px 14px;display:flex;align-items:center;gap:12px;font-size:13px}.inlineFeedback strong{font-size:15px}.inlineFeedback.isCorrect{background:#eaf8f2;color:var(--ok);border:1px solid #b9e5d5}.inlineFeedback.isWrong{background:#fff1f3;color:var(--bad);border:1px solid #ffd1d9}.drillNav{justify-content:flex-end}.questionNote{text-align:right;color:var(--muted);font-size:12px;margin:8px 2px 0}.reviewRow .questionKind{margin-bottom:5px}
@media(max-width:760px){.settingsGrid{grid-template-columns:1fr}.compactPicker{grid-template-columns:1fr 1fr}.drillStats{grid-template-columns:1fr}.practiceSection{scroll-margin-top:72px}.questionNote{text-align:left}.menuCards{grid-template-columns:1fr}}
.reviewBadges{display:inline-flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;margin-left:8px}.badgeWrong,.badgeSaved,.badgeMastered{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;padding:0 9px;font-size:12px;font-weight:900}.badgeWrong{background:#fff1f3;color:var(--bad)}.badgeSaved{background:#fff7dd;color:#8a6200}.badgeMastered{background:#eaf8f2;color:var(--ok)}.reviewRowActions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:14px}.reviewSaveButton{min-height:42px;border:1px solid #cfd5e1;border-radius:11px;padding:0 14px;background:#fff;color:var(--navy);font-weight:800}.reviewSaveButton.isSaved{background:#fff7dd;border-color:#efd27a;color:#725200}.reviewSaveButton:disabled{opacity:.55;cursor:wait}.integrityNotice{width:min(1160px,calc(100% - 32px));margin:18px auto 0;background:#fff7dd;border:1px solid #efd27a;border-radius:13px;padding:13px 15px;color:#725200;font-size:13px}.reviewMetrics{margin-bottom:0}
@media(max-width:760px){.reviewBadges{margin:8px 0 0;justify-content:flex-start}.reviewRowActions{display:grid;grid-template-columns:1fr}.reviewRowActions button{width:100%}.integrityNotice{width:100%;margin-top:14px}.reviewMetrics{grid-template-columns:1fr 1fr}.panelHead{align-items:flex-start;flex-direction:column}.panelHead>.primary{width:100%}}

/* candidate_21: scanner-safe magic-link confirmation */
.authConfirmBody{min-height:100vh;margin:0;background:radial-gradient(circle at 20% 10%,#eef1ff 0,transparent 38%),linear-gradient(145deg,#f7f9fd,#edf2f9);color:#17243b;display:grid;place-items:center;padding:24px;font-family:inherit}
.authConfirmShell{width:min(100%,520px)}
.authConfirmCard{background:#fff;border:1px solid #dfe4ee;border-radius:20px;box-shadow:0 18px 50px rgba(23,36,59,.12);padding:38px;text-align:center}
.authConfirmMark{width:56px;height:56px;margin:0 auto 18px;border-radius:16px;display:grid;place-items:center;color:#fff;font-size:24px;font-weight:800;background:linear-gradient(145deg,#5b6ce8,#22b6c7)}
.authConfirmCard h1{font-size:26px;line-height:1.35;margin:8px 0 14px}
.authConfirmLead{font-size:15px;line-height:1.9;color:#4b5870;margin:0 auto 18px}
.authConfirmNotice{font-size:13px;line-height:1.7;background:#f4f6ff;border:1px solid #dce1ff;color:#3443a8;border-radius:12px;padding:12px 14px;margin:0 0 18px}
.authConfirmNotice.isError{background:#fff3f1;border-color:#ffd3cc;color:#9b3325}
.authConfirmButton{width:100%;min-height:50px;font-size:15px}
.authConfirmButton:disabled{opacity:.55;cursor:not-allowed}
.authConfirmBack{display:inline-block;margin-top:16px;color:#4f5fcf;font-size:14px;font-weight:700;text-decoration:none}
.authConfirmBack:hover{text-decoration:underline}
.authConfirmFoot{font-size:12px;line-height:1.7;color:#657086;margin:22px 0 0}
@media(max-width:520px){.authConfirmBody{padding:16px}.authConfirmCard{padding:28px 20px;border-radius:17px}.authConfirmCard h1{font-size:22px}.authConfirmLead{font-size:14px}.authConfirmFoot{font-size:13px}}
.captchaArea{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fafbfe;min-height:92px;display:flex;flex-direction:column;justify-content:center}.captchaArea>div{min-height:65px;display:flex;align-items:center;justify-content:center}.captchaArea p{margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.captchaArea p.captchaError{color:var(--bad)}.loginForm .primary:disabled{cursor:not-allowed;opacity:.58;box-shadow:none}.loginStatus.error{background:#fff4f5;border-color:#ffd4da;color:var(--bad)}
@media(max-width:760px){.captchaArea{padding:12px}.captchaArea>div{overflow:hidden}.captchaArea iframe{max-width:100%}}
/* candidate_25 legal notice v1 */
.legalLinks {
  margin-top: 14px;
  font-size: 0.92rem;
  line-height: 1.6;
}

.legalLinks a {
  color: inherit;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.legalNotice {
  margin-top: 18px;
}

.legalNoticeList {
  display: grid;
  gap: 10px;
  margin: 14px 0 0;
  padding-left: 1.25rem;
  line-height: 1.75;
}

.legalPageBody {
  min-height: 100vh;
  margin: 0;
  padding: 32px 18px 56px;
}

.legalPage {
  width: min(820px, 100%);
  margin: 0 auto;
}

.legalPageHeader,
.legalPageSection {
  margin-bottom: 18px;
}

.legalPageHeader h1 {
  margin: 8px 0 12px;
}

.legalPageSection h2 {
  margin-top: 0;
}

.legalPageSection p,
.legalPageSection li {
  line-height: 1.85;
}

.legalPageSection ul {
  display: grid;
  gap: 8px;
  padding-left: 1.35rem;
}

.legalPageMeta {
  font-size: 0.9rem;
  opacity: 0.75;
}

.legalPageBack {
  margin-top: 26px;
}
/* candidate_25 mobile visual polish v1 */
.loginVisual h1 .heroLine {
  display: block;
}

@media (max-width: 720px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  #app,
  .loginCard,
  .loginVisual,
  .hero,
  .metrics,
  .panel {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }

  .loginVisual h1 {
    font-size: clamp(1.8rem, 8vw, 2.15rem);
    line-height: 1.22;
    letter-spacing: 0;
  }

  .hero h1 {
    font-size: clamp(1.75rem, 7.4vw, 2.1rem);
    line-height: 1.25;
    overflow-wrap: anywhere;
  }

  .hero p {
    overflow-wrap: anywhere;
  }

  .metrics {
    grid-template-columns: minmax(0, 1fr);
  }

  .metric {
    min-width: 0;
  }
}

/* candidate_25 account hero mobile fix v1 */
@media (max-width: 640px) {
  .hero.heroAccount {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    overflow: hidden;
  }

  .hero.heroAccount h1 {
    max-width: 100%;
    margin-right: 0;
    font-size: clamp(1.65rem, 7vw, 1.9rem);
    line-height: 1.22;
    letter-spacing: 0;
    white-space: normal;
    word-break: normal;
    overflow-wrap: anywhere;
  }

  .hero.heroAccount .accountHeroLine {
    display: block;
    max-width: 100%;
  }

  .hero.heroAccount p {
    max-width: 100%;
    margin-right: 0;
    font-size: 0.95rem;
    line-height: 1.65;
    white-space: normal;
    word-break: normal;
    overflow-wrap: anywhere;
  }

  .hero.heroAccount::after {
    width: 180px;
    height: 180px;
    top: -88px;
    right: -70px;
    opacity: 0.55;
  }
}

/* TGWEB_CANDIDATE25_R8_ACCOUNT_HERO_MOBILE_TWO_LINE_V1
   390px前後のスマートフォン表示で、アカウント見出しの各行を途中分割しない。 */
@media (max-width: 700px) {
  .hero.heroAccount h1 {
    font-size: clamp(23px, 7.18vw, 28px);
    line-height: 1.18;
    letter-spacing: -0.04em;
    white-space: nowrap;
    word-break: keep-all;
    overflow-wrap: normal;
  }
}

/* TGWEB_CANDIDATE25_R9B_MANUAL_WITHDRAWAL_SUPPORT_V1
   アカウント画面に手動退会・問い合わせ窓口を表示する。 */
.accountSupportBlock {
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid rgba(18, 48, 96, 0.16);
}

.accountSupportBlock h3 {
  margin: 0 0 10px;
  font-size: 1.05rem;
}

.accountSupportBlock p {
  margin: 0 0 10px;
}

.accountSupportBlock ul {
  margin: 10px 0 12px;
  padding-left: 1.35rem;
}

.accountSupportBlock li + li {
  margin-top: 6px;
}

.accountSupportAddress {
  font-weight: 700;
}

.accountSupportAddress a {
  overflow-wrap: anywhere;
}

.accountSupportNote {
  margin-bottom: 0;
  font-size: 0.92rem;
  color: #4c5d78;
}

@media (max-width: 700px) {
  .accountSupportBlock {
    margin-top: 18px;
    padding-top: 18px;
  }

  .accountSupportBlock ul {
    padding-left: 1.2rem;
  }
}
/* candidate_27: product branding */
.loginBrand{
  display:flex;
  align-items:center;
  gap:12px;
}

.loginBrand strong{
  display:block;
  font-size:15px;
}

.loginBrand small{
  display:block;
  margin-top:1px;
  font-size:11px;
  letter-spacing:.12em;
  color:#cbd3ff;
}

/* candidate_27: preserve approved <u> markup in passages */
.passage u{
  text-decoration:underline;
  text-decoration-thickness:1.5px;
  text-underline-offset:3px;
}

/* candidate_27: robust copy-deterrence selection fallback */
.examShell .questionCard,[data-material-protected="1"]{
  -webkit-user-select:none;
  user-select:none;
}
