/* v3.5.5 native-like PWA interaction: keep vertical scrolling, block browser-style zoom/selection. */
html,body,#appShell{touch-action:pan-y;overscroll-behavior-x:none;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body,body *{-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important;-webkit-user-drag:none;}
img,a,button{-webkit-user-drag:none;}
input,textarea,select,[contenteditable="true"],input *,textarea *,select *,[contenteditable="true"] *{-webkit-user-select:text!important;user-select:text!important;-webkit-touch-callout:default!important;-webkit-user-drag:auto;touch-action:manipulation;}
button,.btn,.answer-option,.match-tile,.memory-card,.mode-card,.quiz-skip-btn{touch-action:manipulation;}

:root{
  --brand:#6c5ce7;--brand-2:#8b7cf6;--ink:#182033;--muted:#6f7890;--bg:#f5f7fb;--card:#fff;--line:#e8ebf2;--success:#13b981;--danger:#ef5b68;--warning:#f5a623;--shadow:0 12px 36px rgba(35,42,72,.08);--radius:22px;--nav-h:74px
}
html[data-bs-theme="dark"]{--ink:#f3f5fb;--muted:#a9b1c7;--bg:#11131a;--card:#1a1e29;--line:#2a3040;--shadow:0 12px 36px rgba(0,0,0,.24)}
*{box-sizing:border-box} body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}.d-none{display:none!important}
.app-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 15%,rgba(108,92,231,.18),transparent 34%),radial-gradient(circle at 85% 85%,rgba(19,185,129,.12),transparent 30%),var(--bg)}
.auth-wrap{width:min(460px,100%)}.brand-lockup{display:flex;gap:14px;align-items:center}.brand-lockup h1{font-size:1.6rem;margin:0;font-weight:800}.brand-lockup p{margin:2px 0 0;color:var(--muted)}.brand-orb,.brand-mini span{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;color:#fff;font-weight:900;background:linear-gradient(135deg,var(--brand),#a66df2);box-shadow:0 10px 24px rgba(108,92,231,.3)}.auth-card{padding:22px}.demo-note{font-size:.84rem;color:var(--muted);background:rgba(108,92,231,.08);padding:10px 12px;border-radius:14px}
.form-control,.form-select{border-radius:14px;border-color:var(--line);padding:.78rem .92rem;background:var(--card);color:var(--ink)}.form-control:focus,.form-select:focus{border-color:var(--brand-2);box-shadow:0 0 0 .2rem rgba(108,92,231,.13)}.btn{border-radius:14px;font-weight:700}.btn-brand{background:linear-gradient(135deg,var(--brand),#8d72ef);border:0;color:#fff}.btn-brand:hover,.btn-brand:focus{color:#fff;filter:brightness(.98);transform:translateY(-1px)}.btn-soft{background:rgba(108,92,231,.1);color:var(--brand);border:1px solid rgba(108,92,231,.12)}.btn-soft:hover{background:rgba(108,92,231,.16);color:var(--brand)}
.segmented{display:flex;background:rgba(127,136,157,.12);padding:4px;border-radius:16px;gap:3px}.segmented button{flex:1;border:0;background:transparent;border-radius:12px;padding:10px;color:var(--muted);font-weight:700}.segmented button.active{background:var(--card);color:var(--ink);box-shadow:0 4px 14px rgba(20,28,45,.08)}
.app-shell{min-height:100vh}.desktop-sidebar{display:none}.app-main{min-height:100vh;padding-bottom:calc(var(--nav-h) + 24px)}.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:18px 18px 12px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(16px)}.topbar small{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:.66rem;font-weight:800}.topbar h2{font-size:1.55rem;margin:2px 0 0;font-weight:850}.top-actions{display:flex;align-items:center;gap:10px}.icon-btn{width:42px;height:42px;border:1px solid var(--line);background:var(--card);border-radius:14px;color:var(--ink);font-size:1.1rem}.avatar{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#1f2937,#556078);color:#fff;font-weight:850}.avatar.sm{width:38px;height:38px;border-radius:13px}.avatar.xl{width:70px;height:70px;border-radius:24px;font-size:1.5rem}
.view-container{padding:10px 16px 26px;max-width:1180px;margin:0 auto}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding:7px 8px env(safe-area-inset-bottom);display:flex;justify-content:space-around;background:color-mix(in srgb,var(--card) 94%,transparent);border-top:1px solid var(--line);backdrop-filter:blur(18px);z-index:30}.app-nav-item{flex:1;max-width:92px;border:0;background:transparent;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:16px}.app-nav-item span{font-size:1.2rem}.app-nav-item small{font-size:.68rem;font-weight:750}.app-nav-item.active{color:var(--brand);background:rgba(108,92,231,.09)}
.hero-card{padding:20px;display:flex;gap:16px;align-items:center;justify-content:space-between;background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 12%,var(--card)),var(--card))}.hero-card h3{font-size:1.3rem;margin:10px 0 6px;font-weight:850}.hero-card p{margin:0;color:var(--muted);line-height:1.45}.pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:rgba(108,92,231,.1);color:var(--brand);font-size:.68rem;font-weight:850;letter-spacing:.04em}.streak-badge{min-width:86px;display:grid;place-items:center;padding:13px;background:rgba(245,166,35,.12);border-radius:20px}.streak-badge span{font-size:1.5rem}.streak-badge strong{font-size:1.4rem}.streak-badge small{color:var(--muted)}
.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.mini-stat{padding:15px;display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}.mini-stat>span{grid-row:1/3;width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:rgba(108,92,231,.09)}.mini-stat strong{font-size:1.15rem}.mini-stat small{color:var(--muted);font-size:.75rem}.level-card{padding:16px}.progress-soft{height:9px;border-radius:999px;background:rgba(127,136,157,.17);overflow:hidden;margin-top:10px}.progress-soft i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),#a574f5);border-radius:999px;transition:width .35s ease}.progress-soft.sm{height:6px;margin:7px 0 3px}
.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:11px}.section-title small{color:var(--brand);font-size:.67rem;letter-spacing:.12em;font-weight:850}.section-title h3{font-size:1.18rem;margin:2px 0 0;font-weight:850}.section-title>span{color:var(--muted);font-size:.84rem}.quest-list{display:grid;gap:10px}.quest{padding:14px;display:flex;align-items:center;gap:12px;box-shadow:none}.quest-icon{width:38px;height:38px;border-radius:13px;background:rgba(19,185,129,.1);display:grid;place-items:center;color:var(--success);font-weight:900}.quest strong{font-size:.92rem}.quest .d-flex span{font-size:.76rem;color:var(--brand);font-weight:800}.quest small{color:var(--muted)}
.mode-grid{display:grid;gap:10px}.mode-card{border:1px solid var(--line);width:100%;padding:15px;text-align:left;display:grid;grid-template-columns:auto 1fr auto;column-gap:12px;row-gap:1px;align-items:center;color:var(--ink);transition:.18s ease}.mode-card:active{transform:scale(.985)}.mode-card .mode-icon{grid-row:1/3;width:46px;height:46px;border-radius:16px;background:rgba(108,92,231,.1);display:grid;place-items:center;font-size:1.15rem}.mode-card strong{align-self:end}.mode-card small{color:var(--muted);align-self:start}.mode-card i{grid-column:3;grid-row:1/3;font-size:1.6rem;color:var(--muted);font-style:normal}.learn-hero{padding:24px;text-align:center}.learn-visual{width:82px;height:82px;border-radius:28px;margin:0 auto 16px;display:grid;place-items:center;font-size:2.3rem;background:linear-gradient(135deg,rgba(108,92,231,.13),rgba(19,185,129,.12))}.learn-hero h3{font-weight:850;margin:12px 0 6px}.learn-hero p{color:var(--muted);max-width:560px;margin:auto}
.quiz-shell{max-width:720px;margin:0 auto}.quiz-progress{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;margin-bottom:14px}.close-quiz{width:38px;height:38px;border:0;background:transparent;font-size:1.7rem;color:var(--muted)}.quiz-progress .progress-soft{margin:0}.quiz-progress>span{font-size:.78rem;color:var(--muted);font-weight:750}.question-card{padding:22px;min-height:420px;position:relative}.question-type{font-size:.68rem;color:var(--brand);font-weight:900;letter-spacing:.12em}.question-card h3{font-size:1.08rem;margin:7px 0;color:var(--muted)}.word-prompt{font-size:clamp(2rem,10vw,3.6rem);font-weight:900;line-height:1.05;margin:34px 0 18px;overflow-wrap:anywhere}.question-helper{color:var(--muted)}.speech-btn,.speak-mini{border:0;background:rgba(108,92,231,.1);color:var(--brand);border-radius:13px;padding:9px 12px;font-weight:750}.speak-mini{padding:6px 8px;margin-right:6px}.hint-box{margin-top:15px;color:var(--muted)}.hint-box summary{cursor:pointer;font-weight:750}.hint-box p{margin:8px 0 0}.answer-grid{display:grid;gap:10px;margin-top:28px}.answer-option{border:1px solid var(--line);border-radius:16px;background:var(--card);color:var(--ink);padding:15px;text-align:left;font-weight:750;transition:.16s ease}.answer-option:hover{border-color:var(--brand-2);background:rgba(108,92,231,.06)}.answer-option:active{transform:scale(.985)}.input-answer-wrap{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:32px}.answer-input{font-size:1.05rem}.matching-grid{display:grid;gap:10px;margin-top:18px}.match-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:15px}.match-word{font-weight:800;overflow-wrap:anywhere}.feedback-sheet{margin-top:12px;padding:14px;border-radius:20px;display:flex;gap:12px;align-items:center;transform:translateY(12px);opacity:0;transition:.22s ease}.feedback-sheet.show{transform:none;opacity:1}.feedback-sheet.correct{background:rgba(19,185,129,.12);border:1px solid rgba(19,185,129,.25)}.feedback-sheet.wrong{background:rgba(239,91,104,.11);border:1px solid rgba(239,91,104,.2)}.feedback-icon{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:900;background:var(--card)}.feedback-sheet strong{display:block}.feedback-sheet small{display:block;color:var(--muted);margin-top:4px}.xp-pop{display:inline-block;color:var(--brand);font-weight:900;margin-left:8px}.question-loader{min-height:420px;display:grid;place-items:center;align-content:center;gap:14px;color:var(--muted)}.pulse-orb{width:56px;height:56px;border-radius:20px;background:linear-gradient(135deg,var(--brand),#a574f5);animation:pulse 1s infinite alternate}@keyframes pulse{to{transform:scale(.82);opacity:.55}}
.result-card{max-width:560px;margin:20px auto;padding:26px;text-align:center}.result-ring{--p:0;width:130px;height:130px;border-radius:50%;margin:0 auto 18px;display:grid;place-items:center;background:conic-gradient(var(--brand) calc(var(--p)*1%),rgba(127,136,157,.16) 0);position:relative}.result-ring:after{content:"";position:absolute;inset:12px;border-radius:50%;background:var(--card)}.result-ring span{position:relative;z-index:1;font-size:1.5rem;font-weight:900}.result-card h3{font-weight:900;margin:12px 0 5px}.result-card p{color:var(--muted)}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.result-stats>div{padding:12px;border-radius:15px;background:rgba(127,136,157,.08)}.result-stats strong,.result-stats small{display:block}.result-stats small{color:var(--muted)}
.leaderboard-list{display:grid;gap:9px}.leader-row{padding:12px;display:flex;align-items:center;gap:10px;box-shadow:none}.leader-row.me{border-color:rgba(108,92,231,.4);background:rgba(108,92,231,.05)}.rank{width:34px;text-align:center;font-weight:900;color:var(--muted)}.rank.top{color:var(--warning);font-size:1.15rem}.leader-row strong,.leader-row small{display:block}.leader-row small{color:var(--muted)}.leader-xp{text-align:right}.leader-xp small{font-size:.65rem}.profile-head{padding:18px;display:flex;align-items:center;gap:14px}.profile-head h3{margin:0;font-weight:850}.profile-head p{margin:3px 0 0;color:var(--muted)}.security-warning{padding:12px;border-radius:14px;background:rgba(245,166,35,.12);color:#9a6400;font-size:.84rem}
.admin-tabs{display:flex;gap:7px;overflow:auto;padding-bottom:4px;margin-bottom:14px}.admin-tabs button{white-space:nowrap;border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:13px;padding:9px 13px;font-weight:750}.admin-tabs button.active{background:var(--brand);border-color:var(--brand);color:#fff}.admin-grid{display:grid;gap:12px}.admin-grid>.app-card{padding:17px}.chart-wrap{height:280px}.compact-list{display:grid}.compact-list>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.compact-list>div:last-child{border-bottom:0}.compact-list strong,.compact-list small{display:block}.compact-list small,.muted{color:var(--muted)}.compact-list b{color:var(--brand)}.app-table{--bs-table-bg:transparent;--bs-table-color:var(--ink);--bs-table-border-color:var(--line);margin:0}.app-table th{font-size:.72rem;text-transform:uppercase;color:var(--muted);letter-spacing:.06em}.app-table td small{display:block;color:var(--muted)}.admin-toolbar{padding:14px;display:flex;gap:10px;flex-wrap:wrap;align-items:end}.admin-toolbar>div{min-width:180px}.import-row{display:flex;gap:8px;margin:12px 0}.tag-cloud{display:flex;flex-wrap:wrap;gap:7px}.tag-cloud span{background:rgba(108,92,231,.08);color:var(--brand);border-radius:999px;padding:6px 9px;font-size:.78rem}.user-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.toast-host{position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:2000;width:min(92vw,440px);display:grid;gap:8px}.app-toast{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:11px 13px;display:flex;gap:9px;align-items:center;transform:translateY(-12px);opacity:0;transition:.2s}.app-toast.show{transform:none;opacity:1}.app-toast>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(108,92,231,.1);color:var(--brand);font-weight:900}.app-toast.success>span{background:rgba(19,185,129,.12);color:var(--success)}.app-toast.error>span{background:rgba(239,91,104,.11);color:var(--danger)}.error-card{padding:16px;display:flex;gap:12px;align-items:start}.error-card>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(239,91,104,.11);color:var(--danger);font-weight:900}.error-card strong{display:block}.error-card p{margin:4px 0 0;color:var(--muted)}.skeleton-stack{display:grid;gap:12px}.skeleton-stack div{height:120px;border-radius:var(--radius);background:linear-gradient(90deg,var(--card),color-mix(in srgb,var(--card) 70%,var(--line)),var(--card));background-size:220% 100%;animation:shimmer 1.2s infinite}@keyframes shimmer{to{background-position:-220% 0}}.empty-state{padding:32px;text-align:center;color:var(--muted)}
.app-modal{border-radius:24px;border-color:var(--line);background:var(--card);color:var(--ink)}.modal-header{border-color:var(--line)}
@media (min-width:760px){.stat-grid{grid-template-columns:repeat(4,1fr)}.mode-grid{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:1.35fr 1fr}.view-container{padding-left:22px;padding-right:22px}.question-card{padding:30px}.answer-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1040px){.app-shell{display:grid;grid-template-columns:240px 1fr}.desktop-sidebar{display:flex;position:sticky;top:0;height:100vh;flex-direction:column;padding:20px 14px;border-right:1px solid var(--line);background:var(--card)}.brand-mini{display:flex;align-items:center;gap:10px;padding:4px 8px 22px}.brand-mini span{width:40px;height:40px;border-radius:13px}.brand-mini strong{font-size:1.05rem}.desktop-sidebar nav{display:grid;gap:5px}.nav-link-like{border:0;background:transparent;color:var(--muted);border-radius:13px;padding:11px 12px;text-align:left;font-weight:750;display:flex;align-items:center;gap:10px}.nav-link-like.active{background:rgba(108,92,231,.1);color:var(--brand)}.nav-link-like.danger{margin-top:auto;color:var(--danger)}.bottom-nav{display:none}.app-main{padding-bottom:20px}.topbar{padding-left:28px;padding-right:28px}.view-container{padding:14px 28px 30px}.admin-kpis{grid-template-columns:repeat(4,1fr)}}
@media (max-width:520px){.hero-card{align-items:flex-start}.streak-badge{min-width:74px}.hero-card p{font-size:.9rem}.question-card{min-height:390px}.match-row{grid-template-columns:1fr}.feedback-sheet{align-items:flex-start;flex-wrap:wrap}.feedback-sheet .btn{width:100%}.input-answer-wrap{grid-template-columns:1fr}.input-answer-wrap .btn{height:48px}.import-row{flex-direction:column}.admin-toolbar{display:grid}.admin-toolbar>div{min-width:0}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* === LinguaForge 2.0 adaptive test UX === */
.adaptive-card{padding:16px}.adaptive-card small{display:block;color:var(--brand);font-size:.68rem;font-weight:900;letter-spacing:.1em}.adaptive-card strong{display:block;font-size:1.05rem;margin-top:2px}.adaptive-card>div>span{font-size:.78rem;color:var(--muted)}.adaptive-card p{font-size:.82rem;color:var(--muted);margin:10px 0 0;line-height:1.4}

body.quiz-active{overflow:hidden;overscroll-behavior:none}body.quiz-active .topbar,body.quiz-active .bottom-nav,body.quiz-active .desktop-sidebar{display:none!important}body.quiz-active .app-shell{display:block!important;min-height:100dvh}body.quiz-active .app-main{height:100dvh;min-height:0;padding:0}body.quiz-active .view-container{height:100dvh;max-width:none;padding:max(10px,env(safe-area-inset-top)) 12px max(10px,env(safe-area-inset-bottom));overflow:hidden}body.quiz-active .quiz-shell{height:100%;max-width:760px;display:flex;flex-direction:column;margin:0 auto}.quiz-progress{flex:0 0 auto;margin-bottom:8px}.question-card{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;padding:18px 18px 20px;scrollbar-width:thin}.question-headline{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.level-chip{min-width:38px;text-align:center;border-radius:999px;padding:5px 9px;background:rgba(108,92,231,.1);color:var(--brand);font-size:.7rem;font-weight:900}.recovery-badge{display:inline-flex;margin-top:8px;padding:7px 10px;border-radius:999px;background:rgba(245,166,35,.13);color:#a16900;font-size:.75rem;font-weight:800}.visual-memory-card{width:min(180px,46vw);aspect-ratio:1;margin:14px auto 8px;border-radius:34px;display:grid;place-items:center;font-size:clamp(4.5rem,18vw,7rem);background:radial-gradient(circle at 35% 25%,rgba(255,255,255,.8),transparent 28%),linear-gradient(135deg,rgba(108,92,231,.16),rgba(19,185,129,.16));box-shadow:inset 0 0 0 1px var(--line),0 12px 34px rgba(35,42,72,.08);animation:visualFloat 2.4s ease-in-out infinite alternate}.context-prompt{font-size:clamp(1.35rem,6vw,2.15rem);line-height:1.25;margin-top:22px}.choice-grid{margin-top:18px}.answer-option{min-height:58px;display:flex;align-items:center;gap:12px;padding:13px 14px;font-size:.97rem;box-shadow:0 3px 0 color-mix(in srgb,var(--line) 85%,transparent);transform:translateY(0)}.answer-option:disabled{opacity:1}.option-key{width:30px;height:30px;flex:0 0 30px;border-radius:10px;display:grid;place-items:center;background:rgba(127,136,157,.11);color:var(--muted);font-size:.75rem;font-weight:900}.answer-option.option-pending{transform:scale(.985);opacity:.75}.answer-option.option-correct{border-color:rgba(19,185,129,.7);background:rgba(19,185,129,.13);color:var(--ink);box-shadow:0 3px 0 rgba(19,185,129,.35)}.answer-option.option-correct .option-key{background:var(--success);color:#fff}.answer-option.option-wrong{border-color:rgba(239,91,104,.72);background:rgba(239,91,104,.11);box-shadow:0 3px 0 rgba(239,91,104,.3)}.answer-option.option-wrong .option-key{background:var(--danger);color:#fff}.match-emoji{margin-right:5px}.success-pulse{animation:successPulse .45s ease}.wrong-shake{animation:wrongShake .38s ease}

.feedback-overlay{position:fixed;inset:0;z-index:5000;display:flex;align-items:flex-end;justify-content:center}.feedback-backdrop{position:absolute;inset:0;background:rgba(10,14,24,.35);backdrop-filter:blur(2px);animation:fadeIn .18s ease}.feedback-dock{position:relative;width:min(760px,100%);max-height:min(62dvh,560px);overflow:auto;background:var(--card);border:1px solid var(--line);border-bottom:0;border-radius:28px 28px 0 0;padding:8px 16px calc(14px + env(safe-area-inset-bottom));box-shadow:0 -18px 55px rgba(15,23,42,.18);animation:dockUp .24s cubic-bezier(.2,.85,.25,1)}.feedback-grabber{width:42px;height:5px;background:rgba(127,136,157,.28);border-radius:999px;margin:2px auto 12px}.feedback-title{display:flex;align-items:center;gap:11px;margin-bottom:12px}.feedback-title>div{min-width:0;flex:1}.feedback-title strong,.feedback-title small{display:block}.feedback-title strong{font-size:1.15rem;font-weight:900}.feedback-title small{color:var(--muted);margin-top:2px;white-space:normal}.feedback-title>b{color:var(--success);font-size:1rem}.feedback-big-icon{width:44px;height:44px;flex:0 0 44px;border-radius:15px;display:grid;place-items:center;font-size:1.35rem;font-weight:950}.feedback-overlay.correct .feedback-big-icon{background:rgba(19,185,129,.13);color:var(--success)}.feedback-overlay.wrong .feedback-big-icon{background:rgba(239,91,104,.11);color:var(--danger)}.memory-example{padding:10px 12px;border-radius:14px;background:rgba(127,136,157,.08);color:var(--muted);font-size:.82rem;line-height:1.4;margin:8px 0 10px}.adaptive-mini,.adaptive-result{padding:9px 11px;border-radius:13px;background:rgba(108,92,231,.08);color:var(--muted);font-size:.78rem;margin-bottom:12px}.adaptive-mini strong,.adaptive-result strong{color:var(--brand)}
.contrast-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.contrast-card{min-width:0;padding:10px;border-radius:17px;border:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center}.contrast-card>span{grid-row:1/4;font-size:1.8rem}.contrast-card small{font-size:.58rem;letter-spacing:.08em;font-weight:900;color:var(--muted)}.contrast-card strong,.contrast-card b{overflow-wrap:anywhere}.contrast-card strong{font-size:.9rem}.contrast-card b{font-size:.75rem;color:var(--muted);font-weight:700}.contrast-card.good{background:rgba(19,185,129,.08);border-color:rgba(19,185,129,.22)}.contrast-card.bad{background:rgba(239,91,104,.07);border-color:rgba(239,91,104,.18)}.micro-recovery{margin:10px 0 12px}.micro-recovery>small{display:block;color:var(--brand);font-size:.62rem;font-weight:900;letter-spacing:.11em}.micro-recovery>strong{display:block;margin:3px 0 8px}.recovery-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.recovery-options button{min-height:48px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink);font-weight:800;padding:10px}.recovery-options button.recovery-correct{background:rgba(19,185,129,.13);border-color:var(--success)}.recovery-options button.recovery-wrong{animation:wrongShake .32s ease;background:rgba(239,91,104,.09);border-color:var(--danger)}.recovery-status{font-size:.73rem;color:var(--muted);margin-top:7px}.correction-dock .feedback-next{margin-top:2px}
.confetti-host{position:fixed;left:50%;top:35%;width:1px;height:1px;z-index:6000;pointer-events:none}.confetti-host i{position:absolute;font-style:normal;font-size:.9rem;color:var(--brand);animation:confettiBurst .95s ease-out var(--d) both}.confetti-host i:nth-child(3n){color:var(--success)}.confetti-host i:nth-child(3n+1){color:var(--warning)}.confetti-host i:nth-child(4n){color:var(--danger)}

@keyframes dockUp{from{transform:translateY(105%);opacity:.5}to{transform:none;opacity:1}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes wrongShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-7px)}50%{transform:translateX(6px)}75%{transform:translateX(-3px)}}@keyframes successPulse{0%{transform:scale(1)}45%{transform:scale(1.012)}100%{transform:scale(1)}}@keyframes visualFloat{to{transform:translateY(-4px) rotate(1deg)}}@keyframes confettiBurst{0%{transform:translate(0,0) rotate(0);opacity:1}100%{transform:translate(var(--x),190px) rotate(var(--r));opacity:0}}

@media (max-width:520px){body.quiz-active .view-container{padding-left:8px;padding-right:8px}.question-card{padding:14px}.question-card h3{font-size:.9rem}.word-prompt{margin:20px 0 12px;font-size:clamp(1.85rem,11vw,3rem)}.context-prompt{font-size:clamp(1.2rem,6.4vw,1.75rem);margin-top:16px}.speech-btn{padding:7px 10px}.answer-grid.choice-grid{gap:8px;margin-top:14px}.answer-option{min-height:54px;padding:10px 12px}.feedback-dock{max-height:68dvh;padding-left:12px;padding-right:12px}.contrast-grid{grid-template-columns:1fr 1fr}.contrast-card{grid-template-columns:1fr;text-align:center;justify-items:center}.contrast-card>span{grid-row:auto;font-size:1.5rem}.recovery-options{grid-template-columns:1fr 1fr}.visual-memory-card{width:min(145px,38vw);border-radius:28px;font-size:4.6rem}}
@media (max-height:680px) and (max-width:700px){.visual-memory-card{width:110px;font-size:3.6rem;margin:6px auto}.word-prompt{margin:12px 0 8px}.question-helper{margin-bottom:6px}.answer-option{min-height:48px}.feedback-dock{max-height:74dvh}}

/* v2 admin adaptive profile */
.adaptive-admin-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.learning-profile-strip{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.learning-profile-strip span{background:var(--soft,#f1f3f8);border-radius:999px;padding:8px 11px;font-size:.82rem}.confusion-list{display:grid;gap:8px}.confusion-list>div{display:grid;grid-template-columns:1fr auto 1fr auto;align-items:center;gap:8px;border:1px solid var(--line,#e6e8ef);border-radius:14px;padding:10px 12px}.confusion-list span{display:flex;flex-direction:column}.confusion-list small{opacity:.68}.confusion-list em{font-style:normal;font-weight:800}.confusion-list b{opacity:.45}
@media(max-width:575px){.adaptive-admin-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.confusion-list>div{grid-template-columns:1fr auto 1fr}.confusion-list em{grid-column:1/-1;text-align:right;font-size:.8rem}}
.memory-hook{margin-top:9px;border-radius:14px;padding:10px 12px;background:rgba(108,92,231,.10);font-size:.88rem;font-weight:750;line-height:1.35}

/* === LinguaForge 2.0.1 quiz exit UX === */
.feedback-dock-top{position:relative;min-height:32px;display:flex;align-items:center;justify-content:center;margin-bottom:4px}.feedback-dock-top .feedback-grabber{margin:0}.feedback-exit{position:absolute;right:0;top:-2px;min-height:34px;border:1px solid var(--line);border-radius:999px;background:rgba(127,136,157,.08);color:var(--muted);padding:5px 10px;font-size:.78rem;font-weight:850;display:inline-flex;align-items:center;gap:5px;z-index:2}.feedback-exit:active{transform:scale(.97)}
.quiz-exit-overlay{position:fixed;inset:0;z-index:8000;display:grid;place-items:center;padding:18px}.quiz-exit-backdrop{position:absolute;inset:0;background:rgba(10,14,24,.5);backdrop-filter:blur(3px)}.quiz-exit-card{position:relative;width:min(440px,100%);background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:0 24px 70px rgba(10,14,24,.28);text-align:center;animation:exitPop .18s ease}.quiz-exit-icon{width:52px;height:52px;border-radius:17px;margin:0 auto 12px;display:grid;place-items:center;background:rgba(239,91,104,.1);color:var(--danger);font-size:1.5rem;font-weight:900}.quiz-exit-card h3{font-size:1.22rem;font-weight:900;margin:0 0 8px}.quiz-exit-card p{color:var(--muted);font-size:.9rem;line-height:1.45;margin:0 0 17px}.quiz-exit-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.close-quiz{position:relative;z-index:5;border-radius:13px}.close-quiz:hover,.close-quiz:focus-visible{background:rgba(127,136,157,.1);outline:2px solid rgba(108,92,231,.25);outline-offset:1px}
@keyframes exitPop{from{transform:scale(.96);opacity:.4}to{transform:none;opacity:1}}
@media(max-width:520px){.feedback-exit span{display:inline}.quiz-exit-actions{grid-template-columns:1fr}.quiz-exit-card{padding:20px}.feedback-dock-top{min-height:36px}}

/* === LinguaForge v3 adaptive + shop + tap matching === */
.period-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.period-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:14px}.period-card>div:nth-child(2){min-width:0}.period-card strong,.period-card small{display:block}.period-card small{color:var(--muted);font-size:.75rem;margin:3px 0 8px}.period-icon{width:42px;height:42px;border-radius:14px;background:rgba(108,92,231,.09);display:grid;place-items:center;font-size:1.3rem}.claimed-badge{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(19,185,129,.14);color:var(--success);font-weight:950}
.shop-wallet{display:flex;justify-content:space-between;align-items:center;gap:16px;background:linear-gradient(135deg,rgba(108,92,231,.14),rgba(19,185,129,.08))}.shop-wallet small,.shop-wallet strong,.shop-wallet p{display:block}.shop-wallet strong{font-size:2rem;font-weight:950}.shop-wallet p{margin:4px 0 0;color:var(--muted);font-size:.85rem}.shop-wallet>span{font-size:3.2rem}.shop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.shop-item{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start}.shop-icon{font-size:2rem}.shop-item p{font-size:.78rem;color:var(--muted);margin:4px 0}.shop-item small{color:var(--muted)}.shop-item>b{white-space:nowrap}.shop-item .btn{grid-column:2/-1}.repair-banner{display:flex;gap:10px;align-items:center}.repair-banner small{display:block;color:var(--muted)}
.audio-orb{width:132px;height:132px;border:0;border-radius:50%;display:grid;place-items:center;align-content:center;gap:5px;margin:20px auto;background:radial-gradient(circle at 38% 30%,rgba(255,255,255,.92),transparent 25%),linear-gradient(145deg,rgba(108,92,231,.24),rgba(19,185,129,.22));box-shadow:0 16px 44px rgba(108,92,231,.18),inset 0 0 0 1px var(--line);color:var(--ink);animation:audioBreath 1.8s ease-in-out infinite alternate}.audio-orb span{font-size:2.6rem}.audio-orb small{font-weight:850;color:var(--muted)}@keyframes audioBreath{to{transform:scale(1.035);box-shadow:0 20px 52px rgba(108,92,231,.24),inset 0 0 0 1px var(--line)}}
.visual-memory-card.has-image{overflow:hidden;background:rgba(127,136,157,.06)}.visual-memory-card.has-image img{width:100%;height:100%;object-fit:cover;display:block}
.tap-match-board{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.match-col{display:grid;gap:9px}.match-tile{min-height:58px;border:1px solid var(--line);border-radius:16px;background:var(--card);color:var(--ink);padding:10px 12px;display:flex;align-items:center;gap:7px;justify-content:center;text-align:center;font-weight:850;box-shadow:0 2px 0 color-mix(in srgb,var(--line) 80%,transparent);transition:.16s ease}.match-tile.selected{border-color:var(--brand);background:rgba(108,92,231,.10);transform:scale(.985)}.match-tile.locked{border-color:rgba(19,185,129,.62);background:rgba(19,185,129,.13);color:var(--success);box-shadow:none;opacity:.78}.match-tile.pair-wrong{border-color:var(--danger);background:rgba(239,91,104,.10);animation:wrongShake .32s ease}.match-sound{font-size:.86rem;opacity:.7}.match-status{text-align:center;color:var(--muted);font-size:.8rem;margin-top:10px}
.mascot-toast{position:fixed;z-index:7500;right:max(14px,env(safe-area-inset-right));bottom:calc(98px + env(safe-area-inset-bottom));width:min(330px,calc(100vw - 28px));display:flex;align-items:flex-end;gap:8px;transform:translateY(20px);opacity:0;pointer-events:none;transition:.23s ease}.mascot-toast.show{transform:none;opacity:1}.mascot-toast img{width:82px;height:82px;object-fit:contain;filter:drop-shadow(0 10px 16px rgba(15,23,42,.14));animation:catBounce .7s ease}.mascot-toast div{background:var(--card);border:1px solid var(--line);box-shadow:0 12px 36px rgba(15,23,42,.14);border-radius:18px 18px 4px 18px;padding:10px 12px;font-size:.82rem;font-weight:800;line-height:1.35}@keyframes catBounce{0%{transform:translateY(8px) rotate(-4deg)}55%{transform:translateY(-5px) rotate(3deg)}100%{transform:none}}
.difficulty-live{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:9px;border-radius:13px;background:rgba(108,92,231,.07);font-size:.78rem}.difficulty-live span{padding:4px 7px;border-radius:999px;background:var(--card)}.admin-image-box{display:grid;grid-template-columns:88px 1fr;gap:10px;align-items:center;border:1px dashed var(--line);padding:10px;border-radius:16px}.admin-image-box>div{width:88px;height:72px;border-radius:12px;background:rgba(127,136,157,.08);display:grid;place-items:center;overflow:hidden;font-size:1.8rem}.admin-image-box img{width:100%;height:100%;object-fit:cover}.admin-image-box label{margin:0}.admin-image-box label small{display:block;color:var(--muted);font-size:.7rem;font-weight:500;margin-top:2px}.admin-image-box input{grid-column:2}
@media(max-width:680px){.period-grid,.shop-grid{grid-template-columns:1fr}.period-card{grid-template-columns:auto 1fr auto}.shop-item{grid-template-columns:auto 1fr auto}.tap-match-board{gap:7px}.match-col{gap:7px}.match-tile{min-height:54px;padding:8px;font-size:.87rem}.mascot-toast{bottom:calc(82px + env(safe-area-inset-bottom))}.admin-image-box{grid-template-columns:72px 1fr}.admin-image-box>div{width:72px;height:64px}}
body.quiz-active .mascot-toast{bottom:calc(18px + env(safe-area-inset-bottom))}
.profile-cat-badge{display:inline-flex;vertical-align:middle;align-items:center;gap:3px;margin-left:6px;padding:4px 7px;border-radius:999px;background:rgba(108,92,231,.10);color:var(--brand);font-size:.67rem;font-weight:900;white-space:nowrap}

/* LinguaForge 3.1 · Pati Brain / test sesi */
.quiz-progress{grid-template-columns:44px 1fr auto 42px}
.quiz-sound-toggle{width:38px;height:38px;border:1px solid var(--line);border-radius:13px;background:var(--card);color:var(--ink);display:grid;place-items:center;font-size:1rem;box-shadow:0 2px 0 color-mix(in srgb,var(--line) 85%,transparent);transition:.16s ease}
.quiz-sound-toggle:active{transform:translateY(1px);box-shadow:none}.quiz-sound-toggle.off{opacity:.62}
.brain-strip{flex:0 0 auto;display:grid;grid-template-columns:minmax(105px,1fr) 118px auto;align-items:center;gap:10px;padding:8px 11px;margin:0 0 8px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--card) 92%,var(--brand) 8%);box-shadow:0 4px 18px rgba(15,23,42,.05)}
.brain-label{display:flex;flex-direction:column;min-width:0}.brain-label span{font-size:.76rem;font-weight:900;white-space:nowrap}.brain-label small{font-size:.66rem;color:var(--muted);white-space:nowrap}
.brain-spark{width:118px;height:26px;overflow:visible}.brain-spark polyline{stroke:var(--brand);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.brain-spark circle{fill:var(--brand)}
.brain-score{display:flex;align-items:baseline;justify-content:flex-end;gap:2px}.brain-score b{font-size:1rem}.brain-score small{font-size:.62rem;color:var(--muted)}
.brain-mix{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap}.brain-mix span{font-size:.58rem;font-weight:850;color:var(--muted);background:rgba(127,136,157,.08);border-radius:999px;padding:3px 6px}
body.quiz-active .question-card{min-height:0}
@media(max-width:560px){.brain-strip{grid-template-columns:1fr 96px auto;gap:7px;padding:7px 9px}.brain-spark{width:96px}.brain-mix{display:none}.quiz-progress{gap:7px}.quiz-sound-toggle{width:36px;height:36px}.question-card{padding-top:14px}}

/* === LinguaForge 3.1.1 · ortak seviye, dinleme ipucu, PWA dokunma ve admin log === */
.mobile-logout-btn{min-height:42px;border:1px solid rgba(239,91,104,.22);background:rgba(239,91,104,.08);color:var(--danger);border-radius:14px;padding:0 11px;display:inline-flex;align-items:center;gap:5px;font-weight:850}.mobile-logout-btn small{font-size:.72rem;text-transform:none;letter-spacing:0;color:inherit}.mobile-logout-btn:active{transform:scale(.97)}
@media(min-width:1040px){.mobile-logout-btn{display:none}}
@media(max-width:390px){.mobile-logout-btn{width:42px;justify-content:center;padding:0}.mobile-logout-btn small{display:none}}
.profile-logout-card{padding:16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.profile-logout-card small{display:block;color:var(--muted);margin-top:2px}
.audio-test-tools{display:grid;justify-items:center;gap:9px;margin:4px 0 8px}.audio-test-tools .audio-orb{margin:14px auto 4px}.audio-reveal-btn{min-height:44px;padding:9px 14px;display:inline-flex;align-items:center;gap:6px}.audio-reveal-btn small{font-size:.7rem;opacity:.72}.audio-reveal-btn.revealed{background:rgba(245,166,35,.12);color:#9a6400;border-color:rgba(245,166,35,.25)}.audio-revealed-word{font-size:clamp(1.45rem,7vw,2rem);font-weight:950;letter-spacing:.01em;padding:8px 14px;border-radius:14px;background:rgba(245,166,35,.10);border:1px solid rgba(245,166,35,.18);animation:revealWord .2s ease}@keyframes revealWord{from{transform:scale(.96);opacity:.25}to{transform:none;opacity:1}}
.match-tile{touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:pointer;position:relative;min-height:64px;padding:12px 14px}.match-tile:active:not(:disabled){transform:scale(.975);background:rgba(108,92,231,.07)}.match-tile.selected{outline:3px solid rgba(108,92,231,.16);outline-offset:1px;box-shadow:0 0 0 1px var(--brand),0 4px 12px rgba(108,92,231,.11)}.match-tile .match-sound{pointer-events:none}.match-tile strong{pointer-events:none;line-height:1.2}.match-tile.locked{pointer-events:none}
.admin-log-filter{padding:14px}.log-filter-grid{display:grid;grid-template-columns:minmax(220px,2fr) repeat(4,minmax(125px,1fr)) auto auto;gap:10px;align-items:end}.log-table td{vertical-align:middle}.log-table td strong,.log-table td small{display:block}.log-detail{max-width:520px;white-space:normal;line-height:1.35;color:var(--muted)}.log-source,.log-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:5px 8px;font-size:.68rem;font-weight:900;white-space:nowrap;background:rgba(127,136,157,.10);color:var(--muted)}.log-source.attempt{background:rgba(108,92,231,.10);color:var(--brand)}.log-source.xp{background:rgba(245,166,35,.13);color:#9a6400}.log-source.session{background:rgba(19,185,129,.11);color:var(--success)}.log-source.audit{background:rgba(50,60,80,.10);color:var(--ink)}.log-status.correct,.log-status.gain,.log-status.completed{background:rgba(19,185,129,.12);color:var(--success)}.log-status.wrong,.log-status.spend,.log-status.abandoned{background:rgba(239,91,104,.11);color:var(--danger)}.log-status.active{background:rgba(245,166,35,.13);color:#9a6400}.admin-pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px;border-top:1px solid var(--line)}
@media(max-width:980px){.log-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.log-search{grid-column:1/-1}.admin-tabs{overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}}
@media(max-width:560px){.match-tile{min-height:66px;padding:12px 9px;font-size:.9rem}.tap-match-board{gap:8px}.log-filter-grid{grid-template-columns:1fr}.log-search{grid-column:auto}.admin-pagination{justify-content:space-between}.profile-logout-card{align-items:flex-start;flex-direction:column}.profile-logout-card .btn{width:100%}}

/* LinguaForge 3.2 admin + retention UI */
.word-toolbar{align-items:end;gap:12px;flex-wrap:wrap}
.word-toolbar>div{min-width:130px}.word-toolbar .flex-grow-1{min-width:min(280px,100%)}
.row-archived{opacity:.68}.status-dot{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;font-weight:800;padding:4px 8px;border-radius:999px;background:var(--soft,#f1f3f7)}
.status-dot.ok{background:#e8fbf0;color:#177842}.muted-dot{opacity:.7}.pill.success{background:#e8fbf0;color:#177842}
.admin-danger-actions{display:flex;justify-content:flex-end;padding-top:12px;border-top:1px solid rgba(120,120,140,.16)}
.motivation-admin-list{display:grid;gap:10px}.motivation-admin-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:12px;border:1px solid rgba(120,120,140,.16);border-radius:16px}
.motivation-admin-row img{width:46px;height:46px;object-fit:contain}.motivation-admin-row strong,.motivation-admin-row small{display:block}.motivation-admin-row small{opacity:.65;margin-top:3px}
.brain-mix{display:flex;gap:5px;flex-wrap:wrap}.brain-mix span{white-space:nowrap}
.memory-health{display:inline-flex;align-items:center;gap:5px}
@media(max-width:720px){.motivation-admin-row{grid-template-columns:42px minmax(0,1fr);}.motivation-admin-row .btn{grid-column:auto}.word-toolbar>div{min-width:calc(50% - 8px)}.word-toolbar .flex-grow-1{min-width:100%}}
/* v3.3 database switcher */
.db-engine-badge{border-radius:999px;padding:7px 10px;font-size:.76rem;font-weight:800;background:rgba(108,92,231,.1);color:var(--brand)}
.db-engine-badge.mysql{background:rgba(0,184,148,.12);color:#087f68}.db-engine-badge.sqlite{background:rgba(9,132,227,.11);color:#176ea7}
.db-transfer-form{display:grid;grid-template-columns:1.35fr .55fr 1fr 1fr 1fr auto;gap:10px;align-items:end;margin-top:14px}.db-transfer-form>div{min-width:0}
@media(max-width:980px){.db-transfer-form{grid-template-columns:1fr 1fr}.db-transfer-form button{grid-column:1/-1;min-height:48px}}
@media(max-width:560px){.db-transfer-form{grid-template-columns:1fr}}

/* v3.5 */
.shop-item.equipped{outline:2px solid color-mix(in srgb,var(--brand,#6c5ce7) 55%,transparent);box-shadow:0 10px 30px rgba(108,92,231,.12)}
.xp-difficulty-note{margin:.45rem 0;padding:.5rem .7rem;border-radius:12px;background:rgba(255,174,0,.10);font-size:.85rem;font-weight:700}

/* LinguaForge 3.5 · Pati Brain 2 + mini oyunlar */
.brain-strip.recovery{background:linear-gradient(135deg,rgba(245,166,35,.12),rgba(108,92,231,.08));border-color:rgba(245,166,35,.28)}
.quiz-skip-btn{margin:14px auto 2px;min-height:46px;border:1px dashed var(--line);background:transparent;color:var(--muted);border-radius:15px;padding:10px 16px;font-weight:850;display:flex;align-items:center;justify-content:center;gap:7px;touch-action:manipulation;width:min(100%,340px)}
.quiz-skip-btn:active{transform:scale(.98);background:rgba(127,136,157,.07)}.skip-action{margin:12px 0;padding:12px;border-radius:15px;background:rgba(108,92,231,.08);font-weight:750;line-height:1.35}.feedback-overlay.skipped .feedback-dock{border-top:4px solid #8b7cf6}
.game-stage{position:relative;margin-top:14px}.game-stage .answer-option{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.balloon-stage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-height:245px;align-items:center;padding:8px}
.balloon-option{min-height:104px!important;border-radius:50% 50% 46% 46%!important;display:flex!important;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:5px!important;position:relative;animation:balloonFloat 2.6s ease-in-out infinite;animation-delay:calc(var(--i) * -320ms);box-shadow:inset 0 -8px 0 rgba(0,0,0,.04),0 12px 26px rgba(15,23,42,.08)}
.balloon-option:after{content:"";position:absolute;bottom:-12px;width:2px;height:18px;background:rgba(100,105,120,.35)}
@keyframes balloonFloat{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-9px) rotate(1deg)}}
.balloon-option.balloon-pop{animation:balloonPop .36s ease forwards}@keyframes balloonPop{55%{transform:scale(1.16)}100%{transform:scale(.12);opacity:0}}
.target-stage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:8px}.target-option{aspect-ratio:1.65/1;position:relative;overflow:hidden;border-radius:24px!important;display:grid!important;place-items:center!important;text-align:center}.target-rings{position:absolute;width:78px;height:78px;border-radius:50%;border:8px double rgba(108,92,231,.16);box-shadow:inset 0 0 0 8px rgba(108,92,231,.08);pointer-events:none}.target-option strong{z-index:2}.target-option.target-hit{animation:targetHit .34s ease}@keyframes targetHit{50%{transform:scale(1.08);box-shadow:0 0 0 14px rgba(19,185,129,.10)}100%{transform:none}}
.treasure-stage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.treasure-option{min-height:118px!important;border-radius:20px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center;gap:6px!important}.treasure-option .chest{font-size:2rem;transition:.28s ease}.treasure-option.chest-open .chest{transform:translateY(-5px) rotate(-8deg) scale(1.18);filter:drop-shadow(0 5px 8px rgba(245,166,35,.35))}.treasure-option.chest-open:after{content:"✨";position:absolute;font-size:1.35rem;animation:lootRise .6s ease forwards}@keyframes lootRise{from{opacity:0;transform:translateY(4px) scale(.4)}to{opacity:1;transform:translateY(-34px) scale(1.25)}}
.tower-stage{display:flex;align-items:flex-end;justify-content:center;gap:16px;min-height:128px;margin:4px 0 12px}.tower-stage small{max-width:160px;color:var(--muted)}.tower-stack{width:74px;min-height:110px;display:flex;flex-direction:column-reverse;align-items:center;justify-content:flex-start;position:relative}.tower-stack i{width:62px;height:10px;border-radius:4px;background:linear-gradient(90deg,var(--brand),#9e8cff);margin-top:2px;animation:blockIn .25s ease both;animation-delay:calc(var(--b) * 25ms)}.tower-stack span{font-size:2rem;margin-bottom:3px}.tower-stack.tower-rise{animation:towerRise .4s ease}@keyframes towerRise{50%{transform:translateY(-8px)}100%{transform:none}}@keyframes blockIn{from{opacity:0;transform:scaleX(.3)}to{opacity:1;transform:none}}
.sentence-stage{margin-top:12px}.sentence-drop-hint{text-align:center;font-size:.76rem;color:var(--muted);margin-bottom:9px}.sentence-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sentence-chip{min-height:58px!important;border-radius:999px!important;justify-content:center!important;text-align:center!important}.sentence-chip.sentence-fly{animation:sentenceFly .42s ease}@keyframes sentenceFly{45%{transform:translateY(-22px) scale(1.05)}100%{transform:none}}
.context-prompt{font-size:clamp(1.3rem,5vw,1.9rem)!important;line-height:1.45!important;padding:16px!important;background:rgba(108,92,231,.06);border-radius:18px}
.boss-stage{text-align:center;margin:4px 0 14px}.boss-avatar{font-size:4.2rem;filter:drop-shadow(0 10px 12px rgba(15,23,42,.14));display:inline-block}.boss-avatar.boss-hit{animation:bossHit .4s ease}.boss-avatar.boss-roar{animation:bossRoar .4s ease}@keyframes bossHit{35%{transform:translateX(9px) rotate(9deg) scale(.9)}70%{transform:translateX(-4px) rotate(-4deg)}}@keyframes bossRoar{25%,75%{transform:scale(1.08) rotate(5deg)}50%{transform:scale(1.1) rotate(-5deg)}}.boss-health{height:12px;max-width:260px;margin:6px auto;border-radius:999px;background:rgba(239,91,104,.13);overflow:hidden}.boss-health i{display:block;height:100%;background:linear-gradient(90deg,#ff6b6b,#f5a623);border-radius:inherit;transition:width .35s ease}
.memory-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:14px}.memory-card{aspect-ratio:1/1.05;min-height:72px;border:1px solid var(--line);background:var(--card);border-radius:16px;position:relative;transform-style:preserve-3d;transition:transform .34s ease,opacity .25s ease;touch-action:manipulation;box-shadow:0 5px 14px rgba(15,23,42,.07)}.memory-card span{position:absolute;inset:0;display:grid;place-items:center;padding:7px;backface-visibility:hidden;font-weight:850;font-size:.78rem;line-height:1.15}.memory-back{font-size:1.35rem!important}.memory-front{transform:rotateY(180deg);background:color-mix(in srgb,var(--card) 92%,var(--brand) 8%);border-radius:inherit}.memory-card.flipped,.memory-card.locked{transform:rotateY(180deg)}.memory-card.locked{opacity:.52;box-shadow:0 0 0 2px rgba(19,185,129,.28)}
.chain-board .match-tile.locked{animation:chainLock .42s ease}@keyframes chainLock{50%{transform:scale(1.04);box-shadow:0 0 0 8px rgba(19,185,129,.09)}100%{transform:none}}
.option-fade-wrong{opacity:.42!important;filter:saturate(.45)}.correct-focus{transform:scale(1.035);box-shadow:0 0 0 3px rgba(19,185,129,.14)!important}.game-miss{animation:gameMiss .28s ease}@keyframes gameMiss{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.game-balloon .question-card,.game-target .question-card,.game-treasure .question-card,.game-tower .question-card,.game-sentence .question-card,.game-boss .question-card{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y}
@media(max-width:600px){.balloon-stage,.target-stage,.treasure-stage,.sentence-options{gap:9px}.balloon-option{min-height:92px!important;font-size:.9rem}.target-option{min-height:86px!important}.treasure-option{min-height:96px!important}.memory-board{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.memory-card{min-height:66px}.memory-card span{font-size:.69rem;padding:5px}.quiz-skip-btn{min-height:48px}.boss-avatar{font-size:3.5rem}}
@media(max-width:380px){.memory-board{grid-template-columns:repeat(3,minmax(0,1fr))}.balloon-stage,.target-stage,.treasure-stage{grid-template-columns:1fr 1fr}.balloon-option{min-height:84px!important}}

/* v3.5.1 PWA game viewport fix */
@media(max-height:720px) and (max-width:700px){
  body.quiz-active .question-card{padding-bottom:calc(18px + env(safe-area-inset-bottom));}
  .target-stage{gap:8px;padding:4px;}
  .target-option{min-height:72px!important;aspect-ratio:auto;}
  .target-rings{width:62px;height:62px;border-width:6px;}
  .tower-stage{min-height:92px;margin:0 0 8px;gap:10px;}
  .tower-stack{min-height:82px;}
  .tower-stack span{font-size:1.65rem;}
  .tower-stack i{height:8px;}
  .game-stage{margin-top:8px;}
  .quiz-skip-btn{margin-top:10px;}
}
