:root,[data-theme=light]{--primary: #5856D6;--primary-light: #EEEDFF;--primary-bg: rgba(88, 86, 214, .08);--secondary: #FF2D55;--bg-main: #F4F5F9;--bg-card: #FFFFFF;--text-main: #111827;--text-sec: #6B7280;--glass: rgba(255, 255, 255, .85);--border: rgba(0, 0, 0, .08);--glass-panel: rgba(255, 255, 255, .7);--glass-border: rgba(0, 0, 0, .08);--shadow-color: rgba(0, 0, 0, .06);--card-hover-shadow: 0 12px 32px rgba(88, 86, 214, .12);--bubble-ai: #ECEEF2;--bubble-ai-text: #111827}[data-theme=dark]{--primary: #6E6CE8;--primary-light: rgba(110, 108, 232, .2);--primary-bg: rgba(110, 108, 232, .15);--secondary: #FF375F;--bg-main: #080711;--bg-card: #131226;--text-main: #F9FAFB;--text-sec: #9CA3AF;--glass: rgba(13, 11, 28, .75);--border: rgba(255, 255, 255, .08);--glass-panel: rgba(255, 255, 255, .04);--glass-border: rgba(255, 255, 255, .1);--shadow-color: rgba(0, 0, 0, .5);--card-hover-shadow: 0 12px 32px rgba(110, 108, 232, .28);--bubble-ai: #1E1D33;--bubble-ai-text: #F9FAFB}@media(prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]){--primary: #6E6CE8;--primary-light: rgba(110, 108, 232, .2);--primary-bg: rgba(110, 108, 232, .15);--secondary: #FF375F;--bg-main: #080711;--bg-card: #131226;--text-main: #F9FAFB;--text-sec: #9CA3AF;--glass: rgba(13, 11, 28, .75);--border: rgba(255, 255, 255, .08);--glass-panel: rgba(255, 255, 255, .04);--glass-border: rgba(255, 255, 255, .1);--shadow-color: rgba(0, 0, 0, .5);--card-hover-shadow: 0 12px 32px rgba(110, 108, 232, .28);--bubble-ai: #1E1D33;--bubble-ai-text: #F9FAFB}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}input,textarea,button{color:inherit;font-family:inherit;-moz-appearance:none;appearance:none;-webkit-appearance:none}html,body,#root{margin:0;padding:0;width:100vw;height:100%;background-color:var(--bg-main);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;color:var(--text-main)}#root{display:flex;flex-direction:column}.ambient-mesh{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden;background:var(--bg-main)}.ambient-mesh:before,.ambient-mesh:after{content:"";position:absolute;border-radius:50%;filter:blur(80px);opacity:.15}.ambient-mesh:before{top:-10%;left:-10%;width:70vw;height:70vw;background:radial-gradient(circle,var(--primary) 0%,transparent 70%)}.ambient-mesh:after{bottom:-10%;right:-10%;width:60vw;height:60vw;background:radial-gradient(circle,#34C759 0%,transparent 70%)}.word-tap{cursor:pointer;border-bottom:1px dotted var(--text-sec);margin-right:.25rem;transition:opacity .2s;display:inline-block}.word-tap:active{opacity:1}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app-container{display:flex;flex-direction:column;width:100%;max-width:1000px;margin:0 auto;height:100vh;height:100dvh;min-height:100vh;min-height:100dvh;max-height:100vh;max-height:100dvh;position:relative;box-shadow:0 0 50px #00000026;background-color:var(--bg-main);transition:background-color .3s ease,color .3s ease;overflow:hidden}.screen-container{flex:1;display:flex;flex-direction:column;width:100%;height:100%;min-height:100%;position:relative;z-index:1;overflow:hidden}.scroll-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:1.25rem 1.5rem calc(80px + env(safe-area-inset-bottom,20px));z-index:1}.courses-grid{display:flex;flex-direction:column;gap:1rem}@media(min-width:768px){.courses-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}}.glass-header,.glass-nav{position:sticky;top:0;z-index:100;background:var(--glass);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border-bottom:1px solid var(--border);padding:.75rem 1.25rem;padding-top:calc(10px + env(safe-area-inset-top,20px));display:flex;align-items:center;justify-content:space-between;min-height:calc(56px + env(safe-area-inset-top,20px));transition:background-color .3s ease,border-color .3s ease}.glass-button{background:var(--glass-panel);border:1px solid var(--glass-border);border-radius:50%;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 4px 12px var(--shadow-color);color:var(--text-main);transition:all .2s cubic-bezier(.2,.8,.2,1);cursor:pointer;padding:0}@media(hover:hover){.glass-button:hover{transform:scale(1.06);border-color:var(--primary);box-shadow:0 6px 16px #5856d640}}.glass-button:active{transform:scale(.92)}.object-card{background:var(--bg-card);border-radius:1.25rem;padding:1.25rem;box-shadow:0 8px 32px var(--shadow-color);border:1px solid var(--border);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transition:all .25s cubic-bezier(.2,.8,.2,1);cursor:pointer;text-decoration:none;display:flex;align-items:center;gap:1rem;position:relative;overflow:hidden}@media(hover:hover){.object-card:hover{transform:translateY(-4px);box-shadow:var(--card-hover-shadow);border-color:#5856d659}}.object-card:active{transform:scale(.98)}.nav-title{font-size:1.15rem;font-weight:700;letter-spacing:-.015em}.heading-large{font-size:2rem;font-weight:800;letter-spacing:-.025em;margin-bottom:.5rem}.subheadline{font-size:.95rem;color:var(--text-sec);line-height:1.45}.btn-capsule{background-color:var(--primary);color:#fff;padding:.75rem 1.5rem;border-radius:999px;border:none;font-weight:600;font-size:1rem;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;box-shadow:0 4px 15px #5856d659}@media(hover:hover){.btn-capsule:hover{transform:translateY(-1px);filter:brightness(1.08);box-shadow:0 6px 20px #5856d673}}.btn-capsule:active{transform:scale(.96)}.message-bubble{width:auto;max-width:82%;min-width:44px;padding:.75rem 1.15rem;border-radius:1.25rem;font-size:.95rem;line-height:1.5;overflow-wrap:break-word;word-break:break-word;white-space:pre-wrap;-webkit-user-select:text;user-select:text;box-shadow:0 2px 10px #0000000d;box-sizing:border-box;display:inline-block}@media(min-width:768px){.message-bubble{max-width:65%;font-size:1.05rem}}.message-bubble.user{background-color:var(--primary);color:#fff;border-bottom-right-radius:.25rem;text-align:left}.message-bubble.ai{background-color:var(--bubble-ai);color:var(--bubble-ai-text);border-bottom-left-radius:.25rem;text-align:left}.mic-button{width:3.75rem;height:3.75rem;border-radius:50%;border:2px solid var(--border);background:var(--bg-card);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .25s cubic-bezier(.2,.8,.2,1);color:var(--text-sec);cursor:pointer;box-shadow:0 6px 16px var(--shadow-color)}@media(hover:hover){.mic-button:hover:not(:disabled){transform:scale(1.08);border-color:var(--primary)}}.mic-button.active{background:#fee2e2;border-color:#ef4444;color:#ef4444;animation:mic-pulse 1.5s ease-in-out infinite}.mic-button.continuous{background:#dcfce7;border-color:#22c55e;color:#22c55e;animation:mic-pulse-green 1.5s ease-in-out infinite}.mic-button:disabled{opacity:.4;pointer-events:none}@keyframes mic-pulse{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 8px #ef444400}}@keyframes mic-pulse-green{0%,to{box-shadow:0 0 #22c55e80}50%{box-shadow:0 0 0 12px #22c55e00}}.kbd-badge{display:inline-flex;align-items:center;gap:3px;background:var(--glass-panel);border:1px solid var(--border);padding:2px 7px;border-radius:6px;font-family:inherit;font-size:.72rem;font-weight:700;color:var(--text-sec);box-shadow:0 2px 4px #0000000d}.speed-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;background:#96969640;border-radius:4px;outline:none;margin:10px 0}.speed-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:var(--primary);cursor:pointer;box-shadow:0 0 12px #5856d699;border:2px solid white}.speed-slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--primary);cursor:pointer;box-shadow:0 0 12px #5856d699;border:2px solid white}
