/* MARK VIII: clear study controls, account entry and a compact live dashboard. */
.in-session .session-header{position:sticky;top:0;z-index:25;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:9px;padding:9px 0;margin:-12px 0 8px;background:var(--bg);border-bottom:1px solid var(--line)}
.in-session .session-header .back{min-width:0;padding:6px 0;font-size:13px;white-space:nowrap;gap:3px}
.in-session .session-header .back svg{width:17px;flex:0 0 17px}
.in-session .session-header .timer{display:block;min-width:83px;font-size:26px;line-height:1.1;padding:7px 10px;text-align:center;border:1px solid #21b956;border-radius:11px;color:#66ff92;background:#103a25;box-shadow:inset 0 0 16px #31ce5520;font-variant-numeric:tabular-nums}
.in-session .session-header .timer.urgent{color:#ff737c;border-color:#ef4354;background:#4a1923;box-shadow:inset 0 0 16px #f33c5625}
.in-session .session-header .timer.paused{font-size:12px;padding:13px 7px;color:#66ff92;border-color:#21b956;background:#103a25}
.in-session .session-header .session-tools{gap:4px}
.in-session .quiz-mode{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin:8px 0 4px;flex-wrap:wrap}
.quiz-book-title{font-size:15px;font-weight:650;line-height:1.5}
.quiz-save-status{font-size:10px;color:var(--mint);line-height:1.7}
.in-session main>.question{margin-top:8px}
.flash-card .question .question-context{font-size:calc(21px * var(--memoryContext-scale,1.1));line-height:1.65}
.flash-card .question .asked{font-size:calc(24px * var(--memoryQuestion-scale,1.1));line-height:1.6}
.flash-card .flash-answer{font-size:calc(24px * var(--memoryAnswer-scale,1.1));line-height:1.65}
.flash-card .question{font-size:calc(21px * var(--memoryContext-scale,1.1));margin:0;flex-shrink:0}
.progress-overview.learning-dashboard{border-color:var(--line);padding:22px;background:radial-gradient(ellipse at 10% 20%,var(--future-soft),transparent 75%),var(--card);box-shadow:0 8px 26px #0001;margin:10px 0 18px}
.progress-overview.learning-dashboard:before{display:none}
.progress-overview .hud-heading{margin-bottom:20px}
.progress-overview .learning-core{gap:19px}
.progress-overview .mastery-ring{width:128px;height:128px;flex-basis:128px;padding:9px;box-shadow:0 0 18px var(--future-soft)}
.progress-overview .mastery-ring strong{font-size:31px;letter-spacing:-1px}
.progress-overview .mastery-ring small{font-size:8px;letter-spacing:.8px}
.progress-overview .core-summary h2{font-size:18px;line-height:1.5;margin:0 0 4px}
.progress-overview .core-summary p{font-size:13px;margin:4px 0 12px}
.progress-accuracy{display:inline-block;font-size:11px;line-height:1.5;padding:5px 9px;border:1px solid var(--line);border-radius:20px;color:var(--mint);background:var(--panel)}
.progress-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}
.progress-mini.card{margin:0;min-width:0;padding:17px 14px;text-align:left;display:flex;flex-direction:column;align-items:stretch;border-radius:14px}
.progress-mini-title{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:650;color:var(--ink);line-height:1.5}
.progress-mini-title svg{width:18px;height:18px;flex:0 0 18px;color:var(--future)}
.progress-mini>strong{font-size:23px;line-height:1.4;color:var(--future);margin:12px 0 4px;font-variant-numeric:tabular-nums}
.progress-mini>small{font-size:11px;line-height:1.6;color:var(--muted)}
.progress-mini .activity-track{height:4px;margin-top:12px}
.progress-live-status{font-size:12px;margin:10px 0 18px}
.progress-books.card{padding:20px;border-radius:16px;margin-bottom:15px}
.progress-book{padding:16px 0;gap:10px}
.progress-book-detail>strong{font-size:14px;line-height:1.5}
.progress-book>img{width:35px;height:49px;flex-basis:35px}
.progress-book-count{font-size:11px;margin-top:5px}
.progress-books>.small-copy{font-size:11px;margin:16px 0 0}
.progress-last-result{margin-bottom:18px;display:flex;align-items:center;justify-content:center;gap:8px}
.progress-last-result svg{width:18px;height:18px}
.access-view main{max-width:480px;padding:28px 22px 32px}
.access-screen{max-width:440px;margin:0 auto}
.access-brand{display:flex;align-items:center;flex-direction:column;gap:10px;text-align:center;margin-bottom:42px}
.access-brand>svg,.access-brand>.reactor-emblem{width:80px;height:80px;object-fit:contain;color:var(--future)}
.access-brand>strong{font-size:22px;color:var(--ink)}
.access-brand>small{font-size:10px;letter-spacing:1.7px;color:var(--future)}
.access-screen>h1{font-size:36px;line-height:1.2;letter-spacing:-1px;margin:12px 0 16px}
.access-screen>p{font-size:15px;line-height:1.7;color:var(--muted)}
.access-choices{display:grid;gap:12px;margin:30px 0 20px}
.access-choices .primary,.access-choices .secondary{min-height:52px;font-size:16px;display:flex;align-items:center;justify-content:center;gap:12px}
.access-choices svg{width:19px;height:19px}
.access-guest{justify-content:center;font-size:14px;min-height:44px}
.access-note{display:block;font-size:12px;color:var(--muted);line-height:1.7;text-align:center}
.access-screen .cloud-card{margin-top:18px}
.access-screen .cloud-card input:not([type=checkbox]){font-size:16px;min-height:48px}
.account-lock{text-align:center}
.account-lock>svg{width:44px;height:44px;color:var(--future);margin-bottom:12px}
.account-lock .primary,.account-lock .secondary{display:block;width:100%;margin-top:12px}
.exam-card>.practice-time{display:block;margin:25px 0 18px;padding:16px 0;border-top:1px solid var(--line)}
.exam-card>.practice-time>span{display:block;margin-bottom:12px;font-size:14px;font-weight:650;color:var(--ink)}
.exam-card>.practice-time .time-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.exam-card>.practice-time .time-options button{min-height:44px;padding:10px 5px;font-size:14px}
.exam-countdown{min-height:calc(100svh - 150px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px 0;background:radial-gradient(ellipse at center,var(--future-soft),transparent 65%)}
.exam-countdown h1{font-size:24px;line-height:1.5;margin:23px 0 8px}
.exam-countdown>strong{font-size:100px;line-height:1.2;font-variant-numeric:tabular-nums;color:var(--future);text-shadow:0 0 24px var(--future-soft)}
.exam-countdown>p{font-size:15px;line-height:1.8;max-width:320px;color:var(--muted);margin:22px 0}
.exam-countdown>p>b{color:var(--ink)}
.exam-countdown>small{font-size:12px;color:var(--muted)}
.exam-countdown>button{margin-top:30px;min-height:44px}
.practice-resume{max-width:420px}
.practice-resume>strong,.practice-resume>small{display:block;line-height:1.7}
.practice-resume>small{color:var(--muted);font-size:12px;margin:4px 0 22px}
.practice-resume>.primary,.practice-resume>.secondary{width:100%;margin-top:10px;min-height:48px;font-size:14px}
.practice-resume>.back{width:100%;justify-content:center;margin-top:12px}
.tour-tip{position:fixed;z-index:70;left:16px;right:16px;bottom:calc(var(--app-nav-height,80px) + 12px);max-width:410px;margin:0 auto;border:1px solid var(--future);border-radius:15px;background:var(--card);box-shadow:0 8px 28px #0003;padding:16px 18px;color:var(--ink)}
.tour-tip>small{display:block;font-size:9px;letter-spacing:1px;color:var(--future);padding-right:22px}
.tour-tip>strong{display:block;font-size:15px;margin-top:7px}
.tour-tip>p{font-size:12px;line-height:1.6;margin:8px 0 12px;color:var(--muted)}
.tour-tip>div{display:flex;gap:12px;justify-content:space-between;align-items:center}
.tour-tip>div>button{font-size:12px;min-height:38px}
.tour-tip .primary{padding:8px 15px}
.tour-close{position:absolute;top:8px;right:9px;font-size:24px;min-width:30px;min-height:30px;color:var(--muted)}
.tour-highlight{outline:2px solid var(--future);outline-offset:3px;border-radius:8px}
@media(max-width:350px){.in-session .session-header{gap:5px}.in-session .session-header .timer{min-width:75px;font-size:23px;padding:8px}.in-session .session-header .timer.paused{font-size:11px}.in-session .session-header .session-tools{gap:3px}.in-session .session-header .session-tools button{width:30px;min-width:30px}.in-session .session-header .back{font-size:12px}.quiz-book-title{font-size:14px}.progress-overview.learning-dashboard{padding:17px}.progress-overview .mastery-ring{width:108px;height:108px;flex-basis:108px}.progress-overview .mastery-ring strong{font-size:26px}.progress-overview .learning-core{gap:13px}.progress-overview .core-summary h2{font-size:15px}.progress-overview .core-summary p{font-size:12px}.progress-mini.card{padding:14px 12px}.progress-mini>strong{font-size:21px}.progress-mini-title{font-size:12px}.progress-books.card{padding:16px}.progress-book-detail>strong{font-size:13px}.access-view main{padding:25px 18px}.access-brand{margin-bottom:28px}.access-screen>h1{font-size:32px}.flash-card .question .asked,.flash-card .flash-answer{font-size:calc(22px * var(--memoryQuestion-scale,1.1))}.flash-card .flash-answer{font-size:calc(22px * var(--memoryAnswer-scale,1.1))}.flash-card .question .question-context{font-size:calc(19px * var(--memoryContext-scale,1.1))}}
@media(prefers-reduced-motion:reduce){.timer.urgent{animation:none}.activity-track>div{transition:none}}

/* MARK VIII update: practice statistics follow the Next button in normal flow. */
.in-session main{padding-bottom:max(26px,env(safe-area-inset-bottom))}
.in-session .session-progress{position:static;inset:auto;margin-top:22px;background:transparent;border:0;padding:0;z-index:auto;box-shadow:none}
.in-session .session-progress .progress-content{max-width:none}
.in-session .session-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px;font-size:13px;line-height:1.5;padding:0;color:var(--muted)}
.in-session .session-stats b{font-size:14px;color:var(--ink);margin-left:4px}
.practice-position{font-size:11px;line-height:1.5;color:var(--muted);margin:14px 0 0}
.answer-order-picker>small{display:block;font-size:11px;color:var(--muted);line-height:1.6;margin-top:9px}
.review-item{padding:14px 15px;margin:11px 0;border-radius:13px;border-left-width:4px;--review-green:#5bed96;--review-red:#ff8b95}
[data-theme="study"] .review-item,[data-theme="vivid"] .review-item,[data-theme="calm"] .review-item,[data-theme="mono"] .review-item,[data-theme="naruto-young"] .review-item{--review-green:#15783f;--review-red:#b82a3a}
.review-heading{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap}
.review-heading .review-label{font-size:11px;line-height:1.5;flex:1;min-width:160px;margin:0}
.review-heading .badge{font-size:11px;line-height:1.4;padding:4px 8px;margin:0}
.review-correct{border-left-color:var(--review-green)}
.review-wrong{border-left-color:var(--review-red)}
.review-empty{border-left-color:var(--muted)}
.review-correct .badge{color:var(--review-green);border-color:var(--review-green);background:transparent}
.review-wrong .badge{color:var(--review-red);border-color:var(--review-red);background:transparent}
.review-item .question{margin:10px 0;line-height:1.5;font-size:calc(15px * var(--context-scale,1))}
.review-item .question .question-context{font-size:calc(13px * var(--context-scale,1));line-height:1.5;margin-bottom:7px}
.review-item .question .asked{font-size:calc(16px * var(--question-scale,1));line-height:1.5;margin:6px 0;padding:7px 9px}
.review-item .review-response{margin:8px 0 0;font-size:calc(17px * var(--option-scale,1));line-height:1.45}
.review-response small{display:block;font-size:12px;color:var(--muted);line-height:1.45;margin-bottom:2px}
.review-response strong{font-weight:650}
.review-wrong .review-response:not(.key){color:var(--review-red)}
.review-item .review-response.key,.review-correct .review-response{color:var(--review-green)}
.combat-pool-note{margin:9px 0;color:var(--muted);font-size:12px;line-height:1.6}

/* Admission exam: clear modes, visible delivery and a ten-second start. */
.admission-card{--admission-red:#ff5b70;--admission-soft:#f5365112;border-left:4px solid var(--admission-red);background:linear-gradient(140deg,var(--admission-soft),transparent 55%),var(--card);padding:22px 20px}
[data-theme="naruto-young"] .admission-card,[data-theme="study"] .admission-card,[data-theme="vivid"] .admission-card,[data-theme="calm"] .admission-card,[data-theme="mono"] .admission-card{--admission-red:#bd1735;--admission-soft:#dc23440c}
.admission-kicker{display:block;font-size:10px;font-weight:750;letter-spacing:1.2px;color:var(--muted)}
.admission-heading h2{font-size:38px!important;font-weight:850;letter-spacing:-.7px;line-height:1.08;color:var(--admission-red);margin:15px 0 10px;text-shadow:0 0 20px var(--admission-soft)}
.admission-heading p{font-size:13px;margin:8px 0 20px;color:var(--ink)}
.admission-card .exam-rules{margin:18px 0}
.admission-card>.small-copy{font-size:12px;line-height:1.6}
.exam-card>.exam-order-picker{margin-bottom:14px;padding-bottom:13px}
.exam-card>.exam-order-picker .time-options{grid-template-columns:repeat(2,minmax(0,1fr))}
.exam-order-picker>small{display:block;margin:10px 0 0;color:var(--muted);font-size:12px;line-height:1.6}
.exam-order-picker button:disabled{opacity:.65;cursor:default}
.admission-start,.exam-submit{background:linear-gradient(110deg,#b31b36,#e33b4a)!important;color:#fff!important;border:1px solid #f36f7d!important;font-weight:800;box-shadow:0 4px 16px #be133628;min-height:48px;font-size:15px}
.admission-start{width:100%;margin-top:5px}
.in-session .exam-header .exam-submit-top{grid-column:1/-1;margin:0;display:flex;align-items:center;justify-content:center;gap:10px;min-height:42px;padding:10px 12px;font-size:14px;letter-spacing:.5px;border-radius:10px}
.exam-submit svg{width:18px;height:18px;flex:0 0 18px}
.exam-submit-bottom{width:100%;margin:17px 0 12px;display:flex;align-items:center;justify-content:center;gap:9px}
.exam-submit-dialog{max-width:420px;padding:24px 22px}
.exam-submit-dialog h2{font-size:23px;line-height:1.35;margin:14px 0}
.exam-submit-dialog>button{display:flex;align-items:center;justify-content:center;width:100%;min-height:45px;margin:11px 0 0;font-size:14px}
.exam-submit-dialog>small{display:block;font-size:11px;line-height:1.6;text-align:center;color:var(--muted);margin-top:8px}
.exam-submit-dialog .exam-retry-note{font-size:11px;line-height:1.5;margin:8px 0;color:var(--muted)}
.exam-countdown-dial{position:relative;width:190px;height:190px;margin:16px 0 4px}
.exam-countdown-dial svg{display:block;width:100%;height:100%;transform:rotate(-90deg)}
.exam-countdown-dial circle{fill:none;stroke-width:6;stroke-linecap:round}
.countdown-track{stroke:var(--line)}
#exam-countdown-ring{stroke:#ef4059;stroke-dasharray:452.39;stroke-dashoffset:452.39;transition:stroke-dashoffset .2s linear}
.exam-countdown-dial strong{position:absolute;inset:0;display:grid;place-items:center;font-size:84px;line-height:1;font-variant-numeric:tabular-nums;font-weight:850;color:var(--future);animation:exam-number-pulse 1s ease-out infinite}
@keyframes exam-number-pulse{0%{transform:scale(1.035)}80%,100%{transform:scale(1)}}
@media(max-width:350px){.admission-card{padding:20px 17px}.admission-heading h2{font-size:34px!important}.in-session .exam-header .exam-submit-top{font-size:13px;min-height:40px}}
@media(prefers-reduced-motion:reduce){.exam-countdown-dial strong{animation:none}#exam-countdown-ring{transition:none}}

/* MARK VIII v27: stable controls, compact admission and clear guest access. */
.in-session .session-header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.in-session .session-header>#timer{grid-column:2;justify-self:center}
.in-session .session-header>.session-tools{grid-column:3;justify-self:end;min-width:0}
.in-session .session-header .session-tools button{width:32px;min-width:32px;height:36px}
.combat-session-head{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);position:sticky;top:0;z-index:25;background:var(--bg);padding:10px 0;border-bottom:1px solid var(--line)}
.combat-session-head .timer{justify-self:center}
.combat-session-head>.sound-toggle{justify-self:end}
.admission-card{position:relative;overflow:hidden;padding:18px 18px 19px;margin-top:16px;border:1px solid #b7274540;border-top:3px solid var(--admission-red);border-left:4px solid var(--admission-red);box-shadow:0 5px 22px #a51a3220}
.admission-heading{position:relative;border-bottom:1px solid #cf29452e;padding-bottom:10px}
.admission-heading:after{content:"";position:absolute;right:0;top:3px;width:76px;height:34px;background:repeating-linear-gradient(125deg,transparent 0 8px,var(--admission-red) 8px 11px,transparent 11px 20px);opacity:.24;pointer-events:none}
.admission-kicker{font-size:10px;color:var(--admission-red);letter-spacing:1px;font-weight:800}
.admission-heading h2{font-size:36px!important;line-height:1.04;margin:11px 0 8px;text-shadow:0 2px 18px #e33b4a17}
.admission-heading p{font-size:12px;margin:5px 0 0}
.admission-facts{display:flex;flex-wrap:wrap;gap:9px 16px;margin:13px 0 9px}
.admission-facts>span{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--ink)}
.admission-facts svg{width:17px;height:17px;color:var(--admission-red)}
.admission-card .exam-distribution{margin:8px 0 10px;padding:0;border:0}
.admission-card .exam-distribution summary{font-size:12px;color:var(--admission-red);padding:4px 0}
.admission-card .exam-distribution p{font-size:12px;line-height:1.6;margin:8px 0 0}
.admission-card .practice-time{padding:12px 0;margin:0;border-top:1px solid #cf29452e}
.admission-card .practice-time>span{font-size:12px;font-weight:750;margin-bottom:9px}
.admission-card .time-options{gap:7px}
.admission-card .time-options button{min-height:42px;padding:9px 4px;font-size:12px;touch-action:manipulation}
.admission-card .time-options button.active{border-color:var(--admission-red);color:var(--admission-red);background:var(--admission-soft);box-shadow:inset 0 -2px 0 var(--admission-red)}
.admission-card .exam-order-picker>small{font-size:11px;line-height:1.5;margin:8px 0 0;min-height:33px}
.admission-card .admission-start{display:flex;align-items:center;justify-content:center;gap:7px;margin:3px 0 0;font-size:14px;min-height:46px}
.admission-start svg{width:18px;height:18px;flex-shrink:0}
.exam-saved{border:1px solid var(--line);border-radius:10px;padding:10px;margin:12px 0;background:var(--panel)}
.exam-saved p{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px;margin:0 0 8px;font-size:12px}
.exam-saved p span{color:var(--muted);font-size:11px}
.exam-saved .secondary{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:40px;font-size:12px;padding:8px}
.exam-saved .secondary svg{width:16px;height:16px}
.exam-saved small{display:block;font-size:10px;line-height:1.5;margin:7px 0 0;color:var(--muted)}
.combat-entry{padding:18px;margin-top:18px}
.combat-entry h2{font-size:23px;margin:9px 0}
.combat-entry p{margin:10px 0 15px;font-size:12px;line-height:1.6}
.combat-entry-ribbon{margin-bottom:10px}
.guest-exam-quota{display:flex;align-items:center;gap:8px;margin:11px 0;font-size:12px;color:var(--muted)}
.guest-exam-quota svg,.settings-chevron svg{width:17px;height:17px;flex-shrink:0}
.guest-locked .chevron svg{width:19px;height:19px;color:var(--muted)}
.guest-locked .block-question-button{color:var(--muted)}
.settings-guest-note{color:var(--muted);font-size:12px;line-height:1.6;margin:0 0 5px}
.guest-lock-dialog{max-width:400px;padding:23px 22px}
.guest-lock-icon{display:inline-flex;border:1px solid var(--line);border-radius:12px;padding:10px;color:var(--gold);background:var(--panel)}
.guest-lock-icon svg{width:22px;height:22px}
.guest-lock-dialog h2{font-size:23px;line-height:1.3;margin:15px 0 10px}
.guest-lock-dialog p{font-size:14px;line-height:1.65;margin:0 0 17px}
.guest-lock-dialog>button{display:flex;align-items:center;justify-content:center;width:100%;font-size:14px;min-height:43px;margin:9px 0 0}
.reading-books{display:grid;gap:12px;margin-top:20px}
.reading-books .reading-book{margin:0;padding:15px;gap:14px}
.reading-books .reading-book>img{width:70px;height:99px}
.reading-books .reading-book>span{gap:6px}
.reading-books .reading-book strong{font-size:14px}
.reading-books .reading-link{font-size:12px}
.reader-controls .reader-search{max-width:590px;margin:0 auto;border-color:var(--line)}
.reader-controls .reader-search svg{flex:0 0 18px}
.reader-controls .reader-search input{flex:1;width:100%;background:transparent;min-width:0;border:0;border-radius:0}
.reader-controls .reader-search input:focus,.reader-controls .reader-search input:focus-visible{outline:0;border:0;box-shadow:none}
.reader-controls .reader-search:focus-within{box-shadow:0 0 0 1px #64748b;border-color:#64748b}
.reader-controls .text-options{justify-content:center}
.reader-view .reading-entry{border-bottom:3px solid var(--muted);padding:25px 0 26px}
.reader-text{touch-action:pan-y pinch-zoom}
#konoha-tour.tour-tip{background:#fff;color:#17243b;border:1px solid #cbd5e1;box-shadow:0 9px 30px #0004;color-scheme:light;max-height:calc(100dvh - var(--app-nav-height,80px) - 35px);overflow:auto}
#konoha-tour.tour-tip>small{color:#475569}
#konoha-tour.tour-tip>strong{color:#17243b}
#konoha-tour.tour-tip>p{color:#334155;font-size:13px}
#konoha-tour.tour-tip button{color:#334155;text-shadow:none}
#konoha-tour.tour-tip .primary{background:#17243b!important;color:#fff!important;border:1px solid #17243b!important;box-shadow:none}
#konoha-tour.tour-tip .tour-close{color:#475569;background:#f1f5f9;border-radius:7px}
@media(max-width:350px){.in-session .session-header{gap:5px}.in-session .session-header .session-tools button{width:30px;min-width:30px;height:34px}.admission-card{padding:17px 15px}.admission-heading h2{font-size:33px!important}.admission-heading:after{width:55px}.admission-kicker{font-size:9px}.admission-card .time-options button{font-size:11px}.combat-entry h2{font-size:21px}}
@media(min-width:700px){.reading-books{grid-template-columns:repeat(2,minmax(0,1fr))}}
