.card{border-radius:20px;padding:20px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #0000001a}.card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a,0 8px 16px #0000001a}.section-title{font-size:1.75rem;font-weight:700;color:#1e293b}.section-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.section-add-icon{width:36px;height:36px;color:#1e293b;cursor:pointer;transition:opacity .2s}.section-add-icon:hover{opacity:.6}.spacer{height:20px}.highlight-card{border:none;padding:4px 12px;border-radius:10px;display:inline-block;margin:7px 0;font-weight:700;transition:all .3s ease}.highlight-card:hover{box-shadow:0 12px 24px #00000026,0 45px 45px #0000001a,inset 0 0 0 1px #0000001a;transform:scale(1.05)}.highlight-card--untouched{background:#e2e8f0;color:#718096}.highlight-card--beginner{background:linear-gradient(135deg,#ffebce,#ff856f)}.highlight-card--intermediate{background:linear-gradient(135deg,#fdff88,#ffa85b)}.highlight-card--proficient{background:linear-gradient(135deg,#ccffe7,#89c6ff)}.highlight-card--mastered{background:linear-gradient(135deg,#fec0ff,#5effac)}.loading-state,.error-state{padding:40px;text-align:center;color:#718096}@keyframes shimmer{0%{background-position:-468px 0}to{background-position:468px 0}}.skeleton-container{margin-top:15px;margin-bottom:15px;display:flex;flex-direction:column;gap:10px}.skeleton-line{height:1.1rem;background:#f6f7f8;background-image:linear-gradient(to right,#f6f7f8,#edeef1,#f6f7f8 40%,#f6f7f8);background-repeat:no-repeat;background-size:800px 104px;display:inline-block;position:relative;animation:shimmer 1.5s infinite linear;border-radius:4px}.w-full{width:100%}.w-XL{width:90%}.w-L{width:75%}.w-M{width:50%}.w-S{width:33%}.w-XS{width:20%}.mb-4{margin-bottom:1rem}.skeleton-pulse{animation:pulse 1.5s infinite ease-in-out}@keyframes pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.skeleton-card{border-radius:20px;padding:20px;background:#fff;box-shadow:0 4px 12px #0000001a;display:flex;flex-direction:column;gap:12px;margin-bottom:2rem}.skeleton-card-header{display:flex;justify-content:space-between;align-items:center}.skeleton-progress{height:8px;background:#f6f7f8;background-image:linear-gradient(to right,#f6f7f8,#edeef1,#f6f7f8 40%,#f6f7f8);background-repeat:no-repeat;background-size:800px 104px;animation:shimmer 1.5s infinite linear;border-radius:10px}.skeleton-btn{height:38px;width:80px;background:#f6f7f8;background-image:linear-gradient(to right,#f6f7f8,#edeef1,#f6f7f8 40%,#f6f7f8);background-repeat:no-repeat;background-size:800px 104px;animation:shimmer 1.5s infinite linear;border-radius:12px;display:inline-block}.skeleton-mastery-row{display:flex;justify-content:space-around;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid #e2e8f0}.skeleton-mastery-item{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1}.definition-divider{height:1px;background:#e2e8f0;margin:15px 0}.progress-bar-container,.loading-progress-bar-container{width:100%;height:8px;background:#e2e8f0;border-radius:10px;overflow:hidden}.progress-bar-inner{height:100%;background:linear-gradient(to right,#9fe0ff,#5effac);transition:width .5s ease-out;border-radius:10px}.loading-progress-bar-inner{height:100%;background:linear-gradient(to right,#9fe0ff,#5effac);border-radius:10px}.loading-progress-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;min-height:300px;padding:40px 20px;width:100%;max-width:750px;margin:0 auto}.loading-progress-text{font-size:1.05rem;color:#718096;font-weight:600;font-style:italic;animation:loading-text-pulse 1.6s ease-in-out infinite}@keyframes loading-text-pulse{0%,to{opacity:.6}50%{opacity:1}}.app-container{background-color:#fcfcfc;padding:40px 20px;display:flex;justify-content:center;min-height:200vh}.learning-session-container{display:flex;flex-direction:column;gap:20px;width:100%;max-width:750px;margin:0 auto}.sentence-card-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.sentence-card-header{font-size:1.8rem;font-weight:700;color:#2c3e50;margin-bottom:12px;line-height:1.3}.sentence-card-subheader{font-size:1.3rem;font-weight:600;color:#7f8c8d;margin-bottom:12px}.sentence-card-body{color:#5d6d7e;line-height:1.7;font-size:1.2rem;font-weight:700;color:#2d3748;transition:all .5s ease}.sentence-card-body-hidden{filter:blur(4px);opacity:0}.regular-card{transition:all .3s ease}.regular-card-hover{border:none;padding:4px 12px;border-radius:10px;display:inline-block;box-shadow:0 12px 24px #00000026,0 45px 45px #0000001a,inset 0 0 0 1px #0000001a;transform:scale(1.05)}.vocab-stack{display:flex;flex-direction:column;gap:15px}.vocab-card-container{border-radius:20px;padding:3px;overflow:hidden;transition:all .5s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #0000001a}.vocab-card-container-hidden{opacity:0;translate:0px 50px;filter:blur(4px)}.vocab-card-container:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;box-shadow:0 4px 12px #0000001a,0 8px 16px #0000001a}.vocab-card-content{background:#fff;border-radius:18px;padding:20px}.vocab-card-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.vocab-card-word{font-size:1.4rem;color:#2d3748;text-transform:capitalize;font-weight:700}.familiarity-badge{font-size:.75rem;font-weight:700;color:#718096;background:#f7fafc;padding:4px 10px;border-radius:20px;border:1px solid #e2e8f0}.familiarity-section{padding:10px;background:#f9fafb;border-radius:12px}.familiarity-label{display:block;font-size:.8rem;color:#718096;margin-bottom:8px;font-weight:600}.familiarity-slider{width:100%;cursor:pointer;accent-color:#4a5568}.familiarity-slider:disabled{cursor:default;opacity:.6}.familiarity-text-hint{text-align:center;font-size:.85rem;font-weight:700;color:#4a5568;margin-top:5px}.reveal-action-container{text-align:center;margin-top:10px}.reveal-btn{font-size:.8rem;color:#fff;background:#2d3748;padding:6px 16px;border-radius:8px;font-weight:600;transition:all .2s}.reveal-btn:hover{background:#4a5568}.vocab-card-definitions{overflow:hidden;cursor:pointer}.vocab-definition-item{display:flex;gap:10px;margin-bottom:12px;align-items:flex-start}.vocab-type-tag{font-size:.7rem;font-weight:700;text-transform:uppercase;background:#edf2f7;color:#4a5568;padding:2px 6px;border-radius:4px;margin-top:3px;flex-shrink:0}.vocab-definition-text{font-size:.95rem;color:#4a5568;line-height:1.5}.reveal-definition-block{display:grid;transition:grid-template-rows .3s ease;border-radius:12px;overflow:hidden}.reveal-definition-block.is-revealed{grid-template-rows:1fr}.reveal-definition-block>.inner{overflow:hidden}.reveal-definition-block>.content{overflow:hidden}.reveal-definition-block.is-hidden{background:#f8f9fa;grid-template-rows:0fr;cursor:pointer;border:2px dashed #e2e8f0}.reveal-definition-block.is-hidden:hover{background:#edf2f7;border-color:#cbd5e0}.reveal-placeholder{text-align:center;padding:15px}.reveal-btn-text{font-size:.85rem;font-weight:700;color:#718096;text-transform:uppercase;letter-spacing:.5px}.learning-session-wrapper{display:flex;justify-content:center;align-items:flex-start;width:100%;margin:0 auto}.learning-session-main{width:750px;flex-shrink:0;display:flex;flex-direction:column;gap:20px}.learning-session-wrapper:has(.explanation-sidebar.open) .learning-session-main{width:600px}.explanation-sidebar{overflow:hidden;width:0;opacity:0;transition:width .4s ease,opacity .25s ease}@media (min-width: 1280px){.explanation-sidebar{position:sticky;top:0;height:100vh;padding:20px 0}.explanation-sidebar .explanation-panel{width:600px;height:100%;overflow-y:auto;border-radius:20px;box-shadow:0 4px 12px #0000001a;border-left:4px solid rgb(94,255,172);padding:24px}.explanation-sidebar.open{width:600px;opacity:1;margin-left:24px}.explanation-inline{display:none}}.explanation-inline{width:100%}.explanation-inline .explanation-panel{border-radius:20px;box-shadow:0 4px 12px #0000001a;border-left:4px solid rgb(94,255,172);padding:24px;background:#fff;line-height:1.7;color:#2d3748}@media (max-width: 1279px){.learning-session-wrapper{flex-direction:column;align-items:center}.learning-session-main{max-width:740px}.explanation-sidebar{display:none}.explanation-inline{display:block}}.btn-explain{font-size:.85rem;color:#fff;background:linear-gradient(135deg,#9fe0ff,#5effac);padding:12px 40px;border-radius:10px;font-weight:700;transition:all .2s ease;border:none;cursor:pointer;align-self:flex-start;letter-spacing:.3px}.btn-explain:hover{transform:translateY(-1px);box-shadow:0 4px 12px #5effac66}.btn-explain:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.explanation-panel{background:#fff;border-radius:20px;padding:24px;box-shadow:0 4px 12px #0000001a;border-left:4px solid rgb(94,255,172);line-height:1.7;color:#2d3748}.explanation-loading{display:flex;align-items:center;gap:12px;padding:20px 0;min-height:60px}.explanation-loading-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,#9fe0ff,#5effac);animation:explanation-dot-pulse 1.2s ease-in-out infinite}@keyframes explanation-dot-pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.explanation-loading-text{font-size:1rem;color:#718096;font-weight:600;font-style:italic;animation:loading-text-pulse 1.6s ease-in-out infinite}.explanation-entrance{animation:explanation-blur-in .5s ease forwards}@keyframes explanation-blur-in{0%{filter:blur(4px);opacity:0;transform:translateY(8px)}to{filter:blur(0);opacity:1;transform:translateY(0)}}.explanation-content h2,.explanation-content h3{margin-top:16px;margin-bottom:8px;color:#1a202c}.explanation-content h3:first-child{margin-top:0}.explanation-content p{margin-bottom:12px}.explanation-content strong{color:#1a202c}.explanation-content ul{padding-left:20px;margin-bottom:12px}.explanation-content li{margin-bottom:4px}.learning-session-actions{display:flex;gap:8px}.btn-back{font-size:.8rem;color:#fff;background:#718096;padding:6px 16px;border-radius:8px;font-weight:600;transition:all .2s;border:none;cursor:pointer}.btn-back:hover{background:#4a5568}.btn-finish{font-size:.8rem;color:#fff;background:#38a169;padding:6px 16px;border-radius:8px;font-weight:600;transition:all .2s;border:none;cursor:pointer}.btn-finish:hover{background:#2f855a}.btn-submit{font-size:.8rem;color:#fff;background:#2d3748;padding:6px 16px;border-radius:8px;font-weight:600;transition:all .2s;border:none;cursor:pointer}.btn-submit:hover{background:#4a5568}.btn-submit:disabled{background:#a0aec0;cursor:not-allowed;opacity:.6}.checkout-deck-card{padding:24px;transition:all .5s cubic-bezier(.4,0,.2,1)}.checkout-deck-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.checkout-deck-name{font-size:1.3rem;font-weight:700;color:#2d3748}.checkout-progress-row{display:flex;align-items:center;gap:12px}.checkout-progress-bar-container{flex:1}.checkout-progress-pct{font-size:1rem;font-weight:700;color:#2d3748;min-width:56px;text-align:right;font-variant-numeric:tabular-nums}.checkout-progress-change{font-size:.85rem;font-weight:700;color:#38a169;opacity:0;transition:opacity .3s ease}.checkout-progress-change--visible{opacity:1}.checkout-progress-change--negative{color:#e53e3e}.checkout-container{display:flex;flex-direction:column;gap:16px;width:100%;max-width:750px;margin:0 auto;padding:40px 20px}.checkout-header{display:flex;justify-content:space-between;align-items:center}.checkout-word-list{display:flex;flex-direction:column;gap:12px}.checkout-score-change{font-size:.85rem;font-weight:700;color:#38a169;opacity:0;transition:opacity .3s ease}.checkout-score-change--visible{opacity:1}.checkout-score-change.checkout-score-negative{color:#e53e3e}.promotion-tag{position:absolute;top:7px;left:7px;transform-origin:top left;font-size:.8rem;font-weight:800;letter-spacing:.08em;padding:3px 10px;border-radius:10px;z-index:10;pointer-events:none}.checkout-word-row-wrapper--promoted .promotion-tag{background:#5effac;color:#1a202c;box-shadow:0 2px 6px #5effac66}.checkout-word-row-wrapper--demoted .promotion-tag{background:linear-gradient(135deg,#fc8181,#e53e3e);color:#fff;box-shadow:0 2px 6px #e53e3e66}.badge-group{display:flex;align-items:center;gap:6px}.familiarity-badge--old{text-decoration:line-through;opacity:.6}.checkout-deck-card,.checkout-word-row-wrapper{transition:all .5s cubic-bezier(.4,0,.2,1)}.deck-detail-container{display:flex;flex-direction:column;gap:16px;width:100%;max-width:750px;margin:0 auto;padding:40px 20px}.deck-detail-header{display:flex;justify-content:space-between;align-items:center}.back-button{display:inline-flex;align-items:center;gap:6px;background:none;border:none;padding:4px 0;cursor:pointer;color:#a0aec0;font-size:.9rem;font-weight:500}.back-button:hover{color:#718096}.back-button-icon{width:18px;height:18px}.mastery-summary-row{display:flex;justify-content:space-around;margin-top:16px;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.mastery-summary-group{display:flex;flex-direction:column;align-items:center;position:relative;flex:1}.mastery-summary-count{font-size:2.6rem;font-weight:800;line-height:1.3}.mastery-count--untouched{color:#718096}.mastery-count--beginner{background:linear-gradient(135deg,#ffebce,#ff856f);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.mastery-count--intermediate{background:linear-gradient(135deg,#fdff88,#ffa85b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.mastery-count--proficient{background:linear-gradient(135deg,#ccffe7,#89c6ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.mastery-count--mastered{background:linear-gradient(135deg,#fec0ff,#5effac);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.mastery-summary-label{font-size:.7rem;color:#a0aec0;font-weight:600;margin-top:4px;text-transform:uppercase;letter-spacing:.5px}.mastery-summary-divider{position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:32px;background:#e2e8f0}.deck-detail-word-list,.word-stack-container{display:flex;flex-direction:column;gap:12px}.toolbar{display:flex;align-items:center;gap:8px;min-height:42px;margin-top:0}.toolbar-btn{font-size:.85rem;font-weight:600;color:#4a5568;background:#f7fafc;border:1px solid #e2e8f0;padding:8px 18px;border-radius:8px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.toolbar-btn:hover{background:#edf2f7;border-color:#cbd5e0}.toolbar-btn--active{background:#ebf4ff;border-color:#3b82f6;color:#3b82f6}.toolbar-btn--danger{color:#e53e3e}.toolbar-btn--danger:hover{background:#fff5f5;border-color:#fc8181}.toolbar-btn--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.toolbar-btn--primary{color:#fff;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;box-shadow:0 4px 12px #3b82f64d}.toolbar-btn--primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #3b82f666;background:linear-gradient(135deg,#3b82f6,#8b5cf6)}.toolbar-btn--primary-disabled{opacity:.5;cursor:not-allowed;pointer-events:none;box-shadow:none}.toolbar-edit-left{display:flex;align-items:center;gap:8px;margin-right:auto}.toolbar-edit-center{display:flex;align-items:center;gap:8px}.toolbar-edit-right{display:flex;align-items:center;gap:8px;margin-left:auto}.toolbar-count{font-size:.9rem;font-weight:600;color:#4a5568;white-space:nowrap}.toolbar-spacer{flex:1}.checkout-word-row-wrapper{position:relative;overflow:visible}.checkout-word-row-wrapper--dragging{opacity:.5}.checkout-word-row-wrapper--drag-over{border-top:3px solid #3b82f6}.checkout-word-row{display:flex;justify-content:space-between;align-items:center;padding:16px 20px}.checkout-word-info{display:flex;align-items:center;gap:10px}.checkout-word-score{display:flex;align-items:center;gap:8px}.checkout-score-value{font-size:1.1rem;font-weight:700;color:#2d3748}.word-circle{width:22px;height:22px;border-radius:50%;border:2px solid #cbd5e0;background:#fff;flex-shrink:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;position:relative}.word-circle:hover{border-color:#3b82f6;background:#ebf4ff}.word-circle--selected{border-color:#3b82f6;background:#3b82f6}.word-circle--selected:after{content:"";width:8px;height:8px;border-radius:50%;background:#fff}.word-grab{width:24px;flex-shrink:0;cursor:grab;color:#cbd5e0;font-size:1.2rem;line-height:1;text-align:center;-webkit-user-select:none;user-select:none;transition:color .2s;display:flex;align-items:center;justify-content:center}.word-grab:hover{color:#718096}.word-grab:active{cursor:grabbing}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease-out}.modal-card{background:#fff;border-radius:20px;padding:24px;width:90%;max-width:480px;box-shadow:0 20px 60px #00000026;animation:modalSlideIn .2s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-title{font-size:1.15rem;font-weight:700;color:#2d3748;margin-bottom:16px}.modal-body{margin-bottom:20px}.modal-body-text{font-size:.95rem;color:#4a5568;line-height:1.5}.modal-footer{display:flex;justify-content:flex-end;gap:10px}.move-deck-list{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.move-deck-option{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;cursor:pointer;transition:background .15s;border:1px solid transparent}.move-deck-option:hover{background:#f7fafc}.move-deck-option--selected{background:#ebf4ff;border-color:#3b82f6}.move-deck-option-radio{width:18px;height:18px;accent-color:#3b82f6;flex-shrink:0}.move-deck-option-name{font-size:.95rem;font-weight:600;color:#2d3748}.move-deck-option-count{font-size:.8rem;color:#718096;margin-left:auto}.move-new-deck-section{margin-top:16px;padding-top:16px;border-top:1px solid #e2e8f0}.move-new-deck-label{font-size:.85rem;font-weight:600;color:#4a5568;margin-bottom:8px;display:block}.move-new-deck-input{width:100%;padding:10px 14px;border:1px solid #e2e8f0;border-radius:10px;font-size:.95rem;color:#2d3748;outline:none;transition:border-color .2s}.move-new-deck-input:focus{border-color:#3b82f6}.confirm-modal-actions{display:flex;gap:10px;justify-content:flex-end}.btn-cancel{font-size:.85rem;font-weight:600;color:#718096;background:#f7fafc;border:1px solid #e2e8f0;padding:8px 20px;border-radius:10px;cursor:pointer;transition:all .2s}.btn-cancel:hover{background:#edf2f7;border-color:#cbd5e0}.btn-confirm-danger{font-size:.85rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#fc8181,#e53e3e);border:none;padding:8px 20px;border-radius:10px;cursor:pointer;box-shadow:0 4px 12px #e53e3e4d;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-confirm-danger:hover{transform:translateY(-2px);box-shadow:0 8px 20px #e53e3e66}.btn-confirm-primary{font-size:.85rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;padding:8px 20px;border-radius:10px;cursor:pointer;box-shadow:0 4px 12px #3b82f64d;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-confirm-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #3b82f666}*{margin:0;padding:0;box-sizing:border-box;font-family:Segoe UI,system-ui,sans-serif}body{background-color:#f8fafc;color:#334155}.dashboard-container{display:flex;flex-direction:column;min-height:100vh;background-color:#f8fafc;padding:2rem}.dashboard-main{flex:1}.dashboard-sidebar{position:fixed;left:2rem;top:2rem;width:280px;background:#fff;padding:2rem 1.5rem;border-radius:20px;box-shadow:0 10px 25px #0000000d;height:fit-content;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);z-index:10}.sidebar-title{font-size:1.75rem;font-weight:700;color:#1e293b;margin-bottom:1rem}.sidebar-menu{list-style:none;display:flex;flex-direction:column;gap:.5rem}.sidebar-item{display:block;padding:1rem 1.25rem;color:#64748b;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:12px;font-weight:500;position:relative;overflow:hidden}.sidebar-item:hover{color:#1e293b;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);transform:translate(4px);box-shadow:0 4px 12px #1e293b14}.sidebar-item:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(to bottom,#3b82f6,#8b5cf6);opacity:0;transition:opacity .3s ease;border-radius:0 4px 4px 0}.sidebar-item:hover:before{opacity:1}.dashboard-content{max-width:750px;margin:0 auto;padding:0;width:100%}.darker{background:#ededed}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem}.stat-card{background:#fff;border-radius:20px;padding:2rem;box-shadow:0 10px 25px #0000000d;border:1px solid rgba(255,255,255,.2);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(to right,#3b82f6,#8b5cf6);opacity:.8}.stat-card:hover{transform:translateY(-4px);box-shadow:0 15px 30px #0000001a}.stat-card h3{font-size:.875rem;color:#64748b;margin-bottom:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:2rem;font-weight:700;color:#1e293b;line-height:1}.dashboard-footer{background:#fff;border-radius:20px;padding:1.5rem 2rem;text-align:center;color:#64748b;font-size:.875rem;margin-top:2rem;box-shadow:0 10px 25px #0000000d;border:1px solid rgba(255,255,255,.2)}.auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.auth-modal{background:#fff;border-radius:20px;padding:2rem;width:100%;max-width:420px;position:relative;box-shadow:0 25px 50px #00000026;animation:slideUp .3s ease;margin:1rem}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.auth-modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;color:#94a3b8;cursor:pointer;padding:.25rem .5rem;border-radius:8px;line-height:1;transition:all .2s}.auth-modal-close:hover{background:#f1f5f9;color:#334155}.auth-tabs{position:relative;display:flex;gap:.5rem;margin-bottom:1.5rem;background:#f1f5f9;padding:.25rem;border-radius:12px}.auth-tab-indicator{position:absolute;top:.25rem;bottom:.25rem;background:#fff;border-radius:10px;box-shadow:0 2px 8px #00000014;transition:left .35s cubic-bezier(.34,1.56,.64,1),width .35s cubic-bezier(.34,1.56,.64,1);z-index:0}.auth-tab{flex:1;padding:.65rem 1rem;border:none;background:transparent;color:#64748b;font-weight:600;font-size:.9rem;cursor:pointer;border-radius:10px;position:relative;z-index:1;transition:color .2s}.auth-tab.active{color:#1e293b}.auth-tab:hover:not(.active){color:#334155}.auth-confirm-inline{animation:confirmSlide .3s ease}.auth-divider{border:none;border-top:1px solid #e2e8f0;margin:.5rem 0 1rem}@keyframes confirmSlide{0%{opacity:0;transform:translateY(-6px);max-height:0}to{opacity:1;transform:translateY(0);max-height:300px}}.auth-form-wrap{overflow:hidden;transition:height .35s cubic-bezier(.34,1.56,.64,1)}.auth-form-view{display:flex;flex-direction:column}.auth-form-view:not(.active){display:none}.auth-error{background:#fef2f2;color:#dc2626;padding:.75rem 1rem;border-radius:10px;font-size:.85rem;margin-bottom:1rem;border:1px solid #fecaca}.auth-form{display:flex;flex-direction:column;gap:1rem;padding:0 4px}.auth-label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:600;color:#334155}.auth-input{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:10px;font-size:.95rem;transition:all .2s;outline:none;color:#1e293b}.auth-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.auth-input::placeholder{color:#94a3b8}.auth-submit{padding:.85rem;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;transition:all .3s ease;margin-top:.5rem}.auth-submit:hover:not(:disabled){scale:1.02}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-link-btn{background:none;border:none;color:#3b82f6;font-size:.85rem;cursor:pointer;padding:.5rem;font-weight:500;text-decoration:underline;transition:color .2s}.auth-link-btn:hover{color:#2563eb}.auth-info{font-size:.9rem;color:#475569;line-height:1.5;margin-bottom:.5rem}.auth-or-divider{display:flex;align-items:center;gap:.75rem;color:#94a3b8;font-size:.8rem;font-weight:600;margin:.25rem 0}.auth-or-divider:before,.auth-or-divider:after{content:"";flex:1;height:1px;background:#e2e8f0}.auth-secondary-btn{padding:.85rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;background:#fff;color:#334155;transition:all .2s;margin-bottom:.5rem}.auth-secondary-btn:hover{border-color:#3b82f6;color:#3b82f6;scale:1.02}.auth-back-link{display:inline-flex;align-items:center;gap:.35rem;background:none;border:none;color:#94a3b8;font-size:.85rem;cursor:pointer;padding:.25rem 0;font-weight:500;margin-bottom:.5rem;transition:color .2s}.auth-back-link:hover{color:#64748b}.sidebar-user-box{position:relative;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#f8fafc;border-radius:14px;cursor:pointer;transition:all .25s ease;border:2px solid transparent;-webkit-user-select:none;user-select:none}.sidebar-user-box:hover{background:#f1f5f9;border-color:#e2e8f0}.user-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0}.user-name{flex:1;font-weight:600;font-size:.9rem;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-arrow{font-size:.75rem;color:#94a3b8;transition:transform .25s ease;flex-shrink:0}.user-arrow.open{transform:rotate(180deg)}.user-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000001f;border:1px solid #e2e8f0;padding:.35rem;z-index:50;animation:dropFade .15s ease}@keyframes dropFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{width:100%;padding:.65rem .85rem;border:none;background:transparent;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;text-align:left}.dropdown-item.logout{color:#ef4444}.dropdown-item.logout:hover{background:#fef2f2}.sidebar-auth{margin-top:1rem}.auth-button{width:100%;padding:.85rem 1.25rem;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease}.auth-button.login{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff}.auth-button.login:hover{transform:translateY(-2px);box-shadow:0 8px 20px #3b82f64d}.auth-button.logout{background:#f1f5f9;color:#ef4444}.auth-button.logout:hover{background:#fee2e2}.auth-loading{font-size:.85rem;color:#94a3b8;text-align:center}@media (max-width: 1024px){.dashboard-container{padding:1.5rem}.dashboard-sidebar{width:100%;position:static;margin-bottom:2rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media (max-width: 640px){.dashboard-container{padding:1rem}.stats-grid{grid-template-columns:1fr}.stat-card{padding:1.5rem}}.deck-list{display:flex;flex-direction:column}.deck-list-title{font-size:1.75rem;font-weight:700;color:#1e293b;margin-bottom:.5rem}.deck-card-hidden{opacity:0;translate:0px 50px;filter:blur(4px)}.deck-card{cursor:default;transition:all .5s cubic-bezier(.4,0,.2,1);margin-bottom:2rem}.deck-card-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.deck-card-name{font-size:1.3rem;font-weight:700;color:#2d3748}.deck-card-word-count{font-size:.85rem;font-weight:600;color:#718096;background:#f7fafc;padding:4px 12px;border-radius:20px;border:1px solid #e2e8f0}.deck-card-footer{margin-top:1rem;display:flex;justify-content:flex-end;align-items:center;gap:.5rem}.learn-btn{font-size:.85rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#3b82f6,#8b5cf6);padding:10px 24px;border:none;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #3b82f64d}.learn-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #3b82f666}.view-btn{font-size:.85rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#88e7ff,#6d8aff);padding:10px 24px;border:none;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #a2c6ff4d}.view-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #a2c6ff66}.save-btn{font-size:.85rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#5cf1ab,#4cc482);padding:10px 24px;border:none;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #62d39e4d}.save-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #62d39e66}.deck-card--empty{background:#f1f3f5;border:2px dashed #cbd5e1;box-shadow:none;cursor:default;min-height:120px;display:flex;align-items:center;justify-content:center}.deck-card--empty:hover{transform:none;box-shadow:none}.empty-deck-card-body{display:flex;align-items:center;justify-content:center}.empty-deck-card-text{color:#94a3b8;font-size:1rem;font-weight:600;text-align:center}.deck-card-saves{font-size:.8rem;font-weight:600;color:#94a3b8;justify-content:flex-start}
