:root{--body-bg: #0b0d10;--surface: #14171d;--surface-hover: #1a1e24;--surface-alt: #0f1115;--border: #23272e;--border-light: #2e3239;--text-primary: #e8eaed;--text-secondary: #9aa0ab;--text-muted: #5f646d;--accent: #f0b429;--accent-hover: #f7c94b;--accent-text: #0b0d10;--accent-subtle: rgba(240, 180, 41, .08);--accent-glow: rgba(240, 180, 41, .25);--danger: #e04f4f;--danger-hover: #c73e3e;--success: #3fb68b;--info: #5b9bd5;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-accent: 0 0 20px rgba(240, 180, 41, .12);--shadow-card-hover: 0 8px 24px rgba(240, 180, 41, .12);--bs-body-bg: var(--body-bg);--bs-body-color: var(--text-primary);--bs-border-color: var(--border);--bs-link-color: var(--accent);--bs-link-hover-color: var(--accent-hover);--bs-dark: var(--surface);--bs-dark-rgb: 20, 23, 29;--bs-warning: var(--accent);--bs-warning-rgb: 240, 180, 41;--bs-danger: var(--danger);--bs-success: var(--success);--bs-info: var(--info)}*{scrollbar-width:thin;scrollbar-color:var(--accent) var(--surface)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--accent);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-hover)}html{font-size:16px}body{background-color:var(--body-bg);color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{color:var(--accent);font-weight:600;letter-spacing:-.02em}h2{font-size:1.75rem}h3{font-size:1.35rem}a{color:var(--accent);text-decoration:none;transition:color .2s ease}a:hover{color:var(--accent-hover)}.text-warning{color:var(--accent)!important}.text-danger{color:var(--danger)!important}.text-success{color:var(--success)!important}.text-muted,.text-secondary{color:var(--text-secondary)!important}.small{font-size:.8rem}.fw-bold{font-weight:600}.fw-semibold{font-weight:500}.bg-dark{background-color:var(--surface)!important}.bg-dark-subtle{background-color:var(--surface-alt)!important}.bg-black{background-color:var(--body-bg)!important}.bg-warning{background-color:var(--accent)!important}.bg-danger{background-color:var(--danger)!important}.bg-success{background-color:var(--success)!important}.bg-opacity-10{--bs-bg-opacity: .1}.bg-opacity-75{--bs-bg-opacity: .75}.border-warning{border-color:var(--accent)!important}.border-secondary{border-color:var(--border-light)!important}.border-danger{border-color:var(--danger)!important}.border-bottom,.border-top,.border-end,.border-start,.border{border-color:var(--border)!important}.btn{font-weight:500;letter-spacing:.01em;transition:all .2s ease;border-radius:6px}.btn-warning{--bs-btn-bg: var(--accent);--bs-btn-border-color: var(--accent);--bs-btn-color: var(--accent-text);--bs-btn-hover-bg: var(--accent-hover);--bs-btn-hover-border-color: var(--accent-hover);--bs-btn-hover-color: var(--accent-text);--bs-btn-active-bg: var(--accent);--bs-btn-active-border-color: var(--accent);--bs-btn-disabled-bg: var(--accent);--bs-btn-disabled-border-color: var(--accent);box-shadow:none}.btn-warning:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-outline-warning{--bs-btn-border-color: var(--accent);--bs-btn-color: var(--accent);--bs-btn-hover-bg: var(--accent);--bs-btn-hover-border-color: var(--accent);--bs-btn-hover-color: var(--accent-text)}.btn-outline-warning:hover:not(:disabled){transform:translateY(-1px)}.btn-outline-danger{--bs-btn-border-color: var(--danger);--bs-btn-color: var(--danger);--bs-btn-hover-bg: var(--danger);--bs-btn-hover-border-color: var(--danger);--bs-btn-hover-color: #fff}.btn-danger{--bs-btn-bg: var(--danger);--bs-btn-border-color: var(--danger);--bs-btn-hover-bg: var(--danger-hover);--bs-btn-hover-border-color: var(--danger-hover)}.btn-outline-light{--bs-btn-border-color: var(--border-light);--bs-btn-color: var(--text-primary);--bs-btn-hover-bg: var(--surface-hover);--bs-btn-hover-border-color: var(--border-light);--bs-btn-hover-color: var(--accent)}.btn-outline-secondary{--bs-btn-border-color: var(--border-light);--bs-btn-color: var(--text-secondary);--bs-btn-hover-bg: var(--surface-hover);--bs-btn-hover-border-color: var(--border-light);--bs-btn-hover-color: var(--text-primary)}.btn-link,.btn-link span{color:inherit;text-decoration:none}.btn-link:hover,.btn-link:hover span{color:var(--accent)}.btn-dark{--bs-btn-bg: var(--surface);--bs-btn-border-color: var(--border);--bs-btn-color: var(--accent);--bs-btn-hover-bg: var(--surface-hover);--bs-btn-hover-border-color: var(--border-light);--bs-btn-hover-color: var(--accent-hover)}.btn-sm{border-radius:5px}.card{border-radius:10px;overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .25s ease,box-shadow .25s ease;background-color:var(--surface);border:1px solid var(--border)}.card.bg-dark{background-color:var(--surface)!important}.card.border-warning{border-color:var(--accent)!important;box-shadow:var(--shadow-accent)}.card-body{padding:1.25rem}.card-footer{border-top:1px solid var(--border);padding:.75rem 1.25rem}.card-title{color:var(--accent);font-weight:600}.card-subtitle,.card-text{color:var(--text-secondary)}.card-img-top{object-fit:cover}.form-label{color:var(--text-primary);font-weight:500;font-size:.85rem;margin-bottom:.35rem}.form-control,.form-select{background-color:var(--surface);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;transition:border-color .2s ease,box-shadow .2s ease}.form-control::placeholder{color:var(--text-muted);opacity:.7}.form-control:focus,.form-select:focus{background-color:var(--surface);color:var(--text-primary);border-color:var(--accent);box-shadow:0 0 0 .2rem var(--accent-glow)}.input-group-text{background-color:var(--surface);color:var(--accent);border:1px solid var(--border)}.form-check-input{background-color:var(--surface);border-color:var(--border-light)}.form-check-input:checked{background-color:var(--accent);border-color:var(--accent)}.form-check-input:focus{border-color:var(--accent);box-shadow:0 0 0 .2rem var(--accent-glow)}.form-check-label{color:var(--text-primary)}.form-select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%239aa0ab' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.table{--bs-table-color: var(--text-primary);--bs-table-hover-color: var(--text-primary);--bs-table-hover-bg: var(--surface-hover);margin-bottom:0}.table-dark{--bs-table-bg: transparent;--bs-table-border-color: var(--border)}.table>thead{border-bottom:2px solid var(--accent)}.table>thead>tr>th{color:var(--accent);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding-top:.75rem;padding-bottom:.75rem;border-bottom:none}.table>tbody>tr{border-bottom:1px solid var(--border);transition:background-color .15s ease}.table>tbody>tr:last-child{border-bottom:none}.table>tbody>tr>td{padding-top:.7rem;padding-bottom:.7rem;vertical-align:middle}.navbar{background-color:var(--surface)!important;border-bottom:2px solid var(--accent);box-shadow:0 2px 12px #0000004d}.navbar-brand img{transition:transform .3s ease}.navbar-brand:hover img{transform:scale(1.05)}.navbar-toggler{border-color:var(--accent)!important}.navbar-toggler:focus{box-shadow:0 0 0 .15rem var(--accent-glow)}.navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28240, 180, 41, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar .nav-link,.navbar .dropdown-toggle{color:var(--accent)!important;transition:color .2s ease}.navbar .nav-link:hover,.navbar .dropdown-toggle:hover{color:var(--accent-hover)!important}.navbar .nav-link.active{color:var(--accent)!important;border-bottom:2px solid var(--accent)}.nav-tabs{border-bottom:2px solid var(--border)}.nav-tabs .nav-link{border:none;border-bottom:2px solid transparent;color:var(--text-secondary);transition:border-color .2s ease,color .2s ease;padding:.6rem 1.2rem}.nav-tabs .nav-link:hover{border-bottom-color:var(--accent-glow);color:var(--accent)!important}.nav-tabs .nav-link.active{background:transparent;border-bottom:2px solid var(--accent);color:var(--accent)!important}.navbar-avatar{font-size:1.4rem;color:var(--accent);line-height:1;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.navbar-avatar-img{width:32px;height:32px;object-fit:cover;border-radius:50%;border:2px solid var(--accent)}.dropdown-header{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:.4rem .75rem}.modal-content{background-color:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg)}.modal-content.border-warning{border-color:var(--accent)!important;box-shadow:var(--shadow-accent)}.modal-content.border-danger{border-color:var(--danger)!important;box-shadow:0 0 20px #e04f4f26}.modal-header{border-bottom:1px solid var(--border);padding:1rem 1.25rem}.modal-title{color:var(--accent)}.modal-footer{border-top:1px solid var(--border);padding:1rem 1.25rem}.modal-backdrop{background-color:#000000b3}.badge{font-weight:500;font-size:.72rem;padding:.3em .65em;border-radius:5px}.badge.bg-warning{background-color:var(--accent)!important;color:var(--accent-text)!important}.badge.bg-danger{background-color:var(--danger)!important}.badge.bg-success{background-color:var(--success)!important}.badge.bg-info{background-color:var(--info)!important}.badge.bg-secondary{background-color:var(--border-light)!important}.alert{border-radius:8px;border:none}.alert-danger{background-color:#e04f4f1f;color:var(--danger)}.alert-success{background-color:#3fb68b1f;color:var(--success)}.alert .btn-close{filter:invert(1) grayscale(100%) brightness(200%)}.progress{background-color:var(--surface-alt);border-radius:4px}.progress-bar.bg-warning{background-color:var(--accent)!important}.dropdown-menu{background-color:var(--surface);border:1px solid var(--accent);border-radius:8px;box-shadow:var(--shadow-md);padding:.4rem}.dropdown-menu-dark{background-color:var(--surface);border-color:var(--accent)}.dropdown-item{color:var(--accent);border-radius:6px;padding:.5rem .75rem;transition:background-color .15s ease,color .15s ease}.dropdown-item:hover,.dropdown-item:focus{background-color:var(--accent-subtle);color:var(--accent)!important}.dropdown-divider{border-color:var(--border)}.spinner-border.text-warning{color:var(--accent)!important}.auth-logo{max-width:140px;opacity:.95}.auth-card{border-radius:10px;box-shadow:var(--shadow-accent)}.auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 .2rem var(--accent-glow)}.auth-btn{transition:transform .2s ease,box-shadow .2s ease}.auth-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px var(--accent-glow)}.course-card,.game-card{transition:transform .25s ease,box-shadow .25s ease}.course-card:hover,.game-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-hover)}.intro-img{transform:rotate(180deg);opacity:.85}.sidebar-subject,.sidebar-subject span{font-size:.9rem;transition:background-color .15s ease,color .15s ease;color:var(--accent)}.sidebar-subject:hover,.sidebar-subject:hover span{background-color:var(--accent-subtle);color:var(--accent-hover)}.sidebar-lesson,.sidebar-lesson span{font-size:.85rem;transition:background-color .15s ease,color .15s ease;color:var(--text-primary)}.sidebar-lesson:hover,.sidebar-lesson:hover span{background-color:var(--accent-subtle);color:var(--accent)}#unity-canvas:focus{outline:2px solid var(--accent);outline-offset:-2px}.code-hero{max-width:820px;overflow-x:auto}.code-hero-header{border:1px solid var(--accent);border-bottom:none;background-color:var(--surface);border-radius:8px 8px 0 0}.code-hero-body{border:1px solid var(--accent);border-top:none;background-color:#000!important;font-family:Consolas,Courier New,monospace;font-size:.9rem;line-height:1.7;border-radius:0 0 8px 8px}.comment{color:#6a9955}.keyword{color:#569cd6}.string{color:#ce9178}.function{color:#dcdcaa}.class{color:#4ec9b0}.variable{color:#9cdcfe}.operator{color:#d4d4d4}.copy-btn{transition:all .25s ease}.copy-btn.copied{animation:pulse-copy .5s ease}@keyframes pulse-copy{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.cursor-blink{color:var(--accent);animation:blink 1s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}footer{background-color:var(--surface)!important;border-top:2px solid var(--accent)!important}footer a{color:var(--accent);text-decoration:none;transition:color .2s ease}footer a:hover{color:var(--accent-hover)}footer small{color:var(--text-secondary)}.footer-logo{transition:transform .3s ease,opacity .3s ease}.footer-logo:hover{transform:scale(1.05);opacity:.85}.upload-zone{border:2px dashed var(--border-light);border-radius:8px;padding:2rem;text-align:center;transition:border-color .2s ease;cursor:pointer}.upload-zone:hover{border-color:var(--accent)}.upload-zone i{color:var(--accent)}.upload-file-selected{border:2px solid var(--accent);border-radius:8px;padding:.75rem 1rem;background-color:var(--accent-subtle)}.upload-file-selected i{color:var(--accent)}.preview-frame{height:500px;overflow-y:auto;background:#ffffff;border-radius:0 0 8px 8px}.preview-frame::-webkit-scrollbar-track{background:#e0e0e0}.preview-frame::-webkit-scrollbar-thumb{background:#888}.preview-empty{min-height:500px}.scrollable-list{max-height:300px;overflow-y:auto}.scrollable-list .list-item{transition:background-color .15s ease}.scrollable-list .list-item:hover{background-color:var(--accent-subtle)}.video-preview{max-width:100%;height:auto;border-radius:8px;border:1px solid var(--border)}.pdf-preview{width:100%;height:500px;border:1px solid var(--border);border-radius:8px;background:#ffffff}.image-preview{max-width:40%;height:auto;border-radius:8px;border:1px solid var(--border)}.form-control::placeholder{color:var(--accent);opacity:.4}.profile-avatar{width:150px;height:150px;object-fit:cover;border:3px solid var(--accent);border-radius:50%}.profile-avatar-placeholder{width:150px;height:150px;background-color:var(--surface-alt);border:2px dashed var(--border-light);border-radius:50%}.profile-bio{background-color:var(--surface-alt);border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem;color:var(--text-secondary);font-size:.9rem;line-height:1.6}@media (max-width: 576px){h2{font-size:1.35rem}h3{font-size:1.15rem}.card-body{padding:1rem}}@media (min-width: 577px) and (max-width: 768px){h2{font-size:1.5rem}}@media (min-width: 769px) and (max-width: 992px){.card-body{padding:1.25rem}}@media (min-width: 1201px){.container{max-width:1140px}}
