@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap";:root{--font-primary: "Open Sans", "Helvetica Neue", -apple-system, BlinkMacSystemFont, sans-serif;--color-bg-darkest: #110D0A;--color-bg-dark: #1C1410;--color-bg-medium: #2E1F18;--color-bg-board: #3A2820;--color-bg-surface: #261A14;--color-text-primary: #E6DFC6;--color-text-accent: #D2B48C;--color-text-muted: rgba(230, 223, 198, .6);--color-text-dim: rgba(230, 223, 198, .3);--color-text-dark: #1C1410;--color-gold: #D2B48C;--color-gold-light: #E8D4B8;--color-gold-dark: #A67F51;--color-gold-50: rgba(210, 180, 140, .45);--color-success: #6ABF69;--color-danger: #D94040;--color-warning: #E8A838;--color-info: #5B9BD5;--color-online: #2ECC71;--border-subtle: rgba(210, 180, 140, .08);--border-medium: rgba(210, 180, 140, .18);--border-gold: rgba(210, 180, 140, .45);--shadow-sm: 0 2px 6px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .6);--shadow-gold: 0 0 12px rgba(210, 180, 140, .25);--shadow-gold-strong: 0 0 20px rgba(210, 180, 140, .4);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--transition-fast: .15s ease;--transition-normal: .25s ease}body{font-family:var(--font-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-bg-darkest);color:var(--color-text-primary);min-height:100vh;line-height:1.55;font-size:15px;font-weight:400}code{font-family:Courier New,monospace}::selection{background:#d2b48c4d;color:#fff}button{font-family:var(--font-primary);cursor:pointer;border:none;background:none;color:inherit;font-size:inherit;line-height:1.4}.btn-gold,button.btn-primary{font-family:var(--font-primary);background:linear-gradient(180deg,var(--color-gold) 0%,var(--color-gold-dark) 100%);color:var(--color-text-dark);border:none;padding:12px 28px;border-radius:var(--radius-xl);font-size:14px;font-weight:700;cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm);letter-spacing:.3px}.btn-gold:hover,button.btn-primary:hover{background:linear-gradient(180deg,var(--color-gold-light) 0%,var(--color-gold) 100%);box-shadow:var(--shadow-gold-strong)}.btn-gold:active,button.btn-primary:active{background:linear-gradient(180deg,var(--color-gold-dark) 0%,#8A6840 100%);box-shadow:0 2px 4px #00000080;transform:translateY(1px)}.btn-gold:disabled,button.btn-primary:disabled{background:var(--color-gold-50);color:#1c141080;cursor:not-allowed;box-shadow:none;transform:none}.btn-outline{font-family:var(--font-primary);background-color:var(--color-bg-darkest);color:var(--color-text-primary);border:2px solid var(--color-gold);padding:10px 26px;border-radius:var(--radius-xl);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);letter-spacing:.3px}.btn-outline:hover{background-color:var(--color-bg-medium);box-shadow:var(--shadow-gold)}.btn-outline:active{background-color:var(--color-bg-medium);box-shadow:var(--shadow-gold-strong)}.btn-outline:disabled{border-color:var(--color-gold-50);color:var(--color-text-dim);cursor:not-allowed}.card{background:var(--color-bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-md);color:var(--color-text-primary)}.flex-between{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}input[type=range]{width:100%;cursor:pointer;accent-color:var(--color-gold)}input[type=text],input[type=email],input[type=password],input[type=number],textarea,select{font-family:var(--font-primary);width:100%;padding:11px 15px;background:var(--color-bg-darkest);border:1px solid var(--border-medium);border-radius:var(--radius-md);font-size:14px;color:var(--color-text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);caret-color:var(--color-gold)}input::placeholder,textarea::placeholder{color:var(--color-text-dim)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-gold);box-shadow:0 0 0 3px #d2b48c1f}select option{background:var(--color-bg-darkest);color:var(--color-text-primary)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d2b48c26;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#d2b48c4d}@media(max-width:768px){body{font-size:14px}.card{padding:15px}}.filters-row{display:flex;gap:10px;flex-wrap:nowrap}.filters-row input,.filters-row input[type=text],.filters-row select,.filters-row textarea{flex:1;width:0;min-width:0;max-width:none;margin:0}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#f5f5f5;color:#333;line-height:1.6;min-height:100vh}#root{min-height:100vh}h1{font-size:32px;margin-bottom:20px;font-weight:600}h2{font-size:24px;margin-bottom:15px;margin-top:30px;font-weight:600}h3{font-size:20px;margin-bottom:12px;font-weight:500}p{margin-bottom:15px}.page-container h1{color:#2c3e50}.page-container h2,.page-container h3{color:#34495e}.page-container p{color:#555}strong{font-weight:600;color:#2c3e50}.navigation{background:#2c3e50;padding:20px 0;box-shadow:0 2px 8px #00000026;position:sticky;top:0;z-index:1000;width:100%;margin:0}.navigation ul{list-style:none;display:flex;gap:40px;margin:0 auto;padding:0;max-width:1200px;justify-content:center}.navigation li{margin:0;padding:0}.navigation a{color:#fff;text-decoration:none;font-size:18px;font-weight:500;padding:10px 20px;border-radius:6px;transition:all .3s ease;display:block}.navigation a:hover{background:#ffffff1a;color:#3498db;transform:translateY(-2px)}.navigation a.active{background:#3498db;color:#fff}button{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease;margin-right:10px;font-family:inherit}button[type=submit],.btn-primary{background:#3498db;color:#fff}button[type=submit]:hover,.btn-primary:hover{background:#2980b9;transform:translateY(-2px);box-shadow:0 4px 8px #3498db4d}.btn-secondary{background:#95a5a6;color:#fff}.btn-secondary:hover{background:#7f8c8d}.btn-danger{background:#e74c3c;color:#fff}.btn-danger:hover{background:#c0392b}.btn-success{background:#27ae60;color:#fff}.btn-success:hover{background:#229954}button:disabled{background:#bdc3c7;cursor:not-allowed;opacity:.6}.page-container form{background:#fff;padding:30px;border-radius:12px;box-shadow:0 4px 12px #00000014;margin-bottom:30px}.page-container input,.page-container textarea,.page-container select{padding:12px;border:1px solid #ddd;border-radius:6px;font-size:14px;margin-right:10px;margin-bottom:15px;width:100%;max-width:300px;font-family:inherit;transition:all .3s ease}.page-container input:focus,.page-container textarea:focus,.page-container select:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.page-container input::placeholder,.page-container textarea::placeholder{color:#999}.page-container label{display:block;margin-bottom:8px;font-weight:500;color:#34495e}.page-container{max-width:1200px;margin:0 auto;padding:40px 20px}.card{background:#fff;padding:25px;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:20px;transition:all .3s ease}.card:hover{box-shadow:0 4px 16px #0000001f}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.flex{display:flex;gap:20px}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-center{display:flex;justify-content:center;align-items:center}ul{list-style:none}.list-item{background:#fff;padding:20px;margin-bottom:15px;border-radius:8px;box-shadow:0 2px 8px #00000014;transition:all .3s ease;border-left:4px solid transparent}.list-item:hover{transform:translate(5px);box-shadow:0 4px 16px #0000001f;border-left-color:#3498db}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:#7f8c8d}.text-small{font-size:14px}.mt-10{margin-top:10px}.mt-20{margin-top:20px}.mt-30{margin-top:30px}.mb-10{margin-bottom:10px}.mb-20{margin-bottom:20px}.mb-30{margin-bottom:30px}.p-10{padding:10px}.p-20{padding:20px}.p-30{padding:30px}.text-primary{color:#3498db}.text-success{color:#27ae60}.text-danger{color:#e74c3c}.text-warning{color:#f39c12}.bg-primary{background:#3498db;color:#fff}.bg-success{background:#27ae60;color:#fff}.bg-danger{background:#e74c3c;color:#fff}.bg-light{background:#ecf0f1}.hidden{display:none}.loading{text-align:center;padding:60px 20px;color:#7f8c8d}.empty-state{text-align:center;padding:60px 20px;color:#95a5a6;font-size:18px;background:#fff;border-radius:12px;border:2px dashed #bdc3c7}.empty-state-icon{font-size:48px;margin-bottom:20px}.error-message{background:#ffe6e6;border:1px solid #e74c3c;color:#c0392b;padding:15px;border-radius:6px;margin-bottom:20px}.success-message{background:#d5f4e6;border:1px solid #27ae60;color:#1e8449;padding:15px;border-radius:6px;margin-bottom:20px}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .5s ease}.spin{animation:spin 1s linear infinite}@media(max-width:768px){.navigation ul{flex-direction:column;gap:10px;align-items:center}input,textarea,select{max-width:100%}button{width:100%;margin-right:0;margin-bottom:10px}.page-container{padding:20px 15px}form{padding:20px}.grid-2,.grid-3{grid-template-columns:1fr}h1{font-size:24px}h2{font-size:20px}}@media print{.navigation,button,.no-print{display:none}body{background:#fff}.card{box-shadow:none;border:1px solid #ddd}}.forgot-modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10100;padding:20px;animation:forgotFadeIn .2s ease}@keyframes forgotFadeIn{0%{opacity:0}to{opacity:1}}.forgot-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid rgba(255,255,255,.1);border-radius:16px;width:100%;max-width:400px;animation:forgotSlideUp .3s ease;overflow:hidden}@keyframes forgotSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.forgot-modal-header{position:relative;text-align:center;padding:25px 20px 15px;border-bottom:1px solid rgba(255,255,255,.1)}.forgot-logo{font-size:40px;margin-bottom:10px}.forgot-modal-header h2{color:#fff;font-size:20px;margin:0;font-weight:600}.forgot-modal-header .close-btn{position:absolute;top:15px;right:15px;background:none;border:none;color:#ffffff80;font-size:28px;cursor:pointer;line-height:1;padding:0;transition:color .2s}.forgot-modal-header .close-btn:hover{color:#fff}.forgot-form,.forgot-success{padding:24px 20px;display:flex;flex-direction:column;gap:14px}.forgot-intro{color:#e6dfc6bf;font-size:14px;line-height:1.5;margin:0 0 6px}.forgot-form .form-group{display:flex;flex-direction:column;gap:6px}.forgot-form label{color:#e6dfc699;font-size:12px;font-weight:600}.forgot-form input{background:#110d0a;border:1px solid rgba(210,180,140,.18);color:#e6dfc6;padding:12px 14px;border-radius:10px;font-size:14px;transition:all .2s;width:100%;box-sizing:border-box;font-family:inherit}.forgot-form input::placeholder{color:#e6dfc64d}.forgot-form input:focus{outline:none;border-color:tan;box-shadow:0 0 0 3px #d2b48c1f}.forgot-submit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:14px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;min-height:48px;display:flex;align-items:center;justify-content:center;font-family:inherit}.forgot-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 20px #667eea66}.forgot-submit:disabled{opacity:.6;cursor:not-allowed}.forgot-error{background:#e74c3c2e;border:1px solid rgba(231,76,60,.3);color:#e74c3c;padding:10px 14px;border-radius:8px;font-size:13px}.forgot-success{text-align:center}.forgot-success-icon{font-size:56px;line-height:1;margin:8px 0 12px}.forgot-success p{color:#e6dfc6e0;font-size:15px;line-height:1.6;margin:0 0 8px}.forgot-hint{color:#e6dfc68c!important;font-size:13px!important;font-style:italic}.forgot-modal .loading-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:forgotSpin .8s linear infinite}@keyframes forgotSpin{to{transform:rotate(360deg)}}@media(max-width:480px){.forgot-modal{max-width:100%;margin:10px}.forgot-modal-header{padding:22px 50px 12px}.forgot-modal-header .close-btn{position:absolute;top:10px;right:10px;left:auto;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff14;border-radius:50%;color:#ffffffd9;font-size:22px;z-index:5}}.login-modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:fadeIn .2s ease}.login-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid rgba(255,255,255,.1);border-radius:16px;width:100%;max-width:400px;animation:slideUp .3s ease;overflow:hidden;position:relative;z-index:10001}.login-modal-header{position:relative;text-align:center;padding:25px 20px 15px;border-bottom:1px solid rgba(255,255,255,.1)}.login-logo{font-size:40px;margin-bottom:10px}.login-modal-header h2{color:#fff;font-size:20px;margin:0;font-weight:600}.login-modal-header .close-btn{position:absolute;top:15px;right:15px;background:none;border:none;color:#ffffff80;font-size:28px;cursor:pointer;line-height:1;padding:0;transition:color .2s}.login-modal-header .close-btn:hover{color:#fff}.login-tabs{display:flex;padding:15px 20px 0;gap:10px}.login-tab{flex:1;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff9;padding:10px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.login-tab:hover{background:#ffffff1a;color:#fff}.login-tab.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:transparent;color:#fff}.login-error{background:#e74c3c33;border:1px solid rgba(231,76,60,.3);color:#e74c3c;padding:10px 15px;margin:15px 20px 0;border-radius:8px;font-size:13px}.login-form{padding:20px;display:flex;flex-direction:column;gap:15px;background:transparent;border-radius:0;box-shadow:none;margin-bottom:0}.login-form .form-group{display:flex;flex-direction:column;gap:6px}.login-form .form-group label{color:var(--color-text-muted, rgba(230,223,198,.6));font-size:12px;font-weight:600}.login-form .form-group input[type=text],.login-form .form-group input[type=email],.login-form .form-group input[type=password]{background:var(--color-bg-darkest, #110D0A);border:1px solid var(--border-medium, rgba(210,180,140,.18));color:var(--color-text-primary, #E6DFC6);padding:12px 14px;border-radius:var(--radius-md, 10px);font-size:14px;transition:all .2s;max-width:100%;width:100%;margin:0;box-sizing:border-box;box-shadow:none;font-family:var(--font-primary);caret-color:var(--color-gold, #D2B48C)}.login-form .form-group input::placeholder{color:var(--color-text-dim, rgba(230,223,198,.3))}.login-form .form-group input:focus{outline:none;border-color:var(--color-gold, #D2B48C);box-shadow:0 0 0 3px #d2b48c1f}.login-submit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:14px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:5px;display:flex;align-items:center;justify-content:center;min-height:48px}.login-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 20px #667eea66}.login-submit:disabled{opacity:.7;cursor:not-allowed}.password-field{position:relative}.password-tooltip{position:absolute;bottom:calc(100% + 10px);left:0;right:0;background:#110d0a;border:1px solid rgba(210,180,140,.35);border-radius:10px;padding:12px 14px;z-index:100;box-shadow:0 8px 24px #00000080;animation:tooltipFadeIn .15s ease}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.password-tooltip-arrow{position:absolute;bottom:-6px;left:24px;width:12px;height:12px;background:#110d0a;border-right:1px solid rgba(210,180,140,.35);border-bottom:1px solid rgba(210,180,140,.35);transform:rotate(45deg)}.password-tooltip-title{margin:0 0 8px;color:tan;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.password-tooltip-rules{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.password-tooltip-rules li{color:#e6dfc68c;font-size:12.5px;display:flex;align-items:center;gap:8px;transition:color .15s}.password-tooltip-rules li.ok{color:#80d99a}.password-tooltip-rules .check{display:inline-block;width:16px;height:16px;text-align:center;border-radius:50%;background:#ffffff0f;font-size:11px;line-height:16px;flex-shrink:0}.password-tooltip-rules li.ok .check{background:#80d99a2e;color:#80d99a;font-weight:700}.forgot-password-link{align-self:flex-end;background:none;border:none;color:#e6dfc68c;font-size:12.5px;font-family:inherit;cursor:pointer;padding:4px 0 0;margin:0;transition:color .15s}.forgot-password-link:hover{color:tan;text-decoration:underline}.loading-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.loading-spinner--dark{border-color:#0003;border-top-color:#000000b3}.login-divider{display:flex;align-items:center;gap:12px;margin:8px 0 4px;color:#ffffff59;font-size:12px;font-weight:500;text-transform:lowercase;letter-spacing:.5px}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:#ffffff1f}.login-divider span{padding:0 4px}.login-social{display:flex;flex-direction:column;gap:10px}.google-btn-wrapper{position:relative;width:100%}.google-real-button{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.01;z-index:1;pointer-events:auto}.google-btn-wrapper .social-btn--google{position:relative;z-index:2;pointer-events:none}.google-btn-wrapper:hover .social-btn--google:not(:disabled){background:#f7f9fc;box-shadow:0 4px 14px #4285f42e;border-color:#4285f459;transform:translateY(-1px)}.google-btn-wrapper:active .social-btn--google:not(:disabled){transform:translateY(0)}.social-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:46px;padding:12px 14px;border-radius:8px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease;border:1px solid transparent;box-sizing:border-box}.social-btn:disabled{opacity:.6;cursor:not-allowed}.social-btn:not(:disabled):hover{transform:translateY(-1px)}.social-btn:not(:disabled):active{transform:translateY(0)}.social-btn--google{background:#fff;color:#1f1f1f;border-color:#0000001f}.social-btn--google:not(:disabled):hover{background:#f7f9fc;box-shadow:0 4px 14px #4285f42e;border-color:#4285f459}.social-btn--facebook{background:#1877f2;color:#fff;border-color:#1877f2}.social-btn--facebook:not(:disabled):hover{background:#166fe5;box-shadow:0 4px 14px #1877f266}.social-btn svg{flex:0 0 auto}.login-switch{text-align:center;padding:15px 20px 20px;border-top:1px solid rgba(255,255,255,.1)}.login-switch p{color:#fff9;margin:0;font-size:13px}.login-switch button{background:none;border:none;color:#667eea;font-weight:600;cursor:pointer;padding:0;font-size:13px}.login-switch button:hover{text-decoration:underline}@media(max-width:480px){.login-modal{max-width:100%;margin:10px}.login-form{padding:15px}.login-modal-header{padding:22px 50px 12px;text-align:center}.login-modal-header .close-btn{position:absolute;top:10px;right:10px;left:auto;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff14;border-radius:50%;color:#ffffffd9;font-size:22px;z-index:5}}.notification-bell-container{position:relative;display:flex;align-items:center}.notification-bell-btn{background:none;border:none;font-size:20px;cursor:pointer;position:relative;padding:6px 8px;border-radius:var(--radius-sm);transition:background .15s;line-height:1}.notification-bell-btn:hover{background:#e4d5b11a}.notification-badge{position:absolute;top:2px;right:2px;background:#d94040;color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1;font-family:var(--font-primary);box-shadow:0 1px 3px #0006;animation:notifPulse 2s ease infinite}@keyframes notifPulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.notification-dropdown{position:absolute;top:100%;right:0;margin-top:8px;width:340px;max-height:420px;background:var(--color-bg-darkest, #110D0A);border:1px solid var(--border-medium, rgba(210,180,140,.18));border-radius:var(--radius-lg, 14px);box-shadow:0 8px 32px #0009,0 0 12px #d2b48c1a;overflow:hidden;z-index:2000;animation:notifDropIn .2s ease;display:flex;flex-direction:column}@keyframes notifDropIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.notification-dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px 10px;border-bottom:1px solid var(--border-subtle, rgba(210,180,140,.08));font-size:14px;font-weight:700;color:var(--color-text-accent, #D2B48C)}.notif-clear-btn{font-family:var(--font-primary);background:none;border:none;color:var(--color-text-dim, rgba(230,223,198,.3));font-size:12px;cursor:pointer}.notif-clear-btn:hover{color:var(--color-text-muted)}.notification-list{overflow-y:auto;max-height:360px;flex:1}.notification-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:var(--color-text-dim);gap:8px}.notification-empty span{font-size:32px;opacity:.4}.notification-empty p{font-size:13px;margin:0}.notification-item{display:flex;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border-subtle, rgba(210,180,140,.06));transition:background .15s}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:#e4d5b10a}.notification-item.unread{background:#d2b48c0f}.notif-icon{font-size:20px;flex-shrink:0;width:28px;text-align:center;padding-top:2px}.notif-content{flex:1;min-width:0}.notif-title{color:var(--color-text-primary, #E6DFC6);font-size:13px;font-weight:600;line-height:1.3;margin-bottom:2px}.notif-body{color:var(--color-text-muted, rgba(230,223,198,.6));font-size:12px;line-height:1.4;margin-bottom:4px}.notif-time{color:var(--color-text-dim, rgba(230,223,198,.3));font-size:11px}.notif-actions{display:flex;gap:6px;margin-top:8px}.notif-accept-btn,.notif-reject-btn{font-family:var(--font-primary);padding:5px 12px;border-radius:var(--radius-sm, 6px);font-size:12px;font-weight:600;cursor:pointer;border:none;transition:all .15s}.notif-accept-btn{background:#6abf6926;color:#6abf69}.notif-accept-btn:hover{background:#6abf6940}.notif-reject-btn{background:#d940401f;color:#ef9a9a}.notif-reject-btn:hover{background:#d9404033}.notif-status-label{font-size:11px;font-weight:600;margin-top:6px}.notif-status-label.accepted{color:#6abf69}.notif-status-label.rejected{color:#ef9a9a}@media(max-width:768px){.notification-dropdown{width:calc(100vw - 20px);right:-60px}}.lang-dropdown{position:relative;display:inline-block}.lang-button{display:inline-flex;align-items:center;gap:6px;background:#ffffff0a;border:1px solid rgba(210,180,140,.18);color:var(--color-text-primary, #E6DFC6);padding:6px 10px;border-radius:8px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;min-height:32px}.lang-button:hover{background:#ffffff12;border-color:#d2b48c59}.lang-button.open{background:#ffffff14;border-color:var(--color-gold, #D2B48C)}.lang-flag{font-size:16px;line-height:1}.lang-code{font-size:12px;letter-spacing:.5px;color:var(--color-text-muted, rgba(230, 223, 198, .7))}.lang-chevron{color:#e6dfc680;transition:transform .2s}.lang-button.open .lang-chevron{transform:rotate(180deg)}.lang-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:160px;background:var(--color-bg-darkest, #110D0A);border:1px solid rgba(210,180,140,.25);border-radius:10px;padding:4px;box-shadow:0 8px 24px #00000073;z-index:1100;animation:langSlideIn .15s ease}@keyframes langSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.lang-option{width:100%;display:flex;align-items:center;gap:10px;background:none;border:none;color:var(--color-text-primary, #E6DFC6);padding:9px 12px;border-radius:6px;font-family:inherit;font-size:14px;cursor:pointer;text-align:left;transition:background .12s}.lang-option:hover{background:#ffffff0f}.lang-option.active{background:#d2b48c1a;color:var(--color-gold, #D2B48C)}.lang-option .lang-name{flex:1}.lang-checkmark{color:var(--color-gold, #D2B48C);font-weight:700;font-size:14px}.main-navigation{background:var(--color-bg-darkest);border-bottom:1px solid var(--border-subtle);position:sticky;top:0;z-index:1000}.nav-container{max-width:100%;padding:0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;height:48px}.nav-logo{background:var(--color-bg-darkest);height:48px;display:flex;align-items:center;padding:0 16px}.nav-logo a{display:flex;align-items:center;text-decoration:none;gap:10px;font-family:var(--font-primary);color:var(--color-text-accent);font-weight:700;font-size:18px;letter-spacing:.5px}.nav-logo img{height:36px;width:auto;display:block;transition:transform .2s ease,filter .2s ease}.nav-logo a:hover img{transform:scale(1.04);filter:brightness(1.08)}.nav-menu{display:flex;gap:2px;padding-left:8px}.nav-item{font-family:var(--font-primary);color:var(--color-text-primary);text-decoration:none;padding:12px 20px;font-weight:500;font-size:14px;transition:all var(--transition-fast);border-radius:var(--radius-sm);display:inline-flex;align-items:center;gap:6px}.nav-item:hover{background:#e4d5b11a}.nav-item.active{background:#e4d5b133;color:var(--color-text-accent);font-weight:600}.nav-item.school-link:hover{background:#e4d5b11a}.nav-item.school-link.active{background:#e4d5b133;color:var(--color-text-accent)}.nav-profile{padding:0 15px;position:relative;display:flex;align-items:center;gap:10px}.login-button{font-family:var(--font-primary);background-color:var(--color-gold);border:none;color:var(--color-text-dark);padding:8px 18px;border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.login-button:hover{background-color:var(--color-gold-light);transform:translateY(-1px)}.login-button:active{background-color:var(--color-gold-dark);transform:translateY(0)}.user-menu-container{position:relative;display:flex;align-items:center;gap:4px}.profile-button{font-family:var(--font-primary);background:#e4d5b114;border:1px solid var(--border-medium);color:var(--color-text-primary);padding:6px 12px;border-radius:var(--radius-sm);font-size:13px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all var(--transition-fast)}.profile-button:hover{background:#e4d5b124}.profile-button.logged-in{border-color:var(--border-gold)}.user-avatar{width:26px;height:26px;background:var(--color-gold-dark);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--color-text-dark);overflow:hidden}.user-avatar img{width:100%;height:100%;object-fit:cover}.profile-text{font-weight:500;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-primary)}.user-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:var(--color-bg-darkest);border:1px solid var(--border-medium);border-radius:var(--radius-md);min-width:170px;box-shadow:var(--shadow-lg);overflow:hidden;z-index:1001;animation:dropdownFadeIn .2s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{display:flex;align-items:center;gap:10px;padding:12px 16px;color:var(--color-text-primary);text-decoration:none;font-size:14px;transition:background var(--transition-fast);border:none;background:none;width:100%;cursor:pointer;text-align:left;font-family:var(--font-primary)}.dropdown-item:hover{background:#e4d5b11a}.dropdown-item.logout{border-top:1px solid var(--border-subtle);color:var(--color-danger)}.dropdown-item.logout:hover{background:#e539351a}@media(max-width:1024px){.nav-item{padding:10px 14px;font-size:13px}.nav-logo{padding:0 18px}}@media(max-width:768px){.nav-container{grid-template-columns:auto 1fr auto;height:48px;gap:0;padding:0}.nav-logo{justify-content:flex-start;padding:0 8px;height:48px}.nav-logo img{height:30px}.nav-menu{flex-wrap:nowrap;justify-content:flex-start;padding-left:4px;gap:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.nav-menu::-webkit-scrollbar{display:none}.nav-item{padding:6px 8px;font-size:12px;white-space:nowrap}.nav-profile{padding:0 6px;display:flex;justify-content:flex-end;gap:6px}.profile-text{display:none}.user-dropdown{right:0;left:auto;transform:none}.login-button{padding:6px 10px;font-size:12px}}.cookie-consent-root{position:fixed;inset:0;pointer-events:none;z-index:2000}.cookie-banner{pointer-events:auto;position:absolute;left:16px;right:16px;bottom:16px;max-width:1200px;margin:0 auto;display:flex;gap:20px;align-items:center;padding:18px 22px;background:linear-gradient(135deg,#1a1a2ef7,#16213ef7);border:1px solid rgba(255,255,255,.12);border-radius:14px;box-shadow:0 12px 40px #00000073;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:cookieSlideUp .35s ease}@keyframes cookieSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.cookie-banner-content{flex:1;min-width:0}.cookie-banner-title{color:#fff;font-size:17px;margin:0 0 6px;font-weight:600}.cookie-banner-text{color:#ffffffc7;font-size:13.5px;line-height:1.5;margin:0}.cookie-link{color:#8aa0ff;text-decoration:underline;text-underline-offset:2px}.cookie-link:hover{color:#b6c4ff}.cookie-banner-actions{display:flex;gap:10px;flex-shrink:0}.cookie-btn{padding:10px 18px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background .2s,border-color .2s,transform .05s;white-space:nowrap}.cookie-btn:active{transform:translateY(1px)}.cookie-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.cookie-btn-primary:hover{filter:brightness(1.08)}.cookie-btn-secondary{background:#ffffff14;border-color:#ffffff2e;color:#ffffffeb}.cookie-btn-secondary:hover{background:#ffffff24;border-color:#ffffff47}.cookie-modal-overlay{pointer-events:auto;position:absolute;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;padding:20px;animation:cookieFadeIn .2s ease}@keyframes cookieFadeIn{0%{opacity:0}to{opacity:1}}.cookie-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid rgba(255,255,255,.1);border-radius:16px;width:100%;max-width:560px;max-height:90vh;display:flex;flex-direction:column;animation:cookieSlideUp .3s ease}.cookie-modal-header{padding:20px 25px;border-bottom:1px solid rgba(255,255,255,.1)}.cookie-modal-header h2{color:#fff;font-size:20px;margin:0}.cookie-modal-body{padding:20px 25px;overflow-y:auto;flex:1}.cookie-modal-intro{color:#ffffffc7;font-size:14px;line-height:1.55;margin:0 0 20px}.cookie-category{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:14px 16px;margin-bottom:12px}.cookie-category-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.cookie-category-title{color:#fff;font-size:15px;font-weight:600}.cookie-category-desc{color:#ffffffa6;font-size:13px;line-height:1.5;margin:0}.cookie-toggle{position:relative;display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.cookie-toggle input[type=checkbox]{appearance:none;-webkit-appearance:none;width:42px;height:24px;background:#ffffff2e;border-radius:999px;position:relative;cursor:pointer;transition:background .2s;margin:0}.cookie-toggle input[type=checkbox]:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s}.cookie-toggle input[type=checkbox]:checked{background:#667eea}.cookie-toggle input[type=checkbox]:checked:after{transform:translate(18px)}.cookie-toggle-locked .cookie-toggle-label{color:#8aa0ff;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;padding:4px 10px;border-radius:999px;background:#667eea2e;border:1px solid rgba(102,126,234,.35)}.cookie-modal-footnote{color:#ffffff8c;font-size:12.5px;line-height:1.5;margin:14px 0 0}.cookie-modal-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;padding:16px 25px;border-top:1px solid rgba(255,255,255,.1)}@media(max-width:760px){.cookie-banner{flex-direction:column;align-items:stretch;padding:16px;left:8px;right:8px;bottom:8px}.cookie-banner-actions{flex-wrap:wrap}.cookie-banner-actions .cookie-btn{flex:1 1 auto}.cookie-modal-actions{flex-direction:column-reverse}.cookie-modal-actions .cookie-btn{width:100%}}.resume-game-overlay{position:fixed;inset:0;background:#000000b8;display:flex;align-items:center;justify-content:center;z-index:9999;padding:16px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:resume-game-fade-in .2s ease}@keyframes resume-game-fade-in{0%{opacity:0}to{opacity:1}}.resume-game-modal{background:linear-gradient(135deg,#2a1f1a,#1a1410);border:2px solid #8b6f47;border-radius:12px;padding:32px 28px;max-width:440px;width:100%;text-align:center;box-shadow:0 20px 60px #000c,0 0 0 1px #ffc8641a;animation:resume-game-slide-up .25s ease}@keyframes resume-game-slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.resume-game-icon{font-size:48px;margin-bottom:12px;line-height:1}.resume-game-title{color:#e8d5a8;font-size:22px;font-weight:600;margin:0 0 12px}.resume-game-text{color:#c5b59a;font-size:15px;line-height:1.5;margin:0 0 24px}.resume-game-error{color:#ff6b6b;font-size:13px;margin:0 0 16px}.resume-game-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.resume-game-btn{padding:12px 24px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;border:none;transition:transform .1s ease,opacity .2s ease,background .2s ease;min-width:140px}.resume-game-btn:disabled{opacity:.5;cursor:not-allowed}.resume-game-btn:not(:disabled):hover{transform:translateY(-1px)}.resume-game-btn:not(:disabled):active{transform:translateY(0)}.resume-game-btn-primary{background:linear-gradient(135deg,#d4a574,#b8864d);color:#1a1410}.resume-game-btn-primary:not(:disabled):hover{background:linear-gradient(135deg,#e0b384,#c89859)}.resume-game-btn-secondary{background:transparent;color:#d4a574;border:2px solid #8b6f47}.resume-game-btn-secondary:not(:disabled):hover{background:#d4a5741a;border-color:#d4a574}@media(max-width:480px){.resume-game-modal{padding:24px 20px}.resume-game-title{font-size:19px}.resume-game-text{font-size:14px}.resume-game-actions{flex-direction:column}.resume-game-btn{width:100%}}.modal-overlay{position:fixed;inset:0;width:100vw;height:100vh;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s}.modal-box{background:#fff;padding:40px;border-radius:16px;box-shadow:0 8px 32px #0000004d;max-width:450px;width:90%;position:relative;animation:slideIn .3s;z-index:10000}.modal-box h2{margin:0;padding:0;font-size:24px;color:#333}.color-selection{display:flex;gap:15px;justify-content:center;margin:30px 0}.color-btn{width:80px;height:80px;border:3px solid #ddd;border-radius:12px;background:#fff;font-size:45px;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;padding:0;box-shadow:none}.color-btn:hover{border-color:#999;transform:scale(1.05);box-shadow:0 4px 12px #00000026}.color-btn.active{border-color:#d4956a;background:#fff5e6;border-width:4px;box-shadow:0 4px 16px #d4956a66;transform:scale(1.05)}.bot-selection{display:flex;gap:15px;justify-content:center;margin:20px 0}.bot-btn{width:110px;height:80px;border:3px solid #ddd;border-radius:12px;background:#fff!important;cursor:pointer;transition:all .3s;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:15px;box-shadow:none!important;color:#333!important}.bot-btn:hover{border-color:#999;transform:scale(1.05);box-shadow:0 4px 12px #00000026!important;background:#fff!important}.bot-btn.active{border-color:#d4956a!important;background:#fff!important;border-width:4px;box-shadow:0 4px 16px #d4956a66!important;transform:scale(1.05)}.bot-label{font-size:16px;font-weight:700;color:#333;margin-bottom:6px}.bot-elo{font-size:13px;color:#666;font-weight:500}.play-btn{width:100%;padding:16px;font-size:20px;font-weight:700;background:#d4956a;color:#fff;border:none;border-radius:10px;cursor:pointer;margin-top:30px;transition:all .3s;box-shadow:0 4px 12px #d4956a4d}.play-btn:hover{background:#e0a578;transform:translateY(-2px);box-shadow:0 6px 16px #d4956a66}.play-btn:active{transform:translateY(0)}.modal-box .modal-close-x{position:absolute;top:10px;right:10px;background:transparent;border:none;font-size:24px;cursor:pointer;color:#999;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;line-height:1;border-radius:50%;z-index:5}.modal-box .modal-close-x:hover{color:#333;background:#0000000d}@media(max-width:600px){.modal-box{padding:30px 20px;width:95%}.color-btn{width:70px;height:70px;font-size:40px}.modal-box h2{font-size:20px}.bot-btn{width:95px;height:75px;padding:12px}.bot-label{font-size:14px}.bot-elo{font-size:12px}}.game-end-overlay{position:fixed;inset:0;width:100vw;height:100vh;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s}.game-end-box{background:#fff;padding:40px;border-radius:16px;box-shadow:0 8px 32px #0000004d;max-width:450px;width:90%;text-align:center;animation:slideIn .3s}@keyframes slideIn{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}.game-end-title{margin:0 0 8px;font-size:48px;font-weight:700;color:#333}.game-end-subtitle{font-size:14px;color:#888;margin:0 0 20px}.move-stats{display:flex;justify-content:center;gap:20px;margin:20px 0}.stat-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;min-width:80px;animation:statAppear .6s ease-out;animation-fill-mode:both}@keyframes statAppear{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}.stat-number{font-size:32px;font-weight:700;width:60px;height:60px;border-radius:8px;display:flex;align-items:center;justify-content:center;animation:popIn .3s ease-out}@keyframes popIn{0%{transform:scale(.8);opacity:.5}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.stat-label{font-size:12px;color:#666;font-weight:500}.stat-brilliant .stat-number{background:#1abc9c;color:#fff}.stat-great .stat-number{background:#5dade2;color:#fff}.stat-best .stat-number{background:#58d68d;color:#fff}.stat-excellent .stat-number{background:#7dcea0;color:#fff}.stat-good .stat-number{background:#82e0aa;color:#fff}.stat-inaccuracy .stat-number{background:#f39c12;color:#fff}.stat-mistake .stat-number{background:#e67e22;color:#fff}.stat-blunder .stat-number{background:#e74c3c;color:#fff}.stat-item:nth-child(1){animation-delay:0s}.stat-item:nth-child(2){animation-delay:.3s}.stat-item:nth-child(3){animation-delay:.6s}.guest-notice{background:linear-gradient(135deg,#f5f7fa,#e4e8ec);border:1px solid #ddd;border-radius:12px;padding:25px 20px;margin:20px 0}.guest-icon{font-size:40px;margin-bottom:10px}.guest-text{color:#555;font-size:14px;line-height:1.5;margin:0 0 15px}.login-btn{width:100%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.login-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.game-end-btn{padding:16px 24px;font-size:18px;font-weight:600;border:none;border-radius:10px;cursor:pointer;transition:all .3s}.analysis-btn{width:100%;background:#4caf50;color:#fff;margin-bottom:15px;box-shadow:0 4px 12px #4caf504d}.analysis-btn:hover{background:#45a049;transform:translateY(-2px);box-shadow:0 6px 16px #4caf5066}.game-end-actions{display:flex;gap:10px;justify-content:space-between}.small-btn{flex:1;background:#999;color:#fff;box-shadow:0 2px 8px #9999994d}.small-btn:hover{background:#777;transform:translateY(-2px);box-shadow:0 4px 12px #9996}.small-btn:active,.analysis-btn:active,.login-btn:active{transform:translateY(0)}@media(max-width:600px){.game-end-box{padding:30px 20px;width:95%}.game-end-title{font-size:36px}.game-end-btn{font-size:16px;padding:14px 20px}.move-stats{gap:15px}.stat-item{min-width:70px}.stat-number{width:50px;height:50px;font-size:24px}.guest-notice{padding:20px 15px}.guest-icon{font-size:32px}.guest-text{font-size:13px}}.move-stats.analyzing{display:flex;flex-direction:column;align-items:center;gap:16px;padding:30px 0}.spinner{border:4px solid #f3f3f3;border-top:4px solid #4CAF50;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.analyzing-text{font-size:16px;color:#666;font-weight:500}.play-layout{display:flex;gap:20px;align-items:flex-start;justify-content:center;max-width:1200px;margin:0 auto;padding:16px 20px;min-height:calc(100vh - 56px)}.play-board{flex:0 0 auto;background:var(--color-bg-dark);padding:8px;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.play-sidebar{width:320px;flex-shrink:0;background:var(--color-bg-darkest);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}.play-menu-panel{padding:20px;display:flex;flex-direction:column;gap:12px}.play-main-btn{font-family:var(--font-primary);width:100%;padding:18px 24px;font-size:17px;font-weight:700;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.play-main-btn.online{background:linear-gradient(180deg,var(--color-gold) 0%,var(--color-gold-dark) 100%);color:var(--color-text-dark);border:none;box-shadow:var(--shadow-sm)}.play-main-btn.online:hover{background:linear-gradient(180deg,var(--color-gold-light) 0%,var(--color-gold) 100%);box-shadow:var(--shadow-gold)}.play-main-btn.online:active{background:linear-gradient(180deg,var(--color-gold-dark) 0%,#8A6840 100%);transform:translateY(1px)}.play-main-btn.bot{background:linear-gradient(180deg,var(--color-gold) 0%,var(--color-gold-dark) 100%);color:var(--color-text-dark);border:none;box-shadow:var(--shadow-sm)}.play-main-btn.bot:hover{background:linear-gradient(180deg,var(--color-gold-light) 0%,var(--color-gold) 100%);box-shadow:var(--shadow-gold)}.play-main-btn.bot:active{background:linear-gradient(180deg,var(--color-gold-dark) 0%,#8A6840 100%);transform:translateY(1px)}.panel-header{display:flex;align-items:center;gap:15px;padding:14px 20px;background:var(--color-bg-dark);border-bottom:1px solid var(--border-subtle)}.panel-header span{font-family:var(--font-primary);color:var(--color-text-accent);font-weight:600;font-size:16px}.back-btn{font-family:var(--font-primary);background:none;border:none;color:var(--color-text-muted);font-size:14px;cursor:pointer;padding:5px 10px;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.back-btn:hover{background:#e4d5b11a;color:var(--color-text-primary)}.play-online-panel{display:flex;flex-direction:column}.time-dropdown-container{padding:20px}.time-dropdown{font-family:var(--font-primary);width:100%;padding:14px 20px;font-size:15px;font-weight:600;background:var(--color-bg-dark);color:var(--color-text-primary);border:2px solid var(--border-medium);border-radius:var(--radius-md);cursor:pointer;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='%23D2B48C' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center}.time-dropdown:hover{border-color:var(--color-gold)}.time-dropdown:focus{outline:none;border-color:var(--color-gold)}.time-dropdown optgroup{font-weight:700;color:var(--color-text-muted)}.time-dropdown option{padding:10px;background:var(--color-bg-darkest);color:var(--color-text-primary)}.start-game-btn{font-family:var(--font-primary);margin:0 20px 20px;padding:16px 24px;font-size:17px;font-weight:700;background:var(--color-gold);color:var(--color-text-dark);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.start-game-btn:hover{background:var(--color-gold-light)}.start-game-btn:active{background:var(--color-gold-dark);transform:translateY(1px)}.play-searching-panel{padding:40px 20px;text-align:center}.searching-spinner{width:50px;height:50px;border:4px solid var(--border-subtle);border-top-color:var(--color-gold);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}.searching-text{color:var(--color-text-accent);font-size:17px;font-weight:600;margin-bottom:15px}.searching-flavor-main{color:var(--color-text-accent);font-size:17px;font-weight:600;margin-bottom:6px;min-height:24px;max-width:360px;margin-left:auto;margin-right:auto;animation:flavor-fade-in .4s ease}@keyframes flavor-fade-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.searching-text-sub{color:var(--color-text-muted);font-size:13px;font-weight:500;margin-bottom:14px;opacity:.85}.searching-info{display:flex;justify-content:center;gap:15px;color:var(--color-text-muted);font-size:13px;margin-bottom:20px}.searching-queue{color:var(--color-text-accent);font-size:13px;font-weight:500;margin-bottom:18px;opacity:.85}.cancel-btn{font-family:var(--font-primary);padding:12px 30px;background:var(--color-bg-dark);color:var(--color-text-primary);border:1px solid var(--border-medium);border-radius:var(--radius-md);cursor:pointer;font-size:14px;transition:all var(--transition-fast)}.cancel-btn:hover{background:var(--color-bg-medium)}.play-bot-panel{display:flex;flex-direction:column}.bot-list{padding:10px 15px;display:flex;flex-direction:column;gap:10px}.bot-tier-label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--color-text-muted);padding:0 4px 6px;font-weight:600}.bot-tier-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.bot-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;background:var(--color-bg-dark);border:2px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.bot-card:hover{background:var(--color-bg-medium)}.bot-card.selected{border-color:var(--color-gold);background:var(--color-bg-medium)}.bot-card .bot-name{color:var(--color-text-primary);font-size:14px;font-weight:600}.bot-card.selected .bot-name{color:#fff}.bot-card .bot-elo{color:var(--color-text-muted);font-size:12px;font-weight:600}.bot-card.selected .bot-elo{color:var(--color-gold)}.color-select{padding:15px 20px;border-top:1px solid var(--border-subtle)}.color-select>span{color:var(--color-text-muted);font-size:13px;display:block;margin-bottom:10px}.color-options{display:flex;gap:10px;justify-content:center}.color-btn{width:50px;height:50px;border:2px solid var(--border-medium);border-radius:var(--radius-md);font-size:24px;cursor:pointer;transition:all var(--transition-fast)}.color-btn.white{background:#f0d9b5;color:#333}.color-btn.black{background:#333;color:#f0d9b5}.color-btn.random{background:linear-gradient(135deg,#f0d9b5 50%,#333 50%);color:var(--color-gold);font-weight:700}.color-btn:hover{border-color:var(--color-gold)}.color-btn.selected{border-color:var(--color-gold);box-shadow:0 0 0 2px #d2b48c4d}.play-board-area{display:flex;flex-direction:column;flex:0 0 auto}.bot-material-row{height:34px;display:flex;align-items:center;gap:2px;padding:2px 10px}.bot-captured-pieces{display:flex;gap:1px;flex-wrap:wrap}.bot-captured-piece{font-size:22px;line-height:1;opacity:.85}.bot-material-diff{font-size:15px;font-weight:700;color:var(--color-gold, #d4a843);margin-left:6px}.bot-game-sidebar{display:flex;flex-direction:column;overflow:hidden}.bot-game-header{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border-subtle)}.bot-game-avatar{width:38px;height:38px;background:var(--color-bg-medium);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;color:var(--color-gold);border:2px solid var(--color-gold);flex-shrink:0}.bot-game-info{display:flex;flex-direction:column;flex:1;min-width:0}.bot-game-name{color:#fff;font-weight:700;font-size:15px}.bot-game-elo{color:var(--color-text-muted);font-size:12px}.bot-thinking-dot{display:flex;gap:3px;align-items:center;margin-left:auto}.bot-thinking-dot span{width:6px;height:6px;border-radius:50%;background:var(--color-gold);animation:botDotPulse 1.2s infinite}.bot-thinking-dot span:nth-child(2){animation-delay:.2s}.bot-thinking-dot span:nth-child(3){animation-delay:.4s}@keyframes botDotPulse{0%,80%,to{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.bot-game-chat{padding:12px 14px;min-height:90px;max-height:180px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;border-bottom:1px solid var(--border-subtle)}.bot-chat-empty{color:var(--color-text-muted);font-size:14px;text-align:center;padding:15px 0}.bot-chat-bubble{background:#ffffff12;color:#ffffff8c;padding:10px 14px;border-radius:12px 12px 12px 2px;font-size:14px;max-width:90%;align-self:flex-start;transition:all .3s;line-height:1.4;word-wrap:break-word;overflow-wrap:break-word;white-space:pre-wrap}.bot-chat-bubble.latest{background:#d2b48c26;color:wheat}.bot-game-moves{flex:1;padding:8px 14px;overflow-y:auto;min-height:60px;border-bottom:1px solid var(--border-subtle)}.bot-moves-empty{color:var(--color-text-muted);text-align:center;padding:15px 0;font-size:14px}.bot-moves-list{display:flex;flex-direction:column;gap:2px}.bot-move-pair{display:flex;align-items:center;gap:4px;padding:3px 6px;border-radius:4px;font-family:Courier New,monospace;font-size:13px}.bot-move-pair:nth-child(odd){background:#ffffff08}.bot-move-num{color:var(--color-text-muted);min-width:28px;font-size:11px}.bot-move{min-width:50px;color:#fffc}.bot-move.white-move{color:wheat}.bot-move.black-move{color:#fff9}.bot-game-actions{display:flex;gap:6px;padding:12px 14px}.bot-act-btn{flex:1;padding:10px 8px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:#ffffff14;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .18s;white-space:nowrap}.bot-act-btn:hover:not(:disabled){background:#ffffff26;border-color:#ffffff4d}.bot-act-btn:disabled{opacity:.35;cursor:not-allowed}.bot-act-btn.hint{flex:0 0 auto;padding:10px 14px;background:#ffc1071f;border-color:#ffc10740}.bot-act-btn.hint:hover:not(:disabled){background:#ffc10738}.bot-act-btn.resign{flex:0 0 auto;padding:10px 14px;background:#ef44441f;border-color:#ef444440}.bot-act-btn.resign:hover:not(:disabled){background:#ef444438}@media(max-width:900px){.play-layout{flex-direction:column;align-items:stretch;padding:4px 0;gap:8px;min-height:auto}.play-board-area{width:100%;align-items:center}.play-board{padding:0;background:transparent;box-shadow:none;border-radius:0;width:100%;display:flex;justify-content:center}.bot-material-row{height:28px;padding:2px 6px;width:100%;box-sizing:border-box}.bot-captured-piece{font-size:18px}.bot-material-diff{font-size:13px}.play-sidebar{width:100%;max-width:none;border-radius:0;border-left:none;border-right:none}.play-sidebar.bot-game-sidebar{height:auto!important}.bot-game-sidebar{max-height:none}.bot-game-sidebar .bot-game-header{order:1}.bot-game-sidebar .bot-game-actions{order:2;border-bottom:1px solid var(--border-subtle)}.bot-game-sidebar .bot-game-chat{order:3}.bot-game-sidebar .bot-game-moves{order:4}.bot-game-chat{min-height:64px;max-height:140px}.bot-game-moves{max-height:130px}}@media(max-width:600px){.play-board{padding:0}.bot-game-chat{min-height:60px;max-height:120px}}.time-dropdown-container{position:relative}.time-dropdown-trigger{font-family:var(--font-primary);width:100%;padding:14px 44px 14px 20px;font-size:15px;font-weight:600;background:var(--color-bg-dark);color:var(--color-text-primary);border:2px solid var(--border-medium);border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;gap:10px;text-align:left;position:relative;transition:border-color var(--transition-fast)}.time-dropdown-trigger:hover,.time-dropdown-trigger:focus,.time-dropdown-trigger.open{border-color:var(--color-gold);outline:none}.td-trigger-label{flex:1}.td-trigger-count{font-size:12px;font-weight:500;color:var(--color-gold);background:#d2b48c1f;border:1px solid rgba(210,180,140,.3);padding:3px 9px;border-radius:999px;white-space:nowrap}.td-chevron{position:absolute;right:15px;top:50%;transform:translateY(-50%);color:var(--color-gold);font-size:12px;pointer-events:none;transition:transform var(--transition-fast)}.time-dropdown-trigger.open .td-chevron{transform:translateY(-50%) rotate(180deg)}.time-dropdown-menu{position:fixed;background:var(--color-bg-darkest);border:1px solid var(--border-medium);border-radius:var(--radius-md);box-shadow:0 8px 24px #0006;z-index:1000;padding:6px 0;max-height:380px;overflow-y:auto}.td-group{padding:2px 0}.td-group-label{font-family:var(--font-primary);font-size:14px;font-weight:700;color:#fff;padding:6px 14px 4px}.td-option{font-family:var(--font-primary);display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:6px 14px 6px 28px;background:transparent;border:none;color:var(--color-text-primary);font-size:14px;font-weight:400;cursor:pointer;text-align:left;transition:background var(--transition-fast)}.td-option:hover{background:#ffffff14}.td-option.selected{background:#ffffff1f;color:#fff}.td-option-label{flex:1}.td-option-count{font-size:12px;font-weight:500;color:#4ade80;background:#22c55e1f;border:1px solid rgba(34,197,94,.35);padding:2px 8px;border-radius:999px;white-space:nowrap}.td-option-count.zero{color:var(--color-text-muted);background:#ffffff0a;border-color:#ffffff1f}.td-trigger-count.zero{color:var(--color-text-muted);background:#ffffff0a;border-color:#ffffff26}.puzzle-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:10px;width:100%}.puzzle-stats{display:flex;gap:10px}.puzzle-side-panel{width:280px;flex-shrink:0;display:flex;flex-direction:column;gap:12px;max-height:calc(100vh - 136px);overflow-y:auto;background:var(--color-bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:14px;box-shadow:var(--shadow-md)}.puzzle-player{min-height:calc(100vh - 60px);padding:20px;display:flex;flex-direction:column;background:#f5f5f5}.puzzle-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:10px;width:100%;height:40px;flex-shrink:0}.back-btn{font-family:var(--font-primary);background:var(--color-bg-dark);color:var(--color-text-primary);border:1px solid var(--border-subtle);padding:8px 16px;border-radius:var(--radius-md);cursor:pointer;font-size:14px;transition:all var(--transition-fast)}.back-btn:hover{background:var(--color-bg-medium);border-color:var(--color-gold)}.puzzle-title{flex:1;text-align:center}.puzzle-title h2{margin:0;color:var(--color-text-dark);font-size:20px}.puzzle-name{font-size:12px;color:#1c141099}.puzzle-stats{display:flex;gap:10px;justify-content:center}.puzzle-stats .stat{padding:6px 12px;border-radius:20px;font-size:14px;font-weight:600}.stat.solved{background:#2ecc7133;color:#2ecc71}.stat.failed{background:#e74c3c33;color:#e74c3c}.stat.streak{background:#f39c1233;color:#f39c12}.puzzle-content{display:flex;flex-direction:row;align-items:flex-start;justify-content:center;gap:20px;flex:1;min-height:calc(100vh - 136px)}.puzzle-board-wrapper{display:flex;flex-direction:column;align-items:stretch;position:relative}.puzzle-board-container{position:relative}.turn-indicator{text-align:center;margin-bottom:10px;padding:8px 20px;background:#0000004d;border-radius:20px;color:#fff;font-size:16px;font-weight:600;display:inline-block;width:100%}.puzzle-board{background:var(--color-bg-dark);padding:8px;border-radius:var(--radius-lg);position:relative;box-shadow:var(--shadow-md)}.delete-puzzle-btn{background:#e74c3c33;color:#e74c3c;border:1px solid rgba(231,76,60,.3);width:40px;height:40px;border-radius:8px;cursor:pointer;font-size:18px;transition:all .2s;display:flex;align-items:center;justify-content:center}.delete-puzzle-btn:hover{background:#e74c3c66;transform:scale(1.1)}.correct-flash{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80px;height:80px;background:#2ecc71e6;border-radius:50%;display:flex;align-items:center;justify-content:center;animation:flashPop .6s ease forwards;z-index:20}.correct-flash span{font-size:40px;color:#fff}@keyframes flashPop{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}50%{transform:translate(-50%,-50%) scale(1.2);opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:0}}.puzzle-result{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:20px 40px;border-radius:12px;text-align:center;animation:resultPop .3s ease;z-index:10}@keyframes resultPop{0%{transform:translate(-50%,-50%) scale(.8);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.puzzle-result.success{background:#2ecc71f2;color:#fff}.puzzle-result.fail{background:#e74c3cf2;color:#fff}.puzzle-result.shown{background:#3498dbf2;color:#fff}.result-icon{font-size:48px;margin-bottom:10px}.result-text{font-size:20px;font-weight:600}.puzzle-side-panel{width:280px;flex-shrink:0;display:flex;flex-direction:column;gap:12px;max-height:calc(100vh - 136px);overflow-y:auto;background:var(--color-bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:14px;box-shadow:var(--shadow-md);margin-top:50px}.puzzle-side-panel .turn-indicator{margin:0;padding:10px 14px}.puzzle-meta{display:flex;flex-direction:column;gap:4px;padding:10px 14px;background:var(--color-bg-darkest);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:12px;color:var(--color-text-muted)}.puzzle-controls{display:flex;flex-direction:column;align-items:stretch;gap:10px;width:100%}.control-buttons{display:flex;flex-direction:column;gap:8px;width:100%}.hint-btn,.solution-btn,.skip-btn{font-family:var(--font-primary);background:linear-gradient(180deg,var(--color-gold) 0%,var(--color-gold-dark) 100%);color:var(--color-text-dark);border:none;padding:12px 24px;border-radius:var(--radius-md);cursor:pointer;font-size:14px;font-weight:700;transition:all var(--transition-fast);flex:1;box-shadow:var(--shadow-sm)}.hint-btn:hover:not(:disabled),.solution-btn:hover:not(:disabled),.skip-btn:hover:not(:disabled){background:linear-gradient(180deg,var(--color-gold-light) 0%,var(--color-gold) 100%);box-shadow:var(--shadow-gold)}.hint-btn:active:not(:disabled),.solution-btn:active:not(:disabled),.skip-btn:active:not(:disabled){background:linear-gradient(180deg,var(--color-gold-dark) 0%,#8A6840 100%);transform:translateY(1px)}.hint-btn.active,.hint-btn:disabled{opacity:.5;cursor:default}.showing-solution{display:flex;align-items:center;gap:10px;color:#ffffffb3;font-size:14px}.spinner.small{width:20px;height:20px;border-width:2px}.result-actions{display:flex;gap:15px;flex-wrap:wrap;justify-content:center}.retry-btn,.next-btn{font-family:var(--font-primary);background:linear-gradient(180deg,var(--color-gold) 0%,var(--color-gold-dark) 100%);color:var(--color-text-dark);border:none;padding:12px 30px;border-radius:var(--radius-md);cursor:pointer;font-size:15px;font-weight:700;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.retry-btn:hover,.next-btn:hover{background:linear-gradient(180deg,var(--color-gold-light) 0%,var(--color-gold) 100%);box-shadow:var(--shadow-gold);transform:translateY(-2px)}.retry-btn:active,.next-btn:active{background:linear-gradient(180deg,var(--color-gold-dark) 0%,#8A6840 100%);transform:translateY(1px)}.solution-preview{background:#0000004d;border-radius:8px;padding:15px 20px;width:100%;max-width:450px}.solution-label{font-size:12px;color:#ffffff80;text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:10px}.solution-moves{display:flex;flex-wrap:wrap;gap:8px}.solution-step{background:#ffffff1a;padding:6px 12px;border-radius:6px;font-family:monospace;font-size:14px;color:#ffffffb3}.solution-step.done{background:#2ecc7133;color:#2ecc71}.solution-step.current{background:#667eea4d;color:#667eea;border:1px solid rgba(102,126,234,.5)}.solution-step .counter{color:#ffffff80}.puzzle-loading,.puzzle-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;color:#fff}.spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.1);border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.puzzle-error h2{margin-bottom:10px}.puzzle-error p{color:#fff9;margin-bottom:20px}@media(max-width:800px){.puzzle-content{flex-direction:column;align-items:center}.puzzle-side-panel{width:100%;max-width:560px}.puzzle-header{flex-direction:column;gap:10px}.back-btn{align-self:flex-start}.puzzle-stats{width:100%;justify-content:center}.control-buttons{flex-direction:row}.result-actions{flex-direction:column;width:100%}.retry-btn,.next-btn{width:100%}}.puzzles-page-wrapper{min-height:calc(100vh - 48px)}.puzzles-page{padding:36px 20px}.puzzles-container{max-width:1000px;margin:0 auto}.puzzles-loading{padding:60px 20px;text-align:center;color:var(--color-text-muted);font-family:var(--font-primary);font-size:16px}.puzzle-section{margin-bottom:36px}.section-title{font-family:var(--font-primary);color:var(--color-text-dark);font-size:20px;font-weight:700;margin:0 0 16px;padding-left:4px}.tags-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.tag-card{font-family:var(--font-primary);background:linear-gradient(180deg,var(--color-gold) 0%,var(--color-gold-dark) 100%);border:1px solid var(--color-gold-dark);border-radius:var(--radius-md);padding:22px 14px;cursor:pointer;transition:all var(--transition-fast);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:96px;text-align:center;color:var(--color-text-dark);word-break:break-word;box-shadow:var(--shadow-sm)}.tag-card:hover{background:linear-gradient(180deg,var(--color-gold-light) 0%,var(--color-gold) 100%);border-color:var(--color-gold-light);transform:translateY(-2px);box-shadow:var(--shadow-gold)}.tag-card:active{background:linear-gradient(180deg,var(--color-gold-dark) 0%,#8A6840 100%);transform:translateY(1px)}.tag-icon{font-size:30px;margin-bottom:10px;flex-shrink:0;line-height:1}.tag-name{font-size:14px;font-weight:700;color:var(--color-text-dark);line-height:1.3;word-break:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;max-width:100%}.tag-count{font-size:12px;color:#1c1410a6;margin-top:4px}.all-completed-banner{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;text-align:center;padding:12px 20px;border-radius:var(--radius-md);font-weight:600;margin-bottom:16px;animation:bannerSlideIn .4s ease}@keyframes bannerSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.tags-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.puzzles-page{padding:20px 15px}.tags-grid{grid-template-columns:repeat(2,1fr);gap:10px}.tag-card{padding:16px 10px;min-height:80px}.tag-name{font-size:13px}.section-title{font-size:17px}}@media(max-width:400px){.tags-grid{grid-template-columns:repeat(2,1fr)}}.game-layout{display:grid;grid-template-columns:130px 1fr 250px;grid-template-rows:1fr;min-height:calc(100vh - 48px)}.left-sidebar{background:var(--color-bg-dark);border-right:1px solid var(--border-subtle);padding:0}.sidebar-empty{height:100%}.game-main{background:var(--color-bg-board);padding:30px 20px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.right-sidebar{background:var(--color-bg-dark);border-left:1px solid var(--border-subtle);padding:100px 20px 20px;display:flex;flex-direction:column}.bottom-buttons{display:none;background:var(--color-bg-dark)}.game-mode-buttons{display:flex;flex-direction:column;gap:12px;width:100%}.mode-button{font-family:var(--font-primary);background:var(--color-gold);color:var(--color-text-dark);border:none;padding:14px 24px;border-radius:var(--radius-md);font-size:15px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm);width:100%}.mode-button:hover{background:var(--color-gold-light);transform:translateY(-2px);box-shadow:var(--shadow-md)}.mode-button:active{background:var(--color-gold-dark);transform:translateY(0)}@media(max-width:1200px){.game-layout{grid-template-columns:100px 1fr 200px}.right-sidebar{padding:60px 15px 15px}}@media(max-width:900px){.game-layout{grid-template-columns:80px 1fr;grid-template-rows:1fr auto}.right-sidebar{display:none}.bottom-buttons{display:flex;gap:10px;padding:15px;grid-column:1 / -1}.bottom-buttons .mode-button{flex:1;padding:12px 20px;font-size:14px}}@media(max-width:600px){.game-layout{grid-template-columns:1fr}.left-sidebar{display:none}.game-main{padding:20px 10px}.bottom-buttons{flex-direction:column;gap:10px}.bottom-buttons .mode-button{width:100%}}.analysis-layout{min-height:calc(100vh - 56px);background:linear-gradient(180deg,var(--color-bg-medium) 0%,var(--color-bg-board) 100%)}.analysis-center{background:transparent;display:flex;align-items:flex-start;justify-content:center;padding:16px 20px;overflow:hidden}.center-content{display:flex;gap:20px;align-items:flex-start;max-width:1200px;width:100%;justify-content:center}.board-area{display:flex;flex-direction:column;flex-shrink:0}.board-and-eval{display:flex;align-items:stretch;gap:6px}.board-container{background:var(--color-bg-dark);padding:8px;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.analysis-player-row{display:flex;align-items:center;gap:6px;padding:4px 10px 4px 40px;height:28px}.analysis-player-name{color:var(--color-text-accent);font-weight:700;font-size:15px}.analysis-player-rating{color:var(--color-text-muted);font-size:13px}.analysis-captured{display:flex;align-items:center;gap:0px;margin-left:6px}.analysis-adv{font-size:13px;font-weight:700;color:var(--color-gold);margin-left:4px}.captured-fig{font-size:16px;line-height:1;margin-left:-2px}.captured-fig.white{color:#fff;text-shadow:0 0 3px rgba(0,0,0,.7),0 1px 2px rgba(0,0,0,.5)}.captured-fig.black{color:#1a1a1a;text-shadow:-1px -1px 0 rgba(255,255,255,.6),1px -1px 0 rgba(255,255,255,.6),-1px 1px 0 rgba(255,255,255,.6),1px 1px 0 rgba(255,255,255,.6),0 0 3px rgba(255,255,255,.4)}.eval-bar{width:28px;flex-shrink:0;background:#2a1a14;border-radius:var(--radius-sm);overflow:hidden;position:relative;display:flex;flex-direction:column-reverse;border:1px solid var(--border-subtle)}.eval-bar-fill{background:#e8e0d0;width:100%;transition:height .4s ease}.eval-bar.eval-bar-black{flex-direction:column}.eval-bar-mid{position:absolute;top:50%;left:0;right:0;height:1px;background:#d2b48c66;pointer-events:none}.eval-bar-value{position:absolute;bottom:4px;left:50%;transform:translate(-50%);font-size:9px;font-weight:700;color:var(--color-text-dark);background:#e8e0d0e6;padding:1px 4px;border-radius:3px;line-height:1.2;white-space:nowrap}.eval-bar.eval-bar-black .eval-bar-value{color:var(--color-text-primary);background:#1c1410d9}.moves-panel{width:340px;background:var(--color-bg-darkest);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-md)}.current-move-panel{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--color-bg-dark);border-bottom:1px solid var(--border-subtle);min-height:48px;flex-shrink:0}.current-move-left{display:flex;align-items:center;gap:8px;flex:1}.current-move-icon{font-size:18px;min-width:24px;text-align:center}.current-move-notation{font-size:16px;font-weight:700;color:var(--color-text-accent)}.current-move-quality-name{font-size:13px;font-weight:600;color:var(--color-text-muted)}.current-move-eval{display:flex;align-items:center}.eval-value{font-size:16px;font-weight:700;padding:5px 10px;border-radius:var(--radius-sm)}.eval-value.white-advantage{background:#e8e0d0eb;color:var(--color-text-dark);border:2px solid rgba(210,180,140,.3)}.eval-value.black-advantage{background:var(--color-bg-medium);color:var(--color-text-primary);border:2px solid var(--border-medium)}.analyzing-banner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 14px;background:linear-gradient(180deg,#d2b48c1a,#d2b48c0a);border-bottom:1px solid var(--border-medium);font-size:12.5px;color:var(--color-text-primary);flex-shrink:0}.analyzing-spinner{width:16px;height:16px;border:2px solid rgba(210,180,140,.2);border-top-color:var(--color-gold);border-radius:50%;animation:spin-analysis .7s linear infinite;flex-shrink:0}.analyzing-text{display:flex;align-items:baseline;gap:6px;min-width:0;overflow:hidden}.analyzing-title{color:var(--color-text-accent);font-weight:700;white-space:nowrap}.analyzing-stage{color:var(--color-text-muted);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analyzing-stats{display:flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums;flex-shrink:0}.analyzing-cache{grid-column:1 / -1;font-size:11px;color:var(--color-text-muted);font-variant-numeric:tabular-nums;letter-spacing:.02em}.analyzing-flavor{grid-column:1 / -1;font-size:12px;font-style:italic;color:var(--color-text-muted);opacity:.9;letter-spacing:.01em;animation:analyzing-flavor-fade .4s ease}@keyframes analyzing-flavor-fade{0%{opacity:0;transform:translateY(-2px)}to{opacity:.9;transform:translateY(0)}}.analyzing-pct{color:var(--color-gold);font-weight:700}.analyzing-elapsed{color:var(--color-text-muted);font-size:11.5px}.analyzing-quick-toggle{grid-column:1 / -1;display:flex;align-items:center;gap:6px;margin-top:2px}.analyzing-quick-btn{background:#d2b48c1a;border:1px solid rgba(210,180,140,.3);color:var(--color-gold);font-size:12px;font-weight:600;padding:4px 10px;border-radius:4px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.analyzing-quick-btn:hover{background:#d2b48c33;border-color:#d2b48c80}.analyzing-quick-info{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#d2b48c2e;color:var(--color-text-muted);font-size:11px;font-weight:700;cursor:help;-webkit-user-select:none;user-select:none}.analyzing-progress-bar{grid-column:1 / -1;height:3px;background:#d2b48c1a;border-radius:2px;overflow:hidden}.analyzing-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-gold-dark),var(--color-gold),var(--color-gold-light));transition:width .3s ease}.analyzing-banner.analyzing-done{grid-template-columns:1fr;background:#6abf691a;color:var(--color-success);font-weight:600;text-align:center;animation:exp-fade-in .3s ease}.explanation-panel{background:linear-gradient(180deg,var(--color-bg-medium) 0%,var(--color-bg-dark) 100%);border-bottom:1px solid var(--border-subtle);padding:10px 14px;display:flex;flex-direction:column;gap:6px;flex-shrink:0;height:180px;overflow-y:auto}.explanation-panel::-webkit-scrollbar{width:4px}.explanation-panel::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:2px}@keyframes exp-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.explanation-panel.exp-blunder{border-left:3px solid var(--color-danger)}.explanation-panel.exp-mistake{border-left:3px solid #FD7F20}.explanation-panel.exp-inaccuracy{border-left:3px solid var(--color-warning)}.explanation-panel.exp-great{border-left:3px solid #94C973}.explanation-panel.exp-brilliant{border-left:3px solid #75e6da}.explanation-panel.exp-neutral{border-left:3px solid var(--border-medium)}.explanation-panel.exp-empty-state{border-left:3px solid var(--border-subtle);justify-content:center;align-items:center}.exp-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:16px 8px;color:var(--color-text-muted)}.exp-empty-icon{font-size:24px;opacity:.6}.exp-empty-text{font-size:12.5px;line-height:1.4;max-width:220px}.exp-neutral-badge .exp-fact-icon{color:#94c973}.exp-neutral-badge .exp-fact-text{color:var(--color-text-muted);font-style:italic}.exp-title{font-size:13px;font-weight:700;color:var(--color-text-accent);letter-spacing:.02em;margin-bottom:2px}.exp-row{display:flex;align-items:baseline;gap:6px;font-size:12.5px;line-height:1.4}.exp-label{color:var(--color-text-muted);font-weight:600;flex-shrink:0;font-size:11.5px;text-transform:lowercase}.exp-moves{color:var(--color-text-primary);font-family:Open Sans,monospace;font-weight:600;font-size:12.5px;word-break:break-word}.exp-warning{color:var(--color-warning);font-weight:700;font-size:12.5px}.exp-blunder .exp-warning{color:var(--color-danger)}.exp-material{color:var(--color-danger);font-weight:600;font-size:12px}.exp-action{align-items:center;background:#d2b48c0d;padding:4px 8px;border-radius:6px;margin-bottom:2px}.exp-action-dot{font-size:13px;flex-shrink:0}.exp-action-text{color:var(--color-text-accent);font-weight:600;font-size:12.5px}.exp-fact-icon{font-size:13px;flex-shrink:0;margin-right:4px}.exp-fact-text{color:var(--color-text-primary);font-size:12.5px;line-height:1.4}.exp-negative .exp-fact-text{color:var(--color-text-primary)}.exp-positive .exp-fact-text{color:var(--color-text-accent)}.exp-toggle-pv{background:transparent;border:none;color:var(--color-text-muted);font-size:11.5px;font-weight:600;cursor:pointer;padding:4px 0 0;text-align:left;transition:color var(--transition-fast);font-family:var(--font-primary)}.exp-toggle-pv:hover{color:var(--color-gold)}.exp-pv-block{margin-top:4px;padding-top:6px;border-top:1px dashed var(--border-subtle);display:flex;flex-direction:column;gap:4px;animation:exp-fade-in .2s ease}.moves-list-container{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px;min-height:60px}.no-moves-message,.analyzing-message{text-align:center;padding:20px;color:var(--color-text-dim);font-size:13px}.moves-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}.move-item{padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:#d2b48c0a;display:flex;align-items:center;gap:4px;position:relative;min-height:32px;font-size:13px}.move-item:hover{background:#d2b48c1a}.move-item.active{background:#d2b48c24;font-weight:600;box-shadow:0 0 0 2px var(--color-gold) inset}.move-item.brilliant{background:#75e6da1f;border-left:3px solid #75e6da}.move-item.brilliant.active{background:#75e6da33;box-shadow:0 0 0 2px #75e6da inset}.move-item.great{background:#94c9731f;border-left:3px solid #94C973}.move-item.great.active{background:#94c97338;box-shadow:0 0 0 2px #94c973 inset}.move-item.best{background:#94c9731a;border-left:3px solid #94C973}.move-item.best.active{background:#94c97333;box-shadow:0 0 0 2px #94c973 inset}.move-item.excellent{background:#94c97314;border-left:3px solid #94C973}.move-item.excellent.active{background:#94c9732e;box-shadow:0 0 0 2px #94c973 inset}.move-item.good{background:#b2d2a414;border-left:3px solid #B2D2A4}.move-item.good.active{background:#b2d2a429;box-shadow:0 0 0 2px #b2d2a4 inset}.move-item.inaccuracy{background:#e8a8381f;border-left:3px solid var(--color-warning)}.move-item.inaccuracy.active{background:#e8a83838;box-shadow:0 0 0 2px var(--color-warning) inset}.move-item.mistake{background:#fd7f201f;border-left:3px solid #FD7F20}.move-item.mistake.active{background:#fd7f2038;box-shadow:0 0 0 2px #fd7f20 inset}.move-item.blunder{background:#d9404024;border-left:3px solid var(--color-danger)}.move-item.blunder.active{background:#d9404042;box-shadow:0 0 0 2px var(--color-danger) inset}.move-number{font-size:11px;color:var(--color-text-dim);font-weight:600;margin-right:2px}.move-item.active .move-number{color:var(--color-gold)}.move-notation{font-size:13px;font-weight:500;color:var(--color-text-primary);flex:1}.move-quality-icon{font-size:12px;position:absolute;right:6px;top:50%;transform:translateY(-50%)}.move-item.brilliant .move-quality-icon{color:#75e6da}.move-item.great .move-quality-icon,.move-item.best .move-quality-icon,.move-item.excellent .move-quality-icon,.move-item.good .move-quality-icon{color:#94c973}.move-item.inaccuracy .move-quality-icon{color:var(--color-warning)}.move-item.mistake .move-quality-icon{color:#fd7f20}.move-item.blunder .move-quality-icon{color:var(--color-danger)}.moves-list-container::-webkit-scrollbar{width:5px}.moves-list-container::-webkit-scrollbar-track{background:#d2b48c08}.moves-list-container::-webkit-scrollbar-thumb{background:#d2b48c2e;border-radius:3px}.sidebar-nav-controls{display:flex;gap:8px;padding:12px 14px;border-top:1px solid var(--border-subtle);background:var(--color-bg-dark);justify-content:center;flex-shrink:0}.sidebar-nav-controls button{flex:1;background:var(--color-bg-medium);color:var(--color-text-accent);border:1px solid var(--border-medium);height:44px;border-radius:var(--radius-md);font-size:18px;font-weight:700;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.sidebar-nav-controls button:hover:not(:disabled){background:var(--color-bg-board);border-color:var(--border-gold);color:var(--color-gold);box-shadow:var(--shadow-gold)}.sidebar-nav-controls button:active:not(:disabled){transform:translateY(1px);box-shadow:none}.sidebar-nav-controls button:disabled{opacity:.3;cursor:not-allowed}.bottom-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 14px;border-top:1px solid var(--border-subtle);background:var(--color-bg-dark);flex-shrink:0}.analysis-btn-bottom{display:flex;align-items:center;justify-content:center;gap:5px;padding:10px 8px;border-radius:var(--radius-md);font-family:var(--font-primary);font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);border:1px solid var(--border-medium);background:var(--color-bg-medium);color:var(--color-text-primary);min-width:0;white-space:nowrap;box-shadow:var(--shadow-sm)}.analysis-btn-primary{grid-column:1 / -1}.analysis-btn-bottom .btn-ico{font-size:14px;line-height:1}.analysis-btn-bottom:hover:not(:disabled){background:var(--color-bg-board);border-color:var(--border-gold);color:var(--color-gold);box-shadow:var(--shadow-gold)}.analysis-btn-bottom:active:not(:disabled){transform:translateY(1px);box-shadow:none}.analysis-btn-bottom:disabled{opacity:.4;cursor:not-allowed}.analysis-btn-primary{background:linear-gradient(180deg,var(--color-gold) 0%,var(--color-gold-dark) 100%);color:var(--color-text-dark);border-color:var(--color-gold-dark)}.analysis-btn-primary:hover:not(:disabled){background:linear-gradient(180deg,var(--color-gold-light) 0%,var(--color-gold) 100%);color:var(--color-text-dark);border-color:var(--color-gold)}.analysis-btn-green{background:linear-gradient(180deg,var(--color-gold) 0%,var(--color-gold-dark) 100%)!important;color:var(--color-text-dark)!important;border-color:var(--color-gold-dark)!important}.analysis-btn-green:hover{background:linear-gradient(180deg,var(--color-gold-light) 0%,var(--color-gold) 100%)!important}.share-game-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:9px 14px;border:none;border-top:1px solid var(--border-subtle);background:var(--color-bg-dark);color:var(--color-text-muted);font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.share-game-btn .share-icon{font-size:14px;line-height:1}.share-game-btn .share-label{font-size:13px}.share-game-btn:hover{background:var(--color-bg-medium);color:var(--color-gold)}.share-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#6abf69f2;color:#fff;padding:10px 22px;border-radius:var(--radius-md);font-size:14px;font-weight:600;box-shadow:var(--shadow-md);z-index:9999;display:flex;align-items:center;gap:8px;animation:toast-slide-up .3s ease,toast-fade-out .4s 2s ease forwards;pointer-events:none}@keyframes toast-slide-up{0%{transform:translate(-50%) translateY(20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}@keyframes toast-fade-out{0%{opacity:1}to{opacity:0}}.analysis-loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.analysis-loading-state p{color:var(--color-text-muted);font-size:15px}.analysis-loading-spinner{width:40px;height:40px;border:3px solid var(--border-subtle);border-top-color:var(--color-gold);border-radius:50%;animation:spin-analysis .8s linear infinite}@keyframes spin-analysis{to{transform:rotate(360deg)}}.analysis-login-gate{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:50px 30px;text-align:center;min-height:400px}.gate-icon{font-size:48px;margin-bottom:15px}.analysis-login-gate h3{color:var(--color-text-accent);margin:0 0 8px;font-size:20px}.analysis-login-gate p{color:var(--color-text-muted);margin:0 0 20px;font-size:14px;max-width:260px}.gate-login-btn{background:linear-gradient(180deg,var(--color-gold) 0%,var(--color-gold-dark) 100%);color:var(--color-text-dark);border:none;padding:14px 32px;border-radius:var(--radius-md);font-size:16px;font-weight:700;cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.gate-login-btn:hover{background:linear-gradient(180deg,var(--color-gold-light) 0%,var(--color-gold) 100%);box-shadow:var(--shadow-gold);transform:translateY(-1px)}@media(max-width:1100px){.moves-panel{width:300px}.center-content{gap:14px}.current-move-notation{font-size:14px}.eval-value{font-size:14px;padding:4px 8px}}@media(max-width:900px){.center-content{flex-direction:column;align-items:center;gap:12px}.analysis-center{padding:12px 8px}.eval-bar{display:none}.moves-panel{width:100%;max-width:520px;height:auto!important;max-height:420px}.moves-list-container{max-height:200px;min-height:80px;padding:6px}.move-item{padding:5px 6px;min-height:28px;font-size:12px}.moves-grid{gap:3px}.move-number{font-size:10px}.move-notation{font-size:12px}.move-quality-icon{font-size:10px;right:4px}.sidebar-nav-controls{padding:10px;gap:6px}.sidebar-nav-controls button{height:38px;font-size:16px}.bottom-buttons{padding:10px;gap:6px}.analysis-btn-bottom{padding:8px 6px;font-size:12px}.current-move-panel{padding:8px 10px;min-height:40px}.current-move-icon{font-size:14px}.current-move-notation{font-size:13px}.current-move-quality-name{font-size:11px}.eval-value{font-size:13px;padding:3px 7px}.explanation-panel{padding:8px 10px;gap:4px;height:140px}.exp-title{font-size:12px}.exp-row,.exp-moves{font-size:11.5px}.exp-label{font-size:11px}.exp-empty-icon{font-size:20px}.exp-empty-text{font-size:11.5px}.share-toast{font-size:13px;padding:8px 18px;bottom:16px}}@media(max-width:600px){.analysis-player-name{font-size:12px}.moves-panel{max-height:360px}.moves-list-container{max-height:160px}.move-item{padding:4px 5px;min-height:26px}.sidebar-nav-controls button{height:34px;font-size:14px}.bottom-buttons{gap:4px;padding:8px}.analysis-btn-bottom{padding:7px 4px;font-size:11px}.analysis-btn-bottom .btn-ico{font-size:12px}}.rbc-btn{color:inherit;font:inherit;margin:0}button.rbc-btn{overflow:visible;text-transform:none;-webkit-appearance:button;-moz-appearance:button;appearance:button;cursor:pointer}button[disabled].rbc-btn{cursor:not-allowed}button.rbc-input::-moz-focus-inner{border:0;padding:0}.rbc-calendar{-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.rbc-m-b-negative-3{margin-bottom:-3px}.rbc-h-full{height:100%}.rbc-calendar *,.rbc-calendar *:before,.rbc-calendar *:after{-webkit-box-sizing:inherit;box-sizing:inherit}.rbc-abs-full,.rbc-row-bg{overflow:hidden;position:absolute;inset:0}.rbc-ellipsis,.rbc-show-more,.rbc-row-segment .rbc-event-content,.rbc-event-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rbc-rtl{direction:rtl}.rbc-off-range{color:#999}.rbc-off-range-bg{background:#e6e6e6}.rbc-header{overflow:hidden;-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;text-overflow:ellipsis;white-space:nowrap;padding:0 3px;text-align:center;vertical-align:middle;font-weight:700;font-size:90%;min-height:0;border-bottom:1px solid #ddd}.rbc-header+.rbc-header{border-left:1px solid #ddd}.rbc-rtl .rbc-header+.rbc-header{border-left-width:0;border-right:1px solid #ddd}.rbc-header>a,.rbc-header>a:active,.rbc-header>a:visited{color:inherit;text-decoration:none}.rbc-button-link{color:inherit;background:none;margin:0;padding:0;border:none;cursor:pointer;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.rbc-row-content{position:relative;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none;z-index:4}.rbc-row-content-scrollable{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%}.rbc-row-content-scrollable .rbc-row-content-scroll-container{height:100%;overflow-y:scroll;-ms-overflow-style:none;scrollbar-width:none}.rbc-row-content-scrollable .rbc-row-content-scroll-container::-webkit-scrollbar{display:none}.rbc-today{background-color:#eaf6ff}.rbc-toolbar{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:10px;font-size:16px}.rbc-toolbar .rbc-toolbar-label{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;padding:0 10px;text-align:center}.rbc-toolbar button{color:#373a3c;display:inline-block;margin:0;text-align:center;vertical-align:middle;background:none;background-image:none;border:1px solid #ccc;padding:.375rem 1rem;border-radius:4px;line-height:normal;white-space:nowrap}.rbc-toolbar button:active,.rbc-toolbar button.rbc-active{background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px #00000020;background-color:#e6e6e6;border-color:#adadad}.rbc-toolbar button:active:hover,.rbc-toolbar button:active:focus,.rbc-toolbar button.rbc-active:hover,.rbc-toolbar button.rbc-active:focus{color:#373a3c;background-color:#d4d4d4;border-color:#8c8c8c}.rbc-toolbar button:focus{color:#373a3c;background-color:#e6e6e6;border-color:#adadad}.rbc-toolbar button:hover{color:#373a3c;cursor:pointer;background-color:#e6e6e6;border-color:#adadad}.rbc-btn-group{display:inline-block;white-space:nowrap}.rbc-btn-group>button:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.rbc-btn-group>button:last-child:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.rbc-rtl .rbc-btn-group>button:first-child:not(:last-child){border-radius:0 4px 4px 0}.rbc-rtl .rbc-btn-group>button:last-child:not(:first-child){border-radius:4px 0 0 4px}.rbc-btn-group>button:not(:first-child):not(:last-child){border-radius:0}.rbc-btn-group button+button{margin-left:-1px}.rbc-rtl .rbc-btn-group button+button{margin-left:0;margin-right:-1px}.rbc-btn-group+.rbc-btn-group,.rbc-btn-group+button{margin-left:10px}@media(max-width:767px){.rbc-toolbar{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.rbc-event,.rbc-day-slot .rbc-background-event{border:none;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:none;box-shadow:none;margin:0;padding:2px 5px;background-color:#3174ad;border-radius:5px;color:#fff;cursor:pointer;width:100%;text-align:left}.rbc-slot-selecting .rbc-event,.rbc-slot-selecting .rbc-day-slot .rbc-background-event,.rbc-day-slot .rbc-slot-selecting .rbc-background-event{cursor:inherit;pointer-events:none}.rbc-event.rbc-selected,.rbc-day-slot .rbc-selected.rbc-background-event{background-color:#265985}.rbc-event:focus,.rbc-day-slot .rbc-background-event:focus{outline:5px auto #3b99fc}.rbc-event-label{font-size:80%}.rbc-event-overlaps{-webkit-box-shadow:-1px 1px 5px 0px rgba(51,51,51,.5);box-shadow:-1px 1px 5px #33333380}.rbc-event-continues-prior{border-top-left-radius:0;border-bottom-left-radius:0}.rbc-event-continues-after{border-top-right-radius:0;border-bottom-right-radius:0}.rbc-event-continues-earlier{border-top-left-radius:0;border-top-right-radius:0}.rbc-event-continues-later{border-bottom-left-radius:0;border-bottom-right-radius:0}.rbc-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.rbc-row-segment{padding:0 1px 1px}.rbc-selected-cell{background-color:#0000001a}.rbc-show-more{background-color:#ffffff4d;z-index:4;font-weight:700;font-size:85%;height:auto;line-height:normal;color:#3174ad}.rbc-show-more:hover,.rbc-show-more:focus{color:#265985}.rbc-month-view{position:relative;border:1px solid #ddd;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;width:100%;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none;height:100%}.rbc-month-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.rbc-month-row{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;-ms-flex-preferred-size:0px;flex-basis:0px;overflow:hidden;height:100%}.rbc-month-row+.rbc-month-row{border-top:1px solid #ddd}.rbc-date-cell{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;min-width:0;padding-right:5px;text-align:right}.rbc-date-cell.rbc-now{font-weight:700}.rbc-date-cell>a,.rbc-date-cell>a:active,.rbc-date-cell>a:visited{color:inherit;text-decoration:none}.rbc-row-bg{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;overflow:hidden;right:1px}.rbc-day-bg{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%}.rbc-day-bg+.rbc-day-bg{border-left:1px solid #ddd}.rbc-rtl .rbc-day-bg+.rbc-day-bg{border-left-width:0;border-right:1px solid #ddd}.rbc-overlay{position:absolute;z-index:5;border:1px solid #e5e5e5;background-color:#fff;-webkit-box-shadow:0 5px 15px rgba(0,0,0,.25);box-shadow:0 5px 15px #00000040;padding:10px}.rbc-overlay>*+*{margin-top:1px}.rbc-overlay-header{border-bottom:1px solid #e5e5e5;margin:-10px -10px 5px;padding:2px 10px}.rbc-agenda-view{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;overflow:auto}.rbc-agenda-view table.rbc-agenda-table{width:100%;border:1px solid #ddd;border-spacing:0;border-collapse:collapse}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td{padding:5px 10px;vertical-align:top}.rbc-agenda-view table.rbc-agenda-table .rbc-agenda-time-cell{padding-left:15px;padding-right:15px;text-transform:lowercase}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left:1px solid #ddd}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left-width:0;border-right:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table tbody>tr+tr{border-top:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table thead>tr>th{padding:3px 5px;text-align:left;border-bottom:1px solid #ddd}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table thead>tr>th{text-align:right}.rbc-agenda-time-cell{text-transform:lowercase}.rbc-agenda-time-cell .rbc-continues-after:after{content:" »"}.rbc-agenda-time-cell .rbc-continues-prior:before{content:"« "}.rbc-agenda-date-cell,.rbc-agenda-time-cell{white-space:nowrap}.rbc-agenda-event-cell{width:100%}.rbc-time-column{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-height:100%}.rbc-time-column .rbc-timeslot-group{-webkit-box-flex:1;-ms-flex:1;flex:1}.rbc-timeslot-group{border-bottom:1px solid #ddd;min-height:40px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap}.rbc-time-gutter,.rbc-header-gutter{-webkit-box-flex:0;-ms-flex:none;flex:none}.rbc-label{padding:0 5px}.rbc-day-slot{position:relative}.rbc-day-slot .rbc-events-container{inset:0;position:absolute;margin-right:10px}.rbc-day-slot .rbc-events-container.rbc-rtl{left:10px;right:0}.rbc-day-slot .rbc-event,.rbc-day-slot .rbc-background-event{border:1px solid #265985;display:-webkit-box;display:-ms-flexbox;display:flex;max-height:100%;min-height:20px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column wrap;flex-flow:column wrap;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;overflow:hidden;position:absolute}.rbc-day-slot .rbc-background-event{opacity:.75}.rbc-day-slot .rbc-event-label{-webkit-box-flex:0;-ms-flex:none;flex:none;padding-right:5px;width:auto}.rbc-day-slot .rbc-event-content{width:100%;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;word-wrap:break-word;line-height:1;height:100%;min-height:1em}.rbc-day-slot .rbc-time-slot{border-top:1px solid #f7f7f7}.rbc-time-view-resources .rbc-time-gutter,.rbc-time-view-resources .rbc-time-header-gutter{position:sticky;left:0;background-color:#fff;border-right:1px solid #ddd;z-index:10;margin-right:-1px}.rbc-time-view-resources .rbc-time-header{overflow:hidden}.rbc-time-view-resources .rbc-time-header-content{min-width:auto;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;-ms-flex-preferred-size:0px;flex-basis:0px}.rbc-time-view-resources .rbc-time-header-cell-single-day{display:none}.rbc-time-view-resources .rbc-day-slot{min-width:140px}.rbc-time-view-resources .rbc-header,.rbc-time-view-resources .rbc-day-bg{width:140px;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;-ms-flex-preferred-size:0 px;flex-basis:0 px}.rbc-time-header-content+.rbc-time-header-content{margin-left:-1px}.rbc-time-slot{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0}.rbc-time-slot.rbc-now{font-weight:700}.rbc-day-header{text-align:center}.rbc-slot-selection{z-index:10;position:absolute;background-color:#00000080;color:#fff;font-size:75%;width:100%;padding:3px}.rbc-slot-selecting{cursor:move}.rbc-time-view{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1;flex:1;width:100%;border:1px solid #ddd;min-height:0}.rbc-time-view .rbc-time-gutter{white-space:nowrap;text-align:right}.rbc-time-view .rbc-allday-cell{-webkit-box-sizing:content-box;box-sizing:content-box;width:100%;height:100%;position:relative}.rbc-time-view .rbc-allday-cell+.rbc-allday-cell{border-left:1px solid #ddd}.rbc-time-view .rbc-allday-events{position:relative;z-index:4}.rbc-time-view .rbc-row{-webkit-box-sizing:border-box;box-sizing:border-box;min-height:20px}.rbc-time-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.rbc-time-header.rbc-overflowing{border-right:1px solid #ddd}.rbc-rtl .rbc-time-header.rbc-overflowing{border-right-width:0;border-left:1px solid #ddd}.rbc-time-header>.rbc-row:first-child{border-bottom:1px solid #ddd}.rbc-time-header>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd}.rbc-time-header-cell-single-day{display:none}.rbc-time-header-content{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;min-width:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;border-left:1px solid #ddd}.rbc-rtl .rbc-time-header-content{border-left-width:0;border-right:1px solid #ddd}.rbc-time-header-content>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd;-ms-flex-negative:0;flex-shrink:0}.rbc-time-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;width:100%;border-top:2px solid #ddd;overflow-y:auto;position:relative}.rbc-time-content>.rbc-time-gutter{-webkit-box-flex:0;-ms-flex:none;flex:none}.rbc-time-content>*+*>*{border-left:1px solid #ddd}.rbc-rtl .rbc-time-content>*+*>*{border-left-width:0;border-right:1px solid #ddd}.rbc-time-content>.rbc-day-slot{width:100%;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.rbc-current-time-indicator{position:absolute;z-index:3;left:0;right:0;height:1px;background-color:#74ad31;pointer-events:none}.rbc-resource-grouping.rbc-time-header-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.rbc-resource-grouping .rbc-row .rbc-header{width:141px}.modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;animation:fadeIn .2s ease}.school-modal{background:linear-gradient(135deg,#1e293b,#0f172a);border:1px solid rgba(255,255,255,.1);border-radius:16px;width:100%;max-width:680px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease;box-shadow:0 20px 60px #00000080}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.school-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.school-modal .modal-header h2{margin:0;color:#ffc107;font-size:18px;font-weight:700}.school-modal .modal-close{background:#ffffff14;border:1px solid rgba(255,255,255,.25);color:#e2e8f0;width:32px;height:32px;aspect-ratio:1;padding:0;border-radius:50%;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;line-height:0;flex-shrink:0;box-sizing:border-box}.school-modal .modal-close:hover{background:#ffffff26;border-color:#fff6;color:#fff}.school-modal form{padding:18px 24px}.school-modal .form-group{margin-bottom:14px}.school-modal .form-group label{display:block;color:var(--color-text-muted, rgba(230,223,198,.6));font-size:12px;font-weight:700;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.school-modal .form-group input[type=text],.school-modal .form-group input[type=email],.school-modal .form-group input[type=password],.school-modal .form-group input[type=number],.school-modal .form-group input[type=tel],.school-modal .form-group input[type=url],.school-modal .form-group input[type=date],.school-modal .form-group input[type=time],.school-modal .form-group select,.school-modal .form-group textarea{width:100%;background:var(--color-bg-darkest, #110D0A);border:1px solid var(--border-medium, rgba(210,180,140,.18));border-radius:var(--radius-md, 10px);padding:9px 12px;color:var(--color-text-primary, #E6DFC6);font-size:14px;font-weight:500;transition:all .2s;box-sizing:border-box;max-width:100%;margin:0;font-family:var(--font-primary);caret-color:var(--color-gold, #D2B48C)}.school-modal .form-group input:focus,.school-modal .form-group select:focus,.school-modal .form-group textarea:focus{outline:none;border-color:var(--color-gold, #D2B48C);box-shadow:0 0 0 3px #d2b48c1f}.school-modal .form-group input::placeholder,.school-modal .form-group textarea::placeholder{color:var(--color-text-dim, rgba(230,223,198,.3))}.school-modal .form-group select option{background:var(--color-bg-darkest, #110D0A);color:var(--color-text-primary, #E6DFC6)}.school-modal .form-group textarea{resize:vertical;min-height:80px}.school-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.school-modal .color-picker{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.school-modal .color-option{width:32px;height:32px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:all .2s}.school-modal .color-option:hover{transform:scale(1.1)}.school-modal .color-option.active{border-color:#fff;box-shadow:0 0 0 2px #ffffff4d}.school-modal .color-input{width:32px;height:32px;border:none;border-radius:50%;cursor:pointer;padding:0;background:none}.school-modal .color-input::-webkit-color-swatch-wrapper{padding:0}.school-modal .color-input::-webkit-color-swatch{border:2px solid rgba(255,255,255,.3);border-radius:50%}.school-modal .avatar-preview{margin-top:10px;display:flex;justify-content:center}.school-modal .avatar-preview img{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.2)}.school-modal .modal-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);margin-top:10px}.school-modal .btn-cancel,.school-modal .btn-save{padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:none}.school-modal .btn-cancel{background:#ffffff14;color:#fff;border:2px solid rgba(255,255,255,.45);font-weight:600}.school-modal .btn-cancel:hover{background:#ffffff26;color:#fff;border-color:#fff9}.school-modal .btn-save{background:linear-gradient(135deg,#ffc107,#ff9800);color:#1a1a2e;box-shadow:0 4px 12px #ffc1074d}.school-modal .btn-save:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ffc10766}.school-modal .multi-select-list{max-height:180px;overflow-y:auto;background:#0006;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:8px;margin-top:8px}.school-modal .multi-select-list.students-list{max-height:200px}.school-modal .multi-select-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:6px;cursor:pointer;transition:background .2s;color:#fff;font-weight:500;font-size:14px}.school-modal .multi-select-item:hover{background:#ffffff1a}.school-modal .multi-select-item input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#ffc107}.school-modal .multi-select-item .color-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.school-modal .multi-select-item .item-count{font-size:12px;color:#94a3b8;margin-left:auto}.school-modal .multi-select-item .item-info{font-size:12px;color:#94a3b8;margin-left:auto;background:#ffffff1a;padding:2px 8px;border-radius:10px}.school-modal .no-items{color:#ffffff80;text-align:center;padding:20px;font-size:14px}.school-modal .selected-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.school-modal .selected-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:15px;font-size:12px;font-weight:600}.school-modal .selected-tag.group-tag{background:#3498db4d;color:#5dade2;border:1px solid rgba(52,152,219,.4)}.school-modal .selected-tag.teacher-tag{background:#9b59b64d;color:#bb8fce;border:1px solid rgba(155,89,182,.4)}.school-modal .quick-group-select{background:#fffffff2;border:2px solid rgba(100,100,100,.3);border-radius:6px;padding:6px 10px;color:#1a1a2e;font-size:13px;font-weight:500;cursor:pointer;flex:1}.school-modal .quick-group-select option{background:#fff;color:#1a1a2e;font-weight:500}.school-modal .group-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;color:#fff}.school-modal .no-group{color:#64748b;font-size:13px;font-style:italic}.school-modal .notes-row{flex-direction:column;align-items:flex-start!important}.school-modal .notes-text{color:#94a3b8;font-size:13px;line-height:1.4;margin-top:4px}.school-modal .student-info-header{display:flex;align-items:baseline;gap:10px}.school-modal .student-age{color:#64748b;font-size:13px}.school-modal .teacher-card .card-header{display:flex;align-items:flex-start;gap:15px}.school-modal .teacher-avatar{width:50px;height:50px;border-radius:50%;background:#ffffff1a;display:flex;align-items:center;justify-content:center;font-size:24px;overflow:hidden;flex-shrink:0}.school-modal .teacher-avatar img{width:100%;height:100%;object-fit:cover}.school-modal .teacher-name-info{flex:1}.school-modal .teacher-specialization{color:#ffc107;font-size:13px;display:block;margin-top:4px}.school-modal .elo-badge{background:#ffc10733;color:#ffc107;padding:4px 10px;border-radius:4px;font-weight:600;font-size:13px}.school-modal .bio-row{margin-top:8px}.school-modal .bio-text{color:#94a3b8;font-size:13px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.school-modal.lesson-modal{max-width:600px}.school-modal .btn-link{background:none;border:none;color:#ffc107;font-size:12px;font-weight:600;cursor:pointer;margin-left:10px;text-decoration:underline}.school-modal .btn-link:hover{color:#ffd54f}.school-modal .students-select-list{max-height:200px;overflow-y:auto;background:#0006;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:10px;margin-top:8px}.school-modal .student-checkbox{display:flex;align-items:center;gap:10px;padding:8px;border-radius:4px;cursor:pointer;transition:background .2s;color:#fff;font-weight:500}.school-modal .student-checkbox:hover{background:#ffffff26}.school-modal .student-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.school-modal .student-group-tag{font-size:11px;background:#ffffff26;padding:2px 8px;border-radius:10px;margin-left:auto}.school-modal .no-students{color:#ffffff80;text-align:center;padding:20px;font-size:14px}.school-modal .coming-soon-badge{font-size:10px;background:#ffc107;color:#1a1a2e;padding:2px 6px;border-radius:10px;margin-left:8px;font-weight:600}.school-modal .lesson-room-input{display:flex;gap:10px}.school-modal .lesson-room-input input{flex:1}.school-modal .btn-generate{background:#ffffff26;border:2px solid rgba(255,255,255,.3);color:#fff;padding:10px 15px;border-radius:8px;cursor:pointer;white-space:nowrap;font-weight:600;transition:all .2s}.school-modal .btn-generate:hover{background:#ffffff40;border-color:#ffc107}.school-modal .field-hint{font-size:12px;color:#94a3b8;margin-top:5px;font-weight:500}.school-modal .checkbox-label{display:flex;align-items:center;gap:10px;margin-top:10px;cursor:pointer;color:#fff;font-weight:500}.school-modal .checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.school-modal.details-modal{max-width:500px}.school-modal .details-content{padding:0 30px 20px}.school-modal .detail-section{display:flex;gap:15px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.1)}.school-modal .detail-section:last-child{border-bottom:none}.school-modal .detail-icon{font-size:24px;width:40px;text-align:center;flex-shrink:0}.school-modal .detail-info{flex:1}.school-modal .detail-label{font-size:12px;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-weight:600}.school-modal .detail-primary{color:#fff;font-size:16px;font-weight:600;display:flex;align-items:center;gap:8px}.school-modal .detail-secondary{color:#cbd5e1;font-size:14px;margin-top:2px;font-weight:500}.school-modal .detail-text{color:#e2e8f0;font-size:14px;line-height:1.5;font-weight:500}.school-modal .group-color-dot{width:12px;height:12px;border-radius:50%;display:inline-block}.school-modal .students-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.school-modal .student-tag{background:#ffffff26;padding:4px 10px;border-radius:15px;font-size:13px;color:#fff;font-weight:500;border:1px solid rgba(255,255,255,.2)}.school-modal .room-link{color:#d4956a;text-decoration:none;font-weight:500}.school-modal .room-link:hover{text-decoration:underline}.school-modal .online-badge{background:#27ae60;color:#fff;font-size:11px;padding:3px 8px;border-radius:10px;font-weight:600}.school-modal .btn-delete{background:#e74c3c33;color:#e74c3c;border:1px solid rgba(231,76,60,.3);padding:12px 20px;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s}.school-modal .btn-delete:hover{background:#e74c3c4d}.school-modal .btn-edit{background:#ffffff26;color:#fff;border:2px solid rgba(255,255,255,.3);padding:12px 20px;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s}.school-modal .btn-edit:hover{background:#ffffff40;border-color:#ffc107}.school-modal .btn-join{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;border:none;padding:12px 20px;border-radius:8px;cursor:pointer;font-weight:600;text-decoration:none;display:inline-block;transition:all .2s}.school-modal .btn-join:hover{transform:translateY(-2px);box-shadow:0 4px 12px #27ae604d}@media(max-width:600px){.school-modal{max-width:100%;max-height:100vh;border-radius:12px 12px 0 0;margin-top:auto}.modal-header,.school-modal form{padding:20px}.form-row{grid-template-columns:1fr;gap:0}.modal-actions{flex-direction:column}.btn-cancel,.btn-save{width:100%;padding:14px}.multi-select-list{max-height:150px}.selected-tags{gap:4px}.selected-tag{font-size:11px;padding:3px 8px}}.school-modal .guardian-children-section{margin:8px 0;padding:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:10px}.school-modal .guardian-children-section>label{display:block;color:#fff;font-size:14px;font-weight:600;margin-bottom:10px;text-transform:none}.school-modal .linked-children-list{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.school-modal .linked-child-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#e4d5b10a;border:1px solid var(--border-subtle, rgba(210,180,140,.08));border-radius:6px;font-size:13px;color:var(--color-text-primary, #E6DFC6)}.school-modal .child-status{font-size:11px;font-weight:600}.school-modal .child-status.pending{color:#d97706}.school-modal .child-status.confirmed{color:#16a34a}.school-modal .child-status.rejected{color:#dc2626}.school-modal .child-search-box{position:relative}.school-modal .child-search-input{font-family:inherit;width:100%;padding:8px 12px;background:var(--color-bg-darkest, #110D0A);border:1px solid var(--border-medium, rgba(210,180,140,.18));border-radius:6px;color:var(--color-text-primary, #E6DFC6);font-size:13px;box-sizing:border-box}.school-modal .child-search-input:focus{border-color:var(--color-gold, #D2B48C);outline:none;box-shadow:0 0 0 3px #d2b48c1f}.school-modal .child-search-input::placeholder{color:#6b7280}.school-modal .child-search-loading{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:12px}.school-modal .child-search-results{margin-top:6px;border:1px solid var(--border-subtle, rgba(210,180,140,.08));border-radius:6px;overflow:hidden;max-height:150px;overflow-y:auto;background:var(--color-bg-darkest, #110D0A)}.school-modal .child-search-item{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;font-size:13px;color:var(--color-text-primary, #E6DFC6);transition:background .1s}.school-modal .child-search-item:hover{background:#e4d5b114}.school-modal .child-username{color:#6b7280;font-size:11px}.school-modal .child-link-btn{margin-left:auto;font-family:inherit;background:#16a34a26;color:#22c55e;border:none;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer}.school-modal .child-link-btn:hover{background:#16a34a40}.school-modal .btn-remove-school{font-family:inherit;background:transparent;color:#f87171;border:1px solid rgba(248,113,113,.3);padding:8px 14px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.school-modal .btn-remove-school:hover{background:#f871711a;border-color:#f8717180}.school-modal .remove-confirm-inline{display:flex;align-items:center;gap:6px}.school-modal .remove-confirm-text{color:#f87171;font-size:13px;font-weight:600}.school-modal .btn-remove-yes{font-family:inherit;background:#dc2626;color:#fff;border:none;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer}.school-modal .btn-remove-yes:hover{background:#b91c1c}.school-modal .btn-remove-no{font-family:inherit;background:#ffffff26;color:#cbd5e1;border:1px solid rgba(255,255,255,.25);padding:6px 12px;border-radius:6px;font-size:12px;cursor:pointer}.school-modal .btn-remove-no:hover{background:#ffffff40;color:#fff}.school-modal .role-select{font-family:inherit;background:var(--color-bg-darkest, #110D0A);border:1px solid var(--color-gold, #D2B48C);color:var(--color-gold, #D2B48C);padding:8px 12px;border-radius:var(--radius-md, 10px);font-size:14px;font-weight:600;cursor:pointer;width:100%;box-sizing:border-box}.school-modal .role-select option{background:var(--color-bg-darkest, #110D0A);color:var(--color-text-primary, #E6DFC6)}.school-modal .multi-select-item input[type=checkbox]{width:18px;min-width:18px;height:18px;flex-shrink:0;margin-right:2px}.calendar-tab{height:100%}.calendar-container{background:#fffffff2;border-radius:12px;padding:15px;box-shadow:0 4px 12px #0003}.rbc-toolbar{margin-bottom:15px;flex-wrap:wrap;gap:10px}.rbc-toolbar button{color:#1a1a1a;background:#e0e0e0;border:1px solid #999;padding:8px 16px;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.rbc-toolbar button:hover{background:#c8c8c8;border-color:#777}.rbc-toolbar button.rbc-active{background:#d4956a;color:#fff;border-color:#d4956a}.rbc-toolbar-label{font-size:18px;font-weight:700;color:#1a1a1a}.rbc-header{padding:10px 5px;font-weight:700;color:#1a1a1a;background:#e8e8e8;border-bottom:2px solid #999!important}.rbc-date-cell{padding:5px 8px;font-weight:600;color:#1a1a1a}.rbc-off-range-bg{background:#e0e0e0}.rbc-today{background:#d4956a26!important}.rbc-current-time-indicator{background-color:#e74c3c}.rbc-event{border-radius:4px!important;padding:2px 6px!important;font-size:12px!important;font-weight:600!important}.rbc-event:focus{outline:2px solid #d4956a}.rbc-event-content{overflow:hidden;text-overflow:ellipsis}.rbc-month-view{border:1px solid #999;border-radius:8px;overflow:hidden}.rbc-month-row{border-bottom:1px solid #bbb}.rbc-day-bg{border-left:1px solid #bbb}.rbc-time-view{border:1px solid #999;border-radius:8px;overflow:hidden}.rbc-time-header{border-bottom:2px solid #999}.rbc-time-content{border-top:none}.rbc-timeslot-group{border-bottom:1px solid #ccc}.rbc-time-slot{border-top:1px dotted #999}.rbc-time-gutter{background:#e8e8e8}.rbc-label{font-size:11px;color:#333;font-weight:600;padding:0 8px}.rbc-overlay{border-radius:8px;box-shadow:0 4px 20px #0003;border:none;padding:10px}.rbc-overlay-header{font-weight:600;padding:8px;border-bottom:1px solid #e0e0e0;margin-bottom:8px}.rbc-agenda-view{border:1px solid #999;border-radius:8px;overflow:hidden}.rbc-agenda-table{border:none}.rbc-agenda-date-cell,.rbc-agenda-time-cell{padding:12px;font-weight:600;color:#1a1a1a}.rbc-agenda-event-cell{padding:12px;color:#1a1a1a}.rbc-slot-selection{background:#d4956a4d;border:2px dashed #d4956a}.rbc-addons-dnd-resizable{border:none}.calendar-event{display:flex;flex-direction:column;gap:2px;line-height:1.3}.event-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-teacher{font-size:10px;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:768px){.calendar-container{padding:10px}.rbc-toolbar{flex-direction:column;align-items:stretch}.rbc-toolbar-label{text-align:center;margin:10px 0}.rbc-btn-group{display:flex;justify-content:center}.rbc-toolbar button{padding:6px 12px;font-size:13px}}.lesson-packs-tab{padding:0}.lp-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;flex-wrap:wrap}.lp-header-left{display:flex;flex-direction:column;gap:4px}.lp-header-right{display:flex;gap:8px;align-items:center}.lp-title{color:var(--color-text-accent, #E8D5B5);font-size:20px;font-weight:700;margin:0}.lp-subtitle{color:var(--color-text-muted, #8a7a6a);font-size:13px;margin:0}.lp-back-btn{font-family:var(--font-primary, inherit);background:transparent;border:none;color:var(--color-text-muted, #8a7a6a);cursor:pointer;font-size:13px;padding:0;margin-bottom:4px}.lp-back-btn:hover{color:var(--color-text-accent, #E8D5B5)}.lp-generate-btn{font-family:var(--font-primary, inherit);background:#d2b48c1f;border:1px solid rgba(210,180,140,.3);color:var(--color-gold, #C9A84C);padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer}.lp-generate-btn:hover:not(:disabled){background:#d2b48c33}.lp-generate-btn:disabled{opacity:.5;cursor:not-allowed}.lp-error{background:#d940401a;border:1px solid rgba(217,64,64,.3);color:#ef9a9a;padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:16px}.lp-two-column{display:grid;grid-template-columns:280px 1fr;gap:20px;min-height:500px}.lp-left-panel{background:#e4d5b108;border:2px dashed var(--border-subtle, rgba(228,213,177,.1));border-radius:12px;display:flex;flex-direction:column;transition:border-color .2s,background-color .2s,box-shadow .2s;position:sticky;top:20px;max-height:calc(100vh - 180px);overflow:hidden}.lp-left-panel.drag-over{border-color:var(--color-gold, #C9A84C);background:#c9a84c14;box-shadow:0 0 20px #c9a84c26}.lp-panel-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--border-subtle, rgba(228,213,177,.08))}.lp-panel-title{color:var(--color-text-accent, #E8D5B5);font-size:14px;font-weight:700}.lp-panel-count{color:var(--color-gold, #C9A84C);font-size:13px;font-weight:700;background:#c9a84c26;padding:2px 10px;border-radius:10px}.lp-panel-empty{padding:30px 16px;text-align:center;color:var(--color-text-dim, #6a5a4a);font-size:13px}.lp-panel-empty p{margin:0}.lp-fav-list{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:4px}.lp-fav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;background:#c9a84c0d;border:1px solid rgba(201,168,76,.1);cursor:pointer;transition:background .15s}.lp-fav-item:hover{background:#c9a84c1f;border-color:#c9a84c40}.lp-fav-icon{font-size:16px;flex-shrink:0}.lp-fav-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.lp-fav-name{color:var(--color-text-primary, #E8D5B5);font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lp-fav-count{color:var(--color-text-dim, #6a5a4a);font-size:11px}.lp-fav-remove{font-family:var(--font-primary, inherit);background:transparent;border:none;color:var(--color-text-dim, #6a5a4a);cursor:pointer;font-size:13px;padding:2px 6px;border-radius:4px;flex-shrink:0}.lp-fav-remove:hover{color:#ef9a9a;background:#d940401a}.lp-fav-list::-webkit-scrollbar{width:4px}.lp-fav-list::-webkit-scrollbar-thumb{background:#e4d5b126;border-radius:2px}.lp-right-panel{display:flex;flex-direction:column;gap:24px}.lp-category-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.lp-category-header .lp-category-title{margin:0}.lp-category-title{color:var(--color-text-accent, #E8D5B5);font-size:15px;font-weight:700;margin:0 0 10px}.lp-category-tags{display:flex;flex-direction:column;gap:2px}.lp-tag-header{font-family:var(--font-primary, inherit);width:100%;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:8px;background:#e4d5b10a;border:1px solid transparent;cursor:pointer;transition:background .15s;text-align:left;color:var(--color-text-primary, #E8D5B5)}.lp-tag-header:hover{background:#e4d5b11a;border-color:var(--border-subtle, rgba(228,213,177,.08))}.lp-tag-icon{font-size:16px;flex-shrink:0}.lp-tag-name{font-size:14px;font-weight:500;flex:1}.lp-tag-stats{color:var(--color-text-dim, #6a5a4a);font-size:11px;flex-shrink:0}.lp-tag-arrow{color:var(--color-text-dim, #6a5a4a);font-size:10px;transition:transform .2s;flex-shrink:0}.lp-tag-arrow.open{transform:rotate(90deg)}.lp-tag-packs{padding:4px 0 8px 38px;display:flex;flex-direction:column;gap:2px}.lp-pack-loading{color:var(--color-text-dim, #6a5a4a);font-size:12px;padding:8px 0}.lp-pack-row{display:flex;align-items:center;gap:8px;padding:7px 12px;border-radius:6px;cursor:pointer;transition:background .12s;font-size:13px}.lp-pack-row:hover{background:#e4d5b114}.lp-pack-row.in-fav{opacity:.6}.lp-pack-drag{color:#e4d5b133;cursor:grab;font-size:14px;-webkit-user-select:none;user-select:none;flex-shrink:0}.lp-pack-drag:active{cursor:grabbing}.lp-pack-label{color:var(--color-text-primary, #E8D5B5);font-weight:500;flex:1}.lp-pack-count{color:var(--color-text-dim, #6a5a4a);font-size:11px;flex-shrink:0}.lp-pack-added{font-size:14px;flex-shrink:0}.lp-pack-add-btn{font-family:var(--font-primary, inherit);background:#c9a84c26;border:1px solid rgba(201,168,76,.25);color:var(--color-gold, #C9A84C);width:26px;height:26px;border-radius:6px;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s;line-height:1}.lp-pack-add-btn:hover{background:#c9a84c4d;transform:scale(1.1)}.lp-opening-search{position:relative;flex-shrink:0}.lp-opening-search-input{font-family:var(--font-primary, inherit);background:var(--color-bg-darkest, #110D0A);border:1px solid rgba(228,213,177,.12);color:var(--color-text-primary, #E8D5B5);padding:6px 28px 6px 10px;border-radius:6px;font-size:12px;width:180px}.lp-opening-search-input::placeholder{color:var(--color-text-dim, #6a5a4a)}.lp-opening-search-input:focus{outline:none;border-color:var(--color-gold, #C9A84C)}.lp-opening-search-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--color-text-dim, #6a5a4a);cursor:pointer;font-size:12px;padding:0}.lp-play-btn{font-family:var(--font-primary, inherit);background:var(--color-gold, #C9A84C);color:var(--color-bg-darkest, #110D0A);border:none;padding:8px 18px;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer}.lp-play-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.lp-puzzles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.lp-puzzle-card{background:#e4d5b10f;border:1px solid rgba(228,213,177,.1);border-radius:8px;overflow:hidden;cursor:pointer;transition:background .15s,transform .15s}.lp-puzzle-card:hover{background:#e4d5b124;border-color:#d2b48c4d;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.lp-mini-board{display:flex;justify-content:center;padding:8px 8px 4px;pointer-events:none}.lp-puzzle-card-info{display:flex;justify-content:space-between;align-items:center;padding:6px 10px 8px}.lp-puzzle-card-name{color:var(--color-text-primary, #E8D5B5);font-size:12px;font-weight:500}.lp-puzzle-card-rating{color:var(--color-text-dim, #6a5a4a);font-size:11px}.lp-play-header{display:flex;align-items:center;gap:16px;margin-bottom:8px}.lp-play-progress-info{flex:1;display:flex;flex-direction:column;gap:2px}.lp-play-pack-name{color:var(--color-text-accent, #E8D5B5);font-size:14px;font-weight:600}.lp-play-counter{color:var(--color-text-muted, #8a7a6a);font-size:12px}.lp-play-stats{display:flex;gap:8px}.lp-stat-mini{font-size:13px;font-weight:600}.lp-stat-mini.solved{color:#6abf69}.lp-stat-mini.failed{color:#ef9a9a}.lp-progress-bar{height:4px;background:#e4d5b114;border-radius:2px;margin-bottom:20px;overflow:hidden}.lp-progress-fill{height:100%;background:var(--color-gold, #C9A84C);border-radius:2px;transition:width .3s ease}.lp-play-content{display:flex;gap:24px;justify-content:center;align-items:flex-start}.lp-play-board{position:relative;flex-shrink:0}.lp-play-result{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:10px;padding:12px 24px;border-radius:12px;font-weight:700;font-size:18px;animation:lpFadeIn .3s ease;pointer-events:none}.lp-play-result.success{background:#6abf69e6;color:#fff}.lp-play-result.fail{background:#d94040e6;color:#fff}@keyframes lpFadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.lp-play-side{display:flex;flex-direction:column;gap:16px;min-width:160px;max-width:200px}.lp-turn-indicator{color:var(--color-text-primary, #E8D5B5);font-size:16px;font-weight:600;padding:10px 14px;background:#e4d5b10f;border-radius:8px;text-align:center}.lp-puzzle-info{display:flex;flex-direction:column;gap:4px;color:var(--color-text-muted, #8a7a6a);font-size:13px}.lp-puzzle-rating{font-size:12px;color:var(--color-text-dim, #6a5a4a)}.lp-play-actions{display:flex;flex-direction:column;gap:8px}.lp-retry-btn,.lp-next-btn{font-family:var(--font-primary, inherit);border:none;padding:10px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer}.lp-retry-btn{background:#e4d5b114;color:var(--color-text-primary, #E8D5B5);border:1px solid rgba(228,213,177,.08)}.lp-retry-btn:hover{background:#e4d5b126}.lp-next-btn{background:var(--color-gold, #C9A84C);color:var(--color-bg-darkest, #110D0A)}.lp-next-btn:hover{filter:brightness(1.1)}.lp-completed{display:flex;flex-direction:column;align-items:center;padding:60px 20px;text-align:center}.lp-completed-icon{font-size:56px;margin-bottom:12px}.lp-completed h2{color:var(--color-text-accent, #E8D5B5);font-size:22px;margin:0 0 16px}.lp-completed-stats{display:flex;gap:20px;margin-bottom:24px}.lp-stat-solved{color:#6abf69;font-size:16px;font-weight:600}.lp-stat-failed{color:#ef9a9a;font-size:16px;font-weight:600}.lp-completed-actions{display:flex;gap:12px}.lp-back-large-btn,.lp-replay-btn{font-family:var(--font-primary, inherit);border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.lp-back-large-btn{background:#e4d5b114;color:var(--color-text-primary, #E8D5B5);border:1px solid rgba(228,213,177,.08)}.lp-replay-btn{background:var(--color-gold, #C9A84C);color:var(--color-bg-darkest, #110D0A)}@media(max-width:768px){.lp-two-column{grid-template-columns:1fr}.lp-left-panel{position:static;max-height:250px}.lp-play-content{flex-direction:column;align-items:center}.lp-play-side{max-width:100%;min-width:100%;flex-direction:row;flex-wrap:wrap;justify-content:center}}.lp-opening-variant{padding-left:12px}.lp-variant-header{font-family:var(--font-primary, inherit);width:100%;display:flex;align-items:center;gap:8px;padding:7px 12px;border-radius:6px;background:transparent;border:none;cursor:pointer;transition:background .12s;text-align:left;color:var(--color-text-muted, #8a7a6a);font-size:13px}.lp-variant-header:hover{background:#e4d5b10f;color:var(--color-text-primary, #E8D5B5)}.lp-variant-name{flex:1;font-weight:500}.lp-variant-packs{padding-left:20px}.school-page{min-height:100vh;background:var(--color-bg-board)}.school-layout{display:grid;grid-template-columns:140px 1fr 200px;min-height:calc(100vh - 48px)}.school-sidebar{background:var(--color-bg-darkest);border-right:1px solid var(--border-subtle);padding:15px 10px}.sidebar-nav{display:flex;flex-direction:column;gap:6px}.sidebar-btn{font-family:var(--font-primary);background:transparent;border:none;color:var(--color-text-primary);padding:10px 15px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;cursor:pointer;text-align:left;width:100%}.sidebar-btn:hover{background:#e4d5b11a}.sidebar-btn.active{background:#e4d5b133;color:var(--color-text-accent);font-weight:600}.school-main{background:var(--color-bg-board);padding:20px;overflow-y:auto}.school-right-panel{background:var(--color-bg-darkest);border-left:1px solid var(--border-subtle);padding:20px}.section-container{background:#e4d5b108;border-radius:var(--radius-lg);padding:20px;min-height:100%}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid var(--border-subtle)}.section-title{color:var(--color-text-accent);font-size:22px;font-weight:700;margin:0;display:flex;align-items:center;gap:10px}.section-actions{display:flex;gap:10px}.btn-primary{font-family:var(--font-primary);background:var(--color-gold);color:var(--color-text-dark);border:none;padding:10px 20px;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--color-gold-light);transform:translateY(-1px)}.btn-primary:active{background:var(--color-gold-dark);transform:translateY(0)}.btn-secondary{font-family:var(--font-primary);background:#e4d5b114;color:var(--color-text-primary);border:1px solid var(--border-medium);padding:10px 20px;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-secondary:hover{background:#e4d5b124}.filters-row{display:flex;gap:15px;margin-bottom:20px;flex-wrap:wrap}.filter-input,.filter-select{font-family:var(--font-primary);background:var(--color-bg-dark);border:1px solid var(--border-medium);color:var(--color-text-primary);padding:10px 15px;border-radius:var(--radius-md);font-size:14px;min-width:180px}.filter-input::placeholder{color:var(--color-text-dim)}.filter-select option{background:var(--color-bg-darkest);color:var(--color-text-primary)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:15px}.item-card{background:#e4d5b10f;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:15px;transition:all var(--transition-fast);position:relative}.item-card:hover{background:#e4d5b11a;transform:translateY(-2px)}.item-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--card-color, var(--color-gold));border-radius:var(--radius-lg) var(--radius-lg) 0 0}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.card-title{color:var(--color-text-accent);font-size:16px;font-weight:600;margin:0}.card-badge{font-size:11px;padding:3px 8px;border-radius:12px;font-weight:600}.badge-beginner{background:#7cb34226;color:var(--color-success)}.badge-intermediate{background:#42a5f526;color:var(--color-info)}.badge-advanced{background:#ab47bc26;color:#ab47bc}.card-body{margin-bottom:12px}.card-info{display:flex;flex-direction:column;gap:6px}.info-row{display:flex;align-items:center;gap:8px;color:var(--color-text-muted);font-size:13px}.card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid var(--border-subtle)}.card-actions{display:flex;gap:6px}.action-btn{font-family:var(--font-primary);background:#e4d5b114;border:none;color:var(--color-text-muted);padding:6px 10px;border-radius:var(--radius-sm);font-size:12px;cursor:pointer;transition:all var(--transition-fast)}.action-btn:hover{background:#e4d5b124;color:var(--color-text-primary)}.action-btn.delete:hover{background:#e5393526;color:var(--color-danger)}.students-count{color:var(--color-text-muted);font-size:13px}.empty-state{text-align:center;padding:60px 20px;color:var(--color-text-muted)}.empty-icon{font-size:48px;margin-bottom:15px;opacity:.5}.empty-state h3{color:var(--color-text-accent);margin-bottom:10px;font-size:18px}.empty-state p{margin-bottom:20px;font-size:14px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;color:var(--color-text-muted)}.spinner{width:40px;height:40px;border:3px solid var(--border-subtle);border-top-color:var(--color-gold);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:15px}@keyframes spin{to{transform:rotate(360deg)}}.placeholder-content{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:var(--color-text-muted);text-align:center}.placeholder-icon{font-size:64px;margin-bottom:20px;opacity:.6}.placeholder-content h2{color:var(--color-text-accent);margin-bottom:10px;font-size:24px}.placeholder-content p{font-size:14px;max-width:300px}@media(max-width:1024px){.school-layout{grid-template-columns:120px 1fr 150px}.sidebar-btn{padding:8px 10px;font-size:13px}}@media(max-width:768px){.school-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr}.school-sidebar{flex-direction:row;overflow-x:auto;padding:10px}.sidebar-nav{flex-direction:row;gap:6px;width:max-content}.sidebar-btn{white-space:nowrap;padding:8px 15px}.school-right-panel{display:none}.cards-grid{grid-template-columns:1fr}}.school-empty-state{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 48px);padding:20px}.empty-state-card{text-align:center;padding:60px 40px;max-width:420px}.empty-state-icon{font-size:56px;margin-bottom:16px;opacity:.8}.empty-state-card h2,.school-choice-header h2{color:var(--color-text-accent);font-size:24px;font-weight:700;margin:0 0 10px}.empty-state-card p,.school-choice-header p{color:var(--color-text-muted);font-size:14px;margin:0;line-height:1.5}.school-choice-container{text-align:center;max-width:540px;width:100%}.school-choice-header{margin-bottom:32px}.school-choice-buttons{display:flex;gap:16px}.school-choice-btn{flex:1;background:var(--color-bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:28px 20px;cursor:pointer;transition:all var(--transition-fast);display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.school-choice-btn:hover{background:var(--color-bg-medium);border-color:var(--border-gold);transform:translateY(-2px);box-shadow:var(--shadow-md),var(--shadow-gold)}.school-choice-btn .choice-icon{font-size:32px}.school-choice-btn .choice-title{color:var(--color-text-accent);font-size:16px;font-weight:700}.school-choice-btn .choice-desc{color:var(--color-text-muted);font-size:12px}.school-choice-btn.create{border-color:#d2b48c33}.school-choice-btn.create:hover{border-color:var(--color-gold)}.school-form-container{background:var(--color-bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:32px;max-width:520px;width:100%;box-shadow:var(--shadow-lg)}.form-header{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-subtle)}.form-header h2{color:var(--color-text-accent);font-size:20px;font-weight:700;margin:0}.form-back-btn{font-family:var(--font-primary);background:none;border:none;color:var(--color-text-muted);font-size:14px;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm)}.form-back-btn:hover{color:var(--color-text-accent);background:#e4d5b114}.school-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{color:var(--color-text-muted);font-size:13px;font-weight:600}.required{color:var(--color-danger)}.form-input{font-family:var(--font-primary);background:var(--color-bg-darkest);border:1px solid var(--border-medium);color:var(--color-text-primary);padding:11px 14px;border-radius:var(--radius-md);font-size:14px;width:100%;box-sizing:border-box}.form-input::placeholder{color:var(--color-text-dim)}.form-input:focus{border-color:var(--color-gold);outline:none}.form-divider{display:flex;align-items:center;gap:12px;margin:8px 0}.form-divider:before,.form-divider:after{content:"";flex:1;height:1px;background:var(--border-subtle)}.form-divider span{color:var(--color-text-dim);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.form-error{background:#d940401a;border:1px solid rgba(217,64,64,.3);color:#ef9a9a;padding:10px 14px;border-radius:var(--radius-md);font-size:13px}.form-submit{margin-top:8px;padding:12px 24px;font-size:15px}.form-submit:disabled{opacity:.6;cursor:not-allowed}.logo-preview{margin-top:8px;display:flex;justify-content:center}.logo-preview img{max-width:120px;max-height:80px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);padding:4px;object-fit:contain}.school-sidebar-header{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 4px 14px;border-bottom:1px solid var(--border-subtle);margin-bottom:6px}.school-sidebar-logo{width:48px;height:48px;border-radius:var(--radius-md);object-fit:contain;border:1px solid var(--border-subtle);padding:3px}.school-sidebar-initials{width:48px;height:48px;border-radius:var(--radius-md);background:var(--color-bg-medium);border:2px solid var(--border-gold);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:var(--color-gold);letter-spacing:1px}.school-sidebar-name{color:var(--color-text-accent);font-size:12px;font-weight:700;text-align:center}.school-sidebar-role{color:var(--color-text-dim);font-size:10px;text-transform:uppercase;letter-spacing:1px}.administration-tab{max-width:700px}.admin-card{background:#e4d5b108;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:24px;margin-bottom:20px}.admin-card-title{color:var(--color-text-accent);font-size:16px;font-weight:700;margin:0 0 6px}.admin-card-desc{color:var(--color-text-muted);font-size:13px;margin:0 0 16px}.invite-code-row{display:flex;align-items:center;gap:10px}.invite-code-display{display:flex;align-items:center;gap:10px;background:var(--color-bg-darkest);border:1px dashed var(--border-gold);border-radius:var(--radius-md);padding:10px 16px;cursor:pointer;flex:1}.invite-code-display:hover{box-shadow:var(--shadow-gold)}.invite-code-text{color:var(--color-gold);font-size:18px;font-weight:700;letter-spacing:2px;font-family:Courier New,monospace}.copy-icon{color:var(--color-text-muted);font-size:16px;margin-left:auto}.admin-form{display:flex;flex-direction:column;gap:16px}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.admin-form-grid .full-width{grid-column:1 / -1}.admin-form-actions{padding-top:12px;border-top:1px solid var(--border-subtle);display:flex;justify-content:flex-end}.admin-message{padding:10px 14px;border-radius:var(--radius-md);font-size:13px;margin-bottom:8px}.admin-message.success{background:#6abf691a;border:1px solid rgba(106,191,105,.3);color:var(--color-success)}.admin-message.error{background:#d940401a;border:1px solid rgba(217,64,64,.3);color:#ef9a9a}.quick-role-select,.role-select{font-family:var(--font-primary);background:var(--color-bg-darkest);border:1px solid var(--color-gold);color:var(--color-gold);padding:4px 8px;border-radius:var(--radius-sm);font-size:12px;cursor:pointer;font-weight:600}.quick-role-select option,.role-select option{background:var(--color-bg-darkest);color:var(--color-text-primary)}.lessons-log{display:flex;flex-direction:column;gap:20px}.lessons-log-section{display:flex;flex-direction:column;gap:6px}.log-section-label{color:var(--color-text-dim);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:0 4px;margin-bottom:4px}.lesson-log-item{display:flex;align-items:center;gap:14px;padding:12px 14px;background:#e4d5b10a;border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.lesson-log-item:hover{background:#e4d5b114}.lesson-log-item.highlighted{background:#d2b48c1a;border-color:var(--border-gold);box-shadow:var(--shadow-gold)}.lesson-log-item.past{opacity:.6}.lesson-log-date{display:flex;flex-direction:column;align-items:center;min-width:50px;gap:1px}.lesson-day{font-size:20px;font-weight:700;color:var(--color-text-accent);line-height:1}.lesson-month{font-size:11px;color:var(--color-text-muted);text-transform:uppercase}.lesson-time{font-size:11px;color:var(--color-text-dim);margin-top:2px}.lesson-log-info{flex:1;display:flex;flex-direction:column;gap:3px}.lesson-log-title{color:var(--color-text-primary);font-size:14px;font-weight:600}.lesson-log-meta{display:flex;gap:12px}.lesson-meta-group{color:var(--color-text-muted);font-size:12px}.lesson-meta-teacher{color:var(--color-text-dim);font-size:12px}.lesson-log-payment{flex-shrink:0}.nearest-section{padding:12px;background:#d2b48c0a;border-radius:var(--radius-lg);border:1px solid var(--border-subtle)}.payment-badge{font-size:12px;font-weight:600;padding:3px 8px;border-radius:10px}.payment-badge.paid{color:var(--color-success);background:#6abf691a}.payment-badge.unpaid{color:var(--color-danger);background:#d940401a}.payments-tab{display:flex;flex-direction:column;gap:16px;color:#f2ead0}.payment-list{display:flex;flex-direction:column;gap:8px}.payment-item{display:flex;align-items:center;gap:14px;padding:12px 14px;background:#e4d5b10f;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:#f2ead0}.payment-item:hover{background:#e4d5b11f}.payment-item.paid{border-left:3px solid var(--color-success)}.payment-item.unpaid{border-left:3px solid var(--color-danger)}.payment-date{display:flex;flex-direction:column;align-items:center;min-width:60px;gap:2px}.payment-day{font-size:14px;font-weight:700;color:#f2ead0;line-height:1.1;text-transform:uppercase}.payment-time{font-size:12px;color:#e6dfc6}.payment-info{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.payment-title{color:#f2ead0;font-size:14px;font-weight:600}.payment-meta{color:#e6dfc6;font-size:12px}.payment-status{display:flex;align-items:center;gap:8px;flex-shrink:0}.payment-summary-card{display:flex;align-items:center;gap:16px;padding:16px 20px;background:#e4d5b114;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);color:#f2ead0}.payment-summary-card.paid{border-left:3px solid var(--color-success)}.payment-summary-icon{font-size:28px}.payment-summary-info{flex:1;display:flex;flex-direction:column;gap:2px}.payment-summary-amount{font-size:22px;font-weight:700;color:#f2ead0}.payment-summary-label{font-size:13px;color:#e6dfc6}.pay-subtabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--border-subtle);padding-bottom:8px;flex-wrap:wrap}.pay-subtab{font-family:var(--font-primary);background:transparent;border:none;color:var(--color-text-muted);padding:8px 14px;border-radius:var(--radius-sm) var(--radius-sm) 0 0;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px}.pay-subtab:hover{background:#e4d5b114;color:var(--color-text-primary)}.pay-subtab.active{background:#e4d5b126;color:var(--color-text-accent);font-weight:600;border-bottom:2px solid var(--color-gold)}.pay-subtab-close{margin-left:6px;font-size:16px;opacity:.6;cursor:pointer}.pay-status-badge{font-size:12px;font-weight:600;padding:3px 10px;border-radius:10px;white-space:nowrap}.pay-table{border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.pay-table-header{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#e4d5b10f;border-bottom:1px solid var(--border-subtle);font-size:11px;font-weight:700;color:var(--color-text-dim);text-transform:uppercase;letter-spacing:.5px}.pay-table-row{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border-subtle);font-size:13px}.pay-table-row:last-child{border-bottom:none}.pay-table-row:hover{background:#e4d5b10a}.pay-table-row.clickable{cursor:pointer}.pay-table-row.clickable:hover{background:#e4d5b114}.pay-col-student{flex:2;color:var(--color-text-primary);font-weight:500}.pay-col-student.clickable{cursor:pointer;color:var(--color-text-accent)}.pay-col-student.clickable:hover{text-decoration:underline}.pay-col-lesson{flex:2;color:var(--color-text-muted)}.pay-col-date{flex:1;color:var(--color-text-muted)}.pay-col-amount{flex:1;color:var(--color-text-primary);font-weight:600}.pay-col-amount.overdue-text{color:var(--color-danger)}.pay-col-status{flex:1.2}.pay-col-paiddate{flex:1;color:var(--color-text-dim);font-size:12px}.pay-col-actions{flex:1.5;display:flex;gap:4px;justify-content:flex-end}.pay-col-count{flex:.8;color:var(--color-text-muted);text-align:center}.pay-dashboard{display:flex;flex-direction:column;gap:24px}.pay-finance-summary h3,.pay-top-debts h3{color:var(--color-text-accent);font-size:16px;font-weight:700;margin:0 0 12px}.pay-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.pay-summary-card{background:#e4d5b10a;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:16px;display:flex;flex-direction:column;gap:4px}.pay-summary-card.paid{border-left:3px solid #6ABF69}.pay-summary-card.pending{border-left:3px solid #E8A838}.pay-summary-card.overdue{border-left:3px solid #D94040}.pay-summary-label{font-size:12px;color:var(--color-text-dim);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.pay-summary-value{font-size:22px;font-weight:700;color:var(--color-text-accent)}.pay-summary-card.paid .pay-summary-value{color:#6abf69}.pay-summary-card.pending .pay-summary-value{color:#e8a838}.pay-summary-card.overdue .pay-summary-value{color:#d94040}.pay-student-balance{display:flex;gap:12px;margin-bottom:20px}.pay-balance-item{flex:1;background:#e4d5b10a;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:14px 16px;display:flex;flex-direction:column;gap:4px;text-align:center}.pay-balance-label{font-size:12px;color:var(--color-text-dim);font-weight:600}.pay-balance-value{font-size:20px;font-weight:700}.pay-balance-value.paid{color:#6abf69}.pay-balance-value.pending{color:#e8a838}.pay-balance-value.overdue{color:#d94040}.pay-overdue-summary{color:var(--color-text-muted);font-size:14px;margin-bottom:16px;padding:10px 14px;background:#d940400f;border:1px solid rgba(217,64,64,.15);border-radius:var(--radius-md)}.pay-overdue-summary strong{color:var(--color-danger)}.compose-box{background:#e4d5b10a;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:16px;margin-bottom:16px}.compose-form{display:flex;flex-direction:column;gap:10px}.compose-row{display:flex;gap:10px}.compose-textarea{font-family:var(--font-primary);background:var(--color-bg-darkest);border:1px solid var(--border-medium);color:var(--color-text-primary);padding:10px 14px;border-radius:var(--radius-md);font-size:14px;resize:vertical}.compose-textarea:focus{border-color:var(--color-gold);outline:none}.compose-actions{display:flex;gap:8px;justify-content:flex-end}.messages-list{display:flex;flex-direction:column;gap:8px}.message-item{padding:12px 14px;background:#e4d5b10a;border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.message-item.sent{border-left:3px solid var(--color-gold)}.message-item.received{border-left:3px solid var(--color-info)}.message-header{display:flex;justify-content:space-between;margin-bottom:6px}.message-from{color:var(--color-text-accent);font-size:13px;font-weight:600}.message-date{color:var(--color-text-dim);font-size:11px}.message-body{color:var(--color-text-primary);font-size:14px;line-height:1.5}.message-to{color:var(--color-text-dim);font-size:11px;margin-top:6px}@media(max-width:768px){.school-choice-buttons{flex-direction:column}.school-form-container{padding:20px}.admin-form-grid{grid-template-columns:1fr}.admin-form-grid .full-width{grid-column:1}.invite-code-row{flex-direction:column}.school-sidebar-header{display:none}.pay-summary-grid{grid-template-columns:repeat(2,1fr)}.pay-student-balance{flex-direction:column}.pay-table-header{display:none}.pay-table-row{flex-wrap:wrap;gap:4px}.compose-row{flex-direction:column}}.join-role-choice{display:flex;gap:10px}.join-role-btn{flex:1;font-family:var(--font-primary);background:var(--color-bg-darkest, #110D0A);border:2px solid var(--border-subtle, rgba(210,180,140,.08));border-radius:var(--radius-md, 10px);padding:14px 16px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--color-text-muted);font-size:14px;font-weight:500;transition:all .15s}.join-role-btn:hover{border-color:var(--border-medium);background:var(--color-bg-medium, #2E1F18)}.join-role-btn.active{border-color:var(--color-gold, #D2B48C);color:var(--color-text-accent);background:#d2b48c0f}.join-role-icon{font-size:24px}.guardian-join-note{display:flex;gap:8px;align-items:flex-start;padding:10px 14px;background:#e8a83814;border:1px solid rgba(232,168,56,.2);border-radius:var(--radius-md, 10px);font-size:13px;color:var(--color-text-muted);line-height:1.4}.guardian-children-section{margin:8px 0;padding:12px;background:#e4d5b10a;border:1px solid var(--border-subtle);border-radius:var(--radius-md, 10px)}.guardian-children-section>label{display:block;color:var(--color-text-accent);font-size:14px;font-weight:600;margin-bottom:10px}.linked-children-list{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.linked-child-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#e4d5b10a;border-radius:var(--radius-sm, 6px);font-size:13px;color:var(--color-text-primary)}.child-status{font-size:11px;font-weight:600}.child-status.pending{color:#e8a838}.child-status.confirmed{color:#6abf69}.child-status.rejected{color:#ef9a9a}.child-search-box{position:relative}.child-search-input{font-family:var(--font-primary);width:100%;padding:8px 12px;background:var(--color-bg-darkest, #110D0A);border:1px solid var(--border-medium);border-radius:var(--radius-sm, 6px);color:var(--color-text-primary);font-size:13px;box-sizing:border-box}.child-search-input:focus{border-color:var(--color-gold);outline:none}.child-search-loading{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--color-text-dim);font-size:12px}.child-search-results{margin-top:6px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm, 6px);overflow:hidden;max-height:150px;overflow-y:auto}.child-search-item{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;font-size:13px;color:var(--color-text-primary);transition:background .1s}.child-search-item:hover{background:#e4d5b114}.child-username{color:var(--color-text-dim);font-size:11px}.child-link-btn{margin-left:auto;font-family:var(--font-primary);background:#6abf6926;color:#6abf69;border:none;padding:4px 10px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;cursor:pointer}.child-link-btn:hover{background:#6abf6940}.students-table{border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.st-header{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#e4d5b10f;border-bottom:1px solid var(--border-subtle);font-size:11px;font-weight:700;color:var(--color-text-dim);text-transform:uppercase;letter-spacing:.5px}.st-row{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border-subtle);font-size:13px;cursor:pointer;transition:background .15s}.st-row:last-child{border-bottom:none}.st-row:hover{background:#e4d5b10f}.st-col-name{flex:2.5;display:flex;align-items:center;gap:10px;color:var(--color-text-primary);font-weight:500}.st-col-age{flex:.6;color:var(--color-text-muted);text-align:center}.st-col-group,.st-col-lesson{flex:1.5;color:var(--color-text-muted)}.st-col-pay{flex:1}.st-col-actions{flex:.5;display:flex;justify-content:flex-end}.st-avatar{width:32px;height:32px;border-radius:50%;background:var(--color-bg-medium, #2E1F18);border:1px solid var(--border-medium);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--color-text-accent);flex-shrink:0}.st-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.st-group-badge{font-size:12px}.st-next-lesson{font-size:12px;color:var(--color-text-primary)}.st-pay-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:8px}.st-pay-badge.paid{color:#6abf69;background:#6abf691f}.st-pay-badge.pending{color:#e8a838;background:#e8a8381f}.st-pay-badge.overdue{color:#d94040;background:#d940401f}.invite-modal{max-width:420px}.invite-msg{padding:8px 12px;border-radius:var(--radius-sm);font-size:13px;margin-top:4px}@media(max-width:768px){.st-header{display:none}.st-row{flex-wrap:wrap;gap:4px}.st-col-name{flex:100%}.st-col-age,.st-col-lesson{display:none}.st-col-group,.st-col-pay{flex:1}}.settings-tab{max-width:600px}.settings-card{background:#e4d5b108;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:24px;margin-bottom:20px}.settings-card-title{color:var(--color-text-accent);font-size:16px;font-weight:700;margin:0 0 16px}.settings-info-grid{display:flex;flex-direction:column;gap:12px}.settings-info-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-subtle)}.settings-info-row:last-child{border-bottom:none}.settings-label{color:var(--color-text-muted);font-size:13px;font-weight:500}.settings-value{color:var(--color-text-primary);font-size:14px;font-weight:600}.settings-role-badge{background:#d2b48c1f;color:var(--color-gold);padding:3px 10px;border-radius:8px;font-size:12px}.settings-danger-zone{border-color:#d9404033;background:#d9404008}.settings-danger-desc{color:var(--color-text-muted);font-size:13px;line-height:1.5;margin:0 0 16px}.btn-leave-school{font-family:var(--font-primary);background:transparent;color:#d94040;border:2px solid rgba(217,64,64,.3);padding:10px 20px;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all .15s}.btn-leave-school:hover{background:#d940401a;border-color:#d9404080}.leave-confirm-box{background:#d940400f;border:1px solid rgba(217,64,64,.2);border-radius:var(--radius-md);padding:16px}.leave-confirm-text{color:var(--color-text-primary);font-size:14px;margin:0 0 12px}.leave-confirm-text strong{color:var(--color-text-accent)}.leave-confirm-actions{display:flex;gap:10px}.btn-leave-cancel{font-family:var(--font-primary);background:var(--color-gold);color:var(--color-text-dark);border:none;padding:8px 20px;border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer}.btn-leave-confirm{font-family:var(--font-primary);background:#d94040;color:#fff;border:none;padding:8px 20px;border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer}.btn-leave-confirm:disabled{opacity:.6;cursor:not-allowed}.admin-danger-zone{border-color:#d9404033;background:#d9404008;margin-top:20px}.admin-danger-zone .admin-card-title{color:#ef9a9a}.school-status-badge{font-size:13px;padding:3px 10px;border-radius:8px;font-weight:700}.school-status-badge.active{color:#6abf69;background:#6abf691f}.school-status-badge.inactive{color:#e8a838;background:#e8a8381f}.status-actions{display:flex;flex-direction:column;gap:12px}.status-action-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;background:#e4d5b108;border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.status-action-row.danger{border-color:#d9404033;background:#d9404008}.status-action-info{display:flex;flex-direction:column;gap:4px;flex:1}.status-action-title{color:var(--color-text-primary);font-size:14px;font-weight:600}.status-action-desc{color:var(--color-text-muted);font-size:12px;line-height:1.4}.btn-status-warn{font-family:var(--font-primary);background:transparent;color:#e8a838;border:2px solid rgba(232,168,56,.3);padding:8px 18px;border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s}.btn-status-warn:hover{background:#e8a8381a;border-color:#e8a83880}.btn-status-danger{font-family:var(--font-primary);background:transparent;color:#d94040;border:2px solid rgba(217,64,64,.3);padding:8px 18px;border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s}.btn-status-danger:hover{background:#d940401a;border-color:#d9404080}.status-confirm-box{padding:20px;border-radius:var(--radius-md);animation:statusConfirmIn .2s ease}.status-confirm-box.warn{background:#e8a8380f;border:1px solid rgba(232,168,56,.25)}.status-confirm-box.danger{background:#d940400f;border:1px solid rgba(217,64,64,.25)}@keyframes statusConfirmIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.status-confirm-title{color:var(--color-text-primary);font-size:15px;font-weight:700;margin:0 0 8px}.status-confirm-desc{color:var(--color-text-muted);font-size:13px;line-height:1.5;margin:0 0 16px}.status-confirm-desc strong{color:var(--color-text-accent)}.status-confirm-actions{display:flex;gap:10px}.btn-status-cancel{font-family:var(--font-primary);background:var(--color-bg-darkest);color:var(--color-text-primary);border:1px solid var(--border-medium);padding:9px 20px;border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.btn-status-cancel:hover{background:var(--color-bg-medium)}.btn-status-confirm{font-family:var(--font-primary);border:none;padding:9px 20px;border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.btn-status-confirm.warn{background:#e8a838;color:#1c1410}.btn-status-confirm.warn:hover{background:#d49a2e}.btn-status-confirm.danger{background:#d94040;color:#fff}.btn-status-confirm.danger:hover{background:#c03030}.btn-status-confirm:disabled{opacity:.6;cursor:not-allowed}.inactive-overlay{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 120px);padding:20px}.inactive-modal{text-align:center;max-width:400px;padding:48px 36px;background:var(--color-bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.inactive-icon{font-size:56px;margin-bottom:16px;opacity:.8}.inactive-title{color:var(--color-text-accent);font-size:22px;font-weight:700;margin:0 0 12px}.inactive-desc{color:var(--color-text-muted);font-size:14px;line-height:1.5;margin:0 0 24px}.btn-activate{font-family:var(--font-primary);background:var(--color-gold);color:var(--color-text-dark);border:none;padding:14px 32px;border-radius:var(--radius-md);font-size:16px;font-weight:700;cursor:pointer;transition:all .15s;box-shadow:var(--shadow-sm)}.btn-activate:hover{background:var(--color-gold-light);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-activate:disabled{opacity:.6;cursor:not-allowed;transform:none}.inactive-note{color:var(--color-text-dim);font-size:13px;margin:0;font-style:italic}.pvp-end-overlay{position:fixed;inset:0;background:#000000b8;display:flex;align-items:center;justify-content:center;z-index:9999;animation:pvpFadeIn .2s ease}@keyframes pvpFadeIn{0%{opacity:0}to{opacity:1}}.pvp-end-modal{background:var(--color-bg-dark);border:1px solid rgba(210,180,140,.18);border-radius:14px;box-shadow:0 12px 48px #0009;max-width:420px;width:92%;padding:32px 28px 24px;text-align:center;position:relative;animation:pvpSlideIn .3s ease}@keyframes pvpSlideIn{0%{transform:translateY(-40px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.pvp-end-close{position:absolute;top:12px;right:14px;background:none;border:none;font-size:18px;color:var(--color-text-muted, #8a7e66);cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .15s;line-height:1}.pvp-end-close:hover{background:#d2b48c1f;color:var(--color-gold)}.pvp-end-title{margin:0 0 4px;font-size:28px;font-weight:800;color:var(--color-text-primary);letter-spacing:-.5px}.pvp-end-title.win{color:var(--color-gold-light)}.pvp-end-title.lose{color:var(--color-text-primary);opacity:.75}.pvp-end-title.draw{color:var(--color-gold)}.pvp-end-subtitle{font-size:13px;color:var(--color-text-muted, #a89880);margin:0 0 20px;font-weight:500}.pvp-end-players{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:18px}.pvp-end-player{display:flex;flex-direction:column;align-items:center;gap:6px;transition:all .3s}.pvp-player-avatar{position:relative;width:68px;height:68px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s;border:3px solid var(--color-gold);background:var(--color-bg-board);color:var(--color-gold);font-size:30px;font-weight:700;box-shadow:0 0 0 2px #d2b48c26;overflow:hidden}.pvp-player-avatar-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%;z-index:1}.pvp-player-avatar-initial{position:relative;z-index:0;line-height:1}.pvp-end-player.winner .pvp-player-avatar{background:var(--color-bg-board);border-color:var(--color-gold-light);color:var(--color-gold-light);box-shadow:0 0 0 2px #d2b48c40,0 2px 14px #d2b48c59}.pvp-end-player.loser .pvp-player-avatar{background:var(--color-bg-medium);border-color:#d2b48c59;color:#d2b48c8c;opacity:.8}.pvp-end-player.drawn .pvp-player-avatar{background:var(--color-bg-board);border-color:var(--color-gold);color:var(--color-gold)}.pvp-player-name{font-size:13px;font-weight:600;color:var(--color-text-primary);opacity:.8;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pvp-end-player.winner .pvp-player-name{color:var(--color-gold-light);opacity:1;font-weight:700}.pvp-end-score{font-size:22px;font-weight:800;color:var(--color-text-primary);min-width:50px;letter-spacing:1px}.pvp-end-rank{margin-bottom:16px}.rank-label{display:block;font-size:11px;font-weight:700;color:var(--color-gold);opacity:.7;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:2px}.rank-value{display:flex;align-items:baseline;justify-content:center;gap:8px}.rank-number{font-size:34px;font-weight:800;color:var(--color-text-primary);letter-spacing:-1px}.rank-change{font-size:18px;font-weight:700}.rank-change.positive{color:#4caf50}.rank-change.negative{color:#e53935}.pvp-end-analyze{width:100%;padding:14px 24px;font-size:20px;font-weight:700;border:none;border-radius:10px;cursor:pointer;background:linear-gradient(180deg,var(--color-gold) 0%,var(--color-gold-dark) 100%);color:var(--color-text-dark, #1C1410);margin-bottom:16px;box-shadow:0 4px 14px #d2b48c4d;transition:all .2s;letter-spacing:.3px}.pvp-end-analyze:hover{background:linear-gradient(180deg,var(--color-gold-light) 0%,var(--color-gold) 100%);transform:translateY(-2px);box-shadow:0 6px 18px #d2b48c66}.pvp-end-analyze:active{transform:translateY(0)}.pvp-end-stats{display:flex;justify-content:center;gap:18px;margin-bottom:18px}.pvp-end-stats.analyzing{flex-direction:column;align-items:center;gap:12px;padding:14px 0;color:var(--color-text-primary);opacity:.75;font-size:14px}.pvp-stat-spinner{width:32px;height:32px;border:3px solid rgba(210,180,140,.2);border-top-color:var(--color-gold);border-radius:50%;animation:pvpSpin .8s linear infinite}@keyframes pvpSpin{to{transform:rotate(360deg)}}.pvp-stat-item{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:75px;animation:pvpStatPop .5s ease-out both}.pvp-stat-item:nth-child(1){animation-delay:.1s}.pvp-stat-item:nth-child(2){animation-delay:.35s}.pvp-stat-item:nth-child(3){animation-delay:.6s}@keyframes pvpStatPop{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}.pvp-stat-number{font-size:26px;font-weight:800;width:52px;height:52px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff}.pvp-stat-label{font-size:11px;color:var(--color-text-primary);opacity:.75;font-weight:600}.stat-brilliant .pvp-stat-number{background:#1abc9c}.stat-great .pvp-stat-number{background:#5dade2}.stat-best .pvp-stat-number{background:#58d68d}.stat-excellent .pvp-stat-number{background:#7dcea0}.stat-good .pvp-stat-number{background:#82e0aa}.stat-inaccuracy .pvp-stat-number{background:#f4b942}.stat-mistake .pvp-stat-number{background:#e67e22}.stat-blunder .pvp-stat-number{background:#e74c3c}.pvp-end-guest{background:var(--color-bg-surface);border:1px solid rgba(210,180,140,.2);border-radius:10px;padding:22px 18px;margin-bottom:16px}.pvp-guest-icon{font-size:36px;margin-bottom:8px}.pvp-guest-text{color:var(--color-text-primary);opacity:.85;font-size:13px;line-height:1.5;margin:0 0 14px}.pvp-end-login-btn{width:100%;padding:13px 20px;font-size:15px;font-weight:600;border:none;border-radius:8px;cursor:pointer;background:linear-gradient(180deg,var(--color-gold) 0%,var(--color-gold-dark) 100%);color:var(--color-text-dark, #1C1410);box-shadow:0 4px 12px #d2b48c40;transition:all .2s}.pvp-end-login-btn:hover{transform:translateY(-2px);background:linear-gradient(180deg,var(--color-gold-light) 0%,var(--color-gold) 100%);box-shadow:0 6px 16px #d2b48c59}.pvp-rematch-request{background:#d2b48c14;border:1px solid var(--color-gold);border-radius:8px;padding:12px 16px;margin-bottom:14px;animation:pvpFadeIn .3s ease}.pvp-rematch-request p{margin:0 0 10px;font-size:14px;font-weight:600;color:var(--color-gold-light)}.pvp-rematch-btns{display:flex;gap:8px;justify-content:center}.pvp-rematch-accept{padding:7px 18px;background:linear-gradient(180deg,var(--color-gold) 0%,var(--color-gold-dark) 100%);color:var(--color-text-dark, #1C1410);border:none;border-radius:6px;font-weight:700;font-size:13px;cursor:pointer;transition:all .15s}.pvp-rematch-accept:hover{background:linear-gradient(180deg,var(--color-gold-light) 0%,var(--color-gold) 100%)}.pvp-rematch-decline{padding:7px 18px;background:var(--color-bg-medium);color:var(--color-text-primary);border:1px solid rgba(210,180,140,.3);border-radius:6px;font-weight:600;font-size:13px;cursor:pointer;transition:all .15s}.pvp-rematch-decline:hover{background:var(--color-bg-board)}.pvp-rematch-declined{font-size:12px;color:#e57373;margin:8px 0 0;font-weight:500}.pvp-end-actions{display:flex;gap:12px}.pvp-end-btn{flex:1;padding:14px 16px;font-size:16px;font-weight:700;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.pvp-end-btn.rematch{background:var(--color-bg-medium);color:var(--color-text-primary);border:1px solid rgba(210,180,140,.3);box-shadow:0 2px 8px #00000040}.pvp-end-btn.rematch:hover:not(:disabled){background:var(--color-bg-board);border-color:var(--color-gold);transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.pvp-end-btn.rematch.sent{background:var(--color-bg-surface);cursor:not-allowed;opacity:.6}.pvp-end-btn.nextgame{background:linear-gradient(180deg,var(--color-gold) 0%,var(--color-gold-dark) 100%);color:var(--color-text-dark, #1C1410);box-shadow:0 2px 8px #d2b48c40}.pvp-end-btn.nextgame:hover{background:linear-gradient(180deg,var(--color-gold-light) 0%,var(--color-gold) 100%);transform:translateY(-2px);box-shadow:0 4px 12px #d2b48c59}.pvp-end-btn:active{transform:translateY(0)!important}.pvp-end-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:480px){.pvp-end-modal{padding:24px 18px 20px;width:96%}.pvp-end-title{font-size:24px}.pvp-player-avatar{width:56px;height:56px;font-size:24px}.pvp-end-score{font-size:18px}.rank-number{font-size:28px}.rank-change{font-size:15px}.pvp-end-analyze{font-size:17px;padding:12px 20px}.pvp-stat-number{width:44px;height:44px;font-size:22px}.pvp-end-btn{padding:12px;font-size:14px}.pvp-end-players{gap:12px}.pvp-end-close{top:8px;right:8px;width:36px;height:36px;padding:0;font-size:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#d2b48c1a;z-index:5}}.pvp-game-page{min-height:100vh;background:#f5f5f5;overflow-x:hidden}.pvp-loading{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 48px);color:var(--color-text-primary);font-size:18px}.pvp-connecting{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 48px);color:var(--color-text-primary);gap:20px}.pvp-connect-spinner{width:50px;height:50px;border:4px solid var(--border-subtle);border-top-color:var(--color-gold);border-radius:50%;animation:pvp-spin 1s linear infinite}@keyframes pvp-spin{to{transform:rotate(360deg)}}.leave-confirm-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:9998}.leave-confirm-box{background:var(--color-bg-dark);border:1px solid var(--border-gold);border-radius:var(--radius-lg);padding:28px 24px;text-align:center;max-width:340px;width:90%;box-shadow:var(--shadow-lg),var(--shadow-gold)}.leave-confirm-box p{color:var(--color-text-primary);font-size:15px;margin-bottom:8px;font-weight:600}.leave-confirm-box .leave-warn{color:var(--color-danger);font-size:13px;margin-bottom:20px}.leave-confirm-btns{display:flex;gap:10px}.leave-confirm-btns button{flex:1;padding:11px 16px;border-radius:var(--radius-md);font-weight:600;font-size:14px;cursor:pointer;font-family:var(--font-primary)}.leave-stay-btn{background:var(--color-gold)!important;color:var(--color-text-dark)!important;border:none!important}.leave-stay-btn:hover{background:var(--color-gold-light)!important}.leave-go-btn{background:transparent!important;color:var(--color-danger)!important;border:1px solid var(--color-danger)!important}.leave-go-btn:hover{background:#d940401a!important}.pvp-game-layout{display:flex;gap:20px;max-width:1200px;margin:0 auto;padding:16px 20px;align-items:flex-start;min-height:calc(100vh - 48px)}.pvp-side-panel{width:300px;display:flex;flex-direction:column;gap:8px;flex-shrink:0;overflow:hidden;background:var(--color-bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:10px;box-shadow:var(--shadow-md)}.pvp-panel-spacer{flex:1}.pvp-panel-middle{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.player-box{background:var(--color-bg-darkest);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:8px 10px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.player-box.me{background:linear-gradient(135deg,var(--color-bg-darkest) 0%,rgba(210,180,140,.08) 100%);border:1px solid var(--border-gold)}.player-box.opponent{background:var(--color-bg-darkest);border:1px solid var(--border-subtle)}.player-info-left{display:flex;align-items:center;gap:10px}.player-avatar-circle{width:36px;height:36px;border-radius:8px;background:var(--color-bg-medium);border:2px solid var(--border-medium);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:var(--color-text-muted);flex-shrink:0}.player-avatar-circle.me-avatar{border-color:var(--color-gold);color:var(--color-text-accent);background:#d2b48c1a}.player-details{display:flex;flex-direction:column;gap:1px}.player-name{color:var(--color-text-accent);font-weight:600;font-size:14px}.player-rating{color:var(--color-text-muted);font-size:12px;font-weight:500}.disconnect-countdown{color:var(--color-danger);font-size:10px;font-weight:600;animation:dc-blink 1s ease infinite;margin-top:1px}@keyframes dc-blink{0%,to{opacity:1}50%{opacity:.4}}.clock{font-family:Courier New,monospace;font-size:18px;font-weight:700;color:var(--color-text-dim);background:var(--color-bg-dark);padding:5px 10px;border-radius:var(--radius-md);min-width:65px;text-align:center;border:1px solid var(--border-subtle)}.clock.active{color:var(--color-gold);background:#d2b48c14;border-color:var(--color-gold);box-shadow:0 0 8px #d2b48c26}.material-row{display:flex;align-items:center;gap:2px;padding:2px 8px;min-height:22px;flex-shrink:0}.captured-pieces{display:flex;align-items:center}.captured-piece{font-size:20px;line-height:1;margin-left:-4px;opacity:1;text-shadow:-1px -1px 0 rgba(255,255,255,.7),1px -1px 0 rgba(255,255,255,.7),-1px 1px 0 rgba(255,255,255,.7),1px 1px 0 rgba(255,255,255,.7),0 0 4px rgba(255,255,255,.3)}.captured-piece:first-child{margin-left:0}.material-diff{font-size:14px;font-weight:700;margin-left:6px}.material-diff.opp-diff{color:var(--color-text-muted)}.material-diff.my-diff{color:var(--color-gold)}.game-status{background:var(--color-bg-darkest);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:8px 12px;text-align:center;color:var(--color-text-muted);font-size:14px}.game-status .your-turn{color:var(--color-gold);font-weight:700;font-size:15px}.waiting-status{display:flex;flex-direction:column;align-items:center;gap:8px;padding:4px 0}.waiting-spinner{width:22px;height:22px;border:3px solid var(--border-subtle);border-top-color:var(--color-gold);border-radius:50%;animation:pvp-spin 1s linear infinite}.waiting-status span{color:var(--color-gold);font-size:13px;font-weight:500}.result-box{display:flex;flex-direction:column;gap:6px}.result-main{font-size:16px;font-weight:700;color:var(--color-text-accent)}.show-modal-btn{font-family:var(--font-primary);background:linear-gradient(180deg,var(--color-gold) 0%,var(--color-gold-dark) 100%);border:none;color:var(--color-text-dark);padding:8px 16px;border-radius:var(--radius-md);cursor:pointer;font-size:13px;font-weight:700;box-shadow:var(--shadow-sm);transition:all var(--transition-fast)}.show-modal-btn:hover{background:linear-gradient(180deg,var(--color-gold-light) 0%,var(--color-gold) 100%);box-shadow:var(--shadow-gold)}.show-modal-btn:active{background:linear-gradient(180deg,var(--color-gold-dark) 0%,#8A6840 100%);transform:translateY(1px)}.move-history-box{background:var(--color-bg-darkest);border:1px solid var(--border-subtle);border-radius:var(--radius-md);max-height:90px;overflow-y:auto;flex-shrink:0}.move-history-list{display:flex;flex-direction:column;gap:1px;padding:4px 8px;font-size:12px}.move-pair{display:flex;align-items:center;gap:4px;padding:2px 4px;border-radius:3px}.move-pair:nth-child(odd){background:#ffffff08}.move-num{color:var(--color-text-dim);min-width:22px;font-size:11px;font-weight:600}.move-white{color:wheat;min-width:46px;font-weight:600}.move-black{color:#c4b99a;min-width:46px;font-weight:500}.draw-offer{background:#d2b48c0f;border:1px solid var(--border-gold);border-radius:var(--radius-md);padding:10px;text-align:center}.draw-offer p{color:var(--color-gold);margin-bottom:8px;font-size:13px}.draw-btns{display:flex;gap:8px;justify-content:center}.draw-btns button{font-family:var(--font-primary);padding:6px 14px;border-radius:var(--radius-md);font-weight:600;cursor:pointer;font-size:12px;border:none}.draw-btns .accept{background:var(--color-gold);color:var(--color-text-dark)}.draw-btns .decline{background:var(--color-bg-darkest);color:var(--color-text-primary);border:1px solid var(--border-medium)}.game-actions{display:flex;gap:8px}.game-actions button{font-family:var(--font-primary);flex:1;padding:10px 8px;border-radius:var(--radius-md);font-weight:700;cursor:pointer;font-size:13px;background:linear-gradient(180deg,var(--color-gold) 0%,var(--color-gold-dark) 100%);color:var(--color-text-dark);border:none;box-shadow:var(--shadow-sm);transition:all var(--transition-fast)}.game-actions button:hover{background:linear-gradient(180deg,var(--color-gold-light) 0%,var(--color-gold) 100%);box-shadow:var(--shadow-gold)}.game-actions button:active{background:linear-gradient(180deg,var(--color-gold-dark) 0%,#8A6840 100%);transform:translateY(1px)}.game-actions button:disabled{opacity:.5;cursor:not-allowed;transform:none}.game-actions .play-again-btn{background:linear-gradient(180deg,var(--color-gold) 0%,var(--color-gold-dark) 100%);color:var(--color-text-dark)}.chat-box{background:var(--color-bg-darkest);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:flex;flex-direction:column;height:195px;flex-shrink:0}.chat-messages{flex:1;overflow-y:auto;padding:6px;display:flex;flex-direction:column;gap:3px;min-height:0}.chat-msg{font-size:11px;padding:3px 6px;border-radius:var(--radius-sm);max-width:90%}.chat-msg.me{background:#d2b48c1f;color:var(--color-gold-light);align-self:flex-end}.chat-msg.opponent{background:#e6dfc60f;color:var(--color-text-muted);align-self:flex-start}.chat-msg.system{background:transparent;color:var(--color-text-dim);align-self:center;font-style:italic;font-size:10px}.chat-input-area{position:relative}.chat-form{display:flex;gap:3px;padding:5px 6px;border-top:1px solid var(--border-subtle);align-items:center}.chat-form input{flex:1;background:var(--color-bg-darkest);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:5px 8px;color:var(--color-text-primary);font-size:11px;font-family:var(--font-primary)}.chat-form input::placeholder{color:var(--color-text-dim)}.chat-form input:focus{border-color:var(--color-gold);outline:none}.chat-form button[type=submit]{font-family:var(--font-primary);background:var(--color-gold);border:none;color:var(--color-text-dark);padding:5px 10px;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-weight:700}.quick-chat-btn{background:#e6dfc60f!important;color:var(--color-text-primary)!important;padding:4px 7px!important;font-size:14px!important;border-radius:var(--radius-sm)!important;border:1px solid var(--border-subtle)!important;flex-shrink:0;line-height:1}.quick-chat-btn:hover{background:#e6dfc624!important;border-color:var(--border-gold)!important}.emoji-btn{font-size:13px!important}.quick-chat-popup{position:absolute;bottom:100%;left:0;right:0;background:var(--color-bg-darkest);border:1px solid var(--border-gold);border-radius:var(--radius-md);padding:6px;margin-bottom:4px;display:flex;flex-wrap:wrap;gap:4px;box-shadow:0 -4px 16px #00000080,var(--shadow-gold);animation:quickChatIn .15s ease;z-index:10;max-height:130px;overflow-y:auto}@keyframes quickChatIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.quick-chat-option{font-family:var(--font-primary);background:var(--color-bg-dark);border:1px solid var(--border-subtle);color:var(--color-text-primary);padding:5px 10px;border-radius:14px;font-size:11px;cursor:pointer;white-space:nowrap}.quick-chat-option:hover{background:#d2b48c1f;border-color:var(--color-gold);color:var(--color-text-accent)}.emoji-popup{gap:2px!important;padding:8px!important}.emoji-option{background:transparent;border:none;font-size:20px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);cursor:pointer;padding:0}.emoji-option:hover{background:#e6dfc61a;transform:scale(1.2)}.pvp-board{flex:1;display:flex;justify-content:center;align-items:flex-start}.pvp-board-frame{background:var(--color-bg-dark);padding:8px;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}@media(max-width:900px){.pvp-game-layout{flex-direction:column-reverse;align-items:stretch;padding:8px 4px;gap:10px;max-width:100%;box-sizing:border-box}.pvp-side-panel{width:100%;max-width:none;height:auto!important;overflow:visible;box-sizing:border-box}.pvp-panel-spacer{display:none}.pvp-board{width:100%;max-width:100%;overflow:hidden}.pvp-board-frame{padding:4px;max-width:100%;box-sizing:border-box}.chat-box{height:120px;max-height:120px}}@media(max-width:600px){.player-avatar-circle{width:30px;height:30px;font-size:13px}.player-name{font-size:13px}.clock{font-size:16px;padding:4px 8px;min-width:58px}.captured-piece{font-size:12px}}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.edit-profile-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid rgba(255,255,255,.1);border-radius:16px;width:100%;max-width:450px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.edit-profile-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;border-bottom:1px solid rgba(255,255,255,.1)}.edit-profile-modal .modal-header h2{color:#fff;font-size:20px;margin:0}.close-btn{background:none;border:none;color:#ffffff80;font-size:28px;cursor:pointer;padding:0;line-height:1;transition:color .2s}.close-btn:hover{color:#fff}.modal-error{background:#e74c3c33;border:1px solid rgba(231,76,60,.3);color:#e74c3c;padding:12px 20px;margin:15px 25px 0;border-radius:8px;font-size:14px}.edit-profile-modal form{padding:25px}.form-section{margin-bottom:25px}.form-section label{display:block;color:#fffc;font-size:13px;font-weight:500;margin-bottom:10px}.avatar-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.avatar-option{aspect-ratio:1;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:10px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.avatar-option:hover{background:#ffffff1a;border-color:#fff3}.avatar-option.selected{background:#667eea33;border-color:#667eea}.avatar-icon{font-size:28px}.form-section input{width:100%;background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#fff;padding:14px 16px;border-radius:10px;font-size:15px;transition:all .2s}.form-section input::placeholder{color:#ffffff4d}.form-section input:focus{outline:none;border-color:#667eea;background:#ffffff1f}.input-hint{display:block;color:#fff6;font-size:12px;margin-top:8px}.edit-profile-modal .modal-actions{display:flex;gap:12px;margin-top:30px}.cancel-btn{flex:1;background:#ffffff1a;color:#fffc;border:1px solid rgba(255,255,255,.2);padding:14px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.cancel-btn:hover{background:#ffffff26;color:#fff}.save-btn{flex:1;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:14px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.save-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 20px #667eea66}.save-btn:disabled{opacity:.7;cursor:not-allowed}.language-select{display:flex;gap:10px}.language-option{flex:1;padding:12px 16px;border:2px solid rgba(255,255,255,.15);border-radius:10px;background:#ffffff0d;color:#ffffffb3;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;text-align:center}.language-option:hover{border-color:#ffffff4d;background:#ffffff1a;color:#fff}.language-option.selected{border-color:#667eea;background:#667eea33;color:#fff}@media(max-width:480px){.edit-profile-modal{border-radius:12px}.modal-header,.edit-profile-modal form{padding:20px}.avatar-grid{grid-template-columns:repeat(4,1fr)}.avatar-icon{font-size:24px}.modal-actions{flex-direction:column}.edit-profile-modal .modal-header .close-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff14;border-radius:50%;color:#ffffffd9;font-size:22px;flex-shrink:0}}.guardian-section{margin-top:30px;padding:24px;background:var(--color-bg-dark, #1a1510);border:1px solid var(--border-subtle, rgba(210,180,140,.08));border-radius:var(--radius-lg, 14px)}.guardian-title{color:var(--color-text-accent, #E8D5B5);font-size:18px;font-weight:700;margin:0 0 20px}.guardian-add-card{background:#e4d5b108;border:1px solid var(--border-subtle);border-radius:var(--radius-md, 10px);padding:16px;margin-bottom:20px}.guardian-add-card h3{color:var(--color-text-primary);font-size:14px;margin:0 0 6px}.guardian-add-desc{color:var(--color-text-muted);font-size:12px;margin:0 0 12px}.guardian-add-form{display:flex;flex-direction:row;gap:8px;background:transparent;padding:0;box-shadow:none;margin:0;border-radius:0}.guardian-add-form .guardian-email-input{flex:1;width:0;min-width:0;max-width:none;margin:0;font-family:var(--font-primary);background:var(--color-bg-darkest);border:1px solid var(--border-medium);color:var(--color-text-primary);padding:8px 12px;border-radius:var(--radius-md);font-size:13px}.guardian-add-form .guardian-email-input:focus{border-color:var(--color-gold);outline:none}.guardian-add-btn{font-family:var(--font-primary);background:var(--color-gold, #D2B48C);color:var(--color-text-dark, #1C1410);border:none;padding:8px 16px;border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.guardian-add-btn:hover{opacity:.9}.guardian-add-btn:disabled{opacity:.5;cursor:not-allowed}.guardian-msg{margin-top:8px;padding:8px 12px;border-radius:var(--radius-sm);font-size:12px;font-weight:600}.guardian-msg.success{background:#6abf6926;color:#6abf69}.guardian-msg.error{background:#d9404026;color:#ef9a9a}.guardian-children-list,.guardian-pending{margin-bottom:16px}.guardian-children-list h3,.guardian-pending h3{color:var(--color-text-primary);font-size:14px;margin:0 0 10px}.guardian-child-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:6px;cursor:pointer;transition:background .15s}.guardian-child-row:hover{background:#e4d5b10f}.guardian-child-row.active{background:#e4d5b114;border-color:var(--color-gold)}.guardian-child-row.pending{opacity:.6;cursor:default}.child-avatar{font-size:20px;flex-shrink:0}.child-info{flex:1;min-width:0}.child-name{color:var(--color-text-primary);font-weight:600;font-size:14px}.child-surname{color:var(--color-text-muted);font-size:12px;display:block}.child-status-label{color:var(--color-text-dim);font-size:12px;font-style:italic}.child-actions{flex-shrink:0}.btn-remove-child{background:transparent;border:1px solid rgba(217,64,64,.3);color:#ef9a9a;width:26px;height:26px;border-radius:50%;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;transition:all .15s}.btn-remove-child:hover{background:#d9404026}.remove-inline{display:flex;gap:4px}.btn-confirm-yes{font-family:var(--font-primary);background:#d94040;color:#fff;border:none;padding:4px 10px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;cursor:pointer}.btn-confirm-no{font-family:var(--font-primary);background:var(--color-bg-darkest);color:var(--color-text-muted);border:1px solid var(--border-medium);padding:4px 10px;border-radius:var(--radius-sm);font-size:11px;cursor:pointer}.guardian-empty{color:var(--color-text-dim);font-size:13px;text-align:center;padding:20px 0}.child-dashboard{margin-top:20px;padding:20px;background:#e4d5b105;border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.dash-header h3{color:var(--color-text-accent);font-size:16px;margin:0 0 16px}.dash-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}.dash-kpi{background:var(--color-bg-darkest);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:12px;text-align:center}.kpi-label{display:block;color:var(--color-text-dim);font-size:11px;margin-bottom:4px}.kpi-value{display:block;color:var(--color-text-accent);font-size:20px;font-weight:700}.kpi-change{display:block;font-size:12px;font-weight:700;margin-top:2px}.kpi-change.positive{color:#6abf69}.kpi-change.negative{color:#ef5350}.dash-section{margin-bottom:16px}.dash-section h4{color:var(--color-text-primary);font-size:14px;margin:0 0 8px;font-weight:600}.dash-empty{color:var(--color-text-dim);font-size:12px;font-style:italic}.dash-list{display:flex;flex-direction:column;gap:4px}.dash-item{display:flex;align-items:center;gap:12px;padding:8px 10px;background:var(--color-bg-darkest);border-radius:var(--radius-sm);font-size:13px}.dash-item-date{color:var(--color-text-dim);font-size:11px;min-width:80px}.dash-item-title{color:var(--color-text-primary);flex:1}.dash-item-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:6px}.dash-item-badge.paid,.dash-item-badge.win{background:#6abf691f;color:#6abf69}.dash-item-badge.pending,.dash-item-badge.draw{background:#e8a8381f;color:#e8a838}.dash-item-badge.overdue,.dash-item-badge.loss{background:#d940401f;color:#ef9a9a}@media(max-width:600px){.dash-kpi-grid{grid-template-columns:repeat(2,1fr)}.guardian-add-form{flex-direction:column}}.profile-page{min-height:calc(100vh - 60px);padding:30px 20px}.profile-container{max-width:800px;margin:0 auto}.profile-loading,.profile-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;color:var(--color-text-muted)}.profile-error h2{color:var(--color-text-primary);margin-bottom:16px}.profile-error button{background:linear-gradient(180deg,var(--color-gold) 0%,var(--color-gold-dark) 100%);color:var(--color-text-dark);border:none;padding:10px 24px;border-radius:8px;cursor:pointer;font-weight:600}.profile-header{display:flex;align-items:center;gap:20px;padding:24px;background:var(--color-bg-dark);border-radius:12px;margin-bottom:24px}.profile-avatar{position:relative;width:80px;height:80px;flex-shrink:0}.profile-avatar-img{position:absolute;top:0;left:0;width:80px;height:80px;border-radius:50%;object-fit:cover;z-index:1}.avatar-placeholder{width:80px;height:80px;border-radius:50%;background:#3a2820;color:tan;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;border:3px solid #D2B48C;box-shadow:0 0 0 2px #d2b48c26}.profile-info{flex:1}.profile-name{font-size:28px;font-weight:700;color:var(--color-text-primary);margin:0;display:flex;align-items:center;gap:10px}.profile-flag{font-size:24px}.profile-school{color:var(--color-text-muted);font-size:14px;margin-top:4px}.edit-profile-btn{background:var(--color-bg-medium);color:var(--color-text-accent);border:1px solid rgba(210,180,140,.2);padding:8px 20px;border-radius:8px;cursor:pointer;font-size:14px;transition:all .2s}.edit-profile-btn:hover{background:var(--color-bg-board);border-color:var(--color-gold-dark)}.profile-friend-btn-area{flex-shrink:0}.friend-request-btn{font-family:var(--font-primary);background:var(--color-gold);color:var(--color-text-dark);border:none;padding:8px 18px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s}.friend-request-btn:hover{background:var(--color-gold-light)}.friend-request-btn:disabled{opacity:.6;cursor:not-allowed}.friend-request-btn.sent{background:var(--color-bg-medium);color:var(--color-text-muted);border:1px solid var(--border-medium)}.friend-status-badge{color:var(--color-gold);font-size:13px;font-weight:600;padding:8px 16px;background:#d2b48c14;border:1px solid var(--border-gold);border-radius:8px}.profile-ratings{margin-bottom:24px}.profile-ratings .section-title{color:var(--color-text-primary);font-size:18px;font-weight:600;margin-bottom:16px}.ratings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.rating-card{background:var(--color-bg-dark);border-radius:12px;padding:20px;border:1px solid rgba(210,180,140,.08)}.rating-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.rating-type{color:var(--color-text-muted);font-size:14px;text-transform:capitalize}.rating-value{color:var(--color-text-primary);font-size:22px;font-weight:700}.rating-change{font-size:13px;margin-left:6px;font-weight:600}.rating-change.positive{color:#4caf50}.rating-change.negative{color:#ef5350}.rating-chart{height:50px;overflow:hidden}.rating-chart svg{width:100%;height:100%;display:block}.rating-card.clickable{cursor:pointer;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.rating-card.clickable:hover{transform:translateY(-2px);border-color:#d2b48c40;box-shadow:0 6px 16px #0000002e}.rating-card.provisional{opacity:.92;cursor:default}.provisional-badge{color:var(--color-text-muted);margin-left:4px;font-weight:500}.provisional-status{margin-top:10px;font-size:13px}.provisional-label{display:block;color:var(--color-text-muted);margin-bottom:6px}.provisional-label b{color:var(--color-text-primary)}.provisional-progress{width:100%;height:6px;background:#d2b48c1a;border-radius:3px;overflow:hidden}.provisional-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-gold-dark),var(--color-gold));transition:width .3s ease}.rating-chart-expanded{background:var(--color-bg-dark);border-radius:12px;padding:24px;border:1px solid rgba(210,180,140,.08);min-height:360px}.rating-chart-expanded-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.rating-chart-expanded-title{display:flex;align-items:baseline;gap:10px;font-size:16px}.rating-chart-expanded-title .game-type-icon{font-size:22px;position:relative;top:2px}.rating-chart-expanded-title .rating-type{color:var(--color-text-muted);font-size:14px}.rating-chart-expanded-title .rating-value{color:var(--color-text-primary);font-size:28px;font-weight:700}.rating-chart-controls{display:flex;align-items:center;gap:10px}.rating-range-select{background:var(--color-bg-dark);color:var(--color-text-primary);border:1px solid rgba(210,180,140,.15);border-radius:6px;padding:6px 10px;font-size:13px;cursor:pointer}.rating-range-select:focus{outline:none;border-color:var(--color-gold)}.rating-chart-close{background:transparent;border:1px solid rgba(210,180,140,.15);color:var(--color-text-muted);border-radius:6px;width:32px;height:32px;font-size:14px;cursor:pointer;transition:background .12s ease,color .12s ease}.rating-chart-close:hover{background:#d2b48c14;color:var(--color-text-primary)}.rating-chart-svg{width:100%;height:320px;display:block}.rating-chart-loading,.rating-chart-error{display:flex;justify-content:center;align-items:center;height:280px;color:var(--color-text-muted);font-size:14px}.rating-chart-error{color:#ef5350}.rating-chart-footer{display:flex;justify-content:space-between;margin-top:12px;padding-top:12px;border-top:1px solid rgba(210,180,140,.08);color:var(--color-text-muted);font-size:13px;flex-wrap:wrap;gap:8px}.rating-chart-footer b.positive{color:#4caf50}.rating-chart-footer b.negative{color:#ef5350}.profile-games{margin-bottom:24px}.games-list{display:flex;flex-direction:column;gap:4px}.game-entry{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--color-bg-dark);border-radius:8px;cursor:pointer;transition:background .15s}.game-entry:hover{background:var(--color-bg-medium)}.game-type-icon{font-size:18px;width:28px;text-align:center;flex-shrink:0}.opponent-avatar{position:relative;width:32px;height:32px;flex-shrink:0}.opponent-avatar img{position:absolute;top:0;left:0;width:32px;height:32px;border-radius:50%;object-fit:cover;z-index:1}.avatar-small{width:32px;height:32px;border-radius:50%;background:var(--color-bg-board);color:var(--color-text-accent);border:2px solid var(--color-gold-dark);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}.opponent-info{flex:1;min-width:0}.opponent-name{color:var(--color-text-primary);font-weight:600;font-size:14px}.opponent-rating{color:var(--color-text-muted);font-size:13px;margin-left:6px}.game-result{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex-shrink:0}.game-result.win{background:#4caf5026;color:#4caf50}.game-result.loss{background:#ef535026;color:#ef5350}.game-result.draw{background:#d2b48c26;color:var(--color-text-muted)}.game-accuracy{width:40px;text-align:right;flex-shrink:0}.accuracy-value{color:var(--color-text-accent);font-size:13px;font-weight:600}.accuracy-pending{font-size:14px;opacity:.5}.no-games{text-align:center;padding:40px;color:var(--color-text-muted)}.load-more-btn{width:100%;padding:12px;background:var(--color-bg-medium);color:var(--color-text-accent);border:1px solid rgba(210,180,140,.15);border-radius:8px;cursor:pointer;font-size:14px;margin-top:8px;transition:all .2s}.load-more-btn:hover{background:var(--color-bg-board);border-color:var(--color-gold-dark)}.load-more-btn:disabled{opacity:.5;cursor:not-allowed}.history-cap-notice{margin-top:12px;padding:14px 16px;background:linear-gradient(135deg,#d2b48c1a,#d2b48c0a);border:1px solid var(--color-gold-dark);border-radius:8px;text-align:center}.history-cap-notice p{margin:0;font-size:13px;color:var(--color-text-accent);line-height:1.5}@media(max-width:700px){.ratings-grid{grid-template-columns:1fr}.profile-header{flex-direction:column;text-align:center}.profile-name{justify-content:center}.edit-profile-btn{width:100%}}@media(max-width:500px){.profile-page{padding:16px 12px}.profile-header{padding:16px}.rating-card{padding:14px}.profile-language{margin-bottom:24px}.profile-language .section-title{font-size:16px;color:#d4a843;margin-bottom:12px;padding:0 4px}.language-buttons{display:flex;gap:10px}.lang-btn{flex:1;padding:12px 16px;border:2px solid #555;border-radius:10px;background:#2a2219;color:#ddd;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.lang-btn:hover{border-color:#888;background:#3a3025;color:#fff}.lang-btn.active{border-color:#d4a843;background:#3a3020;color:#fff}.game-entry{padding:10px 12px;gap:8px}}.friends-page{min-height:calc(100vh - 60px);padding:30px 20px}.friends-container{max-width:600px;margin:0 auto}.friends-title{color:var(--color-text-accent);font-size:24px;font-weight:700;margin:0 0 24px}.friends-loading{display:flex;justify-content:center;padding:60px 0}.friends-spinner{width:36px;height:36px;border:3px solid var(--border-subtle);border-top-color:var(--color-gold);border-radius:50%;animation:fspin .8s linear infinite}@keyframes fspin{to{transform:rotate(360deg)}}.friends-search-section{margin-bottom:24px}.friends-search-bar{display:flex;gap:8px}.friends-search-bar input{flex:1;font-family:var(--font-primary);background:var(--color-bg-darkest);border:1px solid var(--border-medium);color:var(--color-text-primary);padding:10px 14px;border-radius:var(--radius-md);font-size:14px}.friends-search-bar input::placeholder{color:var(--color-text-dim)}.friends-search-bar input:focus{border-color:var(--color-gold);outline:none}.friends-search-bar button{font-family:var(--font-primary);background:var(--color-gold);color:var(--color-text-dark);border:none;padding:10px 16px;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer}.friends-search-bar button:hover{background:var(--color-gold-light)}.friends-search-bar button:disabled{opacity:.5;cursor:not-allowed}.search-results{margin-top:10px;background:var(--color-bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.search-result-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border-subtle)}.search-result-item:last-child{border-bottom:none}.friends-section{margin-bottom:28px}.friends-section-title{color:var(--color-text-accent);font-size:16px;font-weight:600;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--border-subtle)}.friends-list{display:flex;flex-direction:column;gap:6px}.friend-card{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--color-bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.friend-card.pending{border-color:var(--border-gold);background:linear-gradient(135deg,var(--color-bg-dark) 0%,rgba(210,180,140,.04) 100%)}.friend-avatar{width:40px;height:40px;border-radius:50%;background:var(--color-bg-board);border:2px solid var(--color-gold);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:var(--color-gold);flex-shrink:0}.friend-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.friend-name{color:var(--color-text-accent);font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-rating{color:var(--color-text-muted);font-size:12px}.friend-actions{display:flex;gap:6px;flex-shrink:0}.friend-action-btn{font-family:var(--font-primary);padding:6px 12px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;cursor:pointer;border:1px solid var(--border-medium);background:var(--color-bg-darkest);color:var(--color-text-primary);transition:all .15s}.friend-action-btn:hover{background:var(--color-bg-medium);border-color:var(--border-gold)}.friend-action-btn:disabled{opacity:.5;cursor:not-allowed}.friend-action-btn.add{background:var(--color-gold);color:var(--color-text-dark);border-color:var(--color-gold)}.friend-action-btn.add:hover{background:var(--color-gold-light)}.friend-action-btn.accept{background:#6abf6926;color:#6abf69;border-color:#6abf694d}.friend-action-btn.accept:hover{background:#6abf6940}.friend-action-btn.decline{background:#d940401a;color:#ef9a9a;border-color:#d9404033}.friend-action-btn.decline:hover{background:#d9404033}.friend-action-btn.profile{background:#e4d5b114;border-color:var(--border-medium)}.friend-action-btn.challenge{background:linear-gradient(135deg,var(--color-gold) 0%,var(--color-gold-light, #e8c98a) 100%);color:var(--color-text-dark);border-color:var(--color-gold);font-weight:700}.friend-action-btn.challenge:hover{filter:brightness(1.08);border-color:var(--color-gold)}.friend-action-btn.challenge:disabled{background:var(--color-bg-darkest);color:var(--color-text-dim);border-color:var(--border-subtle);filter:none}.friend-action-btn.remove{background:transparent;border-color:transparent;color:var(--color-text-dim);padding:6px 8px}.friend-action-btn.remove:hover{color:var(--color-danger);background:#d940401a}.friends-empty{text-align:center;padding:40px 20px;color:var(--color-text-muted)}.friends-empty-icon{font-size:48px;display:block;margin-bottom:12px;opacity:.5}.friends-empty p{margin:0 0 6px;font-size:14px}.friends-empty-hint{font-size:12px;color:var(--color-text-dim)}@media(max-width:600px){.friends-page{padding:20px 12px}.friend-card{padding:10px 12px;gap:10px}.friend-avatar{width:34px;height:34px;font-size:14px}.friend-name{font-size:13px}.friend-actions{flex-direction:column;gap:4px}.friend-action-btn{padding:5px 8px;font-size:11px}}.challenge-overlay{position:fixed;inset:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:chOverlayIn .15s ease-out}@keyframes chOverlayIn{0%{opacity:0}to{opacity:1}}.challenge-modal{background:var(--color-bg-dark);border:1px solid var(--border-gold);border-radius:var(--radius-lg, 12px);padding:24px 28px;width:100%;max-width:440px;box-shadow:0 12px 40px #0009;animation:chModalIn .18s ease-out}@keyframes chModalIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.challenge-modal-title{color:var(--color-text-accent);font-size:18px;font-weight:700;margin:0 0 6px;text-align:center}.challenge-modal-sub{color:var(--color-text-muted);font-size:13px;text-align:center;margin:0 0 18px}.challenge-group{margin-bottom:14px}.challenge-group-label{color:var(--color-text-muted);font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.challenge-mode-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.challenge-mode-btn{font-family:var(--font-primary);background:var(--color-bg-darkest);border:1px solid var(--border-medium);color:var(--color-text-primary);padding:10px 8px;border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.challenge-mode-btn:hover{background:var(--color-bg-medium);border-color:var(--color-gold);color:var(--color-gold)}.challenge-cancel-btn{font-family:var(--font-primary);width:100%;margin-top:12px;padding:10px;background:transparent;border:1px solid var(--border-medium);color:var(--color-text-muted);border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.challenge-cancel-btn:hover{border-color:var(--color-danger);color:var(--color-danger)}.challenge-waiting{text-align:center;max-width:380px}.challenge-spinner{width:42px;height:42px;border:3px solid var(--border-subtle);border-top-color:var(--color-gold);border-radius:50%;animation:fspin .8s linear infinite;margin:0 auto 16px}.challenge-incoming{text-align:center;max-width:380px;border-color:var(--color-gold);box-shadow:0 0 0 1px #e4bc6040,0 12px 40px #0009}.challenge-incoming-icon{font-size:40px;margin-bottom:8px;color:var(--color-gold);animation:chPulse 1.4s ease-in-out infinite}@keyframes chPulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.challenge-incoming-actions{display:flex;gap:10px;margin-top:18px}.challenge-accept-btn,.challenge-decline-btn{flex:1;font-family:var(--font-primary);padding:12px;border-radius:var(--radius-md);font-size:14px;font-weight:700;cursor:pointer;border:1px solid transparent;transition:all .15s}.challenge-accept-btn{background:#6abf692e;color:#6abf69;border-color:#6abf6966}.challenge-accept-btn:hover{background:#6abf694d}.challenge-decline-btn{background:#d940401f;color:#ef9a9a;border-color:#d9404040}.challenge-decline-btn:hover{background:#d9404038}.challenge-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--color-bg-darkest);border:1px solid var(--color-danger);color:#ef9a9a;padding:10px 18px;border-radius:var(--radius-md);font-size:13px;box-shadow:0 8px 24px #00000080;z-index:1001;animation:chToastIn .2s ease-out}@keyframes chToastIn{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media(max-width:480px){.challenge-modal{padding:20px 18px}.challenge-mode-row{grid-template-columns:repeat(3,1fr);gap:6px}.challenge-mode-btn{padding:9px 4px;font-size:12px}}.room-page{min-height:100vh;background:var(--color-bg-main, #1C1410)}.room-page.no-nav{padding:0}.lobby-container{max-width:800px;margin:0 auto;padding:40px 20px;text-align:center}.lobby-title{color:var(--color-text-accent, #E8D5B5);font-size:24px;margin:0 0 6px}.lobby-subtitle{color:var(--color-text-muted);font-size:14px;margin:0 0 30px}.lobby-body{display:flex;gap:30px;align-items:flex-start;text-align:left}.lobby-preview{flex:1}.lobby-video-wrapper{position:relative;width:100%;aspect-ratio:4/3;background:var(--color-bg-darkest, #110D0A);border:2px solid var(--border-subtle);border-radius:14px;overflow:hidden}.lobby-video-wrapper video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1);display:block}.lobby-video-wrapper video.hidden-video{display:none}.camera-off-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--color-text-dim);font-size:16px}.lobby-controls{display:flex;gap:8px;margin-top:12px;justify-content:center}.lobby-btn{font-family:var(--font-primary);padding:8px 14px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .15s}.lobby-btn.on{background:#6abf691f;color:#6abf69;border-color:#6abf6940}.lobby-btn.off{background:#d940401f;color:#ef9a9a;border-color:#d9404040}.lobby-settings{width:260px;flex-shrink:0;display:flex;flex-direction:column;gap:16px}.lobby-setting{display:flex;flex-direction:column;gap:4px}.lobby-setting label{color:var(--color-text-muted);font-size:12px;font-weight:600}.lobby-setting select{font-family:var(--font-primary);background:var(--color-bg-darkest);border:1px solid var(--border-medium);color:var(--color-text-primary);padding:8px 10px;border-radius:8px;font-size:13px}.lobby-room-info{padding:12px;background:#e4d5b10a;border:1px solid var(--border-subtle);border-radius:8px;text-align:center}.lobby-room-label{color:var(--color-text-dim);font-size:12px}.lobby-room-id{color:var(--color-text-accent);font-family:monospace;font-size:14px;font-weight:700;margin-left:6px}.lobby-join-btn{font-family:var(--font-primary);background:var(--color-gold, #D2B48C);color:var(--color-text-dark, #1C1410);border:none;padding:14px 24px;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:all .15s}.lobby-join-btn:hover{opacity:.9;transform:translateY(-1px)}.lobby-back-btn{font-family:var(--font-primary);background:transparent;color:var(--color-text-muted);border:1px solid var(--border-medium);padding:10px 20px;border-radius:8px;font-size:13px;cursor:pointer}.room-layout{display:flex;height:100vh;overflow:hidden}.room-left{width:220px;flex-shrink:0;display:flex;flex-direction:column;gap:6px;padding:10px;background:var(--color-bg-dark, #1a1510);border-right:1px solid var(--border-subtle);overflow-y:auto}.video-tile{position:relative;background:var(--color-bg-darkest);border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden;aspect-ratio:4/3}.video-tile video{width:100%;height:100%;object-fit:cover;display:block}.video-tile.local{border-color:var(--color-gold, #D2B48C)}.video-tile.local video{transform:scaleX(-1)}.video-tile.no-video{display:flex;align-items:center;justify-content:center;min-height:80px;aspect-ratio:auto}.no-video-avatar{color:var(--color-text-muted);font-size:12px;text-align:center}.video-label{position:absolute;bottom:4px;left:4px;background:#000000a6;color:#fff;padding:1px 6px;border-radius:3px;font-size:10px;font-weight:600}.room-controls-bar{display:flex;gap:6px;padding:8px 0;margin-top:auto;border-top:1px solid var(--border-subtle);justify-content:center;flex-wrap:wrap}.ctrl-btn{font-family:var(--font-primary);padding:6px 12px;border-radius:6px;font-size:16px;cursor:pointer;border:none;transition:all .15s}.ctrl-btn.on{background:#6abf6926;color:#6abf69}.ctrl-btn.off{background:#d9404026;color:#ef9a9a}.ctrl-btn.leave{background:#d94040;color:#fff;font-size:12px}.ctrl-btn.leave:hover{background:#c03030}.room-center{flex:1;display:flex;flex-direction:row;align-items:flex-start;justify-content:center;padding:12px 10px;min-width:0;overflow-y:auto;gap:12px}.center-board-area{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.center-control-panel{width:320px;flex-shrink:0;display:flex;flex-direction:column;gap:8px;background:#00000040;border:1px solid var(--border-subtle, rgba(228,213,177,.08));border-radius:10px;padding:10px;max-height:calc(100vh - 40px);overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.center-control-panel::-webkit-scrollbar{display:none}.tcp-nav{display:flex;align-items:center;gap:4px}.tcp-nav-info{flex:1;text-align:center;color:var(--color-text-primary, #E8D5B5);font-size:13px;font-weight:700}.tcp-actions{display:flex;gap:4px}.tcp-btn{font-family:var(--font-primary);background:#c9a84c1f;border:1px solid rgba(201,168,76,.25);color:var(--color-gold, #C9A84C);padding:7px 12px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap;flex:1}.tcp-btn:hover:not(:disabled){background:#c9a84c40}.tcp-btn:disabled{opacity:.3;cursor:not-allowed}.tcp-btn.start{background:#6abf6933;border-color:#6abf6966;color:#6abf69}.tcp-btn.solve{background:#6495ed26;border-color:#6495ed4d;color:#6495ed;flex:1}.tcp-btn.stop-solve{background:#d9404026;border-color:#d940404d;color:#ef9a9a;flex:1}.tcp-btn.list{background:#ffffff0f;border-color:#ffffff1a;color:var(--color-text-muted);flex:none}.tcp-puzzle-list{max-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:1px;border:1px solid var(--border-subtle, rgba(228,213,177,.08));border-radius:6px;padding:2px;scrollbar-width:none;-ms-overflow-style:none}.tcp-puzzle-item{display:flex;align-items:center;gap:5px;padding:6px 8px;border-radius:4px;cursor:pointer;font-size:12px;transition:background .1s}.tcp-puzzle-item:hover{background:#ffffff0f}.tcp-puzzle-item.active{background:#c9a84c26}.tcp-puzzle-item.dragging{opacity:.3}.tcp-item-num{color:var(--color-text-dim);font-weight:600;min-width:18px}.tcp-item-name{color:var(--color-text-primary);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tcp-item-active{color:var(--color-gold);font-weight:700}.tcp-puzzle-list::-webkit-scrollbar{display:none}.tcp-toggle{font-family:var(--font-primary);background:#c9a84c14;border:1px solid rgba(201,168,76,.15);color:var(--color-gold);padding:5px 8px;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;text-align:left;width:100%}.tcp-toggle:hover{background:#c9a84c26}.tcp-solution{display:flex;flex-wrap:wrap;gap:3px;padding:6px;background:#0003;border-radius:6px}.tcp-solve-results{border:1px solid rgba(100,149,237,.2);border-radius:6px;padding:6px;background:#00000026}.tcp-solve-header{color:var(--color-text-accent);font-size:12px;font-weight:700;margin-bottom:4px}.tcp-solve-empty{color:var(--color-text-dim);font-size:11px;font-style:italic;text-align:center;padding:6px}.tcp-student-row{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:4px;font-size:12px}.tcp-student-row.solved{background:#6abf690f}.tcp-student-name{color:var(--color-text-primary);font-weight:600;min-width:60px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tcp-student-moves{display:flex;gap:3px;flex:1;flex-wrap:wrap}.tcp-move-dot{font-size:11px;padding:1px 4px;border-radius:3px}.tcp-move-dot.correct{background:#6abf6933;color:#6abf69}.tcp-move-dot.wrong{background:#d9404033;color:#ef9a9a}.tcp-move-retry{color:var(--color-text-dim, #6a5a4a);font-size:12px;font-weight:700;padding:0 2px}.tcp-student-status{font-size:13px;flex-shrink:0}.puzzle-status-bar{display:flex;align-items:center;gap:12px;margin-bottom:8px;flex-wrap:wrap;justify-content:center}.puzzle-side-indicator{color:var(--color-text-accent, #E8D5B5);font-size:14px;font-weight:600;padding:4px 12px;background:#e4d5b10f;border-radius:6px}.puzzle-name-label{color:var(--color-text-muted, #8a7a6a);font-size:12px}.puzzle-tag-label{background:#c9a84c26;color:var(--color-gold, #C9A84C);font-size:11px;font-weight:700;padding:3px 10px;border-radius:10px}.solve-mode-badge{background:#6abf6926;color:#6abf69;font-size:11px;font-weight:700;padding:3px 10px;border-radius:10px}.puzzle-area{display:flex;flex-direction:column;align-items:center;gap:10px}.puzzle-feedback{display:flex;align-items:center;gap:10px;padding:8px 16px;border-radius:8px;font-size:14px;font-weight:600}.puzzle-feedback.success{background:#6abf6926;color:#6abf69}.puzzle-feedback.fail{background:#d9404026;color:#ef9a9a}.puzzle-feedback button{font-family:var(--font-primary);background:#ffffff1a;color:inherit;border:1px solid rgba(255,255,255,.2);padding:4px 12px;border-radius:6px;font-size:12px;cursor:pointer}.puzzle-info{color:var(--color-text-dim);font-size:12px}.puzzle-loading{color:var(--color-text-dim);font-size:14px;padding:40px}.room-right{width:300px;flex-shrink:0;display:flex;flex-direction:column;background:var(--color-bg-dark);border-left:1px solid var(--border-subtle)}.room-chat-section{display:flex;flex-direction:column;flex:1;min-height:0}.room-chat-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--border-subtle);color:var(--color-text-primary);font-size:13px;font-weight:600}.room-dot{width:8px;height:8px;border-radius:50%}.room-dot.on{background:#6abf69}.room-dot.off{background:#ef5350}.chat-messages{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:4px}.chat-msg{padding:4px 8px;border-radius:6px;font-size:12px}.chat-msg.system{text-align:center}.msg-system{color:var(--color-text-dim);font-size:10px;font-style:italic}.chat-msg.user{background:#e4d5b10a;border:1px solid var(--border-subtle)}.chat-msg.user.own{background:#d2b48c14;border-color:#d2b48c26}.msg-author{color:var(--color-text-accent);font-size:10px;font-weight:700;margin-right:6px}.msg-body{color:var(--color-text-primary)}.msg-time{color:var(--color-text-dim);font-size:9px;float:right;margin-top:2px}.chat-input-form{display:flex;gap:6px;padding:8px 10px;border-top:1px solid var(--border-subtle);background:transparent;box-shadow:none;margin:0}.chat-input{flex:1;width:0;min-width:0;max-width:none;margin:0;font-family:var(--font-primary);background:var(--color-bg-darkest);border:1px solid var(--border-medium);color:var(--color-text-primary);padding:6px 10px;border-radius:6px;font-size:12px}.chat-input:focus{border-color:var(--color-gold);outline:none}.chat-input::placeholder{color:var(--color-text-dim)}.chat-send-btn{font-family:var(--font-primary);background:var(--color-gold);color:var(--color-text-dark);border:none;width:32px;height:32px;border-radius:6px;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center}.chat-send-btn:disabled{opacity:.3;cursor:not-allowed}.room-center h2{color:var(--color-text-accent)}.teacher-nav-bar{width:100%;max-width:520px;display:flex;align-items:center;gap:6px;background:#0006;border:1px solid rgba(201,168,76,.2);border-radius:8px;padding:6px 10px;margin-bottom:8px;flex-wrap:wrap}.tnav-btn{font-family:var(--font-primary);background:#c9a84c1f;border:1px solid rgba(201,168,76,.25);color:var(--color-gold, #C9A84C);padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}.tnav-btn:hover:not(:disabled){background:#c9a84c40}.tnav-btn:disabled{opacity:.3;cursor:not-allowed}.tnav-btn.start{background:#6abf6933;border-color:#6abf6966;color:#6abf69}.tnav-btn.start:hover{background:#6abf6959}.tnav-btn.solve{background:#6495ed26;border-color:#6495ed4d;color:#6495ed}.tnav-btn.solve:hover{background:#6495ed4d}.tnav-btn.stop-solve{background:#d9404026;border-color:#d940404d;color:#ef9a9a}.tnav-btn.stop-solve:hover{background:#d940404d}.tnav-btn.list{margin-left:auto;background:#ffffff0f;border-color:#ffffff1a;color:var(--color-text-muted)}.tnav-btn.list:hover{background:#ffffff1f;color:var(--color-text-primary)}.tnav-info{color:var(--color-text-primary, #E8D5B5);font-size:12px;font-weight:600;flex:1;text-align:center;white-space:nowrap}.teacher-puzzle-panel{width:100%;max-width:520px;background:#00000059;border:1px solid rgba(201,168,76,.15);border-radius:0 0 10px 10px;margin-bottom:12px;margin-top:-9px;overflow:hidden}.panel-puzzle-list{max-height:200px;overflow-y:auto;padding:4px}.panel-puzzle-item{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:6px;cursor:pointer;transition:all .12s;font-size:12px}.panel-puzzle-item:hover{background:#ffffff0f}.panel-puzzle-item.active{background:#c9a84c26;border-left:3px solid var(--color-gold)}.panel-puzzle-item.dragging{opacity:.4}.drag-handle{color:#fff3;cursor:grab;font-size:14px;-webkit-user-select:none;user-select:none;flex-shrink:0;width:16px}.item-number{color:var(--color-text-dim);font-weight:600;min-width:22px;flex-shrink:0}.item-name{color:var(--color-text-primary);font-weight:500;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-rating{color:var(--color-text-dim);font-size:10px;flex-shrink:0}.item-active-mark{color:var(--color-gold);font-weight:700;flex-shrink:0}.panel-puzzle-list::-webkit-scrollbar{width:4px}.panel-puzzle-list::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.teacher-right-panel{border-top:1px solid var(--border-subtle);padding:8px;display:flex;flex-direction:column;gap:6px;max-height:50vh;overflow-y:auto}.trp-toggle{font-family:var(--font-primary);background:#c9a84c14;border:1px solid rgba(201,168,76,.2);color:var(--color-gold, #C9A84C);padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;text-align:left;width:100%}.trp-toggle:hover{background:#c9a84c26}.teacher-cheatsheet{background:#0003;border-radius:6px;padding:8px}.cheat-moves{display:flex;flex-wrap:wrap;gap:3px}.cheat-move{font-family:monospace;font-size:11px;padding:2px 5px;border-radius:3px;white-space:nowrap}.cheat-move.opponent{background:#ffffff0d;color:var(--color-text-dim)}.cheat-move.player{background:#6abf6926;color:#6abf69;font-weight:600}.solve-results-panel{background:#0003;border:1px solid rgba(100,149,237,.2);border-radius:8px;padding:8px}.solve-results-header{color:var(--color-text-accent);font-size:13px;font-weight:700;margin-bottom:6px}.solve-results-list{display:flex;flex-direction:column;gap:4px}.solve-empty{color:var(--color-text-dim);font-size:12px;font-style:italic;padding:8px;text-align:center}.solve-student-row{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:6px;background:#ffffff08;font-size:12px}.solve-student-row.solved{background:#6abf6914}.solve-student-name{color:var(--color-text-primary);font-weight:600;min-width:70px}.solve-student-moves{display:flex;gap:2px;flex:1;flex-wrap:wrap}.solve-move-dot{font-size:11px;padding:1px 4px;border-radius:3px}.solve-move-dot.correct{background:#6abf6933;color:#6abf69}.solve-move-dot.wrong{background:#d9404033;color:#ef9a9a}.solve-student-status{font-size:14px;flex-shrink:0}@media(max-width:1100px){.room-center{flex-direction:column;align-items:center}.center-control-panel{width:100%;max-width:480px;max-height:none}}@media(max-width:900px){.room-layout{flex-direction:column;height:auto}.room-left{width:100%;flex-direction:row;flex-wrap:wrap;height:auto;border-right:none;border-bottom:1px solid var(--border-subtle)}.video-tile{width:120px;aspect-ratio:4/3}.room-right{width:100%;max-height:300px;border-left:none;border-top:1px solid var(--border-subtle)}.lobby-body{flex-direction:column;align-items:center}.lobby-settings{width:100%}}.legal-page{min-height:100vh;background:linear-gradient(180deg,#110d0a,#1a1410);color:var(--color-text-primary, #E6DFC6);font-family:var(--font-primary, Georgia, "Times New Roman", serif);padding:40px 20px 80px;line-height:1.7}.legal-container{max-width:780px;margin:0 auto}.legal-back{display:inline-block;color:var(--color-text-muted, rgba(230, 223, 198, .6));font-size:14px;text-decoration:none;margin-bottom:24px;transition:color .2s}.legal-back:hover{color:var(--color-gold, #D2B48C)}.legal-header{border-bottom:1px solid rgba(210,180,140,.18);padding-bottom:28px;margin-bottom:36px}.legal-header h1{font-size:38px;color:var(--color-gold, #D2B48C);margin:0 0 12px;font-weight:600;letter-spacing:-.5px}.legal-meta{margin:0;color:var(--color-text-muted, rgba(230, 223, 198, .55));font-size:15px;font-style:italic}.legal-toc{background:#ffffff08;border:1px solid rgba(210,180,140,.12);border-radius:10px;padding:20px 24px;margin-bottom:40px}.legal-toc strong{color:var(--color-gold, #D2B48C);display:block;margin-bottom:12px;font-size:14px;text-transform:uppercase;letter-spacing:1px;font-weight:600}.legal-toc ol{margin:0;padding-left:22px;columns:2;column-gap:24px}.legal-toc li{margin:4px 0;break-inside:avoid}.legal-toc a{color:var(--color-text-primary, #E6DFC6);text-decoration:none;font-size:14px;transition:color .15s}.legal-toc a:hover{color:var(--color-gold, #D2B48C)}.legal-section{margin-bottom:44px;scroll-margin-top:20px}.legal-section h2{color:var(--color-gold, #D2B48C);font-size:24px;margin:0 0 18px;font-weight:600;border-bottom:1px solid rgba(210,180,140,.18);padding-bottom:10px}.legal-section h3{color:var(--color-text-primary, #E6DFC6);font-size:18px;margin:24px 0 10px;font-weight:600}.legal-section p{margin:0 0 14px;color:#e6dfc6e0;font-size:15.5px}.legal-section ul,.legal-section ol{margin:0 0 16px;padding-left:24px;color:#e6dfc6d9}.legal-section li{margin:8px 0;font-size:15px}.legal-section a{color:var(--color-gold, #D2B48C);text-decoration:underline;text-decoration-color:#d2b48c66;text-underline-offset:3px;transition:text-decoration-color .2s}.legal-section a:hover{text-decoration-color:var(--color-gold, #D2B48C)}.legal-section strong{color:var(--color-text-primary, #E6DFC6);font-weight:600}.legal-section code{background:#d2b48c1a;border:1px solid rgba(210,180,140,.18);padding:2px 8px;border-radius:4px;font-family:Consolas,Monaco,Courier New,monospace;font-size:13.5px;color:var(--color-gold, #D2B48C)}.legal-section address{font-style:normal;color:#e6dfc6d9;background:#ffffff08;padding:16px 20px;border-left:3px solid var(--color-gold, #D2B48C);border-radius:6px;margin:12px 0}.legal-table{width:100%;border-collapse:collapse;margin:12px 0;font-size:14.5px}.legal-table th{background:#d2b48c14;color:var(--color-gold, #D2B48C);text-align:left;padding:12px 14px;font-weight:600;border-bottom:2px solid rgba(210,180,140,.25)}.legal-table td{padding:12px 14px;border-bottom:1px solid rgba(210,180,140,.1);vertical-align:top;color:#e6dfc6d9}.legal-table tr:last-child td{border-bottom:none}.legal-table tr:hover td{background:#ffffff05}.legal-warning{background:#e74c3c14;border:1px solid rgba(231,76,60,.25);color:#f0a39c;padding:14px 18px;border-radius:8px;font-size:15px;margin:16px 0}.legal-note{background:#667eea14;border-left:3px solid rgba(102,126,234,.5);padding:10px 14px;border-radius:0 6px 6px 0;font-size:14px;color:#e6dfc6bf;margin:12px 0}.legal-steps{list-style:none;padding:0;counter-reset:step}.legal-steps>li{background:#ffffff08;border:1px solid rgba(210,180,140,.12);border-radius:10px;padding:20px 24px;margin:0 0 16px}.legal-steps>li h3{margin:0 0 12px;color:var(--color-gold, #D2B48C);font-size:16px}.legal-code-block{background:var(--color-bg-darkest, #110D0A);border:1px solid rgba(210,180,140,.18);border-radius:6px;padding:14px 18px;margin:10px 0;font-size:14.5px}.legal-code-block>div{margin:6px 0}.legal-label{display:inline-block;width:60px;color:var(--color-text-muted, rgba(230, 223, 198, .55));font-size:13px}.legal-quote{background:var(--color-bg-darkest, #110D0A);border-left:3px solid var(--color-gold, #D2B48C);padding:14px 18px;border-radius:0 6px 6px 0;margin:12px 0;font-style:italic;color:#e6dfc6d9;font-size:14.5px}.legal-cta{display:inline-block;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff!important;text-decoration:none!important;padding:12px 24px;border-radius:8px;font-weight:600;font-size:15px;transition:transform .15s,box-shadow .2s;margin:8px 0;border:none;cursor:pointer;font-family:inherit}.legal-cta:hover{transform:translateY(-1px);box-shadow:0 4px 14px #667eea66}.legal-cta--danger{background:linear-gradient(135deg,#c0392b,#8b1e1e)}.legal-cta--danger:hover{box-shadow:0 4px 14px #c0392b66}.legal-cta-wrapper{margin-top:20px;padding:18px;background:#ffffff08;border:1px solid rgba(210,180,140,.12);border-radius:10px;text-align:center}.legal-hint{margin:10px 0 0!important;font-size:13px!important;color:#e6dfc68c!important;font-style:italic}.legal-user-card{display:flex;align-items:center;gap:14px;background:#d2b48c0f;border:1px solid rgba(210,180,140,.18);padding:14px 18px;border-radius:10px}.legal-user-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;flex-shrink:0}.legal-user-info{display:flex;flex-direction:column;gap:2px}.legal-user-info strong{color:tan;font-size:16px}.legal-user-info span{color:#e6dfc6a6;font-size:13.5px}.legal-success-banner{text-align:center;background:#80d99a14;border:1px solid rgba(128,217,154,.25);border-radius:14px;padding:32px 28px}.legal-success-icon{font-size:56px;line-height:1;margin-bottom:12px}.legal-success-banner h2{color:#80d99a!important;border:none!important;padding:0!important}.legal-success-banner p{text-align:left;margin-bottom:12px!important}.legal-confirm-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:legalFadeIn .2s ease}@keyframes legalFadeIn{0%{opacity:0}to{opacity:1}}.legal-confirm-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid rgba(231,76,60,.35);border-radius:14px;padding:28px 24px;max-width:480px;width:100%;animation:legalSlideUp .25s ease}@keyframes legalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.legal-confirm-modal h2{color:#f0a39c!important;font-size:22px!important;margin:0 0 16px!important;border:none!important;padding:0!important}.legal-confirm-modal p{color:#e6dfc6d9;margin:0 0 12px;font-size:15px;line-height:1.6}.legal-confirm-modal .form-group{display:flex;flex-direction:column;gap:6px;position:relative}.legal-confirm-modal label{color:#e6dfc6a6;font-size:12px;font-weight:600}.legal-confirm-modal textarea{background:#110d0a;border:1px solid rgba(210,180,140,.18);color:#e6dfc6;padding:12px 14px;border-radius:10px;font-size:14px;font-family:inherit;resize:vertical;min-height:70px;max-height:200px;width:100%;box-sizing:border-box}.legal-confirm-modal textarea:focus{outline:none;border-color:tan;box-shadow:0 0 0 3px #d2b48c1f}.legal-confirm-modal textarea::placeholder{color:#e6dfc64d}.legal-confirm-modal .char-count{position:absolute;bottom:8px;right:14px;font-size:11px;color:#e6dfc659;pointer-events:none}.legal-confirm-actions{display:flex;gap:10px;margin-top:22px;justify-content:flex-end}.legal-btn{padding:12px 22px;border-radius:8px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;border:1px solid transparent;transition:all .2s;min-width:110px}.legal-btn:disabled{opacity:.6;cursor:not-allowed}.legal-btn--secondary{background:#ffffff0d;border-color:#d2b48c2e;color:#e6dfc6d9}.legal-btn--secondary:hover:not(:disabled){background:#ffffff14}.legal-btn--danger{background:linear-gradient(135deg,#c0392b,#8b1e1e);color:#fff}.legal-btn--danger:hover:not(:disabled){box-shadow:0 4px 14px #c0392b73;transform:translateY(-1px)}.legal-error{background:#e74c3c2e;border:1px solid rgba(231,76,60,.3);color:#e74c3c;padding:10px 14px;border-radius:8px;font-size:13px;margin-top:14px}.legal-link{font-size:16px;color:var(--color-gold, #D2B48C)!important;font-weight:600}.legal-footer{margin-top:60px;padding-top:24px;border-top:1px solid rgba(210,180,140,.15);text-align:center;color:var(--color-text-muted, rgba(230, 223, 198, .45));font-size:13px}.legal-footer p{margin:6px 0;color:inherit;font-size:13px}.legal-footer a{color:var(--color-text-muted, rgba(230, 223, 198, .6));text-decoration:none}.legal-footer a:hover{color:var(--color-gold, #D2B48C)}@media(max-width:600px){.legal-page{padding:24px 16px 60px}.legal-header h1{font-size:28px}.legal-section h2{font-size:20px}.legal-section h3{font-size:16px}.legal-toc ol{columns:1}.legal-toc{padding:16px 18px}.legal-steps>li{padding:16px 18px}.legal-table{font-size:13.5px}.legal-table th,.legal-table td{padding:8px 10px}}.reset-page{min-height:100vh;background:linear-gradient(180deg,#110d0a,#1a1410);display:flex;align-items:center;justify-content:center;padding:40px 20px;font-family:Georgia,Times New Roman,serif}.reset-card{background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid rgba(210,180,140,.18);border-radius:16px;padding:40px 32px;max-width:440px;width:100%;text-align:center;box-shadow:0 12px 48px #0006}.reset-logo{font-size:56px;line-height:1;margin-bottom:16px}.reset-card h1{color:tan;font-size:26px;font-weight:600;margin:0 0 10px;letter-spacing:.3px}.reset-card p{color:#e6dfc6d9;font-size:15px;line-height:1.6;margin:0 0 12px}.reset-checking{color:#e6dfc699!important;font-style:italic}.reset-account-hint{color:#e6dfc699!important;font-size:13px!important;margin-bottom:22px!important}.reset-account-hint strong{color:tan}.reset-error-text{color:#e6dfc6e6!important}.reset-hint{color:#e6dfc680!important;font-size:13px!important;font-style:italic}.reset-form{display:flex;flex-direction:column;gap:14px;margin-top:18px;text-align:left}.reset-form .form-group{display:flex;flex-direction:column;gap:6px}.reset-form label{color:#e6dfc6a6;font-size:12px;font-weight:600}.reset-form input{background:#110d0a;border:1px solid rgba(210,180,140,.18);color:#e6dfc6;padding:12px 14px;border-radius:10px;font-size:14px;width:100%;box-sizing:border-box;font-family:inherit;transition:all .2s}.reset-form input::placeholder{color:#e6dfc64d}.reset-form input:focus{outline:none;border-color:tan;box-shadow:0 0 0 3px #d2b48c1f}.reset-submit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:14px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;min-height:48px;margin-top:6px;display:flex;align-items:center;justify-content:center;font-family:inherit}.reset-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 20px #667eea66}.reset-submit:disabled{opacity:.5;cursor:not-allowed}.reset-error-banner{background:#e74c3c2e;border:1px solid rgba(231,76,60,.3);color:#e74c3c;padding:10px 14px;border-radius:8px;font-size:13px}.reset-mismatch{color:#e74c3c!important;font-size:12px!important;margin:4px 0 0!important}.reset-rules{list-style:none;padding:12px 14px;margin:0;background:#ffffff08;border:1px solid rgba(210,180,140,.12);border-radius:8px;display:flex;flex-direction:column;gap:6px}.reset-rules li{color:#e6dfc68c;font-size:13px;display:flex;align-items:center;gap:8px;transition:color .15s}.reset-rules li.ok{color:#80d99a}.reset-rules li .check{display:inline-block;width:18px;height:18px;text-align:center;border-radius:50%;background:#ffffff0f;font-size:12px;line-height:18px;flex-shrink:0}.reset-rules li.ok .check{background:#80d99a2e;color:#80d99a;font-weight:700}.reset-back-link,.reset-cancel a{color:#667eea;text-decoration:none;font-size:14px;font-weight:600;margin-top:12px;display:inline-block}.reset-back-link:hover,.reset-cancel a:hover{text-decoration:underline}.reset-cancel{margin-top:18px!important;font-size:13px!important}.loading-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:resetSpin .8s linear infinite}@keyframes resetSpin{to{transform:rotate(360deg)}}@media(max-width:480px){.reset-card{padding:28px 22px}.reset-card h1{font-size:22px}}.ap-root{display:grid;grid-template-columns:260px 1fr;min-height:100vh;background:#0f1419;color:#e6edf3;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.ap-sidebar{background:#161b22;border-right:1px solid #21262d;display:flex;flex-direction:column;padding:20px 14px;position:sticky;top:0;height:100vh}.ap-brand{display:flex;align-items:center;gap:12px;padding:6px 10px 18px;border-bottom:1px solid #21262d;margin-bottom:14px}.ap-brand-mark{font-size:34px;line-height:1;color:#f0883e}.ap-brand-title{font-size:16px;font-weight:700;letter-spacing:.3px}.ap-brand-sub{font-size:11px;color:#7d8590;text-transform:uppercase;letter-spacing:1px}.ap-nav{display:flex;flex-direction:column;gap:2px;flex:1}.ap-nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:transparent;border:none;border-radius:6px;color:#c9d1d9;cursor:pointer;font-size:14px;text-align:left;transition:background .12s,color .12s}.ap-nav-item:hover{background:#21262d}.ap-nav-item.active{background:#1f6feb1f;color:#58a6ff;font-weight:600}.ap-nav-icon{font-size:18px;width:22px;display:inline-block;text-align:center}.ap-user-card{display:flex;gap:10px;align-items:center;padding:10px;border:1px solid #21262d;border-radius:8px;margin-top:14px}.ap-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#f0883e,#d12f2f);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#fff}.ap-user-text{flex:1;min-width:0}.ap-user-name{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-back-btn{margin-top:10px;padding:10px;background:transparent;border:1px solid #30363d;color:#c9d1d9;border-radius:6px;cursor:pointer;font-size:13px}.ap-back-btn:hover{border-color:#58a6ff;color:#58a6ff}.ap-main{display:flex;flex-direction:column;min-width:0}.ap-topbar{position:sticky;top:0;z-index:10;background:#0f1419d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid #21262d;padding:18px 32px}.ap-topbar h1{margin:0;font-size:22px;font-weight:600}.ap-content{padding:28px 32px;flex:1}.ap-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:18px}.ap-card-header h2{margin:0 0 4px;font-size:18px;font-weight:600}.ap-subtle{margin:0;font-size:13px;color:#7d8590;max-width:720px}.ap-actions{display:flex;gap:10px;flex-shrink:0}.ap-btn-primary,.ap-btn-ghost,.ap-btn-danger{padding:9px 16px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:filter .12s,background .12s}.ap-btn-primary{background:#238636;color:#fff;border-color:#2ea043}.ap-btn-primary:hover:not(:disabled){background:#2ea043}.ap-btn-primary:disabled{background:#21262d;border-color:#30363d;color:#7d8590;cursor:not-allowed}.ap-btn-ghost{background:transparent;color:#c9d1d9;border-color:#30363d}.ap-btn-ghost:hover:not(:disabled){border-color:#58a6ff;color:#58a6ff}.ap-btn-ghost:disabled{opacity:.5;cursor:not-allowed}.ap-btn-danger{background:#da3633;color:#fff;border-color:#f85149}.ap-btn-danger:hover:not(:disabled){background:#f85149}.ap-table-wrap{background:#161b22;border:1px solid #21262d;border-radius:8px;overflow:auto}.ap-table{width:100%;border-collapse:collapse;font-size:13px}.ap-table thead th{text-align:left;padding:12px 10px;background:#1c2128;color:#7d8590;font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.5px;border-bottom:1px solid #30363d;position:sticky;top:0;cursor:help}.ap-table tbody td{padding:8px 10px;border-bottom:1px solid #21262d;vertical-align:middle}.ap-table tbody tr:hover{background:#1c2128}.ap-table input,.ap-table select{width:100%;min-width:60px;padding:6px 8px;background:#0d1117;border:1px solid #30363d;border-radius:4px;color:#e6edf3;font-size:13px;font-family:inherit}.ap-table input:focus,.ap-table select:focus{outline:none;border-color:#58a6ff}.ap-table input[type=number]{font-family:ui-monospace,SF Mono,Monaco,monospace}.ap-table td.cell-modified{position:relative}.ap-table td.cell-modified:after{content:"";position:absolute;top:6px;right:6px;width:6px;height:6px;background:#f0883e;border-radius:50%;pointer-events:none}.ap-table td.cell-modified input,.ap-table td.cell-modified select{border-color:#f0883e44}.ap-table tbody tr.tier-beginner td:first-child{box-shadow:inset 3px 0 #3fb950}.ap-table tbody tr.tier-intermediate td:first-child{box-shadow:inset 3px 0 #58a6ff}.ap-table tbody tr.tier-advanced td:first-child{box-shadow:inset 3px 0 #f85149}.ap-row-reset{background:transparent;border:1px solid #30363d;color:#7d8590;width:38px;height:38px;border-radius:6px;cursor:pointer;font-size:14px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.ap-row-reset:hover{border-color:#58a6ff;color:#58a6ff}.ap-legend{margin-top:14px;font-size:12px;color:#7d8590;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ap-legend .dot{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:2px}.ap-legend .dot.tier-beginner{background:#3fb950}.ap-legend .dot.tier-intermediate{background:#58a6ff}.ap-legend .dot.tier-advanced{background:#f85149}.ap-legend-sep{color:#30363d}.cell-modified-sample{display:inline-block;width:10px;height:10px;background:#f0883e;border-radius:50%;margin-right:2px}.ap-role-badge{display:inline-block;padding:3px 8px;border-radius:10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.ap-role-badge.master{background:#f0883e22;color:#f0883e;border:1px solid #f0883e55}.ap-role-badge.admin{background:#58a6ff22;color:#58a6ff;border:1px solid #58a6ff55}.ap-role-badge.none{background:#30363d44;color:#7d8590;border:1px solid #30363d}.ap-search{display:flex;gap:6px}.ap-search input{padding:8px 12px;background:#0d1117;border:1px solid #30363d;border-radius:6px;color:#e6edf3;font-size:13px;width:280px}.ap-search input:focus{outline:none;border-color:#58a6ff}.ap-search button{padding:8px 14px;background:#21262d;border:1px solid #30363d;border-radius:6px;color:#c9d1d9;cursor:pointer;font-size:13px}.ap-search button:hover{border-color:#58a6ff;color:#58a6ff}.ap-users-table td{font-size:13px}.ap-users-table .ap-mono{font-family:ui-monospace,SF Mono,Monaco,monospace;font-size:12px;color:#7d8590}.ap-avatar-sm{width:28px;height:28px;border-radius:50%;display:block}.ap-avatar-sm.placeholder{background:linear-gradient(135deg,#1f6feb,#58a6ff);display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:700}.ap-empty{text-align:center;padding:30px;color:#7d8590}.ap-toast{position:fixed;bottom:24px;right:24px;padding:12px 18px;border-radius:6px;font-size:13px;font-weight:500;box-shadow:0 8px 20px #0006;z-index:1000;max-width:420px;animation:ap-toast-in .2s ease-out}.ap-toast.ok{background:#1a3a1f;border:1px solid #2ea043;color:#aff5b4}.ap-toast.err{background:#4d1a1a;border:1px solid #f85149;color:#ffdcd7}@keyframes ap-toast-in{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.ap-fullscreen-msg{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#0f1419;color:#e6edf3;padding:30px}.ap-denied{text-align:center;max-width:420px}.ap-denied h2{margin:0 0 12px;font-size:28px;color:#f85149}.ap-denied p{color:#7d8590;margin-bottom:22px}.ap-denied button{padding:10px 24px;background:#1f6feb;border:none;color:#fff;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer}.ap-denied button:hover{background:#388bfd}.ap-loading{padding:40px;text-align:center;color:#7d8590}.ap-settings-group{background:#161b22;border:1px solid #21262d;border-radius:8px;padding:22px 24px;margin-bottom:18px}.ap-group-header{margin-bottom:18px}.ap-group-header h3{margin:0 0 4px;font-size:15px;font-weight:600;color:#e6edf3}.ap-group-header .ap-subtle{max-width:100%}.ap-fields-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px 28px}.ap-field{display:flex;flex-direction:column;gap:4px;padding:12px;background:#0d1117;border:1px solid #21262d;border-radius:6px;position:relative;transition:border-color .12s}.ap-field.modified{border-color:#f0883e55}.ap-field.modified:after{content:"";position:absolute;top:8px;right:8px;width:6px;height:6px;background:#f0883e;border-radius:50%}.ap-field-label{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;font-weight:600;color:#c9d1d9;margin-bottom:6px;padding-right:14px}.ap-field-unit{font-size:11px;font-weight:400;color:#7d8590;text-transform:uppercase;letter-spacing:.5px}.ap-field-input-row{display:flex;gap:6px;align-items:center}.ap-field-input-row input{flex:1;height:38px;padding:0 10px;box-sizing:border-box;background:#161b22;border:1px solid #30363d;border-radius:6px;color:#e6edf3;font-size:14px;font-family:ui-monospace,SF Mono,Monaco,monospace}.ap-field-input-row input:focus{outline:none;border-color:#58a6ff}.ap-field.modified .ap-field-input-row input{border-color:#f0883e44}.ap-field-hint{font-size:12px;color:#7d8590;line-height:1.4;margin-top:6px}.ap-field-default{font-size:11px;color:#6e7681;margin-top:4px}.ap-field-default .ap-mono{background:#161b22;padding:1px 5px;border-radius:3px;color:#c9d1d9}.ap-bool-toggle{display:flex;align-items:center;gap:8px;flex:1;height:38px;padding:0 12px;background:#0d1117;border:1px solid #30363d;border-radius:6px;cursor:pointer;color:#c9d1d9;font-size:14px}.ap-bool-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#2f81f7}.ap-field.modified .ap-bool-toggle{border-color:#d29922}@media(max-width:900px){.ap-root{grid-template-columns:1fr}.ap-sidebar{position:relative;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;padding:12px}.ap-brand{border:none;margin:0;padding:0 10px 0 0}.ap-nav{flex-direction:row;flex:1 1 100%;flex-wrap:wrap}.ap-user-card{margin:0;flex:0 0 auto}.ap-back-btn{display:none}.ap-card-header{flex-direction:column;align-items:stretch}}
