.practice-modes{display:grid;gap:14px;margin:22px 0 26px}
.practice-mode-card{width:100%;display:flex;align-items:center;gap:15px;text-align:left;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:15px;padding:21px 17px;min-width:0}
.practice-mode-card>svg{width:31px;height:31px;color:var(--gold)}.practice-mode-card>svg:last-child{width:21px;height:21px}
.practice-mode-card>span{flex:1;min-width:0;display:grid;gap:7px}.practice-mode-card strong{font-size:18px;line-height:1.35}.practice-mode-card small{font-size:12px;line-height:1.55;color:var(--muted)}
.memory-mode-card{background:var(--panel)}.memory-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:18px 0 22px}
.memory-steps>span{display:flex;align-items:center;justify-content:center;gap:6px;color:var(--muted);font-size:12px;min-width:0;padding:10px 3px;border-bottom:2px solid var(--line)}
.memory-steps b{font-size:12px}.memory-steps .active{color:var(--ink);border-bottom-color:var(--gold);font-weight:750}
.memory-settings{border:1px solid var(--line);border-radius:13px;background:var(--card);margin:20px 0;padding:0 16px}.memory-settings>summary{padding:18px 0;color:var(--ink);font-weight:650;line-height:1.4}
.memory-settings-body{display:grid;gap:19px;padding:0 0 20px}.memory-setting{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:13px;line-height:1.55;color:var(--ink)}
.memory-setting input{width:85px;flex-shrink:0;margin:0;padding:11px 9px;font-size:16px}.memory-setting-label{display:block;margin-bottom:9px;font-size:13px;color:var(--ink)}
.memory-settings .time-options{display:flex;gap:8px}.memory-settings .time-options button{flex:1;min-height:44px;white-space:normal;font-size:12px}
.memory-duration{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px;align-items:end}.memory-duration label{font-size:12px;color:var(--muted)}.memory-duration input{margin:6px 0 0;padding:11px 8px;font-size:16px}.memory-duration .secondary{font-size:12px;min-height:45px;padding:11px}
.memory-settings .volume-control{margin:0}.memory-settings .small-copy{margin:0}.memory-last{margin-top:22px;width:100%}
.memory-catalog .book strong{font-size:14px}.memory-catalog .book small{font-size:11px}.memory-catalog .book-n{font-size:11px}
.memory-play-view main{padding:18px 16px 30px;min-height:100vh}.memory-play-view .top{display:none}
.memory-session-header{top:0;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);margin:-18px 0 16px;padding:12px 0;background:var(--bg);gap:8px}
.memory-session-header .back{font-size:11px;line-height:1.35;margin:0;white-space:normal}.memory-session-header .session-tools{justify-self:end;gap:4px}.memory-session-header .session-tools button{min-width:30px;width:30px;height:34px}
.memory-session-header .timer{font-size:23px;min-width:96px;padding:9px 11px}
.memory-book-line{display:flex;gap:11px;align-items:center}.memory-book-line>img{width:35px;height:48px;object-fit:contain;flex-shrink:0}.memory-book-line>span{display:grid;gap:5px;flex:1;min-width:0}.memory-book-line strong{font-size:13px;line-height:1.45}.memory-book-line small{font-size:11px}.memory-pause.secondary{font-size:11px;min-height:40px;padding:8px;gap:5px}.memory-pause svg{width:15px;height:15px}
.memory-phase{font-weight:750;color:var(--ink);font-size:15px;margin:17px 0 0}.memory-question{margin:15px 0 21px;font-size:calc(16px * var(--memoryContext-scale,1.1));line-height:1.65}
.memory-question .question-context{font-size:calc(15px * var(--memoryContext-scale,1.1))!important}.memory-question .asked{font-size:calc(18px * var(--memoryQuestion-scale,1.1))!important;line-height:1.6}
.memory-options{display:grid;gap:11px}.memory-choice{width:100%;display:flex;align-items:flex-start;gap:12px;text-align:left;padding:15px 13px;border:1px solid var(--line);border-radius:12px;background:var(--field);color:var(--custom-memory-color,var(--ink));font-size:calc(15px * var(--memoryAnswer-scale,1.1));line-height:1.55;opacity:1!important;overflow-wrap:anywhere}
.memory-letter{display:grid;place-items:center;min-width:31px;height:31px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--field);font-size:15px;font-weight:750;flex-shrink:0}.memory-option-copy{flex:1;min-width:0;white-space:pre-wrap}.memory-choice-mark{font-size:11px;line-height:1.5;max-width:58px;flex-shrink:0;font-weight:750}
.memory-choice[data-state="covered"]{align-items:center;background:var(--raised);color:var(--ink)}.memory-choice[data-state="covered"] .memory-letter{background:var(--field);color:var(--ink)}
.memory-choice[data-state="correct"]{background:var(--good-bg);border-color:var(--good-line);color:var(--r110-good-ink)}.memory-choice[data-state="wrong"]{background:var(--bad-bg);border-color:var(--bad-line);color:var(--r110-bad-ink)}
.memory-choice:is([data-state="correct"],[data-state="wrong"]) .memory-letter{color:inherit;background:transparent;border-color:currentColor}
.memory-feedback{padding:14px;border:1px solid var(--line);background:var(--card);border-radius:10px;line-height:1.7;color:var(--ink);font-size:14px;overflow-wrap:anywhere}.memory-feedback strong{color:var(--ink)}
.memory-next{margin-top:17px}.memory-session-progress{display:grid;gap:9px;margin:24px 0 8px;color:var(--muted);font-size:12px}
.memory-result-actions{display:grid;gap:14px;margin-top:23px}.memory-result-actions .back{justify-content:center}.memory-result-symbol{display:flex;justify-content:center;color:var(--gold)}.memory-result-symbol svg{width:54px;height:54px}
.memory-round-intro{text-align:center;padding:20px 3px}.memory-round-intro h1{font-size:29px;line-height:1.35}.memory-round-intro>small{display:block;margin-top:14px}.memory-round-intro .primary{margin-top:23px}
.memory-brain{width:95px;height:95px;display:grid;place-items:center;margin:12px auto 24px;border:1px solid var(--line);border-radius:25px;background:var(--card);color:var(--gold)}.memory-brain svg{width:61px;height:61px;stroke-width:1.5}
dialog.memory-welcome{width:calc(100% - 36px);max-width:410px;padding:25px;text-align:center;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:20px}dialog.memory-welcome::backdrop{background:#06150dcc}dialog.memory-welcome h2{color:var(--ink);font-size:25px;line-height:1.35}dialog.memory-welcome p{color:var(--muted);font-size:14px}
.memory-welcome-art{position:relative;width:200px;height:155px;margin:0 auto 20px;display:grid;place-items:center}.memory-welcome-art .memory-brain{margin:0;animation:memory-brain-light 1.2s ease-in-out 2}.memory-orbit{position:absolute;display:grid;place-items:center;width:38px;height:45px;border:1px solid var(--line);background:var(--raised);color:var(--ink);border-radius:9px;font-weight:750;animation:memory-card-turn 1.5s ease-in-out 1}.orbit-a{left:0;top:12px}.orbit-b{right:0;top:12px;animation-delay:.15s}.orbit-c{bottom:0;left:81px;animation-delay:.3s}
@keyframes memory-brain-light{0%,100%{transform:scale(1)}50%{transform:scale(1.08);background:var(--raised)}}@keyframes memory-card-turn{0%,100%{transform:rotateY(0)}45%,65%{transform:rotateY(180deg)}}
@media(prefers-reduced-motion:reduce){.memory-welcome-art .memory-brain,.memory-orbit{animation:none}}
@media(max-width:360px){.memory-session-header{grid-template-columns:minmax(0,1fr) 82px minmax(0,1fr);gap:4px}.memory-session-header .timer{min-width:82px;font-size:21px;padding:8px 6px}.memory-session-header .session-tools{gap:2px}.memory-session-header .session-tools button{width:27px;min-width:27px;height:36px}.memory-session-header .session-tools svg{width:16px;height:16px}.memory-session-header .back{font-size:11px;gap:3px}.memory-session-header .back svg{width:14px;height:14px}.memory-choice{padding:13px 10px;gap:9px}.memory-choice-mark{font-size:11px;max-width:50px}.memory-duration .secondary{font-size:11px;padding:10px 7px}.memory-steps>span{gap:4px;font-size:11px}}

.memory-color-sample{display:block;padding:12px 0;color:var(--custom-memory-color,var(--ink));font-size:15px}
.result-wrong-review{margin:20px 0 13px}

/* Three options disappear, move, then reappear without showing the answer key. */
.memory-options.is-mixing{isolation:isolate;position:relative}
.memory-shuffling{position:relative;animation:memory-option-shuffle var(--mix-duration,1200ms) cubic-bezier(.4,0,.2,1) both;will-change:transform;backface-visibility:hidden}
.memory-shuffling .memory-letter{background:var(--field)}
.memory-timer.shuffling{font-size:15px!important}
@keyframes memory-option-shuffle{
 0%{transform:translate(0,0) rotateY(0)}
 25%{transform:translate(var(--mix-x,18px),0) rotateY(70deg)}
 78%{transform:translate(var(--mix-x,18px),var(--mix-shift,0px)) rotateY(290deg)}
 100%{transform:translate(0,var(--mix-shift,0px)) rotateY(360deg)}
}
@media(prefers-reduced-motion:reduce){.memory-shuffling{animation:none;will-change:auto}}

/* R112: dedicated memory colors and a readable, animated three-stage guide. */
.memory-steps{gap:8px;margin:17px 0 21px}
.memory-steps>.memory-step{display:grid;gap:10px;align-content:start;justify-content:stretch;padding:7px 0 0;border:0;font-size:13px;font-weight:650;line-height:1.4;min-width:0;color:var(--step-ink)}
.memory-step-observe{--step-ink:var(--memory-observe-ink);--step-accent:var(--memory-observe-accent)}
.memory-step-recall{--step-ink:var(--memory-recall-ink);--step-accent:var(--memory-recall-accent)}
.memory-step-check{--step-ink:var(--memory-check-ink);--step-accent:var(--memory-check-accent)}
.memory-step-label{display:flex;align-items:baseline;justify-content:center;gap:6px;white-space:nowrap}
.memory-steps b{font-size:14px;font-weight:800}
.memory-steps>.memory-step.active{font-weight:850;color:var(--step-ink)}
.memory-step-track{display:block;position:relative;isolation:isolate;height:4px;overflow:hidden;border-radius:4px;background:var(--line)}
.memory-step-track:before{content:"";position:absolute;inset:0;background:var(--step-accent);opacity:.35}
.memory-step-fill{position:absolute;inset:0;display:block;background:var(--step-accent);transform:scaleX(0);transform-origin:left center}
.memory-step.active .memory-step-fill{transform:scaleX(1)}
.memory-step.active.is-timed .memory-step-fill{animation:memory-stage-progress var(--step-duration,1s) linear both}
.memory-step.active.is-check .memory-step-fill{animation:memory-stage-check .55s ease-out both}
.memory-step.active .memory-step-track:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,#fff9,transparent);transform:translateX(-110%);animation:memory-stage-shine 1.6s ease-in-out infinite}
.memory-steps .memory-step.active.is-paused .memory-step-fill,.memory-steps .memory-step.active.is-paused .memory-step-track:after{animation-play-state:paused}
@keyframes memory-stage-progress{from{transform:scaleX(var(--step-from,0))}to{transform:scaleX(1)}}
@keyframes memory-stage-check{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes memory-stage-shine{to{transform:translateX(110%)}}
.memory-settings-body h3{font-size:16px;line-height:1.4;margin:7px 0 0;color:var(--ink)}
.memory-settings-inline .memory-settings-body{padding:0;gap:18px}
.memory-settings-inline .time-options{display:flex;gap:8px;flex-wrap:wrap}
.memory-settings-inline .time-options button{flex:1;min-height:44px;white-space:normal;font-size:12px}
.memory-color-preview{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--card);min-width:0}
.memory-color-preview .memory-question{margin:0 0 15px}
.memory-color-preview .memory-steps{margin:18px 0 0}
.memory-settings-body .theme-color-row{padding:2px 0 12px;min-width:0}
.memory-settings-body .theme-color-row label{min-width:min(200px,100%);line-height:1.5}
:root[data-theme] .memory-question .question-context,
:root[data-theme] .memory-question .question-context *{color:var(--custom-memoryContext-color,var(--custom-context-color,var(--context-ink,var(--ink))))!important;text-shadow:none!important}
:root[data-theme] .memory-question .asked,
:root[data-theme] .memory-question .asked *{color:var(--custom-memoryQuestion-color,var(--custom-question-color,var(--asked-ink,var(--ink))))!important;text-shadow:none!important}
:root[data-theme] .memory-choice:not([data-state="correct"]):not([data-state="wrong"]) .memory-letter{color:var(--custom-memoryLetter-color,var(--ink))!important}
@media(max-width:360px){.memory-steps>.memory-step{font-size:12px;gap:9px}.memory-steps b{font-size:13px}.memory-step-label{gap:4px}.memory-color-preview{padding:10px}}
@media(prefers-reduced-motion:reduce){.memory-step .memory-step-fill,.memory-step .memory-step-track:after{animation:none!important}.memory-step .memory-step-track:after{display:none}.memory-step.active .memory-step-fill{transform:scaleX(1)}}

/* R113: independent text sizes, applied in the preview and in the real round. */
.memory-text-settings{display:grid;gap:15px;padding-bottom:20px;border-bottom:1px solid var(--line);min-width:0}
.memory-text-settings .size-control{margin:0;min-width:0}
.memory-text-settings .size-control>span{gap:10px;line-height:1.5}
.memory-text-settings .size-control output{white-space:nowrap;flex-shrink:0;font-variant-numeric:tabular-nums}
.memory-text-settings input[type="range"]{width:100%;min-width:0;min-height:30px}
.memory-text-settings>.secondary{justify-self:start;max-width:100%;white-space:normal}
.memory-text-preview{display:grid;gap:14px;margin-top:1px}
.memory-preview-label{font-size:10px;letter-spacing:.09em;font-weight:750;color:var(--muted)}
.memory-text-preview .memory-question{margin:0}
:root[data-theme] .memory-question .asked.no-question{font-size:calc(18px * var(--memoryNoQuestion-scale,1.1))!important}
:root[data-theme] .memory-question>.question-label{font-size:calc(14px * var(--memoryNumber-scale,1))!important}
:root[data-theme] .memory-letter{font-size:calc(15px * var(--memoryLetter-scale,1));line-height:1.1;min-width:max(31px,calc(26px * var(--memoryLetter-scale,1)));height:max(31px,calc(26px * var(--memoryLetter-scale,1)))}
body.in-session .question .asked.no-question{font-size:calc(17px * var(--noQuestion-scale,1))}
body.in-session .answer .letter{font-size:calc(13px * var(--letter-scale,1));line-height:1.1}
.settings-layout .text-sample strong.no-question{font-size:calc(17px * var(--noQuestion-scale,1))}
.settings-layout .text-sample .sample-letter{font-size:calc(13px * var(--letter-scale,1))}
.memory-settings-link{margin:17px 0 20px;font-size:13px;line-height:1.5;gap:7px;max-width:100%;white-space:normal;text-align:left}
.memory-settings-link svg{width:17px;height:17px;flex-shrink:0}
.questionnaire-text-settings h3{margin-top:0}
.memory-voice-compact{display:flex;max-width:100%;margin:12px 0 0;min-width:0;gap:5px;flex-wrap:nowrap}
.memory-voice-compact .session-voice-status{flex:1;min-width:0;font-size:10px;line-height:1.35;overflow-wrap:anywhere}
.memory-voice-compact .session-voice-status:empty{display:none}
.memory-voice-compact>[data-memory-voice-repeat]{width:30px;padding:5px;min-height:30px}
.memory-reader-settings{display:grid;gap:13px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.memory-reader-settings .check-setting{font-size:14px;line-height:1.5;align-items:center}
.memory-reader-settings select{width:90px;padding:10px;flex-shrink:0}
/* Keep the clock and actions, with no solid rectangle over the theme background. */
:root[data-theme] .memory-session-header{position:relative;top:auto;background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none}
.memory-session-header .memory-timer:is(.paused,.shuffling,.reviewed,.reading,.untimed){font-size:13px!important}
.memory-choice-mark{max-width:none;white-space:nowrap;font-size:10px}

/* R114: five real answers, clear controls and a focused desktop workspace. */
:root{--r110-good-ink:var(--option-correct-ink,var(--ink));--r110-bad-ink:var(--bad-ink,var(--ink))}
html[data-pwa] .memory-mode-card{display:flex;gap:22px;align-items:center;padding:24px;border-radius:18px;margin:18px 0 26px;background:var(--panel);border:1px solid var(--line);text-align:left;width:100%;box-shadow:0 5px 22px #10263808}
html[data-pwa] .memory-mode-card:hover{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 5%,var(--panel))}
.memory-mode-emblem{position:relative;display:grid!important;place-items:center;width:76px;height:76px;flex:none!important;border:1px solid #ffffff24;border-radius:21px;background:linear-gradient(135deg,#253d55,#286363);color:#e3f5ef;box-shadow:inset 0 1px #ffffff24}
.memory-mode-emblem::before{content:"";position:absolute;inset:8px;border:1px solid #d9f3eb35;border-radius:14px;transform:rotate(-8deg)}
.memory-mode-emblem svg{position:relative;width:43px;height:43px;stroke-width:1.45;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.memory-mode-copy{display:grid!important;gap:6px!important;flex:1;min-width:0}
.memory-mode-kicker{font-size:10px!important;letter-spacing:.12em;font-weight:800;color:var(--muted)}
.memory-mode-copy strong{font-size:23px!important;line-height:1.3;color:var(--ink)}
.memory-mode-copy small{font-size:13px!important;line-height:1.6;color:var(--muted)}
.memory-entry-arrow{flex:none!important;width:38px;height:38px;display:grid!important;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--ink)}
.memory-entry-arrow svg{width:18px;height:18px}
html[data-pwa] .memory-play-view #app>main{display:block!important;max-width:1440px!important;min-height:100vh;padding:26px 38px 42px!important}
html[data-pwa] .memory-play-view .top{display:none!important}
html[data-pwa] .memory-session-header{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;gap:14px;margin:0 0 20px!important;padding:0 0 18px!important;position:static!important;background:transparent!important;border:0!important;box-shadow:none!important}
html[data-pwa] .memory-session-header .back{font-size:13px;justify-self:start;margin:0!important;white-space:nowrap}
html[data-pwa] .memory-session-header .memory-timer{grid-row:1;grid-column:2;justify-self:center;position:static!important;min-width:104px;font-size:24px;border-radius:12px;padding:9px 16px;margin:0!important;box-shadow:none!important;font-variant-numeric:tabular-nums}
html[data-pwa] .memory-session-header .session-tools{grid-row:1;grid-column:3;justify-self:end}
html[data-pwa] body.memory-play-view .memory-session-header>.top-actions.session-tools{grid-row:1!important;grid-column:3!important;justify-self:end!important;display:flex!important}
html[data-pwa] body.memory-play-view .memory-session-header>.back{grid-row:1!important;grid-column:1!important}
html[data-pwa] .memory-session-header .session-tools button{width:36px;height:36px;min-width:36px}
.memory-book-line{padding:0 0 17px;border-bottom:1px solid var(--line);gap:13px}
.memory-book-line strong{font-size:14px;font-weight:750}.memory-book-line small{font-size:12px;color:var(--muted)}
.memory-pause.secondary{min-height:40px;padding:9px 14px;font-size:12px;border-radius:9px}
.memory-steps{max-width:740px;margin:15px 0 15px;gap:18px}
.memory-step-label{justify-content:flex-start;font-size:13px;letter-spacing:.01em}
.memory-step-track{height:3px}.memory-steps>.memory-step{gap:9px;padding-top:3px}
.memory-voice-compact{display:flex;align-items:center;gap:8px;margin:16px 0 0;flex-wrap:wrap}
.memory-voice-compact button,.memory-voice-compact select{width:auto;min-height:34px;border:1px solid var(--line);border-radius:8px;padding:6px 11px;background:var(--field);color:var(--ink);font-size:12px}
.memory-voice-compact button{display:inline-flex;align-items:center;gap:6px}.memory-voice-compact svg{width:16px;height:16px}
.memory-voice-compact select{max-width:90px;margin:0}.memory-voice-compact .session-voice-status{flex:1;font-size:11px;color:var(--muted)}
.memory-phase{font-size:18px;margin:23px 0 18px;line-height:1.45}
.memory-workspace{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:32px;align-items:start}
.memory-prompt{min-width:0;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.memory-prompt .memory-question{margin:15px 0 24px;line-height:1.65}
html[data-pwa] .memory-question .question-context{font-size:calc(16px * var(--memoryContext-scale,1.1))!important;line-height:1.65}
html[data-pwa] .memory-question .asked{font-size:calc(20px * var(--memoryQuestion-scale,1.1))!important;line-height:1.55;font-weight:750}
html[data-pwa] .memory-question .asked.no-question{font-size:calc(20px * var(--memoryNoQuestion-scale,1.1))!important}
.memory-question>.question-label{display:block;margin-bottom:14px;color:var(--muted)!important;font-size:calc(13px * var(--memoryNumber-scale,1))!important}
.memory-instruction{margin:0;font-size:13px;color:var(--muted);line-height:1.65;padding-top:18px;border-top:1px solid var(--line)}
.memory-keyboard{font-size:11px;color:var(--muted);line-height:2.2;margin:23px 0 0}.memory-keyboard kbd{font:11px system-ui;border:1px solid var(--line);border-radius:4px;padding:2px 5px;background:var(--field)}
.memory-response-pane{min-width:0}
.memory-options{gap:10px}
html[data-pwa] .memory-choice{border-radius:12px;background:var(--field);padding:15px;min-height:66px;text-shadow:none;box-shadow:none;line-height:1.6;font-size:calc(15px * var(--memoryAnswer-scale,1.1));align-items:flex-start}
.memory-choice:focus-visible{outline:3px solid var(--brand);outline-offset:3px}
.memory-choice:not(:disabled):hover{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 6%,var(--field))}
.memory-choice[data-state="correct"]{border-width:2px;padding:14px;background:var(--good-bg)!important}
.memory-choice[data-state="wrong"]{border-width:2px;padding:14px;background:var(--bad-bg)!important}
.memory-choice-mark{white-space:normal;max-width:64px;font-size:11px;line-height:1.5}
.memory-next{width:100%;min-height:46px;margin:12px 0 0;border-radius:10px}
.memory-feedback{font-size:13px;line-height:1.7;margin:14px 0 0;padding:14px;border-radius:12px}
.memory-session-progress{max-width:100%;margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}
.memory-session-progress .progress{height:4px;border:0;background:var(--line)}
.memory-session-progress .progress>div{background:var(--brand)}
.memory-round-intro{max-width:700px;margin:20px auto;padding:25px}.memory-round-intro h1{font-size:34px;letter-spacing:-.7px}
.memory-round-intro p{font-size:15px;line-height:1.8;color:var(--muted)}.memory-round-intro .memory-brain{background:linear-gradient(135deg,#253d55,#286363);color:#e3f5ef;border:0;box-shadow:0 8px 30px #10263810}
.memory-round-intro .primary{max-width:400px}.memory-round-intro .memory-steps{margin:28px 0}
.memory-settings-inline{display:grid;gap:13px}.memory-settings-inline>.small-copy{margin:0 0 5px}
.memory-settings-section{border:1px solid var(--line);border-radius:12px;background:var(--field);padding:0!important;overflow:hidden}
.memory-settings-section>summary{display:flex;align-items:center;padding:17px 18px;cursor:pointer;gap:12px;color:var(--ink);list-style:none}
.memory-settings-section>summary::-webkit-details-marker{display:none}
.memory-settings-section>summary::after{content:"+";margin-left:auto;font-size:22px;color:var(--muted);font-weight:400}
.memory-settings-section[open]>summary::after{content:"−"}
.memory-settings-section>summary>span{display:grid;gap:5px;min-width:0}
.memory-settings-section>summary strong{font-size:14px}.memory-settings-section>summary small{font-size:12px;color:var(--muted);line-height:1.5;font-weight:400}
.memory-settings-content{display:grid;gap:18px;padding:0 18px 20px}.memory-settings-content h3{font-size:15px;margin:5px 0 0}
.memory-settings-content .small-copy{margin:0;font-size:12px;line-height:1.7}
.memory-settings-content .time-options{margin:10px 0 0;display:flex;gap:8px;flex-wrap:wrap}
.memory-settings-content .time-options button{flex:1;min-width:100px;font-size:12px;min-height:41px}
.memory-settings-content .memory-setting input{max-width:108px;min-width:80px;background:var(--card);border:1px solid var(--line);border-radius:8px}
.memory-settings-content .memory-setting>span{max-width:420px}
.memory-settings-content .theme-color-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding:0 0 13px;min-width:0}
.memory-settings-content .theme-color-row>label{display:flex;align-items:center;justify-content:space-between;gap:15px;flex:1;font-size:13px;min-width:0}
.memory-settings-content input[type="color"]{width:46px;height:35px;border:1px solid var(--line);border-radius:7px;padding:3px;margin:0;flex:none;background:var(--card)}
.memory-settings-content .theme-color-row>.back{font-size:11px;white-space:normal;text-align:right;max-width:125px;min-height:35px;margin:0}
.memory-settings-content .memory-reader-settings,.memory-settings-content .memory-text-settings{border-bottom:0;padding-bottom:0}
.memory-settings-content .memory-reader-settings h3,.memory-settings-content .memory-text-settings h3{display:none}
.memory-color-preview .memory-steps{margin-bottom:2px}
.memory-settings-content .memory-duration input{background:var(--card);border:1px solid var(--line);border-radius:8px}
.memory-settings-content .memory-duration .secondary{margin:0}
html[data-pwa][data-view="memory-play"] .pwa-statusbar{display:none!important}
@media(max-width:1000px){.memory-workspace{grid-template-columns:1fr;gap:20px}.memory-keyboard{display:none}.memory-prompt{padding:19px}.memory-phase{font-size:17px}.memory-prompt .memory-question{margin-bottom:18px}}
@media(max-width:600px){html[data-pwa] .memory-mode-card{padding:18px 15px;gap:14px}.memory-mode-emblem{width:59px;height:59px;border-radius:17px}.memory-mode-emblem svg{width:34px;height:34px}.memory-mode-copy strong{font-size:19px!important}.memory-mode-copy small{font-size:12px!important}.memory-mode-kicker{font-size:9px!important}.memory-entry-arrow{display:none!important}html[data-pwa] .memory-play-view #app>main{padding:17px 15px 30px!important}html[data-pwa] .memory-session-header{gap:6px!important}html[data-pwa] .memory-session-header .back{font-size:11px;white-space:normal}html[data-pwa] .memory-session-header .memory-timer{min-width:83px;font-size:21px;padding:8px}html[data-pwa] .memory-session-header .session-tools{gap:3px}html[data-pwa] .memory-session-header .session-tools button{width:28px;height:32px;min-width:28px}.memory-steps{gap:10px}.memory-step-label{font-size:12px}.memory-step-label b{font-size:12px}.memory-book-line strong{font-size:12px}.memory-book-line small{font-size:11px}.memory-pause.secondary{padding:8px;font-size:11px}.memory-book-line>img{width:30px;height:42px}.memory-round-intro{padding:18px 0}.memory-round-intro h1{font-size:28px}.memory-settings-content{padding:0 13px 17px}.memory-settings-section>summary{padding:16px 13px}.memory-settings-content .memory-duration{grid-template-columns:1fr 1fr}.memory-settings-content .memory-duration .secondary{grid-column:1/-1}.memory-settings-content .theme-color-row{gap:10px}.memory-settings-content .theme-color-row>.back{max-width:95px}}
@media(prefers-reduced-motion:reduce){.memory-shuffling,.memory-step .memory-step-fill,.memory-step .memory-step-track::after{animation:none!important}.memory-step .memory-step-track::after{display:none}.memory-mode-card{transition:none!important}}
