.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:300;animation:fadeIn .2s ease;padding:16px}.modal-box{background:#fff;border-radius:var(--radius-lg);padding:24px;max-width:360px;width:100%;max-height:85vh;overflow-y:auto;position:relative;animation:slideUp .25s ease;box-shadow:0 10px 40px #0000004d}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close{position:absolute;top:12px;left:12px;background:#f5f5f5;border:none;border-radius:50%;width:32px;height:32px;font-size:1rem;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center}.modal-close:hover{background:#e0e0e0;transform:scale(1.1)}.modal-title{text-align:center;font-size:1.4rem;font-weight:900;color:var(--yellow-dark);margin:0 0 20px}.modal-subtitle{font-size:1rem;font-weight:700;color:var(--text-medium);margin:0 0 12px;text-align:center}.modal-section{margin-bottom:20px}.appearance-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.appearance-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 16px;background:#f5f5f5;border:3px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);min-width:90px}.appearance-card img{width:48px;height:48px;object-fit:contain}.appearance-card span{font-size:.85rem;font-weight:600;color:var(--text-dark)}.appearance-card:hover{background:#e8e8e8;transform:translateY(-2px)}.appearance-card.active{border-color:var(--green);background:#e8f5e9}.board-swatch{display:grid;grid-template-columns:1fr 1fr;width:48px;height:48px;border-radius:4px;overflow:hidden;box-shadow:0 2px 6px #00000026}.board-swatch i{display:block}.profile-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.profile-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f5f5f5;border:2px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);text-align:right}.profile-item:hover{background:#e8e8e8}.profile-item.active{border-color:var(--green);background:#e8f5e9}.profile-avatar{font-size:1.8rem}.profile-name{flex:1;font-size:1rem;font-weight:700;color:var(--text-dark)}.profile-check{color:var(--green);font-size:1.2rem;font-weight:700}.avatar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.avatar-btn{font-size:2rem;padding:10px;background:#f5f5f5;border:3px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition)}.avatar-btn:hover{background:#e8e8e8;transform:scale(1.1)}.avatar-btn.selected{border-color:var(--yellow);background:#fff9c4}.modal-input{width:100%;padding:12px 16px;font-size:1rem;font-family:Cairo,sans-serif;border:2px solid #e0e0e0;border-radius:var(--radius-md);margin-bottom:16px;text-align:center;transition:var(--transition)}.modal-input:focus{outline:none;border-color:var(--yellow)}.modal-actions{display:flex;gap:10px;flex-direction:column}.modal-btn{padding:12px 20px;border:none;border-radius:var(--radius-lg);font-family:Cairo,sans-serif;font-size:1rem;font-weight:700;cursor:pointer;transition:var(--transition);text-align:center}.modal-btn.primary{background:linear-gradient(135deg,var(--green) 0%,var(--green-light) 100%);color:#fff;box-shadow:0 3px 10px #4caf504d}.modal-btn.primary:hover:not(:disabled){transform:scale(1.02)}.modal-btn.primary:disabled{opacity:.5;cursor:not-allowed}.modal-btn.secondary{background:#f5f5f5;color:var(--text-medium)}.modal-btn.secondary:hover{background:#e0e0e0}.modal-btn.add-btn{background:#e3f2fd;color:#1976d2}.modal-btn.add-btn:hover{background:#bbdefb}.rewards-box{text-align:center}.rewards-head{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:20px}.rw-avatar{font-size:3.5rem}.rw-name{font-size:1.3rem;font-weight:900;color:var(--text-dark)}.rewards-stats{display:flex;justify-content:center;gap:24px;margin-bottom:24px;flex-wrap:wrap}.rw-stat{display:flex;flex-direction:column;align-items:center;gap:4px}.rw-num{font-size:1.8rem;font-weight:900;color:var(--yellow-dark)}.rw-stat label{font-size:.8rem;color:var(--text-medium)}.badges-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.badge-cell{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border-radius:var(--radius-sm);background:#f5f5f5}.badge-cell.earned{background:#fff9c4}.badge-cell.locked{opacity:.5}.bc-icon{font-size:1.5rem}.bc-label{font-size:.65rem;font-weight:600;color:var(--text-medium);text-align:center;line-height:1.2}@media (max-width: 400px){.modal-box{padding:20px 16px}.modal-title{font-size:1.2rem}.appearance-card{padding:10px 12px;min-width:80px}.appearance-card img{width:40px;height:40px}.badges-grid{grid-template-columns:repeat(3,1fr)}.avatar-grid{grid-template-columns:repeat(4,1fr)}.avatar-btn{font-size:1.6rem;padding:8px}}.pm-profile-wrapper{display:flex;flex-direction:column;width:100%}.profile-item{position:relative}.profile-item.pm-managing{border-color:#e67e22;background:#fff8f0}.pm-gear-btn{position:absolute;top:6px;left:6px;width:28px;height:28px;border-radius:50%;background:#0000000f;border:none;font-size:15px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;line-height:1;transition:background .15s}.pm-gear-btn:hover{background:#00000024}.pm-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.pm-action-btn{flex:1;padding:8px 6px;border-radius:10px;font-size:.8rem;font-weight:700;font-family:inherit;cursor:pointer;border:none;transition:opacity .15s}.pm-action-btn--replay{flex:1 1 100%;background:#e3f2fd;color:#1565c0;border:1.5px solid #64b5f6}.pm-action-btn--reset{background:#fff3cd;color:#856404;border:1.5px solid #ffc107}.pm-action-btn--delete{background:#fde8e8;color:#c0392b;border:1.5px solid #e74c3c}.pm-action-btn:hover{opacity:.8}.pm-confirm{margin-top:6px;background:#fff0f0;border:1.5px solid #e74c3c;border-radius:10px;padding:10px 12px;text-align:center}.pm-confirm-text{font-size:.82rem;font-weight:700;color:#c0392b;margin:0 0 8px;line-height:1.4}.pm-confirm-btns{display:flex;gap:8px;justify-content:center}.pm-confirm-yes,.pm-confirm-no{padding:6px 20px;border-radius:20px;font-size:.88rem;font-weight:800;font-family:inherit;cursor:pointer;border:none}.pm-confirm-yes{background:#e74c3c;color:#fff}.pm-confirm-no{background:#eee;color:#555}.cutscene-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:linear-gradient(160deg,#1a1a3e,#2d1b69,#1a3a5e);overflow:hidden}.cutscene-visual-layer{position:absolute;top:0;right:0;bottom:0;left:0}.cutscene-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#080614f0,#0806148c 14%,#08061400 30%);pointer-events:none}.cutscene-text-layer{position:absolute;z-index:2;left:0;right:0;bottom:96px;max-width:520px;width:100%;margin:0 auto;padding:0 20px;animation:cutscene-text-in .4s ease-out both}.cutscene-text{font-size:15px;font-weight:700;line-height:1.6;color:#fff;text-align:center;margin:0;text-shadow:0 2px 10px rgba(0,0,0,.8)}@keyframes cutscene-text-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.cutscene-controls{position:absolute;bottom:24px;left:0;right:0;z-index:3;display:flex;flex-direction:column;align-items:center;gap:10px}.cutscene-skip-btn{position:absolute;top:18px;right:18px;z-index:4;background:#00000047;border-radius:20px}.cutscene-continue-btn,.cutscene-next-btn{background:linear-gradient(135deg,gold,#ff8c00);color:#1a1a1a;border:none;border-radius:50px;padding:13px 30px;font-size:16px;font-weight:800;cursor:pointer;font-family:inherit;box-shadow:0 6px 20px #ffc80066;animation:cutscene-btn-in .35s ease-out both}.cutscene-continue-btn{animation:cutscene-btn-in .35s ease-out both,cutscene-btn-pulse 1.8s ease-in-out .35s infinite}@keyframes cutscene-btn-in{0%{opacity:0;transform:translateY(8px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes cutscene-btn-pulse{0%,to{box-shadow:0 6px 20px #ffc80066}50%{box-shadow:0 6px 30px #ffc800bf}}@keyframes cutscene-breathe-zoom{0%,to{transform:scale(1)}50%{transform:scale(1.07)}}.cutscene-shake{animation:cutscene-screen-shake .4s ease-in-out}@keyframes cutscene-screen-shake{0%,to{transform:translate(-50%)}20%{transform:translate(calc(-50% - 3px))}40%{transform:translate(calc(-50% + 3px))}60%{transform:translate(calc(-50% - 2px))}80%{transform:translate(calc(-50% + 2px))}}.cutscene-faris-scene,.cutscene-faris-popin,.cutscene-awaken-scene{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;animation:cutscene-visual-in .4s ease-out both}.cutscene-faris-scene svg,.cutscene-faris-popin svg{width:auto;height:55vh;max-height:480px}.cutscene-awaken-scene svg{width:auto;height:48vh;max-height:420px}@keyframes cutscene-visual-in{0%{opacity:0}to{opacity:1}}.cutscene-faris-popin{animation:cutscene-visual-in .4s ease-out both,cutscene-pop-in .5s cubic-bezier(.34,1.56,.64,1) both}@keyframes cutscene-pop-in{0%{transform:scale(.6)}to{transform:scale(1)}}.cutscene-bg-scene{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;animation:cutscene-visual-in .4s ease-out both}.cutscene-bg-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.cutscene-bg-image--breathe{animation:cutscene-breathe-zoom 16s ease-in-out infinite}.cutscene-bg-scene.cutscene-bg-image--breathe{animation:cutscene-visual-in .4s ease-out both,cutscene-breathe-zoom 16s ease-in-out infinite}.cutscene-bg-image--drift{animation:cutscene-drift-up 10s ease-in-out infinite}@keyframes cutscene-drift-up{0%,to{transform:translateY(0) scale(1.02)}50%{transform:translateY(-14px) scale(1.02)}}.cutscene-darken-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#05030e59;animation:cutscene-darken-in 1s ease-out both}@keyframes cutscene-darken-in{0%{opacity:0}to{opacity:1}}.cutscene-crossfade-top{opacity:0;transition:opacity 1.1s ease}.cutscene-crossfade-top--in{opacity:1}.cutscene-sparkle-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.cutscene-ambient-sparkle{position:absolute;width:6px;height:6px;border-radius:50%;background:radial-gradient(circle,#fff9d6,#fff9d600 70%);opacity:0;animation:cutscene-sparkle-twinkle 3.2s ease-in-out infinite}@keyframes cutscene-sparkle-twinkle{0%,to{opacity:0;transform:scale(.6)}50%{opacity:.9;transform:scale(1.3)}}@media (max-width: 420px){.cutscene-text{font-size:14px;line-height:1.55}.cutscene-text-layer{bottom:88px;padding:0 16px}.cutscene-faris-scene svg,.cutscene-faris-popin svg{height:42vh}.cutscene-awaken-scene svg{height:38vh}}.warriors-gate-glow{animation:gate-glow-pulse 2.6s ease-in-out infinite}@keyframes gate-glow-pulse{0%,to{opacity:.55}50%{opacity:.95}}.warriors-gate-ray{animation:gate-ray-pulse 3.2s ease-in-out infinite;transform-origin:center}.warriors-gate-ray:nth-child(2){animation-delay:.4s}.warriors-gate-ray:nth-child(3){animation-delay:.8s}@keyframes gate-ray-pulse{0%,to{opacity:.2}50%{opacity:.5}}.awakened-piece-body{fill:#8fa8bd;transition:fill 1.1s ease}.awakened-piece--awake .awakened-piece-body{fill:#f0c04a;animation:awakened-piece-bob 3s ease-in-out 1s infinite}@keyframes awakened-piece-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.awakened-piece-sparkle{opacity:0;transform:scale(.3);transform-box:fill-box;transform-origin:center}.awakened-piece--awake .awakened-piece-sparkle{animation:sparkle-burst .9s ease-out both}.awakened-piece-sparkle:nth-child(1){animation-delay:.05s}.awakened-piece-sparkle:nth-child(2){animation-delay:.15s}.awakened-piece-sparkle:nth-child(3){animation-delay:.1s}.awakened-piece-sparkle:nth-child(4){animation-delay:.22s}.awakened-piece-sparkle:nth-child(5){animation-delay:.02s}.awakened-piece-sparkle:nth-child(6){animation-delay:.18s}@keyframes sparkle-burst{0%{opacity:0;transform:scale(.3)}40%{opacity:1;transform:scale(1.15)}to{opacity:0;transform:scale(.6)}}.faris-wrapper{position:relative;display:inline-flex;align-items:flex-end;justify-content:center;cursor:default;-webkit-user-select:none;user-select:none;flex-shrink:0}.faris-wrapper[role=button]{cursor:pointer}.faris-glow-halo{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;border-radius:50%;background:radial-gradient(circle,#ffd7008c,#ffd70000 68%);animation:faris-glow-pulse 2.4s ease-in-out infinite;pointer-events:none;z-index:-1}@keyframes faris-glow-pulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}.faris-idle .faris-svg{animation:faris-float 2.8s ease-in-out infinite}.faris-happy .faris-svg{animation:faris-bounce .5s ease-out}.faris-celebrate .faris-svg{animation:faris-celebrate .9s ease-in-out}.faris-sad .faris-svg{animation:faris-droop .4s ease-out forwards}.faris-thinking .faris-svg{animation:faris-think 1.8s ease-in-out infinite}.faris-jump .faris-svg{animation:faris-jump .65s cubic-bezier(.33,1,.68,1)}@keyframes faris-float{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes faris-bounce{0%{transform:translateY(0) scaleY(1) scaleX(1)}20%{transform:translateY(0) scaleY(.88) scaleX(1.12)}50%{transform:translateY(-22px) scaleY(1.05) scaleX(.97)}75%{transform:translateY(-8px) scaleY(1.08) scaleX(.95)}to{transform:translateY(0) scaleY(1) scaleX(1)}}@keyframes faris-celebrate{0%{transform:translateY(0) rotate(0) scale(1)}15%{transform:translateY(-28px) rotate(-12deg) scale(1.12)}35%{transform:translateY(-18px) rotate(12deg) scale(1.16)}55%{transform:translateY(-32px) rotate(-6deg) scale(1.1)}75%{transform:translateY(-12px) rotate(6deg) scale(1.05)}to{transform:translateY(0) rotate(0) scale(1)}}@keyframes faris-droop{0%{transform:translateY(0) rotate(0)}to{transform:translateY(6px) rotate(-10deg)}}@keyframes faris-think{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@keyframes faris-jump{0%{transform:translateY(0) scaleX(1) scaleY(1)}8%{transform:translateY(0) scaleX(1.1) scaleY(.88)}45%{transform:translateY(-45px) scaleX(.95) scaleY(1.05)}80%{transform:translateY(-6px) scaleX(1.06) scaleY(.94)}to{transform:translateY(0) scaleX(1) scaleY(1)}}.faris-speech-bubble{position:absolute;bottom:calc(100% + 10px);right:-10px;background:#fff;border-radius:18px 18px 4px;padding:9px 14px;font-size:13px;font-weight:700;color:#2a1005;box-shadow:0 4px 16px #0000002e;border:2px solid rgba(107,62,32,.15);max-width:200px;white-space:normal;line-height:1.4;text-align:right;z-index:10;animation:bubble-in .25s ease-out}.faris-speech-bubble:after{content:"";position:absolute;bottom:-9px;right:18px;border:5px solid transparent;border-top-color:#fff;border-bottom:none}@keyframes bubble-in{0%{opacity:0;transform:scale(.85) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}.faris-corner{position:fixed;bottom:20px;left:16px;z-index:50;filter:drop-shadow(0 4px 12px rgba(0,0,0,.25))}[dir=rtl] .faris-corner{left:auto;right:16px}.faris-corner .faris-svg{transform:scaleX(-1)}.faris-corner .faris-speech-bubble{right:auto;left:-10px;border-radius:18px 18px 18px 4px;text-align:right}.faris-corner .faris-speech-bubble:after{right:auto;left:18px;border-top-color:#fff}.app-header{background:var(--yellow);box-shadow:0 2px 10px #c88c0059;position:sticky;top:0;z-index:100}.header-bar{display:flex;align-items:center;gap:8px;padding:0 12px;height:52px}.header-brand{display:flex;align-items:center;gap:6px;flex-shrink:0}.mascot{font-size:1.55rem;line-height:1;filter:drop-shadow(0 1px 3px rgba(0,0,0,.18))}.brand-text{display:flex;flex-direction:column;line-height:1.15}.brand-name{font-size:.95rem;font-weight:900;color:var(--text-dark);white-space:nowrap}.brand-sub{font-size:.62rem;font-weight:600;color:#6b5900;white-space:nowrap}.mode-tabs{flex:1;display:flex;align-items:center;justify-content:center;gap:4px}.mode-btn{display:flex;align-items:center;gap:5px;background:#ffffff47;border:none;border-radius:20px;cursor:pointer;font-family:Cairo,sans-serif;font-size:.82rem;font-weight:700;color:#5a4500;padding:6px 12px;text-decoration:none;white-space:nowrap;transition:background .18s,color .18s,transform .15s;flex-shrink:0}.mode-btn:hover:not(.active){background:#ffffff80}.mode-btn.active{background:#fff;color:var(--text-dark);box-shadow:0 1px 6px #00000026}.tab-emoji{font-size:1rem;line-height:1}.header-actions{display:flex;align-items:center;gap:5px;flex-shrink:0}.header-icon-btn{background:#ffffff52;border:none;border-radius:50%;cursor:pointer;font-size:1.05rem;width:34px;height:34px;display:flex;align-items:center;justify-content:center;transition:background .18s,transform .15s;flex-shrink:0}.header-icon-btn:hover{background:#fff9;transform:scale(1.1)}.profile-chip{border:2px solid rgba(255,255,255,.75)}.sound-btn.muted{background:#0000001f;opacity:.7}.session-bar{display:flex;align-items:center;gap:8px;padding:4px 14px 6px;font-size:.75rem;font-weight:700;color:#5a4500}.session-label{white-space:nowrap;flex-shrink:0;opacity:.75}.session-track{flex:1;height:7px;background:#ffffff80;border-radius:4px;overflow:hidden;min-width:40px}.session-fill{height:100%;background:linear-gradient(90deg,#4caf50,#81c784);border-radius:4px;width:0%;transition:width .5s ease}.session-stars{white-space:nowrap;flex-shrink:0;font-size:.8rem}@media (max-width: 768px){.header-icon-btn{width:36px;height:36px;font-size:1.2rem}.header-actions{gap:4px}}@media (max-width: 520px){.header-bar{padding:0 8px;height:48px;gap:5px}.brand-sub,.tab-label{display:none}.mode-btn{padding:6px;border-radius:50%;width:34px;height:34px;justify-content:center;gap:0;font-size:.82rem}.session-bar{padding:3px 12px 5px;font-size:.72rem;gap:7px}.session-stars{font-size:.74rem}}@media (max-width: 380px){.brand-text{display:none}.mascot{font-size:1.3rem}.mode-btn{width:30px;height:30px}.header-icon-btn{width:36px;height:36px;font-size:1.1rem}.header-actions{gap:3px}.session-bar{padding:3px 8px 5px;font-size:.68rem;gap:5px}}.app-layout{height:100dvh;overflow:hidden;display:flex;flex-direction:column;background:var(--bg-main)}.app-main{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;padding:20px 16px 0;width:100%}.lesson-intro{display:flex;flex-direction:column;align-items:center;padding:16px;max-width:400px;margin:0 auto;width:100%;box-sizing:border-box}.intro-back-btn{align-self:flex-start;background:var(--blue);border:none;color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;padding:8px 14px;margin-bottom:12px;border-radius:8px;transition:all .2s;box-shadow:0 2px 8px #42a5f54d}.intro-back-btn:hover{background:#1e88e5;transform:translateY(-1px)}.intro-card{display:flex;flex-direction:column;align-items:center;gap:12px;background:var(--bg-card);border-radius:var(--radius-lg);padding:24px 20px;box-shadow:var(--shadow-card);width:100%;text-align:center;animation:bounce-in .35s ease}.intro-piece-img{width:90px;height:90px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.22));animation:float-piece 3s ease-in-out infinite}@keyframes float-piece{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.intro-emoji{font-size:4rem;line-height:1}.intro-name{font-size:1.6rem;font-weight:900;color:var(--yellow-dark);margin:0}.intro-text{font-size:.95rem;line-height:1.7;color:var(--text-medium);margin:0;white-space:pre-line}.intro-start-btn{background:linear-gradient(135deg,var(--green) 0%,var(--green-light) 100%);color:#fff;border:none;border-radius:var(--radius-lg);padding:14px 36px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 12px #4caf504d;margin-top:8px}.intro-start-btn:hover{transform:scale(1.05);box-shadow:0 6px 18px #4caf5066}.intro-start-btn:active{transform:scale(.98)}@media (max-width: 400px){.lesson-intro{padding:12px}.intro-card{padding:20px 16px}.intro-piece-img{width:70px;height:70px}.intro-emoji{font-size:3rem}.intro-name{font-size:1.3rem}.intro-text{font-size:.85rem}.intro-start-btn{padding:12px 28px;font-size:1rem}}.chess-board-container{display:flex;flex-direction:column;align-items:center;direction:ltr!important}.chess-board-container *{direction:ltr!important}.chess-board-wrapper{line-height:0;position:relative}.piece-fx-overlay{position:absolute;pointer-events:none;z-index:20}@keyframes piece-landing-settle{0%{transform:scale(1)}50%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes piece-capture-pop{0%{transform:scale(1);opacity:1}35%{transform:scale(1.15);opacity:1}to{transform:scale(0);opacity:0}}@keyframes piece-invalid-shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.board-row{display:flex;align-items:flex-start}.board-label{font-family:Cairo,sans-serif;font-size:.75rem;font-weight:700;color:var(--text-medium);display:flex;align-items:center;justify-content:center}.board-labels-top,.board-labels-bottom{display:flex}.board-labels-top{margin-bottom:2px}.board-labels-bottom{margin-top:2px}.file-label{text-align:center}.board-labels-side{display:flex;flex-direction:column;padding:0 6px}.rank-label{display:flex;align-items:center;justify-content:center}.chess-board-container.hide-labels .board-labels-top,.chess-board-container.hide-labels .board-labels-bottom,.chess-board-container.hide-labels .board-labels-side{visibility:hidden}.promo-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#00000073;padding:16px}.promo-picker-overlay--inline{position:absolute}.promo-picker-card{background:#fff;border-radius:var(--radius-lg, 22px);padding:20px;max-width:340px;width:100%;box-shadow:0 12px 32px #0000004d;text-align:center}.promo-picker-title{font-size:1.05rem;font-weight:800;color:var(--text-medium, #555);margin:0 0 16px}.promo-picker-options{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.promo-picker-btn{display:flex;flex-direction:column;align-items:center;gap:4px;background:#f5f5f5;border:2px solid #e0e0e0;border-radius:14px;padding:10px 4px;font-family:inherit;cursor:pointer;transition:background .15s,transform .1s}.promo-picker-btn:hover,.promo-picker-btn:active{background:#fff3cd;border-color:gold;transform:scale(1.05)}.promo-picker-img{width:40px;height:40px;object-fit:contain;pointer-events:none}.promo-picker-label{font-size:.75rem;font-weight:700;color:var(--text-medium, #555)}.lesson-challenge{display:flex;flex-direction:column;align-items:center;padding:8px;width:100%;max-width:500px;margin:0 auto;box-sizing:border-box}@media (min-width: 1024px){.lesson-challenge{max-width:680px}}.challenge-header{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:8px;gap:8px}.challenge-exit-btn{background:#f0f0f0;border:none;height:36px;padding:0 14px;border-radius:20px;font-size:.9rem;font-weight:700;font-family:inherit;white-space:nowrap;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .18s;color:var(--text-medium);flex-shrink:0}.challenge-exit-btn:hover{background:var(--red);color:#fff}.challenge-progress{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:center}.step-dot{width:10px;height:10px;border-radius:50%;background:#ddd;border:2px solid #bbb;transition:all .3s;flex-shrink:0}.step-dot.done{background:var(--green);border-color:#388e3c}.step-dot.current{background:var(--yellow);border-color:var(--yellow-dark);transform:scale(1.3);box-shadow:0 0 0 3px #ffd70066}.challenge-hint-btn{background:#fff8e1;border:2px solid var(--yellow);width:36px;height:36px;border-radius:50%;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .18s;flex-shrink:0}.challenge-hint-btn:hover,.challenge-hint-btn.active{background:var(--yellow);transform:scale(1.1)}.challenge-piece-info{display:flex;align-items:center;gap:8px;margin-bottom:4px}.challenge-piece-img{width:32px;height:32px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.challenge-piece-name{font-size:.95rem;font-weight:700;color:var(--text-dark)}.challenge-lesson-title{font-size:.95rem;font-weight:800;text-align:center;color:var(--text-dark);margin:0 0 6px;line-height:1.3}.challenge-hint{font-size:.85rem;font-weight:600;text-align:center;color:var(--text-dark);margin:0 0 8px;line-height:1.4;padding:6px 12px;background:#fffde7;border:2px solid var(--yellow);border-radius:var(--radius-md);width:100%;box-sizing:border-box}.challenge-board{transition:transform .1s;width:100%;display:flex;justify-content:center}.challenge-board.shake{animation:shake .4s ease-in-out}.challenge-feedback{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:200;pointer-events:none}.feedback-emoji{font-size:4rem;filter:drop-shadow(0 4px 16px rgba(0,0,0,.2));animation:pop-in .3s ease-out}@keyframes pop-in{0%{transform:scale(0);opacity:0}70%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.challenge-explain{font-size:.9rem;text-align:center;color:var(--green);margin-top:12px;font-weight:600;animation:fade-in .3s ease-out;background:#4caf501a;padding:10px 16px;border-radius:var(--radius-md);width:100%;box-sizing:border-box}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 400px){.lesson-challenge{padding:8px}.challenge-hint{font-size:.85rem;padding:8px 12px}.step-dot{width:8px;height:8px}.challenge-hint-btn{width:32px;height:32px;font-size:1rem}.challenge-exit-btn{height:32px;padding:0 11px;font-size:.82rem}.feedback-emoji{font-size:3rem}}.explore-dots{display:flex;gap:6px;align-items:center;justify-content:center;flex-wrap:wrap;margin-bottom:4px;padding:2px 8px}.explore-dot{width:12px;height:12px;border-radius:50%;border:2px solid #bbb;background:transparent;transition:background .25s,border-color .25s,transform .2s;flex-shrink:0}.explore-dot.filled{background:var(--green);border-color:#388e3c;transform:scale(1.15);box-shadow:0 0 6px #4caf5080}.board-overlay-wrapper{position:relative;display:inline-block}.board-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;border-radius:4px}.floating-effect{position:absolute;transform:translate(-50%,-50%);font-size:1.4rem;pointer-events:none;animation:star-float 1.1s ease-out forwards;line-height:1}@keyframes star-float{0%{opacity:1;transform:translate(-50%,-50%) scale(.5)}30%{opacity:1;transform:translate(-50%,-80%) scale(1.3)}to{opacity:0;transform:translate(-50%,-140%) scale(.8)}}.floating-effect.spark:nth-child(1){animation:spark-0 .65s ease-out forwards}.floating-effect.spark:nth-child(2){animation:spark-1 .65s ease-out forwards}.floating-effect.spark:nth-child(3){animation:spark-2 .65s ease-out forwards}.floating-effect.spark:nth-child(4){animation:spark-3 .65s ease-out forwards}@keyframes spark-0{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(calc(-50% + 30px),calc(-50% - 30px)) scale(.3)}}@keyframes spark-1{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(calc(-50% - 30px),calc(-50% - 30px)) scale(.3)}}@keyframes spark-2{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(calc(-50% + 30px),calc(-50% + 30px)) scale(.3)}}@keyframes spark-3{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(calc(-50% - 30px),calc(-50% + 30px)) scale(.3)}}.floating-effect.burst{font-size:1.6rem;animation:none}.floating-effect.burst.b-0{animation:burst-0 1.1s ease-out forwards}.floating-effect.burst.b-1{animation:burst-1 1.1s ease-out forwards}.floating-effect.burst.b-2{animation:burst-2 1.1s ease-out forwards}.floating-effect.burst.b-3{animation:burst-3 1.1s ease-out forwards}.floating-effect.burst.b-4{animation:burst-4 1.1s ease-out forwards}.floating-effect.burst.b-5{animation:burst-5 1.1s ease-out forwards}.floating-effect.burst.b-6{animation:burst-6 1.1s ease-out forwards}.floating-effect.burst.b-7{animation:burst-7 1.1s ease-out forwards}.floating-effect.burst.b-8{animation:burst-8 1.1s ease-out forwards}.floating-effect.burst.b-9{animation:burst-9 1.1s ease-out forwards}.floating-effect.burst.b-10{animation:burst-10 1.1s ease-out forwards}.floating-effect.burst.b-11{animation:burst-11 1.1s ease-out forwards}@keyframes burst-0{0%{opacity:1;transform:translate(-50%,-50%) scale(.5)}to{opacity:0;transform:translate(calc(-50% + 0px),calc(-50% - 90px)) scale(1.1)}}@keyframes burst-1{0%{opacity:1;transform:translate(-50%,-50%) scale(.5)}to{opacity:0;transform:translate(calc(-50% + 46px),calc(-50% - 78px)) scale(1.1)}}@keyframes burst-2{0%{opacity:1;transform:translate(-50%,-50%) scale(.5)}to{opacity:0;transform:translate(calc(-50% + 78px),calc(-50% - 46px)) scale(1.1)}}@keyframes burst-3{0%{opacity:1;transform:translate(-50%,-50%) scale(.5)}to{opacity:0;transform:translate(calc(-50% + 90px),calc(-50% + 0px)) scale(1.1)}}@keyframes burst-4{0%{opacity:1;transform:translate(-50%,-50%) scale(.5)}to{opacity:0;transform:translate(calc(-50% + 78px),calc(-50% + 46px)) scale(1.1)}}@keyframes burst-5{0%{opacity:1;transform:translate(-50%,-50%) scale(.5)}to{opacity:0;transform:translate(calc(-50% + 46px),calc(-50% + 78px)) scale(1.1)}}@keyframes burst-6{0%{opacity:1;transform:translate(-50%,-50%) scale(.5)}to{opacity:0;transform:translate(calc(-50% + 0px),calc(-50% + 90px)) scale(1.1)}}@keyframes burst-7{0%{opacity:1;transform:translate(-50%,-50%) scale(.5)}to{opacity:0;transform:translate(calc(-50% - 46px),calc(-50% + 78px)) scale(1.1)}}@keyframes burst-8{0%{opacity:1;transform:translate(-50%,-50%) scale(.5)}to{opacity:0;transform:translate(calc(-50% - 78px),calc(-50% + 46px)) scale(1.1)}}@keyframes burst-9{0%{opacity:1;transform:translate(-50%,-50%) scale(.5)}to{opacity:0;transform:translate(calc(-50% - 90px),calc(-50% + 0px)) scale(1.1)}}@keyframes burst-10{0%{opacity:1;transform:translate(-50%,-50%) scale(.5)}to{opacity:0;transform:translate(calc(-50% - 78px),calc(-50% - 46px)) scale(1.1)}}@keyframes burst-11{0%{opacity:1;transform:translate(-50%,-50%) scale(.5)}to{opacity:0;transform:translate(calc(-50% - 46px),calc(-50% - 78px)) scale(1.1)}}.explore-celebration{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:300;pointer-events:none;animation:fade-in .25s ease-out}.explore-celebration-card{background:#fffffff5;border-radius:24px;padding:28px 40px;text-align:center;box-shadow:0 8px 40px #0000002e;animation:pop-in .35s cubic-bezier(.34,1.56,.64,1)}.explore-celebration-emoji{font-size:3.5rem;display:block;margin-bottom:8px}.explore-celebration-msg{font-size:1.8rem;font-weight:900;color:var(--green);margin:0}.explore-celebration-card.gift{background:linear-gradient(135deg,#fff8e1,#ffe0b2);border:3px solid #ff9800}.explore-celebration-card.gift .explore-celebration-msg{color:#e65100}.explore-celebration-sub{font-size:1.2rem;margin:6px 0 0;color:#bf360c;font-weight:700}.treasure-icon{position:absolute;transform:translate(-50%,-50%);font-size:1.8rem;pointer-events:none;animation:treasure-float 1.8s ease-in-out infinite;filter:drop-shadow(0 2px 6px rgba(0,0,0,.25));z-index:10}.treasure-icon.opening{animation:treasure-open .5s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes treasure-float{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-62%) scale(1.12)}}@keyframes treasure-open{0%{transform:translate(-50%,-50%) scale(1) rotate(0);opacity:1}30%{transform:translate(-50%,-50%) scale(1.3) rotate(-15deg);opacity:1}60%{transform:translate(-50%,-50%) scale(1.7) rotate(10deg);opacity:1}to{transform:translate(-50%,-80%) scale(2.2) rotate(0);opacity:0}}.target-star-icon{position:absolute;transform:translate(-50%,-50%);font-size:1.6rem;pointer-events:none;animation:target-star-float 1.6s ease-in-out infinite;filter:drop-shadow(0 2px 8px rgba(255,215,0,.6));z-index:10}@keyframes target-star-float{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-62%) scale(1.15)}}@keyframes piece-pulse{0%,to{box-shadow:inset 0 0 0 3px #ffc80099,0 0 0 4px #ffc80040}50%{box-shadow:inset 0 0 0 3px #ffc800,0 0 0 8px #ffc80080}}.challenge-nav-btn{background:none;border:none;font-size:1.4rem;font-weight:700;color:var(--text-medium, #888);cursor:pointer;padding:0 4px;line-height:1;transition:color .15s;flex-shrink:0}.challenge-nav-btn:hover{color:var(--text-dark, #333)}.yesno-buttons{display:flex;gap:16px;margin-top:16px;justify-content:center;width:100%}.btn-yesno{flex:1;max-width:160px;padding:16px 8px;border:none;border-radius:16px;font-size:1.3rem;font-weight:800;font-family:inherit;cursor:pointer;transition:transform .1s,box-shadow .1s;box-shadow:0 4px #00000026}.btn-yesno:active{transform:translateY(3px);box-shadow:0 1px #00000026}.btn-yesno-yes{background:#4caf50;color:#fff}.btn-yesno-no{background:#f44336;color:#fff}.lesson-complete{display:flex;align-items:center;justify-content:center;padding:16px;min-height:50vh}.complete-card{display:flex;flex-direction:column;align-items:center;gap:12px;background:var(--bg-card);border-radius:var(--radius-lg);padding:28px 24px;box-shadow:0 6px 30px #00000024;max-width:340px;width:100%;text-align:center;animation:bounce-in .4s ease}.complete-emoji{font-size:3.5rem;animation:trophy-bounce 1s ease-in-out infinite}.complete-title{font-size:1.5rem;font-weight:900;margin:0;color:var(--yellow-dark)}.complete-message{font-size:.95rem;color:var(--text-medium);margin:0;line-height:1.5}.complete-stars{display:flex;justify-content:center;gap:6px;margin:8px 0 12px;flex-wrap:wrap}.star-earned{font-size:1.8rem;animation:star-pop .4s ease-out both}@keyframes star-pop{0%{transform:scale(0) rotate(-180deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.complete-actions{display:flex;flex-direction:column;gap:10px;width:100%}.complete-btn{padding:12px 20px;border-radius:var(--radius-lg);font-size:1rem;font-weight:700;cursor:pointer;transition:transform .15s,box-shadow .15s;border:none}.complete-btn.primary{background:linear-gradient(135deg,var(--green) 0%,var(--green-light) 100%);color:#fff;box-shadow:0 4px 12px #4caf504d}.complete-btn.primary:hover{transform:scale(1.02);box-shadow:0 6px 18px #4caf5066}.complete-btn.secondary{background:#f5f5f5;color:var(--text-medium)}.complete-btn.secondary:hover{background:#e0e0e0}@media (max-width: 400px){.complete-card{padding:24px 16px}.complete-emoji{font-size:2.8rem}.complete-title{font-size:1.3rem}.complete-message{font-size:.85rem}.star-earned{font-size:1.5rem}.complete-btn{padding:10px 16px;font-size:.9rem}}.level-path-bar{display:flex;align-items:flex-start;overflow-x:auto;padding:12px 14px 10px;scrollbar-width:none;-ms-overflow-style:none;width:100%;box-sizing:border-box;background:var(--bg-card);border-bottom:1px solid #e8e4d8;flex-shrink:0}.level-path-bar::-webkit-scrollbar{display:none}.level-step{display:flex;flex-direction:column;align-items:center;gap:5px;flex-shrink:0}.level-connector{width:14px;height:3px;background:#ddd;flex-shrink:0;margin-top:23px;transition:background .3s}.level-connector.done{background:var(--green)}.level-bubble{display:flex;align-items:center;justify-content:center;background:#f5f2e8;border:2.5px solid #d5cdb8;border-radius:50%;width:48px;height:48px;padding:0;cursor:pointer;transition:all .2s;flex-shrink:0;overflow:hidden}.level-bubble:not(:disabled):hover{transform:scale(1.1);border-color:var(--blue)}.level-bubble.done{background:#4caf502e;border-color:var(--green)}.level-bubble.current{border-color:var(--yellow-dark, #d4a000);box-shadow:0 0 0 3px #ffc80066;transform:scale(1.12)}.level-bubble.locked{opacity:.38;cursor:not-allowed}.bubble-piece-img{width:34px;height:34px;object-fit:contain}.bubble-icon{font-size:1.25rem;line-height:1}.bubble-label{font-size:.52rem;font-weight:700;color:var(--text-dark);text-align:center;white-space:nowrap;max-width:54px;overflow:hidden;text-overflow:ellipsis;font-family:Cairo,sans-serif}@media (max-width: 400px){.level-bubble{width:38px;height:38px}.level-connector{width:10px;margin-top:18px}.bubble-piece-img{width:26px;height:26px}.bubble-icon{font-size:1rem}.bubble-label{font-size:.48rem;max-width:42px}}.pmp-root{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px 12px;min-height:100%}.pmp-header{display:flex;align-items:center;gap:10px}.pmp-piece-img{width:48px;height:48px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.3))}.pmp-piece-name{font-size:1.4rem;font-weight:700;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.4);font-family:Tajawal,Cairo,sans-serif}.pmp-direction-label{font-size:1.05rem;font-weight:600;color:gold;text-align:center;min-height:1.5em;text-shadow:0 1px 4px rgba(0,0,0,.5);font-family:Tajawal,Cairo,sans-serif;transition:opacity .25s}.pmp-board-wrapper{position:relative;border-radius:10px;overflow:hidden;flex-shrink:0}.pmp-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10;overflow:visible}.pmp-skip-btn{margin-top:4px;padding:10px 28px;border:none;border-radius:24px;background:#ffffff26;color:#fff;font-size:1rem;font-weight:600;font-family:Tajawal,Cairo,sans-serif;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .2s,transform .15s}.pmp-skip-btn:active{transform:scale(.96)}.pmp-skip-btn:hover{background:#ffffff40}.pmp-countdown-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:20;background:#0000002e;border-radius:10px}.pmp-countdown-number{font-size:5rem;font-weight:900;color:gold;text-shadow:0 0 20px rgba(255,215,0,.8),0 4px 16px rgba(0,0,0,.6);animation:pmp-countdown-pop .4s cubic-bezier(.34,1.56,.64,1) both;font-family:Tajawal,Cairo,system-ui,sans-serif}@keyframes pmp-draw-ray{0%{stroke-dashoffset:var(--ray-len)}to{stroke-dashoffset:0}}@keyframes pmp-dot-appear{0%{opacity:0;transform:scale(.2)}60%{transform:scale(1.25)}to{opacity:1;transform:scale(1)}}@keyframes pmp-countdown-pop{0%{opacity:0;transform:scale(.4)}70%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.cpl-status-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin-bottom:8px}.cpl-turn-badge{font-size:.85rem;font-weight:700;color:var(--text-medium);background:#f0f0f0;border-radius:20px;padding:4px 14px}.cpl-attempts{font-size:.88rem;font-weight:600;color:var(--text-medium);text-align:center;margin-top:8px}.cpl-replay-demo-btn{background:#f5f5f5;border:2px solid #e0e0e0;border-radius:var(--radius-lg);padding:6px 16px;font-size:.82rem;font-weight:700;font-family:inherit;color:var(--text-medium);cursor:pointer;transition:background .15s,transform .1s}.cpl-replay-demo-btn:hover{background:#e8e8e8;transform:scale(1.02)}.wpm-root{flex:1;min-height:0;display:flex;flex-direction:column;background:linear-gradient(180deg,#0e0a1e,#0d1b2a 20%,#1b2838,#162032);overflow-y:auto;overflow-x:hidden;margin:-20px -16px 0;width:calc(100% + 32px)}.wpm-header{position:sticky;top:0;z-index:10;padding:16px 16px 10px;border-bottom:1px solid rgba(255,255,255,.07);background:linear-gradient(180deg,#0e0a1e,#0d1b2a);flex-shrink:0}.wpm-header-row{display:flex;align-items:center;gap:10px}.wpm-back-btn{background:#ffffff1a;border:none;color:#ffffffd9;padding:7px 14px;border-radius:20px;font-size:.82rem;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background .15s;flex-shrink:0}.wpm-back-btn:hover{background:#ffffff2e}.wpm-title-info{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.wpm-title-emoji{font-size:1.4rem;flex-shrink:0}.wpm-title-name{font-size:1rem;font-weight:800;color:var(--wpm-accent, #FFD700);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wpm-progress-badge{font-size:.78rem;font-weight:800;color:var(--wpm-accent, #FFD700);background:#ffd7001f;border:1px solid rgba(255,215,0,.3);border-radius:20px;padding:3px 10px;white-space:nowrap;flex-shrink:0}.wpm-title-desc{font-size:.78rem;color:#fff6;margin:8px 0 0;line-height:1.4}.wpm-empty{flex:1;display:flex;align-items:center;justify-content:center;padding:60px 24px;text-align:center;color:#ffffff80;font-size:.95rem}.wpm-path-wrapper{width:100%;max-width:420px;padding:0 8px;box-sizing:border-box;align-self:center}.wpm-path-area{position:relative;width:100%;padding-bottom:40px;box-sizing:border-box}.wpm-path-svg{display:block;width:100%;height:auto}.wpm-node-wrapper{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:5px;z-index:2}.wpm-node-circle{--node-size: 68px;width:var(--node-size);height:var(--node-size);border-radius:50%;border:3px solid rgba(255,255,255,.15);background:#0a1424ed;display:flex;align-items:center;justify-content:center;cursor:pointer;font-family:inherit;padding:0;-webkit-tap-highlight-color:transparent;transition:transform .14s,box-shadow .14s}.wpm-node-circle:not(:disabled):hover{transform:scale(1.08)}.wpm-node-circle:not(:disabled):active{transform:scale(.94)}.wpm-node-circle--active,.wpm-node-circle--complete{border-color:var(--wpm-accent, #FFD700);background:#0a1424f5;box-shadow:0 4px 20px #00000080,0 0 0 1px var(--wpm-accent, #FFD700) inset}.wpm-node-circle--locked{opacity:.35;filter:grayscale(70%);cursor:not-allowed}.wpm-node-circle--current{animation:wpm-node-pulse 2.4s ease-in-out infinite}@keyframes wpm-node-pulse{0%,to{box-shadow:0 4px 20px #00000073,0 0 8px var(--wpm-accent, #FFD700)}50%{box-shadow:0 4px 20px #00000073,0 0 28px var(--wpm-accent, #FFD700)}}.wpm-node-emoji{font-size:26px;line-height:1;pointer-events:none}.wpm-star-badge{position:absolute;top:-6px;right:-8px;font-size:11px;font-weight:900;color:gold;background:#0a1424e0;border:1.5px solid #FFD700;border-radius:20px;padding:1px 5px;line-height:1.4;white-space:nowrap;pointer-events:none;text-shadow:0 0 6px rgba(255,215,0,.6)}.wpm-node-label{font-size:13px;font-weight:800;color:#fff;text-align:center;max-width:90px;line-height:1.2;text-shadow:0 1px 6px rgba(0,0,0,.9);pointer-events:none}.wpm-node-label--locked{color:#ffffff59;font-weight:600}.wpm-node-sublabel{font-size:11px;font-weight:600;color:#fff6;text-align:center;max-width:90px;line-height:1.2;pointer-events:none}.wpm-faris-wrapper{position:absolute;transform:translate(-50%,-50%);z-index:3;pointer-events:none;animation:wpm-faris-bounce 1.8s ease-in-out infinite}@keyframes wpm-faris-bounce{0%,to{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-7px)}}@media (max-width: 767px){.wpm-node-circle{--node-size: 58px}.wpm-node-emoji{font-size:22px}.wpm-node-label{font-size:12px;max-width:78px}.wpm-node-sublabel{font-size:10px;max-width:78px}}.dmp-root{display:flex;flex-direction:column;align-items:center;gap:14px;padding:16px}.dmp-board-wrapper{position:relative;border-radius:12px;overflow:hidden}.dmp-subtitle{max-width:420px;text-align:center;font-size:1.15rem;font-weight:600;color:var(--text-dark);line-height:1.5;min-height:2.6em;margin:0}.dmp-controls{display:flex;align-items:center;gap:14px}.dmp-skip-btn{background:transparent;border:none;color:var(--text-light);font-size:.95rem;padding:10px;cursor:pointer}.dmp-next-btn{background:linear-gradient(135deg,gold,orange);border:none;border-radius:999px;padding:12px 28px;font-size:1.05rem;font-weight:700;color:#402a00;cursor:pointer;box-shadow:0 4px 14px #ffa50066}.dmp-next-btn:active{transform:scale(.97)}.cpl-spacer{visibility:hidden;pointer-events:none}.judge-context-text{text-align:center;font-style:italic;color:var(--text-medium);font-size:.95rem;margin:0 0 6px}.judge-question{text-align:center;font-size:1.15rem;font-weight:700;margin:10px 0}.judge-buttons{display:flex;justify-content:center;gap:16px;margin-top:8px}.btn-judge{border:none;border-radius:var(--radius-lg);padding:14px 22px;font-size:1.1rem;font-weight:800;font-family:inherit;cursor:pointer;min-width:130px;transition:transform .1s}.btn-judge:active{transform:scale(.96)}.btn-judge-yes{background:linear-gradient(135deg,#4caf50,#2e7d32);color:#fff}.btn-judge-no{background:linear-gradient(135deg,#f44336,#c62828);color:#fff}.judge-reason-prompt{text-align:center;font-size:1.05rem;font-weight:700;color:var(--orange);margin-top:8px}.judge-attempts{font-size:.88rem;font-weight:600;color:var(--text-medium);text-align:center;margin-top:8px}.rules-lesson .challenge-feedback{position:static;transform:none;z-index:auto;display:flex;flex-direction:column;align-items:center;margin-top:14px;pointer-events:auto}.rules-lesson .challenge-explain{color:var(--text-dark);background:#4caf502e;border:1px solid rgba(76,175,80,.45)}.judge-replay-btn{margin-top:10px;background:#f5f5f5;border:2px solid #e0e0e0;border-radius:var(--radius-lg);padding:8px 18px;font-size:.88rem;font-weight:700;font-family:inherit;cursor:pointer;transition:background .15s,transform .1s}.judge-replay-btn:hover{background:#e8e8e8;transform:scale(1.02)}.judge-replay-btn:active{transform:scale(.96)}@keyframes w2c-approach-zoom{0%{transform:scale(1);filter:brightness(1) saturate(1)}to{transform:scale(1.14);filter:brightness(1.35) saturate(1.15)}}.w2c-gate-approach{animation:w2c-approach-zoom 3s ease-in both}.w2c-gate-fallback-bright{filter:brightness(1.45) saturate(1.2)}@keyframes w2c-flash-fade{0%{opacity:.92}to{opacity:0}}.w2c-flash-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;background:radial-gradient(circle,#fffadcf2,#ffd70080 45%,#ffd70000 75%);animation:w2c-flash-fade .38s ease-out both;pointer-events:none}.kingdom-map{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;background:linear-gradient(180deg,#0e0a1e,#0d1b2a 18%,#1b2838 58%,#162032);padding:16px 0 40px;overflow-y:auto;overflow-x:hidden;position:relative;margin:-20px -16px 0;width:calc(100% + 32px)}.map-header{width:100%;max-width:420px;padding:0 16px 14px;box-sizing:border-box}.map-title-row{display:flex;align-items:center;justify-content:space-between}.map-title{font-size:24px;font-weight:900;color:gold;margin:0;text-shadow:0 2px 12px rgba(255,215,0,.4)}.map-streak{display:flex;align-items:center;gap:4px;background:#ff640033;border:1px solid rgba(255,100,0,.4);border-radius:40px;padding:5px 12px;font-size:15px;font-weight:800;color:#ff8c00}.map-companions{display:flex;align-items:center;gap:6px;margin-top:8px;flex-wrap:wrap}.companions-label{font-size:12px;color:#ffffff80}.companion-badge{font-size:22px;animation:companion-float 2.5s ease-in-out infinite}.companion-badge:nth-child(2){animation-delay:.3s}.companion-badge:nth-child(3){animation-delay:.6s}.companion-badge:nth-child(4){animation-delay:.9s}.companion-badge:nth-child(5){animation-delay:1.2s}@keyframes companion-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.map-path-wrapper{width:100%;max-width:420px;padding:0 8px;box-sizing:border-box}.map-path-area{position:relative;width:100%;padding-bottom:50px;box-sizing:border-box}.map-path-svg{display:block;width:100%;height:auto}.map-node-wrapper{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:6px;z-index:2}.map-chapter-circle{--node-size: 80px;--accent: #FFD700;width:var(--node-size);height:var(--node-size);border-radius:50%;border:3px solid rgba(255,255,255,.18);background:#0a1424ed;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;font-family:inherit;padding:0;-webkit-tap-highlight-color:transparent;transition:transform .14s ease,box-shadow .14s ease}.map-chapter-circle:not(:disabled):hover{transform:scale(1.08)}.map-chapter-circle:not(:disabled):active{transform:scale(.94)}.map-chapter-circle--active,.map-chapter-circle--complete{border-color:var(--accent);background:#0a1424f5;box-shadow:0 4px 24px #0000008c,0 0 0 1px var(--accent) inset}.map-chapter-circle--locked{opacity:.5;filter:grayscale(55%) brightness(.88);border-color:#8cb4e652;box-shadow:0 0 14px #78aae624 inset;cursor:not-allowed}.map-chapter-circle--gate{cursor:pointer}.map-chapter-circle--complete{animation:map-node-awakened 3s ease-in-out infinite}@keyframes map-node-awakened{0%,to{box-shadow:0 4px 24px #0000008c,0 0 10px var(--accent),0 0 0 1px var(--accent) inset}50%{box-shadow:0 4px 24px #0000008c,0 0 24px var(--accent),0 0 0 1px var(--accent) inset}}.map-chapter-circle--current{animation:map-node-pulse 2.4s ease-in-out infinite}@keyframes map-node-pulse{0%,to{box-shadow:0 4px 20px #00000073,0 0 8px var(--accent)}50%{box-shadow:0 4px 20px #00000073,0 0 28px var(--accent)}}.map-chapter-circle--world2{background:#0a0616ed;border-color:#a064ff4d;cursor:default;animation:world2-glow 3s ease-in-out infinite}@keyframes world2-glow{0%,to{box-shadow:0 0 12px #9664ff24}50%{box-shadow:0 0 32px #9664ff6b}}.map-node-emoji{font-size:30px;line-height:1;display:block;pointer-events:none}.map-node-star-badge{position:absolute;top:-4px;right:-4px;font-size:12px;font-weight:900;color:gold;background:#0a1424d9;border:1.5px solid #FFD700;border-radius:20px;padding:1px 5px;line-height:1.4;white-space:nowrap;pointer-events:none;text-shadow:0 0 6px rgba(255,215,0,.6)}.map-node-label{font-size:15px;font-weight:800;color:#fff;text-align:center;max-width:90px;line-height:1.2;text-shadow:0 1px 6px rgba(0,0,0,.9);pointer-events:none}.map-node-label--locked{color:#ffffff61;font-weight:600}.map-node-label--world2{font-size:13px;color:#c896ffd9;max-width:100px}.map-node-sublabel{font-size:11px;color:#b482ff99;text-align:center;max-width:120px;line-height:1.35;pointer-events:none}.map-deco-emoji{position:absolute;transform:translate(-50%,-50%);font-size:18px;pointer-events:none;opacity:.62;z-index:1}.map-world-divider{position:absolute;left:0;right:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:1}.map-world-divider-label{font-size:10px;font-weight:700;color:#b482ff85;background:#0e081cbf;padding:2px 10px;border-radius:10px;white-space:nowrap;letter-spacing:.04em}.map-faris-wrapper{position:absolute;transform:translate(-50%,-50%);z-index:3;cursor:pointer;animation:faris-bounce 1.8s ease-in-out infinite;-webkit-tap-highlight-color:transparent}@keyframes faris-bounce{0%,to{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-8px)}}.map-faris-wrapper:focus-visible{outline:2px solid #FFD700;outline-offset:4px;border-radius:50%}@keyframes faris-tap{0%{transform:translate(-50%,-50%) scale(1)}40%{transform:translate(-50%,-50%) scale(1.2)}to{transform:translate(-50%,-50%) scale(1)}}.map-faris-wrapper--tapped{animation:faris-tap .3s ease-out forwards!important}.map-footer{margin-top:8px;padding:0 16px}.map-footer-hint{font-size:13px;color:#ffffff52;margin:0;text-align:center}@media (max-width: 767px){.map-chapter-circle{--node-size: 64px}.map-node-emoji{font-size:24px}.map-node-label{font-size:14px;max-width:76px}.map-node-label--world2{font-size:12px;max-width:90px}.map-node-sublabel{font-size:10px;max-width:108px}.map-node-star-badge{font-size:11px;padding:1px 4px}.map-deco-emoji{font-size:15px;opacity:.5}.map-title{font-size:20px}}.chapter-story-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(8px,2dvh,16px);padding:clamp(12px,3dvh,24px) 20px clamp(16px,3dvh,28px);direction:rtl;text-align:center;opacity:0;transform:translateY(16px);transition:opacity .4s ease,transform .4s ease}.chapter-story-screen.visible{opacity:1;transform:translateY(0)}.chapter-complete{opacity:1;transform:none}.chapter-story-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(160deg,#0d1b2a,#1b2838);z-index:0}.chapter-story-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg, transparent);opacity:.18}.chapter-story-screen>*{position:relative;z-index:1;flex-shrink:1;min-height:0}.chapter-badge{display:flex;flex-direction:column;align-items:center;gap:2px;background:#ffffff1a;border:1px solid var(--accent, #FFD700);border-radius:40px;padding:5px 18px;flex-shrink:0}.chapter-badge--complete{background:#ffd70026;border-color:gold}.chapter-badge-num{font-size:13px;font-weight:800;color:var(--accent, #FFD700)}.chapter-badge-name{font-size:11px;color:#fff9}.chapter-story-emoji{font-size:clamp(44px,7dvh,64px);animation:emoji-float 3s ease-in-out infinite;filter:drop-shadow(0 8px 20px rgba(0,0,0,.4));flex-shrink:0;line-height:1}@keyframes emoji-float{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotate(2deg)}}.chapter-story-characters{display:flex;align-items:flex-end;gap:clamp(12px,3vw,20px);justify-content:center;flex-shrink:0}.chapter-complete-chars{animation:chars-pop .5s cubic-bezier(.34,1.56,.64,1)}@keyframes chars-pop{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}.chapter-companion-preview{display:flex;flex-direction:column;align-items:center;gap:4px;background:#ffffff14;border:1px dashed rgba(255,255,255,.3);border-radius:16px;padding:clamp(8px,2dvh,12px) 14px}.companion-preview-emoji{font-size:clamp(30px,5dvh,40px);filter:grayscale(80%) brightness(.6)}.companion-preview-name{font-size:11px;color:#fff6}.chapter-companion-reveal{display:flex;flex-direction:column;align-items:center;gap:4px;opacity:0;transform:scale(.5);transition:opacity .5s,transform .5s cubic-bezier(.34,1.56,.64,1)}.chapter-companion-reveal.revealed{opacity:1;transform:scale(1)}.companion-reveal-emoji{font-size:clamp(36px,6dvh,52px);filter:drop-shadow(0 4px 16px rgba(255,215,0,.5));animation:companion-bounce .6s .9s cubic-bezier(.34,1.56,.64,1) both}@keyframes companion-bounce{0%{transform:translateY(-20px) scale(.8)}to{transform:translateY(0) scale(1)}}.companion-reveal-badge{background:gold;color:#1a1a1a;font-size:11px;font-weight:800;padding:3px 10px;border-radius:20px;white-space:nowrap}.chapter-stars-row{display:flex;gap:8px;justify-content:center;flex-shrink:0}.chapter-complete-star{font-size:clamp(30px,5dvh,40px);color:#fff3;animation:star-pop .4s cubic-bezier(.34,1.56,.64,1) both;transition:color .3s}.chapter-complete-star.filled{color:gold;text-shadow:0 0 16px rgba(255,215,0,.7)}@keyframes star-pop{0%{transform:scale(0) rotate(-30deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.chapter-story-card{background:#ffffff14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);border-radius:20px;padding:clamp(12px,2.5dvh,18px) clamp(14px,4vw,22px);max-width:380px;width:100%;overflow:hidden}.chapter-story-card--complete{border-color:#ffd7004d;background:#ffd7000f}.chapter-story-card--complete .chapter-story-text p{color:#3a2e1f}.chapter-story-title{font-size:clamp(16px,2.5dvh,20px);font-weight:900;color:gold;margin:0 0 8px}.chapter-story-text p{font-size:clamp(13px,2dvh,15px);color:#ffffffe0;line-height:1.6;margin:0 0 6px}.chapter-story-text p:last-child{margin-bottom:0}.chapter-unlock-badge{background:gold;color:#1a1a1a;font-size:13px;font-weight:800;padding:6px 16px;border-radius:20px;white-space:nowrap;flex-shrink:0;animation:star-pop .4s cubic-bezier(.34,1.56,.64,1) both}.chapter-story-btn{border:none;border-radius:50px;padding:clamp(11px,2dvh,14px) 32px;font-size:clamp(15px,2.2dvh,17px);font-weight:800;cursor:pointer;font-family:inherit;transition:transform .15s,box-shadow .15s;max-width:300px;width:100%;flex-shrink:0}.chapter-story-btn:hover{transform:translateY(-2px)}.chapter-story-btn:active{transform:translateY(0)}.chapter-story-btn--start{background:linear-gradient(135deg,var(--accent, #FFD700),#FF8C00);color:#1a1a1a;box-shadow:0 6px 20px #0000004d}.chapter-story-btn--continue{background:linear-gradient(135deg,gold,#ff8c00);color:#1a1a1a;box-shadow:0 6px 24px #ffc80066}.chapter-story-sub{font-size:12px;color:#ffffff59;margin:0;flex-shrink:0}.chapter-confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0}.chapter-confetti-piece{position:absolute;font-size:20px;top:-30px;animation:chapter-confetti-fall 2.5s ease-in forwards}@keyframes chapter-confetti-fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(110vh) rotate(540deg);opacity:0}}@media (max-height: 600px){.chapter-story-emoji,.chapter-story-sub{display:none}}.clp-root{flex:1;min-height:0;display:flex;flex-direction:column;background:linear-gradient(180deg,#0e0a1e,#0d1b2a 20%,#1b2838,#162032);overflow-y:auto;overflow-x:hidden;margin:-20px -16px 0;width:calc(100% + 32px)}.clp-header{position:sticky;top:0;z-index:10;padding:16px 16px 10px;border-bottom:1px solid rgba(255,255,255,.07);background:linear-gradient(180deg,#0e0a1e,#0d1b2a);flex-shrink:0}.clp-header-row{display:flex;align-items:center;gap:10px}.clp-back-btn{background:#ffffff1a;border:none;color:#ffffffd9;padding:7px 14px;border-radius:20px;font-size:.82rem;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background .15s;flex-shrink:0}.clp-back-btn:hover{background:#ffffff2e}.clp-chapter-info{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.clp-chapter-emoji{font-size:1.4rem;flex-shrink:0}.clp-chapter-name{font-size:1rem;font-weight:800;color:var(--clp-accent, #FFD700);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clp-progress-badge{font-size:.78rem;font-weight:800;color:var(--clp-accent, #FFD700);background:#ffd7001f;border:1px solid rgba(255,215,0,.3);border-radius:20px;padding:3px 10px;white-space:nowrap;flex-shrink:0}.clp-chapter-desc{font-size:.78rem;color:#fff6;margin:8px 0 0;line-height:1.4}.clp-path-wrapper{width:100%;max-width:420px;padding:0 8px;box-sizing:border-box;align-self:center}.clp-path-area{position:relative;width:100%;padding-bottom:40px;box-sizing:border-box}.clp-path-svg{display:block;width:100%;height:auto}.clp-node-wrapper{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:5px;z-index:2}.clp-node-circle{--node-size: 68px;width:var(--node-size);height:var(--node-size);border-radius:50%;border:3px solid rgba(255,255,255,.15);background:#0a1424ed;display:flex;align-items:center;justify-content:center;cursor:pointer;font-family:inherit;padding:0;-webkit-tap-highlight-color:transparent;transition:transform .14s,box-shadow .14s}.clp-node-circle:not(:disabled):hover{transform:scale(1.08)}.clp-node-circle:not(:disabled):active{transform:scale(.94)}.clp-node-circle--active,.clp-node-circle--complete{border-color:var(--clp-accent, #FFD700);background:#0a1424f5;box-shadow:0 4px 20px #00000080,0 0 0 1px var(--clp-accent, #FFD700) inset}.clp-node-circle--locked{opacity:.35;filter:grayscale(70%);cursor:not-allowed}.clp-node-circle--current{animation:clp-node-pulse 2.4s ease-in-out infinite}@keyframes clp-node-pulse{0%,to{box-shadow:0 4px 20px #00000073,0 0 8px var(--clp-accent, #FFD700)}50%{box-shadow:0 4px 20px #00000073,0 0 28px var(--clp-accent, #FFD700)}}.clp-node-emoji{font-size:26px;line-height:1;pointer-events:none}.clp-node-piece{width:42px;height:42px;object-fit:contain;pointer-events:none;filter:drop-shadow(0 2px 6px rgba(0,0,0,.7))}@media (max-width: 767px){.clp-node-piece{width:34px;height:34px}}.clp-star-badge{position:absolute;top:-6px;right:-8px;font-size:11px;font-weight:900;color:gold;background:#0a1424e0;border:1.5px solid #FFD700;border-radius:20px;padding:1px 5px;line-height:1.4;white-space:nowrap;pointer-events:none;text-shadow:0 0 6px rgba(255,215,0,.6)}.clp-node-label{font-size:13px;font-weight:800;color:#fff;text-align:center;max-width:80px;line-height:1.2;text-shadow:0 1px 6px rgba(0,0,0,.9);pointer-events:none}.clp-node-label--locked{color:#ffffff59;font-weight:600}.clp-faris-wrapper{position:absolute;transform:translate(-50%,-50%);z-index:3;pointer-events:none;animation:clp-faris-bounce 1.8s ease-in-out infinite}@keyframes clp-faris-bounce{0%,to{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-7px)}}@media (max-width: 767px){.clp-node-circle{--node-size: 58px}.clp-node-emoji{font-size:22px}.clp-node-label{font-size:12px;max-width:70px}}.teach-mode{flex:1;min-height:0;display:flex;flex-direction:column}.alldone-screen{display:flex;align-items:center;justify-content:center;min-height:50vh;padding:16px}.alldone-card{display:flex;flex-direction:column;align-items:center;gap:12px;background:linear-gradient(135deg,#fff3cd,#ffe082);border-radius:var(--radius-lg);padding:32px 24px;text-align:center;box-shadow:0 6px 30px #00000024;max-width:360px;width:100%;animation:bounce-in .5s ease}.alldone-emoji{font-size:4rem;animation:trophy-bounce 1.2s ease-in-out infinite;filter:drop-shadow(0 4px 12px rgba(255,215,0,.5))}.alldone-title{font-size:1.6rem;font-weight:900;margin:0;color:#92400e}.alldone-message{font-size:1rem;color:#a16207;margin:0;line-height:1.6}.alldone-btn{background:#92400e;color:#fff;border:none;border-radius:var(--radius-lg);padding:12px 28px;font-size:1rem;font-weight:700;cursor:pointer;transition:transform .15s,background .15s;margin-top:8px}.alldone-btn:hover{background:#78350f;transform:scale(1.03)}@media (max-width: 400px){.alldone-card{padding:24px 16px}.alldone-emoji{font-size:3rem}.alldone-title{font-size:1.3rem}}.play-page{display:flex;flex-direction:column;gap:12px;flex:1}.play-opponent-bar{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;background:#fff;padding:10px 16px;border-radius:14px;box-shadow:0 2px 10px #0000000f}.opponent-label{font-size:.85rem;font-weight:700;color:var(--text-medium)}.opponent-buttons{display:flex;gap:6px;flex-wrap:wrap}.opponent-btn{padding:7px 14px;border:2px solid #e0e0e0;border-radius:20px;background:#fff;font-family:Cairo,sans-serif;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .2s;color:var(--text-dark)}.opponent-btn:hover{border-color:var(--yellow)}.opponent-btn.active{background:var(--yellow);border-color:var(--yellow-dark);box-shadow:0 2px 8px #ffd7004d}.play-content{display:flex;gap:20px;justify-content:center;align-items:flex-start;flex:1}.play-info-panel{display:flex;flex-direction:column;gap:10px;width:200px;flex-shrink:0}.turn-card{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 16px;background:linear-gradient(135deg,#fff,#fafafa);border:3px solid var(--yellow);border-radius:14px;box-shadow:0 3px 12px #ffd70040}.turn-card.black{background:linear-gradient(135deg,#333,#222);border-color:#444;box-shadow:0 3px 12px #00000040}.turn-card .turn-icon{font-size:1.3rem}.turn-card .turn-text{font-size:1rem;font-weight:800;color:var(--text-dark)}.turn-card.black .turn-text{color:var(--yellow)}.info-card{background:#fff;border-radius:12px;padding:12px;box-shadow:0 2px 8px #0000000f;border:2px solid #FFE88A}.info-card-title{font-size:.8rem;font-weight:700;color:var(--text-medium);margin:0 0 8px;padding-bottom:6px;border-bottom:1px solid #f0f0f0;text-align:center}.captured-pieces{display:flex;flex-direction:column;gap:6px}.captured-row{display:flex;align-items:center;gap:6px}.captured-side{font-size:.85rem;flex-shrink:0}.captured-list{display:flex;flex-wrap:wrap;gap:1px;min-height:20px}.captured-piece{font-size:1rem}.no-captures{color:#ccc;font-size:.8rem}.move-count{font-size:2rem;font-weight:900;color:var(--yellow-dark);text-align:center;line-height:1}.moves-history{display:flex;flex-wrap:wrap;gap:4px;justify-content:center}.move-item{font-family:monospace;font-size:.75rem;background:#f5f5f5;padding:3px 6px;border-radius:4px;color:var(--text-medium)}.no-moves{color:#ccc;font-size:.8rem;text-align:center;display:block}.play-board-area{display:flex;flex-direction:column;align-items:center;gap:12px}.play-board-container{border-radius:10px;overflow:hidden;box-shadow:0 6px 24px #0000001f}.play-action-buttons{display:flex;gap:10px}.play-btn{padding:10px 20px;border:none;border-radius:10px;font-family:Cairo,sans-serif;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 3px 10px #0000001f}.play-btn:hover{transform:translateY(-2px);box-shadow:0 5px 16px #0000002e}.play-btn-new{background:linear-gradient(135deg,var(--green),#66bb6a);color:#fff}.play-btn-undo{background:linear-gradient(135deg,var(--orange),#ff8a65);color:#fff}.game-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.overlay-card{background:#fff;border-radius:20px;padding:36px;text-align:center;max-width:340px;width:90%;box-shadow:0 16px 50px #0000004d;animation:bounceIn .4s ease}.overlay-emoji{font-size:4.5rem;animation:bounce 1s ease-in-out infinite}.overlay-title{font-size:1.8rem;font-weight:900;color:var(--yellow-dark);margin:14px 0 6px}.overlay-message{font-size:1.1rem;color:var(--text-medium);margin:0 0 20px}.overlay-button{padding:12px 28px;background:linear-gradient(135deg,var(--green),#66bb6a);color:#fff;border:none;border-radius:12px;font-family:Cairo,sans-serif;font-size:1rem;font-weight:700;cursor:pointer;box-shadow:0 4px 14px #4caf5066;transition:all .2s}.overlay-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4caf5080}@keyframes bounceIn{0%{transform:scale(.5);opacity:0}70%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}@media (max-width: 768px){.play-content{flex-direction:column;align-items:center}.play-info-panel{width:100%;max-width:450px;flex-direction:row;flex-wrap:wrap;gap:8px;order:1}.turn-card{flex-basis:100%;padding:10px}.info-card{flex:1;min-width:130px}.info-card:last-child{flex-basis:100%}.play-board-area{order:0}.moves-history{max-height:50px;overflow-y:auto}}@media (max-width: 480px){.play-opponent-bar{padding:8px 10px}.opponent-btn{padding:5px 10px;font-size:.75rem}.turn-card{padding:8px 12px}.turn-card .turn-text{font-size:.9rem}.play-btn{padding:8px 14px;font-size:.85rem}.info-card{padding:10px}.move-count{font-size:1.6rem}}.puzzles-mode{flex:1;display:flex;flex-direction:column;overflow:hidden}.pz-library{flex:1;overflow-y:auto;padding:12px;max-width:600px;margin:0 auto;width:100%;box-sizing:border-box}.pz-main-section-header{display:flex;align-items:center;gap:10px;background:var(--bg-card);border-radius:var(--radius-md);padding:12px;margin-bottom:10px;margin-top:16px;box-shadow:var(--shadow-card)}.pz-main-section-header:first-child{margin-top:0}.pz-section-emoji{font-size:1.6rem;flex-shrink:0}.pz-section-title-text{font-weight:800;font-size:.95rem;color:var(--text-dark);margin-bottom:2px}.pz-section-desc{font-size:.72rem;color:var(--text-light)}.pz-category-section{margin-bottom:16px}.pz-category-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.pz-category-chip{font-size:.8rem;font-weight:700;padding:4px 14px;border-radius:12px}.pz-category-count{font-size:.75rem;color:var(--text-light)}.puzzle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.puzzle-card{background:var(--bg-card);border-radius:var(--radius-md);padding:12px 10px;box-shadow:var(--shadow-card);cursor:pointer;text-align:center;border:2px solid transparent;transition:all .2s}.puzzle-card:hover{border-color:var(--blue);transform:translateY(-2px)}.puzzle-card.solved{border-color:var(--green);background:linear-gradient(135deg,var(--bg-card) 0%,rgba(76,175,80,.08) 100%)}.pz-card-emoji{font-size:1.8rem;margin-bottom:4px}.pz-card-title{font-size:.78rem;font-weight:700;color:var(--text-dark);margin-bottom:6px;line-height:1.3}.pz-card-cat{font-size:.62rem;font-weight:700;padding:2px 8px;border-radius:8px;display:inline-block;margin-bottom:6px}.pz-card-stars{font-size:.8rem;color:#ccc;letter-spacing:1px}.pz-card-stars.earned{color:var(--yellow-dark)}.pz-loading-advanced{text-align:center;padding:20px;color:var(--text-light);font-size:.9rem}.pz-board-view{flex:1;display:flex;flex-direction:column;align-items:center;padding:12px;max-width:500px;margin:0 auto;width:100%;box-sizing:border-box;overflow-y:auto}@media (min-width: 1024px){.pz-board-view{max-width:680px}}.pz-board-header{display:flex;align-items:center;gap:8px;width:100%;margin-bottom:10px}.pz-back-btn{background:#f0f0f0;border:none;padding:6px 14px;border-radius:20px;font-size:.82rem;cursor:pointer;color:var(--text-medium);white-space:nowrap;transition:all .18s;flex-shrink:0}.pz-back-btn:hover{background:var(--blue);color:#fff}.pz-meta{display:flex;align-items:center;gap:6px;flex:1;min-width:0;overflow:hidden}.pz-meta-emoji{font-size:1.3rem;flex-shrink:0}.pz-meta-title{font-size:.85rem;font-weight:700;color:var(--text-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pz-meta-cat{font-size:.62rem;font-weight:700;padding:2px 8px;border-radius:8px;flex-shrink:0}.pz-stars{font-size:.88rem;flex-shrink:0}.pz-turn-badge{font-size:.82rem;font-weight:700;padding:4px 14px;background:#f5f5f5;border-radius:12px;margin-bottom:8px;color:var(--text-medium);align-self:flex-start}.pz-board-wrapper{border-radius:8px;overflow:hidden;width:100%;display:flex;justify-content:center}.pz-board-wrapper.wrong-flash{animation:pz-wrong-flash .45s ease-in-out}@keyframes pz-wrong-flash{0%,to{filter:brightness(1)}30%{filter:brightness(.65) sepia(1) saturate(4) hue-rotate(-20deg)}70%{filter:brightness(.8) sepia(.4)}}.pz-hint-bar{width:100%;margin-top:10px;padding:10px 16px;background:#fffde7;border:2px solid var(--yellow);border-radius:var(--radius-md);box-sizing:border-box}.pz-hint-text{font-size:.88rem;font-weight:600;color:var(--text-dark);margin:0;text-align:center;line-height:1.5}.pz-attempts{font-size:.8rem;color:var(--red);margin-top:6px;font-weight:600;text-align:center}.pz-controls{display:flex;gap:10px;margin-top:12px}.pz-retry-btn{background:#f5f5f5;border:2px solid #ddd;padding:8px 18px;border-radius:20px;font-size:.85rem;cursor:pointer;color:var(--text-medium);transition:all .18s}.pz-retry-btn:hover{background:var(--blue);color:#fff;border-color:var(--blue)}.pz-success-view{flex:1;display:flex;align-items:center;justify-content:center;padding:16px}.pz-success-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:28px 24px;box-shadow:var(--shadow-card);text-align:center;max-width:360px;width:100%;animation:success-pop .35s ease-out}@keyframes success-pop{0%{transform:scale(.85);opacity:0}70%{transform:scale(1.04)}to{transform:scale(1);opacity:1}}.pz-success-emoji{font-size:4rem;margin-bottom:12px;display:block}.pz-success-title{font-size:1.35rem;font-weight:900;color:var(--text-dark);margin:0 0 12px}.pz-success-explain{font-size:.88rem;color:var(--text-medium);line-height:1.6;margin:0 0 20px}.pz-success-btns{display:flex;flex-direction:column;gap:10px}.pz-next-btn{background:var(--green);color:#fff;border:none;padding:12px 24px;border-radius:24px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s}.pz-next-btn:hover{background:#388e3c;transform:scale(1.03)}.pz-to-lib-btn{background:#f5f5f5;border:2px solid #ddd;padding:10px 20px;border-radius:20px;font-size:.9rem;cursor:pointer;color:var(--text-medium);transition:all .18s}.pz-to-lib-btn:hover{background:var(--blue);color:#fff;border-color:var(--blue)}@media (max-width: 400px){.pz-library{padding:8px}.puzzle-grid{grid-template-columns:repeat(2,1fr);gap:8px}.pz-card-emoji{font-size:1.5rem}.pz-board-view{padding:8px}.pz-success-card{padding:20px 16px}.pz-success-title{font-size:1.15rem}}@media (min-width: 768px){.setup-page{display:flex;justify-content:center;align-items:center;gap:12px;padding:8px;height:calc(100vh - 130px);max-height:calc(100vh - 130px);overflow:visible}.setup-panel{display:flex;flex-direction:column;gap:8px;padding:10px;background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;border:2px solid #FFE88A}.panel-pieces{display:flex;flex-direction:column;gap:6px}.panel-actions{display:flex;flex-direction:column;gap:6px;margin-top:4px;padding-top:8px;border-top:2px solid #f0f0f0}.setup-board-area{position:relative}.setup-mobile-controls{display:none}.palette-piece{width:44px;height:44px}.action-btn{width:44px;height:44px;font-size:1.2rem}.setup-dropdown{position:fixed;top:50%;left:120px;transform:translateY(-50%)}}@media (max-width: 767px){.setup-page{display:flex;flex-direction:column;gap:6px;padding:4px 8px;flex:1}.setup-panel{display:none}.setup-board-area{display:flex;justify-content:center;position:relative}.setup-mobile-controls{display:flex;flex-direction:column;gap:6px}.mobile-pieces{display:flex;justify-content:center;gap:5px;padding:8px;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000f;border:2px solid #FFE88A}.mobile-actions{display:flex;justify-content:center;gap:10px}.palette-piece{width:36px;height:36px}.action-btn{padding:10px 20px;font-size:.9rem}.menu-btn{padding:10px 16px}.setup-dropdown{position:fixed;bottom:140px;left:16px;right:16px}}@media (max-width: 380px){.palette-piece{width:32px;height:32px}.action-btn{padding:8px 14px;font-size:.85rem}}.setup-empty-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff8e7d9;pointer-events:none;gap:6px;border-radius:8px}.setup-empty-hint span{font-size:2rem;animation:bounce 1s ease-in-out infinite}.setup-empty-hint p{font-size:.85rem;font-weight:700;color:var(--text-medium);margin:0}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.palette-piece{padding:4px;background:#f8f8f8;border:2px solid transparent;border-radius:10px;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.palette-piece img{width:100%;height:100%;object-fit:contain}.palette-piece:hover{background:#f0f0f0;transform:scale(1.06)}.palette-piece.active{border-color:var(--yellow-dark);background:#ffd70040;box-shadow:0 0 0 2px #ffd7004d}.palette-tool{font-size:1rem}.palette-tool.active-eraser{border-color:var(--orange);background:#ff704333}.action-btn{background:#fff;border:2px solid #e0e0e0;border-radius:10px;font-family:Cairo,sans-serif;font-weight:700;color:var(--text-dark);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.action-btn:hover{border-color:var(--yellow);background:#fafafa}.start-btn{background:linear-gradient(135deg,var(--green),#66bb6a);border-color:var(--green);color:#fff}.start-btn:hover{transform:scale(1.05);box-shadow:0 3px 10px #4caf504d}.setup-dropdown{background:#fff;border-radius:12px;padding:6px;box-shadow:0 6px 24px #0003;border:2px solid #FFE88A;z-index:200;min-width:150px}.dropdown-item{width:100%;padding:10px 14px;background:transparent;border:none;border-radius:8px;font-family:Cairo,sans-serif;font-size:.9rem;font-weight:600;color:var(--text-dark);text-align:right;cursor:pointer;transition:background .15s;display:block}.dropdown-item:hover{background:#ffd70033}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;background:#0003}.setup-error{position:absolute;bottom:-40px;left:50%;transform:translate(-50%);padding:6px 14px;background:#ffebee;border:2px solid #ef5350;border-radius:8px;color:#c62828;font-size:.8rem;font-weight:700;text-align:center;white-space:nowrap;animation:shake .4s ease}@keyframes shake{0%,to{transform:translate(-50%)}25%{transform:translate(calc(-50% - 5px))}75%{transform:translate(calc(-50% + 5px))}}.onboarding-screen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:24px 20px 32px;background:linear-gradient(160deg,#1a1a3e,#2d1b69,#1a3a5e);direction:rtl;text-align:center;overflow:hidden;position:relative}.onboarding-stars{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.star-dot{position:absolute;font-size:12px;color:#fff6;animation:star-twinkle 2s ease-in-out infinite}.star-dot:nth-child(1){top:8%;left:12%}.star-dot:nth-child(2){top:15%;left:75%}.star-dot:nth-child(3){top:30%;left:5%}.star-dot:nth-child(4){top:55%;left:88%}.star-dot:nth-child(5){top:70%;left:18%}.star-dot:nth-child(6){top:80%;left:65%}.star-dot:nth-child(7){top:22%;left:48%}.star-dot:nth-child(8){top:90%;left:40%}@keyframes star-twinkle{0%,to{opacity:.3;transform:scale(.9)}50%{opacity:1;transform:scale(1.2)}}.onboarding-faris-entrance{animation:faris-entrance .7s cubic-bezier(.34,1.56,.64,1)}@keyframes faris-entrance{0%{transform:translateY(40px) scale(.7);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.onboarding-text-card{background:#ffffff1a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:18px 22px;max-width:340px;width:100%;animation:card-slide-up .5s ease-out .2s both}@keyframes card-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.onboarding-title{font-size:22px;font-weight:800;color:gold;margin:0 0 10px}.onboarding-body{font-size:15px;color:#ffffffe6;line-height:1.7;margin:0}.onboarding-body strong{color:gold}.onboarding-body em{color:#ff8a65;font-style:normal;font-weight:700}.onboarding-btn{background:linear-gradient(135deg,gold,#ff8c00);color:#1a1a1a;border:none;border-radius:50px;padding:14px 32px;font-size:17px;font-weight:800;cursor:pointer;box-shadow:0 6px 20px #ffc80066;transition:transform .15s,box-shadow .15s;animation:card-slide-up .5s ease-out .4s both;font-family:inherit}.onboarding-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #ffc80080}.onboarding-btn:active{transform:translateY(0)}.onboarding-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.onboarding-btn-yes{background:linear-gradient(135deg,#2ecc71,#27ae60);box-shadow:0 6px 20px #2ecc7166}.onboarding-btn-start{background:linear-gradient(135deg,#3498db,#2980b9);box-shadow:0 6px 20px #3498db66}.onboarding-btn-enter{background:linear-gradient(135deg,gold,#ff8c00);box-shadow:0 6px 20px #ffc80066}.onboarding-skip-btn{background:transparent;border:none;color:#ffffff80;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;padding:4px 8px;text-decoration:underline}.onboarding-skip-btn:hover{color:#fffc}.onboarding-scene{display:flex;gap:16px;align-items:center;justify-content:center}.scene-kingdom{display:flex;gap:8px}.scene-icon{font-size:32px;animation:scene-float 2s ease-in-out infinite}.scene-shadow{margin:0 8px}.shadow-blob{font-size:40px;animation:shadow-pulse 1.5s ease-in-out infinite;filter:grayscale(100%) brightness(.3)}@keyframes scene-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes shadow-pulse{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.15);opacity:1}}.avatar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:300px}.avatar-btn{font-size:28px;background:#ffffff1a;border:2px solid transparent;border-radius:16px;padding:10px;cursor:pointer;transition:transform .15s,border-color .15s,background .15s;line-height:1}.avatar-btn:hover{transform:scale(1.1);background:#fff3}.avatar-btn.selected{border-color:gold;background:#ffd70033;transform:scale(1.15)}.name-input{background:#ffffff1f;border:2px solid rgba(255,255,255,.3);border-radius:50px;padding:13px 22px;font-size:18px;font-weight:700;color:#fff;text-align:center;outline:none;width:100%;max-width:300px;font-family:inherit;transition:border-color .2s}.name-input::placeholder{color:#fff6}.name-input:focus{border-color:gold}.greet-confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.confetti-piece{position:absolute;font-size:22px;animation:confetti-fall 2s ease-in forwards;top:-30px}.confetti-piece:nth-child(1){left:10%;animation-delay:0s}.confetti-piece:nth-child(2){left:25%;animation-delay:.15s}.confetti-piece:nth-child(3){left:40%;animation-delay:.3s}.confetti-piece:nth-child(4){left:55%;animation-delay:.1s}.confetti-piece:nth-child(5){left:70%;animation-delay:.25s}.confetti-piece:nth-child(6){left:85%;animation-delay:.05s}.confetti-piece:nth-child(7){left:5%;animation-delay:.4s}.confetti-piece:nth-child(8){left:92%;animation-delay:.2s}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.greet-card{border-color:#ffd70066}.onboarding-existing{margin-top:4px;display:flex;flex-direction:column;align-items:center;gap:8px}.onboarding-existing p{color:#ffffff80;font-size:13px;margin:0}.existing-profile-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.2);border-radius:40px;padding:8px 20px;color:#fffc;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s}.existing-profile-btn:hover{background:#ffffff26}.pg-root{padding:24px;background:#fafafa;min-height:100vh;font-family:system-ui,sans-serif;direction:ltr}.pg-kind{font-weight:400;color:#888;font-size:.7em}.pg-row-group{margin-bottom:28px}.pg-row{display:flex;flex-wrap:wrap;gap:12px}.pg-cell{display:flex;flex-direction:column;align-items:center;gap:4px;width:96px}.pg-cell-box{width:80px;height:80px;display:flex;align-items:flex-end;justify-content:center;background:repeating-conic-gradient(#ddd,#ddd 25%,#fff 0%,#fff 50%) 50% / 16px 16px;border-radius:8px;border:1px solid #ccc;padding-bottom:4px}.pg-cell-box img{max-width:90%;max-height:90%;object-fit:contain}.pg-cell-label{font-size:11px;color:#555;text-align:center}.tt-screen{min-height:100vh;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px 40px;box-sizing:border-box;background:linear-gradient(180deg,#0e0a1e,#0d1b2a 18%,#1b2838 58%,#162032);font-family:var(--font-family)}.tt-playing{justify-content:flex-start;padding-top:16px}.tt-loading{color:#fff;font-size:1.1rem;font-weight:700}.tt-card{background:var(--bg-card);border-radius:var(--radius-xl);padding:28px 24px;width:100%;max-width:380px;box-sizing:border-box;text-align:center;box-shadow:var(--shadow-lg)}.tt-emoji{font-size:3rem;margin-bottom:8px}.tt-title{font-size:1.3rem;font-weight:800;color:var(--text-dark);margin:0 0 6px}.tt-subtitle{font-size:.95rem;color:var(--text-medium);margin:0 0 20px}.tt-join-form{display:flex;flex-direction:column;gap:8px;text-align:right}.tt-label{font-size:.85rem;font-weight:700;color:var(--text-medium);margin-top:8px}.tt-name-input{width:100%;padding:12px 14px;border:2px solid #ddd;border-radius:var(--radius-md);font-size:1.05rem;font-family:inherit;box-sizing:border-box;text-align:right}.tt-name-input:focus{outline:none;border-color:var(--yellow)}.tt-pin-row{display:flex;gap:10px;justify-content:center;margin:4px 0}.tt-pin-box{width:54px;height:62px;text-align:center;font-size:1.8rem;font-weight:800;border:2px solid #ddd;border-radius:var(--radius-md);font-family:inherit;box-sizing:border-box}.tt-pin-box:focus{outline:none;border-color:var(--yellow);box-shadow:0 0 0 3px var(--yellow-glow)}.tt-error{color:var(--red);font-size:.85rem;font-weight:700;text-align:center;margin:4px 0 0}.tt-primary-btn{margin-top:16px;width:100%;padding:14px 16px;border:none;border-radius:var(--radius-lg);background:var(--primary);color:#fff;font-family:inherit;font-size:1.05rem;font-weight:800;cursor:pointer;box-shadow:0 4px 0 var(--primary-dark);transition:transform .1s}.tt-primary-btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--primary-dark)}.tt-primary-btn:disabled{opacity:.5;cursor:not-allowed}.tt-finish-card{max-width:420px}.tt-results-list{display:flex;flex-direction:column;gap:6px;margin:12px 0 4px}.tt-result-row{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;border-radius:var(--radius-md);background:#f5f5f5;font-weight:700;color:var(--text-medium)}.tt-result-attempts{font-size:.78rem;font-weight:600;opacity:.7}.tt-result-row.solved{background:#4caf501f;color:var(--green)}.tt-cta-btn{background:var(--yellow-dark);box-shadow:0 4px #b57a00;font-size:1rem;line-height:1.4}.tt-next-btn{margin-top:12px;padding:10px 22px;border:none;border-radius:var(--radius-lg);background:var(--yellow);color:var(--text-dark);font-family:inherit;font-size:.95rem;font-weight:800;cursor:pointer}.tt-roster-card{max-width:420px}.tt-roster-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:8px}.tt-roster-btn{padding:16px 10px;border:none;border-radius:var(--radius-lg);background:var(--primary);color:#fff;font-family:inherit;font-size:1rem;font-weight:800;cursor:pointer;box-shadow:0 4px 0 var(--primary-dark);transition:transform .1s;word-break:break-word}.tt-roster-btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--primary-dark)}.tt-roster-btn:disabled{opacity:.5;cursor:not-allowed}.tt-next-student-btn{display:block;margin:10px auto 0}.tt-challenge{background:var(--bg-card);border-radius:var(--radius-xl);padding:16px;box-shadow:var(--shadow-lg)}html,body{overflow-x:hidden;max-width:100vw}.profile-picker-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-main);padding:20px}:root{color-scheme:only light}:root{--yellow: #FFD700;--yellow-dark: #F0A500;--yellow-glow: rgba(255,215,0,.4);--bg-main: #FFF8E7;--bg-card: #FFFFFF;--bg-header: #FFD700;--green: #4CAF50;--green-light: #A8E6A3;--blue: #42A5F5;--orange: #FF7043;--purple: #AB47BC;--red: #F44336;--text-dark: #2C2C2C;--text-medium: #555555;--text-light: #888888;--text-primary: #2C2C2C;--text-secondary: #555555;--square-light: #F0D9B5;--square-dark: #B58863;--highlight-move: rgba(127,201,127,.85);--highlight-sel: rgba(255,215,0,.9);--highlight-cap: rgba(255,107,107,.85);--primary: #4CAF50;--primary-dark: #388E3C;--primary-rgb: 76, 175, 80;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 22px;--radius-xl: 24px;--radius-full: 9999px;--shadow-yellow: 0 4px 18px rgba(255,215,0,.35);--shadow-card: 0 4px 20px rgba(0,0,0,.1);--shadow-sm: 0 2px 4px rgba(0,0,0,.1);--shadow-md: 0 4px 12px rgba(0,0,0,.15);--shadow-lg: 0 8px 24px rgba(0,0,0,.2);--transition: .2s ease;--board-size: min(90vw, 400px);--font-family: "Cairo", sans-serif}@media (min-width: 1024px){:root{--board-size: min(72vh, 560px)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-family);font-weight:500;direction:rtl;background:var(--bg-main);color:var(--text-dark);min-height:100vh;overflow-x:hidden}:focus{outline:none}:focus-visible{outline:3px solid var(--blue);outline-offset:2px}button{font-family:inherit;cursor:pointer;border:none;background:none;padding:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0000000d;border-radius:4px}::-webkit-scrollbar-thumb{background:#0003;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#0000004d}#root{min-height:100vh;display:flex;flex-direction:column}@keyframes pulse-dot{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.4);opacity:1}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}@keyframes bounce-in{0%{transform:scale(.5);opacity:0}70%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes star-float{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-80px) scale(2)}}@keyframes trophy-bounce{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-12px) rotate(-5deg)}75%{transform:translateY(-8px) rotate(5deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:var(--radius-md);font-size:1rem;font-weight:600;transition:transform .15s,box-shadow .15s}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg,var(--green) 0%,var(--green-light) 100%);color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover{box-shadow:var(--shadow-lg)}.btn-secondary{background:#f5f5f5;color:#333;border:2px solid #ddd}.btn-secondary:hover{background:#eee}.btn-yellow{background:var(--yellow);color:var(--text-dark);box-shadow:var(--shadow-yellow)}.btn-orange{background:linear-gradient(135deg,var(--orange) 0%,#FFB74D 100%);color:#fff;box-shadow:var(--shadow-md)}.card{background:var(--bg-card);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-card)}.loading{display:flex;align-items:center;justify-content:center;padding:40px;color:#666}.loading:after{content:"";width:24px;height:24px;border:3px solid #ddd;border-top-color:var(--yellow);border-radius:50%;animation:spin .8s linear infinite;margin-right:12px}@keyframes spin{to{transform:rotate(360deg)}}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:8px}.gap-4{gap:16px}.w-full{width:100%}.h-full{height:100%}.hidden{display:none!important}
