.settings-modal-overlay{position:fixed;inset:0;background-color:#000000bf;z-index:9999;display:flex;align-items:center;justify-content:center}.settings-modal-content{position:relative;background:#fff;border-radius:8px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0000004d;outline:none}.settings-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e1e4e8;background:#f8f9fa;border-radius:8px 8px 0 0}.settings-modal-header h3{margin:0;font-size:1.3em;color:#2c3e50}.close-btn{background:none;border:none;font-size:2em;cursor:pointer;color:#6c757d;line-height:1;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;transition:color .2s}.close-btn:hover{color:#dc3545}.settings-modal-body{padding:20px;display:flex;flex-direction:column;gap:16px}.settings-group{display:flex;flex-direction:column;gap:8px}.settings-label{font-weight:600;color:#2c3e50;font-size:.95em}.settings-select{padding:10px;border:2px solid #e1e4e8;border-radius:6px;font-size:.95em;background:#fff;cursor:pointer;transition:border-color .2s}.settings-select:focus{outline:none;border-color:#007bff}.settings-modal-footer{display:flex;gap:12px;margin-top:8px;padding-top:16px;border-top:1px solid #e1e4e8}.btn-save-settings{flex:1;padding:12px;background:#28a745;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.btn-save-settings:hover{background:#218838;transform:translateY(-1px);box-shadow:0 2px 8px #28a7454d}.btn-cancel-settings{flex:1;padding:12px;background:#6c757d;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.btn-cancel-settings:hover{background:#5a6268;transform:translateY(-1px)}.error-message{padding:10px;background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;margin:0}.success-message{padding:10px;background:#d4edda;border:1px solid #c3e6cb;border-radius:4px;color:#155724;margin:0}.switch{position:relative;display:inline-block;width:54px;height:28px}input:checked+.slider:before{transform:translate(26px)}.slider.round{border-radius:28px}.navbar{display:flex;justify-content:space-between;position:relative;align-items:center;padding:.8rem 2rem;color:var(--text-color);font-family:sans-serif;border-bottom:1px solid var(--border-color);background-color:#374151;box-shadow:0 2px 10px #00000026}.navbar-left,.navbar-right,.nav-links-main,.nav-links-auth{display:flex;align-items:center;gap:1.5rem}.nav-logo{display:inline-flex;align-items:center;gap:.6rem;font-size:1.5rem;font-family:Black Ops One,system-ui;font-weight:400;font-style:normal;color:#fff;text-decoration:none;text-shadow:0 1px 2px rgba(0,0,0,.3);margin-right:2rem}.nav-logo-image{width:42px;height:42px;object-fit:contain;display:block}.nav-item{color:#e5e7eb;text-decoration:none;font-size:1.1rem;font-family:Inter,sans-serif;font-optical-sizing:auto;font-weight:600;font-style:normal;transition:color .2s}.nav-item:hover{color:#fff}.button-login{background-color:var(--primary-accent);color:var(--background-color);padding:8px 16px;border-radius:6px;border:none}.button-login:hover{background-color:var(--secondary-accent);color:var(--background-color)}.search-container{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:12px;color:#9ca3af;font-size:.9rem;pointer-events:none;z-index:1}.search-input{padding:8px 12px 8px 36px;border:1px solid rgba(156,163,175,.3);background-color:#4b556380;color:#e5e7eb;font-family:Inter,sans-serif;font-optical-sizing:auto;font-size:medium;border-radius:6px;min-width:250px;transition:background-color .2s,border-color .2s}.search-input::placeholder{color:#9ca3af}.search-input:focus{outline:none;background-color:#4b5563b3;border-color:#9ca3af80}.icon-button{background:none;border:none;cursor:pointer;color:#d1d5db;text-decoration:none;display:flex;align-items:center;justify-content:center;font-size:1.1rem}.icon-button:hover{color:#fff}.settings-button:hover svg{animation:spin .5s ease-in-out}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(90deg)}}.profile-container{position:relative}.profile-avatar{width:40px;height:40px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:border-color .2s}.profile-avatar:hover{border-color:#fff}.profile-dropdown{position:absolute;top:55px;right:0;background-color:var(--card-background);border-radius:8px;box-shadow:0 4px 20px var(--shadow-color);width:220px;z-index:100;border:1px solid var(--border-color);overflow:hidden}.dropdown-user-info{padding:15px;border-bottom:1px solid var(--border-color);display:flex;flex-direction:column}.dropdown-user-info strong{font-size:1.1em;color:var(--primary-accent)}.dropdown-user-info span{font-size:.9em;color:var(--secondary-accent)}.dropdown-item{display:block;width:100%;padding:12px 15px;text-align:left;text-decoration:none;color:var(--text-color);background:none;border:none;cursor:pointer;font-size:1rem}.dropdown-item.admin-item{background-color:#ffc1071a;font-weight:600;color:var(--primary-accent)}.dropdown-item.admin-item:hover{background-color:#ffc10733}.dropdown-logout{color:#dc3545;border-top:1px solid var(--border-color)}.theme-switcher{background:none;border:none;color:#d1d5db;cursor:pointer;font-size:1.1em;padding:0 10px;display:flex;align-items:center;justify-content:center;opacity:.8;transition:opacity .2s,color .2s}.theme-switcher:hover{opacity:1;color:#fff}.dropdown-member-since{font-size:.8em!important;padding-bottom:5px}[data-theme=dark] .navbar{background-color:#1e293b;box-shadow:0 2px 20px #0f172a66}[data-theme=dark] .nav-item{color:#e2e8f0}[data-theme=dark] .nav-logo{color:#60a5fa;text-shadow:0 1px 2px rgba(0,0,0,.3)}@media (max-width: 1024px){.navbar{padding:.8rem 1.5rem}.nav-logo{margin-right:1rem;font-size:1.3rem}.navbar-left,.navbar-right,.nav-links-main,.nav-links-auth{gap:1rem}.nav-item{font-size:1rem}.search-input{min-width:200px}}@media (max-width: 768px){.navbar{padding:.6rem 1rem;flex-wrap:wrap;gap:10px}.navbar-left{flex:1;min-width:200px}.nav-logo{font-size:1.2rem;margin-right:.5rem}.nav-links-main{display:none}.navbar-right{gap:.8rem}.search-container{order:3;width:100%;margin-top:5px}.search-input{width:100%;min-width:auto}.nav-item{font-size:.95rem}.icon-button{font-size:1rem}.profile-avatar{width:35px;height:35px}}@media (max-width: 480px){.navbar{padding:.5rem .8rem}.nav-logo{font-size:1.1rem}.nav-links-auth{gap:.5rem}.nav-item{font-size:.9rem}.button-login{padding:6px 12px;font-size:.9rem}.icon-button{font-size:.95rem;padding:0 5px}.profile-avatar{width:32px;height:32px}.profile-dropdown{width:200px;right:-10px}.theme-switcher{padding:0 5px}}.navbar-center{position:absolute;left:50%;transform:translate(-50%);display:flex;justify-content:center;padding:0 2rem;max-width:600px;width:100%;z-index:10}.latest-release-card{display:flex;align-items:center;gap:.5rem;width:100%;padding:.4rem .6rem;background:linear-gradient(135deg,#1e293b,#334155);border:2px solid #475569;border-radius:8px;text-decoration:none;color:#fff;transition:all .3s ease;box-shadow:0 4px 12px #0000004d;overflow:hidden;height:48px}.latest-release-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66;border-color:#667eea;background:linear-gradient(135deg,#334155,#475569)}.release-label{display:flex;align-items:center;padding-right:.5rem;margin-right:.5rem;border-right:2px solid #475569;height:100%}.new-icon{font-size:1.2rem;line-height:1;animation:pulse 2s ease-in-out infinite}.label-text{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;white-space:nowrap;line-height:1}.course-cover{width:32px;height:32px;flex-shrink:0;border-radius:5px;overflow:hidden;background:#1e293b;display:flex;align-items:center;justify-content:center;border:2px solid #334155}.course-cover img{width:100%;height:100%;object-fit:cover}.placeholder-cover{font-size:1.5rem;opacity:.5;line-height:1}.course-info{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.course-name{font-size:.9rem;font-weight:700;margin:0;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3;max-width:100%}.course-author{font-size:.75rem;margin:0;color:#94a3b8;font-weight:500;line-height:1.2}.view-arrow{font-size:1.4rem;font-weight:700;color:#667eea;transition:transform .3s ease;flex-shrink:0;padding-left:.4rem;line-height:1}.latest-release-card:hover .view-arrow{transform:translate(6px);color:#818cf8}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@media (max-width: 1400px){.navbar-center{max-width:700px}.course-name{font-size:.9rem}}@media (max-width: 1200px){.navbar-center{max-width:500px;padding:0 1rem}.latest-release-card{padding:.3rem .75rem;gap:.6rem;height:44px}.release-label{padding-right:.6rem;gap:.3rem}.new-icon{font-size:1.1rem}.label-text{font-size:.6rem}.course-cover{width:36px;height:36px}.course-name{font-size:.85rem}.course-author{font-size:.7rem}.view-arrow{font-size:1.3rem}}@media (max-width: 900px){.navbar-center{display:none}}.star-rating{display:flex;align-items:center;gap:8px}.stars-container{display:flex;align-items:center;gap:2px}.star{cursor:default;transition:transform .1s ease}.star.interactive{cursor:pointer}.star.interactive:hover{transform:scale(1.1)}.rating-value{font-size:.9em;color:var(--text-color);font-weight:500;min-width:2em;text-align:left}.difficulty-rings{display:inline-flex;align-items:center;gap:6px}.difficulty-ring-item{display:inline-flex;align-items:center}.ring{display:inline-block;width:14px;height:14px;border:3px solid;border-radius:50%;flex-shrink:0}.filter-sidebar{padding:20px;background-color:var(--subtle-background);border-radius:8px;border:1px solid var(--border-color)}.filter-sidebar h4{margin-top:0;margin-bottom:15px}.filter-group{margin-bottom:25px}.filter-group h5{margin-top:0;margin-bottom:10px;color:var(--text-color)}.filter-group button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:8px 10px;margin-bottom:5px;border:1px solid var(--border-color);background-color:var(--card-background);color:var(--text-color);text-align:left;cursor:pointer;border-radius:4px}.filter-group button.active{background-color:#007bff;color:#fff;border-color:#007bff}.course-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:25px;margin-bottom:20px}@media (max-width: 768px){.course-list-grid{grid-template-columns:1fr;gap:20px}}@media (min-width: 769px) and (max-width: 1024px){.course-list-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}}.course-card{background-color:var(--subtle-background);border:1px solid var(--border-color);border-radius:10px;box-shadow:0 4px 15px var(--shadow-color);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.course-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px var(--shadow-color)}.course-card-link{text-decoration:none;color:inherit;display:flex;flex-direction:column;flex-grow:1}.course-card-image-container{position:relative}.course-card-image{width:100%;height:180px;object-fit:cover}.course-card-content{padding:12px 20px;flex-grow:1}.course-card-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.tag{padding:4px 12px;border-radius:15px;font-size:.8em;font-weight:700;white-space:nowrap;color:#111;border:1px solid transparent}.tag-difficulty-beginner{background-color:#fef9c3}.tag-difficulty-amateur{background-color:#dbeafe}.tag-difficulty-club_player{background-color:#d1fae5}.tag-difficulty-pro{background-color:#fee2e2}.tag-aspect-opening{background-color:#e0e7ff}.tag-aspect-tactics{background-color:#fae8d1}.tag-aspect-strategy{background-color:#d1f0fa}.tag-aspect-endgame{background-color:#e3e1e1}.tag-color-white{background-color:#f3e8ff}.tag-color-black{background-color:#d1d5db}.tag-color-both{background-color:#fbcfe8}[data-theme=dark] .tag{background-color:transparent!important;color:var(--secondary-accent)}[data-theme=dark] .tag-difficulty-beginner{border-color:#fef9c3}[data-theme=dark] .tag-difficulty-amateur{border-color:#dbeafe}[data-theme=dark] .tag-difficulty-club_player{border-color:#d1fae5}[data-theme=dark] .tag-difficulty-pro{border-color:#fee2e2}[data-theme=dark] .tag-aspect-opening{border-color:#e0e7ff}[data-theme=dark] .tag-aspect-tactics{border-color:#fae8d1}[data-theme=dark] .tag-aspect-strategy{border-color:#d1f0fa}[data-theme=dark] .tag-aspect-endgame{border-color:#e3e1e1}[data-theme=dark] .tag-color-white{border-color:#f3e8ff}[data-theme=dark] .tag-color-black{border-color:#d1d5db}[data-theme=dark] .tag-color-both{border-color:#fbcfe8}.course-card-title{margin-top:0;margin-bottom:5px;font-size:1.2em;color:var(--primary-accent);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3;min-height:2.6em}.course-card-author{font-size:.9em;color:var(--secondary-accent);margin:0 0 10px}.course-card-description{font-size:.95em;color:var(--text-color);line-height:1.4}.course-card-footer{padding:12px 20px;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;font-size:.85em;color:var(--secondary-accent)}.course-card-footer-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.course-card-footer-right{display:flex;align-items:center;gap:15px}.variants-icon{display:flex;align-items:center;gap:5px;font-size:.95em;color:var(--text-color)}.course-card-title-price{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px}.course-card-author-rating{display:flex;justify-content:space-between;align-items:center;margin-bottom:0}.course-card-author{margin:0}.titled-author-badge{color:#fbbf24;font-size:1.2em;margin-left:4px}.course-card-rating{display:flex;align-items:center;gap:5px}.course-card-price{display:flex;align-items:center;gap:8px;font-weight:600;flex-shrink:0;white-space:nowrap}.price-old{text-decoration:line-through;color:#9ca3af;font-size:.9em}.price-current{color:var(--primary-accent);font-size:1.1em}.price-free{color:#10b981;font-size:1.1em}.course-card-actions{margin-left:auto;display:flex;gap:10px}.course-card-badges{position:absolute;top:10px;left:10px;display:flex;flex-direction:column;gap:5px;z-index:2}.badge{padding:4px 10px;font-size:.75em;font-weight:600;border-radius:4px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.badge-new{background-color:#10b981;color:#fff}.badge-hit{background-color:#f59e0b;color:#fff}.badge-sale{background-color:#ef4444;color:#fff}.courses-count{color:var(--secondary-accent);font-size:.8em;font-weight:400;margin-left:10px}.course-list-layout{display:grid;grid-template-columns:1fr 280px;grid-template-areas:"header header" "content sidebar";grid-template-rows:auto 1fr;gap:30px;max-width:1200px;margin:0 auto;height:calc(100vh - 80px);overflow:hidden;padding:20px;box-sizing:border-box}.course-list-header{grid-area:header;padding-bottom:0}.course-grid-container{grid-area:content;padding-bottom:150px;overflow-y:auto;overflow-x:hidden;height:100%;padding-right:10px}.course-grid-container::-webkit-scrollbar{width:8px}.course-grid-container::-webkit-scrollbar-track{background:#0000000d;border-radius:10px}.course-grid-container::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--primary-accent, #4f46e5),var(--secondary-accent, #7c3aed));border-radius:10px;transition:all .3s ease}.course-grid-container::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--secondary-accent, #7c3aed),var(--primary-accent, #4f46e5))}.course-grid-container{scrollbar-width:thin;scrollbar-color:var(--primary-accent, #4f46e5) rgba(0,0,0,.05)}.filter-sidebar{grid-area:sidebar;position:static;align-self:start;overflow-y:visible}.course-list-header h1{margin-top:10px;margin-bottom:5px}.course-card-rating{display:flex;align-items:center;gap:8px;margin-top:8px}.course-card-rating .rating-count{font-size:.85em;color:var(--secondary-accent);font-weight:500}@media (max-width: 1024px){.course-list-layout{grid-template-columns:1fr;grid-template-areas:"header" "sidebar" "content";grid-template-rows:auto auto 1fr;gap:20px;padding:15px;height:auto;min-height:100vh}.filter-sidebar{position:static;width:100%;max-width:100%}.course-grid-container{height:auto;min-height:500px;overflow-y:visible;padding-bottom:50px}.course-list-header h1{font-size:1.8em}}@media (max-width: 480px){.course-list-layout{padding:10px;gap:15px}.course-list-header h1{font-size:1.5em;margin-top:5px}}.course-presentation-container{max-width:1600px;margin:20px auto;padding:20px 30px;font-family:sans-serif;box-sizing:border-box;background-color:var(--background-color);color:var(--text-color)}.course-presentation-layout{display:flex;flex-wrap:wrap;gap:30px}.sidebar{flex:1;min-width:300px;position:sticky;top:20px}.presentation-title{margin-top:0;margin-bottom:20px;font-size:1.8em;color:var(--text-color)}.author-compact .titled-author-badge{color:#fbbf24;font-size:1.2em;margin-left:4px}.price-compact{margin:5px 0 0;font-size:.95em;color:var(--text-color);display:flex;align-items:center;gap:8px}.price-compact .old-price{text-decoration:line-through;color:var(--secondary-accent);font-size:.9em}.price-compact .discounted-price{color:#dc3545;font-weight:700;font-size:1.1em}.price-compact .discount-badge{background-color:#dc3545;color:#fff;padding:2px 6px;border-radius:4px;font-size:.85em;font-weight:700}.course-description-full h3{margin-top:0;margin-bottom:15px;font-size:2em}.course-content h3{border-bottom:2px solid var(--border-color);padding-bottom:10px;font-size:2em}.variation-header h4{margin:0}.variation-item{display:flex;flex-direction:row;align-items:center;gap:20px;padding:10px 15px;background-color:var(--hover-background);border:1px solid var(--border-color);border-radius:8px;min-height:100px;max-height:100px;height:100px;transition:background-color .2s;max-width:950px;width:100%;position:relative}.variation-item:hover{background-color:var(--subtle-background)}.variation-header{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:200px}.variation-header h4{margin:0;font-size:1.1em;text-align:center}.variation-moves{font-family:monospace;background-color:var(--subtle-background);border:1px solid var(--border-color);padding:8px;border-radius:5px;line-height:1.4;word-break:break-word;font-weight:700;font-size:13px;color:var(--text-color);width:580px;min-width:580px;max-width:580px;height:70px;min-height:70px;max-height:70px;overflow-y:auto;overflow-wrap:break-word;align-self:center;flex-shrink:0}.variation-actions{display:flex;flex-direction:column;gap:6px;flex-shrink:0;justify-content:center;min-width:100px;max-width:100px}.remaining-variants{margin-top:20px;padding:20px;background-color:var(--card-background);border:1px solid var(--border-color);border-radius:8px}.remaining-variants h4{margin:0 0 15px;font-size:1.1em;color:var(--text-color)}.variants-list{list-style-position:inside;padding-left:10px;margin:0;column-count:2;column-gap:30px}.variants-list li{padding:8px 12px;font-size:.95em;color:var(--text-color);background-color:var(--subtle-background);border-radius:4px;margin-bottom:8px;break-inside:avoid;transition:background-color .2s}.variants-list li:hover{background-color:var(--hover-background)}@media (min-width: 1200px){.variants-list{column-count:3}}@media (max-width: 768px){.variants-list{column-count:1}}.markdown-content{line-height:1.8;color:var(--text-color)}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{margin-top:24px;margin-bottom:12px;color:var(--text-color)}.markdown-content h1{font-size:2em}.markdown-content h2{font-size:1.6em}.markdown-content h3{font-size:1.3em}.markdown-content p{margin-bottom:16px}.markdown-content img{max-width:600px;width:100%;height:auto;border-radius:8px;margin:20px auto;display:block;box-shadow:0 2px 8px #0000001a}.markdown-content img+em{display:block;text-align:center;font-size:.9em;color:var(--secondary-accent);margin-top:-15px;margin-bottom:20px}.markdown-content p>img{display:block;margin-left:auto;margin-right:auto}@media (max-width: 768px){.markdown-content img{max-width:100%;margin:15px auto}.markdown-content img+em{margin-top:-10px;font-size:.85em}}.markdown-content ul,.markdown-content ol{margin-left:24px;margin-bottom:16px}.markdown-content li{margin-bottom:8px}.markdown-content strong{font-weight:700}.markdown-content em{font-style:italic}.markdown-content code{background-color:var(--subtle-background);padding:2px 6px;border-radius:3px;font-family:monospace;font-size:.9em}.markdown-content pre{background-color:var(--subtle-background);padding:12px;border-radius:6px;overflow-x:auto;margin-bottom:16px}.markdown-content pre code{background-color:transparent;padding:0}.markdown-content blockquote{border-left:4px solid var(--primary-accent);padding-left:16px;margin:16px 0;color:var(--text-color-secondary);font-style:italic}.markdown-content a{color:var(--primary-accent);text-decoration:none}.markdown-content a:hover{text-decoration:underline}.variation-actions .learn-btn,.variation-actions .repeat-btn{width:100px;padding:4px 16px;font-size:.85em;box-sizing:border-box;position:relative;height:28px;border-radius:6px}.paused-status-message{font-size:.85em;font-style:italic;color:var(--secondary-accent);margin:0;position:absolute;bottom:2px;left:50%;transform:translate(-50%);white-space:nowrap}.student-manage-box{margin-top:20px;padding:20px;background-color:var(--subtle-background);border-radius:8px;border:1px solid var(--border-color);display:flex;flex-direction:column;gap:15px}.student-manage-box .button-secondary,.student-manage-box .button-danger{width:100%;padding:10px;font-weight:700}.button-danger{background-color:#dc3545;color:#fff;border:none}.archive-btn{width:100%;padding:10px;font-weight:700;background-color:#6c757d;color:#fff;border:1px solid #5a6268;text-decoration:none;cursor:pointer}.archive-btn:hover{background-color:#5a6268;border-color:#5a6268;color:#fff;text-decoration:none}.button-group{display:flex;flex-direction:column;gap:10px;width:100%}.purchase-btn.secondary{background-color:transparent;color:var(--primary-accent);border:2px solid var(--primary-accent)}.purchase-btn.secondary:hover{background-color:var(--primary-accent);color:#fff}.purchase-btn.subscription-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none}.purchase-btn.subscription-btn:hover{background:linear-gradient(135deg,#764ba2,#667eea)}.favorite-btn{width:100%;padding:10px;margin-top:10px;font-weight:700;font-size:14px;background-color:transparent;color:var(--text-color);border:2px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .2s ease}.favorite-btn:hover{background-color:var(--hover-background);border-color:var(--primary-accent)}.favorite-btn.active{background-color:#ffc107;color:#000;border-color:#ffc107}.favorite-btn.active:hover{background-color:#ffb300;border-color:#ffb300}.ownership-badge{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background-color:var(--subtle-background);border:2px solid var(--border-color);border-radius:8px;font-weight:600;color:var(--text-color);margin-bottom:10px}.ownership-badge.owned{border-color:#28a745;background-color:#28a7451a;color:#28a745}.ownership-badge.subscription{border-color:#ffc107;background-color:#ffc1071a;color:#f59e0b}.ownership-badge .badge-icon{font-size:1.2em}.course-access-info{display:flex;flex-direction:column;gap:10px;width:100%}@media (max-width: 1024px){.course-presentation-container{padding:15px 20px}.course-presentation-layout{flex-direction:column;gap:20px}.sidebar{position:static;min-width:100%}.main-content{min-width:100%}}@media (max-width: 768px){.course-presentation-container{margin:15px auto;padding:15px}.course-title-container{flex-direction:column;align-items:flex-start;gap:10px}.course-header-compact{flex-direction:column;align-items:flex-start;padding:15px}.course-cover-small{width:100%;height:auto}}.enroll-success-message{background:linear-gradient(135deg,#43a047,#66bb6a);color:#fff;padding:1rem 1.5rem;border-radius:12px;margin-bottom:1.5rem;font-size:1rem;font-weight:500;display:flex;align-items:center;gap:.5rem;box-shadow:0 4px 12px #43a0474d;animation:slideIn .3s ease-out}.enroll-error-message{background:linear-gradient(135deg,#e53935,#ef5350);color:#fff;padding:1rem 1.5rem;border-radius:12px;margin-bottom:1.5rem;font-size:1rem;font-weight:500;display:flex;align-items:center;gap:.5rem;box-shadow:0 4px 12px #e539354d;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 480px){.course-presentation-container{padding:10px}.back-to-dashboard-btn{width:100%;text-align:center}.enroll-success-message,.enroll-error-message{font-size:.9rem;padding:.8rem 1rem}}.confirm-modal-overlay{position:fixed;inset:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000}.confirm-modal-content{background:var(--card-background);padding:25px;border-radius:8px;border:1px solid var(--border-color);width:100%;max-width:450px;outline:none}.confirm-modal-header h3{margin-top:0;color:var(--primary-accent)}.confirm-modal-body{margin:20px 0;color:var(--text-color);line-height:1.6}.confirm-modal-footer{display:flex;justify-content:flex-end;gap:15px}.confirm-modal-footer .button-secondary,.confirm-modal-footer .delete-button{padding:10px 20px;font-size:1em}.study-game-manager.inline-mode{background-color:transparent;border-radius:0;box-shadow:none;padding:0;margin:0;border:none}.study-game-manager.inline-mode .manager-header{display:none}.study-game-manager{background-color:var(--card-background);border-radius:8px;padding:20px;margin:20px 0;border:1px solid var(--border-color)}.manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid var(--border-color)}.manager-header h2{margin:0;color:var(--text-color)}.header-actions{display:flex;gap:10px}.inline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;border-bottom:2px solid var(--border-color)}.inline-header h2{margin:0;color:var(--text-color);font-size:1.5em}.btn-primary{background-color:var(--primary-accent);color:#fff;border:none;padding:10px 16px;border-radius:5px;cursor:pointer;font-weight:500;transition:background-color .2s}.btn-primary:hover{background-color:#0056b3}.btn-secondary{background-color:var(--card-background);color:var(--text-color);border:1px solid var(--border-color);padding:10px 16px;border-radius:5px;cursor:pointer;font-weight:500;transition:all .2s}.btn-secondary:hover{background-color:var(--hover-background)}.btn-danger{background-color:#dc3545;color:#fff;border:none;padding:10px 16px;border-radius:5px;cursor:pointer;font-weight:500;transition:background-color .2s}.btn-danger:hover{background-color:#c82333}.btn-small{padding:6px 12px;font-size:.9em}.error-message{background-color:#f8d7da;color:#721c24;padding:12px;border-radius:5px;margin-bottom:20px;border:1px solid #f5c6cb}.loading{text-align:center;padding:40px;color:var(--secondary-accent)}.form-section{background-color:var(--background-color);padding:20px;border-radius:8px;margin-bottom:30px;border:1px solid var(--border-color)}.form-section h3{margin:0 0 20px;color:var(--text-color)}.study-game-form{max-width:800px}.form-row{display:flex;gap:20px;margin-bottom:15px}.form-group{flex:1;display:flex;flex-direction:column}.form-group label{margin-bottom:5px;font-weight:500;color:var(--text-color)}.form-group input,.form-group textarea,.form-group select{padding:10px;border:1px solid var(--border-color);border-radius:4px;background-color:var(--card-background);color:var(--text-color);font-size:14px}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary-accent);box-shadow:0 0 0 2px #007bff40}.form-group textarea{resize:vertical;font-family:Courier New,monospace;line-height:1.4}.form-help{margin-top:5px;font-size:.85em;color:var(--secondary-accent);line-height:1.3}.checkbox-label{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;cursor:pointer}.checkbox-label input[type=checkbox]{width:auto;margin:0}.form-actions{display:flex;gap:10px;margin-top:20px;padding-top:15px;border-top:1px solid var(--border-color)}.games-list h3{margin:0 0 20px;color:var(--text-color)}.empty-state{text-align:center;padding:40px;color:var(--secondary-accent)}.empty-state p{margin-bottom:20px;font-size:1.1em}.games-grid{display:grid;gap:15px}.game-item{display:flex;justify-content:space-between;align-items:flex-start;padding:15px;background-color:var(--background-color);border:1px solid var(--border-color);border-radius:8px;transition:all .2s}.game-item:hover{border-color:var(--primary-accent);box-shadow:0 2px 8px #0000001a}.game-info{flex:1}.game-info h4{margin:0 0 8px;color:var(--text-color);font-size:1.1em}.players{color:var(--secondary-accent);font-weight:500;margin-bottom:4px}.event{color:var(--secondary-accent);font-style:italic;font-size:.9em;margin-bottom:8px}.meta{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.result{font-weight:700;color:var(--primary-accent)}.order{font-size:.9em;color:var(--secondary-accent)}.status{padding:2px 8px;border-radius:12px;font-size:.8em;font-weight:500}.status.published{background-color:#d4edda;color:#155724}.status.draft{background-color:#fff3cd;color:#856404}.game-actions{display:flex;gap:8px;flex-shrink:0}@media (max-width: 768px){.manager-header{flex-direction:column;align-items:flex-start;gap:15px}.header-actions{width:100%;justify-content:flex-start}.form-row{flex-direction:column;gap:15px}.form-actions{flex-direction:column}.game-item{flex-direction:column;gap:15px}.game-actions{width:100%;justify-content:flex-start}.meta{gap:10px}}@media (max-width: 480px){.study-game-manager{padding:15px;margin:10px 0}.form-section{padding:15px}.btn-primary,.btn-secondary,.btn-danger{width:100%;justify-content:center}.meta{flex-direction:column;align-items:flex-start;gap:5px}}.study-games-list{padding:20px 0}.games-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid var(--border-color)}.header-info h2{margin:0 0 8px;color:var(--text-color);font-size:1.3em;font-weight:600}.header-description{margin:0;color:var(--secondary-accent);line-height:1.5;max-width:600px}.author-actions{flex-shrink:0}.btn-primary{background-color:var(--primary-accent);color:#fff;border:none;padding:12px 20px;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s;display:flex;align-items:center;gap:8px}.btn-primary:hover{background-color:#0056b3;transform:translateY(-1px)}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--secondary-accent)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top:3px solid var(--primary-accent);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.error-message{background-color:#f8d7da;color:#721c24;padding:16px;border-radius:6px;border:1px solid #f5c6cb;text-align:center}.empty-state{text-align:center;padding:60px 20px;background-color:var(--card-background);border-radius:12px;border:1px solid var(--border-color)}.empty-icon{font-size:4em;margin-bottom:20px;color:var(--secondary-accent)}.empty-state h3{margin:0 0 12px;color:var(--text-color);font-size:1.4em}.empty-state p{color:var(--secondary-accent);line-height:1.5;max-width:500px;margin:0 auto 24px}.games-grid{display:flex;flex-direction:column;gap:15px}.game-card{display:grid;grid-template-columns:40px 1fr auto;gap:20px;padding:10px 20px;background-color:var(--hover-background);border:1px solid var(--border-color);border-radius:8px;min-height:100px;transition:background-color .2s;max-width:950px;width:100%;cursor:pointer;position:relative}.game-card:hover{background-color:var(--subtle-background)}.game-number{background-color:var(--primary-accent);color:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9em;flex-shrink:0;align-self:center}.game-content{display:grid;grid-template-columns:1fr 1fr;gap:15px;min-width:0;margin-left:15px}.game-content-left{display:flex;flex-direction:column;gap:8px;justify-content:center}.game-content-right{display:flex;flex-direction:column;gap:6px;justify-content:flex-start;padding-left:15px;border-left:1px solid var(--border-color)}.game-title{margin:0;color:var(--text-color);font-size:1.05em;line-height:1.3;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.players-info{display:flex;flex-direction:row!important;align-items:center;gap:10px;flex-wrap:nowrap;line-height:1.2}.player{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:4px;font-weight:500;font-size:.9em;white-space:nowrap;line-height:1.2;flex-shrink:0}.player.white{color:var(--text-color)}.player.black{color:var(--secondary-accent)}.player-icon{font-size:1em;flex-shrink:0}.player-name{font-size:.9em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vs{color:var(--secondary-accent);font-weight:500;font-size:.9em;flex-shrink:0;margin:0 2px}.game-footer{display:none}.game-meta{display:flex;align-items:center;gap:5px;font-size:.8em;color:var(--secondary-accent);line-height:1.2;margin-top:4px}.event-icon,.date-icon{font-size:.9em;flex-shrink:0}.separator{color:var(--secondary-accent)}.game-description{font-size:1.05em;color:var(--text-color);line-height:1.6;margin-top:2px}.game-description p{margin:0;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.game-result{display:flex;flex-direction:column;align-items:flex-end;gap:8px;padding-left:20px;border-left:1px solid var(--border-color);justify-content:center}.game-result-wrapper{display:flex;flex-direction:column;align-items:center;gap:4px}.result-label{color:var(--secondary-accent);font-size:.75em;text-align:center;white-space:nowrap}.result-value{font-weight:700;padding:8px 16px;border-radius:6px;font-size:1.1em}.result-value.win{background-color:#d4edda;color:#155724}.result-value.loss{background-color:#f8d7da;color:#721c24}.result-value.draw{background-color:#d1ecf1;color:#0c5460}.manager-overlay{position:fixed;inset:0;background-color:#000c;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}.manager-overlay .study-game-manager{max-width:1000px;width:100%;max-height:90vh;overflow-y:auto;margin:auto}@media (max-width: 1024px){.games-grid{gap:20px}.games-header{flex-direction:column;gap:20px;align-items:flex-start}.author-actions{width:100%}.btn-primary{width:100%;justify-content:center}}@media (max-width: 768px){.study-games-list{padding:15px 0}.games-grid{gap:16px}.game-card{padding:16px}.game-content{margin-right:0;margin-bottom:12px}.game-number{position:static;margin-bottom:12px;width:28px;height:28px;font-size:.8em}.players-info{flex-direction:column;align-items:flex-start;gap:8px}.manager-overlay{padding:10px}.header-info h2{font-size:1.5em}}@media (max-width: 480px){.game-card{padding:12px}.game-title{font-size:1.1em}.empty-state{padding:40px 15px}.empty-icon{font-size:3em}}.course-part-tabs{margin-bottom:30px}.course-part-tabs-container{display:flex;gap:15px;flex-wrap:wrap;padding:0}.course-part-tab{background:var(--background-color);border:2px solid #6c757d;border-radius:8px;padding:0;cursor:pointer;transition:all .3s ease;min-width:150px;flex:1;max-width:200px}.course-part-tab:hover{border-color:#5a6268;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.course-part-tab.active{border-color:#28a745;background:var(--background-color);color:var(--text-color);box-shadow:0 4px 15px #28a7454d}.course-part-tab-content{padding:12px 10px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.course-part-tab-title{font-size:1em;font-weight:600;margin:0;line-height:1.2;color:var(--text-color)}.course-part-tab.active .course-part-tab-title{color:var(--text-color)}.course-part-tab-info{display:flex;flex-direction:column;align-items:center;gap:8px}.course-part-tab-count{font-size:.8em;font-weight:600;color:#6c757d;background:transparent;padding:6px 12px;border-radius:4px;display:inline-flex;align-items:center;gap:4px;width:fit-content;border:1px solid #6c757d;transition:all .3s ease}.course-part-tab-count:before{content:"📚";font-size:.8em}.course-part-tab.active .course-part-tab-count{color:#28a745;background:transparent;border-color:#28a745;box-shadow:0 2px 8px #28a74533}.course-part-tab-description{font-size:.85em;color:var(--secondary-text);line-height:1.3;margin-top:3px}.course-part-tab.active .course-part-tab-description{color:var(--secondary-text)}@media (max-width: 768px){.course-part-tabs-container{flex-direction:column;gap:10px}.course-part-tab{min-width:unset;max-width:unset}.course-part-tab-content{padding:15px}.course-part-tab-title{font-size:1em}.course-part-tab-description{font-size:.85em}}@media (max-width: 480px){.course-part-tab-content{padding:12px}.course-part-tab-info{gap:4px}}.course-part{margin-bottom:30px;border:1px solid var(--border-color);border-radius:8px;overflow:hidden;background-color:var(--background-color)}.course-part.with-tabs .course-part-header{padding:15px 20px;background:linear-gradient(135deg,var(--hover-background),rgba(0,123,255,.05));border-bottom:2px solid var(--primary-accent)}.course-part.with-tabs .course-part-title{gap:10px;margin-bottom:10px}.course-part.with-tabs .course-part-title h3{font-size:1.3em;font-weight:600}.course-part.with-tabs .course-part-count{padding:8px 16px;font-size:1em;border-radius:20px}.course-part-header{padding:20px;background-color:var(--hover-background);border-bottom:1px solid var(--border-color)}.course-part-title{display:flex;flex-direction:column;align-items:center;gap:15px;margin-bottom:15px}.course-part-title h3{margin:0;color:var(--text-color);font-size:1.5em;font-weight:700;text-align:center;position:relative;padding-bottom:10px}.course-part-title h3:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:60px;height:3px;background:linear-gradient(90deg,var(--primary-accent),#0056b3);border-radius:2px}.course-part-count{background-color:var(--primary-accent);color:#fff;padding:6px 12px;border-radius:12px;font-size:.9em;font-weight:500;display:inline-block}.course-part-description{margin:0;color:var(--secondary-text);font-size:.95em;line-height:1.4}.course-part-content{display:flex;flex-direction:column;gap:12px;padding:12px 8px}.variation-item{padding:20px;border:2px solid var(--border-color);border-radius:8px;background-color:var(--background-color);transition:border-color .3s ease}.variation-item:hover{border-color:#2d6a2d}.variation-item.paused{background-color:#ffc1071a;border-left:4px solid #ffc107}.variation-header h4{margin:0 0 10px;color:var(--text-color);font-size:1.1em;font-weight:600;transition:color .2s}.variation-moves-container{position:relative}.variation-moves{color:var(--secondary-text);font-size:.9em;margin:10px 0;line-height:1.6;padding-left:10px;padding-right:10px}.variation-moves .setup-move{color:#6c757d;font-style:italic}.next-repetition-info{color:var(--secondary-text);font-size:.85em;margin:8px 0;padding:6px 10px;background-color:#007bff1a;border-left:3px solid #007bff;border-radius:4px}.next-repetition-info strong{color:var(--text-color)}.paused-status-message{color:#856404;background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;padding:10px;margin-top:10px;margin-bottom:0;font-size:.9em;text-align:center}.paused-text{font-weight:600;color:#d39e00}.variation-actions{display:flex;gap:10px;margin:10px 0;flex-wrap:wrap}.action-btn{display:inline-flex;align-items:center;gap:6px;padding:4px 16px;border-radius:6px;text-decoration:none;font-size:.85em;transition:all .2s ease;border:1px solid;background-color:transparent;cursor:pointer;box-sizing:border-box;height:28px;width:100px;justify-content:center}.action-btn:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.action-btn.learn-btn{color:#28a745;border-color:#28a745}.action-btn.learn-btn:hover{background-color:#28a7451a;color:#218838;border-color:#218838}.action-btn.repeat-btn{color:#007bff;border-color:#007bff;position:relative}.action-btn.repeat-btn:hover{background-color:#007bff1a;color:#0056b3;border-color:#0056b3}.repeat-badge{position:absolute;top:-8px;right:-8px;background-color:#dc3545;color:#fff;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:.75em;font-weight:700}.pause-btn{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:6px;text-decoration:none;font-size:.85em;transition:all .2s ease;border:1px solid #6c757d;background-color:transparent;color:#6c757d;cursor:pointer;width:100%;box-sizing:border-box;height:28px;justify-content:center}.pause-btn:hover{background-color:#6c757d1a;color:#5a6268;border-color:#5a6268;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.action-btn.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}@media (max-width: 768px){.course-part-header{padding:15px}.course-part-title{flex-direction:column;align-items:center;gap:15px}.variation-item{padding:15px}.course-part-title h3{font-size:1.2em}.variation-actions{flex-direction:column}.action-btn,.pause-btn{width:100%;justify-content:center}}.course-study-container{max-width:1600px;margin:20px auto;padding:20px 30px;font-family:sans-serif;box-sizing:border-box;background-color:var(--background-color);color:var(--text-color)}.back-to-dashboard-link{display:inline-block;margin-bottom:15px;color:var(--primary-accent);text-decoration:none;font-size:1.1em;transition:color .2s}.back-to-dashboard-link:hover{color:var(--secondary-accent);text-decoration:underline}.course-study-layout{display:flex;flex-wrap:wrap;gap:30px}.main-content{flex:2;min-width:400px}.sidebar{flex:1;min-width:300px;position:sticky;top:20px;align-self:flex-start;max-height:calc(100vh - 40px);overflow-y:auto}.course-title-container{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--border-color);padding-bottom:10px;margin-top:0;gap:20px}.main-content h1{margin:0;flex:1}.back-to-dashboard-btn{background-color:transparent;color:var(--text-color);border:1px solid var(--border-color);padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;white-space:nowrap}.back-to-dashboard-btn:hover{background-color:var(--hover-background);transform:translateY(-1px)}.main-content .author{font-style:italic;color:var(--secondary-accent);margin-top:-10px;margin-bottom:20px}.course-study-title-container{margin-top:0;margin-bottom:20px;color:var(--text-color)}.course-study-title-container h1{font-size:1.6em;margin:0}.course-header-compact{display:flex;align-items:center;gap:20px;padding:20px;background-color:var(--card-background);border-radius:8px;margin-bottom:20px;border:1px solid var(--border-color)}.course-cover-small{width:140px;height:80px;object-fit:cover;border-radius:8px;flex-shrink:0}.course-header-info{flex:1;display:flex;align-items:center;gap:15px}.course-header-info h1{margin:0;font-size:1.5em}.back-to-dashboard-btn-inline{background-color:transparent;color:var(--text-color);border:1px solid var(--border-color);padding:6px 12px;border-radius:6px;cursor:pointer;font-size:13px;white-space:nowrap}.course-header-meta{flex-shrink:0}.author-compact{margin:0;font-size:.9em;color:var(--secondary-accent)}.price-compact{margin:5px 0 0;font-size:.95em;color:var(--text-color)}.price-compact strong{color:#2e5cff;font-size:1.1em}.course-header-purchase{flex-shrink:0}.course-video-wide{width:100%;height:450px;border-radius:8px;overflow:hidden;margin-bottom:30px;box-shadow:0 4px 8px #0000001a}.course-description-full{margin-bottom:30px}.course-description-full h3{margin-top:0;margin-bottom:15px}.course-rating-section-full{margin-bottom:30px;padding:15px;background-color:var(--card-background);border-radius:8px;border:1px solid var(--border-color)}.course-header-layout{display:flex;gap:30px;align-items:flex-start;margin-bottom:30px}.course-image-left{flex-shrink:0;max-width:280px}.course-description-right{flex:1;min-width:0}.course-cover{width:100%;max-width:280px;height:auto;border-radius:8px;box-shadow:0 4px 8px #0000001a}.course-video{margin-top:20px;width:100%;max-width:280px;height:157px;border-radius:8px;overflow:hidden;box-shadow:0 4px 8px #0000001a}.course-meta{max-width:280px}.course-meta .author{margin-top:0;margin-bottom:10px;font-size:.95em}@media (max-width: 768px){.course-header-layout{flex-direction:column}.course-image-left{max-width:100%;align-self:center}.course-meta{max-width:100%}}.course-rating-section{display:flex;flex-direction:column;gap:8px;margin:5px 0;padding:8px;background:var(--card-background);border-radius:6px;border:1px solid var(--border-color)}.course-average-rating{display:flex;align-items:center;gap:10px}.course-average-rating .rating-count{color:var(--secondary-accent);font-size:.9em}.user-rating-section{display:flex;align-items:center;gap:8px;padding-top:8px;border-top:1px solid var(--border-color)}.user-rating-section label{font-weight:500;color:var(--text-color);min-width:100px}.rating-saving{color:var(--primary-accent);font-size:.9em;font-style:italic}.main-content .author a{color:#007bff;text-decoration:none}.main-content .author a:hover{text-decoration:underline}.description{margin-bottom:30px}.course-content h3{border-bottom:2px solid var(--border-color);padding-bottom:10px;font-size:1.3em}.chapter-container{margin-bottom:20px}.chapter-header,.lesson-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;background-color:var(--subtle-background);padding:10px 15px;border-radius:5px}.lesson-container{padding-left:20px;border-left:2px solid var(--border-color);margin-left:5px}.lesson-container ul{list-style-type:none;padding-left:0;margin-top:0}.training-line-item{display:flex;justify-content:space-between;align-items:center;padding:12px 10px;border-bottom:1px solid var(--border-color)}.training-line-item:last-child{border-bottom:none}.training-line-actions{display:flex;gap:10px}.study-btn,.train-btn{text-decoration:none;padding:6px 12px;border-radius:5px;font-size:.9em;font-weight:700;text-align:center;transition:all .2s ease-in-out}.study-btn{background-color:var(--card-background);color:var(--text-color);border:1px solid var(--border-color)}.study-btn:hover{background-color:var(--hover-background)}.train-btn{background-color:#007bff;color:#fff;border:1px solid #007bff}.train-btn:hover{background-color:#0056b3;border-color:#0056b3}.purchase-section,.course-stats-box{background-color:var(--subtle-background);padding:20px;border-radius:8px;border:1px solid var(--border-color)}.purchase-section{text-align:center}.purchase-btn{background-color:#2e5cff;color:#fff;border:none;padding:14px 30px;font-size:1.1em;font-weight:500;border-radius:8px;cursor:pointer;width:100%;transition:all .2s ease}.purchase-btn:hover{background-color:#1a47d9;transform:translateY(-1px)}.ownership-status{background-color:var(--hover-background);color:var(--text-color);border:1px solid var(--border-color);padding:14px 20px;font-size:1em;font-weight:500;border-radius:8px;width:100%;text-align:center;box-sizing:border-box;word-wrap:break-word}.status-info{font-weight:700;color:#155724}[data-theme=dark] .status-info{color:#a7d7b4}.course-stats-box{margin-top:20px}.course-stats-box h4{margin-top:0;border-bottom:1px solid var(--border-color);padding-bottom:10px;margin-bottom:15px}.course-stats-box ul{list-style:none;padding:0;margin:0}.course-stats-box li{display:flex;justify-content:space-between;padding:8px 0;font-size:.95em;border-bottom:1px solid var(--border-color);align-items:center}.course-stats-box li:last-child{border-bottom:none}.rating-in-stats{display:flex;align-items:center;gap:8px;flex-shrink:0}.rating-value{font-size:.9em;color:var(--text-color)}.rating-loading{font-size:.85em;color:var(--secondary-accent);font-style:italic}.progress-bar-container{width:100px;height:18px;background-color:var(--border-color);border-radius:10px;position:relative;overflow:hidden}.progress-bar-fill{height:100%;background-color:#4caf50;border-radius:10px;transition:width .5s ease-in-out}.progress-bar-label{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;text-shadow:1px 1px 1px rgba(0,0,0,.6)}.manage-course-link{display:block;width:100%;padding:12px;background-color:#6c757d;color:#fff;text-align:center;border-radius:5px;text-decoration:none;font-weight:700;transition:background-color .2s}.manage-course-link:hover{background-color:#5a6268}.chapter-description{padding:0 15px 15px;background-color:var(--subtle-background);border-radius:0 0 5px 5px;margin-top:-10px;margin-bottom:15px;color:var(--text-color);line-height:1.6}.chapter-description p:last-child{margin-bottom:0}.chapter-description h1,.chapter-description h2,.chapter-description h3{margin-top:0;padding-top:10px}.variation-list{display:flex;flex-direction:column;gap:15px}.variation-item{display:flex;justify-content:space-between;align-items:center;padding:20px;background-color:var(--subtle-background);border:1px solid var(--border-color);border-radius:8px}.variation-info h4{margin:0}.variation-actions{align-items:center}.pause-btn{background-color:transparent;color:#6c757d;border:1px solid #6c757d;border-radius:6px;font-size:.85em;cursor:pointer;padding:4px 12px;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;box-sizing:border-box;height:28px}.pause-btn:hover{background-color:#6c757d1a;color:#5a6268;border-color:#5a6268}.variation-item.paused{opacity:.8;background-color:var(--background-color)}.variation-title-link{text-decoration:none;color:inherit;transition:all .2s;display:inline-block}.variation-title-link:hover,.variation-title-link:hover h4{color:var(--primary-accent);text-decoration:underline}.variation-header h4{margin:0;transition:color .2s}.variation-item{display:flex;flex-direction:row;align-items:center;gap:10px;padding:10px 15px;background:#d8e1e8;border:1px solid #c5d0d9;border-radius:8px;min-height:100px;max-height:100px;height:100px;transition:all .3s ease;max-width:950px;width:100%;position:relative;box-shadow:0 2px 8px #b0bec940,0 1px 3px #b0bec926}.variation-item:hover{background:#e3ebf0;border-color:#2d6a2d}[data-theme=dark] .variation-item{background:#2d3740;border:1px solid #242b33;box-shadow:0 2px 8px #0000004d,0 1px 3px #0003}[data-theme=dark] .variation-item:hover{background:#364049;border-color:#4a9e4a}.variation-header{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:240px;max-width:240px;width:240px;flex-shrink:0}.variation-header h4{margin:0;font-size:1.1em;text-align:center;transition:all .2s}.next-repetition-info{font-size:.75em;color:var(--secondary-accent);font-weight:400;padding:2px 0;margin:4px 0 0;text-align:center}.variation-info{display:flex;align-items:center;justify-content:center;gap:12px}.variation-moves{font-family:monospace;background-color:var(--subtle-background);border:1px solid var(--border-color);padding:8px 18px;border-radius:5px;line-height:1.4;word-break:break-word;font-weight:700;font-size:15px;color:var(--text-color);width:460px;min-width:460px;max-width:460px;height:86px;min-height:86px;max-height:86px;overflow-y:auto;overflow-wrap:break-word;align-self:center;flex-shrink:0;position:relative}.variation-moves .setup-move{color:#999;opacity:.7}.variation-actions{display:flex;flex-direction:column;gap:8px;flex-shrink:0;justify-content:center;min-width:160px;max-width:160px;width:160px}.variation-actions .learn-btn,.variation-actions .repeat-btn{width:160px;padding:4px 16px;font-size:.85em;box-sizing:border-box;position:relative;height:28px;border-radius:6px}.repeat-badge{position:absolute;top:-6px;right:-6px;background-color:#ff3b30;color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600}.variation-item .paused-status-message{font-size:.85em;font-style:italic;color:var(--secondary-accent);margin:0;position:absolute;bottom:2px;left:240px;width:460px;text-align:center}.paused-text{color:#ef3535;font-weight:700}.action-btn{padding:10px 20px;border-radius:6px;text-decoration:none;font-weight:500;text-align:center;transition:all .2s ease;border:1px solid;background-color:transparent}.learn-btn{color:#28a745;border-color:#28a745}.repeat-btn{color:#007bff;border-color:#007bff}.learn-btn:hover{background-color:#28a7451a;color:#218838;border-color:#218838;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.repeat-btn:hover{background-color:#007bff1a;color:#0056b3;border-color:#0056b3;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.learn-btn.disabled{opacity:.5;pointer-events:none;cursor:not-allowed}.student-manage-box{margin-top:20px;padding:20px;background-color:var(--subtle-background);border:1px solid var(--border-color);display:flex;flex-direction:column;gap:15px}.student-manage-box h4{margin-top:0;border-bottom:1px solid var(--border-color);padding-bottom:10px}.student-manage-box .button-secondary{width:100%;padding:10px;font-weight:700;background-color:#6c757d;color:#fff;border:1px solid #5a6268;text-decoration:none;cursor:pointer;border-radius:0;box-sizing:border-box}.student-manage-box .button-secondary:hover{background-color:#5a6268;border-color:#5a6268}.student-manage-box .button-danger{width:100%;padding:10px;font-weight:700;border-radius:0;box-sizing:border-box}.button-danger{background-color:#dc3545;color:#fff;border:1px solid #dc3545}.author-manage-box{margin-top:20px;padding:20px;background-color:var(--subtle-background);border-radius:8px;border:1px solid var(--border-color)}.author-manage-box h4{margin-top:0;border-bottom:1px solid var(--border-color);padding-bottom:10px}.author-manage-box .button-secondary{width:100%;padding:10px;font-weight:700;background-color:#ffc107;color:#212529;border-color:#ffc107;text-decoration:none}.author-manage-box .button-secondary:hover{background-color:#e0a800;border-color:#e0a800}.student-manage-box .archive-btn{width:100%;padding:10px;font-weight:700;background-color:#1a1a1a;color:#fff;border:1px solid #000000;text-decoration:none;cursor:pointer;border-radius:0;box-sizing:border-box}.student-manage-box .archive-btn:hover{background-color:#000;border-color:#000;color:#fff;text-decoration:none}@media (max-width: 768px){.course-study-container{padding:15px 10px!important;margin:10px auto!important}.main-content,.sidebar{min-width:100%!important}.variation-item{flex-direction:column!important;align-items:stretch!important;gap:15px!important;min-height:auto!important;max-height:none!important;height:auto!important;padding:12px!important;max-width:100%!important;box-sizing:border-box!important}.variation-header{width:100%!important;min-width:100%!important;max-width:100%!important;align-items:flex-start!important}.variation-info{width:100%!important;max-width:100%!important}.variation-moves-container{width:100%!important;max-width:100%!important;overflow:hidden!important;box-sizing:border-box!important}.variation-moves{width:100%!important;max-width:100%!important;padding:8px 10px!important;font-size:.85em!important;word-wrap:break-word!important;word-break:break-word!important;overflow-wrap:break-word!important;white-space:normal!important;box-sizing:border-box!important}.variation-actions{width:100%!important;min-width:100%!important;max-width:100%!important;gap:10px!important}.variation-actions .learn-btn,.variation-actions .repeat-btn,.variation-actions .pause-btn{width:100%!important;height:44px!important;font-size:1em!important;padding:12px 16px!important;font-weight:600!important}.variation-actions .repeat-badge{position:relative!important;top:0!important;right:0!important;margin-left:8px!important;width:24px!important;height:24px!important;font-size:.8em!important}.variation-actions .repeat-btn{justify-content:center!important;position:relative!important}.variation-item .paused-status-message{position:relative!important;left:0!important;width:100%!important;margin-top:10px!important}}@media (max-width: 480px){.course-study-container{padding:10px 5px!important}.variation-item{padding:10px 8px!important}.variation-moves-container{padding:0!important;margin:0!important}.variation-moves{font-size:.78em!important;padding:6px 4px!important;margin:0!important;line-height:1.5!important}.variation-header{padding:0!important}.variation-actions .learn-btn,.variation-actions .repeat-btn,.variation-actions .pause-btn{height:48px!important;font-size:1.05em!important;padding:12px 10px!important}}.auth-form{padding:40px;border-radius:8px;box-shadow:0 4px 10px var(--shadow-color);background-color:var(--card-background);border:1px solid var(--border-color);width:100%;max-width:600px}.auth-container{display:flex;justify-content:center;align-items:flex-start;padding:50px 20px;font-family:sans-serif;flex-grow:1}.auth-form h2{text-align:center;margin-top:0;margin-bottom:20px;color:var(--primary-accent)}.form-group label{display:block;margin-bottom:8px;color:var(--text-color);font-weight:700}.form-group input,.form-group textarea,.form-group select{width:100%;padding:10px;border:1px solid var(--border-color);background-color:var(--background-color);color:var(--text-color);border-radius:4px;box-sizing:border-box;font-size:1em}.error-message{color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb;padding:8px 12px;border-radius:4px;text-align:center;margin-bottom:15px;font-size:.85em;line-height:1.2}.warning-message{color:#856404;background-color:#fff3cd;border:1px solid #ffeaa7;padding:8px 12px;border-radius:4px;text-align:center;margin-bottom:15px;font-size:.85em;line-height:1.2}.message-container{height:40px;margin-top:10px;margin-bottom:15px;display:flex;align-items:center}.message-container .error-message,.message-container .warning-message{margin-bottom:0;padding:6px 12px;font-size:.85em;line-height:1.3;width:100%;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;box-sizing:border-box}.success-message{color:#155724;background-color:#d4edda;border:1px solid #c3e6cb;padding:10px;border-radius:4px;text-align:center;margin-bottom:15px}.form-footer{text-align:center;margin-top:20px}.form-footer a{color:#555;text-decoration:none;font-size:.9em}.form-footer a:hover{text-decoration:underline}.input-wrapper{position:relative;display:flex;align-items:center}.password-toggle{position:absolute;right:1px;top:1px;bottom:1px;border:none;background:#f0f0f0;padding:0 15px;cursor:pointer;color:#555;font-size:.9em;border-radius:0 4px 4px 0}.form-buttons{display:flex;gap:10px;margin-top:20px}.button-primary{flex-grow:1;padding:12px;border:none;border-radius:4px;font-size:16px;cursor:pointer;font-weight:700;background-color:#333;color:#fff}.button-primary:hover{opacity:.8}.button-secondary{background-color:var(--primary-accent);color:var(--background-color);border:1px solid #ccc}.button-secondary:hover{opacity:.8}.avatar-group{display:flex;align-items:center;gap:20px}.avatar-preview img{width:80px;height:80px;border-radius:50%;object-fit:cover;border:2px solid #eee}.ReactModal__Overlay{opacity:0;transition:opacity .25s ease-in-out;background-color:#000000bf;position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1000}.ReactModal__Overlay--after-open{opacity:1}.ReactModal__Overlay--before-close{opacity:0}.ReactModal__Content{position:static!important;inset:auto!important;border:none!important;background:#fff!important;padding:20px!important;border-radius:8px!important;max-width:500px;width:100%}.cropper-container .button-primary{width:100%;margin-top:15px}.cover-preview img{width:150px;height:84px;border-radius:8px;object-fit:cover;border:2px solid #eee}.danger-zone{margin-top:40px;padding-top:20px;border-top:2px solid #eee}.danger-zone h3{color:#dc3545;margin-bottom:20px}.danger-zone h4{margin-top:0;margin-bottom:10px;color:#333}.danger-zone-form{padding:20px;background-color:var(--card-background);border:1px solid var(--border-color);border-radius:8px}.danger-zone-section{margin-top:25px}.danger-zone-section p{font-size:.9em;color:#555}.delete-button{padding:12px;font-size:16px;font-weight:700;cursor:pointer;background-color:#dc3545!important;color:#fff!important;border:none;border-radius:4px}.delete-button:hover{background-color:#c82333}.settings-section-header{margin-top:30px;border-top:1px solid var(--border-color);padding-top:20px}.form-group-toggle{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;font-weight:700;color:var(--text-color)}.switch{position:relative;display:inline-block;width:50px;height:28px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s}.slider:before{position:absolute;content:"";height:20px;width:20px;left:4px;bottom:4px;background-color:#fff;transition:.4s}input:checked+.slider{background-color:#28a745}input:focus+.slider{box-shadow:0 0 1px #28a745}input:checked+.slider:before{transform:translate(22px)}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}[data-theme=dark] .button-primary{background-color:var(--card-background);color:var(--primary-accent);border:1px solid var(--primary-accent)}[data-theme=dark] .button-primary:hover{background-color:var(--hover-background);opacity:1}[data-theme=dark] .danger-zone h3{color:#e57373}[data-theme=dark] .delete-button{background-color:#e57373!important;color:#121212!important}.language-switcher{display:flex;gap:10px}.language-switcher button{padding:8px 15px;border:1px solid var(--border-color);background-color:var(--card-background);color:var(--text-color);border-radius:5px;cursor:pointer;font-weight:700}.language-switcher button.active{background-color:#007bff;color:#fff;border-color:#007bff}.language-switcher button:not(.active):hover{background-color:var(--hover-background)}@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size: 12px;--rc-drag-handle-mobile-size: 24px;--rc-drag-handle-bg-colour: rgba(0, 0, 0, .2);--rc-drag-bar-size: 6px;--rc-border-color: rgba(255, 255, 255, .7);--rc-focus-color: #0088ff}.ReactCrop{position:relative;display:inline-block;cursor:crosshair;max-width:100%}.ReactCrop *,.ReactCrop *:before,.ReactCrop *:after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{overflow:hidden;max-height:inherit}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{display:block;max-width:100%;max-height:inherit}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video{touch-action:none}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{position:absolute;inset:0;pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px)}.ReactCrop__crop-selection{position:absolute;top:0;left:0;transform:translateZ(0);cursor:move}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";position:absolute;inset:-1px;border:1px solid var(--rc-border-color);opacity:.3}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed white}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){animation:marching-ants 1s;background-image:linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%);background-size:10px 1px,10px 1px,1px 10px,1px 10px;background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;color:#fff;animation-play-state:running;animation-timing-function:linear;animation-iteration-count:infinite}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";display:block;position:absolute;background-color:#fff6}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333333333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6666666667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333333333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6666666667%}.ReactCrop__drag-handle{position:absolute;width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color)}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{top:0;left:0;transform:translate(-50%,-50%);cursor:nw-resize}.ReactCrop .ord-n{top:0;left:50%;transform:translate(-50%,-50%);cursor:n-resize}.ReactCrop .ord-ne{top:0;right:0;transform:translate(50%,-50%);cursor:ne-resize}.ReactCrop .ord-e{top:50%;right:0;transform:translate(50%,-50%);cursor:e-resize}.ReactCrop .ord-se{bottom:0;right:0;transform:translate(50%,50%);cursor:se-resize}.ReactCrop .ord-s{bottom:0;left:50%;transform:translate(-50%,50%);cursor:s-resize}.ReactCrop .ord-sw{bottom:0;left:0;transform:translate(-50%,50%);cursor:sw-resize}.ReactCrop .ord-w{top:50%;left:0;transform:translate(-50%,-50%);cursor:w-resize}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{top:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{right:0;top:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{bottom:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{top:0;left:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media (pointer: coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}.chessboard-wrapper{border:1px solid #2c3e50;border-radius:4px;display:inline-block;background-color:transparent;padding:0;width:100%;max-width:100%;box-shadow:0 2px 4px #0000001a;overflow:hidden;position:relative}.chessboard-wrapper.arrow-mode{box-shadow:0 0 10px #007bff80}.chessboard-svg-overlay{pointer-events:none}.chessboard-svg-overlay g{pointer-events:auto}.chessboard-wrapper:focus{outline:none}.possible-move-dot{position:relative}.possible-move-dot:after{content:"";position:absolute;top:50%;left:50%;width:25%;height:25%;background-color:#14551ecc;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.possible-capture-dot{position:relative}.possible-capture-dot:after{content:"";position:absolute;top:50%;left:50%;width:85%;height:85%;border:4px solid rgba(20,85,30,.8);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;box-sizing:border-box}.selected-square{background-color:#ff06!important}.board-resize-handle{position:absolute;bottom:0;right:-32px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background-color:#00000026;border-radius:4px;cursor:nwse-resize;opacity:.3;transition:opacity .2s ease,background-color .2s ease;z-index:10;-webkit-user-select:none;user-select:none}.board-resize-handle:hover{opacity:.7;background-color:#00000040}.board-resize-handle.dragging{opacity:.9;background-color:#00000059}.board-resize-handle svg{width:12px;height:12px;color:#fff;pointer-events:none}.interactive-lesson-builder-container{display:flex;flex-direction:column;gap:20px;box-sizing:border-box;width:100%}.builder-main-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:20px;align-items:start;width:100%}@media (max-width: 1200px){.builder-main-grid{grid-template-columns:1fr}}.board-column{display:flex;flex-direction:column;gap:16px;min-width:0;overflow:visible}.board-wrapper{background:#fff;padding:16px;border-radius:8px;box-shadow:0 2px 8px #0000001a;max-width:100%;display:flex;justify-content:center;align-items:center;box-sizing:border-box}.board-buttons-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;width:100%}.btn-board-action{padding:10px 16px;border:1px solid #dee2e6;border-radius:4px;font-size:.85em;cursor:pointer;transition:all .15s ease;font-weight:500;background:#fff;color:#495057;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-board-action:hover:not(:disabled){background:#f8f9fa;border-color:#adb5bd;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.btn-board-action:disabled{background:#f8f9fa;color:#adb5bd;cursor:not-allowed;opacity:.5;border-color:#dee2e6}.btn-board-action.btn-danger{color:#dc3545;border-color:#dc3545}.btn-board-action.btn-danger:hover:not(:disabled){background:#dc3545;color:#fff;border-color:#dc3545}.btn-board-action.btn-success{background:#28a745;color:#fff;border-color:#28a745}.btn-board-action.btn-success:hover:not(:disabled){background:#218838;border-color:#218838}.btn-board-action.btn-block-end-active{background:#28a745;color:#fff;border-color:#28a745}.btn-board-action.btn-block-end-active:hover:not(:disabled){background:#218838;border-color:#218838}.starting-position-info{background:#d4edda;padding:10px;border-radius:6px;border-left:3px solid #28a745;text-align:center}.starting-position-info small{color:#155724;font-weight:500}.arrow-controls{display:flex;flex-direction:column;gap:10px;padding:12px;background:#f8f9fa;border-radius:4px;border:1px solid #dee2e6}.btn-arrow-mode{padding:10px 16px;border:1px solid #dee2e6;border-radius:4px;background:#fff;color:#495057;font-size:.85em;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-arrow-mode:hover{background:#f8f9fa;border-color:#adb5bd;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.btn-arrow-mode.active{background:#007bff;color:#fff;border-color:#007bff}.btn-arrow-mode.active:hover{background:#0056b3;border-color:#0056b3}.btn-arrow-clear{padding:8px 12px;border:1px solid #dee2e6;border-radius:4px;background:#fff;color:#495057;font-size:.85em;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-arrow-clear:hover{background:#f8f9fa;border-color:#adb5bd;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.arrow-legend{padding:10px;background:#fff;border-radius:6px;border:1px solid #dee2e6}.arrow-legend small{line-height:1.6;color:#495057}.arrow-legend strong{color:#2c3e50}.comment-section{display:flex;flex-direction:column;gap:16px;background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 8px #0000001a;height:fit-content;min-height:300px}.comment-section h4{margin:0;font-size:1.1em;color:#2c3e50}.current-move-info{padding:12px;background:#e7f3ff;border-left:4px solid #007bff;border-radius:4px}.move-label{margin:0;color:#2c3e50;font-size:.95em}.move-label strong{color:#007bff;font-size:1.1em}.no-moves-message{padding:12px;background:#fff3cd;border-left:4px solid #ffc107;border-radius:4px;color:#856404;margin:0}.comment-textarea{width:100%;padding:12px;border:2px solid #e1e4e8;border-radius:6px;font-size:.95em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;resize:vertical;transition:border-color .2s;min-height:120px}.comment-textarea:focus{outline:none;border-color:#007bff}.comment-textarea:disabled{background:#f5f5f5;cursor:not-allowed}.block-controls{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid #e1e4e8}.btn-mark-block{padding:12px 20px;background:#28a745;color:#fff;border:none;border-radius:6px;font-size:.95em;font-weight:600;cursor:pointer;transition:all .2s}.btn-mark-block:hover:not(:disabled){background:#218838;transform:translateY(-1px);box-shadow:0 2px 8px #28a7454d}.btn-mark-block:disabled{background:#ccc;cursor:not-allowed}.block-controls small{color:#6c757d;font-size:.85em;line-height:1.4}.preview-section{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 8px #0000001a}.preview-section h4{margin:0 0 16px;font-size:1.1em;color:#2c3e50}.blocks-preview{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.empty-message{padding:20px;text-align:center;color:#6c757d;background:#f8f9fa;border-radius:6px;border:2px dashed #dee2e6}.block-preview{padding:16px;background:#f8f9fa;border-radius:8px;border:2px solid #e1e4e8;transition:all .2s}.block-preview:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff1a}.block-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #dee2e6}.block-header strong{color:#2c3e50;font-size:1em}.moves-count{font-size:.85em;color:#6c757d;font-weight:400}.block-moves{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.move-chip{padding:6px 12px;background:#fff;border:1px solid #dee2e6;border-radius:4px;font-size:.9em;font-weight:500;color:#495057;font-family:Courier New,monospace}.block-comment{padding:10px;background:#fff;border-left:3px solid #007bff;border-radius:4px;font-size:.9em;color:#495057;line-height:1.5;margin-top:8px}.stats{padding:16px;background:#e7f3ff;border-radius:6px;display:flex;gap:24px}.stats p{margin:0;color:#2c3e50;font-size:.95em}.stats strong{color:#007bff;font-size:1.2em}.pgn-column{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 8px #0000001a;height:fit-content;max-height:calc(100vh - 40px);overflow-y:auto;min-width:0}.pgn-column h4{margin:0 0 12px;font-size:1.1em;color:#2c3e50}.pgn-display{background:#f8f9fa;padding:16px;border-radius:6px;border:2px solid #e1e4e8;font-family:Courier New,monospace;font-size:.95em;line-height:1.8;color:#2c3e50;min-height:200px;max-height:500px;overflow-y:auto;word-wrap:break-word}.pgn-display:empty:before{content:"Сделайте ходы на доске...";color:#6c757d;font-style:italic}.pgn-legend{margin-top:8px;padding:8px;background:#fff3cd;border-radius:4px;border-left:3px solid #ffc107}.pgn-legend small{color:#856404;font-size:.85em}.comment-block-full{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-top:8px}.comment-block-full h4{margin:0 0 12px;font-size:1.1em;color:#2c3e50}.comment-textarea-full{width:100%;padding:12px;border:2px solid #e1e4e8;border-radius:6px;font-size:.95em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;resize:vertical;transition:border-color .2s;min-height:120px;box-sizing:border-box}.comment-textarea-full:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.comment-textarea-full:disabled{background:#f5f5f5;cursor:not-allowed}.promotion-dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:10000}.promotion-dialog{background:var(--card-background, white);border-radius:12px;padding:30px;box-shadow:0 10px 40px #0000004d;max-width:400px;width:90%}.promotion-dialog h3{margin:0 0 20px;color:var(--text-color, #2c3e50);font-size:1.3em;text-align:center}.promotion-pieces{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.promotion-piece{background:var(--card-background, white);border:2px solid #dee2e6;border-radius:8px;padding:20px;font-size:3em;cursor:pointer;transition:all .2s ease;display:flex;justify-content:center;align-items:center}.promotion-piece:hover{background:#007bff;border-color:#007bff;transform:translateY(-3px);box-shadow:0 4px 12px #007bff4d}.promotion-piece:active{transform:translateY(-1px)}[data-theme=dark] .promotion-dialog{background:#1e293b;border:1px solid #334155}[data-theme=dark] .promotion-piece{background:#2a3a4d;border-color:#475569;color:#e5e7eb}[data-theme=dark] .promotion-piece:hover{background:#06c;border-color:#06c}.line-item{background-color:var(--subtle-background);border:1px solid var(--border-color);border-radius:8px;padding:15px 20px;margin-bottom:15px;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s ease}.line-item span{font-weight:500}.item-actions button{margin-left:10px}.edit-line-form{width:100%}.edit-line-form h4{margin-top:20px;margin-bottom:15px;color:var(--text-color);border-bottom:1px solid var(--border-color);padding-bottom:8px;font-size:1.2em}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:15px}.form-group-checkbox{display:flex;align-items:center;gap:10px;margin-bottom:20px}.form-buttons{margin-top:25px;display:flex;gap:10px;padding-top:15px;border-top:1px solid var(--border-color)}.interactive-lesson-builder{margin-top:20px}.step-editor{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:8px;margin-bottom:15px}.step-header{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;border-bottom:1px solid var(--border-color);background-color:var(--subtle-background)}.step-header strong{font-size:1.1em;font-weight:500}.delete-step-btn{background-color:#dc3545;color:#fff;border:none;padding:5px 10px;border-radius:5px;cursor:pointer;font-size:14px}.delete-step-btn:hover{opacity:.85}.step-content{padding:15px;display:flex;flex-direction:column;gap:10px}.edit-line-form input[type=text],.edit-line-form input[type=url],.edit-line-form textarea,.step-content textarea,.step-content input{width:100%;padding:10px;border-radius:5px;border:1px solid var(--border-color);background-color:var(--background-color);color:var(--text-color);box-sizing:border-box;font-size:1em;font-family:inherit}.edit-line-form input[type=text]:focus,.edit-line-form input[type=url]:focus,.edit-line-form textarea:focus,.step-content textarea:focus,.step-content input:focus{outline:none;border-color:var(--primary-accent);box-shadow:0 0 0 2px #3333}.add-step-buttons{display:flex;gap:10px;margin-top:5px}.add-step-buttons button{padding:10px 15px;border:1px dashed var(--secondary-accent);background:none;color:var(--secondary-accent);cursor:pointer;border-radius:5px;font-weight:700;transition:all .2s ease}.add-step-buttons button:hover{background-color:var(--subtle-background);border-style:solid}.pgn-input{font-family:Courier New,Consolas,monospace!important;font-size:.95em;resize:vertical;min-height:80px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-color)}.form-help{display:block;margin-top:5px;font-size:.85em;color:var(--secondary-accent);font-style:italic}.arrows-section{margin-top:15px;padding:10px;border:1px solid var(--border-color);border-radius:5px;background-color:var(--subtle-background)}.toggle-arrows-btn{width:100%;padding:8px 12px;background:none;border:none;color:var(--secondary-accent);font-weight:600;text-align:left;cursor:pointer;display:flex;align-items:center;gap:8px;transition:color .2s ease}.toggle-arrows-btn:hover{color:var(--primary-accent)}.arrows-editor{margin-top:10px;padding:10px;background-color:var(--background-color);border-radius:5px}.arrows-controls{display:flex;gap:10px;margin-bottom:15px}.add-arrow-btn,.add-circle-btn{flex:1;padding:8px 15px;border:1px dashed var(--secondary-accent);background:var(--background-color);color:var(--secondary-accent);border-radius:5px;cursor:pointer;font-weight:600;transition:all .2s ease}.add-arrow-btn:hover,.add-circle-btn:hover{border-style:solid;background-color:var(--subtle-background)}.no-arrows-message{padding:15px;text-align:center;color:var(--secondary-accent);font-style:italic;font-size:.9em}.arrow-item{display:flex;align-items:center;gap:8px;padding:10px;margin-bottom:8px;background-color:var(--subtle-background);border:1px solid var(--border-color);border-radius:5px}.arrow-type{font-weight:600;color:var(--primary-accent);min-width:70px}.arrow-square-input{width:60px!important;padding:5px 8px!important;text-align:center;text-transform:lowercase;font-size:.9em}.arrow-color-select{padding:5px 8px;border:1px solid var(--border-color);border-radius:5px;background-color:var(--background-color);color:var(--text-color);cursor:pointer;font-size:.9em}.delete-arrow-btn{background-color:#dc3545;color:#fff;border:none;border-radius:5px;padding:5px 10px;cursor:pointer;font-weight:700;transition:opacity .2s ease}.delete-arrow-btn:hover{opacity:.85}.course-parts-manager{background:var(--background-color);border:1px solid var(--border-color);border-radius:8px;padding:20px;margin:20px 0}.parts-manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid var(--border-color)}.parts-manager-header h3{margin:0;color:var(--text-color)}.parts-manager-loading{text-align:center;padding:40px;color:var(--secondary-text)}.new-part-form{background:var(--hover-background);border:1px solid var(--border-color);border-radius:6px;padding:20px;margin-bottom:20px}.new-part-form h4{margin:0 0 15px;color:var(--text-color)}.new-part-form input,.new-part-form textarea{width:100%;padding:10px;border:1px solid var(--border-color);border-radius:4px;margin-bottom:10px;background:var(--background-color);color:var(--text-color);font-family:inherit}.new-part-form textarea{min-height:80px;resize:vertical}.form-actions{display:flex;gap:10px;margin-top:15px}.parts-list{margin-bottom:30px}.part-item{background:var(--background-color);border:1px solid var(--border-color);border-radius:6px;margin-bottom:15px;overflow:hidden}.part-header{display:flex;justify-content:space-between;align-items:flex-start;padding:15px;background:var(--hover-background);border-bottom:1px solid var(--border-color)}.part-info h4{margin:0 0 5px;color:var(--text-color)}.part-info p{margin:0 0 8px;color:var(--secondary-text);font-size:.9em}.part-stats{font-size:.85em;color:var(--primary-accent);font-weight:500}.part-actions{display:flex;gap:8px}.part-edit-form input,.part-edit-form textarea{width:100%;padding:8px;border:1px solid var(--border-color);border-radius:4px;margin-bottom:8px;background:var(--background-color);color:var(--text-color)}.part-edit-form textarea{min-height:60px;resize:vertical}.part-lines{padding:15px}.line-item{display:flex;align-items:center;gap:10px;padding:12px;margin-bottom:8px;border:1px solid var(--border-color);border-radius:6px;background:var(--background-color);transition:background-color .2s ease}.line-item:hover{background:var(--hover-background)}.line-item:last-child{margin-bottom:0}.line-item input[type=checkbox]{margin:0;flex-shrink:0}.line-title{color:var(--text-color);font-size:.9em;flex:1}.line-actions{display:flex;gap:5px;flex-shrink:0}.line-actions .btn-icon{padding:4px;font-size:.8em}.unassigned-lines{background:var(--hover-background);border:1px solid var(--border-color);border-radius:6px;padding:15px;margin-bottom:20px}.unassigned-lines h4{margin:0 0 15px;color:var(--text-color)}.unassigned-info{margin:0 0 15px;padding:10px;background:rgba(var(--primary-accent-rgb),.1);border:1px solid rgba(var(--primary-accent-rgb),.3);border-radius:4px;color:var(--text-color);font-size:.9em}.add-line-btn{display:flex;align-items:center;gap:8px;padding:12px 16px;margin-top:12px;background:var(--primary-accent);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9em;font-weight:500;transition:background-color .2s ease;width:100%;justify-content:center}.add-line-btn:hover{background:var(--primary-accent-dark, #0056b3)}.add-line-form{margin-top:12px;padding:16px;background:var(--hover-background);border:1px solid var(--border-color);border-radius:6px}.add-line-form input{width:100%;padding:10px;border:1px solid var(--border-color);border-radius:4px;font-size:.9em;margin-bottom:12px}.form-actions{display:flex;gap:8px;justify-content:flex-end}.btn-primary{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--primary-accent);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85em;font-weight:500;transition:background-color .2s ease}.btn-primary:hover{background:var(--primary-accent-dark, #0056b3)}.btn-secondary{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--secondary-color, #6c757d);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85em;font-weight:500;transition:background-color .2s ease}.btn-secondary:hover{background:var(--secondary-color-dark, #545b62)}.line-editor{margin-top:20px;padding:20px;border:2px solid var(--primary-accent);border-radius:8px;background:var(--background-color)}.lines-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.lines-grid .line-item{margin-bottom:0}.selection-actions{background:var(--primary-accent);color:#fff;padding:15px;border-radius:6px;margin-bottom:20px}.selection-actions p{margin:0 0 10px;font-weight:500}.selection-actions .actions{display:flex;gap:10px;flex-wrap:wrap}.selection-actions .btn-primary,.selection-actions .btn-secondary{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff}.selection-actions .btn-primary:hover,.selection-actions .btn-secondary:hover{background:#ffffff4d}.btn-primary,.btn-secondary,.btn-icon{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:.9em;font-weight:500;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px}.btn-primary{background:var(--primary-accent);color:#fff}.btn-primary:hover{background:var(--secondary-accent);transform:translateY(-1px)}.btn-secondary{background:var(--hover-background);color:var(--text-color);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--border-color)}.btn-icon{padding:6px;background:transparent;color:var(--secondary-text);border:1px solid transparent}.btn-icon:hover{background:var(--hover-background);color:var(--text-color)}.btn-danger{color:#dc3545}.btn-danger:hover{background:#dc35451a;color:#dc3545}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--background-color);border:1px solid var(--border-color);border-radius:8px;padding:20px;min-width:400px;max-width:90vw}.modal h4{margin:0 0 15px;color:var(--text-color)}.parts-select{margin-bottom:20px}.part-option{display:flex;align-items:center;gap:8px;padding:8px 0;cursor:pointer}.part-option input[type=radio]{margin:0}.part-option span{color:var(--text-color)}.modal-actions{display:flex;gap:10px;justify-content:flex-end}@media (max-width: 768px){.parts-manager-header{flex-direction:column;align-items:flex-start;gap:15px}.form-actions,.selection-actions .actions{flex-direction:column}.lines-grid{grid-template-columns:1fr}.modal{min-width:unset;width:90vw}.modal-actions{flex-direction:column}}.manage-course-container{max-width:1100px;margin:20px auto;padding:20px 30px;font-family:sans-serif;color:var(--text-color)}.manage-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:20px;gap:20px;border-bottom:1px solid var(--border-color)}.header-actions{display:flex;align-items:center;gap:10px}.header-btn{padding:10px 20px;border:none;border-radius:5px;color:#fff;cursor:pointer;font-weight:700;font-size:.9em;white-space:nowrap}.header-btn.publish-btn{background-color:#28a745}.header-btn.unpublish-btn{background-color:#6c757d}.header-btn.review-btn{background-color:#ffc107;color:#212529}.header-btn.reject-btn{background-color:#ff6b6b}.header-btn.delete-btn{background-color:#dc3545}.course-status-badge{padding:5px 12px;border-radius:15px;font-size:.9em;font-weight:700;background-color:var(--subtle-background);border:1px solid var(--border-color);margin-right:10px}.manage-header a{text-decoration:none;color:#007bff}.manage-header a:hover{text-decoration:underline}.publish-btn,.unpublish-btn{padding:10px 20px;border:none;border-radius:5px;color:#fff;cursor:pointer;font-weight:700;font-size:1em}.publish-btn{background-color:#28a745}.unpublish-btn{background-color:#ffc107;color:#212529}.content-editor h3{border-bottom:1px solid var(--border-color);padding-bottom:10px}.chapter-manage-item{background-color:var(--subtle-background);border:1px solid var(--border-color);padding:20px;border-radius:8px;margin-bottom:20px}.chapter-header{display:flex;justify-content:space-between;align-items:center;font-size:1.2em;font-weight:700}.lessons-list{margin-top:15px;padding-left:25px;border-left:3px solid var(--border-color)}.lesson-manage-item{margin-bottom:15px}.lesson-header{display:flex;justify-content:space-between;align-items:center;font-size:1.1em;padding:10px;background-color:var(--card-background);border-radius:5px}.training-lines-list{margin-top:10px;padding-left:20px}.line-item{display:flex;justify-content:space-between;align-items:center;padding:8px;border-bottom:1px solid var(--border-color)}.line-item:last-child{border-bottom:none}.edit-form,.add-lesson-form,.add-line-form,.edit-line-form,.edit-chapter-form{display:flex;gap:10px;margin-top:10px;padding:15px;background-color:var(--background-color);border-radius:5px}.edit-line-form,.edit-chapter-form{flex-direction:column}.add-chapter-form{display:flex;gap:10px;margin-top:20px}.add-chapter-form input{flex-grow:1}.form-group-checkbox{display:flex;align-items:center;gap:10px;margin:10px 0}.form-group-checkbox input[type=checkbox]{width:16px;height:16px}.form-group-checkbox label{font-weight:400}.item-actions button,.form-buttons button,.add-lesson-form button,.add-line-form button,.add-chapter-form button{margin-left:8px;cursor:pointer;border:1px solid var(--border-color);background-color:var(--card-background);color:var(--text-color);padding:8px 12px;border-radius:5px;transition:background-color .2s}.item-actions button:hover,.form-buttons button:hover,.add-lesson-form button:hover,.add-line-form button:hover,.add-chapter-form button:hover{background-color:var(--hover-background)}.delete-btn{background-color:#f8d7da;border-color:#f5c6cb;color:#721c24}.delete-btn:hover{background-color:#f1b0b7}[data-theme=dark] .delete-btn{background-color:#58151c;border-color:#f1b3bc;color:#f1b3bc}[data-theme=dark] .delete-btn:hover{background-color:#6d2830}.edit-form input{flex-grow:1}.add-item-btn,.add-lesson-btn{margin-top:10px;font-style:italic;cursor:pointer;background:none;border:1px dashed var(--border-color);color:var(--secondary-accent);padding:8px 15px;width:100%;text-align:center}.add-item-btn:hover,.add-lesson-btn:hover{background-color:var(--subtle-background)}.edit-chapter-form input,.edit-chapter-form textarea{width:100%;padding:10px;font-size:1em;border:1px solid var(--border-color);border-radius:4px;box-sizing:border-box;background-color:var(--background-color);color:var(--text-color)}.edit-chapter-form .form-buttons{display:flex;justify-content:flex-end;gap:10px}.manage-course-form{margin-bottom:40px;display:grid;grid-template-columns:1fr 1fr;gap:15px 25px;align-items:center}.form-group-full{grid-column:1 / -1}.form-group-full button{width:100%;padding:12px}.difficulty-checkboxes{display:flex;flex-wrap:wrap;gap:15px;margin-top:8px}.difficulty-checkboxes .checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:400}.difficulty-checkboxes input[type=checkbox]{width:18px;height:18px;cursor:pointer}.toast-message{position:fixed;top:20px;right:20px;padding:15px 25px;border-radius:8px;color:#fff;font-weight:700;z-index:1000;box-shadow:0 4px 12px #00000026;animation:fadeInDown .5s ease-in-out}.toast-message.success{background-color:#28a745}.toast-message.error{background-color:#dc3545}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.markdown-helper{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding:10px;background-color:var(--subtle-background);border-radius:6px;border:1px solid var(--border-color)}.markdown-helper small{color:var(--text-color-secondary);font-size:.85em;line-height:1.4}.image-upload-helper{display:flex;align-items:center}.button-image-upload{padding:8px 16px;background-color:var(--primary-accent);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9em;font-weight:600;transition:all .2s;white-space:nowrap}.button-image-upload:hover:not(:disabled){background-color:var(--primary-accent-dark);transform:translateY(-1px)}.button-image-upload:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.markdown-helper{flex-direction:column;align-items:flex-start;gap:10px}}.dashboard-card{display:flex;align-items:center;gap:20px;background-color:var(--subtle-background);border:1px solid var(--border-color);border-radius:8px;padding:12px;box-shadow:0 4px 15px var(--shadow-color);transition:transform .2s ease-in-out,box-shadow .2s ease-in-out;max-width:700px;width:100%;height:130px;cursor:pointer;position:relative}.dashboard-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px var(--shadow-color)}.dashboard-card-image{width:196px;height:110px;border-radius:8px;object-fit:cover;flex-shrink:0}.dashboard-card-placeholder{background-color:var(--border-color);display:flex;align-items:center;justify-content:center;font-size:44px;color:var(--secondary-accent)}.dashboard-card-content{flex-grow:1}.dashboard-card-title{margin:0 0 8px}.dashboard-card-title a{color:var(--text-color);text-decoration:none;font-size:1.1em;font-weight:700}.dashboard-card-title a:hover{text-decoration:underline}.dashboard-card-meta{display:flex;flex-direction:column;gap:4px}.dashboard-card-author{margin:0;font-size:.9em;color:var(--secondary-accent)}.dashboard-card-info{display:flex;align-items:center;justify-content:space-between;gap:10px}.training-lines-count,.difficulty-level{font-size:.85em;color:var(--secondary-accent);background-color:var(--subtle-background);padding:2px 6px;border-radius:4px}.dashboard-card-rating{display:flex;align-items:center;gap:8px}.rating-text{font-size:.8em;color:var(--secondary-accent)}.dashboard-card-progress{font-size:.9em;color:var(--secondary-accent)}.progress-bar{width:100%;height:6px;background-color:var(--border-color);border-radius:3px;margin-top:5px}.progress-bar-inner{height:100%;background-color:#007bff;border-radius:3px}.dashboard-card-actions{display:flex;flex-direction:column;gap:10px;align-items:flex-end;flex-shrink:0;justify-content:center}.dashboard-card-actions .action-btn,.dashboard-card-actions .learn-btn,.dashboard-card-actions .review-btn{padding:10px 20px!important;border-radius:8px!important;text-decoration:none!important;font-weight:500!important;text-align:center!important;width:140px!important;font-size:14px!important;box-sizing:border-box!important;transition:all .2s ease!important;border:none!important}.dashboard-card-actions .learn-btn{background-color:#2e5cff!important;color:#fff!important}.dashboard-card-actions .learn-btn:hover{background-color:#1a47d9!important;transform:translateY(-1px)!important}.dashboard-card-actions .review-btn{background-color:#ffb302!important;color:#1a1a1a!important;border:none!important;position:relative!important}.dashboard-card-actions .review-btn:hover{background-color:#e69e00!important;transform:translateY(-1px)!important}.review-badge{position:absolute;top:-6px;right:-6px;background-color:#ff3b30;color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600}.course-options-menu{position:relative;z-index:5}.options-btn{background:none;border:none;color:var(--secondary-accent);font-size:1.5em;cursor:pointer;padding:0 10px}.options-dropdown{position:absolute;top:100%;right:0;background-color:var(--subtle-background);border:1px solid var(--border-color);border-radius:5px;box-shadow:0 2px 10px var(--shadow-color);z-index:10;width:180px}.dropdown-item-danger{width:100%;padding:10px 15px;border:none;background:none;color:#dc3545;text-align:left;cursor:pointer;font-size:1em}.dropdown-item-danger:hover{background-color:var(--hover-background)}.dropdown-item{width:100%;padding:10px 15px;border:none;background:none;color:var(--text-color);text-align:left;cursor:pointer}.dropdown-item:hover{background-color:var(--hover-background)}.unarchive-btn{background-color:transparent!important;color:var(--text-color)!important;border:1px solid var(--border-color)!important}.unarchive-btn:hover{background-color:var(--hover-background)!important;text-decoration:none!important}.completed-badge{position:absolute;top:20px;right:20px;background-color:#28a745f2;color:#fff;padding:6px 12px;border-radius:6px;font-size:13px;font-weight:600;z-index:2;pointer-events:none}.reset-btn{background-color:transparent!important;color:var(--text-color)!important;width:140px!important;padding:10px 20px!important;font-size:14px!important;border:1px solid var(--border-color)!important}.reset-btn:hover{background-color:var(--hover-background)!important}.course-stats{display:flex;flex-direction:column;gap:16px;align-items:flex-start;min-width:220px}.stat-item{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;font-size:16px}.stat-value{font-weight:700;color:#fff;font-size:16px;border-radius:6px;min-width:70px;max-width:85px;height:32px;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0 8px}.stat-label{color:var(--secondary-accent);font-size:15px}.repetition-stat{position:relative}.repetition-stat .stat-value{background-color:#ff3b30}.learning-stat .stat-value{background-color:#2e5cff;color:#fff!important}.dashboard-container{max-width:1200px;margin:0 auto;padding:2rem;font-family:sans-serif;color:var(--text-color)}.dashboard-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;border-bottom:1px solid var(--border-color);padding-bottom:20px;margin-bottom:20px}.dashboard-section+.dashboard-section{margin-top:40px;padding-top:40px;border-top:1px solid var(--border-color)}.dashboard-tabs{display:flex;justify-content:space-between;margin-bottom:30px;border-bottom:2px solid var(--border-color);max-width:700px}.tab-button{background:none;border:none;padding:12px 0;font-size:1.25rem;font-weight:700;color:var(--secondary-accent);cursor:pointer;transition:all .3s ease;border-bottom:3px solid transparent;margin-bottom:-2px;position:relative}.tab-button:hover{color:var(--primary-accent)}.tab-button.active{color:var(--primary-accent);border-bottom-color:var(--primary-accent)}.dashboard-tab-content{animation:fadeIn .3s ease-in;width:100%}.dashboard-tab-content .dashboard-section{margin-top:0;padding-top:0;border-top:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.create-course-btn{display:inline-block;padding:10px 20px;background-color:#28a745;color:#fff;text-decoration:none;border-radius:5px;font-weight:700;border:1px solid #1e7e34}.my-courses-list h2{border-bottom:2px solid var(--border-color);padding-bottom:10px}.course-item-list{list-style-type:none;padding:0}.course-item{display:flex;justify-content:space-between;align-items:center;padding:15px;border-bottom:1px solid var(--border-color)}.course-info{display:flex;flex-direction:column;gap:5px}.course-title{text-decoration:none;color:var(--primary-accent);font-weight:700;font-size:1.1em}.course-item span[class^=status-]{padding:5px 10px;border-radius:15px;font-size:.8em;font-weight:700}.status-published{background-color:#d4edda;color:#155724}.status-draft{background-color:#e2e3e5;color:#383d41}[data-theme=dark] .status-published{background-color:#1c3c24;color:#a7d7b4}[data-theme=dark] .status-draft{background-color:#383d41;color:#e2e3e5}.course-actions{display:flex;gap:10px}.action-btn-edit,.action-btn-delete,.action-btn-study,.action-btn-repeat{padding:8px 15px;border:none;border-radius:4px;cursor:pointer;text-decoration:none;font-size:.9em;white-space:nowrap}.action-btn-edit{background-color:#007bff;color:#fff}.action-btn-delete{background-color:#dc3545;color:#fff}.action-tbn-study{background-color:#007bff;color:#fff}.action-btn-repeat{background-color:#ffc107;color:#212529;font-weight:700}.course-section{margin-bottom:2rem}.course-section h3{font-size:1.5em}.chapter-and-lesson-list{list-style-type:none;padding-left:0}.chapter-and-lesson-list>li{background-color:var(--subtle-background);padding:15px;border-radius:8px;margin-top:10px}.chapter-and-lesson-list ul{list-style-type:none;padding-left:20px;margin-top:10px}.student-lesson-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border-color)}.student-lesson-item:last-child{border-bottom:none}.dashboard-card-list{display:flex;flex-direction:column;gap:15px;max-width:700px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:15px}.section-actions{display:flex;gap:10px;align-items:center}.action-btn{display:inline-block;padding:8px 16px;border-radius:5px;text-decoration:none;font-size:.9em;font-weight:500;transition:all .2s ease}.create-btn{background-color:#28a745;color:#fff;border:1px solid #1e7e34}.create-btn:hover{background-color:#218838;text-decoration:none;color:#fff}.archive-btn{background-color:#6c757d;color:#fff;border:1px solid #5a6268}.archive-btn:hover{background-color:#5a6268;text-decoration:none;color:#fff}.empty-state{text-align:center;padding:40px 20px;color:var(--secondary-accent)}.empty-state a{color:var(--primary-accent);text-decoration:none}.empty-state a:hover{text-decoration:underline}.dashboard-main-layout{display:flex;gap:30px;align-items:flex-start}.dashboard-section:first-child{margin-top:0}.dashboard-section .section-header{margin-bottom:20px}.dashboard-content{flex:1;min-width:0}.dashboard-sidebar{width:380px;flex-shrink:0;margin-top:93px}.sidebar-section{background-color:var(--hover-background);border:1px solid var(--border-color);border-radius:8px;padding:20px;min-height:200px}.tool-buttons{display:flex;flex-direction:column;gap:15px;width:100%}.tool-btn{display:flex;align-items:center;gap:15px;padding:18px 20px;border-radius:8px;text-decoration:none;font-weight:500;transition:all .2s ease;border:none;width:100%;box-sizing:border-box;font-size:1em}.tool-btn:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.tool-btn.create-btn{background-color:transparent;color:#28a745;border:1px solid #28a745}.tool-btn.create-btn:hover{background-color:#28a7451a;color:#218838;border-color:#218838}.tool-btn.create-btn-disabled{background-color:transparent;color:#6c757d;border:1px solid #dee2e6;cursor:pointer;opacity:.8}.tool-btn.create-btn-disabled:hover{background-color:#6c757d0d;color:#6c757d;border-color:#adb5bd;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.tool-btn.library-btn{background-color:transparent;color:#007bff;border:1px solid #007bff}.tool-btn.library-btn:hover{background-color:#007bff1a;color:#0056b3;border-color:#0056b3}.tool-btn.favorite-btn-link{background-color:transparent;color:#ffc107;border:1px solid #ffc107}.tool-btn.favorite-btn-link:hover{background-color:#ffc1071a;color:#ffb300;border-color:#ffb300}.tool-btn.archive-btn{background-color:transparent;color:#6c757d;border:1px solid #6c757d}.tool-btn.archive-btn:hover{background-color:#6c757d1a;color:#5a6268;border-color:#5a6268}.tool-icon{font-size:1.5em;width:24px;display:flex;align-items:center;justify-content:center}.tool-label{font-size:1em;flex:1}@media (max-width: 1024px){.dashboard-main-layout{flex-direction:column}.dashboard-sidebar{width:100%;order:-1}.tool-buttons{flex-direction:row;justify-content:center}.tool-btn{flex:1;max-width:200px}}@media (max-width: 768px){.section-header{flex-direction:column;align-items:flex-start}.section-actions{width:100%;justify-content:flex-start}.tool-buttons{flex-direction:column}.tool-btn{max-width:none}.dashboard-tabs{gap:10px}.tab-button{font-size:1.2rem;padding:10px 0}}.library-page{max-width:1200px;margin:0 auto;padding:30px 20px}.library-header{margin-bottom:40px;position:relative}.library-header .back-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-color);padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9em;transition:all .2s;margin-bottom:20px}.library-header .back-btn:hover{background:var(--hover-background);border-color:var(--primary-accent);color:var(--primary-accent)}.library-header-title{display:flex;justify-content:space-between;align-items:center;text-align:center;gap:20px}.library-header-title>div{flex-grow:1}.library-header h1{color:var(--text-color);font-size:2.5em;margin-bottom:10px}.library-header p{color:var(--secondary-text);font-size:1.1em;margin-bottom:0}.add-library-btn{background-color:var(--primary-accent);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1em;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;white-space:nowrap}.add-library-btn:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-color)}.library-error{text-align:center;padding:60px 20px}.library-error h2{color:var(--text-color);margin-bottom:20px}.library-error p{color:var(--secondary-text);font-size:1.1em;margin-bottom:20px}.upgrade-link{display:inline-block;padding:12px 30px;background-color:var(--primary-accent);color:#fff;text-decoration:none;border-radius:8px;font-weight:600;transition:opacity .3s}.upgrade-link:hover{opacity:.9}.no-items{text-align:center;color:var(--secondary-text);font-size:1.1em;padding:40px 20px}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:25px}.library-item-card{background:var(--card-background);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}.library-item-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px var(--shadow-color)}.library-item-cover{width:100%;height:200px;overflow:hidden;background:var(--hover-background);display:flex;align-items:center;justify-content:center}.library-item-cover img{width:100%;height:100%;object-fit:cover}.library-item-placeholder{color:var(--secondary-text)}.library-item-content{padding:20px;display:flex;flex-direction:column;flex-grow:1;position:relative}.category-badge{position:absolute;top:15px;right:15px;background-color:var(--primary-accent);color:#fff;padding:4px 10px;border-radius:12px;font-size:.75em;font-weight:600}.edit-library-btn{position:absolute;top:15px;left:15px;background-color:#ffc107e6;color:#fff;border:none;padding:8px 12px;border-radius:8px;font-size:.9em;cursor:pointer;transition:all .2s ease;z-index:10}.edit-library-btn:hover{background-color:#ffc107;transform:scale(1.05)}.library-item-content h3{color:var(--text-color);font-size:1.2em;margin:0 0 10px;line-height:1.3;padding-right:80px}.library-item-author{color:var(--primary-accent);font-size:.9em;font-weight:500;margin:0 0 10px}.library-item-description{color:var(--secondary-text);font-size:.9em;line-height:1.4;margin:0 0 15px;flex-grow:1}.library-item-footer{display:flex;flex-direction:column;gap:10px;padding-top:15px;border-top:1px solid var(--border-color)}.file-info{color:var(--secondary-text);font-size:.85em;display:flex;align-items:center;gap:5px}.library-actions{display:flex;gap:8px}.read-btn,.download-btn{flex:1;color:#fff;border:none;padding:10px 16px;border-radius:6px;font-size:.9em;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.read-btn{background-color:#28a745}.read-btn:hover{background-color:#218838;transform:translateY(-2px);text-decoration:none}.download-btn{background-color:var(--primary-accent)}.download-btn:hover{background-color:#0056b3;transform:translateY(-2px)}.library-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px;justify-content:center}.filter-btn{padding:8px 16px;border:2px solid var(--border-color);background-color:var(--card-background);color:var(--text-color);border-radius:20px;cursor:pointer;font-weight:500;transition:all .2s ease}.filter-btn:hover{border-color:var(--primary-accent);background-color:var(--hover-background)}.filter-btn.active{background-color:var(--primary-accent);color:#fff;border-color:var(--primary-accent)}@media (max-width: 768px){.library-page{padding:20px 10px}.library-header{margin-bottom:30px}.library-header h1{font-size:2em}.library-header .back-btn{position:relative;margin-bottom:15px}.library-header-title{flex-direction:column;align-items:stretch}.add-library-btn{width:100%;justify-content:center}.library-grid{grid-template-columns:1fr;gap:20px}.library-filters{gap:8px}.filter-btn{font-size:.85em;padding:6px 12px}.library-actions{flex-direction:column}.read-btn,.download-btn{width:100%}}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px;margin-top:20px}.review-course-card{background-color:var(--card-background);border:2px solid var(--border-color);border-radius:12px;overflow:hidden;transition:all .3s ease;box-shadow:0 2px 8px #0000001a}.review-course-card:hover{transform:translateY(-4px);box-shadow:0 6px 20px #00000026;border-color:var(--primary-accent)}.course-cover-image{width:100%;height:200px;object-fit:cover}.course-card-content{padding:20px}.course-card-content h3{margin:0 0 10px;color:var(--text-color);font-size:1.3em}.course-author{color:var(--secondary-accent);font-size:.9em;margin:5px 0}.course-description{color:var(--text-color);font-size:.95em;line-height:1.5;margin:15px 0}.course-meta{display:flex;justify-content:space-between;gap:10px;margin:15px 0;padding:10px;background:var(--subtle-background);border-radius:6px;font-size:.85em;color:var(--secondary-text)}.review-actions{display:flex;gap:10px;margin-top:15px}.review-action-btn{flex:1;padding:10px 15px;border-radius:6px;text-decoration:none;text-align:center;font-weight:600;transition:all .2s ease}.review-action-btn.preview-btn{background-color:#007bff;color:#fff}.review-action-btn.preview-btn:hover{background-color:#0056b3;transform:translateY(-2px)}.empty-state{text-align:center;padding:60px 20px;color:var(--secondary-text)}.empty-state p{font-size:1.1em}@media (max-width: 768px){.courses-grid{grid-template-columns:1fr;gap:15px}.course-card-content{padding:15px}}.timer-progress-container{margin:5px 0;width:100%;height:35px;display:flex;flex-direction:column;justify-content:center;flex-shrink:0;position:absolute;top:0;left:0;right:0}.timer-progress-container.timer-inactive{height:0;margin:0;overflow:hidden}.timer-progress-bar{width:100%;height:12px;background-color:#e9ecef;border-radius:6px;overflow:hidden;box-shadow:inset 0 1px 2px #0000001a;border:1px solid #dee2e6;margin-bottom:6px}.timer-progress-fill{height:100%;border-radius:6px;position:relative;background-image:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);background-size:50px 100%;transition:background-color .3s ease;will-change:width;transform:translateZ(0)}.timer-progress-fill.no-transition,.timer-progress-fill.smooth-countdown{transition:background-color .3s ease}.timer-text{text-align:center;margin-top:3px;font-weight:700;font-size:12px;color:#495057;flex-shrink:0}.timer-progress-fill.critical-time{animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.6}to{opacity:1}}[data-theme=dark] .timer-progress-bar{background-color:#495057;border-color:#6c757d}[data-theme=dark] .timer-text{color:#f8f9fa}@media (max-width: 768px){.timer-progress-bar{height:10px}.timer-text{font-size:12px}}.lesson-view-container{max-width:1600px;margin:60px auto;padding:0 20px;font-family:sans-serif;box-sizing:border-box}@media (max-width: 1440px){.lesson-view-container{padding:0 15px}}@media (max-width: 1200px){.lesson-view-container{padding:0 10px}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:60vh;gap:20px}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:spin 1s linear infinite}.error-message{display:flex;flex-direction:column;align-items:center;justify-content:center;height:60vh;text-align:center;gap:20px;padding:20px}.error-message h2{color:#e74c3c;margin:0}.error-message button{padding:10px 20px;background-color:#3498db;color:#fff;border:none;border-radius:5px;cursor:pointer;transition:background-color .3s}.error-message button:hover{background-color:#2980b9}.no-content-info{text-align:center;padding:30px 20px;background:#f8f9fa;border-radius:15px;margin:20px 0}.no-content-info h3{color:#2c3e50;margin-bottom:15px}.no-content-info p{color:#5a6c7d;margin-bottom:20px}.no-content-info button{padding:10px 20px;background-color:#3498db;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background-color .3s}.no-content-info button:hover{background-color:#2980b9}.lesson-layout{display:flex;flex-wrap:wrap;gap:15px}.board-area{flex:2;min-width:min(1000px,100%);max-width:1000px;display:flex;flex-direction:column;position:relative}.board-container{width:100%;max-width:1000px;aspect-ratio:1 / 1;margin-bottom:15px;border:1px solid var(--primary-accent);border-radius:4px;overflow:hidden}.sidebar-area{flex:1;min-width:min(500px,100%);position:sticky;top:20px;max-height:100vh;overflow-y:auto;display:flex;flex-direction:column;color:var(--text-color)}.sidebar-static{flex:1;display:flex;flex-direction:column;padding-bottom:2px;margin-bottom:2px;overflow:visible;min-height:0;max-height:calc(100vh - 200px)}.repetition-indicator-area{min-height:0;display:flex;align-items:center;margin-top:2px}.repetition-reminder-area{margin:0;flex-shrink:0;overflow:visible}.comments-area{flex:1;min-height:0;max-height:calc(100vh - 400px);margin:2px 0 20px;padding:12px;background-color:var(--subtle-background);border-radius:8px;border:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden}.comments-content{flex:1;overflow-y:auto;margin-top:6px}.comments-content strong{font-weight:700;color:var(--primary-accent)}.comments-content em{font-style:italic;color:var(--secondary-accent)}.comments-content code{background-color:#0000001a;padding:2px 6px;border-radius:4px;font-family:Courier New,monospace;font-size:.95em}.comments-content ul,.comments-content ol{margin:10px 0;padding-left:20px}.comments-content li{margin:5px 0}.comments-content p{margin:10px 0;line-height:1.6}.comments-content h1,.comments-content h2,.comments-content h3{color:var(--primary-accent);margin:15px 0 10px}.comments-content blockquote{border-left:3px solid var(--primary-accent);padding-left:15px;margin:10px 0;color:var(--secondary-accent);font-style:italic}.sidebar-actions{margin-top:auto;padding-top:15px}.controls-container{display:flex;justify-content:space-between;align-items:center;width:100%;height:40px;margin:5px 0;gap:10px;flex-shrink:0;flex-wrap:wrap}.controls-container button{flex:1;height:35px;min-width:80px;padding:6px 10px;font-size:.9em;border-radius:6px;border:1px solid var(--border-color);background-color:var(--card-background);color:var(--text-color);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;white-space:nowrap;box-sizing:border-box}.controls-container button:hover:not(:disabled){background-color:var(--hover-background)}.controls-container button:disabled{opacity:.5;cursor:not-allowed}.controls-container button.active{background-color:var(--primary-accent);color:#fff;border-color:var(--primary-accent)}.controls-container button .svg-inline--fa{width:16px;height:16px}.controls-container .next-block-button{background-color:var(--primary-accent);color:#fff;font-weight:700;border:1px solid var(--primary-accent)}.controls-container .next-block-button:hover:not(:disabled){background-color:var(--secondary-accent);border-color:var(--secondary-accent)}.controls-container .next-block-button:disabled{background-color:#ccc;color:#666;border-color:#ccc;cursor:not-allowed;opacity:.6}.move-list-container,.training-log-container{background-color:var(--subtle-background);padding:15px;border-radius:8px;border:1px solid var(--border-color);max-height:500px;overflow-y:auto}.move-list-container h4,.training-log-container h4{margin-top:0;border-bottom:1px solid var(--border-color);padding-bottom:10px}.move-list{line-height:1.8}.move-number{color:var(--secondary-accent);margin-right:5px;font-weight:700}.move-san{padding:4px 6px;border-radius:4px;cursor:pointer;margin-right:5px;display:inline-block}.move-san:hover{background-color:var(--hover-background)}.active-move{background-color:#007bff;color:#fff!important}.comment-container p{margin:0;line-height:1.6}.button-primary{width:100%;padding:12px;font-size:1.1em;font-weight:700;cursor:pointer;border:none;border-radius:5px;background-color:#007bff;color:#fff}.button-primary:hover{background-color:#0056b3}.trainer-status{width:100%;padding:8px 12px;margin:0;border-radius:4px;text-align:center;font-weight:700;box-sizing:border-box;height:35px;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:absolute;bottom:0;left:0;right:0;font-size:.9em}.trainer-status.success{background-color:#d4edda;color:#155724}.trainer-status.error{background-color:#f8d7da;color:#721c24}.trainer-status.info{background-color:#e2e3e5;color:#383d41}[data-theme=dark] .trainer-status.success{background-color:#1c3c24;color:#a7d7b4}[data-theme=dark] .trainer-status.error{background-color:#58151c;color:#f1b3bc}[data-theme=dark] .trainer-status.info{background-color:#383d41;color:#e2e3e5}.timer-status-area{height:60px;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;flex-shrink:0;margin:5px 0;overflow:visible;position:relative}.timer-bar-container{width:100%;height:8px;background-color:var(--border-color);border-radius:4px;margin-top:10px}.timer-bar-fill{height:100%;background-color:#007bff;border-radius:4px;animation:decrease-width linear;animation-play-state:running;transform-origin:left}@keyframes decrease-width{0%{width:100%}to{width:0%}}.board-container{position:relative}.board-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#a6a6a6f0;border-radius:4px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--text-color);z-index:10}.board-overlay h3{font-size:2em;margin-bottom:20px}.repetition-mode-indicator{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border:1px solid #ffc107;border-radius:8px;padding:12px;margin:10px 0;text-align:center;font-weight:600;color:#856404;box-shadow:0 2px 8px #ffc10733}.repetition-mode-indicator small{display:block;margin-top:4px;font-weight:400;font-size:12px;opacity:.8}.repetition-start{background:#f8f9fa;padding:20px;border-radius:8px;margin:20px 0;text-align:center}.start-repetition-btn{background:#28a745;color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:16px;font-weight:700;cursor:pointer;margin-top:15px}.start-repetition-btn:hover{background:#218838}.repetition-progress{background:#fff3cd;padding:15px;border-radius:6px;margin:15px 0}.progress-bar{width:100%;height:8px;background:#e9ecef;border-radius:4px;margin:10px 0;overflow:hidden}.progress-bar-fill{height:100%;background:#28a745;transition:width .3s ease}.expected-move{font-size:18px;color:#495057;margin-top:10px}.expected-move strong{color:#007bff;font-family:monospace}.repetition-completed{background:#d4edda;padding:20px;border-radius:8px;text-align:center;margin:20px 0;border:1px solid #c3e6cb}.repetition-completed h2{color:#155724;margin-bottom:15px}.demonstration-text{background:#e2e3e5;padding:20px;border-radius:8px;margin-top:20px}.demonstration-text h3{color:#383d41;margin-bottom:15px}.demo-content{background:#fff;padding:15px;border-radius:6px;margin:15px 0;line-height:1.6;white-space:pre-wrap}.repetitions-section{margin:0;min-height:60px;overflow:visible}.repetitions-section h3{margin-bottom:15px;color:#495057;font-size:16px;font-weight:600}[data-theme=dark] .repetition-mode-indicator{background:linear-gradient(135deg,#3d3513,#4a3f1a);border-color:#ffc107;color:#ffd43b}[data-theme=dark] .repetitions-section h3{color:#f8f9fa}.board-overlay .resume-btn{padding:15px 30px;font-size:1.2em;font-weight:700;cursor:pointer;background-color:#28a745;color:#fff;border:none;border-radius:5px}.video-container{position:relative;padding-top:56.25%;margin-bottom:20px;background-color:#000;border-radius:8px;overflow:hidden}.video-container.video-inactive{padding-top:0;margin-bottom:0;height:0;visibility:hidden}.video-container .react-player{position:absolute;top:0;left:0}.analysis-container{background-color:var(--card-background);padding:8px;border-radius:6px;border:1px solid var(--border-color);margin-top:10px;box-sizing:border-box}.analysis-inline{display:flex;flex-direction:column;background-color:var(--card-background);border:1px solid var(--border-color);border-radius:4px;padding:4px 8px;font-size:.75em;line-height:1.2;min-width:120px;text-align:center}.analysis-inline span{white-space:nowrap;margin:1px 0}.analysis-sidebar{background-color:var(--card-background);border:1px solid var(--border-color);border-radius:4px;padding:6px 10px;font-size:.8em;line-height:1.2;text-align:center;flex:1;min-width:180px;display:flex;justify-content:space-between;align-items:center;gap:10px}.analysis-sidebar div{white-space:nowrap;flex-shrink:0}.analysis-container h4{margin-top:0;margin-bottom:8px;border-bottom:1px solid var(--border-color);padding-bottom:6px;font-size:.9em}.analysis-data{font-family:monospace;font-size:.9em;font-weight:700;line-height:1.3}.sidebar-area h1{margin-top:0;margin-bottom:5px}.sidebar-area p{margin-top:0}.line-navigation{display:flex;justify-content:space-between;align-items:center;margin-bottom:0;gap:10px}.line-navigation button{background-color:var(--subtle-background);border:1px solid var(--border-color);color:var(--text-color);padding:8px 12px;border-radius:5px;cursor:pointer;font-weight:700;transition:background-color .2s}.line-navigation button:hover:not(:disabled){background-color:var(--hover-background)}.line-navigation button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 1200px){.lesson-layout{gap:20px}.board-area{min-width:min(600px,100%);max-width:600px}.sidebar-area{min-width:min(350px,100%);max-width:400px}}@media (max-width: 1024px){.lesson-view-container{margin:40px auto}.lesson-layout{flex-direction:column;gap:20px}.board-area{min-width:auto;max-width:600px;margin:0 auto}.sidebar-area{min-width:auto;max-width:none;position:static;max-height:none}}@media (max-width: 768px){.lesson-view-container{margin:20px auto;padding:0 15px}.lesson-layout{gap:15px}.controls-container{flex-wrap:wrap;height:auto;gap:8px}.controls-container button{height:40px;font-size:.85em;min-width:70px}.sidebar-area h1{font-size:1.5em}.comments-area{max-height:300px}}@media (max-width: 480px){.lesson-view-container{padding:0 10px}.controls-container button{height:35px;font-size:.8em;padding:5px 8px;min-width:60px}.analysis-sidebar{font-size:.75em;padding:4px 8px;min-width:100px}.sidebar-area h1{font-size:1.3em}.timer-status-area{height:50px}}.lesson-summary{margin-top:20px;padding:12px;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;font-size:.9em}.lesson-summary h3{margin:0 0 12px;font-size:1em;font-weight:600;color:#495057}.lesson-summary-content{max-height:400px;overflow-y:auto;padding-right:8px}.lesson-block-text{margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #e9ecef}.lesson-block-text:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.lesson-summary-divider{margin:20px 0 15px;padding-top:15px;border-top:2px solid #dee2e6}.lesson-summary-divider strong{font-size:1.05em;color:#495057}.variant-stats{margin-top:20px;padding:12px;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;font-size:.85em}.variant-stats h3{margin:0 0 8px;font-size:.95em;font-weight:600;color:#495057}.variant-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.variant-stat-item{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 8px;background:#fff;border-radius:4px;border:1px solid #e9ecef;text-align:center}.variant-stat-label{font-size:.8em;color:#6c757d;margin-bottom:6px}.variant-stat-value{font-weight:600;color:#212529;font-size:1.3em}.variant-stat-value small{display:block;font-size:.65em;color:#6c757d;font-weight:400;margin-top:3px}.variant-stat-item.variant-stat-xp{background:#fff3cd;border-color:#ffc107}.variant-stat-item.variant-stat-xp .variant-stat-label,.variant-stat-item.variant-stat-xp .variant-stat-value{color:#856404}.training-log-container{background-color:var(--subtle-background);border:1px solid var(--border-color);padding:15px;border-radius:5px;height:80vh;overflow-y:auto}.training-log-container h4{margin-top:0;border-bottom:1px solid var(--border-color);padding-bottom:10px;color:var(--text-color)}.log-entry-pair{display:flex;align-items:center;padding:5px 0;border-bottom:1px solid var(--border-color)}.log-move-number{color:var(--secondary-accent);font-weight:700;width:35px;flex-shrink:0}.log-move{padding:4px 8px;border-radius:4px;margin-right:8px;font-weight:700;text-align:center;min-width:50px}.log-move.correct{color:#155724;background-color:#d4edda}.log-move.incorrect{color:#721c24;background-color:#f8d7da;text-decoration:line-through}.log-move.opponent{color:#333;background-color:#e9ecef;font-weight:400}[data-theme=dark] .log-move.correct{color:#a7d7b4;background-color:#1c3c24}[data-theme=dark] .log-move.incorrect{color:#f1b3bc;background-color:#58151c}[data-theme=dark] .log-move.opponent{color:#e2e3e5;background-color:#383d41}.repetition-notification{background:linear-gradient(135deg,#e3f2fd,#f1f8e9);border:1px solid #4fc3f7;border-radius:8px;padding:10px;margin:8px 0;box-shadow:0 2px 6px #0000001a;transition:transform .2s ease,box-shadow .2s ease}.repetition-notification:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.repetition-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.repetition-header h4{margin:0;color:#1565c0;font-size:14px;font-weight:600}.repetition-level{background:#4fc3f7;color:#fff;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500}.repetition-details{margin-bottom:8px}.moves-info,.time-info{margin-bottom:4px;font-size:13px}.time-ready{color:#2e7d32;font-weight:600;background:#4caf501a;padding:6px;border-radius:4px;text-align:center;font-size:12px}.time-remaining{color:#f57c00;font-weight:500;text-align:center;padding:4px 0}.start-repetition-btn{width:100%;background:linear-gradient(135deg,#4caf50,#2e7d32);color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.start-repetition-btn:hover{background:linear-gradient(135deg,#66bb6a,#4caf50);transform:translateY(-1px);box-shadow:0 4px 12px #4caf504d}.start-repetition-btn:active{transform:translateY(0)}.next-repetition-info{text-align:center;margin-top:6px}.next-repetition-info small{color:#666;background:#0000000d;padding:6px 12px;border-radius:20px;font-size:12px}[data-theme=dark] .repetition-notification{background:linear-gradient(135deg,#1e3a5f,#2e4d3d);border-color:#4fc3f7}[data-theme=dark] .repetition-header h4{color:#81d4fa}[data-theme=dark] .time-ready{background:#4caf5033;color:#81c784}[data-theme=dark] .time-remaining{color:#ffb74d}[data-theme=dark] .next-repetition-info small{color:#b0b0b0;background:#ffffff1a}.repetition-notification:has(.time-ready){animation:pulse-ready 2s ease-in-out infinite}@keyframes pulse-ready{0%,to{box-shadow:0 4px 12px #4caf5033}50%{box-shadow:0 4px 12px #4caf5066}}@media (max-width: 768px){.repetition-notification{padding:12px;margin:12px 0}.repetition-header{flex-direction:column;align-items:flex-start;gap:8px}.repetition-header h4{font-size:14px}.start-repetition-btn{padding:10px 16px;font-size:13px}}.view-training-line-container{max-width:1400px;margin:40px auto;padding:0 20px}.view-header{margin-bottom:20px}.back-link{display:inline-block;color:var(--primary-accent);text-decoration:none;font-size:1.1em;transition:color .2s}.back-link:hover{color:var(--secondary-accent);text-decoration:underline}.view-content{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:flex-start}.board-section{display:flex;flex-direction:column;gap:15px;resize:horizontal;overflow:auto;min-width:350px;max-width:750px;position:relative}.board-section::-webkit-scrollbar{display:none}.board-section{-ms-overflow-style:none;scrollbar-width:none}.navigation-controls{display:flex;justify-content:center;align-items:center;gap:10px;padding:15px;background:var(--card-background);border-radius:8px;box-shadow:0 2px 4px #0000001a}.nav-btn{padding:10px 20px;font-size:1.2em;background:var(--primary-accent);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.nav-btn:hover:not(:disabled){background:var(--secondary-accent);transform:scale(1.05)}.nav-btn:disabled{background:#ccc;cursor:not-allowed;opacity:.5}.move-counter{font-size:1.1em;font-weight:700;color:var(--text-color);min-width:80px;text-align:center}.moves-list{background:var(--card-background);padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.moves-list h3{display:none}.moves-grid{display:grid;grid-template-columns:auto 1fr 1fr;gap:8px;align-items:center}.move-number{font-weight:700;color:var(--text-color);text-align:right;padding-right:8px}.move-btn{padding:8px 12px;background:var(--subtle-background);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .2s;font-family:monospace;font-size:1em;color:var(--text-color)}.move-btn:hover{background:var(--hover-background);border-color:var(--primary-accent)}.move-btn.active{background:var(--primary-accent);color:#fff;border-color:var(--primary-accent);font-weight:700}.comments-section{background:var(--card-background);padding:25px;border-radius:8px;box-shadow:0 2px 4px #0000001a;max-height:800px;overflow-y:auto}.comments-section h3{margin-top:0;margin-bottom:20px;color:var(--text-color);border-bottom:2px solid var(--border-color);padding-bottom:10px;position:sticky;top:0;background:var(--card-background);z-index:10}.all-comments{display:flex;flex-direction:column;gap:20px}.comment-block{padding:15px;border:2px solid var(--border-color);border-radius:8px;background:var(--background-color);transition:all .3s ease;cursor:pointer}.comment-block:hover{border-color:var(--primary-accent);transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.comment-block.active{border-color:var(--primary-accent);background:rgba(var(--primary-accent-rgb, 0, 123, 255),.05);box-shadow:0 0 0 3px rgba(var(--primary-accent-rgb, 0, 123, 255),.1)}.comment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.comment-move{font-weight:700;font-size:1.1em;color:var(--primary-accent);font-family:monospace}.active-indicator{color:var(--primary-accent);font-size:.9em;font-weight:600;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.comment-content{line-height:1.8;color:var(--text-color)}.comment-content p{margin-bottom:10px}.comment-content p:last-child{margin-bottom:0}.comment-content h1,.comment-content h2,.comment-content h3,.comment-content h4{margin-top:15px;margin-bottom:8px;color:var(--text-color)}.comment-content ul,.comment-content ol{margin-left:20px;margin-bottom:10px}.comment-content code{background:var(--subtle-background);padding:2px 6px;border-radius:3px;font-family:monospace}.comment-content pre{background:var(--subtle-background);padding:12px;border-radius:6px;overflow-x:auto}.comment-content strong{font-weight:600}.comment-content em{font-style:italic}.no-comment{color:#999;font-style:italic;text-align:center;padding:40px 20px}@media (max-width: 1024px){.view-content{grid-template-columns:1fr}.comments-section{min-height:auto}}@media (max-width: 768px){.view-training-line-container{padding:0 10px}.navigation-controls{flex-wrap:wrap}.nav-btn{padding:8px 16px;font-size:1em}}.rank-badge{display:inline-flex;align-items:center;gap:6px;font-weight:600;transition:all .3s ease}.rank-badge:hover{transform:scale(1.05);filter:brightness(1.2)}.rank-badge-small{font-size:.85em;gap:4px}.rank-badge-small .rank-icon{font-size:1em}.rank-badge-medium{font-size:1em;gap:6px}.rank-badge-medium .rank-icon{font-size:1.2em}.rank-badge-large{font-size:1.2em;gap:8px}.rank-badge-large .rank-icon{font-size:1.5em}.rank-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}.rank-label{font-weight:600;letter-spacing:.3px}@keyframes glow{0%,to{filter:drop-shadow(0 0 2px currentColor)}50%{filter:drop-shadow(0 0 8px currentColor)}}.rank-badge[title=Гроссмейстер] .rank-icon,.rank-badge[title=Легенда] .rank-icon,.rank-badge[title="Искусственный Интеллект"] .rank-icon{animation:glow 2s ease-in-out infinite}.leaderboard-container{max-width:800px;margin:30px auto;padding:20px;color:var(--text-color)}.leaderboard-container h1{text-align:center;margin-bottom:10px;color:var(--primary-accent)}.leaderboard-container p{text-align:center;color:var(--secondary-accent);margin-top:0;margin-bottom:30px}.leaderboard-list{list-style:none;padding:0;margin:0}.leaderboard-item{display:flex;align-items:center;padding:15px;background-color:var(--card-background);border:1px solid var(--border-color);border-radius:8px;margin-bottom:10px;transition:background-color .2s}.leaderboard-item:hover{background-color:var(--hover-background)}.leaderboard-rank{font-size:1.5em;font-weight:700;color:var(--secondary-accent);width:50px;text-align:center;flex-shrink:0}.leaderboard-avatar{width:45px;height:45px;border-radius:50%;margin-right:15px;object-fit:cover}.leaderboard-user{display:flex;align-items:center;flex-grow:1}.leaderboard-username{font-size:1.1em;font-weight:700;color:var(--text-color);text-decoration:none}.leaderboard-username:hover{text-decoration:underline}.leaderboard-points{display:flex;flex-direction:column;align-items:flex-end;gap:8px;font-size:1em}.leaderboard-xp{font-weight:700;color:var(--text-color)}.leaderboard-rank-name{font-size:.8em;font-weight:400;color:var(--secondary-accent)}.forum-container{max-width:900px;margin:30px auto;padding:20px;color:var(--text-color)}.forum-container h1{border-bottom:2px solid var(--border-color);padding-bottom:15px;margin-bottom:20px}.forum-list{display:flex;flex-direction:column;gap:15px}.forum-category{display:flex;align-items:center;justify-content:space-between;padding:20px;background-color:var(--card-background);border:1px solid var(--border-color);border-radius:8px}.forum-category-title a{color:var(--primary-accent);text-decoration:none;font-size:1.4em}.forum-category-title a:hover{text-decoration:underline}.forum-category-description{color:var(--secondary-accent);margin-top:5px;margin-bottom:0}.forum-category-stats{flex-shrink:0;margin-left:20px;color:var(--secondary-accent);text-align:right}.breadcrumbs{margin-bottom:20px;color:var(--secondary-accent)}.breadcrumbs a{color:var(--text-color);text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.thread-list{display:flex;flex-direction:column;gap:10px;margin-top:30px}.thread-item{display:flex;justify-content:space-between;align-items:center;padding:15px;background-color:var(--card-background);border:1px solid var(--border-color);border-radius:8px;transition:background-color .2s}.thread-item:hover{background-color:var(--hover-background)}.thread-title a{color:var(--primary-accent);text-decoration:none;font-size:1.2em;margin:0}.thread-title a:hover{text-decoration:underline}.thread-meta{font-size:.9em;color:var(--secondary-accent);margin-top:5px}.thread-meta a{color:var(--text-color);text-decoration:none;font-weight:700}.thread-meta .thread-date{margin-left:15px}.thread-stats{display:flex;flex-direction:column;align-items:flex-end;text-align:right;flex-shrink:0;margin-left:20px;font-size:.9em}.thread-stats .thread-last-activity{color:var(--secondary-accent);font-size:.9em}.thread-list-header{display:flex;justify-content:space-between;align-items:center;margin-top:30px;border-bottom:1px solid var(--border-color);padding-bottom:10px}.create-thread-btn{background-color:#28a745;color:#fff;padding:10px 20px;text-decoration:none;border-radius:5px;font-weight:700;transition:background-color .2s;display:inline-block}.create-thread-btn:hover{background-color:#218838;text-decoration:none;color:#fff}@media (max-width: 768px){.forum-container{max-width:100%;margin:20px auto;padding:15px}.forum-container h1{font-size:1.5em}.forum-category{flex-direction:column;align-items:flex-start;padding:15px}.forum-category-title a{font-size:1.2em}.forum-category-stats{margin-left:0;margin-top:10px;text-align:left}.thread-item{flex-direction:column;align-items:flex-start;padding:12px}.thread-title a{font-size:1.1em}.thread-stats{margin-left:0;margin-top:10px;align-items:flex-start;text-align:left}.thread-list-header{flex-direction:column;align-items:flex-start;gap:10px}.create-thread-btn{width:100%;text-align:center}}@media (max-width: 480px){.forum-container{padding:10px;margin:15px auto}.forum-container h1{font-size:1.3em;padding-bottom:10px}.forum-category{padding:12px}.forum-category-title a{font-size:1.1em}.forum-category-description{font-size:.9em}.thread-item{padding:10px}.thread-title a{font-size:1em}.thread-meta{font-size:.85em}.thread-meta .thread-date{margin-left:10px}.breadcrumbs{font-size:.9em}}.post-list{margin-top:30px;display:flex;flex-direction:column;gap:20px}.post-item{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:20px;background-color:var(--card-background);border:1px solid var(--border-color);border-radius:8px}.post-author-info{display:flex;flex-direction:column;align-items:center;text-align:center;border-right:1px solid var(--border-color);padding-right:20px}.post-avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;margin-bottom:10px}.post-username{font-weight:700;color:var(--text-color);text-decoration:none}.post-username:hover{text-decoration:underline}.post-author-rank{font-size:.8em;color:var(--secondary-accent)}.post-meta{font-size:.8em;color:var(--secondary-accent);border-bottom:1px solid var(--border-color);padding-bottom:10px;margin-bottom:10px}.post-body{line-height:1.7}.post-body p{margin-top:0}.reply-form-container{margin-top:40px;padding-top:20px;border-top:2px solid var(--border-color)}.reply-form-container textarea{width:100%;padding:10px;font-size:1em;border-radius:5px;border:1px solid var(--border-color);background-color:var(--background-color);color:var(--text-color);margin-bottom:15px;box-sizing:border-box}.reply-form-container .button-primary{width:auto;padding:10px 20px}.post-actions{margin-left:15px;display:inline-flex;gap:10px}.post-actions button{background:none;border:none;color:var(--primary-accent);cursor:pointer;font-size:.8em;padding:2px 8px;border-radius:3px;text-decoration:underline}.post-actions button:hover{background-color:var(--hover-background)}.post-actions button:disabled{color:var(--secondary-accent);cursor:not-allowed;text-decoration:none}.delete-btn{color:#dc3545!important}.post-edited{font-style:italic;color:var(--secondary-accent)}.edit-post-form{margin-top:10px}.edit-textarea{width:100%;padding:10px;border:1px solid var(--border-color);border-radius:5px;background-color:var(--background-color);color:var(--text-color);font-family:inherit;font-size:1em;line-height:1.5;resize:vertical;box-sizing:border-box}.edit-buttons{margin-top:10px;display:flex;gap:10px}.save-btn,.cancel-btn{padding:8px 16px;border:none;border-radius:5px;cursor:pointer;font-size:.9em}.save-btn{background-color:#28a745;color:#fff}.save-btn:hover{background-color:#218838}.cancel-btn{background-color:#6c757d;color:#fff}.cancel-btn:hover{background-color:#5a6268}@media (max-width: 768px){.post-item{grid-template-columns:1fr;gap:15px;padding:15px}.post-author-info{flex-direction:row;border-right:none;border-bottom:1px solid var(--border-color);padding-right:0;padding-bottom:15px;align-items:center;text-align:left;gap:15px}.post-avatar{width:60px;height:60px;margin-bottom:0}.post-meta{font-size:.75em}.reply-form-container textarea,.edit-textarea{font-size:.95em}}@media (max-width: 480px){.post-item{padding:12px;gap:12px}.post-author-info{padding-bottom:12px;gap:10px}.post-avatar{width:50px;height:50px}.post-username{font-size:.95em}.post-author-rank{font-size:.75em}.post-meta{font-size:.7em;padding-bottom:8px;margin-bottom:8px}.post-body{font-size:.95em;line-height:1.6}.post-actions{margin-left:0;margin-top:10px;flex-wrap:wrap}.post-actions button{font-size:.75em}.reply-form-container{margin-top:30px;padding-top:15px}.reply-form-container textarea,.edit-textarea{font-size:.9em;padding:8px}.save-btn,.cancel-btn{padding:6px 12px;font-size:.85em}}.faq-container{max-width:800px;margin:30px auto;padding:20px;color:var(--text-color)}.faq-container h1{text-align:center;margin-bottom:30px;color:var(--primary-accent)}.faq-accordion{display:flex;flex-direction:column;gap:15px}.faq-item{border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.faq-question{display:flex;justify-content:space-between;align-items:center;width:100%;padding:20px;background-color:var(--card-background);color:var(--text-color);border:none;cursor:pointer;text-align:left;font-size:1.1em;font-weight:700}.faq-question:hover{background-color:var(--hover-background)}.faq-icon{font-size:1.5em;font-weight:700}.faq-answer{padding:0 20px 20px;background-color:var(--subtle-background);line-height:1.7;animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.pricing-container{max-width:900px;margin:40px auto;padding:20px;font-family:sans-serif;color:var(--text-color)}.pricing-header{text-align:center;margin-bottom:60px}.pricing-header h1{font-size:2.5em;margin-bottom:10px}.pricing-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;align-items:center}.pricing-card{background-color:var(--card-background);border:1px solid var(--border-color);border-radius:8px;padding:30px;display:flex;flex-direction:column;height:100%}.pricing-card.recommended{border:2px solid #007bff;transform:scale(1.05);position:relative}.recommended-badge{position:absolute;top:-15px;left:50%;transform:translate(-50%);background-color:#007bff;color:#fff;padding:5px 15px;border-radius:20px;font-size:.9em;font-weight:700}.card-header .price{font-size:2.2em;font-weight:700;margin:10px 0;color:var(--primary-accent)}.price span{font-size:.5em;font-weight:400;color:var(--secondary-accent)}.features-list{list-style:none;padding:0;margin:20px 0;flex-grow:1}.features-list li{margin-bottom:15px;display:flex;align-items:center}.features-list .icon-check{color:#28a745;margin-right:10px}.features-list .icon-check.pro-feature{color:#dc3545}.features-list .icon-times{color:#dc3545;margin-right:10px}.cta-button{width:100%;padding:15px;font-size:1.1em;font-weight:700;border-radius:5px;border:none;cursor:pointer;margin-top:auto;min-height:50px;display:flex;align-items:center;justify-content:center}.button-primary{background-color:#007bff;color:#fff}.button-secondary{background-color:var(--subtle-background);color:var(--text-color);border:1px solid var(--border-color)}.plan-toggle{display:flex;background-color:var(--subtle-background);border:1px solid var(--border-color);border-radius:20px;padding:5px;width:fit-content}.plan-toggle label{padding:8px 20px;cursor:pointer;border-radius:15px;transition:background-color .2s ease;font-weight:500}.plan-toggle label.active{background-color:#007bff;color:#fff}.plan-toggle input[type=radio]{display:none}.toggle-wrapper{display:flex;justify-content:center;align-items:center;gap:15px;margin-bottom:90px}.savings-badge{position:relative;background-color:#33a227;color:#fff;padding:6px 12px;border-radius:15px;font-size:.9em;font-weight:700}.savings-badge:before{content:"";position:absolute;top:50%;left:-8px;transform:translateY(-50%);width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-right:8px solid #33a227}@media (max-width: 768px){.pricing-container{max-width:100%;margin:30px auto;padding:15px}.pricing-header h1{font-size:2em}.pricing-header{margin-bottom:40px}.pricing-cards{grid-template-columns:1fr;gap:20px}.pricing-card.recommended{transform:scale(1)}.toggle-wrapper{flex-direction:column;margin-bottom:40px}.savings-badge:before{display:none}.card-header .price{font-size:2em}.features-list li{margin-bottom:12px;font-size:.95em}.cta-button{padding:12px;font-size:1em}}@media (max-width: 480px){.pricing-container{margin:20px auto;padding:10px}.pricing-header h1{font-size:1.7em;margin-bottom:8px}.pricing-header{margin-bottom:30px}.pricing-header p{font-size:.9em}.pricing-cards{gap:15px}.pricing-card{padding:20px}.recommended-badge{font-size:.8em;padding:4px 12px}.card-header h2{font-size:1.3em}.card-header .price{font-size:1.8em}.price span{font-size:.45em}.features-list{margin:15px 0}.features-list li{margin-bottom:10px;font-size:.9em}.cta-button{padding:10px;font-size:.95em}.plan-toggle label{padding:6px 15px;font-size:.9em}.savings-badge{font-size:.8em;padding:5px 10px}.toggle-wrapper{gap:10px}}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:var(--card-background, white);border-radius:12px;padding:2rem;max-width:500px;width:90%;box-shadow:0 10px 40px #0000004d}.modal-content h3{margin-top:0;color:#667eea;font-size:1.5rem}.modal-description{color:var(--text-color, #666);margin-bottom:1.5rem;font-size:.95rem}.modal-content .form-group{margin-bottom:1.5rem}.modal-content .form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-color)}.modal-content .form-textarea{width:100%;padding:.8rem;border:1px solid var(--border-color, #ddd);border-radius:8px;font-family:inherit;font-size:.95rem;resize:vertical;background:var(--background-color, white);color:var(--text-color);box-sizing:border-box}.modal-content .form-textarea:focus{outline:none;border-color:#667eea}.modal-buttons{display:flex;gap:1rem;margin-top:1.5rem}.modal-buttons .button-primary,.modal-buttons .button-secondary{flex:1;padding:.8rem 1.5rem;border-radius:8px;border:none;font-size:1rem;cursor:pointer;transition:all .3s}.modal-buttons .button-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.modal-buttons .button-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.modal-buttons .button-primary:disabled{opacity:.6;cursor:not-allowed}.modal-buttons .button-secondary{background:#e0e0e0;color:#333}.modal-buttons .button-secondary:hover:not(:disabled){background:#d0d0d0}.modal-content .error-message{background:#fee;color:#c33;padding:.8rem;border-radius:8px;margin-bottom:1rem}@media (prefers-color-scheme: dark){.modal-content{background:#1a1a1a}.modal-content .form-textarea{background:#2a2a2a;border-color:#444;color:#e0e0e0}.modal-description{color:#aaa}}.pricing-info{max-width:900px;margin:60px auto 40px;text-align:center}.pricing-info h3{font-size:2em;margin-bottom:30px;color:var(--text-color)}.course-types-info{display:grid;grid-template-columns:1fr 1fr;gap:30px}.course-type-card{background-color:var(--card-background);border:1px solid var(--border-color);border-radius:12px;padding:25px;text-align:left;transition:transform .3s ease,box-shadow .3s ease}.course-type-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px #00000026}.course-type-card h4{font-size:1.4em;margin-bottom:15px;color:var(--primary-accent)}.course-type-card p{color:var(--text-color);line-height:1.6;margin:0}@media (max-width: 768px){.pricing-info{margin:40px auto 30px}.pricing-info h3{font-size:1.6em;margin-bottom:20px}.course-types-info{grid-template-columns:1fr;gap:20px}.course-type-card{padding:20px}.course-type-card h4{font-size:1.2em}}@media (max-width: 480px){.pricing-info{margin:30px auto 20px}.pricing-info h3{font-size:1.4em;margin-bottom:15px}.course-type-card{padding:15px}.course-type-card h4{font-size:1.1em;margin-bottom:10px}.course-type-card p{font-size:.9em}}.study-game-viewer{max-width:1600px;margin:80px auto 40px;padding:0 20px}.study-game-page .study-game-viewer{background-color:var(--background-color)}.game-info-panel-wrapper{display:flex;flex-direction:column;gap:12px;width:100%;box-sizing:border-box}.players-info{display:flex;flex-direction:column;gap:8px}.player{font-weight:600;padding:6px 10px;border-radius:6px;font-size:.9em;text-align:center}.player.white{background-color:#f8f9fa;color:#212529;border:2px solid #dee2e6}.player.black{background-color:#343a40;color:#fff;border:2px solid #495057}.vs{color:var(--secondary-accent);font-weight:500;font-size:.85em;text-align:center}.event,.date,.result{color:var(--text-color);font-size:.85em;font-weight:500}.game-info-panel-wrapper>.back-btn{display:inline-flex;align-items:center;gap:6px;background-color:transparent;border:1px solid var(--border-color);color:var(--text-color);padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;align-self:flex-start}.game-info-panel-wrapper>.back-btn:hover{background-color:var(--hover-background);transform:translateY(-1px)}.study-game-content{display:flex;gap:32px;align-items:flex-start;justify-content:center}.right-column{display:flex;flex-direction:column;gap:16px;width:380px;min-width:320px;max-width:450px;flex-shrink:0}.game-info-panel{background-color:var(--card-background);border:2px solid var(--border-color);border-radius:12px;padding:16px;width:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:12px}.game-info-panel h2{margin:0;color:var(--text-color);font-size:1em;font-weight:700;line-height:1.3;padding-bottom:10px;border-bottom:2px solid var(--border-color)}.info-section{display:flex;flex-direction:column;gap:4px}.info-section h3{margin:0;color:var(--secondary-accent);font-size:.75em;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.description-text{margin:0;line-height:1.5;color:var(--text-color);font-size:.85em}.board-section{display:flex;flex-direction:column;align-items:center;gap:24px;width:550px;max-width:550px;min-width:400px;flex-shrink:0}.board-section .chessboard-wrapper{border:1px solid #000;border-radius:4px}.game-controls{display:flex;align-items:center;gap:8px;width:100%;max-width:550px;justify-content:center;padding:16px;background-color:var(--background-color);border-radius:10px;border:2px solid var(--border-color);flex-wrap:wrap;box-sizing:border-box}.game-controls button{padding:10px 16px;border:2px solid var(--border-color);background-color:var(--card-background);color:var(--text-color);border-radius:8px;cursor:pointer;font-size:1.2em;transition:all .2s ease;min-width:44px}.game-controls button:hover:not(:disabled){background-color:var(--primary-accent);color:#fff;border-color:var(--primary-accent);transform:scale(1.05)}.game-controls button:disabled{opacity:.4;cursor:not-allowed}.game-controls button.active{background-color:var(--primary-accent);color:#fff;border-color:var(--primary-accent)}.speed-control{display:flex;align-items:center;gap:10px;margin-left:0;padding:4px 12px;background-color:var(--card-background);border-radius:6px;width:100%;justify-content:center}.speed-control label{font-size:.95em;color:var(--secondary-accent);font-weight:500}.speed-control select{padding:6px 10px;border:2px solid var(--border-color);border-radius:6px;background-color:var(--card-background);color:var(--text-color);font-size:.95em;cursor:pointer;transition:border-color .2s}.speed-control select:hover{border-color:var(--primary-accent)}.engine-analysis{width:100%;background-color:var(--background-color);border:2px solid var(--border-color);border-radius:10px;padding:12px 16px;margin-top:16px}.analysis-header{font-weight:600;color:var(--text-color);margin-bottom:12px;font-size:1em}.analysis-content{display:flex;gap:20px;flex-wrap:wrap}.analysis-item{display:flex;align-items:center;gap:8px}.analysis-label{color:var(--secondary-accent);font-size:.9em;font-weight:500}.analysis-value{color:var(--text-color);font-weight:600;font-size:1em;padding:4px 10px;background-color:var(--card-background);border-radius:6px;min-width:50px;text-align:center}.moves-section{background-color:var(--card-background);border:2px solid var(--border-color);border-radius:12px;padding:16px;width:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:12px;max-height:600px;overflow-y:auto;flex:1;min-height:0}.moves-section h3{margin:0 0 8px;color:var(--text-color);font-size:1.1em;font-weight:700;padding-bottom:8px;border-bottom:2px solid var(--border-color)}.moves-grid{display:flex;flex-wrap:wrap;gap:2px;padding:4px;background-color:var(--background-color);border-radius:10px;border:2px solid var(--border-color);overflow-y:auto;line-height:1;flex:1;align-content:flex-start;max-height:280px}.move-item{display:inline-flex;align-items:center;gap:2px;padding:3px 6px;border-radius:4px;cursor:pointer;transition:all .2s ease;font-family:Courier New,monospace;font-size:.85em;font-weight:500;white-space:nowrap;background-color:transparent;border:1px solid transparent}.move-item:hover{background-color:var(--hover-background);border-color:var(--border-color)}.move-item.current{background-color:var(--primary-accent);color:#fff;font-weight:600;border-color:var(--primary-accent);transform:scale(1.05);box-shadow:0 1px 4px #00000026}.move-item.played:not(.current){background-color:var(--card-background);border:1px solid var(--border-color);opacity:.85}.move-number{color:var(--secondary-accent);font-size:.8em;min-width:18px;font-weight:500}.move-item.current .move-number{color:#fffffff2}.move-san{font-weight:600;letter-spacing:.3px}.comments-section{margin-top:16px;padding-top:16px;border-top:2px solid var(--border-color);flex:1;min-height:0;overflow-y:auto}.comments-section h3{margin:0 0 12px;color:var(--text-color);font-size:1.1em;font-weight:700}.comment{margin-bottom:12px;padding:12px 16px;background-color:var(--card-background);border-radius:8px;border-left:4px solid var(--primary-accent)}.comment-index{font-weight:600;color:var(--primary-accent);display:block;margin-bottom:6px;font-size:.95em}.comment-text{color:var(--secondary-accent);line-height:1.6;font-size:.98em}@media (min-width: 1800px){.study-game-viewer{max-width:1900px}.study-game-content{gap:40px}.right-column{width:420px;max-width:500px}.game-info-panel{padding:18px}.board-section{width:650px;max-width:650px}.moves-section{padding:18px}.move-item{font-size:1em;padding:8px 14px}.moves-grid{gap:6px}}@media (max-width: 1400px){.study-game-viewer{margin-top:70px;padding:0 16px}.study-game-content{gap:24px}.right-column{width:340px;min-width:320px}.game-info-panel{padding:16px}.board-section{width:480px;max-width:480px}.moves-section{padding:16px}}@media (max-width: 1200px){.study-game-content{flex-direction:column;align-items:center;gap:24px}.right-column{width:100%;max-width:600px;order:2}.game-info-panel{width:100%}.game-info-panel h2{font-size:1.1em}.info-section{display:grid;grid-template-columns:120px 1fr;gap:8px;align-items:start}.info-section h3{text-align:right}.players-info{display:flex;flex-direction:row;gap:12px;align-items:center}.player{flex:1}.board-section{width:100%;max-width:500px;order:1}.moves-section{width:100%;max-height:400px}.moves-grid{max-height:300px}}@media (max-width: 768px){.study-game-viewer{padding:0 12px;margin-top:60px}.study-game-header{padding:16px}.back-btn{padding:8px 16px;font-size:.95em}.study-game-content{gap:20px}.game-info-panel{padding:14px}.game-info-panel h2{font-size:.95em}.info-section{grid-template-columns:100px 1fr;gap:6px}.info-section h3{font-size:.8em}.board-section{max-width:380px;min-width:280px}.game-controls{padding:12px;gap:6px}.game-controls button{padding:8px 12px;font-size:1em;min-width:40px}.speed-control{margin-left:0;margin-top:8px;width:100%;justify-content:center}.moves-section{padding:14px}.moves-grid{padding:12px;gap:3px}.move-item{padding:5px 10px;font-size:.9em}.comments-section{padding:16px}.engine-analysis{padding:10px 12px;margin-top:12px}.analysis-content{flex-direction:column;gap:10px}.analysis-header{font-size:.95em;margin-bottom:8px}}.study-game-page{min-height:100vh;background-color:var(--background-color);padding:0}.study-game-page .study-game-viewer{background-color:transparent}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:calc(100vh - 100px);color:var(--secondary-accent);gap:16px}.loading-spinner{width:50px;height:50px;border:4px solid var(--border-color);border-top:4px solid var(--primary-accent);border-radius:50%;animation:spin 1s linear infinite}.loading p{font-size:1.1em;font-weight:500}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:calc(100vh - 100px);text-align:center;padding:20px;gap:20px}.error-container h2{color:#e74c3c;font-size:1.8em;font-weight:600}.error-container p{color:var(--secondary-accent);font-size:1.1em}.btn-primary{background-color:var(--primary-accent);color:#fff;border:2px solid var(--primary-accent);padding:12px 28px;border-radius:8px;cursor:pointer;font-weight:600;font-size:1em;transition:all .2s ease}.btn-primary:hover{background-color:#0056b3;border-color:#0056b3;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.merch-container{max-width:1200px;margin:40px auto;padding:20px;font-family:sans-serif;color:var(--text-color)}.merch-container h1{text-align:center;margin-bottom:40px;font-size:2.5em}.merch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:30px}.merch-item{background-color:var(--card-background);border:1px solid var(--border-color);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}.merch-item:hover{transform:translateY(-5px);box-shadow:0 8px 20px var(--shadow-color)}.merch-item-image-wrapper{width:100%;padding-top:100%;position:relative;background-color:var(--subtle-background)}.merch-item-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.merch-item-details{padding:20px;display:flex;flex-direction:column;flex-grow:1}.merch-item-name{font-size:1.2em;margin:0 0 10px;flex-grow:1}.merch-item-price{font-size:1.3em;font-weight:700;color:var(--primary-accent);margin:10px 0}.merch-item-button{width:100%;padding:12px;font-size:1em;font-weight:700;border-radius:5px;border:1px solid var(--border-color);background-color:var(--subtle-background);color:var(--secondary-accent);cursor:not-allowed}.philosophy-container{min-height:calc(100vh - 80px);display:flex;justify-content:center;align-items:center;padding:2rem;background:linear-gradient(135deg,var(--background-color) 0%,var(--subtle-background) 100%)}.philosophy-content{max-width:800px;width:100%;background-color:var(--card-background);border-radius:16px;padding:2rem;box-shadow:0 8px 32px var(--shadow-color);border:1px solid var(--border-color)}.philosophy-header{text-align:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--border-color)}.philosophy-icon{font-size:3rem;margin:0 0 .5rem;color:var(--primary-accent);filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.philosophy-title{font-family:Inter,sans-serif;font-size:1.8rem;font-weight:300;font-style:italic;color:var(--text-color);margin:0;letter-spacing:2px}.philosophy-text{font-family:Inter,sans-serif;font-size:1.1rem;line-height:1.8;color:var(--text-color)}.philosophy-text p{margin-bottom:1.5rem}.philosophy-text strong{color:var(--primary-accent);font-weight:600}.philosophy-text ul{list-style:none;padding-left:0;margin:1.5rem 0}.philosophy-text ul li{padding:.8rem 0 .8rem 2.5rem;position:relative;color:var(--text-color);font-weight:500}.philosophy-text ul li:before{content:"♟";position:absolute;left:0;color:var(--primary-accent);font-size:1.3rem}.philosophy-quote{font-style:italic;font-size:1.2rem;color:var(--secondary-accent);text-align:center;padding:2rem;background-color:var(--subtle-background);border-left:4px solid var(--primary-accent);border-radius:8px;margin:2.5rem 0;display:flex;flex-direction:column;gap:.5rem}.quote-author{font-size:.9rem;font-weight:600;color:var(--text-color);font-style:normal}@media (max-width: 768px){.philosophy-content{padding:2rem}.philosophy-icon{font-size:4rem}.philosophy-title{font-size:2rem}.philosophy-text{font-size:1rem}.philosophy-quote{font-size:1.1rem;padding:1.5rem}}.library-viewer-page{max-width:1400px;margin:0 auto;padding:20px;min-height:100vh;background-color:var(--background-color)}.viewer-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background-color:var(--card-background);border-radius:8px;margin-bottom:20px;box-shadow:0 2px 8px #0000001a}.viewer-header h2{margin:0;flex:1;text-align:center;color:var(--text-color)}.back-btn,.download-btn-header{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s ease}.back-btn{background-color:#6c757d;color:#fff}.back-btn:hover{background-color:#5a6268;transform:translateY(-2px)}.download-btn-header{background-color:#007bff;color:#fff}.download-btn-header:hover{background-color:#0056b3;transform:translateY(-2px)}.viewer-author{text-align:center;color:var(--secondary-text);font-size:1.1em;margin-bottom:20px}.pdf-viewer-container{width:100%;height:calc(100vh - 200px);background-color:var(--card-background);border-radius:8px;overflow:hidden;box-shadow:0 4px 12px #00000026}.pdf-iframe{width:100%;height:100%;border:none}.text-viewer-container{width:100%;min-height:600px;background-color:var(--card-background);border-radius:8px;overflow:auto;box-shadow:0 4px 12px #00000026}.text-iframe{width:100%;min-height:600px;border:none;padding:20px}.no-preview{text-align:center;padding:100px 20px;background-color:var(--card-background);border-radius:8px;box-shadow:0 2px 8px #0000001a}.no-preview p{font-size:1.2em;color:var(--secondary-text);margin-bottom:30px}.download-btn-large{padding:15px 40px;background-color:#007bff;color:#fff;border:none;border-radius:8px;font-size:1.1em;font-weight:600;cursor:pointer;transition:all .3s ease}.download-btn-large:hover{background-color:#0056b3;transform:translateY(-3px);box-shadow:0 6px 20px #007bff4d}.viewer-error{text-align:center;padding:60px 20px}.viewer-error h2{color:var(--text-color);margin-bottom:20px}.viewer-error p{color:var(--secondary-text);font-size:1.1em;margin-bottom:30px}.back-btn-error{padding:12px 30px;background-color:#6c757d;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s ease}.back-btn-error:hover{background-color:#5a6268}@media (max-width: 768px){.library-viewer-page{padding:10px}.viewer-header{flex-direction:column;gap:10px;padding:15px}.viewer-header h2{font-size:1.2em}.back-btn,.download-btn-header{width:100%}.pdf-viewer-container{height:calc(100vh - 300px)}}.manage-library-container{max-width:800px;margin:20px auto;padding:20px;font-family:sans-serif;color:var(--text-color)}.manage-library-header{margin-bottom:30px}.manage-library-header .back-btn{background-color:var(--subtle-background);color:var(--text-color);border:1px solid var(--border-color);padding:10px 18px;border-radius:6px;font-size:.95em;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px;margin-bottom:20px}.manage-library-header .back-btn:hover{background-color:var(--hover-background);border-color:var(--primary-accent);color:var(--primary-accent)}.manage-library-header h1{font-size:2em;margin:0;color:var(--text-color)}.error-message{background-color:#dc35451a;color:#dc3545;padding:12px 18px;border-radius:6px;margin-bottom:20px;border:1px solid rgba(220,53,69,.3)}.success-message{background-color:#28a7451a;color:#28a745;padding:12px 18px;border-radius:6px;margin-bottom:20px;border:1px solid rgba(40,167,69,.3)}.manage-library-form{background-color:var(--card-background);border:1px solid var(--border-color);border-radius:12px;padding:30px}.form-group{margin-bottom:20px}.form-group label{display:block;font-weight:600;margin-bottom:8px;color:var(--text-color)}.form-group input[type=text],.form-group textarea,.form-group select{width:100%;padding:10px 14px;border:1px solid var(--border-color);border-radius:6px;font-size:1em;background-color:var(--subtle-background);color:var(--text-color);transition:all .2s ease}.form-group input[type=text]:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary-accent);box-shadow:0 0 0 3px #007bff1a}.form-group input[type=file]{width:100%;padding:10px;border:2px dashed var(--border-color);border-radius:6px;background-color:var(--subtle-background);cursor:pointer;transition:all .2s ease}.form-group input[type=file]:hover{border-color:var(--primary-accent);background-color:#007bff0d}.form-hint{display:block;margin-top:6px;font-size:.85em;color:var(--secondary-text)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.existing-file-info{margin-bottom:10px;padding:10px;background-color:var(--subtle-background);border-radius:6px;font-size:.9em}.existing-file-info a{color:var(--primary-accent);text-decoration:none;font-weight:600}.existing-file-info a:hover{text-decoration:underline}.existing-cover-preview{margin-bottom:10px}.existing-cover-preview img{max-width:200px;max-height:280px;border-radius:8px;border:1px solid var(--border-color)}.form-actions{display:flex;gap:15px;margin-top:30px;padding-top:20px;border-top:1px solid var(--border-color)}.submit-btn,.delete-btn,.cancel-btn{padding:12px 24px;border:none;border-radius:6px;font-size:1em;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.submit-btn{background-color:var(--primary-accent);color:#fff}.submit-btn:hover:not(:disabled){opacity:.9;transform:translateY(-2px)}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.delete-btn{background-color:#dc3545;color:#fff}.delete-btn:hover{background-color:#c82333;transform:translateY(-2px)}.cancel-btn{background-color:var(--subtle-background);color:var(--text-color);border:1px solid var(--border-color)}.cancel-btn:hover{background-color:var(--hover-background);border-color:var(--primary-accent);color:var(--primary-accent)}@media (max-width: 768px){.manage-library-container{padding:15px}.manage-library-form{padding:20px}.manage-library-header h1{font-size:1.6em}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.submit-btn,.delete-btn,.cancel-btn{width:100%;justify-content:center}}@media (prefers-color-scheme: dark){.form-group input[type=text],.form-group textarea,.form-group select{background-color:var(--subtle-background);color:var(--text-color)}}.user-profile-container{max-width:900px;margin:40px auto;padding:20px;font-family:sans-serif}.loading,.error-message{text-align:center;padding:40px;font-size:1.2em;color:var(--text-color)}.error-message{color:#e74c3c;background-color:var(--card-background);border:2px solid #e74c3c;border-radius:8px;margin-bottom:20px}.profile-header{display:flex;align-items:flex-start;gap:40px;background:linear-gradient(135deg,var(--card-background) 0%,var(--hover-background) 100%);padding:40px;border-radius:16px;box-shadow:0 4px 20px #00000026;margin-bottom:30px;border:1px solid var(--border-color)}.profile-avatar-section{flex-shrink:0}.profile-avatar-large{width:160px;height:160px;border-radius:50%;object-fit:cover;border:5px solid var(--primary-accent);box-shadow:0 8px 20px #0003;transition:transform .3s ease}.profile-avatar-large:hover{transform:scale(1.05)}.profile-info{flex:1;display:flex;flex-direction:column;gap:25px}.profile-title{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.profile-username{font-size:2.2em;margin:0;color:var(--text-color);display:flex;align-items:center;gap:12px}.titled-badge{font-size:.7em;color:gold;filter:drop-shadow(0 0 5px rgba(255,215,0,.5))}.profile-stats-grid{display:flex;flex-direction:column;gap:15px}.stat-card{display:flex;align-items:center;gap:12px;background-color:var(--card-background);padding:16px;border-radius:12px;border:1px solid var(--border-color);transition:all .3s ease}.stat-card:hover{transform:translateY(-3px);box-shadow:0 6px 15px #00000026;border-color:var(--primary-accent)}.stat-icon{font-size:2em;line-height:1}.stat-content{display:flex;flex-direction:column;gap:2px}.stat-value{font-size:1.4em;font-weight:700;color:var(--text-color);line-height:1.2}.stat-label{font-size:.85em;color:var(--secondary-accent);font-weight:500}.profile-bio{background-color:var(--card-background);padding:25px;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px}.profile-bio h2{font-size:1.5em;margin:0 0 15px;color:var(--text-color)}.profile-bio p{font-size:1.1em;line-height:1.6;color:var(--text-color);white-space:pre-wrap;margin:0}.back-button{padding:12px 24px;font-size:1em;background-color:var(--primary-accent);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.back-button:hover{background-color:var(--primary-accent-dark);transform:translateY(-2px);box-shadow:0 4px 8px #0003}@media (max-width: 768px){.profile-header{flex-direction:column;align-items:center;padding:25px;gap:25px}.profile-avatar-large{width:130px;height:130px}.profile-info{width:100%}.profile-title{flex-direction:column;align-items:center;text-align:center;gap:15px}.profile-username{font-size:1.8em;justify-content:center}.profile-stats-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.stat-card{padding:12px}.stat-icon{font-size:1.5em}.stat-value{font-size:1.2em}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--background-color: #ffffff;--text-color: #1d1e20;--card-background: #fdfdfd;--border-color: #dee2e6;--primary-accent: #333;--secondary-accent: #555;--subtle-background: #f8f9fa;--hover-background: #e9ecef;--shadow-color: rgba(0, 0, 0, .1);--navbar-background-color: #cfd9f4}[data-theme=dark]{--background-color: #282c34;--text-color: #abb2bf;--card-background: #333842;--border-color: #4b5162;--primary-accent: #e9ecef;--secondary-accent: #adb5bd;--subtle-background: #212529;--hover-background: #3a3f44;--shadow-color: rgba(0, 0, 0, .4);--navbar-background-color: #343a40}html,body,#root{height:100%;margin:0;padding:0}body{background-color:var(--background-color);color:var(--text-color);transition:background-color .2s ease,color .2s ease}.app-container{display:flex;flex-direction:column;min-height:100%}main{flex-grow:1}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--subtle-background);border-radius:10px}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--primary-accent),var(--secondary-accent));border-radius:10px;transition:all .3s ease}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--secondary-accent),var(--primary-accent));box-shadow:0 0 6px var(--primary-accent)}*{scrollbar-width:thin;scrollbar-color:var(--primary-accent) var(--subtle-background)}@media (max-width: 768px){[class*=-container]{padding:15px!important}h1{font-size:1.8em!important}h2{font-size:1.5em!important}button,.button,[class*=-btn]{padding:10px 16px!important;font-size:.95em!important}img{max-width:100%;height:auto}}@media (max-width: 480px){[class*=-container]{padding:10px!important;margin:10px auto!important}h1{font-size:1.5em!important}h2{font-size:1.3em!important}button,.button,[class*=-btn]{padding:8px 12px!important;font-size:.9em!important}input,textarea,select{width:100%!important;box-sizing:border-box}}
