@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap");@import url("https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@400;700&display=swap");@font-face{font-family:Wonder;src:url(/fonts/wonder-light.otf) format("opentype");font-weight:300;font-style:normal;font-display:swap}:root{--app-bg:#000;--text-primary:#ffffff;--text-secondary:#e4e4e7;--accent-color:#ffffff;--border-color:#18181b;--input-bg:rgba(9,9,11,0.8);--font-sans:"Inter",sans-serif;--chess-light:#e5e7eb;--chess-dark:#374151;--chess-accent:#fbbf24}*{box-sizing:border-box}*,body,html{padding:0;margin:0}body,html{height:100%;font-family:var(--font-sans);background-color:var(--app-bg);color:var(--text-primary)}::-webkit-scrollbar{width:0;height:0;display:none}*{scrollbar-width:none;-ms-overflow-style:none}body{height:100vh;width:100vw;display:flex;flex-direction:column}.top-nav{position:fixed;top:0;left:0;right:0;height:70px;justify-content:space-between;padding:0 40px;z-index:1000;background:linear-gradient(180deg,rgba(5,5,5,.9),rgba(5,5,5,0));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.03)}.nav-logo,.top-nav{display:flex;align-items:center}.nav-logo{gap:12px;cursor:pointer}.nav-logo-icon{color:#fff;transition:all .3s ease;flex-shrink:0;margin-top:20px}.nav-logo:hover .nav-logo-icon{filter:drop-shadow(0 0 12px rgba(255,255,255,.5));transform:scale(1.05)}.nav-logo span{font-family:"Wonder",var(--font-sans);font-weight:300;letter-spacing:.15em;font-size:1.1rem;color:#fff;-webkit-text-stroke:1px #fff;paint-order:stroke fill;margin-top:20px}.nav-links{display:flex;gap:8px}.nav-links button{background:none;border:none;color:var(--text-secondary);font-weight:500;font-size:.75rem;cursor:pointer;text-transform:uppercase;letter-spacing:.1em;transition:all .2s;padding:10px 16px;border-radius:8px}.nav-links button.active,.nav-links button:hover{color:#fff;background:rgba(255,255,255,.05)}.nav-links button.nav-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.language-switcher{position:relative;margin-left:8px}.lang-button{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:var(--text-secondary);font-weight:500;font-size:.75rem;cursor:pointer;padding:8px 12px;border-radius:8px;transition:all .2s}.lang-button:hover{color:#fff;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2)}.lang-flag{font-size:1rem}.lang-code{font-weight:600;letter-spacing:.05em}.lang-arrow{transition:transform .2s;opacity:.6}.lang-arrow.open{transform:rotate(180deg)}.lang-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:160px;background:rgba(20,20,20,.95);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:6px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 10px 40px rgba(0,0,0,.5);z-index:1000;animation:dropdownIn .2s ease}@keyframes dropdownIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.lang-option{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:none;border:none;color:var(--text-secondary);font-size:.85rem;cursor:pointer;border-radius:8px;transition:all .15s;text-align:left}.lang-option:hover{background:rgba(255,255,255,.08);color:#fff}.lang-option.active{background:rgba(255,255,255,.1);color:#fff}.lang-option .lang-flag{font-size:1.1rem}.lang-option .lang-name{font-weight:500}.immersive-app{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;perspective:2000px;padding-top:70px}.stage-container{position:relative;width:100%;min-height:calc(100vh - 70px);display:flex;align-items:flex-start;justify-content:center;z-index:10}.hero-chessboard-preview{margin-top:40px;perspective:1000px}.chessboard-wrapper{display:flex;flex-direction:column;align-items:center;width:100%;perspective:1000px}.chessboard-container.masterful-variant{display:flex;align-items:stretch;gap:0;background:transparent;border:none;border-radius:24px;box-shadow:0 50px 100px -20px rgba(0,0,0,.8);transform:none;transform-style:preserve-3d;transition:transform .3s ease}.chessboard-container.masterful-variant.interacted,.chessboard-container.masterful-variant.interacted:hover,.chessboard-container.masterful-variant.locked,.chessboard-container.masterful-variant:hover{transform:none}.chess-board{display:grid;grid-template-columns:repeat(8,52px);grid-template-rows:repeat(8,52px);border:2px solid #000;border-radius:2px;overflow:hidden}.square{position:relative;display:flex;align-items:center;justify-content:center;font-size:32px;cursor:pointer;transition:background .2s,transform .1s}.square.light{background:var(--chess-light);color:#1f2937}.square.dark{background:var(--chess-dark);color:#f9fafb}.square.selected{background:var(--chess-accent)!important;color:#000}.square:hover{filter:brightness(1.1)}.chess-piece{-webkit-user-select:none;-moz-user-select:none;user-select:none;filter:drop-shadow(0 4px 6px rgba(0,0,0,.4));transition:transform .2s;display:block}.square.selected .chess-piece{transform:scale(1.15) translateY(-4px)}.chess-piece.white{color:#fff;-webkit-text-stroke:1px rgba(0,0,0,.2)}.chess-piece.black{color:#000;-webkit-text-stroke:1px rgba(255,255,255,.1)}.coord{position:absolute;bottom:2px;right:2px;font-size:7px;opacity:.3;font-family:Roboto Mono,monospace;font-weight:700}.chess-meta{margin-bottom:16px;display:flex;justify-content:center}.turn-indicator{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:800;letter-spacing:.15em;padding:8px 20px;border-radius:99px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}.turn-indicator .dot{width:6px;height:6px;border-radius:50%;background:#555}.turn-indicator.white{color:#fff;border-color:rgba(255,255,255,.3)}.turn-indicator.white .dot{background:#fff;box-shadow:0 0 8px #fff}.turn-indicator.black{color:#888}.turn-indicator.black .dot{background:#333}.board-section{position:relative;padding:16px 24px;border:1px solid rgba(255,255,255,.08);border-radius:16px}.board-section,.moves-panel{flex-shrink:0;background:rgba(255,255,255,.03);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.moves-panel{border:1px solid rgba(255,255,255,.08);border-right-color:rgba(255,255,255,.05);border-radius:16px 0 0 16px;display:flex;flex-direction:column;transition:all .3s ease;overflow:hidden}.moves-panel.expanded{width:140px}.moves-panel.collapsed{width:0;min-width:0;border:none;padding:0;opacity:0;pointer-events:none}.moves-panel-header{display:flex;align-items:center;justify-content:center;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.moves-panel-actions{display:flex;gap:6px}.moves-panel-actions button{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--text-secondary);padding:6px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.moves-panel-actions button:hover{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.2)}.copy-btn.copied{background:rgba(34,197,94,.2)!important;border-color:rgba(34,197,94,.4)!important;color:#22c55e!important}.moves-list{flex:1 1;overflow-y:auto;padding:12px}.moves-empty{color:var(--text-secondary);font-size:.8rem;text-align:center;opacity:.6;font-style:italic}.moves-notation{font-family:Roboto Mono,monospace;font-size:.85rem}.move-row{display:grid;grid-template-columns:24px 1fr 1fr;grid-gap:4px;gap:4px;padding:4px 0;border-radius:4px;transition:background .15s}.move-row:hover{background:rgba(255,255,255,.03)}.move-number{color:var(--text-secondary);font-size:.75rem}.move{color:#fff;padding:2px 6px;border-radius:4px;transition:background .15s}.move.white{background:rgba(255,255,255,.05)}.move.black{background:rgba(0,0,0,.3)}.reset-btn{margin:12px;padding:8px 16px;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#ef4444;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:all .2s}.reset-btn:hover{background:rgba(239,68,68,.2);border-color:rgba(239,68,68,.5)}.toggle-panel-btn{position:absolute;left:8px;top:50%;transform:translateY(-50%);background:transparent;border:none;padding:8px 4px;color:var(--text-secondary);cursor:pointer;transition:all .2s;z-index:10}.toggle-panel-btn:hover{color:var(--text-primary)}.square.last-move{background:rgba(251,191,36,.3)!important}.square.last-move.light{background:rgba(251,191,36,.4)!important}.square.last-move.dark{background:rgba(251,191,36,.25)!important}.square.legal-move{position:relative}.move-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:14px;height:14px;background:rgba(0,0,0,.2);border-radius:50%;pointer-events:none}.move-indicator.capture{width:100%;height:100%;background:transparent;border:4px solid rgba(0,0,0,.2);border-radius:0;box-sizing:border-box}.square.in-check{background:rgba(239,68,68,.6)!important;animation:check-pulse 1s ease-in-out infinite}@keyframes check-pulse{0%,to{box-shadow:inset 0 0 20px rgba(239,68,68,.8)}50%{box-shadow:inset 0 0 30px rgba(239,68,68,1)}}.game-status{margin-left:12px;padding:4px 12px;border-radius:6px;font-size:.7rem;font-weight:700}.game-status.check{background:rgba(251,191,36,.2);color:#fbbf24}.game-status.checkmate{background:rgba(239,68,68,.2);color:#ef4444}.game-status.draw,.game-status.stalemate{background:rgba(107,114,128,.2);color:#9ca3af}.promotion-modal{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:100;border-radius:0 16px 16px 0}.promotion-options{display:flex;gap:8px;padding:16px;background:rgba(30,30,30,.95);border:1px solid rgba(255,255,255,.1);border-radius:12px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.promotion-options button{width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;transition:all .2s}.promotion-options button:hover{background:rgba(255,255,255,.15);transform:scale(1.1)}.promotion-options button .chess-piece{font-size:36px}.board-outer-frame{padding:12px;background:#111;border-radius:8px;box-shadow:inset 0 0 15px rgba(0,0,0,.5)}.board-inner{display:flex;gap:8px}.board-main{display:flex;flex-direction:column;gap:6px}.board-coords-files{display:flex;justify-content:space-around;padding-left:2px}.board-coords-files span{width:52px;text-align:center;font-family:Roboto Mono,monospace;font-size:.65rem;color:var(--text-secondary);font-weight:600}.board-coords-ranks{display:flex;flex-direction:column;justify-content:space-around;height:416px;padding-right:4px}.board-coords-ranks span{font-family:Roboto Mono,monospace;font-size:.65rem;color:var(--text-secondary);font-weight:600;text-align:center;width:14px}@media (max-width:900px){.chessboard-container.masterful-variant{flex-direction:column;transform:rotateX(0deg) rotate(0deg)}.chessboard-container.masterful-variant.locked,.chessboard-container.masterful-variant:hover{transform:none}.moves-panel{border-radius:12px 12px 0 0;border:1px solid rgba(255,255,255,.1);border-bottom:none;margin-right:0;margin-bottom:-1px;order:-1}.moves-panel.expanded{width:100%;max-width:100%;min-height:auto;max-height:150px}.board-section{border-radius:0 0 12px 12px;border:1px solid rgba(255,255,255,.08);border-top:none}}@media (max-width:500px){.chess-board{grid-template-columns:repeat(8,40px);grid-template-rows:repeat(8,40px)}.square{font-size:24px}.board-coords-files span{width:40px}.board-coords-ranks{height:320px}.moves-panel.expanded{max-height:120px}}.hero-background-image{position:fixed;bottom:0;right:0;max-height:85vh;width:auto;z-index:5;pointer-events:none;mix-blend-mode:screen;opacity:.85;-webkit-user-select:none;-moz-user-select:none;user-select:none}.hero-background-image.about-hero-image{max-height:95vh;opacity:.75;right:0;bottom:0}.empty-state{position:relative;min-height:calc(100vh - 70px);text-align:center;transition:all 1s cubic-bezier(.4,0,.2,1);z-index:5}.empty-content,.empty-state{display:flex;align-items:center;justify-content:center}.empty-content{flex-direction:column;padding:20px}.empty-state.fade-out{opacity:0;transform:scale(1.1) translateY(-20px);pointer-events:none}.large-hero-logo{margin-bottom:30px}.hero-title{font-size:6rem;font-weight:900;margin:0;background:linear-gradient(180deg,#fff,#444);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.05em;line-height:.9}.hero-tagline{font-size:1.1rem;font-weight:500;color:rgba(255,255,255,.9);text-transform:none;letter-spacing:.02em;margin:40px 0 6px;font-style:italic}.hero-quote{color:rgba(255,255,255,.5);font-size:.85rem;max-width:400px;margin:0 auto 40px;font-style:normal;font-weight:400;line-height:1.5;letter-spacing:.05em}.floating-input-container{position:relative;width:100%;max-width:480px;margin:20px auto 0;z-index:100;transition:all .5s ease}.floating-input-container.docked{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);max-width:400px}.input-wrapper{width:100%;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:10px 10px 10px 20px;display:flex;align-items:center;gap:12px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 10px 30px rgba(0,0,0,.3);transition:all .3s}.input-wrapper:focus-within{border-color:rgba(255,255,255,.25);box-shadow:0 15px 40px rgba(0,0,0,.4);background:rgba(255,255,255,.05)}.input-wrapper input{flex:1 1;background:transparent;border:none;outline:none;color:#fff;font-size:.9rem;font-family:inherit}.animated-placeholder{position:absolute;left:20px;pointer-events:none;color:#555;font-size:.9rem}.input-generating-label{display:flex;align-items:center;gap:10px;color:#fff;font-size:.9rem;font-weight:600}.send-button{width:36px;height:36px;border-radius:10px;background:#fff;color:#000;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.send-button:hover:not(:disabled){transform:scale(1.05);background:#eee}.send-button:disabled{opacity:.3;cursor:not-allowed}.page-content{position:relative;width:100%;max-width:1100px;display:flex;flex-direction:column;padding:60px 40px 100px;z-index:10;animation:pageIn .6s cubic-bezier(.4,0,.2,1) forwards}@keyframes pageIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.page-header{margin-bottom:80px;text-align:center}.page-header h1{font-size:4rem;font-weight:800;margin:0;letter-spacing:-.04em}.page-header .subtitle{color:var(--text-secondary);margin-top:20px;font-size:1.3rem;font-weight:300}.artifact-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:24px;gap:24px;width:94%;max-width:1500px;height:65vh;padding-bottom:40px}.session-group{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transition:all .8s ease}.session-group.past-session{transform:translateY(-100%) scale(.9);opacity:0;pointer-events:none}.artifact-card{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:16px;overflow:hidden;transition:all .3s ease;display:flex;flex-direction:column}.artifact-card:hover{border-color:rgba(255,255,255,.15);transform:translateY(-2px)}.artifact-card.focused{border-color:rgba(255,255,255,.3)}.artifact-card.generating{opacity:.8}.artifact-header{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.05)}.artifact-style-tag{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary)}.artifact-card-inner{flex:1 1;position:relative;min-height:200px}.generating-overlay{position:absolute;inset:0;background:rgba(0,0,0,.8);z-index:10;overflow:hidden}.code-stream-preview{font-family:Roboto Mono,monospace;font-size:.65rem;color:#0f0;padding:12px;height:100%;overflow:auto;white-space:pre-wrap;word-break:break-all}.artifact-iframe{width:100%;height:100%;border:none;background:#fff}.about-page{max-width:900px}.about-hero{margin-bottom:40px}.about-hero,.about-stats{display:flex;justify-content:center}.about-stats{gap:16px;flex-wrap:wrap}.stat-box{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:20px 24px;text-align:center;min-width:90px}.stat-number{display:block;font-size:1.8rem;font-weight:800;color:var(--chess-accent)}.stat-box .stat-label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.about-bio{display:grid;grid-template-columns:2fr 1fr;grid-gap:40px;gap:40px;margin-bottom:60px;padding:32px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:20px}.bio-text p{font-size:1.05rem;line-height:1.8;color:#ccc;margin:0 0 16px}.bio-text p:last-child{margin-bottom:0}.bio-details{display:flex;flex-direction:column;gap:16px;padding-left:32px;border-left:1px solid rgba(255,255,255,.1)}.detail-item{display:flex;align-items:center;gap:12px;color:var(--text-secondary);font-size:.95rem}.detail-item svg{color:var(--chess-accent);flex-shrink:0}.about-expect{margin-bottom:60px}.about-expect h2{font-size:1.8rem;font-weight:700;margin:0 0 32px;text-align:center}.expect-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:20px;gap:20px}.expect-card{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:28px;transition:all .3s ease}.expect-card:hover{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12);transform:translateY(-2px)}.expect-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:rgba(251,191,36,.1);border-radius:12px;margin-bottom:16px;color:var(--chess-accent)}.expect-card h3{font-size:1.1rem;font-weight:700;margin:0 0 10px;color:#fff}.expect-card p{font-size:.95rem;line-height:1.6;color:var(--text-secondary);margin:0}.about-reviews{margin-bottom:60px}.reviews-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;flex-wrap:wrap;gap:16px}.reviews-header h2{font-size:1.8rem;font-weight:700;margin:0}.reviews-summary{display:flex;align-items:center;gap:16px}.reviews-score{display:flex;align-items:center;gap:8px}.score-number{font-size:2rem;font-weight:800;color:var(--chess-accent)}.score-stars{display:flex;gap:2px}.reviews-count{color:var(--text-secondary);font-size:.95rem}.reviews-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:16px;gap:16px}.reviews-list{display:flex;flex-direction:column;gap:16px}.reviews-list .review-card.featured{background:rgba(251,191,36,.02);border-color:rgba(251,191,36,.08)}.review-card{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:20px;transition:all .3s ease}.review-card:hover{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1)}.review-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.reviewer-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--chess-accent) 0,#d97706 100%);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;color:#000;flex-shrink:0}.reviewer-info{flex:1 1;min-width:0}.reviewer-name{display:block;font-weight:600;font-size:.95rem;color:#fff}.reviewer-location{display:block;font-size:.75rem;color:var(--text-secondary)}.review-stars{display:flex;gap:2px;flex-shrink:0;margin-bottom:12px}.review-text{font-size:.95rem;line-height:1.6;color:#ccc;margin:0 0 12px;font-style:italic}.review-date{font-size:.75rem;color:var(--text-secondary)}.reviews-link{display:flex;width:-moz-fit-content;width:fit-content;margin:24px auto 0;align-items:center;gap:8px;padding:12px 24px;background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.3);border-radius:12px;color:var(--chess-accent);text-decoration:none;font-weight:500;font-size:.95rem;transition:all .3s ease}.reviews-link:hover{background:rgba(251,191,36,.2);border-color:rgba(251,191,36,.5);transform:translateX(4px)}.reviews-link svg{transition:transform .3s ease}.reviews-link:hover svg{transform:translateX(4px)}.about-cta{text-align:center;padding:40px 0}.about-cta p{font-size:1.3rem;color:#fff;margin:0 0 12px}.about-signature{font-size:1.1rem;color:var(--chess-accent);font-style:italic}.course-tiers-page{max-width:1100px}.tiers-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:20px;gap:20px}.tier-card{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:28px 20px;display:flex;flex-direction:column;align-items:center;text-align:center;transition:all .3s}.tier-card:hover{border-color:rgba(255,255,255,.2);transform:translateY(-4px)}.tier-card.locked{opacity:.6}.tier-card.locked:hover{transform:none;border-color:rgba(255,255,255,.08)}.tier-icon{color:var(--chess-accent);margin-bottom:16px}.tier-card.locked .tier-icon{color:var(--text-secondary)}.tier-info{display:flex;flex-direction:column;align-items:center;flex:1 1}.tier-info h3{font-size:1.1rem;font-weight:700;margin-bottom:4px}.tier-rating{font-size:.75rem;color:var(--chess-accent);font-weight:600;margin-bottom:12px}.tier-card.locked .tier-rating,.tier-info p{color:var(--text-secondary)}.tier-info p{font-size:.85rem;line-height:1.5;margin-bottom:20px;flex:1 1}.tier-footer{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.tier-price{font-size:1.4rem;font-weight:800}.tier-btn{width:100%;background:var(--chess-accent);color:#000;border:none;padding:12px 20px;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.tier-btn:hover{transform:scale(1.03);filter:brightness(1.1)}.tier-btn.locked{background:rgba(255,255,255,.1);color:var(--text-secondary);cursor:not-allowed}.tier-btn.locked:hover{transform:none;filter:none}@media (max-width:900px){.tiers-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:500px){.tiers-grid{grid-template-columns:1fr}}.book-page{max-width:1000px}.book-header{text-align:center;margin-bottom:40px}.book-header h1{font-size:2.5rem;font-weight:800;margin:0 0 12px}.book-header .subtitle{color:var(--text-secondary);font-size:1.1rem;margin:0}.calendly-container{border-radius:20px;overflow:hidden;min-height:700px}.calendly-container iframe{display:block;border:none;min-height:700px}.live-stream-container{width:100%;max-width:1200px;margin:0 auto}.live-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px;color:var(--text-secondary)}.live-loading .loading-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.live-not-configured,.live-offline{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;gap:24px;padding:40px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:20px}.live-not-configured-icon,.live-offline-icon{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.05);border-radius:50%;color:var(--text-secondary)}.live-not-configured h2,.live-offline h2{font-size:1.75rem;font-weight:700;margin:0}.live-not-configured p,.live-offline p{color:var(--text-secondary);max-width:400px;line-height:1.6;margin:0}.twitch-follow-btn{display:flex;align-items:center;gap:10px;background:#9146ff;color:#fff;border:none;border-radius:12px;padding:14px 28px;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .2s;text-decoration:none}.twitch-follow-btn:hover{background:#7c3aed;transform:translateY(-2px);box-shadow:0 8px 24px rgba(145,70,255,.3)}.live-stream-layout{display:grid;grid-template-columns:1fr 340px;grid-gap:20px;gap:20px}.live-player-section{display:flex;flex-direction:column;gap:16px}.stream-header{justify-content:space-between}.stream-header,.stream-info{display:flex;align-items:center}.stream-info{gap:12px}.live-badge{background:#ef4444;color:#fff;padding:6px 16px;border-radius:99px;font-size:.75rem;font-weight:700;animation:pulse 2s infinite}.stream-title{font-size:1.1rem;font-weight:600}.viewer-count{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:.9rem}.viewer-count svg{opacity:.6}.twitch-player-wrapper{position:relative;width:100%;padding-top:56.25%;background:#111;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.twitch-player-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.live-chat-section{display:flex;flex-direction:column;height:100%;min-height:500px}.chat-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:rgba(255,255,255,.03);border-radius:12px 12px 0 0;border:1px solid rgba(255,255,255,.08);border-bottom:none;font-weight:600;font-size:.9rem}.chat-header svg{color:var(--text-secondary)}.twitch-chat-wrapper{flex:1 1;background:#111;border:1px solid rgba(255,255,255,.08);border-radius:0 0 12px 12px;overflow:hidden}.twitch-chat-wrapper iframe{width:100%;height:100%;min-height:450px;border:none}.chat-unavailable{display:flex;align-items:center;justify-content:center;height:100%;min-height:450px;color:var(--text-secondary);font-size:.9rem}.stream-details{display:flex;align-items:center;gap:16px;padding:16px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:12px}.stream-details .streamer-avatar{width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.1)}.stream-details-info{flex:1 1}.stream-details-name{font-weight:700;font-size:1rem}.stream-details-game{color:var(--text-secondary);font-size:.85rem}@media (max-width:1024px){.live-stream-layout{grid-template-columns:1fr}.live-chat-section{min-height:400px}.twitch-chat-wrapper iframe{min-height:350px}}@media (max-width:768px){.live-stream-container{padding:0 16px}.stream-header{flex-direction:column;align-items:flex-start;gap:12px}.live-not-configured,.live-offline{padding:24px;min-height:300px}}.contact-form-wrapper{max-width:500px;margin:0 auto}.contact-form-wrapper h1{font-size:2.5rem;margin-bottom:40px;text-align:center}.form-group{margin-bottom:24px}.form-group label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;color:var(--text-secondary)}.form-group input,.form-group select,.form-group textarea{width:100%;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;color:#fff;font-family:inherit;font-size:1rem;outline:none;transition:all .2s}.form-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23999' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}.form-group select option{background:#1a1a1a;color:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:rgba(255,255,255,.3)}.form-group textarea{resize:vertical;min-height:120px}.submit-btn{width:100%;background:#fff;color:#000;border:none;padding:16px;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s}.submit-btn:hover{transform:scale(1.02)}.horse-pawn-logo .logo-svg{display:block}.horse-pawn-logo .logo-path{transition:all .5s}.horse-pawn-logo:hover .logo-path{filter:drop-shadow(0 0 20px rgba(255,255,255,.5))}.spin-icon{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:1024px){.artifact-grid{grid-template-columns:1fr;overflow-y:auto;height:75vh}.hero-title{font-size:4rem}.chess-board{grid-template-columns:repeat(8,40px);grid-template-rows:repeat(8,40px)}.square{font-size:24px}.about-hero{flex-direction:column}.about-stats{justify-content:center}.about-bio{grid-template-columns:1fr}.bio-details{padding-left:0;padding-top:20px;border-left:none;border-top:1px solid rgba(255,255,255,.1)}.expect-grid,.reviews-grid{grid-template-columns:1fr}.calendly-container,.calendly-container iframe{min-height:600px}}@media (max-width:768px){.top-nav{padding:0 20px}.nav-links{display:none}.page-content{padding:40px 20px}.page-header h1{font-size:2.5rem}.hero-title{font-size:3rem}}.opening-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));grid-gap:20px;gap:20px;width:100%;max-width:1400px;padding:20px}.opening-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.1);border-radius:16px;overflow:hidden;transition:all .3s ease;display:flex;flex-direction:column}.opening-card:hover{border-color:rgba(255,255,255,.2);transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,0,0,.3)}.opening-card-header{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid rgba(255,255,255,.05);background:rgba(255,255,255,.02)}.eco-badge{background:rgba(255,200,100,.15);color:#ffc864;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:700;font-family:Roboto Mono,monospace;letter-spacing:.05em}.opening-name{font-size:1rem;font-weight:600;margin:0;color:#fff;line-height:1.3;flex:1 1}.opening-card-body{display:flex;gap:16px;padding:16px}.opening-info{flex:1 1;display:flex;flex-direction:column;gap:12px;min-width:0}.opening-moves{background:rgba(0,0,0,.3);border-radius:8px;padding:10px 12px;cursor:pointer;transition:background .2s}.opening-moves:hover{background:rgba(0,0,0,.4)}.opening-moves code{font-family:Roboto Mono,monospace;font-size:.8rem;color:#aaa;line-height:1.5;word-break:break-word}.opening-badges{display:flex;gap:8px;flex-wrap:wrap}.badge{padding:4px 10px;border-radius:6px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.difficulty-badge{border:1px solid}.color-badge{background:rgba(255,255,255,.08);color:#ccc}.opening-players{display:flex;gap:8px;padding:0 16px 12px;flex-wrap:wrap}.player-tag{background:rgba(100,150,255,.1);color:#8ab4ff;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:500}.opening-explanation{padding:16px;border-top:1px solid rgba(255,255,255,.05);min-height:80px;max-height:160px;overflow-y:auto}.opening-explanation p{font-size:.9rem;line-height:1.6;color:#bbb;margin:0}.opening-explanation p.streaming{color:#ddd}.opening-explanation .cursor{color:#fff;animation:blink 1s infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.explanation-loading{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:.85rem}.explanation-error{color:#ef4444;display:flex;align-items:center;gap:12px}.explanation-error button{background:rgba(239,68,68,.2);border:1px solid rgba(239,68,68,.5);color:#ef4444;padding:4px 12px;border-radius:6px;cursor:pointer;font-size:.8rem}.opening-ideas{padding:0 16px 16px}.ideas-toggle{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:.85rem;padding:8px 0;width:100%;text-align:left;transition:color .2s}.ideas-toggle:hover{color:#fff}.ideas-list{margin:8px 0 0 16px;padding:0;list-style:disc;color:#aaa;font-size:.85rem}.ideas-list li{margin-bottom:4px}.opening-footer{padding:12px 16px;border-top:1px solid rgba(255,255,255,.05);background:rgba(255,255,255,.01)}.category-tag{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary)}.search-status{text-align:center;padding:40px;color:var(--text-secondary)}.search-status .spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.1);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.no-results{text-align:center;padding:60px 20px;color:var(--text-secondary)}.no-results h3{color:#fff;margin-bottom:8px}@media (max-width:768px){.opening-cards-grid{grid-template-columns:1fr}.opening-card-body{flex-direction:column}.mini-board{margin:0 auto}}.loading-screen{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--app-bg);display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity .5s ease-out,transform .5s ease-out}.loading-screen.fade-out{opacity:0;transform:scale(1.02);pointer-events:none}.loading-content{display:flex;flex-direction:column;align-items:center;gap:24px;max-width:400px;text-align:center}.loading-icon{color:rgba(255,255,255,.8);animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{opacity:.6;filter:drop-shadow(0 0 8px rgba(255,255,255,.2))}50%{opacity:1;filter:drop-shadow(0 0 20px rgba(255,255,255,.4))}}.loading-title{font-family:"Wonder",var(--font-sans);font-weight:300;letter-spacing:.15em;font-size:2rem;color:#fff;-webkit-text-stroke:1.5px #fff;paint-order:stroke fill}@keyframes shimmer{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.loading-progress-container{width:100%;max-width:280px;height:3px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden}.loading-progress-bar{height:100%;background:linear-gradient(90deg,rgba(255,255,255,.3),rgba(255,255,255,.8));border-radius:2px;transition:width .4s ease-out}.loading-message{color:var(--text-secondary);font-size:.875rem;letter-spacing:.05em}.loading-message.error{color:#ef4444}.loading-dots{display:flex;gap:6px}.loading-dots span{width:6px;height:6px;background:rgba(255,255,255,.5);border-radius:50%;animation:dot-pulse 1.4s ease-in-out infinite}.loading-dots span:first-child{animation-delay:0s}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes dot-pulse{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1.2);opacity:1}}.loading-ready{color:#22c55e;animation:check-appear .3s ease-out}@keyframes check-appear{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}:root{--tier-pawn:#71717a;--tier-knight:#22c55e;--tier-bishop:#3b82f6;--tier-rook:#a855f7;--tier-queen:#fbbf24}.course-page{display:flex;flex-direction:column;gap:32px;max-width:1200px;width:100%;margin:0 auto;padding:24px 24px 100px;min-height:auto}.course-header{display:flex;justify-content:space-between;align-items:flex-start;gap:32px;flex-wrap:wrap}.course-header-content h1{font-size:2.5rem;font-weight:800;letter-spacing:.02em;margin:0}.course-header-content .subtitle{color:var(--text-secondary);margin-top:8px}.stats-panel{gap:24px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:16px 24px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.stats-panel,.stats-xp{display:flex;align-items:center}.stats-xp{gap:16px}.stats-xp-ring{position:relative;width:80px;height:80px}.stats-xp-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.stats-xp-info{display:flex;flex-direction:column}.stats-xp-value{font-size:1.75rem;font-weight:800;color:var(--chess-accent)}.stats-xp-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em}.stats-grid{display:flex;gap:24px;padding-left:24px;border-left:1px solid rgba(255,255,255,.1)}.stat-item{display:flex;flex-direction:column;align-items:center;gap:4px}.stat-value{font-size:1.25rem;font-weight:700}.stat-label{font-size:.65rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.tier-selector{display:flex;justify-content:center;gap:16px;padding:16px 0}.tier-badge{display:flex;flex-direction:column;align-items:center;gap:8px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:16px;cursor:pointer;transition:all .3s ease;position:relative}.tier-badge:hover:not(:disabled){background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.15);transform:translateY(-2px)}.tier-badge.active{background:rgba(255,255,255,.08);border-color:var(--tier-color);box-shadow:0 0 20px rgba(var(--tier-color),.2)}.tier-badge.locked{opacity:.5;cursor:not-allowed}.tier-badge-ring{position:relative;width:64px;height:64px}.tier-badge-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.tier-badge-name{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary)}.tier-badge.active .tier-badge-name{color:var(--tier-color)}.tier-lock-icon{position:absolute;top:8px;right:8px;color:var(--text-secondary)}.module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:20px;gap:20px}.module-card{display:flex;flex-direction:column;gap:12px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:20px;cursor:pointer;transition:all .3s ease;text-align:left}.module-card:hover:not(:disabled){background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.15);transform:translateY(-2px)}.module-card.locked{opacity:.5;cursor:not-allowed}.module-card.complete{border-color:rgba(34,197,94,.3)}.module-card-header{display:flex;justify-content:space-between;align-items:center}.module-card-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.05);border-radius:10px}.module-number{font-size:1rem;font-weight:800;color:var(--text-secondary)}.module-card-progress{display:flex;align-items:center;gap:8px}.progress-bar{width:60px;height:4px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--chess-accent);border-radius:2px;transition:width .3s ease}.progress-text{font-size:.75rem;color:var(--text-secondary);font-weight:600}.module-card-title{font-size:1.1rem;font-weight:700;margin:0;color:var(--text-primary)}.module-card-description{font-size:.85rem;color:var(--text-secondary);margin:0;line-height:1.5}.module-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;border-top:1px solid rgba(255,255,255,.05)}.lesson-count{font-size:.75rem;color:var(--text-secondary)}.unlock-requirement{font-size:.75rem;color:var(--chess-accent);font-weight:600}.lesson-list{display:flex;flex-direction:column;gap:20px}.lesson-list-header{display:flex;align-items:flex-start;gap:20px}.back-button{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:10px;color:var(--text-secondary);padding:10px 16px;cursor:pointer;transition:all .2s;font-size:.85rem}.back-button:hover{background:rgba(255,255,255,.1);color:#fff}.lesson-list-title h2{font-size:1.5rem;font-weight:700;margin:0 0 4px}.lesson-list-title p{color:var(--text-secondary);margin:0}.lesson-list-items{display:flex;flex-direction:column;gap:8px}.lesson-item{display:flex;align-items:center;gap:16px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:16px 20px;cursor:pointer;transition:all .2s;text-align:left;width:100%}.lesson-item:hover:not(:disabled){background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}.lesson-item.locked{opacity:.5;cursor:not-allowed}.lesson-item.completed{border-color:rgba(34,197,94,.2)}.lesson-item-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.05);border-radius:10px;flex-shrink:0;color:var(--text-secondary)}.lesson-item.completed .lesson-item-icon{background:rgba(34,197,94,.1)}.lesson-item-content{flex:1 1}.lesson-item-type{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em}.lesson-item-title{font-size:1rem;font-weight:600;margin:4px 0 0;color:var(--text-primary)}.lesson-item-meta{gap:12px}.lesson-item-meta,.lesson-xp{display:flex;align-items:center}.lesson-xp{gap:4px;color:var(--chess-accent)}.lesson-accuracy,.lesson-xp{font-size:.8rem;font-weight:600}.lesson-accuracy{color:#22c55e}.lesson-viewer{display:flex;flex-direction:column;gap:24px;max-width:800px;margin:0 auto}.lesson-viewer-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.lesson-viewer-meta{display:flex;gap:12px}.lesson-type-badge{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:8px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.lesson-type-badge,.lesson-xp-badge{padding:6px 12px;font-size:.75rem;font-weight:600}.lesson-xp-badge{display:flex;align-items:center;gap:6px;background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.2);border-radius:8px;color:var(--chess-accent)}.lesson-viewer-content{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:32px}.lesson-viewer-content h1{font-size:1.75rem;font-weight:700;margin:0 0 12px}.lesson-description{color:var(--text-secondary);margin:0 0 24px;line-height:1.6}.lesson-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px;background:rgba(255,255,255,.02);border:1px dashed rgba(255,255,255,.1);border-radius:12px;color:var(--text-secondary)}.lesson-viewer-footer{display:flex;justify-content:flex-end}.complete-button{display:flex;align-items:center;gap:8px;background:var(--chess-accent);color:#000;border:none;border-radius:12px;padding:14px 28px;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .2s}.complete-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(251,191,36,.3)}.theory-content{gap:24px}.theory-content,.theory-section{display:flex;flex-direction:column}.theory-section{gap:12px}.theory-section.text p{color:var(--text-primary);line-height:1.8;font-size:1rem}.theory-section.diagram,.theory-section.highlight{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:12px}.theory-section .diagram-caption{font-size:.875rem;color:var(--text-secondary);font-style:italic}.theory-complete-button{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--chess-accent);color:#000;border:none;border-radius:12px;padding:16px 32px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;margin-top:16px;align-self:center}.theory-complete-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(251,191,36,.3)}.interactive-board{display:flex;flex-direction:column;gap:16px;align-items:center}.interactive-board .board-container{display:flex;gap:8px}.interactive-board .chess-board{border:3px solid rgba(255,255,255,.3);border-radius:4px}.interactive-board .file-labels,.interactive-board .rank-labels{display:flex}.interactive-board .file-labels{justify-content:space-around;padding:0 28px}.interactive-board .rank-labels{flex-direction:column;justify-content:space-around;padding:4px 8px}.interactive-board .file-label,.interactive-board .rank-label{font-size:.75rem;color:var(--text-secondary);font-weight:600}.board-highlight-square{position:absolute;background:rgba(251,191,36,.4);border:2px solid rgba(251,191,36,.8);pointer-events:none}.puzzle-content{display:flex;flex-direction:column;gap:24px}.puzzle-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.puzzle-turn-indicator{gap:8px;background:rgba(255,255,255,.05)}.puzzle-turn-indicator.white{color:#fff}.puzzle-turn-indicator.black{color:#888}.puzzle-turn-indicator .turn-dot{width:12px;height:12px;border-radius:50%}.puzzle-turn-indicator.white .turn-dot{background:#fff;border:1px solid #ccc}.puzzle-turn-indicator.black .turn-dot{background:#333;border:1px solid #555}.puzzle-board,.puzzle-feedback{display:flex;justify-content:center}.puzzle-feedback{align-items:center;gap:12px;padding:16px;border-radius:12px;font-weight:600;animation:fadeIn .3s ease}.puzzle-feedback.correct{background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.3);color:#22c55e}.puzzle-feedback.incorrect{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:#ef4444}.puzzle-feedback.complete{background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.3);color:var(--chess-accent)}.puzzle-actions{display:flex;justify-content:center;gap:12px}.hint-button,.reset-button{display:flex;align-items:center;gap:8px;padding:12px 20px;border-radius:10px;font-weight:600;cursor:pointer;transition:all .2s}.hint-button{background:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.3);color:#3b82f6}.hint-button:hover{background:rgba(59,130,246,.2)}.reset-button{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:var(--text-secondary)}.reset-button:hover{background:rgba(255,255,255,.1);color:var(--text-primary)}.hint-display{display:flex;align-items:center;gap:10px;padding:12px 16px;background:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.2);border-radius:10px;color:#3b82f6}.hint-display .hint-icon{font-size:1.2rem}.puzzle-explanation{padding:16px;background:rgba(251,191,36,.05);border:1px solid rgba(251,191,36,.2);border-radius:12px}.puzzle-explanation h4{margin:0 0 8px;color:var(--chess-accent)}.puzzle-explanation p{margin:0;color:var(--text-secondary);line-height:1.6}.practice-content{display:flex;flex-direction:column;gap:24px}.practice-objective{display:flex;align-items:center;gap:12px;padding:16px;background:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.2);border-radius:12px}.practice-objective .objective-icon{font-size:1.5rem}.practice-objective span{font-weight:600;color:#3b82f6}.practice-board{display:flex;justify-content:center}.practice-complete{display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px;background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.3);border-radius:12px;animation:fadeIn .3s ease}.practice-complete .complete-icon{font-size:2rem}.practice-complete span{font-weight:600;color:#22c55e}.challenge-content{display:flex;flex-direction:column;gap:24px}.challenge-header{display:flex;justify-content:space-between;align-items:center;padding:16px;background:rgba(168,85,247,.1);border:1px solid rgba(168,85,247,.2);border-radius:12px}.challenge-timer{display:flex;align-items:center;gap:8px;font-size:1.25rem;font-weight:700;color:#a855f7}.challenge-timer.warning{color:#f97316;animation:pulse 1s infinite}.challenge-timer.danger{color:#ef4444;animation:pulse .5s infinite}.challenge-progress{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--text-secondary)}.challenge-progress-bar{width:120px;height:8px;background:rgba(255,255,255,.1);border-radius:4px;overflow:hidden}.challenge-progress-fill{height:100%;background:#a855f7;transition:width .3s ease}.challenge-board{display:flex;justify-content:center}.challenge-start{display:flex;flex-direction:column;align-items:center;gap:20px;padding:48px}.challenge-start-icon{font-size:3rem}.challenge-start h3{margin:0;font-size:1.5rem}.challenge-start p{color:var(--text-secondary);text-align:center}.start-button{display:flex;align-items:center;gap:8px;background:#a855f7;color:#fff;border:none;border-radius:12px;padding:16px 32px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s}.start-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(168,85,247,.3)}.challenge-results{display:flex;flex-direction:column;align-items:center;gap:24px;padding:32px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:16px}.challenge-results.passed{border-color:rgba(34,197,94,.3)}.challenge-results.failed{border-color:rgba(239,68,68,.3)}.results-icon{font-size:3rem}.results-stats{display:flex;gap:32px}.result-stat{display:flex;flex-direction:column;align-items:center;gap:4px}.result-stat-value{font-size:1.5rem;font-weight:700}.result-stat-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase}.claim-button,.retry-button{display:flex;align-items:center;gap:8px;padding:14px 28px;border-radius:12px;font-weight:700;cursor:pointer;transition:all .2s}.retry-button{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:var(--text-primary)}.claim-button{background:var(--chess-accent);border:none;color:#000}.claim-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(251,191,36,.3)}.boss-content{gap:24px}.boss-content,.boss-header{display:flex;flex-direction:column}.boss-header{align-items:center;gap:12px;padding:24px;background:linear-gradient(135deg,rgba(251,191,36,.1),rgba(251,146,60,.1));border:2px solid rgba(251,191,36,.3);border-radius:16px}.boss-icon{font-size:2.5rem}.boss-name{font-size:1.5rem;font-weight:700;color:var(--chess-accent);margin:0}.boss-requirement{font-size:.875rem;color:var(--text-secondary)}.boss-progress-bar{width:100%;max-width:300px;height:12px;background:rgba(255,255,255,.1);border-radius:6px;overflow:hidden}.boss-progress-fill{height:100%;background:linear-gradient(90deg,#fbbf24,#f97316);transition:width .5s ease}.boss-victory{display:flex;flex-direction:column;align-items:center;gap:20px;padding:48px;background:linear-gradient(135deg,rgba(251,191,36,.1),rgba(251,146,60,.1));border:2px solid rgba(251,191,36,.4);border-radius:16px;animation:victoryPulse 2s infinite}@keyframes victoryPulse{0%,to{box-shadow:0 0 20px rgba(251,191,36,.2)}50%{box-shadow:0 0 40px rgba(251,191,36,.4)}}.boss-victory-icon{font-size:4rem}.boss-victory h3{margin:0;font-size:1.75rem;color:var(--chess-accent)}.boss-xp-earned{gap:8px;font-size:1.25rem;font-weight:700;color:var(--chess-accent)}.boss-defeat,.boss-xp-earned{display:flex;align-items:center}.boss-defeat{flex-direction:column;gap:16px;padding:32px;background:rgba(239,68,68,.05);border:1px solid rgba(239,68,68,.2);border-radius:16px}.boss-defeat-icon{font-size:3rem}.boss-defeat span{color:#ef4444;font-weight:600}.boss-score{color:var(--text-secondary)}.no-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:64px 32px;background:rgba(255,255,255,.02);border:2px dashed rgba(255,255,255,.1);border-radius:16px;text-align:center}.no-content-icon{font-size:3rem;opacity:.5}.no-content span,.skip-button{color:var(--text-secondary)}.skip-button{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:12px 20px;font-weight:600;cursor:pointer;transition:all .2s}.skip-button:hover{background:rgba(255,255,255,.1);color:var(--text-primary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.progress-ring{transform:rotate(-90deg)}.progress-ring-progress{transition:stroke-dashoffset .5s ease}.course-loading{display:flex;align-items:center;justify-content:center;min-height:400px}@media (max-width:768px){.course-header{flex-direction:column;align-items:stretch}.stats-panel{flex-wrap:wrap;justify-content:center}.stats-grid{border-left:none;padding-left:0;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.tier-selector{flex-wrap:wrap}.tier-badge{flex:1 1;min-width:70px}.module-grid{grid-template-columns:1fr}}.puzzle-board-wrapper{display:flex;flex-direction:column;align-items:center;gap:16px;position:relative;padding:20px}.puzzle-mode-selector{display:flex;gap:8px;padding:8px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:12px}.mode-btn{position:relative;width:85px;height:62px;padding:8px 6px;background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.mode-btn:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.2);color:#fff}.mode-btn.active{background:rgba(251,191,36,.15);border-color:var(--chess-accent);color:var(--chess-accent)}.mode-icon{display:flex;align-items:center;justify-content:center}.mode-icon svg{width:22px;height:22px}.mode-label{display:flex;flex-direction:column;align-items:center;font-size:.55rem;letter-spacing:.03em;text-align:center;line-height:1.2}.daily-badge,.mode-label{font-weight:700;text-transform:uppercase}.daily-badge{position:absolute;top:-6px;right:-8px;padding:2px 6px;background:var(--chess-accent);border-radius:4px;font-size:.5rem;letter-spacing:.02em;color:#000}.puzzles-solved-inline{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 20px;margin-left:auto;background:linear-gradient(135deg,rgba(251,191,36,.15),rgba(251,191,36,.05));border:1px solid rgba(251,191,36,.3);border-radius:10px}.puzzles-solved-inline .solved-count{font-size:1.5rem;font-weight:800;color:var(--chess-accent);line-height:1;text-shadow:0 0 20px rgba(251,191,36,.4)}.puzzles-solved-inline .solved-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:rgba(255,255,255,.7);margin-top:4px;line-height:1.2;white-space:nowrap}.puzzle-info-row{display:flex;align-items:center;justify-content:center;gap:24px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary)}.puzzle-timer{font-family:SF Mono,Fira Code,monospace;font-size:1.25rem;font-weight:700;color:var(--chess-accent)}.puzzle-timer.low{color:#ef4444;animation:pulse 1s infinite}.puzzle-turn-text{color:var(--text-secondary)}.puzzle-three-extras{display:flex;align-items:center;gap:16px}.lives-display{display:flex;gap:4px}.life{opacity:.3;transition:opacity .3s}.life.active{opacity:1}.hint-btn{gap:6px;padding:8px 12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:var(--text-secondary)}.hint-btn:hover:not(:disabled){background:rgba(255,255,255,.1);color:#fff}.hint-btn:disabled{opacity:.3}.puzzle-feedback{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:2.5rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;z-index:100;animation:feedbackPop 1.5s ease-out forwards;text-shadow:0 4px 20px rgba(0,0,0,.5);pointer-events:none}.feedback-perfect{color:#fbbf24;text-shadow:0 0 30px rgba(251,191,36,.6)}.feedback-great{color:#fcd34d;text-shadow:0 0 30px rgba(252,211,77,.5)}.feedback-good{color:#fde68a;text-shadow:0 0 30px rgba(253,230,138,.5)}.feedback-fail{color:#ef4444;text-shadow:0 0 30px rgba(239,68,68,.5)}.feedback-almost{color:#f59e0b;text-shadow:0 0 30px rgba(245,158,11,.5)}@keyframes feedbackPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}10%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}20%{transform:translate(-50%,-50%) scale(1)}70%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(1) translateY(-20px)}}.combo-counter{position:absolute;top:20px;right:20px;display:flex;flex-direction:column;align-items:center;padding:12px 20px;background:linear-gradient(135deg,rgba(251,191,36,.2),rgba(251,191,36,.05));border:2px solid var(--chess-accent);border-radius:12px;animation:comboIn .3s ease-out;z-index:50}.combo-number{font-size:2rem;font-weight:800;color:var(--chess-accent);line-height:1}.combo-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--chess-accent);opacity:.8}@keyframes comboIn{0%{opacity:0;transform:scale(.8) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.puzzle-turn-indicator{display:flex;align-items:center;gap:10px;padding:8px 16px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:8px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary)}.puzzle-turn-indicator.plain{background:transparent;border:none;padding:8px 0}.puzzle-turn-indicator .dot{width:8px;height:8px;border-radius:50%}.puzzle-turn-indicator .dot.white{background:#fff;box-shadow:0 0 8px rgba(255,255,255,.5)}.puzzle-turn-indicator .dot.black{background:#333;border:1px solid #555}.puzzle-rating{color:var(--chess-accent);font-weight:500}.piece-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%;transition:transform .15s ease}.piece-container svg{filter:drop-shadow(0 3px 6px rgba(0,0,0,.4))}.square.selected .piece-container{transform:scale(1.1) translateY(-3px)}.square.selected .piece-container svg{filter:drop-shadow(0 6px 12px rgba(0,0,0,.5))}.puzzle-action-buttons{display:flex;gap:12px;justify-content:center}.hint-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.3);border-radius:8px;color:var(--chess-accent);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.hint-btn:hover:not(:disabled){background:rgba(251,191,36,.2);border-color:rgba(251,191,36,.5)}.hint-btn:disabled{opacity:.4;cursor:not-allowed}.skip-puzzle-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.skip-puzzle-btn:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff}@media (max-width:600px){.puzzle-mode-selector,.puzzle-stats-bar{flex-wrap:wrap;justify-content:center}.puzzle-stats-bar{gap:12px}.puzzle-timer{font-size:1.2rem}.combo-counter{top:10px;right:10px;padding:8px 14px}.combo-number{font-size:1.5rem}.puzzle-feedback{font-size:1.8rem}}