*{margin:0;padding:0;box-sizing:border-box}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}body{margin:0;display:flex;min-width:320px;min-height:100vh;font-family:inherit;background:radial-gradient(circle at 20% 20%,rgba(255,210,180,.6),transparent 60%),radial-gradient(circle at 70% 70%,rgba(180,190,255,.5),transparent 70%),linear-gradient(135deg,#fff8f2,#f5f8ff);background-repeat:no-repeat;background-attachment:fixed;background-size:cover}#root{width:100%;min-height:100vh}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;color:#fff;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9;color:#213547}}audio{display:none}.public-menu{width:100%;background:#141110d9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);position:fixed;top:0;left:0;z-index:50;transition:all .3s ease}.public-menu.scrolled{background:#141110eb;box-shadow:0 12px 28px #00000047}.public-menu .menu-container{max-width:1200px;margin:0 auto;padding:28px 20px 16px;display:flex;justify-content:flex-start;align-items:center}.public-menu .logo-container{display:flex;align-items:center}.public-menu .logo-link{text-decoration:none;display:flex;align-items:center}.public-menu .logo-image{height:40px;width:auto;transition:all .3s ease}.public-menu .logo-image:hover{transform:translateY(-1px)}@media (max-width: 768px){.public-menu .menu-container{padding:28px 15px 16px}.public-menu .logo-image{height:34px}}@media (max-width: 480px){.public-menu .logo-image{height:30px}.public-menu .menu-container{padding:24px 12px 12px}}.homepage{min-height:100vh;display:flex;flex-direction:column;background:#141110;color:#f7f4f0}.landing-main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:130px 20px 48px}.landing-intro{text-align:center;margin:0 auto 36px;max-width:760px}.landing-intro h1{margin:0 0 12px;font-size:clamp(2rem,4vw,3.1rem);line-height:1.15;letter-spacing:-.01em;color:#f7f4f0}.landing-intro p{margin:0 auto;font-size:1.08rem;color:#f7f4f0b8}.learning-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.learning-card-link{display:block;text-decoration:none;color:inherit;cursor:pointer}.learning-card-link .learning-card{width:100%}.learning-card{background-color:#1d1a18;background-image:var(--card-bg, none);background-size:cover;background-position:center;border:1px solid rgba(255,255,255,.1);border-radius:18px;overflow:hidden;box-shadow:0 16px 36px #00000059}.card-preview{height:170px;border-bottom:1px solid rgba(255,255,255,.06)}.learning-card.card-with-bg{aspect-ratio:3 / 2;display:flex;flex-direction:column;justify-content:flex-end}.learning-card.card-with-bg .card-preview{display:none}.decks-preview{background:linear-gradient(130deg,#e6e9f2e6,#c4cad8e0 58%,#e6e9f2eb)}.conversations-preview{background:linear-gradient(130deg,#ebebebe6,#d3d6dce0 58%,#ebebebeb)}.card-body{padding:16px 24px;background:#0080a4}.learning-card.card-with-bg .card-body{padding:14px 24px;width:100%;box-sizing:border-box}.card-link{color:#fff;font-weight:700;text-decoration:none;transition:color .2s ease}.card-link:hover{color:#ffffffe6}.card-overlay-text{color:#fff;font-weight:700;margin:0}.card-link:after{content:" ›"}.landing-footer{display:grid;grid-template-columns:1.5fr 1fr;gap:28px;width:100%;max-width:1200px;margin:0 auto;padding:26px 20px 36px;border-top:1px solid rgba(255,255,255,.08)}.footer-brand{display:flex;flex-direction:column;gap:12px}.footer-logo{height:34px;width:fit-content}.footer-brand p{margin:0;color:#f7f4f08a;font-size:.95rem}.footer-col h4{margin:0 0 10px;font-size:.84rem;letter-spacing:.08em;text-transform:uppercase;color:#f7f4f080}.social-link{display:flex;align-items:center;gap:10px;color:#f7f4f0c2;text-decoration:none;margin-bottom:10px;transition:color .2s ease}.social-link:hover{color:#f7f4f0}.social-link svg{width:18px;height:18px;fill:currentColor}@media (max-width: 980px){.learning-cards{grid-template-columns:1fr}.landing-footer{grid-template-columns:1fr;gap:18px}}@media (max-width: 640px){.landing-main{padding-top:112px}.card-body,.learning-card.card-with-bg .card-body{padding:12px 18px}}.page-layout{min-height:100vh;background:transparent;display:flex;flex-direction:column}.page-content{flex:1;padding:100px 20px 40px;max-width:1200px;margin:0 auto;width:100%}.page-content.edit-page{padding:40px 20px}.page-content h1{font-size:32px;color:#333;margin-bottom:20px;font-weight:300}.page-content p{color:#666;line-height:1.6;margin-bottom:20px}.login-container{max-width:400px;margin:0 auto;text-align:center;padding-top:60px}.login-button{background:#007bff;color:#fff;border:none;padding:12px 30px;border-radius:4px;font-size:16px;cursor:pointer;transition:background .2s ease;margin-top:20px}.login-button:hover{background:#0056b3}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.page-container{min-height:100vh;background:transparent;display:flex;flex-direction:column}.page-header{margin-bottom:30px}.page-header h1{font-size:32px;color:#333;margin:0 0 10px;font-weight:300}.breadcrumb-container{display:flex;align-items:center;margin-bottom:20px;font-size:14px;color:#666}.breadcrumb-back-btn{background:none;border:none;color:#007bff;cursor:pointer;padding:0;font-size:14px;text-decoration:none;display:flex;align-items:center;transition:color .2s ease}.breadcrumb-back-btn:hover{color:#0056b3;text-decoration:underline}.breadcrumb-separator{margin:0 8px;color:#999}.breadcrumb-current{color:#333;font-weight:500}.form-container{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:40px;max-width:1200px;margin:0;width:100%}.page-form{display:flex;flex-direction:column;width:100%}.page-form-body{flex:1;padding:0}.btn{padding:10px 16px!important;border-radius:8px!important;font-size:14px!important;font-weight:500!important;cursor:pointer!important;transition:all .2s!important;border:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;min-width:80px!important}.btn:disabled{cursor:not-allowed!important;opacity:.6!important}.btn-primary{background:#3b82f6!important;color:#fff!important}.btn-primary:hover:not(:disabled){background:#2563eb!important}.btn-secondary{background:#fff!important;color:#374151!important;border:1px solid #d1d5db!important}.btn-secondary:hover:not(:disabled){background:#f9fafb!important;border-color:#9ca3af!important}.page-form-footer{padding:24px 0;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;background:#fff;margin-top:20px}.loading-container,.error-container{text-align:center;padding:60px 20px}.loading-container .spinner{border:3px solid #f3f3f3;border-top:3px solid #007bff;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto 20px}.error-container h2{color:#dc3545;margin-bottom:15px}.error-container p{color:#666;margin-bottom:20px}@media (max-width: 768px){.page-content{padding:80px 15px 30px}.form-container{padding:20px;margin:0;max-width:100%}.page-header h1{font-size:24px}.breadcrumb-container{font-size:12px}}.login-form{display:flex;flex-direction:column;gap:20px;margin-bottom:30px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:500;color:#333;font-size:14px}.form-group input{padding:12px;border:1px solid #ddd;border-radius:4px;font-size:16px;transition:border-color .2s ease}.form-group input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff1a}.login-button{background:#007bff;color:#fff;border:none;padding:12px 30px;border-radius:4px;font-size:16px;cursor:pointer;transition:background .2s ease;margin-top:10px}.login-button:hover:not(:disabled){background:#0056b3}.login-button:disabled{background:#ccc;cursor:not-allowed}.google-login-button{background:#fff;color:#333;border:1px solid #ddd;padding:12px 30px;border-radius:4px;font-size:16px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.google-login-button:hover:not(:disabled){background:#f5f5f5;border-color:#ccc}.google-login-button:disabled{background:#f9f9f9;color:#999;cursor:not-allowed}.auth-divider{margin:20px 0;text-align:center;position:relative}.auth-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#eee}.auth-divider span{background:#fff;padding:0 15px;color:#666;font-size:14px}.auth-switch{text-align:center;margin-top:30px}.auth-switch p{color:#666;margin:0}.link-button{background:none;border:none;color:#007bff;cursor:pointer;font-size:inherit;text-decoration:underline;padding:0}.link-button:hover{color:#0056b3}.error-message{background:#f8d7da;color:#721c24;padding:12px;border-radius:4px;border:1px solid #f5c6cb;margin-bottom:20px;font-size:14px}.login-container{max-width:400px;margin:0 auto;padding-top:40px}.protected-menu{width:100%;padding:15px 0;background:transparent;position:fixed;top:0;left:0;z-index:1000;transition:all .3s ease}.protected-menu.scrolled{background:#ffffff8c;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);box-shadow:0 2px 20px #00000026;border-bottom:1px solid rgba(255,255,255,.3)}.menu-container{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:0 20px}.menu-links{display:flex;gap:30px;flex-wrap:wrap}.menu-link{text-decoration:none;color:#213547;font-size:14px;font-weight:500;transition:all .3s ease;position:relative;white-space:nowrap;padding:6px 12px;border-radius:6px;text-shadow:0 1px 2px rgba(255,255,255,.8)}.menu-link:hover{color:#4a5568;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transform:translateY(-1px)}.menu-link.active{color:#213547;font-weight:600;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 12px #0000001a}.menu-link.active:after{content:"";position:absolute;bottom:-2px;left:50%;transform:translate(-50%);width:16px;height:2px;background:linear-gradient(135deg,#ff6b6b,#4ecdc4);border-radius:1px}.account-button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#213547;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;transition:all .3s ease;display:flex;align-items:center;gap:6px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-shadow:0 1px 2px rgba(255,255,255,.8)}.account-button:hover{background:#fff3;border-color:#ffffff4d;transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.account-section{display:flex;align-items:center;gap:8px}.logout-button{background:#dc35451a;border:1px solid rgba(220,53,69,.3);color:#dc3545;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:14px;transition:all .3s ease;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.logout-button:hover{background:#dc354533;border-color:#dc354580;transform:translateY(-1px);box-shadow:0 4px 12px #dc354533}.admin-dropdown{position:relative;display:inline-block}.admin-dropdown-toggle{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#213547;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-shadow:0 1px 2px rgba(255,255,255,.8);display:flex;align-items:center;gap:4px}.admin-dropdown-toggle:hover{background:#fff3;border-color:#ffffff4d;transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.admin-dropdown-toggle.open{background:#fff3;border-color:#ffffff4d;box-shadow:0 4px 12px #0000001a}.admin-dropdown-menu{position:absolute;top:100%;left:0;background:#fffffff2;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.3);border-radius:8px;box-shadow:0 8px 32px #00000026;min-width:160px;z-index:1001;margin-top:4px;animation:dropdownFadeIn .2s ease-out}.admin-dropdown-item{display:block;padding:10px 16px;color:#213547;text-decoration:none;font-size:14px;font-weight:400;transition:all .2s ease;border-bottom:1px solid rgba(0,0,0,.05)}.admin-dropdown-item:last-child{border-bottom:none}.admin-dropdown-item:hover{background:#ffd2b41a;color:#4a5568}.admin-dropdown-item.active{background:#ffd2b433;color:#213547;font-weight:500}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.menu-links{gap:15px}.menu-link,.admin-dropdown-toggle{font-size:13px;padding:5px 10px}.admin-dropdown-menu{min-width:140px}.admin-dropdown-item{padding:8px 12px;font-size:13px}}.app{min-height:100vh;background:transparent;display:flex;flex-direction:column}.app-container{flex:1;display:flex;flex-direction:column;max-width:800px;margin:0 auto;padding:2rem}.app-header{text-align:center;margin-bottom:3rem}.app-header h1{font-size:3rem;color:#213547;margin:0 0 1rem;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.1)}.app-header p{font-size:1.2rem;color:#4a5568;margin:0;font-weight:300}.app-main{flex:1;display:flex;flex-direction:column;gap:2rem}.join-form{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 8px 32px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#2c3e50;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.form-group input{width:100%;padding:.75rem 1rem;border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;transition:border-color .3s ease,box-shadow .3s ease;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.join-button{width:100%;padding:1rem 2rem;background:linear-gradient(135deg,#ff6b6b,#4ecdc4);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}.join-button:hover{transform:translateY(-2px);box-shadow:0 4px 20px #ff6b6b66}.join-button:active{transform:translateY(0)}.features{background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2rem;border-radius:12px;border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px #0000001a}.features h3{color:#213547;margin:0 0 1rem;font-size:1.3rem;font-weight:600}.features ul{list-style:none;padding:0;margin:0}.features li{color:#4a5568;padding:.5rem 0;font-size:1rem;display:flex;align-items:center;gap:.5rem}.app-footer{text-align:center;margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(0,0,0,.1)}.app-footer p{color:#6b7280;margin:0;font-size:.9rem}.app-footer a{color:#213547;text-decoration:none;font-weight:600}.app-footer a:hover{text-decoration:underline}.app-header .leave-button{position:absolute;top:2rem;left:2rem;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#213547;border:1px solid rgba(0,0,0,.1);padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #0000001a}.leave-button:hover{background:#fff;transform:translateY(-1px);box-shadow:0 6px 20px #00000026}@media (max-width: 768px){.app-container{padding:1rem}.app-header h1{font-size:2rem}.app-header p{font-size:1rem}.join-form,.features{padding:1.5rem}.leave-button{position:relative;top:auto;left:auto;width:100%;margin-bottom:1rem}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{animation:spin 1s linear infinite}
