.layout-manager{width:100%;min-height:100vh;min-height:100dvh;position:relative;background-color:#fff}.layout-manager.portrait{display:flex;flex-direction:column}.layout-manager.landscape{display:flex;flex-direction:row}body.orientation-portrait .layout-manager{padding-top:80px}body.orientation-landscape .layout-manager{padding-left:0}.lottie-avatar-container{--orb-size: 400px;width:var(--orb-size);height:var(--orb-size);display:flex;align-items:center;justify-content:center;position:relative;overflow:visible;background:none;border:none;border-radius:0;box-shadow:none}.lottie-avatar-container.preview{--orb-size: 200px;max-width:200px;max-height:200px}.lottie-avatar-container.galia-walk-in .galia-shadow{opacity:0;animation:galiaFadeIn .5s ease 1.6s forwards}@keyframes galiaFadeIn{to{opacity:1}}.galia-walking{animation:galiaHopIn 2s cubic-bezier(.16,1,.3,1) both;transform-origin:50% 85%}@keyframes galiaHopIn{0%{transform:translateY(200px) scale(.5) rotate(8deg);opacity:0}15%{opacity:1}50%{transform:translateY(-10px) scale(1.03) rotate(-3deg)}65%{transform:translateY(4px) scale(.98) rotate(2deg)}80%{transform:translateY(-3px) scale(1.01) rotate(-1deg)}to{transform:translateY(0) scale(1) rotate(0)}}.lottie-avatar-container.loading{background:transparent}.loading-spinner{color:#999;font-size:14px;text-align:center;padding:20px}.galia-shimmer{display:none}.galia-shadow{position:absolute;bottom:18%;left:50%;width:35%;height:5%;background:radial-gradient(ellipse,rgba(0,0,0,.08) 0%,transparent 70%);border-radius:50%;transform:translate(-50%);pointer-events:none}.galia-idle-shadow{animation:shadowIdle 3.2s cubic-bezier(.45,0,.55,1) infinite}.galia-greeting-shadow{animation:shadowGreeting .55s cubic-bezier(.34,1.56,.64,1) 3}.galia-talking-shadow{animation:shadowTalking .45s ease-in-out infinite alternate}.galia-listening-shadow{animation:shadowListening 2.5s ease-in-out infinite}.galia-thinking-shadow{animation:shadowThinking 2s ease-in-out infinite}@keyframes shadowIdle{0%,to{width:40%;opacity:1}50%{width:34%;opacity:.7}}@keyframes shadowGreeting{0%,to{width:40%;opacity:1}35%{width:28%;opacity:.45}}@keyframes shadowTalking{0%{width:40%;opacity:.95}to{width:36%;opacity:.75}}@keyframes shadowListening{0%,to{width:40%;opacity:1}50%{width:38%;opacity:.85}}@keyframes shadowThinking{0%,to{width:40%;opacity:1}50%{width:32%;opacity:.6}}.galia-avatar{width:72%;height:72%;object-fit:contain;transform-origin:50% 85%;will-change:transform;filter:drop-shadow(0 2px 3px rgba(0,0,0,.08));z-index:1}.galia-idle{animation:galiaFloat 3.2s cubic-bezier(.45,0,.55,1) infinite,galiaBreathe 4.8s ease-in-out infinite}@keyframes galiaFloat{0%,to{transform:translateY(0) rotate(0)}30%{transform:translateY(-10px) rotate(1.2deg)}50%{transform:translateY(-14px) rotate(0)}70%{transform:translateY(-8px) rotate(-1deg)}}@keyframes galiaBreathe{0%,to{scale:1}50%{scale:1.025}}.galia-greeting{animation:galiaGreet .55s cubic-bezier(.34,1.56,.64,1) 3}@keyframes galiaGreet{0%{transform:translateY(0) rotate(0) scaleX(1) scaleY(1)}15%{transform:translateY(3px) rotate(0) scaleX(1.04) scaleY(.94)}45%{transform:translateY(-24px) rotate(-7deg) scaleX(.95) scaleY(1.08)}70%{transform:translateY(-4px) rotate(4deg) scaleX(1.02) scaleY(.98)}to{transform:translateY(0) rotate(0) scaleX(1) scaleY(1)}}.galia-talking{animation:galiaTalk .45s ease-in-out infinite alternate,galiaTalkPulse .9s ease-in-out infinite}@keyframes galiaTalk{0%{transform:translateY(0) rotate(-1.8deg)}to{transform:translateY(-7px) rotate(1.8deg)}}@keyframes galiaTalkPulse{0%,to{scale:1}50%{scale:1.03}}.galia-listening{animation:galiaListen 2.5s ease-in-out infinite}@keyframes galiaListen{0%,to{transform:translateY(0) rotate(0);scale:1}40%{transform:translateY(-4px) rotate(2.5deg);scale:1.015}70%{transform:translateY(-2px) rotate(1deg);scale:1.005}}.galia-thinking{animation:galiaThink 2s ease-in-out infinite}@keyframes galiaThink{0%,to{transform:translateY(-6px) rotate(-3deg);scale:1}50%{transform:translateY(-10px) rotate(3deg);scale:1.02}}@media (orientation: portrait){.lottie-avatar-container:not(.preview){--orb-size: 300px}.lottie-avatar-container.preview{--orb-size: 150px}.main-avatar.chat-visible .lottie-avatar-container:not(.preview){--orb-size: 200px}@media (max-width: 480px){.lottie-avatar-container:not(.preview){--orb-size: 250px}.main-avatar.chat-visible .lottie-avatar-container:not(.preview){--orb-size: 150px}}@media (max-width: 360px){.lottie-avatar-container:not(.preview){--orb-size: 200px}.main-avatar.chat-visible .lottie-avatar-container:not(.preview){--orb-size: 120px}}}@media (orientation: landscape){.lottie-avatar-container:not(.preview){--orb-size: 500px}.lottie-avatar-container.preview{--orb-size: 200px}}.microphone-button{width:var(--btn-lg);height:var(--btn-lg);min-width:var(--btn-lg);min-height:var(--btn-lg);border-radius:var(--radius-lg);border:none;border-bottom:3px solid #b8401a;background:var(--brand-orange);color:var(--text-on-orange);cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;transition:transform var(--duration-fast) var(--ease-smooth),background var(--duration-fast) var(--ease-smooth),box-shadow var(--duration-normal) var(--ease-smooth),border-bottom var(--duration-fast) var(--ease-smooth);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;flex-shrink:0;box-shadow:var(--shadow-glow-orange);box-sizing:border-box;padding:0}.microphone-button:hover{background:var(--brand-orange-light);box-shadow:0 0 28px #d4511e8c}.microphone-button:active{transform:translateY(3px);border-bottom-width:0;box-shadow:0 0 12px #d4511e4d}.microphone-button:focus-visible{outline:2px solid var(--brand-orange-light);outline-offset:3px}.microphone-button:before{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:var(--radius-lg);border:2.5px solid var(--color-error);opacity:0;pointer-events:none;z-index:-1;transition:opacity var(--duration-normal) var(--ease-smooth)}.microphone-button.recording:before{opacity:1;animation:micRingExpand 1.4s var(--ease-smooth) infinite}.microphone-button:after{content:"";position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px;border-radius:var(--radius-lg);border:2.5px solid var(--color-error);opacity:0;pointer-events:none;z-index:-1;transition:opacity var(--duration-normal) var(--ease-smooth)}.microphone-button.recording:after{opacity:1;animation:micRingExpand 1.4s var(--ease-smooth) infinite;animation-delay:.5s}.microphone-button.recording{background:var(--color-error);border-bottom-color:#b71c1c;box-shadow:0 0 24px #e5393580;animation:micGlow 1.2s ease-in-out infinite}.microphone-button.recording:hover{background:#ef5350;box-shadow:0 0 32px #e53935a6}.microphone-button.recording:active{transform:translateY(3px);border-bottom-width:0;animation:none}.microphone-button .mic-icon{width:80%;height:80%;object-fit:contain}.microphone-button .recording-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.microphone-button .audio-icon{width:100%;height:100%;object-fit:contain;opacity:.9}@keyframes micGlow{0%,to{box-shadow:0 0 24px #e5393580}50%{box-shadow:0 0 36px #e53935bf}}@keyframes micRingExpand{0%{transform:scale(1);opacity:.6}70%{transform:scale(1.25);opacity:0}to{transform:scale(1.25);opacity:0}}@media (max-width: 480px){.microphone-button{width:var(--btn-md);height:var(--btn-md);min-width:var(--btn-md);min-height:var(--btn-md);border-radius:var(--radius-md)}.microphone-button:before{border-radius:var(--radius-md)}.microphone-button:after{border-radius:var(--radius-md)}}.info-button{position:relative;width:40px;height:40px;min-width:40px;min-height:40px;max-width:40px;max-height:40px;border-radius:var(--radius-md);border:1px solid var(--glass-1-border);border-bottom:2px solid rgba(0,0,0,.15);background:var(--glass-1-bg);backdrop-filter:blur(var(--glass-1-blur));-webkit-backdrop-filter:blur(var(--glass-1-blur));color:var(--text-on-dark);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform var(--duration-fast) var(--ease-smooth),background var(--duration-normal) var(--ease-smooth),box-shadow var(--duration-normal) var(--ease-smooth),border-bottom var(--duration-fast) var(--ease-smooth);flex-shrink:0;z-index:101;pointer-events:auto;visibility:visible;opacity:1;margin:0!important;box-sizing:border-box;padding:0;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.info-button:hover{background:var(--glass-2-bg);border-color:var(--glass-2-border);box-shadow:var(--shadow-sm)}.info-button:active{transform:scale(.93) translateY(1px);border-bottom-width:1px}.info-button:focus-visible{outline:2px solid var(--brand-orange-light);outline-offset:2px}.info-button.hidden{opacity:0;pointer-events:none;visibility:hidden}.info-button .info-icon{flex-shrink:0}@media (orientation: landscape){.info-button{position:relative!important;display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}}@media (orientation: portrait){.info-button{position:relative!important;display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;transform:none;bottom:auto!important;right:auto!important;left:auto!important;top:auto!important}}@media (max-width: 480px){.info-button{width:56px;height:56px;min-width:56px;min-height:56px;max-width:56px;max-height:56px}@media (orientation: landscape){.info-button{position:relative!important;bottom:auto!important;right:auto!important}}}@media (min-width: 768px){.info-button{width:64px;height:64px;min-width:64px;min-height:64px;max-width:64px;max-height:64px}}.information-menu{position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;min-width:100vw!important;min-height:100vh!important;max-width:100vw!important;max-height:100vh!important;z-index:10000;display:flex;overflow:hidden;margin:0!important;padding:0!important;transform:none!important;box-sizing:border-box}.information-menu .menu-background{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:1;cursor:pointer}.information-menu.portrait .menu-background{display:none}.information-menu.portrait{position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;min-width:100vw!important;min-height:100vh!important;min-height:100dvh!important;max-width:100vw!important;max-height:100vh!important;max-height:100dvh!important;transform:none!important;margin:0!important;padding:0!important}.tutorial-panel-horizontal{position:absolute;top:0;right:0;width:400px;max-width:40%;height:100vh;height:100dvh;background:linear-gradient(160deg,#8dfff9,#5ee6dc 50%,#b0fff6);backdrop-filter:blur(var(--glass-2-blur));-webkit-backdrop-filter:blur(var(--glass-2-blur));border:1px solid var(--glass-2-border);z-index:2;display:flex;flex-direction:column;padding:var(--space-xl);padding-bottom:calc(100px + env(safe-area-inset-bottom,0px));box-sizing:border-box;overflow-y:auto;-webkit-overflow-scrolling:touch}.tutorial-panel-horizontal .close-button{position:absolute;top:var(--space-xl);right:var(--space-xl);width:var(--btn-sm);height:var(--btn-sm);min-width:var(--btn-sm);min-height:var(--btn-sm);border:none;background:transparent;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;transition:transform var(--duration-normal) var(--ease-smooth)}.tutorial-panel-horizontal .close-button:hover{transform:scale(1.1)}.tutorial-panel-horizontal .close-button:active{transform:scale(.95)}.tutorial-panel-horizontal .close-icon{width:100%;height:100%;object-fit:contain}.tutorial-instructions{display:flex;flex-direction:column;gap:var(--space-xl);margin-top:60px;padding-right:var(--space-md)}.instruction-item{display:flex;align-items:flex-start;gap:var(--space-lg)}.instruction-icon{width:56px;height:56px;min-width:56px;min-height:56px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.instruction-icon img{width:60%;height:60%;object-fit:contain}.instruction-icon--mic{background:linear-gradient(135deg,#ff6b35,#ff8c5a)}.instruction-icon--chat{background:linear-gradient(135deg,#e91e63,#f06292)}.instruction-icon--send{background:linear-gradient(135deg,#4caf50,#66bb6a)}.instruction-icon--audio{background:linear-gradient(135deg,#ffc107,#ffd54f)}.instruction-icon--progress{background:linear-gradient(135deg,#1cb0f6,#64b5f6)}.instruction-icon--activities{background:linear-gradient(135deg,#9c27b0,#ba68c8)}.instruction-text{margin:0;font-size:var(--font-md);line-height:1.5;color:var(--text-primary);flex:1;padding-top:var(--space-md)}@media (max-width: 768px) and (orientation: landscape){.tutorial-panel-horizontal{width:350px;max-width:45%}.instruction-text{font-size:var(--font-sm)}.instruction-icon{width:50px;height:50px;min-width:50px;min-height:50px}}.tutorial-panel-vertical{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;display:flex;flex-direction:column;background:linear-gradient(160deg,#8dfff9,#5ee6dc 50%,#b0fff6);backdrop-filter:blur(var(--glass-2-blur));-webkit-backdrop-filter:blur(var(--glass-2-blur));border:1px solid var(--glass-2-border);overflow:hidden;box-sizing:border-box}.tutorial-header-vertical{position:relative;width:100%;height:40vh;height:40dvh;background:#fff;backdrop-filter:blur(var(--glass-1-blur));-webkit-backdrop-filter:blur(var(--glass-1-blur));border-radius:0 0 50% 50%/0 0 40% 40%;display:flex;align-items:center;justify-content:center;padding-top:var(--space-xl);box-sizing:border-box;overflow:hidden}.tutorial-header-vertical:after{content:"";position:absolute;bottom:-50px;left:-10%;width:120%;height:100px;background:#fff;border-radius:var(--radius-full)}.tutorial-logo-top-left{position:absolute;top:var(--space-xl);left:var(--space-xl);max-width:80px;max-height:80px;z-index:3}.tutorial-logo-top-right{position:absolute;top:var(--space-xl);right:56px;width:46px;height:46px;max-width:none;max-height:none;object-fit:contain;padding:8px;box-sizing:content-box;background:linear-gradient(160deg,#8dfff9,#5ee6dc 50%,#b0fff6);border-radius:50%;box-shadow:0 4px 12px #00000014;z-index:3}.tutorial-avatar-container{width:200px;height:200px;display:flex;align-items:center;justify-content:center;z-index:2}.close-button-vertical-header{position:absolute;top:var(--space-xl);right:var(--space-xl);width:var(--btn-sm);height:var(--btn-sm);min-width:var(--btn-sm);min-height:var(--btn-sm);border:none;background:transparent;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;padding:0;transition:transform var(--duration-normal) var(--ease-smooth)}.close-button-vertical-header:hover{transform:scale(1.1)}.close-button-vertical-header:active{transform:scale(.95)}.tutorial-content-vertical{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:0 var(--space-xl) calc(40px + env(safe-area-inset-bottom,0px)) var(--space-xl);background:transparent;position:relative;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;box-sizing:border-box;min-height:0}.tutorial-instructions-vertical{display:flex;flex-direction:column;gap:var(--space-xl);width:100%;max-width:500px;margin-top:0;margin-bottom:var(--space-xl);padding-top:var(--space-xl);padding-bottom:var(--space-xl)}.instruction-item-vertical{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);text-align:center}.instruction-icon-vertical{width:56px;height:56px;min-width:56px;min-height:56px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--shadow-md)}.instruction-icon-vertical img{width:60%;height:60%;object-fit:contain}.instruction-text-vertical{margin:0;font-size:var(--font-md);line-height:1.5;color:var(--text-primary);text-align:center;width:100%;max-width:300px}.close-icon-vertical{width:var(--btn-xs);height:var(--btn-xs);object-fit:contain}@media (max-width: 480px) and (orientation: portrait){.tutorial-header-vertical{height:35vh}.tutorial-avatar-container{width:160px;height:160px}.instruction-icon-vertical{width:50px;height:50px;min-width:50px;min-height:50px}.instruction-text-vertical{font-size:var(--font-sm)}.tutorial-instructions-vertical{gap:var(--space-xl);margin-bottom:100px;padding-bottom:80px}.tutorial-content-vertical{padding-bottom:80px}}.academic-progress-button{position:relative;width:40px;height:40px;min-width:40px;min-height:40px;max-width:40px;max-height:40px;border-radius:var(--radius-md);border:1px solid var(--glass-1-border);border-bottom:2px solid rgba(0,0,0,.15);background:var(--glass-1-bg);backdrop-filter:blur(var(--glass-1-blur));-webkit-backdrop-filter:blur(var(--glass-1-blur));color:var(--text-on-dark);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform var(--duration-fast) var(--ease-smooth),background var(--duration-normal) var(--ease-smooth),box-shadow var(--duration-normal) var(--ease-smooth),border-bottom var(--duration-fast) var(--ease-smooth);flex-shrink:0;z-index:100;pointer-events:auto;visibility:visible;opacity:1;box-sizing:border-box;padding:0;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.academic-progress-button:hover{background:var(--glass-2-bg);border-color:var(--glass-2-border);box-shadow:var(--shadow-sm)}.academic-progress-button:active{transform:scale(.93) translateY(1px);border-bottom-width:1px}.academic-progress-button:focus-visible{outline:2px solid var(--brand-orange-light);outline-offset:2px}.academic-progress-button-text{display:none}.academic-progress-icon{flex-shrink:0}@media (orientation: portrait){.academic-progress-button{display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}}@media (max-width: 480px){.academic-progress-button{width:40px;height:40px;min-width:40px;min-height:40px;max-width:40px;max-height:40px;border-radius:var(--radius-sm)}}.activities-button{position:relative;width:40px;height:40px;min-width:40px;min-height:40px;max-width:40px;max-height:40px;border-radius:var(--radius-md);border:1px solid var(--glass-1-border);border-bottom:2px solid rgba(0,0,0,.15);background:var(--glass-1-bg);backdrop-filter:blur(var(--glass-1-blur));-webkit-backdrop-filter:blur(var(--glass-1-blur));color:var(--text-on-dark);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform var(--duration-fast) var(--ease-smooth),background var(--duration-normal) var(--ease-smooth),box-shadow var(--duration-normal) var(--ease-smooth),border-bottom var(--duration-fast) var(--ease-smooth);flex-shrink:0;z-index:101;pointer-events:auto;visibility:visible;opacity:1;margin:0!important;box-sizing:border-box;padding:0;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.activities-button:hover{background:var(--glass-2-bg);border-color:var(--glass-2-border);box-shadow:var(--shadow-sm)}.activities-button:active{transform:scale(.93) translateY(1px);border-bottom-width:1px}.activities-button:focus-visible{outline:2px solid var(--brand-orange-light);outline-offset:2px}.activities-icon{flex-shrink:0}@media (max-width: 480px){.activities-button{width:40px;height:40px;min-width:40px;min-height:40px;max-width:40px;max-height:40px;border-radius:var(--radius-sm)}}.star-rating{display:flex;align-items:center;justify-content:center;gap:var(--space-xs)}.star{font-size:var(--font-2xl);line-height:1;display:inline-block;transition:transform var(--duration-normal) var(--ease-bounce)}.star:hover{transform:scale(1.15)}.star-filled{color:var(--color-gold);filter:drop-shadow(0 1px 4px rgba(255,215,0,.5));animation:gScalePop var(--duration-slow) var(--ease-bounce) both}.star-filled:nth-child(1){animation-delay:0ms}.star-filled:nth-child(2){animation-delay:80ms}.star-filled:nth-child(3){animation-delay:.16s}.star-filled:nth-child(4){animation-delay:.24s}.star-filled:nth-child(5){animation-delay:.32s}.star-empty{color:var(--text-muted);opacity:.45;transition:opacity var(--duration-normal) var(--ease-smooth)}.star-empty:hover{opacity:.7;color:var(--color-gold-light)}@media (max-width: 768px){.star{font-size:var(--font-xl)}}.streak-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000059;backdrop-filter:blur(var(--glass-1-blur));-webkit-backdrop-filter:blur(var(--glass-1-blur));display:flex;align-items:center;justify-content:center;z-index:3000;animation:gFadeIn var(--duration-normal) var(--ease-out)}.streak-modal-content{background:var(--glass-3-bg);backdrop-filter:blur(var(--glass-3-blur)) saturate(180%);-webkit-backdrop-filter:blur(var(--glass-3-blur)) saturate(180%);border:1px solid var(--glass-3-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl),var(--shadow-glow-gold),var(--shadow-inset-glass);padding:var(--space-3xl);padding-bottom:100px;max-width:90%;max-height:90vh;max-height:90dvh;overflow:hidden auto;position:relative;animation:gBounceIn .6s var(--ease-bounce)}.streak-modal-content:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(105deg,transparent 40%,rgba(255,215,0,.12) 45%,rgba(255,237,78,.18) 50%,rgba(255,215,0,.12) 55%,transparent 60%);background-size:200% 100%;animation:gShimmer 3s linear infinite;pointer-events:none;border-radius:var(--radius-2xl)}.streak-modal-header{text-align:center;margin-bottom:var(--space-xl);position:relative}.streak-modal-header:before{content:"";position:absolute;top:-20px;left:50%;transform:translate(-50%);width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(255,215,0,.2) 0%,rgba(255,215,0,.05) 50%,transparent 70%);filter:blur(20px);pointer-events:none;animation:gPulse 3s ease-in-out infinite}.streak-modal-stars{margin-bottom:var(--space-lg);display:flex;justify-content:center}.streak-modal-title{font-size:var(--font-3xl);color:var(--text-primary);margin:0;font-weight:700;letter-spacing:-.02em}.streak-modal-body{text-align:center;margin-bottom:var(--space-xl);position:relative;z-index:1}.streak-modal-message{font-size:var(--font-xl);color:var(--text-primary);margin-bottom:var(--space-md);line-height:1.4}.streak-modal-message strong{font-size:var(--font-2xl);display:inline-block;animation:gCountUp var(--duration-slow) var(--ease-bounce) both;background:linear-gradient(135deg,var(--brand-orange-light) 0%,var(--color-gold) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.streak-modal-submessage{font-size:var(--font-lg);color:var(--text-secondary);margin-bottom:var(--space-md);line-height:1.4}.streak-modal-motivation{font-size:var(--font-md);color:var(--text-muted);font-style:italic;line-height:1.4}.streak-modal-footer{display:flex;justify-content:center;position:relative;z-index:1}.streak-modal-button{background:transparent;border:none;cursor:pointer;padding:0}.streak-modal-button-image{max-width:200px;height:auto;transition:transform var(--duration-normal) var(--ease-bounce)}.streak-modal-button:hover .streak-modal-button-image{transform:scale(1.08)}.streak-modal-button:active .streak-modal-button-image{transform:scale(.97)}.celebration-effects{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden;border-radius:var(--radius-2xl)}.confetti{position:absolute;bottom:-12px;opacity:0;animation:gConfettiBurst 1.4s var(--ease-out) forwards}.confetti:nth-child(6n+1){width:6px;height:6px}.confetti:nth-child(6n+2){width:8px;height:8px}.confetti:nth-child(6n+3){width:10px;height:10px}.confetti:nth-child(6n+4){width:12px;height:12px}.confetti:nth-child(6n+5){width:7px;height:7px}.confetti:nth-child(6n+6){width:9px;height:9px}.confetti:nth-child(3n+1){border-radius:var(--radius-full)}.confetti:nth-child(3n+2){border-radius:2px}.confetti:nth-child(3n+3){border-radius:2px;transform:rotate(45deg)}.confetti:nth-child(5n+1){background:var(--color-gold)}.confetti:nth-child(5n+2){background:var(--brand-orange-light)}.confetti:nth-child(5n+3){background:var(--brand-teal)}.confetti:nth-child(5n+4){background:var(--color-success)}.confetti:nth-child(5n+5){background:var(--color-info)}.confetti:nth-child(1){left:10%;animation-delay:0s}.confetti:nth-child(2){left:20%;animation-delay:.05s}.confetti:nth-child(3){left:30%;animation-delay:.1s}.confetti:nth-child(4){left:40%;animation-delay:.03s}.confetti:nth-child(5){left:50%;animation-delay:.08s}.confetti:nth-child(6){left:60%;animation-delay:.12s}.confetti:nth-child(7){left:70%;animation-delay:.02s}.confetti:nth-child(8){left:80%;animation-delay:.07s}.confetti:nth-child(9){left:15%;animation-delay:.15s}.confetti:nth-child(10){left:45%;animation-delay:.06s}.confetti:nth-child(11){left:65%;animation-delay:.11s}.confetti:nth-child(12){left:85%;animation-delay:.04s}.confetti:nth-child(13){left:25%;animation-delay:.09s}.confetti:nth-child(14){left:55%;animation-delay:.13s}.confetti:nth-child(15){left:75%;animation-delay:.01s}@media (max-width: 768px){.streak-modal-content{padding:var(--space-xl) var(--space-lg);padding-bottom:80px}.streak-modal-title{font-size:var(--font-2xl)}.streak-modal-message{font-size:var(--font-lg)}.streak-modal-message strong{font-size:var(--font-xl)}.streak-modal-submessage{font-size:var(--font-md)}}.is-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#fff;overflow:hidden}.is-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-xl)}.is-loading-bird{width:120px;height:120px;animation:isFloat 2.8s ease-in-out infinite}.is-loading-img{width:100%;height:100%;object-fit:contain}.is-loading-text{color:var(--text-primary);font-size:17px;font-weight:600;opacity:.7;animation:gPulse 1.8s ease-in-out infinite}@keyframes isFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.is-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-lg);padding:var(--space-xl)}.is-brand{display:flex;align-items:center;gap:var(--space-md);align-self:center;animation:isFade .3s ease both}.is-logo{height:32px;width:auto;object-fit:contain;filter:brightness(0)}.is-brand-sep{width:1.5px;height:24px;background:#0003;flex-shrink:0}.is-logo-af{height:28px;width:auto;object-fit:contain;filter:brightness(0);opacity:.6}.is-galia-frame{position:relative;width:220px;height:220px;border-radius:var(--radius-full);background:radial-gradient(ellipse at 35% 30%,#ffffff59,#ffffff29,#ffffff0f),linear-gradient(160deg,#8dfff9,#5ee6dc 50%,#b0fff6);border:1.5px solid rgba(255,255,255,.4);box-shadow:0 12px 40px #00000014,0 4px 12px #0000000a,inset 0 1px #fff9,inset 0 -2px 6px #00000005;backdrop-filter:blur(6px) saturate(180%);-webkit-backdrop-filter:blur(6px) saturate(180%);display:flex;align-items:center;justify-content:center;overflow:visible;animation:isEntrance .5s var(--ease-bounce) both}.is-galia-frame:after{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:var(--radius-full);background:radial-gradient(ellipse at 30% 20%,rgba(255,255,255,.28) 0%,rgba(255,255,255,.08) 40%,transparent 70%);pointer-events:none}.is-galia-frame:before{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:var(--radius-full);border:1.5px solid transparent;background:linear-gradient(135deg,#fff0,#ffffff80,#fff0 60%,#ffffff4d,#fff0) border-box;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:isShimmerRing 4s linear infinite;pointer-events:none}@keyframes isShimmerRing{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes isEntrance{0%{opacity:0;transform:scale(.85) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.is-galia-img{width:78%;height:78%;object-fit:contain;filter:drop-shadow(0 6px 12px rgba(0,0,0,.12));transform-origin:50% 85%;animation:isGaliaFloat 3.2s cubic-bezier(.45,0,.55,1) infinite,isGaliaBreathe 4.8s ease-in-out infinite;position:relative;z-index:1}@keyframes isGaliaFloat{0%,to{transform:translateY(0) rotate(0)}30%{transform:translateY(-8px) rotate(1.2deg)}50%{transform:translateY(-12px) rotate(0)}70%{transform:translateY(-6px) rotate(-1deg)}}@keyframes isGaliaBreathe{0%,to{scale:1}50%{scale:1.025}}.is-speech{position:relative;background:var(--surface-dark);border:none;border-radius:var(--radius-lg);padding:14px 20px;max-width:280px;text-align:center;box-shadow:var(--shadow-lg);animation:isFade .4s ease .2s both}.is-speech:before{content:"";position:absolute;top:-8px;left:50%;transform:translate(-50%);width:0;height:0;border-left:9px solid transparent;border-right:9px solid transparent;border-bottom:9px solid var(--surface-dark)}@keyframes isFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.is-speech p{margin:0;font-size:14px;line-height:1.5;color:var(--text-on-dark)}.is-speech strong{color:var(--brand-orange-light);font-size:16px}.is-badge{background:var(--brand-orange-gradient);color:var(--text-on-orange);padding:5px var(--space-lg);border-radius:var(--radius-xl);font-size:var(--font-xs);font-weight:700;letter-spacing:.4px;box-shadow:0 3px 10px #d4511e40;animation:isFade .4s ease .35s both}.is-stats{display:flex;gap:var(--space-xl);animation:isFade .4s ease .4s both}.is-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.is-stat-icon{color:var(--text-muted);display:flex}.is-stat-val{font-size:var(--font-lg);font-weight:800;color:var(--text-primary);animation:gCountUp .5s var(--ease-out) .6s both}.is-stat-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted)}.is-config{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-xl);background:linear-gradient(160deg,var(--brand-teal-light) 0%,var(--brand-teal) 30%,var(--brand-teal-light) 55%,var(--brand-teal-pale) 75%,#6be8df 100%);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border:1px solid rgba(255,255,255,.28);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl),inset 0 1px #ffffff59,inset 0 -1px 3px #00000008;align-self:center;justify-self:center;max-width:540px;width:100%}.is-section{animation:isSlideUp .35s ease calc(var(--delay, 0s)) both}@keyframes isSlideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.is-label{font-size:var(--font-xs);font-weight:800;text-transform:uppercase;letter-spacing:1.2px;color:#ffffffd9;margin:0 0 var(--space-sm) 2px;text-shadow:0 1px 3px rgba(0,0,0,.1)}.is-row{display:flex;gap:var(--space-sm)}.is-card{display:flex;align-items:center;gap:14px;padding:14px var(--space-lg);border:1.5px solid rgba(255,255,255,.35);border-bottom:3.5px solid rgba(0,0,0,.06);border-radius:14px;background:var(--glass-2-bg);cursor:pointer;transition:background var(--duration-fast) ease,transform var(--duration-fast) ease,border-color var(--duration-fast) ease,box-shadow var(--duration-normal) ease;color:var(--text-primary);text-align:left;flex:1;animation:isCardSpring var(--duration-slow) var(--ease-bounce) calc(var(--delay, 0s) + var(--card-i, 0) * 60ms) both}@keyframes isCardSpring{0%{opacity:0;transform:translateY(16px) scale(.95)}60%{transform:translateY(-3px) scale(1.01)}to{opacity:1;transform:translateY(0) scale(1)}}.is-card:hover{background:#ffffff61;transform:translateY(-2px);box-shadow:var(--shadow-md)}.is-card:active{transform:translateY(1px);border-bottom-width:1.5px;transition-duration:50ms}.is-card--on{background:#ffffff8c;border-color:var(--brand-orange);border-bottom-color:#b43c0a59;box-shadow:0 0 0 1px var(--brand-orange),0 0 0 4px #d4511e1f,0 4px 14px #d4511e24}.is-card--on:hover{background:#fff9;box-shadow:0 0 0 1px var(--brand-orange),0 0 0 4px #d4511e26,0 6px 18px #d4511e2e}.is-card-icon{width:40px;height:40px;border-radius:var(--radius-md);background:#1a3a370f;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0;transition:background var(--duration-normal) ease,color var(--duration-normal) ease,box-shadow var(--duration-normal) ease}.is-card--on .is-card-icon{background:#d4511e1f;color:var(--brand-orange);box-shadow:0 0 12px #d4511e1a}.is-card-img{width:100%;height:100%;object-fit:contain;border-radius:var(--radius-sm)}.is-card-flag{font-size:28px;line-height:1;flex-shrink:0;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}.is-card-body{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.is-card-body strong{font-size:var(--font-base);font-weight:700}.is-card-desc{font-size:12px;color:var(--text-muted);font-weight:500;transition:color var(--duration-fast) ease}.is-card--on .is-card-desc{color:var(--text-secondary)}.is-card-check{width:24px;height:24px;border-radius:var(--radius-full);background:var(--brand-orange);color:var(--text-on-orange);display:flex;align-items:center;justify-content:center;flex-shrink:0;animation:gScalePop var(--duration-normal) var(--ease-bounce) both;box-shadow:0 2px 8px #d4511e4d}.is-grid-mcer{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm)}.is-pill{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:14px var(--space-sm);border:1.5px solid rgba(255,255,255,.35);border-bottom:3.5px solid rgba(0,0,0,.06);border-radius:14px;background:var(--glass-2-bg);cursor:pointer;transition:background var(--duration-fast) ease,transform var(--duration-fast) ease,border-color var(--duration-fast) ease,box-shadow var(--duration-normal) ease;color:var(--text-primary);gap:3px;animation:isPillStagger var(--duration-slow) var(--ease-bounce) calc(var(--delay, 0s) + var(--pill-i, 0) * 50ms) both}@keyframes isPillStagger{0%{opacity:0;transform:translateY(12px) scale(.92)}60%{transform:translateY(-2px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}.is-grid-mcer .is-pill:nth-child(1){--pill-i: 0}.is-grid-mcer .is-pill:nth-child(2){--pill-i: 1}.is-grid-mcer .is-pill:nth-child(3){--pill-i: 2}.is-grid-mcer .is-pill:nth-child(4){--pill-i: 3}.is-grid-mcer .is-pill:nth-child(5){--pill-i: 4}.is-grid-mcer .is-pill:nth-child(6){--pill-i: 5}.is-row .is-card:nth-child(1){--card-i: 0}.is-row .is-card:nth-child(2){--card-i: 1}.is-row .is-card:nth-child(3){--card-i: 2}.is-pill:hover{background:#ffffff61;transform:translateY(-2px);box-shadow:var(--shadow-sm)}.is-pill:active{transform:translateY(1px);border-bottom-width:1.5px;transition-duration:50ms}.is-pill--on{background:#ffffff8c;border-color:var(--brand-orange);border-bottom-color:#b43c0a59;box-shadow:0 0 0 1px var(--brand-orange),0 0 0 4px #d4511e1f,inset 0 0 8px #d4511e0f,0 4px 14px #d4511e24}.is-pill strong{font-size:var(--font-xl);font-weight:800;letter-spacing:.5px}.is-pill-sub{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);transition:color var(--duration-fast) ease}.is-pill--on .is-pill-sub{color:var(--brand-orange)}.is-cta{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:var(--space-lg) var(--space-2xl);margin-top:10px;border:none;border-bottom:4px solid #111;border-radius:var(--radius-lg);background:var(--surface-dark);color:var(--text-on-dark);font-size:var(--font-lg);font-weight:800;cursor:pointer;transition:transform var(--duration-fast) ease,box-shadow var(--duration-normal) ease,border-bottom-width var(--duration-fast) ease;box-shadow:0 6px 24px #00000040;animation:isSlideUp .4s ease .5s both}.is-cta:hover{transform:translateY(-2px);box-shadow:0 10px 36px #00000059;background:var(--surface-dark-hover)}.is-cta:active{transform:translateY(3px);border-bottom-width:0;box-shadow:0 2px 8px #0003;background:#111;transition-duration:50ms}.is-cta svg{transition:transform var(--duration-normal) var(--ease-bounce)}.is-cta:hover svg{transform:translate(5px);animation:isArrowBounce .6s var(--ease-bounce) infinite}@keyframes isArrowBounce{0%,to{transform:translate(5px)}50%{transform:translate(9px)}}@media (orientation: landscape){.is-fullscreen{display:grid;grid-template-columns:42% 1fr;grid-template-rows:1fr}.is-hero{grid-column:1;grid-row:1;min-height:0;overflow-y:auto;scrollbar-width:none;justify-content:safe center;padding:28px 32px}.is-hero::-webkit-scrollbar{display:none}.is-speech:before{top:50%;left:-8px;transform:translateY(-50%);border-left:none;border-right:9px solid var(--surface-dark);border-top:9px solid transparent;border-bottom:9px solid transparent}.is-galia-frame{width:min(70%,360px);height:min(70%,360px)}.is-config{grid-column:2;grid-row:1;align-self:center;justify-self:center;margin:var(--space-xl);overflow-y:auto;scrollbar-width:none;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px)}.is-config::-webkit-scrollbar{display:none}}@media (orientation: landscape) and (min-width: 1200px){.is-galia-frame{width:min(75%,400px);height:min(75%,400px)}.is-section,.is-cta{max-width:600px}}@media (orientation: landscape) and (max-width: 900px){.is-fullscreen{grid-template-columns:38% 1fr}.is-hero{padding:20px var(--space-lg)}.is-logo{height:24px}.is-logo-af{height:20px}.is-brand{gap:var(--space-sm)}.is-brand-sep{height:18px}.is-galia-frame{width:min(75%,220px);height:min(75%,220px)}.is-speech{max-width:220px;padding:10px 14px}.is-speech p{font-size:12px}.is-config{padding:20px var(--space-xl);gap:6px}.is-card{padding:10px var(--space-md);gap:10px}.is-card-icon{width:34px;height:34px;border-radius:10px}.is-card-body strong{font-size:14px}.is-card-desc{font-size:var(--font-xs)}.is-pill{padding:10px 6px}.is-pill strong{font-size:17px}.is-cta{padding:14px var(--space-xl);font-size:var(--font-md)}}@media (orientation: portrait){.is-fullscreen{display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.is-fullscreen::-webkit-scrollbar{display:none}.is-hero{flex-direction:row;flex-wrap:wrap;justify-content:center;padding:var(--space-xl) 20px var(--space-lg);gap:14px;flex-shrink:0}.is-galia-frame{width:140px;height:140px}.is-speech:before{top:24px;left:-8px;transform:none;border-left:none;border-right:9px solid var(--surface-dark);border-top:9px solid transparent;border-bottom:9px solid transparent}.is-speech{flex:1;min-width:140px;max-width:220px;text-align:left}.is-speech p{font-size:var(--font-sm);text-align:left}.is-stats{width:100%;justify-content:center;order:3}.is-badge{order:4}.is-config{padding:var(--space-xs) 20px 28px;flex:1;justify-content:flex-start;align-items:stretch;max-width:480px;width:100%;align-self:center}.is-row{flex-direction:column}.is-cta{position:sticky;bottom:0}}@media (orientation: portrait) and (max-width: 420px){.is-hero{padding:var(--space-lg) 14px var(--space-md);gap:10px}.is-galia-frame{width:110px;height:110px}.is-speech{padding:10px var(--space-md);border-radius:var(--radius-md)}.is-speech p{font-size:12px}.is-config{padding:2px 14px var(--space-xl);max-width:none}.is-label{font-size:10px;margin-bottom:6px}.is-card{padding:var(--space-md) 14px;gap:10px;border-radius:var(--radius-md)}.is-card-icon{width:36px;height:36px;border-radius:10px}.is-card-body strong{font-size:14px}.is-pill{padding:10px 6px;border-radius:var(--radius-md)}.is-pill strong{font-size:17px}.is-stats{gap:var(--space-lg)}.is-stat-val{font-size:var(--font-base)}.is-cta{padding:14px var(--space-xl);font-size:var(--font-md);border-radius:14px}}@media (orientation: portrait) and (max-width: 360px){.is-galia-frame{width:90px;height:90px}.is-grid-mcer{gap:6px}.is-pill{padding:var(--space-sm) var(--space-xs)}.is-pill strong{font-size:var(--font-base)}.is-pill-sub{font-size:8px}}.chat-message{display:flex;align-items:flex-end;gap:var(--space-sm);width:100%;margin-bottom:0;animation:gMessageIn var(--duration-normal) var(--ease-smooth) both}.mini-avatar-galia{width:30px;height:30px;border-radius:var(--radius-full);object-fit:cover;border:2px solid rgba(255,255,255,.6);background:#fff6;box-shadow:0 2px 8px #0000001f;flex-shrink:0;margin-bottom:2px}.chat-message.assistant+.chat-message.assistant .mini-avatar-galia{visibility:hidden}.chat-message.user .message-bubble-wrapper{margin-left:38px}.chat-message.user,.chat-message.assistant{justify-content:flex-start}.message-bubble-wrapper{width:85%;max-width:85%;min-width:120px;display:flex;flex-direction:column;position:relative}.message-bubble{position:relative;width:100%;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);display:flex;align-items:flex-start;overflow:hidden;min-height:fit-content;transition:transform var(--duration-fast) var(--ease-smooth)}.user-bubble{background:var(--brand-orange-gradient);border-radius:var(--radius-lg);border-bottom-right-radius:6px;border-bottom:3px solid var(--brand-orange);box-shadow:var(--shadow-md),0 4px 18px #ff6b3540}.assistant-bubble{background:var(--glass-3-bg);backdrop-filter:blur(var(--glass-2-blur));-webkit-backdrop-filter:blur(var(--glass-2-blur));border:1px solid var(--glass-3-border);border-radius:var(--radius-lg);border-bottom-left-radius:6px;box-shadow:var(--shadow-sm),var(--shadow-inset-glass)}.message-text{position:relative;z-index:1;margin:0;font-size:var(--font-base);line-height:1.45;word-wrap:break-word;word-break:break-word;white-space:pre-wrap;width:100%;flex:1}.message-bubble.clickable{cursor:pointer;transition:transform var(--duration-fast) var(--ease-smooth),opacity var(--duration-fast) var(--ease-smooth)}.message-bubble.clickable:hover{transform:scale(1.015);opacity:.92}.message-bubble.clickable:active{transform:scale(.98)}.audio-indicator{position:absolute;top:var(--space-sm);right:var(--space-sm);font-size:var(--font-xs);opacity:.6;z-index:2;transition:opacity var(--duration-fast) var(--ease-smooth)}.message-bubble.clickable:hover .audio-indicator{opacity:1}.chat-message.user .message-text{color:var(--text-on-orange);font-weight:500}.chat-message.assistant .message-text{color:var(--text-primary);font-weight:400}.translate-button{background:none;border:none;cursor:pointer;flex-shrink:0;align-self:center;padding:2px var(--space-xs);min-width:32px;min-height:32px;opacity:.4;transition:opacity var(--duration-normal) var(--ease-smooth),transform var(--duration-fast) var(--ease-bounce);display:flex;align-items:center}.translate-button:hover{opacity:.9;transform:scale(1.15)}.translate-button.active{opacity:.8}.translate-button.translating{opacity:.3;cursor:wait;animation:pulse-translate 1s infinite}@keyframes pulse-translate{0%,to{opacity:.3}50%{opacity:.6}}.translation-bubble{width:100%;padding:var(--space-sm) var(--space-lg);margin-top:var(--space-xs);border-radius:var(--radius-md);background:var(--glass-2-bg);backdrop-filter:blur(var(--glass-2-blur));-webkit-backdrop-filter:blur(var(--glass-2-blur));border:1px solid var(--glass-2-border);box-shadow:var(--shadow-sm);animation:gSlideUp var(--duration-normal) var(--ease-smooth);position:relative}.translation-bubble:before{content:"";position:absolute;top:-4px;left:var(--space-xl);width:8px;height:8px;background:var(--glass-2-bg);border-left:1px solid var(--glass-2-border);border-top:1px solid var(--glass-2-border);transform:rotate(45deg)}.message-translation{margin:0;font-size:var(--font-sm);line-height:1.45;color:var(--text-secondary);font-style:italic;word-wrap:break-word;word-break:break-word;white-space:pre-wrap;width:100%}@media (max-width: 480px){.mini-avatar-galia{width:24px;height:24px}.chat-message.user .message-bubble-wrapper{margin-left:32px}.message-bubble-wrapper{width:90%;max-width:90%;min-width:80px}.message-bubble{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md)}.message-text{font-size:var(--font-sm);line-height:1.35}.audio-indicator{top:6px;right:6px;font-size:var(--font-sm);opacity:.8}.message-bubble.clickable{-webkit-tap-highlight-color:rgba(255,107,53,.25);touch-action:manipulation}}@media (orientation: landscape){.message-bubble-wrapper{width:85%;max-width:85%}.message-text{font-size:var(--font-sm)}}@media (max-width: 360px){.message-bubble-wrapper{width:95%;max-width:95%;min-width:60px}.message-bubble{padding:var(--space-sm) var(--space-md)}.message-text{font-size:var(--font-sm)}.audio-indicator{font-size:var(--font-xs)}}.assistant-bubble.streaming{position:relative;overflow:hidden}.assistant-bubble.streaming:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.08) 20%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.08) 80%,transparent 100%);background-size:200% 100%;animation:gShimmer 1.5s ease-in-out infinite;pointer-events:none;border-radius:inherit}.streaming-cursor{display:inline-block;width:2px;height:1.1em;background:var(--text-primary);margin-left:2px;vertical-align:text-bottom;animation:cursorBlink .8s step-end infinite}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.chat-container{position:fixed;bottom:100px;left:50%;transform:translate(-50%);width:90%;max-width:500px;z-index:50}.chat-toggle-button{position:absolute;bottom:0;right:0;width:60px;height:60px;border:none;background:transparent;cursor:pointer;z-index:51;display:flex;align-items:center;justify-content:center;transition:transform var(--duration-normal) var(--ease-bounce)}.chat-toggle-button:hover{transform:scale(1.1)}.chat-toggle-button:active{transform:scale(.93)}.chat-toggle-button-inline{width:var(--btn-md);height:var(--btn-md);min-width:var(--btn-md);min-height:var(--btn-md);border:none;border-radius:var(--radius-md);background:var(--glass-1-bg);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--duration-fast) var(--ease-smooth);flex-shrink:0}.chat-toggle-button-inline svg{flex-shrink:0}.chat-toggle-button-inline:hover{background:var(--glass-2-bg)}.chat-toggle-button-inline:active{transform:scale(.93)}.chat-icon{width:100%;height:100%;object-fit:contain}.chat-panel{position:absolute;bottom:70px;right:0;width:100%;max-width:500px;background:var(--glass-2-bg);backdrop-filter:blur(var(--glass-2-blur));-webkit-backdrop-filter:blur(var(--glass-2-blur));border-radius:var(--radius-xl);box-shadow:var(--shadow-lg),var(--shadow-inset-glass);border:1px solid var(--glass-2-border);display:flex;flex-direction:column;max-height:400px;overflow:hidden;animation:gScalePop var(--duration-slow) var(--ease-smooth)}.chat-panel-inline{position:fixed;bottom:calc(92px + env(safe-area-inset-bottom,0px));left:0;right:0;margin-left:auto;margin-right:auto;width:90%;max-width:440px;background:linear-gradient(160deg,#8dfff9,#5ee6dc 50%,#b0fff6);backdrop-filter:blur(var(--glass-2-blur)) saturate(180%);-webkit-backdrop-filter:blur(var(--glass-2-blur)) saturate(180%);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg),var(--shadow-inset-glass);border:1px solid var(--glass-2-border);display:flex;flex-direction:column;max-height:400px;height:auto;overflow:hidden;z-index:1500;animation:gFadeIn var(--duration-normal) var(--ease-smooth)}@media (orientation: landscape){.chat-panel-inline{left:3%;right:auto;margin-left:0;margin-right:0;width:420px;max-width:38vw;bottom:calc(92px + env(safe-area-inset-bottom,0px));top:100px;max-height:none;height:auto}.chat-panel-inline .chat-messages{flex:1;max-height:none;padding-bottom:var(--space-xl)}@media (max-width: 900px){.chat-panel-inline{width:320px;max-width:42vw;left:2%}}}.chat-messages{max-height:300px;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-lg);padding-bottom:100px;flex:1;scrollbar-width:none;-ms-overflow-style:none}.chat-messages::-webkit-scrollbar{display:none}.chat-empty{display:flex;align-items:center;justify-content:center;height:100%;padding:var(--space-xl);color:var(--text-secondary);font-size:var(--font-sm);text-align:center}.typing-indicator{display:flex;align-items:center;gap:5px;padding:var(--space-md) var(--space-lg)}.typing-indicator span{width:8px;height:8px;border-radius:var(--radius-full);background:var(--text-muted);display:inline-block;animation:gTypingDot 1.4s infinite ease-in-out both}.typing-indicator span:nth-child(1){animation-delay:0s}.typing-indicator span:nth-child(2){animation-delay:.16s}.typing-indicator span:nth-child(3){animation-delay:.32s}.chat-suggestions{display:flex;gap:var(--space-xs);padding:var(--space-xs) var(--space-lg);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.chat-suggestions::-webkit-scrollbar{display:none}.chat-suggestion-pill{padding:4px 12px;border-radius:20px;border:1px solid rgba(255,255,255,.25);background:#ffffff1a;color:var(--text-secondary);font-size:var(--font-xs);font-weight:500;white-space:nowrap;cursor:pointer;transition:all .15s var(--ease-smooth)}.chat-suggestion-pill:hover{background:#fff3;border-color:#fff6;color:var(--text-primary);transform:translateY(-1px)}.chat-input-form{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-top:1px solid var(--glass-2-border);background:var(--glass-2-bg);backdrop-filter:blur(var(--glass-2-blur));-webkit-backdrop-filter:blur(var(--glass-2-blur));flex-shrink:0;min-height:60px;overflow:visible;box-sizing:border-box}.chat-input{flex:1 1 auto;min-width:0;max-width:calc(100% - 65px);padding:10px var(--space-lg);border:1.5px solid var(--glass-3-border);border-radius:var(--radius-xl);font-size:var(--font-base);font-family:var(--font-family);outline:none;transition:border-color var(--duration-normal) var(--ease-smooth),box-shadow var(--duration-normal) var(--ease-smooth);box-sizing:border-box;background:#ffffff14;color:var(--text-primary)}.chat-input::placeholder{color:var(--text-muted);opacity:1}.chat-input:focus{outline:none;border-color:var(--brand-orange-light);box-shadow:0 0 0 3px #ff6b352e,var(--shadow-sm)}.chat-send-button{width:var(--btn-lg);height:var(--btn-lg);min-width:var(--btn-lg);min-height:var(--btn-lg);border:none;background:var(--brand-orange-gradient);border-radius:var(--radius-full);border-bottom:3px solid var(--brand-orange);box-shadow:var(--shadow-md),0 4px 14px #ff6b3559;color:var(--text-on-orange);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform var(--duration-fast) var(--ease-bounce),box-shadow var(--duration-normal) var(--ease-smooth),border-bottom-width var(--duration-fast) ease;flex-shrink:0;visibility:visible;opacity:1}.chat-send-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg),var(--shadow-glow-orange)}.chat-send-button:active{transform:translateY(2px);border-bottom-width:1px;box-shadow:var(--shadow-sm)}.send-icon{width:100%;height:100%;object-fit:contain}@media (orientation: portrait){.chat-container{bottom:calc(90px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);width:90%;max-width:440px}.chat-panel{max-height:350px}.chat-panel-inline{top:auto;bottom:calc(100px + env(safe-area-inset-bottom,0px));height:auto;max-height:60vh;min-height:160px;width:94%;max-width:480px;overflow:hidden}body:has(.feedback-banner:not(.expanded)) .chat-panel-inline{bottom:calc(170px + env(safe-area-inset-bottom,0px));max-height:50vh}body:has(.feedback-banner.expanded) .chat-panel-inline{bottom:calc(170px + env(safe-area-inset-bottom,0px));max-height:22vh}.chat-messages{flex:1;min-height:0;max-height:none;overflow-y:auto;padding:12px 12px 8px}}@media (orientation: landscape){.chat-container{bottom:90px;left:20px;transform:none;width:350px;max-width:40%}.chat-panel{max-height:300px}.chat-messages{max-height:200px;padding-bottom:100px}}@media (max-width: 480px){.chat-container{bottom:90px;width:95%;bottom:calc(90px + env(safe-area-inset-bottom,0px))}.chat-panel{max-height:300px}.chat-panel-inline{width:94%;max-width:none;top:auto;bottom:calc(90px + env(safe-area-inset-bottom,0px));height:auto;max-height:48vh;min-height:140px;overflow:hidden}body:has(.feedback-banner:not(.expanded)) .chat-panel-inline{bottom:calc(155px + env(safe-area-inset-bottom,0px));max-height:38vh}body:has(.feedback-banner.expanded) .chat-panel-inline{bottom:calc(155px + env(safe-area-inset-bottom,0px));max-height:22vh}.chat-messages{flex:1;min-height:0;max-height:none;overflow-y:auto;padding:10px 10px 6px;gap:8px}.chat-toggle-button{width:55px;height:55px}.chat-input-form{padding:var(--space-sm) var(--space-md);gap:var(--space-sm);min-height:55px}.chat-input{padding:var(--space-sm) var(--space-md);font-size:var(--font-sm);min-width:0;max-width:calc(100% - 50px)}.chat-send-button{width:40px;height:40px;min-width:40px;min-height:40px}.chat-empty{padding:var(--space-lg);font-size:var(--font-sm)}}@media (max-width: 360px){.chat-panel-inline{width:96%;border-radius:var(--radius-md);top:auto;bottom:calc(82px + env(safe-area-inset-bottom,0px));height:auto;max-height:45vh;min-height:120px;overflow:hidden}body:has(.feedback-banner:not(.expanded)) .chat-panel-inline{bottom:calc(142px + env(safe-area-inset-bottom,0px));max-height:35vh}body:has(.feedback-banner.expanded) .chat-panel-inline{bottom:calc(142px + env(safe-area-inset-bottom,0px));max-height:20vh}.chat-messages{flex:1;min-height:0;max-height:none;padding:var(--space-sm);padding-bottom:100px;gap:var(--space-sm)}.chat-input{padding:var(--space-sm) var(--space-sm);font-size:var(--font-sm);max-width:calc(100% - 45px)}.chat-input-form{padding:var(--space-sm) var(--space-sm);gap:6px;min-height:50px}.chat-send-button{width:var(--btn-sm);height:var(--btn-sm);min-width:var(--btn-sm);min-height:var(--btn-sm)}}.lesson-checklist h3{margin-bottom:var(--space-lg);color:var(--text-primary);font-size:var(--font-md);font-weight:600}.objective-item{padding:var(--space-lg);border:1px solid var(--glass-1-border);border-left:4px solid var(--glass-2-border);border-radius:var(--radius-md);background:var(--glass-1-bg);backdrop-filter:blur(var(--glass-1-blur));-webkit-backdrop-filter:blur(var(--glass-1-blur));box-shadow:var(--shadow-sm);transition:all var(--duration-normal) var(--ease-smooth);animation:gSlideUp var(--duration-slow) var(--ease-out) both}.objective-item:nth-child(1){animation-delay:0ms}.objective-item:nth-child(2){animation-delay:60ms}.objective-item:nth-child(3){animation-delay:.12s}.objective-item:nth-child(4){animation-delay:.18s}.objective-item:nth-child(5){animation-delay:.24s}.objective-item.objective-completed{background:#4caf5014;border-color:#4caf5033;border-left-color:var(--color-success)}.objective-item.objective-completed .objective-progress svg{stroke-dasharray:24;stroke-dashoffset:0;animation:gCheckDraw var(--duration-slow) var(--ease-out) both}.objective-item.objective-in-progress{background:#ff6b350f;border-color:#ff6b3526;border-left-color:var(--brand-orange-light)}.objective-item.objective-pending{background:var(--glass-1-bg);border:1px solid var(--glass-1-border);border-left:4px solid var(--glass-1-border)}.objective-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.objective-type{font-size:var(--font-xs);color:var(--text-muted);text-transform:uppercase;font-weight:600;letter-spacing:.04em}.objective-progress{font-weight:600;font-size:var(--font-sm)}.objective-completed .objective-type,.objective-completed .objective-progress{color:var(--color-success)}.objective-in-progress .objective-type,.objective-in-progress .objective-progress{color:var(--brand-orange-light)}.objective-pending .objective-progress{color:var(--text-muted)}.objective-description{font-size:var(--font-base);color:var(--text-primary);font-weight:400;line-height:1.5;margin-bottom:var(--space-sm)}.objective-completed .objective-description,.objective-in-progress .objective-description{color:var(--text-primary)}.objective-stats{display:flex;gap:var(--space-lg);font-size:var(--font-sm);color:var(--text-secondary);font-weight:400;margin-top:var(--space-sm)}.lesson-progress-summary{margin-top:var(--space-xl);padding:var(--space-lg);background:var(--glass-2-bg);backdrop-filter:blur(var(--glass-2-blur));-webkit-backdrop-filter:blur(var(--glass-2-blur));border:1px solid var(--glass-2-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md),var(--shadow-inset-glass)}.progress-bar{width:100%;height:20px;background:var(--glass-1-bg);border:1px solid var(--glass-1-border);border-radius:10px;overflow:hidden;margin-bottom:var(--space-sm)}.progress-fill{height:100%;background:linear-gradient(90deg,var(--brand-orange-light),var(--color-gold));background-size:200% 100%;border-radius:10px;transition:width .6s var(--ease-out);box-shadow:0 2px 8px #ff6b354d;animation:gShimmer 2.5s linear infinite}.progress-text{text-align:center;font-size:var(--font-sm);color:var(--text-primary);font-weight:500}.evaluation-results{position:relative;background:var(--glass-2-bg);backdrop-filter:blur(var(--glass-2-blur));-webkit-backdrop-filter:blur(var(--glass-2-blur));border:1px solid var(--glass-2-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg),var(--shadow-inset-glass);max-width:100%;width:100%;overflow-y:auto;padding:var(--space-xl);animation:gScalePop var(--duration-slow) var(--ease-bounce) both}.academic-mode-results-container .evaluation-results{position:relative;transform:none;top:auto;left:auto;max-width:100%;width:100%;max-height:100%;box-shadow:none;padding:var(--space-xl);padding-bottom:calc(120px + env(safe-area-inset-bottom,0px));scroll-padding-bottom:calc(120px + env(safe-area-inset-bottom,0px));overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1;display:flex;flex-direction:column;min-height:0;box-sizing:border-box}.evaluation-results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xl)}.evaluation-results-header h2{margin:0;color:var(--text-primary);font-size:var(--font-xl);font-weight:600}.close-button{background:var(--glass-1-bg);border:1px solid var(--glass-1-border);border-radius:var(--radius-sm);font-size:var(--font-2xl);cursor:pointer;color:var(--text-secondary);padding:0;width:40px;height:40px;min-width:40px;min-height:40px;display:flex;align-items:center;justify-content:center;transition:all var(--duration-normal) var(--ease-smooth)}.close-button:hover{color:var(--text-primary);background:var(--glass-2-bg);transform:scale(1.05)}.close-button:active{transform:scale(.92)}.overall-score{text-align:center;margin:var(--space-2xl) 0}.score-circle{width:150px;height:150px;border-radius:var(--radius-full);display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0 auto var(--space-lg);border:4px solid transparent;position:relative;animation:gBounceIn .6s var(--ease-bounce) both}.score-circle:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:var(--radius-full);opacity:0;animation:gRingPulse 2s ease-in-out infinite;pointer-events:none}.score-circle.score-excellent{background:linear-gradient(135deg,var(--color-success),var(--color-success-light));border-color:transparent;color:#fff;box-shadow:0 4px 20px #4caf504d}.score-circle.score-excellent:after{border:2px solid var(--color-success);opacity:1}.score-circle.score-passing{background:linear-gradient(135deg,var(--color-gold),var(--color-gold-light));border-color:transparent;color:#fff;box-shadow:0 4px 20px #ffd7004d}.score-circle.score-passing:after{border:2px solid var(--color-gold);opacity:1}.score-circle.score-failing{background:var(--glass-2-bg);border-color:#e5393566;color:var(--color-error)}.score-circle.score-failing:after{border:2px solid var(--color-error);opacity:1}.score-value{font-size:var(--font-3xl);font-weight:700;animation:gCountUp .6s var(--ease-out) both;animation-delay:.3s}.score-label{font-size:var(--font-sm);margin-top:var(--space-xs);opacity:.9}.score-status{font-size:var(--font-lg);font-weight:600;margin-top:var(--space-sm);color:var(--text-primary)}.overall-score .score-status{color:var(--text-primary)}.elements-breakdown{margin:var(--space-2xl) 0}.elements-breakdown h3{margin-bottom:var(--space-xl);color:var(--text-primary);font-size:var(--font-md);font-weight:600}.element-item{margin-bottom:var(--space-xl);padding:var(--space-lg);border:1px solid var(--glass-1-border);border-top:3px solid var(--glass-2-border);border-radius:var(--radius-md);background:var(--glass-1-bg);backdrop-filter:blur(var(--glass-1-blur));-webkit-backdrop-filter:blur(var(--glass-1-blur));box-shadow:var(--shadow-sm);transition:all var(--duration-normal) var(--ease-smooth);animation:gSlideUp var(--duration-slow) var(--ease-out) both}.element-item:nth-child(1){animation-delay:.2s}.element-item:nth-child(2){animation-delay:.3s}.element-item:nth-child(3){animation-delay:.4s}.element-item:nth-child(4){animation-delay:.5s}.element-item:nth-child(5){animation-delay:.6s}.element-item:has(.element-score.score-excellent){border-top-color:var(--color-success)}.element-item:has(.element-score.score-passing){border-top-color:var(--color-gold)}.element-item:has(.element-score.score-failing){border-top-color:var(--color-error)}.element-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.element-name{font-weight:600;color:var(--text-primary);font-size:var(--font-base)}.element-score{font-weight:700;font-size:var(--font-lg)}.element-score.score-excellent{color:var(--color-success)}.element-score.score-passing{color:var(--color-gold)}.element-score.score-failing{color:var(--color-error)}.element-feedback{color:var(--text-secondary);font-size:var(--font-sm);margin-bottom:var(--space-sm);line-height:1.5}.element-criteria{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--glass-1-border)}.criterion-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-xs) 0;font-size:var(--font-sm)}.criterion-description{color:var(--text-secondary)}.criterion-score{font-weight:600;color:var(--text-primary)}.evaluation-results-actions{margin-top:var(--space-2xl);margin-bottom:var(--space-3xl);text-align:center;display:flex;gap:var(--space-lg);justify-content:center;flex-wrap:wrap;padding-bottom:var(--space-xl)}.continue-button{padding:var(--space-md) var(--space-xl);background:var(--brand-orange-gradient);color:var(--text-on-orange);border:none;border-bottom:3px solid var(--brand-orange);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-md);font-weight:600;transition:all var(--duration-normal) var(--ease-smooth);box-shadow:var(--shadow-md)}.continue-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg),var(--shadow-glow-orange)}.continue-button:active{transform:translateY(1px);border-bottom-width:1px;box-shadow:var(--shadow-sm)}.continue-button.secondary{background:var(--glass-2-bg);backdrop-filter:blur(var(--glass-2-blur));-webkit-backdrop-filter:blur(var(--glass-2-blur));border:1px solid var(--glass-2-border);border-bottom:3px solid rgba(0,0,0,.08);color:var(--text-primary);box-shadow:var(--shadow-sm)}.continue-button.secondary:hover{background:var(--glass-3-bg);transform:translateY(-1px);box-shadow:var(--shadow-md)}.continue-button.secondary:active{transform:translateY(1px);border-bottom-width:1px;box-shadow:none}.retry-button{padding:var(--space-md) var(--space-xl);background:var(--glass-2-bg);backdrop-filter:blur(var(--glass-2-blur));-webkit-backdrop-filter:blur(var(--glass-2-blur));border:1px solid var(--glass-2-border);border-bottom:3px solid rgba(0,0,0,.08);color:var(--text-primary);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-md);font-weight:600;transition:all var(--duration-normal) var(--ease-smooth);box-shadow:var(--shadow-sm)}.retry-button:hover{background:var(--glass-3-bg);transform:translateY(-1px);box-shadow:var(--shadow-md)}.retry-button:active{transform:translateY(1px);border-bottom-width:1px;box-shadow:none}@media (max-width: 480px){.academic-mode-results-container .evaluation-results{padding:var(--space-lg);padding-bottom:calc(120px + env(safe-area-inset-bottom,0px));scroll-padding-bottom:calc(120px + env(safe-area-inset-bottom,0px))}.academic-mode.portrait .academic-mode-results-container{padding-bottom:120px}.score-circle{width:120px;height:120px}.score-value{font-size:var(--font-2xl)}.score-label{font-size:var(--font-xs)}.element-item{padding:var(--space-md)}.evaluation-results-actions{flex-direction:column;margin-bottom:60px;padding-bottom:var(--space-2xl)}.continue-button,.retry-button{width:100%}}.level-progress-map{background:transparent;border-radius:0;box-shadow:none;padding:0;scroll-padding-bottom:calc(530px + env(safe-area-inset-bottom,0px));max-width:100%;max-height:500px;overflow-y:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box}.level-progress-map-header{margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--glass-2-border)}.level-progress-map-header h3{margin:0;font-size:var(--font-md);font-weight:600;color:var(--text-primary)}.level-progress-map-content{display:flex;flex-direction:column;gap:var(--space-lg);padding-bottom:0}.unit-section{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-sm)}.unit-section:last-child{margin-bottom:0}.unit-header{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-sm);font-weight:600;color:var(--text-primary);padding-bottom:var(--space-sm);border-bottom:1px solid var(--glass-1-border)}.unit-title{font-weight:700;letter-spacing:.01em}.unit-progress{color:var(--text-muted);font-size:var(--font-xs);font-weight:500}.lessons-list{display:flex;flex-direction:column;gap:var(--space-sm);padding-left:0;padding-bottom:0}.lesson-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);border:1px solid var(--glass-1-border);border-left:3px solid var(--glass-2-border);background:var(--glass-1-bg);cursor:pointer;transition:all var(--duration-normal) var(--ease-smooth);font-size:var(--font-sm);color:var(--text-primary)}.lessons-list:last-child .lesson-item:last-child{margin-bottom:0}.lesson-item:hover{background:var(--glass-2-bg);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.lesson-item.current-lesson{background:var(--brand-orange-gradient);color:var(--text-on-orange);font-weight:600;border:1px solid transparent;border-left:3px solid var(--brand-orange);box-shadow:var(--shadow-md),var(--shadow-glow-orange);animation:gScalePop var(--duration-slow) var(--ease-bounce) both}.lesson-item.current-lesson:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg),var(--shadow-glow-orange)}.lesson-item.current-lesson .lesson-number:before{content:"▶ ";font-size:var(--font-xs)}.lesson-completed{color:var(--color-success)}.lesson-item:has(.lesson-completed){border-left-color:var(--color-success)}.lesson-in-progress{color:var(--color-warning)}.lesson-item:has(.lesson-in-progress){border-left-color:var(--color-warning);animation:gPulse 2.5s ease-in-out infinite}.lesson-locked{color:var(--text-muted)}.lesson-item:has(.lesson-locked){border-left-color:transparent;opacity:.45;cursor:not-allowed!important}.lesson-unlocked{color:var(--text-primary)}.lesson-item:has(.lesson-unlocked){border-left-color:var(--glass-2-border);opacity:.85}.lesson-item.lesson-disabled{cursor:not-allowed!important;opacity:.45}.lesson-item.lesson-disabled:hover{background:var(--glass-1-bg)!important;transform:none!important;box-shadow:none!important}.lesson-icon{font-size:var(--font-md);flex-shrink:0;width:20px;text-align:center}.lesson-number{flex:1}.lesson-results-button{background:var(--glass-1-bg);border:1px solid var(--glass-1-border);border-radius:var(--radius-full);cursor:pointer;font-size:var(--font-lg);width:40px;height:40px;min-width:40px;min-height:40px;padding:0;display:flex;align-items:center;justify-content:center;transition:all var(--duration-normal) var(--ease-bounce);flex-shrink:0}.lesson-results-button:hover{transform:scale(1.15);background:var(--glass-2-bg);box-shadow:var(--shadow-sm)}.lesson-results-button:active{transform:scale(.95)}@media (max-width: 768px){.level-progress-map{max-width:100%;max-height:300px;padding-bottom:0;scroll-padding-bottom:calc(580px + env(safe-area-inset-bottom,0px))}.academic-mode-bottom-spacer{height:40px}}.academic-mode{padding:var(--space-lg);max-width:1200px;margin:0 auto;position:relative;display:flex;gap:var(--space-lg)}.academic-mode.landscape{background:#f0f8f88c;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-md) 0 0 var(--radius-md);border-left:1px solid rgba(255,255,255,.7);box-shadow:var(--shadow-xl),inset 0 1px #fffc;width:380px;max-width:380px;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;margin:0;position:fixed;top:0;right:0;z-index:10001;pointer-events:auto;display:flex;flex-direction:column;overflow:hidden;animation:gSlideInRight var(--duration-slow) var(--ease-out) both}.academic-mode.landscape .academic-mode-content{flex:1;min-width:0;min-height:0;width:100%;height:100%;display:flex;flex-direction:column;box-sizing:border-box;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 var(--space-lg) 100px;scroll-padding-bottom:100px;scrollbar-width:none;-ms-overflow-style:none}.academic-mode.landscape .academic-mode-content::-webkit-scrollbar{display:none}.academic-mode-progress-map-wrapper{margin:var(--space-md) 0 0;padding:var(--space-md);background:var(--glass-2-bg);backdrop-filter:blur(var(--glass-2-blur));-webkit-backdrop-filter:blur(var(--glass-2-blur));border-radius:var(--radius-xl);border:1px solid var(--glass-2-border);box-shadow:var(--shadow-md),var(--shadow-inset-glass);animation:gSlideUp var(--duration-slow) var(--ease-out) both}.academic-mode-bottom-spacer{height:var(--space-xl);flex-shrink:0}.academic-mode.portrait .academic-mode-bottom-spacer{height:var(--space-lg)}@media (max-width: 1200px){.academic-mode.landscape{width:340px;max-width:340px}.app-container:has(.academic-mode-container){margin-right:340px}}@media (max-width: 900px){.academic-mode.landscape{flex-direction:column}}.academic-mode.portrait{width:100%;height:100vh;height:100dvh;max-width:100%;max-height:100vh;max-height:100dvh;background:#f0f8f88c;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:0;box-shadow:none;margin:0;padding:0;flex-direction:column;display:flex;overflow:hidden;animation:gFadeIn var(--duration-normal) var(--ease-out) both}.academic-mode.portrait .academic-mode-content{flex:1;display:flex;flex-direction:column;padding:0 0 calc(50px + env(safe-area-inset-bottom,0px));scroll-padding-bottom:calc(50px + env(safe-area-inset-bottom,0px));overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0;scrollbar-width:none;-ms-overflow-style:none}.academic-mode.portrait .academic-mode-content::-webkit-scrollbar{display:none}.academic-mode-header-portrait{padding:var(--space-md) var(--space-lg);background:var(--surface-header);backdrop-filter:blur(var(--glass-2-blur));-webkit-backdrop-filter:blur(var(--glass-2-blur));border-radius:0 0 50% 50%/0 0 40% 40%;box-shadow:var(--shadow-sm),var(--shadow-inset-glass);margin-bottom:var(--space-xl);position:sticky;top:0;z-index:10;flex-shrink:0}.academic-mode.portrait .academic-mode-content>*:not(.academic-mode-header-portrait){padding-left:var(--space-md);padding-right:var(--space-md);box-sizing:border-box}.academic-mode.portrait .academic-mode-progress-map-wrapper{margin-left:var(--space-md);margin-right:var(--space-md)}.academic-mode-header-portrait-top{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-sm)}.academic-mode-header-portrait-top .academic-mode-map-button{flex-shrink:0}.academic-mode-header-portrait-top .academic-mode-close-button{flex-shrink:0;margin-left:auto}.academic-mode-header-portrait h2{margin:0;color:var(--text-primary);font-size:var(--font-2xl);font-weight:600;flex:1}.academic-mode-progress-map-wrapper .level-progress-map{max-width:100%;max-height:none;box-shadow:none;background:transparent;padding:0}.academic-mode-close-button{width:40px;height:40px;min-width:40px;min-height:40px;border:1px solid var(--glass-1-border);border-radius:var(--radius-sm);background:var(--glass-1-bg);backdrop-filter:blur(var(--glass-1-blur));-webkit-backdrop-filter:blur(var(--glass-1-blur));cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;transition:all var(--duration-normal) var(--ease-smooth)}.academic-mode-close-button:hover{background:var(--glass-2-bg);border-color:var(--glass-2-border);transform:scale(1.05)}.academic-mode-close-button:active{transform:scale(.92)}.academic-mode-close-icon{width:20px;height:20px;object-fit:contain}.academic-mode-close-button-bottom{position:fixed;bottom:max(30px,calc(16px + env(safe-area-inset-bottom,0px)));left:50%;transform:translate(-50%);width:40px;height:40px;min-width:40px;min-height:40px;border:1px solid var(--glass-1-border);border-radius:var(--radius-sm);background:var(--glass-1-bg);backdrop-filter:blur(var(--glass-1-blur));-webkit-backdrop-filter:blur(var(--glass-1-blur));cursor:pointer;z-index:10001;display:flex;align-items:center;justify-content:center;transition:all var(--duration-normal) var(--ease-smooth)}.academic-mode-close-button-bottom:hover{background:var(--glass-2-bg);border-color:var(--glass-2-border);transform:translate(-50%) scale(1.05)}.academic-mode-close-button-bottom:active{transform:translate(-50%) scale(.92)}.academic-mode-header{margin-bottom:0;padding:var(--space-md) var(--space-lg) var(--space-sm);border-bottom:1px solid var(--glass-2-border);flex-shrink:0;position:sticky;top:0;z-index:10;background:var(--glass-2-bg);backdrop-filter:blur(var(--glass-2-blur));-webkit-backdrop-filter:blur(var(--glass-2-blur));box-shadow:var(--shadow-inset-glass)}.academic-mode-header-top{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-sm)}.academic-mode-header-top h2{margin:0;flex:1}.academic-mode-close-button-landscape{width:40px;height:40px;min-width:40px;min-height:40px;border:1px solid var(--glass-1-border);border-radius:var(--radius-sm);background:var(--glass-1-bg);backdrop-filter:blur(var(--glass-1-blur));-webkit-backdrop-filter:blur(var(--glass-1-blur));cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--duration-normal) var(--ease-smooth);flex-shrink:0;margin-left:auto}.academic-mode-close-button-landscape:hover{background:var(--glass-2-bg);border-color:var(--glass-2-border);transform:scale(1.05)}.academic-mode-close-button-landscape:active{transform:scale(.92)}.academic-mode-map-button{width:44px;height:44px;min-width:44px;min-height:44px;border:1px solid var(--glass-2-border);border-bottom:3px solid rgba(0,0,0,.12);border-radius:var(--radius-sm);background:var(--glass-1-bg);backdrop-filter:blur(var(--glass-1-blur));-webkit-backdrop-filter:blur(var(--glass-1-blur));color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--duration-normal) var(--ease-smooth);flex-shrink:0}.academic-mode-map-button:hover{background:var(--glass-2-bg);border-color:var(--glass-2-border);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.academic-mode-map-button:active{transform:translateY(1px);border-bottom-width:1px;box-shadow:none}.academic-mode-map-icon{width:20px;height:20px;transition:fill var(--duration-normal) var(--ease-smooth)}.academic-mode-map-icon path{fill:var(--text-primary);opacity:.7;transition:all var(--duration-normal) var(--ease-smooth)}.academic-mode-map-button.active{border-color:var(--glass-3-border);background:var(--glass-3-bg);box-shadow:var(--shadow-sm)}.academic-mode-map-button.active .academic-mode-map-icon path{fill:var(--text-primary);opacity:1}.academic-mode.portrait .academic-mode-header,.academic-mode.landscape .academic-mode-header-portrait{display:none}.academic-mode-header h2{margin:0 0 var(--space-sm) 0;color:var(--text-primary);font-size:var(--font-xl);font-weight:600}.academic-mode-level{color:var(--text-secondary);font-size:var(--font-sm);font-weight:400}.academic-mode-loading{text-align:center;padding:var(--space-3xl);color:var(--text-muted);animation:gPulse 1.5s ease-in-out infinite}.academic-mode-task-header h3{margin:0;color:var(--text-primary);font-size:var(--font-md);font-weight:600;flex:1}.academic-mode-task-refresh-button{width:var(--btn-sm);height:var(--btn-sm);min-width:var(--btn-sm);min-height:var(--btn-sm);border:1px solid var(--glass-1-border);border-radius:var(--radius-sm);background:var(--glass-1-bg);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--font-md);transition:all var(--duration-normal) var(--ease-smooth);flex-shrink:0}.academic-mode-task-refresh-button:hover{background:var(--glass-2-bg);transform:rotate(90deg)}.academic-mode-task-refresh-button:active{transform:rotate(90deg) scale(.92)}.academic-mode-start-button-wrapper{display:flex;justify-content:center;align-items:center;margin-top:var(--space-2xl);margin-bottom:var(--space-2xl)}.academic-mode-start-button{margin:0;padding:var(--space-md) var(--space-xl);background:var(--brand-orange-gradient);color:var(--text-on-orange);border:none;border-bottom:3px solid var(--brand-orange);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-md);font-weight:600;transition:all var(--duration-normal) var(--ease-smooth);box-shadow:var(--shadow-md)}.academic-mode-start-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-lg),var(--shadow-glow-orange)}.academic-mode-start-button:disabled{background:var(--glass-2-bg);color:var(--text-muted);border-bottom-color:transparent;cursor:not-allowed;box-shadow:none}.academic-mode-results-container{margin-top:var(--space-xl);padding:0;background:transparent;border-radius:0;border:none;max-height:calc(100vh - 300px);max-height:calc(100dvh - 300px);overflow-y:auto;width:100%;flex:1;display:flex;flex-direction:column;min-height:0}.academic-mode.portrait .academic-mode-results-container{max-height:calc(100vh - 200px);max-height:calc(100dvh - 200px);overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:50px;margin-bottom:var(--space-md)}.feedback-banner{position:fixed;bottom:0;left:0;right:0;z-index:10002;background:linear-gradient(160deg,#8dfff9,#5ee6dc 50%,#b0fff6);backdrop-filter:blur(var(--glass-2-blur));-webkit-backdrop-filter:blur(var(--glass-2-blur));border-top:1px solid rgba(255,255,255,.28);box-shadow:0 -4px 20px #00000014;transition:max-height var(--duration-slow) var(--ease-smooth);max-height:70px;overflow:hidden;width:100%;margin:0;padding:0;padding-bottom:max(var(--space-lg),env(safe-area-inset-bottom))}@media (orientation: portrait){.feedback-banner{max-height:75px}}.feedback-banner.expanded{max-height:450px}.feedback-banner-content{padding:var(--space-md) var(--space-xl);width:100%;max-width:100%;box-sizing:border-box;margin:0}.feedback-banner-collapsed{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);flex-wrap:nowrap;white-space:nowrap}@media (orientation: portrait){.feedback-banner{max-height:70px}.feedback-banner-content{padding:var(--space-sm) var(--space-md)}.feedback-banner-collapsed{flex-direction:row;gap:6px;flex-wrap:nowrap;justify-content:center;align-items:center;overflow:hidden}.feedback-banner-question{font-size:var(--font-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feedback-banner-stars{gap:var(--space-xs)}.feedback-star-button{font-size:20px;width:32px;height:32px;min-width:32px;min-height:32px;padding:2px}.feedback-expand-button{width:32px;height:32px;min-width:32px;min-height:32px;max-width:32px;max-height:32px;font-size:var(--font-md)}}.feedback-banner-question{color:var(--text-primary);font-size:var(--font-sm);font-weight:600;white-space:nowrap;flex-shrink:1;min-width:0}@media (orientation: portrait){.feedback-banner-question{font-size:var(--font-xs)}}.feedback-banner-stars{display:flex;gap:6px;align-items:center;flex-shrink:0}.feedback-star-button{background:none;border:none;font-size:var(--font-2xl);cursor:pointer;padding:2px;transition:transform var(--duration-normal) var(--ease-bounce),filter var(--duration-normal) var(--ease-smooth);line-height:1;flex-shrink:0;width:36px;height:36px;min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center}.feedback-star-button:hover{transform:scale(1.15)}.feedback-star-button.filled{color:var(--color-gold);filter:drop-shadow(0 2px 6px rgba(255,215,0,.55));animation:gScalePop var(--duration-slow) var(--ease-bounce)}.feedback-star-button.filled:nth-child(1){animation-delay:0ms}.feedback-star-button.filled:nth-child(2){animation-delay:60ms}.feedback-star-button.filled:nth-child(3){animation-delay:.12s}.feedback-star-button.filled:nth-child(4){animation-delay:.18s}.feedback-star-button.filled:nth-child(5){animation-delay:.24s}.feedback-star-button.empty{color:var(--text-muted);opacity:.6}.feedback-star-button.empty:hover{color:var(--color-gold-light);opacity:.8}.feedback-expand-button{background:var(--glass-1-bg);color:var(--text-primary);border:1px solid var(--glass-1-border);border-radius:var(--radius-full);width:36px;height:36px;min-width:36px;min-height:36px;max-width:36px;max-height:36px;padding:0;margin:0;font-size:var(--font-lg);cursor:pointer;transition:all var(--duration-normal) var(--ease-smooth);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);line-height:1;flex-shrink:0;box-sizing:border-box;aspect-ratio:1}.feedback-expand-button:hover{background:var(--glass-2-bg);border-color:var(--glass-2-border);transform:scale(1.1);box-shadow:var(--shadow-md)}.feedback-banner-expanded{display:flex;flex-direction:column;gap:var(--space-md);width:100%;max-width:100%;animation:gFadeIn var(--duration-normal) var(--ease-out)}.feedback-banner-header{display:flex;justify-content:space-between;align-items:center}.feedback-collapse-button{background:none;border:none;color:var(--text-primary);font-size:28px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);transition:background-color var(--duration-normal) var(--ease-smooth);line-height:1}.feedback-collapse-button:hover{background:var(--glass-2-bg)}.feedback-rating-text{color:var(--text-primary);font-size:var(--font-sm);font-weight:500;text-align:center;margin:-8px 0 0;min-height:20px}.feedback-text-section{display:flex;flex-direction:column;gap:var(--space-sm)}.feedback-textarea{width:100%;padding:var(--space-md);border:1px solid var(--glass-2-border);border-radius:var(--radius-sm);background:var(--glass-1-bg);backdrop-filter:blur(var(--glass-1-blur));-webkit-backdrop-filter:blur(var(--glass-1-blur));font-size:var(--font-sm);font-family:inherit;resize:vertical;min-height:80px;transition:border-color var(--duration-normal) var(--ease-smooth),background-color var(--duration-normal) var(--ease-smooth),box-shadow var(--duration-normal) var(--ease-smooth);box-sizing:border-box;color:var(--text-primary)}.feedback-textarea:focus{outline:none;border-color:var(--color-gold);background:#fffffff2;box-shadow:0 0 0 3px #ffd70026;color:var(--text-primary)}.feedback-textarea::placeholder{color:var(--text-muted)}.feedback-char-count{color:var(--text-muted);font-size:var(--font-xs);text-align:right}.feedback-banner-actions{display:flex;justify-content:flex-end}.feedback-submit-button{padding:var(--space-sm) var(--space-xl);border:none;border-radius:var(--radius-sm);font-size:var(--font-md);font-weight:700;cursor:pointer;transition:all var(--duration-normal) var(--ease-smooth);background:linear-gradient(135deg,var(--color-gold) 0%,var(--color-gold-light) 100%);color:var(--text-primary);box-shadow:0 4px #ca0,0 6px 16px #ffd70059;min-width:140px;letter-spacing:.01em}.feedback-submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px #ca0,0 10px 24px #ffd70073}.feedback-submit-button:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #ca0,0 2px 8px #ffd7004d}.feedback-submit-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.feedback-banner-content{padding:var(--space-md) var(--space-lg)}.feedback-banner-collapsed{gap:var(--space-sm)}.feedback-banner-question{font-size:var(--font-sm)}.feedback-star-button{font-size:var(--font-2xl)}.feedback-banner.expanded{max-height:500px}.feedback-textarea{min-height:70px}.feedback-submit-button{padding:var(--space-sm) var(--space-lg);font-size:var(--font-sm);min-width:120px}}@media (max-width: 480px) and (orientation: portrait){.feedback-banner{max-height:70px}.feedback-banner-content{padding:var(--space-sm) var(--space-sm)}.feedback-banner-collapsed{flex-direction:row;gap:5px;flex-wrap:nowrap;justify-content:center;align-items:center;overflow:hidden}.feedback-banner-question{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feedback-star-button{font-size:var(--font-lg);width:32px;height:32px;min-width:32px;min-height:32px;padding:2px}.feedback-expand-button{width:32px;height:32px;min-width:32px;min-height:32px;max-width:32px;max-height:32px;font-size:var(--font-sm);box-sizing:border-box;aspect-ratio:1}}.teacher-activity-panel{padding:var(--space-lg);max-width:1200px;margin:0 auto;position:relative;display:flex;gap:var(--space-lg)}.teacher-activity-panel.landscape{background:#f0f8f88c;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.7);border-radius:var(--radius-xl) 0 0 var(--radius-xl);box-shadow:var(--shadow-xl),inset 0 1px #fffc;width:380px;max-width:380px;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;margin:0;flex-direction:row;position:fixed;top:0;right:0;z-index:10001;pointer-events:auto;display:flex;flex-direction:column;overflow:hidden;animation:gSlideInRight var(--duration-slow) var(--ease-out) both}.teacher-activity-panel.landscape .teacher-activity-panel-content{flex:1;min-width:0;min-height:0;width:100%;padding:0 var(--space-lg) 100px;scroll-padding-bottom:100px;display:flex;flex-direction:column;box-sizing:border-box;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.teacher-activity-panel.landscape .teacher-activity-panel-content::-webkit-scrollbar{display:none}.teacher-activity-panel.portrait{width:100%;height:100vh;height:100dvh;max-width:100%;max-height:100vh;max-height:100dvh;background:#f0f8f88c;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:0;box-shadow:none;margin:0;padding:0;flex-direction:column;display:flex;overflow:hidden;animation:gFadeIn var(--duration-slow) var(--ease-out) both}.teacher-activity-panel.portrait .teacher-activity-panel-content{flex:1;display:flex;flex-direction:column;padding:0 0 calc(100px + env(safe-area-inset-bottom,0px));scroll-padding-bottom:calc(100px + env(safe-area-inset-bottom,0px));min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}.teacher-activity-panel.portrait .teacher-activity-panel-content::-webkit-scrollbar{display:none}.teacher-activity-panel-header-portrait{padding:var(--space-md) var(--space-lg);background:var(--surface-header);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:0 0 50% 50%/0 0 40% 40%;margin-bottom:var(--space-xl);position:sticky;top:0;z-index:10}.teacher-activity-panel-header-portrait-top{display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg)}.teacher-activity-panel-header-portrait h2{margin:0;font-size:var(--font-2xl);color:var(--text-primary);flex:1;text-align:center;font-weight:600}.teacher-activity-panel-header{margin-bottom:0;padding:var(--space-md) var(--space-lg) 10px;border-bottom:1px solid var(--glass-2-border);flex-shrink:0;position:sticky;top:0;z-index:10;background:var(--glass-2-bg);backdrop-filter:blur(var(--glass-2-blur));-webkit-backdrop-filter:blur(var(--glass-2-blur))}.teacher-activity-panel-header-top{display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg)}.teacher-activity-panel-header h2{margin:0;font-size:var(--font-2xl);color:var(--text-primary);flex:1;font-weight:600}.teacher-activity-panel-close-button,.teacher-activity-panel-close-button-landscape{background:var(--glass-1-bg);border:1px solid var(--glass-1-border);border-radius:var(--radius-sm);cursor:pointer;padding:var(--space-sm);width:40px;height:40px;min-width:40px;min-height:40px;display:flex;align-items:center;justify-content:center;transition:all var(--duration-normal) var(--ease-smooth);flex-shrink:0}.teacher-activity-panel-close-button:hover,.teacher-activity-panel-close-button-landscape:hover{background:var(--glass-2-bg);transform:scale(1.08)}.teacher-activity-panel-close-button:active,.teacher-activity-panel-close-button-landscape:active{transform:scale(.95)}.teacher-activity-panel-close-icon{width:20px;height:20px;object-fit:contain}.teacher-activity-panel-body{flex:1;display:flex;flex-direction:column;padding-bottom:100px;scroll-padding-bottom:100px;min-height:0}.teacher-activity-panel.portrait .teacher-activity-panel-body{padding-left:var(--space-xl);padding-right:var(--space-xl)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;flex:1;min-height:100%;padding:60px var(--space-xl)}.loading-message,.empty-state{text-align:center;padding:var(--space-3xl) var(--space-xl);color:var(--text-muted)}.empty-state p{margin-bottom:var(--space-xl)}.new-activity-button{background:var(--brand-orange-gradient);color:var(--text-on-orange);border:none;border-bottom:3px solid var(--brand-orange);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-md);font-size:var(--font-base);cursor:pointer;transition:all var(--duration-normal) var(--ease-smooth);font-weight:600;width:100%;margin-bottom:var(--space-xl);box-shadow:var(--shadow-md),var(--shadow-glow-orange)}.new-activity-button:hover{box-shadow:var(--shadow-lg),var(--shadow-glow-orange);transform:translateY(-2px)}.new-activity-button:active{transform:translateY(1px);border-bottom-width:1px;box-shadow:var(--shadow-sm)}.teacher-activity-panel.portrait .new-activity-button{margin-left:var(--space-xl);margin-right:var(--space-xl);width:calc(100% - var(--space-3xl));box-sizing:border-box}.activities-list{display:flex;flex-direction:column;gap:var(--space-md)}.activity-card{border:1px solid var(--glass-1-border);border-left:3px solid var(--brand-orange-light);border-radius:var(--radius-lg);padding:var(--space-lg);background:var(--glass-1-bg);backdrop-filter:blur(var(--glass-1-blur));-webkit-backdrop-filter:blur(var(--glass-1-blur));transition:all var(--duration-normal) var(--ease-smooth);box-shadow:var(--shadow-sm);animation:gSlideUp var(--duration-slow) var(--ease-out) both}.status-badge{padding:var(--space-xs) var(--space-md);border-radius:var(--radius-2xl);font-size:var(--font-xs);font-weight:600;letter-spacing:.02em;text-transform:uppercase}.status-badge.deployed{background:#4caf5026;color:var(--color-success);border:1px solid rgba(76,175,80,.3)}.status-badge.draft{background:#1a3a3714;color:var(--text-secondary);border:1px solid rgba(26,58,55,.15)}.classroom-badge,.level-badge{padding:var(--space-xs) var(--space-md);border-radius:var(--radius-2xl);font-size:var(--font-xs);font-weight:500;background:#00408514;color:#004085;border:1px solid rgba(0,64,133,.18)}.activity-description{margin:0 0 var(--space-sm) 0;color:var(--text-primary);line-height:1.5;font-size:var(--font-base)}.activity-objectives-count{margin:var(--space-xs) 0;color:var(--text-muted);font-size:var(--font-sm)}.activity-date{margin:var(--space-xs) 0;color:var(--text-muted);font-size:var(--font-xs)}.activity-card-actions{display:flex;gap:var(--space-sm);flex-wrap:wrap}.action-button{padding:var(--space-sm) var(--space-lg);border:none;border-radius:var(--radius-sm);font-size:var(--font-sm);cursor:pointer;transition:all var(--duration-normal) var(--ease-smooth);font-weight:600}.action-button.edit{background:var(--brand-orange-gradient);color:var(--text-on-orange);border-bottom:2px solid var(--brand-orange);box-shadow:var(--shadow-sm)}.action-button.edit:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.action-button.edit:active{transform:translateY(1px);border-bottom-width:0}.action-button.copy-url{background:var(--glass-3-bg);color:var(--text-primary);border:1px solid var(--glass-3-border);backdrop-filter:blur(var(--glass-1-blur));-webkit-backdrop-filter:blur(var(--glass-1-blur))}.action-button.copy-url:hover{background:#ffffff80;transform:translateY(-1px)}.action-button.copy-url:active{transform:translateY(0);background:#4caf5026;color:var(--color-success);border-color:#4caf504d}.action-button.delete{background:#e5393514;color:var(--color-error);border:1px solid rgba(229,57,53,.2)}.action-button.delete:hover{background:#e5393526;border-color:#e5393559;transform:translateY(-1px)}.action-button.delete:active{transform:translateY(0);background:var(--color-error);color:var(--text-on-orange)}.action-button.delete:disabled{background:#ccc3;color:var(--text-muted);border-color:transparent;cursor:not-allowed;box-shadow:none}.action-button.delete:disabled:hover{background:#ccc3;transform:none}.activity-card:has(.status-badge.deployed){border-left-color:var(--color-success)}@media (max-width: 1200px){.teacher-activity-panel.landscape{width:340px;max-width:340px}}@media (max-width: 900px){.teacher-activity-panel.landscape{flex-direction:column}}.teacher-activity-form{position:fixed;top:0;right:0;width:100%;max-width:600px;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;background:#f0f8f88c;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.7);box-shadow:var(--shadow-xl),inset 0 1px #fffc;z-index:1001;display:flex;flex-direction:column;overflow:hidden;animation:gSlideInRight var(--duration-slow) var(--ease-out) both}.form-header{padding:var(--space-xl);border-bottom:1px solid var(--glass-2-border);background:var(--surface-header);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:0 0 50% 50%/0 0 40% 40%;flex-shrink:0}.form-header-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.form-header h2{margin:0;font-size:var(--font-2xl);color:var(--text-primary);flex:1;text-align:center;font-weight:600}.form-back-button{width:50px;height:50px;min-width:50px;min-height:50px;border:none;background:transparent;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;transition:transform var(--duration-normal) var(--ease-smooth);flex-shrink:0;padding:0}.form-back-button:hover{transform:scale(1.1)}.form-back-button:active{transform:scale(.95)}.form-back-icon{width:100%;height:100%;object-fit:contain}.activity-form{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--space-xl);padding-bottom:calc(500px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:var(--space-xl);min-height:0}.form-section{display:flex;flex-direction:column;gap:var(--space-sm)}.form-section label{display:flex;flex-direction:column;gap:var(--space-xs);color:var(--text-primary);font-size:var(--font-base);font-weight:500}.form-section label strong{color:var(--text-primary);font-weight:700}.form-section textarea,.form-section input[type=text],.form-section input[type=number]{padding:var(--space-md) var(--space-lg);border:1px solid var(--glass-2-border);border-radius:var(--radius-md);font-size:var(--font-base);font-family:inherit;background:var(--glass-1-bg);backdrop-filter:blur(var(--glass-1-blur));-webkit-backdrop-filter:blur(var(--glass-1-blur));color:var(--text-primary);transition:border-color var(--duration-normal) var(--ease-smooth),box-shadow var(--duration-normal) var(--ease-smooth),background var(--duration-normal) var(--ease-smooth)}.form-section textarea:focus,.form-section input:focus{outline:none;border-color:var(--brand-orange-light);box-shadow:0 0 0 3px #ff6b3526;background:var(--glass-3-bg)}.form-section textarea{resize:vertical;min-height:120px;line-height:1.6}.section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-lg)}.section-header label{flex:1}.add-objective-button{background:var(--glass-3-bg);color:var(--text-primary);border:1px solid var(--glass-3-border);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-2xl);font-size:var(--font-sm);cursor:pointer;white-space:nowrap;transition:all var(--duration-normal) var(--ease-smooth);font-weight:600;backdrop-filter:blur(var(--glass-1-blur));-webkit-backdrop-filter:blur(var(--glass-1-blur))}.add-objective-button:hover{background:#ffffff80;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.add-objective-button:active{transform:translateY(0)}.empty-objectives{padding:var(--space-xl);text-align:center;color:var(--text-muted);background:var(--glass-1-bg);border-radius:var(--radius-md);border:2px dashed var(--glass-2-border)}.objectives-list{display:flex;flex-direction:column;gap:var(--space-lg)}.objective-item{border:1px solid var(--glass-1-border);border-radius:var(--radius-lg);padding:var(--space-lg);background:var(--glass-1-bg);backdrop-filter:blur(var(--glass-1-blur));-webkit-backdrop-filter:blur(var(--glass-1-blur));transition:all var(--duration-normal) var(--ease-smooth);animation:gSlideUp var(--duration-normal) var(--ease-out) both}.objective-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.remove-objective-button{background:#e539351a;color:var(--color-error);border:1px solid rgba(229,57,53,.2);width:36px;height:36px;min-width:36px;min-height:36px;border-radius:var(--radius-full);cursor:pointer;font-size:var(--font-md);display:flex;align-items:center;justify-content:center;transition:all var(--duration-normal) var(--ease-smooth);line-height:1}.remove-objective-button:hover{background:var(--color-error);color:var(--text-on-orange);transform:scale(1.1);box-shadow:0 2px 8px #e539354d}.remove-objective-button:active{transform:scale(.95)}.objective-fields{display:flex;flex-direction:column;gap:var(--space-md)}.objective-field{display:flex;flex-direction:column;gap:var(--space-xs)}.objective-field label{font-size:var(--font-sm);color:var(--text-secondary);font-weight:600}.objective-field input{padding:10px var(--space-md);border:1px solid var(--glass-2-border);border-radius:var(--radius-md);font-size:var(--font-base);background:var(--glass-1-bg);backdrop-filter:blur(var(--glass-1-blur));-webkit-backdrop-filter:blur(var(--glass-1-blur));color:var(--text-primary);transition:border-color var(--duration-normal) var(--ease-smooth),box-shadow var(--duration-normal) var(--ease-smooth),background var(--duration-normal) var(--ease-smooth)}.objective-field input:focus{outline:none;border-color:var(--brand-orange-light);box-shadow:0 0 0 3px #ff6b3526;background:var(--glass-3-bg)}.form-actions{display:flex;gap:var(--space-md);padding:var(--space-xl) 0;border-top:1px solid var(--glass-2-border);margin-top:var(--space-xl);background:transparent}.cancel-button,.save-button{flex:1;padding:var(--space-md) var(--space-xl);border:none;border-radius:var(--radius-md);font-size:var(--font-base);cursor:pointer;transition:all var(--duration-normal) var(--ease-smooth);font-weight:600}.cancel-button{background:var(--glass-3-bg);color:var(--text-primary);border:1px solid var(--glass-3-border);border-bottom:3px solid rgba(26,58,55,.15)}.cancel-button:hover:not(:disabled){background:#ffffff80;transform:translateY(-1px)}.cancel-button:active:not(:disabled){transform:translateY(1px);border-bottom-width:1px}.save-button{background:var(--brand-orange-gradient);color:var(--text-on-orange);border-bottom:3px solid var(--brand-orange);box-shadow:var(--shadow-md)}.save-button:hover:not(:disabled){box-shadow:var(--shadow-lg),var(--shadow-glow-orange);transform:translateY(-2px)}.save-button:active:not(:disabled){transform:translateY(1px);border-bottom-width:1px;box-shadow:var(--shadow-sm)}.cancel-button:disabled,.save-button:disabled{opacity:.5;cursor:not-allowed;border-bottom-width:1px}@media (max-width: 768px){.teacher-activity-form{max-width:100%}.activity-form{padding-bottom:calc(500px + env(safe-area-inset-bottom,0px))}.section-header{flex-direction:column}.add-objective-button{width:100%}.form-actions{flex-direction:column}}.teacher-activity-preview{position:fixed;top:0;right:0;width:100%;max-width:600px;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;padding-bottom:calc(env(safe-area-inset-bottom,0) + 40px);box-sizing:border-box;background:#f0f8f88c;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.7);box-shadow:var(--shadow-xl),inset 0 1px #fffc;z-index:1002;display:flex;flex-direction:column;overflow:hidden;animation:gSlideInRight var(--duration-slow) var(--ease-out) both}.preview-header{padding:var(--space-xl);border-bottom:none;background:var(--surface-header);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:0 0 50% 50%/0 0 40% 40%;margin-bottom:0;flex-shrink:0}.preview-header h2{margin:0 0 var(--space-xs) 0;font-size:var(--font-2xl);color:var(--text-primary);font-weight:600}.preview-subtitle{margin:0;color:var(--text-muted);font-size:var(--font-sm)}.preview-content{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:var(--space-xl);padding-bottom:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-xl);-webkit-overflow-scrolling:touch;background:transparent}.preview-section{display:flex;flex-direction:column;gap:var(--space-md);animation:gSlideUp var(--duration-normal) var(--ease-out) both}.preview-section h3{margin:0;font-size:var(--font-lg);color:var(--text-primary);font-weight:600;border-bottom:1px solid var(--glass-2-border);padding-bottom:var(--space-sm)}.preview-text{padding:var(--space-lg);background:var(--glass-1-bg);backdrop-filter:blur(var(--glass-1-blur));-webkit-backdrop-filter:blur(var(--glass-1-blur));border-radius:var(--radius-lg);border:1px solid var(--glass-1-border);line-height:1.6;color:var(--text-primary);white-space:pre-wrap;font-size:var(--font-base)}.objectives-preview{display:flex;flex-direction:column;gap:var(--space-md)}.objective-preview-item{border:1px solid var(--glass-1-border);border-radius:var(--radius-lg);padding:var(--space-lg);background:var(--glass-1-bg);backdrop-filter:blur(var(--glass-1-blur));-webkit-backdrop-filter:blur(var(--glass-1-blur));transition:all var(--duration-normal) var(--ease-smooth);box-shadow:var(--shadow-sm)}.objective-preview-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.objective-preview-header{margin-bottom:var(--space-md)}.objective-number{font-weight:700;color:var(--brand-orange-light);font-size:var(--font-sm)}.objective-preview-description{margin:var(--space-sm) 0;line-height:1.5;color:var(--text-primary);font-size:var(--font-base)}.objective-preview-description strong{color:var(--text-primary);font-weight:700;margin-right:var(--space-sm)}.preview-config{display:flex;flex-direction:column;gap:var(--space-lg)}.config-field{display:flex;flex-direction:column;gap:var(--space-sm)}.config-field label{display:flex;flex-direction:column;gap:var(--space-xs);color:var(--text-primary);font-size:var(--font-base);font-weight:500}.config-field label strong{color:var(--text-primary);font-weight:700}.field-hint{font-size:var(--font-xs);color:var(--text-muted);font-weight:400;font-style:italic}.config-field input{padding:var(--space-md) var(--space-lg);border:2px dashed var(--glass-3-border);border-radius:var(--radius-md);font-size:var(--font-base);font-family:inherit;background:var(--glass-1-bg);backdrop-filter:blur(var(--glass-1-blur));-webkit-backdrop-filter:blur(var(--glass-1-blur));color:var(--text-primary);transition:border-color var(--duration-normal) var(--ease-smooth),box-shadow var(--duration-normal) var(--ease-smooth),background var(--duration-normal) var(--ease-smooth),border-style var(--duration-normal) var(--ease-smooth)}.config-field input:focus{outline:none;border-color:var(--brand-orange-light);border-style:solid;box-shadow:0 0 0 3px #ff6b3526;background:var(--glass-3-bg)}.preview-actions{display:flex;gap:var(--space-md);padding:var(--space-xl);padding-bottom:calc(var(--space-xl) + env(safe-area-inset-bottom,0) + var(--space-xl));flex-shrink:0;border-top:1px solid var(--glass-2-border);background:var(--glass-2-bg);backdrop-filter:blur(var(--glass-2-blur));-webkit-backdrop-filter:blur(var(--glass-2-blur))}.action-button{flex:1;padding:var(--space-md) var(--space-xl);border:none;border-radius:var(--radius-md);font-size:var(--font-base);cursor:pointer;transition:all var(--duration-normal) var(--ease-smooth);font-weight:600}.action-button.adjust{background:var(--brand-orange-gradient);color:var(--text-on-orange);border-bottom:3px solid var(--brand-orange);box-shadow:var(--shadow-sm)}.action-button.adjust:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-2px)}.action-button.adjust:active:not(:disabled){transform:translateY(1px);border-bottom-width:1px;box-shadow:var(--shadow-sm)}.action-button.cancel{background:var(--glass-3-bg);color:var(--text-primary);border:1px solid var(--glass-3-border);border-bottom:3px solid rgba(26,58,55,.12)}.action-button.cancel:hover:not(:disabled){background:#ffffff80;transform:translateY(-1px)}.action-button.cancel:active:not(:disabled){transform:translateY(1px);border-bottom-width:1px}.action-button.deploy{background:var(--brand-orange-gradient);color:var(--text-on-orange);border-bottom:3px solid var(--brand-orange);box-shadow:var(--shadow-md),var(--shadow-glow-orange);font-size:var(--font-md);padding:var(--space-lg) var(--space-xl)}.action-button.deploy:hover:not(:disabled){box-shadow:var(--shadow-lg),var(--shadow-glow-orange);transform:translateY(-2px)}.action-button.deploy:active:not(:disabled){transform:translateY(1px);border-bottom-width:1px;box-shadow:var(--shadow-sm)}.action-button:disabled{opacity:.5;cursor:not-allowed;border-bottom-width:1px}@media (max-width: 768px){.teacher-activity-preview{max-width:100%}.preview-actions{flex-direction:column}}@media (orientation: portrait){.teacher-activity-preview{padding-bottom:calc(env(safe-area-inset-bottom,0) + 80px)}.preview-actions{padding-bottom:calc(var(--space-xl) + env(safe-area-inset-bottom,0) + var(--space-xl))}}.student-activity-list{padding:var(--space-lg);max-width:1200px;margin:0 auto;position:relative;display:flex;gap:var(--space-lg)}.student-activity-list.landscape{background:linear-gradient(160deg,#8dfff9,#5ee6dc 50%,#b0fff6);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.5);border-radius:var(--radius-xl);box-shadow:0 12px 40px #0000001f,inset 0 1px #fff9;overflow:hidden;position:relative}.student-activity-list.landscape:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--brand-orange-gradient);z-index:1}width: 420px; max-width: 90vw; max-height: 60vh; position: fixed; bottom: calc(120px + env(safe-area-inset-bottom,0px)) ; left: 0; right: 0; margin-left: auto; margin-right: auto; z-index: 10001; pointer-events: auto; display: flex; flex-direction: column; overflow: hidden; animation: none; } .student-activity-list.landscape .student-activity-list-content{flex:1;min-width:0;min-height:0;width:100%;padding:0 var(--space-lg) 100px;scroll-padding-bottom:100px;display:flex;flex-direction:column;box-sizing:border-box;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.student-activity-list.landscape .student-activity-list-content::-webkit-scrollbar{display:none}.student-activity-list.portrait{width:100%;height:100vh;height:100dvh;max-width:100%;max-height:100vh;max-height:100dvh;background:linear-gradient(160deg,#8dfff9,#5ee6dc 50%,#b0fff6);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:0;box-shadow:none;position:relative}.student-activity-list.portrait:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--brand-orange-gradient);z-index:1}margin: 0; padding: 0; flex-direction: column; display: flex; overflow: hidden; animation: gFadeIn var(--duration-slow) var(--ease-out) both; } .student-activity-list.portrait .student-activity-list-content{flex:1;display:flex;flex-direction:column;padding:0 0 calc(100px + env(safe-area-inset-bottom,0px));scroll-padding-bottom:calc(100px + env(safe-area-inset-bottom,0px));min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}.student-activity-list.portrait .student-activity-list-content::-webkit-scrollbar{display:none}.student-activity-list-header-portrait{padding:var(--space-md) var(--space-lg);background:var(--surface-header);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:0 0 50% 50%/0 0 40% 40%;margin-bottom:var(--space-xl);position:sticky;top:0;z-index:10}.student-activity-list-header-portrait-top{display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg)}.student-activity-list-header-portrait h2{margin:0;font-size:var(--font-2xl);color:var(--text-primary);flex:1;text-align:center;font-weight:600}.student-activity-list.portrait .student-activity-list-header,.student-activity-list.landscape .student-activity-list-header-portrait{display:none}.student-activity-list-header{margin-bottom:0;padding:var(--space-md) var(--space-lg) 10px;border-bottom:1px solid var(--glass-2-border);flex-shrink:0}.student-activity-list-header-top{display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg)}.student-activity-list-header h2{margin:0;font-size:var(--font-2xl);color:var(--text-primary);flex:1;font-weight:600}.student-activity-list-close-button,.student-activity-list-close-button-landscape{background:var(--glass-1-bg);border:1px solid var(--glass-1-border);border-radius:var(--radius-sm);cursor:pointer;padding:var(--space-sm);width:40px;height:40px;min-width:40px;min-height:40px;display:flex;align-items:center;justify-content:center;transition:all var(--duration-normal) var(--ease-smooth);flex-shrink:0}.student-activity-list-close-button:hover,.student-activity-list-close-button-landscape:hover{background:var(--glass-2-bg);transform:scale(1.08)}.student-activity-list-close-button:active,.student-activity-list-close-button-landscape:active{transform:scale(.95)}.student-activity-list-close-icon{width:20px;height:20px;object-fit:contain}.student-activity-list-body{flex:1;display:flex;flex-direction:column;padding-bottom:100px;scroll-padding-bottom:100px;min-height:0}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;flex:1;min-height:100%;padding:var(--space-xl)}.loading-container .loading-spinner{width:48px;height:48px;border:3px solid var(--glass-2-border);border-top:3px solid var(--brand-teal-light);border-radius:var(--radius-full);animation:gSpin 1s linear infinite;margin-bottom:var(--space-xl)}.loading-container .loading-message{color:var(--text-muted);font-size:var(--font-md);margin:0}.loading-message,.empty-state{text-align:center;padding:var(--space-xl);color:var(--text-muted)}.empty-state p{margin:var(--space-sm) 0}.empty-hint{font-size:var(--font-sm);color:var(--text-muted);font-style:italic}.activities-grid{display:flex;flex-direction:column;gap:var(--space-md);padding:0;padding-bottom:var(--space-xl);flex:1}.activity-card{border:1px solid var(--glass-1-border);border-radius:var(--radius-lg);padding:var(--space-lg);background:var(--glass-1-bg);backdrop-filter:blur(var(--glass-1-blur));-webkit-backdrop-filter:blur(var(--glass-1-blur));cursor:pointer;transition:all var(--duration-normal) var(--ease-smooth);display:flex;flex-direction:column;box-shadow:var(--shadow-sm);animation:none}.activity-card:hover{background:var(--glass-3-bg);box-shadow:var(--shadow-md);transform:translateY(-2px)}.activity-card-header{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-md)}.classroom-badge,.general-badge,.level-badge{padding:var(--space-xs) var(--space-md);border-radius:var(--radius-2xl);font-size:var(--font-xs);font-weight:600;letter-spacing:.01em}.classroom-badge{background:#0040851a;color:#004085;border:1px solid rgba(0,64,133,.2)}.general-badge{background:#8564041a;color:#856404;border:1px solid rgba(133,100,4,.2)}.level-badge{background:#0c54601a;color:#0c5460;border:1px solid rgba(12,84,96,.2)}.activity-card-body{margin-bottom:var(--space-md)}.activity-title{margin:0 0 var(--space-sm) 0;font-size:var(--font-md);color:var(--text-primary);font-weight:600}.activity-description{margin:0 0 var(--space-sm) 0;color:var(--text-secondary);line-height:1.5;font-size:var(--font-base)}.activity-objectives-count{margin:var(--space-sm) 0 0 0;color:var(--text-muted);font-size:var(--font-sm)}.activity-card-footer{margin-top:var(--space-sm)}.view-activity-button{width:100%;padding:10px var(--space-lg);background:var(--brand-orange-gradient);color:var(--text-on-orange);border:none;border-bottom:3px solid var(--brand-orange);border-radius:var(--radius-md);font-size:var(--font-base);cursor:pointer;transition:all var(--duration-normal) var(--ease-smooth);font-weight:600;box-shadow:var(--shadow-sm)}.view-activity-button:hover{box-shadow:var(--shadow-md),var(--shadow-glow-orange);transform:translateY(-2px)}.view-activity-button:active{transform:translateY(1px);border-bottom-width:1px;box-shadow:var(--shadow-sm)}@media (max-width: 1200px){.student-activity-list.landscape{width:340px;max-width:340px}}@media (max-width: 900px){.student-activity-list.landscape{flex-direction:column}}@media (max-width: 768px){.activities-grid{gap:var(--space-lg);padding:var(--space-lg)}}.student-activity-view{position:fixed;top:0;right:0;width:100%;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;background:#f0f8f88c;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.7);box-shadow:var(--shadow-xl),inset 0 1px #fffc;z-index:10001;display:flex;flex-direction:column;overflow:hidden;transition:transform var(--duration-slow) var(--ease-out)}.student-activity-view.landscape{width:500px;max-width:500px;border-radius:var(--radius-xl) 0 0 var(--radius-xl);transform:translate(0);animation:gSlideInRight var(--duration-slow) var(--ease-out) both}.student-activity-view.portrait{max-width:100%;border-radius:0;transform:translate(0);animation:gFadeIn var(--duration-slow) var(--ease-out) both}.student-activity-view.portrait .student-activity-view-header,.student-activity-view.landscape .student-activity-view-header-portrait{display:none}.student-activity-view-header-portrait{padding:var(--space-xl);background:var(--surface-header);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:0 0 50% 50%/0 0 40% 40%;margin-bottom:var(--space-xl);flex-shrink:0}.student-activity-view-header-portrait-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:10px;position:relative}.student-activity-view-header-portrait-top .student-activity-view-close-button{flex-shrink:0;margin-left:auto}.student-activity-view .student-activity-view-back-button{width:50px;height:50px;min-width:50px;min-height:50px;border:none;background:transparent;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;transition:transform var(--duration-normal) var(--ease-smooth);flex-shrink:0;padding:0;box-shadow:none}.student-activity-view-back-button:hover{transform:scale(1.1)}.student-activity-view-back-button:active{transform:scale(.95)}.student-activity-view-back-icon{width:100%;height:100%;object-fit:contain;mix-blend-mode:darken}.student-activity-view-header-portrait h2{margin:0;color:var(--text-primary);font-size:var(--font-2xl);font-weight:600;position:absolute;left:50%;transform:translate(-50%);pointer-events:none;white-space:nowrap;max-width:60%;overflow:hidden;text-overflow:ellipsis}.student-activity-view-close-button{width:40px;height:40px;min-width:40px;min-height:40px;border:none;background:var(--glass-1-bg);border-radius:var(--radius-sm);cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;transition:all var(--duration-normal) var(--ease-smooth);flex-shrink:0}.student-activity-view-close-button:hover{background:var(--glass-2-bg);transform:scale(1.08)}.student-activity-view-close-button:active{transform:scale(.95)}.student-activity-view-close-icon{width:20px;height:20px;object-fit:contain}.student-activity-view-header{margin-bottom:var(--space-xl);padding:var(--space-xl);flex-shrink:0}.student-activity-view-header-top{display:flex;align-items:center;gap:var(--space-md);margin-bottom:10px}.student-activity-view-back-button-landscape{width:40px;height:40px;min-width:40px;min-height:40px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform var(--duration-normal) var(--ease-smooth);flex-shrink:0;padding:0;box-shadow:none}.student-activity-view-back-button-landscape:hover{transform:scale(1.1)}.student-activity-view-back-button-landscape:active{transform:scale(.95)}.student-activity-view-header-top h2{margin:0;flex:1}.student-activity-view-header h2{margin:0 0 10px;color:var(--text-primary);font-size:var(--font-xl);font-weight:600}.academic-mode-level{color:var(--text-primary);font-size:var(--font-sm);font-weight:400;opacity:.7}.student-activity-view-close-button-landscape{width:40px;height:40px;min-width:40px;min-height:40px;border:none;background:var(--glass-1-bg);border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--duration-normal) var(--ease-smooth);flex-shrink:0;margin-left:auto}.student-activity-view-close-button-landscape:hover{background:var(--glass-2-bg);transform:scale(1.08)}.student-activity-view-close-button-landscape:active{transform:scale(.95)}.student-activity-view-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--space-xl);padding-bottom:calc(530px + env(safe-area-inset-bottom,0px));scroll-padding-bottom:calc(530px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;min-height:0;box-sizing:border-box}.student-activity-view.landscape .student-activity-view-content{flex:1;min-width:0;min-height:0;width:100%;padding:0 var(--space-xl) calc(530px + env(safe-area-inset-bottom,0px)) var(--space-xl);scroll-padding-bottom:calc(530px + env(safe-area-inset-bottom,0px));box-sizing:border-box;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.student-activity-view.landscape .student-activity-view-content::-webkit-scrollbar{display:none}.student-activity-view.portrait .student-activity-view-content{flex:1;min-height:0;display:flex;flex-direction:column;padding:var(--space-xl) var(--space-xl) calc(580px + env(safe-area-inset-bottom,0px)) var(--space-xl);scroll-padding-bottom:calc(580px + env(safe-area-inset-bottom,0px));overflow-y:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}.student-activity-view.portrait .student-activity-view-content::-webkit-scrollbar{display:none}.academic-mode-task-container{margin-bottom:var(--space-xl);padding:0;background:transparent;border:none;box-shadow:none;animation:gSlideUp var(--duration-slow) var(--ease-out) both}.academic-mode-task-header{margin-bottom:var(--space-md);display:flex;align-items:center;gap:var(--space-md)}.academic-mode-task-header h3{margin:0;color:var(--brand-orange-light);font-size:var(--font-md);font-weight:600;flex:1}.academic-mode-task-description{color:var(--text-primary);font-size:var(--font-base);line-height:1.6;text-align:justify;font-weight:400;padding:0;background:transparent;border-radius:0;border:none;margin-bottom:0}.lesson-checklist{margin:var(--space-xl) 0}.lesson-checklist h3{margin-bottom:var(--space-lg);color:var(--brand-orange-light);font-size:var(--font-md);font-weight:600}.objectives-list{display:flex;flex-direction:column;gap:var(--space-md)}.objective-item{padding:var(--space-lg);border:1px solid var(--glass-1-border);border-radius:var(--radius-lg);background:var(--glass-1-bg);backdrop-filter:blur(var(--glass-1-blur));-webkit-backdrop-filter:blur(var(--glass-1-blur));box-shadow:var(--shadow-sm);transition:all var(--duration-normal) var(--ease-smooth);animation:gSlideUp var(--duration-normal) var(--ease-out) both}.objective-item.objective-completed{border-color:#4caf5066;border-left:3px solid var(--color-success);background:#4caf501a}.objective-item.objective-in-progress{border-color:#ffc10766;border-left:3px solid var(--color-warning);background:#ffc1071a}.objective-item.objective-pending{border-color:var(--glass-1-border);background:var(--glass-1-bg)}.objective-item.objective-pending .objective-description{color:var(--text-secondary)}.objective-description{font-size:var(--font-base);color:var(--text-secondary);font-weight:400;line-height:1.5;margin-bottom:var(--space-sm)}.activity-metadata{display:flex;flex-wrap:wrap;gap:var(--space-lg)}.metadata-item{padding:var(--space-sm) var(--space-lg);background:#00408514;border:1px solid rgba(0,64,133,.18);border-radius:var(--radius-sm);color:#004085;font-size:var(--font-sm)}.metadata-item strong{margin-right:var(--space-xs)}.student-activity-view-content .academic-mode-start-button{align-self:center;margin-left:auto;margin-right:auto}.academic-mode-start-button{margin-top:var(--space-xl);margin-bottom:var(--space-xl);padding:var(--space-lg) var(--space-2xl);background:var(--brand-orange-gradient);color:var(--text-on-orange);border:none;border-bottom:3px solid var(--brand-orange);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-md);font-weight:600;align-self:flex-start;box-shadow:var(--shadow-md),var(--shadow-glow-orange);transition:all var(--duration-normal) var(--ease-smooth)}.academic-mode-start-button:hover:not(:disabled){box-shadow:var(--shadow-lg),var(--shadow-glow-orange);transform:translateY(-2px)}.academic-mode-start-button:active:not(:disabled){transform:translateY(1px);border-bottom-width:1px;box-shadow:var(--shadow-sm)}.academic-mode-start-button:disabled{background:#cccccc4d;color:var(--text-muted);cursor:not-allowed;box-shadow:none;border-bottom-color:#cccccc4d}@media (max-width: 768px){.student-activity-view{max-width:100%}.view-section{padding:var(--space-lg) 0}}.evaluation-results-overlay-content,.evaluation-results-overlay .evaluation-results{scrollbar-width:none;-ms-overflow-style:none}.evaluation-results-overlay-content::-webkit-scrollbar,.evaluation-results-overlay .evaluation-results::-webkit-scrollbar{display:none}.activity-email-form-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:2500;padding:var(--space-xl);box-sizing:border-box;animation:gFadeIn var(--duration-normal) var(--ease-smooth) both}.activity-email-form-container{background:var(--glass-3-bg);backdrop-filter:blur(var(--glass-3-blur));-webkit-backdrop-filter:blur(var(--glass-3-blur));border:1px solid var(--glass-3-border);border-radius:var(--radius-xl);padding:var(--space-3xl);max-width:500px;width:100%;max-height:90vh;max-height:90dvh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:gScalePop var(--duration-slow) var(--ease-bounce) both}.activity-email-form-header{text-align:center;margin-bottom:var(--space-2xl)}.activity-email-form-header h2{font-size:var(--font-2xl);margin:0 0 var(--space-sm) 0;color:var(--text-primary);font-weight:600}.activity-email-form-header p{font-size:var(--font-sm);color:var(--text-muted);margin:0;line-height:1.5}.activity-email-form{display:flex;flex-direction:column;gap:var(--space-xl)}.activity-email-form-field{display:flex;flex-direction:column;gap:var(--space-sm)}.activity-email-form-field label{font-size:var(--font-sm);font-weight:600;color:var(--text-primary)}.activity-email-form-field input{width:100%;padding:var(--space-md) var(--space-lg);border:1px solid var(--glass-2-border);border-radius:var(--radius-md);font-size:var(--font-md);box-sizing:border-box;transition:border-color var(--duration-normal) var(--ease-smooth),box-shadow var(--duration-normal) var(--ease-smooth),background var(--duration-normal) var(--ease-smooth);background:var(--glass-1-bg);backdrop-filter:blur(var(--glass-1-blur));-webkit-backdrop-filter:blur(var(--glass-1-blur));color:var(--text-primary)}.activity-email-form-field input:focus{outline:none;border-color:var(--brand-orange-light);box-shadow:0 0 0 3px #ff6b3526;background:var(--glass-3-bg)}.activity-email-form-field input:disabled{background:#f5f5f533;cursor:not-allowed;opacity:.5;color:var(--text-primary)}.activity-email-form-field input::placeholder{color:var(--text-muted)}.activity-email-form-error{background:#ffc1071f;border:1px solid rgba(255,193,7,.35);color:#856404;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);font-size:var(--font-sm);text-align:center;animation:gSlideUp var(--duration-normal) var(--ease-out) both}.activity-email-form-submit{width:100%;padding:var(--space-lg) var(--space-xl);background:var(--brand-orange-gradient);color:var(--text-on-orange);border:none;border-bottom:3px solid var(--brand-orange);border-radius:var(--radius-md);font-size:var(--font-md);font-weight:600;cursor:pointer;transition:all var(--duration-normal) var(--ease-smooth);margin-top:var(--space-sm);box-shadow:var(--shadow-md),var(--shadow-glow-orange)}.activity-email-form-submit:hover:not(:disabled){box-shadow:var(--shadow-lg),var(--shadow-glow-orange);transform:translateY(-2px)}.activity-email-form-submit:active:not(:disabled){transform:translateY(1px);border-bottom-width:1px;box-shadow:var(--shadow-sm)}.activity-email-form-submit:disabled{background:#cccccc4d;color:var(--text-muted);cursor:not-allowed;opacity:.5;box-shadow:none;border-bottom-color:#cccccc4d}@media (max-width: 480px){.activity-email-form-container{padding:var(--space-2xl) var(--space-xl);max-width:100%}.activity-email-form-header h2{font-size:var(--font-xl)}.activity-email-form-header p{font-size:var(--font-xs)}}@media (orientation: portrait){.activity-email-form-overlay{align-items:flex-start;padding-top:var(--space-3xl)}.activity-email-form-container{margin-top:var(--space-xl)}}.objectives-compact-tracker{display:flex;align-items:center;flex-wrap:nowrap;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);background:var(--glass-2-bg);border:1px solid var(--glass-2-border);border-radius:999px;box-shadow:var(--shadow-md),var(--shadow-inset-glass);backdrop-filter:blur(var(--glass-2-blur));-webkit-backdrop-filter:blur(var(--glass-2-blur));animation:gSlideDown var(--duration-slow) var(--ease-out);overflow-x:auto;scrollbar-width:none}.objectives-compact-tracker::-webkit-scrollbar{display:none}.objectives-label{font-size:var(--font-sm);font-weight:700;color:var(--text-primary);white-space:nowrap}.objectives-buttons{display:flex;align-items:center;gap:6px}.objective-button,.objectives-info-button{display:flex;align-items:center;gap:var(--space-xs);padding:6px 10px;border:1px solid var(--glass-1-border);border-radius:var(--radius-sm);background:var(--glass-1-bg);color:var(--text-primary);font-size:var(--font-sm);font-weight:600;cursor:pointer;transition:all var(--duration-normal) var(--ease-smooth);white-space:nowrap}.objective-button:hover,.objectives-info-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.objective-button:active,.objectives-info-button:active{transform:translateY(0)}.objective-button.grammar{border-color:#1cb0f64d}.objective-button.grammar.in-progress{background:#1cb0f61f;color:var(--color-info);border-color:var(--color-info)}.objective-button.grammar.completed{background:var(--color-info);color:var(--text-on-dark);border-color:var(--color-info)}.objective-button.vocabulary{border-color:#4caf504d}.objective-button.vocabulary.in-progress{background:#4caf501f;color:var(--color-success);border-color:var(--color-success)}.objective-button.vocabulary.completed{background:var(--color-success);color:var(--text-on-dark);border-color:var(--color-success)}.objective-button.communicative{border-color:#ff6b354d}.objective-button.communicative.in-progress{background:#ff6b351f;color:var(--brand-orange-light);border-color:var(--brand-orange-light)}.objective-button.communicative.completed{background:var(--brand-orange-light);color:var(--text-on-dark);border-color:var(--brand-orange-light)}.objective-button.pending{background:var(--glass-1-bg);color:var(--text-muted);border-color:var(--glass-1-border)}.objective-button.in-progress{animation:gPulse 2.5s ease-in-out infinite}.objective-button.completed{animation:gScalePop var(--duration-slow) var(--ease-bounce)}.objective-button.completed .objective-icon{animation:gCheckDraw .4s var(--ease-out) both}.objective-icon{font-size:var(--font-base);line-height:1}.objective-count{font-size:var(--font-sm);font-variant-numeric:tabular-nums}.objectives-info-button{padding:6px 8px;background:var(--glass-1-bg);color:var(--text-secondary);border-color:var(--glass-1-border);border-radius:var(--radius-full);font-size:var(--font-base);width:var(--btn-xs);height:var(--btn-xs);display:flex;align-items:center;justify-content:center}.objectives-info-button:hover{background:var(--glass-2-bg);border-color:var(--glass-2-border);color:var(--text-primary)}@media (max-width: 640px){.objectives-compact-tracker{padding:6px var(--space-md);gap:6px}.objectives-label{font-size:var(--font-xs)}.objective-button,.objectives-info-button{padding:var(--space-xs) var(--space-sm);font-size:var(--font-xs)}.objective-icon{font-size:var(--font-sm)}.objective-count{font-size:var(--font-xs)}}.objectives-panel-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000059;backdrop-filter:blur(var(--glass-1-blur));-webkit-backdrop-filter:blur(var(--glass-1-blur));z-index:500;animation:gFadeIn var(--duration-normal) var(--ease-out)}.objectives-detail-panel{position:fixed;top:0;right:0;bottom:0;width:90%;max-width:400px;background:var(--glass-3-bg);backdrop-filter:blur(var(--glass-3-blur));-webkit-backdrop-filter:blur(var(--glass-3-blur));border-left:1px solid var(--glass-3-border);box-shadow:-8px 0 32px #0000001f;z-index:600;display:flex;flex-direction:column;transform:translate(100%);transition:transform var(--duration-slow) var(--ease-smooth)}.objectives-detail-panel.open{transform:translate(0);animation:gSlideInRight var(--duration-slow) var(--ease-smooth)}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xl) var(--space-xl);border-bottom:1px solid var(--glass-2-border);background:var(--brand-orange-gradient);color:var(--text-on-orange)}.panel-title{margin:0;font-size:var(--font-xl);font-weight:700;display:flex;align-items:center;gap:var(--space-sm);color:var(--text-on-orange);letter-spacing:-.01em}.panel-title-icon{font-size:var(--font-2xl)}.panel-close-button{background:#fff3;border:1px solid rgba(255,255,255,.3);color:var(--text-on-orange);font-size:var(--font-2xl);width:40px;height:40px;min-width:40px;min-height:40px;border-radius:var(--radius-full);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--duration-normal) var(--ease-smooth)}.panel-close-button:hover{background:#ffffff59;transform:scale(1.1)}.panel-close-button:active{transform:scale(.95)}.panel-content{flex:1;overflow-y:auto;padding:var(--space-xl);background:#ffffff0d}.category-section{margin-bottom:var(--space-xl);background:var(--glass-1-bg);border:1px solid var(--glass-1-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);animation:gSlideUp var(--duration-slow) var(--ease-out) both}.category-section:nth-child(1){animation-delay:0ms}.category-section:nth-child(2){animation-delay:80ms}.category-section:nth-child(3){animation-delay:.16s}.category-header{padding:var(--space-md) var(--space-lg);background:var(--glass-2-bg);border-left:4px solid var(--brand-orange-light)}.category-section.grammar .category-header{border-left-color:var(--color-info)}.category-section.vocabulary .category-header{border-left-color:var(--color-success)}.category-section.communicative .category-header{border-left-color:var(--brand-orange-light)}.category-title{display:flex;align-items:center;gap:var(--space-sm);font-weight:700;font-size:var(--font-sm);color:var(--text-primary);margin-bottom:var(--space-sm)}.category-icon{font-size:var(--font-xl)}.category-label{letter-spacing:.3px}.category-count{margin-left:auto;color:var(--text-secondary);font-weight:600;font-variant-numeric:tabular-nums}.category-progress-bar{height:6px;background:#fff3;border-radius:3px;overflow:hidden}.category-progress-fill{height:100%;background:linear-gradient(90deg,var(--brand-orange-light),var(--color-gold));border-radius:3px;transition:width .8s var(--ease-smooth);box-shadow:0 0 8px #ff6b354d}.category-section.grammar .category-progress-fill{background:linear-gradient(90deg,var(--color-info),#64d2ff);box-shadow:0 0 8px #1cb0f64d}.category-section.vocabulary .category-progress-fill{background:linear-gradient(90deg,var(--color-success),var(--color-success-light));box-shadow:0 0 8px #4caf504d}.category-section.communicative .category-progress-fill{background:linear-gradient(90deg,var(--brand-orange-light),var(--color-gold));box-shadow:0 0 8px #ff6b354d}.objectives-list{padding:var(--space-sm)}.objective-item{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-md);margin-bottom:var(--space-sm);border-radius:var(--radius-md);transition:all var(--duration-normal) var(--ease-smooth);background:var(--glass-1-bg);border:1px solid transparent}.objective-item:last-child{margin-bottom:0}.objective-item:hover{background:var(--glass-2-bg)}.objective-item.pending{background:var(--glass-1-bg);border-color:var(--glass-1-border)}.objective-item.in-progress{background:#ff6b350f;border-color:#ff6b3533}.objective-item.completed{background:#4caf500f;border-color:#4caf5033}.objective-status-icon{flex-shrink:0;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;margin-top:2px}.status-icon{font-size:var(--font-xl);font-weight:700;line-height:1}.status-icon.completed{color:var(--color-success);animation:gScalePop var(--duration-slow) var(--ease-bounce)}.status-icon.in-progress{color:var(--brand-orange-light);animation:gPulse 2s ease-in-out infinite}.status-icon.pending{color:var(--text-muted)}.objective-content{flex:1;min-width:0}.objective-description{font-size:var(--font-base);line-height:1.5;color:var(--text-primary);word-wrap:break-word}.objective-progress-hint{font-size:var(--font-xs);color:var(--brand-orange-light);margin-top:var(--space-xs);font-weight:600}.objective-completed-at{font-size:var(--font-xs);color:var(--color-success);margin-top:var(--space-xs);font-weight:500}.panel-footer{padding:var(--space-lg) var(--space-xl);padding-bottom:max(var(--space-md),env(safe-area-inset-bottom,0px));border-top:1px solid var(--glass-2-border);background:var(--glass-2-bg)}.footer-summary{display:flex;align-items:center;gap:var(--space-sm);justify-content:center;font-size:var(--font-md);font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.footer-icon{font-size:var(--font-xl)}.no-objectives-message{text-align:center;padding:var(--space-3xl) var(--space-xl);color:var(--text-muted)}.no-objectives-message p{margin:0;font-size:var(--font-base);line-height:1.5}@media (max-width: 640px){.objectives-detail-panel{width:100%;max-width:100%}.panel-header{padding:var(--space-lg)}.panel-title{font-size:var(--font-lg)}.panel-content{padding:var(--space-lg)}.category-header,.objective-item{padding:var(--space-md)}}.panel-content::-webkit-scrollbar{width:6px}.panel-content::-webkit-scrollbar-track{background:transparent}.panel-content::-webkit-scrollbar-thumb{background:var(--glass-2-border);border-radius:3px}.panel-content::-webkit-scrollbar-thumb:hover{background:var(--glass-3-border)}.academic-mode-container,.teacher-activity-container,.student-activity-container,.student-activity-view-container{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;z-index:10000;pointer-events:none}.academic-mode-container,.teacher-activity-container{animation:gFadeIn var(--duration-normal) var(--ease-out)}.student-activity-container{animation:none}.academic-mode-container.hidden,.teacher-activity-container.hidden,.student-activity-container.hidden,.student-activity-view-container.hidden{display:none!important}.academic-mode-container.visible,.teacher-activity-container.visible,.student-activity-container.visible{display:flex}.student-activity-view-container.visible{display:flex;flex-direction:column}.student-activity-view-container.visible>*{flex:1 1 0;min-height:0;min-width:0}.academic-mode-container.visible:before,.teacher-activity-container.visible:before{content:"";position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0000004d;z-index:10000;pointer-events:auto;animation:gFadeIn var(--duration-normal) var(--ease-out)}.student-activity-container.visible:before{content:"";position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0000004d;z-index:10000;pointer-events:auto;animation:none}.academic-mode-container.visible>*,.teacher-activity-container.visible>*{position:relative;z-index:10001;animation:gSlideInRight .3s var(--ease-smooth);animation-fill-mode:both}.student-activity-container.visible>*{z-index:10001;animation:none}@media (orientation: landscape){.academic-mode-container,.teacher-activity-container,.student-activity-view-container{pointer-events:none;background:transparent;display:flex;align-items:flex-start;justify-content:flex-end}.student-activity-container{pointer-events:none;background:transparent;display:flex;align-items:center;justify-content:center}.academic-mode-container>*,.teacher-activity-container>*,.student-activity-container>*,.student-activity-view-container>*{pointer-events:auto}}@media (orientation: portrait){.academic-mode-container,.teacher-activity-container,.student-activity-container,.student-activity-view-container{background:transparent;display:flex;align-items:flex-start;justify-content:center;pointer-events:auto}}.objectives-tracker-container{position:fixed;top:var(--space-lg);left:50%;transform:translate(-50%);z-index:100;pointer-events:auto}@media (max-width: 768px){.objectives-tracker-container{top:var(--space-sm);left:var(--space-sm);right:var(--space-sm);transform:none}}.app-container{width:100%;min-height:100vh;min-height:100dvh;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;transition:margin-right .3s var(--ease-out)}@media (orientation: landscape){.app-container.academic-sidebar-visible,.app-container.teacher-activity-sidebar-visible,.app-container.student-activity-sidebar-visible{padding-right:380px;box-sizing:border-box}.app-container.academic-sidebar-visible .main-avatar,.app-container.teacher-activity-sidebar-visible .main-avatar,.app-container.student-activity-sidebar-visible .main-avatar{right:400px!important;left:auto!important;transform:translateY(-50%) scale(.5)!important}.app-container.academic-sidebar-visible .corner-icon-top-right,.app-container.teacher-activity-sidebar-visible .corner-icon-top-right,.app-container.student-activity-sidebar-visible .corner-icon-top-right{right:400px!important}}@media (orientation: landscape) and (max-width: 1200px){.app-container.academic-sidebar-visible,.app-container.teacher-activity-sidebar-visible,.app-container.student-activity-sidebar-visible{padding-right:340px}.app-container.academic-sidebar-visible .main-avatar,.app-container.teacher-activity-sidebar-visible .main-avatar,.app-container.student-activity-sidebar-visible .main-avatar{right:360px!important;left:auto!important;transform:translateY(-50%) scale(.5)!important}.app-container.academic-sidebar-visible .ui-controls,.app-container.teacher-activity-sidebar-visible .ui-controls,.app-container.student-activity-sidebar-visible .ui-controls{padding-right:340px;box-sizing:border-box}.app-container.academic-sidebar-visible .corner-icon-top-right,.app-container.teacher-activity-sidebar-visible .corner-icon-top-right,.app-container.student-activity-sidebar-visible .corner-icon-top-right{right:360px!important}}.loading-screen{width:100%;height:100vh;height:100dvh;display:flex;align-items:center;justify-content:center;font-size:var(--font-2xl)}.connection-status{position:fixed;top:var(--space-xl);left:50%;transform:translate(-50%);background:var(--glass-2-bg);backdrop-filter:blur(var(--glass-2-blur));-webkit-backdrop-filter:blur(var(--glass-2-blur));border:1px solid var(--glass-2-border);color:var(--text-primary);padding:var(--space-lg) var(--space-xl);border-radius:var(--radius-md);z-index:10003;display:flex;align-items:center;gap:var(--space-md);box-shadow:var(--shadow-lg);font-size:var(--font-md);font-weight:500;animation:gSlideDown .3s var(--ease-smooth) both}.connection-status p{margin:0}.connection-spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:var(--radius-full);animation:gSpin .8s linear infinite,gPulse 2s ease-in-out infinite}.main-avatar{position:fixed;z-index:10;transition:all var(--duration-slow) var(--ease-smooth)}@media (orientation: landscape){.main-avatar{top:50%;right:5%;left:auto;transform:translateY(-50%) scale(.7)}.main-avatar.chat-visible{top:50%;right:3%;transform:translateY(-50%) scale(.6)}.app-container.information-visible .main-avatar{right:auto!important;left:430px!important;transform:translateY(-50%) scale(.6)!important}@media (max-width: 1200px){.main-avatar{transform:translateY(-50%) scale(.55)}.app-container.information-visible .main-avatar{left:380px!important}}@media (min-width: 1400px){.main-avatar{transform:translateY(-50%) scale(.8)}.main-avatar.chat-visible{transform:translateY(-50%) scale(.7)}}}@media (orientation: portrait){.main-avatar{top:45%;left:50%;transform:translate(-50%,-50%) scale(.9)}.main-avatar.chat-visible{top:15%;left:50%;transform:translate(-50%) scale(.75)}@media (max-width: 480px){.main-avatar{transform:translate(-50%,-50%) scale(.75)}.main-avatar.chat-visible{top:12%;transform:translate(-50%) scale(.65)}}}.ui-controls{position:fixed;bottom:var(--space-xl);left:0;right:0;margin-left:auto;margin-right:auto;width:fit-content;max-width:92vw;display:flex;gap:6px;align-items:center;justify-content:center;z-index:100;padding:8px 12px;background:var(--surface-dark);border:none;border-radius:var(--radius-xl);box-shadow:0 8px 32px #00000040;transition:bottom .3s var(--ease-out),opacity .3s var(--ease-out),visibility .3s var(--ease-out);animation:gSlideUp .4s var(--ease-smooth) .3s both;padding-bottom:max(var(--space-sm),env(safe-area-inset-bottom))}.ui-controls.hidden{opacity:0;visibility:hidden;pointer-events:none}body:has(.feedback-banner:not(.expanded)) .ui-controls{bottom:calc(var(--space-xl) + 70px)}body:has(.feedback-banner.expanded) .ui-controls{bottom:calc(var(--space-xl) + 450px)}.ui-controls-left{display:flex;gap:var(--space-sm);align-items:center;padding-right:var(--space-sm);border-right:1px solid rgba(255,255,255,.12);margin-right:2px}.ui-controls-right{display:flex;gap:var(--space-xs);align-items:center}.ui-controls-right>button,.ui-controls-right>.ui-control-btn,.ui-controls .academic-progress-button,.ui-controls .activities-button,.ui-controls .info-button,.ui-controls .chat-toggle-button-inline{min-width:40px;min-height:40px;border-radius:var(--radius-md);background:#ffffff14;border:none;transition:all var(--duration-fast) var(--ease-out);color:#fff}.ui-controls-right>button:hover,.ui-controls-right>.ui-control-btn:hover,.ui-controls .academic-progress-button:hover,.ui-controls .activities-button:hover,.ui-controls .info-button:hover,.ui-controls .chat-toggle-button-inline:hover{background:#ffffff2e;color:#fff}@media (orientation: portrait){.ui-controls{bottom:var(--space-xl);width:88vw;max-width:420px;gap:0;padding:10px var(--space-lg);justify-content:space-evenly}body:has(.feedback-banner:not(.expanded)) .ui-controls{bottom:calc(var(--space-xl) + 70px)}body:has(.feedback-banner.expanded) .ui-controls{bottom:calc(var(--space-xl) + 450px)}.ui-controls-left,.ui-controls-right{display:contents}.ui-controls-left{border-right:none;padding-right:0;margin-right:0}.ui-controls .microphone-button{order:2}.ui-controls .chat-container{order:0}.ui-controls .academic-progress-button{order:1}.ui-controls .activities-button{order:3}.ui-controls .info-button{order:4}}@media (orientation: landscape){.ui-controls{bottom:var(--space-xl);gap:0;justify-content:space-evenly;width:420px;max-width:50vw;padding:10px var(--space-2xl)}.ui-controls-left,.ui-controls-right{display:contents}.ui-controls-left{border-right:none;padding-right:0;margin-right:0}.ui-controls .microphone-button{order:2}.ui-controls .chat-container{order:0}.ui-controls .academic-progress-button{order:1}.ui-controls .activities-button{order:3}.ui-controls .info-button{order:4}body:has(.feedback-banner:not(.expanded)) .ui-controls{bottom:calc(var(--space-xl) + 70px)}body:has(.feedback-banner.expanded) .ui-controls{bottom:calc(var(--space-xl) + 450px)}.app-container.academic-sidebar-visible .ui-controls,.app-container.teacher-activity-sidebar-visible .ui-controls,.app-container.student-activity-sidebar-visible .ui-controls{margin-right:400px}@media (max-width: 1200px){.app-container.academic-sidebar-visible .ui-controls,.app-container.teacher-activity-sidebar-visible .ui-controls,.app-container.student-activity-sidebar-visible .ui-controls{margin-right:360px}}}@media (max-width: 480px){.ui-controls{bottom:12px;padding:6px 8px;gap:4px;border-radius:var(--radius-lg);max-width:94vw;padding-bottom:max(6px,env(safe-area-inset-bottom))}.ui-controls-left{padding-right:4px;gap:4px}.ui-controls-right{gap:3px}.ui-controls-right>button,.ui-controls-right>.ui-control-btn{min-width:36px;min-height:36px;width:36px;height:36px;border-radius:var(--radius-sm)}.microphone-button{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important}body:has(.feedback-banner:not(.expanded)) .ui-controls{bottom:calc(var(--space-md) + 70px)}body:has(.feedback-banner.expanded) .ui-controls{bottom:calc(var(--space-md) + 500px)}}.corner-icon{position:fixed;z-index:50;max-width:80px;max-height:80px;width:auto;height:auto;object-fit:contain;pointer-events:none}.corner-icon-top-left{top:var(--space-2xl);left:var(--space-2xl)}.corner-icon-top-right{top:var(--space-xl);right:var(--space-xl);width:56px;height:56px;max-width:none;max-height:none;object-fit:contain;padding:8px;box-sizing:content-box;background:linear-gradient(160deg,#8dfff9,#5ee6dc 50%,#b0fff6);border-radius:50%;box-shadow:0 4px 16px #0000001a}@media (max-width: 480px){.corner-icon{max-width:60px;max-height:60px}.corner-icon-top-left,.corner-icon-top-right{top:var(--space-xl)}.corner-icon-top-left{left:var(--space-xl)}.corner-icon-top-right{right:var(--space-xl);max-width:40px;max-height:40px}}@media (min-width: 768px){.corner-icon{max-width:100px;max-height:100px}.corner-icon-top-right{max-width:60px;max-height:60px}}.academic-mode-no-data{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:var(--space-xl);pointer-events:auto;background:#0006;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:gFadeIn var(--duration-normal) var(--ease-out)}.academic-no-data-card{background:linear-gradient(160deg,#8dfff9,#5ee6dc 50%,#b0fff6);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.5);color:var(--text-primary);padding:32px 28px 24px;border-radius:var(--radius-2xl);box-shadow:0 20px 60px #00000026,inset 0 1px #fff9;text-align:center;max-width:380px;width:100%;position:relative;pointer-events:auto;animation:gSlideUp .35s var(--ease-smooth) both;overflow:hidden}.academic-no-data-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--brand-orange-gradient)}.academic-no-data-close{position:absolute;top:14px;right:14px;width:36px;height:36px;background:#ffffff40;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:all var(--duration-fast) var(--ease-out)}.academic-no-data-close:hover{color:var(--text-primary);background:#fff6}.academic-no-data-icon{margin-bottom:var(--space-md)}.academic-no-data-icon svg{filter:drop-shadow(0 2px 4px rgba(212,81,30,.2))}.academic-no-data-title{margin:0 0 var(--space-sm);font-size:var(--font-xl);font-weight:800;color:var(--text-primary)}.academic-no-data-desc{margin:0 0 var(--space-lg);font-size:var(--font-sm);line-height:1.6;color:#00000080}.academic-no-data-features{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-lg);text-align:left}.academic-no-data-feature{display:flex;align-items:center;gap:var(--space-md);font-size:var(--font-sm);font-weight:600;color:var(--text-primary)}.academic-no-data-feature svg{stroke:var(--color-success);flex-shrink:0}.academic-no-data-how{background:#ffffff40;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-md);padding:var(--space-lg);margin-bottom:var(--space-lg);text-align:left}.academic-no-data-how h4{margin:0 0 var(--space-xs);font-size:var(--font-sm);font-weight:700;color:var(--text-primary)}.academic-no-data-how p{margin:0;font-size:var(--font-sm);line-height:1.5;color:var(--text-secondary)}.academic-no-data-how strong{color:var(--brand-orange);font-weight:700}.academic-no-data-cta{display:flex;align-items:center;justify-content:center;width:100%;padding:14px;border:none;border-bottom:3px solid #c04418;border-radius:var(--radius-md);background:var(--brand-orange-gradient);color:#fff;font-size:var(--font-md);font-weight:700;cursor:pointer;transition:all var(--duration-fast) var(--ease-out);box-shadow:0 4px 16px #d4511e4d}.academic-no-data-cta:hover{transform:translateY(-1px);box-shadow:0 6px 20px #d4511e66}.academic-no-data-cta:active{transform:translateY(2px);border-bottom-width:0}@media (orientation: portrait){.academic-no-data-card{max-width:340px;padding:28px 22px 20px}.academic-no-data-title{font-size:var(--font-lg)}}@media (max-width: 380px){.academic-no-data-card{max-width:300px;padding:24px 18px 18px}.academic-no-data-title{font-size:var(--font-md)}.academic-no-data-desc{font-size:var(--font-xs)}}.lottie-test{min-height:100vh;padding:1rem;background:#1a1a2e;color:#eee;font-family:system-ui,sans-serif}.lottie-test h1{margin:0 0 .5rem;font-size:1.5rem}.lottie-test-hint{margin:0 0 1rem;color:#aaa;font-size:.9rem}.lottie-test-hint code{background:#333;padding:.2em .4em;border-radius:4px}.lottie-test-info{margin-bottom:1rem;padding:.75rem;background:#16213e;border-radius:8px;font-size:.85rem}.lottie-test-info strong{margin-right:.5rem}.lottie-test-controls{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.lottie-test-controls label{display:flex;align-items:center;gap:.35rem;cursor:pointer}.lottie-test-controls button{padding:.4rem .75rem;background:#0f3460;color:#eee;border:1px solid #333;border-radius:6px;cursor:pointer;font-size:.9rem}.lottie-test-controls button:hover{background:#16213e}.lottie-test-stage{position:relative;max-width:400px;min-height:320px;margin:0 auto;display:flex;align-items:center;justify-content:center;background:#0f0f1a;border-radius:12px;overflow:hidden}.lottie-test-container{width:100%;max-width:320px;height:320px}.lottie-test-container svg{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.lottie-test-loading,.lottie-test-error{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.lottie-test-error{color:#f88}.lottie-test-back{margin-top:1.5rem}.lottie-test-back a{color:#7eb8da}.lottie-test-back a:hover{text-decoration:underline}@font-face{font-family:Montserrat;src:url(/assets/fonts/Montserrat-SemiBold.otf) format("opentype");font-weight:600;font-style:normal;font-display:swap}*{margin:0;padding:0;box-sizing:border-box}:root{--brand-teal: #5ee6dc;--brand-teal-light: #8dfff9;--brand-teal-pale: #b0fff6;--brand-orange: #d4511e;--brand-orange-light: #ff6b35;--brand-orange-gradient: linear-gradient(135deg, #ff6b35, #ff8c5a);--brand-bg-gradient: linear-gradient(135deg, #8dfff9 0%, #5ee6dc 25%, #8dfff9 50%, #b0fff6 70%, #6be8df 100%);--color-success: #4caf50;--color-success-light: #66bb6a;--color-warning: #ffc107;--color-warning-light: #ffb74d;--color-error: #e53935;--color-error-dark: #dc3545;--color-info: #1cb0f6;--color-gold: #ffd700;--color-gold-light: #ffed4e;--text-primary: #1a3a37;--text-secondary: rgba(26, 58, 55, .65);--text-muted: rgba(26, 58, 55, .4);--text-on-dark: rgba(255, 255, 255, .92);--text-on-orange: #ffffff;--glass-1-bg: rgba(255, 255, 255, .1);--glass-1-blur: 8px;--glass-1-border: rgba(255, 255, 255, .15);--glass-2-bg: rgba(255, 255, 255, .22);--glass-2-blur: 16px;--glass-2-border: rgba(255, 255, 255, .32);--glass-3-bg: rgba(255, 255, 255, .35);--glass-3-blur: 24px;--glass-3-border: rgba(255, 255, 255, .45);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);--shadow-md: 0 4px 16px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .14);--shadow-xl: 0 12px 48px rgba(0, 0, 0, .18);--shadow-glow-orange: 0 0 20px rgba(212, 81, 30, .35);--shadow-glow-gold: 0 0 20px rgba(255, 215, 0, .35);--shadow-inset-glass: inset 0 1px 0 rgba(255, 255, 255, .3);--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-2xl: 32px;--space-3xl: 48px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 24px;--radius-full: 50%;--font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-xs: 11px;--font-sm: 13px;--font-base: 15px;--font-md: 16px;--font-lg: 18px;--font-xl: 20px;--font-2xl: 24px;--font-3xl: 32px;--font-display: 40px;--btn-xs: 28px;--btn-sm: 36px;--btn-md: 44px;--btn-lg: 48px;--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--ease-smooth: cubic-bezier(.22, 1, .36, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--duration-fast: .12s;--duration-normal: .25s;--duration-slow: .4s;--surface-dark: #1a1a1a;--surface-dark-hover: #2a2a2a;--surface-header: rgba(141, 255, 249, .8);font-family:var(--font-family);line-height:1.5;font-weight:400;color-scheme:light;color:var(--text-primary);background:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@keyframes gFadeIn{0%{opacity:0}to{opacity:1}}@keyframes gSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes gSlideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes gSlideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes gSlideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes gScalePop{0%{transform:scale(.85);opacity:0}60%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}@keyframes gMessageIn{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes gPulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes gShimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes gCheckDraw{0%{stroke-dashoffset:24}to{stroke-dashoffset:0}}@keyframes gConfettiBurst{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(calc(-30vh - 50px)) rotate(720deg);opacity:0}}@keyframes gRingPulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.2);opacity:0}}@keyframes gCountUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes gBounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.08)}70%{transform:scale(.95)}to{transform:scale(1);opacity:1}}@keyframes gTypingDot{0%,80%,to{transform:scale(.6);opacity:.3}40%{transform:scale(1);opacity:1}}@keyframes gSpin{to{transform:rotate(360deg)}}:focus-visible{outline:2px solid var(--brand-orange-light);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}html{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{display:none}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;min-height:100dvh;overflow-x:hidden;background:#fff;scrollbar-width:none;-ms-overflow-style:none}body::-webkit-scrollbar{display:none}#root{width:100%;min-height:100vh;min-height:100dvh}@media (prefers-color-scheme: light){:root{color:#1a3a37;background:#fff}}
