:root{--bg: #eef5fb;--surface: #ffffff;--surface-muted: #f5f8ff;--surface-strong: #e8f0ff;--text: #142136;--text-muted: #586982;--text-soft: #718096;--line: #cedceb;--line-strong: #b6c8df;--primary: #245fd6;--primary-strong: #183f9c;--primary-soft: #e7efff;--accent: #127a60;--accent-soft: #e5f5ef;--danger: #b9443d;--danger-soft: #fff0ed;--warning: #9b6b18;--warning-soft: #fff6df;--blue: #245fd6;--blue-soft: #eaf4ff;--teal: #128c78;--teal-soft: #e6f7f5;--violet: #6a4bc7;--violet-soft: #f0edff;--rose: #c44772;--rose-soft: #fff0f5;--amber: #b7791f;--amber-soft: #fff7e6;--shadow-sm: 0 1px 2px rgba(17, 24, 39, .06), 0 1px 1px rgba(17, 24, 39, .04);--shadow-md: 0 12px 28px rgba(17, 24, 39, .08);--shadow-lg: 0 18px 44px rgba(17, 24, 39, .11);--radius: 8px;color:var(--text);background:var(--bg);font-family:Inter,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}.userHomeFrame,.userStudyFrame{max-width:1180px}.userHomeFrame,.userStudyFrame,.userPracticeFrame,.completeFrame{--user-blue-soft: #e7efff;--user-violet-soft: #f0edff;--user-cyan-soft: #e2f6fb;--user-rose-soft: #fff0f4;--user-list-surface: #fbfdff;--stat-bg-1: #f7fbff;--stat-bg-2: #eff7ff;--stat-bg-3: #e7f1ff;--stat-bg-4: #deecff;--stat-border-1: rgba(67, 126, 184, .14);--stat-border-2: rgba(67, 126, 184, .18);--stat-border-3: rgba(67, 126, 184, .22);--stat-border-4: rgba(67, 126, 184, .26);--progress-correct: #2478a8;--progress-wrong: #d05a50}.studyHomeHero{align-items:center;display:grid;gap:20px;grid-template-columns:minmax(0,1fr) auto;padding:12px 0 24px}.mascotAccent{filter:drop-shadow(0 4px 6px rgba(28,55,85,.14));pointer-events:none;-webkit-user-select:none;user-select:none}.homeMascot{height:178px;justify-self:end;opacity:.88;width:auto}.studyHomeHero p,.studyCommandPanel p{color:var(--primary);font-size:13px;font-weight:700;margin:0 0 6px}.studyHomeHero h1,.studyCommandPanel h1{font-size:clamp(30px,4vw,48px);line-height:1.08;margin:0;max-width:780px}.studyHomeHero span,.studyCommandPanel span{color:var(--text-muted);display:block;line-height:1.7;margin-top:10px}.studyHeroStats{background:var(--surface);border:1px solid rgba(36,95,214,.18);border-radius:var(--radius);display:grid;gap:1px;grid-column:1 / -1;grid-template-columns:repeat(3,1fr);margin:0;overflow:hidden}.studyHeroStats div{background:var(--stat-bg-1);padding:14px}.studyHeroStats div:nth-child(2){background:var(--stat-bg-2)}.studyHeroStats div:nth-child(3){background:var(--stat-bg-3)}.studyHeroStats dt,.statusStrip dt{color:var(--text-muted);font-size:12px;margin:0 0 5px}.studyHeroStats dd,.statusStrip dd{color:var(--text);font-size:24px;font-weight:700;margin:0}.studyModeGrid{display:grid;gap:14px;grid-template-columns:1fr}.studyModePrimary,.studyModeSecondary{appearance:none;background:linear-gradient(90deg,var(--user-blue-soft),#ffffff 22%,var(--user-cyan-soft));border:1px solid rgba(36,95,214,.2);border-radius:var(--radius);color:inherit;cursor:pointer;display:grid;gap:18px;min-height:132px;padding:22px;text-align:left;transition:border-color .15s ease,transform .15s ease}.studyModePrimary:hover,.studyModeSecondary:hover,.userStudyFrame .unitCard:hover,.userStudyFrame .chapterCard:hover{border-color:#245fd66b;transform:translateY(-1px)}.studyModePrimary span,.studyModeSecondary span{color:var(--primary);display:block;font-size:13px;font-weight:700;margin-bottom:10px}.studyModePrimary h2{font-size:28px;margin:0 0 8px}.studyModePrimary p,.studyModeSecondary small{color:var(--text-muted);line-height:1.7}.studyModeSecondary{align-content:start;background:linear-gradient(90deg,var(--user-violet-soft),#ffffff 24%,var(--user-rose-soft));border-color:#6a4bc738}.studyModeSecondary strong{display:block;font-size:22px;margin-bottom:8px}.userModeFrame{max-width:1060px}.userModeTitle{margin-bottom:14px}.userModeStats{margin-bottom:16px}.userModeChoiceGrid{display:grid;gap:14px;grid-template-columns:1fr}.userModeChoiceCard{align-items:center;appearance:none;background:linear-gradient(135deg,#fff,#f8fbff 58%,#e6f7f59e);border:1px solid rgba(162,179,204,.56);border-radius:var(--radius);color:inherit;cursor:pointer;display:grid;gap:18px;grid-template-columns:64px minmax(0,1fr) minmax(180px,230px);min-height:260px;overflow:hidden;padding:22px 22px 22px 28px;text-align:left;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.userModeChoiceCard:hover:not(:disabled){border-color:#245fd66b;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.userModeChoiceCard:disabled{cursor:not-allowed;opacity:.58}.userModeChoiceCard.mockCard{background:linear-gradient(135deg,#fff,#f9fbff 52%,#fff7e6b8)}.userModeIcon{align-items:center;background:var(--primary-soft);border:1px solid rgba(36,95,214,.18);border-radius:var(--radius);color:var(--primary-strong);display:inline-flex;height:58px;justify-content:center;width:58px}.userModeChoiceCard h2{margin:0}.userModeChoiceCard h2{font-size:clamp(34px,4vw,54px);line-height:1.2;overflow-wrap:anywhere}.userModeChoiceLabel{min-width:0}.userModeChoiceLabel p{color:var(--text-muted);font-size:14px;font-weight:700;margin:6px 0 0}.userModeChoiceImage{height:220px;justify-self:end;object-fit:contain;object-position:center;width:min(100%,180px)}.userModeChoiceMascot{height:210px;justify-self:end;object-fit:contain;width:min(100%,170px)}.mockModeChoiceGrid .userModeChoiceCard{min-height:230px}.mockCapacity{display:grid;gap:8px;grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.mockCapacity div{background:#ffffffc2;border:1px solid rgba(182,200,223,.72);border-radius:var(--radius);padding:9px}.mockCapacity dt{color:var(--text-muted);font-size:12px;font-weight:700;margin-bottom:3px}.mockCapacity dd{font-size:20px;font-weight:700;margin:0}.mockWarning{background:var(--warning-soft);border:1px solid rgba(155,107,24,.24);border-radius:var(--radius);color:var(--warning);font-weight:700;line-height:1.6;margin:14px 0 0;padding:12px}.settingsFrame{display:grid;gap:14px;max-width:820px}.settingsPanel{align-items:center;background:#fff;border:1px solid rgba(182,200,223,.9);border-radius:var(--radius);display:flex;gap:18px;justify-content:space-between;padding:18px}.settingsPanel h2,.settingsPanel p{margin:0}.settingsPanelText{min-width:0}.settingsPanel h2{font-size:18px}.settingsPanel p{font-size:13px;font-weight:700;line-height:1.7;margin-top:6px}.settingWarning{color:var(--danger)}.studyCommandPanel{align-items:end;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) auto;margin-bottom:14px}.studyPanelMascot{align-self:end;filter:drop-shadow(0 3px 5px rgba(28,55,85,.12));height:116px;justify-self:end;opacity:.72;width:auto}.studyPanelMascot.compact{height:78px;opacity:.82}.studyCommandActions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.userStudyFrame .statusStrip{box-shadow:none;margin-bottom:12px}.userStudyFrame .statusStrip>div{background:var(--stat-bg-1);border-color:var(--stat-border-1)}.userStudyFrame .statusStrip>div:nth-child(2){background:var(--stat-bg-2);border-color:var(--stat-border-2)}.userStudyFrame .statusStrip>div:nth-child(3){background:var(--stat-bg-3);border-color:var(--stat-border-3)}.userStudyFrame .statusStrip>div:nth-child(4){background:var(--stat-bg-4);border-color:var(--stat-border-4)}.unitProgressText{color:var(--text-muted);display:block;font-size:13px;margin-top:6px}.userStudyFrame .unitGrid{grid-template-columns:1fr}.userStudyFrame .unitCard{align-items:stretch;background:linear-gradient(135deg,rgba(255,255,255,.98),var(--user-list-surface) 54%,rgba(226,246,251,.45)),#fff;border-color:#a2b3cc7a;box-shadow:none;grid-template-columns:1fr;min-height:210px}.userStudyFrame .unitCard small{justify-self:start}.unitSettingsButton{align-items:center;appearance:none;background:#ffffffb8;border:1px solid rgba(162,179,204,.42);border-radius:var(--radius);color:inherit;cursor:pointer;display:inline-flex;gap:10px;justify-self:stretch;min-height:58px;padding:10px 12px;text-align:left;transition:background .15s ease,border-color .15s ease,transform .15s ease}.unitSettingsButton:hover{background:#fff;border-color:#245fd657;transform:translateY(-1px)}.unitSettingsIcon{align-items:center;background:#245fd614;border:1px solid rgba(36,95,214,.12);border-radius:8px;color:var(--primary-strong);display:inline-flex;flex:0 0 auto;height:34px;justify-content:center;width:34px}.unitSettingsText{display:grid;gap:1px}.unitSettingsText strong{color:var(--text);font-size:14px}.unitSettingsText small{color:var(--text-muted);font-size:12px}.userStudyFrame .chapterArea{background:transparent;border:0;box-shadow:none;padding:0}.userStudyFrame .chapterGrid{gap:10px}.userStudyFrame .chapterCard{align-items:stretch;background:linear-gradient(135deg,#ffffff,var(--user-list-surface));border-color:#a2b3cc75;box-shadow:none;grid-template-columns:1fr}.userStudyFrame .chapterCard .progressTrack{min-width:0}.userPracticeFrame{max-width:1080px}.userPracticeFrame .quizArea{background:transparent;border:0;box-shadow:none;padding:0}.studySessionBar{background:var(--stat-bg-1);border:1px solid rgba(36,95,214,.18);box-shadow:none;margin-bottom:14px}.studySessionBar .stackedProgressAttempted{background:#245fd62e}.mockWarningPanel{background:var(--warning-soft);border:1px solid rgba(155,107,24,.24);border-radius:var(--radius);color:var(--warning);display:grid;font-size:13px;font-weight:700;gap:4px;line-height:1.55;margin-bottom:12px;padding:10px 12px}.userPracticeFrame .quizPanel{border-color:#245fd62e;box-shadow:var(--shadow-sm);padding:26px}.userPracticeFrame .quizHeader{border-bottom:1px solid var(--line);margin-bottom:18px;padding-bottom:16px}.userPracticeFrame .questionText,.userPracticeFrame .caseSeriesLead{font-size:21px;line-height:1.9}.userPracticeFrame .choices{gap:10px;margin-top:20px}.userPracticeFrame .choiceButton{align-items:center;border-width:1px;grid-template-columns:42px minmax(0,1fr);min-height:64px;padding:12px 14px}.userPracticeFrame .choiceButton span{height:34px;width:34px}.userPracticeFrame .choiceButton strong{font-size:17px;line-height:1.65}.userPracticeFrame .answerPanel{background:var(--surface);box-shadow:none}@media(max-width:860px){.studyHomeHero,.studyModeGrid,.studyCommandPanel,.userStudyFrame .chapterCard,.userModeChoiceGrid,.battleHero,.battleMenuGrid,.battleGameFrame{grid-template-columns:1fr}.battleGameSidebar{position:static}.homeMascot,.studyPanelMascot{display:none}.battleHero img{height:150px;justify-self:center}.studyCommandActions{justify-content:flex-start}.settingsPanel{align-items:flex-start;flex-direction:column}.studyHeroStats{grid-template-columns:repeat(3,minmax(0,1fr))}.userMemoTools{align-items:stretch;flex-wrap:wrap}.memoToolButtons,.memoToolSettings{width:100%}.memoToolSettings label{flex:1 1 180px}}@media(max-width:640px){.studyHeroStats,.statusStrip{grid-template-columns:1fr 1fr}.userPracticeFrame .quizPanel{padding:18px}.userPracticeFrame .questionText,.userPracticeFrame .caseSeriesLead{font-size:18px}.userMemoHeader,.inlineMemoActions{align-items:stretch;flex-direction:column}.userMemoHeader>div,.inlineMemoActions{justify-content:flex-start}.userMemoTools{flex-direction:column}.memoToolButtons{grid-template-columns:repeat(3,minmax(0,1fr))}.memoToolButton{width:100%}.memoToolSettings,.memoToolSettings label,.memoColorControl{flex-basis:auto;width:100%}.userModeChoiceCard{grid-template-columns:58px minmax(0,1fr);min-height:0}.battleRoomFooter,.battleQuestionHeader,.battleResultPanel{align-items:stretch;grid-template-columns:1fr}.battleRoomFooter,.battleQuestionHeader{flex-direction:column}.battleScoreboard{grid-template-columns:1fr}.userModeChoiceImage{grid-column:1 / -1;height:220px;justify-self:stretch;object-fit:contain;width:100%}.userModeChoiceMascot{grid-column:1 / -1;height:180px;justify-self:center}.mockCapacity,.mockResultRow{grid-template-columns:1fr 1fr}.mockHistoryBlocks{grid-template-columns:repeat(2,minmax(0,1fr))}.mockResultRow>div{grid-column:1 / -1}}*{box-sizing:border-box}body{background:linear-gradient(180deg,#ffffffd1,#eef5fb00 280px),linear-gradient(110deg,#245fd61a,#127a6012 45%,#6a4bc717),var(--bg);margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}button{font:inherit}button,select,textarea{outline-color:var(--primary)}button:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:0 0 0 3px #245fd633;outline:2px solid transparent}a{color:var(--primary)}.appShell{background:radial-gradient(circle at 70% -4%,rgba(171,213,250,.28) 0 240px,transparent 242px),linear-gradient(135deg,#f9fbff,#eef7ff 58%,#fffaf5);min-height:100vh}.appShell.withSideMenu{display:grid;grid-template-columns:214px minmax(0,1fr)}.appShellMain{min-width:0}.appShell.withSideMenu .appShellMain{min-height:100vh}.introFrame{display:grid;gap:18px;max-width:1180px}.introHero{align-items:center;background:radial-gradient(circle at 84% 22%,rgba(183,219,250,.52),transparent 190px),linear-gradient(135deg,#fff,#f2f8ff 62%,#fffaf3);border:1px solid var(--line);border-radius:20px;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) 180px;overflow:hidden;padding:30px 34px}.introHero p,.introSectionHeader p,.introModeSummary p{color:var(--text-muted);line-height:1.75;margin:0}.introHero p{color:var(--primary);font-size:14px;font-weight:700;margin-bottom:8px}.introHero h1{color:var(--text);font-size:clamp(32px,4vw,48px);line-height:1.18;margin:0 0 12px}.introHero span{color:var(--text-muted);display:block;font-weight:700;line-height:1.7;max-width:680px}.introHero img{height:170px;justify-self:end;object-fit:contain;width:170px}.introSection{background:#ffffffe0;border:1px solid var(--line);border-radius:20px;display:grid;gap:18px;padding:24px}.introSectionHeader{display:grid;gap:8px}.introSectionHeader h2{color:var(--text);font-size:clamp(24px,3vw,34px);line-height:1.24;margin:0}.introExamNote{align-items:baseline;background:var(--primary-soft);border:1px solid rgba(36,95,214,.2);border-radius:var(--radius);color:var(--primary-strong);display:flex;flex-wrap:wrap;gap:10px;padding:13px 14px}.introExamNote strong{font-size:22px}.introExamNote span{color:#415678;font-weight:700}.introTableWrap{overflow-x:auto}.introTable{border-collapse:collapse;min-width:680px;width:100%}.introTable th,.introTable td{border-bottom:1px solid var(--line);padding:12px 14px;text-align:left}.introTable th{background:var(--primary-soft);color:var(--primary-strong);font-size:13px}.introTable td{color:#40516b;font-weight:700}.introExamples{background:#f7fbff;border:1px solid #dce7f4;border-radius:var(--radius);display:grid;gap:8px;padding:12px 14px}.introExamples p{color:#40516b;line-height:1.65;margin:0}.introFigure,.introModeShot{background:#fff;border:1px solid #dce7f4;border-radius:var(--radius);margin:0;overflow:hidden;padding:8px}.introFigure img,.introModeShot img{border-radius:6px;display:block;height:auto;width:100%}.introModeList{display:grid;gap:16px}.introModeSection{background:linear-gradient(90deg,#f7fbff,#fff);border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:16px;padding:20px;position:relative}.introModeSection:before{background:var(--primary);border-radius:var(--radius) 0 0 var(--radius);content:"";inset:0 auto 0 0;position:absolute;width:5px}.introModeSection.unit{background:linear-gradient(90deg,#fffaf0,#fff);border-color:#f1d49d}.introModeSection.unit:before{background:#e69013}.introModeSection.battle{background:linear-gradient(90deg,#fff6f5,#fff);border-color:#efc5c0}.introModeSection.battle:before{background:#d9941f}.introModeSummary{align-items:center;display:grid;gap:16px;grid-template-columns:76px 170px minmax(0,1fr)}.introModeSummary h3{color:var(--text);font-size:clamp(24px,3vw,34px);line-height:1.2;margin:0}.introModeSummary div{display:grid;gap:8px}.introModeSummary p{background:#ffffffb8;border:1px solid #dce7f4;border-radius:6px;font-weight:700;padding:8px 10px}.introModeIcon{align-items:center;background:#ffffffbd;border:1px solid #dce7f4;border-radius:var(--radius);color:var(--primary);display:inline-flex;height:76px;justify-content:center;width:76px}.introModeSection.unit .introModeIcon{border-color:#f4d8a4;color:#e69013}.introModeSection.battle .introModeIcon{border-color:#efc5c0;color:#d9941f}.introCoreDetails{border:1px solid var(--line);border-radius:var(--radius);display:grid;overflow:hidden}.introCoreDomain+.introCoreDomain{border-top:1px solid var(--line)}.introCoreDomain summary{align-items:center;background:#f7fbff;cursor:pointer;display:flex;gap:12px;justify-content:space-between;list-style:none;padding:13px 14px}.introCoreDomain summary:after{background:var(--primary);border-radius:999px;color:#fff;content:"折り畳みを開く";flex:0 0 auto;font-size:12px;line-height:1;padding:6px 10px}.introCoreDomain[open] summary:after{background:var(--text);content:"折り畳む"}.introCoreDomain summary::-webkit-details-marker{display:none}.introCoreDomain summary strong{color:var(--text)}.introCoreDomain summary span{color:var(--text-muted);flex:0 0 auto;font-size:13px;margin-left:auto}.introCoreDomain ol{display:grid;margin:0;max-height:430px;overflow:auto;padding:0}.introCoreDomain li{border-top:1px solid #e8eef6;color:#40516b;display:grid;gap:12px;grid-template-columns:155px minmax(0,1fr);list-style:none;padding:10px 14px}.introCoreDomain li span{color:var(--primary-strong);font-weight:700}.introCoreDomain li p{line-height:1.65;margin:0}.lpHomeShell{background:radial-gradient(circle at 34% 15%,rgba(255,255,255,.78) 0 174px,transparent 176px),radial-gradient(circle at 70% -4%,rgba(171,213,250,.76) 0 238px,transparent 240px),linear-gradient(135deg,#f9fbff,#eaf6ff 56%,#fff9f3);display:grid;grid-template-columns:214px minmax(0,1fr);min-height:100vh;overflow:hidden;position:relative}.lpHomeShell.sideMenuHidden{grid-template-columns:minmax(0,1fr)}.lpHomeShell:before{background:linear-gradient(105deg,transparent 0 69%,rgba(255,255,255,.34) 69% 100%),radial-gradient(circle at 100% 71%,rgba(164,210,198,.34) 0 55px,transparent 57px);content:"";inset:0;pointer-events:none;position:absolute}.lpHomeSidebar{background:#ffffff94;border-right:1px solid rgba(183,202,224,.62);display:flex;flex-direction:column;min-height:100vh;padding:48px 26px 22px;position:relative;z-index:1}.lpHomeBrand{align-items:center;display:flex;gap:14px;margin-bottom:34px}.lpHomeBrandIcon{align-items:center;background:#ffffffc2;border-radius:16px;box-shadow:0 8px 18px #3054801a;color:#2e78bd;display:inline-flex;height:48px;justify-content:center;width:48px}.lpHomeBrand strong{color:#20314d;display:block;font-size:18px;font-weight:700;line-height:1.2}.lpHomeBrand span:not(.lpHomeBrandIcon){color:#61718a;display:block;font-size:14px;font-weight:700;margin-top:4px}.lpHomeNav{display:grid;gap:9px}.lpHomeNavItem{align-items:center;appearance:none;background:transparent;border:0;border-radius:14px;color:#51657f;cursor:pointer;display:flex;font-size:15px;font-weight:700;gap:14px;min-height:54px;padding:0 16px;text-align:left}.lpHomeNavItem.active{background:#fff;box-shadow:0 8px 18px #3054801f;color:#2d79cf}.lpHomeNavItem:not(.active):hover{background:#ffffff75}.lpHomeMascotBlock{margin-top:auto;text-align:center}.lpHomeSpeech{background:#ffffffd1;border:1px solid #deebf7;border-radius:28px;box-shadow:0 8px 18px #3054801a;color:#596b83;font-size:14px;font-weight:700;line-height:1.55;margin:0 auto 9px;padding:12px 10px;position:relative;width:150px}.lpHomeSpeech:after{background:inherit;border-bottom:1px solid #deebf7;border-right:1px solid #deebf7;bottom:-7px;content:"";height:13px;left:98px;position:absolute;transform:rotate(45deg);width:13px}.lpHomeSpeechLines{display:block}.lpHomeSpeechLines.mobile{display:none}.lpHomeMascotBlock img{display:block;height:132px;margin:0 auto;object-fit:contain}.lpHomeMain{min-height:100vh;padding:92px 32px 28px;position:relative;z-index:1}.lpHomeMenuControls{align-items:center;display:flex;left:32px;position:absolute;top:28px;z-index:2}.lpHomeTopControls{align-items:center;display:flex;gap:16px;position:absolute;right:32px;top:48px}.lpHomeBell,.lpHomeLevel{align-items:center;background:#ffffffe6;border:1px solid #e2edf8;border-radius:999px;box-shadow:0 8px 18px #3054801f;color:#2877cf;display:inline-flex;justify-content:center}.lpHomeBell{height:54px;position:relative;width:54px}.lpHomeBell i{background:#f14742;border:2px solid #ffffff;border-radius:50%;height:12px;position:absolute;right:9px;top:8px;width:12px}.lpHomeLevel{color:#f4a62d;gap:8px;height:54px;padding:0 20px}.lpHomeLevel strong{color:#34445e;font-size:18px;font-weight:700}.lpHomeHero{margin-left:32px}.lpHomeHero h1{color:#23314d;font-size:41px;font-weight:700;line-height:1.15;margin:0 0 12px}.lpHomeHero p{color:#667790;font-size:17px;font-weight:700;margin:0}.lpHomeModeGrid{display:grid;gap:30px;grid-template-columns:repeat(3,minmax(0,1fr));margin:36px 20px 28px}.lpHomeModeCard{align-items:center;appearance:none;border:2px solid;border-radius:23px;box-shadow:0 10px 22px #30548014;cursor:pointer;display:flex;flex-direction:column;height:292px;justify-content:center;overflow:hidden;padding:28px 20px 24px;position:relative;text-align:center;transition:transform .15s ease,box-shadow .15s ease}.lpHomeModeCard:hover{box-shadow:0 14px 26px #30548021;transform:translateY(-2px)}.lpHomeModeCard.unit{background:radial-gradient(circle at 12% 15%,rgba(255,255,255,.82),transparent 88px),linear-gradient(135deg,#fffaeeeb,#fff7e4cc);border-color:#ffd08c;color:#f49b17}.lpHomeModeCard.mock{background:radial-gradient(circle at 16% 20%,rgba(255,255,255,.88),transparent 88px),linear-gradient(135deg,#f5fafff5,#eaf5ffd1);border-color:#bdd8f2;color:#2476c5}.lpHomeModeCard.battle{background:radial-gradient(circle at 20% 17%,rgba(255,255,255,.82),transparent 92px),linear-gradient(135deg,#fff6f5f2,#ffebe8c7);border-color:#ffbdb7;color:#df5149}.lpHomeModeIconGraphic{filter:drop-shadow(0 5px 3px rgba(40,60,90,.14));margin-bottom:22px}.lpHomeModeCard.unit .lpHomeModeIconGraphic{color:#e69013}.lpHomeModeCard.mock .lpHomeModeIconGraphic{color:#2476c5}.lpHomeModeCard.battle .lpHomeModeIconGraphic{color:#d9941f}.lpHomeModeCard strong{font-size:32px;font-weight:700;line-height:1.1;margin-bottom:14px}.lpHomeModeCard small{color:#50627c;font-size:15px;font-weight:700}.lpHomeRoundAction{align-items:center;border-radius:50%;box-shadow:0 8px 14px #30548029;color:#fff;display:inline-flex;height:48px;justify-content:center;margin-top:22px;width:48px}.lpHomeModeCard.unit .lpHomeRoundAction{background:#ff9f16}.lpHomeModeCard.mock .lpHomeRoundAction{background:#287cca}.lpHomeModeCard.battle .lpHomeRoundAction{background:#e44740}.lpHomeModeDecoration{border-radius:3px;opacity:.7;position:absolute;transform:rotate(45deg)}.lpHomeModeDecoration.one{background:currentColor;height:12px;left:44px;top:39px;width:12px}.lpHomeModeDecoration.two{background:#ffffffdb;height:16px;right:37px;top:45px;width:16px}.lpHomeBottomGrid{display:grid;gap:14px;grid-template-columns:minmax(0,1fr) 360px;margin:0}.lpHomeProgressPanel,.lpHomeNoticePanel{background:#ffffffd1;border:1px solid #dce8f5;border-radius:20px;box-shadow:0 10px 24px #3054801a}.lpHomeProgressPanel{margin:0 20px;min-height:190px;padding:19px 27px 18px}.lpHomeProgressPanel h2,.lpHomeNoticePanel h2{color:#243654;font-size:20px;font-weight:700;margin:0}.lpHomeProgressBody{align-items:center;display:grid;gap:26px;grid-template-columns:150px minmax(0,1fr);margin-top:16px}.lpHomeProgressRing{display:grid;height:140px;place-items:center;position:relative;width:140px}.lpHomeProgressRing svg{height:140px;transform:rotate(-90deg);width:140px}.lpHomeProgressRing circle{fill:none;stroke:#e7edf5;stroke-width:12}.lpHomeProgressRing circle+circle{stroke:#f3a323;stroke-dasharray:calc(var(--progress, 0) * 2.83) 283;stroke-linecap:butt}.lpHomeProgressRing div{position:absolute;text-align:center}.lpHomeProgressRing strong{color:#243654;display:block;font-size:33px;font-weight:700;line-height:1}.lpHomeProgressRing span{color:#687890;display:block;font-size:13px;font-weight:700;margin-top:8px}.lpHomePanelHeader>span{background:#eef7ff;border:1px solid #d8e8f7;border-radius:999px;color:#2c79c8;font-size:13px;font-weight:700;padding:7px 12px}.lpHomeProgressSummary{align-items:end;display:grid;gap:18px;grid-template-columns:minmax(220px,.8fr) minmax(240px,1.2fr)}.lpHomeProgressSummary dl{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.lpHomeProgressSummary div{min-width:0}.lpHomeProgressSummary dt{color:#7a879a;font-size:13px;font-weight:700;margin-bottom:7px}.lpHomeProgressSummary dd{color:#2b4163;font-size:22px;font-weight:700;margin:0;white-space:nowrap}.lpHomeDailyChart{align-items:stretch;display:grid;gap:10px;grid-template-columns:44px minmax(0,1fr);height:118px}.lpHomeDailyAxis{color:#8795a8;display:flex;flex-direction:column;font-size:11px;font-weight:700;justify-content:space-between;line-height:1;padding:3px 0 22px;text-align:right}.lpHomeDailyBars{align-items:end;border-bottom:1px solid #dfeaf6;border-left:1px solid #dfeaf6;display:grid;gap:11px;grid-template-columns:repeat(7,minmax(0,1fr));height:100%;padding:0 0 0 8px;position:relative}.lpHomeDailyBars:before,.lpHomeDailyBars:after{background:#edf4fb;content:"";height:1px;left:0;position:absolute;right:0}.lpHomeDailyBars:before{top:0}.lpHomeDailyBars:after{top:50%}.lpHomeDailyBars div{align-items:center;display:flex;flex-direction:column;gap:8px;height:calc(100% - 18px);justify-content:flex-end;position:relative;z-index:1}.lpHomeDailyBars i{background:linear-gradient(180deg,#2d80d2,#f3a323);border-radius:999px;display:block;min-height:10px;width:12px}.lpHomeDailyBars span{color:#8795a8;font-size:12px;font-weight:700;white-space:nowrap}.lpHomeWeekly{align-items:end;display:grid;gap:10px;grid-template-columns:minmax(160px,.9fr) minmax(180px,1.1fr)}.lpHomeWeeklyText{padding-bottom:10px}.lpHomeWeeklyText p{color:#7a879a;font-size:14px;font-weight:700;margin:0 0 12px}.lpHomeWeeklyText>span{background:#fff;border:1px solid #dce8f5;border-radius:999px;color:#6d7d93;display:inline-block;font-size:13px;font-weight:700;margin-bottom:13px;padding:8px 14px}.lpHomeWeeklyText strong{color:#2b4163;display:block;font-size:29px;font-weight:700}.lpHomeWeeklyText strong span{color:#647790;font-size:14px;margin-left:4px}.lpHomeLineChart{height:130px;width:100%}.lpHomeLineChart path:first-child{fill:none;stroke:#e5edf6;stroke-width:1}.lpHomeLineChart path:nth-child(2){fill:none;stroke:#2d80d2;stroke-linecap:round;stroke-linejoin:round;stroke-width:4}.lpHomeLineChart circle{fill:#fff;stroke:#2d80d2;stroke-width:4}.lpHomeLineChart text{fill:#8795a8;font-size:13px;font-weight:700}.lpHomeNoticePanel{min-height:220px;padding:19px 28px 16px}.lpHomePanelHeader{align-items:center;display:flex;justify-content:space-between;margin-bottom:17px}.lpHomePanelHeader button{align-items:center;appearance:none;background:transparent;border:0;color:#2c79c8;display:inline-flex;font-size:13px;font-weight:700;gap:4px;padding:0}.lpHomeNoticeList{display:grid;gap:0;list-style:none;margin:0;padding:0}.lpHomeNoticeList li{align-items:center;border-top:1px solid #e5edf6;display:grid;gap:12px;grid-template-columns:34px minmax(0,1fr) 88px;min-height:50px}.lpHomeNoticeList li:first-child{border-top:0}.lpHomeNoticeList span{align-items:center;background:#eef7ff;border-radius:50%;color:#2c79c8;display:inline-flex;height:34px;justify-content:center;width:34px}.lpHomeNoticeList strong{color:#53657d;font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lpHomeNoticeList time{color:#6f8198;font-size:12px;font-weight:700;text-align:right}.lpHomeSpark{border-radius:2px;height:10px;opacity:.65;pointer-events:none;position:absolute;transform:rotate(45deg);width:10px}.lpHomeSpark.sparkA{background:#fff;left:50px;top:50px}.lpHomeSpark.sparkB{background:#fff;left:57%;top:60px}.lpHomeSpark.sparkC{background:#a6d9ef;right:14px;top:190px}.lpHomeSpark.sparkD{background:#ffae9d;right:-2px;top:258px}.lpHomeLeaves{bottom:238px;height:116px;pointer-events:none;position:absolute;right:2px;width:70px}.lpHomeLeaves:before{background:#b9d9d0;border-radius:999px;bottom:0;content:"";height:104px;left:36px;position:absolute;transform:rotate(11deg);width:5px}.lpHomeLeaves i{background:#98c9be8a;border-radius:50% 0 50% 50%;display:block;height:36px;position:absolute;transform:rotate(28deg);width:18px}.lpHomeLeaves i:nth-child(1){left:12px;top:58px}.lpHomeLeaves i:nth-child(2){left:39px;top:42px;transform:rotate(-30deg)}.lpHomeLeaves i:nth-child(3){left:28px;top:12px}.wrongAnswerRealOverlay{align-items:center;display:flex;inset:0;justify-content:center;pointer-events:none;position:fixed;z-index:80}.wrongAnswerRealOverlay img{animation:wrongAnswerRealPulse .42s ease both;height:100vh;max-height:100vh;max-width:100vw;object-fit:contain;opacity:.12;width:100vw}@keyframes wrongAnswerRealPulse{0%{opacity:0;transform:scale(.98)}to{opacity:.12;transform:scale(1)}}@keyframes streamingCursorBlink{0%,45%{opacity:1}46%,to{opacity:0}}@keyframes explanationThinkingSway{0%,to{transform:translate(0)}50%{transform:translate(5px)}}@media(prefers-reduced-motion:reduce){.streamingTextCursor,.explanationThinking{animation:none}}.pageFrame{animation:pageIn .18s ease-out;margin:0 auto;max-width:1180px;padding:28px 24px}.practiceFrame{max-width:980px}.completeFrame{max-width:820px}.homeModeFrame{max-width:920px}.topBar{background:#f1f8ffc7;border-bottom:0;padding:20px 28px 12px;position:relative;z-index:1}.topBarInner{align-items:center;background:#ffffffd6;border:1px solid rgba(189,210,232,.78);border-radius:20px;box-shadow:0 10px 24px #30548014;display:grid;gap:14px;grid-template-columns:minmax(180px,.42fr) minmax(0,1fr);padding:14px 18px}.topBarInner.withSideMenuToggle{grid-template-columns:auto minmax(180px,.42fr) minmax(0,1fr)}.sideMenuToggleButton{align-items:center;appearance:none;background:#f4f9ff;border:1px solid rgba(183,202,224,.82);border-radius:10px;color:#4f6681;cursor:pointer;display:inline-flex;height:42px;justify-content:center;width:42px}.sideMenuToggleButton:hover{background:#fff;color:#2d79cf}.appShell.withSideMenu .topBar{background:transparent;padding:28px 32px 8px}.appShell.withSideMenu .topBarInner{max-width:none}.topBarTitle{min-width:0}.topBarTitleButton{appearance:none;background:transparent;border:0;color:inherit;cursor:pointer;display:block;font:inherit;padding:0;text-align:left}.topBarTitleButton:hover h1{color:var(--primary-strong)}.topBarControls{align-items:center;display:flex;gap:10px;justify-content:flex-end;min-width:0}.topNavTrail{align-items:center;display:flex;gap:8px;justify-content:flex-end;min-width:0;overflow-x:auto;padding:2px 0;scrollbar-width:thin}.soundToggle{align-items:center;appearance:none;background:#ffffffc2;border:1px solid rgba(182,200,223,.9);border-radius:999px;color:var(--text-muted);cursor:pointer;display:inline-flex;flex:0 0 auto;gap:8px;font:inherit;font-size:13px;font-weight:700;min-height:34px;max-width:180px;padding:5px 6px 5px 10px;transition:background .15s ease,border-color .15s ease,color .15s ease}.soundToggle span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.soundToggle i{background:#c8d3e1;border-radius:999px;display:block;height:18px;position:relative;transition:background .15s ease;width:34px}.soundToggle i:after{background:#fff;border-radius:999px;box-shadow:0 1px 3px #1c37552e;content:"";height:14px;left:2px;position:absolute;top:2px;transition:transform .15s ease;width:14px}.soundToggle.active{background:#2478a81a;border-color:#2478a857;color:var(--primary-strong)}.soundToggle.active i{background:var(--primary)}.soundToggle.active i:after{transform:translate(16px)}.topNavItem{align-items:center;appearance:none;background:#ffffffb8;border:1px solid rgba(182,200,223,.9);border-radius:999px;color:var(--text-muted);cursor:pointer;display:inline-flex;flex:0 1 auto;font:inherit;font-size:13px;font-weight:700;justify-content:center;line-height:1.2;max-width:min(260px,36vw);min-height:34px;overflow:hidden;padding:7px 11px;text-overflow:ellipsis;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease;white-space:nowrap}.topNavItem:hover{border-color:#245fd661;color:var(--primary-strong);transform:translateY(-1px)}.topNavItem.active{background:var(--primary);border-color:var(--primary);color:#fff;cursor:default;flex-shrink:0}.modeGrid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:22px}.modeCard{appearance:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-md);color:inherit;cursor:pointer;min-height:210px;padding:22px;text-align:left;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.modeCard:hover{border-color:var(--primary);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.modeCard span{color:var(--primary);display:block;font-size:12px;font-weight:800;margin-bottom:28px}.modeCard h2{font-size:24px;margin:0 0 10px}.modeCard p{color:var(--text-muted);line-height:1.7;margin:0}.topBar>div{margin:0 auto;max-width:1180px}.topBar p,.sectionTitle p,.quizHeader p{color:var(--text-muted);font-size:13px;margin:0 0 4px}.topBar h1,.sectionTitle h1,.quizHeader h2{margin:0;line-height:1.2}.topBar h1{font-size:24px;font-weight:700;letter-spacing:0}.workspace{display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px;padding:20px}.sidebar,.mainArea{min-width:0}.sidebar{display:flex;flex-direction:column;gap:16px}.mainArea{display:block;align-items:start}.chapterPage .chapterArea,.practicePage .quizArea{animation:pageIn .18s ease-out}.practicePage .quizArea{margin:0 auto;max-width:980px}.panel,.chapterArea,.quizArea,.quizPanel,.completePanel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-md)}.panel{padding:14px}.panelHeader,.sectionTitle,.quizHeader,.answerHeader,.quizActions,.chapterMeta{display:flex;align-items:center;justify-content:space-between;gap:12px}.panelHeader h2{font-size:15px;margin:0}.panelHeader span{color:var(--text-muted);font-size:13px}.unitList{display:flex;flex-direction:column;gap:8px;margin-top:12px}.unitButton,.choiceButton,.unitCard,.datasetCard{appearance:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:inherit;cursor:pointer;text-align:left;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease,background .15s ease;width:100%}.unitButton{display:flex;flex-direction:column;gap:4px;padding:10px 12px}.unitGrid{display:grid;gap:12px;grid-template-columns:1fr}.datasetGrid{display:grid;gap:14px;grid-template-columns:1fr 1fr}.unitCard,.datasetCard{align-items:center;box-shadow:var(--shadow-sm);display:grid;gap:14px;grid-template-columns:minmax(220px,.42fr) minmax(220px,1fr) auto;min-height:92px;padding:16px 18px}.unitCard:hover,.datasetCard:hover,.chapterCard:hover{border-color:#245fd657;box-shadow:var(--shadow-md);transform:translateY(-1px)}.unitCard p,.unitCard h2,.unitCard small,.datasetCard p,.datasetCard h2,.datasetCard span{margin:0}.unitCard p,.datasetCard p{color:var(--text-muted);font-size:13px}.unitCard h2,.datasetCard h2{color:var(--text);font-size:22px;font-weight:800;letter-spacing:0}.datasetCard{align-items:stretch;grid-template-columns:1fr;min-height:210px}.datasetCard span{color:var(--text-muted);display:block;line-height:1.6;margin-top:8px}.unitCard small{background:var(--primary-soft);border:1px solid rgba(36,95,214,.18);border-radius:999px;color:var(--primary-strong);font-size:15px;font-weight:700;justify-self:end;padding:7px 11px;white-space:nowrap}.unitButton strong{font-size:14px}.unitButton small,.chapterCard small{color:var(--text-muted)}.unitButton.active,.chapterCard.active{background:var(--primary-soft);border-color:#245fd680;box-shadow:inset 3px 0 0 var(--primary)}.progressTrack{background:#e8edf3;border-radius:999px;height:8px;margin:12px 0;overflow:hidden}.progressFill{background:var(--progress-correct, #2478a8);height:100%;transition:width .16s ease}.stackedProgressTrack{background:#e8edf3;border-radius:999px;height:12px;margin:6px 0 0;overflow:hidden}.stackedProgressAttempted{display:flex;height:100%}.stackedProgressCorrect,.stackedProgressWrong{flex:0 0 auto;height:100%;transition:width .16s ease}.stackedProgressCorrect{background:var(--progress-correct, #2478a8)}.stackedProgressWrong{background:var(--progress-wrong, #d05a50)}.summaryGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.summaryGrid div{background:var(--surface-muted);border:1px solid var(--line);border-radius:var(--radius);padding:10px}.summaryGrid dt{color:var(--text-muted);font-size:12px}.summaryGrid dd{font-size:22px;font-weight:700;margin:2px 0 0}.cardStats,.statusStrip{display:grid;gap:10px;margin:0}.cardStats{align-items:center;grid-template-columns:90px 90px minmax(240px,1fr)}.statusStrip{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:16px}.cardStats>div,.statusStrip>div{background:var(--surface-muted);border:1px solid var(--line);border-radius:var(--radius);padding:10px}.cardStats .progressCell{background:transparent;border:0;padding:0}.cardStats dt,.statusStrip dt{color:var(--text-muted);font-size:12px;font-weight:700}.cardStats dd,.statusStrip dd{font-size:20px;font-weight:700;margin:2px 0 0}.chapterArea,.quizArea{padding:22px}.sectionTitle{margin-bottom:18px}.sectionTitle h1{color:var(--text);font-size:24px;font-weight:850;letter-spacing:0}.chapterGrid{display:grid;gap:12px;grid-template-columns:1fr}.chapterCard{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 1px #11182708;display:grid;gap:16px;grid-template-columns:minmax(220px,.75fr) minmax(300px,1fr) auto;min-width:0;padding:16px 18px;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease,background .15s ease}.chapterCard p,.chapterCard h2{margin:0}.chapterCard p{color:var(--text-muted);font-size:13px;font-weight:700}.chapterCard h2{font-size:17px;font-weight:800;overflow-wrap:anywhere}.chapterMeta{flex-wrap:wrap;justify-content:flex-start;min-width:0}.chapterMeta span{background:var(--surface-muted);border:1px solid rgba(217,225,234,.8);border-radius:999px;color:var(--text-muted);font-size:12px;max-width:100%;overflow-wrap:anywhere;padding:5px 9px}.buttonGroup{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;min-width:0}.chapterCard .buttonGroup{flex-wrap:nowrap}.chapterCard .secondaryButton{white-space:nowrap}.selectControl{align-items:center;display:inline-flex;gap:8px}.selectControl span{color:var(--text-muted);font-size:12px;font-weight:700}.selectControl select{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--text);min-height:38px;padding:8px 32px 8px 10px}.primaryButton,.secondaryButton,.textButton{align-items:center;border-radius:var(--radius);cursor:pointer;display:inline-flex;font-weight:750;justify-content:center;line-height:1.25;min-height:38px;min-width:0;padding:8px 12px;text-align:center;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease,transform .15s ease;white-space:normal}.primaryButton{background:var(--primary);border:1px solid var(--primary);box-shadow:0 8px 18px #245fd62e;color:#fff}.secondaryButton{background:var(--surface);border:1px solid var(--line-strong);color:var(--text)}.textButton{background:transparent;border:0;color:var(--primary-strong)}.primaryButton:hover:not(:disabled),.secondaryButton:hover:not(:disabled),.textButton:hover:not(:disabled){transform:translateY(-1px)}.primaryButton:hover:not(:disabled){background:var(--primary-strong);border-color:var(--primary-strong);box-shadow:0 10px 22px #245fd638}.secondaryButton:hover:not(:disabled){border-color:#245fd657;box-shadow:var(--shadow-sm);color:var(--primary-strong)}.primaryButton:disabled,.secondaryButton:disabled,.choiceButton:disabled{cursor:not-allowed;opacity:.62}.quizArea{min-height:520px}.practiceMockActions{display:flex;justify-content:flex-end;margin:0 0 12px}.practiceNav{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;margin-bottom:18px;padding-bottom:14px}.practiceNav span{color:var(--text-muted);font-size:13px;font-weight:700}.pageNav{align-items:center;display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.pageNav span{color:var(--text-muted);font-size:13px}.sessionBar{align-items:center;background:linear-gradient(180deg,#f9fbfc,#f4f8fa);border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:14px;grid-template-columns:auto minmax(160px,1fr) auto;margin-bottom:18px;padding:12px}.sessionBar p,.sessionBar strong{margin:0}.sessionBar p{color:var(--text-muted);font-size:12px;font-weight:750}.sessionBar strong{display:block;font-size:20px;letter-spacing:0}.completePanel{padding:30px}.completeHeader{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:24px}.completeHeader .answerMascot{height:124px;opacity:.9}.completeHeader p,.completeHeader h1{margin:0}.completeHeader p{color:var(--text-muted);font-size:14px;margin-bottom:6px}.completeHeader h1{font-size:30px;font-weight:850;letter-spacing:0}.scoreBlock{background:linear-gradient(180deg,#f9fbfc,#f4f8fa);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.scoreBlock>div{align-items:baseline;display:flex;gap:12px;margin-bottom:12px}.scoreBlock p,.scoreBlock strong,.scoreBlock span{margin:0}.scoreBlock p{color:var(--text-muted);font-size:14px;font-weight:700}.scoreBlock strong{font-size:42px}.scoreBlock span{color:var(--text-muted)}.scoreBlock .progressTrack{height:18px}.completeStats{display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin:18px 0}.completeStats div{background:var(--surface-muted);border:1px solid var(--line);border-radius:var(--radius);padding:12px}.completeStats dt{color:var(--text-muted);font-size:12px;font-weight:700}.completeStats dd{font-size:24px;font-weight:700;margin:4px 0 0}.completeActions{display:flex;gap:10px;justify-content:flex-end}.mockResultSection{border-top:1px solid var(--line);display:grid;gap:12px;margin-top:18px;padding-top:18px}.mockResultHeader{align-items:center;display:flex;gap:12px;justify-content:space-between}.mockResultHeader h2,.mockResultHeader span{margin:0}.mockResultHeader h2{font-size:18px}.mockResultHeader span{color:var(--text-muted);font-size:13px;font-weight:700}.mockResultList{display:grid;gap:8px}.mockResultRow{align-items:center;background:var(--surface-muted);border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto auto;padding:11px 12px}.mockResultRow strong,.mockResultRow p,.mockResultRow small,.mockResultRow span{margin:0}.mockResultRow strong{display:block}.mockResultRow span,.mockResultRow small{color:var(--text-muted);font-size:12px;font-weight:700}.mockResultRow p{font-size:18px;font-weight:700}.mockDomainGrid{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.mockDomainCell{background:var(--surface-muted);border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:4px;padding:11px}.mockDomainCell strong{color:var(--primary-strong)}.mockDomainCell span{color:var(--text-muted);font-weight:700}.mockBuildFrame{display:grid;max-width:920px}.mockBuildPanel{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:18px;justify-items:center;padding:28px}.mockBuildAnimation{aspect-ratio:1 / 1;max-width:380px;width:min(54vw,380px)}.mockBuildGif{height:100%;object-fit:contain;width:100%}.mockBuildStatus{display:grid;gap:14px;max-width:520px;width:100%}.mockBuildText{color:#245f8e;font-family:Hiragino Maru Gothic ProN,Yu Gothic,Noto Sans JP,system-ui,sans-serif;font-size:clamp(30px,4vw,44px);font-weight:700;letter-spacing:0;line-height:1.1;margin:0;text-align:center}.mockBuildText span{animation:mockBuildTextBounce 1.3s ease-in-out infinite;display:inline-block;transform-origin:center bottom}.mockBuildProgress{align-items:center;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) 54px}.mockBuildProgress strong{color:var(--primary-strong);font-size:18px;font-weight:700;text-align:right}.mockBlockSelectFrame{display:grid;gap:18px;max-width:1180px}.mockBlockSelectGrid{display:grid;gap:12px;grid-template-columns:1fr}.mockBlockSelectCard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);cursor:pointer;display:grid;gap:14px;min-height:180px;padding:18px;text-align:left;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.mockBlockSelectCard:hover{border-color:#245fd66b;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.mockBlockSelectCard.active{background:var(--primary-soft);border-color:#245fd647}.mockBlockSelectCard.completed{background:var(--accent-soft);border-color:#2e7d6142}.mockBlockSelectTitle{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.mockBlockSelectTitle span,.mockBlockSelectTitle h2,.mockBlockSelectTitle strong,.mockBlockSelectCard dl,.mockBlockSelectCard dt,.mockBlockSelectCard dd{margin:0}.mockBlockSelectTitle span{color:var(--text-muted);display:block;font-size:13px;font-weight:700;margin-bottom:4px}.mockBlockSelectTitle h2{font-size:26px;font-weight:760;letter-spacing:0}.mockBlockSelectTitle strong{background:#ffffffc2;border:1px solid var(--line);border-radius:999px;color:var(--text-muted);font-size:13px;font-weight:700;padding:5px 9px;white-space:nowrap}.mockBlockSelectCard.completed .mockBlockSelectTitle strong{color:var(--accent)}.mockBlockSelectCard dl{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.mockBlockSelectCard dl div{background:#ffffffb8;border:1px solid rgba(182,200,223,.72);border-radius:var(--radius);display:grid;gap:2px;padding:10px}.mockBlockSelectCard dt{color:var(--text-muted);font-size:12px;font-weight:700}.mockBlockSelectCard dd{font-size:22px;font-weight:760}.mockHistoryFrame{display:grid;gap:18px;max-width:1180px}.mockHistoryList{display:grid;gap:12px}.mockHistoryCard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);display:grid;gap:14px;padding:18px}.mockHistorySummary{align-items:center;display:flex;justify-content:space-between;gap:12px}.mockHistorySummary p,.mockHistorySummary h2{margin:0}.mockHistorySummary p{color:var(--text-muted);font-size:13px;font-weight:700}.mockHistorySummary h2{font-size:38px;letter-spacing:0}.mockHistorySummary span{color:var(--primary-strong);font-size:16px;font-weight:800;white-space:nowrap}.mockHistoryBlocks{display:grid;gap:8px;grid-template-columns:repeat(6,minmax(0,1fr))}.mockHistoryBlocks div{background:#f7f9fc;border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:3px;padding:9px}.mockHistoryBlocks span{color:var(--text-muted);font-size:12px;font-weight:700;overflow-wrap:anywhere}.mockHistoryBlocks strong{font-size:18px}.mockScoreRevealFrame,.mockScoreFrame,.mockReviewFrame{display:grid;gap:18px;max-width:1180px}.mockScoreRevealStage{--score-accent: #245fd6;--score-soft: rgba(36, 95, 214, .12);align-items:center;background:linear-gradient(135deg,#fffffff5,#f5f8ffeb),linear-gradient(90deg,#245fd61a,#127a6017,#b7791f1a);border:1px solid rgba(182,200,223,.86);border-radius:var(--radius);box-shadow:var(--shadow-md);display:grid;gap:22px;justify-items:center;min-height:min(760px,calc(100vh - 150px));overflow:hidden;padding:clamp(18px,4vw,34px);position:relative}.scoreBand-under49 .mockScoreRevealStage{--score-accent: #6b7280;--score-soft: rgba(107, 114, 128, .16)}.scoreBand-50_64 .mockScoreRevealStage,.scoreBand-65_79 .mockScoreRevealStage{--score-accent: #127a60;--score-soft: rgba(18, 122, 96, .15)}.scoreBand-80_89 .mockScoreRevealStage,.scoreBand-90_99 .mockScoreRevealStage,.scoreBand-100 .mockScoreRevealStage{--score-accent: #b7791f;--score-soft: rgba(183, 121, 31, .16)}.mockScoreRevealBlocks{display:grid;gap:10px;grid-template-columns:repeat(6,minmax(0,1fr));max-width:980px;width:100%}.mockScoreRevealBlock{animation:mockScoreRevealBlock .52s ease forwards;background:#ffffffd1;border:1px solid rgba(182,200,223,.82);border-radius:var(--radius);display:grid;gap:4px;min-height:92px;opacity:0;padding:13px;transform:translateY(12px)}.mockScoreRevealBlock span,.mockScoreRevealBlock strong,.mockScoreRevealBlock small,.mockScoreRevealTotal p,.mockScoreRevealTotal strong,.mockScoreRevealTotal span{margin:0}.mockScoreRevealBlock span{color:var(--text-muted);font-size:13px;font-weight:700}.mockScoreRevealBlock strong{color:var(--score-accent);font-size:clamp(28px,4vw,42px);font-weight:700;letter-spacing:0;line-height:1}.mockScoreRevealBlock small{color:var(--text-muted);font-size:13px;font-weight:700}.mockScoreRevealFinal{align-items:center;animation:mockScoreRevealFinal .82s cubic-bezier(.2,.8,.2,1) forwards;display:grid;gap:14px;justify-items:center;opacity:0;transform:scale(.96)}.mockScoreRevealTotal{align-items:center;background:#ffffffc7;border:1px solid rgba(182,200,223,.72);border-radius:var(--radius);display:grid;gap:8px;grid-template-columns:1fr;justify-items:center;padding:14px 18px;text-align:center}.mockScoreRevealTotal p{color:var(--text-muted);font-size:15px;font-weight:700}.mockScoreRevealTotal strong{color:var(--score-accent);font-size:clamp(64px,12vw,118px);font-weight:700;letter-spacing:0;line-height:.86}.mockScoreRevealTotal span{color:var(--text-muted);font-size:18px;font-weight:700}.mockScoreRevealMascot{filter:drop-shadow(0 12px 18px rgba(20,33,54,.12));height:min(36vh,360px);max-width:min(74vw,420px);object-fit:contain}.mockScoreRevealButton{animation:mockScoreRevealButton .42s ease forwards;opacity:0}.mockScoreHero{align-items:stretch;background:linear-gradient(135deg,#245fd61f,#2e7d611f),var(--surface);border:1px solid rgba(36,95,214,.2);border-radius:var(--radius);display:grid;gap:16px;grid-template-columns:minmax(220px,.75fr) minmax(320px,1fr) minmax(120px,180px);padding:22px}.mockScoreHero>div{display:grid;gap:4px}.mockScoreHero p,.mockScoreHero h1,.mockScoreHero span,.mockScoreHero dl,.mockScoreHero dt,.mockScoreHero dd{margin:0}.mockScoreHero p{color:var(--text-muted);font-size:13px;font-weight:700}.mockScoreHero h1{color:var(--primary-strong);font-size:clamp(44px,8vw,72px);font-weight:800;letter-spacing:0;line-height:1}.mockScoreHero span,.mockScoreHero dt{color:var(--text-muted);font-weight:700}.mockScoreHero small{color:var(--accent);font-size:13px;font-weight:700;margin-top:4px}.mockScoreHero dl{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.mockScoreHero dl div{background:#ffffffb8;border:1px solid rgba(182,200,223,.78);border-radius:var(--radius);display:grid;gap:4px;padding:14px}.mockScoreHero dd{color:var(--text);font-size:26px;font-weight:700}.mockScoreMascot{align-self:end;justify-self:center;max-height:200px;max-width:210px;object-fit:contain;width:100%}.mockBlockScoreGrid{display:grid;gap:12px;grid-template-columns:repeat(6,minmax(0,1fr))}.mockBlockScoreCard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:10px;min-width:0;padding:14px}.mockBlockScoreCard p,.mockBlockScoreCard h2,.mockBlockScoreCard span{margin:0}.mockBlockScoreCard p{color:var(--text-muted);font-size:12px;font-weight:700}.mockBlockScoreCard h2{font-size:25px;font-weight:760;letter-spacing:0}.mockBlockScoreCard span{color:var(--text-muted);font-size:13px;font-weight:700}.mockReviewSections{display:grid;gap:14px}.mockReviewBlock{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:12px;padding:16px}.mockReviewBlockHeader,.mockReviewHeader{align-items:center;display:flex;gap:12px;justify-content:space-between}.mockReviewBlockHeader h2,.mockReviewBlockHeader span,.mockReviewHeader p,.mockReviewHeader h1{margin:0}.mockReviewBlockHeader h2,.mockReviewHeader h1{font-size:20px;font-weight:760;letter-spacing:0}.mockReviewBlockHeader span,.mockReviewHeader p{color:var(--text-muted);font-size:13px;font-weight:700}.mockQuestionMatrix{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(48px,1fr))}.mockQuestionCell{align-items:center;aspect-ratio:1 / 1;background:var(--surface-muted);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);cursor:pointer;display:grid;gap:3px;justify-items:center;min-height:48px;padding:6px;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.mockQuestionCell strong,.mockQuestionCell span{line-height:1}.mockQuestionCell strong{font-size:13px;font-weight:760}.mockQuestionCell span{align-items:center;border-radius:999px;display:inline-flex;font-size:13px;font-weight:760;height:22px;justify-content:center;width:22px}.mockQuestionCell.correct{background:var(--accent-soft);border-color:#2e7d615c}.mockQuestionCell.correct span{background:var(--accent);color:#fff}.mockQuestionCell.wrong{background:var(--danger-soft);border-color:#b9443d5c}.mockQuestionCell.wrong span{background:var(--danger);color:#fff}.mockQuestionCell.unanswered span{background:#d8e1ec;color:var(--text-muted)}.mockQuestionCell:hover{border-color:#245fd66b;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.mockReviewHeader{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.mockReviewQuiz{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.quizPanel{border:0;box-shadow:none}.quizHeader{border-bottom:1px solid var(--line);padding-bottom:16px}.resultBadge{background:var(--surface-muted);border:1px solid var(--line);border-radius:999px;color:var(--text-muted);font-size:13px;font-weight:800;padding:6px 10px;white-space:nowrap}.resultBadge.correct{background:var(--accent-soft);border-color:#2e7d612e;color:var(--accent)}.resultBadge.wrong{background:var(--danger-soft);border-color:#b9443d2e;color:var(--danger)}.resultBadge.saved{background:var(--primary-soft);border-color:#245fd633;color:var(--primary-strong)}.questionText{color:var(--text);font-size:20px;font-weight:780;line-height:1.75;margin:24px 0}.caseSeriesLead{background:var(--surface-muted);border:1px solid var(--line);border-radius:var(--radius);color:#425064;line-height:1.7;margin:18px 0;padding:12px 14px}.caseSeriesList{display:grid;gap:18px}.caseQuestionCard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px}.caseQuestionHeader{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.caseQuestionHeader p,.caseQuestionHeader h3{margin:0}.caseQuestionHeader p{color:var(--text-muted);font-size:13px}.caseQuestionHeader h3{font-size:18px}.choices{display:grid;gap:11px}.choiceButton{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;line-height:1.6;padding:13px 14px}.choiceButton span{align-items:center;background:var(--surface-muted);border:1px solid var(--line);border-radius:999px;color:var(--text-muted);display:inline-flex;font-weight:700;height:30px;justify-content:center;line-height:1;text-transform:uppercase;width:30px}.choiceButton strong{font-weight:650}.choiceButton.selected{background:var(--primary-soft);border-color:#176b878c;box-shadow:inset 3px 0 0 var(--primary)}.choiceButton.selected span{background:var(--primary);border-color:var(--primary);color:#fff}.choiceButton.answer{background:var(--accent-soft);border-color:#2e7d618c;box-shadow:inset 3px 0 0 var(--accent)}.choiceButton.answer span{background:var(--accent);border-color:var(--accent);color:#fff}.choiceButton.wrong{background:var(--danger-soft);border-color:#b9443d7a;box-shadow:inset 3px 0 0 var(--danger)}.choiceButton.wrong span{background:var(--danger);border-color:var(--danger);color:#fff}.choiceButton:hover:not(:disabled){border-color:#176b876b;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.battleHeroText p,.battlePanelHeader p,.battleCompleteHero p,.battleRoomHeader p{color:var(--primary);font-size:13px;font-weight:700;margin:0 0 6px}.battleHeroText span,.battleCompleteHero span{color:var(--text-muted);display:block;line-height:1.7}.userModeChoiceCard.battleCard{background:linear-gradient(135deg,#fff,#f8fbff 50%,#e7efffcc)}.battleFrame{max-width:1180px}.battleHero{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);display:grid;gap:20px;grid-template-columns:minmax(0,1fr) minmax(160px,220px);margin-bottom:14px;overflow:hidden;padding:20px 24px}.battleHeroText{align-items:center;display:flex;gap:14px;min-width:0}.battleHeroText h1{font-size:clamp(28px,4vw,42px);line-height:1.18;margin:0 0 8px}.battleHero img{height:180px;justify-self:end;max-width:100%;object-fit:contain}.battleModeIcon{align-items:center;background:var(--primary-soft);border:1px solid rgba(36,95,214,.18);border-radius:var(--radius);color:var(--primary-strong);display:inline-flex;flex:0 0 auto;height:54px;justify-content:center;width:54px}.battleStatusBanner{align-items:center;background:var(--surface-muted);border:1px solid var(--line);border-radius:var(--radius);color:var(--text-muted);display:flex;gap:8px;margin-bottom:12px;padding:10px 12px}.battleStatusBanner.error{background:var(--danger-soft);border-color:#b9443d47;color:var(--danger)}.battleMenuGrid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.battleMenuFrame{max-width:1220px}.battleCreateLayout{display:grid;gap:18px;grid-template-columns:minmax(0,1fr);min-width:0}.battleCreateMainPanel{background:#ffffffdb;border:1px solid #dce8f5;border-radius:20px;box-shadow:0 10px 24px #30548014}.battleCreateMainPanel{display:grid;gap:18px;min-width:0;padding:24px}.battleCreateHeader{align-items:center;display:flex;gap:18px;justify-content:space-between;min-width:0}.battleCreateHeader>div{min-width:0}.battleCreateHeader p,.battleCreateHeader h1{margin:0}.battleCreateHeader p{color:#2b78d0;font-size:13px;font-weight:700;margin-bottom:6px}.battleCreateHeader h1{color:#20314d;font-size:clamp(24px,3vw,30px);line-height:1.25;overflow-wrap:anywhere}.battleCreateHeader img{flex:0 0 auto;height:112px;object-fit:contain}.battleCreateForms{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0}.battleSetupPanel,.battleRoomPanel,.battleQuizPanel,.battleCompletePanel{background:#ffffffe6;border:1px solid #dce8f5;border-radius:18px;box-shadow:0 10px 24px #30548014}.battleSetupPanel{display:grid;gap:14px;min-width:0;padding:18px}.battlePanelHeader,.battleRoomHeader,.battleQuestionHeader,.battlePlayerTop,.battleRoomFooter,.battleCompleteHero{align-items:center;display:flex;gap:12px;justify-content:space-between;min-width:0}.battlePanelHeader>div{min-width:0}.battlePanelHeader h2,.battleRoomHeader h1,.battleQuestionHeader h2,.battleCompleteHero h1{line-height:1.25;margin:0;overflow-wrap:anywhere}.battleField{display:grid;gap:7px}.battleField span{color:var(--text-muted);font-size:13px;font-weight:700}.battleField input,.battleField select{background:#f9fcff;border:1px solid #cfdff0;border-radius:10px;box-sizing:border-box;color:var(--text);font:inherit;min-height:42px;min-width:0;padding:8px 10px;width:100%}.battleField input:focus,.battleField select:focus{border-color:#245fd673;box-shadow:0 0 0 3px #245fd61f;outline:none}.battleSetDescription,.battleWaitingText{color:var(--text-muted);font-size:13px;margin:0}.battleWideButton{min-height:44px;overflow-wrap:anywhere;width:100%}.iconTextButton{align-items:center;display:inline-flex;gap:7px}.battleRoomPanel,.battleCompletePanel{display:grid;gap:22px;padding:26px}.battleRoomFrame{max-width:1180px}.battleRoomHeaderActions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.battleRoomStatus{align-items:center;background:#e9f8f3;border:1px solid #bde5d7;border-radius:999px;color:#158061;display:inline-flex;font-size:13px;font-weight:700;justify-content:center;line-height:1;min-height:32px;padding:7px 12px}.battleLobbyGrid{display:grid;gap:18px;grid-template-columns:230px minmax(0,1fr)}.battleHostCard,.battleParticipantsPanel{background:#f9fcffd1;border:1px solid #dce8f5;border-radius:16px;padding:18px}.battleHostCard{align-items:center;display:grid;justify-items:center;text-align:center}.battleHostCard p,.battleParticipantsPanel p{color:#2b78d0;font-size:13px;font-weight:700;margin:0 0 12px}.battleHostCard .battlePlayerAvatarWrap{height:82px;margin:0 auto 12px;width:82px}.battleHostCard strong{display:block;font-size:18px;margin-bottom:8px}.battleHostCard span:not(.battlePlayerAvatarWrap){align-items:center;background:#eef7ff;border:1px solid #bdd8f2;border-radius:999px;color:#2b78d0;display:inline-flex;font-size:13px;font-weight:700;justify-content:center;line-height:1;min-height:30px;padding:5px 12px}.battleParticipantsPanel>div:first-child{align-items:center;display:flex;justify-content:space-between;margin-bottom:18px}.battleParticipantsPanel h2{font-size:18px;margin:0}.battleParticipantSlots{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.battleParticipantSlot{align-items:center;display:grid;justify-items:center;min-height:150px;text-align:center}.battleParticipantSlot strong{color:#243654;font-size:14px;margin-top:8px}.battleParticipantSlot span:last-child{color:#718096;font-size:12px;line-height:1.5;margin-top:4px}.battleEmptySlotIcon,.battlePlayerAvatarWrap.empty{align-items:center;border:1px dashed #adc7e5;border-radius:999px;color:#2b78d0;display:inline-flex;font-size:30px;font-weight:700;height:74px;justify-content:center;line-height:1;padding-bottom:2px;width:74px}.battleRoomInfoGrid{align-items:end;border-top:1px solid #e3edf7;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) auto;padding-top:18px}.battleRoomInfoGrid dl{display:grid;gap:12px 28px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.battleRoomInfoGrid dt,.battleRoomInfoGrid dd{margin:0}.battleRoomInfoGrid dt{color:#718096;font-size:13px;font-weight:700}.battleRoomInfoGrid dd{color:#243654;font-size:14px;font-weight:700;margin-top:6px}.battleScoreboard{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.battleScoreboard.compact{grid-template-columns:1fr}.battlePlayerCard{background:var(--surface-muted);border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:9px;padding:12px}.battlePlayerCard.self{background:var(--primary-soft);border-color:#245fd652}.battlePlayerTop{gap:10px}.battlePlayerIdentity{align-items:center;display:flex;gap:10px;min-width:0}.battlePlayerAvatarWrap{background-color:#fff;background-image:url(/1-4p.png);background-repeat:no-repeat;background-size:200% 200%;border:1px solid rgba(20,33,54,.14);border-radius:999px;display:block;flex:0 0 auto;height:50px;overflow:hidden;position:relative;width:50px}.battlePlayerAvatarWrap.slot-1{background-position:left top}.battlePlayerAvatarWrap.slot-2{background-position:right top}.battlePlayerAvatarWrap.slot-3{background-position:left bottom}.battlePlayerAvatarWrap.slot-4{background-position:right bottom}.battlePlayerTop strong{display:block;overflow-wrap:anywhere}.battlePlayerTop span{color:var(--text-muted);display:block;font-size:12px;margin-top:2px}.battlePlayerTop p{color:var(--primary-strong);font-size:30px;font-weight:700;line-height:1;margin:0}.battleRoomRule{align-items:center;color:var(--text-muted);display:flex;flex-wrap:wrap;gap:8px}.battleRoomRule span{color:var(--text);font-weight:700}.battleRoomActions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.battleGameFrame{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) 300px;max-width:1240px}.battleGameSidebar{display:grid;gap:12px;position:sticky;top:98px}.battleRoundMeta{background:#ffffffe6;border:1px solid #dce8f5;border-radius:18px;box-shadow:0 10px 24px #30548014;display:grid;gap:4px;padding:14px}.battleRoundMeta p{color:var(--primary);font-size:13px;font-weight:700;margin:0}.battleRoundMeta strong{font-size:20px}.battleRoundMeta span{color:var(--text-muted);font-size:13px}.battleQuizPanel{overflow:hidden;padding:0 0 18px}.battleLiveTopBar{align-items:center;background:linear-gradient(90deg,#1574c9,#894bdd);color:#fff;display:grid;gap:18px;grid-template-columns:auto minmax(0,1fr) auto minmax(120px,.35fr);padding:15px 22px}.battleLiveTopBar strong,.battleLiveTopBar span,.battleLiveTopBar em{align-items:center;display:inline-flex;font-style:normal;font-weight:700;line-height:1.2;min-height:24px}.battleLiveTopBar span{justify-content:flex-start;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.battleLiveTopBar strong,.battleLiveTopBar em{justify-content:center;white-space:nowrap}.battleLiveTopBar .progressTrack{background:#ffffff3d}.battleLiveTopBar .progressFill{background:#fff}.battleLiveQuestionText{font-size:19px;line-height:1.75;margin:26px 28px 18px}.battleQuestionIntro{align-items:center;display:grid;min-height:520px;padding:48px 24px;place-items:center}.battleQuestionIntro strong{align-items:center;background:#fff;border:1px solid #bdd8f2;border-radius:18px;box-shadow:0 10px 24px #30548014;color:#20314d;display:inline-flex;font-size:54px;font-weight:700;justify-content:center;line-height:1;min-height:116px;min-width:260px;padding:24px 36px}.battleQuizPanel .questionImageGallery,.battleQuizPanel .choices,.battleQuizPanel .battleWaitingText,.battleQuizPanel .battleResultPanel{margin-left:28px;margin-right:28px}.battleQuestionHeader{border-bottom:1px solid var(--line);margin-bottom:16px;padding-bottom:12px}.battleQuestionHeader p{color:var(--text-muted);font-size:13px;font-weight:700;line-height:1.5;margin:0 0 5px}.battleChoices .choiceButton{text-align:left}.battleResultPanel{align-items:center;border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:12px;grid-template-columns:minmax(0,1fr);margin-top:14px;padding:14px}.battleResultPanel.correct{background:var(--accent-soft);border-color:#127a6047}.battleResultPanel.wrong{background:var(--danger-soft);border-color:#b9443d47}.battleResultPanel p,.battleResultPanel h3{margin:0}.battleResultPanel h3{font-size:22px;margin-top:3px}.battleResultPanel span,.battleResultPanel small{color:var(--text-muted);display:block;line-height:1.6;margin-top:6px}.battleCompleteHero{justify-content:flex-start}.battleCompleteHero svg{color:var(--warning);flex:0 0 auto}.battleCompleteFrame{max-width:1060px}.battleCompletePanel{gap:18px;overflow:hidden;padding:0 24px 24px}.battleCompleteHero{background:radial-gradient(circle at 14% 34%,rgba(96,165,250,.26) 0 6px,transparent 7px),radial-gradient(circle at 82% 22%,rgba(245,158,11,.25) 0 7px,transparent 8px),radial-gradient(circle at 70% 70%,rgba(45,212,191,.2) 0 5px,transparent 6px),linear-gradient(135deg,#eef7ff,#dbeafe 58%,#fff4df);display:grid;gap:18px;grid-template-columns:minmax(0,1fr) 190px;margin:0 -24px;min-height:194px;padding:28px 32px}.battleCompleteHero.lose{background:radial-gradient(circle at 14% 34%,rgba(248,113,113,.22) 0 6px,transparent 7px),radial-gradient(circle at 82% 22%,rgba(251,191,36,.2) 0 7px,transparent 8px),linear-gradient(135deg,#fff7f7,#fee2e2 56%,#fff7ed)}.battleCompleteHero.draw{background:radial-gradient(circle at 14% 34%,rgba(148,163,184,.22) 0 6px,transparent 7px),radial-gradient(circle at 82% 22%,rgba(96,165,250,.18) 0 7px,transparent 8px),linear-gradient(135deg,#f8fafc,#e2e8f0 58%,#f8fbff)}.battleCompleteHeroText{display:grid;gap:12px;min-width:0;place-items:center start}.battleCompleteHeroText span{background:#2563eb;border-radius:999px;color:#fff;display:inline-flex;font-size:14px;font-weight:700;line-height:1;padding:9px 18px}.battleCompleteHero.lose .battleCompleteHeroText span{background:#dc4f45}.battleCompleteHero.draw .battleCompleteHeroText span{background:#64748b}.battleCompleteHeroText h1{color:#14213d;font-size:clamp(30px,4.6vw,44px);letter-spacing:0;line-height:1.2;margin:0;text-shadow:0 2px 0 rgba(255,255,255,.82)}.battleCompleteHeroText p{color:#334155;font-size:16px;font-weight:700;margin:0}.battleCompleteHero img{align-self:end;height:168px;justify-self:end;max-width:100%;object-fit:contain}.battleResultDuel{align-items:center;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) 74px minmax(0,1fr)}.battleResultDuel.single{grid-template-columns:minmax(240px,430px);justify-content:center}.battleResultPlayerCard{align-items:center;background:linear-gradient(180deg,#fff,#fff7f7);border:1px solid #f0d9d9;border-radius:18px;box-shadow:0 8px 18px #8c525214;display:grid;gap:8px;justify-items:center;min-width:0;padding:20px;text-align:center}.battleResultPlayerCard.winner{background:linear-gradient(180deg,#fff,#eff6ff);border-color:#bed5ff;box-shadow:0 8px 18px #2563eb1a}.battleResultPlayerCard.draw{background:linear-gradient(180deg,#fff,#f8fafc);border-color:#d7dee8;box-shadow:0 8px 18px #47556914}.battleResultPlayerCard span{color:#d04f45;font-size:13px;font-weight:700}.battleResultPlayerCard.winner span{color:#2563eb}.battleResultPlayerCard.draw span{color:#64748b}.battleResultPlayerCard .battlePlayerAvatarWrap{height:96px;width:96px}.battleResultPlayerCard strong{color:#14213d;font-size:20px;line-height:1.2;max-width:100%;overflow-wrap:anywhere}.battleResultPlayerCard p{color:#dc4f45;font-size:46px;font-weight:700;line-height:1;margin:0}.battleResultPlayerCard.winner p{color:#2563eb}.battleResultPlayerCard.draw p{color:#475569}.battleResultPlayerCard small{font-size:17px;margin-left:4px}.battleResultVs{align-items:center;background:#fff8e6;border:1px solid #f2d78a;border-radius:999px;color:#c48916;display:inline-flex;font-size:20px;font-weight:700;height:58px;justify-content:center;justify-self:center;width:58px}.battleResultMeta{background:#f8fbfff2;border:1px solid #dce8f5;border-radius:16px;display:grid;gap:0;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;overflow:hidden}.battleResultMeta div{align-items:center;border-right:1px solid #e8eef6;display:grid;gap:4px 10px;grid-template-columns:32px minmax(0,1fr);padding:14px}.battleResultMeta div:last-child{border-right:0}.battleResultMeta svg{align-self:center;background:#eef5ff;border-radius:999px;color:#2563eb;grid-row:span 2;padding:7px}.battleResultMeta dt{color:var(--text-muted);font-size:12px;font-weight:700}.battleResultMeta dd{color:#14213d;font-size:14px;font-weight:700;margin:0;min-width:0;overflow-wrap:anywhere}.battleCompletePanel .completeActions{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}.battleCompletePanel .completeActions button{justify-content:center;min-height:48px}.answerHint{color:var(--text-muted);font-size:13px;font-weight:700;margin:10px 0 0}.quizUtilityActions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 16px}.activeUtilityButton{background:var(--primary-soft);border-color:#245fd657;color:var(--primary-strong)}.quizActions{justify-content:flex-start;margin-top:16px;flex-wrap:wrap}.answerPanel{background:#fbfcfd;border:1px solid var(--line);border-radius:var(--radius);margin-top:22px;padding:18px}.answerHeader h3,.answerHeader p,.detailGrid h4{margin:0}.answerHeader p{color:var(--text-muted);font-size:13px}.answerFeedbackCluster{align-items:center;display:inline-flex;gap:10px}.answerVerdictBadge{align-items:center;border:2px solid currentColor;border-radius:999px;display:inline-flex;flex:0 0 auto;font-size:30px;font-weight:700;height:54px;justify-content:center;line-height:1;width:54px}.answerVerdictBadge.correct{background:var(--accent-soft);color:var(--accent)}.answerVerdictBadge.wrong{background:var(--danger-soft);color:var(--danger)}.answerMascot{flex:0 0 auto;filter:drop-shadow(0 4px 6px rgba(28,55,85,.14));height:104px;object-fit:contain;opacity:.95;pointer-events:none;transform:translateY(-8px);width:auto}.answerMascot.wrong{height:112px;opacity:.98}.answerActions{display:flex;justify-content:flex-end;margin-top:16px}.userMemoPanel{background:#f4f7fd;border:1px solid #c8d7ed;border-radius:var(--radius);display:grid;gap:14px;margin-top:18px;padding:16px}.userMemoHeader{align-items:center;display:flex;gap:12px;justify-content:space-between}.userMemoHeader h4{color:#16243a;font-size:18px;font-weight:700;margin:0}.userMemoHeader>div{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.userMemoHeaderActions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.memoModeTabs{background:#fff;border:1px solid #c8d7ed;border-radius:var(--radius);display:inline-flex;gap:4px;padding:4px}.memoModeTabs button{background:transparent;border:0;border-radius:6px;color:#526682;cursor:pointer;font:inherit;font-size:14px;font-weight:700;min-height:34px;padding:6px 12px}.memoModeTabs button.active{background:#2f67d6;color:#fff}.memoToolbar{align-items:center;background:#eef4ff;border:1px solid #c8d7ed;border-radius:var(--radius);display:flex;flex-wrap:wrap;gap:8px;padding:10px}.memoIconButton,.memoTextButton,.memoColorButton,.memoColorPanel{align-items:center;background:#fff;border:1px solid #c8d7ed;border-radius:var(--radius);color:#526682;cursor:pointer;display:inline-flex;font:inherit;font-weight:700;gap:6px;min-height:40px;justify-content:center}.memoIconButton{padding:0;width:42px}.memoTextButton{padding:8px 12px}.memoIconButton:hover:not(:disabled),.memoTextButton:hover:not(:disabled),.memoColorButton:hover:not(:disabled){border-color:#2f67d6;color:#1f5fd0}.memoIconButton.active{background:#2f67d6;border-color:#2f67d6;color:#fff}.memoIconButton.danger,.memoTextButton.danger{color:#b9443d}.memoIconButton:disabled,.memoTextButton:disabled,.memoColorButton:has(input:disabled),.memoColorPanel[aria-disabled=true]{cursor:not-allowed;opacity:.48}.memoColorButton,.memoColorPanel{height:40px;padding:0 8px;position:relative;gap:8px}.memoColorPanel{cursor:default}.memoColorButton input[type=color]{background:transparent;border:0;cursor:pointer;height:28px;padding:0;width:32px}.memoColorSwatch{border:1px solid #9fb5d3;border-radius:999px;display:inline-block;height:18px;width:18px}.memoColorPalette{display:flex;flex-wrap:wrap;gap:5px}.memoColorSwatchButton{border:1px solid #9fb5d3;border-radius:999px;box-sizing:border-box;cursor:pointer;height:20px;min-height:20px;min-width:20px;padding:0;width:20px}.memoColorSwatchButton:hover:not(:disabled),.memoColorSwatchButton:focus-visible{border-color:#2f67d6;box-shadow:0 0 0 2px #2f67d638}.memoColorSwatchButton.active{border-color:#2f67d6;box-shadow:0 0 0 2px #2f67d659}.memoColorSwatchButton:disabled{opacity:.45;cursor:not-allowed}.memoTextButton{gap:0}.memoIconButton.compact{min-height:36px;width:38px}.memoIconStack{align-items:center;display:inline-grid;grid-template-columns:16px 12px;justify-content:center}.memoTableControls{align-items:center;background:#ffffff8f;border:1px solid #c8d7ed;border-radius:var(--radius);display:inline-flex;flex-wrap:wrap;gap:6px;padding:4px}.memoTableControls.active{background:#fff;border-color:#9fb5d3}.memoToolbarDivider{background:#c8d7ed;height:28px;width:1px}.memoToolbarDivider.compact{height:24px}.visuallyHiddenInput{height:1px;opacity:0;overflow:hidden;position:absolute;width:1px}.docsMemoEditor,.handwritingMemo{display:grid;gap:12px}.docsMemoProse{background:#fff;border:1px solid #adc2df;border-radius:var(--radius);color:#16243a;line-height:1.75;min-height:220px;outline:none;overflow-x:auto;padding:18px}.docsMemoProse p{margin:0 0 .8em}.docsMemoProse p:last-child{margin-bottom:0}.docsMemoProse mark{border-radius:3px;padding:0 2px}.docsMemoProse table{border-collapse:collapse;margin:12px 0;min-width:360px;table-layout:fixed;width:100%}.docsMemoProse th,.docsMemoProse td{border:1px solid #9fb5d3;min-width:88px;padding:8px;vertical-align:top}.docsMemoProse th{background:#eef4ff;font-weight:700}.docsMemoImageNode{display:inline-block;margin:8px 0;max-width:100%}.docsMemoImageNode img{border:1px solid #c8d7ed;border-radius:var(--radius);display:block;height:auto;max-width:100%}.docsMemoImageMissing{background:#f4f7fd;border:1px dashed #9fb5d3;border-radius:var(--radius);color:#526682;display:inline-flex;font-size:13px;padding:10px 12px}.memoRangeControl.compact{display:grid;flex:0 1 140px;gap:4px;min-width:120px}.memoRangeControl.compact span{color:#526682;font-size:12px;font-weight:700}.handwritingStageWrap{background:#dfe8f6;border:1px solid #adc2df;border-radius:var(--radius);overflow:auto;padding:10px;touch-action:none}.handwritingStage{background:#fff;border-radius:var(--radius);display:block;overflow:hidden;touch-action:none}.handwritingSpaceButton{align-items:center;background:#fff;border:1px dashed #9fb5d3;border-radius:var(--radius);color:#2f67d6;cursor:pointer;display:inline-flex;font:inherit;font-weight:700;gap:6px;justify-content:center;margin-top:10px;min-height:42px;width:100%}.handwritingSpaceButton:hover{background:#eef4ff;border-color:#2f67d6}.memoAddButton{align-items:center;background:#fff;border:1px solid #b6c9e7;border-radius:var(--radius);color:#10233f;cursor:pointer;display:inline-flex;gap:6px;font:inherit;font-weight:700;min-height:42px;padding:8px 12px}.memoAddButton:hover{border-color:#2f67d6;color:#1f5fd0}.userMemoTools{align-items:center;background:#eef4ff;border:1px solid #c8d7ed;border-radius:var(--radius);display:flex;gap:14px;overflow-x:auto;padding:12px}.memoToolButtons{background:#fff;border:1px solid #c8d7ed;border-radius:var(--radius);display:grid;flex:0 0 auto;gap:6px;grid-template-columns:repeat(3,minmax(0,1fr));padding:6px}.memoToolButton{align-items:center;background:transparent;border:0;border-radius:var(--radius);color:#526682;cursor:pointer;display:inline-flex;height:48px;justify-content:center;padding:0;width:48px}.memoToolButton:hover{background:#eef4ff;color:#1f5fd0}.memoToolButton.active{background:#2f67d6;color:#fff}.memoToolSettings{align-items:center;display:flex;flex:1 1 auto;gap:14px;min-width:min(520px,100%)}.memoToolSettings label{display:grid;flex:0 0 150px;gap:4px;min-width:0}.memoToolSettings label span{align-items:center;color:#526682;display:inline-flex;gap:4px;font-size:12px;font-weight:700}.memoColorControl{flex-basis:72px}.memoColorControl input[type=color]{background:#fff;border:1px solid #9fb5d3;border-radius:6px;cursor:pointer;height:38px;padding:4px;width:64px}.memoRangeControl input[type=range]{accent-color:#1677f2;cursor:pointer;width:100%}.userMemoSpaceList{display:grid;gap:12px}.inlineMemoSpace{background:#f4f7fd;border:1px solid #c8d7ed;border-radius:var(--radius);display:grid;gap:10px;padding:12px}.inlineMemoActions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.memoActionButton{align-items:center;background:#fff;border:1px solid #c8d7ed;border-radius:var(--radius);color:#526682;cursor:pointer;display:inline-flex;height:40px;justify-content:center;padding:0;width:44px}.memoActionButton:hover:not(:disabled){border-color:#2f67d6;color:#1f5fd0}.memoActionButton.danger{color:#b9443d}.memoActionButton:disabled{cursor:not-allowed;opacity:.48}.inlineMemoStage{background:#fff;border:1px solid #adc2df;border-radius:var(--radius);box-shadow:inset 0 0 0 1px #ffffff8c;max-height:560px;min-height:300px;overflow:visible;position:relative;touch-action:none;width:100%}.inlineMemoCanvas{display:block;height:100%;touch-action:none;width:100%}.inlineMemoTextObject{background:transparent;border:1px solid #2f67d6;border-radius:8px;display:block;position:absolute;transform-origin:top left;z-index:3}.inlineMemoRotateStem{background:#2f67d6;height:18px;left:50%;position:absolute;top:-18px;transform:translate(-50%);width:1px}.inlineMemoRotateHandle{align-items:center;background:#fff;border:1px solid #2f67d6;border-radius:999px;color:#1f5fd0;cursor:grab;display:inline-flex;height:28px;justify-content:center;left:50%;padding:0;position:absolute;top:-45px;transform:translate(-50%);touch-action:none;width:28px}.inlineMemoRotateHandle:active{cursor:grabbing}.inlineMemoTextHandle{align-items:center;background:#fff;border:1px solid #2f67d6;border-radius:6px;color:#1f5fd0;cursor:grab;display:inline-flex;height:28px;justify-content:center;left:-34px;padding:0;position:absolute;top:-1px;touch-action:none;width:28px}.inlineMemoTextHandle:active{cursor:grabbing}.inlineMemoTextObject textarea{background:transparent;border:0;display:block;font-family:sans-serif;line-height:1.3;outline:0;overflow:hidden;padding:0;resize:both;touch-action:manipulation;user-select:text;width:100%;-webkit-user-select:text}.saveMessage{color:var(--accent);font-size:13px;margin:8px 0 0}.acceptedPath{color:var(--text-muted);font-size:12px;margin:0;overflow-wrap:anywhere}.saveMessage.error{color:var(--danger)}.plainExplanation{line-height:1.8;white-space:pre-wrap}.structuredExplanation{display:grid;gap:14px;margin-top:14px}.explanationItemsPanel{margin-top:16px}.explanationItemsRevealButton{align-items:center;background:#173f36;border-color:#f6f1dc5c;box-shadow:inset 0 -2px #f6f1dc24,0 1px 2px #1118270f;color:#fff8dc;display:inline-flex;gap:8px}.explanationItemsRevealButton:hover{background:#205348;border-color:#f6f1dc85;color:#fff8dc}.explanationItemsShell{align-items:start;background:linear-gradient(180deg,#ffffff09,#fff0),#163c34;border:1px solid rgba(246,241,220,.32);border-radius:var(--radius);box-shadow:inset 0 0 0 2px #ffffff0a,inset 0 -7px #5d4a3057,var(--shadow-sm);color:#f7f0d6;display:grid;gap:16px;grid-template-columns:minmax(0,1fr);padding:16px 16px 32px;position:relative}.explanationItemsShell:after{background:linear-gradient(90deg,#f6f1dc61,#f6f1dc14);border-radius:999px;bottom:9px;content:"";height:3px;left:18px;position:absolute;right:18px}.blackboardEraser{background:linear-gradient(180deg,#ffffff3d,#fff0 48%),linear-gradient(180deg,#e2d2b7 0 52%,#8b725d 52% 100%);border:1px solid rgba(54,43,31,.44);border-radius:5px 5px 4px 4px;bottom:3px;box-shadow:0 2px 4px #00000047,inset 0 1px #ffffff61;height:16px;position:absolute;right:32px;width:82px;z-index:1}.blackboardEraser span{background:#fff8dc9e;border-radius:999px;display:block;height:4px;margin:3px 9px 0}.explanationItemsContent{min-width:0}.explanationItemsAiIcon{flex:0 0 auto;height:22px;object-fit:contain;width:22px}.explanationItemsRevealButton .explanationItemsAiIcon{height:24px;width:24px}.explanationItemsHeader{align-items:center;color:#f7f0d6;display:flex;gap:8px;margin-bottom:10px}.explanationItemsHeader h4{color:#fff8dc;font-size:15px;margin:0;text-shadow:0 1px 0 rgba(0,0,0,.22)}.explanationThinking{align-items:center;animation:explanationThinkingSway 1.35s ease-in-out infinite;color:#fff8dc;display:inline-flex;font-size:14px;gap:8px;line-height:1.8;margin:0;text-shadow:0 1px 0 rgba(0,0,0,.22);transform-origin:left center}.explanationThinkingIcon{flex:0 0 auto;height:26px;object-fit:contain;width:26px}.streamingText{display:grid;gap:10px}.explanationItemsStreamingText{background:#08231e38;border:1px dashed rgba(246,241,220,.28);border-radius:var(--radius);box-shadow:inset 0 1px #ffffff0a;padding:12px 14px}.explanationItemsStreamingText .streamingTextBody{color:#fff8dc;text-shadow:0 1px 0 rgba(0,0,0,.28)}.streamingTextBody{background:transparent;border:0;color:inherit;display:block;font:inherit;font-size:14px;line-height:1.95;min-height:2.2em;padding:0;text-align:left;white-space:pre-wrap;width:100%}.streamingTextCursor{animation:streamingCursorBlink .92s steps(2,start) infinite;border-right:2px solid currentColor;display:inline-block;height:1.1em;margin-left:2px;transform:translateY(.18em)}.caseSeriesExplanationItems{margin-top:18px}.explanationBlock{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.keyPointBlock{background:var(--primary-soft);border-color:#176b872e;box-shadow:inset 3px 0 0 var(--primary)}.explanationBlock h4,.explanationBlock h5,.choiceExplanationItem p,.textSection p,.textBlockList,.keyPointBlock p,.relatedBlock p,.visualCard p{margin:0}.explanationBlock h4{color:var(--text);font-size:15px;margin-bottom:10px}.explanationBlock h5{font-size:14px;margin-bottom:4px}.keyPointBlock p,.choiceExplanationItem p,.textSection p,.relatedBlock p,.visualCard p{line-height:1.8;white-space:pre-wrap}.textParagraph+.textBlockList,.textBlockList+.textParagraph,.textBlockList+.textBlockList{margin-top:8px}.textBlockList{display:grid;gap:6px;list-style:none;padding:0}.textListItem{display:grid;gap:8px;grid-template-columns:max-content minmax(0,1fr);line-height:1.75}.textListMarker{color:var(--primary);font-weight:800;min-width:1.4em}.choiceExplanationList,.textSectionList{display:grid;gap:10px}.choiceExplanationItem{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:10px;grid-template-columns:34px minmax(0,1fr);padding:10px}.markBadge{align-items:center;border-radius:999px;display:inline-flex;font-weight:800;height:30px;justify-content:center;width:30px}.markBadge.correct{background:var(--accent-soft);color:var(--accent)}.markBadge.wrong{background:var(--danger-soft);color:var(--danger)}.textSection{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:10px}.relatedItems{display:grid;gap:8px;margin:12px 0 0}.relatedItems div{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:10px}.relatedItems dt{font-weight:800;margin-bottom:4px}.relatedItems dd{line-height:1.7;margin:0}.visualList{display:grid;gap:10px}.visualCard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:10px}.visualCaption{color:var(--text-muted);font-size:13px;margin:0 0 10px}.tableScroller{overflow-x:auto}.visualTable{border-collapse:collapse;min-width:100%}.visualTable th,.visualTable td{border:1px solid var(--line);line-height:1.6;padding:8px 10px;text-align:left;vertical-align:top}.visualTable th{background:var(--surface-muted);font-size:13px}.riskMatrix th small{color:var(--text-muted);display:block;font-size:11px;font-weight:600;margin-top:2px}.riskCell{min-width:110px}.riskCell strong{color:var(--text);display:block;font-size:18px;line-height:1.2}.riskCell span{color:var(--text-muted);display:block;font-size:12px;line-height:1.5;margin-top:3px}.riskCell.empty{color:var(--text-soft)}.riskCell.isStrong{background:var(--danger-soft);box-shadow:inset 0 0 0 2px #b9443d38}.riskCell.isMedium{background:var(--warning-soft)}.timelineRail{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));position:relative}.timelineNode{background:var(--surface-muted);border:1px solid var(--line);border-radius:var(--radius);min-height:148px;padding:12px;position:relative}.timelineNode.isStrong{background:var(--accent-soft);border-color:#2e7d615c;box-shadow:inset 0 0 0 2px #2e7d611f}.timelineNode.isMedium{background:var(--warning-soft);border-color:#9b6b1847}.timelineDot{background:var(--primary);border:3px solid var(--primary-soft);border-radius:999px;display:inline-block;height:13px;margin-bottom:8px;width:13px}.timelineTime{color:var(--primary-strong);font-size:13px;font-weight:800;line-height:1.2;margin:0 0 5px}.timelineNode h6,.changeCard h6,.calloutCard h6{color:var(--text);font-size:15px;margin:0}.timelineState{color:var(--text-muted);font-size:13px;line-height:1.5;margin:4px 0 8px}.timelineNode ul,.changeCard ul,.calloutCard ul{display:grid;gap:5px;margin:8px 0 0;padding-left:18px}.timelineNode li,.changeCard li,.calloutCard li{line-height:1.45}.changeGrid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.changeCard{background:var(--surface-muted);border:1px solid var(--line);border-radius:var(--radius);padding:12px}.changeCard header{align-items:center;display:flex;gap:8px;margin-bottom:8px}.changePill{border-radius:999px;font-size:12px;font-weight:800;padding:4px 8px}.changeCard li{align-items:baseline;display:grid;gap:6px;grid-template-columns:minmax(72px,1fr) 24px minmax(88px,1.2fr);padding:3px 0}.changeCard li span{font-size:18px;font-weight:900;text-align:center}.changeCard li small{color:var(--text-muted);font-size:12px;line-height:1.45}.changeCard p{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:#425064;font-size:13px;line-height:1.6;margin-top:10px;padding:8px}.changeUp{background:#e6f3ff;color:#0b5e97}.changeDown{background:var(--danger-soft);color:var(--danger)}.changeMixed{background:var(--warning-soft);color:var(--warning)}.changeNeutral{background:var(--surface-strong);color:#45564e}.calloutGrid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.calloutCard{background:var(--surface-muted);border:1px solid var(--line);border-radius:var(--radius);padding:12px}.calloutCard.isStrong{background:var(--accent-soft);border-color:#2e7d6157}.calloutCard.isMedium{background:var(--warning-soft);border-color:#9b6b1847}.explanationMeta{display:flex;flex-wrap:wrap;gap:8px}.explanationMeta span{background:var(--surface-strong);border-radius:999px;color:var(--text);font-size:12px;font-weight:700;padding:6px 9px}.imageGrid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:16px 0}figure{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin:0;overflow:hidden}figure img{background:var(--surface-muted);display:block;max-height:420px;object-fit:contain;width:100%}figcaption{color:var(--text-muted);font-size:13px;padding:8px 10px}.detailGrid{display:grid;gap:16px;grid-template-columns:1fr}.tagList{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.tag{background:var(--surface-strong);border:1px solid var(--line);border-radius:999px;color:var(--text);font-size:12px;padding:6px 9px}.emptyState{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;justify-content:center;min-height:320px;text-align:center}.emptyState h2{color:var(--text);margin:0 0 8px}.emptyState p{margin:0}@media(max-width:1180px){.workspace{grid-template-columns:1fr}.recommendList{max-height:460px}.chapterGrid{max-height:none}.chapterCard{grid-template-columns:minmax(220px,.7fr) minmax(260px,1fr)}.chapterCard .buttonGroup{grid-column:1 / -1;justify-content:flex-start}.mockScoreRevealBlocks,.mockBlockScoreGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.battleCreateLayout{grid-template-columns:minmax(0,1fr)}}@keyframes pageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes mockBuildTextBounce{0%,to{transform:translateY(0) rotate(0)}35%{transform:translateY(-7px) rotate(-2deg)}70%{transform:translateY(2px) rotate(1deg)}}@keyframes mockScoreRevealBlock{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes mockScoreRevealFinal{0%{opacity:0;transform:scale(.96)}65%{opacity:1;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}@keyframes mockScoreRevealButton{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.appShell.withSideMenu,.lpHomeShell{display:block}.introFrame{gap:14px}.introHero{grid-template-columns:1fr;padding:22px 18px}.introHero img{height:118px;justify-self:start;width:118px}.introSection{padding:18px}.introModeSummary{align-items:start;grid-template-columns:1fr}.introModeIcon{height:66px;width:66px}.introCoreDomain summary{align-items:flex-start;flex-wrap:wrap}.introCoreDomain summary span{margin-left:0}.introCoreDomain li{grid-template-columns:1fr}.lpHomeSidebar{border-bottom:1px solid rgba(183,202,224,.62);border-right:0;min-height:0;padding:18px 14px}.lpHomeBrand{margin-bottom:12px}.lpHomeNav{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.lpHomeNavItem{flex:0 0 auto;min-height:42px;padding:0 12px}.lpHomeMascotBlock{align-items:center;display:flex;gap:10px;justify-content:center;margin-top:12px;text-align:left}.lpHomeSpeech{border-radius:18px;font-size:13px;line-height:1.45;margin:0;order:2;padding:10px 12px;width:min(226px,calc(100vw - 124px))}.lpHomeSpeechLines.desktop{display:none}.lpHomeSpeechLines.mobile{display:block}.lpHomeSpeech:after{bottom:22px;left:-7px;transform:rotate(135deg)}.lpHomeMascotBlock img{height:78px;margin:0;order:1}.lpHomeMain{min-height:auto;padding:74px 14px 28px}.lpHomeMenuControls{left:14px;top:18px}.lpHomeHero{margin-left:0}.lpHomeModeGrid,.lpHomeModeGrid.functional{grid-template-columns:1fr;margin:22px 0}.lpHomeProgressPanel{margin:0}.lpHomeProgressBody,.lpHomeProgressSummary{grid-template-columns:1fr}.topBar,.workspace,.pageFrame{padding:14px}.topBarInner{grid-template-columns:1fr}.topBarInner.withSideMenuToggle{grid-template-columns:auto minmax(0,1fr)}.topBarInner.withSideMenuToggle .topBarControls{grid-column:1 / -1}.topBarControls,.topNavTrail{justify-content:flex-start}.sectionTitle,.quizHeader,.answerHeader,.pageNav,.practiceNav{align-items:flex-start;flex-direction:column}.answerMascot{height:82px;transform:translateY(-4px)}.answerFeedbackCluster{align-self:flex-end}.answerVerdictBadge{font-size:24px;height:44px;width:44px}.answerMascot.wrong{height:88px}.explanationItemsShell{gap:10px;padding:12px 12px 30px}.blackboardEraser{height:14px;right:18px;width:62px}.blackboardEraser span{height:3px;margin:3px 7px 0}.explanationItemsStreamingText{padding:10px 11px}.statusStrip,.sessionBar,.completeStats,.mockScoreRevealBlocks,.mockScoreHero,.mockScoreHero dl,.modeGrid{grid-template-columns:1fr 1fr}.modeGrid,.mockBlockSelectGrid,.mockScoreHero{grid-template-columns:1fr}.mockBlockScoreGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.mockScoreRevealStage{min-height:auto}.mockScoreRevealTotal{grid-template-columns:1fr;justify-items:center;text-align:center}.mockScoreRevealMascot{height:min(38vh,290px)}.mockReviewHeader{align-items:stretch;flex-direction:column}.unitCard,.datasetGrid{grid-template-columns:1fr}.cardStats{grid-template-columns:1fr 1fr}.cardStats .progressCell{grid-column:1 / -1}.unitCard small{justify-self:start}.chapterCard{align-items:stretch;grid-template-columns:1fr}.chapterCard .buttonGroup{flex-wrap:wrap}.scoreBlock>div,.completeActions{align-items:flex-start;flex-direction:column}.questionText{font-size:18px}.userMemoHeaderActions,.memoToolbar{justify-content:flex-start;width:100%}.memoModeTabs{flex:1 1 auto}.memoModeTabs button{flex:1 1 0}.memoRangeControl.compact{flex-basis:100%}.docsMemoProse{padding:14px}.docsMemoProse table{min-width:300px}.handwritingStageWrap{padding:8px}}@media(max-width:860px){.battleHero,.battleMenuGrid,.battleCreateForms,.battleGameFrame{grid-template-columns:1fr}.battleCreateHeader img{height:88px}.battleGameSidebar{order:-1;position:static}.battleRoomInfoGrid{align-items:stretch;grid-template-columns:1fr}.battleRoomActions{justify-content:flex-start}.battleParticipantSlots{grid-template-columns:repeat(2,minmax(0,1fr))}.battleLiveTopBar{gap:10px 14px;grid-template-columns:minmax(0,1fr) auto;padding:12px 16px}.battleLiveTopBar span,.battleLiveTopBar .progressTrack{grid-column:1 / -1}.battleLiveTopBar span{white-space:normal}.battleQuestionIntro{min-height:360px}.battleQuestionIntro strong{font-size:clamp(28px,7vw,46px);min-height:96px;min-width:0;padding:20px 24px;width:min(100%,380px)}.battleResultMeta{grid-template-columns:repeat(2,minmax(0,1fr))}.battleResultMeta div:nth-child(2n){border-right:0}.battleResultMeta div:last-child{grid-column:1 / -1}.battleHero img{height:150px;justify-self:center}}@media(max-width:640px){.battleFrame{max-width:100%;width:100%}.battleHero{padding:18px}.battleHeroText h1{font-size:32px;overflow-wrap:normal}.battleHeroText,.battleCreateHeader{align-items:flex-start}.battleSetupPanel,.battleCreateMainPanel,.battleRoomPanel,.battleCompletePanel,.battleQuizPanel,.battleGameSidebar{min-width:0}.battleRoomPanel,.battleCompletePanel{gap:16px;padding:16px}.battleRoomFooter,.battleQuestionHeader{align-items:stretch;flex-direction:column}.battleParticipantSlots{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.battleParticipantSlot{min-height:132px}.battleRoomInfoGrid dl{grid-template-columns:1fr}.battleGameFrame{gap:12px}.battleGameSidebar{align-items:stretch;background:#f8fbfff0;border:1px solid #dce8f5;border-radius:14px;box-shadow:0 10px 24px #3054801a;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto;padding:8px;position:sticky;top:8px;z-index:20}.battleGameSidebar .battleScoreboard.compact{grid-column:1 / -1;order:1}.battleGameSidebar .battleRoundMeta{order:2}.battleGameSidebar .battleWideButton{align-self:stretch;min-height:40px;order:3;padding:0 12px;white-space:nowrap}.battleLiveTopBar{gap:8px 10px;grid-template-columns:minmax(0,1fr) auto;padding:10px 12px}.battleLiveTopBar strong{font-size:14px;justify-content:flex-start}.battleLiveTopBar em{font-size:13px}.battleLiveQuestionText{font-size:16px;line-height:1.7;margin:16px 14px 12px}.battleQuizPanel .questionImageGallery,.battleQuizPanel .choices,.battleQuizPanel .battleWaitingText,.battleQuizPanel .battleResultPanel{margin-left:14px;margin-right:14px}.battleChoices .choiceButton{gap:10px;grid-template-columns:30px minmax(0,1fr);padding:12px}.battleChoices .choiceButton strong{font-size:15px;overflow-wrap:anywhere}.battleRoundMeta{border-radius:var(--radius);box-shadow:none;gap:2px;padding:8px 10px}.battleRoundMeta p,.battleRoundMeta span{font-size:11px}.battleRoundMeta strong{font-size:14px;line-height:1.2}.battleScoreboard.compact{gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}.battlePlayerCard{min-width:0;padding:10px}.battleScoreboard.compact .battlePlayerCard{gap:4px;padding:7px 8px}.battleScoreboard.compact .battlePlayerIdentity>div>span{display:none}.battleScoreboard.compact .battlePlayerAvatarWrap{display:block;height:30px;width:30px}.battleScoreboard.compact .battlePlayerTop,.battleScoreboard.compact .battlePlayerIdentity{gap:6px}.battleScoreboard.compact .battlePlayerIdentity>div{min-width:0}.battleScoreboard.compact .battlePlayerTop strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.battlePlayerTop p{font-size:24px}.battleScoreboard.compact .battlePlayerTop p{font-size:21px}.battleScoreboard.compact .progressTrack{height:4px;margin:4px 0 0}.battleCompleteHero{grid-template-columns:minmax(0,1fr);justify-items:center;padding:26px 20px;text-align:center}.battleCompleteHeroText{place-items:center}.battleCompleteHero img{height:132px;justify-self:center}.battleResultDuel{grid-template-columns:1fr}.battleResultVs{margin:-2px 0}.battleScoreboard,.battleResultPanel,.battleResultMeta{grid-template-columns:1fr}.battleResultMeta div,.battleResultMeta div:nth-child(2n){border-bottom:1px solid #e8eef6;border-right:0}.battleResultMeta div:last-child{border-bottom:0;grid-column:auto}.battleCompletePanel .completeActions{grid-template-columns:1fr}}@media(max-width:430px){.battleParticipantSlots{grid-template-columns:1fr}.battleScoreboard.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.battleGameSidebar{grid-template-columns:minmax(0,1fr) auto}.battleGameSidebar .battleRoundMeta{display:none}.battleLiveTopBar{grid-template-columns:1fr}.battleLiveTopBar em{justify-content:flex-start}}.authPage{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,#f2f7fbf0,#e8f0f6f5),url(/mascot/generated/mock-build-frame-3.png) center / min(760px,90vw) no-repeat}.authPanel{width:min(440px,100%);display:grid;gap:18px;padding:28px;border:1px solid #d8e2ed;border-radius:8px;background:#fffffff0;box-shadow:0 18px 42px #1d2f4924}.authBrand{display:flex;align-items:center;gap:14px}.authBrand img{width:64px;height:64px;object-fit:contain;flex:0 0 auto}.authBrand p{margin:0 0 4px;font-size:13px;color:#66758a;font-weight:700}.authBrand h1{margin:0;color:#1d2f49;font-size:28px;line-height:1.15;letter-spacing:0}.authSubtitle{margin:0;color:#526173;line-height:1.7}.authForm{display:grid;gap:14px}.authForm label{display:grid;gap:7px;color:#34455c;font-weight:700}.authInputWrap{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:10px;min-height:48px;padding:0 12px;border:1px solid #ced9e6;border-radius:8px;background:#fff}.authInputWrap svg{color:#59718e}.authInputWrap input{min-width:0;border:0;outline:0;color:#162238;background:transparent;font:inherit}.authSubmit,.authActions .primaryButton,.authActions .secondaryButton{width:100%;justify-content:center}.authModeButton{border:0;padding:0;color:#285f9c;background:transparent;font:inherit;font-weight:700;cursor:pointer;text-align:left}.ghostButton{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border:1px solid transparent;border-radius:8px;color:#526173;background:transparent;font:inherit;font-weight:700;cursor:pointer}.ghostButton:disabled{opacity:.55;cursor:not-allowed}.authActions{display:grid;gap:10px}.authNotice,.authMessage,.authError,.authLoading{margin:0;padding:12px 14px;border-radius:8px;background:#f3f7fb;color:#40526a;line-height:1.65}.authLoading{display:inline-flex;align-items:center;gap:8px;width:fit-content}.authLoading svg{animation:spin 1s linear infinite}.authNotice p{margin:0}.authNotice p+p{margin-top:6px}.authError{border:1px solid #f2c1bc;background:#fff1ef;color:#9e3028}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:520px){.authPage{padding:16px;place-items:stretch}.authPanel{align-self:center;padding:22px}.authBrand h1{font-size:24px}}
