.learn-page{
  min-height:100vh;
  background:
    radial-gradient(circle at 4% 0%,rgba(94,118,168,.16),transparent 28rem),
    radial-gradient(circle at 96% 15%,rgba(188,78,46,.09),transparent 24rem),
    var(--paper);
}
.learn-page button,.learn-page select{font:inherit;}
.learn-page button{cursor:pointer;}
.learn-page .section-kicker{color:var(--indigo-soft);font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;}
.learn-wrap{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:0 0 54px;}

.lesson-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-top:56px;}
.lesson-heading > div{max-width:720px;}
.lesson-heading .section-kicker,.side-card .section-kicker,.dialog-heading .section-kicker{margin:0 0 7px;}
.lesson-heading h1{margin:0;font:700 clamp(32px,5.4vw,60px)/1.08 var(--display);letter-spacing:-.035em;}
.lesson-heading > div > p:last-child{max-width:650px;margin:17px 0 0;color:var(--muted);font-size:16px;}

.session-strip{display:grid;grid-template-columns:auto minmax(120px,1fr) auto;align-items:center;gap:20px;margin-top:30px;padding:14px 18px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.74);}
.session-stat{display:flex;align-items:baseline;gap:9px;white-space:nowrap;}
.session-stat-label{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;}
.session-stat strong{font-size:15px;}
.session-stat-end{justify-content:flex-end;}
.session-progress{height:6px;border-radius:100px;background:var(--line-soft);overflow:hidden;}
.session-progress span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--persimmon),#db795c);transition:width .35s ease;}

.learning-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:26px;align-items:start;margin-top:22px;}
.learning-card{position:relative;min-height:620px;padding:26px 32px 30px;border:1px solid var(--line);border-top:3px solid var(--persimmon);border-radius:16px;background:var(--card);box-shadow:0 30px 70px -44px rgba(22,31,51,.72);overflow:hidden;}
.learning-card::after{content:"";position:absolute;z-index:0;right:-120px;bottom:-150px;width:330px;height:330px;border-radius:50%;background:var(--paper-2);pointer-events:none;}
.learning-card > *{position:relative;z-index:1;}
.card-topline{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.stage-badge{display:inline-flex;align-items:center;min-height:28px;padding:5px 11px;border-radius:100px;background:var(--persimmon-tint);color:var(--persimmon);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;}
.card-position{color:var(--muted);font-size:12px;font-weight:700;}

.learning-view{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.72fr);gap:34px;align-items:center;min-height:465px;padding:30px 2px 20px;}
.focused-learning-view{padding-left:42px;padding-right:12px;}
.learning-copy{min-width:0;}
.learning-overline{margin:0 0 9px;color:var(--indigo-soft);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;}
.learning-word{margin:0;font:700 clamp(58px,10vw,104px)/1.05 var(--display);letter-spacing:.01em;overflow-wrap:anywhere;}
.learning-reading{margin:10px 0 0;color:var(--indigo);font:600 clamp(20px,3vw,28px)/1.4 var(--display);letter-spacing:.08em;}
.learning-meaning{max-width:560px;margin:18px 0 0;font-size:clamp(18px,2.4vw,24px);font-weight:700;line-height:1.35;}
.learning-note{max-width:560px;margin:15px 0 0;padding-left:15px;border-left:2px solid var(--line);color:var(--muted);font-size:13px;}
.card-actions .action-note{align-self:center;max-width:560px;margin:0 auto 0 0;line-height:1.45;}
.learning-hint{margin:19px 0 0;color:var(--muted);font-size:13px;}
.learning-visual{position:relative;display:grid;place-items:center;min-height:300px;padding:20px;border:1px solid var(--line-soft);border-radius:18px;background:linear-gradient(145deg,#fbfcfe,#eef2f7);overflow:hidden;}
.learning-visual::before{content:"";position:absolute;inset:20px;border:1px solid rgba(202,211,224,.65);border-radius:50%;}
.learning-visual img{position:relative;z-index:1;display:block;width:100%;max-width:290px;height:260px;object-fit:contain;filter:drop-shadow(0 16px 18px rgba(22,31,51,.1));}
.learning-visual.transparent-art{padding:0;border:0;background:transparent;overflow:visible;}
.learning-visual.transparent-art::before{display:none;}
.learning-visual.transparent-art img{max-width:480px;height:430px;}

.audio-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:22px;}
.audio-button{display:inline-flex;align-items:center;gap:8px;min-height:39px;padding:8px 13px;border:1px solid var(--indigo);border-radius:100px;background:transparent;color:var(--indigo);font-size:12px;font-weight:700;}
.audio-button:hover{background:var(--paper-2);}
.audio-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}

.context-view{display:block;min-height:465px;padding:40px 4px 14px;}
.context-wordline{display:flex;align-items:center;justify-content:space-between;gap:20px;}
.context-wordline .learning-word{font-size:clamp(40px,6vw,62px);}
.context-wordline .learning-reading{margin:5px 0 0;font-size:19px;}
.context-sentence{max-width:800px;margin:40px 0 0;font:600 clamp(28px,4.4vw,44px)/1.55 var(--display);letter-spacing:.02em;}
.context-sentence .target-word{color:var(--persimmon);background:linear-gradient(transparent 72%,var(--persimmon-tint) 72%);}
.context-sentence[data-play-sentence]{padding:9px 11px;border:1px solid transparent;border-radius:9px;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;}
.context-sentence[data-play-sentence]:hover{border-color:var(--indigo-soft);background:var(--paper-2);box-shadow:0 8px 22px -20px rgba(22,31,51,.7);}
.context-sentence[data-play-sentence]:focus-visible{outline:2px solid var(--indigo);outline-offset:7px;}
.context-sentence .context-target-audio{margin:0;padding:0;border:0;border-radius:5px;color:var(--persimmon);background:linear-gradient(transparent 72%,var(--persimmon-tint) 72%);font:inherit;letter-spacing:inherit;line-height:inherit;cursor:pointer;}
.context-sentence .context-target-audio:hover,.context-sentence .context-target-audio:focus-visible{outline:2px solid var(--persimmon);outline-offset:3px;background:var(--persimmon-tint);}
.context-sentence ruby,.answer-sentence-ja ruby{ruby-position:over;}
.context-sentence rt,.answer-sentence-ja rt{color:var(--indigo-soft);font:500 .42em/1 var(--ui);letter-spacing:.03em;}
.context-translation{margin:12px 0 0;color:var(--muted);font-size:17px;}
.context-support{display:grid;grid-template-columns:160px minmax(0,1fr);gap:20px;align-items:center;margin-top:30px;padding:15px;border:1px solid var(--line-soft);border-radius:14px;background:var(--paper-2);}
.context-support img{display:block;width:100%;height:112px;object-fit:contain;}
.context-support p{margin:0;color:var(--muted);font-size:13px;}

.recall-view{display:grid;place-items:center;min-height:465px;padding:38px 0 12px;text-align:center;}
.recall-view .learning-word{font-size:clamp(74px,15vw,130px);}
.recall-reading-prompt{margin:0 0 14px;color:var(--muted);font:600 16px/1.3 var(--display);}
.recall-prompt{margin:22px 0 0;color:var(--muted);font-size:17px;}
.recall-rule{display:inline-flex;gap:7px;margin:20px 0 0;padding:7px 12px;border-radius:100px;background:var(--paper-2);color:var(--indigo);font-size:12px;font-weight:700;}

.answer-view{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:25px;min-height:400px;padding:32px 2px 8px;}
.answer-view .learning-word{font-size:clamp(44px,7vw,70px);}
.answer-view .learning-reading{font-size:21px;}
.answer-view .learning-meaning{margin-top:12px;font-size:20px;}
.answer-sentence{margin-top:27px;padding-top:21px;border-top:1px solid var(--line-soft);}
.answer-sentence-ja{margin:0;font:600 clamp(20px,3.2vw,29px)/1.5 var(--display);}
.answer-sentence-ja .target-word{color:var(--persimmon);}
.answer-sentence-en{margin:6px 0 0;color:var(--muted);font-size:14px;}
.answer-visual{display:grid;place-items:center;align-self:start;min-height:190px;padding:12px;border-radius:14px;background:var(--paper-2);}
.answer-visual img{display:block;width:100%;height:170px;object-fit:contain;}

.card-actions{display:flex;align-items:stretch;gap:10px;min-height:49px;margin-top:4px;}
.rating-button{min-height:49px;border-radius:11px;font-weight:700;transition:transform .12s ease,box-shadow .12s ease,background .12s ease;}
.rating-button:active{transform:translateY(1px);}
.continue-button{margin-left:auto;min-width:185px;}
.rating-button{display:flex;flex:1;flex-direction:column;align-items:flex-start;justify-content:center;padding:9px 13px;border:1px solid var(--line);background:white;color:var(--ink);text-align:left;}
.rating-button strong{font-size:13px;}
.rating-button > span{margin-top:1px;color:var(--ink);font-size:10px;font-weight:500;line-height:1.25;}
.rating-button small{margin-top:2px;color:var(--muted);font-size:10px;font-weight:500;line-height:1.25;}
.rating-button.forgot:hover{border-color:#b44444;background:#fff7f7;}
.rating-button.recalled:hover{border-color:var(--indigo-soft);background:var(--paper-2);}
.rating-button.immediate{border-color:var(--line);background:white;}
.rating-button.immediate:hover{border-color:var(--indigo-soft);background:var(--paper-2);}
.rating-button.simple-rating{align-items:center;padding:12px;text-align:center;font-size:13px;line-height:1.2;}
.recall-choice-panel{display:flex;align-items:center;gap:20px;width:100%;min-height:64px;}
.recall-choice-copy{display:grid;gap:3px;max-width:300px;margin-right:auto;text-align:left;}
.recall-choice-copy strong{font:600 16px/1.25 var(--display);}
.recall-choice-copy span{color:var(--muted);font-size:12px;line-height:1.4;}
.recall-choice-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:min(500px,62%);min-height:49px;}
.recall-choice-buttons .continue-button{grid-column:1/-1;width:min(240px,100%);margin-left:auto;}
.answer-confirmation{display:flex;align-items:center;gap:20px;width:100%;min-height:64px;}
.answer-confirmation-copy{display:grid;gap:3px;max-width:470px;margin-right:auto;}
.answer-confirmation-copy strong{font:600 16px/1.25 var(--display);}
.answer-confirmation-copy span{color:var(--muted);font-size:12px;line-height:1.4;}
.answer-confirmation-buttons{display:flex;align-self:center;align-items:stretch;gap:10px;height:49px;}
.answer-confirmation-buttons > button{height:49px;min-height:49px;}
.answer-confirmation-buttons .primary-button{font-size:13px;line-height:1.2;}
.focused-card[data-phase="interleave"] .card-actions > .continue-button{align-self:center;height:49px;min-height:49px;}
.answer-result-message{color:var(--indigo);font:600 14px/1.45 var(--ui);}
.card-feedback{min-height:22px;margin:10px 0 0;color:var(--indigo);font-size:12px;font-weight:700;text-align:right;}
.learning-card button:disabled{cursor:default;opacity:.62;}
.learning-card button:focus-visible,.learning-card input:focus-visible,.settings-dialog button:focus-visible,.settings-dialog select:focus-visible,.settings-dialog input:focus-visible{outline:3px solid rgba(47,71,122,.32);outline-offset:2px;}

.lesson-sidebar{display:grid;gap:16px;}
.side-card{padding:20px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.78);box-shadow:0 20px 36px -34px rgba(22,31,51,.7);}
.side-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.side-card h2{margin:0;font:600 18px/1.35 var(--display);}
.side-card > p:not(.section-kicker){margin:10px 0 0;color:var(--muted);font-size:13px;}
.track-count{padding:4px 9px;border-radius:100px;background:var(--paper-2);color:var(--muted);font-size:11px;font-weight:700;}
.word-steps{display:grid;gap:7px;margin:16px 0 0;padding:0;list-style:none;}
.word-step{display:grid;grid-template-columns:23px minmax(0,1fr) auto;gap:9px;align-items:center;min-height:34px;padding:5px 7px;border-radius:9px;color:var(--muted);}
.word-step.is-active{background:var(--paper-2);color:var(--ink);}
.word-step-index{display:grid;place-items:center;width:22px;height:22px;border:1px solid var(--line);border-radius:50%;font-size:10px;font-weight:700;}
.word-step.is-reviewing .word-step-index{border-color:var(--persimmon);background:var(--persimmon);color:white;}
.word-step-main{display:flex;align-items:baseline;gap:7px;min-width:0;}
.word-step-word{font:600 15px var(--display);}
.word-step-reading{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap;}
.word-step-state{color:var(--indigo-soft);font-size:10px;font-weight:700;text-transform:uppercase;}
.recall-key{display:grid;gap:8px;margin-top:14px;color:var(--muted);font-size:11px;}
.recall-key span{display:flex;align-items:center;gap:8px;}
.recall-dot{width:8px;height:8px;border-radius:50%;background:var(--line);}
.recall-dot.seen{background:var(--indigo-soft);}
.recall-dot.learning{background:var(--persimmon);}
.recall-dot.reviewing{background:#548b6c;}
.schedule-card h2{font-family:var(--ui);font-size:15px;letter-spacing:.02em;}

.finish-view{display:grid;place-items:center;min-height:510px;padding:40px 20px;text-align:center;}
.finish-mark{display:grid;place-items:center;width:72px;height:72px;margin-inline:auto;border-radius:50%;background:#e3f0e8;color:#397055;font-size:31px;font-weight:700;}
.finish-view h2{margin:25px 0 0;font:700 clamp(35px,6vw,54px)/1.12 var(--display);}
.finish-view p{max-width:520px;margin:14px auto 0;color:var(--muted);}
.finish-stats{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:24px;}
.finish-stats span{padding:8px 12px;border:1px solid var(--line);border-radius:100px;background:var(--paper-2);font-size:12px;font-weight:700;}

.learn-footer{display:flex;justify-content:space-between;gap:24px;margin-top:34px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:11px;}

.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;}
.dialog-heading h2{margin:0;font:700 27px var(--display);}
.dialog-close{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:50%;background:white;color:var(--muted);font-size:22px;line-height:1;}
.display-preferences{margin:24px 0 0;padding:17px 0;border:0;border-block:1px solid var(--line-soft);}
.display-preferences legend{padding:0;color:var(--ink);font-size:13px;font-weight:700;}
.display-preferences p{margin:4px 0 14px;color:var(--muted);font-size:11px;line-height:1.45;}
.display-preferences .display-toggles{display:flex;gap:8px;flex-wrap:wrap;}
.conjugation-preferences{margin:0;padding:17px 0;border:0;border-bottom:1px solid var(--line-soft);}
.conjugation-preferences legend{padding:0;color:var(--ink);font-size:13px;font-weight:700;}
.conjugation-preferences > p{margin:4px 0 5px;color:var(--muted);font-size:11px;line-height:1.45;}
.global-setting-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0;}
.global-setting-row + .global-setting-row{border-top:1px solid var(--line-soft);}
.global-setting-row > span{display:grid;}
.global-setting-row small{max-width:270px;margin-top:3px;color:var(--muted);font-size:10px;line-height:1.35;}
.global-setting-row select{max-width:180px;padding:8px 29px 8px 10px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);}
.setting-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:25px;padding:17px 0;border-block:1px solid var(--line-soft);}
.setting-row span{display:grid;}
.setting-row small{margin-top:3px;color:var(--muted);}
.setting-row select,.setting-row input{width:110px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);}
.setting-row select{padding-right:29px;}
.data-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px;}
.data-actions button{min-height:42px;padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--indigo);font-size:12px;font-weight:700;}
.data-actions .danger-button{grid-column:1/-1;color:#a13e3e;}
.data-actions .danger-button-quiet{border-style:dashed;background:transparent;}
.settings-status{min-height:20px;margin:12px 0 0;color:var(--indigo);font-size:12px;}
.dialog-done{display:block;width:100%;margin-top:8px;}

@media (max-width:960px){
  .learning-layout{grid-template-columns:1fr;}
  .lesson-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));}
  .lesson-sidebar .side-card:first-child{grid-column:1/-1;}
  .word-steps{grid-template-columns:repeat(5,minmax(0,1fr));}
  .word-step{display:flex;justify-content:center;padding:7px 4px;}
  .word-step-main,.word-step-state{display:none;}
}

@media (max-width:700px){
  .learn-wrap{width:min(100% - 24px,1180px);}
  .lesson-heading{display:block;margin-top:37px;}
  .lesson-heading h1{font-size:clamp(36px,11vw,48px);}
  .lesson-heading > div > p:last-child{font-size:14px;}
  .session-strip{grid-template-columns:1fr auto;gap:9px 14px;}
  .session-progress{grid-column:1/-1;grid-row:2;}
  .learning-card{min-height:0;padding:20px 18px 22px;border-radius:13px;}
  .learning-view{grid-template-columns:1fr;gap:20px;min-height:0;padding-top:26px;}
  .focused-learning-view{padding-inline:0;}
  .learning-copy{text-align:center;}
  .learning-word{font-size:clamp(58px,20vw,84px);}
  .learning-meaning{margin-inline:auto;}
  .learning-note{margin-inline:auto;text-align:left;}
  .audio-row{justify-content:center;}
  .learning-visual{min-height:210px;padding:14px;}
  .learning-visual.transparent-art{padding:0;}
  .learning-visual img{height:185px;}
  .learning-visual.transparent-art img{height:240px;}
  .context-view{min-height:0;padding-top:28px;}
  .context-wordline{align-items:flex-start;}
  .context-sentence{margin-top:28px;font-size:clamp(25px,8vw,35px);}
  .context-support{grid-template-columns:105px 1fr;}
  .context-support img{height:86px;}
  .recall-view{min-height:410px;padding-top:28px;}
  .answer-view{grid-template-columns:1fr;min-height:0;padding-top:24px;}
  .answer-visual{grid-row:1;min-height:140px;}
  .answer-visual img{height:130px;}
  .card-actions{flex-direction:column;}
  .card-actions .action-note{align-self:stretch;width:100%;margin:0 0 4px;}
  .answer-confirmation{align-items:stretch;flex-direction:column;gap:12px;}
  .recall-choice-panel{align-items:stretch;flex-direction:column;gap:10px;}
  .recall-choice-copy{max-width:none;margin-right:0;}
  .recall-choice-buttons{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;}
  .recall-choice-buttons .continue-button{width:100%;}
  .answer-confirmation-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-self:stretch;height:58px;}
  .answer-confirmation-buttons > button{height:58px;min-height:58px;}
  .answer-confirmation-buttons .continue-button{grid-column:1/-1;}
  .focused-card[data-phase="interleave"] .card-actions > .continue-button{height:58px;min-height:58px;}
  .continue-button{width:100%;margin-left:0;}
  .rating-button{min-height:58px;}
  .lesson-sidebar{grid-template-columns:1fr;}
  .lesson-sidebar .side-card:first-child{grid-column:auto;}
  .word-steps{grid-template-columns:repeat(5,minmax(0,1fr));}
  .learn-footer{display:grid;gap:7px;}
}

@media (prefers-reduced-motion:reduce){
  .session-progress span,.rating-button{transition:none;}
}

/* Vocabulary home */
.dashboard-wrap{width:min(1120px,calc(100% - 40px));}
.privacy-wrap{width:min(820px,calc(100% - 40px));}
.science-wrap{width:min(1040px,calc(100% - 40px));}
.privacy-main{margin-top:72px;padding:38px 42px;border:1px solid var(--line);border-top:3px solid var(--persimmon);border-radius:16px;background:var(--card);box-shadow:0 26px 60px -42px rgba(22,31,51,.72);}
.privacy-main > .section-kicker{margin:0 0 8px;}
.privacy-main h1{margin:0;font:700 clamp(38px,7vw,62px)/1.06 var(--display);letter-spacing:-.04em;}
.privacy-updated{margin:12px 0 0;color:var(--muted);font-size:12px;}
.privacy-main section{margin-top:31px;padding-top:25px;border-top:1px solid var(--line-soft);}
.privacy-main h2{margin:0;font:600 22px/1.3 var(--display);}
.privacy-main section p{margin:9px 0 0;color:var(--muted);font-size:14px;line-height:1.7;}
.privacy-main a{color:var(--indigo);}
.science-main{margin-top:68px;}
.science-hero{padding:54px 56px;border:1px solid var(--line);border-top:3px solid var(--persimmon);border-radius:18px;background:var(--card);box-shadow:0 30px 70px -46px rgba(22,31,51,.72);text-align:center;}
.science-hero .section-kicker{margin:0 0 11px;}
.science-hero h1{max-width:790px;margin:0 auto;font:700 clamp(40px,7vw,68px)/1.04 var(--display);letter-spacing:-.045em;}
.science-lede{max-width:700px;margin:20px auto 0;color:var(--muted);font-size:17px;line-height:1.65;}
.science-loop{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:36px;}
.science-loop span{display:flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid var(--line-soft);border-radius:100px;background:var(--paper-2);font-size:12px;font-weight:700;}
.science-loop span b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--indigo);color:white;font-size:9px;}
.science-loop i{color:var(--persimmon);font-style:normal;}
.science-principles,.scheduler-science,.method-choice,.science-sources{margin-top:24px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.8);}
.science-principles{padding:34px;}
.science-section-heading .section-kicker,.scheduler-copy .section-kicker,.method-choice .section-kicker,.science-sources .section-kicker{margin:0 0 7px;}
.science-section-heading h2,.scheduler-copy h2,.method-choice h2,.science-sources h2{margin:0;font:600 clamp(27px,4vw,38px)/1.15 var(--display);}
.science-principle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:28px;border:1px solid var(--line-soft);border-radius:13px;background:var(--line-soft);overflow:hidden;}
.science-principle-grid article{min-height:240px;padding:25px;background:var(--card);}
.science-number{color:var(--persimmon);font-size:10px;font-weight:700;letter-spacing:.14em;}
.science-principle-grid h3{margin:11px 0 0;font:600 21px/1.25 var(--display);}
.science-principle-grid p{margin:10px 0 0;color:var(--muted);font-size:13px;line-height:1.65;}
.science-principle-grid a,.science-source-link{display:inline-flex;gap:6px;margin-top:15px;color:var(--indigo);font-size:11px;font-weight:700;text-decoration:none;}
.science-principle-grid a:hover,.science-source-link:hover,.science-sources a:hover{text-decoration:underline;}
.scheduler-science{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:38px;align-items:center;padding:38px;}
.scheduler-copy > p:not(.section-kicker){margin:14px 0 0;color:var(--muted);font-size:14px;line-height:1.7;}
.retention-card{padding:25px;border-radius:15px;background:var(--ink);color:white;box-shadow:0 24px 45px -30px rgba(22,31,51,.9);}
.retention-card > span{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.7;}
.retention-card strong{display:block;margin-top:11px;color:#f19a7d;font:600 62px/1 var(--display);}
.retention-card p{margin:16px 0 0;font-size:13px;line-height:1.55;}
.retention-card small{display:block;margin-top:12px;color:rgba(255,255,255,.64);font-size:10px;line-height:1.55;}
.retention-card a{display:inline-flex;gap:6px;margin-top:18px;color:white;font-size:10px;font-weight:700;text-decoration:none;}
.retention-card a:hover{text-decoration:underline;}
.method-choice{padding:34px 38px;}
.method-choice > p:last-child{max-width:820px;margin:14px 0 0;color:var(--muted);font-size:14px;line-height:1.75;}
.science-sources{padding:31px 38px;}
.science-sources ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;margin:22px 0 0;padding:0;list-style:none;}
.science-sources li{padding-top:10px;border-top:1px solid var(--line-soft);}
.science-sources a{color:var(--indigo);font-size:11px;line-height:1.5;text-decoration:none;}
.science-page .learn-footer a{color:var(--indigo);}
.dashboard-main{margin-top:68px;}
.dashboard-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;}
.dashboard-heading .section-kicker{margin:0 0 8px;}
.dashboard-heading h1{margin:0;font:700 clamp(38px,6vw,66px)/1.05 var(--display);letter-spacing:-.04em;}
.dashboard-heading > div > p:last-child{max-width:610px;margin:14px 0 0;color:var(--muted);font-size:16px;}
.glossary-launch{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:9px 14px;border:1px solid var(--line);border-radius:100px;background:rgba(255,255,255,.74);color:var(--indigo);font-size:11px;font-weight:700;text-decoration:none;white-space:nowrap;}
.glossary-launch:hover{border-color:var(--indigo-soft);background:white;}
.glossary-launch:focus-visible{outline:2px solid var(--indigo);outline-offset:3px;}
.glossary-launch span{color:var(--persimmon);font-size:15px;}
.today-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:32px;align-items:center;margin-top:34px;padding:28px 30px;border:1px solid var(--line);border-top:3px solid var(--persimmon);border-radius:16px;background:var(--card);box-shadow:0 26px 60px -42px rgba(22,31,51,.72);}
.today-card.is-prestart{grid-template-columns:minmax(0,1fr) auto;}
.today-copy .section-kicker{margin:0 0 5px;}
.today-copy h2{margin:0;font:600 28px/1.2 var(--display);}
.today-copy > p:last-child{max-width:520px;margin:8px 0 0;color:var(--muted);font-size:13px;}
.today-plan{display:flex;align-items:center;gap:18px;padding:0 8px;}
.today-plan[hidden],.dashboard-grid[hidden]{display:none;}
.today-plan > div{display:grid;min-width:72px;text-align:center;}
.today-plan strong{font:700 31px/1 var(--display);}
.today-plan span:not(.plan-plus){margin-top:5px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.today-plan .plan-plus{color:var(--line);font-size:22px;}
.today-start{min-width:185px;white-space:nowrap;}
.today-start[aria-disabled="true"]{pointer-events:none;opacity:.55;}

.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.7fr);gap:20px;align-items:start;margin-top:20px;}
.dashboard-card{padding:24px 25px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.78);box-shadow:0 20px 40px -36px rgba(22,31,51,.72);}
.dashboard-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;}
.dashboard-card .section-kicker{margin:0 0 6px;}
.dashboard-card h2{margin:0;font:600 22px/1.28 var(--display);}
.progress-cluster{padding:0;overflow:hidden;}
.progress-cluster-heading{padding:24px 25px 20px;border-bottom:1px solid var(--line-soft);}
.progress-section{padding:22px 25px 24px;}
.progress-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;}
.metric-kicker{margin:0 0 5px;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;}
.progress-section h3{margin:0;font:600 18px/1.3 var(--display);}
.dashboard-total{font:600 20px var(--display);white-space:nowrap;}
.track-progress{height:9px;margin-top:27px;border-radius:100px;background:var(--line-soft);overflow:hidden;}
.track-progress span{display:block;width:0;height:100%;border-radius:inherit;background:var(--persimmon);transition:width .35s ease;}
.track-support{margin:13px 0 0;color:var(--muted);font-size:12px;}
.recall-breakdown{margin-top:22px;padding-top:20px;border-top:1px solid var(--line-soft);}
.recall-breakdown-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;}
.recall-breakdown-heading h4{margin:0;font:700 10px/1.3 var(--ui);letter-spacing:.09em;text-transform:uppercase;}
.recall-breakdown-heading span{color:var(--muted);font-size:11px;}
.history-section{border-top:1px solid var(--line-soft);}
.history-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:24px;}
.history-stats > div{display:grid;align-content:center;min-height:88px;padding:12px;border-radius:11px;background:var(--paper-2);text-align:center;}
.history-stats strong{font:600 29px/1 var(--display);}
.history-stats span{margin-top:7px;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;}
.recall-distribution{display:flex;height:12px;margin-top:27px;border-radius:100px;background:var(--line-soft);overflow:hidden;}
.recall-distribution span{display:block;height:100%;transition:width .35s ease;}
.distribution-forgot{background:#b45757;}
.distribution-recalled{background:var(--indigo-soft);}
.distribution-immediate{background:#548b6c;}
.recall-legend{display:grid;gap:12px;margin-top:24px;}
.recall-legend > div{display:grid;grid-template-columns:10px 1fr auto;gap:10px;align-items:center;padding-bottom:11px;border-bottom:1px solid var(--line-soft);font-size:12px;}
.recall-legend > div:last-child{padding-bottom:0;border-bottom:0;}
.recall-legend span{color:var(--muted);}
.legend-dot{display:block;width:8px;height:8px;border-radius:50%;}
.legend-dot.forgot{background:#b45757;}
.legend-dot.recalled{background:var(--indigo-soft);}
.legend-dot.immediate{background:#548b6c;}
.recall-breakdown .recall-distribution{margin-top:12px;}
.recall-breakdown .recall-legend{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:16px;}
.recall-breakdown .recall-legend > div{border-right:1px solid var(--line-soft);border-bottom:0;padding:2px 15px 2px 0;}
.recall-breakdown .recall-legend > div + div{padding-left:15px;}
.recall-breakdown .recall-legend > div:last-child{border-right:0;}
.metric-note{margin:22px 0 0;padding-top:17px;border-top:1px solid var(--line-soft);color:var(--muted);font-size:11px;line-height:1.5;}
.approach-card > p:not(.section-kicker){margin:12px 0 0;color:var(--muted);font-size:13px;line-height:1.55;}
.approach-guide-link{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:20px;padding:13px 14px;border:1px solid var(--line-soft);border-radius:10px;background:var(--paper-2);color:var(--indigo);font-size:12px;font-weight:700;text-decoration:none;}
.approach-guide-link[hidden],.progress-cluster[hidden]{display:none;}
.approach-guide-link:hover{border-color:var(--indigo-soft);background:white;}
.approach-guide-link:focus-visible{outline:2px solid var(--indigo);outline-offset:3px;}
.approach-guide-link span{color:var(--persimmon);font-size:17px;line-height:1;}
.schedule-details{margin-top:20px;border-top:1px solid var(--line-soft);}
.schedule-details summary{padding:16px 0 0;color:var(--indigo);font-size:13px;font-weight:700;cursor:pointer;}
.schedule-details > div{padding:5px 0 1px;}
.schedule-details p{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.55;}
.schedule-details .schedule-ladder{display:flex;align-items:center;gap:6px;margin-top:18px;padding:14px 16px;border-radius:9px;background:var(--paper-2);color:var(--ink);font-weight:600;text-decoration:none;}
.schedule-details .schedule-ladder:hover{background:white;box-shadow:inset 0 0 0 1px var(--indigo-soft);}
.schedule-details .schedule-ladder b{margin-left:auto;color:var(--persimmon);font-size:15px;}
.dashboard-footer{margin-top:42px;}

/* Focused study session */
.study-wrap{width:min(1020px,calc(100% - 40px));}
.study-main{width:min(960px,100%);margin:54px auto 0;}
.study-session-topline{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:11px;color:var(--muted);font-size:12px;font-weight:700;}
.study-session-context{display:flex;align-items:center;gap:11px;flex-wrap:wrap;}
.study-mode-label{padding:4px 8px;border-radius:100px;background:var(--paper-2);color:var(--indigo);font-size:9px;letter-spacing:.09em;text-transform:uppercase;}
.back-link{display:inline-flex;align-items:center;gap:7px;color:var(--indigo);text-decoration:none;}
.back-link:hover{text-decoration:underline;}
.study-progress{height:5px;margin-bottom:18px;border-radius:100px;background:rgba(202,211,224,.72);overflow:hidden;}
.study-progress-fill{position:relative;width:100%;height:100%;}
.study-progress-layer{position:absolute;inset:0;display:block;border-radius:inherit;background:var(--indigo);clip-path:inset(0 100% 0 0);transition:clip-path .35s ease;}
.study-progress-layer.recall-two{background:var(--persimmon);}
.focused-card{--study-stage-height:470px;display:grid;grid-template-rows:auto var(--study-stage-height) minmax(64px,auto) auto;min-height:0;padding:24px 30px 28px;}
.focused-card #cardContent{height:100%;min-height:0;}
.focused-topline{z-index:50;min-height:38px;}
.stage-copy{display:grid;justify-items:start;gap:6px;}
.stage-instruction{min-height:15px;color:var(--muted);font-size:11px;font-weight:600;}
.stage-instruction:empty{display:none;}
.focused-card[data-phase="new"] .stage-badge{background:var(--persimmon-tint);color:var(--persimmon);}
.focused-card[data-phase="context"] .stage-badge{background:#e7ebf3;color:var(--indigo-soft);}
.focused-card[data-phase="recall-1"] .stage-badge{background:rgba(94,118,168,.17);color:var(--indigo);}
.focused-card[data-phase="recall-2"] .stage-badge,.focused-card[data-phase="review"] .stage-badge{background:var(--indigo);color:white;}
.focused-card[data-phase="answer"] .stage-badge,.focused-card[data-phase="interleave"] .stage-badge{background:#e6f0ea;color:#3f7557;}
.focused-card[data-phase="intro"] .stage-badge{background:var(--ink);color:white;}
.study-tools{display:flex;align-items:center;gap:10px;}
.study-tools[hidden]{display:none;}
.reading-aids-menu{position:relative;}
.reading-aids-menu > summary{display:none;}
.reading-aids-menu:not([open]) > .display-toggles{display:flex;}
.study-tools .display-toggles{display:flex;gap:6px;}
.study-tools .fg-toggle{min-height:34px;padding:5px 10px;font-size:11px;}
.study-tools .fg-toggle:disabled{cursor:not-allowed;opacity:.55;}
.study-tools .audio-icon{flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.study-tools .audio-play{position:relative;display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--indigo);border-radius:50%;color:white;background:var(--indigo);transition:color .15s ease,background .15s ease,box-shadow .15s ease;}
.study-tools .audio-play:hover:not(:disabled){box-shadow:0 8px 18px -12px rgba(22,31,51,.9);}
.study-tools .audio-play[aria-pressed="false"]{color:var(--indigo);background:var(--card);}
.study-tools .audio-play[aria-pressed="false"]::after{position:absolute;width:22px;height:1.5px;border-radius:2px;background:currentColor;content:"";transform:rotate(-45deg);}
.study-tools .audio-play:disabled{cursor:not-allowed;}
.focused-card .focused-learning-view,.focused-card .focused-context-view,.focused-card .focused-recall-view,.focused-card .focused-answer-view{height:100%;min-height:0;}
.focused-card .focused-learning-view{grid-template-columns:minmax(280px,.8fr) minmax(420px,1fr);gap:28px;padding-top:18px;padding-bottom:12px;}
.study-intro-view{display:grid;place-items:center;align-content:center;min-height:455px;padding:30px 2px 18px;text-align:center;}
.study-intro-message{display:grid;justify-items:center;}
.study-intro-mark{display:grid;place-items:center;width:76px;height:76px;border-radius:22px;background:var(--paper-2);color:var(--indigo);font:600 28px/1 var(--display);}
.study-intro-copy{max-width:610px;margin-top:22px;}
.study-intro-eyebrow{margin:0 0 8px;color:var(--indigo-soft);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;}
.study-intro-copy h1{margin:0;font:600 clamp(32px,5vw,48px)/1.12 var(--display);}
.study-intro-copy > p:last-child{max-width:560px;margin:14px auto 0;color:var(--muted);font-size:15px;line-height:1.6;}
.study-intro-progress{display:flex;justify-content:center;gap:6px;margin-top:28px;}
.study-intro-progress span{display:block;width:22px;height:4px;border-radius:100px;background:var(--line-soft);}
.study-intro-progress span.is-complete{background:var(--persimmon);}
.daily-target-setup .study-intro-message{width:min(620px,100%);}
.daily-target-setup .study-intro-copy{max-width:560px;margin-top:0;}
.daily-target-setup .study-intro-copy > p:last-child{margin-top:10px;}
.intro-daily-target-field{display:grid;justify-items:center;gap:5px;margin-top:24px;}
.intro-daily-target-field > span{color:var(--ink);font-size:14px;font-weight:700;letter-spacing:.03em;}
.intro-daily-target-field input{width:220px;padding:10px 16px 8px;border:1px solid var(--line);border-radius:16px;background:white;color:var(--ink);font:600 76px/1 var(--display);text-align:center;box-shadow:0 18px 40px -32px rgba(22,31,51,.8);}
.intro-daily-target-field small{color:var(--muted);font-size:11px;}
.intro-daily-target-error{min-height:17px;margin:10px 0 0;color:#a13e3e;font-size:11px;font-weight:700;}
.intro-back-button{min-width:112px;}
.study-intro-view.has-preview{grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:28px;place-items:center start;padding-right:0;text-align:left;}
.study-intro-view.has-preview .study-intro-message{justify-items:start;max-width:420px;}
.study-intro-view.has-preview .study-intro-copy{margin-top:18px;}
.study-intro-view.has-preview .study-intro-progress{justify-content:flex-start;}
.intro-phase-preview{position:relative;justify-self:end;width:430px;min-height:310px;margin-right:-105px;padding:20px;border:1px solid var(--line);border-top:3px solid var(--persimmon);border-radius:16px;background:white;box-shadow:0 30px 50px -30px rgba(22,31,51,.65);overflow:hidden;pointer-events:none;transform:rotate(3.2deg);transform-origin:center;}
.intro-phase-preview::after{position:absolute;right:-80px;bottom:-100px;width:220px;height:220px;border-radius:50%;background:var(--paper-2);content:"";}
.preview-context{transform:rotate(2.3deg);}
.preview-recall{transform:rotate(4.2deg);}
.preview-dashboard{transform:rotate(2.7deg);}
.intro-preview-top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.intro-preview-top span{padding:5px 9px;border-radius:100px;background:var(--persimmon-tint);color:var(--persimmon);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;}
.preview-context .intro-preview-top span{background:#e7ebf3;color:var(--indigo-soft);}
.preview-recall .intro-preview-top span{background:rgba(94,118,168,.17);color:var(--indigo);}
.intro-preview-top i{color:var(--muted);font-size:8px;font-style:normal;font-weight:700;}
.intro-preview-new-body{position:relative;z-index:1;display:grid;grid-template-columns:1fr 120px;gap:20px;align-items:center;min-height:205px;}
.intro-preview-new-body b{font:600 64px/1 var(--display);}
.intro-preview-new-body rt{color:var(--indigo-soft);font:500 10px/1 var(--ui);}
.intro-preview-new-body p{margin:12px 0 0;font-size:14px;font-weight:700;}
.intro-preview-new-body img{width:110px;height:110px;padding:8px;border-radius:13px;background:var(--paper-2);object-fit:contain;}
.intro-preview-new-body img.transparent-art{padding:0;border-radius:0;background:transparent;}
.intro-preview-action{position:relative;z-index:1;width:128px;margin-left:auto;padding:9px 12px;border-radius:8px;background:var(--ink);color:white;font-size:9px;font-weight:700;text-align:center;}
.intro-preview-context-word{position:relative;z-index:1;display:grid;margin-top:24px;}
.intro-preview-context-word b{font:600 36px/1 var(--display);}
.intro-preview-context-word span{margin-top:7px;color:var(--muted);font-size:10px;font-weight:700;}
.intro-preview-sentence{position:relative;z-index:1;display:grid;margin:34px 0 28px;}
.intro-preview-sentence b{font:600 27px/1.5 var(--display);}
.intro-preview-sentence em{color:var(--persimmon);font-style:normal;}
.intro-preview-sentence rt{color:var(--indigo-soft);font:500 9px/1 var(--ui);}
.intro-preview-sentence span{margin-top:5px;color:var(--muted);font-size:10px;}
.intro-preview-reading-prompt{position:relative;z-index:1;margin:34px 0 0;color:var(--muted);font:600 11px var(--display);text-align:center;}
.intro-preview-recall-word{position:relative;z-index:1;margin-top:11px;font:600 76px/1 var(--display);text-align:center;}
.intro-preview-question{position:relative;z-index:1;margin:26px 0 0;font:600 13px var(--display);text-align:center;}
.intro-preview-choices{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:12px;}
.intro-preview-choices span{display:grid;place-items:center;min-height:35px;padding:5px;border:1px solid var(--line);border-radius:7px;background:white;font-size:7px;font-weight:700;text-align:center;}
.intro-dashboard-today{position:relative;z-index:1;display:grid;gap:4px;margin-top:22px;padding:14px;border:1px solid var(--line-soft);border-radius:10px;background:var(--paper-2);}
.intro-dashboard-today b{font:600 17px var(--display);}
.intro-dashboard-today > span{color:var(--muted);font-size:9px;}
.intro-dashboard-today > i{height:5px;margin-top:7px;border-radius:100px;background:var(--line-soft);overflow:hidden;}
.intro-dashboard-today > i em{display:block;width:62%;height:100%;border-radius:inherit;background:var(--persimmon);}
.intro-dashboard-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;}
.intro-dashboard-grid > div{display:grid;align-content:start;min-height:105px;padding:12px;border:1px solid var(--line-soft);border-radius:9px;background:white;}
.intro-dashboard-grid small{color:var(--muted);font-size:7px;font-weight:700;text-transform:uppercase;}
.intro-dashboard-grid strong{margin-top:12px;font:600 22px var(--display);}
.intro-dashboard-bars{display:flex;height:5px;margin-top:15px;overflow:hidden;border-radius:100px;background:var(--line-soft);}
.intro-dashboard-bars i:nth-child(1){width:24%;background:#b55a4a;}.intro-dashboard-bars i:nth-child(2){width:48%;background:var(--indigo-soft);}.intro-dashboard-bars i:nth-child(3){width:28%;background:#548b6c;}
.intro-preferences-panel{justify-self:stretch;width:100%;max-width:430px;min-height:326px;margin-right:0;padding:20px;border:1px solid var(--line);border-radius:16px;background:white;box-shadow:0 30px 50px -30px rgba(22,31,51,.65);}
.intro-preferences-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--line-soft);}
.intro-preferences-heading span{color:var(--indigo);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;}
.intro-preferences-heading small{color:var(--muted);font-size:9px;}
.intro-preference-group{display:grid;gap:9px;padding:14px 0;border-bottom:1px solid var(--line-soft);}
.intro-preference-group > strong,.intro-preference-row strong{font-size:11px;}
.intro-preference-buttons{display:flex;gap:7px;}
.intro-preference-buttons button{display:flex;align-items:center;gap:7px;min-height:34px;padding:7px 11px;border:1px solid var(--line);border-radius:100px;color:var(--indigo);background:white;font-size:10px;font-weight:700;}
.intro-preference-buttons button span{width:7px;height:7px;border:1px solid currentColor;border-radius:50%;}
.intro-preference-buttons button[aria-pressed="true"]{border-color:var(--indigo);color:white;background:var(--indigo);}
.intro-preference-buttons button[aria-pressed="true"] span{border-color:white;background:white;}
.intro-preference-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--line-soft);}
.intro-preference-row > span{display:grid;gap:2px;}
.intro-preference-row small{color:var(--muted);font-size:8px;}
.intro-preference-row select{min-width:110px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:white;font-size:10px;}
.intro-switch{width:36px;height:21px;padding:2px;border:0;border-radius:100px;background:var(--line);}
.intro-switch span{display:block;width:17px;height:17px;border-radius:50%;background:white;transition:transform .15s ease;}
.intro-switch[aria-pressed="true"]{background:var(--indigo);}.intro-switch[aria-pressed="true"] span{transform:translateX(15px);}
.intro-profile-action{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:13px;padding:9px 10px;border:0;border-radius:8px;color:var(--indigo);background:var(--paper-2);font-size:10px;font-weight:700;text-align:left;}
.settings-coachmark[hidden]{display:none;}
.settings-coachmark-backdrop{position:fixed;z-index:1000;inset:0;background:rgba(22,31,51,.52);backdrop-filter:blur(2px);}
.account-control.is-coachmarked{z-index:1002;}.account-control.is-coachmarked .account-chip{border-color:white;box-shadow:0 0 0 6px white,0 12px 30px rgba(22,31,51,.35);}
.settings-coachmark-callout{position:fixed;z-index:1003;top:86px;right:max(20px,calc((100vw - 1020px)/2));width:min(330px,calc(100vw - 32px));padding:20px;border-radius:14px;background:white;box-shadow:0 24px 60px -20px rgba(22,31,51,.8);}
.settings-coachmark-arrow{position:absolute;top:-8px;right:20px;width:17px;height:17px;background:white;transform:rotate(45deg);}
.settings-coachmark-callout .section-kicker{position:relative;margin:0 0 5px;}.settings-coachmark-callout h2{position:relative;margin:0;font:600 22px var(--display);}.settings-coachmark-callout p:not(.section-kicker){position:relative;margin:8px 0 15px;color:var(--muted);font-size:12px;line-height:1.5;}.settings-coachmark-callout button{position:relative;width:100%;}
.focused-card .learning-word ruby rt{color:var(--indigo-soft);font:500 .2em/1 var(--ui);letter-spacing:.03em;}
.vocab-audio-shortcut{margin:0;padding:0 3px;border:0;border-radius:9px;appearance:none;color:inherit;background:transparent;font:inherit;letter-spacing:inherit;line-height:inherit;vertical-align:baseline;}
.vocab-audio-shortcut:hover{color:var(--persimmon);background:var(--persimmon-tint);}
.vocab-audio-shortcut:focus-visible{outline:2px solid var(--indigo);outline-offset:5px;}
.vocab-audio-shortcut:active{background:var(--persimmon-tint);}
.focused-card .vocab-romaji{margin:5px 0 0;color:var(--indigo-soft);font-size:13px;letter-spacing:.04em;}
.focused-card .focused-context-view{display:grid;grid-template-columns:minmax(0,1fr) 190px;grid-template-areas:"word art" "sentence art";column-gap:36px;row-gap:18px;align-content:center;align-items:center;padding:20px 2px 14px;}
.focused-card .focused-context-view.transparent-art-context{grid-template-columns:minmax(0,1fr) 420px;column-gap:48px;padding:20px 12px 14px 42px;}
.focused-context-view .context-wordline{grid-area:word;align-self:end;}
.focused-context-view .context-sentence-block{grid-area:sentence;align-self:start;min-width:0;padding-top:20px;border-top:1px solid var(--line-soft);}
.focused-context-view .context-sentence{margin:0;}
.focused-context-view > img{grid-area:art;align-self:center;justify-self:center;display:block;width:100%;height:150px;object-fit:contain;padding:10px;border-radius:14px;background:var(--paper-2);}
.focused-context-view > img.transparent-art{height:430px;padding:0;border-radius:0;background:transparent;}
.focused-context-view .context-wordline .learning-word{font-size:clamp(36px,6vw,58px);}
.context-word-meaning{margin:9px 0 0;color:var(--muted);font-size:16px;font-weight:600;}
.focused-card .sentence-romaji{margin-top:8px;}
.recall-answer-copy{max-width:620px;margin:22px auto 0;font-size:clamp(18px,2.4vw,24px);line-height:1.35;opacity:0;animation:recall-answer-fade .24s ease-out forwards;}
.recall-answer-copy span{color:var(--muted);font-weight:500;}
.recall-answer-copy strong{font-weight:700;}
@keyframes recall-answer-fade{from{opacity:0;transform:translateY(5px);}to{opacity:1;transform:translateY(0);}}
.focused-card .focused-answer-view{padding-top:28px;}
.focused-card .answer-reading{margin:8px 0 0;color:var(--indigo);font:600 20px/1.35 var(--display);letter-spacing:.08em;}
.focused-card .answer-confirm-no{margin-left:auto;border-color:var(--line);background:white;color:var(--ink);box-shadow:none;}
.focused-card .answer-confirm-no:hover{border-color:#b45757;background:#fff7f7;color:#8d3e3e;}
.focused-card .answer-confirm-yes{min-width:130px;}
.focused-card .focused-finish-view{min-height:460px;}
.focused-card .focused-finish-view h1{margin:17px 0 0;font:600 clamp(34px,5vw,48px)/1.1 var(--display);}
.focused-card .card-actions{min-height:64px;margin-top:10px;}
.loading-title{margin:0;font:600 clamp(26px,5vw,42px)/1.2 var(--display);}

@media (max-width:860px){
  .today-card{grid-template-columns:1fr auto;}
  .today-start{grid-column:1/-1;width:100%;}
  .dashboard-grid{grid-template-columns:1fr;}
}

@media (max-width:700px){
  .dashboard-wrap,.study-wrap{width:min(100% - 24px,1120px);}
  .privacy-wrap,.science-wrap{width:min(100% - 24px,820px);}
  .privacy-main{margin-top:42px;padding:27px 22px;}
  .science-main{margin-top:42px;}
  .science-hero{padding:36px 20px;}
  .science-hero h1{font-size:40px;}
  .science-lede{font-size:15px;}
  .science-loop{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:27px;}
  .science-loop i{display:none;}
  .science-loop span{justify-content:flex-start;}
  .science-principles{padding:24px 18px;}
  .science-principle-grid{grid-template-columns:1fr;}
  .science-principle-grid article{min-height:0;padding:21px;}
  .scheduler-science{grid-template-columns:1fr;gap:25px;padding:25px 20px;}
  .method-choice,.science-sources{padding:25px 20px;}
  .science-sources ul{grid-template-columns:1fr;}
  .dashboard-main{margin-top:30px;}
  .dashboard-heading{position:relative;display:block;}
  .dashboard-heading .section-kicker{margin-bottom:5px;font-size:10px;}
  .dashboard-heading h1{font-size:36px;line-height:1.08;}
  .dashboard-heading > div > p:last-child{margin-top:9px;font-size:14px;line-height:1.5;}
  .glossary-launch{margin-top:16px;}
  .today-card{grid-template-columns:1fr;gap:16px;margin-top:24px;padding:20px 18px;}
  .today-copy h2{font-size:24px;}
  .today-copy > p:last-child{margin-top:6px;font-size:12px;line-height:1.5;}
  .today-plan{justify-content:flex-start;padding:0;}
  .today-plan strong{font-size:27px;}
  .today-start{grid-column:auto;min-height:46px;font-size:14px;}
  .dashboard-card{padding:18px 17px;}
  .progress-cluster{padding:0;}
  .progress-cluster-heading,.progress-section{padding:18px 17px;}
  .dashboard-card h2{font-size:20px;}
  .progress-section h3{font-size:17px;}
  .dashboard-total{font-size:18px;}
  .track-progress{margin-top:20px;}
  .recall-breakdown .recall-legend{grid-template-columns:1fr;gap:10px;}
  .recall-breakdown .recall-legend > div,.recall-breakdown .recall-legend > div + div{padding:0 0 10px;border-right:0;border-bottom:1px solid var(--line-soft);}
  .recall-breakdown .recall-legend > div:last-child{padding-bottom:0;border-bottom:0;}
  .history-stats{gap:7px;}
  .history-stats > div{padding:9px 5px;}
  .study-main{margin-top:36px;}
  .study-session-topline{align-items:flex-start;}
  .focused-card{display:block;padding:18px 17px 21px;}
  .focused-card #cardContent{height:auto;}
  .focused-topline{align-items:flex-start;}
  .study-tools{align-items:center;gap:7px;}
  .study-tools .reading-aids-menu:not([open]) > .display-toggles{display:none;}
  .study-tools .reading-aids-menu > summary{display:grid;grid-template-columns:1fr auto;column-gap:8px;min-width:94px;min-height:38px;padding:5px 8px;border:1px solid var(--indigo);border-radius:8px;list-style:none;color:var(--indigo);background:var(--card);cursor:pointer;}
  .study-tools .reading-aids-menu > summary::-webkit-details-marker{display:none;}
  .study-tools .reading-aids-menu > summary span{font-size:10px;font-weight:700;line-height:1.2;}
  .study-tools .reading-aids-menu > summary small{grid-column:1;color:var(--muted);font-size:8px;font-weight:500;line-height:1.2;}
  .study-tools .reading-aids-menu > summary::after{grid-column:2;grid-row:1/3;align-self:center;content:"+";color:var(--persimmon);font-size:15px;line-height:1;}
  .study-tools .reading-aids-menu[open] > summary{background:var(--paper-2);}
  .study-tools .reading-aids-menu[open] > summary::after{content:"−";}
  .study-tools .reading-aids-menu[open] > .display-toggles{position:absolute;z-index:40;top:calc(100% + 7px);right:0;display:grid;width:178px;gap:7px;padding:9px;border:1px solid var(--line);border-radius:8px;background:var(--card);box-shadow:0 16px 32px -18px rgba(22,31,51,.7);}
  .study-tools .reading-aids-menu .fg-toggle{justify-content:flex-start;min-height:34px;padding:5px 10px;font-size:11px;}
  .study-intro-view{min-height:440px;padding-top:22px;}
  .study-intro-view.has-preview{grid-template-columns:1fr;gap:18px;place-items:center;padding-top:18px;text-align:center;}
  .study-intro-view.has-preview .study-intro-message{justify-items:center;max-width:100%;}
  .study-intro-view.has-preview .study-intro-progress{justify-content:center;}
  .study-intro-mark{width:64px;height:64px;border-radius:18px;font-size:24px;}
  .study-intro-copy{margin-top:18px;}
  .study-intro-copy > p:last-child{font-size:14px;line-height:1.55;}
  .study-intro-progress{margin-top:22px;}
  .study-intro-progress span{width:17px;}
  .intro-back-button{width:100%;}
  .intro-phase-preview{justify-self:end;width:min(390px,calc(100% + 54px));min-height:230px;margin-right:-48px;padding:15px;transform:rotate(2.2deg);}
  .intro-preferences-panel{justify-self:stretch;width:100%;max-width:none;min-height:0;margin-right:0;padding:15px;}
  .intro-dashboard-grid > div{min-height:82px;padding:9px;}.intro-dashboard-grid strong{margin-top:8px;font-size:18px;}
  .intro-preview-new-body{grid-template-columns:1fr 90px;min-height:155px;}
  .intro-preview-new-body b{font-size:48px;}
  .intro-preview-new-body img{width:84px;height:84px;}
  .intro-preview-context-word{margin-top:17px;}
  .intro-preview-sentence{margin:20px 0 18px;}
  .intro-preview-reading-prompt{margin-top:24px;}
  .intro-preview-recall-word{margin-top:9px;font-size:58px;}
  .intro-preview-question{margin-top:20px;}
  .intro-preview-choices{margin-top:10px;}
  .intro-daily-target-field input{width:190px;font-size:64px;}
  .settings-coachmark-callout{top:78px;right:16px;}
  .focused-card .focused-context-view{grid-template-columns:1fr;grid-template-areas:"word" "art" "sentence";gap:20px;padding-top:22px;}
  .focused-card .focused-context-view.transparent-art-context{grid-template-columns:1fr;padding:22px 2px 10px;}
  .focused-context-view > img{height:120px;}
  .focused-context-view > img.transparent-art{height:175px;}
  .focused-card .focused-learning-view,.focused-card .focused-context-view,.focused-card .focused-recall-view,.focused-card .focused-answer-view{height:auto;}
  .focused-card .focused-answer-view{padding-top:22px;}
  .focused-card[data-phase="recall-1"] .focused-recall-view,
  .focused-card[data-phase="recall-2"] .focused-recall-view,
  .focused-card[data-phase="review"] .focused-recall-view,
  .focused-card[data-phase="interleave"] .focused-recall-view:not(.recall-answer-view){min-height:411px;}
}

@media (prefers-reduced-motion:reduce){
  .study-progress-layer,.context-sentence[data-play-sentence]{transition:none;}
  .recall-answer-copy{opacity:1;animation:none;}
}

/* Pre-boot skeleton for the study card: neutral placeholders at the real
   card's dimensions, so the first paint never shows a word the session may
   not open with (intro mode, later study days). */
.study-skeleton .skeleton-block{display:block;border-radius:10px;background:var(--line-soft);opacity:.6;}
.study-skeleton .skeleton-word{width:170px;height:72px;}
.study-skeleton .skeleton-line{width:220px;height:16px;margin-top:20px;}
.study-skeleton .skeleton-visual{min-height:230px;background:var(--paper-2);}
@media (max-width:700px){
  .study-skeleton .skeleton-word{margin-inline:auto;}
  .study-skeleton .skeleton-line{margin-inline:auto;}
  .study-skeleton .skeleton-visual{min-height:180px;}
}
