.app{background:#f1f5f9;flex-direction:column;height:100vh;display:flex;overflow:hidden}.app-body{grid-template-columns:var(--sidebar-width) 1fr;flex:1;min-height:0;display:grid;overflow:hidden}.app-main{background:#f1f5f9;flex-direction:column;min-width:0;display:flex;overflow-y:auto}.app-header-bar{background:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;height:52px;padding:0 24px;display:flex;position:relative}.app-header-bar:before{content:"";background:linear-gradient(90deg,#4f46e5,#818cf8,#4f46e5);height:2px;position:absolute;top:0;left:0;right:0}.app-settings-btn,.app-signout-btn{color:#64748b;cursor:pointer;background:0 0;border:1px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;transition:all .15s;display:flex}.app-settings-btn:hover,.app-signout-btn:hover{color:#4f46e5;background:#eef2ff;border-color:#c7d2fe}.sidebar{width:var(--sidebar-width);background:#0f172a;border-right:1px solid #ffffff0f;flex-direction:column;flex-shrink:0;height:100vh;padding:0;display:flex;overflow:hidden auto}.sidebar-wordmark{width:100%;font-family:var(--font-display);color:#fff;letter-spacing:-.02em;text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #ffffff0f;margin-bottom:8px;padding:20px 16px 16px;font-size:.9rem;font-weight:800;display:block}.sidebar-wm-accent{color:#818cf8}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:4px 8px;display:flex}.nav-section-label{text-transform:uppercase;letter-spacing:.1em;color:#475569;margin:0;padding:16px 8px 4px;font-size:.6rem;font-weight:700}.nav-item{color:#94a3b8;width:100%;font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:.84rem;font-weight:500;transition:background .15s,color .15s;display:flex}.nav-item:hover{color:#e2e8f0;background:#ffffff12}.nav-item.active{color:#a5b4fc;background:#6366f133;font-weight:600}.nav-item.active .nav-icon-svg{color:#818cf8}.nav-icon-svg{flex-shrink:0}.nav-label{flex:1}.nav-badge{color:#fff;text-align:center;background:#ef4444;border-radius:9999px;flex-shrink:0;min-width:18px;padding:1px 5px;font-size:.62rem;font-weight:800}.sidebar-foot{border-top:1px solid #ffffff0f;margin-top:4px;padding-top:8px}.side-level{color:#e2e8f0;width:100%;font:inherit;cursor:pointer;text-align:left;background:0 0;border:1px solid #ffffff14;border-radius:8px;flex-direction:column;gap:6px;padding:10px;transition:background .15s;display:flex}.side-level:hover{background:#ffffff0d}.side-level-top{justify-content:space-between;align-items:center;display:flex}.side-level-label{color:#e2e8f0;font-size:.72rem;font-weight:700}.side-level-xp{color:#94a3b8;align-items:center;gap:3px;font-size:.68rem;font-weight:600;display:flex}.side-level-track{background:#ffffff1a;border-radius:9999px;height:4px;overflow:hidden}.side-level-fill{background:#818cf8;border-radius:9999px;height:100%;transition:width .6s cubic-bezier(.22,1,.36,1)}.levelbar-flash{color:#818cf8;margin-left:3px;font-size:.65rem;font-weight:800;animation:1.2s ease-out forwards xp-pop}@keyframes xp-pop{0%{opacity:0;transform:translateY(4px)scale(.8)}20%{opacity:1;transform:translateY(0)scale(1.1)}to{opacity:0;transform:translateY(-8px)scale(1)}}.sidebar-backdrop{z-index:200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a99;display:none;position:fixed;inset:0}.sidebar-bottom{flex-direction:column;gap:4px;margin-top:auto;padding:8px;display:flex}.sidebar-divider{background:#ffffff0f;height:1px;margin:4px 0}.sidebar-action{width:100%;font:inherit;color:#94a3b8;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:9px;padding:8px 10px;font-size:.84rem;font-weight:500;transition:background .15s,color .15s;display:flex}.sidebar-action:hover{color:#e2e8f0;background:#ffffff12}.sidebar-user-section{flex-direction:column;display:flex}.sidebar-user-btn{width:100%;font:inherit;cursor:pointer;text-align:left;background:#ffffff0d;border:none;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;transition:background .15s;display:flex}.sidebar-user-btn:hover{background:#ffffff17}.sidebar-user-info{flex-direction:column;flex:1;gap:0;min-width:0;display:flex}.sidebar-user-name{color:#f1f5f9;text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;font-weight:700;line-height:1.3;overflow:hidden}.sidebar-user-plan{color:#64748b;font-size:.72rem;font-weight:400;line-height:1.3}.sidebar-user-caret{color:#64748b;flex-shrink:0;transition:transform .15s}.sidebar-user-caret.open{transform:rotate(180deg)}.sidebar-user-menu{flex-direction:column;gap:1px;padding:4px 0 0;display:flex}.sidebar-user-menu-item{width:100%;font:inherit;color:#94a3b8;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:7px 12px;font-size:.82rem;font-weight:500;transition:background .15s,color .15s;display:flex}.sidebar-user-menu-item:hover{color:#e2e8f0;background:#ffffff12}.sidebar-user-menu-danger:hover{color:#fca5a5;background:#ef444426}.sidebar-legal{flex-wrap:wrap;align-items:center;gap:5px;padding:6px 10px 2px;display:flex}.sidebar-legal button{font:inherit;color:#334155;cursor:pointer;background:0 0;border:none;padding:0;font-size:.65rem;transition:color .15s}.sidebar-legal button:hover{color:#818cf8}.sidebar-legal span{color:#334155;font-size:.65rem}.settings-wrap{position:relative}.settings-backdrop{z-index:20;position:fixed;inset:0}.settings-panel{z-index:21;background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:12px;width:220px;padding:14px;display:flex;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 20px 25px #00000014,0 8px 10px #0000000a}.settings-panel label{text-transform:uppercase;letter-spacing:.07em;color:#94a3b8;flex-direction:column;gap:5px;font-size:.65rem;font-weight:700;display:flex}.settings-panel select{font:inherit;text-transform:none;letter-spacing:normal;color:#0f172a;cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;outline:none;padding:8px 10px;font-size:.88rem;font-weight:500;transition:border-color .15s}.settings-panel select:focus{border-color:#4f46e5}.right-rail{background:#f8fafc;border-left:1px solid #e2e8f0;flex-direction:column;gap:14px;padding:20px 16px;display:flex;overflow-y:auto}.right-rail::-webkit-scrollbar{width:4px}.right-rail::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:9999px}.rail-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:12px;padding:16px;display:flex;box-shadow:0 1px 3px #0000000f}.rail-card-title{text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;align-items:center;gap:6px;font-size:.65rem;font-weight:700;display:flex}.rail-level-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.rail-level-left{align-items:center;gap:8px;display:flex}.rail-level-badge{color:#0f172a;font-size:.88rem;font-weight:800}.rail-level-cefr{color:#4f46e5;letter-spacing:.05em;background:#eef2ff;border-radius:9999px;padding:2px 8px;font-size:.65rem;font-weight:800;display:inline-block}.rail-xp-pill{color:#64748b;align-items:center;gap:4px;font-size:.72rem;font-weight:700;display:flex}.rail-bar-track{background:#f1f5f9;border-radius:9999px;height:8px;overflow:hidden}.rail-bar-fill{background:linear-gradient(90deg,#4f46e5,#818cf8);border-radius:9999px;height:100%;transition:width .7s cubic-bezier(.22,1,.36,1)}.rail-bar-meta{color:#94a3b8;justify-content:space-between;font-size:.67rem;display:flex}.rail-streak-pill{color:#64748b;background:#fb923c1a;border:1px solid #fb923c33;border-radius:9999px;align-items:center;gap:5px;padding:5px 12px;font-size:.82rem;display:flex}.rail-streak-pill strong{color:#ea580c;font-size:.95rem;font-weight:900}.rail-streak-best{color:#94a3b8;margin-left:auto;font-size:.68rem}.rail-goal-row{color:#64748b;align-items:center;gap:6px;font-size:.85rem;font-weight:600;display:flex}.rail-goal-track{background:#f1f5f9;border-radius:9999px;height:8px;overflow:hidden}.rail-goal-fill{background:linear-gradient(90deg,#4f46e5,#818cf8);border-radius:9999px;height:100%;transition:width .7s cubic-bezier(.22,1,.36,1)}.rail-goal-pct{color:#94a3b8;font-size:.72rem}.rail-empty{color:#94a3b8;text-align:center;margin:0;padding:8px 0;font-size:.82rem}.rail-review-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.rail-review-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:1px;padding:8px 10px;display:flex}.rail-review-word{color:#0f172a;font-size:.88rem;font-weight:600}.rail-review-hint{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.rail-review-btn{color:#4f46e5;width:100%;font:inherit;cursor:pointer;background:#eef2ff;border:none;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:9px 14px;font-size:.82rem;font-weight:700;transition:background .15s;display:flex}.rail-review-btn:hover{background:#e0e7ff}.chat{scroll-behavior:smooth;background:#f1f5f9;flex-direction:column;flex:1;gap:16px;padding:24px 32px;display:flex;overflow-y:auto}.chat::-webkit-scrollbar{width:4px}.chat::-webkit-scrollbar-track{background:0 0}.chat::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:9999px}.empty{text-align:center;color:#94a3b8;margin:auto;padding:40px 24px}.empty-hint{color:#94a3b8;margin-top:8px;font-size:.84rem;line-height:1.6}.row{display:flex}.row-user{justify-content:flex-end}.row-assistant{justify-content:flex-start}.bubble{word-wrap:break-word;border-radius:16px;max-width:78%;padding:11px 16px;font-size:.92rem;line-height:1.6}.bubble-user{color:#fff;background:#4f46e5;border-bottom-right-radius:4px;box-shadow:0 2px 12px #4f46e54d}.bubble-assistant{color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-bottom-left-radius:4px;position:relative;box-shadow:0 1px 3px #0000000f}.assistant-stack{flex-direction:column;gap:8px;max-width:88%;display:flex}.bubble-label,.card-label{text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;margin-bottom:5px;font-size:.62rem;font-weight:700;display:block}.reply-text{margin:0}.reply-translation{color:#64748b;background:#f8fafc;border-radius:6px;margin:8px 0 0;padding:8px 10px;font-size:.83rem;font-style:italic;line-height:1.45}.bubble-actions{align-items:center;gap:4px;margin-top:8px;display:flex}.translation-btn{font-family:var(--font-sans);letter-spacing:.05em;color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #e2e8f0;border-radius:20px;align-items:center;padding:2px 9px;font-size:.72rem;font-weight:700;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.translation-btn:hover{color:#4f46e5;border-color:#4f46e5}.translation-btn.active{color:#4f46e5;background:#eef2ff;border-color:#4f46e5}.card{border-radius:10px;padding:12px 16px;font-size:.9rem;line-height:1.55}.card p{margin:0}.card-correction{color:#78350f;background:#fffbeb;border-left:3px solid #f59e0b}.correction-list{margin:0;padding-left:18px}.correction-list li{margin:4px 0;line-height:1.55}.card-better{color:#3730a3;background:#eef2ff;border-left:3px solid #4f46e5}.card-better-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.speaker-btn{cursor:pointer;color:#94a3b8;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px 6px;font-size:.92rem;transition:background .15s,color .15s;display:inline-flex}.speaker-btn:hover{color:#475569;background:#f1f5f9}.speaker-inline{position:absolute;bottom:7px;right:8px}.typing{align-items:center;gap:5px;padding:12px 16px;display:flex}.typing span{background:#cbd5e1;border-radius:50%;width:7px;height:7px;animation:1.4s infinite dot-bounce}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes dot-bounce{0%,80%,to{opacity:.4;transform:scale(.7)}40%{opacity:1;transform:scale(1)}}.error-banner{color:#9f1239;background:#fef2f2;border-top:1px solid #fecaca;flex-shrink:0;padding:12px 20px;font-size:.84rem;font-weight:500;line-height:1.5}.composer{background:#fff;border-top:1px solid #e2e8f0;flex-shrink:0;align-items:center;gap:8px;padding:12px 20px;display:flex}.text-input{min-width:0;font:inherit;color:#0f172a;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:9999px;outline:none;flex:1;padding:10px 16px;font-size:.93rem;transition:border-color .15s,box-shadow .15s,background .15s}.text-input:focus{background:#fff;border-color:#4f46e5;box-shadow:0 0 0 3px #6366f126}.text-input::placeholder{color:#94a3b8}.text-input:disabled{opacity:.6;cursor:not-allowed}.mic-btn{cursor:pointer;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.1rem;transition:background .15s,border-color .15s;display:flex}.mic-btn:hover{background:#eef2ff;border-color:#c7d2fe}.mic-btn.mic-on{color:#ef4444;background:#fee2e2;border-color:#fecaca;animation:1.2s infinite mic-pulse}@keyframes mic-pulse{0%,to{box-shadow:0 0 #f43f5e66}50%{box-shadow:0 0 0 8px #f43f5e00}}.speech-bar{background:#fff;border-top:1px solid #e2e8f0;flex-direction:column;flex-shrink:0;align-items:center;gap:8px;padding:18px 16px 20px;display:flex}.speech-live{color:#64748b;text-align:center;max-width:480px;margin:0;font-size:.88rem;font-style:italic;line-height:1.4}.speech-mic-btn{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:9999px;justify-content:center;align-items:center;width:64px;height:64px;font-size:1.6rem;transition:background .15s,box-shadow .15s,transform .15s;display:flex;box-shadow:0 4px 16px #4f46e566}.speech-mic-btn:hover:not(:disabled){background:#4338ca;transform:scale(1.05);box-shadow:0 6px 20px #4f46e580}.speech-mic-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.speech-mic-btn.mic-on{background:#ef4444;animation:1.2s infinite mic-pulse;box-shadow:0 4px 16px #ef444466}.speech-hint{color:#94a3b8;text-align:center;margin:0;font-size:.78rem}.speech-confirm{flex-direction:column;gap:10px;width:100%;max-width:520px;display:flex}.speech-confirm-text{color:#0f172a;text-align:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin:0;padding:10px 14px;font-size:.93rem;line-height:1.45}.speech-confirm-actions{justify-content:center;gap:8px;display:flex}.speech-btn-send{color:#fff;font-family:var(--font-sans);cursor:pointer;background:#4f46e5;border:none;border-radius:9999px;padding:8px 22px;font-size:.85rem;font-weight:600;transition:background .15s}.speech-btn-send:hover{background:#4338ca}.speech-btn-retry{color:#64748b;font-family:var(--font-sans);cursor:pointer;background:0 0;border:1px solid #e2e8f0;border-radius:9999px;padding:8px 18px;font-size:.85rem;font-weight:500;transition:border-color .15s,color .15s}.speech-btn-retry:hover{color:#0f172a;border-color:#94a3b8}.send-btn{color:#fff;font:inherit;cursor:pointer;white-space:nowrap;background:#4f46e5;border:none;border-radius:9999px;justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-size:.88rem;font-weight:600;transition:background .15s,box-shadow .15s,transform .15s;display:inline-flex;box-shadow:0 2px 10px #4f46e54d}.send-btn:hover:not(:disabled){background:#4338ca;box-shadow:0 4px 16px #4f46e566}.send-btn:active:not(:disabled){transform:scale(.97)}.send-btn:disabled{color:#94a3b8;cursor:not-allowed;box-shadow:none;background:#e2e8f0}.link-btn{color:#4f46e5;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;padding:4px 8px;font-size:.84rem;font-weight:600;transition:background .15s;display:inline-flex}.link-btn:hover{background:#eef2ff}.link-btn:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:300;background:#0f172a99;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;flex-direction:column;gap:16px;width:100%;max-width:390px;padding:28px;display:flex;box-shadow:0 25px 50px #00000026}.modal h2{color:#0f172a;letter-spacing:-.01em;margin:0;font-size:1.15rem;font-weight:800}.modal-text{color:#64748b;margin:0;font-size:.88rem;line-height:1.6}.setup-wrap{align-items:center}.home{width:100%;max-width:800px;margin:auto;padding:8px 0 24px}.home-heading{color:#64748b;letter-spacing:-.01em;margin:0 0 16px;font-size:1rem;font-weight:700}.home-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.home-card{cursor:pointer;font:inherit;text-align:left;background:#fff;border:1.5px solid #e2e8f0;border-radius:14px;flex-direction:row;align-items:center;gap:14px;padding:16px 18px;transition:border-color .15s,transform .2s cubic-bezier(.22,1,.36,1),box-shadow .15s;display:flex;box-shadow:0 1px 3px #0000000d}.home-card:hover{border-color:#a5b4fc;transform:translateY(-2px);box-shadow:0 8px 24px #4f46e51a,0 2px 6px #0000000f}.home-card:active{transform:translateY(0)}.home-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.home-card-body{flex-direction:column;gap:3px;min-width:0;display:flex}.home-card-title{color:#0f172a;align-items:center;gap:6px;font-size:.87rem;font-weight:700;line-height:1.35;display:flex}.home-card-badge{color:#fff;background:#ef4444;border-radius:9999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.62rem;font-weight:800;display:inline-flex}.home-card-desc{color:#94a3b8;font-size:.72rem;line-height:1.4}.home-card-tags{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.home-card-tag{color:#4f46e5;opacity:.75;font-size:.65rem;font-weight:600}.setup{background:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;gap:16px;width:100%;max-width:460px;margin:auto;padding:28px;display:flex;box-shadow:0 4px 16px #0000000f}.setup-title{color:#0f172a;letter-spacing:-.01em;margin:0;font-size:1rem;font-weight:700}.setup-field{text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;flex-direction:column;gap:6px;font-size:.65rem;font-weight:700;display:flex}.setup-field input,.setup-field select,.setup-field textarea{font:inherit;text-transform:none;letter-spacing:normal;color:#0f172a;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:8px;outline:none;padding:10px 12px;font-size:.92rem;font-weight:400;transition:border-color .15s,box-shadow .15s}.setup-field textarea{resize:vertical;line-height:1.55}.setup-field input:focus,.setup-field select:focus,.setup-field textarea:focus{background:#fff;border-color:#4f46e5;box-shadow:0 0 0 3px #6366f126}.setup-row{gap:12px;display:flex}.setup-row .setup-field{flex:1}.setup-start{margin-top:4px}.setup-error{border-top:none;border-radius:10px;width:100%;max-width:460px;margin-top:12px}.interview-bar{color:#4338ca;background:#eef2ff;border:1px solid #c7d2fe;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;font-size:.82rem;font-weight:500;display:flex}.subtab-toggle{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:9999px;align-self:center;gap:3px;margin-bottom:16px;padding:3px;display:flex}.subtab{font:inherit;color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:9999px;padding:6px 18px;font-size:.82rem;font-weight:600;transition:background .15s,color .15s,box-shadow .15s}.subtab:hover:not(.active){background:#e2e8f0}.subtab.active{color:#fff;background:#4f46e5;box-shadow:0 2px 8px #4f46e54d}.review{flex-direction:column;gap:16px;width:100%;max-width:500px;margin:auto;display:flex}.review-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.review-count{color:#94a3b8;background:#f1f5f9;border-radius:9999px;flex-shrink:0;padding:3px 10px;font-size:.75rem;font-weight:600}.review-empty{text-align:center;color:#64748b;margin:32px 0;font-size:.9rem;line-height:1.7}.card-review{background:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;gap:12px;padding:22px;display:flex;box-shadow:0 2px 8px #0000000f}.review-original{color:#0f172a;margin:0;font-size:1rem;font-weight:500;line-height:1.55}.review-hint{color:#64748b;margin:0;font-size:.88rem;line-height:1.6}.review-input{font:inherit;color:#0f172a;resize:vertical;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:8px;outline:none;padding:10px 13px;font-size:.93rem;line-height:1.5;transition:border-color .15s,box-shadow .15s,background .15s}.review-input:focus{background:#fff;border-color:#4f46e5;box-shadow:0 0 0 3px #6366f126}.review-answer,.review-reveal{margin-top:4px}.review-actions{gap:10px;margin-top:4px;display:flex}.grade-btn{cursor:pointer;font:inherit;border:none;border-radius:9999px;flex:1;padding:12px 16px;font-size:.9rem;font-weight:700;transition:background .15s,transform .15s}.grade-btn:active{transform:scale(.97)}.grade-again{color:#9f1239;background:#fee2e2}.grade-again:hover{background:#fecdd3}.grade-good{color:#fff;background:#4f46e5}.grade-good:hover{background:#4338ca}.grade-suggested{outline-offset:2px;outline:3px solid #4f46e559}.wl-list{flex-direction:column;gap:6px;margin-top:4px;display:flex}.wl-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;transition:background .15s;display:flex}.wl-row:hover{background:#f1f5f9}.wl-text{flex-direction:column;min-width:0;display:flex}.wl-front{color:#0f172a;font-size:.9rem;font-weight:600}.wl-meaning{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:.77rem;overflow:hidden}.wl-del{cursor:pointer;color:#94a3b8;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:4px 8px;font-size:1rem;transition:background .15s,color .15s}.wl-del:hover{color:#ef4444;background:#fee2e2}.verdict{border-radius:10px;flex-direction:column;gap:4px;padding:12px 16px;font-size:.88rem;line-height:1.5;display:flex}.verdict strong{font-size:.93rem}.verdict-good{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.verdict-bad{color:#9f1239;background:#fef2f2;border:1px solid #fecaca}.listen-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.dict-search{gap:8px;display:flex}.dict-search .review-input{flex:1}.dict-headword{justify-content:space-between;align-items:center;gap:12px;display:flex}.dict-word{color:#0f172a;letter-spacing:-.02em;font-size:1.4rem;font-weight:800}.dict-meta{color:#94a3b8;margin:1px 0 4px;font-size:.8rem;font-style:italic}.dict-example{color:#0f172a;background:#f8fafc;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;font-size:.9rem;line-height:1.55;display:flex}.drill-type{color:#0f172a;font:inherit;cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:9999px;outline:none;padding:6px 14px;font-size:.82rem;font-weight:600;transition:border-color .15s}.drill-type:focus{border-color:#4f46e5}.game-toggle{color:#64748b;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:.84rem;display:flex}.drill-target{color:#0f172a;letter-spacing:-.01em;margin:0 0 4px;font-size:1.3rem;font-weight:800;line-height:1.3}.drill-gloss{color:#94a3b8;font-size:.9rem;font-weight:400}.conj-pron{color:#4f46e5;font-weight:800}.conj-tense{color:#4338ca;letter-spacing:.05em;text-transform:uppercase;background:#eef2ff;border-radius:9999px;margin:0 0 4px;padding:3px 12px;font-size:.7rem;font-weight:800;display:inline-block}.cloze-sentence{font-size:1.08rem;font-weight:500;line-height:1.75}.cloze-blank{text-align:center;color:#94a3b8;border-bottom:2px dashed #cbd5e1;min-width:80px;margin:0 3px;padding:0 10px;font-weight:700;display:inline-block}.cloze-blank-filled{color:#065f46;border-bottom-color:#10b981}.sb-answer{background:#f8fafc;border:2px dashed #cbd5e1;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;min-height:56px;margin-bottom:12px;padding:10px 14px;transition:border-color .15s,background .15s;display:flex}.sb-answer-correct{background:#ecfdf5;border-style:solid;border-color:#10b981}.sb-answer-wrong{background:#fef2f2;border-style:solid;border-color:#ef4444}.sb-placeholder{color:#94a3b8;font-size:.95rem}.sb-pool{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.sb-tile{font:inherit;color:#4338ca;cursor:grab;-webkit-user-select:none;user-select:none;background:#eef2ff;border:1.5px solid #c7d2fe;border-radius:9999px;padding:7px 14px;font-size:.88rem;font-weight:600;transition:transform .15s,background .15s,box-shadow .15s}.sb-tile:active{cursor:grabbing}.sb-tile:hover{background:#e0e7ff;transform:translateY(-2px);box-shadow:0 2px 6px #4f46e526}.sb-caret{background:#4f46e5;border-radius:2px;align-self:stretch;width:2px;min-height:26px;animation:.8s steps(2,start) infinite caret-blink;display:inline-block}@keyframes caret-blink{to{opacity:.2}}.sb-tile-picked{color:#fff;background:#4f46e5;border-color:#0000}.sb-tile-picked:hover{background:#4338ca;box-shadow:0 2px 6px #4f46e54d}.sb-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:4px;display:flex}.related{gap:10px;margin-top:4px;display:flex}.related-col{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex:1;padding:10px 14px}.related-col p{color:#0f172a;margin:3px 0;font-size:.9rem}.game-stats{color:#64748b;margin:0;font-size:.82rem;font-weight:600}.choices{flex-direction:column;gap:8px;margin-top:6px;display:flex}.choices-row{flex-direction:row}.choice{color:#0f172a;font:inherit;cursor:pointer;text-align:left;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;flex:1;padding:12px 16px;font-size:.9rem;font-weight:500;transition:border-color .15s,background .15s,transform .15s;box-shadow:0 1px 3px #0000000a}.choice:hover:not(:disabled){background:#eef2ff;border-color:#a5b4fc;transform:translateY(-1px)}.choice:disabled{cursor:default}.choices-row .choice{text-align:center;padding:14px;font-size:1.15rem;font-weight:700}.choice-correct{color:#065f46!important;background:#ecfdf5!important;border-color:#a7f3d0!important}.choice-wrong{color:#9f1239!important;background:#fef2f2!important;border-color:#fecaca!important}.gender-btn{font-size:1.2rem}.gender-btn.g-der{color:#2563eb;background:#eff6ff;border-color:#bfdbfe}.gender-btn.g-die{color:#dc2626;background:#fff1f2;border-color:#fecaca}.gender-btn.g-das{color:#16a34a;background:#f0fdf4;border-color:#bbf7d0}.match-grid{gap:10px;margin-top:8px;display:flex}.match-col{flex-direction:column;flex:1;gap:8px;display:flex}.match-tile{color:#0f172a;font:inherit;cursor:pointer;text-align:center;background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;padding:10px 12px;font-size:.88rem;font-weight:500;transition:border-color .15s,background .15s}.match-tile:hover:not(:disabled){background:#eef2ff;border-color:#a5b4fc}.tile-sel{font-weight:700;background:#eef2ff!important;border-color:#4f46e5!important}.tile-done{cursor:default;color:#065f46!important;background:#ecfdf5!important;border-color:#a7f3d0!important}.tile-wrong{background:#fef2f2!important;border-color:#fecaca!important}.lw{cursor:pointer;border-radius:3px;transition:background .15s}.lw:hover{background:#4f46e51a}.lw-active{background:#4f46e526;box-shadow:0 0 0 1px #4f46e54d}.row,.card-review,.home-card,.interview-bar{animation:.28s cubic-bezier(.22,1,.36,1) both rise}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.home-card:nth-child(2){animation-delay:30ms}.home-card:nth-child(3){animation-delay:60ms}.home-card:nth-child(4){animation-delay:90ms}.home-card:nth-child(5){animation-delay:.12s}.home-card:nth-child(6){animation-delay:.15s}.home-card:nth-child(7){animation-delay:.18s}.home-card:nth-child(8){animation-delay:.21s}.home-card:nth-child(9){animation-delay:.24s}.home-card:nth-child(10){animation-delay:.27s}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,.nav-item:focus-visible{outline-offset:2px;outline:2px solid #4f46e5}@media (width<=900px){.app-body{grid-template-columns:1fr}.sidebar{z-index:40;height:100vh;transition:transform .26s cubic-bezier(.22,1,.36,1);position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:0 25px 50px #00000040}.sidebar.open{transform:translate(0)}.sidebar-backdrop{display:block}}@media (width<=480px){.bubble,.assistant-stack{max-width:94%}.home-grid{grid-template-columns:1fr;gap:8px}.send-btn{padding:10px 14px}.review{max-width:100%}}.auth-overlay{z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);width:100%;max-width:400px;box-shadow:var(--shadow-xl);flex-direction:column;gap:20px;padding:36px 32px 32px;display:flex;position:relative;overflow:hidden}.auth-card:before{content:"";background:linear-gradient(90deg, var(--accent), #818cf8);height:3px;position:absolute;top:0;left:0;right:0}.auth-close{color:var(--text-tertiary);cursor:pointer;transition:color var(--transition);background:0 0;border:none;padding:4px;font-size:16px;line-height:1;position:absolute;top:14px;right:14px}.auth-close:hover{color:var(--text-primary)}.auth-logo{font-family:var(--font-display);color:var(--accent);letter-spacing:-.02em;text-align:center;font-size:16px;font-weight:800}.auth-title{font-size:var(--text-lg);color:var(--text-primary);text-align:center;margin:0;font-weight:700}.auth-google-btn{justify-content:center;align-items:center;width:100%;min-height:44px;display:flex}.auth-switch{text-align:center;font-size:var(--text-sm);color:var(--text-secondary);margin:0}.auth-methods{flex-direction:column;gap:12px;display:flex}.auth-method-btn{border:1.5px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text-primary);font:inherit;cursor:pointer;transition:border-color var(--t), background var(--t), box-shadow var(--t);text-align:left;align-items:center;gap:12px;width:100%;padding:12px 16px;font-size:14px;font-weight:500;display:flex}.auth-method-btn:hover{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 2px 8px #4f46e526}.auth-method-icon{flex-shrink:0;justify-content:center;align-items:center;width:24px;font-size:18px;display:flex}.auth-tabs{background:var(--surface-2);border-radius:var(--r-full);gap:3px;padding:3px;display:flex}.auth-tab{border-radius:var(--r-full);font:inherit;cursor:pointer;color:var(--text-secondary);transition:background var(--t), color var(--t), box-shadow var(--t);background:0 0;border:none;flex:1;padding:8px 12px;font-size:13px;font-weight:600}.auth-tab.active{background:var(--surface);color:var(--text-primary);box-shadow:0 1px 4px #0000001a}.auth-google-btn{justify-content:center;width:100%;display:flex}.auth-google-btn>div,.auth-google-btn iframe{width:100%!important}.auth-divider{color:var(--text-tertiary);align-items:center;gap:10px;margin:-4px 0;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-form{flex-direction:column;gap:10px;display:flex}.auth-input{border:1.5px solid var(--border);border-radius:var(--r-md);font:inherit;background:var(--surface-2);color:var(--text-primary);transition:border-color var(--t), box-shadow var(--t);outline:none;width:100%;padding:11px 14px;font-size:14px}.auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.auth-input::placeholder{color:var(--text-tertiary)}.auth-input-code{letter-spacing:12px;text-align:center;padding:16px;font-size:28px;font-weight:800}.auth-error{color:var(--error);margin:2px 0 0;font-size:13px}.auth-btn{background:var(--accent);color:#fff;border-radius:var(--r-md);font:inherit;cursor:pointer;transition:background var(--t), box-shadow var(--t), opacity var(--t);border:none;justify-content:center;align-items:center;gap:8px;min-height:44px;margin-top:4px;padding:12px;font-size:14px;font-weight:600;display:flex;box-shadow:0 2px 10px #4f46e540}.auth-btn:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 4px 16px #4f46e559}.auth-btn:disabled{opacity:.5;cursor:not-allowed}.auth-verify-section{flex-direction:column;gap:14px;display:flex}.auth-verify-title{color:var(--text-primary);text-align:center;margin:0;font-size:20px;font-weight:700}.auth-verify-sub{color:var(--text-secondary);text-align:center;margin:0;font-size:14px;line-height:1.55}.auth-link-btn{color:var(--text-secondary);font:inherit;cursor:pointer;text-align:center;transition:color var(--t);background:0 0;border:none;padding:4px 0;font-size:13px;text-decoration:underline}.auth-link-btn:hover:not(:disabled){color:var(--accent)}.auth-link-btn:disabled{opacity:.5;cursor:not-allowed}.spinner{border:2px solid #ffffff4d;border-top-color:currentColor;border-radius:50%;flex-shrink:0;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.cookie-banner{z-index:var(--z-toast,400);background:var(--color-slate-900,#0f172a);border-top:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;display:flex;position:fixed;bottom:0;left:0;right:0}.cookie-text{color:#ffffffbf;flex:1;min-width:200px;margin:0;font-size:.82rem;line-height:1.5}.cookie-link{font:inherit;font-size:inherit;color:var(--color-indigo-300,#a5b4fc);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline;transition:color .15s}.cookie-link:hover{color:#fff}.cookie-btn{background:var(--accent,#4f46e5);color:#fff;border-radius:var(--radius-sm,6px);font:inherit;cursor:pointer;white-space:nowrap;border:none;flex-shrink:0;padding:8px 20px;font-size:.82rem;font-weight:600;transition:background .15s}.cookie-btn:hover{background:var(--accent-hover,#4338ca)}.landing{background:var(--bg-primary);min-height:100vh;color:var(--text-primary);font-family:var(--font-sans)}.lp-nav{z-index:100;align-items:center;gap:var(--space-6);padding:0 var(--space-8);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#ffffffe6;height:64px;display:flex;position:sticky;top:0}.lp-wordmark{font-family:var(--font-display);font-size:var(--text-base);color:var(--text-primary);letter-spacing:-.02em;flex-shrink:0;font-weight:800}.lp-wm-german,.lp-wm-ai{color:var(--accent);font-weight:800}.lp-wm-sub{font-family:var(--font-display);color:var(--text-secondary);margin-left:.4em;font-size:.65em;font-weight:300}.lp-nav-right{align-items:center;gap:var(--space-6);margin-left:auto;display:flex}.lp-nav-auth{align-items:center;gap:var(--space-2);display:flex}.lp-links{gap:var(--space-5);display:flex}.lp-link{font-size:var(--text-sm);color:var(--text-secondary);transition:color var(--transition);font-weight:500;text-decoration:none}.lp-link:hover{color:var(--accent)}.lp-btn-outline{border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font:inherit;font-size:var(--text-sm);cursor:pointer;transition:border-color var(--transition), color var(--transition);background:0 0;padding:8px 18px;font-weight:600}.lp-btn-outline:hover{border-color:var(--accent);color:var(--accent)}.lp-btn-primary{background:var(--accent);color:#fff;border-radius:var(--radius-sm);font:inherit;font-size:var(--text-base);cursor:pointer;transition:background var(--transition), transform var(--transition), box-shadow var(--transition);border:none;align-items:center;padding:12px 26px;font-weight:600;display:inline-flex;box-shadow:0 2px 12px #4f46e54d}.lp-btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 20px #4f46e566}.lp-btn-primary:active{box-shadow:none;transform:scale(.98)}.lp-btn-primary.lp-btn-lg{font-size:var(--text-md);padding:14px 32px}.lp-btn-primary.lp-btn-nav{font-size:var(--text-sm);padding:8px 18px}.lp-btn-ghost{color:var(--text-secondary);font:inherit;font-size:var(--text-sm);cursor:pointer;text-underline-offset:3px;transition:color var(--transition);background:0 0;border:none;padding:8px 4px;font-weight:500;text-decoration:underline}.lp-btn-ghost:hover{color:var(--text-primary)}.lp-hero{padding:96px var(--space-8) 80px;text-align:center;position:relative;overflow:hidden}.lp-hero:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(80% 60% at 50% -10%,#4f46e52e 0%,#0000 65%),radial-gradient(40% 30% at 20% 80%,#6366f112 0%,#0000 60%),radial-gradient(40% 30% at 80% 80%,#4f46e50f 0%,#0000 60%);position:absolute;inset:0}.lp-hero-inner{z-index:1;max-width:720px;margin:0 auto;position:relative}.lp-eyebrow{background:var(--accent-soft);color:var(--accent);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;margin-bottom:var(--space-5);border:1px solid #4f46e533;border-radius:9999px;padding:5px 14px;font-weight:700;display:inline-block}.lp-h1{font-family:var(--font-display);letter-spacing:-.04em;color:var(--text-primary);margin:0 0 var(--space-5);font-size:clamp(36px,6vw,58px);font-weight:800;line-height:1.08}.lp-accent{color:var(--accent)}.lp-hero-sub{color:var(--text-secondary);max-width:540px;margin:0 auto var(--space-8);font-size:clamp(16px,2vw,18px);line-height:1.65}.lp-hero-actions{align-items:center;gap:var(--space-2);margin-bottom:var(--space-6);flex-direction:column;display:flex}.lp-social-proof{font-size:var(--text-xs);color:var(--text-muted);margin-bottom:var(--space-2);letter-spacing:.02em}.lp-stats{justify-content:center;align-items:center;gap:var(--space-12);margin:var(--space-6) 0;flex-wrap:wrap;display:flex}.lp-stat-item{flex-direction:column;align-items:center;gap:3px;display:flex}.lp-stat-value{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.04em;font-size:clamp(24px,3.5vw,36px);font-weight:800;line-height:1}.lp-stat-label{font-size:var(--text-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.07em;font-weight:500}.lp-chips{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.lp-chip{background:var(--bg-surface);border:1px solid var(--border);font-size:var(--text-xs);color:var(--text-secondary);border-radius:9999px;padding:5px 13px;font-weight:500}.lp-section{padding:80px var(--space-8);max-width:1040px;margin:0 auto}.lp-h2{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text-primary);margin:0 0 var(--space-3);text-align:center;font-size:clamp(24px,3.5vw,36px);font-weight:800}.lp-section-sub{text-align:center;color:var(--text-secondary);font-size:var(--text-md);margin:0 auto var(--space-8);max-width:520px}.lp-grid{gap:var(--space-4);margin-top:var(--space-8);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.lp-card{padding:var(--space-6);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition)}.lp-card:hover{border-color:var(--color-indigo-300);transform:translateY(-3px);box-shadow:0 4px 24px #4f46e51a,0 1px 4px #4f46e50f}.lp-card-icon{border-radius:var(--radius-md);background:var(--accent-soft);width:40px;height:40px;color:var(--accent);margin-bottom:var(--space-4);justify-content:center;align-items:center;display:flex}.lp-card-title{font-size:var(--text-md);color:var(--text-primary);margin:0 0 var(--space-2);letter-spacing:-.01em;font-weight:700}.lp-card-desc{font-size:var(--text-sm);color:var(--text-secondary);margin:0;line-height:1.6}.lp-steps-section{background:var(--color-slate-50);border-top:1px solid var(--border);border-bottom:1px solid var(--border);max-width:100%;padding:80px var(--space-8)}.lp-steps-section .lp-h2,.lp-steps-section .lp-section-sub,.lp-steps-section .lp-steps{max-width:1040px;margin-left:auto;margin-right:auto}.lp-steps{gap:var(--space-8);margin-top:var(--space-8);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.lp-step{text-align:center}.lp-step-num{background:var(--accent);color:#fff;width:44px;height:44px;font-family:var(--font-display);font-size:var(--text-md);margin-bottom:var(--space-4);border-radius:50%;justify-content:center;align-items:center;font-weight:800;display:inline-flex;box-shadow:0 3px 12px #4f46e54d}.lp-step-title{font-size:var(--text-md);color:var(--text-primary);margin:0 0 var(--space-2);font-weight:700}.lp-step-desc{font-size:var(--text-sm);color:var(--text-secondary);margin:0;line-height:1.6}.lp-faq{max-width:680px;margin:var(--space-8) auto 0;flex-direction:column;gap:4px;display:flex}.faq-item{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);overflow:hidden}.faq-q{font-size:var(--text-base);color:var(--text-primary);cursor:pointer;justify-content:space-between;align-items:center;gap:var(--space-4);padding:16px 20px;font-weight:600;list-style:none;display:flex}.faq-q::-webkit-details-marker{display:none}.faq-q:after{content:"+";color:var(--accent);flex-shrink:0;font-size:18px;font-weight:400}.faq-item[open] .faq-q:after{content:"-"}.faq-a{font-size:var(--text-sm);color:var(--text-secondary);margin:0;padding:0 20px 16px;line-height:1.65}.lp-billing-toggle{background:var(--bg-surface);border:1px solid var(--border);width:fit-content;margin:0 auto var(--space-8);border-radius:10px;justify-content:center;align-items:center;gap:4px;padding:4px;display:flex}.lp-billing-btn{color:var(--text-secondary);font:inherit;font-size:var(--text-sm);cursor:pointer;transition:background var(--transition), color var(--transition);white-space:nowrap;background:0 0;border:none;border-radius:7px;align-items:center;gap:6px;padding:8px 18px;font-weight:500;display:flex}.lp-billing-btn:hover{color:var(--text-primary)}.lp-billing-btn-active{background:var(--accent);color:#fff;font-weight:600}.lp-billing-btn-active:hover{color:#fff}.lp-billing-tag{letter-spacing:.03em;color:inherit;background:#ffffff40;border-radius:9999px;padding:2px 7px;font-size:10px;font-weight:700}.lp-billing-btn:not(.lp-billing-btn-active) .lp-billing-tag{background:var(--accent-soft);color:var(--accent)}.lp-pricing{gap:var(--space-4);max-width:680px;margin:var(--space-8) auto 0;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.lp-plan{padding:var(--space-6);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);gap:var(--space-5);flex-direction:column;display:flex;position:relative}.lp-plan-highlight{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 8px 24px #4f46e51f;min-height:420px}.lp-plan-badge{background:var(--accent);color:#fff;font-size:var(--text-xs);white-space:nowrap;letter-spacing:.03em;border-radius:9999px;padding:3px 14px;font-weight:700;position:absolute;top:-13px;left:50%;transform:translate(-50%)}.lp-plan-header{flex-direction:column;gap:4px;display:flex}.lp-plan-name-row{align-items:center;gap:var(--space-2);display:flex}.lp-plan-name{font-size:var(--text-sm);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-weight:700}.lp-plan-saving{color:var(--accent);letter-spacing:.02em;background:#4f46e51f;border-radius:9999px;padding:2px 8px;font-size:11px;font-weight:700}.lp-plan-price{align-items:baseline;gap:2px;margin:4px 0;display:flex}.lp-plan-currency{font-size:var(--text-md);color:var(--text-primary);font-weight:700}.lp-plan-amount{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.04em;font-size:42px;font-weight:800;line-height:1}.lp-plan-period{font-size:var(--text-sm);color:var(--text-tertiary);font-weight:500}.lp-plan-desc{font-size:var(--text-sm);color:var(--text-tertiary)}.lp-plan-permonth{font-size:var(--text-xs);color:var(--accent);margin-bottom:2px;font-weight:600}.lp-plan-guarantee{font-size:var(--text-xs);color:var(--text-secondary);background:var(--accent-soft);border-radius:var(--radius-sm);border:1px solid #4f46e526;align-items:center;gap:7px;padding:10px 12px;font-weight:500;display:flex}.lp-guarantee-icon{flex-shrink:0;font-size:15px}.lp-invisible{visibility:hidden}.lp-plan-features{flex-direction:column;flex:1;gap:10px;margin:0;padding:0;list-style:none;display:flex}.lp-plan-feature{font-size:var(--text-sm);color:var(--text-secondary);padding-left:20px;position:relative}.lp-plan-feature:before{content:"✓";color:var(--accent);font-weight:700;position:absolute;left:0}.lp-plan-cta{border-radius:var(--radius-sm);font:inherit;font-size:var(--text-sm);cursor:pointer;transition:all var(--transition);border:1.5px solid var(--border);color:var(--text-primary);background:0 0;padding:11px 20px;font-weight:600}.lp-plan-cta:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.lp-plan-cta-primary{background:var(--accent);border-color:var(--accent);color:#fff}.lp-plan-cta-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.lp-plan-cta:disabled{opacity:.5;cursor:not-allowed}.lp-cta{padding:96px var(--space-8);text-align:center;background:var(--accent)}.lp-cta-h2{font-family:var(--font-display);color:#fff;margin:0 0 var(--space-4);letter-spacing:-.03em;font-size:clamp(24px,4vw,38px);font-weight:800}.lp-cta-sub{font-size:var(--text-md);color:#ffffffd1;margin:0 0 var(--space-8)}.lp-cta .lp-btn-primary{color:var(--accent);background:#fff;box-shadow:0 2px 16px #00000029}.lp-cta .lp-btn-primary:hover{background:#ffffffeb;box-shadow:0 4px 24px #00000038}.lp-footer{padding:var(--space-6) var(--space-8);border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.lp-footer-tag{font-size:var(--text-xs);color:var(--text-tertiary)}.lp-footer-legal{align-items:center;gap:var(--space-2);margin-top:var(--space-1);display:flex}.lp-footer-link{font-size:var(--text-xs);color:var(--text-tertiary);transition:color var(--transition);text-decoration:none}.lp-footer-link:hover{color:var(--accent)}.lp-footer-dot,.lp-footer-copy{font-size:var(--text-xs);color:var(--text-tertiary)}@media (width<=640px){.lp-nav{padding:0 var(--space-4)}.lp-links{display:none}.lp-nav-right{gap:var(--space-3)}.lp-hero{padding:64px var(--space-4) 48px}.lp-section,.lp-steps-section{padding:56px var(--space-4)}.lp-cta{padding:64px var(--space-4)}.lp-footer{text-align:center;gap:var(--space-2);flex-direction:column}.lp-stats{gap:var(--space-8)}}.home-page{flex-direction:column;gap:32px;width:100%;max-width:880px;margin:0 auto;padding:40px 48px 56px;display:flex}.home-hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.home-greeting{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.03em;margin:0 0 6px;font-size:2rem;font-weight:800}.home-greeting-name{color:var(--accent)}.home-sub{font-size:var(--text-base);color:var(--text-secondary);margin:0}.home-last-chip{border:1px solid var(--border);border-radius:var(--radius-full);background:var(--bg-surface);font:inherit;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:border-color var(--transition), color var(--transition);flex-shrink:0;align-items:center;gap:6px;padding:7px 14px;font-size:.75rem;font-weight:600;display:inline-flex}.home-last-chip:hover{border-color:var(--accent);color:var(--accent)}.home-last-ago{color:var(--text-tertiary);font-weight:400}.home-xp-strip{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);align-items:center;gap:14px;padding:14px 18px;display:flex}.home-xp-badge{flex-direction:column;flex-shrink:0;align-items:center;gap:2px;display:flex}.home-xp-badge-cefr{font-family:var(--font-display);color:var(--accent);letter-spacing:-.02em;font-size:1.1rem;font-weight:900;line-height:1}.home-xp-badge-lbl{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;font-size:.62rem;font-weight:700}.home-xp-bar-wrap{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.home-xp-bar-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.home-xp-bar-label{color:var(--text-secondary);align-items:center;gap:4px;font-size:.78rem;font-weight:600;display:flex}.home-xp-bar-pct{color:var(--text-tertiary);white-space:nowrap;font-size:.72rem}.home-xp-track{background:var(--border);border-radius:9999px;height:6px;overflow:hidden}.home-xp-fill{background:linear-gradient(90deg, var(--accent), #818cf8);border-radius:9999px;height:100%;transition:width .7s cubic-bezier(.22,1,.36,1)}.home-widgets{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.home-widgets-left{flex-direction:column;gap:16px;display:flex}.home-widget{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:14px;padding:20px;display:flex}.home-widget-title{text-transform:uppercase;letter-spacing:.07em;color:var(--text-tertiary);align-items:center;gap:6px;font-size:.68rem;font-weight:700;display:flex}.home-widget-note{color:var(--text-tertiary);margin:0;font-size:.75rem}.home-streak-count{color:#ea580c;background:#fb923c1a;border-radius:4px;margin-left:auto;padding:1px 6px;font-size:.72rem;font-weight:800}.home-streak-cal{align-items:flex-end;gap:8px;display:flex}.home-streak-day{flex-direction:column;flex:1;align-items:center;gap:5px;display:flex}.home-streak-dot{aspect-ratio:1;background:var(--border);width:100%;transition:background var(--transition);border-radius:7px}.home-streak-dot.active{background:var(--accent)}.home-streak-dot.today{outline:2px solid var(--accent);outline-offset:2px}.home-streak-dot.active.today{background:var(--accent)}.home-streak-lbl{color:var(--text-tertiary);font-size:.65rem;font-weight:600}.home-goal-row{font-size:var(--text-sm);color:var(--text-secondary);align-items:center;gap:6px;display:flex}.home-goal-text{font-weight:600}.home-goal-track{background:var(--border);border-radius:9999px;height:7px;overflow:hidden}.home-goal-fill{background:var(--accent);border-radius:9999px;height:100%;transition:width .7s cubic-bezier(.22,1,.36,1)}.home-vocab-row{align-items:baseline;gap:8px;display:flex}.home-vocab-num{color:var(--text-primary);letter-spacing:-.03em;font-size:2rem;font-weight:800;line-height:1}.home-vocab-label{color:var(--text-secondary);font-size:.82rem}.home-vocab-due{font:inherit;color:var(--accent);cursor:pointer;transition:opacity var(--transition);background:0 0;border:none;align-items:center;gap:5px;padding:0;font-size:.78rem;font-weight:600;display:inline-flex}.home-vocab-due:hover{opacity:.75}.home-wod-level-badge{letter-spacing:.05em;color:var(--accent);background:var(--accent-soft);text-transform:uppercase;border:1px solid #4f46e533;border-radius:4px;margin-left:auto;padding:1px 6px;font-size:.6rem;font-weight:800}.home-wod{align-self:stretch}.home-wod-word{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.02em;margin:0;font-size:1.35rem;font-weight:800}.home-wod-meanings{flex-direction:column;gap:8px;display:flex}.home-wod-meaning-row{align-items:baseline;gap:10px;display:flex}.home-wod-lang{letter-spacing:.06em;color:#fff;background:var(--accent);border-radius:3px;flex-shrink:0;padding:2px 5px;font-size:.6rem;font-weight:800;line-height:1.6}.home-wod-def{color:var(--text-secondary);font-size:.86rem;font-weight:500;line-height:1.45}.home-wod-divider{background:var(--border);height:1px;margin:4px 0}.home-wod-section{flex-direction:column;gap:5px;display:flex}.home-wod-section-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-tertiary);font-size:.62rem;font-weight:700}.home-wod-example{color:var(--text-secondary);margin:0;font-size:.84rem;font-style:italic;line-height:1.55}.home-wod-tags-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.home-wod-tag{margin:0;font-size:.82rem;font-weight:500;line-height:1.45}.home-wod-syn{color:var(--accent)}.home-wod-ant{color:var(--text-secondary)}.home-cta-section{flex-direction:column;gap:10px;display:flex}.home-cta{border-radius:var(--radius-lg);border:1.5px solid var(--border);background:var(--bg-surface);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--transition), box-shadow var(--transition);align-items:center;gap:16px;width:100%;padding:18px 20px;display:flex}.home-cta:hover{border-color:var(--accent);box-shadow:0 2px 12px #4f46e514}.home-cta-review{background:var(--accent-soft);border-color:#4f46e540}.home-cta-review:hover{background:#4f46e51a}.home-cta-icon{border-radius:var(--radius-md);width:44px;height:44px;color:var(--accent);background:#4f46e51a;flex-shrink:0;justify-content:center;align-items:center;display:flex}.home-cta-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.home-cta-title{color:var(--text-primary);font-size:.92rem;font-weight:700}.home-cta-desc{font-size:var(--text-sm);color:var(--text-secondary)}.home-cta-arrow{color:var(--text-tertiary);transition:transform var(--transition), color var(--transition);flex-shrink:0}.home-cta:hover .home-cta-arrow{color:var(--accent);transform:translate(3px)}.home-quick-section{flex-direction:column;gap:10px;padding-bottom:8px;display:flex}.home-quick-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-tertiary);margin:0;font-size:.68rem;font-weight:700}.home-quick-links{flex-wrap:wrap;gap:8px;display:flex}.home-quick-btn{border:1px solid var(--border);border-radius:var(--radius-full);font:inherit;font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;transition:border-color var(--transition), color var(--transition), background var(--transition);background:0 0;padding:8px 16px;font-weight:500}.home-quick-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.home-legal-footer{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;margin-top:auto;padding-top:32px;padding-bottom:24px;display:flex}.home-legal-links{color:var(--text-tertiary);justify-content:center;align-items:center;gap:8px;font-size:.75rem;display:flex}.home-legal-link{color:var(--text-tertiary);font:inherit;cursor:pointer;transition:color var(--transition);background:0 0;border:none;padding:0;text-decoration:underline}.home-legal-link:hover{color:var(--accent)}.home-copyright{color:var(--text-tertiary);font-size:.7rem;line-height:1.4}@media (width<=680px){.home-page{gap:24px;padding:24px 20px 40px}.home-greeting{font-size:1.5rem}.home-widgets{grid-template-columns:1fr;gap:12px}.home-widgets-left{gap:12px}.home-wod{align-self:auto}.home-cta{gap:12px;padding:14px 16px}}.profile-page{flex-direction:column;width:100%;max-width:800px;margin:0 auto;padding:40px 48px 56px;display:flex}.profile-container{flex-direction:column;gap:40px;display:flex}.profile-top{border-bottom:1px solid var(--border);align-items:center;gap:24px;padding-bottom:32px;display:flex}.profile-avatar{border-radius:50%;flex-shrink:0}.profile-top-info{flex-direction:column;gap:4px;display:flex}.profile-name{color:var(--text-primary);margin:0;font-size:1.5rem;font-weight:800}.profile-email{color:var(--text-secondary);margin:0;font-size:.95rem}.profile-basic{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);flex-direction:column;gap:16px;padding:20px;display:flex}.detail-row{align-items:center;gap:16px;display:flex}.detail-label{color:var(--text-secondary);min-width:120px;font-size:.9rem;font-weight:600}.detail-value{color:var(--text-primary);flex:1;font-size:.95rem}.detail-edit{color:var(--text-secondary);cursor:pointer;transition:all var(--t);background:0 0;border:none;flex-shrink:0;align-items:center;padding:8px;display:flex}.detail-edit:hover{color:var(--accent);background:var(--accent-soft);border-radius:var(--r-md)}.profile-tabs{flex-direction:column;gap:24px;display:flex}.tabs-header{border-bottom:2px solid var(--border);gap:12px;display:flex}.tab-btn{font:inherit;color:var(--text-secondary);cursor:pointer;transition:all var(--t);background:0 0;border:none;border-bottom:3px solid #0000;padding:12px 20px;font-size:.95rem;font-weight:600}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.tab-content{flex-direction:column;gap:24px;display:flex}.pref-section{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-md);flex-direction:column;gap:16px;padding:20px;display:flex}.pref-title{color:var(--text-primary);border-bottom:1px solid var(--border);margin:0;padding-bottom:12px;font-size:.95rem;font-weight:700}.pref-btn{background:var(--accent);border-radius:var(--r-md);color:#fff;font:inherit;cursor:pointer;transition:all var(--t);border:none;width:fit-content;padding:10px 16px;font-size:.9rem;font-weight:600}.pref-btn:hover{background:var(--primary-dark);box-shadow:0 2px 8px #4f46e533}.checkbox-item{cursor:pointer;border-radius:var(--r-md);transition:background var(--t);align-items:center;gap:10px;padding:8px;display:flex}.checkbox-item:hover{background:var(--bg-surface)}.checkbox-item input[type=checkbox]{cursor:pointer;width:18px;height:18px}.checkbox-item span{color:var(--text-primary);font-size:.95rem}.select-input{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-surface);color:var(--text-primary);font:inherit;cursor:pointer;transition:border-color var(--t);padding:8px 12px;font-size:.9rem}.select-input:focus{border-color:var(--accent);outline:none}.no-data{color:var(--text-tertiary);text-align:center;margin:0;padding:20px 0;font-size:.9rem}.profile-danger{border-top:2px solid var(--border);flex-direction:column;gap:16px;padding-top:32px;display:flex}.danger-title{color:var(--error,#dc2626);margin:0;font-size:1rem;font-weight:700}.btn-export{background:var(--bg-surface);color:var(--text-primary);border:1.5px solid var(--border);border-radius:var(--r-md);font:inherit;cursor:pointer;transition:all var(--t);align-items:center;gap:8px;width:fit-content;margin-bottom:12px;padding:10px 20px;font-size:.9rem;font-weight:600;display:flex}.btn-export:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-export:disabled{opacity:.5;cursor:not-allowed}.btn-delete{background:var(--error,#dc2626);color:#fff;border-radius:var(--r-md);font:inherit;cursor:pointer;transition:all var(--t);border:none;align-items:center;gap:8px;width:fit-content;padding:12px 20px;font-size:.95rem;font-weight:600;display:flex}.btn-delete:hover{background:var(--error-dark,#b91c1c)}.delete-confirm{border-radius:var(--r-md);background:#dc26260d;border:1px solid #dc262633;flex-direction:column;gap:16px;padding:16px;display:flex}.delete-confirm p{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.6}.delete-actions{gap:12px;display:flex}.btn{border-radius:var(--r-md);font:inherit;cursor:pointer;transition:all var(--t);border:none;flex:1;padding:10px 16px;font-size:.9rem;font-weight:600}.btn-secondary{background:var(--bg-surface);border:1.5px solid var(--border);color:var(--text-primary)}.btn-secondary:hover{border-color:var(--accent);background:var(--accent-soft)}.btn-danger{background:var(--error,#dc2626);color:#fff}.btn-danger:hover:not(:disabled){background:var(--error-dark,#b91c1c)}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.error-msg{border-radius:var(--r-md);color:var(--error,#dc2626);background:#dc26261a;border:1px solid #dc26264d;padding:12px 16px;font-size:.9rem}@media (width<=680px){.profile-page{padding:24px 20px 40px}.profile-top{gap:16px;padding-bottom:24px}.profile-name{font-size:1.3rem}.tabs-header{gap:8px}.tab-btn{padding:10px 14px;font-size:.85rem}.detail-row{flex-wrap:wrap;gap:12px}.delete-actions{flex-direction:column}}.avatar{object-fit:cover;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.avatar-initials{background:var(--accent);color:#fff;letter-spacing:-.02em;-webkit-user-select:none;user-select:none;font-weight:700}.notfound{text-align:center;background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:100vh;padding:32px;display:flex}.notfound-code{color:var(--primary);font-size:6rem;font-weight:800;line-height:1}.notfound-title{color:var(--text-primary);margin:0;font-size:1.5rem;font-weight:700}.notfound-sub{color:var(--text-secondary);margin:0;font-size:15px}.notfound-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:8px;padding:10px 28px;font-size:14px;font-weight:600;transition:opacity .15s}.notfound-btn:hover{opacity:.85}.public-layout{background:var(--bg-primary);min-height:100vh;color:var(--text-primary);flex-direction:column;display:flex}.pub-nav{z-index:100;padding:0 var(--space-8);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#ffffffe0;flex-shrink:0;justify-content:space-between;align-items:center;height:64px;display:flex;position:sticky;top:0}.pub-wordmark{font-size:var(--text-base);color:var(--text-primary);letter-spacing:-.02em;cursor:pointer;font-weight:800;font:inherit;letter-spacing:-.02em;background:0 0;border:none;padding:0;font-weight:800}.pub-home-btn{border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font:inherit;font-size:var(--text-sm);cursor:pointer;transition:border-color var(--transition), color var(--transition);background:0 0;padding:7px 16px;font-weight:600}.pub-home-btn:hover{border-color:var(--accent);color:var(--accent)}.pub-content{width:100%;max-width:860px;padding:var(--space-12) var(--space-8);flex:1;margin:0 auto}.pub-footer{padding:var(--space-5) var(--space-8);border-top:1px solid var(--border);font-size:var(--text-xs);color:var(--text-tertiary);text-align:center}@media (width<=640px){.pub-nav{padding:0 var(--space-4)}.pub-content{padding:var(--space-8) var(--space-4)}}.sm-overlay{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.sm-panel{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-xl,16px);flex-direction:column;width:100%;max-width:440px;display:flex;overflow:hidden;box-shadow:0 24px 64px #0000002e}.sm-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.sm-title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.02em;margin:0;font-size:1.05rem;font-weight:800}.sm-close{border:1px solid var(--border);width:28px;height:28px;color:var(--text-tertiary);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;transition:border-color .15s,color .15s;display:flex}.sm-close:hover{border-color:var(--accent);color:var(--accent)}.sm-section{flex-direction:column;gap:8px;padding:20px 24px;display:flex}.sm-section-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-tertiary);margin:0;font-size:.72rem;font-weight:700}.sm-section-hint{color:var(--text-secondary);margin:0;font-size:.8rem;line-height:1.45}.sm-divider{background:var(--border);height:1px;margin:0 24px}.sm-pills{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.sm-pill{border:1.5px solid var(--border);font:inherit;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;padding:7px 14px;font-size:.82rem;font-weight:600;transition:border-color .15s,color .15s,background .15s}.sm-pill:hover{border-color:var(--accent);color:var(--accent)}.sm-pill.active{border-color:var(--accent);background:var(--accent);color:#fff}.sm-select{font:inherit;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border);cursor:pointer;border-radius:8px;outline:none;max-width:280px;margin-top:4px;padding:8px 12px;font-size:.85rem;transition:border-color .15s}.sm-select:focus{border-color:var(--accent)}.legal-page{max-width:720px;color:var(--text-primary);margin:0 auto;padding:32px 24px 64px;line-height:1.7}.legal-page h1{color:var(--text-primary);margin:0 0 8px;font-size:28px;font-weight:700}.legal-page h2{color:var(--text-primary);margin:32px 0 8px;font-size:17px;font-weight:700}.legal-page p,.legal-page ul{color:var(--text-secondary);margin:0 0 12px;font-size:14px}.legal-page ul{padding-left:20px}.legal-page li{margin-bottom:6px}.legal-page code{background:var(--surface-2);color:var(--primary);border-radius:4px;padding:1px 5px;font-family:monospace;font-size:12px}.legal-notice{color:var(--text-3)!important;margin-bottom:24px!important;font-size:12px!important}.legal-back{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:24px;padding:0;font-size:13px;transition:color .15s;display:inline-flex}.legal-back:hover{color:var(--primary)}.conv-page{flex-direction:column;min-height:100%;display:flex}.conv-section{padding:36px 40px}.conv-heading{font-family:var(--font-display);color:var(--text-primary);margin:0 0 24px;font-size:1.25rem;font-weight:800}.conv-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.conv-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg,12px);cursor:pointer;text-align:left;flex-direction:column;align-items:flex-start;gap:14px;padding:24px;transition:border-color .15s,box-shadow .15s,transform .12s;display:flex}.conv-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 20px #4f46e51f}.conv-card:active{transform:translateY(0)}.conv-card-soon{cursor:not-allowed;pointer-events:none;position:relative;overflow:hidden}.conv-card-soon:before{content:"";-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:rgba(var(--bg-surface-rgb,255,255,255), .55);z-index:1;border-radius:inherit;position:absolute;inset:0}.conv-card-soon:after{content:"Coming soon";font-family:var(--font-sans);color:var(--accent);text-transform:uppercase;letter-spacing:.08em;z-index:2;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex;position:absolute;inset:0}.conv-soon-badge{display:none}.conv-card-icon{background:var(--accent-soft);border-radius:var(--radius-md,8px);width:56px;height:56px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:flex}.conv-card-body{flex-direction:column;gap:4px;display:flex}.conv-card-title{color:var(--text-primary);margin:0;font-size:1rem;font-weight:700}.conv-card-sub{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.75rem;font-weight:600}.conv-card-desc{color:var(--text-secondary);margin:4px 0 0;font-size:.8rem;line-height:1.45}.conv-card-tip{color:var(--text-tertiary);background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;align-items:center;gap:5px;margin-top:8px;padding:4px 8px;font-size:.72rem;display:flex}.conv-setup{max-width:820px;padding:36px 40px}.conv-setup-back{color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:24px;padding:0;font-size:.82rem;font-weight:500;transition:color .12s;display:inline-flex}.conv-setup-back:hover{color:var(--accent)}.conv-setup-header{align-items:center;gap:14px;margin-bottom:28px;display:flex}.conv-setup-icon{flex-shrink:0;width:48px;height:48px}.conv-setup-title{font-family:var(--font-display);color:var(--text-primary);margin:0 0 2px;font-size:1.2rem;font-weight:800}.conv-setup-sub{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.78rem;font-weight:600}.conv-setup-hint{color:var(--text-secondary);margin:0 0 10px;font-size:.82rem}.conv-setup-desc{color:var(--text-secondary);margin:0 0 24px;font-size:.85rem;line-height:1.55}.conv-setup-field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.conv-setup-field label{color:var(--text-primary);font-size:.82rem;font-weight:600}.conv-setup-field input,.conv-setup-field select,.conv-setup-field textarea{border:1px solid var(--border);border-radius:var(--r-md,8px);background:var(--bg-page);color:var(--text-primary);font-family:var(--font-sans);resize:vertical;padding:10px 12px;font-size:.875rem;transition:border-color .12s}.conv-setup-field input:focus,.conv-setup-field select:focus,.conv-setup-field textarea:focus{border-color:var(--accent);outline:none}.conv-setup-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.conv-chips{flex-wrap:wrap;gap:10px;margin-bottom:24px;display:flex}.conv-chip{border:1.5px solid var(--border);background:var(--bg-surface);color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;border-radius:24px;padding:8px 18px;font-size:.85rem;font-weight:500;transition:border-color .12s,color .12s,background .12s}.conv-chip:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.conv-chip.active{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:600}.conv-chip-random{border-style:dashed;font-weight:600}.conv-chip-random.active{border-style:solid}.conv-setup-start{background:var(--accent);color:#fff;border-radius:var(--r-md,8px);width:100%;font-family:var(--font-sans);cursor:pointer;border:none;margin-top:4px;padding:12px;font-size:.9rem;font-weight:600;transition:background .12s,opacity .12s}.conv-setup-start:hover:not(:disabled){background:var(--primary-dark,#4338ca)}.conv-setup-start:disabled{opacity:.45;cursor:not-allowed}.conv-stage{flex-direction:column;min-height:100%;display:flex}.conv-stage-header{border-bottom:1px solid var(--border);background:var(--bg-surface);z-index:5;align-items:center;gap:14px;padding:12px 24px;display:flex;position:sticky;top:0}.conv-back-btn{border:1px solid var(--border);border-radius:var(--radius-sm,6px);color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;font-weight:500;transition:border-color .12s,color .12s,background .12s;display:flex}.conv-back-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.conv-stage-title{color:var(--text-primary);align-items:center;gap:8px;font-size:.9rem;font-weight:600;display:flex}.conv-stage-sub{color:var(--text-secondary);font-size:.78rem;font-weight:400}.conv-stage-body{flex:1}.hangman{flex-direction:column;gap:20px;max-width:800px;margin:0 auto;padding:20px;display:flex}.hangman-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.hangman-header h2{margin:0;font-size:28px}.hangman-score{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:20px;padding:8px 16px;font-size:18px;font-weight:600}.hangman-header-right{align-items:center;gap:12px;display:flex}.hangman-level{border:2px solid #667eea;border-radius:8px;display:inline-flex;overflow:hidden}.hangman-level-btn{color:#667eea;cursor:pointer;background:#fff;border:none;padding:7px 14px;font-size:14px;font-weight:600;transition:all .15s}.hangman-level-btn+.hangman-level-btn{border-left:2px solid #667eea}.hangman-level-btn.active{color:#fff;background:#667eea}.hangman-loading,.hangman-error{text-align:center;padding:40px 20px;font-size:18px}.hangman-error{color:#d32f2f;margin-bottom:20px}.hangman-content{background:#fff;border-radius:12px;grid-template-columns:1fr 1.5fr;gap:30px;padding:20px;display:grid;box-shadow:0 2px 8px #0000001a}.hangman-visual{flex-direction:column;align-items:center;gap:20px;display:flex}.hangman-drawing{color:#333;background:#f5f5f5;border-radius:8px;justify-content:center;align-items:center;min-height:180px;padding:15px;font-family:Courier New,monospace;font-size:14px;line-height:1.3;display:flex}.hangman-lives{color:#d32f2f;background:#ffebee;border-radius:8px;padding:10px 20px;font-size:18px;font-weight:600}.hangman-game{flex-direction:column;gap:20px;display:flex}.hangman-word-display{text-align:center;letter-spacing:8px;color:#1565c0;background:#f5f5f5;border-radius:8px;padding:20px;font-family:Courier New,monospace;font-size:36px;font-weight:700}.hangman-wrong-letters{background:#fff3e0;border-left:4px solid #ff9800;border-radius:4px;padding:12px 16px}.hangman-wrong-letters p{color:#e65100;margin:0;font-size:14px}.hangman-status{text-align:center;border-radius:8px;padding:16px;font-size:16px;font-weight:600}.hangman-status.won{color:#2e7d32;background:#e8f5e9}.hangman-status.lost{color:#c62828;background:#ffebee}.hangman-status p{margin:8px 0 0;font-size:14px;font-weight:400}.hangman-alphabet{grid-template-columns:repeat(8,1fr);gap:6px;display:grid}.hangman-letter{color:#1565c0;cursor:pointer;background:#fff;border:2px solid #1565c0;border-radius:6px;padding:8px;font-size:14px;font-weight:600;transition:all .2s}.hangman-letter:hover:not(:disabled){color:#fff;background:#1565c0;transform:scale(1.05)}.hangman-letter:disabled{opacity:.5;cursor:not-allowed;color:#999;background:#f5f5f5}.hangman-letter.guessed{opacity:.6;color:#999;border-color:#999}.hangman-letter.guessed.wrong{color:#d32f2f;background:#ffebee;border-color:#d32f2f}.hangman-actions{gap:12px;margin-top:10px;display:flex}.hangman-btn{cursor:pointer;border:none;border-radius:8px;flex:1;padding:12px 16px;font-size:16px;font-weight:600;transition:all .2s}.hangman-next{color:#fff;background:#667eea}.hangman-next:hover{background:#5568d3}.hangman-show{color:#e65100;background:#fff3e0}.hangman-show:hover{background:#ffe0b2}.hangman-done{color:#333;background:#f5f5f5}.hangman-done:hover{background:#e0e0e0}.hangman-close-btn{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:8px;margin-top:20px;padding:12px 24px;font-size:16px}@media (width<=600px){.hangman-content{grid-template-columns:1fr}.hangman-alphabet{grid-template-columns:repeat(6,1fr)}.hangman-word-display{letter-spacing:4px;font-size:28px}.hangman-drawing{min-height:140px;font-size:12px}}.games-page{flex-direction:column;min-height:100%;display:flex}.games-section{padding:36px 40px}.games-heading{font-family:var(--font-display);color:var(--text-primary);margin:0 0 24px;font-size:1.25rem;font-weight:800}.games-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.game-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg,12px);cursor:pointer;text-align:left;flex-direction:column;align-items:flex-start;gap:12px;padding:24px;transition:border-color .15s,box-shadow .15s,transform .12s;display:flex}.game-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 20px #4f46e51f}.game-card:active{transform:translateY(0)}.game-card-icon{background:var(--accent-soft);border-radius:var(--radius-md,8px);width:56px;height:56px;color:var(--accent);justify-content:center;align-items:center;display:flex}.game-card-title{color:var(--text-primary);margin:0;font-size:.95rem;font-weight:700}.game-card-soon{opacity:.55;cursor:default}.game-card-soon:hover{border-color:var(--border);box-shadow:none;transform:none}.game-card-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.game-card-soon-badge{text-transform:uppercase;letter-spacing:.05em;background:var(--bg-primary);border:1px solid var(--border);color:var(--text-tertiary);white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:.62rem;font-weight:700}.game-card-desc{color:var(--text-secondary);margin:0;font-size:.8rem;line-height:1.45}.game-stage{flex-direction:column;min-height:100%;display:flex}.game-stage-header{border-bottom:1px solid var(--border);background:var(--bg-surface);z-index:5;align-items:center;gap:14px;padding:12px 24px;display:flex;position:sticky;top:0}.game-back-btn{border:1px solid var(--border);border-radius:var(--radius-sm,6px);color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;font-weight:500;transition:border-color .12s,color .12s,background .12s;display:flex}.game-back-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.game-stage-title{color:var(--text-primary);font-size:.9rem;font-weight:600}.game-stage-body{flex:1}.exercises-page{flex-direction:column;min-height:100%;display:flex}.exercises-section{padding:36px 40px}.exercises-heading{font-family:var(--font-display);color:var(--text-primary);margin:0 0 24px;font-size:1.25rem;font-weight:800}.exercises-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.exercise-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg,12px);cursor:pointer;text-align:left;flex-direction:column;align-items:flex-start;gap:12px;padding:24px;transition:border-color .15s,box-shadow .15s,transform .12s;display:flex}.exercise-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 20px #4f46e51f}.exercise-card:active{transform:translateY(0)}.exercise-card-icon{background:var(--accent-soft);border-radius:var(--radius-md,8px);width:56px;height:56px;color:var(--accent);justify-content:center;align-items:center;display:flex}.exercise-card-title{color:var(--text-primary);align-items:center;gap:8px;margin:0;font-size:.95rem;font-weight:700;display:flex}.exercise-card-badge{background:var(--accent);color:#fff;border-radius:10px;padding:1px 7px;font-size:.68rem;font-weight:700}.exercise-card-desc{color:var(--text-secondary);margin:0;font-size:.8rem;line-height:1.45}.exercise-stage{flex-direction:column;min-height:100%;display:flex}.exercise-stage-header{border-bottom:1px solid var(--border);background:var(--bg-surface);z-index:5;align-items:center;gap:14px;padding:12px 24px;display:flex;position:sticky;top:0}.exercise-back-btn{border:1px solid var(--border);border-radius:var(--radius-sm,6px);color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;font-weight:500;transition:border-color .12s,color .12s,background .12s;display:flex}.exercise-back-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.exercise-stage-title{color:var(--text-primary);font-size:.9rem;font-weight:600}.exercise-stage-body{flex:1}.vocab-page{flex-direction:column;min-height:100%;display:flex}.vocab-header{border-bottom:1px solid var(--border);flex-direction:column;gap:16px;padding:32px 40px 20px;display:flex}.vocab-header-left{flex-wrap:wrap;align-items:baseline;gap:16px;display:flex}.vocab-title{font-family:var(--font-display);color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:800}.vocab-stats-row{align-items:center;gap:6px;font-size:.78rem;display:flex}.vocab-stat{color:var(--text-secondary)}.vocab-stat-sep{color:var(--text-tertiary)}.vocab-stat-green{color:#16a34a}.vocab-stat-amber{color:#d97706}.vocab-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.vocab-search-wrap{flex:1;min-width:180px;max-width:320px;position:relative}.vocab-search-icon{color:var(--text-tertiary);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.vocab-search{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm,6px);width:100%;color:var(--text-primary);font-family:var(--font-sans);box-sizing:border-box;outline:none;padding:7px 10px 7px 30px;font-size:.85rem;transition:border-color .12s}.vocab-search:focus{border-color:var(--accent)}.vocab-level-pills{flex-wrap:wrap;gap:4px;display:flex}.vocab-level-pill{border:1px solid var(--border);color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;background:0 0;border-radius:20px;padding:4px 10px;font-size:.75rem;font-weight:600;transition:background .12s,color .12s,border-color .12s}.vocab-level-pill:hover{border-color:var(--accent);color:var(--accent)}.vocab-level-pill.active{background:var(--accent);border-color:var(--accent);color:#fff}.vocab-list{flex:1;padding:8px 0}.vocab-empty{color:var(--text-tertiary);padding:40px;font-size:.85rem}.vocab-empty-state{text-align:center;color:var(--text-secondary);flex-direction:column;align-items:center;gap:12px;max-width:380px;margin:0 auto;padding:60px 40px;font-size:.85rem;line-height:1.5;display:flex}.vocab-empty-icon{color:var(--text-tertiary)}.vocab-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 40px;transition:background .1s;display:flex}.vocab-row:hover{background:var(--bg-surface)}.vocab-row-main{flex:1;align-items:baseline;gap:12px;min-width:0;display:flex}.vocab-word{color:var(--text-primary);white-space:nowrap;font-size:.95rem;font-weight:600}.vocab-article{color:var(--accent);font-weight:400}.vocab-meaning{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.vocab-row-meta{flex-shrink:0;align-items:center;gap:8px;display:flex}.vocab-level-badge{background:var(--accent-soft);color:var(--accent);border-radius:4px;padding:2px 6px;font-size:.65rem;font-weight:700}.vocab-box-badge{font-size:.72rem;font-weight:600}.vocab-reviews{color:var(--text-tertiary);font-size:.72rem}.vocab-delete-btn{width:26px;height:26px;color:var(--text-tertiary);border-radius:var(--radius-sm,6px);cursor:pointer;opacity:0;background:0 0;border:none;justify-content:center;align-items:center;transition:color .12s,background .12s;display:flex}.vocab-row:hover .vocab-delete-btn{opacity:1}.vocab-delete-btn:hover{color:#ef4444;background:#ef444414}.vocab-delete-btn:disabled{opacity:.4;cursor:not-allowed}.prog-page{flex-direction:column;gap:0;min-height:100%;display:flex}.prog-loading{color:var(--text-tertiary);padding:40px;font-size:.85rem}.prog-hero{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:32px;padding:32px 40px 28px;display:flex}.prog-hero-level{flex-shrink:0;align-items:center;gap:14px;display:flex}.prog-cefr{background:var(--accent);color:#fff;border-radius:var(--radius-md,8px);width:56px;height:56px;font-family:var(--font-display);justify-content:center;align-items:center;font-size:1.1rem;font-weight:800;display:flex}.prog-level-info{flex-direction:column;gap:2px;display:flex}.prog-level-num{color:var(--text-primary);font-size:1.05rem;font-weight:700}.prog-xp-total{color:var(--text-secondary);font-size:.78rem}.prog-xp-section{flex-direction:column;flex:1;gap:8px;min-width:200px;display:flex}.prog-xp-row{justify-content:space-between;align-items:center;font-size:.78rem;display:flex}.prog-xp-label{color:var(--text-secondary);align-items:center;gap:4px;display:flex}.prog-xp-pct{color:var(--accent);font-weight:600}.prog-bar-track{background:var(--bg-surface);border:1px solid var(--border);border-radius:99px;height:6px;overflow:hidden}.prog-bar-fill{border-radius:99px;height:100%;transition:width .4s}.prog-stats-grid{border-bottom:1px solid var(--border);background:var(--border);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1px;display:grid}.prog-stat-card{background:var(--bg-primary);align-items:center;gap:12px;padding:20px 28px;display:flex}.prog-stat-icon{background:var(--accent-soft);width:36px;height:36px;color:var(--accent);border-radius:var(--radius-sm,6px);flex-shrink:0;justify-content:center;align-items:center;display:flex}.prog-stat-body{flex-direction:column;gap:1px;display:flex}.prog-stat-value{color:var(--text-primary);font-size:1rem;font-weight:700}.prog-stat-label{color:var(--text-secondary);font-size:.75rem}.prog-stat-sub{color:var(--text-tertiary);font-size:.7rem}.prog-section{border-bottom:1px solid var(--border);padding:28px 40px}.prog-section-title{font-family:var(--font-display);color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 18px;font-size:.9rem;font-weight:700}.prog-skills{flex-direction:column;gap:16px;max-width:600px;display:flex}.prog-skill-row{flex-direction:column;gap:5px;display:flex}.prog-skill-head{align-items:center;gap:8px;display:flex}.prog-skill-label{color:var(--text-primary);flex:1;font-size:.85rem;font-weight:600}.prog-skill-cefr{background:var(--accent-soft);color:var(--accent);border-radius:4px;padding:2px 6px;font-size:.65rem;font-weight:700}.prog-skill-acc{color:var(--text-secondary);text-align:right;min-width:36px;font-size:.78rem;font-weight:700}.prog-skill-sub{color:var(--text-tertiary);font-size:.7rem}.prog-empty{color:var(--text-tertiary);margin:0;font-size:.82rem}.prog-badges{flex-wrap:wrap;gap:10px;display:flex}.prog-badge{border:1px solid var(--border);border-radius:var(--radius-md,8px);text-align:center;flex-direction:column;align-items:center;gap:5px;min-width:80px;padding:14px 16px;display:flex}.prog-badge-earned{background:var(--bg-surface);border-color:var(--accent)}.prog-badge-locked{background:var(--bg-primary);opacity:.45}.prog-badge-emoji{font-size:1.5rem}.prog-badge-name{color:var(--text-secondary);font-size:.68rem;font-weight:600}:root{--color-slate-50:#f8fafc;--color-slate-100:#f1f5f9;--color-slate-200:#e2e8f0;--color-slate-300:#cbd5e1;--color-slate-400:#94a3b8;--color-slate-500:#64748b;--color-slate-600:#475569;--color-slate-700:#334155;--color-slate-800:#1e293b;--color-slate-900:#0f172a;--color-slate-950:#020617;--color-indigo-50:#eef2ff;--color-indigo-100:#e0e7ff;--color-indigo-200:#c7d2fe;--color-indigo-300:#a5b4fc;--color-indigo-400:#818cf8;--color-indigo-500:#6366f1;--color-indigo-600:#4f46e5;--color-indigo-700:#4338ca;--color-indigo-800:#3730a3;--color-indigo-900:#312e81;--color-emerald-50:#ecfdf5;--color-emerald-500:#10b981;--color-emerald-600:#059669;--color-emerald-700:#047857;--color-red-50:#fef2f2;--color-red-200:#fecaca;--color-red-500:#ef4444;--color-red-600:#dc2626;--color-amber-50:#fffbeb;--color-amber-500:#f59e0b;--color-amber-600:#d97706;--bg-page:var(--color-slate-50);--bg-surface:#fff;--bg-elevated:#fff;--bg-inset:var(--color-slate-100);--bg-hover:var(--color-slate-100);--sidebar-bg:var(--color-slate-900);--sidebar-border:#ffffff0f;--sidebar-text:var(--color-slate-400);--sidebar-text-active:#fff;--sidebar-hover:#ffffff0f;--sidebar-active:#6366f12e;--sidebar-accent:var(--color-indigo-400);--text-primary:var(--color-slate-900);--text-secondary:var(--color-slate-500);--text-muted:var(--color-slate-400);--text-disabled:var(--color-slate-300);--text-inverse:#fff;--text-on-accent:#fff;--border:var(--color-slate-200);--border-strong:var(--color-slate-300);--border-focus:var(--color-indigo-500);--accent:var(--color-indigo-600);--accent-hover:var(--color-indigo-700);--accent-active:var(--color-indigo-800);--accent-soft:var(--color-indigo-50);--accent-muted:var(--color-indigo-100);--accent-text:var(--color-indigo-600);--success:var(--color-emerald-600);--success-bg:var(--color-emerald-50);--success-border:var(--success-border);--error:var(--color-red-600);--error-bg:var(--color-red-50);--error-border:var(--color-red-200);--warning:var(--color-amber-600);--warning-bg:var(--color-amber-50);--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Plus Jakarta Sans", var(--font-sans);--font-mono:"Fira Code", "Cascadia Code", "Consolas", monospace;--text-xs:11px;--text-sm:12px;--text-base:14px;--text-md:15px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--text-3xl:36px;--text-4xl:48px;--text-5xl:64px;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-extrabold:800;--space-0:0px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-full:9999px;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000d;--shadow-md:0 4px 6px #00000012, 0 2px 4px #0000000d;--shadow-lg:0 10px 15px #00000012, 0 4px 6px #0000000a;--shadow-xl:0 20px 25px #00000014, 0 8px 10px #0000000a;--shadow-2xl:0 25px 50px #0000001f;--shadow-inner:inset 0 2px 4px #0000000d;--shadow-focus:0 0 0 3px #6366f140;--shadow-accent:0 4px 14px #4f46e559;--duration-fast:.1s;--duration-base:.15s;--duration-slow:.25s;--ease-default:cubic-bezier(.4, 0, .2, 1);--ease-spring:cubic-bezier(.22, 1, .36, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--transition:var(--duration-base) var(--ease-default);--sidebar-width:224px;--topbar-height:52px;--content-max-w:900px;--chat-max-w:720px;--z-base:1;--z-raised:10;--z-sticky:100;--z-overlay:200;--z-modal:300;--z-toast:400;--bg-primary:var(--bg-page);--bg:var(--bg-page);--surface:var(--bg-surface);--surface-2:var(--bg-surface);--surface-3:var(--bg-inset);--text-1:var(--text-primary);--text-2:var(--text-secondary);--text-3:var(--text-muted);--text-tertiary:var(--text-muted);--primary:var(--accent);--primary-dark:var(--accent-hover);--primary-light:var(--accent-soft);--primary-muted:var(--accent-muted);--danger:var(--error);--danger-light:var(--error-bg);--danger-border:var(--error-border);--success-light:var(--success-bg);--r-sm:var(--radius-sm);--r-md:var(--radius-md);--r-lg:var(--radius-lg);--r-xl:var(--radius-xl);--r-2xl:var(--radius-2xl);--r-full:var(--radius-full);--shadow-card:var(--shadow-sm);--shadow-modal:var(--shadow-xl);--t:var(--transition);--border-2:var(--border-strong);--header:var(--text-primary);--bg-surface-rgb:255,255,255}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-regular);line-height:var(--leading-normal);background-color:var(--bg-page);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--weight-bold);line-height:var(--leading-tight);color:var(--text-primary)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}input,textarea,select,button{font-family:inherit;font-size:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
