@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap);@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css);@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Bebas+Neue&family=Rajdhani:wght@400;500;600;700&family=Teko:wght@400;500;600;700&family=Roboto+Condensed:wght@400;500;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap);:root{--primary-light:#ffa5001a;--primary-border:#ffa5004d;--bg-cream:#faf1ca;--bg-white:#fff;--bg-card:#f8f9fa;--bg-overlay:#00000080;--text-primary:#333;--text-secondary:#666;--text-light:#999;--text-white:#fff;--success-green:#28a745;--success-hover:#218838;--success-bg:#d4edda;--success-border:#c3e6cb;--error-red:#dc3545;--error-bg:#f8d7da;--error-border:#f5c6cb;--neutral-gray:#6c757d;--neutral-hover:#5a6268;--border-color:#e1e5e9;--font-family-mono:source-code-pro,Menlo,Monaco,Consolas,"Courier New",monospace;--container-padding:2rem;--border-radius-sm:8px;--border-radius-md:10px;--border-radius-lg:15px;--border-radius-xl:20px;--z-background:1;--z-sticky:10;--z-overlay:100;--z-modal:1000}#root,body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#faf1ca;background-color:var(--bg-cream,#faf1ca);color:#333;color:var(--text-primary,#333);font-family:Inter,sans-serif;font-family:var(--font-family-base,"Inter",sans-serif);margin:0;min-width:100vw;overflow-x:auto;padding:0;width:100vw}.chapter-completion-container,.cloze-exercise-container,.dialogue-universal-container,.grammar-feature-container,.grammar-feature-container-new,.shape-puzzle-container,.translation-matching-container,.vocabulary-feature-container,.vocabulary-feature-container-new{background:#faf1ca;background:var(--bg-cream,#faf1ca);box-sizing:border-box;display:flex;flex-direction:column;min-height:100%;overflow:auto;position:relative;width:100%;z-index:5}.chapter-completion-content,.cloze-content,.grammar-content,.shape-puzzle-content,.translation-content,.translation-game-container,.vocabulary-content{background:var(--bg-white,#fff)}.cloze-header,.dialogue-header,.grammar-header,.grammar-header-new,.shape-puzzle-header,.translation-header,.vocabulary-header,.vocabulary-header-new{box-sizing:border-box;color:#fff;color:var(--text-white,#fff);flex-shrink:0;min-width:100vw;padding:2rem;text-align:center;width:100vw}.completion-screen,.completion-screen-new,.game-screen,.game-screen-new,.setup-screen,.setup-screen-new{box-sizing:border-box;margin:0;min-width:100vw;padding:0 2rem;width:100vw}.action-btn{border-radius:var(--border-radius-md,10px)}.action-btn.primary{background:var(--primary-color,orange);color:var(--text-white,#fff)}.action-btn.primary:hover{background:var(--primary-hover,#e69500)}.action-btn.secondary{background:var(--neutral-gray,#999);color:var(--text-white,#fff)}.action-btn.secondary:hover{background:#5a6268;background:var(--neutral-hover,#5a6268)}.nav-btn{border-radius:var(--border-radius-sm,.5rem)}.continue-btn,.next-button-new,.start-button,.start-button-new,.submit-button,.submit-button-new{align-items:center;background:orange;background:var(--primary-color,orange);border:none;border-radius:10px;border-radius:var(--border-radius-md,10px);color:#fff;color:var(--text-white,#fff);cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;justify-content:center;padding:1rem 2rem;transition:all .3s ease}.continue-btn:hover,.next-button-new:hover,.start-button-new:hover,.start-button:hover,.submit-button-new:hover:not(:disabled),.submit-button:hover:not(:disabled){background:#e69500;background:var(--primary-hover,#e69500);transform:translateY(-2px)}.continue-btn:disabled,.start-button:disabled,.submit-button-new:disabled,.submit-button:disabled{background:#ccc;cursor:not-allowed;transform:none}.back-btn-new,.prev-btn-new,.setup-button-new{background:#6c757d;background:var(--neutral-gray,#6c757d);border:none;border-radius:10px;border-radius:var(--border-radius-md,10px);color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:1rem 1.5rem;transition:all .3s ease}.back-btn-new:hover,.prev-btn-new:hover,.setup-button-new:hover{background:#5a6268;background:var(--neutral-hover,#5a6268);transform:translateY(-2px)}.retry-button{background:#3b82f6;border-radius:var(--border-radius-sm,8px);transition:background-color .2s}.retry-button:hover{background:#2563eb}.play-again-button,.play-again-button-new{background:orange;background:var(--primary-color,orange);border:none;border-radius:10px;border-radius:var(--border-radius-md,10px);color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem 2rem;transition:all .3s ease}.play-again-button-new:hover,.play-again-button:hover{background:#e69500;background:var(--primary-hover,#e69500);transform:translateY(-2px)}.google-btn{border-radius:8px;cursor:pointer}.back-btn,.google-btn{border-radius:var(--border-radius-sm,8px)}.back-btn{background:var(--neutral-gray,#666)!important}.chapter-card,.level-card{background:#fff;background:var(--bg-white,#fff);border-radius:1rem;border-radius:var(--border-radius-md,1rem);box-shadow:0 10px 25px #0003;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:all .3s ease}.chapter-card:hover,.level-card:hover{box-shadow:0 20px 40px #0000004d;transform:translateY(-8px)}.feature-preview,.feature-preview-new,.result-card,.result-card-new,.stat-card{background:#f8f9fa;background:var(--bg-card,#f8f9fa);border-left:4px solid orange;border-left:4px solid var(--primary-color,orange);border-radius:15px;border-radius:var(--border-radius-lg,15px);padding:1.5rem}.auth-section,.dashboard-content,.error-content{background:#fff;background:var(--bg-white,#fff);border-radius:15px;border-radius:var(--border-radius-lg,15px);box-shadow:0 4px 6px #0000001a;padding:40px}.sentence-preview-new{border:2px solid var(--border-color,#e1e5e9)}.sentence-preview-new,.word-display-new{border-radius:var(--border-radius-lg,15px)}.word-display-new{background:var(--bg-card,#f8f9fa);border-left:4px solid var(--primary-color,orange);color:var(--text-primary,#333)}.config-form,.review-config-grid{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin-bottom:2rem}.config-group,.form-group{align-items:center;display:flex;flex-direction:column;gap:.5rem}.config-group label,.form-group label{color:#555;color:var(--text-secondary,#555);font-weight:600}.answer-input-new,.config-group select,.form-group input,.form-group select,.username-input{background:#fff;background:var(--bg-white,#fff);border:2px solid #e1e5e9;border:2px solid var(--border-color,#e1e5e9);border-radius:8px;border-radius:var(--border-radius-sm,8px);box-sizing:border-box;font-size:1rem;min-width:180px;padding:.8rem 1rem}.answer-input-new:focus,.username-input:focus,input:focus,select:focus{border-color:orange;border-color:var(--primary-color,orange);box-shadow:0 0 0 2px #ffa50040;box-shadow:0 0 0 2px var(--primary-light,#ffa50040);outline:none}input:disabled,select:disabled{background:#f8f9fa;cursor:not-allowed;opacity:.7}.loading-spinner{border-top:4px solid var(--bg-white,#fff)}.fade-in{animation:fadeIn .3s ease forwards}.slide-up{transition:transform .3s ease}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{transform:translateY(-5px)}:root{--font-family-base:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-family-mono:"SF Mono",Monaco,"Cascadia Code",monospace;--primary-color:#ff8a00;--primary-hover:#ff9d2e;--secondary-color:#9ca3af;--background-color:#0a0a0c;--text-color:#e5e7eb;--text-muted:#9ca3af;--error-color:#ef4444;--success-color:#10b981;--border-color:#ffffff14;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--radius-sm:0.5rem;--radius-md:0.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--shadow-sm:0 2px 4px #0000001a;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 10px 25px #0003;--shadow-xl:0 20px 40px #0000004d;--transition-fast:0.15s ease;--transition-base:0.3s ease;--transition-slow:0.5s ease;--z-base:1;--z-content:5;--z-card-hover:15;--z-dropdown:100;--z-sticky:500;--z-fixed:1000;--z-modal-backdrop:9000;--z-modal:9999;--z-navigation:10000;--focus-ring-color:var(--primary-color);--focus-ring-width:2px;--focus-ring-offset:2px}:focus{outline:none}.action-btn:focus-visible,.module-nav-btn:focus-visible,.nav-btn:focus-visible,.start-button:focus-visible,.start-learning-btn:focus-visible,button:focus-visible{box-shadow:0 0 0 4px #ffa50040;outline:2px solid #ff8a00;outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px;outline-offset:var(--focus-ring-offset)}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:#ff8a00;border-color:var(--focus-ring-color);outline:2px solid #ff8a00;outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px;outline-offset:var(--focus-ring-offset)}.chapter-card:focus-visible,.level-card:focus-visible,.option-btn:focus-visible{box-shadow:0 10px 25px #0003;box-shadow:var(--shadow-lg);outline:2px solid #ff8a00;outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px;outline-offset:var(--focus-ring-offset)}a:focus-visible{outline:2px solid #ff8a00;outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px;outline-offset:var(--focus-ring-offset)}*{margin:0;padding:0}body,html{height:100%;overflow-x:hidden;width:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--background-color);color:var(--text-color);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--font-family-base,-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif)}#root{display:flex;flex-direction:column;min-height:100vh;width:100%}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2}h1,h2,h3,h4,h5,h6,p{margin-bottom:var(--spacing-md)}p{line-height:1.6}a{color:var(--primary-color);text-decoration:none;transition:color var(--transition-base)}a:hover{color:var(--primary-hover)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-family:var(--font-family-mono,source-code-pro,Menlo,Monaco,Consolas,"Courier New",monospace)}button{background:var(--primary-color);border-radius:var(--radius-md);font-size:1rem;padding:.75rem 1.5rem;transition:background-color var(--transition-base)}button:hover{background:var(--primary-hover)}button:disabled{opacity:.6}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:var(--secondary-color);color:#fff}.btn-secondary:hover{background:#555}.btn-outline{background:#0000;border:2px solid var(--primary-color);color:var(--primary-color)}.btn-outline:hover{background:var(--primary-color);color:#fff}.action-btn{border-radius:var(--radius-sm);transition:all var(--transition-base)}.action-btn.primary{background:var(--primary-color)}.action-btn.primary:hover{background:var(--primary-hover)}.action-btn.secondary{background:#f3f4f6;color:var(--text-color)}.action-btn.secondary:hover{background:#e5e7eb}.back-btn{background:var(--secondary-color)!important;border-radius:var(--radius-md);transition:all var(--transition-base)}.back-btn:hover{transform:translateX(-4px)}.continue-btn{background:var(--primary-color);border-radius:var(--radius-md);margin-top:30px!important;transition:all var(--transition-base)}.continue-btn:hover{background:var(--primary-hover);transform:scale(1.02)}.continue-btn:disabled{background:#ccc;cursor:not-allowed;transform:none}.google-btn{border:1px solid var(--border-color)!important;color:var(--text-color)!important}.google-btn:hover{background:#f8f9fa!important;border-color:var(--primary-color)!important}.navigation{align-items:center;background:#fff;box-shadow:var(--shadow-md);display:flex;flex-shrink:0;grid-row:1;height:60px;height:var(--nav-height,60px);justify-content:space-between;left:0;padding:0 var(--spacing-xl);position:-webkit-sticky;position:sticky;right:0;top:0;z-index:var(--z-navigation)}.nav-brand{color:var(--primary-color);font-size:1.5rem;font-weight:700}.nav-menu{align-items:center;gap:var(--spacing-lg);list-style:none}.nav-item{border-radius:var(--radius-sm);cursor:pointer;padding:var(--spacing-sm) var(--spacing-md);transition:background var(--transition-base)}.nav-item:hover{background:#ffa5001a}.nav-item.active{background:var(--primary-color);color:#fff}.tab-item{transition:all var(--transition-base)}.tab-item.active{border-bottom-color:var(--primary-color);color:var(--primary-color)}.tab-item:hover{background:#ffa5000d;color:var(--primary-color)}.loading-spinner{border-top:4px solid var(--primary-color)}.loading-container{gap:var(--spacing-md);min-height:200px}.loading-text{color:var(--text-muted);font-size:1rem}.skeleton{animation:skeleton-loading 1.5s ease-in-out infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;border-radius:var(--radius-sm)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:1rem;margin-bottom:var(--spacing-sm)}.skeleton-title{height:2rem;margin-bottom:var(--spacing-md);width:60%}.skeleton-card{height:200px;width:100%}.chapter-title-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:var(--spacing-xl);width:100%}.chapter-title-content{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:800px;padding:var(--spacing-xl);text-align:center;width:100%}.chapter-title-header h1{color:var(--text-color);font-size:2.5rem;margin-bottom:var(--spacing-md)}.chapter-title-header p{color:var(--text-muted);font-size:1.2rem;margin-bottom:var(--spacing-xl)}.chapter-preview-image{border-radius:var(--radius-lg);margin-bottom:var(--spacing-xl);max-height:300px;object-fit:cover;width:100%}.chapter-objectives{margin-bottom:var(--spacing-xl);text-align:left}.chapter-objectives h3{font-size:1.5rem;margin-bottom:var(--spacing-md)}.chapter-objectives ul{list-style:none;padding:0}.chapter-objectives li{padding:var(--spacing-sm) 0;padding-left:var(--spacing-lg);position:relative}.chapter-objectives li:before{color:var(--primary-color);content:"✓";font-weight:700;left:0;position:absolute}.dialogue-universal-container{background:#000;min-height:100vh;overflow:hidden;padding:0}.dialogue-content{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);margin:0 auto;max-width:900px;padding:var(--spacing-xl)}.dialogue-header{margin-bottom:var(--spacing-xl);text-align:center}.dialogue-universal-game{height:100vh}.game-container{height:100%;position:relative;width:100%}.scenario-background{width:100%}.characters-container{pointer-events:none}.character{transition:transform .3s ease}.character img{filter:drop-shadow(0 0 10px rgba(0,0,0,.3));max-height:400px;max-width:200px}.character-name-label{background:#00000080;border-radius:10px;color:#fff;display:inline-block;font-size:.9rem;margin-top:.5rem;padding:2px 8px;text-shadow:0 1px 2px #000c}.dialogue-box{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000000d9;padding:2rem 3rem;z-index:10}.box-character-name{color:var(--primary-color);font-size:1.2rem;font-weight:700;letter-spacing:1px;margin-bottom:.5rem;text-transform:uppercase}.dialogue-text{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.korean-text{font-size:1.5rem;font-weight:500;line-height:1.4}.english-text{color:#ffffffb3;font-size:1.1rem;font-style:italic}.exercise-section{margin-top:1.5rem}.exercise-question{color:var(--primary-color);font-size:1.1rem;font-weight:600;margin:0 0 1rem}.answer-options{display:flex;gap:.8rem}.answer-option{background:#ffffff1a;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;padding:1rem 1.2rem;text-align:left;transition:all .2s ease}.answer-option:hover{background:#ffa50033;border-color:var(--primary-color);transform:translateX(5px)}.answer-option.selected{background:var(--primary-color);border-color:var(--primary-color);color:#fff;font-weight:600}.dialogue-error-container,.dialogue-loading-container{align-items:center;background:var(--bg-color);display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:2rem;text-align:center}.dialogue-error-content{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:600px;padding:2rem;width:100%}@media (max-width:768px){.character img{max-height:300px}.dialogue-box{padding:1.5rem}.korean-text{font-size:1.2rem}}:root{--carousel-gap:1rem;--card-transition:all 0.5s cubic-bezier(0.25,0.46,0.45,0.94);--card-transition-drag:all 0.15s ease-out;--primary-color:orange;--primary-hover:#e69500;--chapter-number-color:#cc8400;--card-bg-gradient-start:#ffa50026;--card-bg-gradient-end:#ffffffbf}.level-page-container{padding:calc(8vh + 1.5rem) 2vw 150px;padding:calc(8vh + 1.5rem) 2vw calc(var(--timeline-height) + 60px);transition:background .8s ease-in-out}.vignette-overlay{background:radial-gradient(ellipse at center,#0000 0,#0000 40%,#0006 100%);bottom:0;left:0;pointer-events:none;position:fixed;right:0;top:8vh;z-index:1}.level-title-container{position:absolute;right:3vw;text-align:right;top:calc(8vh + 1.5rem);z-index:2}.level-title{color:#1e293b;font-size:clamp(1.8rem,4vw,2.5rem);font-weight:800;line-height:1.1;margin:0}.level-subtitle{color:#64748b;font-size:clamp(.9rem,1.8vw,1.1rem);font-weight:500;margin:.25rem 0 0}.version-badge{background-color:#00c853;border:2px solid #fff;border-radius:.5rem;bottom:150px;bottom:calc(var(--timeline-height) + 60px);box-shadow:0 .25rem .75rem #0000004d;color:#fff;font-size:clamp(.75rem,1.5vw,.9rem);font-weight:700;line-height:1.4;padding:.75rem 2.5rem .75rem 1rem;position:fixed;right:1.5vw;z-index:100}.version-badge-close{background:#0000;border:none;color:#fff;cursor:pointer;font-size:.75rem;opacity:.7;padding:.25rem;position:absolute;right:.25rem;top:.25rem;transition:opacity .2s ease}.version-badge-close:hover{opacity:1}.menu-top-navigation{background:#fff;box-shadow:0 .125rem .25rem #0000001a;height:8vh;min-height:3.5rem;padding:0 2vw;z-index:100}.module-nav-buttons{gap:1rem}.module-nav-btn{align-items:center;border-radius:.5rem;color:#666;display:flex;gap:.5rem;transition:all .3s ease}.module-nav-btn:hover{background:#f1f1f1;color:#333}.chapters-carousel{align-items:stretch;display:flex;gap:1rem;gap:var(--carousel-gap);height:calc(87vh - 90px - 6rem);height:calc(87vh - var(--timeline-height) - 6rem);justify-content:center;margin:5vh auto 0;max-width:100vw;min-height:500px;padding:5% 2vw;position:relative;width:100%;z-index:2}.chapters-carousel.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.chapters-carousel.is-dragging .carousel-slot{transition:all .15s ease-out;transition:var(--card-transition-drag)}.carousel-slot{cursor:grab;flex:1 1;max-width:none;min-width:0;perspective:1200px;transform-style:preserve-3d;transition:all .5s cubic-bezier(.25,.46,.45,.94);transition:var(--card-transition)}.carousel-slot:active{cursor:grabbing}.carousel-slot.left{transform:scale(.8) rotateY(-25deg)!important;transform-origin:right center!important}.carousel-slot.left:hover{opacity:.8;transform:scale(.82) rotateY(-20deg) translateY(-10px)!important}.carousel-slot.center{animation:floatAnimation 3s ease-in-out infinite;transform:scale(1.1)!important}.carousel-slot.center .chapter-card{border:3px solid orange!important;border:3px solid var(--primary-color)!important;box-shadow:0 20px 50px #0000004d,0 0 40px #ffa50099!important;box-shadow:0 20px 50px #0000004d,0 0 40px var(--chapter-glow-color,#ffa50099)!important}@keyframes floatAnimation{0%,to{transform:scale(1.1) translateY(0)}50%{transform:scale(1.1) translateY(-12px)}}.carousel-slot.right{transform:scale(.8) rotateY(25deg)!important;transform-origin:left center!important}.carousel-slot.right:hover{opacity:.8;transform:scale(.82) rotateY(20deg) translateY(-10px)!important}.carousel-slot.empty{opacity:0!important;pointer-events:none!important;transform:none!important}.chapter-card{background:linear-gradient(180deg,#ffa50026,#ffffffbf);background:linear-gradient(180deg,var(--card-bg-gradient-start) 0,var(--card-bg-gradient-end) 100%);border:3px solid #0000;border-radius:1.5rem;box-shadow:0 10px 30px #00000026;height:100%;margin:0 auto;max-width:450px;min-width:280px;transition:all .5s cubic-bezier(.25,.46,.45,.94);transition:var(--card-transition);width:-webkit-fit-content!important;width:fit-content!important}.chapter-card *{box-sizing:border-box}.chapter-card.center-card{transform:translateY(-8px)}.chapter-card.left-card,.chapter-card.right-card{opacity:.85}.chapter-card:hover{box-shadow:0 15px 45px #0003;transform:translateY(-10px)}.chapter-card.center-card:hover{transform:translateY(-8px)}.chapter-preview-full{background:#eee;flex:1 1;min-height:0}.chapter-image-fallback{background:linear-gradient(135deg,#e0e0e0,#f5f5f5);color:#666;gap:.5rem}.chapter-image-fallback i{color:#bdbdbd;font-size:clamp(3rem,8vw,6rem)}.chapter-info-bottom{-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;background:linear-gradient(180deg,#ffffff1a,#ffa50026)!important;background:linear-gradient(180deg,#ffffff1a 0,var(--card-bg-gradient-start) 100%)!important;border-top:1px solid #fff3;flex-shrink:0;padding:clamp(.75rem,2vw,1rem) clamp(1rem,2.5vw,1.25rem) clamp(.5rem,1.5vw,.75rem);position:relative;z-index:10}.chapter-number{color:#cc8400;color:var(--chapter-number-color);font-size:clamp(.75rem,1.1vw,.85rem);letter-spacing:.8px;margin-bottom:.25rem;text-shadow:0 1px 2px #ffffff80}.chapter-title{color:#1e293b;font-size:clamp(1.1rem,1.8vw,1.3rem);font-weight:800;line-height:1.2}.chapter-actions{-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;background:linear-gradient(180deg,#ffa50026,#fff3)!important;background:linear-gradient(180deg,var(--card-bg-gradient-start) 0,#fff3 100%)!important;border-top:1px solid #ffffff1a;flex-shrink:0;gap:.6rem;padding:clamp(.5rem,1.5vw,.75rem) clamp(1rem,2.5vw,1.25rem) clamp(1rem,2.5vw,1.5rem);position:relative;z-index:10}.action-row{width:100%}.action-btn{background:#fff;border:1px solid #e2e8f0;color:#475569;font-size:clamp(.7rem,1.1vw,.8rem);gap:.3rem;padding:clamp(.5rem,1vw,.65rem);transition:all .2s ease}.action-btn:hover{background:#f8fafc;border-color:#cbd5e1;transform:translateY(-1px)}.action-btn.story-btn{color:#475569}.action-btn.story-btn:hover{color:#1e293b}.action-btn.review-btn{color:#3b82f6}.action-btn.review-btn:hover{background:#eff6ff;border-color:#3b82f6}.learn-btn{background:linear-gradient(135deg,orange,#f59e0b);background:linear-gradient(135deg,var(--primary-color) 0,#f59e0b 100%);border-radius:.75rem;box-shadow:0 4px 12px #ffa5004d;color:#fff!important;font-size:clamp(.85rem,1.3vw,.95rem);font-weight:700;gap:.4rem;padding:clamp(.65rem,1.2vw,.8rem);transition:all .3s ease}.learn-btn:hover:not(:disabled){background:linear-gradient(135deg,#e69500,#d97706);background:linear-gradient(135deg,var(--primary-hover) 0,#d97706 100%);box-shadow:0 6px 16px #ffa50066}.learn-btn:disabled{background:#cbd5e1}.chapter-timeline-container{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,#f9fafbf2,#eff6fff2);border:1px solid #00000014;border-radius:45px;bottom:30px;box-shadow:0 12px 40px #0000001f;height:90px;height:var(--timeline-height);justify-content:space-between;left:50%;max-width:none;padding:0 2.5rem;position:fixed;transform:translateX(-50%);width:calc(100% - 4vw);z-index:1000}.timeline-slot{gap:6px;padding:.5rem;transition:all .4s ease-out}.timeline-slot:hover{opacity:.85}.timeline-dot{background:#cbd5e1;box-shadow:0 2px 6px #0000001a;height:12px;transition:all .4s ease-out;width:12px}.timeline-slot.active .timeline-dot{background:orange;background:var(--primary-color);box-shadow:0 0 0 4px #ffa5004d}.timeline-label{color:#1e293b;font-size:clamp(.65rem,1vw,.75rem);font-weight:700;letter-spacing:.5px;white-space:nowrap}.timeline-counter{color:#64748b;font-size:clamp(.6rem,.9vw,.7rem);font-weight:600}.version-footer{align-items:center;-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);background:#fffffff2;border-top:1px solid #eee;bottom:0;display:flex;font-size:.8rem;gap:1rem;justify-content:center;left:0;padding:.4rem 1rem;position:fixed;right:0;z-index:50}.version-info{color:#666;font-weight:500}.version-toggle-btn{background:#0000;border:1px solid #ddd;border-radius:.25rem;color:#666;cursor:pointer;font-size:.75rem;padding:.2rem .4rem;transition:all .2s ease}.version-toggle-btn:hover{background:#f0f0f0;border-color:#ccc}.chapter-card:focus-visible{outline:2px solid orange;outline:2px solid var(--primary-color);outline-offset:3px}.module-nav-btn:focus-visible{background:#f1f1f1;outline:2px solid orange;outline:2px solid var(--primary-color);outline-offset:2px}.action-btn:focus-visible{border-color:orange;border-color:var(--primary-color);outline:2px solid orange;outline:2px solid var(--primary-color);outline-offset:2px}.learn-btn:focus-visible{box-shadow:0 0 0 4px #ffa50066;outline:2px solid #fff;outline-offset:2px}.timeline-slot:focus-visible{outline:2px solid orange;outline:2px solid var(--primary-color);outline-offset:2px}.version-toggle-btn:focus-visible{outline:2px solid orange;outline:2px solid var(--primary-color);outline-offset:2px}.version-badge-close:focus-visible{opacity:1;outline:2px solid #fff;outline-offset:2px}@media (max-width:1024px){.chapters-carousel{gap:.75rem;height:calc(87vh - 90px - 5rem);height:calc(87vh - var(--timeline-height) - 5rem);min-height:450px}.chapter-timeline-container{width:92%}}@media (max-width:768px){.level-page-container{padding-bottom:170px;padding-bottom:calc(var(--timeline-height) + 80px)}.level-title-container{margin-bottom:1.5rem;position:relative;right:0;text-align:center;top:0}.chapters-carousel{align-items:center;flex-direction:column;gap:1rem;height:auto;margin-top:0;max-height:calc(92vh - 90px - 8rem);max-height:calc(92vh - var(--timeline-height) - 8rem);padding:2% 2vw}.carousel-slot{max-width:100%;width:100%}.carousel-slot.left,.carousel-slot.right{display:none}.carousel-slot.center{animation:none;display:block;transform:none}.chapter-timeline-container{height:80px;padding:0 1.5rem;width:94%}.timeline-label{font-size:.65rem}}@media (min-width:1920px){.chapters-carousel{height:calc(87vh - 90px - 7rem);height:calc(87vh - var(--timeline-height) - 7rem);min-height:550px}.chapter-card{max-height:700px}}@media (max-height:800px){.chapters-carousel{height:calc(87vh - 90px - 4rem);height:calc(87vh - var(--timeline-height) - 4rem);margin-top:2vh;min-height:400px;padding:2% 2vw}.chapter-info-bottom{padding:.75rem 1rem .5rem}.chapter-actions{padding:.5rem 1rem 1rem}}@media (max-width:480px){.chapter-card{min-height:350px}.chapter-title{font-size:1rem}.learn-btn{font-size:.85rem;padding:.6rem}.action-btn{font-size:.7rem;padding:.45rem}}.test-bench-container{align-items:center;background:radial-gradient(circle at top right,#1a1a2e,#16213e);color:#fff;display:flex;flex-direction:column;min-height:100vh;padding:40px 20px}.test-bench-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;box-shadow:0 10px 30px #00000080;max-width:90vw;padding:40px;width:100%}.test-bench-header{margin-bottom:30px;text-align:center}.test-bench-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#00d2ff,#3a7bd5);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;margin-bottom:10px}.test-bench-header p{color:#a0a0c0}.test-bench-form{display:flex;flex-direction:column;gap:20px}.form-group{gap:8px}.form-group label{color:#00d2ff;letter-spacing:1px;text-transform:uppercase}.test-bench-select{background:#0000004d;border:1px solid #fff3;border-radius:8px;color:#fff;font-size:1rem;outline:none;padding:12px;transition:all .3s ease}.test-bench-select:focus{border-color:#00d2ff;box-shadow:0 0 10px #00d2ff4d}.test-bench-select option{background:#1a1a2e;color:#fff}.start-test-btn{align-items:center;background:linear-gradient(90deg,#00d2ff,#3a7bd5);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:700;gap:10px;justify-content:center;letter-spacing:2px;margin-top:20px;padding:16px;text-transform:uppercase;transition:all .3s ease}.start-test-btn:hover{box-shadow:0 5px 20px #00d2ff66;transform:translateY(-2px)}.start-test-btn:active{transform:translateY(1px)}.test-bench-footer{color:#666;font-size:.8rem;margin-top:30px}.info-btn{align-items:center;background:#0000;border:2px solid #00d2ff;border-radius:50%;color:#00d2ff;cursor:pointer;display:flex;font-size:1.2rem;height:2.5rem;justify-content:center;transition:all .3s ease;width:2.5rem}.info-btn:hover{background:#00d2ff;color:#1a1a2e;transform:scale(1.1)}.instructions-overlay{align-items:center;-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.instructions-modal{background:#1a1a2e;border:1px solid #00d2ff4d;border-radius:1rem;box-shadow:0 1.5rem 3rem #00d2ff33;display:flex;flex-direction:column;max-height:85vh;max-width:90vw;overflow:hidden;width:100%}.instructions-header{align-items:center;background:linear-gradient(90deg,#00d2ff1a,#3a7bd51a);border-bottom:1px solid #00d2ff33;display:flex;justify-content:space-between;padding:1.5rem 2rem}.instructions-header h2{align-items:center;color:#00d2ff;display:flex;font-size:1.5rem;gap:.75rem;margin:0}.instructions-header .close-btn{background:#0000;border:none;color:#a0a0c0;cursor:pointer;font-size:1.5rem;padding:.5rem;transition:color .2s ease}.instructions-header .close-btn:hover{color:#f44}.instructions-content{color:#e0e0e0;line-height:1.6;overflow-y:auto;padding:2rem}.instruction-section{border-bottom:1px solid #ffffff1a;margin-bottom:2rem;padding-bottom:2rem}.instruction-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.instruction-section h3{align-items:center;color:#00d2ff;display:flex;font-size:1.2rem;gap:.5rem;margin-bottom:1rem}.instruction-section ol,.instruction-section ul{margin:1rem 0;padding-left:1.5rem}.instruction-section li{margin-bottom:.75rem}.instruction-section li ul{margin-top:.5rem}.instruction-section code{background:#00d2ff26;border-radius:.25rem;color:#00d2ff;font-family:Consolas,Monaco,monospace;font-family:var(--font-family-mono,"Consolas","Monaco",monospace);font-size:.9em;padding:.15rem .4rem}.instruction-section pre{background:#0006;border:1px solid #00d2ff33;color:#b0e0ff;font-family:Consolas,Monaco,monospace;font-family:var(--font-family-mono,"Consolas","Monaco",monospace);font-size:.85rem;line-height:1.5;overflow-x:auto}.code-section,.instruction-section pre{border-radius:.5rem;margin:1rem 0;padding:1rem}.code-section{background:#0003}.code-section h4{color:#3a7bd5;font-size:1rem;margin:0 0 .5rem}.code-section p{font-size:.9rem;margin:.5rem 0}.warning-box{align-items:flex-start;background:#ffa5001a;border:1px solid #ffa5004d;border-radius:.5rem;display:flex;gap:1rem;margin:1rem 0;padding:1rem}.warning-box i{color:orange;flex-shrink:0;font-size:1.5rem}.warning-box strong{color:orange}.troubleshooting-table{border-collapse:collapse;font-size:.9rem;margin:1rem 0;width:100%}.troubleshooting-table td,.troubleshooting-table th{border:1px solid #ffffff1a;padding:.75rem;text-align:left}.troubleshooting-table th{background:#00d2ff1a;color:#00d2ff;font-weight:600}.troubleshooting-table td{background:#0003}.troubleshooting-table tr:hover td{background:#00d2ff0d}@media (max-width:640px){.instructions-overlay{padding:1rem}.instructions-modal{max-height:90vh}.instructions-content,.instructions-header{padding:1rem}.instruction-section pre{font-size:.75rem}}.console-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000d9;border:1px solid #ffffff1a;border-radius:12px;box-shadow:-10px 0 30px #00000080;display:flex;flex-direction:column;height:calc(100vh - 100px);overflow:hidden;position:fixed;right:20px;top:60px;transition:all .3s cubic-bezier(.4,0,.2,1);width:400px;z-index:10000}.console-overlay.minimized{transform:translateX(110%)}.console-header{align-items:center;background:#ffffff0d;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:12px 16px}.console-header h3{color:#00d2ff;font-size:.9rem;letter-spacing:1px;margin:0;text-transform:uppercase}.console-controls{display:flex;gap:10px}.console-btn{background:none;border:none;color:#a0a0c0;cursor:pointer;font-size:.8rem;padding:4px;transition:color .2s}.console-btn:hover{color:#fff}.console-logs{display:flex;flex:1 1;flex-direction:column;font-family:Consolas,Monaco,monospace;font-family:var(--font-family-mono,"Consolas","Monaco",monospace);font-size:.8rem;gap:4px;overflow-y:auto;padding:10px}.log-entry{border-left:3px solid #0000;border-radius:4px;padding:4px 8px;word-break:break-all}.log-entry.info{background:#00d2ff0d;border-left-color:#00d2ff;color:#fff}.log-entry.warn{background:#ffcc000d;border-left-color:#fc0;color:#fc0}.log-entry.error{background:#ff4d4d0d;border-left-color:#ff4d4d;color:#ff4d4d}.log-entry.success{background:#00ff880d;border-left-color:#0f8;color:#0f8}.log-entry.tracking{background:#cc66ff0d;border-left-color:#c6f;color:#c6f}.log-entry.data{background:#00d2ff0d;border-left-color:#00d2ff;color:#00d2ff}.log-time{color:#666;font-size:.7rem;margin-right:8px}.console-footer{background:#0000004d;display:flex;justify-content:flex-end;padding:8px}:root{--teach-primary:#4f46e5;--teach-secondary:#06b6d4;--teach-accent:#f59e0b;--teach-success:#10b981;--teach-error:#ef4444;--teach-bg-glass:#fffffff7;--teach-border:#4f46e51a;--teach-shadow:0 10px 40px #00000014;--font-heading:"Outfit","Inter",sans-serif;--font-body:"Inter",-apple-system,sans-serif;--timeline-height:90px;--timeline-bottom:30px;--board-padding-vertical:90px;--board-padding-horizontal:5%;--board-top-offset:30px;--board-bottom-offset:20px}.teach-module-container{background:linear-gradient(135deg,#f8fafc,#eef2f7);color:#1e293b;font-family:Inter,-apple-system,sans-serif;font-family:var(--font-body);height:100vh;overflow:hidden;position:relative;width:100vw}.teach-module-container.vocab-theme{background:linear-gradient(135deg,#f0fdfa,#e0f2fe)}.teach-module-container.overlay-mode{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f172af2;left:0;position:fixed;top:0;z-index:2000}.background-layer{inset:0;pointer-events:none;position:absolute;z-index:0}.teach-top-nav{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0f172a80;border-bottom:1px solid #ffffff1a;height:60px;height:var(--nav-height);justify-content:space-between;left:0;padding:0 2rem;position:absolute;top:0;width:100%;z-index:9999}.board-layer,.teach-top-nav{align-items:center;display:flex}.board-layer{flex-direction:column;height:calc(100vh - 60px);height:calc(100vh - var(--nav-height));justify-content:center;padding-bottom:140px;padding-bottom:calc(var(--timeline-height) + var(--timeline-bottom) + var(--board-bottom-offset));padding-top:30px;padding-top:var(--board-top-offset);position:relative;z-index:2010}.lesson-board,.vocab-lesson-board{background:#fffffff7;background:var(--teach-bg-glass);border:1px solid #4f46e51a;border:1px solid var(--teach-border);border-radius:24px;box-shadow:0 10px 40px #00000014;box-shadow:var(--teach-shadow);display:flex;flex-direction:column;max-height:calc(100vh - 230px);max-height:calc(100vh - var(--nav-height) - var(--board-top-offset) - var(--timeline-height) - var(--timeline-bottom) - var(--board-bottom-offset));max-width:1400px;overflow-x:hidden;overflow-y:auto;padding:2.5rem;position:relative;width:90vw}.lesson-board.split-layout{flex-direction:row;gap:0;padding:0}.split-board-container{display:flex;flex-direction:row;height:100%;width:100%}.board-column{display:flex;flex:1 1;flex-direction:column;gap:1.5rem;overflow-y:auto;padding:2rem}.story-column{background:linear-gradient(180deg,#fafbfd,#f8fafc);border-right:2px dashed #4f46e526}.lesson-column{background:#fff}.main-kr-title,.scenario-title-kr,.title-korean{color:#0f172a;font-family:Outfit,Inter,sans-serif;font-family:var(--font-heading);font-size:2.25rem;font-weight:900;line-height:1.2;margin-bottom:.25rem}.scenario-title-en,.sub-en-title,.title-english{color:#64748b;font-size:1.2rem;font-weight:500;margin-bottom:.75rem}.content-subtitle{align-self:flex-start;background:#eef2ff;border-radius:12px;color:#4f46e5;color:var(--teach-primary);display:inline-block;font-size:.85rem;font-weight:800;letter-spacing:1px;margin-bottom:1rem;padding:8px 18px;text-transform:uppercase}.body-text,.intro-body,.scenario-body{color:#334155;font-size:1rem;line-height:1.6;margin-bottom:1rem}.example-box,.live-example-box,.match-card,.mistake-card,.vocab-card{background:#fff;border:2px solid #e2e8f0;border-radius:14px;box-shadow:0 2px 8px #0000000a;max-width:100%;padding:1.25rem;transition:all .3s cubic-bezier(.4,0,.2,1);word-break:break-word}.match-card:not(.matched):hover,.vocab-card:hover{border-color:#4f46e5;border-color:var(--teach-primary);box-shadow:0 10px 20px #4f46e526;transform:translateY(-4px)}.example-korean,.match-card .kr,.vocab-card .kr{color:#0f172a;display:block;font-size:1.75rem;font-weight:800;line-height:1.3;margin-bottom:.5rem}.example-english,.match-card .en,.vocab-card .en{color:#64748b;display:block;font-size:1rem;font-style:italic;margin-bottom:1rem}.vocab-card .note{border-top:2px dashed #e2e8f0;color:#475569;font-size:.9rem;line-height:1.5;padding-top:.75rem}.match-card.selected{background:#4f46e5!important;background:var(--teach-primary)!important;border-color:#4f46e5!important;border-color:var(--teach-primary)!important;box-shadow:0 8px 16px #4f46e54d!important;color:#fff!important}.match-card.selected .en,.match-card.selected .kr{color:#fff!important}.match-card.matched{background:#f0fdf4!important;border-color:#10b981!important;border-color:var(--teach-success)!important;opacity:.5;pointer-events:none}.match-card.matched,.match-card.matched .en,.match-card.matched .kr{color:#10b981!important;color:var(--teach-success)!important}.vocab-grid{grid-gap:1.5rem;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.matching-grid,.vocab-grid{display:grid;margin:2rem 0;max-width:100%}.matching-grid{grid-gap:2rem;gap:2rem;grid-template-columns:1fr 1fr}@media (max-width:768px){.matching-grid,.vocab-grid{grid-template-columns:1fr}}.timeline-nav-container{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#1e293beb;border:1px solid #fff3;border-radius:45px;bottom:30px;bottom:var(--timeline-bottom);box-shadow:0 12px 40px #00000040;display:flex;height:90px;height:var(--timeline-height);justify-content:space-between;left:50%;max-width:1400px;padding:0 4vw;position:fixed;transform:translateX(-50%);width:90vw;z-index:2020}.timeline-slot{flex:1 1;gap:8px;height:100%;justify-content:center;transition:all .4s cubic-bezier(.4,0,.2,1)}.timeline-dot{background:#ffffff80;height:18px;transition:all .3s;width:18px}.timeline-label{color:#fff;font-size:.85rem;letter-spacing:1px;text-align:center;text-transform:uppercase}.timeline-status{color:#fff9;font-size:.65rem;text-transform:uppercase}.timeline-slot.active{transform:scale(1.15)}.timeline-slot.active .timeline-dot{background:#4f46e5;background:var(--teach-primary);box-shadow:0 0 0 4px #4f46e559}.timeline-slot.active .timeline-status{color:#f59e0b;color:var(--teach-accent);font-weight:700}.timeline-slot.completed{cursor:pointer;opacity:.7}.timeline-slot.completed .timeline-dot{background:#10b981;background:var(--teach-success)}.timeline-slot.completed .timeline-status{color:#4ade80;font-weight:700}.timeline-slot.disabled{cursor:not-allowed;opacity:.3;pointer-events:none}.timeline-slot.disabled .timeline-dot{background:#ffffff4d}.timeline-slot.empty{visibility:hidden}.page-navigation{gap:1.5rem;margin-top:2rem;padding:1rem 0;width:100%}.page-arrow,.page-navigation{align-items:center;display:flex;justify-content:center}.page-arrow{background:#4f46e5;background:var(--teach-primary);border:none;border-radius:50%;box-shadow:0 2px 8px #4f46e54d;color:#fff;cursor:pointer;font-size:1rem;height:44px;transition:all .2s cubic-bezier(.4,0,.2,1);width:44px}.page-arrow:hover:not(:disabled){background:#6366f1;box-shadow:0 4px 12px #4f46e566;transform:scale(1.1)}.page-arrow:disabled{background:#cbd5e1;cursor:not-allowed;opacity:.3}.page-indicator{color:#475569;font-size:.9rem;font-weight:700;min-width:100px;text-align:center}.nav-btn.primary{background:#4f46e5;background:var(--teach-primary);border:2px solid #4f46e5;border:2px solid var(--teach-primary);border-radius:30px;box-shadow:0 4px 12px #4f46e566;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s cubic-bezier(.4,0,.2,1)}.nav-btn.primary:hover{background:#4338ca;box-shadow:0 6px 16px #4f46e580;transform:translateY(-2px)}.nav-btn{background:#ffffff1f;border-radius:30px;font-size:.95rem;font-weight:600;padding:10px 20px;transition:all .2s cubic-bezier(.4,0,.2,1)}.nav-btn:hover{background:#ffffff38;box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.nav-btn:disabled{cursor:not-allowed;opacity:.5}.nav-info{color:#fffffff2;font-size:1.05rem;font-weight:600;letter-spacing:.3px}.grammar-badge{align-items:center;background:linear-gradient(135deg,#4f46e5,#06b6d4);background:linear-gradient(135deg,var(--teach-primary),var(--teach-secondary));border-radius:16px;box-shadow:0 6px 20px #4f46e566;color:#fff;display:flex;font-size:.95rem;font-weight:800;gap:8px;left:50%;letter-spacing:.5px;padding:10px 28px;position:absolute;top:-22px;transform:translateX(-50%);z-index:2020}.stage-indicator{align-items:center;background:#f1f5f9;border-radius:50px;color:#475569;display:inline-flex;font-size:.9rem;font-weight:600;gap:.5rem;margin-bottom:2rem;padding:.5rem 1rem}.teacher-prompt{margin-bottom:2rem;width:100%}.prompt-bubble{background:#fffbeb;border-left:4px solid #f59e0b;border-left:4px solid var(--teach-accent);border-radius:8px;box-shadow:0 2px 4px #0000000d;color:#92400e;font-weight:500;padding:1rem}.dialogue-layout{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:minmax(0,3fr);width:100%}.dialogue-bubble{animation:bubbleSlideIn .4s ease-out forwards;border-radius:16px;box-shadow:0 2px 8px #0000000f;margin-bottom:.5rem;padding:1rem 1.25rem;transition:transform .2s ease,opacity .3s ease}.dialogue-bubble.narrator{background:linear-gradient(90deg,#f1f5f9,#e2e8f0);border-bottom-left-radius:4px;margin-right:15%}.dialogue-bubble.character{background:linear-gradient(90deg,#dbeafe,#bfdbfe);border-bottom-right-radius:4px;margin-left:15%}.bubble-speaker{color:#64748b;font-size:.75rem;font-weight:800;margin-bottom:.25rem;text-transform:uppercase}.bubble-text-kr{font-size:1.1rem;font-weight:600}.bubble-text-en{animation:fadeIn .3s ease-in-out;color:#64748b;font-size:.9rem;font-style:italic}@keyframes bubbleSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translateX(0)}20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}@keyframes slideTimelineLeft{0%{opacity:1;transform:translateX(0)}50%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes slideTimelineRight{0%{opacity:1;transform:translateX(0)}50%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}.timeline-nav-container.animating-next .timeline-slot{animation:slideTimelineLeft .5s ease-in-out}.timeline-nav-container.animating-prev .timeline-slot{animation:slideTimelineRight .5s ease-in-out}.construction-steps,.guided-steps{display:flex;flex-direction:column;gap:.75rem}.step-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:1rem;padding:.75rem}.step-number{background:linear-gradient(135deg,#4f46e5,#6366f1);background:linear-gradient(135deg,var(--teach-primary),#6366f1);border-radius:50px;color:#fff;font-size:.75rem;font-weight:800;min-width:60px;padding:4px 12px;text-align:center}.step-content{flex:1 1}.step-action{color:#334155;font-weight:600}.step-value{color:#4f46e5;color:var(--teach-primary);font-weight:700}.teacher-note{border-left:4px solid;border-radius:10px;display:flex;gap:.5rem;margin:1rem 0;padding:1rem}.note-info{background:#eff6ff;border-color:#06b6d4;border-color:var(--teach-secondary)}.note-warning{background:#fff7ed;border-color:#f59e0b;border-color:var(--teach-accent)}.note-important{background:#fdf2f8;border-color:#db2777}.mistake-incorrect{color:#ef4444;color:var(--teach-error);font-weight:600}.mistake-correct{color:#10b981;color:var(--teach-success);font-weight:600}.mistake-explanation{color:#64748b;font-size:.9rem;margin-top:.25rem}.progress-container{background:#94a3b833;bottom:0;height:8px;left:0;position:fixed;width:100%;z-index:9998}.progress-fill{background:linear-gradient(90deg,#4f46e5,#06b6d4);background:linear-gradient(90deg,var(--teach-primary),var(--teach-secondary));box-shadow:0 0 10px #4f46e580;transition:width .4s cubic-bezier(.4,0,.2,1)}.breakdown-grid{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.breakdown-item{align-items:center;background:#f8fafc;border-radius:8px;display:flex;gap:.5rem;padding:.5rem 1rem}.breakdown-key{color:#64748b;font-weight:600;text-transform:capitalize;width:100px}.breakdown-arrow{color:#4f46e5;color:var(--teach-primary)}.breakdown-value{color:#0f172a;font-weight:700}.rule-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.rule-list li{display:flex;font-size:1rem;gap:.5rem}.rule-bullet{color:#4f46e5;color:var(--teach-primary);font-weight:700}*{box-sizing:border-box}body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font-family-base,"Inter",-apple-system,BlinkMacSystemFont,sans-serif);margin:0;overflow-x:auto;padding:0}#root,body,html{min-width:100vw;width:100vw}.exercise-container,.feature-container,.map-menu,.module-container{box-sizing:border-box;margin-left:0!important;margin-right:0!important;max-width:none!important;min-width:100vw!important;width:100vw!important}.chapter-completion-container,.cloze-exercise-container,.dialogue-universal-container,.grammar-feature-container,.shape-puzzle-container,.translation-matching-container,.vocabulary-feature-container{background:#faf1ca;box-sizing:border-box;display:flex;flex-direction:column;min-height:100%;overflow:auto;position:relative;width:100%;z-index:5}.chapter-completion-content,.cloze-content,.grammar-content,.shape-puzzle-content,.translation-content,.translation-game-container,.vocabulary-content{background:#fff;border-radius:0;box-shadow:none;box-sizing:border-box;flex:1 1;min-width:100vw;overflow-y:auto;padding:2rem;width:100vw}.completion-screen,.game-screen,.setup-screen{box-sizing:border-box;margin:0;min-width:100vw;padding:0 2rem;width:100vw}.cloze-header,.dialogue-header,.grammar-header,.shape-puzzle-header,.translation-header,.vocabulary-header{box-sizing:border-box;color:#fff;flex-shrink:0;min-width:100vw;padding:2rem;text-align:center;width:100vw}.routing-error-container{background-color:#faf1ca;min-height:100vh;padding:20px}.error-content{background:#fff;box-shadow:0 4px 20px #0000001a;max-width:90vw;padding:40px;width:100%}.error-content h2{color:orange;margin-bottom:16px}.error-content p{color:#666;line-height:1.5;margin-bottom:20px}.loading-spinner{border:4px solid #f3f3f3;border-top-color:orange}.pre-deployment-app{min-width:100vw}.pre-deployment-app,body{font-family:Inter,sans-serif;font-family:var(--font-family-base,"Inter",sans-serif);min-height:100vh}body{align-items:center;background-color:#faf1ca;display:flex;justify-content:center;margin:0;padding:0}.container{display:flex;max-width:90vw;min-height:0;overflow-x:hidden;overflow-y:auto;width:100%}.logo-section{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:40px;text-align:center}.logo-section h1{color:orange;font-size:1.8rem;font-weight:700;margin:10px 0 5px}.logo-section p{color:#666;font-size:1rem;margin:0}.logo{max-height:200px;max-width:200px;object-fit:contain}.auth-section{flex:1 1;padding:40px}.tab-nav{border-bottom:2px solid #eee;display:flex;margin-bottom:30px}.tab-item{border-bottom:3px solid #0000;color:#999;cursor:pointer;flex:1 1;font-size:16px;font-weight:500;padding:15px 0;text-align:center;transition:all .3s ease}.tab-item.active{border-bottom-color:orange;color:orange}.tab-item:hover{color:orange}.auth-form{display:none}.auth-form.active{display:block}form{display:flex;flex-direction:column;margin-bottom:20px}button,input{border:1px solid #ddd;border-radius:8px;font-size:14px;margin:8px 0;padding:12px}.password-container{align-items:center;display:flex;position:relative}.password-container input{flex:1 1;margin-right:0}.password-toggle{color:#999;cursor:pointer;position:absolute;right:12px;transition:color .3s}.password-toggle:hover{color:orange}input:focus{border-color:orange;box-shadow:0 0 0 2px #ffa50040;outline:none}button{background:orange;border:none;color:#fff;cursor:pointer;font-weight:500;transition:background-color .3s}button:hover{background:#e69500}button:disabled{background:#ccc;cursor:not-allowed}.google-btn{align-items:center;background:#fff!important;border:1px solid #ddd!important;color:#333!important;display:flex;font-weight:500;gap:10px;justify-content:center;margin-top:10px;min-height:44px;padding:12px 16px;white-space:nowrap;width:100%}.google-btn:hover{background:#f8f8f8!important;border-color:#ccc!important}.google-btn i{color:#4285f4;font-size:16px}.back-btn{margin-bottom:20px;width:100%}.message{border-radius:5px;font-weight:700;margin-top:20px;padding:10px}.message.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.message.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}h2{color:#333;font-size:24px;margin-bottom:20px}.dashboard{align-items:center;background-color:#faf1ca;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:40px}.dashboard-content{background:#fff;border-radius:15px;box-shadow:0 4px 6px #0000001a;max-width:90vw;padding:40px;text-align:center;width:100%}.dashboard h1{color:orange;font-size:2.5rem;margin-bottom:20px}.dashboard p{color:#666;font-size:1.1rem;line-height:1.6;margin-bottom:30px}.user-info{background:#f8f9fa;border-left:4px solid orange;border-radius:10px;margin:20px 0;padding:20px}.user-info h3{color:orange;margin-bottom:10px}.user-info p{color:#333;margin:5px 0}.logout-btn{align-items:center;background:#dc3545!important;border:none!important;border-radius:8px;color:#fff!important;cursor:pointer;display:flex;font-weight:500;gap:10px;justify-content:center;margin-top:20px;padding:12px;transition:background-color .3s;width:100%}.logout-btn:hover{background:#c82333!important}.chapters-container{display:flex;flex-direction:column;gap:15px;margin:0 auto;max-width:90vw}.chapters-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(3,1fr);margin:0 auto;max-width:90vw;padding:0}.chapter-card{background:#fff;border-radius:1rem;box-shadow:0 10px 25px #0003;cursor:pointer;transform:translateY(0);transition:all .3s ease}.chapter-card:hover{box-shadow:0 20px 40px #0000004d;transform:translateY(-8px)}.chapter-preview{height:150px;overflow:hidden;position:relative}.chapter-image{display:block}.chapter-image-fallback{background:#faf1ca;color:#fff;display:none;font-size:1.2rem;font-weight:700}.chapter-image-fallback i{font-size:2rem;margin-bottom:.5rem}.chapter-content{display:flex;flex:1 1;flex-direction:column;padding:1.5rem}.chapter-info{margin-bottom:1.5rem}.chapter-number{color:orange;font-size:.9rem}.chapter-title{color:#374151;font-size:1.3rem;font-weight:700;margin-bottom:.5rem}.chapter-description{color:#6b7280;font-size:.9rem;line-height:1.4}.chapter-actions{gap:1rem;margin-top:auto}.action-row{gap:.5rem}.action-btn{border-radius:.5rem;font-weight:500;padding:.75rem 1rem}.story-btn{background:orange;color:#fff}.story-btn:hover{background:#e69500;transform:translateY(-1px)}.review-btn{background:#e69500;color:#fff}.review-btn:hover{background:#e69500;transform:translateY(-1px)}.start-learning-btn{align-items:center;background:#10b981;border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:1rem;transition:all .3s ease;width:100%}.start-learning-btn:hover{background:#059669;box-shadow:0 4px 12px #10b9814d;transform:translateY(-2px)}.level-page-container{background-color:#faf1ca;box-sizing:border-box;padding:calc(60px + 2rem) 2rem 2rem;padding-top:calc(var(--nav-height, 60px) + 2rem);width:100%}.level-header{margin-bottom:2rem;text-align:center}.level-header h2{color:#333;font-size:2rem;margin-bottom:1rem}.level-info{margin-bottom:2rem;text-align:center}.back-btn{align-items:center;background:#666!important;border:none!important;border-radius:8px;color:#fff!important;cursor:pointer;display:flex;font-weight:500;gap:10px;justify-content:center;margin-bottom:2rem;padding:12px 24px;transition:background-color .3s}.back-btn:hover{background:#555!important}.back-btn i{font-size:14px}.question-container{margin-bottom:30px}.question-container h3{color:#333;font-size:18px;margin-bottom:20px;text-align:center}.option-buttons{display:flex;gap:15px}.option-btn{background:#999!important;border:2px solid #ddd!important;border-radius:8px;color:#333!important;flex:1 1;font-size:16px!important;font-weight:500!important;padding:15px 20px!important;transition:all .3s ease!important}.option-btn:hover{border-color:orange!important;color:orange!important}.option-btn.selected{background:orange!important;border-color:orange!important;color:#fff!important}.continue-btn{background:orange;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px!important;font-weight:500!important;margin-top:calc(60px + 1rem)!important;margin-top:calc(var(--nav-height, 60px) + 1rem)!important;padding:15px!important;transition:all .3s ease;width:100%!important}.continue-btn:hover{background:#e69500}.continue-btn:disabled{background:#ccc!important;cursor:not-allowed!important}.level-indicator{background:#f8f8f8;border-left:4px solid orange;border-radius:10px;margin-bottom:25px;padding:15px;text-align:center}.level-indicator h3{color:orange;font-size:20px;margin-bottom:5px}.level-indicator p{color:#666;font-size:14px;margin:0}.question-content{margin-bottom:20px}.question-content h4{color:#333;font-size:16px;line-height:1.4;margin-bottom:15px}.progress-bar{margin-top:20px;width:100%}.progress-fill{width:0}@media (max-width:640px){.container{flex-direction:column;overflow-x:hidden;overflow-y:auto;padding:15px}.auth-section,.logo-section{padding:20px}.google-btn{gap:8px;padding:12px}.google-btn,.google-btn i{font-size:14px}.dashboard{padding:20px}.dashboard-content{padding:30px 20px}.dashboard h1{font-size:2rem}.level-page-container{padding:calc(60px + 1.5rem) 1rem 1rem;padding-top:calc(var(--nav-height, 60px) + 1.5rem)}.level-header h2{font-size:1.5rem}.chapters-grid{gap:1.5rem;grid-template-columns:1fr}}:root{--nav-height:60px;--nav-padding:0.75rem 2rem;--content-offset:var(--nav-height);--version-btn-right:20px;--version-btn-bottom:10px;--version-btn-size:32px;--version-btn-font:12px}@media (min-width:641px){:root{--version-btn-right:27px;--version-btn-size:40px;--version-btn-font:12px}}@media (max-width:640px){:root{--version-btn-right:15px;--version-btn-bottom:15px;--version-btn-size:36px;--version-btn-font:12px}}.app-homepage{background:#faf1ca;display:flex;min-height:100vh;padding-top:60px;padding-top:var(--nav-height,60px)}.main-content{align-items:center;display:flex;flex:1 1;flex-direction:column;padding:3rem}.welcome-section{color:#fff;margin-bottom:3rem;text-align:center}.welcome-section h1{font-size:2.5rem;font-weight:700;margin-bottom:1rem;text-shadow:0 2px 4px #0000004d}.subtitle{font-size:1.1rem;font-weight:300;opacity:.9}.level-cards-container{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(2,1fr);max-width:800px;width:100%}.level-card{align-items:center;background:#fff;border-radius:1rem;box-shadow:0 8px 24px #00000026;cursor:pointer;display:flex;gap:1.5rem;overflow:hidden;padding:1.5rem;transition:all .3s ease}.level-card:hover{box-shadow:0 12px 36px #0003;transform:translateY(-5px)}.level-image{align-items:center;background:#f8f9fa;border-radius:.5rem;display:flex;flex-shrink:0;height:80px;justify-content:center;overflow:hidden;width:80px}.level-image img{height:100%;object-fit:cover;width:100%}.level-content{flex:1 1}.level-korean{color:orange;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.level-title{color:#333;font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.level-description{color:#666;font-size:.9rem;line-height:1.4}.level-arrow{color:orange;font-size:1.2rem;transition:transform .3s ease}.level-card:hover .level-arrow{transform:translateX(5px)}.nav-sidebar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffa50099;border-left:1px solid #fff3;display:flex;flex-direction:column;padding:2rem;transition:transform .3s ease,opacity .3s ease;width:280px}.mobile-sidebar-overlay{display:none}.mobile-menu-toggle{background:#0000;border:none;color:#333;cursor:pointer;display:none;font-size:1.5rem;margin-right:1rem;padding:.5rem;transition:color .3s ease}.mobile-menu-toggle:hover{color:orange}.nav-logo{margin-bottom:0;text-align:center}.nav-logo-img{border-radius:50%;height:60px;margin-bottom:1rem;width:60px}.nav-greeting{color:#fff;font-size:1.5rem;font-weight:600}.username-show-nav{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.nav-greeting-text{color:#fff;font-size:1.5rem;font-weight:600;text-align:center}.edit-username-btn-nav{align-items:center;background:#fff3;border:1px solid #ffffff4d;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:.8rem;height:24px;justify-content:center;padding:.3rem;transition:all .3s ease;width:24px}.edit-username-btn-nav:hover{background:#ffffff4d;transform:scale(1.1)}.username-edit-nav{align-items:center;display:flex;flex-direction:column;gap:.5rem}.username-edit-input-nav{background:#ffffffe6;border:2px solid #ffffff4d;border-radius:15px;color:#333;font-size:.9rem;padding:.5rem;text-align:center;width:140px}.username-edit-input-nav:focus{border-color:#fffc;box-shadow:0 0 0 2px #fff3;outline:none}.username-edit-buttons-nav{display:flex;gap:.5rem}.cancel-btn-nav,.save-btn-nav{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:.8rem;height:28px;justify-content:center;transition:all .3s ease;width:28px}.save-btn-nav{background:#22c55ecc;color:#fff}.save-btn-nav:hover{background:#22c55e;transform:scale(1.1)}.cancel-btn-nav{background:#ef4444cc;color:#fff}.cancel-btn-nav:hover{background:#ef4444;transform:scale(1.1)}.dialogue-feature-container{background-color:#faf1ca;overflow:hidden;z-index:10}.dialogue-feature-container,.dialogue-universal-container{display:flex;flex-direction:column;min-height:100%;position:relative;width:100%}.dialogue-universal-container{background:#0000001a;box-sizing:border-box;overflow:auto;z-index:5}.dialogue-universal-game{height:100%;min-width:100vw;overflow:hidden;position:relative;width:100vw}.dialogue-universal-game .game-container{align-items:center;height:100%;position:relative}.dialogue-box,.dialogue-universal-game .game-container{display:flex;flex-direction:column;justify-content:center;min-width:100vw;width:100vw}.dialogue-box{background:#000000e6;bottom:0;box-sizing:border-box;color:#fff;font-family:Inter,sans-serif;font-family:var(--font-family-base,"Inter",sans-serif);left:0;min-height:200px;padding:2rem;position:absolute;right:0;z-index:100;z-index:var(--z-dropdown,100)}.characters-container{align-items:flex-end;box-sizing:border-box;height:60%;min-width:100vw;padding:2rem;position:relative;width:100vw;z-index:2}.character{position:relative}.character img{border-radius:8px;box-shadow:0 4px 12px #0003;max-height:80vh;max-width:100%;object-fit:contain}.character-name{color:orange;font-size:1.4rem;font-weight:700;letter-spacing:1px;margin-bottom:1rem;text-shadow:0 2px 4px #000c;text-transform:uppercase}.dialogue-text{color:#fff;font-size:1.2rem;line-height:1.8;text-shadow:0 1px 3px #000c}.dialogue-text .korean-text{color:#fff;font-size:1.3rem;font-weight:600;margin-bottom:.8rem}.dialogue-text .english-text{color:#ccc;font-size:1.1rem;font-style:italic;font-weight:400}.exercise-section{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;box-shadow:0 0 2px orange;display:block!important;min-height:100px;padding:1rem;position:relative!important;z-index:10!important}.answer-options,.exercise-section{margin-top:1rem;opacity:1!important;visibility:visible!important}.answer-options{display:flex!important;flex-direction:column;gap:.5rem;z-index:11!important}.answer-options button{background:#ffffff1a;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;padding:.75rem 1rem;text-align:left;transition:all .3s ease}.answer-options button:hover{background:#fff3;border-color:#ffffff80}.answer-options button.selected{background:orange;border-color:orange;color:#fff}.dialogue-controls{align-items:center;background:#0003;border-radius:8px;display:flex;justify-content:space-between;margin-top:1rem;padding:1rem}.dialogue-controls button{border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:all .3s ease}.dialogue-controls button:disabled{cursor:not-allowed;opacity:.5}.error-container{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;margin:2rem auto;max-width:90vw;padding:2rem}.error-container h3{color:#b30000;margin-bottom:1rem}.error-container p{color:#666;line-height:1.5;margin-bottom:1rem}.continue-button{background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:background-color .3s ease}.continue-button:hover{background:#218838}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:2rem;text-align:center}.loading-spinner{margin-bottom:1rem}.retry-button{background:orange;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;margin-top:1rem;padding:.75rem 1.5rem;transition:background-color .3s ease}.retry-button:hover{background:#e69500}.fallback-button{background:#6c757d;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;margin-left:.5rem;margin-top:1rem;padding:.75rem 1.5rem;transition:background-color .3s ease}.fallback-button:hover{background:#5a6268}.menu-button{background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;margin-top:1rem;padding:.75rem 1.5rem;transition:background-color .3s ease}.menu-button:hover{background:#218838}.debug-info{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;color:#495057;font-family:monospace;font-family:var(--font-family-mono,monospace);font-size:.9rem;margin-top:1rem;padding:1rem;white-space:pre-wrap}.scenario-background{background-position:50%;background-size:cover;height:100%;left:0;min-width:100vw;position:absolute;top:0;width:100vw;z-index:1}.dialogue-header{background:#faf1ca;box-shadow:0 2px 10px #0000001a;color:#333;flex-shrink:0;padding:1rem;width:100%}.dialogue-header .back-btn{align-items:center;background:#fff3!important;border:1px solid #ffffff4d!important;border-radius:6px;color:#fff!important;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:500;gap:8px;justify-content:center;margin-bottom:1rem;padding:8px 16px;transition:all .3s ease}.dialogue-header .back-btn:hover{background:#ffffff4d!important;transform:translateY(-1px)}.chapter-info h1{font-size:1.8rem;line-height:1.2;margin-bottom:.25rem;text-shadow:0 2px 4px #0000004d}.chapter-info h2{font-size:1.3rem;font-weight:400;line-height:1.2;margin-bottom:.5rem;opacity:.9}.chapter-info p{font-size:.95rem;line-height:1.3;margin:0;opacity:.8}.dialogue-iframe-container{background:#fff;border-top:2px solid orange;display:flex;flex:1 1;flex-direction:column;margin:0;overflow:hidden;padding:0;width:100%}.dialogue-iframe-container iframe{background:#fff;border:none;flex:1 1;height:100%;margin:0;padding:0;width:100vw}@media (max-width:768px){.dialogue-header{padding:.75rem}.dialogue-header .back-btn{font-size:.85rem;margin-bottom:.75rem;padding:6px 12px}.chapter-info h1{font-size:1.5rem}.chapter-info h2{font-size:1.1rem;margin-bottom:.25rem}.chapter-info p{font-size:.9rem}}@media (max-width:480px){.dialogue-header{padding:.5rem}.chapter-info h1{font-size:1.3rem}.chapter-info h2{font-size:1rem}.chapter-info p{font-size:.85rem}}.translation-header{color:#fff;flex-shrink:0;padding:2rem;text-align:center}.translation-header h1{font-size:2.5rem;margin-bottom:.5rem;text-shadow:0 2px 4px #0000004d}.translation-header h2{font-size:1.8rem;font-weight:400;margin-bottom:1rem;opacity:.9}.translation-header p{font-size:1.1rem;line-height:1.4;opacity:.8}.vocabulary-preview{background:#f8f9fa;border-left:4px solid orange;border-radius:15px;margin:2rem 0;padding:1.5rem;text-align:left}.vocabulary-preview h3{color:orange;margin-bottom:1rem}.vocab-sample ul{list-style:none;margin:1rem 0;padding:0}.vocab-sample li{border-bottom:1px solid #eee;padding:.25rem 0}.timer-display{font-size:1.2rem;font-weight:700}.question-header h3{color:#333;font-size:1.3rem;margin-bottom:1rem}.source-word{background:#f8f9fa;border-radius:15px;color:orange;font-size:2.5rem;font-weight:700;margin:2rem 0;padding:1rem;text-shadow:0 2px 4px #ffa5004d}.options-container{grid-template-columns:1fr 1fr;margin:2rem 0}.option-button{background:#fff;border:2px solid #e1e5e9;border-radius:10px;color:#333;cursor:pointer;font-size:1rem;padding:1rem;text-align:left;transition:all .3s ease}.option-button:hover{background:#f8f9fa;border-color:orange}.option-button.correct{background:#4caf50;border-color:#4caf50;color:#fff}.option-button.incorrect{background:#f44336;border-color:#f44336;color:#fff}.option-button.selected{background:orange;border-color:orange;color:#fff}.option-button:hover:not(:disabled){background:#f8f9fa;border-color:orange}.submit-button{border-radius:10px;font-size:1.1rem;margin-top:1rem;padding:1rem 2rem;transition:all .3s ease}.submit-button:hover:not(:disabled){background:#e69500;transform:translateY(-2px)}.submit-button:disabled{background:#ccc;cursor:not-allowed}.completion-screen h2{color:orange;margin-bottom:2rem}.final-results{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin:2rem 0}.result-card{background:#f8f9fa;border-left:4px solid orange;border-radius:15px;padding:1.5rem}.result-card h3{color:orange;margin-bottom:1rem}.score-large{color:#333;font-size:2.5rem;font-weight:700;margin:1rem 0}.accuracy-large{color:orange;font-size:1.3rem;font-weight:600}.result-card ul{list-style:none;padding:0;text-align:left}.result-card li{border-bottom:1px solid #eee;padding:.25rem 0}.completion-actions{gap:1rem;margin:2rem 0}.play-again-button,.setup-button{border:none;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem 1.5rem;transition:all .3s ease}.play-again-button{background:orange;color:#fff}.play-again-button:hover{background:#e69500;transform:translateY(-2px)}.setup-button{background:#999;color:#fff}.setup-button:hover{background:#e69500;transform:translateY(-2px)}.translation-content .navigation-buttons{display:flex;gap:1rem;justify-content:space-between;margin-top:2rem}.translation-content .back-btn,.translation-content .next-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;flex:1 1;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:1rem;transition:all .3s ease}.translation-content .back-btn{background:#999;color:#fff}.translation-content .back-btn:hover{background:#e69500;transform:translateY(-2px)}.translation-content .next-btn{background:orange;color:#fff}.translation-content .next-btn:hover{background:#e69500;transform:translateY(-2px)}.translation-error-container,.translation-loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh;min-width:100vw;padding:2rem;text-align:center;width:100vw}.translation-error-title{color:#b30000;margin-bottom:1rem}.translation-error-button{background-color:orange;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem 2rem;transition:all .3s ease}.translation-error-button:hover{background-color:#e69500}.translation-no-data-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh;min-width:100vw;padding:2rem;text-align:center;width:100vw}.translation-no-data-title{color:#333;margin-bottom:1rem}.translation-no-data-button{background-color:orange;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem 2rem;transition:all .3s ease}.translation-no-data-button:hover{background-color:#e69500}.translation-setup-title{color:orange;font-size:2rem;font-weight:700;margin-bottom:2rem}.translation-setup-description{color:#666;font-size:1.1rem;margin-bottom:2rem}.translation-config-container{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin-bottom:2rem}.translation-config-group{align-items:center;display:flex;flex-direction:column;gap:.5rem}.translation-config-label{color:#555;font-size:1rem;font-weight:600}.translation-config-select{background:#fff;border:2px solid #e1e5e9;border-radius:8px;cursor:pointer;font-size:1rem;min-width:180px;padding:.5rem 1rem}.translation-config-select:focus{border-color:orange;outline:none}.translation-start-button{background:orange;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1.2rem;font-weight:600;padding:1rem 2rem;transition:all .3s ease}.translation-start-button:hover{background:#e69500;transform:translateY(-2px)}.translation-game-header{align-items:center;background:#f8f9fa;border-radius:10px;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1rem}.translation-score-display{color:#333;font-size:1.1rem;font-weight:600}.translation-timer-display{font-size:1.2rem;font-weight:700}.translation-question-area{text-align:center}.translation-question-header{margin-bottom:2rem}.translation-question-title{color:#333;font-size:1.3rem;margin-bottom:1rem}.translation-source-word{background:#f8f9fa;border-radius:15px;color:orange;font-size:2.5rem;font-weight:700;margin:2rem 0;padding:1rem;text-shadow:0 2px 4px #ffa5004d}.translation-options-container{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin:2rem 0}.translation-option-button{background:#fff;border:2px solid #e1e5e9;border-radius:10px;color:#333;cursor:pointer;font-size:1rem;padding:1rem;text-align:left;transition:all .3s ease}.translation-option-button.selected,.translation-option-button:hover{background:orange;border-color:orange;color:#fff}.translation-option-button.correct{background:#4caf50;border-color:#4caf50;color:#fff}.translation-option-button.incorrect{background:#f44336;border-color:#f44336;color:#fff}.translation-option-button:disabled{cursor:default}.translation-submit-button{background:orange;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:1rem;padding:1rem 2rem;transition:all .3s ease}.translation-submit-button:hover:not(:disabled){background:#e69500}.translation-submit-button:disabled{background:#ccc;cursor:not-allowed}.translation-result-display{border-radius:10px;font-size:1.1rem;font-weight:600;margin-top:2rem;padding:1rem}.translation-result-correct{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.translation-result-incorrect{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.translation-result-message{margin-bottom:1rem}.translation-result-answer{color:#666;font-size:1rem}.translation-completion-title{color:orange;font-size:2rem;font-weight:700;margin-bottom:2rem}.translation-final-results{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin:2rem 0}.translation-result-card{background:#f8f9fa;border-left:4px solid orange;border-radius:15px;padding:1.5rem}.translation-result-card-title{color:orange;font-size:1.2rem;font-weight:600;margin-bottom:1rem}.translation-score-large{color:#333;font-size:2.5rem;font-weight:700;margin:1rem 0}.translation-accuracy-large{color:orange;font-size:1.3rem;font-weight:600}.translation-completion-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin:2rem 0}.translation-play-again-button{background:orange;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem 1.5rem;transition:all .3s ease}.translation-play-again-button:hover{background:#e69500}.translation-next-module-button{background:#28a745;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem 1.5rem;transition:all .3s ease}.translation-next-module-button:hover{background:#218838}.translation-debug-fallback{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;margin:2rem 0;padding:2rem;text-align:center}.translation-debug-fallback h3{color:#856404;margin-bottom:1rem}.translation-debug-fallback p{color:#856404;margin:.5rem 0}.translation-debug-fallback code{background:#f8f9fa;border-radius:4px;font-family:monospace;font-family:var(--font-family-mono,monospace);padding:.2rem .4rem}@media (max-width:768px){.translation-config-container{flex-direction:column;gap:1rem}.translation-final-results,.translation-options-container{grid-template-columns:1fr}.translation-completion-actions{flex-direction:column}.translation-game-header{flex-direction:column;gap:1rem;text-align:center}}@media (max-width:480px){.translation-source-word{font-size:2rem;padding:.75rem}.translation-option-button{font-size:.9rem;padding:.75rem}.translation-start-button,.translation-submit-button{font-size:1rem;padding:.75rem 1.5rem}}@media (max-width:768px){.translation-header{padding:1.5rem}.translation-content{margin:0 1rem 1rem;padding:1.5rem}.config-form,.game-header{flex-direction:column;gap:1rem}.game-header{text-align:center}.final-results,.options-container{grid-template-columns:1fr}.completion-actions,.translation-content .navigation-buttons{flex-direction:column}}.cloze-header{box-shadow:0 2px 10px #0000001a;color:#fff;flex-shrink:0;padding:2rem;text-align:center}.cloze-header h1{font-size:2.5rem;margin-bottom:.5rem;text-shadow:0 2px 4px #0000004d}.cloze-header h2{font-size:1.8rem;font-weight:400;margin-bottom:1rem;opacity:.9}.cloze-header p{font-size:1.1rem;line-height:1.4;opacity:.8}.cloze-content{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0003;flex:1 1;margin:0 2rem 2rem;overflow-y:auto;padding:2rem}.cloze-content .setup-screen{text-align:center}.cloze-content .setup-screen h2{color:orange;margin-bottom:2rem}.cloze-content .config-form{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin-bottom:2rem}.cloze-content .config-group{align-items:center;display:flex;flex-direction:column;gap:.5rem}.cloze-content .config-group label{color:#555;font-weight:600}.cloze-content .config-group select{border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;min-width:180px;padding:.5rem 1rem}.cloze-content .grammar-preview{background:#f8f9fa;border-left:4px solid orange;border-radius:15px;margin:2rem 0;padding:1.5rem;text-align:left}.cloze-content .grammar-preview h3{color:orange;margin-bottom:1rem}.cloze-content .preview-content p{line-height:1.4;margin:.5rem 0}.cloze-content .feature-preview{background:#f8f9fa;border-left:4px solid orange;border-radius:15px;margin:2rem 0;padding:1.5rem;text-align:left}.cloze-content .feature-preview h3{color:orange;margin-bottom:1rem}.cloze-content .feature-preview ul{list-style:none;margin:0;padding:0}.cloze-content .feature-preview li{align-items:flex-start;border-bottom:1px solid #e9ecef;display:flex;gap:.5rem;padding:.5rem 0}.cloze-content .feature-preview li:last-child{border-bottom:none}.cloze-content .start-button{background:orange;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1.2rem;font-weight:600;padding:1rem 2rem;transition:all .3s ease}.cloze-content .start-button:hover{background:#e69500;transform:translateY(-2px)}.cloze-content .cloze-content .game-header{align-items:center;background:#f8f9fa;border-radius:10px;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1rem}.cloze-content .score-display{color:#333;font-size:1.1rem;font-weight:600}.cloze-content .accuracy{color:orange;margin-left:.5rem}.cloze-content .difficulty-display{color:orange;font-size:1.2rem;font-weight:700}.cloze-content .progress-bar{background:#e1e5e9;border-radius:4px;height:8px;overflow:hidden;width:100px}.cloze-content .progress-fill{background:orange;height:100%;transition:width .3s ease}.cloze-content .question-area{text-align:center}.cloze-content .question-header h3{color:#333;font-size:1.3rem;margin-bottom:1rem}.cloze-content .exercise-category{color:orange;font-size:.9rem;font-weight:500;margin-bottom:1rem}.cloze-content .question-context{margin:2rem 0}.cloze-content .context-instruction{background:#f8f9fa;border-left:4px solid orange;border-radius:10px;margin-bottom:1rem;padding:1rem}.cloze-content .context-instruction strong{color:orange;font-size:1.1rem}.cloze-content .input-instructions{margin-top:.5rem}.cloze-content .input-instructions small{color:#666;font-style:italic}.cloze-content .sentence-container{background:#fff;border:2px solid #e1e5e9;border-radius:15px;font-size:1.5rem;line-height:2;margin:1rem 0;padding:1.5rem}.cloze-content .cloze-input{background:#f8f9fa;border:2px solid orange;border-radius:5px;font-size:1.2rem;margin:0 .5rem;min-width:150px;padding:.5rem;text-align:center}.cloze-content .cloze-input:focus{background:#fff;border-color:#e69500;box-shadow:0 0 0 3px #ffa5001a;outline:none}.cloze-content .submit-button{background:orange;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:1rem;padding:1rem 2rem;transition:all .3s ease}.cloze-content .submit-button:hover:not(:disabled){background:#e69500;transform:translateY(-2px)}.cloze-content .submit-button:disabled{background:#ccc;cursor:not-allowed}.cloze-content .result-display{border-radius:10px;font-size:1.1rem;font-weight:600;margin-top:2rem;padding:1rem}.cloze-content .correct-result{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.cloze-content .incorrect-result{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.cloze-content .cloze-content .completion-screen h2{color:orange;margin-bottom:2rem}.cloze-content .final-results{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin:2rem 0}.cloze-content .result-card{background:#f8f9fa;border-left:4px solid orange;border-radius:15px;padding:1.5rem}.cloze-content .result-card h3{color:orange;margin-bottom:1rem}.cloze-content .score-large{color:#333;font-size:2.5rem;font-weight:700;margin:1rem 0}.cloze-content .accuracy-large{color:orange;font-size:1.3rem;font-weight:600}.cloze-content .result-card ul{list-style:none;padding:0;text-align:left}.cloze-content .result-card li{border-bottom:1px solid #eee;padding:.25rem 0}.cloze-content .exercise-summary{margin:2rem 0;text-align:left}.cloze-content .exercise-summary h3{color:orange;margin-bottom:1rem;text-align:center}.cloze-content .summary-table-container{margin:1rem 0;overflow-x:auto}.cloze-content .summary-table{background:#fff;border-collapse:collapse;border-radius:10px;box-shadow:0 2px 10px #0000001a;overflow:hidden;width:100%}.cloze-content .summary-table th{background:orange;color:#fff;font-weight:600;padding:.75rem;text-align:left}.cloze-content .summary-table td{border-bottom:1px solid #eee;padding:.75rem}.cloze-content .summary-table tr:hover{background:#f8f9fa}.cloze-content .correct-row{background:#f8fff8}.cloze-content .incorrect-row{background:#fff8f8}.cloze-content .question-index{color:orange;font-weight:600}.cloze-content .question-text{word-wrap:break-word;max-width:200px}.cloze-content .user-answer{font-weight:500}.cloze-content .correct-answer{color:#28a745;font-weight:600}.cloze-content .result-status{font-size:1.2rem;text-align:center}.cloze-content .difficulty-badge{text-align:center}.cloze-content .difficulty-simple{background:#28a745;color:#fff}.cloze-content .difficulty-medium,.cloze-content .difficulty-simple{border-radius:4px;font-size:.8rem;font-weight:600;padding:.25rem .5rem}.cloze-content .difficulty-medium{background:#ffc107;color:#333}.cloze-content .difficulty-hard{background:#dc3545;border-radius:4px;color:#fff;font-size:.8rem;font-weight:600;padding:.25rem .5rem}.cloze-content .completion-actions{display:flex;gap:1rem;justify-content:center;margin:2rem 0}.cloze-content .play-again-button,.cloze-content .setup-button{border:none;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem 1.5rem;transition:all .3s ease}.cloze-content .play-again-button{background:orange;color:#fff}.cloze-content .play-again-button:hover{background:#e69500;transform:translateY(-2px)}.cloze-content .setup-button{background:#999;color:#fff}.cloze-content .setup-button:hover{background:#e69500;transform:translateY(-2px)}.cloze-content .navigation-buttons{display:flex;gap:1rem;justify-content:space-between;margin-top:2rem}.cloze-content .back-btn,.cloze-content .next-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;flex:1 1;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:1rem;transition:all .3s ease}.cloze-content .back-btn{background:#999;color:#fff}.cloze-content .back-btn:hover{background:#e69500;transform:translateY(-2px)}.cloze-content .next-btn{background:orange;color:#fff}.cloze-content .next-btn:hover{background:#e69500;transform:translateY(-2px)}@media (max-width:768px){.cloze-header{padding:1.5rem}.cloze-content{margin:0 1rem 1rem;padding:1.5rem}.cloze-content .config-form,.cloze-content .game-header{flex-direction:column;gap:1rem}.cloze-content .game-header{text-align:center}.cloze-content .final-results{grid-template-columns:1fr}.cloze-content .completion-actions,.cloze-content .navigation-buttons{flex-direction:column}.cloze-content .sentence-container{font-size:1.2rem}.cloze-content .cloze-input{font-size:1rem;min-width:120px}.cloze-content .summary-table{font-size:.9rem}.cloze-content .summary-table td,.cloze-content .summary-table th{padding:.5rem}}.shape-puzzle-content{overflow:hidden;padding:0}.shape-puzzle-content .loading-overlay{align-items:center;background:#faf1ca;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.shape-puzzle-content .loading-content{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:16px;color:#fff;padding:2rem;text-align:center}.shape-puzzle-content .loading-content h3{font-size:1.5rem;margin:1rem 0 .5rem}.shape-puzzle-content .loading-content p{font-size:.9rem;opacity:.8}.shape-puzzle-content .loading-spinner{animation:spin 1s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:40px;margin:0 auto 1rem;width:40px}.shape-puzzle-content .error-content{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;margin:2rem auto;max-width:500px;padding:2rem;text-align:center}.shape-puzzle-content .error-content h2{color:#ef4444;margin-bottom:1rem}.shape-puzzle-content .error-actions{margin:1.5rem 0}.shape-puzzle-content .retry-button{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:background-color .2s}.shape-puzzle-content .retry-button:hover{background:#2563eb}.shape-puzzle-content .error-details{color:#6b7280;font-size:.9rem;margin-top:1rem}.shape-puzzle-content iframe{background:#fff;border:none;display:block;height:100%!important;min-height:600px;width:100%!important}.shape-puzzle-container{background:#faf1ca;box-sizing:border-box;display:flex;flex-direction:column;min-height:100%;overflow:auto;position:relative;width:100%;z-index:10}.shape-puzzle-content{position:relative}.setup-screen h2{color:orange;font-size:2rem;margin-bottom:2rem}.config-form{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin-bottom:2rem}.config-group{align-items:center;display:flex;flex-direction:column;gap:.5rem}.config-group label{color:#555;font-size:1rem;font-weight:600}.config-group select{background:#fff;border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;min-width:180px;padding:.5rem 1rem}.puzzle-preview{background:#f8f9fa;border-left:4px solid orange;border-radius:15px;margin:2rem 0;padding:1.5rem;text-align:left}.puzzle-preview h3{color:orange;font-size:1.3rem;margin-bottom:1rem}.preview-content{color:#555}.preview-content p{line-height:1.4;margin:.5rem 0}.preview-content ul{list-style:none;margin:1rem 0;padding:0}.preview-content li{border-bottom:1px solid #eee;padding:.25rem 0}.feature-preview{margin:2rem 0;padding:1.5rem;text-align:left}.feature-preview h3{color:orange;font-size:1.3rem;margin-bottom:1rem}.feature-preview ul{margin:0}.feature-preview li{align-items:flex-start;border-bottom:1px solid #e9ecef;display:flex;gap:.5rem}.start-button{border-radius:10px;margin-top:1rem;padding:1rem 2rem;transition:all .3s ease}.game-screen{max-width:1000px}.game-header{background:#f8f9fa;border-radius:10px;padding:1rem}.score-display{color:#333;font-size:1.1rem;font-weight:600}.accuracy{color:orange;margin-left:.5rem}.progress-display{color:#333;font-size:1.1rem;font-weight:600}.progress-bar{background:#e1e5e9;width:100px}.puzzle-area{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin:2rem 0}.dialogue-section{background:#f8f9fa;border-left:4px solid orange;border-radius:15px;padding:1.5rem}.dialogue-section h3{color:orange;font-size:1.3rem;margin-bottom:1rem;text-align:center}.characters-container{display:flex;justify-content:space-around;margin-bottom:1rem}.character{text-align:center}.character.left-character,.character.right-character{align-items:center;display:flex;flex-direction:column}.character-placeholder{align-items:center;background:#e1e5e9;border-radius:50%;display:flex;font-size:2rem;height:60px;justify-content:center;margin:0 auto .5rem;width:60px}.character-placeholder.left{background:#e3f2fd}.character-placeholder.right{background:#f3e5f5}.character-label{color:#666;font-size:.9rem;font-weight:500}.speech-bubble{background:#fff;border:2px solid #e1e5e9;border-radius:10px;margin-top:1rem;padding:1rem}.speech-bubble-content{color:#333}.speech-bubble-content p{color:#333;font-weight:500;margin-bottom:1rem}.sentence-preview{flex-wrap:wrap;gap:.5rem}.word-placeholder{background:orange;border-radius:20px;color:#fff;font-size:.9rem;font-weight:600;padding:.5rem 1rem}.grammar-info-card{background:#f8f9fa;border-left:4px solid orange;border-radius:15px;padding:1.5rem;text-align:center}.current-grammar-pattern{font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.grammar-explanation{color:#666;font-size:1rem;font-weight:500}.puzzle-game-container{background:#f8f9fa;border-left:4px solid orange;border-radius:15px;grid-column:1/-1;margin-top:2rem;padding:1.5rem}.puzzle-game-container h3{color:orange;font-size:1.3rem;margin-bottom:1.5rem;text-align:center}.selected-pieces-area{margin-bottom:2rem}.selected-pieces-area h4{color:#333;font-size:1.1rem;margin-bottom:1rem;text-align:center}.selected-pieces-display{align-items:center;background:#fff;border:2px dashed #e1e5e9;border-radius:10px;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;min-height:60px;padding:1rem}.empty-selection{color:#999;font-style:italic;text-align:center;width:100%}.selected-piece{background:orange;border-radius:20px;color:#fff;font-size:1rem;font-weight:600;padding:.5rem 1rem}.puzzle-pieces-area{margin-bottom:2rem}.puzzle-pieces-area h4{color:#333;font-size:1.1rem;margin-bottom:1rem;text-align:center}.puzzle-pieces-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin:1rem 0}.puzzle-piece{background:#fff;border:2px solid #e1e5e9;border-radius:10px;color:#333;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem;transition:all .3s ease}.puzzle-piece:hover:not(:disabled){background:#f8f9fa;border-color:orange;transform:translateY(-2px)}.puzzle-piece:disabled{cursor:not-allowed;opacity:.6}.check-button{background:orange;border:none;border-radius:10px;color:#fff;cursor:pointer;display:block;font-size:1.1rem;font-weight:600;margin:1rem auto;padding:1rem 2rem;transition:all .3s ease}.check-button:hover:not(:disabled){background:#e69500;transform:translateY(-2px)}.check-button:disabled{background:#ccc;cursor:not-allowed}.result-display{border-radius:10px;font-size:1.1rem;font-weight:600;margin-top:2rem;padding:1rem;text-align:center}.correct-result{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.incorrect-result{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.shape-puzzle-header{box-shadow:0 2px 10px #0000001a;color:#fff;flex-shrink:0;padding:2rem;text-align:center}.shape-puzzle-header h1{font-size:2.5rem;margin-bottom:.5rem;text-shadow:0 2px 4px #0000004d}.shape-puzzle-header h2{font-size:1.8rem;font-weight:400;margin-bottom:1rem;opacity:.9}.shape-puzzle-header p{font-size:1.1rem;line-height:1.4;opacity:.8}.shape-puzzle-content{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0003;flex:1 1;margin:0 2rem 2rem;overflow-y:auto;padding:2rem}.shape-puzzle-content .setup-screen{text-align:center}.shape-puzzle-content .setup-screen h2{color:orange;margin-bottom:2rem}.shape-puzzle-content .config-form{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin-bottom:2rem}.shape-puzzle-content .config-group{align-items:center;display:flex;flex-direction:column;gap:.5rem}.shape-puzzle-content .config-group label{color:#555;font-weight:600}.shape-puzzle-content .config-group select{border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;min-width:180px;padding:.5rem 1rem}.shape-puzzle-content .puzzle-preview{background:#f8f9fa;border-left:4px solid orange;border-radius:15px;margin:2rem 0;padding:1.5rem;text-align:left}.shape-puzzle-content .puzzle-preview h3{color:orange;margin-bottom:1rem}.shape-puzzle-content .preview-content p{line-height:1.4;margin:.5rem 0}.shape-puzzle-content .preview-content ul{list-style:none;margin:1rem 0;padding:0}.shape-puzzle-content .preview-content li{border-bottom:1px solid #eee;padding:.25rem 0}.shape-puzzle-content .feature-preview{background:#f8f9fa;border-left:4px solid orange;border-radius:15px;margin:2rem 0;padding:1.5rem;text-align:left}.shape-puzzle-content .feature-preview h3{color:orange;margin-bottom:1rem}.shape-puzzle-content .feature-preview ul{list-style:none;margin:0;padding:0}.shape-puzzle-content .feature-preview li{align-items:flex-start;border-bottom:1px solid #e9ecef;display:flex;gap:.5rem;padding:.5rem 0}.shape-puzzle-content .feature-preview li:last-child{border-bottom:none}.shape-puzzle-content .start-button{background:orange;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1.2rem;font-weight:600;padding:1rem 2rem;transition:all .3s ease}.shape-puzzle-content .start-button:hover{background:#e69500;transform:translateY(-2px)}.shape-puzzle-content .game-screen{margin:0 auto;max-width:1000px}.shape-puzzle-content .game-header{align-items:center;background:#f8f9fa;border-radius:10px;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1rem}.shape-puzzle-content .score-display{color:#333;font-size:1.1rem;font-weight:600}.shape-puzzle-content .accuracy{color:orange;margin-left:.5rem}.shape-puzzle-content .progress-display{color:#333;font-size:1.1rem;font-weight:600}.shape-puzzle-content .progress-bar{background:#e1e5e9;border-radius:4px;height:8px;overflow:hidden;width:100px}.shape-puzzle-content .progress-fill{background:orange;height:100%;transition:width .3s ease}.shape-puzzle-content .puzzle-area{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin:2rem 0}.shape-puzzle-content .dialogue-section{background:#f8f9fa;border-left:4px solid orange;border-radius:15px;padding:1.5rem}.shape-puzzle-content .dialogue-section h3{color:orange;margin-bottom:1rem;text-align:center}.shape-puzzle-content .characters-container{display:flex;justify-content:space-around;margin-bottom:1rem}.shape-puzzle-content .character{text-align:center}.shape-puzzle-content .character-placeholder{align-items:center;background:#e1e5e9;border-radius:50%;display:flex;font-size:2rem;height:60px;justify-content:center;margin:0 auto .5rem;width:60px}.shape-puzzle-content .character-label{color:#666;font-size:.9rem;font-weight:500}.shape-puzzle-content .speech-bubble{background:#fff;border:2px solid #e1e5e9;border-radius:10px;margin-top:1rem;padding:1rem}.shape-puzzle-content .speech-bubble-content p{color:#333;font-weight:500;margin-bottom:1rem}.shape-puzzle-content .sentence-preview{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.shape-puzzle-content .word-placeholder{background:orange;border-radius:20px;color:#fff;font-size:.9rem;font-weight:600;padding:.5rem 1rem}.shape-puzzle-content .grammar-info-card{background:#f8f9fa;border-left:4px solid orange;border-radius:15px;padding:1.5rem;text-align:center}.shape-puzzle-content .current-grammar-pattern{font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.shape-puzzle-content .grammar-explanation{color:#666;font-size:1rem;font-weight:500}.shape-puzzle-content .puzzle-game-container{background:#f8f9fa;border-left:4px solid orange;border-radius:15px;grid-column:1/-1;margin-top:2rem;padding:1.5rem}.shape-puzzle-content .puzzle-game-container h3{color:orange;margin-bottom:1.5rem;text-align:center}.shape-puzzle-content .selected-pieces-area{margin-bottom:2rem}.shape-puzzle-content .selected-pieces-area h4{color:#333;margin-bottom:1rem;text-align:center}.shape-puzzle-content .selected-pieces-display{align-items:center;background:#fff;border:2px dashed #e1e5e9;border-radius:10px;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;min-height:60px;padding:1rem}.shape-puzzle-content .empty-selection{color:#999;font-style:italic;text-align:center;width:100%}.shape-puzzle-content .selected-piece{background:orange;border-radius:20px;color:#fff;font-size:1rem;font-weight:600;padding:.5rem 1rem}.shape-puzzle-content .puzzle-pieces-area{margin-bottom:2rem}.shape-puzzle-content .puzzle-pieces-area h4{color:#333;margin-bottom:1rem;text-align:center}.shape-puzzle-content .puzzle-pieces-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin:1rem 0}.shape-puzzle-content .puzzle-piece{background:#fff;border:2px solid #e1e5e9;border-radius:10px;color:#333;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem;transition:all .3s ease}.shape-puzzle-content .puzzle-piece:hover:not(:disabled){background:#f8f9fa;border-color:orange;transform:translateY(-2px)}.shape-puzzle-content .puzzle-piece:disabled{cursor:not-allowed;opacity:.6}.shape-puzzle-content .check-button{background:orange;border:none;border-radius:10px;color:#fff;cursor:pointer;display:block;font-size:1.1rem;font-weight:600;margin:1rem auto;padding:1rem 2rem;transition:all .3s ease}.shape-puzzle-content .check-button:hover:not(:disabled){background:#e69500;transform:translateY(-2px)}.shape-puzzle-content .check-button:disabled{background:#ccc;cursor:not-allowed}.shape-puzzle-content .result-display{border-radius:10px;font-size:1.1rem;font-weight:600;margin-top:2rem;padding:1rem;text-align:center}.shape-puzzle-content .correct-result{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.shape-puzzle-content .incorrect-result{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.shape-puzzle-content .shape-puzzle-content .completion-screen h2{color:orange;margin-bottom:2rem}.shape-puzzle-content .final-results{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin:2rem 0}.shape-puzzle-content .result-card{background:#f8f9fa;border-left:4px solid orange;border-radius:15px;padding:1.5rem}.shape-puzzle-content .result-card h3{color:orange;margin-bottom:1rem}.shape-puzzle-content .score-large{color:#333;font-size:2.5rem;font-weight:700;margin:1rem 0}.shape-puzzle-content .accuracy-large{color:orange;font-size:1.3rem;font-weight:600}.shape-puzzle-content .result-card ul{list-style:none;padding:0;text-align:left}.shape-puzzle-content .result-card li{border-bottom:1px solid #eee;padding:.25rem 0}.shape-puzzle-content .exercise-summary{margin:2rem 0;text-align:left}.shape-puzzle-content .exercise-summary h3{color:orange;margin-bottom:1rem;text-align:center}.shape-puzzle-content .summary-table-container{margin:1rem 0;overflow-x:auto}.shape-puzzle-content .summary-table{background:#fff;border-collapse:collapse;border-radius:10px;box-shadow:0 2px 10px #0000001a;overflow:hidden;width:100%}.shape-puzzle-content .summary-table th{background:orange;color:#fff;font-weight:600;padding:.75rem;text-align:left}.shape-puzzle-content .summary-table td{border-bottom:1px solid #eee;padding:.75rem}.shape-puzzle-content .summary-table tr:hover{background:#f8f9fa}.shape-puzzle-content .correct-row{background:#f8fff8}.shape-puzzle-content .incorrect-row{background:#fff8f8}.shape-puzzle-content .question-index{color:orange;font-weight:600}.shape-puzzle-content .grammar-pattern{color:#333;font-weight:500}.shape-puzzle-content .user-answer{font-weight:500}.shape-puzzle-content .correct-answer{color:#28a745;font-weight:600}.shape-puzzle-content .result-status{font-size:1.2rem;text-align:center}.shape-puzzle-content .completion-actions{display:flex;gap:1rem;justify-content:center;margin:2rem 0}.shape-puzzle-content .play-again-button,.shape-puzzle-content .setup-button{border:none;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem 1.5rem;transition:all .3s ease}.shape-puzzle-content .play-again-button{background:orange;color:#fff}.shape-puzzle-content .play-again-button:hover{background:#e69500;transform:translateY(-2px)}.shape-puzzle-content .setup-button{background:#999;color:#fff}.shape-puzzle-content .setup-button:hover{background:#e69500;transform:translateY(-2px)}.shape-puzzle-content .navigation-buttons{display:flex;gap:1rem;justify-content:space-between;margin-top:2rem}.shape-puzzle-content .back-btn,.shape-puzzle-content .next-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;flex:1 1;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:1rem;transition:all .3s ease}.shape-puzzle-content .back-btn{background:#999;color:#fff}.shape-puzzle-content .back-btn:hover{background:#e69500;transform:translateY(-2px)}.shape-puzzle-content .next-btn{background:orange;color:#fff}.shape-puzzle-content .next-btn:hover{background:#e69500;transform:translateY(-2px)}@media (max-width:768px){.shape-puzzle-header{padding:1.5rem}.shape-puzzle-header h1{font-size:2rem}.shape-puzzle-header h2{font-size:1.5rem}.shape-puzzle-content{margin:0 1rem 1rem;padding:1.5rem}.shape-puzzle-content .config-form{flex-direction:column;gap:1rem}.shape-puzzle-content .game-header{flex-direction:column;gap:1rem;text-align:center}.shape-puzzle-content .puzzle-area{gap:1rem;grid-template-columns:1fr}.shape-puzzle-content .final-results{grid-template-columns:1fr}.shape-puzzle-content .puzzle-pieces-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.shape-puzzle-content .completion-actions,.shape-puzzle-content .navigation-buttons{flex-direction:column}.shape-puzzle-content .summary-table{font-size:.9rem}.shape-puzzle-content .summary-table td,.shape-puzzle-content .summary-table th{padding:.5rem}}.nav-menu{display:flex;flex-direction:column;gap:.5rem}.nav-btn{background:#ffffff1a;border:1px solid #fff3;border-radius:.5rem;color:#fff;font-size:1rem;gap:.75rem;padding:1rem 1.5rem;text-align:left}.nav-btn:hover{background:#fff3;transform:translateX(5px)}.nav-btn.logout-nav{background:#dc262633;border-color:#dc26264d;margin-top:auto}.nav-btn.logout-nav:hover{background:#dc26264d}@media (max-width:1024px) and (min-width:641px){.level-page-container{padding:calc(60px + 1.5rem) 1.5rem 1.5rem;padding-top:calc(var(--nav-height, 60px) + 1.5rem)}.chapters-grid{gap:1.5rem;grid-template-columns:repeat(2,1fr)}.app-homepage{flex-direction:column}.nav-sidebar{order:-1;padding:1.5rem;width:100%}.main-content{padding:2rem 1.5rem}.level-cards-container{grid-template-columns:1fr;max-width:600px}}@media (max-width:640px){.app-homepage{flex-direction:column}.mobile-menu-toggle{display:block}.mobile-sidebar-overlay{animation:fadeIn .3s ease forwards;background:#00000080;bottom:0;display:block;left:0;opacity:0;position:fixed;right:0;top:0;z-index:999}@keyframes fadeIn{to{opacity:1}}.nav-sidebar{box-shadow:2px 0 10px #0003;height:100vh;left:0;max-width:85vw;order:0;overflow-y:auto;padding:1rem;position:fixed;top:0;transform:translateX(-100%);width:280px;z-index:1000}.nav-sidebar.mobile-open{transform:translateX(0)}.nav-menu{flex-direction:column;flex-wrap:nowrap;gap:.5rem}.nav-btn{font-size:.9rem;min-width:auto;padding:.75rem;width:100%}.main-content{padding:1.5rem 1rem}.welcome-section h1{font-size:2rem}.level-cards-container{gap:1.5rem;grid-template-columns:1fr;max-width:100%}.level-card{gap:1rem;padding:1rem}.level-image{height:60px;width:60px}}.username-section{background:#ffa5000d;border:1px solid #ffa5001a;border-radius:12px;margin:2rem 0;padding:1.5rem}.username-section h3{color:orange;font-size:1.2rem;margin-bottom:.5rem}.input-group{position:relative}.username-input{background:#fff;border:2px solid #e1e5e9;border-radius:8px;box-sizing:border-box;font-size:1rem;padding:12px 16px;transition:all .3s ease;width:100%}.username-input:focus{border-color:orange;box-shadow:0 0 0 3px #ffa5001a;outline:none}.username-input:disabled{background:#f8f9fa;cursor:not-allowed}.input-hint{color:#666;font-size:.8rem;margin-top:5px;text-align:right}.username-display,.username-show{margin-bottom:1rem}.username-show{align-items:center;display:flex;gap:1rem;justify-content:center}.username-text{color:#fff;font-size:1.2rem;font-weight:500;text-shadow:0 2px 4px #0000004d}.edit-username-btn{align-items:center;background:#fff3;border:1px solid #ffffff4d;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:.9rem;height:32px;justify-content:center;margin-left:.5rem;padding:.5rem;transition:all .3s ease;width:32px}.edit-username-btn:hover{background:#ffffff4d;transform:scale(1.1)}.username-edit{align-items:center;display:flex;gap:1rem;justify-content:center;margin-bottom:1rem}.username-edit-input{background:#ffffffe6;border:2px solid #ffffff4d;border-radius:25px;color:#333;font-size:1rem;padding:.75rem 1rem;text-align:center;width:200px}.username-edit-input:focus{border-color:#fffc;box-shadow:0 0 0 3px #fff3;outline:none}.username-edit-buttons{display:flex;gap:.5rem}.cancel-btn,.save-btn{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .3s ease;width:40px}.save-btn{background:#22c55ecc;color:#fff}.save-btn:hover{background:#22c55e;transform:scale(1.1)}.cancel-btn{background:#ef4444cc;color:#fff}.cancel-btn:hover{background:#964545;transform:scale(1.1)}.exercise-top-navigation{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-bottom:1px solid #0000001a;box-shadow:0 2px 10px #0000001a;display:flex;flex-shrink:0;gap:1rem;grid-row:1;height:60px;height:var(--nav-height);justify-content:space-between;left:0;padding:.75rem 2rem;padding:var(--nav-padding);position:-webkit-sticky;position:sticky;right:0;top:0;width:100%;z-index:10000;z-index:var(--z-navigation,10000)}.chapter-container{box-sizing:border-box;display:grid;grid-template-rows:auto 1fr;margin-left:0;margin-right:0;max-width:none;min-height:100vh;min-width:100vw;width:100vw}.module-content{grid-row:2;overflow-y:auto;position:relative}.test-vocab-container{align-items:flex-start;background:linear-gradient(135deg,#1a1a2e,#16213e);display:flex;justify-content:center;min-height:100%;padding:2rem}.menu-top-navigation{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-bottom:1px solid #0000001a;box-shadow:0 2px 10px #0000001a;display:flex;gap:1rem;justify-content:space-between;left:0;padding:.75rem 2rem;position:fixed;right:0;top:0;z-index:1000}.module-info{align-items:center;color:#333;display:flex;font-size:14px;font-weight:500;gap:.5rem}.module-info .separator{color:#888;margin:0 .25rem}.module-nav-buttons{align-items:center;display:flex;gap:.5rem}.module-nav-btn{background:#0000;border:none;color:orange;cursor:pointer;font-size:13px;font-weight:500;max-width:100px;overflow:hidden;padding:.5rem 1rem;text-decoration:none;text-overflow:ellipsis;transition:color .3s ease;white-space:nowrap}.module-nav-btn:hover{color:#e69500}.module-nav-btn.secondary{color:#999}.module-nav-btn.secondary:hover{color:#5a6268}.module-nav-btn i{font-size:12px;margin-right:.25rem}.navigation-controls{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:12px;gap:1rem;margin-top:2rem;padding:1rem}.nav-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:12px 24px;text-decoration:none;transition:all .3s ease}.nav-btn.primary{background:orange;color:#fff}.nav-btn.primary:hover{background:#e69500;transform:translateY(-1px)}.nav-btn.secondary{background:#999;color:#fff}.nav-btn.secondary:hover{background:#e69500;transform:translateY(-1px)}.nav-btn i{font-size:14px}.routing-error-container{align-items:center;background:#faf1ca;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:100}.error-content{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:12px;color:#fff;padding:2rem;text-align:center}.error-content h2{font-size:1.5rem;margin-bottom:1rem}.error-content p{margin-bottom:1.5rem;opacity:.9}.loading-spinner{margin:0 auto}@media (max-width:768px){.exercise-top-navigation,.menu-top-navigation{gap:.5rem;padding:.75rem 1rem}.navigation-controls{flex-direction:column;gap:.75rem}.nav-btn{font-size:13px;padding:10px 16px;width:100%}}.about-container{background-color:#faf1ca;min-height:100%}.about-content{margin:0 auto;max-width:800px;padding:2rem}.about-header{margin-bottom:3rem;text-align:center}.about-header h1{color:#333;font-size:2.5rem;margin-bottom:1rem}.about-subtitle{color:#666;font-size:1.2rem;margin-bottom:0}.about-sections{margin-bottom:3rem}.about-section{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin-bottom:2rem;padding:2rem}.about-section h2{color:#ff6b35;font-size:1.5rem;margin-bottom:1rem}.about-section p{color:#333;line-height:1.6;margin-bottom:1rem}.about-section ul{color:#333;line-height:1.6;padding-left:1.5rem}.about-section li{margin-bottom:.5rem}.about-footer{text-align:center}.completion-content{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001a;flex:1 1;margin:2rem;overflow-y:auto;padding:3rem}.completion-header{margin-bottom:3rem;text-align:center}.completion-header h1{color:orange;font-size:2.5rem;font-weight:700;margin-bottom:1rem}.completion-header p{color:#666;font-size:1.2rem;margin:0}.completion-stats{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(3,1fr);margin-bottom:3rem}.stat-card{background:#f8f9fa;border-left:4px solid orange;border-radius:15px;padding:2rem;text-align:center}.stat-card h3{color:#333;font-size:1.1rem;font-weight:600;margin-bottom:1rem}.stat-value{color:orange;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.stat-label{color:#666;font-size:.9rem;font-weight:500}.module-scores{margin-bottom:3rem}.module-scores h2{color:#333;font-size:1.8rem;font-weight:600;margin-bottom:2rem;text-align:center}.scores-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.score-item{align-items:center;background:#f8f9fa;border-left:4px solid orange;border-radius:10px;display:flex;justify-content:space-between;padding:1rem 1.5rem}.module-name{color:#333;font-weight:500}.score-value{font-size:1.1rem;font-weight:700}.completion-actions{display:flex;gap:2rem;justify-content:center;margin-top:2rem}.action-btn{border:none;font-size:1.1rem;font-weight:600;gap:.5rem;padding:1rem 2rem;transition:all .3s ease}.action-btn.primary{background:orange;color:#fff}.action-btn.primary:hover{background:#e69500;transform:translateY(-2px)}.action-btn.secondary{background:#999;color:#fff}.action-btn.secondary:hover{background:#e69500;transform:translateY(-2px)}@media (max-width:768px){.completion-content{margin:1rem;padding:2rem}.completion-stats{gap:1rem}.completion-stats,.scores-grid{grid-template-columns:1fr}.completion-actions{flex-direction:column;gap:1rem}.action-btn{justify-content:center;width:100%}}.error-boundary-container{align-items:center;background:#faf1ca;display:flex;justify-content:center;min-height:100vh;padding:2rem}.error-boundary-content{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000001a;max-width:500px;padding:3rem;text-align:center;width:100%}.error-boundary-content h2{color:#e74c3c;font-size:2rem;margin-bottom:1rem}.error-boundary-content p{color:#666;font-size:1.1rem;margin-bottom:2rem}.error-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.home-button,.retry-button{background:orange;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:12px 24px;transition:background .3s ease}.home-button:hover,.retry-button:hover{background:#e69500}.home-button{background:#28a745}.home-button:hover{background:#218838}.error-details{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin-top:2rem;padding:1rem;text-align:left}.error-details summary{color:#495057;cursor:pointer;font-weight:700;margin-bottom:1rem}.error-details pre{background:#fff;border:1px solid #dee2e6;border-radius:4px;color:#dc3545;font-size:.9rem;overflow-x:auto;padding:1rem}@media (max-width:768px){.error-boundary-container{padding:1rem}.error-boundary-content{padding:2rem}.error-actions{flex-direction:column}.home-button,.retry-button{width:100%}}.nav-btn.admin-nav{background:#22c55e33;border-color:#22c55e4d;color:#22c55e}.nav-btn.admin-nav:hover{background:#22c55e4d;color:#16a34a}.upload-modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:10000}.upload-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:1000px;overflow:hidden;width:100%}.upload-modal-header{align-items:center;background:orange;border-bottom:1px solid #fff3;color:#fff;display:flex;justify-content:space-between;padding:1.5rem 2rem}.upload-modal-header h2{font-size:1.5rem;font-weight:600;margin:0}.close-modal-btn{align-items:center;background:#fff3;border:1px solid #ffffff4d;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1rem;height:32px;justify-content:center;padding:.5rem;transition:all .3s ease;width:32px}.close-modal-btn:hover{background:#ffffff4d;transform:scale(1.1)}.upload-modal-content{flex:1 1;overflow-y:auto;padding:0}@media (max-width:768px){.upload-modal-overlay{padding:1rem}.upload-modal{max-height:95vh}.upload-modal-header{padding:1rem 1.5rem}.upload-modal-header h2{font-size:1.3rem}}.completion-screen-new h2{font-size:1.5rem}.final-results-new{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin:2rem 0}.result-card-new{background:#f8f9fa;border-left:4px solid orange;border-radius:15px;padding:1.5rem}.result-card-new h3{color:orange;font-size:1.1rem;margin-bottom:1rem}.score-large-new{color:#333;font-size:2rem;font-weight:700;margin:1rem 0}.accuracy-large-new{color:orange;font-size:1.2rem;font-weight:600}.result-card-new ul{list-style:none;margin:0;padding:0;text-align:left}.result-card-new li{color:#555;font-size:.9rem;padding:.25rem 0}.completion-actions-new{margin:2rem 0}.play-again-button-new{background:orange;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem 2rem;transition:all .3s ease}.play-again-button-new:hover{background:#e69500;transform:translateY(-2px)}.module-data-source-toggle{align-items:center;background:#0000;display:flex;gap:1rem;position:fixed;right:420px;top:20px;z-index:999}.firestore-toggle{align-items:center;color:#333;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem}.firestore-toggle input[type=checkbox]{cursor:pointer;height:16px;width:16px}.toggle-label{color:#333;font-size:.9rem;font-weight:500}.data-source-indicator{align-items:center;display:flex}.source-badge{border-radius:12px;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.source-badge.firestore{border:1px solid #e69500}.source-badge.hardcoded-backup{background:#f8f9fa;border:1px solid #dee2e6;color:#333}.next-button-new{align-items:center;background:orange;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:1rem 2rem;transition:all .3s ease}.next-button-new:hover{background:#e69500;box-shadow:0 4px 12px #ffa5004d;transform:translateY(-2px)}.next-button-new i{font-size:.9rem}.review-generator-container{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000000d;margin:2rem auto 0;max-width:1000px;padding:2rem}.review-header{border-bottom:2px solid #f0f0f0;margin-bottom:3rem;padding-bottom:1rem;text-align:center}.review-header h2{color:#333;font-size:2rem;margin-bottom:.5rem}.review-header p{color:#666;font-size:1.1rem}.review-config-grid{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:1fr 1fr;margin-bottom:3rem}.config-section h3{border-left:4px solid orange;color:#444;font-size:1.2rem;margin-bottom:1.5rem;padding-left:10px}.mode-selector{display:flex;flex-direction:column;gap:1rem}.mode-btn{align-items:center;background:#fff;border:2px solid #eee;border-radius:10px;cursor:pointer;display:flex;gap:1rem;padding:1rem;text-align:left;transition:all .2s ease}.mode-btn:hover{background:#fff9f0;border-color:orange}.mode-btn.active{background:#fff3e0;border-color:orange;box-shadow:0 0 0 2px #ffa50033}.mode-icon{align-items:center;background:#fff;border-radius:50%;box-shadow:0 2px 5px #0000001a;display:flex;font-size:2rem;height:50px;justify-content:center;width:50px}.mode-info h4{color:#333;margin:0 0 .3rem}.mode-info p{color:#666;font-size:.9rem;margin:0}.settings-form{gap:1.5rem}.form-group,.settings-form{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{color:#555;font-size:.9rem;font-weight:600}.form-group input,.form-group select{border:1px solid #ddd;border-radius:8px;font-size:1rem;padding:.8rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.review-actions{border-top:2px solid #f0f0f0;display:flex;justify-content:center;padding-top:2rem}.generate-btn{align-items:center;background:linear-gradient(135deg,orange,#ff8c00);border:none;border-radius:50px;box-shadow:0 4px 15px #ffa5004d;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;font-weight:700;gap:10px;padding:1rem 3rem;transition:all .3s ease}.generate-btn:hover{box-shadow:0 6px 20px #ffa50066;transform:translateY(-2px)}.generate-btn:disabled{background:#ccc;box-shadow:none;cursor:not-allowed;transform:none}@media (max-width:768px){.review-config-grid{gap:2rem;grid-template-columns:1fr}}.translation-matching-container{min-height:100%;padding:2rem}.content-constraint{margin:0 auto!important;max-width:80vw!important}.content-constraint,.setup-screen{align-items:center;display:flex;flex-direction:column;width:100%}.setup-screen{text-align:center}.setup-screen h2{color:#333;font-size:2.5rem;margin-bottom:2vh}.setup-description{color:#555;font-size:1.2rem;margin-bottom:4vh;max-width:60vw}.navigation-controls{display:flex;justify-content:space-between;margin:4vh auto 0;max-width:80vw;opacity:.7;transition:opacity .3s;width:100%}.navigation-controls:hover{opacity:1}.game-screen{margin:0 auto;max-width:80vw;width:100%}.options-grid{grid-gap:2vw;display:grid;gap:2vw;grid-template-columns:repeat(2,1fr);margin-top:4vh}.grammar-header{box-shadow:0 2px 10px #0000001a;color:#fff;flex-shrink:0;padding:2rem;text-align:center}.grammar-header h1{font-size:2.5rem;margin-bottom:.5rem;text-shadow:0 2px 4px #0000004d}.grammar-header h2{font-size:1.8rem;font-weight:400;margin-bottom:1rem;opacity:.9}.grammar-header p{font-size:1.1rem;line-height:1.4;opacity:.8}.grammar-content{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0003;display:flex;flex:1 1;flex-direction:column;margin:0 2rem 2rem;overflow-y:auto;padding:2rem}.grammar-content .placeholder-message{flex:1 1;padding:2rem;text-align:center}.grammar-content .placeholder-message h2{color:orange;font-size:2.2rem;margin-bottom:2rem;text-shadow:0 2px 4px #ffa50033}.grammar-content .feature-preview{background:#f8f9fa;border-left:4px solid orange;border-radius:15px;margin:1.5rem 0;padding:1.5rem;text-align:left}.grammar-content .feature-preview h3{color:orange;font-size:1.3rem;margin-bottom:1rem}.grammar-content .feature-preview ul{list-style:none;margin:0;padding:0}.grammar-content .feature-preview li{align-items:flex-start;border-bottom:1px solid #e9ecef;display:flex;gap:.5rem;padding:.5rem 0}.grammar-content .feature-preview li:last-child{border-bottom:none}.grammar-content .coming-soon-badge{background:#faf1ca;border-radius:15px;color:#333;margin:2rem 0;padding:1.5rem;text-align:center}.grammar-content .coming-soon-badge span{display:block;font-size:1.2rem;font-weight:600;margin-bottom:.5rem}.grammar-content .coming-soon-badge p{font-size:1rem;line-height:1.4;margin:0;opacity:.9}.grammar-content .navigation-buttons{display:flex;gap:1rem;justify-content:space-between;margin-top:auto;padding-top:2rem}.grammar-content .back-btn,.grammar-content .next-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;flex:1 1;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:1rem;transition:all .3s ease}.grammar-content .back-btn{background:#999;color:#fff}.grammar-content .back-btn:hover{background:#e69500;box-shadow:0 4px 12px #6c757d4d;transform:translateY(-2px)}.grammar-content .next-btn{background:orange;color:#fff}.grammar-content .next-btn:hover{background:#e69500;box-shadow:0 4px 12px #ffa5004d;transform:translateY(-2px)}.chapter-title{align-items:center;color:#333;display:flex;gap:10px;text-shadow:none}.chapter-title h3{font-size:1.2rem;font-weight:700;margin:0}.chapter-title p{font-size:.9rem;line-height:1.3;margin:0;opacity:.9}.chapter-options{box-sizing:border-box;display:flex;flex-direction:row;gap:10px;padding:0;width:auto}@media (max-width:768px){.grammar-header{padding:1.5rem}.grammar-header h1{font-size:2rem}.grammar-header h2{font-size:1.5rem}.grammar-content{margin:0 1rem 1rem;padding:1.5rem}.grammar-content .placeholder-message{padding:1rem}.grammar-content .placeholder-message h2{font-size:1.8rem}.grammar-content .navigation-buttons{flex-direction:column}}.grammar-feature-container-new{background-color:#faf1ca;display:flex;flex-direction:column;min-height:100%;overflow-x:hidden;overflow-y:auto;position:relative;width:100%;z-index:1000}.grammar-header-new{box-shadow:0 2px 10px #0000001a;color:#fff;flex-shrink:0;padding:2rem;text-align:center}.grammar-header-new h1{font-size:2.5rem;margin-bottom:.5rem;text-shadow:0 2px 4px #0000004d}.grammar-header-new h2{font-size:1.8rem;font-weight:400;margin-bottom:1rem;opacity:.9}.grammar-header-new p{font-size:1.1rem;line-height:1.4;opacity:.8}.feature-title-new{color:#fff;text-align:center}.feature-title-new h1{font-size:2.5rem;margin-bottom:.5rem;text-shadow:0 2px 4px #0000004d}.navigation-buttons-new{display:flex;gap:2rem;justify-content:space-between;margin-top:2rem}.nav-btn-new{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;flex:1 1;font-size:1.1rem;font-weight:600;gap:.5rem;justify-content:center;padding:1rem 2rem;transition:all .3s ease}.prev-btn-new{background:#6c757d;color:#fff}.prev-btn-new:hover{background:#5a6268;transform:translateY(-2px)}.next-btn-new{background:orange;color:#fff}.next-btn-new:hover{background:#e69500;transform:translateY(-2px)}.back-btn-new{background:#6c757d;color:#fff}.back-btn-new:hover{background:#5a6268;transform:translateY(-2px)}.setup-screen-new{padding:2rem;text-align:center}.grammar-setup-content-new{align-items:flex-start;display:flex;gap:2rem;margin:0 auto;max-width:1200px}.grammar-instructions-new{background:#f8f9fa;border-left:4px solid orange;border-radius:8px;flex:1 1;padding:1.5rem;text-align:left}.grammar-instructions-new h3{color:orange;font-size:1.1rem;margin-bottom:1rem}.grammar-instructions-new ul{list-style:none;padding:0}.grammar-instructions-new li{color:#333;font-size:.9rem;margin-bottom:.5rem}.grammar-start-section-new{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.setup-screen-new h2{color:orange;font-size:1.5rem;margin-bottom:2rem}.setup-screen-new p{color:#666;font-size:1rem;margin-bottom:2rem}.feature-preview-new{background:#f8f9fa;border-left:4px solid orange;border-radius:15px;margin-top:2rem;padding:2rem}.feature-preview-new h3{color:orange;font-size:1.2rem;margin-bottom:1rem}.feature-preview-new ul{list-style:none;padding:0}.feature-preview-new li{border-bottom:1px solid #eee;color:#555;font-size:1rem;padding:.5rem 0}.feature-preview-new li:last-child{border-bottom:none}.start-button-new{background:orange;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:2rem;padding:1rem 2rem;transition:all .3s ease}.start-button-new:hover{background:#e69500;transform:translateY(-2px)}.game-screen-new{margin:0 auto;max-width:1000px}.game-header-new{align-items:center;background:#f8f9fa;border-radius:10px;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem;padding:1rem}.score-display-new{color:#333;font-size:1rem;font-weight:600}.progress-display-new{color:orange;font-size:1rem;font-weight:600}.progress-bar-new{background:#e1e5e9;border-radius:4px;height:8px;overflow:hidden;width:150px}.progress-fill-new{background:orange;height:100%;transition:width .3s ease}.question-area-new{margin:2rem 0}.question-header-new h3{color:#333;font-size:1.2rem;margin-bottom:1rem;text-align:center}.english-sentence-new{background:#f8f9fa;border-left:4px solid orange;border-radius:15px;font-size:1.1rem;margin:1rem 0;padding:1.5rem;text-align:center}.sentence-building-area-new{margin:2rem 0}.sentence-preview-new{align-items:center;background:#fff;border:2px solid #e1e5e9;border-radius:15px;display:flex;justify-content:center;margin-bottom:2rem;min-height:80px;padding:2rem}.empty-sentence-new{color:#999;font-size:1.1rem;font-style:italic;text-align:center}.built-sentence-new{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.sentence-word-new{background:orange;border-radius:20px;color:#fff;font-size:1rem;font-weight:600;margin:.25rem;padding:.5rem 1rem}.word-bank-new{margin:2rem 0}.word-bank-new h4{color:#333;font-size:1rem;margin-bottom:1rem;text-align:center}.word-grid-new{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:1rem 0}.word-button-new{align-items:center;background:#fff;border:2px solid #e1e5e9;border-radius:15px;color:#333;cursor:pointer;display:flex;flex-direction:column;font-size:1rem;gap:.5rem;justify-content:center;min-height:80px;padding:1rem;text-align:center;transition:all .3s ease}.word-button-new:hover:not(:disabled){background:#f8f9fa;border-color:orange;box-shadow:0 4px 12px #ffa50033;transform:translateY(-2px)}.word-button-new.selected-new{background:orange;border-color:orange;box-shadow:0 4px 12px #ffa5004d;color:#fff;transform:translateY(-2px)}.word-button-new:disabled{cursor:not-allowed;opacity:.6}.word-original-new{color:inherit;font-size:1.1rem;font-weight:700}.word-meaning-new{color:inherit;font-size:.9rem;opacity:.8}.teaching-display-new{background:#f8f9fa;border-left:4px solid orange;border-radius:15px;margin-top:2rem;padding:1.5rem}.grammar-explanation-new{margin-bottom:1.5rem}.grammar-explanation-new h4{color:orange;font-size:1.1rem;margin-bottom:.5rem}.grammar-explanation-new p{color:#555;font-size:1rem;margin-bottom:1rem}.current-sentence-new{background:#fff;border:2px solid #e1e5e9;border-radius:10px;font-size:1.1rem;margin:1rem 0;padding:1rem;text-align:center}.grammar-points-new{margin:1rem 0}.grammar-points-new h4{color:orange;font-size:1rem;margin-bottom:.5rem}.grammar-points-new ul{list-style:none;margin:0;padding:0}.grammar-points-new li{color:#555;font-size:.9rem;padding:.25rem 0}.complete-message-new{background:#fff;border:2px solid #28a745;border-radius:10px;margin-top:1.5rem;padding:1rem}.correct-result-new{background:#d4edda;border:1px solid #c3e6cb;color:#155724;font-weight:600;margin-bottom:1rem}.correct-result-new,.final-sentence-new{border-radius:10px;font-size:1.1rem;padding:1rem;text-align:center}.final-sentence-new{background:#f8f9fa;border:2px solid #e1e5e9;margin:1rem 0}.next-exercise-button-new{background:orange;border:none;border-radius:8px;color:#fff;cursor:pointer;display:block;font-size:.9rem;font-weight:600;margin:1rem auto;padding:.75rem 1.5rem;transition:all .3s ease}.next-exercise-button-new:hover{background:#e69500;transform:translateY(-1px)}.completion-screen-new{padding:2rem;text-align:center}.completion-screen-new h2{color:orange;margin-bottom:2rem}@media (max-width:768px){.grammar-setup-content-new{flex-direction:column;gap:1rem}.grammar-instructions-new{text-align:center}.mode-options-new,.theme-options-new{align-items:flex-start;flex-direction:column}.vocabulary-preview-new{height:6vh;width:95%}}.grammar-feature-container{align-items:center;background-color:#faf1ca;background-color:var(--background-color,#faf1ca);display:flex;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font-family-base,"Inter",-apple-system,BlinkMacSystemFont,sans-serif);height:auto;margin:0 auto;max-width:90vw;min-width:320px;padding:2rem;position:relative;width:100%}.completion-screen,.game-screen,.setup-screen{background:#fff;border-radius:16px;box-shadow:0 10px 30px #00000014;margin-top:20px;max-width:100%;padding:2rem;width:100%}.grammar-instructions{background:#f8f9fa;border-left:4px solid orange;border-radius:12px;margin-bottom:2rem;padding:1.5rem}.grammar-instructions ul{list-style:none;padding:0}.grammar-instructions li{font-size:1.1rem;margin-bottom:10px}.start-button{background:orange;font-size:1.2rem;transition:all .2s}.start-button:hover{background:#e69500}.progress-display,.score-display{color:#555}.progress-bar{width:200px}.progress-fill{border-radius:4px;transition:width .3s}.question-header{margin-bottom:2rem;text-align:center}.english-sentence{color:#333;font-size:1.5rem;margin-top:1rem}.sentence-preview{align-items:center;background:#fff9e6;border:2px dashed orange;border-radius:12px;display:flex;justify-content:center;margin-bottom:2rem;min-height:80px;padding:1rem}.empty-sentence{color:#999;font-style:italic}.built-sentence{color:#333;display:flex;flex-wrap:wrap;font-size:1.8rem;font-weight:700;gap:10px;justify-content:center}.sentence-word{background:#fff;border-radius:6px;box-shadow:0 2px 4px #0000001a;padding:5px 10px}.word-bank h4{color:#666;margin-bottom:1rem}.word-grid{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.word-button{background:#fff;border:2px solid #eee;border-radius:12px;cursor:pointer;min-width:100px;padding:1rem 1.5rem;transition:all .2s}.word-button:hover:not(:disabled){border-color:orange;box-shadow:0 4px 10px #0000000d;transform:translateY(-2px)}.word-button.selected{background:#eee;border-color:#eee;box-shadow:none;color:#ccc;cursor:default;transform:none}.word-original{font-size:1.2rem;font-weight:700;margin-bottom:.2rem}.word-meaning{color:#888;font-size:.9rem}.teaching-display{animation:fadeIn .5s ease;margin-top:3rem}.complete-message{background:#d4edda;border-radius:12px;color:#155724;margin-top:2rem;padding:2rem;text-align:center}.final-sentence{font-size:1.5rem;margin:1rem 0}.next-exercise-button{background:#155724;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;padding:1rem 2rem}.next-exercise-button:hover{background:#11451d}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.next-exercise-button:focus-visible,.start-button:focus-visible{box-shadow:0 0 0 4px #ffa50040;outline:2px solid orange;outline:2px solid var(--primary-color,orange);outline-offset:2px}.word-button:focus-visible{border-color:orange;border-color:var(--primary-color,orange);box-shadow:0 0 0 4px #ffa50040;outline:2px solid orange;outline:2px solid var(--primary-color,orange);outline-offset:2px;transform:translateY(-2px)}.sentence-word:focus-visible{box-shadow:0 0 0 4px #dc354540;outline:2px solid #dc3545;outline:2px solid var(--error-color,#dc3545);outline-offset:2px}@media (max-width:768px){.grammar-feature-container{padding:1rem}.completion-screen,.game-screen,.setup-screen{margin-top:1rem;padding:1.5rem}.grammar-instructions{padding:1rem}.english-sentence{font-size:1.2rem}.built-sentence{font-size:1.4rem}.word-grid{gap:.75rem}.word-button{min-width:80px;padding:.75rem 1rem}.game-header{flex-wrap:wrap;gap:.5rem}.progress-bar{margin-top:.5rem;width:100%}}@media (max-width:480px){.sentence-preview{min-height:60px;padding:.75rem}.built-sentence{font-size:1.2rem;gap:6px}.word-button{font-size:.9rem;min-width:70px;padding:.6rem .8rem}.word-original{font-size:1rem}.word-meaning{font-size:.8rem}.next-exercise-button,.start-button{font-size:1rem;padding:1rem}}.vocabulary-header{color:#fff;flex-shrink:0;padding:2rem;text-align:center}.vocabulary-header h1{font-size:2.5rem;margin-bottom:.5rem;text-shadow:0 2px 4px #0000004d}.vocabulary-header h2{font-size:1.8rem;font-weight:400;margin-bottom:1rem;opacity:.9}.vocabulary-header p{font-size:1.1rem;line-height:1.4;opacity:.8}.vocabulary-content{display:flex;flex-direction:column;justify-content:space-between}.placeholder-message{color:#333;text-align:center}.placeholder-icon{font-size:4rem;margin-bottom:1rem}.placeholder-message h3{color:orange;font-size:2rem;margin-bottom:1rem}.placeholder-message>p{color:#666;font-size:1.1rem;line-height:1.6;margin-bottom:.5rem}.feature-preview{background:#f8f9fa;border-left:4px solid orange;border-radius:15px;margin-top:2rem;padding:2rem}.feature-preview h4{color:orange;font-size:1.3rem;margin-bottom:1rem}.feature-preview ul{list-style:none;padding:0}.feature-preview li{border-bottom:1px solid #eee;color:#555;font-size:1rem;padding:.5rem 0}.feature-preview li:last-child{border-bottom:none}.navigation-buttons{display:flex;gap:2rem;justify-content:space-between;margin-top:2rem}.vocabulary-content .back-btn,.vocabulary-content .next-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;flex:1 1;font-size:1.1rem;font-weight:600;gap:.5rem;justify-content:center;padding:1rem 2rem;transition:all .3s ease}.vocabulary-content .back-btn{background:#999;color:#fff}.vocabulary-content .back-btn:hover{background:#e69500;transform:translateY(-2px)}.vocabulary-content .next-btn{background:orange;color:#fff}.vocabulary-content .next-btn:hover{background:#e69500;transform:translateY(-2px)}@media (max-width:768px){.vocabulary-header{padding:1.5rem}.vocabulary-header h1{font-size:2rem}.vocabulary-header h2{font-size:1.4rem}.vocabulary-content{padding:1rem}.navigation-buttons{flex-direction:column;gap:1rem}.placeholder-icon{font-size:3rem}.feature-preview{padding:1.5rem}}@media (max-width:480px){.vocabulary-content,.vocabulary-header{padding:1rem}.placeholder-message h3{font-size:1.5rem}}.vocabulary-feature-container-new{background-color:#faf1ca;display:flex;flex-direction:column;min-height:100%;overflow-x:hidden;overflow-y:auto;position:relative;width:100%;z-index:1000}.vocabulary-header-new{color:#fff;flex-shrink:0;padding:2rem;text-align:center}.vocabulary-header-new h1{font-size:2.5rem;margin-bottom:.5rem;text-shadow:0 2px 4px #0000004d}.vocabulary-header-new h2{font-size:1.8rem;font-weight:400;margin-bottom:1rem;opacity:.9}.vocabulary-header-new p{font-size:1.1rem;line-height:1.4;opacity:.8}.mode-selection-new{margin:2rem 0}.mode-selection-new h3{color:orange;font-size:14px;margin-bottom:1rem}.mode-options-new{display:flex;flex-direction:column;gap:.5rem;margin:1rem 0}.mode-radio-new{align-items:center;cursor:pointer;display:flex;font-size:14px;gap:.5rem}.mode-radio-new input[type=radio]{cursor:pointer;margin:0}.mode-label-new{color:#333;font-size:14px}.mode-btn-new{background:#fff;border:2px solid #e1e5e9;border-radius:15px;cursor:pointer;padding:1.5rem;text-align:center;transition:all .3s ease}.mode-btn-new:hover{background:#f8f9fa;border-color:orange;transform:translateY(-2px)}.mode-btn-new.selected-new{background:orange;border-color:orange;color:#fff}.mode-btn-new h4{font-size:1rem;margin-bottom:.5rem}.mode-btn-new p{font-size:.9rem;margin-bottom:.5rem;opacity:.8}.mode-icon-new{font-size:1.5rem}.theme-selection-new{margin:2rem 0}.theme-selection-new h3{color:orange;font-size:.9rem;margin-bottom:1rem}.theme-options-new{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.theme-checkbox-new{align-items:center;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem}.theme-checkbox-new input[type=checkbox]{cursor:pointer;margin:0}.theme-label-new{color:#333;font-size:.9rem}.theme-btn-new{background:#fff;border:2px solid #e1e5e9;border-radius:15px;cursor:pointer;padding:1.5rem;text-align:center;transition:all .3s ease}.theme-btn-new:hover{background:#f8f9fa;border-color:orange;transform:translateY(-2px)}.theme-btn-new.selected-new{background:orange;border-color:orange;color:#fff}.theme-btn-new h4{font-size:1rem;margin-bottom:.5rem}.theme-btn-new p{font-size:.9rem;margin-bottom:.5rem;opacity:.8}.theme-icon-new{font-size:1.5rem}.vocabulary-preview-new{align-items:center;background:#f8f9fa;border-left:4px solid orange;border-radius:8px;display:flex;height:5vh;justify-content:center;margin:1rem auto;padding:.5rem;text-align:center;width:80%}.preview-content-new{align-items:center;display:flex;flex-direction:column;gap:.25rem;width:100%}.preview-title-new{color:#666;font-size:.8rem;font-weight:500}.preview-words-new{color:#333;font-size:.75rem;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vocabulary-preview-new h3{color:orange;font-size:1.2rem;margin-bottom:1rem}.vocab-sample-new{margin-top:1rem}.vocab-sample-new ul{list-style:none;margin:0;padding:0}.vocab-sample-new li{color:#555;font-size:.9rem;padding:.25rem 0}.word-display-new{background:#f8f9fa;border-left:4px solid orange;border-radius:15px;color:#333;font-size:1.8rem;font-weight:700;margin:2rem 0;padding:2rem;text-align:center}.options-container-new{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:2rem 0}.option-btn-new{background:#fff;border:2px solid #e1e5e9;border-radius:15px;color:#333;cursor:pointer;font-size:.9rem;padding:1rem;text-align:center;transition:all .3s ease}.option-btn-new:hover:not(:disabled){background:#f8f9fa;border-color:orange;transform:translateY(-2px)}.option-btn-new.selected-new{background:orange;border-color:orange;color:#fff}.option-btn-new.correct-new{background:#d4edda;border-color:#28a745;color:#155724}.option-btn-new.incorrect-new{background:#f8d7da;border-color:#dc3545;color:#721c24}.input-container-new{align-items:center;display:flex;gap:1rem;justify-content:center;margin:2rem 0}.answer-input-new{background:#fff;border:2px solid #e1e5e9;border-radius:10px;color:#333;flex:1 1;font-size:1rem;max-width:300px;padding:1rem;text-align:center}.answer-input-new:focus{border-color:orange;box-shadow:0 0 0 3px #ffa5001a;outline:none}.submit-button-new{background:orange;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:1rem 1.5rem;transition:all .3s ease}.submit-button-new:hover:not(:disabled){background:#e69500;transform:translateY(-2px)}.submit-button-new:disabled{background:#ccc;cursor:not-allowed}.feedback-new{border-radius:10px;font-size:1rem;font-weight:600;margin:2rem 0;padding:1rem;text-align:center}.incorrect-result-new{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.setup-button-new{background:#6c757d;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:1rem 1.5rem;transition:all .3s ease}.setup-button-new:hover{background:#5a6268;transform:translateY(-2px)}.data-source-toggle{align-items:center;display:flex;gap:1rem;margin-top:1rem}.vocabulary-feature-container{align-items:center;background-color:#faf1ca;background-color:var(--background-color,#faf1ca);display:flex;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font-family-base,"Inter",-apple-system,BlinkMacSystemFont,sans-serif);height:auto;margin:0 auto;max-width:90vw;min-width:320px;padding:2rem;position:relative;width:100%}.game-screen,.setup-screen{background:#fff;border-radius:16px;box-shadow:0 10px 30px #00000014;margin-top:20px;max-width:100%;padding:2rem;width:100%}h3{color:#333;font-weight:700;margin-bottom:1.5rem}.mode-selection h3,.theme-selection h3{border-bottom:2px solid #fff3d6;color:orange;padding-bottom:.5rem}.mode-options,.theme-options{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:2rem}.mode-radio,.theme-checkbox{align-items:center;background:#f8f9fa;border:2px solid #eee;border-radius:8px;cursor:pointer;display:flex;padding:1rem;transition:all .2s ease}.mode-radio:hover,.theme-checkbox:hover{background:#fff9e6;border-color:orange}.mode-radio input,.theme-checkbox input{accent-color:orange;margin-right:10px}.start-button{background-color:orange;border:none;border-radius:12px;box-shadow:0 4px 6px #ffa50033;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:1.2rem;transition:transform .2s,background .2s;width:100%}.start-button:hover{background-color:#e69500;transform:translateY(-2px)}.game-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.progress-display,.score-display{color:#666;font-weight:600}.progress-bar{background:#eee;border-radius:4px;flex-grow:1;height:8px;margin:0 1rem;overflow:hidden}.progress-fill{background:orange;height:100%;transition:width .3s ease}.question-area{text-align:center}.word-display{background:#fff9e6;border:2px dashed orange;border-radius:12px;color:#333;font-size:2.5rem;font-weight:700;margin:2rem 0;padding:2rem}.options-container{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-top:2rem}.option-btn{background:#fff;border:2px solid #eee;border-radius:12px;cursor:pointer;font-size:1.1rem;padding:1.5rem;transition:all .2s}.option-btn:hover:not(:disabled){border-color:orange;box-shadow:0 4px 12px #0000000d;transform:translateY(-2px)}.option-btn.selected{background:#fff9e6;border-color:orange}.option-btn.correct{background:#d4edda;border-color:#28a745;color:#155724}.option-btn.incorrect{background:#f8d7da;border-color:#dc3545;color:#721c24}.input-container{display:flex;gap:1rem;margin:0 auto;max-width:90vw}.answer-input{border:2px solid #ddd;border-radius:8px;flex:1 1;font-size:1.2rem;padding:1rem}.answer-input:focus{border-color:orange;outline:none}.submit-button{background:orange;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:0 2rem}.module-data-source-toggle{font-size:.8rem;opacity:.7;position:absolute;right:10px;top:10px}.source-badge{background:#eee;border-radius:4px;color:#666;padding:4px 8px}.source-badge.firestore{background:orange;color:#fff}.start-button:focus-visible,.submit-button:focus-visible{box-shadow:0 0 0 4px #ffa50040;outline:2px solid orange;outline:2px solid var(--primary-color,orange);outline-offset:2px}.option-btn:focus-visible{border-color:orange;border-color:var(--primary-color,orange);box-shadow:0 0 0 4px #ffa50040;outline:2px solid orange;outline:2px solid var(--primary-color,orange);outline-offset:2px}.mode-radio:focus-within,.theme-checkbox:focus-within{border-color:orange;border-color:var(--primary-color,orange);outline:2px solid orange;outline:2px solid var(--primary-color,orange);outline-offset:2px}.answer-input:focus-visible{border-color:orange;border-color:var(--primary-color,orange);box-shadow:0 0 0 4px #ffa50026;outline:2px solid orange;outline:2px solid var(--primary-color,orange);outline-offset:-2px}@media (max-width:768px){.vocabulary-feature-container{padding:1rem}.game-screen,.setup-screen{margin-top:1rem;padding:1.5rem}.word-display{font-size:2rem;padding:1.5rem}.game-header{flex-wrap:wrap;gap:.5rem}.progress-bar{margin:.5rem 0 0;order:3;width:100%}}@media (max-width:600px){.mode-options,.options-container,.theme-options{grid-template-columns:1fr}.input-container{flex-direction:column}.submit-button{padding:1rem;width:100%}}:root{--surface:#ffffff08;--surface-hover:#ffffff0f;--surface-active:#ff8a001f;--accent:#ff8a00;--accent-glow:#ff8a0033;--border-subtle:#ffffff14;--text-primary:#e5e7eb;--text-secondary:#d1d5db;--text-tertiary:#9ca3af;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:0.75rem;--space-lg:1rem;--radius-md:6px;--transition-base:0.2s ease}.app-homepage-premium{color:#e5e7eb;color:var(--text-primary);display:flex;flex-direction:column;font-family:Bebas Neue,system-ui,sans-serif;font-family:var(--font-family-nav,"Bebas Neue",system-ui,sans-serif);height:100vh;left:0;min-height:100vh;overflow:hidden;position:fixed;top:0;width:100vw;z-index:1}.sidebar-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;height:100%;left:0;opacity:0;position:fixed;top:0;transition:all .2s ease;transition:all var(--transition-base);visibility:hidden;width:100%;z-index:100}.sidebar-overlay.open{opacity:1;visibility:visible}.sidebar-panel{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0a0a0af2;border-left:1px solid #ffffff14;border-left:1px solid var(--border-subtle);display:flex;flex-direction:column;height:100%;left:auto;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .2s ease;transition:transform var(--transition-base);width:280px;z-index:101}.sidebar-overlay.open .sidebar-panel{transform:translateX(0)}.sidebar-header{align-items:center;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;padding:1rem;padding:var(--space-lg)}.sidebar-title{color:#e5e7eb;color:var(--text-primary);font-size:1rem;font-weight:600}.close-sidebar-btn{background:#0000;border:none;color:#9ca3af;color:var(--text-tertiary);cursor:pointer;font-size:1.2rem;transition:color .2s ease;transition:color var(--transition-base)}.close-sidebar-btn:hover{color:#ff8a00;color:var(--accent)}.sidebar-nav-list{flex:1 1;overflow-y:auto}.sidebar-nav-item,.sidebar-nav-list{padding:.75rem;padding:var(--space-md)}.sidebar-nav-item{align-items:center;background:#0000;border:none;border-radius:6px;border-radius:var(--radius-md);color:#d1d5db;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.9rem;gap:.75rem;gap:var(--space-md);margin-bottom:.25rem;margin-bottom:var(--space-xs);text-align:left;transition:all .2s ease;transition:all var(--transition-base);width:100%}.sidebar-nav-item:hover{background:#ffffff0f;background:var(--surface-hover);color:#e5e7eb;color:var(--text-primary)}.sidebar-nav-item.active{background:#ff8a001f;background:var(--surface-active);color:#ff8a00;color:var(--accent)}.sidebar-nav-item i{text-align:center;width:20px}.sidebar-footer{background:#ffffff08;background:var(--surface);border-top:1px solid #ffffff14;border-top:1px solid var(--border-subtle);padding:1rem;padding:var(--space-lg)}.sidebar-user-level{color:#9ca3af;color:var(--text-tertiary)}.error-container{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;padding:1rem;padding:var(--space-lg);text-align:center}.error-container h3{color:#e5e7eb;color:var(--text-primary);margin-bottom:.5rem;margin-bottom:var(--space-sm)}.error-container p{color:#d1d5db;color:var(--text-secondary);margin-bottom:.75rem;margin-bottom:var(--space-md)}.error-container button{background:#ff8a00;background:var(--accent);border:none;border-radius:6px;border-radius:var(--radius-md);color:#0a0a0c;cursor:pointer;padding:.5rem 1rem}.style-selector-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffc;border:1px solid #ffffff80;border-radius:16px;border-radius:var(--border-radius-lg,16px);box-shadow:0 4px 6px #0000000d;margin-bottom:2rem;padding:1rem}.style-selector-title{color:#666;color:var(--text-secondary,#666);font-size:.9rem;font-weight:600;letter-spacing:1px;margin:0 0 1rem;text-transform:uppercase}.style-waffle-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.style-card{align-items:center;background:#fff;border:2px solid #0000;border-radius:12px;border-radius:var(--border-radius-md,12px);box-shadow:0 2px 4px #0000000d;cursor:pointer;display:flex;flex-direction:column;gap:.5rem;overflow:hidden;padding:.75rem;position:relative;transition:all .2s ease}.style-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.style-card.is-active{background:#f8f9fa;background:var(--bg-card,#f8f9fa);border-color:orange;border-color:var(--primary-color,orange)}.style-preview-box{align-items:center;background:#f0f0f0;border-radius:8px;display:flex;height:50px;justify-content:center;overflow:hidden;position:relative;width:100%}.style-preview-accent{background:#ccc;background:var(--preview-color,#ccc);height:10px;left:0;position:absolute;right:0;top:0}.style-preview-ui-element{background:#fff;border-radius:4px;box-shadow:0 2px 4px #0000001a;height:60%;margin-top:5px;width:60%}.style-info{text-align:center}.style-name{color:#333;color:var(--text-primary,#333);display:block;font-size:.85rem;font-weight:600}.style-desc{color:#999;color:var(--text-light,#999);display:none;font-size:.7rem}.style-active-indicator{align-items:center;background:orange;background:var(--primary-color,orange);border-radius:50%;color:#fff;display:flex;font-size:10px;height:16px;justify-content:center;position:absolute;right:6px;top:6px;width:16px}:root{--card-height:65vh;--card-width:380px;--card-radius:20px;--glass-surface:#ffffff1a;--glass-border:#fff3;--glass-shadow:0 8px 32px 0 #0000004d;--text-shadow:0 2px 4px #00000080;--accent-color:#ff8a00;--level-page-padding:1.5rem}.level-page-container{animation:gradientBG 15s ease infinite;background-size:400% 400%;display:flex;flex-direction:column;font-family:Bebas Neue,system-ui,sans-serif;font-family:var(--font-family-nav,"Bebas Neue",system-ui,sans-serif);min-height:100vh;overflow:hidden;position:relative;width:100vw}.chapter-background-layer{inset:0;position:absolute;z-index:0}.chapter-background-layer img,.chapter-background-layer video{height:100%;inset:0;object-fit:cover;position:absolute;width:100%}.chapter-gradient-overlay{background:radial-gradient(circle at center,#0000 0,#00000073 100%);inset:0;pointer-events:none;position:absolute;z-index:1}.level-main-content{grid-gap:1.5rem;grid-gap:var(--level-page-padding,1.5rem);align-items:end;display:grid;flex:1 1;gap:1.5rem;gap:var(--level-page-padding,1.5rem);grid-template-areas:"brand chapter-title" "menu  nav-actions" "timeline timeline";grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto;height:100%;padding:1.5rem;padding:var(--level-page-padding,1.5rem);position:relative;z-index:2}.level-brand{align-self:flex-start;color:#fff;font-size:1.4rem;font-weight:700;grid-area:brand;letter-spacing:.14em;text-transform:uppercase}.chapter-title-box{align-self:flex-start;display:flex;flex-direction:column;gap:.15rem;grid-area:chapter-title;justify-self:end;text-align:right}.chapter-level-label{color:#ffffffe6;font-size:1.2rem;font-weight:600}.chapter-level-label,.chapter-main-title{letter-spacing:.08em;text-transform:uppercase}.chapter-main-title{color:#fff;font-size:2.6rem;font-weight:700}.chapter-subtitle{color:#ffffffd9;font-size:1rem;letter-spacing:.06em;text-transform:uppercase}.chapter-stats{color:#fffc;font-size:.9rem}.chapter-menu-vertical{display:flex;flex-direction:column;gap:1.1rem;grid-area:menu;padding:0}.chapter-menu-vertical button{align-items:center;background:#0000;border:none;color:#fff;cursor:pointer;display:flex;font-size:2.6rem;font-weight:700;gap:.6rem;letter-spacing:.08em;padding:0;text-align:left;text-shadow:0 2px 6px #000000b3;text-transform:uppercase;transition:color .18s ease,text-shadow .18s ease,transform .18s ease}.chapter-menu-vertical button i{align-items:center;display:flex;flex-shrink:0;font-size:1.2rem;justify-content:center}.chapter-menu-vertical button:hover{color:#ff8a00;text-shadow:0 2px 6px #000000b3,0 0 12px #ff8a0080;transform:translateX(4px) scale(1.03)}.chapter-nav-actions{align-items:flex-end;display:flex;flex-direction:column;gap:.75rem;grid-area:nav-actions}.chapter-enter-btn{background:#ff8a00;background:var(--accent-color);border:none;border-radius:6px;box-shadow:0 0 12px #ff8a0066;color:#0a0a0c;cursor:pointer;font-size:1rem;font-weight:700;letter-spacing:.06em;padding:.6rem 1.4rem;text-transform:uppercase;transition:all .18s ease}.chapter-enter-btn:hover{background:#ff9f2e;box-shadow:0 0 18px #ff8a00b3}.chapter-nav-arrows{display:flex;gap:.75rem}.chapter-nav-arrows button{background:#0000;border:none;box-shadow:0 0 12px #ff8a0066;color:#fff;cursor:pointer;font-size:.95rem;letter-spacing:.06em;padding:.35rem 0;text-transform:uppercase;transition:color .18s ease,transform .18s ease,box-shadow .18s ease}.chapter-nav-arrows button:hover{box-shadow:0 0 18px #ff8a0099;color:#ff8a00;transform:translateX(2px)}.chapter-timeline-mini{align-items:center;align-self:flex-end;color:#ffffffd9;display:flex;font-size:.8rem;gap:.35rem;grid-area:timeline;justify-self:center;padding-bottom:.25rem}.chapter-timeline-mini span{cursor:default}.chapter-timeline-mini-strong{font-weight:700}.chapter-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#14141499;border:1px solid #fff3;border:1px solid var(--glass-border);border-radius:20px;border-radius:var(--card-radius);box-shadow:0 8px 32px 0 #0000004d;box-shadow:var(--glass-shadow);display:flex;flex-direction:column;height:65vh;height:var(--card-height);overflow:hidden;position:relative;transform-style:preserve-3d;transition:all .4s cubic-bezier(.25,.8,.25,1);width:380px;width:var(--card-width)}.chapter-preview-full{background:#2a2a2a;border-bottom:1px solid #ffffff1a;flex:2 1;overflow:hidden;position:relative}.chapter-image{height:100%;object-fit:cover;transition:transform .5s ease;width:100%}.chapter-card:hover .chapter-image{transform:scale(1.05)}.chapter-image-fallback{align-items:center;background:linear-gradient(45deg,#1a1a1a,#2d2d2d);color:#ffffff4d;display:flex;flex-direction:column;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}.chapter-info-bottom{background:linear-gradient(180deg,#0000,#0006);color:#fff;display:flex;flex:1 1;flex-direction:column;justify-content:flex-start;padding:1.5rem}.chapter-number{color:#ff8a00;color:var(--accent-color);font-size:.8rem;font-weight:700;letter-spacing:2px;margin-bottom:.5rem;text-transform:uppercase}.chapter-title{font-size:1.5rem;font-weight:600;line-height:1.3;margin:0;text-shadow:0 1px 2px #00000080}.chapter-actions{background:#0003;border-top:1px solid #ffffff0d;display:flex;flex-direction:column;gap:.8rem;padding:1.5rem}.learn-btn{align-items:center;background:#ff8a00;background:var(--accent-color);border:none;border-radius:12px;box-shadow:0 4px 15px #ff8a004d;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:1rem;transition:all .2s;width:100%}.learn-btn:hover:not(:disabled){background:#ff9f2e;box-shadow:0 6px 20px #ff8a0066;transform:translateY(-2px)}.learn-btn:disabled{background:#555;box-shadow:none;cursor:not-allowed;opacity:.7}.action-row{display:flex;gap:.8rem}.action-btn{align-items:center;background:#ffffff1a;border:1px solid #ffffff1a;border-radius:10px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-size:.9rem;gap:.4rem;justify-content:center;padding:.8rem;transition:all .2s}.action-btn:hover{background:#fff3}.carousel-slot{position:absolute;transition:all .5s cubic-bezier(.25,.8,.25,1)}.carousel-slot.center{opacity:1;transform:scale(1);z-index:5}.carousel-slot.left{cursor:pointer;opacity:.6;transform:translateX(-110%) scale(.85) rotateY(15deg);z-index:1}.carousel-slot.right{cursor:pointer;opacity:.6;transform:translateX(110%) scale(.85) rotateY(-15deg);z-index:1}.carousel-slot.empty{opacity:0;pointer-events:none}.chapters-carousel.is-dragging .carousel-slot{transition:none}.chapter-timeline-container{align-items:center;display:flex;gap:1rem;justify-content:center;padding:1rem;position:relative;z-index:10}.timeline-slot{align-items:center;color:#fff;cursor:pointer;display:flex;flex-direction:column;opacity:.5;transition:all .3s}.timeline-slot.active{opacity:1;transform:scale(1.1)}.timeline-dot{background:#fff;border-radius:50%;height:6px;margin-bottom:.5rem;width:6px}.timeline-slot.active .timeline-dot{background:#ff8a00;background:var(--accent-color);box-shadow:0 0 10px #ff8a00;box-shadow:0 0 10px var(--accent-color)}.timeline-label{font-size:.75rem;font-weight:600}.timeline-counter{font-size:.7rem;opacity:.8}.version-footer{bottom:.5rem;color:#fff6;font-size:.7rem;position:absolute;right:1rem;z-index:100}:root{--map-hover-transition:0.3s ease;--map-load-fade-in:1s ease-out;--tooltip-animation:0.2s ease-out;--map-bg-gradient-start:#667eea;--map-bg-gradient-end:#764ba2;--map-container-bg:#ffffff1a;--map-tooltip-bg:#000000d9;--map-highlight-glow:0 0 20px #ffffff80}.map-menu{background:linear-gradient(135deg,#667eea,#764ba2);background:linear-gradient(135deg,var(--map-bg-gradient-start) 0,var(--map-bg-gradient-end) 100%);font-family:Microsoft YaHei,PingFang SC,Arial,sans-serif;font-family:var(--font-family-base,"Microsoft YaHei","PingFang SC",Arial,sans-serif);min-height:100vh;overflow-x:hidden;padding:calc(60px + 2.5rem) 20px 40px;padding:calc(var(--nav-height, 60px) + 2.5rem) 20px 40px}.map-container{aspect-ratio:16/9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;background:var(--map-container-bg);border-radius:15px;box-shadow:0 8px 32px 0 #1f26875e;justify-content:center;margin:0 auto;max-width:90vw;overflow:hidden;position:relative;transition:transform .3s ease;width:100%}.map-container,.map-loading{align-items:center;display:flex}.map-loading{color:#fff;flex-direction:column;font-size:1.5rem;gap:1rem;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:2000}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.map-layer{pointer-events:none;transition:transform .3s ease}.map-layer,.map-layer img{height:100%;left:0;position:absolute;top:0;width:100%}.map-layer img{display:block;object-fit:contain}.map-layer .basic-image{opacity:1}.map-layer .basic-image,.map-layer .selected-image{transition:opacity .3s ease;transition:opacity var(--map-hover-transition)}.map-layer .selected-image{filter:drop-shadow(0 0 10px rgba(255,215,0,.6));opacity:0}.map-layer.active{transform:scale(1.02);z-index:10}.map-layer.active .basic-image{opacity:0}.map-layer.active .selected-image{opacity:1}.map-layer.locked{filter:grayscale(.8) brightness(.7)}.map-canvas{cursor:pointer;height:100%;left:0;opacity:0;position:absolute;top:0;touch-action:none;width:100%;z-index:1000}.map-tooltip{animation:tooltip-slide-up .2s ease-out forwards;animation:tooltip-slide-up var(--tooltip-animation) forwards;background:#000000d9;background:var(--map-tooltip-bg);border:1px solid #ffffff1a;border-radius:12px;bottom:40px;box-shadow:0 4px 15px #0000004d;color:#fff;left:50%;min-width:250px;opacity:0;padding:15px 25px;pointer-events:none;position:fixed;text-align:center;transform:translateX(-50%) translateY(20px);z-index:2000}@keyframes tooltip-slide-up{to{opacity:1;transform:translateX(-50%) translateY(0)}}.map-tooltip h3{color:#fbbf24;font-size:1.2rem;margin:0 0 5px}.map-tooltip p{color:#e5e7eb;font-size:.9rem;margin:0 0 10px}.click-hint{background:#fff3;border-radius:20px;display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.badge-new{background:#ef4444;border-radius:10px;color:#fff;font-size:.7rem;font-weight:700;padding:2px 8px;position:absolute;right:-10px;top:-10px}@media (max-width:768px){.map-menu{padding:80px 10px 20px}.map-container{border-radius:8px}.map-tooltip{bottom:20px;width:90%}}
/*# sourceMappingURL=main.8591340c.css.map*/