/* ===== v7.16.0 My English Quest — Quest Visual System ===== */
:root{
  --bg:#050a18;
  --bg-2:#08112b;
  --card:rgba(12,22,52,.78);
  --card-strong:#0c1735;
  --text:#f6f8ff;
  --muted:#98a7c5;
  --line:rgba(128,160,255,.18);
  --brand:#3b82ff;
  --brand-2:#7c4dff;
  --cyan:#48d8ff;
  --soft:rgba(55,105,255,.13);
  --good:#45d39a;
  --hard:#ff6e85;
  --normal:#ffbf69;
  --easy:#55d6a1;
  --purple:#9b6cff;
  --glow:0 0 28px rgba(64,112,255,.18);
}
html{background:#050a18;color-scheme:dark}
body{
  min-height:var(--meq-viewport-height,100dvh);
  background:
    radial-gradient(circle at 10% -8%,rgba(67,99,255,.22),transparent 34%),
    radial-gradient(circle at 90% 16%,rgba(120,60,255,.14),transparent 30%),
    linear-gradient(180deg,#060b1c 0%,#081128 45%,#050914 100%);
  background-attachment:fixed;
  color:var(--text);
  letter-spacing:.005em;
}
body:before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.35;
  background-image:radial-gradient(circle at 20% 30%,rgba(255,255,255,.3) 0 1px,transparent 1.4px),radial-gradient(circle at 72% 18%,rgba(93,155,255,.4) 0 1px,transparent 1.4px);
  background-size:120px 120px,180px 180px;
}
::selection{background:rgba(70,129,255,.42);color:white}
header,main{max-width:960px}
.app-header{padding:18px 16px 8px;align-items:center}
.brand-lockup{display:flex;align-items:center;gap:12px;min-width:0}
.brand-logo{display:block;object-fit:cover;border-radius:18px;box-shadow:0 0 28px rgba(67,111,255,.28)}
.app-header-logo{width:52px;height:52px;flex:0 0 52px}
.startup-logo,.login-logo{width:82px;height:82px;margin:0 auto 15px;border-radius:24px}
.app-header h1{margin:2px 0 0;font-size:22px;line-height:1.1;font-family:Georgia,"Times New Roman","Noto Serif JP",serif;letter-spacing:.01em;text-shadow:0 0 20px rgba(98,137,255,.2)}
.app-header h1 small{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#8baaff;font-size:9px;font-weight:800}
.brand-tagline{font-size:10px;color:#8194bb;margin-top:5px;letter-spacing:.05em}
.eyebrow{color:#73a9ff;letter-spacing:.15em;font-size:9px;text-shadow:0 0 12px rgba(68,137,255,.35)}
main{padding:7px 14px 122px}
.card{
  position:relative;
  background:linear-gradient(145deg,rgba(16,29,66,.90),rgba(8,17,41,.84));
  border:1px solid rgba(111,145,246,.20);
  box-shadow:0 14px 42px rgba(0,0,0,.19),inset 0 1px 0 rgba(255,255,255,.025);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.card:hover{border-color:rgba(116,154,255,.28)}
h1,h2,h3,b,strong,label{color:#f9fbff}
.muted,.status,.meta,.tiny{color:var(--muted)!important}
a{color:#78b9ff}

/* Startup / Login */
.center{background:radial-gradient(circle at 50% 24%,rgba(72,97,255,.22),transparent 30%),linear-gradient(180deg,#050919,#071129)}
.startup-box,.login.card{border:1px solid rgba(118,148,255,.24);border-radius:28px;background:rgba(8,16,39,.82);box-shadow:0 28px 80px rgba(0,0,0,.35),0 0 60px rgba(65,94,255,.08)}
.login.card{padding:28px}.login h1{font-family:Georgia,"Times New Roman",serif}.login p{color:var(--muted);line-height:1.7}

/* Inputs */
input,textarea,select{
  color:#f7f9ff;background:rgba(4,10,27,.72);border:1px solid rgba(119,147,224,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.015);outline:none
}
input:focus,textarea:focus,select:focus{border-color:#5b92ff;box-shadow:0 0 0 3px rgba(59,130,255,.12),0 0 18px rgba(59,130,255,.08)}
input::placeholder,textarea::placeholder{color:#607194}
option{background:#0b1631;color:#fff}

/* Buttons */
button{transition:transform .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease}
button:active{transform:translateY(1px) scale(.995)}
.primary{
  background:linear-gradient(100deg,#168cff 0%,#3669ff 45%,#9a42f4 100%);
  color:white;border:1px solid rgba(137,184,255,.42);
  box-shadow:0 8px 25px rgba(44,92,255,.22),inset 0 1px 0 rgba(255,255,255,.24)
}
.primary:hover{box-shadow:0 10px 32px rgba(62,95,255,.30),0 0 24px rgba(113,66,244,.12)}
.ghost,.actions button,.filter,.mode,.filebtn{background:rgba(31,49,91,.58);color:#d8e3fb;border:1px solid rgba(113,142,214,.17)}
.ghost:hover,.actions button:hover{background:rgba(42,64,116,.72);border-color:rgba(111,160,255,.28)}
.danger{background:rgba(151,45,67,.18);color:#ff95a7;border-color:rgba(255,93,122,.2)}

/* Badges / chips */
.badge,.chip,.scene-hint-badge{background:rgba(62,105,255,.14);color:#8bc0ff;border:1px solid rgba(83,132,255,.17)}
.badge.warm{background:rgba(171,103,31,.16);color:#ffd18a;border-color:rgba(255,190,90,.16)}
.badge.green{background:rgba(47,153,111,.15);color:#69e5ad;border-color:rgba(68,213,154,.14)}
.badge.grammar,.badge.teacher{background:rgba(126,76,226,.16);color:#c6a7ff;border-color:rgba(157,108,255,.16)}

/* Home segmented navigation */
.home-section-tabs{
  top:7px;background:rgba(6,13,31,.88);border:1px solid rgba(118,151,238,.18);box-shadow:0 10px 30px rgba(0,0,0,.18);backdrop-filter:blur(18px)
}
.home-section-tab{color:#7182a5;min-height:42px}
.home-section-tab.active{background:linear-gradient(145deg,rgba(48,91,220,.26),rgba(113,60,206,.20));color:#e7eeff;box-shadow:inset 0 0 0 1px rgba(104,150,255,.23),0 0 18px rgba(61,104,255,.10)}

/* Home hero */
.quest-hero-card{overflow:hidden;padding:22px;border-color:rgba(96,139,255,.30);background:linear-gradient(145deg,rgba(17,36,86,.93),rgba(8,19,50,.90) 55%,rgba(33,15,71,.86));box-shadow:0 18px 50px rgba(0,0,0,.24),0 0 50px rgba(62,98,255,.08)}
.quest-hero-card:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 28%,rgba(91,164,255,.06),transparent 61%);pointer-events:none}
.quest-hero-glow{position:absolute;width:250px;height:250px;border-radius:50%;right:-88px;top:-118px;background:radial-gradient(circle,rgba(76,126,255,.34),rgba(117,52,237,.12) 45%,transparent 70%);filter:blur(2px);pointer-events:none}
.home-welcome{position:relative;z-index:1}.home-welcome h2{font-size:24px;letter-spacing:-.02em}
.completion{background:radial-gradient(circle at 35% 25%,#4f9bff,#3154da 48%,#6537c4);color:white;border:1px solid rgba(154,191,255,.42);box-shadow:0 0 28px rgba(69,109,255,.24);font-size:15px}
.review-cta{position:relative;z-index:1;background:linear-gradient(135deg,rgba(21,43,91,.92),rgba(22,31,73,.78));border-color:rgba(105,150,255,.24);color:var(--text);box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.review-cta:hover{border-color:#527eff;background:linear-gradient(135deg,rgba(24,49,106,.96),rgba(27,35,81,.88))}
.review-cta-icon{background:linear-gradient(145deg,#188eff,#6544ed);box-shadow:0 0 22px rgba(65,112,255,.28)}
.review-cta-copy span,.review-cta-arrow{color:#70adff}
.quick-make{position:relative;z-index:1;border-color:rgba(124,150,211,.13)}
.secondary-route{position:relative;z-index:1;color:#f1f5ff;border:1px solid rgba(104,143,232,.14);border-radius:14px;padding:12px;background:rgba(6,14,36,.32)}

/* Plan + prompt cards */
.today-plan-step,.task-card,.summary-line,.schedule-row,.remember-card,.teacher-example,.pron-list-item,.translation-box,.difficulty-guide,.review-rule-note{
  background:rgba(7,15,37,.58)!important;border:1px solid rgba(106,137,207,.15)!important;color:var(--text)
}
.today-plan-step:hover{border-color:rgba(85,139,255,.28)!important;background:rgba(18,34,72,.68)!important}
.plan-check,.task-icon{background:linear-gradient(145deg,rgba(37,104,255,.26),rgba(112,67,236,.22));color:#89bdff;border:1px solid rgba(102,145,255,.18)}
.today-plan-done{background:rgba(38,157,113,.13);border-color:rgba(70,213,154,.18);color:#7ce3b5}
.daily-prompt-text{color:#f8faff}

/* Main navigation */
.bottom-nav{
  width:min(960px,100%);border-radius:22px 22px 0 0;border-color:rgba(110,145,230,.20);border-bottom:0;
  background:rgba(5,11,27,.94);box-shadow:0 -12px 38px rgba(0,0,0,.34),0 -1px 0 rgba(77,112,205,.08);backdrop-filter:blur(22px)
}
.bottom-nav .nav{color:#6f7f9f;min-height:58px}
.bottom-nav .nav.active{background:linear-gradient(180deg,rgba(55,100,229,.18),rgba(55,100,229,.06));color:#80b9ff;box-shadow:inset 0 1px 0 rgba(94,147,255,.12)}
.nav-icon{width:28px;height:26px;display:grid;place-items:center;font-size:18px;color:currentColor;text-shadow:0 0 12px currentColor}

/* Conversation */
.talk-setup-card{border-color:rgba(88,139,255,.26);background:linear-gradient(145deg,rgba(15,31,71,.92),rgba(9,19,47,.88))}
.talk-setting-summary,.talk-setting-grid>div,.talk-mission-toggle,.focus-mission,.mission-box{background:rgba(5,13,34,.55)!important;border-color:rgba(112,146,225,.17)!important}
.chat{padding:4px}.bubble.ai{background:rgba(28,46,89,.76);color:#eef4ff;border:1px solid rgba(113,148,230,.13)}.bubble.user{background:linear-gradient(135deg,#237fff,#5f48e8);box-shadow:0 7px 18px rgba(50,88,218,.15)}

.bubble.ai .bubble-translation-support{border-top-color:rgba(170,195,255,.25)}
.bubble.ai .bubble-translation-toggle,.bubble.ai .bubble-save-my-english{background:rgba(9,20,49,.94);color:#eaf2ff;border:1px solid rgba(139,174,255,.42);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.bubble.ai .bubble-translation-toggle:hover,.bubble.ai .bubble-translation-toggle:focus-visible,.bubble.ai .bubble-save-my-english:hover,.bubble.ai .bubble-save-my-english:focus-visible{background:rgba(28,65,135,.96);color:#fff}
.bubble.ai .bubble-save-my-english:disabled{background:rgba(19,46,83,.82);color:#9fc5ff;border-color:rgba(91,151,226,.34)}
.bubble.ai .bubble-translation{background:rgba(8,18,42,.96);color:#f5f8ff;border:1px solid rgba(137,171,244,.30);box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}

/* Review / My English */
.rate,input[type="button"]{background:rgba(8,17,40,.76);border-color:rgba(113,143,214,.18);color:var(--text)}
.rate.hard{background:rgba(126,40,59,.12)}.rate.normal{background:rgba(150,102,33,.10)}.rate.easy{background:rgba(34,129,93,.10)}
.due-badge{background:linear-gradient(145deg,rgba(37,92,215,.24),rgba(97,62,200,.16));border:1px solid rgba(99,143,255,.18)}.due-badge b{color:#8ec2ff}
.library-hero{border-left:1px solid rgba(141,103,255,.3);background:linear-gradient(145deg,rgba(27,21,67,.86),rgba(10,20,48,.88))}
.library-hero-note,.library-memory-point,.review-memory-point,.next-goal{background:rgba(6,16,38,.62);border-color:rgba(103,141,220,.15);color:#b7c5e0}
.scene-image,.review-scene-img{border-color:rgba(124,153,227,.22);box-shadow:0 14px 38px rgba(0,0,0,.28)}

/* Growth RPG */
.character-growth-card{background:linear-gradient(145deg,rgba(18,34,78,.94),rgba(19,19,54,.92) 52%,rgba(31,14,64,.90));border-color:rgba(111,142,255,.26)}
.character-level,.adventure-rank{background:linear-gradient(100deg,#1d7cff,#7446ea);color:white;border:1px solid rgba(153,188,255,.32);box-shadow:0 0 20px rgba(61,106,255,.18)}
.character-xp-track,.monster-hp,.boss-hp,.world-area-progress{background:rgba(0,0,0,.28)}
.character-xp-track span,.world-area-progress span{background:linear-gradient(90deg,#24bcff,#4975ff,#b54bff)}
.character-stats-grid>div,.rpg-growth-grid>div,.adventure-panel,.world-area,.weakness-monster,.boss-stage{
  background:rgba(5,14,36,.57)!important;border-color:rgba(111,145,224,.16)!important;color:var(--text)
}
.character-stats-grid b,.growth-overview-grid b,.report-number{color:#7fb8ff!important;text-shadow:0 0 14px rgba(71,139,255,.15)}
.memory-garden{background:linear-gradient(180deg,rgba(20,53,100,.74) 0 48%,rgba(22,64,59,.60) 48% 100%);border-color:rgba(96,158,197,.18)}
.monster-avatar{background:linear-gradient(145deg,rgba(106,55,180,.24),rgba(42,64,137,.22))}
.boss-stage{background:linear-gradient(145deg,rgba(70,28,56,.46),rgba(34,18,48,.52))!important}
.boss-stage.cleared{background:linear-gradient(145deg,rgba(28,80,62,.42),rgba(15,47,45,.5))!important}

/* Reports, settings, details */
details.card>summary{color:#eef4ff}.report-grid div,.growth-overview-grid>div,.challenge-growth-grid>div{background:rgba(6,15,38,.62)!important;border:1px solid rgba(104,139,220,.12)}
.filebtn{color:#dbe5fb}.data-manage-points .summary-line b{color:#f8faff}

/* Footer: remove visual conflict with fixed navigation */
footer{display:none}

/* Scrollbar */
*{scrollbar-width:thin;scrollbar-color:#294c94 transparent}
*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:#294c94;border-radius:999px}*::-webkit-scrollbar-track{background:transparent}

@media(max-width:680px){
  body{padding-bottom:88px}
  .app-header{padding:12px 13px 5px}.app-header-logo{width:44px;height:44px;flex-basis:44px;border-radius:14px}.app-header h1{font-size:18px}.brand-tagline{font-size:8px}
  main{padding:5px 10px 108px}.card{border-radius:18px;padding:15px;margin:10px 0}.quest-hero-card{padding:17px}.home-welcome h2{font-size:20px}
  .home-section-tabs{border-radius:16px;padding:4px}.home-section-tab{min-height:40px;font-size:10px}
  .bottom-nav{padding-top:5px}.bottom-nav .nav{min-height:55px}
  .report-grid{grid-template-columns:repeat(2,1fr)}
}

/* ===== v7.16.1 Contrast & readability repair ===== */
/*
   v7.16 introduced the dark Quest theme while many older components still
   carried light backgrounds and dark-only text colors.  Keep the Quest look,
   but give every legacy surface an explicit dark surface + readable text.
*/
:root{
  --surface-1:rgba(10,20,47,.92);
  --surface-2:rgba(15,29,62,.88);
  --surface-3:rgba(24,41,79,.72);
  --surface-line:rgba(118,151,232,.22);
  --text:#f4f7ff;
  --muted:#a8b7d4;
  --soft-text:#c7d3e8;
}
html{color-scheme:dark}
body{color:var(--text)}

/* Legacy white/light containers */
.stat,
.rate,
.item-menu button,
.pron-progress-grid>div,
.story-line,
.image-organizer,
.saved-story-line,
.story-teacher-details .teacher-answer,
.story-manual-row,
.today-plan-step,
.story-voice-row select,
.library-card-item,
.image-filter.active,
.topic-suggestion,
.challenge-teacher-answer,
.saved-story-mode-tabs button.active,
.saved-story-blank.revealed,
.library-search-wrap input,
.weakness-coach-item,
.talk-current-grid>div,
.talk-settings-details,
.talk-setting-direct,
.growth-overview-grid>div,
.conversation-learning-snapshot>div,
.character-badge,
.character-achievement,
.weakness-monster,
.world-area{
  background:var(--surface-1)!important;
  color:var(--text)!important;
  border-color:var(--surface-line)!important;
}

/* Older pale helper/result panels */
.translation-box,.difficulty-guide,.report-grid div,.schedule-row,.summary-line,
.teacher-example,.review-rule-note,.pron-list-item,.pron-result,.item-menu,
.listening-result,.pron-progress,.storage-manager,.voice-picker,.review-history-box,
.story-pron-panel,.teacher-examples>div,.story-manual-picker,.story-generate-bar,
.story-voice-row,.speaking-stats>div,.focus-row,.situation-box,.situation-result,
.cost-saver-settings,.library-image-tabs,.challenge-feedback,.challenge-result-grid>div,
.story-layer-details,.challenge-answer-block.user,.challenge-teacher-box,
.challenge-teacher-examples>div,.challenge-growth-grid>div,.challenge-growth-note,
.saved-story-teacher-details,.weakness-example,.growth-overview-message,
.pron-recent-trend,.backup-last-row,.talk-focus-card,.pron-advanced-settings,
.status:not(:empty){
  background:var(--surface-2)!important;
  color:var(--text)!important;
  border-color:var(--surface-line)!important;
}

/* Tinted semantic panels: preserve meaning without sacrificing contrast */
.hint-btn,.hint-box,.weak-practice-banner,.weakness-fallback-note,.talk-weak-focus,
.challenge-explanation,.pron-verdict.careful,.story-pron-verdict.careful,
.review-rating.normal,.review-self.normal,.pron-status.training,.backup-reminder{
  background:rgba(111,76,20,.26)!important;
  color:#ffe2a8!important;
  border-color:rgba(240,185,86,.28)!important;
}
.review-rating.hard,.review-self.hard,.pron-verdict.retry,.story-pron-verdict.retry,
.voice-input-btn.listening{
  background:rgba(126,39,57,.28)!important;
  color:#ffb0bd!important;
  border-color:rgba(255,104,132,.30)!important;
}
.review-rating.easy,.review-self.easy,.pron-verdict.clear,.story-pron-verdict.clear,
.pron-status.mastered,.next-goal,.review-memory-point,.library-memory-point,
.teacher-key-point,.challenge-answer-block.corrected,.challenge-good-point,
.character-growth-goal{
  background:rgba(31,111,79,.24)!important;
  color:#a9f2cf!important;
  border-color:rgba(74,207,151,.23)!important;
}
.pron-verdict.mostly,.story-pron-verdict.mostly,.pron-status.improving,
.review-essential-progress,.challenge-action-buttons .accent{
  background:rgba(44,83,164,.24)!important;
  color:#b9d4ff!important;
  border-color:rgba(100,149,255,.25)!important;
}

/* Compact controls / selected tabs */
.tabs,.seg,.saved-story-mode-tabs,.myenglish-viewbuttons,.library-image-tabs{
  background:rgba(4,10,27,.58)!important;
  border-color:var(--surface-line)!important;
}
.nav.active,.mode.active,.filter.active,.myenglish-viewbuttons button.active,
.library-section-tab.active,.home-section-tab.active,.story-mode-tabs button.active,
.image-filter.active,.saved-story-mode-tabs button.active{
  background:linear-gradient(145deg,rgba(49,92,218,.32),rgba(113,59,205,.24))!important;
  color:#f3f7ff!important;
  border-color:rgba(110,155,255,.30)!important;
}

/* Text colors that were hard-coded for light mode */
.library-hero-note,.library-hero-note strong,.data-manage-points .summary-line b,
.weakness-coach-main p,.weakness-coach-title strong,.weakness-example small,
.talk-current-settings-head small,.talk-weak-focus small,.talk-setting-direct>span,
.growth-overview-grid span,.growth-overview-grid small,
.conversation-learning-snapshot span,.conversation-learning-snapshot small,
.story-line,.saved-story-line,.topic-suggestion,.challenge-teacher-answer,
.character-badge,.character-achievement,.weakness-coach-item>p{
  color:var(--soft-text)!important;
}
.weakness-coach-title b,.talk-current-grid b,.talk-setting-direct select,
.story-line b,.saved-story-line b,.topic-suggestion b,.challenge-teacher-answer b{
  color:var(--text)!important;
}

/* Semantic accent text stays vivid on dark surfaces */
.weak-wrong{color:#ffc28f!important}
.weak-correct{color:#87e8b7!important}
.teacher-key-point,.library-memory-point b,.review-memory-point .jp,.next-goal b{color:#8ce4b8!important}
.hint-box,.weakness-fallback-note,.weak-practice-banner small{color:#f1d18d!important}

/* Form readability */
input,textarea,select,.library-search-wrap input,.story-voice-row select{
  background:#08142f!important;
  color:#f7f9ff!important;
  border-color:rgba(128,158,232,.32)!important;
  caret-color:#8bc0ff;
}
input::placeholder,textarea::placeholder{color:#8293b5!important;opacity:1}
select option{background:#0b1631!important;color:#f7f9ff!important}
input:disabled,textarea:disabled,select:disabled{
  color:#8493af!important;background:#0b1429!important;opacity:1
}

/* Button contrast and disabled state */
button:disabled,.primary:disabled,.ghost:disabled{
  opacity:1!important;
  cursor:not-allowed!important;
  color:#7f8daa!important;
  background:#16223d!important;
  border:1px solid rgba(111,137,193,.17)!important;
  box-shadow:none!important;
}
button:not(.primary):not(.danger):not(.rate){color:#e5ecfb}

/* Tables, separators, and generic text hierarchy */
hr{border:0;border-top:1px solid var(--surface-line)}
small{color:var(--muted)}
.empty-state{color:var(--muted)}

/* Browser autofill can otherwise produce bright boxes with unreadable text */
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{
  -webkit-text-fill-color:#f7f9ff!important;
  -webkit-box-shadow:0 0 0 1000px #08142f inset!important;
  transition:background-color 9999s ease-out 0s;
}

/* Better mobile readability */
@media(max-width:680px){
  body{font-size:15px}
  .muted,.status,.meta{line-height:1.55}
  input,textarea,select{font-size:16px} /* prevents iOS zoom and improves legibility */
}

/* ===== v7.16.3 AI Conversation contrast hotfix ===== */
.talk-current-settings{
  background:linear-gradient(155deg,rgba(9,20,49,.96),rgba(14,27,62,.94))!important;
  border:1px solid rgba(112,151,240,.28)!important;
  color:#f7f9ff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 12px 30px rgba(0,0,0,.16)!important;
}
.talk-current-settings-head .tiny,
.talk-current-settings-head small{
  color:#aebddd!important;
}
.talk-current-settings-head b{
  color:#ffffff!important;
}
.talk-ready-badge{
  background:rgba(42,157,104,.18)!important;
  color:#8cf0bd!important;
  border:1px solid rgba(91,224,159,.18)!important;
}
.talk-ready-badge.active{
  background:rgba(57,105,231,.20)!important;
  color:#9ec5ff!important;
  border-color:rgba(98,148,255,.22)!important;
}
.talk-setting-direct{
  background:#0b1734!important;
  border-color:rgba(119,151,224,.23)!important;
}
.talk-setting-direct>span{
  color:#b9c7e3!important;
  font-weight:750!important;
}
.talk-setting-direct select{
  background:#08142f!important;
  color:#ffffff!important;
}
.talk-guide-inline{
  background:rgba(22,39,80,.90)!important;
  color:#e6edff!important;
  border:1px solid rgba(119,151,224,.20)!important;
}
.talk-guide-inline b{color:#ffffff!important}
.talk-focus-card{
  background:rgba(18,35,73,.92)!important;
  border:1px solid rgba(119,151,224,.22)!important;
  color:#f6f8ff!important;
}
.talk-focus-card .mission-copy b{color:#ffffff!important}
.talk-focus-card .mission-copy small,
.talk-focus-card .mission-preview-details summary{
  color:#b7c5df!important;
}
.focus3-name{
  background:rgba(120,79,229,.25)!important;
  color:#d8c6ff!important;
}
#talkView .muted{color:#aebddd}
#talkView label{color:#eaf0ff}
#talkView .mission-preview{color:#dbe5fa}

/* Light surfaces elsewhere should not inherit dark-theme helper text. */
.light-surface,.light-panel{color:#17213b}
.light-surface .muted,.light-panel .muted{color:#66718a}

/* ===== v7.16.4 My English readability refresh ===== */
.library-section-tabs{
  background:rgba(8,16,40,.92)!important;
  border:1px solid rgba(115,149,232,.24)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.18);
}
.library-section-tab{
  color:#94a8d2!important;
  min-height:48px;
  font-size:12px;
  letter-spacing:.01em;
}
.library-section-tab:hover{
  background:rgba(38,58,110,.52)!important;
  color:#eaf1ff!important;
}
.library-section-tab.active{
  background:linear-gradient(145deg,rgba(94,118,255,.42),rgba(166,111,255,.28))!important;
  color:#ffffff!important;
  box-shadow:inset 0 0 0 1px rgba(171,193,255,.18),0 8px 20px rgba(70,85,214,.18)!important;
}

.myenglish-browser-card{
  background:linear-gradient(155deg,rgba(10,21,52,.96),rgba(12,24,59,.93))!important;
  border:1px solid rgba(112,147,230,.24)!important;
}
.myenglish-viewbar{
  align-items:flex-start;
  gap:16px;
}
.myenglish-title-row b{
  font-size:28px;
  color:#ffffff!important;
}
.myenglish-browser-card .muted,
.myenglish-browser-card .tiny,
.myenglish-browser-card p{
  color:#b6c6e4!important;
}
.sort-badge{
  background:rgba(96,118,255,.16)!important;
  color:#d8e3ff!important;
  border:1px solid rgba(118,149,242,.22)!important;
}
.myenglish-viewbuttons{
  background:rgba(6,13,35,.76)!important;
  border:1px solid rgba(113,147,229,.22)!important;
  border-radius:16px;
  padding:6px;
  min-width:220px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.myenglish-viewbuttons button{
  min-height:56px;
  border-radius:12px;
  background:transparent!important;
  color:#9db0d7!important;
  border:1px solid transparent!important;
  font-size:15px;
  font-weight:850;
}
.myenglish-viewbuttons button:hover{
  background:rgba(38,58,110,.46)!important;
  color:#f1f6ff!important;
}
.myenglish-viewbuttons button.active{
  background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(164,109,255,.20))!important;
  color:#ffffff!important;
  border-color:rgba(164,188,255,.24)!important;
}

.library-search-wrap{
  gap:8px;
  margin:4px 0 10px;
}
.library-search-wrap label{
  font-size:12px;
  color:#dfe8ff!important;
}
.library-search-wrap input{
  background:#08142f!important;
  border:1px solid rgba(128,158,232,.34)!important;
  color:#f8fbff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
}

.library-filters{
  gap:8px;
}
.library-filters .filter,
.image-filter{
  background:rgba(9,18,44,.84)!important;
  color:#9db0d7!important;
  border:1px solid rgba(111,142,214,.18)!important;
}
.library-filters .filter:hover,
.image-filter:hover{
  background:rgba(35,54,103,.62)!important;
  color:#f0f5ff!important;
}
.library-filters .filter.active,
.image-filter.active{
  background:linear-gradient(145deg,rgba(55,97,225,.34),rgba(124,70,224,.24))!important;
  color:#ffffff!important;
  border-color:rgba(110,155,255,.30)!important;
  box-shadow:0 8px 20px rgba(55,97,225,.12)!important;
}
.library-image-tabs{
  background:rgba(6,13,35,.76)!important;
  border:1px solid rgba(113,147,229,.22)!important;
}

#library .empty-state{
  background:rgba(8,17,42,.72);
  border:1px dashed rgba(116,149,230,.26);
  border-radius:18px;
}
#library .empty-state p{color:#aab9d5!important}

@media(max-width:680px){
  .library-section-tabs{grid-template-columns:repeat(2,1fr)}
  .library-section-tab{font-size:11px;padding:10px 6px}
  .myenglish-viewbar{flex-direction:column}
  .myenglish-viewbuttons{width:100%;min-width:0}
  .myenglish-viewbuttons button{min-height:50px;font-size:14px}
  .library-filters{grid-template-columns:repeat(2,1fr)!important}
  .library-image-tabs{grid-template-columns:repeat(3,1fr)!important;width:100%}
}

/* ===== v7.16.5 My English card/list + global text hierarchy ===== */
:root{
  --text:#f7f9ff;
  --text-strong:#ffffff;
  --text-body:#dce6f8;
  --muted:#aebddd;
  --muted-2:#8294b8;
  --accent:#82b9ff;
  --accent-2:#c3a5ff;
}

/* Global dark-theme text hierarchy */
body{color:var(--text-body)}
h1,h2,h3,h4,h5,h6,.big,.english,.prompt,.myenglish-title-row b,
.card>h2,.card>h3,.row b,.item .en0,.library-card-item .en0,
.my-flashcard-front,.my-flashcard-back{color:var(--text-strong)!important}
p,.jp,.story-line,.saved-story-line,.teacher-answer,.challenge-teacher-answer{color:var(--text-body)}
.muted,.status,.meta,.tiny,small,.jp0,.quota span,.review-kicker{color:var(--muted)!important}
label,.eyebrow{color:#d7e2f6!important}
a{color:var(--accent)}

/* Do not let inherited light-theme colors wash out dark screens */
.card,.item,.summary-line,.task-card,.library-card-item,.my-flashcard,
.review-history-box,.teacher-example,.remember-card{color:var(--text-body)}
.card strong,.card b,.item b{color:var(--text-strong)}

/* My English flashcard spacing & hierarchy */
.my-card-mode{margin:12px 0 4px}
.my-card-toolbar{
  margin-bottom:12px;
  padding:0 2px;
}
.my-card-toolbar #myCardCounter{
  font-size:12px;
  font-weight:800;
  color:#aebddd!important;
}
.my-card-tools{gap:8px}
.my-card-tools button{min-height:40px;padding:8px 11px}
.my-flashcard{
  min-height:340px;
  padding:30px 28px 26px;
  border:1px solid rgba(126,158,236,.27)!important;
  border-radius:22px;
  background:linear-gradient(160deg,rgba(15,30,67,.97),rgba(8,18,44,.97))!important;
  box-shadow:0 18px 45px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.035)!important;
}
.my-flashcard-label{
  margin-bottom:18px;
  padding:5px 10px;
  border-radius:999px;
  background:rgba(93,116,236,.15);
  border:1px solid rgba(120,151,242,.18);
  color:#bacbff!important;
  font-size:10px;
  letter-spacing:.08em;
}
.my-flashcard-front{
  width:100%;
  max-width:720px;
  margin:4px 0 24px;
  font-size:24px;
  line-height:1.65;
  letter-spacing:.005em;
}
.my-flashcard-back{
  width:100%;
  max-width:720px;
  margin-top:22px;
  padding:22px 18px 0;
  border-top:1px solid rgba(117,151,231,.22);
  font-size:19px;
  line-height:1.75;
}
.my-flashcard-image-wrap{
  width:min(100%,640px);
  margin:0 auto 22px;
}
.my-flashcard-image{
  border-radius:16px;
  box-shadow:0 14px 32px rgba(0,0,0,.28);
}
#myFlashcardReveal{
  width:min(100%,520px);
  min-height:52px;
  margin-top:4px;
  font-size:15px;
}
.my-flashcard-point{
  width:100%;
  max-width:720px;
  margin-top:18px;
  padding:14px 16px;
  border-radius:14px;
  background:rgba(39,111,84,.17)!important;
  border:1px solid rgba(77,210,157,.20)!important;
  color:#b8f2d7!important;
  text-align:left;
}
.my-flashcard-rating{
  width:100%;
  max-width:720px;
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid rgba(117,151,231,.20)!important;
}
.my-flashcard-rating-buttons{gap:9px}
.my-flashcard-rating-buttons button{min-height:48px}
.my-card-nav{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:9px;
  margin-top:12px;
}
.my-card-nav button{min-height:48px}
.my-card-action-stack{margin-top:14px}
.my-card-primary-actions,.my-card-secondary-actions{gap:9px}
.my-card-primary-actions button,.my-card-secondary-actions button{min-height:48px}
.my-card-helper{margin-top:8px;line-height:1.55;color:#92a5ca!important}

/* Card list: one card = one readable learning unit */
.library-card-item{
  display:grid;
  gap:10px;
  margin:10px 0;
  padding:17px;
  border:1px solid rgba(113,147,229,.22)!important;
  border-radius:18px;
  background:linear-gradient(155deg,rgba(10,21,51,.94),rgba(8,17,42,.92))!important;
  box-shadow:0 9px 24px rgba(0,0,0,.13)!important;
}
.library-card-item:hover{
  border-color:rgba(111,159,255,.34)!important;
  background:linear-gradient(155deg,rgba(14,28,65,.96),rgba(11,22,51,.94))!important;
}
.library-card-label{
  justify-self:start;
  margin:0;
  padding:4px 8px;
  background:rgba(111,74,218,.18)!important;
  color:#d1bcff!important;
  border:1px solid rgba(154,115,244,.18);
  font-size:9px;
}
.library-card-item .jp0{
  margin:0;
  color:#aebddd!important;
  font-size:12px;
  line-height:1.55;
  font-weight:700;
}
.library-card-item .en0{
  margin:0;
  color:#ffffff!important;
  font-size:16px;
  line-height:1.65;
  font-weight:800;
}
.library-card-item .meta{
  margin:0;
  color:#8fa3ca!important;
  font-size:10px;
  line-height:1.5;
}
.library-card-item .scene-image{
  margin-top:2px;
  border-radius:14px;
}
.library-card-actions{
  margin-top:2px;
  padding-top:11px;
  border-top:1px solid rgba(112,145,221,.14);
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
}
.library-card-actions button{
  min-height:42px;
  padding:8px 6px;
  background:rgba(18,34,72,.68)!important;
  color:#dfe8fb!important;
  border:1px solid rgba(111,145,222,.18)!important;
  font-size:9.5px;
}
.library-card-actions button:hover{
  background:rgba(38,60,118,.74)!important;
  color:#fff!important;
}
.compact-list-actions{gap:7px}

/* Make memory/status information readable without visual noise */
.memory-state-badge,.srs-memory-badge,.due-badge,.sort-badge{
  border-color:rgba(121,154,235,.22)!important;
}

/* Global button labels on dark theme */
button:not(:disabled){text-shadow:none}
.ghost,.secondary,.actions button,.filter,.mode,.filebtn{
  color:#dce7fb!important;
}
.primary{color:#fff!important}

@media(max-width:680px){
  .my-flashcard{min-height:300px;padding:22px 16px 20px}
  .my-flashcard-front{font-size:21px;margin-bottom:20px}
  .my-flashcard-back{font-size:17px;padding:18px 4px 0}
  .my-card-nav{grid-template-columns:1fr 1fr 1fr;gap:6px}
  .my-card-nav button{font-size:11px;padding:9px 5px}
  .my-card-primary-actions,.my-card-secondary-actions{grid-template-columns:1fr!important}
  .library-card-item{padding:14px;gap:8px}
  .library-card-item .en0{font-size:15px}
  .library-card-actions{grid-template-columns:1fr 1fr}
  .library-card-actions button{font-size:10px;min-height:44px}
}

/* ===== v7.16.6 readability pass ===== */
.weakness-window-badge{
  background:rgba(255,255,255,.10)!important;
  color:#eaf1ff!important;
  border:1px solid rgba(144,171,237,.24)!important;
}
.weakness-coach-summary{margin:14px 0 16px}
.weakness-coach-main{
  padding:18px!important;
  border-radius:18px!important;
  background:linear-gradient(155deg,rgba(14,27,66,.98),rgba(10,20,50,.94))!important;
  border:1px solid rgba(120,150,229,.24)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 10px 26px rgba(0,0,0,.16);
}
.weakness-coach-main small{color:#9fb8ff!important;font-size:11px!important;letter-spacing:.03em}
.weakness-coach-main b{color:#ffffff!important;font-size:34px!important;line-height:1.2}
.weakness-coach-main span{color:#d6e2ff!important;font-size:13px!important}
.weakness-coach-main p{color:#b7c7e5!important;font-size:13px!important;line-height:1.7!important;margin-top:4px!important}
.weakness-coach-item{
  padding:15px!important;
  border-radius:16px!important;
  background:linear-gradient(155deg,rgba(8,20,50,.92),rgba(8,18,44,.88))!important;
  border:1px solid rgba(111,145,222,.18)!important;
}
.weakness-coach-item.top{border-color:rgba(140,114,240,.32)!important;box-shadow:0 12px 28px rgba(0,0,0,.14)}
.weakness-coach-title>div>span{background:rgba(113,92,228,.22)!important;color:#eee6ff!important}
.weakness-trend{background:rgba(40,97,74,.26)!important;color:#aeeece!important;border:1px solid rgba(74,207,151,.20)!important}
.weakness-actions button{font-size:12px!important;min-height:46px!important}
.weakness-actions .primary{background:linear-gradient(135deg,#2f7df6 0%,#6a4cff 100%)!important;color:#fff!important;border:0!important}
.weakness-actions .ghost{background:rgba(16,32,70,.88)!important;color:#e7efff!important;border:1px solid rgba(116,147,224,.22)!important}

.my-card-primary-actions .success{
  background:linear-gradient(135deg,#16794f 0%,#1ba37c 100%)!important;
  color:#ffffff!important;border:1px solid rgba(97,222,176,.18)!important;
  box-shadow:0 10px 20px rgba(15,103,73,.20)!important;
}
.my-card-primary-actions .accent{
  background:linear-gradient(135deg,#5e43d6 0%,#8d4dff 100%)!important;
  color:#ffffff!important;border:1px solid rgba(193,162,255,.16)!important;
  box-shadow:0 10px 20px rgba(88,58,180,.18)!important;
}
.my-card-secondary-actions button,.library-card-actions button,.my-card-tools button,.scene-remake-btn{
  background:rgba(12,25,57,.92)!important;color:#e5edff!important;border:1px solid rgba(111,145,222,.22)!important;
}
.my-card-secondary-actions button:hover,.library-card-actions button:hover,.my-card-tools button:hover,.scene-remake-btn:hover{
  background:rgba(32,52,103,.92)!important;color:#ffffff!important;
}
.my-card-primary-actions button,.my-card-secondary-actions button{font-size:13px!important}
.my-card-helper{color:#a9bbde!important}
#myCardRatingStatus{margin-top:8px;display:block;line-height:1.6}

.scene-cta-box,.scene-image-toolbar{
  background:rgba(8,18,44,.78)!important;border:1px solid rgba(116,149,230,.20)!important;border-radius:16px!important;box-shadow:none!important;
}
.scene-cta-copy b{color:#ffffff!important}.scene-cta-copy span{color:#adc0e3!important}
.scene-status-badge{background:rgba(63,86,177,.18)!important;color:#dbe7ff!important;border:1px solid rgba(116,149,230,.20)!important}
.scene-status-badge.done{background:rgba(31,111,79,.24)!important;color:#adf0cb!important;border:1px solid rgba(74,207,151,.20)!important}

.ghost,.secondary,.actions button,.filter,.mode,.filebtn{
  background:rgba(10,21,50,.86)!important;border:1px solid rgba(111,145,222,.18)!important;color:#e5edff!important;
}
.ghost:hover,.secondary:hover,.actions button:hover,.filter:hover,.mode:hover,.filebtn:hover{
  background:rgba(30,50,101,.88)!important;color:#ffffff!important;
}
button:disabled,.primary:disabled,.ghost:disabled,.secondary:disabled{
  color:#7f8daa!important;background:rgba(13,23,43,.95)!important;border:1px solid rgba(87,104,146,.16)!important;
}
.meta,.tiny,.jp0,.scene-note,.voice-status,.review-rule-note,.challenge-month-badge,.sort-badge,.badge,.badge.soft,.badge.warm,.badge.green,.badge.grammar{
  color:#c8d4ec!important;
}
.challenge-month-badge,.badge,.sort-badge{background:rgba(100,117,255,.16)!important;border:1px solid rgba(129,156,238,.22)!important}
.library-card-item .meta{padding-top:2px;border-top:1px solid rgba(112,145,221,.12)}
.library-card-item .scene-image{max-height:220px;object-fit:cover}
.my-flashcard-point b{display:block;margin-bottom:4px;color:#d9f6e8!important}

@media(max-width:680px){
  .weakness-coach-main b{font-size:28px!important}
  .weakness-actions button{min-height:44px!important}
  .my-card-primary-actions button,.my-card-secondary-actions button{font-size:12px!important}
}

/* ===== v7.17.0 Quest Noir visual system ===== */
/* Replace cute RPG avatars/monsters with a refined fantasy-tech visual language. */
.character-growth-card,.adventure-hub-card{
  background:
    radial-gradient(circle at 78% 4%,rgba(100,67,255,.11),transparent 28%),
    linear-gradient(155deg,rgba(7,16,42,.98),rgba(7,13,32,.98))!important;
  border:1px solid rgba(103,139,232,.24)!important;
  box-shadow:0 22px 55px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.03)!important;
}
.character-stage-wrap{
  min-height:132px!important;
  border-radius:20px;
  background:linear-gradient(145deg,rgba(12,30,72,.78),rgba(15,11,46,.78));
  border:1px solid rgba(103,144,238,.22);
  display:grid;place-items:center;
  overflow:hidden;
}
.english-character{width:118px!important;height:118px!important;position:relative!important;display:grid;place-items:center!important}
.character-aura{inset:-14px!important;background:radial-gradient(circle,rgba(44,158,255,.26),rgba(114,66,255,.10) 44%,transparent 70%)!important;filter:blur(2px)}
.player-sigil-core{
  position:relative;z-index:4;width:78px;height:78px;border-radius:50%;display:grid;place-items:center;
  background:radial-gradient(circle at 35% 28%,#183b7d,#091730 60%,#070c1d);
  border:1px solid rgba(120,184,255,.62);
  box-shadow:0 0 0 6px rgba(72,105,255,.08),0 0 30px rgba(42,130,255,.32),inset 0 0 22px rgba(78,115,255,.18);
}
.player-sigil-letter{font:800 42px/1 Georgia,serif;color:#eaf5ff;text-shadow:0 0 18px #56a7ff,0 0 30px #8a5cff;transform:translateY(-1px)}
.player-sigil-needle{position:absolute;width:54px;height:2px;background:linear-gradient(90deg,transparent,#8ed9ff 45%,#c095ff 56%,transparent);transform:rotate(-42deg);box-shadow:0 0 12px #5ab7ff}
.player-sigil-needle:after{content:"";position:absolute;right:4px;top:-4px;border-left:9px solid #b5dfff;border-top:4px solid transparent;border-bottom:4px solid transparent;filter:drop-shadow(0 0 5px #5aa8ff)}
.player-sigil-orbit{position:absolute;border-radius:50%;border:1px solid rgba(107,142,255,.25);z-index:2}
.player-sigil-orbit.orbit-a{width:104px;height:104px;transform:rotate(18deg)}
.player-sigil-orbit.orbit-b{width:92px;height:92px;border-style:dashed;border-color:rgba(163,110,255,.28);transform:rotate(-24deg)}
.character-badge{right:5px!important;top:4px!important;width:28px!important;height:28px!important;border-radius:9px!important;background:linear-gradient(145deg,#275ecc,#743dd9)!important;border:1px solid rgba(166,197,255,.32)!important;color:#fff!important;font-size:10px!important;font-weight:900;box-shadow:0 0 18px rgba(89,102,255,.34)!important}
.character-head,.character-body,.character-eye,.character-mouth{display:none!important}

.character-stats-grid>div{
  background:linear-gradient(160deg,rgba(10,24,57,.92),rgba(8,16,40,.90))!important;
  border:1px solid rgba(103,137,218,.20)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.character-stats-grid span{color:#aebfde!important;letter-spacing:.02em}
.character-stats-grid b{color:#f7fbff!important;text-shadow:0 0 18px rgba(91,151,255,.13)}
.stat-glyph,.panel-glyph{display:inline-grid;place-items:center;font-style:normal;font-weight:900;color:#8ec7ff;margin-right:4px;text-shadow:0 0 12px rgba(75,151,255,.48)}
.character-level,.adventure-rank{background:linear-gradient(135deg,#2268e7,#733de4)!important;border:1px solid rgba(151,189,255,.28);box-shadow:0 0 22px rgba(73,96,255,.20)}

.rpg-mini-panel,.adventure-panel{
  background:linear-gradient(155deg,rgba(8,19,47,.88),rgba(9,16,39,.86))!important;
  border:1px solid rgba(103,137,218,.20)!important;
}
.rpg-panel-head b{color:#f5f8ff!important;font-size:13px}
.rpg-panel-head span{color:#8fa4cd!important}
.skill-tree{gap:8px!important}
.skill-node{background:rgba(5,13,33,.82)!important;border:1px solid rgba(111,145,222,.18)!important;border-radius:14px!important;position:relative;overflow:hidden}
.skill-node.unlocked{border-color:rgba(84,153,255,.50)!important;box-shadow:0 0 22px rgba(49,113,255,.14),inset 0 0 20px rgba(74,104,255,.08)!important}
.skill-node.unlocked:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,#2da8ff,#7e55ff)}
.skill-code{width:34px;height:34px!important;margin:0 auto 7px;display:grid!important;place-items:center;border-radius:50%;background:rgba(56,97,210,.16);border:1px solid rgba(94,153,255,.24);font-size:10px!important;color:#9ccaff!important;letter-spacing:.08em}
.skill-node.locked .skill-code{color:#667493!important;border-color:rgba(91,107,148,.16);background:rgba(19,27,49,.65)}
.skill-link{color:#506a9e!important}

.memory-garden{
  min-height:146px!important;
  background:
    radial-gradient(circle at 50% 120%,rgba(35,112,138,.26),transparent 44%),
    radial-gradient(circle at 72% 10%,rgba(102,60,221,.11),transparent 35%),
    linear-gradient(180deg,#07142f,#071025)!important;
  border:1px solid rgba(81,139,208,.20)!important;
  align-items:center!important;align-content:center!important;justify-content:center!important;
}
.garden-plant{width:54px!important;min-height:54px!important;justify-content:center!important;border-radius:50%!important;position:relative}
.garden-plant span{width:30px;height:30px;display:grid;place-items:center;font-size:18px!important;color:#7891ba;filter:none!important;border:1px solid rgba(100,137,205,.20);border-radius:50%;background:rgba(8,19,45,.82);box-shadow:0 0 0 5px rgba(30,63,123,.05)}
.garden-plant.new span{color:#7692bd}.garden-plant.learning span{color:#65bfff;box-shadow:0 0 18px rgba(46,151,255,.16)}.garden-plant.mastered span{color:#8c77ff;box-shadow:0 0 20px rgba(112,79,255,.20)}.garden-plant.used span{color:#d196ff;box-shadow:0 0 22px rgba(188,89,255,.22)}.garden-plant.risk span{color:#ff8b8b;border-color:rgba(255,105,120,.25)}
.garden-plant small{color:#8fa4ca!important;margin-top:5px;font-size:8px!important}.garden-legend{justify-content:center}.garden-legend span{display:flex;align-items:center;gap:4px;color:#9aaccc!important}.legend-node{width:7px;height:7px;border-radius:50%;background:#7387ad}.legend-node.learning{background:#4eb6ff}.legend-node.mastered{background:#7f6cff}.legend-node.used{background:#c464ff}.legend-node.risk{background:#ff777f}

.weakness-monster{grid-template-columns:58px minmax(0,1fr)!important;padding:13px!important;background:linear-gradient(145deg,rgba(12,21,49,.94),rgba(17,13,43,.92))!important;border:1px solid rgba(113,92,222,.20)!important}
.monster-avatar{width:54px!important;height:54px!important;border-radius:16px!important;background:linear-gradient(145deg,rgba(31,78,160,.20),rgba(103,45,170,.18))!important;border:1px solid rgba(120,143,238,.24)!important;font-size:inherit!important;box-shadow:inset 0 0 18px rgba(81,95,220,.08)}
.monster-avatar span{font-size:12px;font-weight:950;letter-spacing:.10em;color:#c4d9ff;text-shadow:0 0 12px rgba(83,143,255,.50)}
.monster-title b{font-size:11px!important;letter-spacing:.04em;color:#f1f5ff!important}.monster-title span{color:#ff858f!important;letter-spacing:.04em}.monster-hp{height:5px!important;background:#0a1022!important}.monster-hp span{background:linear-gradient(90deg,#ff4772,#ff8a58)!important;box-shadow:0 0 10px rgba(255,78,105,.22)}
.monster-actions button{border-radius:9px!important;text-transform:none}
.weakness-monster.defeated .monster-avatar{background:rgba(27,105,78,.18)!important;border-color:rgba(64,205,151,.18)!important}.weakness-monster.defeated .monster-avatar span{color:#82e3b5}

.english-world-map{gap:9px!important}.world-area{min-width:124px!important;background:linear-gradient(155deg,rgba(7,18,43,.94),rgba(8,14,34,.94))!important;border:1px solid rgba(102,136,218,.20)!important;border-radius:16px!important;text-align:left!important;padding:13px!important}.world-area.unlocked{border-color:rgba(73,145,255,.38)!important;box-shadow:0 0 20px rgba(52,110,255,.08)}.world-area-icon{margin-bottom:10px!important}.world-area-icon span{display:inline-flex;padding:5px 7px;border-radius:7px;background:rgba(52,98,206,.16);border:1px solid rgba(91,145,255,.22);color:#8fc4ff;font-size:9px;font-weight:900;letter-spacing:.09em}.world-area.locked .world-area-icon span{color:#65738f;background:rgba(15,24,44,.72);border-color:rgba(79,94,130,.15)}.world-area b{font-size:11px!important;color:#f1f5ff!important}.world-area small{color:#92a5c9!important}.world-area em{color:#8db8f2!important}.map-path{color:#40547d!important;font-size:13px!important;letter-spacing:3px!important}

.boss-stage{grid-template-columns:76px 1fr!important;background:linear-gradient(145deg,rgba(26,13,52,.88),rgba(10,16,39,.92))!important;border:1px solid rgba(142,78,232,.24)!important;padding:14px!important}.boss-avatar{width:70px!important;height:70px!important;border-radius:18px!important;background:radial-gradient(circle,rgba(103,62,224,.24),rgba(16,25,57,.90))!important;border:1px solid rgba(150,102,255,.30)!important;box-shadow:inset 0 0 24px rgba(102,64,221,.12),0 0 20px rgba(95,55,219,.10)}.boss-avatar span{font-size:11px;font-weight:950;letter-spacing:.12em;color:#d6c8ff}.boss-stage b{color:#fff!important;letter-spacing:.03em}.boss-stage p{color:#aebddd!important}.boss-hp{height:6px!important;background:#080d1d!important}.boss-hp span{background:linear-gradient(90deg,#9a4dff,#e046b3,#ff7f77)!important;box-shadow:0 0 12px rgba(186,67,255,.18)}

.character-achievement>span{font-size:13px!important;width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:rgba(58,91,176,.14);color:#9bc7ff}.character-achievement{background:rgba(7,16,38,.76)!important;border-color:rgba(100,132,205,.17)!important}.character-achievement em{background:rgba(32,116,83,.20)!important;color:#88e4b8!important}

@media(max-width:680px){
  .character-stage-wrap{min-height:116px!important}.english-character{width:100px!important;height:100px!important}.player-sigil-core{width:68px;height:68px}.player-sigil-letter{font-size:36px}.player-sigil-orbit.orbit-a{width:92px;height:92px}.player-sigil-orbit.orbit-b{width:80px;height:80px}
  .weakness-monster{grid-template-columns:50px minmax(0,1fr)!important}.monster-avatar{width:48px!important;height:48px!important}.boss-stage{grid-template-columns:62px 1fr!important}.boss-avatar{width:58px!important;height:58px!important}
}

/* ===== v7.18.0 Optimization layer ===== */
:root{
  --meq-bg:#050a18;--meq-surface:#0a142f;--meq-surface-2:#0f1d3e;
  --meq-line:rgba(118,151,232,.22);--meq-text:#f7f9ff;--meq-body:#dce6f8;
  --meq-muted:#aebddd;--meq-accent:#82b9ff;--meq-purple:#a982ff;
}
.my-card-more-details{margin-top:2px;border:1px solid var(--meq-line);border-radius:14px;background:rgba(7,16,39,.62);overflow:hidden}
.my-card-more-details>summary{cursor:pointer;list-style:none;min-height:46px;padding:13px 14px;color:#c9d7f1;font-size:12px;font-weight:850;display:flex;align-items:center;justify-content:space-between}
.my-card-more-details>summary::-webkit-details-marker{display:none}.my-card-more-details>summary:after{content:"＋";color:#8da8dc}.my-card-more-details[open]>summary:after{content:"−"}
.my-card-more-details .my-card-secondary-actions{padding:0 10px 10px}.my-card-more-details .my-card-helper{padding:0 12px 12px}
.cost-breakdown{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:9px}
.cost-breakdown>div{padding:9px 6px;border:1px solid var(--meq-line);border-radius:10px;background:rgba(7,16,39,.62);text-align:center}.cost-breakdown span,.cost-breakdown b{display:block}.cost-breakdown span{font-size:8px;color:var(--meq-muted)}.cost-breakdown b{margin-top:3px;color:#fff;font-size:13px}.cost-avoid-breakdown{margin-top:7px;color:#9fb2d7!important}
/* One clear visual hierarchy for controls. */
button,.filebtn{transition:background .15s ease,border-color .15s ease,transform .08s ease}button:active{transform:translateY(1px)}
.card{border-color:var(--meq-line)}
.muted,.tiny,.status,.meta,small{color:var(--meq-muted)!important}
/* Auxiliary panels should not survive as bright legacy surfaces. */
details:not(.light-surface)>summary{color:#dfe8fb}
@media(max-width:680px){.cost-breakdown{grid-template-columns:repeat(2,1fr)}.cost-breakdown>div:last-child{grid-column:1/-1}}

/* ===== v7.18.1 Growth accordion + Pronunciation dark polish ===== */
.growth-fold{
  padding:0!important;
  overflow:hidden;
  background:linear-gradient(155deg,rgba(9,20,49,.94),rgba(10,21,52,.90))!important;
  border:1px solid rgba(112,147,230,.20)!important;
}
.growth-fold>summary{
  list-style:none;
  min-height:68px;
  padding:15px 17px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  cursor:pointer;
  color:#f7f9ff;
  background:linear-gradient(90deg,rgba(28,49,99,.55),rgba(30,22,77,.32));
}
.growth-fold>summary::-webkit-details-marker{display:none}
.growth-fold>summary>span:first-child{display:grid;gap:3px}
.growth-fold>summary b{font-size:15px;color:#fff!important}
.growth-fold>summary small{font-size:10px;color:#9fb0d2!important;font-weight:650}
.growth-fold-state{
  flex:none;padding:5px 9px;border-radius:999px;
  background:rgba(80,115,225,.16);border:1px solid rgba(116,153,244,.18);
  color:#a8c8ff;font-size:10px;font-weight:850;
}
.growth-fold[open] .growth-fold-state{font-size:0}
.growth-fold[open] .growth-fold-state:after{content:"閉じる";font-size:10px}
.growth-fold-body{padding:0 14px 14px}
.growth-fold-body>.card,
.growth-fold-body>.character-growth-card,
.growth-fold-body>.adventure-hub-card,
.growth-fold-body>.speaking-card,
.growth-fold-body>.weakness-coach-card,
.growth-fold-body>.challenge-growth-summary{
  margin:12px 0 0!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
  padding:4px!important;
}
.growth-fold-hint{margin-top:10px;color:#8fa4ca;font-size:10px;line-height:1.5}
.home-section-panel[data-home-panel="growth"]>.compact-stats{margin:8px 0 12px}

/* Pronunciation: remove remaining white/light surfaces. */
.pronunciation-panel{
  background:linear-gradient(155deg,rgba(9,20,49,.97),rgba(10,22,55,.94))!important;
  border:1px solid rgba(112,151,240,.24)!important;
  color:#e8efff!important;
}
.pronunciation-panel h2,.pronunciation-panel h3,.pronunciation-panel b,
.pronunciation-panel .big,.pronunciation-panel .english{color:#fff!important}
.pronunciation-panel .muted,.pronunciation-panel .tiny,
.pronunciation-panel small,.pronunciation-panel .scene-note{color:#aebddd!important}
.pron-target-picker,.pron-advanced-settings,.voice-picker,.pron-guide-details,
.pron-guide,.pron-section,.pron-diagnosis,.pron-progress,.pron-result,
.pron-progress-grid>div,.pron-recent-trend{
  background:rgba(7,16,39,.72)!important;
  color:#e7efff!important;
  border-color:rgba(113,148,230,.22)!important;
}
.pron-target-picker{padding:14px!important}
.pron-target-picker label,.voice-picker label{color:#e4ecff!important}
.pron-target-picker select,.voice-picker select{
  background:#07142f!important;color:#fff!important;border-color:rgba(126,158,236,.32)!important;
}
.pron-step-label{
  margin-top:18px;
  padding:10px 12px;
  border-radius:13px;
  background:rgba(38,64,126,.18);
  border:1px solid rgba(99,142,237,.16);
}
.pron-step-label>span{
  background:linear-gradient(145deg,#287ff5,#7549e8)!important;
  color:#fff!important;
  box-shadow:0 0 18px rgba(72,110,255,.18);
}
.pron-step-label b{color:#fff!important}
.pron-step-label small{color:#9fb0d2!important}
.pron-advanced-settings>summary,.pron-guide-details>summary{
  color:#dbe6ff!important;
  padding:11px 12px;
}
.pron-advanced-settings[open],.pron-guide-details[open]{border-color:rgba(115,156,255,.30)!important}
.voice-profile-help{
  background:rgba(16,30,64,.76)!important;
  border-color:rgba(113,148,230,.18)!important;
  color:#bac8e3!important;
}
.voice-profile-help span{color:#bac8e3!important}
.pron-quick-point{
  background:rgba(91,63,184,.22)!important;
  color:#dbcaff!important;
  border:1px solid rgba(151,117,244,.20)!important;
}
.pron-section{border-top-color:rgba(113,148,230,.16)!important}
.pron-section:first-child{border-top:0!important}
.ipa,.stress-line{color:#eaf3ff!important}
#pronLinking,#pronWeakForms,#pronSounds,#pronRhythm,#pronFeedback,#pronGood,#pronImprove{color:#d6e1f5!important}
.pron-score{color:#83bdff!important}
.pron-result{box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
#startPronRecord{background:linear-gradient(135deg,#2385ff,#7547ed)!important;color:#fff!important}
#stopPronRecord{background:rgba(126,39,57,.28)!important;color:#ffb5c0!important;border-color:rgba(255,104,132,.28)!important}

@media(max-width:680px){
  .growth-fold>summary{min-height:62px;padding:13px 14px}
  .growth-fold-body{padding:0 10px 10px}
  .growth-fold>summary b{font-size:14px}
  .pron-target-picker-row{grid-template-columns:1fr 1fr!important}
  .pron-target-picker-row select{grid-column:1/-1;grid-row:1}
  .pron-target-picker-row #pronPrevItem{grid-column:1;grid-row:2}
  .pron-target-picker-row #pronNextItem{grid-column:2;grid-row:2}
}

/* ===== v7.19.0 Character Evolution System ===== */
.character-stage-wrap{
  position:relative!important;
  min-height:360px!important;
  padding:10px 10px 36px!important;
  background:
    radial-gradient(circle at 50% 38%,rgba(51,103,255,.18),transparent 34%),
    radial-gradient(circle at 72% 20%,rgba(139,70,255,.13),transparent 30%),
    linear-gradient(180deg,#07142f 0%,#071025 100%)!important;
}
.english-character{
  width:min(100%,270px)!important;
  height:320px!important;
  border-radius:18px;
  overflow:hidden;
  display:block!important;
  transform:none!important;
  background:#071126;
  border:1px solid rgba(105,150,238,.24);
  box-shadow:0 18px 42px rgba(0,0,0,.28),0 0 38px rgba(75,83,255,.12);
}
.english-character:hover{transform:translateY(-2px)!important}
.character-portrait{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 44%;
  display:block;z-index:2;transition:opacity .4s ease,filter .4s ease,transform .45s ease;
}
.character-portrait-glow{position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 50% 45%,rgba(58,130,255,.28),transparent 48%);filter:blur(8px)}
.character-evolution-chip{
  position:absolute;left:10px;bottom:10px;z-index:5;max-width:calc(100% - 54px);
  padding:6px 9px;border-radius:999px;background:rgba(5,13,33,.78);backdrop-filter:blur(8px);
  border:1px solid rgba(119,166,255,.28);color:#ddecff;font-size:9px;font-weight:900;letter-spacing:.10em;
  box-shadow:0 0 18px rgba(74,104,255,.14);
}
.character-badge{z-index:6!important;right:10px!important;top:10px!important;background:linear-gradient(145deg,rgba(34,104,231,.92),rgba(115,61,228,.92))!important}
.character-next-evolution{
  position:absolute;left:12px;right:12px;bottom:10px;text-align:center;color:#8fa9d2;font-size:9px;font-weight:800;letter-spacing:.04em;
}
.english-character.visual-lv20{box-shadow:0 20px 48px rgba(0,0,0,.30),0 0 44px rgba(60,103,255,.19)}
.english-character.visual-lv50{border-color:rgba(118,117,255,.38);box-shadow:0 20px 52px rgba(0,0,0,.32),0 0 52px rgba(99,73,255,.25)}
.english-character.visual-lv80{border-color:rgba(157,116,255,.48);box-shadow:0 22px 58px rgba(0,0,0,.35),0 0 62px rgba(119,68,255,.32)}
.english-character.evolution-unlocked{animation:characterEvolutionPulse 1.25s ease 0s 2}
.english-character.evolution-unlocked:after{
  content:"EVOLUTION UNLOCKED";position:absolute;z-index:8;left:50%;top:50%;transform:translate(-50%,-50%);
  padding:8px 12px;border-radius:999px;white-space:nowrap;background:rgba(7,16,42,.86);
  border:1px solid rgba(158,192,255,.52);color:#f5f9ff;font-size:10px;font-weight:950;letter-spacing:.12em;
  box-shadow:0 0 28px rgba(78,126,255,.34);animation:evolutionLabel 2.2s ease forwards;
}
@keyframes characterEvolutionPulse{0%,100%{filter:none}45%{filter:brightness(1.24) saturate(1.18);box-shadow:0 0 0 1px rgba(196,216,255,.6),0 0 74px rgba(80,91,255,.46)}}
@keyframes evolutionLabel{0%{opacity:0;transform:translate(-50%,-42%) scale(.92)}20%,70%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-58%) scale(1.02)}}
.character-growth-main{grid-template-columns:minmax(210px,280px) minmax(0,1fr)!important;align-items:stretch!important}
@media(max-width:680px){
  .character-growth-main{grid-template-columns:1fr!important}
  .character-stage-wrap{min-height:410px!important;padding-bottom:34px!important}
  .english-character{width:min(100%,300px)!important;height:360px!important;margin:0 auto}
  .character-growth-copy{padding-top:2px}
}

/* ===== v7.19.1 Teacher question chips contrast fix ===== */
.ask-teacher-card .suggested-questions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.ask-teacher-card .question-chip{
  min-height:44px;
  margin:0;
  padding:10px 12px;
  border-radius:12px;
  background:linear-gradient(145deg,rgba(13,27,61,.98),rgba(17,24,53,.98))!important;
  color:#eef5ff!important;
  border:1px solid rgba(111,154,242,.34)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 7px 18px rgba(0,0,0,.12);
  font-size:12px;
  font-weight:800;
  line-height:1.35;
  text-align:center;
  opacity:1!important;
  -webkit-text-fill-color:#eef5ff;
}
.ask-teacher-card .question-chip:hover,
.ask-teacher-card .question-chip:focus-visible{
  background:linear-gradient(145deg,rgba(28,70,148,.98),rgba(70,46,142,.98))!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff;
  border-color:rgba(132,184,255,.68)!important;
  box-shadow:0 0 0 2px rgba(67,129,255,.12),0 0 22px rgba(68,98,255,.18);
  outline:none;
}
.ask-teacher-card .question-chip:active{
  transform:translateY(1px);
  background:linear-gradient(145deg,#245fc5,#6840d2)!important;
}
.ask-teacher-card .question-chip:disabled{
  background:#0b142a!important;
  color:#7485a6!important;
  -webkit-text-fill-color:#7485a6;
  border-color:rgba(91,111,153,.18)!important;
  opacity:.72!important;
  box-shadow:none;
}
.ask-teacher-card .ask-title,
.ask-teacher-card>label{
  color:#f4f8ff!important;
}
.ask-teacher-card #teacherQuestion{
  background:#07132d!important;
  color:#eef5ff!important;
  -webkit-text-fill-color:#eef5ff;
  border-color:rgba(111,154,242,.28)!important;
}
.ask-teacher-card #teacherQuestion::placeholder{
  color:#7588ae!important;
  -webkit-text-fill-color:#7588ae;
  opacity:1;
}
@media(max-width:680px){
  .ask-teacher-card .suggested-questions{grid-template-columns:1fr;gap:7px}
  .ask-teacher-card .question-chip{width:100%;min-height:46px;text-align:left;padding:11px 13px}
}

/* ===== v7.19.2 Scene image loading feedback ===== */
.scene-inline-note{
  display:none;
  align-items:center;
  gap:8px;
  margin:8px 0 12px;
  padding:10px 12px;
  border-radius:12px;
  font-size:12px;
  line-height:1.5;
  color:#cfe0ff;
  background:rgba(17,33,78,.78);
  border:1px solid rgba(107,141,229,.20);
}
.scene-inline-note.visible{display:flex;}
.scene-inline-note.generating::before{
  content:"";
  width:12px;
  height:12px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.18);
  border-top-color:#84b5ff;
  animation:meq-spin 0.9s linear infinite;
  flex:0 0 12px;
}
.scene-create-btn.generating,.scene-remake-btn.generating{
  opacity:1!important;
  filter:saturate(.9);
  cursor:wait;
}
.scene-cta-box.is-generating,.scene-image-toolbar.is-generating{
  border-color:rgba(120,162,255,.34)!important;
  box-shadow:0 0 0 1px rgba(120,162,255,.10), 0 10px 26px rgba(34,62,137,.14)!important;
}
@keyframes meq-spin{to{transform:rotate(360deg)}}

/* ===== v7.19.3 More My English save points ===== */
.saveable-example{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
}
.teacher-example-copy{min-width:0;}
.save-example-btn,.save-expression-btn{
  white-space:nowrap;
  color:#dce8ff!important;
  background:rgba(26,48,101,.82)!important;
  border:1px solid rgba(111,151,244,.26)!important;
}
.save-example-btn:hover,.save-expression-btn:hover{
  color:#fff!important;
  background:linear-gradient(135deg,rgba(42,91,203,.92),rgba(98,63,202,.90))!important;
}
.save-example-btn:disabled,.save-expression-btn:disabled{
  color:#9edfc4!important;
  background:rgba(25,92,68,.38)!important;
  border-color:rgba(74,207,151,.18)!important;
}
.challenge-teacher-examples .teacher-example{display:grid!important;}
@media(max-width:680px){
  .saveable-example{grid-template-columns:1fr!important;}
  .save-example-btn{width:100%;}
  #saveSubResult{width:100%;}
}

/* ===== v7.19.4 Beta feedback ===== */
.beta-feedback-fab{
  position:fixed;
  right:16px;
  bottom:84px;
  z-index:80;
  min-height:40px;
  padding:9px 13px;
  border-radius:999px;
  border:1px solid rgba(121,161,255,.35)!important;
  color:#f3f7ff!important;
  background:linear-gradient(135deg,rgba(28,69,154,.96),rgba(91,55,176,.96))!important;
  box-shadow:0 10px 28px rgba(24,42,99,.34),0 0 20px rgba(90,76,210,.18);
  font-size:11px;
  font-weight:900;
  letter-spacing:.02em;
}
.beta-feedback-fab:hover{filter:brightness(1.08)}
.feedback-modal{position:fixed;inset:0;z-index:160;display:flex;align-items:flex-end;justify-content:center;padding:16px;}
.feedback-modal.hidden{display:none!important;}
.feedback-backdrop{position:absolute;inset:0;background:rgba(1,7,22,.74);backdrop-filter:blur(5px);}
.feedback-panel{
  position:relative;
  z-index:1;
  width:min(560px,100%);
  max-height:min(86vh,760px);
  overflow:auto;
  padding:18px;
  border-radius:22px 22px 16px 16px;
  background:linear-gradient(180deg,rgba(12,25,58,.99),rgba(7,15,36,.995));
  border:1px solid rgba(116,154,238,.28);
  box-shadow:0 24px 70px rgba(0,0,0,.48);
  color:#eef5ff;
}
.feedback-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;}
.feedback-head h2{margin:6px 0 4px;color:#fff!important;}
.feedback-panel label{display:block;margin:12px 0 6px;color:#eaf2ff!important;font-size:12px;font-weight:800;}
.feedback-panel select,.feedback-panel textarea,.feedback-panel input{
  width:100%;
  box-sizing:border-box;
  background:#07132d!important;
  color:#eef5ff!important;
  -webkit-text-fill-color:#eef5ff;
  border:1px solid rgba(111,154,242,.28)!important;
  border-radius:12px;
  padding:11px 12px;
}
.feedback-panel textarea{min-height:132px;resize:vertical;line-height:1.55;}
.feedback-panel textarea::placeholder,.feedback-panel input::placeholder{color:#7185aa!important;-webkit-text-fill-color:#7185aa;opacity:1;}
.feedback-rating{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;}
.feedback-rating button{
  min-height:42px;
  border-radius:11px;
  background:rgba(13,28,62,.95)!important;
  color:#c9d8f5!important;
  border:1px solid rgba(111,145,222,.22)!important;
  font-weight:900;
}
.feedback-rating button.active{
  color:#fff!important;
  background:linear-gradient(135deg,#2c65d8,#7549d9)!important;
  border-color:rgba(147,184,255,.65)!important;
  box-shadow:0 0 18px rgba(74,105,226,.24);
}
.feedback-context{margin:10px 0;padding:9px 10px;border-radius:10px;background:rgba(39,59,110,.18);border:1px solid rgba(109,143,218,.14);}
.feedback-privacy{margin:9px 0 0;line-height:1.5;}
#sendBetaFeedback:disabled{opacity:.65;cursor:wait;}
@media(min-width:700px){.feedback-modal{align-items:center}.feedback-panel{border-radius:22px}}
@media(max-width:680px){
  .beta-feedback-fab{right:11px;bottom:78px;padding:8px 11px;font-size:10px;}
  .feedback-modal{padding:8px;}
  .feedback-panel{padding:15px;border-radius:20px 20px 14px 14px;}
  .feedback-head{gap:8px;}
}

/* ===== v7.19.5 Dedicated Beta Feedback tab ===== */
.main-nav-five{
  grid-template-columns:repeat(5,1fr)!important;
}
.bottom-nav .nav[data-view="feedback"] .nav-icon{
  font-size:17px;
}
#feedbackView{
  max-width:900px;
  margin:0 auto;
}
.feedback-page-hero{
  padding:20px;
  background:linear-gradient(145deg,rgba(15,34,78,.94),rgba(34,25,76,.9))!important;
  border:1px solid rgba(107,149,244,.24)!important;
  overflow:hidden;
  position:relative;
}
.feedback-page-hero::after{
  content:"";
  position:absolute;
  width:180px;height:180px;
  right:-55px;top:-85px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(88,127,255,.22),transparent 66%);
  pointer-events:none;
}
.feedback-page-hero h2{margin:8px 0 6px;color:#fff!important;font-size:24px;}
.feedback-page-hero p{margin:0;color:#b9c9e8;line-height:1.6;}
.feedback-source-pill{
  display:inline-flex;
  margin-top:14px;
  padding:7px 10px;
  border-radius:999px;
  color:#cfe1ff;
  background:rgba(83,117,209,.16);
  border:1px solid rgba(111,151,239,.18);
  font-size:11px;
  font-weight:800;
}
.feedback-page-card{padding:20px;}
.feedback-page-intro h3{margin:0 0 4px;color:#fff!important;}
.feedback-page-intro p{margin:0 0 14px;}
.feedback-page-card label{
  display:block;
  margin:14px 0 6px;
  color:#eaf2ff!important;
  font-size:12px;
  font-weight:850;
}
.feedback-page-card select,.feedback-page-card textarea,.feedback-page-card input{
  width:100%;
  box-sizing:border-box;
  background:#07132d!important;
  color:#eef5ff!important;
  -webkit-text-fill-color:#eef5ff;
  border:1px solid rgba(111,154,242,.28)!important;
  border-radius:12px;
  padding:12px;
}
.feedback-page-card textarea{min-height:150px;resize:vertical;line-height:1.6;}
.feedback-page-card textarea::placeholder,.feedback-page-card input::placeholder{
  color:#7185aa!important;
  -webkit-text-fill-color:#7185aa;
  opacity:1;
}
.feedback-availability{
  margin:14px 0 8px;
  padding:10px 12px;
  border-radius:12px;
  font-size:11px;
  line-height:1.5;
  font-weight:750;
}
.feedback-availability.ready{
  color:#aef0cf;
  background:rgba(28,111,78,.18);
  border:1px solid rgba(65,197,139,.20);
}
.feedback-availability.not-ready{
  color:#ffd7a0;
  background:rgba(154,101,28,.17);
  border:1px solid rgba(230,164,68,.22);
}
.feedback-help-card{padding:17px 20px;}
.feedback-help-card>b{color:#fff;}
.feedback-help-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
}
.feedback-help-grid span{
  padding:10px 11px;
  border-radius:11px;
  background:rgba(12,27,60,.72);
  border:1px solid rgba(108,141,218,.14);
  color:#b9cae8;
  font-size:11px;
}
@media(max-width:680px){
  .bottom-nav .nav{font-size:9px!important;padding-left:1px;padding-right:1px;}
  .bottom-nav .nav-icon{font-size:17px!important;width:24px;height:24px;}
  .bottom-nav .nav[data-view="feedback"] span:last-child{font-size:8.5px;white-space:nowrap;}
  .feedback-page-hero,.feedback-page-card{padding:16px;}
  .feedback-page-hero h2{font-size:21px;}
  .feedback-help-grid{grid-template-columns:1fr;}
}

/* ===== v7.19.9 Pronunciation My English picker ===== */
.pron-manual-picker{
  margin:14px 0 18px;
  padding:14px;
  border:1px solid rgba(112,145,226,.24);
  border-radius:16px;
  background:linear-gradient(180deg,rgba(12,27,64,.96),rgba(8,20,49,.96));
}
.pron-manual-picker input[type="search"]{
  width:100%;
  margin-bottom:9px;
  background:rgba(6,17,42,.96)!important;
  color:#f4f7ff!important;
  border:1px solid rgba(111,145,222,.26)!important;
}
.pron-manual-picker input[type="search"]::placeholder{color:#7f91b4!important;}
.pron-manual-list{max-height:360px;overflow-y:auto;padding-right:3px;}
.pron-manual-row{background:rgba(8,20,49,.9)!important;}
.pron-manual-row.selected{
  background:linear-gradient(135deg,rgba(44,83,172,.34),rgba(106,57,190,.28))!important;
  border-color:rgba(125,153,255,.52)!important;
  box-shadow:0 0 0 1px rgba(112,138,255,.10),0 10px 24px rgba(20,44,104,.16);
}
.pron-manual-row input[type="radio"]{accent-color:#6f7cff;}
.pron-selected-chip{background:rgba(54,69,154,.28)!important;color:#eaf0ff!important;border-color:rgba(133,151,255,.34)!important;}
@media(max-width:680px){
  .pron-manual-picker{padding:12px;margin-top:10px;}
  .pron-manual-list{max-height:390px;}
}

/* ===== v7.19.10 My English serial + user memo ===== */
.my-serial-badge{display:inline-flex;align-items:center;padding:3px 7px;margin-right:6px;border-radius:999px;background:rgba(92,74,220,.22);border:1px solid rgba(145,129,255,.25);color:#d9d2ff;font-size:10px;font-weight:900;letter-spacing:.03em}
.library-user-memo{margin:10px 0;padding:12px 14px;border-radius:13px;background:rgba(31,45,85,.50);border:1px solid rgba(103,137,220,.16);display:flex;flex-direction:column;gap:5px}
.library-user-memo b{font-size:11px;color:#9fc3ff}.library-user-memo span{font-size:12px;line-height:1.6;color:#dce7ff;white-space:pre-wrap}
.my-memo-editor{margin:10px 0;padding:12px;border-radius:14px;background:rgba(7,17,42,.76);border:1px solid rgba(111,145,222,.22)}
.my-memo-editor label{display:block;margin-bottom:7px;color:#dce8ff;font-size:12px;font-weight:850}
.my-memo-editor textarea,.my-card-note-editor textarea{width:100%;min-height:92px;resize:vertical;background:#081632!important;color:#f4f7ff!important;border:1px solid rgba(112,149,235,.28)!important;border-radius:12px;padding:11px 12px;line-height:1.55}
.my-memo-editor textarea::placeholder,.my-card-note-editor textarea::placeholder{color:#7386aa!important}
.my-memo-editor-actions,.my-card-note-actions{display:flex;gap:8px;align-items:center;margin-top:8px}
.my-card-note-details{margin-top:12px;border:1px solid rgba(111,145,222,.18);border-radius:13px;background:rgba(8,18,44,.60);overflow:hidden}
.my-card-note-details summary{cursor:pointer;padding:11px 13px;color:#dce8ff;font-size:12px;font-weight:850;list-style:none}.my-card-note-details summary::-webkit-details-marker{display:none}
.my-card-note-editor{padding:0 12px 12px}.my-card-note-editor textarea{margin-top:2px}
@media(max-width:680px){.my-memo-editor-actions,.my-card-note-actions{align-items:stretch;flex-direction:column}.my-memo-editor-actions button,.my-card-note-actions button{width:100%}}

/* ===== v7.19.11 User tags ===== */
.myenglish-tag-filter-wrap,.talk-tag-filter-wrap{margin:10px 0 12px;display:flex;flex-direction:column;gap:7px}
.user-tag-filter-bar{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.user-tag-filter{border:1px solid rgba(112,146,225,.22)!important;background:rgba(10,22,52,.88)!important;color:#c9d8f7!important;border-radius:999px!important;padding:7px 10px!important;font-size:11px!important;font-weight:800!important;min-height:34px}
.user-tag-filter small{opacity:.66;margin-left:3px}
.user-tag-filter.active{background:linear-gradient(135deg,rgba(62,104,223,.92),rgba(111,72,218,.92))!important;color:#fff!important;border-color:rgba(144,177,255,.36)!important;box-shadow:0 6px 16px rgba(54,72,175,.18)}
.user-tag-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
.user-tag-chip{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:5px 8px;background:rgba(63,86,177,.18);color:#dbe7ff;border:1px solid rgba(116,149,230,.20);font-size:10px;font-weight:800;line-height:1.2}
button.user-tag-chip{cursor:pointer}
.user-tag-chip.removable:hover{background:rgba(82,58,155,.35);color:#fff}
.user-tag-chip b{font-size:11px;opacity:.72}
.my-tag-editor,.my-card-tag-editor{margin:10px 0;padding:12px;border-radius:14px;background:rgba(8,18,44,.78);border:1px solid rgba(116,149,230,.20)}
.my-tag-editor label{display:block;margin-bottom:8px;font-size:12px;font-weight:800;color:#eaf1ff}
.my-tag-current{margin-bottom:8px}
.my-tag-add-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin:8px 0}
.my-tag-add-row input{min-width:0;background:rgba(6,15,36,.95)!important;color:#f5f8ff!important;border:1px solid rgba(105,143,231,.28)!important}
.my-card-tag-details{margin-top:10px;border-top:1px solid rgba(111,145,222,.14);padding-top:8px}
.my-card-tag-details summary{cursor:pointer;color:#dce7ff;font-weight:800}
.story-manual-row .user-tag-row{margin-top:5px}
.story-manual-row .user-tag-chip{font-size:9px;padding:4px 7px}
.talk-tag-filter-wrap{padding:9px 0 2px}
@media(max-width:680px){
  .user-tag-filter-bar{flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .user-tag-filter-bar::-webkit-scrollbar{display:none}
  .user-tag-filter{flex:0 0 auto}
  .my-tag-add-row{grid-template-columns:1fr}
  .my-tag-add-row button{width:100%}
}

/* ===== v7.19.13 Settings readability + accessibility themes ===== */
.home-section-panel[data-home-panel="settings"] .storage-manager,
.home-section-panel[data-home-panel="settings"] .cost-saver-settings,
.home-section-panel[data-home-panel="settings"] .data-manage-card,
.appearance-settings-card{
  background:linear-gradient(180deg,rgba(9,21,51,.94),rgba(7,17,42,.90))!important;
  border:1px solid rgba(117,151,231,.23)!important;
  color:var(--text)!important;
}
.home-section-panel[data-home-panel="settings"] .storage-breakdown>div,
.home-section-panel[data-home-panel="settings"] .cost-breakdown>div{
  background:rgba(8,19,46,.92)!important;
  border:1px solid rgba(112,145,222,.22)!important;
  color:var(--text)!important;
}
.home-section-panel[data-home-panel="settings"] .storage-breakdown span,
.home-section-panel[data-home-panel="settings"] .cost-breakdown span{
  color:var(--muted)!important;
}
.home-section-panel[data-home-panel="settings"] .storage-breakdown b,
.home-section-panel[data-home-panel="settings"] .cost-breakdown b{
  color:var(--text)!important;
}
.home-section-panel[data-home-panel="settings"] input,
.home-section-panel[data-home-panel="settings"] textarea,
.home-section-panel[data-home-panel="settings"] select{
  background:rgba(7,18,44,.96)!important;
  color:var(--text)!important;
  border-color:rgba(112,145,222,.28)!important;
}
.settings-notification-card{
  margin-top:14px;
  padding:14px;
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
  border-radius:15px;
  background:rgba(8,19,46,.88);
  border:1px solid rgba(112,145,222,.22);
}
.settings-notification-copy{min-width:0;flex:1}
.settings-notification-copy p{margin:5px 0 0;line-height:1.55}
.settings-label-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.settings-state-pill{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:42px;padding:4px 8px;border-radius:999px;
  font-size:10px;font-weight:900;letter-spacing:.08em;
  border:1px solid rgba(140,163,219,.22);
}
.settings-state-pill.is-off{background:rgba(110,123,155,.15);color:#b8c3da}
.settings-state-pill.is-on{background:rgba(50,207,150,.16);color:#8ff1c4;border-color:rgba(69,211,154,.30)}
.settings-state-pill.is-unavailable{background:rgba(255,110,133,.12);color:#ff9cac;border-color:rgba(255,110,133,.22)}
.settings-toggle{
  flex:0 0 auto;min-width:138px;min-height:46px;padding:7px 12px;
  display:flex;align-items:center;gap:9px;justify-content:center;
  border:1px solid rgba(115,147,220,.26)!important;
  background:rgba(15,29,66,.94)!important;color:#cad6ef!important;
  transition:.18s ease;
}
.settings-toggle-dot{width:17px;height:17px;border-radius:50%;background:#6f7d9d;box-shadow:0 0 0 4px rgba(111,125,157,.10)}
.settings-toggle.is-on{background:linear-gradient(135deg,rgba(28,118,91,.96),rgba(27,153,112,.88))!important;color:#fff!important;border-color:rgba(94,229,174,.38)!important;box-shadow:0 8px 22px rgba(23,132,95,.22)}
.settings-toggle.is-on .settings-toggle-dot{background:#d7ffed;box-shadow:0 0 0 4px rgba(215,255,237,.14),0 0 14px rgba(93,242,180,.48)}
.settings-toggle.is-unavailable{opacity:.65;cursor:not-allowed}
.settings-toggle-label{font-weight:900;white-space:nowrap}

.appearance-settings-card{margin-top:14px;padding:15px;border-radius:16px}
.appearance-settings-intro p{margin:5px 0 0;line-height:1.55}
.appearance-setting-group{margin-top:17px}
.appearance-setting-group>label{margin-bottom:8px;color:var(--text)}
.appearance-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.appearance-choice-grid button{
  min-height:48px;padding:10px 9px;
  display:flex;align-items:center;justify-content:center;gap:7px;
  background:rgba(8,19,46,.88)!important;color:var(--text)!important;
  border:1px solid rgba(112,145,222,.22)!important;
  font-weight:800;line-height:1.25;
}
.font-choice-grid button{flex-direction:column;gap:3px}
.font-choice-grid button span{font-size:9px;color:var(--muted);font-weight:700}
.appearance-choice-grid button.active{
  background:linear-gradient(135deg,rgba(52,103,222,.88),rgba(105,69,211,.88))!important;
  border-color:rgba(142,171,255,.46)!important;color:#fff!important;
  box-shadow:0 8px 22px rgba(52,79,174,.20)
}
.appearance-choice-grid button.active span{color:#e5ecff}
.theme-swatch{width:15px;height:15px;border-radius:50%;display:inline-block;flex:0 0 15px;border:1px solid rgba(255,255,255,.25)}
.theme-swatch.text-standard{background:#f6f8ff}.theme-swatch.text-soft{background:#e4eaf8}.theme-swatch.text-contrast{background:#fff}.theme-swatch.text-warm{background:#fff1dc}
.theme-swatch.bg-midnight{background:#071027}.theme-swatch.bg-navy{background:#0a2448}.theme-swatch.bg-black{background:#02040a}.theme-swatch.bg-violet{background:#20103a}
.appearance-preview{margin:17px 0 12px;padding:14px;border-radius:14px;background:rgba(5,13,33,.72);border:1px solid rgba(112,145,222,.18);display:grid;gap:5px}
.appearance-preview span{font-size:9px;font-weight:900;letter-spacing:.15em;color:var(--brand)}
.appearance-preview b{color:var(--text);line-height:1.55}
.appearance-preview small{color:var(--muted);line-height:1.5}

/* User-selected text palette */
html[data-ui-text="standard"]{--text:#f6f8ff;--muted:#98a7c5}
html[data-ui-text="soft"]{--text:#e7edf9;--muted:#a7b3cb}
html[data-ui-text="contrast"]{--text:#ffffff;--muted:#c7d3eb}
html[data-ui-text="warm"]{--text:#fff4e2;--muted:#c9bda9}

/* User-selected app background */
html[data-ui-bg="midnight"] body{background:radial-gradient(circle at 10% -8%,rgba(67,99,255,.22),transparent 34%),radial-gradient(circle at 90% 16%,rgba(120,60,255,.14),transparent 30%),linear-gradient(180deg,#060b1c 0%,#081128 45%,#050914 100%)!important}
html[data-ui-bg="navy"] body{background:radial-gradient(circle at 15% -10%,rgba(45,132,255,.22),transparent 36%),radial-gradient(circle at 88% 18%,rgba(43,109,194,.15),transparent 30%),linear-gradient(180deg,#07152d 0%,#092040 50%,#061329 100%)!important}
html[data-ui-bg="black"] body{background:radial-gradient(circle at 12% 0%,rgba(64,85,145,.15),transparent 32%),linear-gradient(180deg,#02040a 0%,#050812 55%,#010208 100%)!important}
html[data-ui-bg="violet"] body{background:radial-gradient(circle at 12% -8%,rgba(111,72,255,.23),transparent 35%),radial-gradient(circle at 90% 18%,rgba(169,62,255,.14),transparent 31%),linear-gradient(180deg,#10091f 0%,#171030 48%,#090714 100%)!important}

/* Readability levels. Headings keep their hierarchy; controls/body copy scale together. */
html[data-ui-font="small"]{--ui-base-font:12px;--ui-small-font:10px;--ui-english-font:17px}
html[data-ui-font="standard"]{--ui-base-font:13px;--ui-small-font:11px;--ui-english-font:18px}
html[data-ui-font="large"]{--ui-base-font:15px;--ui-small-font:12px;--ui-english-font:20px}
html[data-ui-font="xlarge"]{--ui-base-font:17px;--ui-small-font:14px;--ui-english-font:22px}
#app p,#app label,#app input,#app textarea,#app select,#app button,#app .status,#app .muted{font-size:var(--ui-base-font,13px)}
#app small,#app .tiny,#app .meta,#app .eyebrow,#app .brand-tagline{font-size:var(--ui-small-font,11px)}
#app .english,#app .en0{font-size:var(--ui-english-font,18px)}

@media(max-width:680px){
  .settings-notification-card{align-items:stretch;flex-direction:column}
  .settings-toggle{width:100%}
  .appearance-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ===== v7.19.14 Review mode visual polish ===== */
.review-seg{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:6px!important;
  padding:5px!important;
  margin:14px 0 16px!important;
  border:1px solid rgba(100,137,230,.20)!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,rgba(5,13,34,.94),rgba(9,18,45,.90))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02),0 8px 22px rgba(0,0,0,.12)!important;
}
.review-seg .review-mode{
  position:relative!important;
  min-height:48px!important;
  border:1px solid transparent!important;
  border-radius:12px!important;
  background:rgba(16,29,63,.76)!important;
  color:#aebcda!important;
  font-weight:850!important;
  letter-spacing:.01em!important;
  transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
.review-seg .review-mode:hover{
  background:rgba(29,48,94,.88)!important;
  color:#f4f7ff!important;
  border-color:rgba(117,151,235,.22)!important;
}
.review-seg .review-mode.active{
  background:linear-gradient(135deg,#315bdb 0%,#5847df 52%,#7b3fe4 100%)!important;
  color:#fff!important;
  border-color:rgba(150,176,255,.42)!important;
  box-shadow:0 8px 24px rgba(57,74,210,.28),inset 0 1px 0 rgba(255,255,255,.14)!important;
}
.review-seg .review-mode.active::after{
  content:"";
  position:absolute;
  left:20%;right:20%;bottom:4px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,#c9ddff,transparent);
  opacity:.85;
}
.review-seg .review-mode:focus-visible{
  outline:2px solid rgba(123,171,255,.72)!important;
  outline-offset:2px!important;
}
@media(max-width:680px){
  .review-seg{gap:5px!important;padding:4px!important;border-radius:14px!important}
  .review-seg .review-mode{min-height:46px!important;font-size:13px!important;padding:10px 8px!important}
}

/* ===== v7.19.15 My English list interaction refresh ===== */
.library-card-clickable{
  cursor:pointer;
  transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease, background .16s ease;
}
.library-card-clickable:hover{
  border-color:rgba(119,151,255,.36)!important;
  box-shadow:0 14px 34px rgba(20,39,95,.18)!important;
  background:linear-gradient(180deg,rgba(17,32,74,.98),rgba(10,22,55,.98))!important;
}
.library-card-clickable:active{transform:translateY(1px)}
.library-open-cue{
  flex:0 0 auto;
  align-self:flex-start;
  margin-left:12px;
  padding:6px 9px;
  border-radius:999px;
  border:1px solid rgba(113,146,225,.18);
  background:rgba(40,63,126,.20);
  color:#aebfe2;
  font-size:10px;
  font-weight:800;
  letter-spacing:.02em;
  pointer-events:none;
  white-space:nowrap;
}
.library-inline-actions{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(112,145,221,.13);
}
.library-inline-actions button{
  min-height:44px;
  padding:9px 10px!important;
  border-radius:12px!important;
  background:rgba(10,22,53,.92)!important;
  border:1px solid rgba(111,145,222,.20)!important;
  color:#e8efff!important;
  font-size:11px!important;
  font-weight:800!important;
  box-shadow:none!important;
}
.library-inline-actions button:hover{
  background:rgba(31,51,103,.94)!important;
  border-color:rgba(129,158,235,.34)!important;
  color:#fff!important;
}
.library-inline-actions .library-delete-action{
  color:#ffb8c3!important;
  border-color:rgba(235,96,123,.20)!important;
  background:rgba(72,24,39,.34)!important;
}
.library-inline-actions .library-delete-action:hover{
  color:#ffdbe1!important;
  background:rgba(102,31,51,.48)!important;
  border-color:rgba(247,116,143,.30)!important;
}
.library-card-clickable button,
.library-card-clickable input,
.library-card-clickable textarea,
.library-card-clickable select,
.library-card-clickable label{
  cursor:auto;
}
.library-card-clickable button{cursor:pointer}
@media(max-width:760px){
  .library-inline-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .library-open-cue{font-size:9px;padding:5px 7px}
}
@media(max-width:420px){
  .library-open-cue{display:none}
}

/* ===== v7.19.16 Safe My English deletion ===== */
body.modal-open{overflow:hidden;}
.delete-item-dialog{position:fixed;inset:0;z-index:220;display:flex;align-items:center;justify-content:center;padding:18px;}
.delete-item-dialog.hidden{display:none!important;}
.delete-item-backdrop{position:absolute;inset:0;background:rgba(1,5,18,.78);backdrop-filter:blur(6px);}
.delete-item-panel{
  position:relative;z-index:1;width:min(520px,100%);padding:22px;border-radius:22px;
  background:linear-gradient(180deg,rgba(13,25,57,.995),rgba(7,14,34,.995));
  border:1px solid rgba(255,108,125,.28);box-shadow:0 28px 80px rgba(0,0,0,.55),0 0 28px rgba(190,49,79,.10);color:#eef4ff;
}
.delete-item-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;margin-bottom:14px;font-size:22px;font-weight:950;color:#ffd8de;background:rgba(181,44,70,.22);border:1px solid rgba(255,105,132,.32);}
.danger-kicker{font-size:10px;font-weight:900;letter-spacing:.14em;color:#ff9bae;}
.delete-item-copy h2{margin:5px 0 8px;color:#fff!important;font-size:22px;}
.delete-item-copy p{margin:6px 0;color:#b7c6e2;line-height:1.65;font-size:13px;}
.delete-item-warning b{color:#ffb0bd;}
.delete-item-target{margin:16px 0;padding:14px;border-radius:15px;background:rgba(7,19,46,.88);border:1px solid rgba(108,143,221,.22);}
.delete-item-jp{margin-top:9px;color:#b7c7e4;font-size:13px;font-weight:700;}
.delete-item-en{margin-top:4px;color:#fff;font-size:16px;font-weight:900;line-height:1.45;}
.delete-item-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;}
.delete-item-actions button{min-height:48px;border-radius:13px;font-weight:900;}
.danger-confirm{border:1px solid rgba(255,117,139,.40)!important;background:linear-gradient(135deg,#b92f4d,#e24d62)!important;color:#fff!important;box-shadow:0 10px 24px rgba(190,45,73,.22);}
.danger-confirm:hover{filter:brightness(1.08);}
.library-delete-action{color:#ff9cad!important;border-color:rgba(255,112,137,.22)!important;background:rgba(117,25,46,.14)!important;}
.library-delete-action:hover{color:#fff!important;background:rgba(164,40,65,.34)!important;border-color:rgba(255,119,142,.40)!important;}
@media(max-width:680px){.delete-item-dialog{padding:10px;align-items:flex-end}.delete-item-panel{padding:18px;border-radius:20px 20px 14px 14px}.delete-item-copy h2{font-size:19px}.delete-item-actions{grid-template-columns:1fr}.delete-item-actions #cancelDeleteItem{order:2}.delete-item-actions #confirmDeleteItem{order:1}}

/* ===== v7.19.17 AI conversation setup clarity ===== */
.talk-setup-description{
  margin:10px 0 8px;
  padding:13px 14px;
  border-radius:14px;
  background:linear-gradient(135deg,rgba(20,48,92,.88),rgba(41,29,92,.70));
  border:1px solid rgba(116,155,245,.25);
  color:#dce8ff;
  font-size:12px;
  line-height:1.7;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.talk-setup-description b{color:#ffffff;font-weight:850}
@media(max-width:680px){
  .talk-setup-description{font-size:11px;padding:11px 12px;line-height:1.65}
}

/* ===== v7.19.18 Saved Story readability repair ===== */
.saved-story-flashcard{
  background:linear-gradient(180deg,rgba(12,24,56,.96) 0%,rgba(8,18,45,.98) 100%)!important;
  border:1px solid rgba(113,147,231,.26)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 18px 40px rgba(2,7,22,.22);
  color:var(--text)!important;
}
.saved-story-card-label,
.saved-story-flashcard .saved-story-card-label{
  color:#b59cff!important;
  letter-spacing:.04em;
}
#savedStoryTitle{
  color:#f7f9ff!important;
  text-shadow:0 0 18px rgba(107,146,255,.10);
}
#savedStoryMeta,
.saved-story-flashcard .muted{
  color:#a9bbdd!important;
}
.saved-story-flashcard #revealSavedStory{
  box-shadow:0 10px 24px rgba(86,73,200,.22);
}
.saved-story-study{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(124,153,229,.14);
}
.saved-story-mode-tabs{
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(132,161,232,.22);
  border-radius:12px;
  padding:4px;
}
.saved-story-mode-tabs button{
  color:#c5d2ea!important;
}
.saved-story-mode-tabs button.active{
  background:linear-gradient(145deg,rgba(74,102,196,.78),rgba(123,108,215,.55))!important;
  color:#ffffff!important;
  box-shadow:0 6px 18px rgba(35,53,110,.28);
}
.saved-story-line{
  background:rgba(16,31,68,.92)!important;
  border-color:rgba(124,153,229,.18)!important;
}
.saved-story-line.target{
  background:linear-gradient(180deg,rgba(22,39,82,.96),rgba(17,31,66,.96))!important;
  border-color:rgba(131,111,232,.30)!important;
}
.saved-story-line b{color:#b49cff!important}
.saved-story-line div,
.saved-story-line-text{color:#f2f6ff!important}
.saved-story-line small{color:#aab9d8!important}
.saved-story-blank{
  background:rgba(91,73,178,.18)!important;
  border-color:rgba(179,159,255,.30)!important;
  color:#ddd2ff!important;
}
.saved-story-blank small{color:#c4b6eb!important}
.saved-story-blank.revealed{
  background:rgba(17,31,68,.96)!important;
  color:#f4f7ff!important;
}
.saved-story-teacher-details>summary,
.saved-story-summary{
  color:#f3f7ff!important;
}
.saved-story-summary small{color:#9fb1d7!important}
.saved-story-count{
  background:rgba(173,154,255,.18)!important;
  color:#efeaff!important;
}
@media(max-width:680px){
  .saved-story-flashcard{padding:16px 12px;min-height:240px}
  #savedStoryTitle{font-size:22px}
}

/* ===== v7.19.19 My Story premium redesign ===== */
.saved-story-section{
  margin-top:18px;
  border:1px solid rgba(97,127,214,.18);
  border-radius:22px;
  padding:16px 16px 18px;
  background:linear-gradient(180deg,rgba(9,22,58,.56),rgba(7,18,47,.35));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 14px 40px rgba(2,8,24,.18);
}
.saved-story-summary{
  padding:0 2px 4px;
  color:#f8fbff!important;
}
.saved-story-summary b{font-size:22px;letter-spacing:.01em}
.saved-story-summary small{font-size:11px!important;color:#9fb1d7!important;margin-top:4px}
.saved-story-count{
  background:linear-gradient(135deg,rgba(96,118,242,.24),rgba(157,94,255,.22))!important;
  border:1px solid rgba(174,154,255,.24);
  color:#f2ecff!important;
  font-size:11px;
  padding:6px 10px;
}
.saved-story-toolbar{margin:14px 0 10px;align-items:center}
.saved-story-toolbar .muted{color:#a8badc!important;font-size:14px}
.saved-story-toolbar-actions button{
  min-height:40px;
  border-radius:12px;
}
.saved-story-card-mode{gap:12px}
.saved-story-flashcard{
  position:relative;
  overflow:hidden;
  padding:22px 22px 18px!important;
  min-height:280px!important;
  border-radius:24px!important;
  background:
    radial-gradient(circle at top right,rgba(159,114,255,.18),transparent 32%),
    radial-gradient(circle at top left,rgba(64,145,255,.16),transparent 28%),
    linear-gradient(180deg,rgba(12,26,60,.98),rgba(7,18,46,.98))!important;
  border:1px solid rgba(118,145,224,.18)!important;
}
.saved-story-flashcard::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 28%);
}
.saved-story-card-label{font-size:11px!important;text-transform:uppercase}
#savedStoryTitle{
  font-size:30px!important;
  line-height:1.16;
  margin:6px 0 8px!important;
}
#savedStoryMeta{font-size:13px!important}
.saved-story-preview-message{
  margin-top:14px;
  padding:16px 18px;
  border-radius:16px;
  border:1px dashed rgba(138,160,224,.26);
  background:rgba(15,28,62,.56);
  color:#b9c8e4;
  text-align:center;
}
.saved-story-study{
  margin-top:18px!important;
  padding-top:18px!important;
  border-top:1px solid rgba(124,153,229,.18)!important;
}
.saved-story-mode-tabs{
  max-width:360px;
  margin:0 auto 14px;
  background:rgba(255,255,255,.08)!important;
}
.saved-story-body{display:flex;flex-direction:column;gap:14px!important}
.saved-story-turn{
  display:flex;align-items:flex-start;gap:12px;
}
.saved-story-turn.right{flex-direction:row-reverse}
.saved-story-avatar{
  flex:0 0 38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:15px;font-weight:900;color:#fff;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 10px 20px rgba(4,10,28,.25);
}
.saved-story-avatar.theme-0{background:linear-gradient(135deg,#588eff,#7a65ff)}
.saved-story-avatar.theme-1{background:linear-gradient(135deg,#00b7c9,#4f7cff)}
.saved-story-avatar.theme-2{background:linear-gradient(135deg,#8b7dff,#c158ff)}
.saved-story-avatar.theme-3{background:linear-gradient(135deg,#3cbf8a,#1b8cbd)}
.saved-story-bubble-wrap{display:flex;flex-direction:column;gap:6px;max-width:min(100%,640px)}
.saved-story-turn.right .saved-story-bubble-wrap{align-items:flex-end}
.saved-story-speaker-row{display:flex;align-items:center;gap:8px;padding:0 2px}
.saved-story-speaker-row b{font-size:12px!important;color:#d9cfff!important;letter-spacing:.02em}
.saved-story-target-badge{
  display:inline-flex;align-items:center;justify-content:center;
  padding:3px 8px;border-radius:999px;font-size:10px;font-weight:800;
  background:rgba(77,204,170,.14);color:#9ef2df;border:1px solid rgba(77,204,170,.20);
}
.saved-story-line{
  width:100%;padding:14px 16px!important;border-radius:18px!important;
  background:linear-gradient(180deg,rgba(17,33,72,.98),rgba(13,27,60,.98))!important;
  border:1px solid rgba(124,153,229,.18)!important;
}
.saved-story-turn.right .saved-story-line{
  background:linear-gradient(180deg,rgba(28,36,83,.98),rgba(19,28,70,.98))!important;
}
.saved-story-line.target{
  border-color:rgba(126,217,198,.28)!important;
  box-shadow:inset 0 0 0 1px rgba(108,202,181,.06);
}
.saved-story-line-text{font-size:16px!important;line-height:1.6;color:#f8fbff!important}
.saved-story-line small{margin-top:8px!important;font-size:13px!important;line-height:1.45;color:#a7b8d7!important}
.saved-story-blank{
  min-height:64px!important;justify-content:center!important;
  border-radius:14px!important;background:rgba(93,76,177,.16)!important;
}
.saved-story-blank span{font-size:14px!important}
.saved-story-blank small{font-size:10px!important}
.saved-story-card-actions{
  grid-template-columns:1fr 1fr 1fr;
  gap:10px!important;
  margin-top:14px!important;
}
.saved-story-card-actions button{
  min-height:48px;
  border-radius:14px;
  font-size:14px;
}
.saved-story-teacher-details{
  margin-top:14px!important;
  background:rgba(12,26,60,.66)!important;
  border:1px solid rgba(124,153,229,.18)!important;
}
.saved-story-teacher-details>summary{
  background:rgba(255,255,255,.04)!important;
  color:#f3f6ff!important;
}
.saved-story-teacher-details p,.saved-story-teacher-details .tiny{color:#aec0de!important}
@media (max-width: 860px){
  .saved-story-section{padding:14px}
  .saved-story-flashcard{padding:18px 14px 16px!important;min-height:250px!important}
  #savedStoryTitle{font-size:24px!important}
}
@media (max-width: 640px){
  .saved-story-toolbar{flex-direction:column;align-items:stretch}
  .saved-story-toolbar-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .saved-story-turn,.saved-story-turn.right{flex-direction:row;gap:10px}
  .saved-story-turn.right .saved-story-bubble-wrap{align-items:flex-start}
  .saved-story-avatar{flex-basis:34px;height:34px;font-size:14px}
  .saved-story-line{padding:12px 13px!important;border-radius:16px!important}
  .saved-story-line-text{font-size:15px!important}
  .saved-story-line small{font-size:12px!important}
  .saved-story-card-actions{grid-template-columns:1fr 1fr}
  .saved-story-card-actions button:last-child{grid-column:1/-1}
}

/* ===== v7.19.20 Story premium cards / tabs ===== */
.saved-story-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:12px;
  margin:6px 0 14px;
}
.saved-story-thumb-card{
  text-align:left;cursor:pointer;position:relative;overflow:hidden;
  padding:12px;min-height:156px;border-radius:18px;
  background:linear-gradient(180deg,rgba(14,28,64,.92),rgba(8,19,47,.92));
  border:1px solid rgba(116,140,221,.18);
  box-shadow:0 12px 30px rgba(4,10,28,.16), inset 0 1px 0 rgba(255,255,255,.03);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.saved-story-thumb-card:hover{transform:translateY(-2px);border-color:rgba(145,121,245,.34)}
.saved-story-thumb-card.active{border-color:rgba(119,170,255,.42);box-shadow:0 16px 36px rgba(8,16,44,.28), inset 0 0 0 1px rgba(147,123,255,.18)}
.saved-story-thumb-visual{
  padding:12px;border-radius:14px;margin-bottom:10px;
  background:radial-gradient(circle at top right,rgba(158,97,255,.18),transparent 34%),linear-gradient(180deg,rgba(19,35,79,.96),rgba(13,24,59,.96));
  border:1px solid rgba(119,144,220,.14);
}
.saved-story-thumb-badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.saved-story-thumb-tag,.saved-story-thumb-mark{display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;border-radius:999px;font-size:10px;font-weight:800}
.saved-story-thumb-tag{background:rgba(95,122,255,.12);color:#dbe5ff;border:1px solid rgba(127,151,233,.16)}
.saved-story-thumb-mark{background:rgba(93,212,183,.12);color:#a6f0df;border:1px solid rgba(93,212,183,.16)}
.saved-story-thumb-avatars{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-start;margin-bottom:12px}
.saved-story-thumb-avatar-wrap{display:flex;align-items:center;gap:6px;min-width:0}
.saved-story-thumb-name{font-size:11px;color:#cfdaf4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:72px}
.saved-story-thumb-lines{display:flex;flex-direction:column;gap:6px}
.saved-story-thumb-lines span{height:6px;border-radius:999px;background:linear-gradient(90deg,rgba(110,132,216,.55),rgba(110,132,216,.08))}
.saved-story-thumb-lines span.short{width:64%}
.saved-story-thumb-content{display:flex;flex-direction:column;gap:4px}
.saved-story-thumb-title{font-size:15px;font-weight:900;color:#f7fbff;line-height:1.35}
.saved-story-thumb-meta{font-size:11px;color:#96aad0}
.saved-story-thumb-preview{font-size:12px;color:#c4d2eb;line-height:1.45}
.saved-story-avatar{
  position:relative;flex:0 0 40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  color:#fff;border:1px solid rgba(255,255,255,.12);box-shadow:0 10px 20px rgba(4,10,28,.25);overflow:hidden;
}
.saved-story-avatar.mini{flex-basis:28px;height:28px;min-width:28px}
.saved-story-avatar .saved-story-avatar-icon{position:absolute;inset:auto auto 8px 8px;font-size:14px;opacity:.96}
.saved-story-avatar.mini .saved-story-avatar-icon{inset:auto auto 4px 5px;font-size:10px}
.saved-story-avatar .saved-story-avatar-letter{position:absolute;right:8px;top:7px;font-size:11px;font-weight:900;opacity:.86}
.saved-story-avatar.mini .saved-story-avatar-letter{right:5px;top:4px;font-size:8px}
.saved-story-avatar.theme-aya{background:linear-gradient(135deg,#9e62ff,#4b86ff)}
.saved-story-avatar.theme-ken{background:linear-gradient(135deg,#00b6c9,#3a83ff)}
.saved-story-avatar.theme-emma{background:linear-gradient(135deg,#ff7ac8,#a35bff)}
.saved-story-avatar.theme-luna{background:linear-gradient(135deg,#1dd4a1,#2676ff)}
.saved-story-avatar.theme-hero{background:linear-gradient(135deg,#7186ff,#8d5cff)}
#savedStoryTitle{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.saved-story-cast-strip{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.saved-story-cast-chip{display:inline-flex;align-items:center;gap:8px;padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(128,153,225,.18);color:#d8e2fa;font-size:12px;font-weight:700}
.saved-story-mode-tabs{
  display:grid!important;grid-template-columns:1fr 1fr;gap:6px;padding:6px!important;
  border-radius:18px!important;background:linear-gradient(180deg,rgba(16,30,67,.92),rgba(14,23,57,.92))!important;border:1px solid rgba(123,150,226,.16)!important;
}
.saved-story-mode-tabs button{
  min-height:44px;border-radius:13px!important;border:0!important;background:transparent!important;color:#9fb3da!important;font-size:15px;font-weight:800;letter-spacing:.01em;transition:all .16s ease;
}
.saved-story-mode-tabs button.active{
  color:#f7fbff!important;background:linear-gradient(90deg,#2f8bff,#9655ff)!important;box-shadow:0 8px 20px rgba(63,111,255,.24);
}
.saved-story-mode-tabs button:not(.active):hover{background:rgba(255,255,255,.05)!important;color:#dae6ff!important}
.saved-story-flashcard{padding-bottom:20px!important}
.saved-story-flashcard .primary#revealSavedStory{margin-top:12px}
@media (max-width:760px){
  .saved-story-list{grid-template-columns:1fr 1fr}
  .saved-story-cast-strip{width:100%;margin-left:0}
}
@media (max-width:560px){
  .saved-story-list{grid-template-columns:1fr}
  .saved-story-thumb-card{min-height:136px}
}

/* ===== v7.19.21 Quest image action consistency ===== */
.scene-cta-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.scene-cta-heading .scene-status-badge{margin:0}
.scene-cta-existing{
  background:linear-gradient(180deg,rgba(14,30,68,.76),rgba(9,22,54,.72))!important;
  border-color:rgba(103,143,235,.20)!important;
}
.scene-cta-existing .scene-create-btn.scene-remake-primary{
  background:linear-gradient(135deg,#318cff,#7b5cff 58%,#984aff)!important;
  color:#fff!important;
  border:1px solid rgba(153,137,255,.34)!important;
  box-shadow:0 10px 24px rgba(78,76,226,.24)!important;
  font-weight:900!important;
}
.scene-cta-existing .scene-create-btn.scene-remake-primary:hover{
  transform:translateY(-1px);
  box-shadow:0 13px 28px rgba(78,76,226,.31)!important;
}
.scene-cta-existing.is-generating .scene-create-btn{transform:none!important}
@media(max-width:680px){
  .scene-cta-heading{justify-content:flex-start}
  .scene-cta-existing .scene-create-btn.scene-remake-primary{width:100%}
}

/* ===== v7.19.22 Focus 3 readability / direct card access ===== */
.focus-english-list{
  display:grid;
  gap:10px;
  margin:14px 0 16px;
}
.focus-row.focus-row-clickable{
  width:100%;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 24px;
  gap:12px;
  align-items:center;
  padding:14px 16px;
  border-radius:15px;
  text-align:left;
  cursor:pointer;
  background:linear-gradient(180deg,rgba(18,35,77,.94),rgba(13,28,65,.94))!important;
  border:1px solid rgba(118,149,229,.18)!important;
  color:#f7f9ff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
  transition:transform .14s ease,border-color .14s ease,background .14s ease;
}
.focus-row.focus-row-clickable:hover{
  transform:translateY(-1px);
  border-color:rgba(127,118,245,.36)!important;
  background:linear-gradient(180deg,rgba(25,44,93,.98),rgba(18,31,72,.98))!important;
}
.focus-row.focus-row-clickable:active{transform:scale(.995)}
.focus-row .focus-rank{
  width:32px;height:32px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(135deg,#dcd7ff,#b7b0ff)!important;
  color:#4c3b91!important;font-size:13px;font-weight:900;
  box-shadow:0 6px 16px rgba(106,82,216,.20);
}
.focus-row-copy{display:flex;flex-direction:column;min-width:0;gap:3px}
.focus-row-copy b{
  display:block!important;
  font-size:16px!important;
  line-height:1.45!important;
  color:#ffffff!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.focus-row-jp{
  display:block;
  font-size:12px;
  line-height:1.4;
  color:#c7d5ed;
}
.focus-row-copy small{
  display:block;
  margin-top:2px;
  font-size:11px!important;
  line-height:1.35;
  color:#99add2!important;
}
.focus-open-icon{
  display:grid;place-items:center;
  width:24px;height:34px;
  color:#9fb7e8;font-size:26px;font-weight:400;
}
.focus-card #focusToCards{min-height:46px;border-radius:14px;font-size:13px}
@media(max-width:680px){
  .focus-row.focus-row-clickable{grid-template-columns:30px minmax(0,1fr) 20px;padding:12px 12px;gap:10px}
  .focus-row .focus-rank{width:28px;height:28px;font-size:12px}
  .focus-row-copy b{font-size:15px!important}
  .focus-row-jp{font-size:11px}
}

/* ===== v7.19.23 My English user sorting ===== */
.myenglish-sort-wrap{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  margin:12px 0 14px;padding:12px 14px;border-radius:15px;
  background:linear-gradient(180deg,rgba(13,27,62,.78),rgba(9,20,49,.78));
  border:1px solid rgba(112,143,222,.18);
}
.myenglish-sort-wrap label{display:flex;flex-direction:column;gap:3px;color:#eef4ff;font-size:12px;font-weight:850}
.myenglish-sort-wrap label small{color:#8fa3c8;font-size:9px;font-weight:550}
.myenglish-sort-wrap select{
  width:min(270px,46%);min-height:42px;margin:0;padding:0 38px 0 13px;
  border-radius:12px!important;background:#0a1838!important;color:#f5f8ff!important;
  border:1px solid rgba(126,158,237,.26)!important;font-weight:800;
}
.myenglish-sort-wrap select:focus{outline:none;border-color:rgba(113,151,255,.54)!important;box-shadow:0 0 0 3px rgba(86,115,229,.12)}
.sort-badge{white-space:nowrap}
@media(max-width:620px){
  .myenglish-sort-wrap{align-items:stretch;flex-direction:column;gap:8px}
  .myenglish-sort-wrap select{width:100%}
}

/* ===== v7.19.24 Listening answer reveal UX ===== */
.listening-result{
  margin-top:14px!important;
  padding:16px!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,rgba(14,29,66,.94),rgba(9,21,52,.96))!important;
  border:1px solid rgba(113,146,229,.22)!important;
}
.listening-result-headline{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.listening-result-label{font-size:13px;font-weight:800;color:#c4d2eb}
.listening-unanswered{
  display:inline-flex;align-items:center;justify-content:center;padding:7px 11px;border-radius:999px;
  background:rgba(111,76,20,.26);color:#ffe2a8;border:1px solid rgba(240,185,86,.26);font-weight:900;font-size:12px;
}
.listening-answer-card{display:grid;gap:12px;padding:14px;border-radius:14px;background:rgba(6,16,42,.58);border:1px solid rgba(112,143,219,.16)}
.listening-answer-card b{display:block;margin-bottom:4px;font-size:11px;color:#9eb3dd}
.listening-answer-card .english{font-size:18px;font-weight:900;line-height:1.45;color:#f7f9ff}
.listening-result-actions{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:8px;margin-top:12px}
.listening-result-actions button{min-height:44px;border-radius:12px}
@media(max-width:640px){.listening-result-actions{grid-template-columns:1fr 1fr}.listening-result-actions .primary{grid-column:1/-1}}

/* ===== v7.19.25 Focus 3 layout bug fix ===== */
/* Legacy .focus-row > span styled every direct span as the rank badge.
   Explicitly scope the compact badge styling to .focus-rank and keep the text column fluid. */
.focus-row.focus-row-clickable > .focus-row-copy{
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:inherit!important;
  display:flex!important;
  place-items:initial!important;
  font-size:inherit!important;
  font-weight:inherit!important;
  overflow:visible!important;
}
.focus-row.focus-row-clickable > .focus-open-icon{
  width:24px!important;
  height:34px!important;
  min-width:24px!important;
  border-radius:0!important;
  background:transparent!important;
  color:#9fb7e8!important;
  display:grid!important;
  place-items:center!important;
  font-size:26px!important;
  font-weight:400!important;
}
.focus-row.focus-row-clickable{
  min-height:74px;
  height:auto!important;
  overflow:visible!important;
}
.focus-row-copy b,.focus-row-jp,.focus-row-copy small{
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
}
@media(max-width:680px){
  .focus-row.focus-row-clickable{min-height:70px;align-items:start}
  .focus-row.focus-row-clickable > .focus-open-icon{align-self:center}
}

/* ===== v9.1 Appearance Studio ===== */
:root{
  --user-font-scale:1;
  --user-space-scale:1;
  --user-accent-h:220;
  --user-accent-s:72%;
  --user-accent:hsl(var(--user-accent-h) var(--user-accent-s) 58%);
  --user-accent-strong:hsl(var(--user-accent-h) var(--user-accent-s) 50%);
  --user-accent-soft:hsl(var(--user-accent-h) var(--user-accent-s) 66% / .18);
}
html[data-ui-font="custom"]{
  --ui-base-font:calc(13px * var(--user-font-scale));
  --ui-small-font:calc(11px * var(--user-font-scale));
  --ui-english-font:calc(18px * var(--user-font-scale));
}
#app .card{padding:calc(16px * var(--user-space-scale));}
#app .home-section-panel{gap:calc(12px * var(--user-space-scale));}
#app button,#app input,#app textarea,#app select{min-height:calc(42px * max(.92,var(--user-space-scale)));}
#app .primary{background:linear-gradient(135deg,var(--user-accent-strong),hsl(calc(var(--user-accent-h) + 28) var(--user-accent-s) 52%))!important;}
#app .badge,#app .eyebrow,.appearance-preview>span{color:var(--user-accent)!important;}
.appearance-settings-card{overflow:hidden}
.appearance-settings-intro{display:grid;gap:6px}
.appearance-settings-intro>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.appearance-preset-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.appearance-preset-grid button{min-height:58px;display:grid;place-items:center;gap:2px;padding:8px;background:rgba(8,19,46,.88)!important;border:1px solid rgba(112,145,222,.22)!important;color:var(--text)!important}
.appearance-preset-grid button span{font-size:9px;color:var(--muted)}
.appearance-preset-grid button.active{border-color:color-mix(in srgb,var(--user-accent) 65%,white 12%)!important;background:var(--user-accent-soft)!important;box-shadow:inset 0 0 0 1px var(--user-accent-soft)}
.appearance-advanced{margin-top:14px;border-top:1px solid rgba(112,145,222,.16);padding-top:10px}
.appearance-advanced>summary{cursor:pointer;font-weight:900;color:var(--text);padding:7px 0}
.appearance-slider-group{margin-top:16px}
.appearance-slider-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.appearance-slider-head label{font-weight:800;color:var(--text)}
.appearance-slider-head output{min-width:70px;text-align:right;font-weight:900;color:var(--user-accent)}
.appearance-slider-group input[type="range"]{width:100%;min-height:32px;accent-color:var(--user-accent-strong)}
.appearance-slider-group .hue-slider{accent-color:hsl(var(--user-accent-h) 78% 55%)}
.appearance-range-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin-top:1px}
.appearance-setting-group.compact-group{margin-top:14px}
.appearance-preview{border-color:var(--user-accent-soft);box-shadow:inset 0 0 28px var(--user-accent-soft)}
.appearance-preview button{justify-self:start;pointer-events:none;margin-top:5px}
.appearance-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
@media(max-width:680px){.appearance-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.appearance-preset-grid button:last-child{grid-column:span 2}}

/* v9.2 Layout Studio */
.layout-studio-card{margin-top:14px;padding:15px;border-radius:16px;background:rgba(7,16,39,.7);border:1px solid rgba(112,145,222,.16)}
.layout-studio-intro{display:grid;gap:6px}.layout-studio-intro>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.layout-studio-intro p{margin:0;line-height:1.55}
.layout-studio-list{display:grid;gap:10px;margin-top:16px}.layout-control-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px;border:1px solid rgba(112,145,222,.18);border-radius:14px;background:rgba(5,13,33,.7)}
.layout-control-copy{display:grid;gap:3px;min-width:0}.layout-control-copy small{color:var(--muted);line-height:1.4}.layout-lock{font-size:9px;font-weight:900;color:var(--user-accent);letter-spacing:.08em}
.layout-control-actions{display:flex;align-items:center;gap:7px}.layout-move-buttons{display:flex;gap:4px}.layout-move-buttons button,.layout-size-choice button,.layout-visibility{min-width:42px;min-height:40px;border-radius:11px;border:1px solid rgba(112,145,222,.24);background:rgba(10,24,57,.92);color:var(--text);font-weight:900}.layout-move-buttons button:disabled{opacity:.28}.layout-visibility.is-on,.layout-size-choice button.active{border-color:var(--user-accent);background:var(--user-accent-soft);color:var(--user-accent)}.layout-visibility.is-off{color:var(--muted)}.layout-required-state{font-size:10px;font-weight:900;color:var(--user-accent)}
.layout-size-choice{grid-column:1/-1;display:flex;gap:6px}.layout-size-choice button{flex:1;min-height:36px}
.layout-studio-preview{margin-top:16px;padding:12px;border-radius:14px;border:1px dashed rgba(112,145,222,.26)}.layout-studio-preview>small{font-size:9px;font-weight:900;letter-spacing:.14em;color:var(--user-accent)}.layout-preview-list{display:grid;gap:6px;margin-top:9px}.layout-preview-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 10px;border-radius:11px;background:rgba(8,19,46,.86);border:1px solid rgba(112,145,222,.15)}.layout-preview-item span{color:var(--user-accent)}.layout-preview-item small{color:var(--muted)}.layout-preview-item.size-compact{padding-block:6px;opacity:.82}.layout-preview-item.size-emphasis{padding-block:13px;border-color:var(--user-accent-soft)}.layout-studio-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:12px}
.today-layout-widget.today-widget-size-compact{--today-widget-scale:.9}.today-layout-widget.today-widget-size-standard{--today-widget-scale:1}.today-layout-widget.today-widget-size-emphasis{--today-widget-scale:1.08}.today-layout-widget.today-widget-size-compact:not(.quest-hero-card){padding:calc(12px * var(--user-space-scale))}.today-layout-widget.today-widget-size-compact:not(.quest-hero-card) h2{font-size:calc(.95em * var(--user-font-scale))}.today-layout-widget.today-widget-size-emphasis:not(.quest-hero-card){padding:calc(20px * var(--user-space-scale));border-color:var(--user-accent-soft)}
@media(max-width:520px){.layout-control-row{grid-template-columns:minmax(0,1fr)}.layout-control-actions{justify-content:space-between}.layout-size-choice{grid-column:auto}.layout-move-buttons button,.layout-visibility{min-height:44px}.layout-studio-actions{align-items:stretch}.layout-studio-actions button{width:100%}}
