:root{--primary-gradient:linear-gradient(135deg,#667eea,#764ba2);--secondary-gradient:linear-gradient(135deg,#f093fb,#f5576c);--accent-gradient:linear-gradient(135deg,#4facfe,#00f2fe);--dark-bg:#0f0f23;--card-bg:#ffffff08;--text-primary:#fff;--text-secondary:#b4b4dc;--border-glow:#667eea80;--success:#10b981;--warning:#f59e0b;--danger:#ef4444}*{box-sizing:border-box;margin:0;padding:0}body{background:#0f0f23;background:var(--dark-bg);color:#fff;color:var(--text-primary);font-family:Noto Sans KR,sans-serif;overflow-x:hidden;position:relative}.bg-animation{animation:bgShift 20s ease-in-out infinite;background:radial-gradient(circle at 20% 80%,#667eea1a 0,#0000 50%),radial-gradient(circle at 80% 20%,#f5576c1a 0,#0000 50%),radial-gradient(circle at 40% 40%,#4facfe0d 0,#0000 50%);height:100%;left:0;position:fixed;top:0;width:100%;z-index:-1}@keyframes bgShift{0%,to{transform:translate(0) rotate(0deg)}25%{transform:translate(-20px,-20px) rotate(1deg)}50%{transform:translate(20px,-10px) rotate(-1deg)}75%{transform:translate(-10px,20px) rotate(.5deg)}}.particles{height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:-1}.particle{animation:float 20s linear infinite;background:linear-gradient(135deg,#667eea,#00f2fe);border-radius:50%;height:4px;position:absolute;width:4px}@keyframes float{0%{opacity:0;transform:translateY(100vh) rotate(0deg)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(-100vh) rotate(1turn)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}@keyframes glow{0%,to{box-shadow:0 0 20px #667eea4d}50%{box-shadow:0 0 30px #667eea80}}@keyframes float3d{0%,to{transform:rotateY(-10deg) rotateX(5deg)}50%{transform:rotateY(10deg) rotateX(-5deg)}}@keyframes blink{0%,to{opacity:.3}50%{opacity:1}}@keyframes shimmer{0%{transform:translateX(-100%) translateY(100%)}to{transform:translateX(100%) translateY(-100%)}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.tl-wrapper{display:flex;flex-direction:column;height:100vh;overflow:hidden}.tl-header{align-items:center;display:flex;justify-content:center;padding:10px 100px;z-index:100}.tl-footer{bottom:0;position:-webkit-sticky;position:sticky}.tl-content{flex:1 1;overflow-y:auto}.nav{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0f0f23cc;position:fixed;top:0;transition:all .3s ease;width:100%;z-index:1000}.nav.scrolled{background:#0f0f23f2}.nav-container{display:flex;margin:0 auto;max-width:1330px}.logo{background-clip:text}.nav-links{align-items:center;display:flex;gap:32px;justify-content:center;list-style:none;width:100%}.nav-links .nav-link-item,.nav-links a{color:var(--text-secondary);cursor:pointer;font-size:15px;font-weight:500;position:relative;text-decoration:none;transition:all .3s ease}.nav-links .nav-link-item:hover,.nav-links a:hover{color:var(--text-primary)}.nav-links .nav-link-item:after,.nav-links a:after{background:var(--accent-gradient);bottom:-5px;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;width:0}.nav-links .nav-link-item:hover:after,.nav-links a:hover:after{width:100%}.language-selector{display:inline-block;min-width:100px;position:relative}.language-selector select{appearance:none;-webkit-appearance:none;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffff14;border:1.5px solid #ffffff26;border-radius:14px;box-shadow:0 4px 15px #0003;color:#e0e0ff;color:var(--text-primary,#e0e0ff);cursor:pointer;font-size:14.5px;font-weight:600;letter-spacing:.5px;padding:11px 40px 11px 16px;transition:all .35s cubic-bezier(.4,0,.2,1);width:100%}.language-selector select:hover{background:#ffffff24;border-color:#667eea99;box-shadow:0 8px 25px #667eea26;transform:translateY(-1px)}.language-selector select:focus{background:#ffffff1f;border-color:#667eea;box-shadow:0 0 0 4px #667eea40;outline:none;transform:translateY(-2px)}.language-selector select:active{transform:translateY(0)}.language-selector:after{color:#a0a0d0;color:var(--text-secondary,#a0a0d0);content:"▼";font-size:11px;pointer-events:none;position:absolute;right:16px;top:50%;transform:translateY(-50%);transition:all .3s ease}.language-selector select:focus+:after,.language-selector select:hover+:after{color:#e0e0ff;color:var(--text-primary,#e0e0ff);transform:translateY(-50%) scale(1.1)}.language-selector select option{background:#16162c;color:#e0e0ff;font-weight:500;padding:12px 16px}.language-selector.select-glow select{border-color:#667eea66;box-shadow:0 0 20px #667eea1a}.language-selector.select-glow select:hover{box-shadow:0 0 30px #667eea40}.nav-cta{background:var(--primary-gradient);border:none;border-radius:50px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;overflow:hidden;padding:10px 22px;position:relative;transition:all .3s ease;white-space:nowrap}.nav-cta:before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .5s,height .5s;width:0}.nav-cta:hover:before{height:300px;width:300px}.nav-cta:hover{box-shadow:0 10px 30px #667eea66;transform:translateY(-2px)}.menu-toggle{background:#0000;border:none;cursor:pointer;display:none;margin-left:8px;padding:6px}.menu-toggle span{background:var(--text-primary);display:block;height:2px;margin:4px 0;transition:all .3s ease;width:22px}.nav.open .menu-toggle span:first-child{transform:translateY(6px) rotate(45deg)}.nav.open .menu-toggle span:nth-child(2){opacity:0}.nav.open .menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.nav-item-dropdown{position:relative}.dropdown-arrow{display:inline-block;font-size:10px;margin-left:6px;transition:transform .3s ease}.nav-item-dropdown:hover .dropdown-arrow{transform:rotate(180deg)}.nav-actions{align-items:center;display:flex;gap:15px;justify-content:flex-end}.nav-login-btn{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:50px;color:#e0e0ff;cursor:pointer;font-size:1rem;font-weight:600;letter-spacing:.5px;padding:9px 18px;transition:all .3s ease-in-out;width:150px}.nav-login-btn:hover{background:#667eea33;border-color:#667eea;box-shadow:0 0 15px #667eea66;color:#fff;transform:translateY(-2px)}@media screen and (max-width:768px){.nav-actions{display:none}}@media (max-width:1024px){.nav{padding:0 16px}.nav-links{gap:20px}}@media (max-width:768px){.nav-item-dropdown{align-items:flex-start;flex-direction:column}.nav-container{gap:10px}.language-selector{margin-left:0;order:3}.menu-toggle{display:block}.nav-links{align-items:flex-start;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0f0f23fa;border-bottom:1px solid #ffffff0d;display:none;flex-direction:column;gap:14px;left:0;padding:12px 20px 16px;position:absolute;right:0;top:100%}.nav.open .nav-links{display:flex}.nav-cta{margin-top:4px;text-align:center;width:100%}.language-selector select{font-size:13px;padding:6px 10px}}.dropdown-menu{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0f0f23d9;border:1px solid #ffffff1a;border-radius:12px;box-shadow:0 10px 30px #00000080;left:50%;list-style:none;opacity:0;position:absolute;top:150%;transform:translateX(-50%) translateY(10px);transition:all .3s ease;visibility:hidden;z-index:1001}.nav-item-dropdown:hover .dropdown-menu{opacity:1;transform:translateX(-50%) translateY(0);visibility:visible}.dropdown-menu li{display:block;width:100%}.dropdown-menu li a{color:var(--text-secondary);display:block;font-size:14px;padding:10px 20px;text-decoration:none;transition:all .2s ease;white-space:nowrap}.dropdown-menu li a:hover{background:#ffffff1a;color:var(--text-primary);padding-left:25px}.dropdown-menu li a:after{display:none}@media (max-width:768px){.dropdown-menu{background:#0000;border:none;box-shadow:none;display:none;opacity:1;padding-left:20px;position:static;transform:none;visibility:visible}.nav-item-dropdown:hover .dropdown-menu{display:block;transform:none}}.profile-container{cursor:pointer;position:relative}.profile-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:2px solid #fff3;border-radius:50%;color:#fff;display:flex;font-size:1.2rem;font-weight:700;height:40px;justify-content:center;transition:transform .2s;width:40px}.profile-avatar:hover{border-color:#fff;transform:scale(1.05)}.profile-dropdown{background:#0f0f23;border:1px solid #667eea80;border-radius:8px;box-shadow:0 5px 15px #00000080;min-width:150px;padding:10px;position:absolute;right:0;top:50px;z-index:1000}.profile-email{border-bottom:1px solid #ffffff1a;color:#b4b4dc;font-size:.85rem;margin-bottom:8px;overflow:hidden;padding-bottom:8px;text-overflow:ellipsis;white-space:nowrap}.logout-btn{background:#0000;border:none;color:#ef4444;cursor:pointer;font-size:.9rem;padding:5px 0;text-align:left;width:100%}.logout-btn:hover{text-decoration:underline}footer{border-top:1px solid #ffffff1a;padding:60px 50px 30px}.footer-content{grid-gap:60px;display:grid;gap:60px;grid-template-columns:2fr 1fr 1fr 1fr;margin:0 auto 40px;max-width:1400px}.footer-brand{-webkit-text-fill-color:#0000;background:var(--primary-gradient);-webkit-background-clip:text;font-size:24px;font-weight:900;margin-bottom:20px}.footer-description{color:var(--text-secondary);line-height:1.6}.footer-column h4{color:var(--text-primary);font-size:18px;font-weight:600;margin-bottom:20px}.footer-column ul{list-style:none}.footer-column li{margin-bottom:12px}.footer-column a{color:var(--text-secondary);text-decoration:none;transition:color .3s ease}.footer-column a:hover{color:var(--text-primary)}.footer-bottom{border-top:1px solid #ffffff1a;color:var(--text-secondary);font-size:14px;padding-top:30px;text-align:center}@media (max-width:1024px){.footer-content{grid-template-columns:1fr 1fr}}@media (max-width:768px){.footer-content{gap:40px;grid-template-columns:1fr}}.loader-wrapper{align-items:center;display:flex;justify-content:center;min-height:50vh;width:100%}.loader-spinner{animation:spin 1s linear infinite;border:5px solid #e0e0e0;border-radius:50%;border-top-color:#2563eb;height:50px;width:50px}.logo{-webkit-text-fill-color:#0000;align-items:center;background:var(--primary-gradient);-webkit-background-clip:text;display:flex;justify-content:center}.tl-header{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(180deg,#ffffff05,#0000);border-bottom:1px solid #ffffff08;position:-webkit-sticky;position:sticky;top:0;width:100%;z-index:60}.tl-header-inner{gap:18px;justify-content:space-between;width:100%}.tl-brand,.tl-header-inner{align-items:center;display:flex}.tl-brand{gap:12px;min-width:220px}.logo-circle{align-items:center;background:linear-gradient(135deg,#2c7be5,#00c6ff);background:var(--accent-gradient,linear-gradient(135deg,#2c7be5,#00c6ff));border-radius:10px;color:#04263a;display:flex;font-size:1rem;font-weight:800;height:46px;justify-content:center;width:46px}.brand-text{color:#a0a0a0;color:var(--text-secondary,#a0a0a0);font-size:1.05rem;font-weight:700}.tl-timer-center{flex:1 1;text-align:center}.tl-timer{color:#9fd6ff;font-size:.95rem;font-weight:500}.tl-controls-right{align-items:center;display:flex;gap:.5rem;min-width:auto}.tl-icon-btn{background:#0000;border:none;border-radius:8px;color:#a0a0a0;color:var(--text-secondary,#a0a0a0);cursor:pointer;font-size:1.125rem;padding:8px;transition:color .2s ease,background .2s ease}.tl-icon-btn:hover{background:#ffffff0d;color:#fff;color:var(--text-primary,#fff)}.tl-review-btn{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:4px;color:#a0a0a0;color:var(--text-secondary,#a0a0a0);cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s ease}.tl-review-btn:hover{background:#ffffff1a;color:#fff;color:var(--text-primary,#fff)}.tl-submit-btn{align-items:center;background:linear-gradient(90deg,#2c7be5,#00c6ff);border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.25rem;padding:.5rem 1rem;transition:all .2s ease}.tl-submit-btn:hover{box-shadow:0 4px 12px #2c7be54d}@media (max-width:980px){.tl-header{padding:12px 18px}.tl-header-inner{align-items:stretch;flex-direction:column;gap:12px;justify-content:center}.tl-brand{justify-content:center;min-width:auto}.tl-controls-right{flex-wrap:wrap;gap:1rem;justify-content:center}}.menu-backdrop{background:#02061799;inset:0;opacity:0;position:fixed;transition:opacity .15s ease;z-index:9999}.menu-backdrop.open{opacity:1}.menu-modal{background:#0b1220;border:1px solid #ffffff0a;border-radius:12px;box-shadow:0 8px 30px #02061799;color:#e6f0ff;opacity:0;overflow:hidden;transform:translateY(-8px);transition:opacity .15s ease,transform .15s ease;width:280px}.menu-modal.open{opacity:1;transform:translateY(0)}.menu-modal-header{align-items:center;background:linear-gradient(180deg,#ffffff05,#0000);border-bottom:1px solid #ffffff05;display:flex;justify-content:space-between;padding:12px 16px}.menu-modal-header h3{font-size:1rem;margin:0}.menu-close{background:#0000;border:none;border-radius:6px;color:#a8c7ff;cursor:pointer;font-size:1.1rem;padding:6px}.menu-modal-body{display:flex;flex-direction:column;gap:8px;padding:12px 14px}.menu-item{align-items:center;background:#ffffff05;background:none;border:none;border-radius:8px;color:inherit;cursor:pointer;display:flex;font-size:.95rem;justify-content:space-between;padding:10px 12px;text-align:left;width:100%}.menu-item:hover{background:#ffffff08}.menu-item.group{align-items:stretch;background:#ffffff05;border:1px solid #ffffff05;border-radius:8px;flex-direction:column;padding:10px 12px}.menu-item.group,.text-size-buttons{display:flex;gap:8px}.size-btn{background:#ffffff08;border:1px solid #ffffff05;border-radius:6px;color:#e6f0ff;cursor:pointer;flex:1 1;padding:6px 8px}.size-btn.active{background:linear-gradient(90deg,#2c7be5,#00c6ff);border:none;box-shadow:0 6px 14px #2c7be52e;color:#fff}.menu-item.exit{background:#ff404014;border:1px solid #ff40400f;color:#ffb4b4}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background-color:#00000040;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:2000}.confirm-box{animation:slideUp .3s cubic-bezier(.16,1,.3,1);background:#1a1a2e;background:linear-gradient(180deg,#1a1a2e,#0f0f23);border:1px solid var(--border-glow);border-radius:16px;box-shadow:0 0 30px #667eea26;max-width:520px;padding:30px;text-align:center;width:90%}.confirm-box h3{color:var(--text-primary);font-size:1.8rem;margin-bottom:15px;margin-top:0}.confirm-box p{color:var(--text-secondary);font-size:1rem;line-height:1.5;margin:12px 0}.confirm-box strong{color:#fff;font-weight:700}.warning-text{background:#f59e0b1a;border:1px solid #f59e0b33;border-radius:4px;color:var(--warning)!important;display:inline-block;padding:8px}.confirm-actions{display:flex;gap:20px;justify-content:center;margin-top:30px}.btn-cancel{background:#0000;border:1px solid var(--text-secondary);border-radius:8px;color:var(--text-secondary);cursor:pointer;flex:1 1;font-weight:600;padding:12px;transition:all .2s}.btn-cancel:hover{background:#ffffff0d;border-color:#fff;color:#fff}.btn-confirm{background:var(--primary-gradient);border:none;border-radius:8px;box-shadow:0 4px 15px #667eea66;color:#fff;cursor:pointer;flex:1 1;font-weight:600;padding:12px;transition:all .2s}.btn-confirm:hover{box-shadow:0 6px 20px #667eea99;transform:translateY(-2px)}.tl-footer{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #ffffff14;border-radius:20px;bottom:20px;box-shadow:0 10px 40px #00000080;left:20px;padding:10px;position:fixed;right:20px;z-index:100}.tl-footer-inner{width:100%}.parts-dock{-ms-overflow-style:none;align-items:stretch;display:flex;gap:12px;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;width:100%}.parts-dock::-webkit-scrollbar{display:none}@media (max-width:768px){.tl-footer{bottom:10px;left:10px;padding:8px;right:10px}.parts-dock{flex-direction:column;height:auto;overflow-x:auto}}.part-item{background:#ffffff08;border:1px solid #ffffff0d;border-radius:16px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;position:relative;transition:all .4s cubic-bezier(.25,.8,.25,1)}.part-item.collapsed{flex:0 0 100px;opacity:.6}.part-item.collapsed:hover{background:#ffffff14;opacity:1;transform:translateY(-2px)}.part-item.expanded{background:linear-gradient(145deg,#ffffff12,#ffffff03);border-color:#4facfe4d;box-shadow:0 4px 20px #0003;cursor:default;flex:1 1;transition:all .4s cubic-bezier(.25,.8,.25,1);width:100%}.part-header{align-items:center;display:flex;justify-content:space-between;padding:0 16px;white-space:nowrap}.part-item.collapsed .part-header{justify-content:center;text-align:center}.part-info{display:flex;flex-direction:column}.part-label{color:#fff;color:var(--text-primary,#fff);font-size:.9rem;font-weight:700}.part-status{color:#aaa;color:var(--text-secondary,#aaa);font-size:.75rem;margin-top:2px}.question-grid-wrapper{-ms-overflow-style:none;margin-top:8px;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10px,#000 95%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10px,#000 95%,#0000);overflow-x:auto;overflow-y:hidden;padding:4px 16px;scrollbar-width:none}.question-grid-wrapper::-webkit-scrollbar{display:none}.question-grid{display:flex;gap:8px;padding-bottom:4px}.expanded-part-title{font-size:.85rem;font-weight:700;margin-bottom:7px}.q-bubble{align-items:center;background:#0003;border:1px solid #fff3;border-radius:50%;color:#ccc;cursor:pointer;display:flex;flex-shrink:0;font-size:.8rem;font-weight:600;height:32px;justify-content:center;transition:all .2s ease;width:32px}.q-bubble:hover{background:#ffffff26;border-color:#fff;color:#fff;transform:scale(1.1)}.q-bubble.answered{background-color:#007bff;border-color:#007bff;color:#fff}.q-bubble.active.answered{background-color:#0056b3;border:2px solid #000}.q-bubble.active{font-weight:700;transform:scale(1.1)}@media (max-width:768px){.part-item.collapsed{flex:0 0 60px}.part-label{font-size:.8rem}.part-status{display:none}}.tl-loading-fallback{box-sizing:border-box;min-height:100vh;padding:20px;position:relative;width:100%}.loading-header-skeleton{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:30px;padding:20px}.logo-skeleton{border-radius:12px;height:130px;width:130px}.timer-skeleton{border-radius:8px;height:40px;width:200px}.controls-skeleton{display:flex;gap:15px}.btn-skeleton{border-radius:8px;height:40px;width:40px}.loading-content{display:flex;gap:40px;margin:0 auto;max-width:1400px}.passage-skeleton{border-radius:12px;box-shadow:0 4px 12px #0000000d;flex:1 1;padding:30px}.title-skeleton{border-radius:8px;height:32px;margin-bottom:30px}.title-skeleton.long{width:70%}.questions-skeleton{border-radius:12px;box-shadow:0 4px 12px #0000000d;flex:1 1;padding:30px}.question-header-skeleton{margin-bottom:30px}.range-skeleton{border-radius:8px;height:24px;margin-bottom:15px;width:150px}.instruction-skeleton{border-radius:8px;height:20px;margin-bottom:10px;width:80%}.instruction-bold-skeleton{border-radius:8px;height:24px;opacity:.2;width:60%}.question-item-skeleton{align-items:center;display:flex;gap:20px;margin-bottom:25px}.q-number-skeleton{border-radius:50%;flex-shrink:0;height:40px;width:40px}.q-text-skeleton .line{border-radius:8px;height:18px;margin-bottom:10px}.q-text-skeleton .line:first-child{width:90%}.q-text-skeleton .line.medium{width:70%}.select-skeleton{border-radius:8px;flex-shrink:0;height:44px;width:180px}.line{animation:pulse 1.8s ease-in-out infinite;border-radius:8px;height:18px;margin-bottom:12px}.line.medium{width:80%}.line.short{width:60%}.loading-spinner{color:#64748b;left:50%;position:fixed;text-align:center;top:50%;transform:translate(-50%,-50%)}.spinner-circle{animation:spin 1.2s linear infinite;border:6px solid #e2e8f0;border-radius:50%;border-top-color:#3b82f6;height:60px;margin:0 auto 20px;width:60px}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.vocab-container{align-items:center;background-color:var(--dark-bg);color:var(--text-primary);display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;padding:1rem;width:100%}.vocab-card{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:#ffffff08;border:1px solid #ffffff14;border-radius:24px;box-shadow:0 24px 50px #00000073,inset 0 0 0 1px #ffffff0d;max-width:850px;overflow:hidden;padding:3rem 3rem 7rem;position:relative;width:100%}.vocab-card:before{background:var(--primary-gradient);content:"";height:4px;left:0;opacity:.8;position:absolute;top:0;width:100%}.vocab-header{color:var(--text-secondary);font-size:1.1rem;font-weight:500;letter-spacing:.02em;margin-bottom:1.5rem}.vocab-header strong{color:var(--text-primary);font-weight:700}.vocab-question{color:#fff;font-size:1.5rem;font-weight:600;line-height:1.5;margin-bottom:2.5rem}.vocab-content-animate .vocab-question{animation:fadeInUp .6s cubic-bezier(.2,.8,.2,1) forwards;opacity:0}.vocab-content-animate .vocab-options-list{animation:fadeInUp .7s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:.1s;opacity:0}.vocab-options-list{display:flex;flex-direction:column;gap:1.2rem}.vocab-option-item{align-items:center;background:linear-gradient(145deg,#ffffff0a,#ffffff03);border:1px solid #ffffff14;border-radius:12px;cursor:pointer;display:flex;gap:1.5rem;padding:1rem 1.5rem;position:relative;transition:all .3s cubic-bezier(.25,.8,.25,1)}.vocab-option-item:hover{background:#ffffff14;border-color:#ffffff59;transform:translateX(6px)}.vocab-option-item.selected{background:#667eea26;border-color:#667eea;box-shadow:0 0 20px #667eea33}.vocab-radio{align-items:center;border:2px solid var(--text-secondary);border-radius:50%;display:flex;flex-shrink:0;height:24px;justify-content:center;transition:all .3s ease;width:24px}.vocab-option-item.selected .vocab-radio{background:var(--primary-gradient);border-color:#0000;transform:scale(1.1)}.radio-dot{background-color:#fff;border-radius:50%;height:10px;width:10px}.vocab-option-text{color:var(--text-secondary);font-size:1.1rem;font-weight:500}.vocab-option-item.selected .vocab-option-text{color:#fff;font-weight:600}.vocab-footer{bottom:2.5rem;position:absolute;right:3rem;z-index:10}.vocab-next-btn{background:var(--primary-gradient);border:none;border-radius:50px;box-shadow:0 10px 25px #667eea66;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:.8rem 2.5rem;transition:all .3s ease}.vocab-next-btn:hover{box-shadow:0 15px 35px #667eea99;filter:brightness(1.1);transform:translateY(-3px)}.vocab-next-btn:active{transform:translateY(-1px)}.login-modal-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f0f23d9;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.login-modal-content{animation:slideUp .3s ease-out;background:var(--dark-bg);border:1px solid var(--border-glow);border-radius:16px;box-shadow:0 0 20px var(--border-glow);max-width:400px;padding:2.5rem;position:relative;width:100%}.login-close-btn{background:#0000;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.5rem;position:absolute;right:15px;top:15px;transition:color .2s}.login-close-btn:hover{color:var(--text-primary)}.login-title{-webkit-text-fill-color:#0000;background:var(--primary-gradient);-webkit-background-clip:text;font-size:1.8rem;font-weight:700;margin-bottom:25px;text-align:center}.login-input-group{margin-bottom:1.5rem}.login-label{color:var(--text-secondary);display:block;font-size:.9rem;margin-bottom:8px}.login-input{background:var(--card-bg);border:1px solid #ffffff1a;border-radius:8px;box-sizing:border-box;color:var(--text-primary);font-size:1rem;outline:none;padding:12px 15px;transition:all .3s ease;width:100%}.login-input:focus{border-color:#667eea;box-shadow:0 0 10px #667eea4d}.login-submit-btn{background:var(--primary-gradient);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;margin-top:10px;padding:14px;transition:transform .2s,box-shadow .2s;width:100%}.login-submit-btn:hover{box-shadow:0 5px 15px #764ba266;transform:translateY(-2px)}.login-footer-text{color:var(--text-secondary);font-size:.9rem;margin-top:20px;text-align:center}.login-link-text{color:#4facfe;cursor:pointer;font-weight:700;margin-left:5px}.login-link-text:hover{text-decoration:underline}.otp-modal-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f0f23d9;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.otp-modal-content{animation:slideUp .3s ease-out;background:var(--dark-bg);border:1px solid var(--border-glow);border-radius:16px;box-shadow:0 0 20px var(--border-glow);max-width:400px;padding:2.5rem;position:relative;text-align:center;width:100%}.otp-close-btn{background:#0000;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.5rem;position:absolute;right:15px;top:15px}.otp-title{-webkit-text-fill-color:#0000;background:#fff;-webkit-background-clip:text;font-size:1.8rem;font-weight:700;margin-bottom:10px}.otp-subtitle{color:var(--text-secondary);font-size:.95rem;margin-bottom:30px}.otp-inputs{display:flex;gap:10px;justify-content:center;margin-bottom:30px}.otp-box{background:var(--card-bg);border:1px solid var(--border-glow);border-radius:8px;color:var(--text-primary);font-size:1.5rem;font-weight:700;height:55px;outline:none;text-align:center;transition:all .2s ease;width:45px}.otp-box:focus{border-color:#667eea;box-shadow:0 0 10px #667eea4d;transform:translateY(-2px)}.otp-submit-btn{background:var(--primary-gradient);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:14px;transition:transform .2s;width:100%}.otp-submit-btn:hover{box-shadow:0 0 10px #667eea80;transform:scale(1.02)}.resend-text{color:var(--text-secondary);font-size:.9rem;margin-top:20px}.signup-modal-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f0f23d9;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.signup-modal-content{animation:slideUp .3s ease-out;background:var(--dark-bg);border:1px solid var(--border-glow);border-radius:16px;box-shadow:0 0 20px var(--border-glow);max-width:400px;padding:2.5rem;position:relative;width:100%}.signup-close-btn{background:#0000;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.5rem;position:absolute;right:15px;top:15px;transition:color .2s}.signup-close-btn:hover{color:var(--text-primary)}.signup-title{-webkit-text-fill-color:#0000;background:var(--primary-gradient);-webkit-background-clip:text;font-size:1.8rem;font-weight:700;margin-bottom:25px;text-align:center}.signup-error-msg{color:#ef4444;font-size:.9rem;margin-bottom:15px;text-align:center}.signup-input-group{margin-bottom:1.5rem}.signup-label{color:var(--text-secondary);display:block;font-size:.9rem;margin-bottom:8px}.signup-input{background:var(--card-bg);border:1px solid #ffffff1a;border-radius:8px;box-sizing:border-box;color:var(--text-primary);font-size:1rem;outline:none;padding:12px 15px;transition:all .3s ease;width:100%}.signup-input:focus{border-color:#667eea;box-shadow:0 0 10px #667eea4d}.signup-submit-btn{background:var(--primary-gradient);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;margin-top:10px;padding:14px;transition:transform .2s,box-shadow .2s;width:100%}.signup-submit-btn:hover{box-shadow:0 5px 15px #764ba266;transform:translateY(-2px)}.signup-submit-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.signup-footer-text{color:var(--text-secondary);font-size:.9rem;margin-top:20px;text-align:center}.signup-link-text{color:#4facfe;cursor:pointer;font-weight:700;margin-left:5px}.signup-link-text:hover{text-decoration:underline}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.alert-container{bottom:30px;display:flex;flex-direction:column;gap:10px;left:50%;pointer-events:none;position:fixed;transform:translateX(-50%);z-index:9999}.alert-box{align-items:center;animation:slideDown .5s cubic-bezier(.68,-.55,.265,1.55) forwards;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f0f23f2;border:1px solid #ffffff1a;border-radius:12px;box-shadow:0 10px 30px #00000080;color:#fff;display:flex;gap:15px;max-width:90%;min-width:320px;overflow:hidden;padding:16px 20px;pointer-events:auto;position:relative}@keyframes slideDown{0%{opacity:0;transform:translateY(-50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.alert-success{border-left:4px solid #10b981}.alert-error{border-left:4px solid #ef4444}.alert-warning{border-left:4px solid #f59e0b}.alert-info{border-left:4px solid #3b82f6}.alert-icon{align-items:center;display:flex;font-size:1.5rem;justify-content:center}.icon-success{color:#10b981}.icon-error{color:#ef4444}.icon-warning{color:#f59e0b}.icon-info{color:#3b82f6}.alert-message{color:#e0e0ff;flex:1 1;font-size:.95rem;font-weight:500}.alert-close{background:#0000;border:none;color:#b4b4dc;cursor:pointer;font-size:1.2rem;transition:color .2s}.alert-close:hover{color:#fff}.alert-progress{background:#fff3;bottom:0;height:3px;left:0;position:absolute;width:100%}.alert-progress-bar{animation:progress linear forwards;height:100%;width:100%}.progress-success{background:#10b981}.progress-error{background:#ef4444}@keyframes progress{0%{width:100%}to{width:0}}.end-text,.loading-text{color:#666;font-size:1.1rem;font-style:italic;margin:3rem 0 2rem;text-align:center}.collection-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:2rem}.collection-inner{padding-bottom:4rem}.collection-page{color:var(--text-primary);margin:0 auto;min-height:100vh;position:relative;z-index:1}.collection-inner{margin:0 auto;max-width:1280px}.collection-heading{font-size:clamp(2rem,3vw,2.6rem);font-weight:800;letter-spacing:.03em;margin-bottom:2.5rem}.collection-heading span{background:var(--primary-gradient);-webkit-background-clip:text;background-clip:text;color:#0000}@media (max-width:768px){.collection-page{padding-top:100px}.collection-heading{text-align:center}.collection-grid{gap:1.5rem}}.breadcrumb{align-items:center;color:#666;color:var(--text-secondary,#666);display:flex;font-size:.9rem;margin-bottom:1rem;padding:145px 0 0}.breadcrumb-item,.breadcrumb-link{color:inherit;text-decoration:none;transition:color .2s ease}.breadcrumb-link:hover{color:#007bff;color:var(--primary-color,#007bff);text-decoration:underline}.breadcrumb-separator{color:#999;color:var(--text-secondary,#999);margin:0 .5rem}.breadcrumb-current{color:#333;color:var(--text-primary,#333);font-weight:500}.collection-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:var(--card-bg);border:1px solid #ffffff0f;border-radius:20px;box-shadow:0 18px 40px #0009;overflow:hidden;position:relative;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.collection-card:before{background:radial-gradient(circle at 0 0,#667eea40,#0000 55%);content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .25s ease}.collection-card:hover{border-color:var(--border-glow);box-shadow:0 24px 60px #000000e6;cursor:pointer;transform:translateY(-10px)}.collection-card:hover:before{opacity:1}.card-image-wrapper{overflow:hidden;position:relative}.card-image{aspect-ratio:1/1;display:block;object-fit:cover;transform-origin:center;transition:transform .4s ease;width:100%}.collection-card:hover .card-image{transform:scale(1.05)}.card-image-overlay{background:radial-gradient(circle at 20% 20%,#667eea66,#0000 55%),radial-gradient(circle at 80% 80%,#f5576c59,#0000 55%);inset:0;mix-blend-mode:soft-light;pointer-events:none;position:absolute}.card-body{padding:1.1rem 1.3rem 1.4rem}.card-tag{align-items:center;background:var(--secondary-gradient);border-radius:999px;color:#fff;display:inline-flex;font-size:.75rem;letter-spacing:.13em;margin-bottom:.6rem;padding:.2rem .7rem;text-transform:uppercase}.card-title{color:var(--text-primary);font-size:1rem;font-weight:700;margin-bottom:.9rem}.card-rating-row{align-items:center;color:var(--text-secondary);display:flex;font-size:.85rem;gap:.45rem}.rating-number{color:var(--warning);font-size:.95rem;font-weight:700}.rating-stars{font-size:.9rem;letter-spacing:.06em}.rating-votes{font-size:.78rem;opacity:.9}
/*# sourceMappingURL=main.00d5d7ba.css.map*/