:root{color:#1f2937;background:#f9fafb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html,body{width:100%;min-height:100%;overflow-x:hidden}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0}button,input,textarea,lucide-icon{font:inherit}button,[role=button]{-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.app{width:100%;min-height:100vh;min-height:100dvh;color:#1d2733;background:radial-gradient(circle at 15% 20%,rgba(255,216,102,.34),transparent 24rem),radial-gradient(circle at 88% 15%,rgba(99,210,190,.28),transparent 26rem),linear-gradient(135deg,#fbf7ef,#eef7ff 52%,#f6f1ff);overflow-x:hidden}.snapshot-badge{position:fixed;z-index:20;left:.75rem;bottom:.55rem;color:#475569ad;font-size:.72rem;font-weight:800;line-height:1;pointer-events:none;-webkit-user-select:none;user-select:none}.tesla-audio-badge{position:fixed;z-index:20;right:.75rem;bottom:.55rem;display:inline-grid;place-items:center;width:1.85rem;height:1.85rem;border:1px solid rgba(15,118,110,.18);border-radius:999px;color:#0f766ead;background:#f0fdfab8;box-shadow:0 8px 18px #1f293714;pointer-events:none;-webkit-user-select:none;user-select:none}.tesla-audio-badge-active{color:#0f766e;border-color:#0f766e57;background:#ccfbf1e6}.tesla-audio-badge-mp3{color:#1d4ed8;border-color:#2563eb57;background:#dbeafeeb}.tesla-audio-badge-error{color:#b91c1c;border-color:#b91c1c57;background:#fef2f2eb}.tesla-audio-state-dot{position:absolute;right:.15rem;bottom:.15rem;width:.52rem;height:.52rem;border:1px solid rgba(255,255,255,.92);border-radius:999px;background:#94a3b8}.tesla-audio-badge-active .tesla-audio-state-dot{background:#10b981}.tesla-audio-badge-mp3 .tesla-audio-state-dot{background:#2563eb}.tesla-audio-badge-error .tesla-audio-state-dot{background:#dc2626}.top-bar{position:fixed;z-index:10;top:1rem;left:1rem;right:1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;pointer-events:none}.top-bar.app-header{right:13.25rem}.app-header,.settings-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center}.app-header>:first-child,.settings-header>.icon-button:first-child,.header-left-slot{justify-self:start}.app-header>:nth-child(2),.settings-header h1{justify-self:center}.app-header>:last-child{justify-self:end}.score-pill,.timer-pill,.icon-button{pointer-events:auto;border:2px solid rgba(31,41,55,.12);border-radius:999px;background:#fffc;box-shadow:0 12px 30px #1f29371a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.score-pill,.timer-pill{min-width:5.75rem;padding:.72rem 1rem;font-weight:800;text-align:center}.timer-pill{color:#0f766e}.header-left-slot{width:3.65rem;height:3.65rem}.top-actions{display:flex;gap:.5rem;pointer-events:auto}.tts-status{position:relative}.tts-status-button{color:#b91c1c;border-color:#b91c1c3d;background:#fef2f2eb}.tts-details{position:absolute;top:calc(100% + .55rem);right:0;width:min(21rem,calc(100vw - 2rem));padding:.85rem .95rem;border:2px solid rgba(185,28,28,.18);border-radius:.75rem;color:#1f2937;background:#fffffff5;box-shadow:0 18px 42px #1f29372e;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.tts-details-title{display:block;margin-bottom:.45rem;color:#991b1b;font-size:.86rem;font-weight:900}.tts-details pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:.76rem/1.35 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.icon-button{display:inline-grid;place-items:center;width:3.65rem;height:3.65rem;padding:0;color:#1f2937;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.start-screen,.mode-screen,.login-screen,.audio-prep-screen,.play-surface,.finish-screen,.settings-panel,.empty-state{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6rem 1.25rem 2rem}.question-card{position:relative;width:min(1100px,100%);text-align:center}.replay-audio-button{position:absolute;top:0;right:0;color:#0f766e;border-color:#0f766e33;background:#f0fdfaeb}.label{display:inline-flex;margin-bottom:1rem;color:#475569;font-size:.88rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.question-card h1,.login-screen h1,.start-screen h1,.mode-screen h1,.audio-prep-screen h1,.finish-screen h1,.settings-panel h1,.trophies-screen h1,.empty-state h1{margin:0;color:#111827;font-weight:950;line-height:1.04;letter-spacing:0}.start-screen{text-align:center;gap:.9rem}.mode-screen{width:min(900px,calc(100% - 2rem));margin:0 auto;align-items:stretch}.login-screen{position:relative;isolation:isolate;width:min(100%,26rem);margin:0 auto;text-align:center;overflow:hidden}.login-screen:before,.login-screen:after{content:"";position:fixed;z-index:-3;border-radius:999px;pointer-events:none}.login-screen:before{width:min(44rem,62vw);height:min(44rem,62vw);left:max(-16rem,-18vw);top:max(-12rem,-16vw);background:#fbbf2433}.login-screen:after{width:min(42rem,58vw);height:min(42rem,58vw);right:max(-15rem,-17vw);bottom:max(-13rem,-16vw);background:#2dd4bf2e}.login-panel{position:relative;z-index:1;width:min(100%,27rem);padding:2.25rem 2rem 2rem;border:1px solid rgba(255,255,255,.76);border-radius:1.5rem;background:#ffffffbd;box-shadow:0 1.6rem 4rem #0f172a21;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.login-fumfik-background{position:fixed;inset:0;z-index:-2;overflow:hidden;pointer-events:none}.login-fumfik{position:absolute;display:block;width:clamp(6.5rem,12vw,11rem);height:auto;border-radius:1.4rem;filter:drop-shadow(0 1.2rem 1.8rem rgba(15,23,42,.16));opacity:.92;transform-origin:center;animation:login-fumfik-float 8s ease-in-out infinite}.login-fumfik-1{left:clamp(1rem,7vw,7rem);top:clamp(4.5rem,13vh,8rem);transform:rotate(-10deg)}.login-fumfik-2{right:clamp(1.2rem,8vw,8rem);top:clamp(5rem,11vh,7.5rem);width:clamp(5.8rem,10vw,9rem);transform:rotate(12deg);animation-delay:-2.4s}.login-fumfik-3{left:clamp(.75rem,12vw,12rem);bottom:clamp(2rem,9vh,6rem);width:clamp(5.7rem,10vw,8.5rem);transform:rotate(8deg);animation-delay:-4.5s}.login-fumfik-4{right:clamp(.75rem,12vw,13rem);bottom:clamp(2rem,8vh,5rem);transform:rotate(-12deg);animation-delay:-1.2s}.login-fumfik-5{left:50%;top:clamp(.5rem,3vh,2rem);width:clamp(5rem,8vw,7.2rem);opacity:.58;filter:blur(.7px) drop-shadow(0 1rem 1.5rem rgba(15,23,42,.08));transform:translate(-190%) rotate(17deg);animation-delay:-6s}.login-fumfik-6{left:50%;bottom:clamp(.25rem,2vh,1.25rem);width:clamp(5rem,8vw,7.5rem);opacity:.62;filter:blur(.7px) drop-shadow(0 1rem 1.5rem rgba(15,23,42,.08));transform:translate(115%) rotate(-16deg);animation-delay:-3.2s}@keyframes login-fumfik-float{0%,to{margin-top:0}50%{margin-top:-.8rem}}.password-label{margin-top:2rem}.login-button{width:100%;margin-top:1rem}.login-error{margin:1rem 0 0}.google-login-button{display:inline-flex;align-items:center;justify-content:center;gap:.8rem;width:100%;min-height:3.25rem;margin-top:1.25rem;border:1px solid #dadce0;border-radius:.25rem;padding:0 1rem;color:#3c4043;background:#fff;box-shadow:0 1px 2px #3c40432e;cursor:pointer;font-size:1rem;font-weight:700}.google-login-button:disabled{cursor:default;opacity:.65}.google-mark{display:inline-grid;place-items:center;width:1.5rem;height:1.5rem;color:#4285f4;font-family:Arial,sans-serif;font-size:1.35rem;font-weight:700}.account-actions{position:fixed;z-index:80;top:1rem;right:1rem;display:flex;gap:.5rem;align-items:center;pointer-events:auto}.account-icon-button{flex:0 0 3.65rem;width:3.65rem;min-width:3.65rem;height:3.65rem}.profile-popover{position:absolute;top:calc(100% + .6rem);right:0;display:grid;gap:.25rem;min-width:16rem;border:1px solid #e5e7eb;border-radius:.5rem;padding:.85rem 1rem;color:#374151;background:#fffffff5;box-shadow:0 20px 40px #0f172a2e;text-align:left}.profile-popover strong{color:#111827}.admin-users-section{align-items:stretch}.admin-user-list{display:grid;gap:.85rem}.admin-user-row{display:flex;gap:1rem;justify-content:space-between;align-items:center;padding:1rem;border:2px solid #d1d5db;border-radius:.5rem;background:#fffc}.admin-user-main{display:grid;gap:.25rem;color:#374151;text-align:left}.admin-user-main strong{color:#111827;font-size:1.1rem}.start-screen h1{font-size:clamp(2.35rem,6vw,5.2rem)}.test-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,50rem);gap:.85rem;margin-top:.55rem}.mode-list{display:grid;grid-template-columns:1fr;width:min(100%,42rem);gap:1rem;margin:2.25rem auto 0}.test-menu-header{width:min(100%,50rem);margin-bottom:.75rem}.test-button{min-height:7.4rem;padding:1rem;font-size:clamp(1.15rem,2.4vw,1.85rem);line-height:1.08}.trophy-entry-button{display:inline-grid;place-items:center;width:4.65rem;height:4.65rem;border:3px solid rgba(180,83,9,.18);border-radius:999px;color:#92400e;background:radial-gradient(circle at 35% 28%,#fef3c7 0 24%,#fbbf24 52%,#d97706);box-shadow:0 18px 34px #92400e3d;cursor:pointer}.trophy-entry-button lucide-icon{color:#78350f;filter:drop-shadow(0 2px 0 rgba(255,255,255,.34))}.trophies-screen{min-height:100vh;min-height:100dvh;width:min(980px,calc(100% - 2rem));margin:0 auto;padding:6rem 1.25rem 2rem}.trophy-empty{display:grid;min-height:45vh;place-items:center;text-align:center}.trophy-empty h2{margin:0;color:#475569;font-size:clamp(1.6rem,4vw,3rem)}.trophy-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:1rem}.trophy-card{position:relative;display:grid;place-items:center;min-height:10.8rem;padding:.7rem;border:2px solid rgba(180,83,9,.14);border-radius:.5rem;background:#ffffffb8;box-shadow:0 14px 34px #1f29371a}.trophy-card img{display:block;width:100%;max-width:9rem;aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 16px 20px rgba(15,23,42,.16))}.mode-button{min-height:14.5rem;padding:2rem 1.5rem;font-size:clamp(1.45rem,3vw,2.2rem);line-height:1.08}.start-meta{margin:1rem 0 1.25rem;color:#475569;font-weight:850}.question-card h1,.empty-state h1{font-size:clamp(2.4rem,8vw,7.4rem);overflow-wrap:anywhere}.flipcard-card{display:grid;justify-items:center}.flipcard-image-frame{position:relative;display:grid;place-items:center;width:min(68vh,32rem,92vw);aspect-ratio:1;overflow:hidden;border:2px solid rgba(31,41,55,.1);border-radius:.75rem;background:#ffffffbd;box-shadow:0 20px 46px #1f29371f}.spelling-image-frame{position:relative;display:grid;place-items:center;width:min(34vh,17rem,72vw);aspect-ratio:1;margin:0 auto 1.15rem;overflow:hidden;border:2px solid rgba(31,41,55,.1);border-radius:.75rem;background:#ffffffbd;box-shadow:0 18px 38px #1f29371f}.image-report-button{color:#92400e;border-color:#f59e0b47;background:#fffbebf0;box-shadow:0 14px 30px #92400e24}.image-report-button-active{color:#fff;border-color:#b453095c;background:#d97706}.flipcard-image-report-button{position:absolute;top:.7rem;right:.7rem;z-index:2;width:3.1rem;height:3.1rem}.flipcard-image-frame img,.spelling-image-frame img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}.flipcard-image-frame img{cursor:pointer}.flipcard-image-hidden{visibility:hidden}.flipcard-image-loader{display:grid;place-items:center;width:100%;height:100%;padding:1rem;color:#0f766e;font-size:clamp(1rem,3vw,1.45rem);font-weight:900;text-align:center}.flipcard-prompt-word{margin-top:.9rem;border:0;border-radius:.55rem;padding:.35rem .8rem;color:#0f172a;background:transparent;cursor:pointer;font-size:clamp(1.25rem,3vw,2rem);font-weight:950;line-height:1.12;-webkit-tap-highlight-color:transparent;transition:color .16s ease,transform .16s ease,text-shadow .16s ease}.flipcard-prompt-word:active{color:#0f766e;transform:scale(.98);text-shadow:0 .12rem 0 rgba(94,234,212,.22)}.flipcard-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,58rem);gap:.85rem;margin-top:1.25rem}.flipcard-option-button{min-height:10.8rem;padding:1.55rem 1rem;font-size:clamp(1.1rem,2.6vw,1.75rem);overflow-wrap:anywhere}.flipcard-option-wrong{animation:flipcard-no .42s ease-in-out;border-color:#b91c1c94;background:#fecaca;color:#7f1d1d}@keyframes flipcard-no{0%,to{transform:translate(0)}18%,54%{transform:translate(-.5rem)}36%,72%{transform:translate(.5rem)}}.answer-hint,.timeout-note,.settings-panel p,.finish-screen p{max-width:48rem;color:#475569;font-size:1.05rem;line-height:1.55;text-align:center}.main-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:2rem}.answer-actions{width:min(100%,56rem);gap:1.15rem}.answer-button{min-height:16.5rem;padding:2.25rem;font-size:clamp(1.55rem,3.2vw,2.25rem);line-height:1.1}.spelling-answer-clickable{cursor:pointer;transition:color .16s ease,text-shadow .16s ease,transform .16s ease}.spelling-answer-clickable:focus-visible{outline:.18rem solid rgba(15,118,110,.36);outline-offset:.35rem;border-radius:.4rem}.spelling-answer-audio-active{color:#0f766e!important;text-shadow:0 .16rem 0 rgba(94,234,212,.24);transform:scale(1.025)}.wide-action{grid-column:1 / -1}.primary-button,.danger-button{min-height:3rem;border:0;border-radius:.5rem;padding:.82rem 1.2rem;cursor:pointer;font-weight:900;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.primary-button{color:#052e2b;background:#5eead4;box-shadow:0 12px 24px #14b8a63d}.finish-play-button{min-width:min(100%,18rem);min-height:10.8rem;padding:1.8rem 2.2rem;font-size:1.45rem}.danger-button{color:#fff;background:#ef4444;box-shadow:0 12px 24px #ef444438}.primary-button.test-button{min-height:7.4rem;padding:1rem}.primary-button.mode-button{min-height:14.5rem;padding:2rem 1.5rem}.primary-button.flipcard-option-button{min-height:10.8rem;padding:1.55rem 1rem}.primary-button.answer-button,.danger-button.answer-button{min-height:16.5rem;padding:2.25rem}.primary-button.finish-play-button{min-height:10.8rem;padding:1.8rem 2.2rem}.primary-button.settings-save-button{min-height:10rem}button:hover{transform:translateY(-1px)}button:active{transform:translateY(1px);opacity:.88}button:disabled{cursor:default;opacity:.58;transform:none}.settings-panel{width:min(900px,calc(100% - 2rem));margin:0 auto;align-items:stretch;justify-content:flex-start}.settings-header{gap:1rem;margin-bottom:2rem}.settings-panel h1,.trophies-screen h1,.mode-screen h1{font-size:clamp(2rem,5vw,4rem);text-align:center}.header-spacer{width:3.65rem;height:3.65rem}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}label{display:grid;gap:.5rem;color:#374151;font-weight:900}input,textarea,select{width:100%;border:2px solid rgba(31,41,55,.14);border-radius:.5rem;background:#ffffffdb;color:#111827;outline:none}input,textarea,select{min-height:3.2rem;padding:.7rem .9rem}textarea{resize:vertical;line-height:1.4}.settings-section{display:grid;gap:1rem;margin-top:2rem}.settings-section h2{margin:0;color:#111827;font-size:1.35rem;line-height:1.2;text-align:left}.test-visibility-tree,.test-visibility-node{display:grid;gap:.45rem}.test-visibility-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;min-height:3.3rem;padding:.65rem .75rem;border:2px solid rgba(15,118,110,.14);border-radius:.5rem;background:#ffffffb8}.test-visibility-option input{width:1.25rem;height:1.25rem}.test-visibility-option span{min-width:0;color:#111827}.test-visibility-option small{color:#64748b;font-size:.9rem}.test-visibility-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.test-visibility-actions p{margin:0}.spelling-set-list{display:grid;gap:1rem}.spelling-set-row{align-items:stretch}.spelling-set-title,.latest-choice{color:#111827;font-weight:900}.spelling-set-title{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.latest-marker{border-radius:999px;padding:.18rem .55rem;color:#0f766e;background:#ccfbf1;font-size:.82rem}.latest-choice{display:inline-flex;gap:.5rem;align-items:center;min-height:auto}.latest-choice input{width:1.2rem;min-height:auto;accent-color:#0f766e}.spelling-audio-panel{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;padding:.75rem .85rem;border:2px solid rgba(15,118,110,.16);border-radius:.5rem;background:#f0fdfaad}.spelling-audio-indicator{color:#475569;font-weight:950}.spelling-audio-active{color:#0f766e}.spelling-audio-detail,.spelling-audio-unsaved{color:#64748b;font-size:.9rem;font-weight:850}.spelling-audio-unsaved{margin:0}.audio-source-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.audio-source-option{display:flex;align-items:center;gap:.65rem;min-height:3.4rem;padding:.75rem .9rem;border:2px solid rgba(31,41,55,.12);border-radius:.5rem;background:#ffffffc2}.audio-source-option input{width:1.15rem;min-height:auto;accent-color:#0f766e}.tesla-audio-option{justify-content:flex-start}.tesla-loop-settings{display:grid;gap:.75rem;padding:1rem;border:2px solid rgba(15,118,110,.14);border-radius:.5rem;background:#f0fdfa94}.tesla-loop-description{margin:0;color:#475569!important;font-weight:800}.tesla-audio-test-grid{display:grid;gap:.65rem}.tesla-audio-test-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:center;padding:.75rem;border:1px solid rgba(15,118,110,.16);border-radius:.5rem;background:#ffffffb8}.tesla-audio-test-selected{border-color:#0f766e80;background:#ccfbf1b8;box-shadow:inset 0 0 0 1px #0f766e2e}.tesla-audio-test-copy{display:grid;gap:.18rem;min-width:0}.tesla-audio-test-copy strong{color:#0f172a;font-size:.96rem}.tesla-audio-test-copy span{color:#475569;font-size:.88rem;line-height:1.35}.tesla-audio-test-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.compact-button{justify-self:start;min-height:2.75rem;padding:.68rem 1rem;font-size:.98rem}.secondary-button{border:2px solid rgba(15,118,110,.24);border-radius:.5rem;background:#ccfbf1c7;color:#0f766e;font:inherit;font-weight:950}.secondary-button:disabled{cursor:not-allowed;opacity:.58}.settings-note{min-height:1.6rem;margin:1.25rem 0 0;color:#0f766e!important;font-weight:900}.translation-backfill{display:grid;gap:.75rem;padding:1rem;border-radius:.5rem;background:#ffffff9e}.translation-backfill .settings-note{margin:0;color:#4b5563!important;font-weight:800}.translation-progress{width:100%;height:.7rem;overflow:hidden;border-radius:999px;background:#0f766e1f}.translation-progress-bar{min-width:.35rem;height:100%;border-radius:inherit;background:#14b8a6;transition:width .22s ease}.translation-progress-bar-active{background:linear-gradient(90deg,#14b8a6,#5eead4,#14b8a6);background-size:220% 100%;animation:translation-progress 1.2s linear infinite}.translation-updated-at{color:#0f766e!important}textarea:disabled{cursor:wait;opacity:.7}@keyframes translation-progress{0%{background-position:0 0}to{background-position:220% 0}}.settings-save-button{width:min(100%,18rem);min-height:5rem;margin:1.25rem auto 0;font-size:1.25rem}.asset-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.asset-tabs button{min-height:3.2rem;border:2px solid rgba(31,41,55,.12);border-radius:.5rem;background:#ffffffc2;color:#111827;font:inherit;font-weight:950}.asset-tabs .asset-tab-active{border-color:#0f766e;background:#99f6e4}.asset-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;margin:.5rem 0 1rem}.asset-report-filter{display:inline-flex;align-items:center;gap:.45rem}.asset-source-filters{display:inline-flex;flex-wrap:wrap;gap:.55rem;align-items:center}.asset-source-filters label{display:inline-flex;align-items:center;gap:.35rem;min-height:2.6rem;padding:.45rem .7rem;border:2px solid rgba(15,118,110,.14);border-radius:.5rem;background:#ffffffb8;color:#0f172a;font-weight:800}.asset-source-filters input{width:1.15rem;height:1.15rem}.asset-report-filter-active{color:#78350f;border-color:#f59e0b57;background:#fde68a}.asset-counts{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-end}.asset-counts span{padding:.3rem .55rem;border-radius:.45rem;background:#ffffffad;color:#4b5563;font-weight:900}.audio-tts-settings{display:grid;gap:.9rem;margin:0 0 1rem;padding:1rem;border:1px solid rgba(15,23,42,.08);border-radius:8px;background:#ffffffd6;box-shadow:0 14px 36px #1f293714}.audio-tts-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.audio-tts-header-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}.audio-tts-header h2{margin:0;font-size:1.2rem}.audio-tts-settings textarea{min-height:8rem}.audio-tts-controls{display:grid;grid-template-columns:minmax(8rem,.5fr) minmax(10rem,1fr);gap:.8rem}.audio-tts-actions{display:flex;align-items:center;gap:.75rem}.audio-tts-preview-button{width:3.15rem;height:3.15rem}.audio-tts-preview-generating lucide-icon{animation:spinny .9s linear infinite}.audio-tts-preview-playing{color:#fff;border-color:#05966957;background:#059669}.audio-tts-preview-error{color:#fff;border-color:#dc262657;background:#dc2626}.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:1rem}.asset-card,.asset-row{border:2px solid rgba(31,41,55,.1);border-radius:.5rem;background:#ffffffbd;box-shadow:0 12px 30px #1f29371a}.asset-card{display:grid;gap:.55rem;padding:.8rem}.asset-card-reported{border-color:#f59e0b9e;background:#fffbebdb;box-shadow:0 14px 34px #92400e29}.asset-report-badge{display:inline-flex;align-items:center;justify-self:start;gap:.3rem;padding:.24rem .48rem;border-radius:999px;color:#78350f;background:#fde68a;font-size:.78rem;font-weight:950}.asset-card img{width:100%;aspect-ratio:1;object-fit:contain;border-radius:.4rem;background:#ffffffb8}.asset-image-placeholder{width:100%;aspect-ratio:1;border:2px dashed rgba(15,118,110,.36);border-radius:.4rem;background:#ccfbf180;color:#0f766e;cursor:pointer;font:inherit;font-weight:950}.asset-image-placeholder:disabled{cursor:wait;opacity:.76}.asset-card-actions{position:relative;display:flex;justify-content:center;gap:.45rem;min-height:2.5rem}.asset-row-actions{justify-content:flex-end}.asset-action-button{width:2.45rem;height:2.45rem;color:#0f766e;border-color:#0f766e38;background:#f0fdfaeb;box-shadow:none}.asset-action-button-active{color:#1d4ed8;border-color:#1d4ed83d;background:#eff6fff5}.asset-report-button{color:#92400e;border-color:#f59e0b42;background:#fffbebf0}.asset-report-button-active{color:#fff;border-color:#b453095c;background:#d97706}.asset-info-action{position:relative}.asset-info-tooltip{position:absolute;right:50%;bottom:calc(100% + .5rem);z-index:7;width:min(15rem,72vw);padding:.7rem .8rem;border:2px solid rgba(31,41,55,.12);border-radius:.5rem;background:#fffffffa;box-shadow:0 18px 42px #1f29372e;transform:translate(50%)}.asset-info-row{display:flex;justify-content:space-between;gap:.85rem;color:#374151;font-size:.82rem;line-height:1.25}.asset-info-row+.asset-info-row{margin-top:.45rem}.asset-info-row strong{color:#111827;text-align:right;overflow-wrap:anywhere}.asset-list{display:grid;gap:.75rem}.asset-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:1rem;padding:.75rem .9rem}.asset-ready{color:#0f766e;font-weight:950}.asset-missing{color:#b91c1c;font-weight:950}.asset-error{grid-column:1 / -1;color:#b91c1c;font-size:.86rem;font-weight:800}.audio-prep-screen{text-align:center}.audio-prep-screen h1{font-size:clamp(2.1rem,6vw,5rem)}.audio-prep-summary{margin:1rem 0 0;color:#0f766e;font-size:1.2rem;font-weight:900}.audio-prep-note{margin:1.25rem auto 0;max-width:38rem;color:#475569;font-size:1rem;font-weight:850;line-height:1.45}.audio-prep-list{display:grid;width:min(100%,58rem);gap:.75rem;margin:1.4rem auto 0}.audio-prep-row{display:grid;grid-template-columns:minmax(7rem,1fr) minmax(7rem,.75fr) minmax(8rem,1.25fr) 5.5rem;align-items:center;gap:.85rem;padding:.8rem .95rem;border:2px solid rgba(31,41,55,.1);border-radius:.5rem;background:#fffc;text-align:left}.audio-prep-word,.audio-prep-kind,.audio-prep-row strong{overflow-wrap:anywhere;font-weight:900}.audio-prep-kind{color:#0f766e;font-size:.92rem}.audio-prep-row strong{color:#475569;text-align:right}.audio-prep-track{height:.72rem;overflow:hidden;border-radius:999px;background:#0f766e24}.audio-prep-fill{display:block;width:0;height:100%;border-radius:inherit;background:#0f766e;transition:width .16s ease}.audio-prep-generating .audio-prep-fill{width:58%;animation:audioPulse .9s ease-in-out infinite alternate}.audio-prep-pending .audio-prep-fill{width:16%;opacity:.42}.audio-prep-ready .audio-prep-fill{width:100%}.audio-prep-error .audio-prep-track{background:#dc262624}.audio-prep-error .audio-prep-fill{width:100%;background:#dc2626}.error{width:100%;border-radius:.5rem;padding:.9rem 1rem;color:#991b1b!important;background:#fee2e2e6;text-align:left!important}.settings-error{margin:1.25rem 0 0}.finish-screen{text-align:center}.finish-screen h1{margin-top:.5rem;font-size:clamp(2.4rem,7vw,6rem)}.animal-frame{position:relative;display:inline-grid;place-items:center;width:min(42vh,20rem);aspect-ratio:1;border:0;border-radius:0;background:transparent;box-shadow:none;cursor:pointer;isolation:isolate;outline:none;-webkit-tap-highlight-color:transparent;transition:left .26s cubic-bezier(.2,.9,.25,1.16),top .26s cubic-bezier(.2,.9,.25,1.16)}.animal-frame:before{content:"";position:absolute;z-index:0;inset:4%;border-radius:1.8rem;background:#fff3;box-shadow:0 1.4rem 2.4rem #0f172a33,0 .45rem 1rem #0f766e29;pointer-events:none}.animal-frame:focus,.animal-frame:focus-visible,.animal-frame:active{background:transparent;box-shadow:none;outline:none}.animal-frame.celebration-escape{transition-duration:.62s;transition-timing-function:cubic-bezier(.22,.72,.18,1)}.animal-fallback{position:absolute;display:grid;place-items:center;width:74%;aspect-ratio:1;border-radius:999px;color:#f59e0b;background:#ffffffc7;box-shadow:inset 0 0 0 .65rem #5eead466;font-size:clamp(4rem,18vw,9rem);font-weight:950}.animal-image{position:relative;z-index:1;display:block;width:100%;height:100%;filter:drop-shadow(0 24px 30px rgba(15,23,42,.18))}.celebration-burst{position:absolute;z-index:0;width:28%;aspect-ratio:1;clip-path:polygon(50% 0%,61% 34%,98% 35%,68% 56%,79% 91%,50% 70%,21% 91%,32% 56%,2% 35%,39% 34%);opacity:0;pointer-events:none}.celebration-burst-one{background:#5eead4a3;transform:translate(-68%,-44%) scale(.3);--burst-start-x: -32%;--burst-start-y: -18%;--burst-end-x: -104%;--burst-end-y: -76%;--burst-end-scale: 1.18}.celebration-burst-two{background:#fbbf24a8;transform:translate(72%,-18%) scale(.3);--burst-start-x: 30%;--burst-start-y: -10%;--burst-end-x: 104%;--burst-end-y: -34%;--burst-end-scale: 1.14}.celebration-burst-three{background:#f472b694;transform:translate(8%,68%) scale(.3);--burst-start-x: 0;--burst-start-y: 30%;--burst-end-x: 12%;--burst-end-y: 110%;--burst-end-scale: 1.16}.celebration-pop .animal-image{animation:celebrationPop .68s cubic-bezier(.2,.9,.25,1.3)}.celebration-spin.celebration-right .animal-image{animation:celebrationSpinRight .7s cubic-bezier(.2,.82,.24,1.18)}.celebration-spin.celebration-left .animal-image{animation:celebrationSpinLeft .7s cubic-bezier(.2,.82,.24,1.18)}.celebration-squash .animal-image{animation:celebrationSquash .66s cubic-bezier(.2,.9,.25,1.22)}.celebration-bounce .animal-image{animation:celebrationBounce .68s cubic-bezier(.2,.9,.25,1.2)}.celebration-tap .celebration-burst-one{animation:celebrationBurstOne .68s ease-out}.celebration-tap .celebration-burst-two{animation:celebrationBurstTwo .68s ease-out 60ms}.celebration-tap .celebration-burst-three{animation:celebrationBurstThree .68s ease-out .11s}.celebration-burst-high .celebration-burst-one{transform:translate(-18%,-82%) scale(.28);--burst-start-x: -10%;--burst-start-y: -42%;--burst-end-x: -38%;--burst-end-y: -122%}.celebration-burst-high .celebration-burst-two{transform:translate(54%,-70%) scale(.28);--burst-start-x: 26%;--burst-start-y: -36%;--burst-end-x: 82%;--burst-end-y: -108%}.celebration-burst-high .celebration-burst-three{transform:translate(-62%,-54%) scale(.28);--burst-start-x: -28%;--burst-start-y: -28%;--burst-end-x: -96%;--burst-end-y: -88%}.celebration-burst-low .celebration-burst-one{transform:translate(-76%,40%) scale(.28);--burst-start-x: -38%;--burst-start-y: 18%;--burst-end-x: -112%;--burst-end-y: 54%}.celebration-burst-low .celebration-burst-two{transform:translate(74%,34%) scale(.28);--burst-start-x: 36%;--burst-start-y: 16%;--burst-end-x: 112%;--burst-end-y: 44%}.celebration-burst-low .celebration-burst-three{transform:translate(4%,82%) scale(.28);--burst-start-x: 2%;--burst-start-y: 38%;--burst-end-x: 8%;--burst-end-y: 124%}.confetti{color:#f59e0b;font-size:clamp(1.8rem,6vw,5rem);animation:sparkle 1.3s ease-in-out infinite alternate}.pop{animation:pop .9s ease-in-out infinite alternate}.floaty{animation:floaty 2.1s ease-in-out infinite}.wiggle{animation:wiggle .9s ease-in-out infinite}.spinny{animation:spinny 2.4s ease-in-out infinite}.bounce{animation:bounce .9s cubic-bezier(.28,.84,.42,1) infinite}@keyframes rise{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-1.2rem) scale(1.18)}}@keyframes sparkle{0%{transform:scale(.96) rotate(-2deg);opacity:.74}to{transform:scale(1.05) rotate(2deg);opacity:1}}@keyframes pop{0%{transform:scale(.94)}to{transform:scale(1.04)}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-1rem)}}@keyframes wiggle{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@keyframes spinny{0%,to{transform:rotate(-5deg) scale(1)}50%{transform:rotate(5deg) scale(1.04)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-1.3rem)}}@keyframes celebrationPop{0%{transform:scale(1) rotate(0)}32%{transform:scale(1.16) rotate(-5deg)}64%{transform:scale(.96) rotate(4deg)}to{transform:scale(1) rotate(0)}}@keyframes celebrationSpinRight{0%{transform:rotate(0) scale(1)}45%{transform:rotate(210deg) scale(1.18)}to{transform:rotate(360deg) scale(1)}}@keyframes celebrationSpinLeft{0%{transform:rotate(0) scale(1)}45%{transform:rotate(-210deg) scale(1.18)}to{transform:rotate(-360deg) scale(1)}}@keyframes celebrationSquash{0%{transform:scale(1)}24%{transform:scale(1.24,.78)}54%{transform:scale(.86,1.18)}78%{transform:scale(1.08,.94)}to{transform:scale(1)}}@keyframes celebrationBounce{0%{transform:translateY(0) scale(1)}28%{transform:translateY(-1.35rem) scale(1.08)}58%{transform:translateY(.35rem) scale(1.12,.88)}to{transform:translateY(0) scale(1)}}@keyframes celebrationBurstOne{0%{opacity:.9;transform:translate(var(--burst-start-x),var(--burst-start-y)) scale(.22)}to{opacity:0;transform:translate(var(--burst-end-x),var(--burst-end-y)) scale(var(--burst-end-scale))}}@keyframes celebrationBurstTwo{0%{opacity:.86;transform:translate(var(--burst-start-x),var(--burst-start-y)) scale(.22)}to{opacity:0;transform:translate(var(--burst-end-x),var(--burst-end-y)) scale(var(--burst-end-scale))}}@keyframes celebrationBurstThree{0%{opacity:.8;transform:translate(var(--burst-start-x),var(--burst-start-y)) scale(.22)}to{opacity:0;transform:translate(var(--burst-end-x),var(--burst-end-y)) scale(var(--burst-end-scale))}}@keyframes audioPulse{0%{opacity:.54;transform:translate(-18%)}to{opacity:1;transform:translate(18%)}}@media(max-width:700px){.top-bar{top:.65rem;left:.65rem;right:.65rem}.top-bar.app-header{right:11.75rem}.top-actions{gap:.35rem}.tts-details{top:0;right:calc(100% + .55rem)}.score-pill,.timer-pill,.icon-button{min-width:auto;font-size:.85rem}.icon-button,.header-left-slot{width:3.25rem;height:3.25rem}.account-icon-button{flex-basis:3.25rem;width:3.25rem;min-width:3.25rem;height:3.25rem}.account-actions{top:.65rem;right:.65rem;gap:.35rem}.play-surface,.audio-prep-screen,.finish-screen,.mode-screen,.settings-panel,.trophies-screen{padding-top:7rem}.login-screen{width:min(100%,25rem);padding-top:5rem}.login-panel{padding:1.8rem 1.2rem 1.35rem;border-radius:1.15rem}.login-fumfik{width:clamp(4.6rem,18vw,6.5rem);border-radius:1rem;opacity:.72}.login-fumfik-1{left:-1.4rem;top:4.7rem}.login-fumfik-2{right:-1.2rem;top:7rem}.login-fumfik-3{left:-.8rem;bottom:3.2rem}.login-fumfik-4{right:-.9rem;bottom:2.8rem}.login-fumfik-5,.login-fumfik-6{opacity:.38}.settings-grid,.audio-source-options,.audio-prep-row,.tesla-audio-test-row,.asset-row,.flipcard-options{grid-template-columns:1fr}.tesla-audio-test-actions{justify-content:flex-start}.flipcard-image-frame{width:min(58vh,88vw)}.audio-prep-row strong{text-align:left}.test-list{gap:.8rem;width:min(100%,42rem)}.primary-button.test-button{min-height:7.4rem;padding:1rem .85rem;font-size:clamp(1.05rem,4vw,1.5rem)}.primary-button.mode-button{min-height:12.8rem;padding:1.5rem 1rem;font-size:clamp(1.15rem,5vw,1.75rem)}.answer-actions .primary-button.answer-button,.answer-actions .danger-button.answer-button{min-height:13.5rem;padding-inline:1.25rem;font-size:clamp(1.2rem,5vw,1.65rem)}.replay-audio-button{top:-.35rem;right:-.1rem;width:3rem;height:3rem}.question-card h1{padding-inline:.25rem}}
