@charset "UTF-8";*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;min-height:100%;min-height:100dvh}html.standalone{min-height:-webkit-fill-available}:root,[data-theme=light]{color-scheme:light;--color-bg-page: #f0f0f5;--color-bg-panel: #ffffff;--color-bg-muted: #f5f5f5;--color-bg-subtle: #f8f9fa;--color-bg-code: #f0f0f0;--color-text: #222222;--color-text-secondary: #555555;--color-text-muted: #666666;--color-text-on-accent: #ffffff;--color-heading: #667eea;--color-border: #e0e0e0;--color-input-bg: #ffffff;--color-input-text: #222222;--color-error-bg: #f8d7da;--color-error-text: #721c24;--color-error-border: #f5c6cb;--color-warn-bg: #fff3cd;--color-warn-text: #856404;--color-info-bg: #e8f4fd;--color-success-bg: #d4edda;--color-success-text: #155724;--color-banner-info-bg: #d1ecf1;--color-banner-info-text: #0c5460;--color-known-bg: #f6fff6;--color-badge-bg: #eeeeee;--color-btn-secondary: #6c757d;--color-accent: #667eea;--color-accent-end: #764ba2;--color-danger: #dc3545;--color-success: #28a745;--shell-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--shadow-panel: 0 20px 60px rgba(0, 0, 0, .25);--flashcard-native: linear-gradient(145deg, #3d5afe, #5c7cfa);--flashcard-target: linear-gradient(145deg, #7a2840, #b83a5e);--flashcard-native-edge: #4a62e0;--flashcard-target-edge: #a83255;--flashcard-front: var(--flashcard-native);--flashcard-back: var(--flashcard-target);--overlay-bg: rgba(0, 0, 0, .45);--toolbar-sep-core: #b8b8c4;--toolbar-sep-highlight: #ffffff;--toolbar-sep-shadow: rgba(0, 0, 0, .22);--toolbar-btn-border: #a8adb8;--toolbar-btn-bg: #ffffff}[data-theme=dark]{color-scheme:dark;--color-bg-page: #0f1016;--color-bg-panel: #1a1b24;--color-bg-muted: #252632;--color-bg-subtle: #22232e;--color-bg-code: #2a2b38;--color-text: #ececf1;--color-text-secondary: #b8b9c4;--color-text-muted: #9496a8;--color-text-on-accent: #ffffff;--color-heading: #aeb8ff;--color-border: #3a3b4a;--color-input-bg: #252632;--color-input-text: #ececf1;--color-error-bg: #3d2024;--color-error-text: #ffb4bc;--color-error-border: #5c2a32;--color-warn-bg: #3d3520;--color-warn-text: #ffe08a;--color-info-bg: #1e2a3d;--color-success-bg: #1e3328;--color-success-text: #9ddeb0;--color-banner-info-bg: #1a2f35;--color-banner-info-text: #9fd9e8;--color-known-bg: #1a2a1f;--color-badge-bg: #333445;--color-btn-secondary: #5a6268;--color-accent: #7b8cff;--color-accent-end: #9b6fd4;--color-danger: #e35d6a;--color-success: #3ecf6e;--shell-gradient: linear-gradient(135deg, #3d4a7a 0%, #4a2d62 100%);--shadow-panel: 0 20px 60px rgba(0, 0, 0, .55);--flashcard-native: linear-gradient(145deg, #3a4db8, #5a6fd6);--flashcard-target: linear-gradient(145deg, #6a2238, #9a3355);--flashcard-native-edge: #5a6fd6;--flashcard-target-edge: #9a3355;--flashcard-front: var(--flashcard-native);--flashcard-back: var(--flashcard-target);--overlay-bg: rgba(0, 0, 0, .65);--toolbar-sep-core: #4a4b5c;--toolbar-sep-highlight: rgba(255, 255, 255, .16);--toolbar-sep-shadow: rgba(0, 0, 0, .55);--toolbar-btn-border: #4a4b5c;--toolbar-btn-bg: var(--color-bg-muted)}body{margin:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:var(--color-bg-page);color:var(--color-text);transition:background-color .2s ease,color .2s ease;min-height:100vh;min-height:100dvh;overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent}button,a,.btn,.icon-btn,[role=button]{touch-action:manipulation}.card-panel{max-width:800px;margin:0 auto;background:var(--color-bg-panel);border-radius:20px;padding:2rem;box-shadow:var(--shadow-panel);transition:background-color .2s ease,box-shadow .2s ease}@media(max-width:640px){.card-panel{border-radius:14px;padding:1.15rem 1rem;box-shadow:0 8px 28px #0000001f}html.standalone .card-panel{box-shadow:none}}.page-head{display:flex;align-items:center;gap:.45rem;margin-bottom:.85rem}.page-head h1{margin:0;color:var(--color-heading);font-size:1.25rem;line-height:1.2}.page-back{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2.25rem;height:2.25rem;border-radius:10px;border:2px solid var(--toolbar-btn-border, var(--color-border));background:var(--toolbar-btn-bg, var(--color-bg-muted));color:var(--color-accent);text-decoration:none;box-shadow:0 1px #0000000a}.page-back svg{width:1.25rem;height:1.25rem}.page-back:hover{border-color:var(--color-accent);background:var(--color-bg-subtle)}.page-back:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:.9rem 1rem;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;color:var(--color-text-on-accent);background:var(--shell-gradient);transition:transform .2s,box-shadow .2s}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 20px #667eea66}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.secondary{background:var(--color-btn-secondary)}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--color-text)}.form-group select,.form-group input,.form-group textarea{width:100%;padding:.75rem;border:2px solid var(--color-border);border-radius:8px;font-size:1rem;background:var(--color-input-bg);color:var(--color-input-text)}.form-group select:focus,.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-accent)}.error-box{margin-top:1rem;padding:.75rem 1rem;background:var(--color-error-bg);color:var(--color-error-text);border-radius:8px;border:1px solid var(--color-error-border)}.auth-brand{margin:0 0 .75rem;font-size:1.15rem;font-weight:700;color:var(--color-heading);text-align:center}.study-tutorial-promo{display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap;margin-left:auto}.study-tutorial-hint{font-size:.72rem;font-weight:600;color:var(--color-text-secondary);max-width:14rem;line-height:1.25}.study-tutorial-bulb{display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;padding:0;border:1px solid var(--color-border);border-radius:7px;background:var(--color-bg-muted);color:var(--color-text-muted);cursor:pointer}.study-tutorial-bulb svg{width:1.05rem;height:1.05rem}.study-tutorial-bulb.lit{color:#e6a700;border-color:#e6a700;box-shadow:0 0 0 2px #e6a70059}.study-tutorial-bulb.done{color:#c9a227;border-color:var(--color-border);opacity:.85}.study-tutorial-panel{margin:.55rem 0 .3rem;padding:.45rem .55rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg-subtle);box-shadow:0 1px 2px #0000000a}.study-tutorial-row{display:flex;align-items:flex-start;gap:.35rem}.study-tutorial-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;margin-top:.05rem;padding:0;border:none;border-radius:5px;background:transparent;color:var(--color-text-muted);cursor:pointer;flex-shrink:0}.study-tutorial-icon-btn svg{width:1.05rem;height:1.05rem}.study-tutorial-icon-btn:hover:not(.is-hidden){color:var(--color-accent);background:var(--color-bg-muted)}.study-tutorial-icon-btn.is-hidden{visibility:hidden;pointer-events:none}.study-tutorial-panel-bulb{display:inline-flex;flex-shrink:0;margin-top:.12rem;color:#e6a700}.study-tutorial-panel-bulb svg{width:.95rem;height:.95rem}.study-tutorial-close-btn{flex-shrink:0;margin-top:.05rem;margin-left:.15rem;align-self:flex-start}.study-tutorial-body{margin:0;flex:1;min-width:0;font-size:.78rem;line-height:1.42;color:var(--color-text)}.study-tutorial-text{display:inline}.study-tutorial-link-btn{display:inline;margin:0 0 0 .3rem;padding:0;border:none;background:none;font:inherit;font-size:inherit;font-weight:650;color:var(--color-accent);cursor:pointer;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;vertical-align:baseline}.study-tutorial-link-btn:hover{color:var(--color-heading)}.study-tutorial-link-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}@keyframes tutorial-ring-pulse{0%,to{box-shadow:0 0 0 2px var(--color-accent)}50%{box-shadow:0 0 0 2px transparent}}.tutorial-pulse{animation:tutorial-ring-pulse .55s ease-in-out infinite}.flashcard .tutorial-tap-hand{position:absolute;right:33.33%;bottom:25%;z-index:7;pointer-events:none;transform:translate(50%,50%)}.flashcard .tutorial-tap-hand-icon{width:3.25rem;height:3.25rem;color:#fff;filter:drop-shadow(0 2px 6px rgba(0,0,0,.45));animation:tutorial-tap-hand-pulse .75s ease-in-out infinite}.flashcard .card-index.tutorial-pulse,.flashcard .card-set-autoplay-btn.tutorial-pulse,.flashcard .voice-shuffle-btn.tutorial-pulse,.flashcard .sentence-exercise-btn.tutorial-pulse,.flashcard .audio-btn.tutorial-pulse-audio,.flashcard .speech-rate-btn.tutorial-pulse{z-index:6;animation:tutorial-audio-attention .55s ease-in-out infinite}.flashcard .card-index.tutorial-pulse{border:2px solid rgba(255,255,255,.45)}.flashcard .speech-rate-btn.tutorial-pulse-persist{z-index:6}.flashcard .speech-rate-btn.tutorial-persist-glow{animation:tutorial-rate-intro-glow .55s ease-in-out infinite}.flashcard .speech-rate-btn.tutorial-persist-glow.persist-ready{animation:none}@keyframes tutorial-tap-hand-pulse{0%,to{transform:translateY(0) scale(1);opacity:1}45%,55%{transform:translateY(10px) scale(.88);opacity:.55}}@keyframes tutorial-rate-intro-glow{0%,to{box-shadow:0 0 0 2px #fff,0 0 0 5px #ffffff80,0 0 16px 4px #ffe664e6}50%{box-shadow:0 0 0 1px #fff3,0 0 4px 1px #ffe6641f}}@keyframes tutorial-audio-attention{0%,to{transform:scale(1.06);border-color:#fff;background:#ffffff7a;box-shadow:0 0 0 3px #fff,0 0 0 6px #ffffff8c,0 0 18px 6px #ffe664f2}50%{transform:scale(1);border-color:#ffffff73;background:#fff3;box-shadow:0 0 0 1px #ffffff40,0 0 6px 1px #ffe66426}}.flashcard.display-both-at-once{perspective:none;transform-style:flat;display:flex!important;flex-direction:column;height:auto!important;min-height:280px;cursor:default}.flashcard.display-both-at-once .face{position:relative!important;inset:auto!important;flex:1 1 auto;width:100%;min-height:132px;transform:none!important;backface-visibility:visible!important;pointer-events:auto!important;z-index:auto!important}.flashcard.display-both-at-once .face.lang-native{order:1}.flashcard.display-both-at-once .face.lang-target,.flashcard.display-both-at-once.stack-target-top .face.lang-native{order:2}.flashcard.display-both-at-once.stack-target-top .face.lang-target{order:1}.flashcard.display-both-at-once.flipped .face.front,.flashcard.display-both-at-once.flipped .face.back{transform:none!important;pointer-events:auto!important}@media(max-width:640px){.flashcard.display-both-at-once{height:auto!important;min-height:240px}.flashcard.display-both-at-once .face{min-height:112px}}.tb-btn.tb-split.tb-flip-dir.edge-native-top{border:2px solid transparent;background:linear-gradient(var(--toolbar-btn-bg, var(--color-bg-muted)),var(--toolbar-btn-bg, var(--color-bg-muted))) padding-box,linear-gradient(to bottom,var(--flashcard-native-edge) 50%,var(--flashcard-target-edge) 50%) border-box}.tb-btn.tb-split.tb-flip-dir.edge-target-top{border:2px solid transparent;background:linear-gradient(var(--toolbar-btn-bg, var(--color-bg-muted)),var(--toolbar-btn-bg, var(--color-bg-muted))) padding-box,linear-gradient(to bottom,var(--flashcard-target-edge) 50%,var(--flashcard-native-edge) 50%) border-box}
