*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;scroll-behavior:smooth}*{-webkit-overflow-scrolling:touch}@media(max-width:1023px){button.underline,a.underline{display:inline-block;padding:.6rem .4rem;margin:-.6rem -.4rem}}body{font-family:"Libertinus Math",Oswald,Lora,serif;background:#0a0a0f;color:#e4e4e7;line-height:1.5}#ambient-bg{position:fixed;inset:0;z-index:-1;overflow:hidden;background:var(--bg-primary);pointer-events:none}#page-photo-bg{position:fixed;inset:0;z-index:-1;background-size:cover;background-position:center top;background-repeat:no-repeat;opacity:0;transition:opacity .4s ease,background-image 0s;pointer-events:none}#page-photo-bg.active{opacity:1}.page-photo-bg-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#0b0b128c,#0b0b12e6 55%,#0b0b12)}.ambient-blob{position:absolute;border-radius:50%;filter:blur(60px);transition:background .7s ease;will-change:transform;transform:scale(.35)}#ambient-bg.ready .ambient-blob.blob-1{animation:ambient-blob-intro 1s cubic-bezier(.34,1.56,.64,1) both,ambient-drift-1 20s ease-in-out infinite 1s}#ambient-bg.ready .ambient-blob.blob-2{animation:ambient-blob-intro 1s cubic-bezier(.34,1.56,.64,1) both,ambient-drift-2 24s ease-in-out infinite 1s}#ambient-bg.ready .ambient-blob.blob-3{animation:ambient-blob-intro 1s cubic-bezier(.34,1.56,.64,1) both,ambient-drift-3 27s ease-in-out infinite 1s}#ambient-bg.ready .ambient-blob.blob-4{animation:ambient-blob-intro 1s cubic-bezier(.34,1.56,.64,1) both,ambient-drift-4 22s ease-in-out infinite 1s}#ambient-bg.ready .ambient-blob.blob-5{animation:ambient-blob-intro 1s cubic-bezier(.34,1.56,.64,1) both,ambient-drift-5 25s ease-in-out infinite 1s}#ambient-bg.ready .ambient-blob.blob-6{animation:ambient-blob-intro 1s cubic-bezier(.34,1.56,.64,1) both,ambient-drift-6 23s ease-in-out infinite 1s}#ambient-bg.ready .ambient-blob.blob-7{animation:ambient-blob-intro 1s cubic-bezier(.34,1.56,.64,1) both,ambient-drift-7 26s ease-in-out infinite 1s}#ambient-bg.ready .ambient-blob.blob-8{animation:ambient-blob-intro 1s cubic-bezier(.34,1.56,.64,1) both,ambient-drift-8 21s ease-in-out infinite 1s}.ambient-blob.blob-1{width:28vmax;height:28vmax;top:-11vmax;left:-9vmax;opacity:.7;background:radial-gradient(circle,var(--ambient-c1) 0%,transparent 40%)}.ambient-blob.blob-2{width:26vmax;height:26vmax;bottom:-10vmax;right:-8vmax;opacity:.65;background:radial-gradient(circle,var(--ambient-c2) 0%,transparent 40%)}.ambient-blob.blob-3{width:23vmax;height:23vmax;top:-9vmax;right:-1vmax;opacity:.6;background:radial-gradient(circle,#f5b800 0%,transparent 38%)}.ambient-blob.blob-4{width:23vmax;height:23vmax;bottom:-8vmax;left:1vmax;opacity:.55;background:radial-gradient(circle,#ec4899 0%,transparent 38%)}.ambient-blob.blob-5{width:20vmax;height:20vmax;top:20vh;left:-11vmax;opacity:.5;background:radial-gradient(circle,#8b5cf6 0%,transparent 38%)}.ambient-blob.blob-6{width:20vmax;height:20vmax;bottom:16vh;right:-11vmax;opacity:.5;background:radial-gradient(circle,#22d3ee 0%,transparent 38%)}.ambient-blob.blob-7{width:19vmax;height:19vmax;top:-9vmax;left:34vw;opacity:.45;background:radial-gradient(circle,#ef4444 0%,transparent 38%)}.ambient-blob.blob-8{width:19vmax;height:19vmax;bottom:-9vmax;right:34vw;opacity:.45;background:radial-gradient(circle,#a3e635 0%,transparent 38%)}@keyframes ambient-blob-intro{0%{transform:scale(.35)}to{transform:scale(1)}}@keyframes ambient-drift-1{0%,to{transform:translate(0) scale(1)}50%{transform:translate(2vmax,1.5vmax) scale(1.06)}}@keyframes ambient-drift-2{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-2vmax,-1.5vmax) scale(1.06)}}@keyframes ambient-drift-3{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-1.5vmax,1vmax) scale(1.05)}}@keyframes ambient-drift-4{0%,to{transform:translate(0) scale(1)}50%{transform:translate(1.5vmax,-1vmax) scale(1.05)}}@keyframes ambient-drift-5{0%,to{transform:translate(0) scale(1)}50%{transform:translate(1vmax,2vmax) scale(1.06)}}@keyframes ambient-drift-6{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-1vmax,-2vmax) scale(1.06)}}@keyframes ambient-drift-7{0%,to{transform:translate(0) scale(1)}50%{transform:translate(1.2vmax,1vmax) scale(1.05)}}@keyframes ambient-drift-8{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-1.2vmax,-1vmax) scale(1.05)}}@media(prefers-reduced-motion:reduce){.ambient-blob,#ambient-bg.ready .ambient-blob[class]{animation:none;transform:none}}:root{--bg-primary: #0a0a0f;--bg-secondary: #12121a;--text-primary: #e4e4e7;--text-secondary: #9ca3af;--accent-primary: #3b82f6;--accent-secondary: #10b981;--accent-tertiary: #f97316;--card-bg: rgba(18, 18, 26, .8);--border-color: rgba(255,255,255,.05);--ambient-c1: #3b82f6;--ambient-c2: #10b981;--star-color: #fff;--btn-gradient: linear-gradient(135deg, #3b82f6, #10b981, #f97316)}.font-math{font-family:"Libertinus Math",serif}.font-ballet{font-family:Ballet,cursive}.font-display{font-family:Oswald,sans-serif;font-weight:700;letter-spacing:.5px}.font-pixel{font-family:"Press Start 2P",cursive}.font-sedgwick{font-family:Sedgwick Ave Display,cursive}.text-anim{font-family:Oswald,sans-serif;font-weight:700;letter-spacing:.5px}.header-fixed{position:fixed;top:0;left:0;width:100%;z-index:1000;background:#0a0a0fb3;backdrop-filter:blur(8px);border-bottom:1px solid rgba(59,130,246,.3);transition:background-color .3s ease,backdrop-filter .3s ease}.header-fixed.scrolled{background:#0a0a0ff2;backdrop-filter:blur(12px);box-shadow:0 4px 20px #00000080}.logo{max-width:85px}.header-room-btn{color:#6bffd0;background:#6bffd014;border:1px solid rgba(107,255,208,.25)}.header-room-btn:hover{background:#6bffd029;border-color:#6bffd073;transform:translateY(-1px)}.header-room-btn.active{background:#6bffd038;border-color:#6bffd099;box-shadow:0 0 12px #6bffd04d}.header-lesson-live-badge{display:flex;align-items:center;gap:.4rem;padding:.5rem .7rem;border-radius:.75rem;border:2px solid #b45309;background:linear-gradient(135deg,#fde68a,#f59e0b);color:#451a03;font-size:.78rem;font-weight:800;cursor:pointer;box-shadow:3px 3px #b45309,0 0 #fbbf2499;animation:lessonLiveGlow 1.6s ease-in-out infinite;transition:transform .1s ease}.header-lesson-live-badge:hover{transform:translateY(-1px)}.header-lesson-live-badge i{font-size:.95rem;animation:lessonLiveBulb 1.6s ease-in-out infinite}@keyframes lessonLiveGlow{0%,to{box-shadow:3px 3px #b45309,0 0 6px 1px #fbbf2459}50%{box-shadow:3px 3px #b45309,0 0 16px 5px #fbbf24d9}}@keyframes lessonLiveBulb{0%,to{opacity:1}50%{opacity:.55}}.header-lesson-live-wrap{position:relative}.header-lesson-live-dropdown{position:absolute;top:calc(100% + .5rem);right:0;min-width:15rem;max-width:min(20rem,calc(100vw - 1.5rem));background:#1c1305;border:2px solid #b45309;border-radius:.75rem;box-shadow:3px 3px #b45309;padding:.6rem;z-index:60;max-height:min(70vh,26rem);max-height:min(70dvh,26rem);overflow-y:auto}.header-lesson-live-dropdown::-webkit-scrollbar-thumb{background:#fbbf2480}.header-lesson-live-dropdown::-webkit-scrollbar-thumb:hover{background:#fbbf24b3}.header-lesson-live-dropdown-title{position:sticky;top:0;background:#1c1305;color:#fbbf24;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;padding:0 .3rem .4rem}.header-lesson-live-row{display:flex;align-items:center;gap:.4rem;padding:.35rem .3rem;border-radius:.5rem}.header-lesson-live-row:hover{background:#fbbf241a}.header-lesson-live-row-name{flex:1;display:flex;align-items:center;gap:.4rem;color:#fde68a;font-size:.82rem;font-weight:700;text-align:left;background:none;border:none;cursor:pointer;padding:0}.header-lesson-live-row-name:hover{text-decoration:underline}.header-lesson-live-row-end{flex-shrink:0;background:#f59e0b;color:#451a03;border:none;border-radius:.5rem;padding:.3rem .6rem;font-size:.72rem;font-weight:800;cursor:pointer}.header-lesson-live-row-end:hover{background:#fbbf24}.header-shop-btn{color:#fbbf24;background:#fbbf2414;border:1px solid rgba(251,191,36,.25)}.header-shop-btn:hover{background:#fbbf2429;border-color:#fbbf2473;transform:translateY(-1px)}.header-shop-btn.active{background:#fbbf2438;border-color:#fbbf2499;box-shadow:0 0 12px #fbbf244d}#sidebar{background:#0a0a0f99;backdrop-filter:blur(8px);border-right:1px solid rgba(59,130,246,.3);box-shadow:4px 0 20px #0000004d;width:260px;flex-shrink:0}@media(max-width:1023px){#sidebar{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1001;transform:translate(-100%);transition:transform .3s;background:#0a0a0ff2}#sidebar.open{transform:translate(0)}}#mobile-bottom-nav{display:none}@media(max-width:1023px){:root{--mobile-nav-h: 4.25rem}#mobile-bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:950;justify-content:space-around;align-items:center;background:#0a0a0feb;backdrop-filter:blur(12px);border-top:1px solid rgba(59,130,246,.3);padding:.4rem .25rem calc(.4rem + env(safe-area-inset-bottom,0px))}.site-footer{margin-bottom:calc(var(--mobile-nav-h) + 1rem)}#morra-container{bottom:calc(var(--mobile-nav-h) + .25rem)!important}#morra-container .morra-button{width:3.25rem!important;height:3.25rem!important}#morra-container .morra-button img{max-width:60px}.scroll-top-btn{display:none!important}}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;flex:1;min-width:0;padding:.35rem .25rem;border-radius:.85rem;color:#9ca3af;font-size:.65rem;font-family:Oswald,sans-serif;background:transparent;border:none;transition:color .2s ease,background-color .2s ease}.mobile-nav-item i{font-size:1.15rem}.mobile-nav-item.active{color:#6bffd0;background:#6bffd01a}.site-footer{background:#0a0a0f99;backdrop-filter:blur(8px);border-top:1px solid rgba(59,130,246,.3);width:100%}.footer-logo{max-width:150px}.footer-inside{flex-direction:column!important}.footer-span{font-size:34px}.footer-block{display:flex;align-items:center;justify-content:space-around;flex-wrap:wrap}.footer-icons{display:flex;gap:10px}.img-cat3{max-width:530px}.font-sedgwick span{font-family:Londrina Sketch,sans-serif}.gradient-text,.aurora-text{background:linear-gradient(135deg,#3b82f6,#10b981,#f97316);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glow-purple{box-shadow:0 0 30px #3b82f64d}.glow-cyan{box-shadow:0 0 30px #10b9814d}.card-hover{transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 16px #0000004d;border:none!important}.card-hover:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 12px 24px #00000080}.card-hover:active{transform:scale(.97);box-shadow:0 4px 8px #00000059;transition:transform .1s ease,box-shadow .1s ease}a,button{-webkit-tap-highlight-color:transparent}a:active,button:active{opacity:.72}.card-hover .aspect-video{transition:transform .3s ease}.card-hover:hover .aspect-video{transform:scale(1.05)}.aspect-video{aspect-ratio:16 / 9;width:100%;object-fit:cover}.cosmic-card{background:linear-gradient(135deg,#141423cc,#1e1432cc);backdrop-filter:blur(10px);transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 16px #0000004d}.programming-text{text-align:center;font-size:30px}.enj-block{display:flex;justify-content:center}.enjoyit-img{max-width:350px;border-radius:30px}.cosmic-card:hover{box-shadow:0 12px 24px #00000080}.faq-card{background:#12121acc;border-radius:1rem;padding:1.5rem;transition:all .3s ease;box-shadow:0 8px 16px #0000004d}.faq-card:hover{box-shadow:0 12px 24px #00000080;transform:translateY(-2px)}.news-loading,.news-empty{text-align:center;color:var(--text-secondary, #9ca3af);padding:2rem 0}.news-card{background:#12121acc;border-left:3px solid #fbbf24;border-radius:.9rem;padding:1.25rem 1.5rem;margin-bottom:1rem;box-shadow:0 8px 16px #0000004d;overflow:hidden}#news-feed-list{margin-top:1.75rem}.news-card-image.align-center{display:block;width:calc(100% + 3rem);margin:-1.25rem -1.5rem 1rem;max-height:20rem;object-fit:cover}.news-card-image.align-left,.news-card-image.align-right{display:block;width:40%;max-width:14rem;max-height:12rem;object-fit:cover;border-radius:.6rem;margin-bottom:.5rem}.news-card-image.align-left{float:left;margin-right:1rem}.news-card-image.align-right{float:right;margin-left:1rem}.news-card-title{color:#fff;font-family:Oswald,sans-serif;font-weight:700;font-size:1.1rem;margin-bottom:.4rem}.news-card-body{color:#d1d5db;font-size:.9rem;line-height:1.5;white-space:pre-wrap}.news-card-time{display:block;clear:both;margin-top:.6rem;color:#9ca3af;font-size:.75rem}.news-card-author{display:flex;align-items:center;gap:.35rem;margin-top:.5rem;color:#fbbf24;font-size:.78rem;font-weight:700}.news-card-author-meta{color:#9ca3af;font-weight:500}.news-suggest-block{margin-top:2.5rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.08)}.news-suggestion-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:#ffffff08;border-radius:.6rem;padding:.6rem .9rem;margin-bottom:.4rem;font-size:.85rem;color:#e5e7eb}.news-suggestion-status{font-size:.75rem;white-space:nowrap}.news-suggestion-status.is-approved{color:#34d399}.news-suggestion-status.is-rejected{color:#f87171}.news-suggestion-status.is-pending{color:#fbbf24}.presentation-card{background:#12121acc;border-radius:1rem;box-shadow:0 8px 16px #0000004d;text-align:center}.presentation-card-icon{width:3.5rem;height:3.5rem;margin:0 auto 1rem;border-radius:.9rem;background:#38bdf81f;color:#38bdf8;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.presentation-card-title{color:#fff;font-family:Oswald,sans-serif;font-weight:700;margin-bottom:.5rem}.presentation-card-desc{color:#9ca3af;font-size:.85rem}.presentation-card-cta{display:inline-flex;align-items:center;gap:.4rem;margin-top:1rem;padding:.45rem .9rem;border-radius:.6rem;background:#38bdf8;color:#0b0b12;font-size:.78rem;font-weight:800;box-shadow:3px 3px #0c4a6e;transition:transform .15s ease,box-shadow .15s ease}.presentation-card:hover .presentation-card-cta{transform:translate(1px,1px);box-shadow:2px 2px #0c4a6e}.presentation-card-badge{display:inline-block;padding:.2rem .65rem;margin-bottom:.6rem;border-radius:999px;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.presentation-card-badge.is-presentation{background:#fbbf2426;color:#fbbf24}.presentation-card-badge.is-documentation{background:#38bdf826;color:#38bdf8}.info-block{background:#3b82f61a;border-radius:2rem;padding:2rem;margin:2rem 0;box-shadow:0 8px 16px #0000004d}.info-block-inside{display:flex;justify-content:space-around;align-items:center;flex-wrap:wrap}.info-block-inside p{max-width:700px;text-align:left}.info-block-inside p span{font-size:23px;font-weight:700}.info-block-inside h2{text-align:left;font-size:90px;font-weight:700}.info-block-inside img{max-width:400px}@media(max-width:850px){.info-block h2{font-size:35px;text-align:center}.info-block-inside p{text-align:center}.info-block-inside img{max-width:200px}}@media(max-width:550px){.cosmic-card{padding:10px}}.impact-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.impact-stat-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:1rem;padding:1.25rem 1rem;text-align:center}.impact-stat-value{font-size:2rem;font-weight:800;color:#6bffd0}.impact-stat-value[data-real-stat=pending]{font-size:1rem;font-weight:500;font-style:italic;color:#9ca3af}.impact-stat-label{font-size:.85rem;color:#9ca3af;margin-top:.25rem}.nav-link{position:relative;transition:color .3s ease;cursor:pointer}.nav-link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--btn-gradient);transition:width .3s ease}.nav-link:hover:after,.nav-link.active:after{width:100%}.nav-link.active{color:#fff}.nav-flyout-wrap{position:relative}.nav-flyout-arrow{font-size:.7rem;color:#6b7280;padding:.4rem;transition:transform .2s ease}.nav-flyout-menu{display:flex;flex-direction:column;gap:.15rem;background:#16161f;border:1px solid rgba(255,255,255,.1);border-radius:.85rem;padding:.4rem;box-shadow:4px 4px #00000059}.nav-flyout-item{display:flex;align-items:center;gap:.6rem;width:100%;text-align:left;padding:.6rem .75rem;border:none;border-radius:.6rem;background:transparent;color:#d1d5db;font-size:.85rem;cursor:pointer;transition:background .15s ease,color .15s ease}.nav-flyout-item:hover{background:#ffffff0f;color:#fff}@media(min-width:1024px){.nav-flyout-menu{position:fixed;margin-left:0;min-width:13rem;z-index:9999;opacity:0;pointer-events:none;transform:translate(-6px);transition:opacity .15s ease,transform .15s ease}.nav-flyout-menu.is-open{opacity:1;pointer-events:auto;transform:translate(0)}.nav-flyout-arrow{display:none}}@media(max-width:1023px){.nav-flyout-menu{max-height:0;overflow:hidden;padding:0;border:none;box-shadow:none;margin-top:0;transition:max-height .25s ease}.nav-flyout-wrap.open .nav-flyout-menu{max-height:20rem;padding:.4rem;border:1px solid rgba(255,255,255,.1);margin-top:.25rem}.nav-flyout-wrap.open .nav-flyout-arrow{transform:rotate(90deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes particleFloat{0%,to{transform:translateY(0) translate(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-100px) translate(50px);opacity:0}}@keyframes nebula-drift{0%,to{transform:translate(0) translateY(0)}25%{transform:translate(20px) translateY(-15px)}50%{transform:translate(0) translateY(20px)}75%{transform:translate(-20px) translateY(-10px)}}@keyframes stars-twinkle{0%,to{opacity:.3}50%{opacity:1}}@keyframes pulseGlow{0%{box-shadow:0 8px 20px #ff416c66,0 0 20px #ff4b2b80}50%{box-shadow:0 18px 35px #ff416ce6,0 0 45px #ff4b2b}to{box-shadow:0 8px 20px #ff416c66,0 0 20px #ff4b2b80}}@keyframes wave{0%{background-position:0% 50%}to{background-position:100% 50%}}.particle{position:absolute;width:4px;height:4px;background:#bb3bf680;border-radius:50%;animation:particleFloat 8s infinite}.grid-pattern{background-color:linear-gradient(rgba(209,59,246,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(153,59,246,.03) 1px,transparent 1px);background-size:50px 50px}.cosmic-blur{position:absolute;border-radius:50%;filter:blur(60px);opacity:.3;animation:nebula-drift 15s ease-in-out infinite}@media(max-width:640px){.cosmic-blur{display:none}}.star{position:absolute;background:#fff;border-radius:50%;animation:stars-twinkle 3s ease-in-out infinite}.section-divider{height:2px;background:linear-gradient(90deg,transparent,#3b82f6,#10b981,#f97316,transparent);margin-bottom:15px}.banka-block{display:flex;align-items:start;justify-content:space-around;flex-wrap:wrap}.donate-banka{max-width:260px;align-self:center}.morra-container{animation:float 3s ease-in-out infinite}.img-cat{max-width:280px}.img-cat2{max-width:220px}.title-cat{font-size:clamp(2.5rem,1.5rem + 4.2vw,4.7rem);line-height:1.15}.subtitle-cat{margin-top:15px;margin-bottom:45px}.morra-container img{max-width:87px}.chat-bubble{animation:fadeIn .3s ease-out}body.is-preloading{overflow:hidden!important}#matrix-preloader{position:fixed;inset:0;z-index:9999;display:flex;justify-content:center;align-items:center;background:#05070a;transition:opacity .6s ease}.matrix-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.55}.preloader-card{position:relative;z-index:1;width:min(90vw,22rem);padding:2rem 1.75rem 1.75rem;border-radius:1.25rem;background:#040e09e0;border:1px solid rgba(52,211,153,.4);box-shadow:0 0 40px #10b98138,0 20px 50px #0000008c;text-align:center;font-family:Courier New,monospace;animation:preloader-card-in .5s ease both}@keyframes preloader-card-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.preloader-mascot{display:block;width:7.5rem;height:7.5rem;object-fit:contain;margin:0 auto 1rem;filter:drop-shadow(0 0 10px rgba(52,211,153,.55))}.preloader-title{margin:0 0 .4rem;font-size:1.1rem;font-weight:700;letter-spacing:.02em;color:#6ee7b7;text-shadow:0 0 12px rgba(110,231,183,.5)}.preloader-status{margin:0 0 1.1rem;font-size:.85rem;color:#86efac;opacity:.85}.preloader-dots span{display:inline-block;animation:preloader-dot-blink 1.2s infinite;opacity:0}.preloader-dots span:nth-child(1){animation-delay:0s}.preloader-dots span:nth-child(2){animation-delay:.2s}.preloader-dots span:nth-child(3){animation-delay:.4s}@keyframes preloader-dot-blink{0%,80%,to{opacity:0}40%{opacity:1}}.preloader-bar{width:100%;height:.35rem;border-radius:999px;background:#ffffff14;overflow:hidden}.preloader-bar-fill{height:100%;width:4%;background:linear-gradient(90deg,#34d399,#10b981);border-radius:999px;animation:preloader-bar-fill 1.6s ease-out forwards}@keyframes preloader-bar-fill{0%{width:4%}to{width:96%}}.donate-btn{position:relative;padding:12px 29px;font-size:16px;font-weight:700;letter-spacing:1px;color:#fff;border:none;border-radius:80px;background:linear-gradient(45deg,#ff416c,#ff4b2b,#ff416c,#ff4b2b);background-size:300% 300%;background-position:0% 50%;cursor:pointer;box-shadow:0 12px 25px #ff416c80,0 0 25px #ff4b2b99;transition:transform .25s ease,box-shadow .25s ease,background-position .6s ease;animation:pulseGlow 2.5s infinite ease-in-out;overflow:hidden;backdrop-filter:blur(4px);outline:none}.donate-btn:hover{transform:scale(1.08);background-position:100% 50%;box-shadow:0 20px 40px #ff416c,0 0 60px #ff4b2b,0 0 30px #ffb347;animation:none}.block-reverse{text-align:right}.donate-btn:after{content:"";position:absolute;top:-50%;left:-70%;width:200%;height:200%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transform:rotate(25deg);transition:left .7s cubic-bezier(.23,1,.32,1);pointer-events:none}.donate-btn:hover:after{left:120%}.donate-btn .emoji{display:inline-block;margin-left:10px;font-size:1.2em;transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.donate-btn:hover .emoji{transform:rotate(12deg) scale(1.35) translateY(-3px)}.donate-btn:active{transform:scale(.98);transition:transform .08s}.donate-btn:focus-visible{outline:2px solid #ffffff;outline-offset:6px}.donate-img{max-width:320px;border-radius:20px}.ai-tiger{max-width:120px}.donate-layout{display:flex;flex-direction:row;align-items:center;gap:2rem;flex-wrap:wrap;justify-content:center}.donate-layout img{flex:0 0 auto}.donate-text{flex:1;min-width:250px}.donate-buttons{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1rem}.scroll-top-btn{position:fixed;bottom:30px;left:25px;width:50px;height:50px;border-radius:50%;background:#141e32cc;backdrop-filter:blur(8px);border:1px solid rgba(100,200,255,.5);box-shadow:0 0 20px #00a0ff80;display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;cursor:pointer;transition:all .3s ease;z-index:100;opacity:0;visibility:hidden;animation:float 2s ease-in-out infinite}.scroll-top-btn.show{opacity:1;visibility:visible}.scroll-top-btn:hover{transform:scale(1.1);background:#283c64e6;box-shadow:0 0 30px #00c8ffcc;border-color:#00c8ffcc}.matrix-block{display:flex;align-items:center;background-color:#0a0a0f;justify-content:center;gap:15px}.matrix-img{max-width:110px}.category-content{display:none}.category-content.active{display:block}.category-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:9999px;background:#ffffff1a;color:var(--text-primary);font-size:.875rem;transition:all .2s;cursor:pointer;box-shadow:0 4px 8px #0003}.category-chip:hover{background:#ffffff26;box-shadow:0 6px 12px #0000004d}.counter-animate{transition:all .3s ease;display:inline-block}.counter-animate.up{transform:scale(1.2);opacity:.8}#app.category-bg-learning{background:linear-gradient(135deg,#3b82f61a,#10b9811a),transparent}#app.category-bg-design{background:linear-gradient(135deg,#ec48991a,#f973161a),transparent}#app.category-bg-ai-learning{background:linear-gradient(135deg,#a855f71a,#ec48991a),transparent}#app.category-bg-web{background:linear-gradient(135deg,#f63b3b3f,#b910531a),transparent}#app.category-bg-ai-games{background:linear-gradient(135deg,#8b5cf61a,#6366f11a),transparent}#app.category-bg-minecraft{background:linear-gradient(135deg,#22c55e26,#10b98126),transparent}#app.category-bg-roblox{background:linear-gradient(135deg,#4494ef1a,#7948ec1a),transparent}#app.category-bg-faq{background:linear-gradient(135deg,#3b82f61a,#06b6d41a),transparent}*{scrollbar-width:thin;scrollbar-color:rgba(59,130,246,.5) rgba(255,255,255,.05)}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}*::-webkit-scrollbar-thumb{background:#3b82f680;border-radius:4px}*::-webkit-scrollbar-thumb:hover{background:#3b82f6b3}.py-16{padding-top:0rem!important}.card-hover,.cosmic-card,.faq-card,.info-block,.category-chip,.rounded-2xl.bg-\[\#12121a\],.rounded-2xl.bg-\[\#12121a\]\/50,.rounded-2xl.bg-\[\#12121a\]\/80,.pixel-border{border:none!important;border-image:none!important}.bg-gradient-to-r,.bg-gradient-to-br{border:none}@media(max-width:850px){.logo{max-width:48px}.footer-span{font-size:30px;padding-bottom:10px}}@media(max-width:767px){#learning-content .grid.md\:grid-cols-2>div:first-child,#ai-learning-content .grid.md\:grid-cols-2>div:first-child,#ai-games-content .grid.md\:grid-cols-2>div:first-child,#roblox-content .grid.md\:grid-cols-2>div:first-child,#minecraft-content .grid.md\:grid-cols-2>div:first-child,#web-content .grid.md\:grid-cols-2>div:first-child,#design-content .grid.md\:grid-cols-2>div:first-child{text-align:center}#ai-learning-content .block-reverse,#web-content .block-reverse{text-align:center}.subtitle-cat{font-size:16px!important;margin-top:10px!important;margin-bottom:20px!important}.img-cat,.img-cat2{max-width:200px!important;margin-left:auto;margin-right:auto}.grid.md\:grid-cols-2{gap:1.5rem!important}.card-hover{text-align:center}}@media(max-width:480px){.img-cat,.img-cat2,.img-cat3{display:none}}@media(min-width:768px){#ai-learning-content .block-reverse,#web-content .block-reverse{text-align:right}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;opacity:1;transition:opacity .3s ease}.modal-overlay.hidden{display:none}.modal-container{width:90%;max-width:1200px;max-height:90vh;max-height:90dvh;overflow-y:auto;overscroll-behavior:contain}.modal-content{background:linear-gradient(145deg,#1a1a2a,#12121f);border-radius:24px;border:1px solid rgba(59,130,246,.3);box-shadow:0 25px 50px -12px #00000080,0 0 0 1px #3b82f633;animation:modalFadeIn .3s ease}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-bottom:1px solid rgba(255,255,255,.1)}.modal-title{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#60a5fa,#34d399);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.modal-close{background:none;border:none;color:#aaa;font-size:2rem;cursor:pointer;line-height:1;transition:color .2s}.modal-close:hover{color:#fff}.back-btn{background:#ffffff1a;border:1px solid rgba(59,130,246,.3);color:#fff;padding:.5rem 1rem;border-radius:30px;font-size:.9rem;cursor:pointer;transition:background .2s}.back-btn:hover{background:#3b82f64d}.modal-body{padding:2rem}.write-admin-modal-columns{display:grid;gap:1rem 1.75rem;grid-template-columns:minmax(0,1fr) 15rem;grid-template-areas:"field img" "file  btn" "error txt"}.wam-field{grid-area:field}.wam-file{grid-area:file;margin:0}.wam-error{grid-area:error;margin:0}.wam-img{grid-area:img}.wam-btn{grid-area:btn;align-self:start}.wam-txt{grid-area:txt;margin:0}.wam-img img{display:block;width:100%;height:15rem;object-fit:contain}@media(max-width:640px){.write-admin-modal-columns{grid-template-columns:minmax(0,1fr);grid-template-areas:"img" "field" "file" "error" "btn" "txt";gap:.75rem}.wam-img img{width:8rem;height:8rem;margin:0 auto}}.thank-you-modal-mascot{width:10rem;height:10rem;margin:0 auto}.thank-you-modal-mascot img{display:block;width:100%;height:100%;object-fit:contain}@media(max-width:480px){.wam-img img{width:6rem;height:6rem}.thank-you-modal-mascot{width:7.5rem;height:7.5rem}}.book-reader-container{width:100%;max-width:100%;height:100%;max-height:100%;overflow:hidden}.book-reader-content{height:100%;display:flex;flex-direction:column;border-radius:0}.book-reader-header{flex-wrap:wrap;gap:.75rem;padding:.9rem 1.25rem}.book-reader-toolbar{display:flex;align-items:center;gap:.6rem;margin-left:auto}.book-reader-toolbar button{width:2.1rem;height:2.1rem;border-radius:.6rem;background:#ffffff14;color:#e5e7eb;border:none;cursor:pointer;display:grid;place-items:center;font-size:1rem}.book-reader-toolbar button:hover{background:#ffffff26}.book-reader-pageinfo{color:#9ca3af;font-size:.85rem;font-weight:600;min-width:3.5rem;text-align:center}.book-reader-body{flex:1;min-height:0;padding:0;position:relative;overflow:auto;display:flex;align-items:flex-start;justify-content:center;background:#0b0b12}.book-reader-status{color:#9ca3af;margin:auto;font-size:.95rem}#book-reader-canvas{display:block;margin:1rem auto;box-shadow:0 10px 40px #00000080;background:#fff;max-width:100%;height:auto}#book-reader-canvas.hidden{display:none}.book-reader-nav{position:fixed;top:50%;transform:translateY(-50%);z-index:5;width:2.6rem;height:2.6rem;border-radius:50%;border:none;cursor:pointer;background:#00000080;color:#fff;font-size:1.1rem;display:grid;place-items:center;backdrop-filter:blur(6px)}.book-reader-nav:hover{background:#000000b3}.book-reader-nav-prev{left:.75rem}.book-reader-nav-next{right:.75rem}body.book-reader-open{overflow:hidden}@media(max-width:640px){.book-reader-header{padding:.7rem .9rem}.book-reader-title{font-size:1.05rem}.book-reader-nav{width:2.2rem;height:2.2rem;font-size:.95rem}}.modal-footer{padding:1.5rem 2rem;border-top:1px solid rgba(255,255,255,.1);text-align:center}.categories-grid-top{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;max-width:820px;flex:1 1 auto}.categories-grid-top .category-card{min-height:380px;justify-content:space-between}.catalog-grid-fluid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.hero-title-fluid{font-size:clamp(2.25rem,1.3rem + 4vw,4.5rem);line-height:1.05}.section-title-fluid{font-size:clamp(1.5rem,1.15rem + 1.6vw,2.5rem)}.donate-modal-body-split{display:flex;align-items:flex-start;gap:1.75rem}.donate-modal-mascot-panel{flex:0 0 15rem;display:flex;align-items:center;justify-content:center;align-self:stretch;padding:1.5rem;border-radius:16px;background:linear-gradient(160deg,#34d39924,#60a5fa14);border:1px solid rgba(59,130,246,.2)}.donate-modal-mascot-big{width:100%;max-width:13rem;height:auto;object-fit:contain;filter:drop-shadow(0 18px 26px rgba(0,0,0,.45))}.categories-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;flex:1 1 auto;min-width:0}.category-card{background:#14141ecc;border-radius:16px;padding:1.5rem;cursor:pointer;transition:transform .2s,box-shadow .2s;border:1px solid rgba(59,130,246,.2);display:flex;flex-direction:column}.category-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px -5px #3b82f64d;border-color:#3b82f680}.category-card h4{font-size:1.2rem;font-weight:700;margin-bottom:.5rem;color:#fff}.category-card p{color:#9ca3af;font-size:.9rem;margin-bottom:1rem;flex-grow:1}.category-card .card-footer{font-weight:700;font-size:1.1rem;color:#34d399;border-top:1px solid rgba(255,255,255,.1);padding-top:.75rem;margin-top:auto}@media(max-width:767px){.modal-header{padding:1.1rem 1.25rem}.modal-title{font-size:1.15rem}.modal-body{padding:1.1rem}.modal-footer{padding:1.1rem 1.25rem}.banka-block{flex-direction:column;align-items:center;gap:1.25rem}.categories-grid-top,.categories-grid{grid-template-columns:minmax(0,1fr);max-width:100%;gap:1rem}.categories-grid-top .category-card{min-height:0}.donate-banka{max-width:180px}.donate-modal-body-split{flex-direction:column;gap:1rem}.donate-modal-mascot-panel{flex:0 0 auto;align-self:stretch;padding:.9rem}.donate-modal-mascot-big{max-width:7rem}}@media(min-width:768px)and (max-width:1023px){.donate-modal-mascot-panel{flex-basis:9rem;padding:1rem}.donate-modal-mascot-big{max-width:7rem}.donate-modal-body-split .categories-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}.detail-list{list-style:none;padding:0;margin:1.5rem 0}.detail-list li{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.05);color:#d1d5db}.detail-list li span:last-child{font-weight:600;color:#34d399}.total-amount{font-size:1.3rem;font-weight:700;text-align:right;margin-top:1rem;color:#fff}.total-amount span{color:#34d399;font-size:1.8rem}.donate-monobank-btn{display:inline-block;background:linear-gradient(45deg,#ff416c,#ff4b2b);color:#fff;font-weight:700;padding:1rem 2.5rem;border-radius:60px;text-decoration:none;transition:transform .2s,box-shadow .2s;box-shadow:0 10px 20px #ff416c4d}.donate-monobank-btn:hover{transform:scale(1.05);box-shadow:0 15px 30px #ff4b2b80}.donate-link-disabled{background:linear-gradient(45deg,#6b7280,#4b5563);cursor:not-allowed;box-shadow:none;font-size:.9rem}.donate-link-disabled:hover{transform:none;box-shadow:none}.category-card.coming-soon{position:relative;opacity:.75}.category-card.coming-soon:after{content:"Скоро";position:absolute;top:.75rem;right:.75rem;background:#6b7280e6;color:#fff;font-size:.7rem;font-weight:700;padding:.15rem .6rem;border-radius:999px;letter-spacing:.05em}.animate-wave{background:linear-gradient(90deg,#3b82f6,#eab308,#3b82f6,#eab308);background-size:300% 100%;animation:wave 4s linear infinite}.message-h{height:14.5rem}#morra-chat:not(.hidden){display:flex;flex-direction:column;max-height:min(34rem,calc(100vh - 6rem));max-height:min(34rem,calc(100dvh - 6rem))}#morra-chat>div:first-child,#morra-chat>div:last-child{flex-shrink:0}#morra-messages.message-h{flex:1 1 auto;min-height:8rem;height:auto}.spinning-gear{animation:spin 4s linear infinite;display:inline-block}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.panel-loading{display:flex;align-items:center;gap:.6rem;padding:1.25rem .5rem;color:#9ca3af;font-size:.85rem}.panel-loading-spinner{color:#60a5fa;font-size:1.1rem;animation:spin .8s linear infinite}#app.category-bg-cybersport{background:linear-gradient(135deg,#0064ff1a,#9600ff1a),transparent}#app.category-bg-avmaker{background:linear-gradient(135deg,#ff00961a,#ff64001a),transparent}#app.category-bg-robotics{background:linear-gradient(135deg,#00c8641a,#0096c81a),transparent}#app.category-bg-media{background:linear-gradient(135deg,#e879f91a,#f43f5e1a),transparent}#app.category-bg-textbooks{background:linear-gradient(135deg,#f59e0b1a,#d977061a),transparent}.tools-cat{max-width:250px}.img-learn{object-fit:cover;width:100%;height:100%}.img-learn-logo{object-fit:contain;width:62%;height:62%;margin:auto}.card-coming-soon{position:relative;opacity:.5;filter:grayscale(.4);cursor:not-allowed}.card-coming-soon-badge{position:absolute;top:.75rem;right:.75rem;z-index:2;padding:.3rem .75rem;border-radius:999px;background:#0b0b12d9;border:1px solid rgba(255,255,255,.25);color:#fbbf24;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.p-4 h3{font-size:32px}.w-full option{background-color:#3b82f6}.hero-badge{position:relative;display:inline-flex;align-items:center;gap:.6rem;padding:.5rem 1.1rem .5rem .9rem;background:#14141f;border:2px solid #23233a;border-radius:.7rem;box-shadow:3px 3px #1c1c2e;overflow:hidden}.hero-badge-flag{position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#0057b7 50%,gold 50%)}.hero-badge-icon{color:#f5b800;font-size:.95rem}.hero-badge-text{color:#e5e7eb;font-size:.82rem;font-weight:700}.block-btn{box-shadow:0 0 10px #3b82f64d;background:#0a0a1486;background-clip:padding-box;backdrop-filter:blur(8px);border:none;display:flex;position:relative;width:100%;margin:0 auto 30px;align-items:center;border-radius:62px}.block-btn:before{content:"";position:absolute;inset:-2px;border-radius:62px;padding:2px;background:linear-gradient(90deg,#3b82f6,#10b981,#f97316,#3b82f6);background-size:300% 100%;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.5;transition:opacity .3s;animation:borderFlow 4s linear infinite;pointer-events:none}.block-btn:hover:before{opacity:1}.btn-divider{width:2px;height:40px;background:linear-gradient(180deg,#3b82f6,#10b981,#f97316);border-radius:2px;margin:0 4px;flex-shrink:0;opacity:.7;transition:opacity .3s}.block-btn:hover .btn-divider{opacity:1}.futuristic-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:14px 28px;width:100%;color:#fff;font-family:Oswald,sans-serif;font-weight:600;font-size:1.1rem;letter-spacing:1px;cursor:pointer;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,background .3s;background:transparent;border:1px solid transparent;outline:none}.futuristic-btn:first-of-type{border-radius:62px 0 0 62px}.futuristic-btn:nth-of-type(2){border-radius:0}.futuristic-btn:last-of-type{border-radius:0 62px 62px 0}.futuristic-btn .btn-icon{font-size:2rem;transition:transform .3s ease,filter .3s ease;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.futuristic-btn .btn-text{position:relative;z-index:2;font-size:1.2rem;text-shadow:0 2px 4px rgba(0,0,0,.3)}.futuristic-btn .btn-glow{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s ease}.futuristic-btn:hover .btn-glow{left:100%}.futuristic-btn .btn-scan{position:absolute;bottom:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,#00ffff,transparent);transform:translate(-100%);transition:transform .8s ease}.futuristic-btn:hover .btn-scan{transform:translate(100%)}.futuristic-btn:first-of-type:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 0 15px #3b82f6,0 0 20px #3b82f6;background:#2563eb;border-color:#60a5fa}.futuristic-btn:nth-of-type(2):hover{transform:translateY(-3px) scale(1.05);box-shadow:0 0 15px #10b981,0 0 20px #10b981;background:#059669;border-color:#34d399}.futuristic-btn:last-of-type:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 0 15px #f97316,0 0 20px #f97316;background:#ea580c;border-color:#fb923c}.futuristic-btn:hover .btn-icon{transform:rotate(5deg) scale(1.15);filter:drop-shadow(0 4px 8px rgba(0,0,0,.6))}@keyframes borderFlow{0%{background-position:0% 50%}to{background-position:300% 50%}}@media(max-width:900px){.block-btn{max-width:95%;min-width:auto;margin:0 10px}}@media(max-width:640px){.block-btn{flex-direction:column;border-radius:40px;padding:8px 0;max-width:100%;min-width:auto}.btn-divider{width:80%;height:2px;margin:3px auto;background:linear-gradient(90deg,#3b82f6,#10b981,#f97316)}.futuristic-btn{width:100%;justify-content:center;padding:11px 20px;font-size:1rem;border-radius:0!important}.futuristic-btn:first-of-type{border-radius:40px 40px 0 0!important}.futuristic-btn:last-of-type{border-radius:0 0 40px 40px!important}.futuristic-btn .btn-icon{font-size:1.4rem}.futuristic-btn .btn-text{font-size:1rem}}.profile-tab-btn{padding:.55rem 1.1rem;border-radius:.75rem;font-size:.85rem;font-weight:700;color:#9ca3af;background:#1c1a29;border:2px solid rgba(255,255,255,.08);cursor:pointer;transition:transform .1s ease,color .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease}.profile-tab-btn:hover{transform:translateY(-2px);color:#e5e7eb}.profile-tab-btn:active{transform:translateY(1px)}.profile-tab-btn.active{color:#14141f;background:#a78bfa;border-color:#7c5cd6;box-shadow:0 3px #7c5cd6}.profile-tab-btn[data-tab=shop].active{background:#10b981;border-color:#047857;box-shadow:0 3px #047857}.profile-tab-btn[data-tab=achievements].active{background:#fbbf24;border-color:#92650a;box-shadow:0 3px #92650a}.profile-tab-btn[data-tab=progress].active{background:#60a5fa;border-color:#1d4ed8;box-shadow:0 3px #1d4ed8}.profile-tab-btn[data-tab=leaderboard].active{background:#fb7185;border-color:#be123c;box-shadow:0 3px #be123c}.profile-tab-btn[data-tab=journal].active{background:#f97316;border-color:#9a3412;box-shadow:0 3px #9a3412}.profile-player-card{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:1rem;padding:1.1rem 1.25rem;margin-bottom:1.1rem;border-radius:1.1rem;background:linear-gradient(180deg,#1c1a29,#15131f);border:2px solid rgba(255,255,255,.09);box-shadow:0 4px #0000004d}.profile-player-card #profile-avatar-img{border:2px solid rgba(255,255,255,.12)}.profile-player-card .logout-btn{margin-left:auto;padding:.55rem 1.1rem;border-radius:.7rem;background:#1c1a29;border:2px solid rgba(255,255,255,.12);color:#d1d5db;font-weight:700;font-size:.85rem;cursor:pointer;transition:transform .1s ease,background .15s ease}.profile-player-card .logout-btn:hover{background:#26243a;transform:translateY(-2px)}.profile-player-card .logout-btn:active{transform:translateY(1px)}.profile-joinclass-row{padding:.9rem 1.1rem;margin-bottom:1.1rem;border-radius:.9rem;background:#17151f;border:2px dashed rgba(255,255,255,.12);font-size:.85rem;color:#9ca3af;display:flex;align-items:center;flex-wrap:wrap;gap:.6rem 1rem;justify-content:space-between}.profile-tab-panel{position:relative;border-radius:1.25rem;padding:2rem 1.4rem 1.5rem;background:radial-gradient(rgba(255,255,255,.05) 1.5px,transparent 1.5px),linear-gradient(180deg,#1a1826,#100e17 70%);background-size:22px 22px,100% 100%;border:2px solid rgba(255,255,255,.09);box-shadow:0 10px 0 -2px #00000040}.profile-tab-panel:before{content:"";position:absolute;top:0;left:1.75rem;right:1.75rem;height:6px;border-radius:0 0 8px 8px;background:linear-gradient(90deg,#a78bfa,#34d399,#fbbf24,#fb7185)}#shop-page-panel.profile-tab-panel.shop-gradient-boys{background:linear-gradient(165deg,#141a2b,#0b0f1a 45%,#0b1220)}#shop-page-panel.profile-tab-panel.shop-gradient-girls{background:linear-gradient(165deg,#2d1833,#1a0f21 45%,#170f22)}.avatar-swatch{width:2.5rem;height:2.5rem;border-radius:.75rem;border:2px solid transparent;cursor:pointer}.avatar-swatch.active{border-color:#a78bfa}.avatar-swatch:disabled{opacity:.3;cursor:not-allowed}.achievement-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:.75rem;padding:.9rem;text-align:center;color:#d1d5db}.achievement-card i{font-size:1.5rem;color:#a78bfa}.achievement-card{position:relative;overflow:hidden}.achievement-card.earned{background:linear-gradient(160deg,#34d39924,#ffffff08 60%);border-color:#34d39959}.achievement-card.earned i{color:#34d399}.achievement-card.locked{opacity:.45}.achievement-card.locked i{color:#6b7280}.shop-balance{display:inline-flex;align-items:center;gap:.55rem;padding:.55rem 1.15rem;border-radius:.85rem;background:#fbbf24;border:2px solid #92650a;box-shadow:0 3px #92650a;color:#2b1a00;font-weight:700;font-size:.95rem}.shop-balance i{color:#2b1a00}.shop-balance strong{color:#1a1000;font-size:1.1rem}.paw-icon{color:#f5b800}.header-points-badge{align-items:center;gap:.3rem;padding:.15rem .55rem;border-radius:999px;background:#fbbf24;border:1.5px solid #92650a;box-shadow:0 2px #92650a;color:#2b1a00;font-weight:800;font-size:.72rem;white-space:nowrap}.header-points-badge .paw-icon{color:#2b1a00}.pixelated-avatar{background:linear-gradient(160deg,#a78bfa2e,#60a5fa1f)}.shop-store-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1.1rem}.shop-store-count{font-size:.8rem;font-weight:600;color:#9ca3af}.shop-event-banner{display:flex;align-items:center;gap:.8rem;margin:0 0 1.1rem;padding:.7rem .95rem;border-radius:.9rem;border:2px solid var(--cat-color, #f59e0b);background:#1c1a29;box-shadow:4px 4px #000;color:#e5e7eb;font-size:.9rem;line-height:1.35}.shop-event-banner>i{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border-radius:50%;background-color:var(--cat-color, #f59e0b);color:#0a0a0f;font-size:1.05rem}.shop-event-group-title{display:flex;align-items:center;gap:.5rem;margin:1.1rem 0 .7rem;color:#e5e7eb;font-size:.95rem;font-weight:800}.shop-event-group-title i,.shop-event-banner b,.shop-event-banner strong{color:var(--cat-color, #f59e0b)}.shop-event-banner span{color:#9ca3af;font-size:.8rem}@media(max-width:480px){.shop-event-banner{padding:.6rem .7rem;gap:.6rem;font-size:.85rem;box-shadow:3px 3px #000}}.shop-store-categories{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:1.25rem}.shop-cat-chip{display:flex;align-items:center;gap:.5rem;flex-shrink:0;padding:.4rem 1rem .4rem .4rem;border-radius:999px;background:#1c1a29;border:2px solid rgba(255,255,255,.1);color:#9ca3af;font-size:.82rem;font-weight:800;cursor:pointer;transition:transform .1s ease,background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.shop-cat-chip i{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:50%;background-color:color-mix(in srgb,var(--cat-color, #a78bfa) 24%,transparent);color:var(--cat-color, #a78bfa);font-size:.85rem}.shop-cat-chip:hover{transform:translateY(-2px);color:#e5e7eb}.shop-cat-chip:active{transform:translateY(1px)}.shop-cat-chip.active{background:var(--cat-color, #a78bfa);border-color:color-mix(in srgb,var(--cat-color, #a78bfa) 60%,#000 40%);color:#14141f;box-shadow:0 3px color-mix(in srgb,var(--cat-color, #a78bfa) 55%,#000 45%)}.shop-cat-chip.active i{background-color:#0000002e;color:#14141f}.learning-cat-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.25rem 0 1.5rem}.learning-cat-chip{padding:.5rem 1rem;border-radius:999px;background:#1c1a29;border:2px solid rgba(255,255,255,.1);color:#9ca3af;font-size:.82rem;font-weight:700;cursor:pointer;transition:transform .1s ease,background .15s ease,border-color .15s ease,color .15s ease}.learning-cat-chip:hover{transform:translateY(-2px);color:#e5e7eb}.learning-cat-chip:active{transform:translateY(1px)}.learning-cat-chip.active{background:#3b82f6;border-color:#1d4ed8;color:#fff;box-shadow:0 3px #1d4ed8}.is-learning-locked-out{opacity:.32;filter:grayscale(.6);pointer-events:none}.learning-item-lock-banner{display:flex;align-items:center;gap:.5rem;padding:.8rem 1.1rem;margin-bottom:1.25rem;border-radius:.85rem;background:#3b82f61f;border:2px dashed rgba(59,130,246,.45);color:#bfdbfe;font-size:.85rem;font-weight:700}.shop-store-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:1rem}.shop-product-card{position:relative;display:flex;flex-direction:column;border-radius:1rem;padding:.85rem .8rem .8rem;text-align:center;color:#f3f4f6;background:color-mix(in srgb,var(--cat-color, #a78bfa) 14%,#1c1a29);border:3px solid color-mix(in srgb,var(--cat-color, #a78bfa) 55%,transparent);box-shadow:4px 4px color-mix(in srgb,var(--cat-color, #a78bfa) 55%,#000 55%);transition:transform .15s ease,box-shadow .15s ease;animation:shopCardPopIn .25s ease backwards;cursor:pointer}@keyframes shopCardPopIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.shop-product-card:hover{transform:translate(-3px,-3px);box-shadow:7px 7px color-mix(in srgb,var(--cat-color, #a78bfa) 55%,#000 55%)}.shop-product-card.rarity-rare{border-color:#3b82f6;box-shadow:4px 4px #1d4ed8}.shop-product-card.rarity-rare:hover{box-shadow:7px 7px #1d4ed8}.shop-product-card.rarity-epic{border-color:#fbbf24;background:color-mix(in srgb,#fbbf24 16%,#1c1a29);box-shadow:4px 4px #92650a}.shop-product-card.rarity-epic:hover{box-shadow:7px 7px #92650a}.shop-product-card.is-owned{opacity:.85}.shop-product-media{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1;margin:-.1rem -.1rem .55rem;border-radius:.7rem;background:color-mix(in srgb,var(--cat-color, #a78bfa) 16%,#0f0d17);border:2px dashed color-mix(in srgb,var(--cat-color, #a78bfa) 45%,transparent);overflow:hidden}.shop-product-media img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:.4rem}.shop-product-media i{font-size:2rem;color:var(--cat-color, #a78bfa)}.shop-product-rarity{position:absolute;top:.5rem;left:.5rem;font-size:.6rem;font-weight:800;letter-spacing:.02em;padding:.18rem .5rem;border-radius:.4rem;background:#0006;color:#cbd5e1;z-index:2}.shop-product-card.rarity-rare .shop-product-rarity{background:#1d4ed8;color:#dbeafe}.shop-product-card.rarity-epic .shop-product-rarity{background:#92650a;color:#fef3c7}.shop-product-owned-badge{position:absolute;top:.5rem;right:.5rem;width:1.45rem;height:1.45rem;border-radius:.4rem;background:#10b981;border:2px solid #065f46;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.65rem;z-index:2}.shop-product-name{font-size:.85rem;font-weight:700;color:#f9fafb;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;min-height:1.3em}.shop-product-price{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;font-size:.8rem;font-weight:700;color:#fde68a;margin:.35rem 0 .7rem}.shop-product-cta{position:relative;width:100%;margin-top:auto;font-size:.8rem;font-weight:800;padding:.65rem 0;border-radius:.65rem;border:none;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease}.shop-product-cta.is-affordable{background:#34d399;color:#052e1c;box-shadow:0 4px #047857}.shop-product-cta.is-affordable:hover{transform:translateY(-1px);box-shadow:0 5px #047857}.shop-product-cta.is-affordable:active{transform:translateY(3px);box-shadow:0 1px #047857}.shop-product-cta.is-locked{background:#ffffff0f;border:2px solid rgba(255,255,255,.1);color:#6b7280;cursor:not-allowed}.shop-product-cta.is-owned{background:#10b9812e;border:2px solid #10b981;color:#6ee7b7;cursor:default}.shop-slider-arrow{flex-shrink:0;width:2.5rem;height:2.5rem;border-radius:50%;background:#1c1a29;border:2px solid color-mix(in srgb,var(--cat-color, #a78bfa) 45%,transparent);color:var(--cat-color, #a78bfa);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .1s ease,background .15s ease}.shop-slider-arrow:hover{background:color-mix(in srgb,var(--cat-color, #a78bfa) 20%,transparent);transform:translateY(-2px)}.shop-slider-arrow:active{transform:translateY(1px)}@media(max-width:640px){.shop-slider-arrow{display:none}}.photo-carousel-wrap{max-width:100%}.photo-carousel-title{display:flex;align-items:center;gap:.5rem;color:#fff;font-family:Oswald,sans-serif;font-weight:700;font-size:1.15rem;margin-bottom:1rem}.photo-carousel-title i{color:#38bdf8}.photo-carousel{display:flex;align-items:center;gap:.75rem}.photo-carousel-track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;flex:1;min-width:0;padding-bottom:.25rem;scrollbar-width:none}.photo-carousel-track::-webkit-scrollbar{display:none}.photo-carousel-track img{scroll-snap-align:start;flex:0 0 clamp(220px,32vw,340px);height:220px;object-fit:cover;border-radius:1.1rem;border:3px solid rgba(56,189,248,.35);box-shadow:5px 5px #38bdf84d}.photo-carousel-arrow{flex-shrink:0;width:2.5rem;height:2.5rem;border-radius:50%;background:#1c1a29;border:2px solid rgba(56,189,248,.45);color:#38bdf8;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .1s ease,background .15s ease}.photo-carousel-arrow:hover{background:#38bdf826;transform:translateY(-2px)}.photo-carousel-arrow:active{transform:translateY(1px)}.photo-carousel-dots{display:flex;justify-content:center;align-items:center;gap:.4rem;margin-top:.85rem}.photo-carousel-dot{width:.5rem;height:.5rem;padding:0;border:none;border-radius:50%;background:#ffffff26;cursor:pointer;transition:background .15s ease,transform .15s ease}.photo-carousel-dot:hover{background:#ffffff4d}.photo-carousel-dot.active{background:#38bdf8;transform:scale(1.35)}@media(max-width:640px){.photo-carousel-arrow{display:none}.photo-carousel-track img{flex-basis:78vw;height:180px}}.slider-dots{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem;margin-top:.15rem}.slider-dot{width:.5rem;height:.5rem;padding:0;border:none;border-radius:50%;background:#ffffff26;cursor:pointer;transition:background .15s ease,transform .15s ease}.slider-dot:hover{background:#ffffff4d}.slider-dot.active{background:var(--cat-color, #a78bfa);transform:scale(1.35)}.pending-achievement-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border-radius:999px;background:linear-gradient(135deg,#f59e0b2e,#d977061a);border:1px solid rgba(245,158,11,.4);color:#fcd34d;font-size:.75rem;font-weight:600;cursor:pointer;transition:transform .15s ease,background .2s ease}.pending-achievement-chip:hover{transform:translateY(-1px) scale(1.03);background:linear-gradient(135deg,#f59e0b4d,#d977062e)}.pending-achievement-reward{color:#fff;background:#00000040;padding:.05rem .4rem;border-radius:999px}.external-done-badge{position:absolute;top:.5rem;right:.5rem;z-index:5;width:2rem;height:2rem;border-radius:999px;background:#0000008c;color:#d1d5db;display:flex;align-items:center;justify-content:center;font-size:1rem;border:none;cursor:pointer;backdrop-filter:blur(2px)}.external-done-badge.done{color:#34d399}@media(max-width:640px){.external-done-badge{width:2.75rem;height:2.75rem}}.avatar-swatch-none{background:repeating-linear-gradient(45deg,#374151,#374151 4px,#1f2937 4px 8px);color:#d1d5db;font-size:.9rem;display:flex;align-items:center;justify-content:center}.avatar-thumb-swatch{position:relative;width:3.5rem;height:3.5rem;border-radius:.75rem;border:2px solid transparent;overflow:hidden;padding:0;cursor:pointer;background:#ffffff0f}.avatar-thumb-swatch img{width:100%;height:100%;object-fit:cover}.avatar-thumb-swatch.active{border-color:#a78bfa;box-shadow:0 0 0 2px #a78bfa66}.avatar-thumb-swatch:disabled{cursor:not-allowed}.avatar-thumb-swatch:disabled img{opacity:.35}.avatar-thumb-swatch i.fa-lock{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.85rem;background:#00000059}@keyframes purchase-pulse{0%{transform:scale(1)}40%{transform:scale(1.08)}to{transform:scale(1)}}.shop-product-card.just-purchased{animation:purchase-pulse .5s ease}@keyframes spark-fly{0%{transform:translate(-50%,-50%) rotate(var(--angle)) translateY(0) scale(1);opacity:1}to{transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-3rem) scale(.4);opacity:0}}.purchase-spark{position:absolute;top:50%;left:50%;pointer-events:none;animation:spark-fly .8s ease-out forwards;font-size:1.1rem}@keyframes points-flash{0%,to{color:inherit;transform:scale(1)}50%{color:#fde68a;transform:scale(1.3)}}.points-flash{display:inline-block;animation:points-flash .6s ease}@keyframes backpack-toast-pop{0%{transform:translate(-50%,-50%) scale(.4);opacity:0}15%{transform:translate(-50%,-50%) scale(1.08);opacity:1}25%{transform:translate(-50%,-50%) scale(1);opacity:1}82%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-60%) scale(.9);opacity:0}}.backpack-reward-toast{position:absolute;z-index:5;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.7rem 1.3rem;border-radius:1rem;background:#1c1408;border:3px solid #fbbf24;box-shadow:4px 4px #00000073;pointer-events:none;animation:backpack-toast-pop 1.9s cubic-bezier(.34,1.56,.64,1) forwards;white-space:nowrap}.backpack-reward-toast-title{font-family:Oswald,sans-serif;font-size:.85rem;font-weight:600;color:#f5d9a8;letter-spacing:.03em}.backpack-reward-toast-amount{font-family:Oswald,sans-serif;font-size:1.6rem;font-weight:800;color:#fbbf24;letter-spacing:.03em}@keyframes backpack-spark-fly{0%{transform:translate(-50%,-50%) rotate(var(--angle)) translateY(0) scale(1);opacity:1}to{transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-3.2rem) scale(.3);opacity:0}}.backpack-reward-spark{position:absolute;pointer-events:none;animation:backpack-spark-fly .9s ease-out forwards;font-size:1.2rem;z-index:5}.login-card{position:relative;max-width:32rem;border-radius:1.25rem;padding:1.75rem;background:linear-gradient(160deg,#a78bfa1f,#12121ae6 40%);border:1px solid rgba(167,139,250,.25);box-shadow:0 20px 40px #00000059;overflow:hidden}@media(min-width:860px){#profile-login-view{max-width:46rem}}.login-card-glow{position:absolute;top:-40%;right:-20%;width:16rem;height:16rem;background:radial-gradient(circle,rgba(167,139,250,.25),transparent 70%);pointer-events:none}#login-avatar-preview{border:2px solid rgba(167,139,250,.4);transition:box-shadow .2s;box-shadow:0 0 20px #a78bfa40}.role-toggle{display:flex;gap:.75rem}.register-subjects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.5rem;max-height:12rem;overflow-y:auto;padding:.5rem;border-radius:.75rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08)}.register-subject-chip{display:flex;align-items:center;gap:.4rem;padding:.45rem .6rem;border-radius:.6rem;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:#9ca3af;font-size:.78rem;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.register-subject-chip:has(input:checked){background:#6366f133;border-color:#6366f1;color:#fff}.register-subject-chip input{accent-color:#6366f1}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.7;cursor:pointer}.role-toggle-option{flex:1;min-width:0;position:relative;cursor:pointer}.role-toggle-option input{position:absolute;opacity:0}.role-toggle-option span{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;border-radius:.75rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);color:#9ca3af;font-size:.9rem;transition:background .2s,border-color .2s,color .2s}.role-toggle-option input:checked+span{background:#a78bfa33;border-color:#a78bfa;color:#fff}.avatar-preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.avatar-preset-option{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.5rem .3rem;border-radius:.85rem;background:#ffffff0a;border:2px solid transparent;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .15s ease}.avatar-preset-option:hover{background:#a78bfa1a;transform:translateY(-2px)}.avatar-preset-option.active{border-color:#a78bfa;background:#a78bfa2e;box-shadow:0 0 14px #a78bfa4d}.avatar-preset-option img{width:2.75rem;height:2.75rem;border-radius:.6rem;background:#ffffff0f}.avatar-preset-option span{font-size:.65rem;color:#9ca3af;text-align:center}.avatar-preset-option.active span{color:#e9d5ff}.lpc-thumb-canvas,.lpc-preview-canvas{line-height:0;overflow:hidden;border-radius:.6rem}.lpc-thumb-canvas{width:56px;height:56px;background:#ffffff0f}.lpc-preview-canvas{background:linear-gradient(160deg,#a78bfa2e,#60a5fa1f)}.lpc-customizer{display:flex;flex-direction:column;gap:.55rem;margin-top:.85rem;padding-top:.85rem;border-top:1px solid rgba(255,255,255,.08)}.lpc-axis label{display:block;font-size:.7rem;color:#9ca3af;margin-bottom:.3rem}.lpc-axis-options{display:flex;flex-wrap:wrap;gap:.4rem}.lpc-option-btn{padding:.3rem .6rem;border-radius:.5rem;background:#ffffff0d;border:2px solid transparent;color:#d1d5db;font-size:.7rem;cursor:pointer;transition:border-color .15s ease,background .15s ease}.lpc-option-btn:hover{background:#a78bfa26}.lpc-option-btn.active{border-color:#a78bfa;color:#fff;background:#a78bfa38}.lpc-option-btn.is-swatch{width:1.7rem;height:1.7rem;padding:0;border-radius:50%;background:var(--swatch-color, #888)}.lpc-option-btn.is-swatch.active{border-color:#fff;box-shadow:0 0 0 2px #a78bfa}.character-gender-toggle{display:flex;gap:.5rem;margin-bottom:.9rem}.char-gender-btn{flex:1;padding:.6rem;border-radius:.75rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);color:#9ca3af;font-size:.85rem;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.char-gender-btn.active{background:#a78bfa33;border-color:#a78bfa;color:#fff}#character-creator{display:flex;flex-direction:column}@media(min-width:860px){#character-creator{flex-direction:row-reverse;align-items:flex-start;gap:2rem}.character-stage-wrap{flex:0 0 19rem;margin-bottom:0}.character-picker-column{flex:1;min-width:0;padding-top:.5rem}.character-picker-label:first-child{margin-top:0}}.character-stage-wrap{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:1.1rem;padding-top:.5rem}.character-stage-wrap:before{content:"";position:absolute;inset:.5rem 20% -.5rem;background:radial-gradient(circle,rgba(167,139,250,.55),rgba(96,165,250,.25) 45%,transparent 72%);filter:blur(26px);z-index:0;animation:characterGlowPulse 3.2s ease-in-out infinite;pointer-events:none}@keyframes characterGlowPulse{0%,to{opacity:.55;transform:scale(.94)}50%{opacity:1;transform:scale(1.06)}}.character-stage{position:relative;z-index:1;width:100%;max-width:300px;height:380px;border-radius:1.25rem;background:linear-gradient(165deg,#a78bfa38,#12121ad9 65%);border:1px solid rgba(167,139,250,.35);box-shadow:0 0 0 1px #ffffff0a inset,0 18px 40px #0006;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.character-stage-img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 12px 14px rgba(0,0,0,.45))}.character-adjust-toolbar{position:relative;z-index:1;margin-top:.6rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.character-adjust-hint{font-size:.72rem;color:#9ca3af;text-align:center;margin:0}.character-adjust-row{display:flex;align-items:center;gap:1.1rem}.character-adjust-dpad{display:grid;grid-template-columns:repeat(3,1.9rem);grid-template-rows:repeat(3,1.9rem);gap:.2rem}.character-adjust-dpad .dpad-up{grid-column:2;grid-row:1}.character-adjust-dpad .dpad-left{grid-column:1;grid-row:2}.character-adjust-dpad .dpad-reset{grid-column:2;grid-row:2}.character-adjust-dpad .dpad-right{grid-column:3;grid-row:2}.character-adjust-dpad .dpad-down{grid-column:2;grid-row:3}.character-adjust-btn{width:1.9rem;height:1.9rem;display:flex;align-items:center;justify-content:center;border-radius:.5rem;background:#a78bfa26;border:1px solid rgba(167,139,250,.35);color:#d1d5db;font-size:.85rem;line-height:1;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .1s ease}.character-adjust-btn:hover{background:#a78bfa4d;border-color:#a78bfa;color:#fff}.character-adjust-btn:active{transform:scale(.92)}.character-adjust-dpad .dpad-reset{font-size:.95rem;color:#a78bfa}.character-adjust-zoom{display:flex;flex-direction:column;align-items:center;gap:.35rem}.character-adjust-zoom-label{font-size:.65rem;color:#9ca3af;white-space:nowrap}#room-inventory-track .character-stage-wrap{grid-column:1 / -1;flex-direction:row;align-items:center;gap:1rem;margin-bottom:0;padding-top:0}#room-inventory-track .character-stage-wrap:before{display:none}#room-inventory-track .character-stage{flex-shrink:0;width:8rem;max-width:8rem;height:11rem}#room-inventory-track .character-adjust-toolbar{flex:1 1 auto;min-width:0;align-items:flex-start;margin-top:0}#room-inventory-track .character-adjust-hint{text-align:left}#room-inventory-track .character-adjust-row{flex-direction:column;align-items:flex-start;gap:.6rem}#room-inventory-track .character-adjust-zoom{flex-direction:row}.character-picker-label{display:flex;align-items:center;justify-content:space-between;font-size:.78rem;font-weight:600;color:#d1d5db;margin-bottom:.5rem;margin-top:1rem}.character-picker-count{font-size:.68rem;font-weight:500;color:#a78bfa;background:#a78bfa26;padding:.1rem .55rem;border-radius:999px}.character-thumb-strip-wrap{display:flex;align-items:center;gap:.4rem}.character-thumb-strip{display:flex;gap:.5rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:.3rem .4rem .5rem;scrollbar-width:none;flex:1;min-width:0}.character-thumb-strip::-webkit-scrollbar{display:none}.character-thumb{position:relative;flex:0 0 auto;width:3.4rem;height:3.4rem;border-radius:.75rem;border:2px solid transparent;background:#ffffff0f;cursor:pointer;overflow:hidden;padding:0;box-shadow:0 2px 6px #00000040;scroll-snap-align:start;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.character-thumb:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 6px 14px #a78bfa59}.character-thumb.active{border-color:#a78bfa;box-shadow:0 0 0 3px #a78bfa40,0 6px 16px #a78bfa80}.character-thumb.active:after{content:"✓";position:absolute;top:.15rem;right:.15rem;width:1.05rem;height:1.05rem;border-radius:50%;background:#a78bfa;color:#fff;font-size:.62rem;line-height:1.05rem;text-align:center;box-shadow:0 1px 3px #00000080}.character-thumb img{width:100%;height:100%;object-fit:cover;object-position:top center}.auth-tabs{display:flex;gap:.5rem;margin-bottom:1.25rem;border-bottom:1px solid rgba(255,255,255,.08)}.auth-tab-btn{flex:1;padding:.6rem .5rem;font-family:Oswald,sans-serif;font-weight:600;font-size:.9rem;color:#9ca3af;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .2s,border-color .2s}.auth-tab-btn.active{color:#fff;border-color:#a78bfa}.level-bar-track{width:6rem;height:.4rem;border-radius:999px;background:#ffffff14;overflow:hidden}.level-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#a78bfa,#6bffd0);transition:width .4s ease}#room-content-inner{max-width:72rem}#shop-content-inner{max-width:60rem}.shop-treasury-info{display:flex;align-items:flex-start;gap:1rem;margin-top:1.5rem;padding:1.25rem 1.4rem;border-radius:1.1rem;background:color-mix(in srgb,#fbbf24 10%,#1c1a29);border:2px solid rgba(251,191,36,.4);box-shadow:3px 3px #92650a}.shop-treasury-icon{flex-shrink:0;font-size:2.25rem;line-height:1}.shop-treasury-text h3{color:#fde68a;font-weight:800;font-size:.95rem;margin-bottom:.3rem}.shop-treasury-text p{color:#d1d5db;font-size:.85rem;line-height:1.5}.room-scene-layout{display:flex;align-items:stretch;gap:10px}.room-scene-layout .room-canvas-container{flex:1 1 auto;min-width:0}@media(max-width:1023px){.room-scene-layout{flex-direction:column}}.room-events-sidebar{flex:0 0 20rem;width:20rem;min-width:0;display:flex;flex-direction:column;gap:.35rem}.room-event-card-wrap{display:flex;flex-direction:row;align-items:stretch;gap:.4rem;flex:1 1 0;min-height:0;width:100%}.room-event-card{position:relative;display:block;width:auto;height:100%;aspect-ratio:1;flex:0 0 auto;min-height:0;padding:0;border-radius:.55rem;background-color:color-mix(in srgb,var(--event-color, #a78bfa) 12%,#1c1a29);background-size:contain;background-repeat:no-repeat;background-position:center;border:2px solid color-mix(in srgb,var(--event-color, #a78bfa) 45%,transparent);box-shadow:2px 2px color-mix(in srgb,var(--event-color, #a78bfa) 55%,#000 50%);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.room-event-card:hover{transform:translate(-1px,-1px);box-shadow:3px 3px color-mix(in srgb,var(--event-color, #a78bfa) 55%,#000 50%)}.room-event-card:active{transform:translate(1px,1px);box-shadow:1px 1px color-mix(in srgb,var(--event-color, #a78bfa) 55%,#000 50%)}.room-event-card-desc{position:relative;flex:1 1 auto;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:center;overflow-y:auto;padding:.35rem .5rem;border-radius:.5rem;background:#0d0b16;border:2px solid color-mix(in srgb,var(--event-color, #a78bfa) 45%,transparent);box-shadow:2px 2px color-mix(in srgb,var(--event-color, #a78bfa) 55%,#000 50%)}.room-event-card-desc-title{display:inline-block;align-self:flex-start;font-size:.86rem;font-weight:800;color:#fff;line-height:1.2;margin:-.1rem 0 .3rem;padding:.12rem .4rem;border-radius:.3rem;background:color-mix(in srgb,var(--event-color, #a78bfa) 85%,#000 10%)}.room-event-card-desc-text{font-size:.74rem;font-weight:600;color:#e5e7eb;line-height:1.32}@media(max-width:1023px){.room-events-sidebar{flex:0 0 auto;flex-direction:row;width:100%;height:auto;overflow-x:auto;padding-bottom:.3rem;scroll-snap-type:x proximity;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 1.75rem),transparent 100%);mask-image:linear-gradient(to right,#000 calc(100% - 1.75rem),transparent 100%)}.room-event-card-wrap{flex:0 0 auto;width:auto;height:5.5rem;scroll-snap-align:start}.room-event-card{aspect-ratio:1;flex:0 0 auto;height:100%;width:auto}.room-event-card-desc{width:8.5rem;flex:0 0 8.5rem;height:100%}}.room-event-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.1rem;padding:4rem 1rem;text-align:center}.room-event-loading-icon{width:5rem;height:5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--event-color, #a78bfa) 20%,#0f0d17);color:var(--event-color, #a78bfa);font-size:2.2rem}.room-event-loading-icon.anim-bounce{animation:room-event-bounce .7s ease-in-out infinite}.room-event-loading-icon.anim-spin{animation:room-event-spin .8s linear infinite}.room-event-loading-icon.anim-roll{animation:room-event-roll .9s ease-in-out infinite}.room-event-loading-icon.anim-pulse{animation:room-event-pulse .9s ease-in-out infinite}@keyframes room-event-bounce{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.15) rotate(-8deg)}}@keyframes room-event-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes room-event-roll{0%,to{transform:translate(0) rotate(0)}50%{transform:translate(8px) rotate(180deg)}}@keyframes room-event-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.12);opacity:.85}}.room-event-loading-text{color:#d1d5db;font-size:.95rem;font-weight:600}.room-event-page{padding:.25rem .25rem 1rem}.room-event-back-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .9rem;border:none;border-radius:.7rem;background:#ffffff0f;color:#d1d5db;font-size:.82rem;font-weight:700;cursor:pointer;margin-bottom:1.25rem;transition:background .15s ease}.room-event-back-btn:hover{background:#ffffff1f}.room-event-page-body{display:flex;flex-direction:row;align-items:flex-start;text-align:left;gap:1.75rem;padding:1.25rem 1rem}@media(max-width:859px){.room-event-page-body{flex-direction:column}}.room-event-donate-cta{margin-top:.5rem;padding:1rem 1.1rem;border-radius:.9rem;background:color-mix(in srgb,var(--event-color, #a78bfa) 16%,#0f0d17);border:2px solid color-mix(in srgb,var(--event-color, #a78bfa) 45%,transparent);box-shadow:3px 3px color-mix(in srgb,var(--event-color, #a78bfa) 55%,#000 50%)}.room-event-donate-line{color:#fde68a;font-size:.85rem;font-weight:700;line-height:1.4;margin-bottom:.75rem}.room-event-learn-more-btn{display:inline-flex;align-items:center;gap:.4rem;margin-top:.9rem;padding:.6rem 1.1rem;border:2px solid rgba(56,189,248,.4);border-radius:.7rem;background:#38bdf81a;color:#7dd3fc;font-weight:800;font-size:.82rem;cursor:pointer;box-shadow:3px 3px #38bdf859;transition:transform .1s ease,box-shadow .1s ease}.room-event-learn-more-btn:hover{transform:translate(-1px,-1px);box-shadow:4px 4px #38bdf859}.room-event-donate-btn{display:inline-flex;align-items:center;gap:.4rem;width:100%;justify-content:center;padding:.7rem 0;border:none;border-radius:.7rem;background:linear-gradient(135deg,#34d399,#059669);color:#052e1c;font-weight:800;font-size:.88rem;cursor:pointer;box-shadow:0 4px #047857;transition:transform .1s ease,box-shadow .1s ease}.room-event-donate-btn:hover{transform:translateY(-1px);box-shadow:0 5px #047857}.room-event-donate-btn:active{transform:translateY(3px);box-shadow:0 1px #047857}.room-event-page-title{color:#fff;font-family:Oswald,sans-serif;font-weight:700;font-size:1.2rem}.room-event-page-text{color:#9ca3af;font-size:.85rem;max-width:22rem}.feed-morra-body{display:flex;flex-direction:row;align-items:flex-start;text-align:left;gap:1.75rem;padding-top:1.25rem}.room-event-page-left{flex:0 0 16rem;display:flex;flex-direction:column;gap:.5rem}.room-event-page-right{flex:1 1 auto;min-width:0}.room-event-page-desc-text{color:#d1d5db;font-size:.82rem;line-height:1.5}.feed-morra-subtitle{text-align:left;color:#9ca3af;font-size:.85rem;margin-bottom:0}.feed-morra-subtitle strong{color:#fbbf24;font-weight:800}@media(max-width:859px){.feed-morra-body{flex-direction:column}.room-event-page-left{flex:0 0 auto}}.feed-morra-arena{position:relative;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:2rem;min-height:26rem;padding:2.5rem 3rem;border-radius:1.75rem;border:3px solid color-mix(in srgb,var(--event-color, #f59e0b) 55%,transparent);box-shadow:10px 10px color-mix(in srgb,var(--event-color, #f59e0b) 45%,#000 55%);overflow:hidden;isolation:isolate}.feed-morra-arena-bg{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 30% 20%,color-mix(in srgb,var(--event-color, #f59e0b) 35%,transparent),transparent 55%),radial-gradient(ellipse at 75% 85%,color-mix(in srgb,var(--event-color, #f59e0b) 25%,transparent),transparent 60%),linear-gradient(165deg,#221a12,#120e0a 70%)}.feed-morra-info{position:relative;z-index:2;flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:1rem}.feed-morra-tap-badge{display:inline-flex;align-items:baseline;gap:.15rem;padding:.6rem 1.1rem;border-radius:999px;background:linear-gradient(135deg,#f59e0b,#ea580c);color:#fff;font-family:Oswald,sans-serif;font-weight:800;font-size:1.5rem;box-shadow:4px 4px #00000080}.feed-morra-tap-badge-total{font-size:.95rem;font-weight:600;opacity:.85}.feed-morra-portrait{position:relative;z-index:2;flex:0 0 auto;width:20rem;height:20rem;display:flex;align-items:center;justify-content:center}.feed-morra-img{position:relative;width:20rem;height:20rem;object-fit:contain;user-select:none;-webkit-user-drag:none;z-index:1}.feed-morra-img#feed-morra-img{cursor:pointer}.feed-morra-img.is-idle{opacity:.55;filter:grayscale(.4)}.feed-morra-img.is-ready-glow{animation:feed-morra-glow-pulse 2.2s ease-in-out infinite}.feed-morra-img.is-tapped{animation:feed-morra-tap .18s ease}@keyframes feed-morra-glow-pulse{0%,to{filter:drop-shadow(0 0 0 rgba(245,158,11,0));transform:scale(1)}50%{filter:drop-shadow(0 0 10px rgba(245,158,11,.45));transform:scale(1.015)}}@keyframes feed-morra-tap{0%{transform:scale(1)}40%{transform:scale(.85)}70%{transform:scale(1.14)}to{transform:scale(1)}}.feed-morra-status{color:#e5e7eb;font-size:1.05rem;font-weight:600}.feed-morra-thanks{color:#fff;font-family:Oswald,sans-serif;font-weight:800;font-size:1.6rem}.feed-morra-reward{color:#fbbf24;font-weight:800;font-size:1.5rem}.feed-morra-timer-frame{padding:.6rem 1.5rem;border-radius:.9rem;background:#00000059;border:2px solid color-mix(in srgb,var(--event-color, #f59e0b) 50%,transparent)}.feed-morra-timer{font-family:Oswald,sans-serif;font-size:1.9rem;font-weight:700;color:#fbbf24;letter-spacing:.08em}.feed-morra-progress{width:100%;height:1.1rem;border-radius:999px;background:#0006;border:2px solid rgba(255,255,255,.12);overflow:hidden}.feed-morra-progress-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#fbbf24);box-shadow:0 0 12px #fbbf24b3;transition:width .12s ease-out}@media(max-width:1023px){.feed-morra-arena{flex-direction:column;padding:2.25rem 1.5rem;min-height:0}.feed-morra-info{align-items:center;text-align:center}.feed-morra-portrait,.feed-morra-img{width:14rem;height:14rem}}.duel-arena{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:1.1rem;min-height:22rem;padding:2.25rem 2.5rem;border-radius:1.75rem;border:3px solid color-mix(in srgb,var(--event-color, #3b82f6) 55%,transparent);box-shadow:10px 10px color-mix(in srgb,var(--event-color, #3b82f6) 45%,#000 55%);background:radial-gradient(ellipse at 20% 15%,color-mix(in srgb,var(--event-color, #3b82f6) 30%,transparent),transparent 55%),linear-gradient(165deg,#131a26,#0d1119 70%)}.duel-searching{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center;min-height:18rem;padding:2rem 0}.duel-searching>i.fa-circle-notch{font-size:2.5rem;color:var(--event-color, #3b82f6)}.duel-vs-line{color:#e5e7eb;font-size:1.05rem}.duel-vs-line strong{color:#fff}.duel-score-line{font-family:Oswald,sans-serif;font-weight:800;font-size:1.6rem;color:#fbbf24}.duel-progress-line{color:#cbd5e1;font-weight:700;font-size:.95rem}.duel-question-text{color:#fff;font-family:Oswald,sans-serif;font-weight:700;font-size:1.35rem;line-height:1.35;margin-top:.25rem}.duel-options{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.85rem}@media(max-width:640px){.duel-options{grid-template-columns:minmax(0,1fr)}.duel-arena{padding:1.75rem 1.25rem}}.duel-option-btn{padding:.9rem 1.2rem;border-radius:1rem;border:2px solid rgba(255,255,255,.14);background:#ffffff0f;color:#f1f5f9;font-weight:700;font-size:.98rem;text-align:left;cursor:pointer;transition:transform .08s ease,background .15s ease,border-color .15s ease}.duel-option-btn:hover:not(:disabled){background:#ffffff1f;border-color:color-mix(in srgb,var(--event-color, #3b82f6) 60%,transparent)}.duel-option-btn:active:not(:disabled){transform:translateY(2px)}.duel-option-btn:disabled{cursor:default;opacity:.75}.duel-option-btn.is-correct{background:color-mix(in srgb,#22c55e 30%,rgba(255,255,255,.06));border-color:#22c55e;color:#fff;opacity:1}.duel-option-btn.is-wrong{background:color-mix(in srgb,#ef4444 30%,rgba(255,255,255,.06));border-color:#ef4444;color:#fff;opacity:1}.duel-explanation{color:#cbd5e1;font-size:.92rem;font-style:italic;border-left:3px solid var(--event-color, #3b82f6);padding-left:.9rem}.duel-result{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;text-align:center;min-height:18rem;padding:2rem 0}.duel-result h4{font-family:Oswald,sans-serif;font-weight:800;font-size:1.7rem;color:#fff}.duel-result.is-win h4{color:#4ade80}.duel-result.is-lose h4{color:#f87171}.duel-result.is-tie h4{color:#fbbf24}.duel-result-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.duel-hud{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;justify-content:space-between}.duel-hud .duel-vs-line{font-size:.95rem;margin:0}.duel-timer{display:inline-flex;align-items:center;gap:.4rem;font-family:Oswald,sans-serif;font-weight:800;font-size:1.15rem;color:#fff;background:#ffffff14;border:2px solid rgba(255,255,255,.16);border-radius:999px;padding:.3rem .9rem}.duel-timer i{color:var(--event-color, #3b82f6)}.duel-timer.is-low{border-color:#ef4444;color:#fca5a5;animation:duel-timer-pulse .8s ease-in-out infinite}.duel-timer.is-low i{color:#ef4444}@keyframes duel-timer-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.duel-streak-row{display:inline-flex;gap:.2rem}.duel-streak-dot{font-size:.95rem;color:#ffffff2e;transition:color .15s ease,transform .15s ease}.duel-streak-dot.is-lit{color:#f59e0b;transform:scale(1.15)}.duel-boost-banner{font-family:Oswald,sans-serif;font-weight:800;font-size:1.05rem;color:#fbbf24;background:color-mix(in srgb,#f59e0b 22%,rgba(0,0,0,.3));border:2px solid #f59e0b;border-radius:.9rem;padding:.55rem 1rem;text-align:center}.duel-hp-bar .feed-morra-progress-fill{background:linear-gradient(90deg,#22c55e,#f59e0b);box-shadow:0 0 10px #22c55e80}.duel-review-btn{padding:.7rem 1.3rem;border-radius:.9rem;border:2px solid rgba(255,255,255,.18);background:#ffffff0f;color:#f1f5f9;font-weight:700;cursor:pointer;transition:background .15s ease,border-color .15s ease}.duel-review-btn:hover{background:#ffffff1f;border-color:var(--event-color, #3b82f6)}.duel-review-overlay{position:fixed;inset:0;background:#06090fb8;display:flex;align-items:center;justify-content:center;z-index:1200;padding:1.5rem}.duel-review-modal{width:100%;max-width:34rem;max-height:80vh;max-height:80dvh;display:flex;flex-direction:column;background:#131a26;border:3px solid rgba(255,255,255,.14);border-radius:1.25rem;box-shadow:8px 8px #00000080;overflow:hidden}.duel-review-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:2px solid rgba(255,255,255,.1)}.duel-review-header h4{font-family:Oswald,sans-serif;font-weight:800;color:#fff;font-size:1.1rem}.duel-review-list{overflow-y:auto;padding:1rem 1.25rem 1.5rem;display:flex;flex-direction:column;gap:.85rem}.duel-review-card{border-radius:.9rem;padding:.8rem 1rem;border-left:4px solid #64748b;background:#ffffff0d}.duel-review-card.is-correct{border-left-color:#22c55e}.duel-review-card.is-wrong{border-left-color:#ef4444}.duel-review-num{display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;border-radius:50%;background:#ffffff1f;font-size:.75rem;font-weight:800;margin-right:.4rem}.duel-review-q{color:#fff;font-weight:700;font-size:.95rem;margin-bottom:.4rem}.duel-review-answer{color:#cbd5e1;font-size:.88rem;margin-bottom:.3rem}.duel-review-card.is-correct .duel-review-answer i{color:#22c55e}.duel-review-card.is-wrong .duel-review-answer i{color:#ef4444}.duel-review-explain{color:#94a3b8;font-size:.82rem;font-style:italic}.duel-idle-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:1.75rem}.duel-idle-info{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:.85rem}.duel-mascot{flex:0 0 auto;width:13rem;height:13rem;display:flex;align-items:center;justify-content:center}.duel-mascot img{width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none;animation:feed-morra-glow-pulse 2.4s ease-in-out infinite}@media(max-width:640px){.duel-idle-row{flex-direction:column;text-align:center}.duel-idle-info{align-items:center;text-align:center}.duel-mascot{width:9rem;height:9rem}}.feed-morra-flash{position:absolute;inset:0;background:#fff;opacity:.97;animation:feed-morra-flash-fade 1.1s ease-out forwards;z-index:5;pointer-events:none}@keyframes feed-morra-flash-fade{0%{opacity:.97}to{opacity:0}}.feed-morra-paw{position:absolute;top:50%;left:50%;font-size:2.1rem;color:#fbbf24;filter:drop-shadow(0 0 6px rgba(251,191,36,.8));transform:translate(-50%,-50%) scale(.4);animation:feed-morra-paw-fly 1.7s cubic-bezier(.2,.8,.3,1) forwards;z-index:6;pointer-events:none}@keyframes feed-morra-paw-fly{0%{transform:translate(-50%,-50%) scale(.4);opacity:1}to{transform:translate(calc(-50% + var(--paw-x)),calc(-50% + var(--paw-y))) scale(1.3);opacity:0}}.guess-status{color:#e5e7eb;font-size:1.05rem;font-weight:600}.guess-status strong{color:#c4b5fd}.guess-cta-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.75rem;border:none;border-radius:.9rem;background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff;font-family:Oswald,sans-serif;font-weight:800;font-size:1.1rem;cursor:pointer;box-shadow:5px 5px #00000080;transition:transform .1s ease,box-shadow .1s ease}.guess-cta-btn:hover{transform:translate(-2px,-2px);box-shadow:7px 7px #00000080}.guess-cta-btn:active{transform:translate(1px,1px);box-shadow:2px 2px #00000080}.guess-modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#050508cc;opacity:0;pointer-events:none;transition:opacity .15s ease}.guess-modal-overlay.open{opacity:1;pointer-events:auto}.guess-modal{position:relative;width:100%;max-width:28rem;padding:2.25rem 2rem;border-radius:1.5rem;background:linear-gradient(165deg,#221a35,#14101f);border:3px solid #8b5cf6;box-shadow:8px 8px #4c1d95;text-align:center}.guess-modal-close{position:absolute;top:1.1rem;right:1.1rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#ffffff14;color:#e5e7eb;cursor:pointer}.guess-modal-title{color:#fff;font-family:Oswald,sans-serif;font-weight:800;font-size:1.3rem;margin-bottom:.4rem}.guess-modal-subtitle{color:#c4b5fd;font-size:.9rem;margin-bottom:1.5rem}.guess-number-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.7rem}.guess-number-btn{aspect-ratio:1;border-radius:.8rem;border:2px solid rgba(139,92,246,.5);background:#8b5cf61f;color:#fff;font-family:Oswald,sans-serif;font-weight:800;font-size:1.4rem;cursor:pointer;box-shadow:3px 3px #0006;transition:transform .1s ease,box-shadow .1s ease,background .15s ease}.guess-number-btn:hover{background:#8b5cf64d;transform:translate(-2px,-2px);box-shadow:5px 5px #0006}.guess-number-btn:active{transform:translate(1px,1px);box-shadow:1px 1px #0006}@media(max-width:400px){.guess-modal-overlay{padding:.75rem}.guess-modal{padding:1.5rem 1rem}.guess-number-grid{gap:.5rem}}.guess-modal-loading{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem 0;color:#d1d5db}.guess-modal-loading-icon{font-size:2.5rem;color:#8b5cf6;animation:guess-loading-spin .9s linear infinite}@keyframes guess-loading-spin{to{transform:rotate(360deg)}}.guess-result{display:flex;flex-direction:column;align-items:center;gap:.6rem}.guess-result-icon{font-size:3.5rem}.guess-result-title{color:#fff;font-family:Oswald,sans-serif;font-weight:800;font-size:1.25rem}.guess-result.is-correct .guess-result-title{color:#34d399}.guess-result-reward{color:#fbbf24;font-weight:800;font-size:1.4rem;margin-bottom:.5rem}.guess-result .guess-cta-btn{margin-top:.5rem}.joker-cards-row{display:flex;flex-wrap:wrap;gap:1.25rem;margin-top:.25rem}.feed-morra-arena.is-joker.has-cards .feed-morra-portrait,.feed-morra-arena.is-joker.has-cards .feed-morra-img{width:8.5rem;height:8.5rem}.joker-card{width:6.5rem;height:9.5rem;border:none;background:none;padding:0;cursor:pointer;perspective:800px}.joker-card:disabled{cursor:default}.joker-card-inner{position:relative;width:100%;height:100%;display:block;transition:transform .5s cubic-bezier(.34,1.56,.64,1);transform-style:preserve-3d}.joker-card.is-revealed .joker-card-inner{transform:rotateY(180deg)}.joker-card-face{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:.9rem;backface-visibility:hidden;font-size:2.4rem;box-shadow:4px 4px #00000080}.joker-card-back{background:linear-gradient(160deg,#ef4444,#7f1d1d);color:#ffffffb3;border:2px solid rgba(255,255,255,.25)}.joker-card-front{background:#1c1a29;color:#fbbf24;border:2px solid rgba(251,191,36,.4);transform:rotateY(180deg)}.joker-card.is-chosen .joker-card-front{border-color:#fbbf24;box-shadow:3px 3px #00000080,0 0 14px #fbbf2499}.joker-card.is-winner .joker-card-front{color:#34d399;border-color:#34d399}.joker-card.is-joker-reveal .joker-card-front{color:#f87171}.classmates-page-header{margin-bottom:.5rem}.classmates-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-top:1rem}.classmate-card{position:relative;display:flex;flex-direction:column;align-items:center;padding:1.6rem 1rem 1.1rem;border-radius:1.4rem;background:linear-gradient(165deg,#212a3d,#131722);border:2px solid color-mix(in srgb,var(--cm-color, #ec4899) 50%,#2a3548);box-shadow:5px 5px color-mix(in srgb,var(--cm-color, #ec4899) 50%,#000 60%);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.classmate-card:hover{transform:translate(-3px,-3px);box-shadow:8px 8px color-mix(in srgb,var(--cm-color, #ec4899) 50%,#000 60%)}.classmate-card:active{transform:translate(1px,1px);box-shadow:2px 2px color-mix(in srgb,var(--cm-color, #ec4899) 50%,#000 60%)}.classmate-card-sparkle-left,.classmate-card-sparkle-right{position:absolute;top:.9rem;font-size:1.05rem;color:var(--cm-color, #fbbf24);animation:anim-twinkle 1.8s ease-in-out infinite;z-index:2}.classmate-card-sparkle-left{left:1rem;animation-delay:.35s}.classmate-card-sparkle-right{right:1rem}.classmate-card-avatar-ring{width:5.6rem;height:5.6rem;border-radius:50%;padding:3px;margin-bottom:.9rem;background:conic-gradient(from 200deg,var(--cm-color, #ec4899),color-mix(in srgb,var(--cm-color, #ec4899) 30%,#fff 25%),var(--cm-color, #ec4899))}.classmate-card-avatar-inner{width:100%;height:100%;border-radius:50%;background:#0c0f18;border:2px solid #131722;display:flex;align-items:center;justify-content:center;overflow:hidden}.classmate-card-avatar{width:100%;height:100%;object-fit:cover}.classmate-card-label{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#7c88a6;margin-bottom:.2rem}.classmate-card-name{font-size:.95rem;font-weight:800;color:#f5f3ee;text-align:center;margin-bottom:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.classmate-card-cta{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%;padding:.6rem 0;border-radius:.7rem;background:linear-gradient(135deg,var(--cm-color, #ec4899),color-mix(in srgb,var(--cm-color, #ec4899) 60%,#000 35%));color:#fff;font-size:.74rem;font-weight:800;box-shadow:2px 2px color-mix(in srgb,var(--cm-color, #ec4899) 60%,#000 55%)}.room-canvas-container{position:relative;border-radius:1rem;border:3px solid #241f38;overflow:hidden;line-height:0;box-shadow:0 0 0 2px color-mix(in srgb,#a78bfa 60%,transparent),6px 6px #0006,inset 0 0 0 2px #ffffff0f;transition:border-color .2s ease,box-shadow .2s ease}.room-canvas-container.is-editing{border-color:#0c4a6e;box-shadow:0 0 0 2px #38bdf8,6px 6px #0006,inset 0 0 0 2px #ffffff0f}.room-loading-overlay{position:absolute;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:#150f22;transition:opacity .25s ease}.room-loading-overlay.is-hidden{opacity:0;pointer-events:none}.room-loading-paws{display:flex;gap:.9rem}.room-loading-paws i{font-size:1.5rem;animation:room-loading-hop .8s steps(4) infinite}.room-loading-paws i:nth-child(1){color:#a78bfa;animation-delay:0s}.room-loading-paws i:nth-child(2){color:#34d399;animation-delay:.1s}.room-loading-paws i:nth-child(3){color:#fbbf24;animation-delay:.2s}.room-loading-paws i:nth-child(4){color:#fb7185;animation-delay:.3s}@keyframes room-loading-hop{0%,to{transform:translateY(0)}50%{transform:translateY(-.85rem)}}.room-loading-text{font-family:Courier New,monospace;font-size:.85rem;font-weight:700;letter-spacing:.06em;color:#d1d5db;text-transform:uppercase}.room-loading-cursor{animation:room-loading-blink .8s steps(2) infinite}@keyframes room-loading-blink{50%,to{opacity:0}}.room-enter-transition{position:fixed;inset:0;z-index:9999;opacity:0;pointer-events:none}.room-enter-transition.is-active{opacity:1;pointer-events:auto}.room-enter-door{position:absolute;top:0;bottom:0;width:50%;background-repeat:no-repeat;background-size:cover;background-position:center;background-color:#2a1a0d;transition:transform .55s steps(10)}.room-enter-door.left{left:0;background-image:url(./img/doors/left.webp)}.room-enter-door.right{right:0;background-image:url(./img/doors/right.webp)}.room-enter-transition.is-opening .room-enter-door.left{transform:translate(-100%)}.room-enter-transition.is-opening .room-enter-door.right{transform:translate(100%)}.room-enter-stamp{position:absolute;top:50%;left:50%;z-index:2;display:flex;flex-direction:column;align-items:center;gap:.9rem;transform:translate(-50%,-50%) scale(0);transition:transform .3s steps(6),opacity .25s ease}.room-enter-transition.is-active .room-enter-stamp{transform:translate(-50%,-50%) scale(1)}.room-enter-transition.is-opening .room-enter-stamp{opacity:0;transform:translate(-50%,-50%) scale(1.3)}.room-enter-stamp-img{width:6.5rem;height:6.5rem;object-fit:contain;filter:drop-shadow(4px 4px 0 rgba(0,0,0,.5))}.room-enter-dots{display:flex;gap:.5rem}.room-enter-dots span{width:.6rem;height:.6rem;border-radius:999px;background:#fbbf24;opacity:.25;animation:room-enter-dot-pulse 1.2s steps(1) infinite}.room-enter-dots span:nth-child(1){animation-delay:0s}.room-enter-dots span:nth-child(2){animation-delay:.4s}.room-enter-dots span:nth-child(3){animation-delay:.8s}@keyframes room-enter-dot-pulse{0%,20%{opacity:1}21%,to{opacity:.25}}.room-enter-stamp-text{font-family:Courier New,monospace;font-size:1rem;font-weight:700;letter-spacing:.1em;color:#fef3c7;text-transform:uppercase;text-shadow:2px 2px 0 rgba(0,0,0,.5)}.room-inventory-overlay{position:fixed;inset:0;z-index:900;background:transparent;opacity:0;pointer-events:none;transition:opacity .2s ease}.room-inventory-overlay.open{opacity:1}.room-inventory-modal{position:fixed;right:0;top:50%;z-index:901;pointer-events:auto;transform:translate(100%,-50%);width:min(92vw,23rem);height:min(82vh,40rem);height:min(82dvh,40rem);display:flex;flex-direction:column;background-image:linear-gradient(#0a080e99,#0a080e99),url(./img/backgrounds/invent.png);background-size:cover;background-position:center;border:2px solid rgba(255,255,255,.12);border-right:none;border-radius:1.25rem 0 0 1.25rem;padding:1.75rem 1.1rem 1rem;box-shadow:-8px 0 #000;transition:transform .35s cubic-bezier(.16,1,.3,1)}.room-inventory-overlay.open .room-inventory-modal{transform:translateY(-50%)}.room-inventory-close{position:absolute;top:1rem;right:1.1rem;height:2rem;padding:0 .9rem;border:none;border-radius:999px;background:linear-gradient(135deg,#34d399,#059669);box-shadow:2px 2px #064e3b;color:#06281d;font-weight:800;font-size:.78rem;cursor:pointer;display:flex;align-items:center;gap:.35rem;transition:transform .1s ease}.room-inventory-close:hover{transform:translate(-1px,-1px)}.room-inventory-close:active{transform:translate(1px,1px)}.room-inventory-title{color:#fff;font-weight:800;font-size:.9rem;margin-bottom:.6rem;padding-right:5rem;text-shadow:1px 1px 2px rgba(0,0,0,.8);flex-shrink:0}.room-inventory-title i{color:#a78bfa;margin-right:.3rem}.room-inventory-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;padding-bottom:.6rem;margin-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.room-inventory-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;height:3.4rem;border-radius:.75rem;border:1.5px solid rgba(255,255,255,.15);background:#0a080e8c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#f5f5f7;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.room-inventory-tab i{font-size:1.05rem}.room-inventory-tab span{font-size:.62rem;font-weight:700;text-align:center;line-height:1.1}.room-inventory-tab:hover{border-color:#ffffff59;color:#fff}.room-inventory-tab.active{background:#a78bfa52;border-color:#a78bfa;color:#fff}.room-inventory-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;overflow-y:auto;padding:.2rem .2rem 1rem;flex:1;min-height:0;width:100%;align-content:start}.room-inventory-list{scrollbar-width:thin;scrollbar-color:rgba(167,139,250,.7) transparent}.room-inventory-list::-webkit-scrollbar{display:block;width:6px}.room-inventory-list::-webkit-scrollbar-track{background:transparent}.room-inventory-list::-webkit-scrollbar-thumb{background:#a78bfab3;border-radius:999px}.room-inventory-empty{grid-column:1 / -1;color:#f5f5f7;font-size:.8rem;text-align:center;padding:1rem .75rem;background:#0a080e8c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:.75rem;border:1.5px solid rgba(255,255,255,.12)}.room-inventory-card{position:relative;aspect-ratio:1;width:100%;padding:.3rem;border-radius:.6rem;background:linear-gradient(180deg,color-mix(in srgb,var(--rarity-color, #6b7280) 30%,#17141f 70%),color-mix(in srgb,var(--rarity-color, #6b7280) 16%,#0b0912 84%));backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:2px solid color-mix(in srgb,var(--rarity-color, #6b7280) 55%,transparent);box-shadow:inset 0 0 0 1px #00000080,2px 2px color-mix(in srgb,var(--rarity-color, #6b7280) 55%,#000 50%);color:#f5f5f7;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.room-inventory-card{--rarity-color: #6b7280}.room-inventory-card.rarity-rare{--rarity-color: #3b82f6}.room-inventory-card.rarity-epic{--rarity-color: #fbbf24}.room-inventory-card:hover{transform:translate(-2px,-2px);box-shadow:inset 0 0 0 1px #00000080,4px 4px color-mix(in srgb,var(--rarity-color, #6b7280) 55%,#000 50%)}.room-inventory-card:active{transform:translate(1px,1px);box-shadow:inset 0 0 0 1px #00000080,1px 1px color-mix(in srgb,var(--rarity-color, #6b7280) 55%,#000 50%)}.room-inventory-card[draggable=true]{cursor:grab}.room-inventory-card[draggable=true]:active{cursor:grabbing}.room-item-toolbar{position:fixed;transform:translate(-50%,-100%);display:flex;gap:.3rem;padding:.35rem;border-radius:.7rem;background:#14141f;border:2px solid #2a2a3d;box-shadow:3px 3px #000;z-index:1200}.room-item-toolbar button{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border:none;border-radius:.5rem;background:#23233a;color:#e5e7eb;font-size:.8rem;cursor:pointer}.room-item-toolbar button:hover{background:#32324a}.room-item-toolbar button.is-remove{background:#7f1d1d;color:#fecaca}.room-item-toolbar button.is-remove:hover{background:#991b1b}.room-inventory-thumb{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}.room-inventory-thumb .shop-item-icon{font-size:1.6rem;color:var(--rarity-color, #a78bfa)}.room-inventory-thumb .shop-item-photo,.room-inventory-thumb .room-inventory-character-thumb-img{max-width:100%;max-height:100%}.room-inventory-card.is-placed{background:linear-gradient(180deg,color-mix(in srgb,#34d399 26%,#17141f),color-mix(in srgb,#34d399 10%,#0b0912));border-color:#34d399;box-shadow:inset 0 0 0 1px #00000080,2px 2px #047857}.room-inventory-card.is-placed:hover{box-shadow:inset 0 0 0 1px #00000080,4px 4px #047857}.room-inventory-card.is-placed:active{box-shadow:inset 0 0 0 1px #00000080,1px 1px #047857}.room-inventory-check{position:absolute;top:.35rem;right:.35rem;width:1.3rem;height:1.3rem;border-radius:50%;background:#10b981;border:2px solid #065f46;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.6rem;z-index:2}.room-credit{margin-top:.35rem;font-size:.65rem;color:#ffffff59;text-align:right}.room-bg-slider{margin-top:1.25rem}.room-bg-slider-title{color:#d1d5db;font-size:.85rem;font-weight:600;margin-bottom:.6rem}.room-bg-slider-title i{color:#f59e0b;margin-right:.3rem}.room-bg-slider-row{display:flex;align-items:center;gap:.5rem}.room-bg-track{display:flex;gap:.75rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:.25rem .1rem .5rem;scrollbar-width:none}.room-bg-track::-webkit-scrollbar{display:none}.room-bg-card{position:relative;flex:0 0 auto;width:9.5rem;aspect-ratio:3 / 2;border-radius:.85rem;background-size:cover;background-position:center;border:2px solid transparent;overflow:hidden;scroll-snap-align:start;cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;padding:0}.room-bg-card:hover{transform:translateY(-3px) scale(1.02)}.room-bg-card.is-active{border-color:#6bffd0;box-shadow:0 0 16px #6bffd066}.room-bg-card.rarity-rare:not(.is-locked){border-color:#3b82f680}.room-bg-card.rarity-epic:not(.is-locked){border-color:#fbbf248c}.room-bg-label{position:absolute;left:0;right:0;bottom:0;padding:.35rem .5rem .3rem;font-size:.68rem;font-weight:600;color:#fff;text-align:left;background:linear-gradient(0deg,rgba(0,0,0,.75),transparent)}.room-bg-active-badge{position:absolute;top:.4rem;right:.4rem;width:1.3rem;height:1.3rem;border-radius:50%;background:#10b981;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.65rem;box-shadow:0 2px 6px #0006}.room-bg-card.is-locked{filter:grayscale(.3)}.room-bg-lock-overlay{position:absolute;inset:0;background:#05050ab8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;color:#fff}.room-bg-lock-overlay i{font-size:1.3rem;color:#fbbf24}.room-bg-price{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:700;color:#fde68a}@keyframes idle-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-.4rem)}}.leaderboard-list{display:flex;flex-direction:column;gap:.6rem}.leaderboard-row{display:flex;align-items:center;gap:.75rem;padding:.7rem 1rem;border-radius:.9rem;background:#1a1a26;border:2px solid rgba(255,255,255,.08)}.leaderboard-row.is-me{border-color:#a78bfa;box-shadow:3px 3px #a78bfa66}.leaderboard-row.is-gold{background:linear-gradient(135deg,#fde68a,#f59e0b);border-color:#92650a;box-shadow:4px 4px #92650a}.leaderboard-row.is-silver{background:linear-gradient(135deg,#e5e7eb,#9ca3af);border-color:#4b5563;box-shadow:4px 4px #4b5563}.leaderboard-row.is-bronze{background:linear-gradient(135deg,#f0b78f,#c2703d);border-color:#7c3f18;box-shadow:4px 4px #7c3f18}.leaderboard-row.is-gold .leaderboard-name,.leaderboard-row.is-silver .leaderboard-name,.leaderboard-row.is-bronze .leaderboard-name{color:#1c1207}.leaderboard-rank{flex-shrink:0;width:2.1rem;height:2.1rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#00000040;font-size:1.15rem;font-weight:800;color:#fff}.leaderboard-row.is-gold .leaderboard-rank,.leaderboard-row.is-silver .leaderboard-rank,.leaderboard-row.is-bronze .leaderboard-rank{background:#00000026}.leaderboard-avatar{width:2.75rem;height:2.75rem;border-radius:50%;background:#ffffff1a;flex-shrink:0}.leaderboard-mid{flex:1 1 auto;min-width:0}.leaderboard-name{color:#fff;font-weight:700;font-size:.92rem}.leaderboard-you-tag{display:inline-block;padding:.05rem .4rem;border-radius:999px;background:#7c3aed;color:#fff;font-size:.62rem;font-weight:800;text-transform:uppercase;vertical-align:middle}.leaderboard-bar-track{margin-top:.35rem;height:.4rem;border-radius:999px;background:#00000040;overflow:hidden}.leaderboard-row:not(.is-gold):not(.is-silver):not(.is-bronze) .leaderboard-bar-track{background:#ffffff14}.leaderboard-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#a78bfa,#6366f1)}.leaderboard-row.is-gold .leaderboard-bar-fill,.leaderboard-row.is-silver .leaderboard-bar-fill,.leaderboard-row.is-bronze .leaderboard-bar-fill{background:#0006}.leaderboard-points{flex-shrink:0;display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .6rem;border-radius:999px;background:#fbbf24;border:1.5px solid #92650a;color:#2b1a00;font-weight:800;font-size:.78rem}.leaderboard-points .paw-icon{color:#2b1a00}.leaderboard-podium{display:flex;align-items:flex-end;justify-content:center;gap:.7rem;margin-bottom:1.4rem;padding:0 .5rem}.podium-slot{display:flex;flex-direction:column;align-items:center;width:33%;max-width:9rem}.podium-crown{font-size:1.4rem;margin-bottom:.2rem;filter:drop-shadow(0 3px 3px rgba(0,0,0,.4))}.podium-slot.is-gold .podium-crown{font-size:1.7rem}.podium-avatar{width:3.6rem;height:3.6rem;border-radius:50%;background:#ffffff1a;border:3px solid #fff;box-shadow:3px 3px #00000059}.podium-slot.is-gold .podium-avatar{width:4.6rem;height:4.6rem;border-color:#fde68a}.podium-name{margin-top:.5rem;color:#fff;font-weight:800;font-size:.82rem;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.podium-points{margin-top:.25rem;display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .55rem;border-radius:999px;background:#00000059;color:#fff;font-weight:800;font-size:.72rem}.podium-pedestal{margin-top:.6rem;width:100%;display:flex;align-items:center;justify-content:center;border-radius:.7rem .7rem 0 0;font-weight:900;font-size:1.3rem;color:#00000059}.podium-slot.is-gold .podium-pedestal{height:4.2rem;background:linear-gradient(180deg,#fde68a,#f59e0b);border:2px solid #92650a;border-bottom:none;box-shadow:3px -3px #92650a}.podium-slot.is-silver .podium-pedestal{height:3rem;background:linear-gradient(180deg,#e5e7eb,#9ca3af);border:2px solid #4b5563;border-bottom:none}.podium-slot.is-bronze .podium-pedestal{height:2.2rem;background:linear-gradient(180deg,#f0b78f,#c2703d);border:2px solid #7c3f18;border-bottom:none}.podium-slot.is-me .podium-avatar{border-color:#a78bfa}@media(max-width:480px){.podium-avatar{width:2.9rem;height:2.9rem}.podium-slot.is-gold .podium-avatar{width:3.7rem;height:3.7rem}.podium-name{font-size:.72rem}}.progress-stats-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.progress-stat-tile{display:flex;flex-direction:column;align-items:center;padding:.9rem .5rem;border-radius:.9rem;border:2px solid;box-shadow:3px 3px}.progress-stat-tile.is-blue{background:#3b82f626;border-color:#3b82f6;color:#93c5fd;box-shadow:3px 3px #1d4ed8}.progress-stat-tile.is-teal{background:#14b8a626;border-color:#14b8a6;color:#5eead4;box-shadow:3px 3px #0f766e}.progress-stat-tile.is-pink{background:#ec489926;border-color:#ec4899;color:#f9a8d4;box-shadow:3px 3px #9d174d}.progress-stat-tile.is-yellow{background:#eab30826;border-color:#eab308;color:#fde047;box-shadow:3px 3px #a16207}.progress-stat-tile.is-red{background:#ef444426;border-color:#ef4444;color:#fca5a5;box-shadow:3px 3px #991b1b}.progress-stat-value{font-size:1.4rem;font-weight:800;color:#fff}.progress-stat-label{font-size:.68rem;text-align:center;margin-top:.15rem;opacity:.9}.progress-section-label{color:#9ca3af;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;margin:1.1rem 0 .4rem}.progress-row{display:flex;align-items:center;gap:.65rem;padding:.55rem .9rem;border-radius:.75rem;background:#1a1a26;border-left:4px solid}.progress-row.is-done{border-left-color:#10b981}.progress-row.is-progress{border-left-color:#f59e0b}.progress-row.is-external{border-left-color:#06b6d4}.progress-row.is-award{border-left-color:#ec4899}.progress-row-icon{width:1.9rem;height:1.9rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffff0f;flex-shrink:0;font-size:.8rem}.progress-row.is-done .progress-row-icon{color:#10b981}.progress-row.is-progress .progress-row-icon{color:#f59e0b}.progress-row.is-external .progress-row-icon{color:#06b6d4}.progress-row.is-award .progress-row-icon{color:#ec4899}.progress-row-label{flex:1 1 auto;color:#e5e7eb;font-size:.85rem;font-weight:600;min-width:0}.progress-row-badge{flex-shrink:0;font-size:.7rem;font-weight:700;color:#9ca3af;white-space:nowrap}.progress-row-badge.is-points{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .55rem;border-radius:999px;background:#fbbf24;border:1.5px solid #92650a;color:#2b1a00}.progress-row-badge.is-points .paw-icon{color:#2b1a00}.visit-room-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:.35rem;padding:.5rem .9rem;border:none;border-radius:.65rem;background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff;font-size:.78rem;font-weight:700;cursor:pointer;box-shadow:2px 2px #4c1d95;transition:transform .1s ease,box-shadow .1s ease}.visit-room-btn:hover{transform:translate(-1px,-1px);box-shadow:3px 3px #4c1d95}.visit-room-btn:active{transform:translate(1px,1px);box-shadow:1px 1px #4c1d95}.room-visit-modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#050508c7;opacity:0;pointer-events:none;transition:opacity .15s ease}.room-visit-modal-overlay.open{opacity:1;pointer-events:auto}.room-visit-modal{position:relative;width:92vw;max-width:62rem;padding:1.75rem 1.5rem 1.5rem;background:#16161f;border:3px solid #a78bfa;border-radius:1.25rem;box-shadow:8px 8px #6d28d9}#room-visit-canvas.room-canvas-container{margin:0 auto}.room-visit-title{color:#fff;font-family:Oswald,sans-serif;font-weight:700;font-size:1.05rem;margin-bottom:.85rem}.room-visit-title i{color:#a78bfa;margin-right:.35rem}.room-visit-loading{padding:3rem 1rem;text-align:center;color:var(--text-secondary)}.room-visit-close{position:absolute;top:1.5rem;right:1.25rem;z-index:5;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#ffffff14;color:var(--text-secondary);cursor:pointer;font-size:.85rem}.room-visit-close:hover{background:#ffffff26;color:var(--text-primary)}.room-trophy-shelf{position:absolute;bottom:.75rem;right:.75rem;z-index:4;display:flex;flex-wrap:wrap-reverse;justify-content:flex-end;gap:.35rem;max-width:6rem}.room-trophy{width:1.6rem;height:1.6rem;border-radius:.2rem;background:#d97706;border:2px solid #451a03;display:flex;align-items:center;justify-content:center;color:#451a03;font-size:.7rem;box-shadow:0 2px #00000059}.room-item-overlay{position:absolute;inset:0;z-index:3;pointer-events:none}.room-item-overlay-icon{position:absolute;transform:translate(-50%,-50%);width:2.2rem;height:2.2rem;border-radius:50%;background:transparent;border:none;color:#fff;font-size:1.1rem;display:flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:auto;transition:transform .15s ease}.room-item-overlay-icon:hover{transform:translate(-50%,-50%) scale(1.15)}.room-locked-message{padding:2.5rem 1.5rem;text-align:center;color:#fbbf24;background:#fbbf2414;border:1px dashed rgba(251,191,36,.35);border-radius:1rem}.room-locked-message i{font-size:2rem;display:block;margin-bottom:.75rem}.category-lesson-locked{position:relative;min-height:40vh;min-height:40dvh}.category-lesson-locked>*:not(.lesson-lock-overlay){visibility:hidden}.lesson-lock-overlay{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center}.access-lock-icon-btn{width:4.5rem;height:4.5rem;display:flex;align-items:center;justify-content:center;border:3px solid #92650a;border-radius:50%;background:#16161f;color:#fbbf24;font-size:1.5rem;cursor:pointer;box-shadow:4px 4px #92650a;transition:transform .1s ease,box-shadow .1s ease}.access-lock-icon-btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px #92650a}.access-lock-icon-btn:active{transform:translate(1px,1px);box-shadow:2px 2px #92650a}.access-lock-icon{width:4rem;height:4rem;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;border-radius:50%;background:#92650a;color:#fff7e6;font-size:1.5rem}.access-lock-title{font-family:Oswald,sans-serif;font-weight:700;font-size:1.25rem;letter-spacing:.3px;color:#fbbf24;margin-bottom:.6rem}.access-lock-text{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin-bottom:1.25rem}.access-lock-cta{font-family:Oswald,sans-serif;font-weight:700;letter-spacing:.3px;border:none;border-radius:.75rem;padding:.75rem 1.75rem;font-size:.95rem;color:#fff;background:var(--accent-primary);box-shadow:4px 4px #1d4ed8;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease;margin-top:.5rem}.access-lock-cta:hover{transform:translate(-2px,-2px);box-shadow:6px 6px #1d4ed8}.access-lock-cta:active{transform:translate(2px,2px);box-shadow:1px 1px #1d4ed8}.access-lock-modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#050508b8;opacity:0;pointer-events:none;transition:opacity .15s ease}.access-lock-modal-overlay.open{opacity:1;pointer-events:auto}.access-lock-modal{position:relative;width:100%;max-width:72rem;max-height:92vh;max-height:92dvh;overflow-y:auto;padding:2rem;background:#16161f;border:3px solid #92650a;border-radius:1.25rem;box-shadow:8px 8px #92650a;transform:translateY(0)}.access-lock-modal-overlay:not(.open) .access-lock-modal{transform:translateY(12px)}.header-login-modal{max-width:26rem;text-align:left}.header-login-modal .access-lock-title{margin-bottom:0}.header-login-modal .access-lock-text{margin-bottom:1rem}.header-login-modal-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.access-lock-columns{display:flex;align-items:stretch;gap:1.75rem;text-align:left}.access-lock-image-col{flex:0 0 19rem;border-radius:1rem;overflow:hidden;background:#0f0d17;border:2px solid rgba(255,255,255,.08)}.access-lock-image-col img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 25%}.access-lock-content-col{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.access-lock-content-col .access-lock-icon{margin:0 0 .85rem}.access-lock-content-col .access-lock-title{text-align:left}.access-lock-content-col .access-lock-text{text-align:left;margin-bottom:.5rem}.access-lock-screenshots-wrap{margin-top:auto;padding-top:1rem;border-top:2px solid rgba(255,255,255,.08)}.access-lock-screenshots-row{display:flex;align-items:center;gap:.5rem}.access-lock-screenshots{display:flex;gap:.75rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none}.access-lock-screenshots::-webkit-scrollbar{display:none}.access-lock-screenshot{flex:0 0 auto;width:13.5rem;height:8.25rem;border-radius:.7rem;object-fit:cover;scroll-snap-align:start;background:#0f0d17;border:2px solid rgba(255,255,255,.1);transition:transform .15s ease,border-color .15s ease}.access-lock-screenshot:hover{transform:translateY(-3px);border-color:#fbbf24}.access-lock-screenshots-placeholder{flex:1;display:flex;align-items:center;justify-content:center;height:8.25rem;color:#6b7280;font-size:.8rem;font-style:italic;border:2px dashed rgba(255,255,255,.12);border-radius:.6rem}.access-lock-confirm-wrap{display:flex;justify-content:center;margin-top:1.75rem}.access-lock-confirm-btn{font-family:Oswald,sans-serif;font-weight:800;letter-spacing:.3px;border:none;border-radius:.85rem;padding:.85rem 3rem;font-size:1rem;color:#052e1c;background:#34d399;box-shadow:0 4px #047857;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease}.access-lock-confirm-btn:hover{transform:translateY(-1px);box-shadow:0 5px #047857}.access-lock-confirm-btn:active{transform:translateY(3px);box-shadow:0 1px #047857}@media(max-width:1023px){.access-lock-columns{flex-direction:column}.access-lock-image-col{flex:0 0 10rem}}.onboarding-modal{max-width:42rem}.onboarding-columns{display:flex;align-items:stretch;gap:1.5rem;text-align:left}.onboarding-image-col{flex:0 0 11rem;border-radius:1rem;overflow:hidden;background:#0f0d17;border:2px solid rgba(255,255,255,.08)}.onboarding-image-col img{display:block;width:100%;height:100%;object-fit:cover}.onboarding-content-col{position:relative;flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.onboarding-content-col .access-lock-icon{margin:0 0 .85rem}.onboarding-content-col .access-lock-title{text-align:left}.onboarding-content-col .access-lock-text{text-align:left;margin-bottom:.5rem}.onboarding-skip-btn{position:absolute;top:0;right:0;background:none;border:none;color:#6b7280;font-size:.8rem;cursor:pointer;padding:.2rem .4rem}.onboarding-skip-btn:hover{color:#9ca3af}.onboarding-footer{margin-top:auto;padding-top:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.onboarding-dots{display:flex;gap:.4rem}.onboarding-dot{width:.5rem;height:.5rem;border-radius:50%;background:#ffffff26}.onboarding-dot.active{background:#fbbf24;width:1.3rem;border-radius:999px}.onboarding-nav-btns{display:flex;gap:.6rem}.onboarding-nav-btn{font-family:Oswald,sans-serif;font-weight:700;letter-spacing:.2px;border:none;border-radius:.7rem;padding:.55rem 1.1rem;font-size:.85rem;color:#d1d5db;background:#292938;cursor:pointer;box-shadow:2px 2px #0006;transition:transform .1s ease}.onboarding-nav-btn:hover{transform:translate(-1px,-1px)}.onboarding-nav-btn:active{transform:translate(1px,1px)}.onboarding-nav-btn.is-primary{color:#052e1c;background:#34d399;box-shadow:2px 2px #047857}@media(max-width:1023px){.onboarding-columns{flex-direction:column}.onboarding-image-col{flex:0 0 8rem}}.class-hero-card{position:relative;overflow:hidden;border-radius:1.25rem;padding:1.5rem;margin-bottom:1.25rem;background:linear-gradient(150deg,#312e81,#4c1d95 55%,#5b21b6);border:2px solid #a78bfa;box-shadow:6px 6px #1e1b4b}.class-hero-card.is-live{background:linear-gradient(150deg,#7c2d12,#9a3412 55%,#c2410c);border-color:#fb923c;box-shadow:6px 6px #431407}.class-hero-card:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}.class-hero-card>*{position:relative;z-index:1}.class-hero-top{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1.1rem}.class-hero-name{display:flex;align-items:center;gap:.6rem;font-size:1.3rem;font-weight:800;color:#fff;font-family:Oswald,sans-serif}.class-hero-name i{color:#ffffffb3}.class-live-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .6rem;border-radius:999px;background:#fff3;color:#fff;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.class-live-badge i{font-size:.5rem;color:#fca5a5;animation:classLivePulse 1.4s ease-in-out infinite}@keyframes classLivePulse{0%,to{opacity:1}50%{opacity:.3}}.class-hero-code{display:flex;flex-direction:column;gap:.1rem;padding:.5rem 1rem;border-radius:.85rem;background:#00000038;border:1px solid rgba(255,255,255,.15)}.class-hero-code-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.05em;color:#ffffffa6;font-weight:700}.class-hero-code-value{font-size:1.35rem;font-weight:800;letter-spacing:.15em;color:#fde68a}.class-lesson-btn{display:inline-flex;align-items:center;gap:.5rem;margin-left:auto;padding:.75rem 1.4rem;border:none;border-radius:.85rem;font-size:.95rem;font-weight:800;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease}.class-lesson-btn.is-start{background:linear-gradient(135deg,#34d399,#059669);color:#05321f;box-shadow:3px 3px #065f46}.class-lesson-btn.is-stop{background:linear-gradient(135deg,#fca5a5,#ef4444);color:#450a0a;box-shadow:3px 3px #7f1d1d}.class-lesson-btn:hover{transform:translate(-2px,-2px)}.class-lesson-btn.is-start:hover{box-shadow:5px 5px #065f46}.class-lesson-btn.is-stop:hover{box-shadow:5px 5px #7f1d1d}.class-lesson-btn:active{transform:translate(1px,1px)}.class-lesson-btn.is-saving{pointer-events:none;opacity:.7}.class-lesson-btn.is-saving i{animation:spin .7s linear infinite}.class-hero-categories{border-top:1px solid rgba(255,255,255,.15);padding-top:1rem}.class-hero-categories-label{color:#ffffffbf;font-size:.78rem;margin-bottom:.6rem}.lesson-category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:.55rem}.lesson-category-check{position:relative;overflow:hidden;display:flex;align-items:center;gap:.55rem;padding:.5rem .7rem;border-radius:.75rem;background:#0000004d;border:1.5px solid rgba(255,255,255,.12);font-size:.82rem;font-weight:600;color:#fff9;cursor:pointer;transition:border-color .15s ease,color .15s ease,transform .1s ease}.lesson-category-check:hover{border-color:#ffffff59;transform:translateY(-1px)}.lesson-category-check input{position:absolute;width:0;height:0;opacity:0}.lesson-category-check:before{content:"";position:absolute;inset:0;background:var(--cat-color);opacity:0;transition:opacity .15s ease}.lesson-category-check.checked:before{opacity:.28}.lesson-category-check.checked{border-color:var(--cat-color);color:#fff}.lesson-category-icon,.lesson-category-label,.lesson-category-tick{position:relative;z-index:1}.lesson-category-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.9rem;height:1.9rem;border-radius:.55rem;background:#ffffff17;color:#ffffff8c;font-size:.8rem;transition:background .15s ease,color .15s ease}.lesson-category-check.checked .lesson-category-icon{background:var(--cat-color);color:#0a0a0f}.lesson-category-label{flex:1}.lesson-category-tick{font-size:.7rem;color:var(--cat-color);opacity:0;transform:scale(.4);transition:opacity .15s ease,transform .15s ease}.lesson-category-check.checked .lesson-category-tick{opacity:1;transform:scale(1)}.learning-item-picker{margin-top:.85rem;padding:.85rem 1rem;border-radius:.85rem;background:#3b82f614;border:1px dashed rgba(59,130,246,.4)}.learning-item-picker-label{color:#bfdbfe;font-size:.98rem;font-weight:700;margin-bottom:.55rem;line-height:1.4}.learning-item-picker-current{color:#fff;font-size:.95rem;margin-bottom:.85rem}.learning-item-picker-current.is-empty{color:#fbbf24}.learning-picker-cat-tabs{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:.8rem}.learning-picker-cat-tab{padding:.55rem 1rem;border-radius:999px;background:#ffffff0f;border:1px solid rgba(255,255,255,.14);color:#9ca3af;font-size:.9rem;font-weight:700;cursor:pointer}.learning-picker-cat-tab.active{background:#3b82f6;border-color:#1d4ed8;color:#fff}.learning-picker-items{display:flex;flex-wrap:wrap;gap:.55rem}.learning-picker-item-btn{padding:.55rem 1rem;border-radius:.6rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.14);color:#d1d5db;font-size:.92rem;font-weight:600;cursor:pointer;transition:background .12s ease,border-color .12s ease}.learning-picker-item-btn:hover{background:#ffffff1a}.learning-picker-item-btn.active{background:#22c55e2e;border-color:#22c55e;color:#bbf7d0;font-weight:800}.learning-picker-item-btn.active i{color:#22c55e;margin-left:.25rem}.subject-missing-warning{display:flex;align-items:center;gap:.9rem;margin-bottom:1.1rem;padding:.9rem 1rem;border-radius:.9rem;background:#ef44441a;border:1.5px dashed rgba(239,68,68,.45)}.subject-missing-warning>i{flex:0 0 auto;font-size:1.4rem;color:#f87171}.subject-missing-warning>div{flex:1 1 auto;min-width:0}.subject-missing-warning strong{display:block;font-size:.85rem;color:#fecaca}.subject-missing-warning p{margin:.25rem 0 0;font-size:.78rem;color:#ffffffa6;line-height:1.4}.subject-missing-warning button{flex:0 0 auto;padding:.55rem .9rem;border-radius:.6rem;background:#ef4444;color:#fff;font-size:.78rem;font-weight:700;border:0}.subject-missing-warning button:hover{background:#dc2626}.class-broadcast-row{margin-bottom:1.1rem}.class-broadcast-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.1rem;border-radius:.75rem;border:2px solid #34d399;background:#34d39924;color:#6ee7b7;font-size:.85rem;font-weight:700;box-shadow:2px 2px #34d39959;transition:transform .1s ease}.class-broadcast-btn:hover:not(:disabled){transform:translate(-1px,-1px);background:#34d39938}.class-broadcast-btn:active:not(:disabled){transform:translate(1px,1px)}.class-broadcast-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.pending-students-block{margin-bottom:1.1rem;padding:.9rem 1rem;border-radius:.9rem;background:#f59e0b14;border:1.5px dashed rgba(245,158,11,.4)}.pending-students-title{font-size:.8rem;font-weight:700;color:#fbbf24;margin-bottom:.6rem;display:flex;align-items:center;gap:.4rem}.pending-student-row{display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;border-radius:.65rem;background:#00000038;margin-bottom:.4rem;flex-wrap:wrap}.pending-student-row:last-child{margin-bottom:0}.pending-student-name{color:#fff;font-weight:700;font-size:.85rem}.pending-student-tag{font-size:.72rem;color:#fbbf24;display:flex;align-items:center;gap:.3rem}.pending-student-approve,.pending-student-reject{padding:.4rem .75rem;border:none;border-radius:.55rem;font-size:.78rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;transition:transform .1s ease}.pending-student-approve{margin-left:auto;background:linear-gradient(135deg,#34d399,#059669);color:#05321f}.pending-student-reject{background:#ef44442e;color:#fca5a5}.pending-student-approve:hover,.pending-student-reject:hover{transform:translateY(-1px)}.exclusive-redemptions-block{margin-bottom:1.1rem;padding:.9rem 1rem;border-radius:.9rem;background:#facc1514;border:1.5px dashed rgba(250,204,21,.45)}.exclusive-redemptions-title{font-size:.8rem;font-weight:700;color:#facc15;margin-bottom:.6rem;display:flex;align-items:center;gap:.4rem}.exclusive-redemption-row{display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;border-radius:.65rem;background:#00000038;margin-bottom:.4rem;flex-wrap:wrap}.exclusive-redemption-row:last-child{margin-bottom:0}.exclusive-redemption-row>i.gi-crown{color:#facc15}.exclusive-redemption-student{color:#fff;font-weight:700;font-size:.85rem}.exclusive-redemption-item{color:#d1d5db;font-size:.8rem}.exclusive-redemption-price{color:#facc15;font-size:.78rem;font-weight:700}.exclusive-redemption-fulfill-btn{margin-left:auto;padding:.4rem .75rem;border:none;border-radius:.55rem;font-size:.78rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;background:linear-gradient(135deg,#34d399,#059669);color:#05321f;transition:transform .1s ease}.exclusive-redemption-fulfill-btn:hover{transform:translateY(-1px)}.exclusive-redeem-modal .item-info-title{margin-bottom:.3rem}.exclusive-redeem-options{display:flex;flex-direction:column;gap:.5rem;margin-top:.9rem}.exclusive-redeem-option{display:flex;align-items:center;gap:.6rem;padding:.7rem .9rem;border-radius:.7rem;border:2px solid rgba(250,204,21,.4);background:#facc1514;color:#fef3c7;font-size:.85rem;font-weight:700;text-align:left;cursor:pointer;box-shadow:2px 2px #facc1540;transition:transform .1s ease}.exclusive-redeem-option small{font-weight:500;color:#d1d5db;margin-left:auto}.exclusive-redeem-option:hover:not(:disabled){transform:translate(-1px,-1px);background:#facc1529}.exclusive-redeem-option:active:not(:disabled){transform:translate(1px,1px)}.exclusive-redeem-option:disabled{opacity:.5;cursor:not-allowed}.exclusive-redeem-option.is-general{border-color:#ffffff40;background:#ffffff0f;color:#e5e7eb;box-shadow:2px 2px #ffffff1f}.exclusive-redeem-option.is-general:hover:not(:disabled){background:#ffffff1a}.admin-student-search-row{display:flex;align-items:center;gap:.6rem;padding:.7rem .9rem;border-radius:.8rem;background:#ffffff0d;border:1.5px solid rgba(255,255,255,.12);margin-bottom:.9rem}.admin-student-search-row>i{color:#9ca3af}.admin-student-search-input{flex:1;background:transparent;border:none;outline:none;color:#fff;font-size:.9rem}.admin-student-search-input::placeholder{color:#6b7280}.admin-student-search-card{display:flex;align-items:center;gap:.7rem;padding:.7rem .9rem;border-radius:.7rem;background:#ffffff0a;border:1.5px solid rgba(255,255,255,.08);margin-bottom:.5rem;flex-wrap:wrap}.admin-student-search-card:last-child{margin-bottom:0}.admin-student-search-name{color:#fff;font-weight:700;font-size:.88rem}.admin-student-search-meta{color:#9ca3af;font-size:.76rem;margin-top:.15rem}.admin-student-search-card .admin2-btn{margin-left:auto}.class-student-search-row{margin-bottom:.9rem}.class-student-count-label{font-size:.78rem;color:#9ca3af;margin:0 0 .6rem .2rem}.student-card-header{cursor:pointer;user-select:none;border-radius:.5rem;transition:background .1s ease}.student-card-header:hover{background:#ffffff0a}.student-card-chevron{color:#6b7280;font-size:.75rem;transition:transform .15s ease;flex-shrink:0}.student-card.is-expanded .student-card-chevron{transform:rotate(90deg);color:#a78bfa}.student-card-body{margin-top:.4rem}.student-card-mini-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .45rem;border-radius:999px;font-size:.68rem;font-weight:700;flex-shrink:0}.student-card-mini-badge.is-homework{background:#2dd4bf2e;color:#5eead4}.student-card-mini-badge.is-locked{background:#ef444433;color:#fca5a5}.student-card-mini-badge.is-achievement{background:#facc152e;color:#facc15}.behavior-card-btn{display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;border:none;border-radius:.4rem;cursor:pointer;font-size:.7rem;transition:transform .1s ease}.behavior-card-btn:hover{transform:translateY(-1px)}.behavior-card-btn.is-yellow{background:#eab308;color:#422006}.behavior-card-btn.is-red{background:#dc2626;color:#450a0a}.student-row-locked{border:1.5px solid rgba(220,38,38,.4);background:#dc26260f!important}.student-locked-banner{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.6rem;padding:.6rem .75rem;border-radius:.6rem;background:#dc26261f;border:1px dashed rgba(220,38,38,.4);color:#fca5a5;font-size:.78rem}.student-locked-banner i{color:#ef4444}.student-locked-restore-btn{margin-left:auto;padding:.4rem .75rem;border:none;border-radius:.55rem;background:linear-gradient(135deg,#34d399,#059669);color:#05321f;font-size:.75rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;transition:transform .1s ease}.student-locked-restore-btn:hover{transform:translateY(-1px)}.behavior-card-overlay{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#050508d1;opacity:0;pointer-events:none;transition:opacity .15s ease}.behavior-card-overlay.open{opacity:1;pointer-events:auto}.behavior-card-modal{width:100%;max-width:26rem;padding:1.75rem 1.5rem;background:#16161f;border-radius:1.25rem;text-align:center}.behavior-card-modal.is-yellow{border:3px solid #eab308;box-shadow:8px 8px #713f12}.behavior-card-modal.is-red{border:3px solid #dc2626;box-shadow:8px 8px #7f1d1d}.behavior-card-badge{width:100%;height:13rem;margin:0 auto .6rem;display:flex;align-items:center;justify-content:center}.behavior-card-badge img{height:100%;width:auto;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(0,0,0,.45))}.behavior-card-title{color:#fff;font-family:Oswald,sans-serif;font-weight:700;font-size:1.15rem;margin-bottom:.6rem}.behavior-card-text{color:#d1d5db;font-size:.85rem;line-height:1.5;margin-bottom:.6rem}.behavior-card-reason{color:#fbbf24;font-size:.82rem;font-style:italic;background:#ffffff0d;border-radius:.6rem;padding:.6rem .75rem;margin-bottom:.85rem;text-align:left}.behavior-card-cta{display:inline-flex;align-items:center;gap:.5rem;width:100%;justify-content:center;padding:.75rem 1rem;border:none;border-radius:.75rem;font-weight:700;font-size:.92rem;cursor:pointer;margin-top:.3rem;transition:transform .1s ease}.behavior-card-cta:hover{transform:translateY(-1px)}.behavior-card-cta.is-yellow{background:linear-gradient(135deg,#facc15,#eab308);color:#422006}.behavior-card-cta.is-red{background:linear-gradient(135deg,#f87171,#dc2626);color:#450a0a}.behavior-card-dismiss{display:block;width:100%;margin-top:.6rem;padding:.5rem;border:none;background:transparent;color:#9ca3af;font-size:.8rem;cursor:pointer}.behavior-card-dismiss:hover{color:#d1d5db}.behavior-flow-overlay{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#050508e0;overflow-y:auto;opacity:0;pointer-events:none;transition:opacity .15s ease}.behavior-flow-overlay.open{opacity:1;pointer-events:auto}.behavior-flow-modal{width:100%;max-width:34rem;max-height:calc(100vh - 3rem);max-height:calc(100dvh - 3rem);overflow-y:auto;padding:1.75rem;margin:auto;background:#16161f;border:3px solid #6366f1;border-radius:1.25rem;box-shadow:8px 8px #312e81}.behavior-flow-header{text-align:center;margin-bottom:1.1rem}.behavior-flow-header i{font-size:1.8rem;color:#818cf8;margin-bottom:.5rem;display:inline-block}.behavior-flow-header h3{color:#fff;font-family:Oswald,sans-serif;font-weight:700;font-size:1.15rem;margin-bottom:.4rem}.behavior-flow-header p{color:#9ca3af;font-size:.82rem;line-height:1.5}.behavior-rules-list{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1rem}.behavior-rule-card{display:flex;align-items:flex-start;gap:.7rem;padding:.75rem .85rem;border-radius:.75rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.behavior-rule-icon{flex-shrink:0;width:2.2rem;height:2.2rem;border-radius:.6rem;background:#6366f133;color:#a5b4fc;display:flex;align-items:center;justify-content:center;font-size:.9rem}.behavior-rule-title{color:#fff;font-weight:700;font-size:.85rem;margin-bottom:.2rem}.behavior-rule-text{color:#9ca3af;font-size:.78rem;line-height:1.4}.behavior-rule-detail{color:#6b7280;font-size:.74rem;line-height:1.5;margin-top:.4rem}.behavior-rules-timer{text-align:center;color:#fbbf24;font-size:.8rem;font-weight:600;margin-bottom:.85rem}.behavior-flow-continue-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.85rem 1rem;border:none;border-radius:.85rem;background:linear-gradient(135deg,#818cf8,#6366f1);color:#1e1b4b;font-weight:800;font-size:.92rem;cursor:pointer;transition:transform .1s ease,opacity .15s ease}.behavior-flow-continue-btn:hover:not(:disabled){transform:translateY(-1px)}.behavior-flow-continue-btn:disabled{opacity:.4;cursor:not-allowed}.behavior-quiz-question{color:#fff;font-size:1rem;font-weight:700;line-height:1.4;margin-bottom:1rem}.behavior-quiz-options{display:flex;flex-direction:column;gap:.55rem;margin-bottom:1rem}.behavior-quiz-option{text-align:left;padding:.75rem .9rem;border-radius:.75rem;background:#ffffff0a;border:1.5px solid rgba(255,255,255,.1);color:#d1d5db;font-size:.85rem;cursor:pointer;transition:border-color .15s ease,background .15s ease}.behavior-quiz-option:hover:not(:disabled){border-color:#ffffff4d}.behavior-quiz-option:disabled{cursor:default}.behavior-quiz-option.is-correct{border-color:#34d399;background:#34d39926;color:#6ee7b7}.behavior-quiz-option.is-wrong{border-color:#f87171;background:#f8717126;color:#fca5a5}.behavior-quiz-feedback{display:flex;align-items:flex-start;gap:.6rem;padding:.75rem .9rem;border-radius:.75rem;font-size:.82rem;line-height:1.45;margin-bottom:1rem}.behavior-quiz-feedback.is-correct{background:#34d3991f;color:#a7f3d0}.behavior-quiz-feedback.is-wrong{background:#60a5fa1f;color:#bfdbfe}.behavior-quiz-feedback i{margin-top:.15rem}.behavior-flow-done-icon{color:#34d399!important;font-size:2.2rem!important}.journal-entry-form{margin-top:.85rem;padding-top:.85rem;border-top:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;gap:.55rem}.journal-grade-input,.journal-comment-input{width:100%;padding:.6rem .85rem;border-radius:.7rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff;font-size:.85rem;font-family:inherit;transition:border-color .2s,background .2s}.journal-grade-input:focus,.journal-comment-input:focus{outline:none;border-color:#fbbf2480;background:#fbbf240f}.journal-broadcast-form{margin:0 0 1rem;padding:1rem 1.1rem;border:1px dashed rgba(167,139,250,.35);border-radius:1rem;background:#a78bfa0f}.journal-broadcast-form .journal-grade-input:focus,.journal-broadcast-form .journal-comment-input:focus{border-color:#a78bfa80;background:#a78bfa14}.journal-cat-toast{position:fixed;right:1.25rem;bottom:1.25rem;z-index:900;display:flex;align-items:center;gap:.65rem;max-width:20rem;padding:.9rem 1.1rem;background:#16161f;border:3px solid #a78bfa;border-radius:1rem;box-shadow:6px 6px #6d28d9;color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transform:translateY(1.5rem) scale(.95);opacity:0;pointer-events:none;transition:transform .25s ease,opacity .25s ease}.journal-cat-toast.show{transform:translateY(0) scale(1);opacity:1;pointer-events:auto}.journal-cat-toast-icon{font-size:1.6rem;flex-shrink:0}@media(max-width:1023px){.journal-cat-toast{bottom:calc(var(--mobile-nav-h) + .75rem)}}@media(max-width:640px){.journal-cat-toast{left:.75rem;right:.75rem;max-width:none}}.journal-feed{background:#12121a;border-radius:1.25rem;overflow:hidden;margin-bottom:1rem}.journal-feed-header{display:flex;align-items:center;gap:.5rem;padding:.85rem 1.1rem;background:linear-gradient(135deg,#6366f1,#4338ca);color:#fff;font-weight:700;font-size:.92rem}.journal-feed-list{display:flex;flex-direction:column;gap:.6rem;padding:1rem}.journal-feed-msg{display:flex;gap:.7rem;align-items:flex-start}.journal-feed-msg-icon{flex-shrink:0;width:2.2rem;height:2.2rem;border-radius:.7rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(155deg,#fbbf244d,#d9770626);border:1px solid rgba(251,191,36,.35);color:#fde68a;font-size:.95rem;margin-top:.1rem}.journal-feed-msg-bubble{flex:1;min-width:0;background:#1a1a26;border:2px solid #292938;border-bottom-left-radius:.3rem;border-radius:1rem;padding:.7rem .9rem;box-shadow:2px 2px #00000059}.journal-feed-msg.is-unread .journal-feed-msg-bubble{border-color:#fbbf248c}.journal-feed-msg-top{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.journal-feed-msg-topic{color:#fff;font-weight:800;font-size:.92rem}.journal-feed-msg-meta{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;color:#9ca3af;font-size:.72rem;margin-top:.2rem}.journal-feed-msg-subject{color:#fbbf24;font-weight:700}.journal-feed-msg-time{display:block;color:#6b7280;font-size:.68rem;margin-top:.35rem}.journal-entry-comment{color:#e5e7eb;font-size:.88rem;line-height:1.5;margin-top:.35rem}.journal-entry-homework{color:#fbbf24;font-size:.85rem;line-height:1.5;margin-top:.35rem;background:#fbbf241a;border-radius:.5rem;padding:.4rem .6rem}.gradebook-homework-dot{color:#b45309}.journal-grade-badge{display:inline-flex;align-items:center;justify-content:center;min-width:2.2rem;padding:.3rem .75rem;border-radius:.7rem;background:linear-gradient(155deg,#fbbf24,#f59e0b);color:#1c1207;font-size:.95rem;font-weight:800;box-shadow:0 4px 10px #f59e0b59}.gradebook-scroll{overflow-x:auto;border-radius:.5rem;border:1px solid #b9c6d6;box-shadow:0 1px 3px #0f172a1f}.gradebook-table{border-collapse:collapse;width:100%;min-width:32rem;background:#fff}.gradebook-table thead th{background:#eef3fa;border:1px solid #d3dce8;padding:.3rem .4rem;text-align:center;vertical-align:bottom;color:#1e3a5f}.gradebook-student-col{position:sticky;left:0;z-index:3;background:#eef3fa;min-width:11rem;text-align:left!important;color:#1e293b;font-size:.74rem;font-weight:700;border-right:2px solid #6b93c9}.gradebook-topic-col{min-width:1.9rem;max-width:1.9rem;width:1.9rem;padding:.2rem .1rem!important;position:relative}.gradebook-topic-col.is-future{background:repeating-linear-gradient(135deg,#eef3fa,#eef3fa 4px,#e2e9f3 4px 8px)!important}.gradebook-topic-col:hover{background:#dce6f5}.gradebook-topic-actions{display:flex;justify-content:center;gap:.1rem;height:1.1rem;opacity:0;transition:opacity .1s ease}.gradebook-topic-col:hover .gradebook-topic-actions{opacity:1}.gradebook-topic-label{display:block;color:#6b7c93;font-size:.56rem;font-weight:700;text-transform:uppercase}.gradebook-topic-name{color:#1e3a5f;font-size:.74rem;font-weight:800;line-height:1.1}.gradebook-topic-dot{display:block;width:.3rem;height:.3rem;border-radius:50%;background:#2563eb;margin:.15rem auto 0}.gradebook-fill-all-btn{display:inline-flex;align-items:center;justify-content:center;width:1.05rem;height:1.05rem;border:none;border-radius:.25rem;background:#2563eb1f;color:#2563eb;font-size:.55rem;cursor:pointer;transition:background .15s ease}.gradebook-fill-all-btn:hover{background:#2563eb40}.gradebook-table tbody tr:nth-child(2n){background:#f7f9fc}.gradebook-table tbody tr{height:1.9rem}.gradebook-table td{padding:.2rem .15rem;border:1px solid #e2e8f0;font-size:.72rem;vertical-align:middle}.gradebook-table td.gradebook-student-cell{position:sticky;left:0;z-index:1;background:#fff;white-space:nowrap;padding:.25rem .5rem;font-size:.76rem;color:#1e293b;font-weight:600;border-right:2px solid #6b93c9}.gradebook-student-cell-inner{display:flex;align-items:center;gap:.35rem}.gradebook-row-num{color:#94a3b8;font-weight:700;min-width:1.1rem}.gradebook-student-cell img{width:1.4rem;height:1.4rem;border-radius:50%;background:#00000014;flex-shrink:0}.gradebook-cell{text-align:center;cursor:pointer;transition:background .12s ease}.gradebook-cell:hover{background:#2563eb24}.gradebook-cell.is-future{background:repeating-linear-gradient(135deg,#fff,#fff 4px,#eef1f5 4px 8px)}.gradebook-cell.is-future:hover{background:repeating-linear-gradient(135deg,#dbeafe,#dbeafe 4px,#c7ddfb 4px 8px)}.gradebook-cell>*{display:inline-flex;vertical-align:middle}.gradebook-grade{align-items:center;justify-content:center;min-width:1.3rem;padding:.05rem .2rem;border-radius:.3rem;background:#fef3c7;color:#92400e;font-size:.72rem;font-weight:800}.gradebook-comment-dot{margin-left:.15rem;color:#2563eb;font-size:.6rem}.gradebook-dash{color:#1e293b33}.gradebook-cell.is-unread{box-shadow:inset 0 0 0 2px #2563eb8c}.gradebook-month-header{text-align:center!important;font-weight:800;font-size:.8rem;letter-spacing:.03em;padding:.5rem .4rem!important}.gradebook-month-header-0{background:#dbeafe!important;color:#1e3a8a;border-bottom:3px solid #2563eb!important}.gradebook-month-header-1{background:#fef3c7!important;color:#92400e;border-bottom:3px solid #d97706!important}.gradebook-month-header-2{background:#d1fae5!important;color:#065f46;border-bottom:3px solid #059669!important}.gradebook-month-header-3{background:#ede9fe!important;color:#5b21b6;border-bottom:3px solid #7c3aed!important}.gradebook-summary-col{position:sticky;left:11rem;z-index:3;background:#eef3fa;min-width:4.6rem;text-align:center;font-size:.62rem;line-height:1.2;border-right:2px solid #6b93c9}.gradebook-student-col[rowspan],.gradebook-summary-col[rowspan],.gradebook-term-header[rowspan]{vertical-align:middle!important}.gradebook-summary-cell{position:sticky;left:11rem;z-index:1;background:#fff;text-align:center;white-space:nowrap}.gradebook-table tbody tr:nth-child(2n) .gradebook-student-cell,.gradebook-table tbody tr:nth-child(2n) .gradebook-summary-cell{background:#f7f9fc}.gradebook-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.4rem;padding:.1rem .3rem;border-radius:.3rem;background:#86efac;border:1px solid #15803d;color:#14532d;font-size:.64rem;font-weight:800;margin-right:.2rem}.gradebook-average-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;padding:.1rem .3rem;border-radius:.3rem;background:#93c5fd;border:1px solid #1d4ed8;color:#1e3a8a;font-size:.64rem;font-weight:800}.gradebook-term-header,.gradebook-term-cell{border-left:2px solid #db2777!important}.gradebook-term-header{min-width:3.2rem;text-align:center!important;background:#fce7f3!important;color:#9d174d;font-size:.62rem;font-weight:800}.gradebook-term-cell{text-align:center;cursor:pointer;background:#db27770a;transition:background .12s ease}.gradebook-term-cell:hover{background:#db277724}.gradebook-term-header.is-final{background:#db2777!important;color:#fff;border-left:3px solid #831843!important}.gradebook-term-cell.is-final{background:#db27771a;border-left:3px solid #db2777!important;font-weight:700}.gradebook-term-cell.is-final:hover{background:#db277738}.gradebook-absences-cell{text-align:center;font-weight:800;color:#b91c1c;min-width:3rem;font-size:.7rem}.gradebook-absent{display:inline-flex;align-items:center;justify-content:center;min-width:1.3rem;padding:.05rem .2rem;border-radius:.3rem;background:#fecaca;color:#7f1d1d;font-size:.72rem;font-weight:800}.gradebook-cell.is-absent{background:#dc26260f}.subject-summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.75rem}.subject-summary-card{background:#1a1a26;border:2px solid rgba(129,140,248,.25);border-radius:1rem;box-shadow:3px 3px #00000059;padding:.9rem 1rem}.subject-summary-card-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.7rem;padding-bottom:.6rem;border-bottom:1px solid rgba(255,255,255,.08)}.subject-summary-card-head i{color:#818cf8;font-size:1.1rem;flex-shrink:0}.subject-summary-card-title{color:#fff;font-weight:700;font-size:.95rem}.subject-summary-stats{display:flex;gap:.5rem;margin-bottom:.7rem}.subject-summary-stat{flex:1;text-align:center;background:#ffffff0a;border-radius:.6rem;padding:.4rem .3rem}.subject-summary-stat.is-warning{background:#dc262626}.subject-summary-stat-value{display:block;color:#fff;font-weight:800;font-size:1.05rem;line-height:1.3}.subject-summary-stat.is-warning .subject-summary-stat-value{color:#fca5a5}.subject-summary-stat-label{display:block;color:#9ca3af;font-size:.62rem;text-transform:uppercase;letter-spacing:.02em}.subject-summary-terms{display:flex;gap:.5rem}.subject-term{flex:1;display:flex;flex-direction:column;align-items:center;gap:.25rem}.subject-term-label{color:#6b7280;font-size:.62rem;text-transform:uppercase;letter-spacing:.02em}.subject-term-grade{display:inline-flex;align-items:center;justify-content:center;min-width:1.8rem;height:1.8rem;border-radius:.5rem;background:#34d39926;border:1px solid rgba(52,211,153,.4);color:#34d399;font-weight:800;font-size:.85rem}.subject-term-grade.is-empty{background:#ffffff08;border:1px solid rgba(255,255,255,.08);color:#4b5563}.journal-picker-panel{box-shadow:6px 6px #00000059}.journal-school-gate{max-width:40rem;margin:0 auto;text-align:center;box-shadow:6px 6px #00000059}.journal-school-gate-icon{width:4rem;height:4rem;margin:0 auto 1rem;border-radius:999px;background:#eef3fa;color:#1e3a5f;display:grid;place-items:center;font-size:1.6rem}.journal-school-gate h2{color:#1e3a5f;font-size:1.4rem;font-weight:800;margin:0 0 .75rem}.journal-school-gate>p{color:#55647d;font-size:.92rem;line-height:1.6;margin:0 0 1.5rem}.journal-school-gate-steps{text-align:left;background:#f7f9fc;border:1px solid #e3e9f2;border-radius:.9rem;padding:1.1rem 1.3rem}.journal-school-gate-steps p{margin:0 0 .6rem;color:#1e3a5f;font-weight:700;font-size:.9rem}.journal-school-gate-steps ol{margin:0;padding-left:1.2rem;color:#334155;font-size:.88rem;line-height:1.65}.journal-school-gate-steps li{margin:.4rem 0}.journal-school-gate-steps a{color:#2563eb;font-weight:700}.journal-school-gate-cta{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.25rem;padding:.75rem 1.5rem;border-radius:.75rem;background:#1e3a5f;color:#fff;font-weight:700;font-size:.92rem;box-shadow:4px 4px #00000040}.journal-school-gate-cta:hover{background:#16304d}.journal-picker-title{display:flex;align-items:center;gap:.5rem;color:#1e3a5f;font-weight:800;font-size:1.15rem;margin:0 0 1.1rem;padding-bottom:.75rem;border-bottom:2px solid #eef3fa}.journal-picker-title i{width:1.5em!important;height:1.5em!important}.journal-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:1rem}.journal-picker-card{display:flex;flex-direction:column;align-items:center;gap:.55rem;padding:1.25rem .85rem 1rem;border-radius:1rem;border:2px solid #d3dce8;background:#fff;color:#1e3a5f;font-weight:700;font-size:.85rem;cursor:pointer;box-shadow:3px 3px #d3dce8;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.journal-picker-card i{width:2.6em!important;height:2.6em!important;background-color:#eef3fa;background-size:62%;border-radius:.85rem;transition:background-color .12s ease}.journal-picker-card span{line-height:1.2}.journal-picker-card small{color:#2563eb;font-weight:700;font-size:.68rem;background:#eef3fa;padding:.15rem .6rem;border-radius:999px}.journal-picker-card:hover{transform:translate(-2px,-2px);border-color:#2563eb;box-shadow:5px 5px #2563eb}.journal-picker-card:hover i{background-color:#dbeafe}.journal-picker-card:active{transform:translate(1px,1px);box-shadow:1px 1px #2563eb}.journal-picker-card.active{border-color:#2563eb;background:#eef3fa;box-shadow:3px 3px #2563eb}.journal-picker-card.active i{background-color:#dbeafe}.journal-school-info{background:#f7f9fc;border:2px solid #d3dce8;border-radius:1rem;padding:1rem 1.2rem;margin-bottom:1.25rem}.journal-school-info-header{display:flex;align-items:center;gap:.8rem;margin-bottom:.7rem}.journal-school-logo{width:3rem;height:3rem;border-radius:.8rem;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#eef3fa;color:#2563eb;font-size:1.3rem}.journal-school-logo img{width:100%;height:100%;object-fit:cover}.journal-school-info-name{font-weight:800;font-size:1.05rem;color:#1e3a5f}.journal-school-info-roles{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.5rem}.journal-school-info-role{display:flex;flex-direction:column;gap:.15rem;font-size:.78rem}.journal-school-info-role span{color:#7d93b2;font-weight:700;text-transform:uppercase;font-size:.65rem;letter-spacing:.03em}.journal-school-info-role b{color:#1e3a5f}.journal-school-info-teachers{margin-top:.7rem;font-size:.8rem;color:#2563eb;cursor:pointer;font-weight:700}.journal-school-info-teacher-list{margin-top:.5rem;display:flex;flex-direction:column;gap:.3rem;color:#334155;font-size:.78rem}.journal-school-info-teacher-list span{color:#7d93b2}.journal-staff-registered{display:inline-flex;align-items:center;gap:.2rem;margin-left:.4rem;padding:.05rem .4rem;border-radius:999px;background:#d1fae5;color:#059669!important;font-weight:700;font-size:.68rem}.journal-picker-back{display:inline-flex;align-items:center;gap:.35rem;color:#2563eb;font-weight:700;font-size:.8rem;background:#eef3fa;border:none;border-radius:999px;cursor:pointer;padding:.5rem 1rem;transition:background .12s ease}.journal-picker-back i{width:1.1em!important;height:1.1em!important}.journal-picker-back:hover{background:#dce6f5}.lesson-plan-panel .journal-picker-card{border-color:#ffffff1a;background:#ffffff08;color:#e5e7eb;box-shadow:3px 3px #00000059}.lesson-plan-panel .journal-picker-card i{background-color:#ffffff0f}.lesson-plan-panel .journal-picker-card small{color:#fbbf24;background:#fbbf241f}.lesson-plan-panel .journal-picker-card:hover{background:#ffffff12;border-color:#fbbf2473;box-shadow:5px 5px #92650a}.lesson-plan-panel .journal-picker-card:hover i{background-color:#fbbf2426}.lesson-plan-panel .journal-picker-card:active{box-shadow:1px 1px #92650a}.lesson-plan-panel .journal-picker-back{color:#fbbf24;background:#ffffff0f}.lesson-plan-panel .journal-picker-back:hover{background:#ffffff1f}.gradebook-panel{background:#f7f9fc!important}.gradebook-panel .class-switcher-chip{background:#eef3fa;color:#1e3a5f;border-color:#d3dce8}.gradebook-panel .class-switcher-chip:hover{background:#dce6f5}.gradebook-panel .class-switcher-chip.active{background:#2563eb;border-color:#2563eb;color:#fff}.journal-picker-current-subject{color:#94a3b8;font-weight:600;font-size:.68rem;margin-left:.2rem}.gradebook-panel .teacher-dashboard-tab{color:#94a3b8}.gradebook-panel .teacher-dashboard-tab:hover{color:#475569}.gradebook-panel .teacher-dashboard-tab.active{color:#1e3a5f;border-bottom-color:#2563eb}.journal-semester-pager{display:flex;gap:.4rem}.journal-semester-page{padding:.5rem 1rem;border-radius:.6rem .6rem 0 0;background:#eef3fa;color:#5b7ba3;font-size:.8rem;font-weight:700;border:1px solid #d3dce8;border-bottom:none;cursor:pointer;transition:background .15s ease,color .15s ease}.journal-semester-page:hover{background:#dce6f5}.journal-semester-page.active{background:#2563eb;color:#fff;border-color:#2563eb}.journal-legend{display:flex;flex-wrap:wrap;gap:.5rem 1.1rem;padding:.6rem .9rem;margin-bottom:.75rem;border-radius:.6rem;background:#eef3fa;border:1px solid #d3dce8}.journal-legend-item{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;color:#45577a;white-space:nowrap}.journal-legend-swatch{flex-shrink:0}.homework-pending-toast{position:fixed;top:16px;right:16px;z-index:1200;display:flex;align-items:flex-start;gap:.6rem;max-width:20rem;padding:.85rem 1rem;border-radius:.85rem;background:#1c1c26;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 24px #00000059;opacity:0;transform:translate(20px);pointer-events:none;transition:opacity .2s ease,transform .2s ease}.homework-pending-toast.show{opacity:1;transform:translate(0);pointer-events:auto}.homework-pending-toast-icon{flex-shrink:0;width:2rem;height:2rem;border-radius:.6rem;background:#f59e0b2e;color:#fbbf24;display:flex;align-items:center;justify-content:center;font-size:1rem}.homework-pending-toast-body{flex:1;min-width:0}.homework-pending-toast-title{color:#fff;font-weight:700;font-size:.82rem;margin:0 0 .15rem}.homework-pending-toast-text{color:#d1d5db;font-size:.76rem;line-height:1.35;margin:0 0 .5rem}.homework-pending-toast-action{padding:.35rem .7rem;border-radius:.5rem;background:#f59e0b2e;color:#fbbf24;font-size:.72rem;font-weight:700;border:none;cursor:pointer}.homework-pending-toast-action:hover{background:#f59e0b4d}.homework-pending-toast-close{position:absolute;top:.5rem;right:.6rem;background:none;border:none;color:#6b7280;cursor:pointer;font-size:.8rem;padding:.15rem}.homework-pending-toast-close:hover{color:#d1d5db}.journal-wide-mode{max-width:min(96vw,88rem)!important}.class-switcher{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.class-switcher-grade-rows{display:flex;flex-direction:column;gap:.5rem}.class-switcher-grade-row{display:flex;align-items:center;gap:.7rem}.class-switcher-grade-row-label{flex-shrink:0;width:3.6rem;font-size:.7rem;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.02em}.class-switcher-grade-row-chips{display:flex;flex-wrap:wrap;gap:.5rem}.gradebook-panel .class-switcher-grade-row-label{color:#7d93b2}.class-switcher-group{margin-bottom:.25rem}.class-switcher-group-label{display:flex;align-items:center;justify-content:space-between;gap:.4rem;color:#9ca3af;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.4rem;flex-wrap:wrap}.class-switcher-group-label>span{display:flex;align-items:center;gap:.4rem}.school-staff-directory-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .65rem;border-radius:.6rem;background:#9333ea26;color:#d8b4fe;font-size:.7rem;font-weight:700;text-transform:none;letter-spacing:normal;cursor:pointer;transition:background .15s ease}.school-staff-directory-btn:hover{background:#9333ea47}.school-staff-list{display:flex;flex-direction:column;gap:.5rem;max-height:60vh;overflow-y:auto}.school-staff-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem .85rem;border-radius:.75rem;background:#ffffff0a}.school-staff-row-name{color:#fff;font-size:.88rem;font-weight:600}.school-staff-row-role{color:#9ca3af;font-size:.8rem;text-align:right}.class-switcher-group .class-switcher{margin-bottom:.75rem}.class-switcher-grade-wrap{position:relative;display:inline-block}.class-switcher-grade-chevron{width:.9em!important;height:.9em!important;margin-left:.1rem;transition:transform .15s ease}.class-switcher-grade-chevron.is-open{transform:rotate(180deg)}.class-switcher-grade-dropdown{position:absolute;top:calc(100% + .4rem);left:0;z-index:40;display:flex;flex-direction:column;gap:.35rem;min-width:9rem;padding:.5rem;border-radius:.75rem;background:#17171f;border:2px solid #4338ca;box-shadow:4px 4px #1e1b4b}.class-switcher-grade-dropdown .class-switcher-chip{width:100%}.school-search-result{padding:.6rem .75rem;border-radius:.6rem;background:#ffffff0d}.teacher-about-subjects{display:flex;flex-wrap:wrap;gap:.4rem}.teacher-about-subject-pill{padding:.3rem .7rem;border-radius:999px;background:#9333ea26;color:#d8b4fe;font-size:.78rem;font-weight:600}.teacher-about-subject-grid{display:flex;flex-wrap:wrap;gap:.45rem}.teacher-about-subject-chip{padding:.4rem .75rem;border-radius:.75rem;border:2px solid transparent;background:#ffffff0d;color:#d1d5db;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.teacher-about-subject-chip:hover{background:#ffffff1a}.teacher-about-subject-chip.active{background:#9333ea40;border-color:#9333ea;color:#fff}.teacher-about-subject-chip.active .gi-close{margin-left:.2rem;opacity:.7}.teacher-about-add-subject-row{display:flex;gap:.5rem;margin-top:.6rem}.class-switcher-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .9rem;border:2px solid transparent;border-radius:.75rem;background:#ffffff0d;color:#d1d5db;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease;white-space:nowrap}.class-switcher-chip:hover{background:#ffffff1a}.class-switcher-chip.active{background:#6366f12e;border-color:#6366f180;color:#fff}.class-switcher-add{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .9rem;border:2px dashed rgba(255,255,255,.2);border-radius:.75rem;background:transparent;color:#9ca3af;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease}.class-switcher-add:hover,.class-switcher-add.active{background:#ffffff0f;color:#fff}.teacher-dashboard-tabs{display:flex;gap:.5rem;margin-bottom:1.1rem;border-bottom:2px solid rgba(255,255,255,.08)}.teacher-dashboard-tab{display:inline-flex;align-items:center;gap:.45rem;padding:.65rem 1.1rem;border:none;background:transparent;color:#9ca3af;font-weight:700;font-size:.88rem;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:color .15s ease,border-color .15s ease}.teacher-dashboard-tab:hover{color:#d1d5db}.teacher-dashboard-tab.active{color:#fff;border-bottom-color:#6366f1}.grade-editor-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#050508c7;opacity:0;pointer-events:none;transition:opacity .15s ease}.grade-editor-overlay.open{opacity:1;pointer-events:auto}#register-birth-date,#lesson-plan-field-date,#grade-editor-date{color-scheme:dark}.grade-editor-modal{position:relative;width:100%;max-width:24rem;padding:1.75rem 1.5rem 1.5rem;background:#16161f;border:3px solid #6366f1;border-radius:1.25rem;box-shadow:8px 8px #4338ca;text-align:left}.grade-editor-title{color:#fff;font-family:Oswald,sans-serif;font-weight:700;font-size:1.05rem;margin-bottom:1rem}.grade-editor-topic-fixed{color:#c7d2fe;font-size:.85rem;font-weight:700;background:#6366f11f;border-radius:.6rem;padding:.5rem .75rem;margin-bottom:.85rem}.grade-editor-label{display:block;color:var(--text-secondary);font-size:.75rem;font-weight:600;margin-bottom:.3rem;margin-top:.75rem}.grade-editor-input,.grade-editor-textarea{width:100%;padding:.6rem .85rem;border-radius:.7rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff;font-size:.85rem;font-family:inherit;transition:border-color .2s,background .2s}.grade-editor-input:focus,.grade-editor-textarea:focus{outline:none;border-color:#6366f180;background:#6366f114}.grade-editor-save-btn{width:100%;margin-top:1.1rem;padding:.75rem;border:none;border-radius:.75rem;background:linear-gradient(135deg,#6366f1,#4338ca);color:#fff;font-weight:700;font-size:.9rem;cursor:pointer;box-shadow:4px 4px #312e81;transition:transform .1s ease,box-shadow .1s ease}.grade-editor-save-btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px #312e81}.grade-editor-save-btn:active{transform:translate(1px,1px);box-shadow:2px 2px #312e81}.grade-editor-close{position:absolute;top:.75rem;right:.75rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#ffffff14;color:var(--text-secondary);cursor:pointer;font-size:.85rem}.grade-editor-close:hover{background:#ffffff26;color:var(--text-primary)}.site-dialog-overlay{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#050508c7;opacity:0;pointer-events:none;transition:opacity .15s ease}.site-dialog-overlay.open{opacity:1;pointer-events:auto}.site-dialog-modal{width:100%;max-width:22rem;padding:1.5rem;background:#16161f;border:3px solid #6366f1;border-radius:1.25rem;box-shadow:8px 8px #4338ca;text-align:left}.site-dialog-title{color:#fff;font-family:Oswald,sans-serif;font-weight:700;font-size:1.05rem;margin-bottom:.6rem}.site-dialog-message{color:var(--text-secondary);font-size:.88rem;line-height:1.5;margin-bottom:.9rem;white-space:pre-line}.site-dialog-input{width:100%;padding:.6rem .85rem;border-radius:.7rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff;font-size:.85rem;font-family:inherit;margin-bottom:1rem}.site-dialog-input:focus{outline:none;border-color:#6366f180;background:#6366f114}.site-dialog-actions{display:flex;justify-content:flex-end;gap:.6rem}.site-dialog-btn{padding:.55rem 1.1rem;border:none;border-radius:.65rem;background:#ffffff14;color:var(--text-secondary);font-weight:700;font-size:.85rem;cursor:pointer;transition:background .15s ease}.site-dialog-btn:hover{background:#ffffff26}.site-dialog-btn-primary{background:linear-gradient(135deg,#6366f1,#4338ca);color:#fff;box-shadow:3px 3px #312e81}.site-dialog-btn-primary:hover{background:linear-gradient(135deg,#6366f1,#4338ca);transform:translate(-1px,-1px);box-shadow:4px 4px #312e81}.subject-select{position:relative;margin-bottom:1rem}.subject-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:.5rem;cursor:pointer;margin-bottom:0;text-align:left}.subject-select-trigger i{color:#9ca3af;flex-shrink:0}.subject-select-panel{position:absolute;top:calc(100% + .4rem);left:0;right:0;z-index:20;background:#1c1c28;border:1px solid rgba(255,255,255,.14);border-radius:.85rem;box-shadow:6px 6px #00000073;padding:.6rem;max-height:18rem;display:flex;flex-direction:column;gap:.5rem}.subject-select-search{width:100%;padding:.5rem .75rem;border-radius:.6rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#fff;font-size:.82rem;font-family:inherit}.subject-select-search:focus{outline:none;border-color:#6366f180}.subject-select-list{overflow-y:auto;display:flex;flex-direction:column;gap:.15rem}.subject-select-option{display:flex;align-items:center;gap:.55rem;padding:.5rem .6rem;border:none;border-radius:.55rem;background:transparent;color:#e5e7eb;font-size:.82rem;text-align:left;cursor:pointer;transition:background .1s ease}.subject-select-option i{flex-shrink:0;opacity:.85}.subject-select-option:hover{background:#ffffff14}.subject-select-option.is-selected{background:#6366f133;color:#fff;font-weight:700}.item-info-overlay{position:fixed;inset:0;z-index:1150;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:#050508d9;opacity:0;pointer-events:none;transition:opacity .18s ease}.item-info-overlay.open{opacity:1;pointer-events:auto}.item-info-modal{position:relative;width:100%;max-width:46rem;max-height:88vh;max-height:88dvh;overflow:hidden;background:#16161f;border:3px solid #f472b6;border-radius:1.25rem;box-shadow:8px 8px #831843;text-align:left;display:flex;flex-direction:row}.item-info-right{flex:1;min-width:0;display:flex;flex-direction:column;overflow-y:auto}.item-info-close{position:absolute;top:.6rem;right:.6rem;z-index:2;width:2.15rem;height:2.15rem;display:flex;align-items:center;justify-content:center;border-radius:50%;border:2px solid rgba(255,255,255,.35);background:#05050899;color:#fff;font-size:.9rem;cursor:pointer}.item-info-close:hover{background:#050508d9}.item-info-hero{width:40%;flex-shrink:0;overflow:hidden;border-radius:1.05rem 0 0 1.05rem;background:#0d0b16;display:flex;align-items:center;justify-content:center}.item-info-hero img{width:100%;height:100%;object-fit:contain;display:block}.item-info-hero-icon{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,rgba(244,114,182,.18),transparent 70%)}.item-info-hero-icon i{font-size:3.5rem;color:#f472b6}.item-info-hero-icon img.item-info-hero-img{width:75%;height:auto;max-height:85%;object-fit:contain}.item-info-body{padding:1.1rem 1.25rem .2rem}.item-info-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .6rem;margin-bottom:.55rem;border-radius:999px;background:#f472b626;border:1px solid rgba(244,114,182,.4);color:#f9a8d4;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em}.item-info-title{color:#fff;font-family:Oswald,sans-serif;font-weight:800;font-size:1.2rem;line-height:1.25;margin-bottom:.2rem}.item-info-artist{color:#f472b6;font-size:.78rem;font-weight:700;margin-bottom:1rem}.item-info-section{margin-bottom:1.05rem}.item-info-section-title{display:flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:800;color:#f9a8d4;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.45rem}.item-info-section-title.is-mini{color:#7dd3fc}.item-info-section-title.is-creative{color:#fcd34d}.item-info-section p{font-size:.85rem;line-height:1.55;color:var(--text-secondary);margin-bottom:.5rem}.item-info-section p:last-child{margin-bottom:0}.item-info-fact-box{background:#f472b614;border:1px solid rgba(244,114,182,.25);border-radius:.75rem;padding:.7rem .85rem;font-size:.83rem;line-height:1.5;color:#fbcfe8}.item-info-code-block{background:#0d0d13;border:1px solid rgba(56,189,248,.25);border-radius:.75rem;padding:.85rem 1rem;font-family:Consolas,Monaco,monospace;font-size:.76rem;line-height:1.6;color:#7dd3fc;overflow-x:auto;white-space:pre}.item-info-find-list{list-style:none;padding:0;margin:.4rem 0 0;display:grid;gap:.4rem}.item-info-find-list li{display:flex;align-items:flex-start;gap:.5rem;font-size:.83rem;line-height:1.4;color:var(--text-secondary)}.item-info-find-list li i{color:#f472b6;margin-top:.2rem;font-size:.68rem;flex-shrink:0}.item-info-quiz-options{display:grid;gap:.4rem;margin-top:.55rem}.item-info-quiz-option{display:flex;gap:.5rem;padding:.55rem .75rem;border-radius:.65rem;background:#ffffff0b;border:1px solid rgba(255,255,255,.08);font-size:.82rem;line-height:1.4;color:#e5e7eb}.item-info-quiz-option b{color:#f472b6;flex-shrink:0}.item-info-quiz-note{font-size:.75rem;color:#9ca3af;font-style:italic;margin-top:.5rem}.item-info-task-box{border-radius:.75rem;padding:.7rem .85rem;font-size:.83rem;line-height:1.5}.item-info-task-box.is-mini{background:#38bdf814;border:1px solid rgba(56,189,248,.25);color:#bae6fd}.item-info-task-box.is-creative{background:#fbbf241a;border:1px solid rgba(251,191,36,.3);color:#fde68a}.item-info-actions{padding:.35rem 1.25rem 1.25rem;position:sticky;bottom:0;background:linear-gradient(180deg,transparent,#16161f 35%)}.item-info-close-btn{display:block;width:100%;padding:.8rem;border:none;border-radius:.85rem;background:linear-gradient(135deg,#f472b6,#be185d);color:#fff;font-weight:800;font-size:.95rem;cursor:pointer;box-shadow:3px 3px #831843;transition:transform .1s ease}.item-info-close-btn:hover{transform:translate(-1px,-1px)}@media(max-width:640px){.item-info-modal{max-height:92vh;max-height:92dvh;max-width:27rem;flex-direction:column;overflow-y:auto}.item-info-hero{width:100%;height:9.5rem;flex-shrink:0;border-radius:1.05rem 1.05rem 0 0}.item-info-right{overflow-y:visible}}.birthday-overlay{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#050508d1;opacity:0;pointer-events:none;transition:opacity .2s ease}.birthday-overlay.open{opacity:1;pointer-events:auto}.birthday-modal{width:100%;max-width:24rem;padding:2rem 1.75rem 1.75rem;background:linear-gradient(160deg,#ec4899,#7c3aed);border:3px solid #fff;border-radius:1.5rem;box-shadow:8px 8px #4c1d95;text-align:center}.birthday-confetti{font-size:2rem;letter-spacing:.3rem;margin-bottom:.5rem}.birthday-title{color:#fff;font-family:Oswald,sans-serif;font-weight:800;font-size:1.5rem;margin-bottom:.6rem}.birthday-text{color:#ffffffeb;font-size:.9rem;line-height:1.5;margin-bottom:1.1rem}.birthday-gift{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.1rem;border-radius:.75rem;background:#ffffff26;border:2px solid rgba(255,255,255,.4);color:#fff;font-weight:800;font-size:1.05rem;margin-bottom:1.3rem}.birthday-close-btn{display:block;width:100%;padding:.75rem;border:none;border-radius:.75rem;background:#fff;color:#7c3aed;font-weight:800;font-size:.95rem;cursor:pointer;box-shadow:3px 3px #4c1d95;transition:transform .1s ease}.birthday-close-btn:hover{transform:translate(-1px,-1px)}.login-calendar-overlay{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#04040cdb;opacity:0;pointer-events:none;transition:opacity .2s ease;overflow-y:auto}.login-calendar-overlay.open{opacity:1;pointer-events:auto}.login-calendar-modal{width:100%;max-width:30rem;margin:auto;padding:1.75rem 1.5rem 1.5rem;background:#161233;background-image:radial-gradient(#ffffff2e 1px,transparent 1px),radial-gradient(#ffffff1a 1px,transparent 1px);background-size:3rem 3rem,2rem 2rem;background-position:0 0,1rem 1rem;border:3px solid #4c3ea8;border-radius:1.5rem;box-shadow:8px 8px #2a1f66;text-align:center}.login-calendar-title{color:#fff;font-family:Oswald,sans-serif;font-weight:800;font-size:1.4rem;margin-bottom:.3rem}.login-calendar-subtitle{color:#c7c2f0;font-size:.9rem;margin-bottom:1rem}.login-calendar-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.4rem;margin-bottom:1.1rem}.login-calendar-cell{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:.6rem;border:2px solid #4c3ea8;background:#221c4d;color:#fff;font-size:.7rem}.login-calendar-cell b{font-size:.85rem;font-weight:800}.login-calendar-cell.claimed{background:#2f2a63;border-color:#5a4fc4;opacity:.65}.login-calendar-cell.claimed i{color:#ffd54f;margin-top:.1rem}.login-calendar-cell.today{background:#ff7a3d;border-color:#fff;box-shadow:3px 3px #2a1f66;color:#1a0f00;animation:login-calendar-pulse 1.4s ease-in-out infinite}.login-calendar-cell.locked{color:#8a84c2;border-style:dashed}@keyframes login-calendar-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.login-calendar-claim-btn{display:block;width:100%;padding:.8rem;border:none;border-radius:.75rem;background:#ff7a3d;color:#1a0f00;font-weight:800;font-size:1rem;cursor:pointer;box-shadow:3px 3px #2a1f66;transition:transform .1s ease;margin-bottom:.7rem}.login-calendar-claim-btn:hover{transform:translate(-1px,-1px)}.login-calendar-claim-btn:disabled{opacity:.6;cursor:default}.login-calendar-result{padding:.8rem 1rem;border-radius:.75rem;background:#ffffff1a;border:2px solid rgba(255,255,255,.3);margin-bottom:.9rem}.login-calendar-result-title{color:#ffd54f;font-weight:800;font-size:1.05rem;margin-bottom:.3rem}.login-calendar-result-fact{color:#ffffffe6;font-size:.85rem;line-height:1.4}.login-calendar-close-btn{display:block;width:100%;padding:.7rem;border:2px solid #4c3ea8;border-radius:.75rem;background:transparent;color:#c7c2f0;font-weight:700;font-size:.9rem;cursor:pointer}@media(max-width:480px){.login-calendar-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.journal-empty-state{text-align:center;padding:2.5rem 1.5rem;color:#9ca3af;background:linear-gradient(160deg,#fbbf240f,#ffffff05);border:1px dashed rgba(251,191,36,.25);border-radius:1rem}.shop-empty-state{text-align:center;padding:2.5rem 1.5rem;color:#9ca3af;background:linear-gradient(160deg,#a78bfa14,#ffffff05);border:1px dashed rgba(167,139,250,.3);border-radius:1rem}.shop-empty-state i{font-size:2rem;color:#a78bfa80;display:block;margin-bottom:.75rem}.journal-empty-state i{font-size:2rem;color:#fbbf2480;display:block;margin-bottom:.75rem}.admin-thread-empty{color:var(--text-secondary);font-size:.8rem;padding:.5rem 0}.admin-thread-messages{display:flex;flex-direction:column;gap:.5rem}.admin-thread-msg{max-width:78%;padding:.55rem .8rem;border-radius:1rem;font-size:.82rem;border:2px solid;box-shadow:2px 2px}.admin-thread-msg.from-admin{align-self:flex-start;background:#2d2a4a;border-color:#7c3aed;border-bottom-left-radius:.25rem}.admin-thread-msg.from-teacher{align-self:flex-end;background:#164e63;border-color:#0891b2;border-bottom-right-radius:.25rem}.admin-thread-msg.from-admin{box-shadow:2px 2px #4c1d95}.admin-thread-msg.from-teacher{box-shadow:2px 2px #164e63}.admin-thread-msg.from-student{align-self:flex-start;background:#1e3a2f;border-color:#22c55e;border-bottom-left-radius:.25rem;box-shadow:2px 2px #14532d}.admin-thread-msg.from-student .admin-thread-msg-author{color:#86efac}.admin-thread-msg-author{display:flex;align-items:center;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;opacity:.75;margin-bottom:.2rem}.admin-thread-msg.from-admin .admin-thread-msg-author{color:#c4b5fd}.admin-thread-msg.from-teacher .admin-thread-msg-author{color:#67e8f9}.admin-thread-msg-text{color:#fff;line-height:1.4;white-space:pre-wrap;word-break:break-word}.msg-edit-btn{margin-left:.4rem;padding:.1rem .3rem;border:none;border-radius:.4rem;background:#ffffff1f;color:inherit;cursor:pointer;opacity:0;transition:opacity .12s ease,background .12s ease;text-transform:none;letter-spacing:normal}.admin-thread-msg:hover .msg-edit-btn{opacity:.8}.msg-edit-btn:hover{opacity:1!important;background:#ffffff38}@media(hover:none){.msg-edit-btn{opacity:.7}}.msg-edit-form{display:flex;flex-direction:column;gap:.4rem}.msg-edit-textarea{width:100%;min-width:12rem;resize:vertical;padding:.4rem .5rem;border-radius:.5rem;border:1px solid rgba(255,255,255,.25);background:#00000040;color:#fff;font-size:.82rem;font-family:inherit}.msg-edit-actions{display:flex;gap:.5rem}.msg-edit-save,.msg-edit-cancel{border:none;border-radius:.5rem;padding:.3rem .7rem;font-size:.75rem;font-weight:700;cursor:pointer}.msg-edit-save{background:#10b981;color:#052e1f}.msg-edit-cancel{background:#ffffff1f;color:#e5e7eb}.admin-thread-msg.is-homework-task{border-color:#f59e0b;box-shadow:2px 2px #b45309}.homework-task-badge{display:inline-flex;align-items:center;gap:.2rem;margin-left:.4rem;padding:.05rem .4rem;border-radius:.6rem;background:#f59e0b;color:#1c1200;font-size:.6rem;letter-spacing:.02em}.admin-thread-msg-time{display:block;font-size:.63rem;color:#ffffff8c;margin-top:.25rem}.tablet-frame{background:#0d0d14;border-radius:1.6rem;padding:.9rem .9rem 1.3rem;border:3px solid #2a2a3a;box-shadow:6px 6px #0006;max-width:30rem}.tablet-notch{width:2.5rem;height:.35rem;border-radius:999px;background:#2a2a3a;margin:0 auto .7rem}.tablet-screen{display:flex;flex-direction:column;background:#101018;border-radius:.9rem;overflow:hidden;border:1px solid rgba(255,255,255,.06)}.tablet-topbar{display:flex;align-items:center;gap:.5rem;padding:.7rem .9rem;background:linear-gradient(135deg,#6366f1,#4338ca);color:#fff;font-weight:700;font-size:.85rem}.tablet-messages{display:flex;flex-direction:column;gap:.5rem;padding:.9rem;max-height:18rem;min-height:6rem;overflow-y:auto;background-image:radial-gradient(rgba(255,255,255,.04) 1px,transparent 1px);background-size:14px 14px}.tablet-composer{display:flex;align-items:flex-end;gap:.5rem;padding:.6rem .7rem;background:#16161f;border-top:1px solid rgba(255,255,255,.06)}.tablet-composer textarea{flex:1 1 auto;min-width:0;resize:none;padding:.55rem .8rem;border-radius:1.2rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#fff;font-size:1rem;font-family:inherit;max-height:4.5rem}.tablet-composer textarea:focus{outline:none;border-color:#6366f1}.tablet-send-btn{flex-shrink:0;width:2.4rem;height:2.4rem;border-radius:50%;border:none;background:linear-gradient(135deg,#6366f1,#4338ca);color:#fff;font-size:.9rem;cursor:pointer;box-shadow:2px 2px #312e81;transition:transform .1s ease}.tablet-send-btn:hover{transform:translate(-1px,-1px)}.tablet-send-btn:active{transform:translate(1px,1px);box-shadow:1px 1px #312e81}.tablet-attach-btn{flex-shrink:0;width:2.2rem;height:2.2rem;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#9ca3af;font-size:.9rem;cursor:pointer;transition:background .15s ease,color .15s ease}.tablet-attach-btn:hover{background:#ffffff1f;color:#fff}.tablet-attach-preview{display:flex;align-items:center;gap:.4rem;margin:0 .7rem;padding:.35rem .6rem;border-radius:.6rem;background:#6366f126;border:1px solid rgba(99,102,241,.35);color:#c7d2fe;font-size:.75rem}.tablet-attach-preview button{margin-left:auto;border:none;background:none;color:#9ca3af;cursor:pointer;font-size:.7rem}.admin-thread-msg-attachment-img{display:block;max-width:100%;max-height:12rem;border-radius:.6rem;margin-bottom:.4rem;object-fit:cover}.admin-thread-msg-attachment-video{display:block;max-width:100%;max-height:14rem;border-radius:.6rem;margin-bottom:.4rem}.admin-thread-msg-attachment-file{display:flex;align-items:center;gap:.4rem;padding:.5rem .7rem;border-radius:.6rem;background:#00000040;color:#fff;font-size:.78rem;text-decoration:none;margin-bottom:.3rem}.admin-thread-msg-attachment-file:hover{background:#0006}#profile-admin-account{background:#0f0d14;border-radius:1.5rem;padding:1.25rem}@media(max-width:640px){#profile-admin-account{padding:1rem;border-radius:1.1rem}}.admin-id-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:#16161f;border:2px solid rgba(52,211,153,.3);border-radius:1.25rem;box-shadow:4px 4px #064e3b80;margin-bottom:1rem;flex-wrap:wrap}.admin-id-avatar{width:4rem;height:4rem;flex-shrink:0;border-radius:1rem;background:#34d3991f;display:flex;align-items:center;justify-content:center;font-size:1.6rem;color:#34d399}.admin-id-info{min-width:0}.admin-id-name{font-family:Oswald,sans-serif;font-weight:800;font-size:1.2rem;color:#fff}.admin-id-role{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:#34d399;font-weight:700}.admin-id-logout{margin-left:auto;padding:.55rem 1.1rem;border-radius:.75rem;border:none;background:#ffffff0f;color:#d1d5db;font-size:.85rem;font-weight:700;cursor:pointer;transition:background .15s ease}.admin-id-logout:hover{background:#ffffff1f}.admin-id-quicknav{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.75rem}@media(max-width:640px){.admin-id-quicknav{grid-template-columns:minmax(0,1fr)}}.admin-id-quicknav-btn{position:relative;display:flex;align-items:center;gap:.75rem;padding:1rem 1.1rem;border-radius:1rem;border:none;color:#fff;font-weight:700;font-size:.92rem;text-align:left;cursor:pointer;box-shadow:3px 3px #00000059;transition:transform .12s ease}.admin-id-quicknav-btn:hover{transform:translate(-1px,-1px)}.admin-id-quicknav-btn:active{transform:translate(1px,1px);box-shadow:1px 1px #00000059}.admin-id-quicknav-btn i:first-child{font-size:1.3rem}.admin-id-quicknav-btn.is-teachers{background:linear-gradient(135deg,#38bdf8,#0369a1)}.admin-id-quicknav-btn.is-content{background:linear-gradient(135deg,#a78bfa,#6d28d9)}.admin-id-quicknav-count{margin-left:auto;min-width:1.6rem;height:1.6rem;padding:0 .4rem;border-radius:999px;background:#0000004d;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:800}.admin2-panel{padding-bottom:.5rem}.admin2-header{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;margin-bottom:1.1rem}.admin2-title{font-family:Oswald,sans-serif;font-weight:800;font-size:1.4rem;color:#fff;display:flex;align-items:center;gap:.55rem}.admin2-subtitle{width:100%;color:var(--text-secondary, #9ca3af);font-size:.85rem;margin-top:-.5rem}.admin2-header-action{margin-left:auto;padding:.6rem 1.1rem;border-radius:.8rem;border:none;background:linear-gradient(135deg,#fbbf24,#d97706);color:#1c0f00;font-weight:800;font-size:.85rem;cursor:pointer;box-shadow:3px 3px #78350f;transition:transform .12s ease}.admin2-header-action:hover{transform:translate(-1px,-1px)}.admin2-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.1rem}.admin2-tab{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:999px;border:2px solid rgba(255,255,255,.08);background:#ffffff08;color:#9ca3af;font-size:.82rem;font-weight:700;cursor:pointer;transition:all .12s ease}.admin2-tab:hover{background:#ffffff12;color:#e5e7eb}.chat-tab-unread-dot{display:inline-block;width:.45rem;height:.45rem;border-radius:50%;background:#ef4444;box-shadow:0 0 0 2px #ef444440}.admin2-tab.is-active{background:#a78bfa2e;border-color:#a78bfa;color:#d8b4fe}.admin2-tab-count{min-width:1.3rem;height:1.3rem;padding:0 .3rem;border-radius:999px;background:#ffffff1f;display:inline-flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:800}.admin2-tab.is-active .admin2-tab-count{background:#a78bfa;color:#1e1033}.admin2-card-list{display:flex;flex-direction:column;gap:.65rem;min-height:8rem}.admin2-empty{text-align:center;color:var(--text-secondary, #9ca3af);padding:2.5rem 1rem;background:#ffffff05;border:1px dashed rgba(255,255,255,.1);border-radius:1rem;font-size:.9rem}.admin2-empty i{display:block;font-size:1.8rem;margin-bottom:.6rem;opacity:.5}.admin2-pagination{display:flex;align-items:center;justify-content:center;gap:.9rem;margin-top:1.1rem}.admin2-page-btn{width:2.3rem;height:2.3rem;border-radius:.7rem;border:none;background:#ffffff0f;color:#e5e7eb;font-size:.85rem;cursor:pointer;transition:background .12s ease}.admin2-page-btn:hover:not(:disabled){background:#ffffff24}.admin2-page-btn:disabled{opacity:.3;cursor:default}.admin2-page-info{color:#9ca3af;font-size:.8rem;font-weight:600;min-width:5rem;text-align:center}.admin2-teacher-card{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap;padding:.85rem 1rem;background:#16161f;border-radius:1rem;border-left:4px solid}.admin2-teacher-card.is-pending{border-left-color:#fbbf24}.admin2-teacher-card.is-approved{border-left-color:#34d399}.admin2-teacher-card.is-rejected{border-left-color:#ef4444;opacity:.85}.admin2-teacher-name{color:#fff;font-weight:700;font-size:.92rem}.admin2-teacher-contact{display:flex;flex-wrap:wrap;gap:.15rem .8rem;margin-top:.15rem}.admin2-teacher-contact span{display:inline-flex;align-items:center;gap:.3rem;color:#9ca3af;font-size:.74rem}.admin2-teacher-contact i{font-size:.7rem;opacity:.8}.admin2-teacher-date{color:#6b7280;font-size:.72rem}.admin2-teacher-actions{display:flex;align-items:center;gap:.5rem;margin-left:auto}.admin2-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .85rem;border-radius:.65rem;border:none;font-size:.78rem;font-weight:700;cursor:pointer;transition:transform .1s ease;white-space:nowrap}.admin2-btn:hover{transform:translate(-1px,-1px)}.admin2-btn.is-approve{background:#10b981;color:#052e1f}.admin2-btn.is-revoke{background:#ef4444d9;color:#fff}.admin2-btn.is-message{background:#ffffff14;color:#d1d5db;position:relative}.admin2-btn.is-message:hover{background:#ffffff26}.school-card-v2{flex-direction:column;align-items:stretch;padding:1.1rem}.school-card-header{display:flex;align-items:center;gap:.9rem;width:100%}.school-logo{position:relative;width:3.6rem;height:3.6rem;border-radius:1rem;flex-shrink:0;overflow:hidden;cursor:pointer;display:flex;align-items:center;justify-content:center;background:#a78bfa26;border:2px solid rgba(167,139,250,.35);transition:border-color .15s ease}.school-logo:hover{border-color:#a78bfa}.school-logo img{width:100%;height:100%;object-fit:cover}.school-logo.is-empty{color:#a78bfa;font-size:1.5rem}.school-card-header-info{flex:1 1 auto;min-width:0}.school-card-name{color:#fff;font-weight:800;font-size:1.1rem}.school-card-leadership-summary{color:#9ca3af;font-size:.76rem;margin-top:.3rem}.school-card-leadership-summary i{color:#a78bfa}.school-leadership-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.6rem;margin-bottom:.6rem}.school-leadership-role{display:flex;flex-direction:column;gap:.3rem;padding:.6rem .7rem;background:#a78bfa0f;border:1px solid rgba(167,139,250,.18);border-radius:.7rem}.school-leadership-role>span{color:#c4b5fd;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.school-role-select{padding:.5rem .6rem;border-radius:.55rem;border:1px solid rgba(255,255,255,.12);background:#0f0f17;color:#fff;font-size:.8rem;width:100%}.school-class-grid{width:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:.6rem;margin-bottom:.4rem}.school-class-tile{display:flex;flex-direction:column;gap:.4rem;padding:.6rem .7rem;background:#ffffff0a;border-radius:.6rem}.school-class-tile-top{display:flex;align-items:center;justify-content:space-between;gap:.4rem}.school-class-tile-name{color:#fff;font-weight:700;font-size:.82rem}.school-class-tile-code{color:#a78bfa;font-size:.7rem;letter-spacing:.04em}.school-class-tile-homeroom{display:flex;flex-direction:column;gap:.3rem}.school-class-tile-homeroom-label{display:flex;align-items:center;gap:.35rem;color:#9ca3af;font-size:.68rem;text-transform:uppercase;letter-spacing:.03em}.school-class-tile-homeroom-label i{flex-shrink:0}.school-bulk-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.9rem}.school-class-tile-live{color:#34d399;font-size:.75rem;margin-left:.3rem}.school-class-tile-msg-btn{padding:.3rem .5rem!important;flex-shrink:0}.school-role-editor{display:flex;gap:.5rem;align-items:flex-start}.school-role-fields{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.35rem}.school-role-manual-row{display:flex;gap:.35rem}.school-role-manual-input{flex:1 1 auto;min-width:0;padding:.4rem .55rem;border-radius:.5rem;border:1px solid rgba(255,255,255,.12);background:#0f0f17;color:#fff;font-size:.76rem}.school-role-manual-save{flex-shrink:0;width:2rem;border-radius:.5rem;border:none;background:#10b98133;color:#10b981;cursor:pointer}.school-role-manual-save:hover{background:#10b98159}.school-role-photo{position:relative;width:2.6rem;height:2.6rem;border-radius:50%;flex-shrink:0;overflow:hidden;cursor:pointer;display:flex;align-items:center;justify-content:center;background:#a78bfa26;border:2px solid rgba(167,139,250,.35)}.school-role-photo img{width:100%;height:100%;object-fit:cover}.school-role-photo.is-empty{color:#a78bfa;font-size:1.1rem}.school-role-photo:after{content:"";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;right:-.1rem;bottom:-.1rem;width:1.15rem;height:1.15rem;border-radius:50%;background:#a78bfa;color:#1c1030;font-size:.55rem;display:flex;align-items:center;justify-content:center;border:2px solid #16121f}.school-logo:after{content:"";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;right:-.2rem;bottom:-.2rem;width:1.4rem;height:1.4rem;border-radius:50%;background:#a78bfa;color:#1c1030;font-size:.65rem;display:flex;align-items:center;justify-content:center;border:2px solid #16121f}.school-class-tile-homeroom .school-role-select{padding:.35rem .5rem;font-size:.72rem}.admin-school-icon{width:2.6rem;height:2.6rem;border-radius:.8rem;background:#a78bfa26;color:#a78bfa;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}.admin-new-school-form{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1rem;padding:.9rem;background:#a78bfa0f;border:1px dashed rgba(167,139,250,.35);border-radius:.9rem}.admin-new-school-input{flex:1;min-width:12rem;padding:.6rem .9rem;border-radius:.65rem;border:1px solid rgba(255,255,255,.12);background:#0f0f17;color:#fff;font-size:.85rem}.admin-new-school-parallels-label{display:flex;flex-direction:column;gap:.3rem;color:#9ca3af;font-size:.7rem;font-weight:700}.admin-new-school-select{padding:.6rem .9rem;border-radius:.65rem;border:1px solid rgba(255,255,255,.12);background:#0f0f17;color:#fff;font-size:.85rem}.admin-school-classes-header{width:100%;display:flex;align-items:center;justify-content:space-between;margin-top:.6rem;padding-top:.6rem;border-top:1px solid rgba(255,255,255,.08);margin-bottom:.5rem}.admin-school-classes{width:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.5rem}.admin-school-teachers{width:100%;display:flex;flex-direction:column}.admin-school-class-row{display:flex;flex-direction:column;gap:.15rem;padding:.5rem .7rem;background:#ffffff0a;border-radius:.6rem;font-size:.78rem}.admin-school-class-row span{color:#d1d5db}.admin-school-class-row b{color:#a78bfa;letter-spacing:.05em}.admin-school-teacher-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .7rem;background:#ffffff0a;border-radius:.6rem;font-size:.78rem;margin-bottom:.35rem}.admin-school-teacher-row span{color:#d1d5db}.join-request-class-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(6rem,1fr));gap:.4rem;max-height:10rem;overflow-y:auto;margin-bottom:.5rem}.join-request-class-checkbox{display:flex;align-items:center;gap:.35rem;padding:.35rem .5rem;border-radius:.5rem;background:#ffffff0a;color:#d1d5db;font-size:.75rem;cursor:pointer}.join-request-class-checkbox input{accent-color:#34d399}.admin2-content-card{display:flex;flex-direction:column;gap:.5rem;padding:1rem 1.1rem;background:#16161f;border-radius:1rem;border-left:4px solid #38bdf8}.admin2-content-card-top{display:flex;align-items:flex-start;gap:.6rem;flex-wrap:wrap}.admin2-type-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;border-radius:999px;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em;flex-shrink:0}.admin2-type-badge.is-news{background:#fbbf2426;color:#fbbf24}.admin2-type-badge.is-presentation{background:#a78bfa26;color:#a78bfa}.admin2-type-badge.is-documentation{background:#38bdf826;color:#38bdf8}.admin2-content-title{color:#fff;font-weight:700;font-size:.92rem}.admin2-content-desc{color:#9ca3af;font-size:.82rem;line-height:1.4}.admin2-content-thumb{display:block;max-width:100%;max-height:9rem;border-radius:.6rem;object-fit:cover}.admin2-content-link{color:#38bdf8;font-size:.78rem;text-decoration:none}.admin2-content-link:hover{text-decoration:underline}.admin2-content-meta{color:#6b7280;font-size:.72rem;margin-left:auto}.admin2-reply-input{width:100%;padding:.5rem .75rem;border-radius:.6rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);color:#fff;font-size:.8rem}.admin2-content-actions{display:flex;gap:.5rem;flex-wrap:wrap}.admin2-btn.is-reject{background:#ef4444d9;color:#fff}.admin2-btn.is-hide{background:#ffffff14;color:#d1d5db}.admin2-btn.is-show{background:#34d39926;color:#34d399}.admin2-btn.is-edit{background:#38bdf826;color:#38bdf8}.admin2-btn.is-delete{background:#ef44441f;color:#f87171}.lesson-plan-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.1rem}.lesson-plan-month-nav{display:flex;align-items:center;gap:.5rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:.35rem .5rem}.lesson-plan-month-btn{width:1.9rem;height:1.9rem;border-radius:50%;border:none;background:#ffffff12;color:#d1d5db;cursor:pointer;font-size:.78rem;transition:background .12s ease,opacity .12s ease}.lesson-plan-month-btn:hover:not(:disabled){background:#ffffff24}.lesson-plan-month-btn:disabled{opacity:.3;cursor:default}.lesson-plan-month-label{font-family:Oswald,sans-serif;font-weight:700;font-size:.9rem;color:#fff;min-width:8rem;text-align:center}.lesson-plan-month-all{border:none;background:none;color:#9ca3af;font-size:.78rem;cursor:pointer;padding:.35rem .6rem;border-radius:999px;transition:background .12s ease,color .12s ease}.lesson-plan-month-all:hover{background:#ffffff12;color:#e5e7eb}.lesson-plan-month-all.is-active{background:#a78bfa2e;color:#d8b4fe}.lesson-plan-search-wrap{flex:1 1 14rem;min-width:12rem;display:flex;align-items:center;gap:.5rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:.5rem .9rem;color:#6b7280}.lesson-plan-search-wrap input{flex:1 1 auto;min-width:0;background:none;border:none;color:#fff;font-size:.85rem}.lesson-plan-search-wrap input:focus{outline:none}.lesson-plan-export-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1rem;border-radius:999px;border:1px solid rgba(52,211,153,.35);background:#34d3991a;color:#34d399;font-size:.82rem;font-weight:700;cursor:pointer;transition:background .12s ease}.lesson-plan-export-btn:hover{background:#34d39933}.lesson-plan-table-wrap{overflow-x:auto;border-radius:1rem;border:1px solid rgba(255,255,255,.08)}.lesson-plan-table{width:100%;min-width:42rem;border-collapse:collapse;font-size:.85rem}.lesson-plan-table thead th{text-align:left;padding:.7rem .8rem;background:#ffffff0d;color:#9ca3af;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;font-weight:700;white-space:nowrap}.lesson-plan-row td{padding:.65rem .8rem;border-top:1px solid rgba(255,255,255,.06);color:#e5e7eb;vertical-align:top}.lesson-plan-row{background:#12121a80;transition:background .12s ease}.lesson-plan-row:hover{background:#ffffff0a}.lesson-plan-row.is-done{opacity:.55}.lesson-plan-row.is-done .lesson-plan-cell-topic{text-decoration:line-through}.lesson-plan-row.is-overdue td:first-child{box-shadow:inset 3px 0 #ef4444}.lesson-plan-row.is-today td:first-child{box-shadow:inset 3px 0 #34d399}.lesson-plan-cell-num{color:#9ca3af;font-weight:700;white-space:nowrap}.lesson-plan-cell-date{white-space:nowrap;color:#d1d5db}.lesson-plan-cell-topic{font-weight:600;color:#fff;min-width:12rem}.lesson-plan-cell-hw,.lesson-plan-cell-notes{color:#9ca3af;max-width:14rem}.lesson-plan-empty-dash{opacity:.4}.lesson-plan-today-badge,.lesson-plan-overdue-badge{display:inline-block;margin-left:.4rem;padding:.1rem .45rem;border-radius:999px;font-size:.65rem;font-weight:800;vertical-align:middle}.lesson-plan-today-badge{background:#34d3992e;color:#34d399}.lesson-plan-overdue-badge{background:#ef44442e;color:#f87171}.lesson-plan-cell-check{width:2.4rem}.lesson-plan-checkbox{position:relative;display:inline-flex;cursor:pointer}.lesson-plan-checkbox input{position:absolute;opacity:0;width:1.4rem;height:1.4rem;margin:0;cursor:pointer}.lesson-plan-checkbox span{width:1.4rem;height:1.4rem;border-radius:.4rem;border:2px solid rgba(255,255,255,.2);display:inline-flex;align-items:center;justify-content:center;transition:background .12s ease,border-color .12s ease}.lesson-plan-checkbox input:checked+span{background:#34d399;border-color:#34d399}.lesson-plan-checkbox input:checked+span:after{content:"✓";color:#062e1f;font-size:.85rem;font-weight:800}.lesson-plan-cell-actions{white-space:nowrap;text-align:right}@media(max-width:700px){.lesson-plan-table-wrap{overflow-x:visible;border:none}.lesson-plan-table{min-width:0;width:100%;border-collapse:separate;border-spacing:0}.lesson-plan-table thead{display:none}.lesson-plan-table tbody{display:block}.lesson-plan-row{display:grid;grid-template-columns:1.6rem auto minmax(0,1fr) auto;grid-template-areas:"check num date actions" "topic topic topic topic" "hw hw hw hw" "notes notes notes notes";column-gap:.5rem;row-gap:.35rem;align-items:start;margin-bottom:.75rem;padding:.85rem .9rem;border-radius:1rem;border:1px solid rgba(255,255,255,.08);background:#12121a99;box-shadow:3px 3px #00000040}.lesson-plan-row.is-overdue,.lesson-plan-row.is-today{box-shadow:3px 3px #00000040}.lesson-plan-row.is-overdue{border-left:3px solid #ef4444}.lesson-plan-row.is-today{border-left:3px solid #34d399}.lesson-plan-row td{display:block;padding:0;border-top:none}.lesson-plan-cell-check{grid-area:check;padding-top:.15rem}.lesson-plan-cell-num{grid-area:num}.lesson-plan-cell-date{grid-area:date;font-weight:700}.lesson-plan-cell-topic{grid-area:topic;font-size:1rem}.lesson-plan-cell-hw,.lesson-plan-cell-notes{max-width:none}.lesson-plan-cell-hw{grid-area:hw}.lesson-plan-cell-hw:before{content:"📝 "}.lesson-plan-cell-notes{grid-area:notes}.lesson-plan-cell-notes:before{content:"💬 "}.lesson-plan-cell-actions{grid-area:actions;text-align:right}}.lesson-plan-row-btn{width:1.9rem;height:1.9rem;border-radius:.5rem;border:none;background:#ffffff0f;color:#9ca3af;cursor:pointer;font-size:.75rem;margin-left:.3rem;transition:background .12s ease,color .12s ease}.lesson-plan-row-btn:hover{background:#ffffff24;color:#e5e7eb}.lesson-plan-row-btn.is-delete:hover{background:#ef44442e;color:#f87171}.lesson-plan-form-row{display:grid;grid-template-columns:minmax(0,1fr) 8rem;gap:.7rem}.lesson-plan-form-label{display:block;font-size:.75rem;color:#9ca3af;font-weight:700;margin:.6rem 0 .3rem}@media(max-width:640px){.lesson-plan-toolbar{flex-direction:column;align-items:stretch}.lesson-plan-month-nav,.lesson-plan-export-btn{justify-content:center}}.admin-chat-modal-overlay{position:fixed;inset:0;z-index:1160;display:flex;background:#0d0d14;opacity:0;pointer-events:none;transition:opacity .18s ease}.admin-chat-modal-overlay.open{opacity:1;pointer-events:auto}.admin-chat-modal-shell{position:relative;width:100%;max-width:none;height:100%;display:flex;flex-direction:column;background:#0d0d14;overflow:hidden}.admin-chat2-header{flex-shrink:0;display:flex;align-items:center;gap:.7rem;padding:1.1rem 1.3rem;background:linear-gradient(135deg,#6366f1,#4338ca);color:#fff}.admin-chat2-header-icon{font-size:1.1rem;flex-shrink:0}.admin-chat2-header-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800;font-size:1.05rem}.admin-chat2-header-sub{font-weight:500;font-size:.85rem;opacity:.65}.admin-chat-modal-close{position:static;flex-shrink:0;width:2.2rem;height:2.2rem;border-radius:50%;border:none;background:#ffffff26;color:#fff;font-size:.9rem;cursor:pointer;transition:background .12s ease}.admin-chat-modal-close:hover{background:#ffffff47}.admin-chat2-messages{flex:1 1 auto;min-height:0;overflow-y:auto;padding:1.2rem;display:flex;flex-direction:column;gap:.65rem;background-image:radial-gradient(rgba(255,255,255,.04) 1px,transparent 1px);background-size:14px 14px}.admin-chat2-composer{flex-shrink:0;display:flex;align-items:flex-end;gap:.6rem;padding:.9rem 1.1rem;background:#16161f;border-top:1px solid rgba(255,255,255,.08)}.admin-chat2-composer textarea{flex:1 1 auto;min-width:0;resize:vertical;padding:.8rem 1.1rem;border-radius:1.2rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.14);color:#fff;font-size:1rem;font-family:inherit;min-height:4.5rem;max-height:12rem}.admin-chat2-composer textarea:focus{outline:none;border-color:#6366f1}.admin-chat2-composer .tablet-attach-preview{margin:0}.admin-chat-modal-shell.is-inbox{flex-direction:row}.chat-inbox-contacts{flex-shrink:0;width:22rem;height:100%;display:flex;flex-direction:column;background:#111119;border-right:1px solid rgba(255,255,255,.08)}.chat-inbox-search{flex-shrink:0;display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.08);color:#6b7280}.chat-inbox-search input{flex:1 1 auto;min-width:0;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:.7rem;padding:.45rem .7rem;color:#fff;font-size:1rem}.chat-inbox-search input:focus{outline:none;border-color:#6366f1}.chat-inbox-contact-list{flex:1 1 auto;overflow-y:auto}.chat-inbox-contact{display:flex;align-items:center;gap:.65rem;width:100%;padding:.75rem 1rem;background:none;border:none;border-bottom:1px solid rgba(255,255,255,.05);cursor:pointer;text-align:left;color:#e5e7eb;transition:background .12s ease}.chat-inbox-contact:hover{background:#ffffff0d}.chat-inbox-contact.active{background:#6366f12e}.chat-inbox-contact-avatar{flex-shrink:0;width:2.4rem;height:2.4rem;border-radius:50%;object-fit:cover;background:linear-gradient(135deg,#6366f1,#4338ca);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.9rem;color:#fff}.chat-inbox-contact-body{flex:1 1 auto;min-width:0}.chat-inbox-contact-name{font-weight:700;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-inbox-contact-preview{font-size:.74rem;color:#9ca3af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:.1rem}.chat-inbox-contact.active .chat-inbox-contact-preview{color:#c7d2fe}.chat-inbox-contact-unread{flex-shrink:0;min-width:1.2rem;height:1.2rem;padding:0 .35rem;border-radius:999px;background:#ef4444;color:#fff;font-size:.68rem;font-weight:800;display:flex;align-items:center;justify-content:center}.chat-inbox-thread{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;height:100%}.chat-inbox-empty-thread{flex:1 1 auto;display:flex;align-items:center;justify-content:center;color:#6b7280;font-size:.9rem;text-align:center;padding:2rem}.chat-inbox-back{display:none;flex-shrink:0;width:2.2rem;height:2.2rem;border-radius:50%;border:none;background:#ffffff26;color:#fff;cursor:pointer;margin-right:.2rem}.chat-inbox-back:hover{background:#ffffff47}@media(max-width:1023px){.admin-chat-modal-shell.is-inbox,.homework-tab-shell.is-inbox{flex-direction:column}.chat-inbox-contacts{width:100%;height:100%;border-right:none}.chat-inbox-thread,.admin-chat-modal-shell.is-inbox.show-thread .chat-inbox-contacts,.homework-tab-shell.is-inbox.show-thread .chat-inbox-contacts{display:none}.admin-chat-modal-shell.is-inbox.show-thread .chat-inbox-thread,.homework-tab-shell.is-inbox.show-thread .chat-inbox-thread{display:flex}.admin-chat-modal-shell.is-inbox .chat-inbox-back,.homework-tab-shell.is-inbox .chat-inbox-back{display:inline-flex;align-items:center;justify-content:center}}.homework-tab-shell.is-inbox{max-width:56rem;flex-direction:row}.homework-tab-shell.is-inbox .chat-inbox-contacts{background:#0f150f}.homework-tab-shell.is-inbox .chat-inbox-contact.active{background:#22c55e2e}.homework-tab-shell.is-inbox .chat-inbox-contact.active .chat-inbox-contact-preview{color:#bbf7d0}@media(max-width:1023px){.homework-tab-shell.is-inbox{flex-direction:column}}.chat-inbox-topbar{display:none}@media(max-width:1023px){.chat-inbox-topbar{flex-shrink:0;display:flex;align-items:center;gap:.7rem;padding:calc(.9rem + env(safe-area-inset-top,0px)) 1.1rem .9rem;background:linear-gradient(135deg,#6366f1,#4338ca);color:#fff}.admin-chat-modal-overlay{height:100dvh}.admin-chat-modal-shell .admin-chat2-header{padding-top:calc(.9rem + env(safe-area-inset-top,0px))}.admin-chat-modal-close,.chat-inbox-back{width:2.75rem;height:2.75rem}.chat-inbox-contact{padding:.85rem 1rem;min-height:3.5rem}.admin-chat2-composer{align-items:center;gap:.5rem;padding:.6rem .7rem calc(.6rem + env(safe-area-inset-bottom,0px))}.admin-chat2-composer textarea{min-height:2.9rem;max-height:8rem;resize:none;padding:.7rem 1rem;field-sizing:content}.admin-chat2-composer .tablet-attach-btn,.admin-chat2-composer .tablet-send-btn{width:2.75rem;height:2.75rem}.admin-chat2-messages{padding:.9rem .75rem;overscroll-behavior:contain}.admin-thread-msg{max-width:86%;font-size:.92rem}}@media(max-width:640px){.homework-tab-shell.is-inbox{max-width:none;height:max(26rem,calc(100dvh - var(--mobile-nav-h) - 9.5rem));border-width:0;border-radius:1rem;box-shadow:none}}.homework-tab-shell{width:100%;max-width:38rem;height:min(65vh,34rem);height:min(65dvh,34rem);margin:0 auto;display:flex;flex-direction:column;background:#0d0d14;border-radius:1.75rem;border:3px solid #22c55e;box-shadow:10px 10px #14532d;overflow:hidden}.homework-tab-shell .admin-chat2-header{background:linear-gradient(135deg,#22c55e,#15803d)}.homework-unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.1rem;height:1.1rem;padding:0 .3rem;margin-left:.3rem;border-radius:999px;background:#ef4444;color:#fff;font-size:.65rem;font-weight:800}.homework-btn-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.1rem;height:1.1rem;padding:0 .3rem;margin-left:.3rem;border-radius:999px;background:#ef4444;color:#fff;font-size:.65rem;font-weight:800;vertical-align:middle}.student-locked-banner.is-yellow-warning{background:#eab3081f;border-color:#eab30866;color:#fde68a}.student-locked-banner.is-yellow-warning i{color:#eab308}.student-locked-banner.is-red-warning{background:#dc26261f;border-color:#dc262666}.student-locked-banner.is-red-warning i{color:#dc2626}.admin-publish-modal-overlay{position:fixed;inset:0;z-index:1160;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:#050508d9;opacity:0;pointer-events:none;transition:opacity .18s ease}.admin-publish-modal-overlay.open{opacity:1;pointer-events:auto}.admin-publish-modal{width:100%;max-width:28rem;max-height:90vh;max-height:90dvh;overflow-y:auto;padding:1.5rem;background:#16161f;border:3px solid #fbbf24;border-radius:1.25rem;box-shadow:8px 8px #78350f}.admin-publish-modal h3{font-family:Oswald,sans-serif;font-weight:800;color:#fff;font-size:1.1rem;margin-bottom:.9rem}.admin-publish-modal input:not([type=checkbox]),.admin-publish-modal textarea{width:100%;padding:.6rem .85rem;border-radius:.7rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff;font-size:.85rem;font-family:inherit;margin-bottom:.7rem}.admin-publish-modal-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.5rem}.admin-publish-news-image-label{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:#d1d5db;margin-bottom:.4rem}.admin-publish-modal input[type=file]{padding:.4rem;font-size:.75rem;color:#9ca3af}.admin-publish-modal .tablet-attach-preview{margin:0 0 .7rem}.admin-edit-current-image-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.6rem}.admin-edit-current-image-row a{color:#93c5fd}.admin-edit-remove-image-label{display:flex;align-items:center;gap:.35rem;font-size:.78rem;color:#d1d5db;white-space:nowrap;cursor:pointer}.news-align-picker{display:flex;gap:.5rem;margin-bottom:.7rem}.news-align-btn{width:2.6rem;height:2.6rem;display:flex;align-items:center;justify-content:center;border-radius:.7rem;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);color:#9ca3af;cursor:pointer}.news-align-btn.active{background:#fbbf2426;border-color:#fbbf24;color:#fbbf24}.teacher-photo-picker-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.teacher-photo-preview{flex-shrink:0;width:5.5rem;height:5.5rem;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:2px dashed rgba(167,139,250,.4);color:#6b7280;font-size:1.6rem}.teacher-photo-preview img{width:100%;height:100%;object-fit:cover}.teacher-photo-picker-controls{flex:1;min-width:12rem}.teacher-photo-choose-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1rem;border:none;border-radius:.7rem;background:var(--accent-primary);color:#fff;font-size:.85rem;font-weight:700;cursor:pointer;box-shadow:4px 4px #1d4ed8;transition:transform .1s ease,box-shadow .1s ease}.teacher-photo-choose-btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px #1d4ed8}.teacher-photo-choose-btn:active{transform:translate(1px,1px);box-shadow:2px 2px #1d4ed8}.teacher-photo-hint{margin-top:.5rem;font-size:.72rem;color:var(--text-secondary)}.teacher-photo-error{margin-top:.4rem;font-size:.75rem;font-weight:600;color:#f87171}.teacher-photo-avatar{position:relative;flex-shrink:0;width:5rem;height:5rem;border-radius:50%;overflow:hidden;border:none;padding:0;cursor:pointer;background:#ffffff0f;display:flex;align-items:center;justify-content:center;font-size:1.6rem;color:#a78bfa}.teacher-photo-avatar img{width:100%;height:100%;object-fit:cover}.teacher-photo-avatar-edit{position:absolute;inset:auto 0 0;height:1.4rem;display:flex;align-items:center;justify-content:center;background:#0009;color:#fff;font-size:.65rem;opacity:0;transition:opacity .15s ease}.teacher-photo-avatar:hover .teacher-photo-avatar-edit{opacity:1}.admin-teacher-photo{flex-shrink:0;width:2.4rem;height:2.4rem;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#ffffff0f;color:#6b7280;font-size:.9rem}.admin-teacher-photo img{width:100%;height:100%;object-fit:cover}.admin-teacher-photo.is-empty{border:1px dashed rgba(239,68,68,.5);color:#f87171;cursor:default}.journal-unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.1rem;height:1.1rem;padding:0 .3rem;border-radius:999px;background:#fb7185;color:#fff;font-size:.65rem;font-weight:800;line-height:1;box-shadow:0 0 0 2px #0a0a0f}.admin-pending-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.1rem;height:1.1rem;padding:0 .3rem;border-radius:999px;background:#f59e0b;color:#1c0f00;font-size:.65rem;font-weight:800;line-height:1;box-shadow:0 0 0 2px #0a0a0f}.student-notes-section{position:relative;overflow:hidden;margin-top:1.75rem;padding:1.5rem;border-radius:1.5rem;background:linear-gradient(165deg,#d977061a,#12121af0 55%);border:1px solid rgba(251,191,36,.2);box-shadow:0 20px 45px #00000059}.student-notes-glow{position:absolute;top:-35%;right:-15%;width:14rem;height:14rem;background:radial-gradient(circle,rgba(251,191,36,.16),transparent 70%);pointer-events:none}.student-notes-header{position:relative;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.student-notes-title{color:#fde68a;font-weight:800;font-size:1.05rem;letter-spacing:.01em}.student-notes-title i{margin-right:.35rem}.student-notes-lock{display:inline-flex;align-items:center;gap:.3rem;color:#9ca3af;font-size:.7rem;padding:.25rem .6rem;border-radius:999px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}.note-tabs{position:relative;display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.9rem}.note-tab-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .9rem;border-radius:.7rem .7rem .2rem .2rem;font-size:.78rem;font-weight:600;color:#9ca3af;background:#ffffff0a;border:1px solid transparent;border-bottom:2px solid transparent;cursor:pointer;transition:color .2s,background .2s,border-color .2s,transform .15s}.note-tab-btn:hover{color:#e5e7eb;transform:translateY(-1px)}.note-tab-btn.active{color:#fde68a;background:linear-gradient(160deg,#fbbf2438,#fbbf240f);border-color:#fbbf2466;border-bottom-color:#fbbf24;box-shadow:0 -2px 12px #fbbf2426}.note-tab-add{color:#fbbf24;border-radius:999px;padding:.5rem .65rem}.note-editor-card{position:relative;border-radius:1rem;background:#0003;border:1px solid rgba(251,191,36,.15);overflow:hidden}.student-note-textarea{width:100%;padding:1rem 1.1rem;background:transparent;border:none;color:#f3e8d0;font-size:.9rem;line-height:1.6;font-family:inherit;resize:vertical}.student-note-textarea:focus{outline:none}.note-editor-card:focus-within{border-color:#fbbf2473;box-shadow:0 0 0 3px #fbbf241a}.student-note-textarea::placeholder{color:#f3e8d059}.note-editor-footer{display:flex;justify-content:flex-end;padding:.5rem 1rem .7rem}.note-save-hint{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;color:#6ee7b7}.note-save-hint-pending{color:#fbbf24}.note-save-hint-empty{color:#6b7280}.student-notes-warning{position:relative;margin-top:.75rem;font-size:.72rem;color:#fbbf24;display:flex;align-items:flex-start;gap:.4rem}.room-quicknav{position:relative;display:flex;flex-wrap:wrap;align-items:flex-end;gap:.6rem;margin-bottom:.75rem;min-height:6.5rem}.room-quicknav-btns{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.6rem;max-width:calc(100% - 9rem)}.room-quicknav-image-slot{position:absolute;top:0;right:0;z-index:2;pointer-events:none}.room-quicknav-banner{height:6.5rem;width:auto;border-radius:.5rem;display:block}.room-quicknav-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1rem;border-radius:.75rem;border:none;background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff;font-size:.82rem;font-weight:700;cursor:pointer;box-shadow:2px 2px #4c1d95;transition:transform .1s ease}.room-quicknav-btn:hover{transform:translate(-1px,-1px)}.room-quicknav-btn:active{transform:translate(1px,1px)}.room-quicknav-btn.is-inventory{background:linear-gradient(135deg,#fbbf24,#b45309);box-shadow:2px 2px #78350f;color:#1c0f00}.room-quicknav-btn.is-inventory.is-active{background:linear-gradient(135deg,#38bdf8,#0369a1);box-shadow:2px 2px #0c4a6e;color:#04202f}.room-quicknav-btn.is-classmates{background:linear-gradient(135deg,#f472b6,#be185d);box-shadow:2px 2px #831843;color:#500724}.room-quicknav-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.3rem;height:1.3rem;padding:0 .35rem;border-radius:999px;background:#00000040;font-size:.72rem;font-weight:800}@media(max-width:1023px){.room-quicknav-image-slot{display:none}.room-quicknav{min-height:0}.room-quicknav-btns{max-width:100%;width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:.45rem}.room-quicknav-btn{flex-direction:column;justify-content:center;gap:.3rem;padding:.6rem .3rem;font-size:.68rem;line-height:1.15;text-align:center;white-space:normal}.room-quicknav-btn i.fa-arrow-down{display:none}.room-quicknav-count{position:static;margin-top:.1rem}}.morra-room-hint{display:flex;align-items:flex-start;gap:.75rem;margin-top:1.25rem;padding:.9rem 1rem;border-radius:1rem;background:linear-gradient(135deg,#3b82f624,#10b98114);border:1px solid rgba(59,130,246,.3)}.morra-room-hint-avatar{width:2.75rem;height:2.75rem;border-radius:.75rem;object-fit:cover;flex-shrink:0;background:#ffffff14}.morra-room-hint-bubble p{font-size:.85rem;color:#e5e7eb;margin:0 0 .5rem;line-height:1.4}.morra-room-hint-bubble button{font-size:.7rem;font-weight:600;color:#93c5fd;background:#3b82f626;border:1px solid rgba(59,130,246,.35);border-radius:999px;padding:.3rem .7rem;cursor:pointer;transition:background .2s ease}.morra-room-hint-bubble button:hover{background:#3b82f64d}@media(max-width:640px){.morra-room-hint-bubble button{padding:.55rem .9rem;font-size:.75rem}}@keyframes anim-sway{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.anim-sway{animation:anim-sway 3s ease-in-out infinite;transform-origin:bottom center}@keyframes anim-shimmer{0%,to{filter:brightness(1) saturate(1)}50%{filter:brightness(1.4) saturate(1.6)}}.anim-shimmer{animation:anim-shimmer 2s ease-in-out infinite}@keyframes anim-twinkle{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.anim-twinkle{animation:anim-twinkle 1.8s ease-in-out infinite}@keyframes anim-bounce-slow{0%,to{transform:translateY(0)}50%{transform:translateY(-.3rem)}}.anim-bounce-slow{animation:anim-bounce-slow 2.2s ease-in-out infinite}@keyframes anim-glow-pulse{0%,to{box-shadow:0 0 4px #fbbf244d;color:#e5e7eb}50%{box-shadow:0 0 14px #fbbf24b3;color:#fde68a}}.anim-glow-pulse{animation:anim-glow-pulse 2s ease-in-out infinite}@keyframes anim-tick{0%,92%,to{transform:rotate(0)}96%{transform:rotate(8deg)}}.anim-tick{animation:anim-tick 1.5s linear infinite}@keyframes anim-float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-.35rem) rotate(6deg)}}.anim-float{animation:anim-float 2.6s ease-in-out infinite}.avatar-frame-gold{border:3px solid #fbbf24;box-shadow:0 0 12px #fbbf2480}.avatar-frame-neon{border:3px solid #22d3ee;box-shadow:0 0 14px #22d3ee99}@keyframes frame-rainbow-spin{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(360deg)}}.avatar-frame-rainbow{border:3px solid transparent;background:linear-gradient(#12121a,#12121a) padding-box,conic-gradient(red,orange,#ff0,green,#00f,violet,red) border-box;animation:frame-rainbow-spin 3s linear infinite}@keyframes frame-fire-pulse{0%,to{box-shadow:0 0 10px #f8717199;border-color:#f87171}50%{box-shadow:0 0 20px #fb923ce6;border-color:#fb923c}}.avatar-frame-fire{border:3px solid #f87171;animation:frame-fire-pulse 1.2s ease-in-out infinite}.title-badge{display:inline-block;font-size:.7rem;padding:.15rem .6rem;border-radius:999px;background:#a78bfa33;color:#d8b4fe;vertical-align:middle;margin-left:.35rem}.title-swatch{padding:.5rem .9rem;border-radius:.75rem;background:#ffffff0a;border:2px solid transparent;color:#d1d5db;font-size:.85rem;cursor:pointer}.title-swatch.active{border-color:#a78bfa;background:#a78bfa26}.title-swatch:disabled{opacity:.4;cursor:not-allowed}.donate-nag{position:fixed;left:1rem;bottom:1rem;z-index:60;width:20rem;max-width:calc(100vw - 2rem);background:#12121a;border:1px solid rgba(255,255,255,.1);border-radius:1rem;padding:1rem;box-shadow:0 20px 40px #0006;transform:translateY(1.5rem);opacity:0;transition:transform .3s ease,opacity .3s ease;pointer-events:none}.donate-nag.show{transform:translateY(0);opacity:1;pointer-events:auto}.donate-nag-close{position:absolute;top:.5rem;right:.75rem;background:none;border:none;color:#9ca3af;font-size:1.25rem;cursor:pointer;line-height:1}@media(max-width:1023px){.donate-nag{left:.5rem;right:.5rem;bottom:calc(var(--mobile-nav-h) + 4rem);width:auto}}@media(min-width:1024px){.donate-nag{left:auto;right:1.25rem;bottom:auto;top:6rem;transform:translateY(-1rem)}.donate-nag.show{transform:translateY(0)}}@media(max-width:767px){[class*=py-16]{padding-top:2.5rem!important;padding-bottom:2.5rem!important}}@media(max-width:480px){[class*=py-16]{padding-top:1.75rem!important;padding-bottom:1.75rem!important}}.mc-server-card{background:linear-gradient(135deg,#34d39914,#10101ae6);border:2px solid rgba(52,211,153,.3);border-radius:1.5rem;padding:1.5rem;box-shadow:5px 5px #064e3b66}.mc-server-card-top{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.1rem}.mc-server-icon{width:3.5rem;height:3.5rem;flex-shrink:0;border-radius:1rem;background:#34d39926;display:flex;align-items:center;justify-content:center;font-size:1.6rem}.mc-server-info{flex:1 1 12rem;min-width:0}.mc-server-info h3{font-family:Oswald,sans-serif;font-weight:800;font-size:1.15rem;color:#fff}.mc-server-info p{color:#9ca3af;font-size:.85rem;margin-top:.15rem}.mc-server-status{flex-shrink:0;display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .9rem;border-radius:999px;font-size:.8rem;font-weight:800;background:#ffffff0f;color:#9ca3af}.mc-server-status.is-online{background:#34d3992e;color:#34d399}.mc-server-status.is-offline{background:#ef44442e;color:#f87171}.mc-server-address{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;background:#00000059;border:1px solid rgba(255,255,255,.1);border-radius:.8rem;padding:.7rem 1rem;margin-bottom:.9rem}.mc-server-address code{flex:1 1 auto;min-width:0;color:#6ee7b7;font-family:Courier New,monospace;font-size:.95rem;font-weight:700;word-break:break-all}.mc-server-address button{flex-shrink:0;display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .9rem;border-radius:.6rem;border:none;background:linear-gradient(135deg,#34d399,#059669);color:#062e1f;font-size:.8rem;font-weight:800;cursor:pointer;transition:transform .1s ease}.mc-server-address button:hover{transform:translateY(-1px)}.mc-server-address button.is-copied{background:linear-gradient(135deg,#a78bfa,#7c3aed);color:#fff}.mc-server-note{color:#9ca3af;font-size:.82rem;margin-bottom:.9rem;display:flex;align-items:flex-start;gap:.5rem}.mc-server-note i{color:#fbbf24;margin-top:.15rem;flex-shrink:0}.mc-server-steps{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;counter-reset:mc-step}.mc-server-steps li{counter-increment:mc-step;flex:1 1 12rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:.7rem;padding:.6rem .8rem .6rem 2.1rem;position:relative;color:#d1d5db;font-size:.82rem}.mc-server-steps li:before{content:counter(mc-step);position:absolute;left:.65rem;top:50%;transform:translateY(-50%);width:1.3rem;height:1.3rem;border-radius:50%;background:#34d399;color:#062e1f;font-size:.72rem;font-weight:800;display:flex;align-items:center;justify-content:center}@media(max-width:480px){.mc-server-card-top{flex-direction:column;align-items:flex-start}.mc-server-address{flex-direction:column;align-items:stretch}.mc-server-address button{justify-content:center}}.gi{display:inline-block!important;background-repeat:no-repeat;background-position:center;background-size:contain;width:1.65em!important;height:1.65em!important;vertical-align:-.4em;flex-shrink:0}.gi-avatar{background-image:url(./img/icons/avatar.svg)}.gi-badge{background-image:url(./img/icons/badge.svg)}.gi-ball{background-image:url(./img/icons/ball.svg)}.gi-bell{background-image:url(./img/icons/bell.svg)}.gi-book{background-image:url(./img/icons/book.svg)}.gi-bookmark{background-image:url(./img/icons/bookmark.svg)}.gi-calculator{background-image:url(./img/icons/calculator.svg)}.gi-calendar{background-image:url(./img/icons/calendar.svg)}.gi-cart{background-image:url(./img/icons/cart.svg)}.gi-certificate{background-image:url(./img/icons/certificate.svg)}.gi-chart{background-image:url(./img/icons/chart.svg)}.gi-chat{background-image:url(./img/icons/chat.svg)}.gi-check{background-image:url(./img/icons/check.svg)}.gi-chest{background-image:url(./img/icons/chest.svg)}.gi-clock{background-image:url(./img/icons/clock.svg)}.gi-close{background-image:url(./img/icons/close.svg)}.gi-code{background-image:url(./img/icons/code.svg)}.gi-coinstack{background-image:url(./img/icons/coinstack.svg)}.gi-college{background-image:url(./img/icons/college.svg)}.gi-comment{background-image:url(./img/icons/comment.svg)}.gi-creditcard{background-image:url(./img/icons/creditcard.svg)}.gi-crown{background-image:url(./img/icons/crown.svg)}.gi-dice{background-image:url(./img/icons/dice.svg)}.gi-download{background-image:url(./img/icons/download.svg)}.gi-edit{background-image:url(./img/icons/edit.svg)}.gi-energy{background-image:url(./img/icons/energy.svg)}.gi-eye{background-image:url(./img/icons/eye.svg)}.gi-faq{background-image:url(./img/icons/faq.svg)}.gi-filter{background-image:url(./img/icons/filter.svg)}.gi-flag{background-image:url(./img/icons/flag.svg)}.gi-folder{background-image:url(./img/icons/folder.svg)}.gi-gamepad{background-image:url(./img/icons/gamepad.svg)}.gi-gift{background-image:url(./img/icons/gift.svg)}.gi-globe{background-image:url(./img/icons/globe.svg)}.gi-graduation{background-image:url(./img/icons/graduation.svg)}.gi-heart{background-image:url(./img/icons/heart.svg)}.gi-home{background-image:url(./img/icons/home.svg)}.gi-info{background-image:url(./img/icons/info.svg)}.gi-instagram{background-image:url(./img/icons/instagram.svg)}.gi-joystick{background-image:url(./img/icons/joystick.svg)}.gi-key{background-image:url(./img/icons/key.svg)}.gi-laptop{background-image:url(./img/icons/laptop.svg)}.gi-lightbulb{background-image:url(./img/icons/lightbulb.svg)}.gi-like{background-image:url(./img/icons/like.svg)}.gi-link{background-image:url(./img/icons/link.svg)}.gi-location{background-image:url(./img/icons/location.svg)}.gi-lock{background-image:url(./img/icons/lock.svg)}.gi-lock-open{background-image:url(./img/icons/key.svg)}.gi-logout{background-image:url(./img/icons/logout.svg)}.gi-mail{background-image:url(./img/icons/mail.svg)}.gi-medal{background-image:url(./img/icons/medal.svg)}.gi-menu{background-image:url(./img/icons/menu.svg)}.gi-microscope{background-image:url(./img/icons/microscope.svg)}.gi-mission{background-image:url(./img/icons/mission.svg)}.gi-musicnote{background-image:url(./img/icons/musicnote.svg)}.gi-newspaper{background-image:url(./img/icons/newspaper.svg)}.gi-notebook{background-image:url(./img/icons/notebook.svg)}.gi-paintbrush{background-image:url(./img/icons/paintbrush.svg)}.gi-paw{background-image:url(./img/icons/paw.svg)}.gi-plant{background-image:url(./img/icons/plant.svg)}.gi-minus{background-image:url(./img/icons/minus.svg)}.gi-plus{background-image:url(./img/icons/plus.svg)}.gi-podium{background-image:url(./img/icons/podium.svg)}.gi-presentation{background-image:url(./img/icons/presentation.svg)}.gi-profile{background-image:url(./img/icons/profile.svg)}.gi-progress{background-image:url(./img/icons/progress.svg)}.gi-puzzle{background-image:url(./img/icons/puzzle.svg)}.gi-quest{background-image:url(./img/icons/quest.svg)}.gi-quiz{background-image:url(./img/icons/quiz.svg)}.gi-refresh{background-image:url(./img/icons/refresh.svg)}.gi-robot{background-image:url(./img/icons/robot.svg)}.gi-rocket{background-image:url(./img/icons/rocket.svg)}.gi-room{background-image:url(./img/icons/room.svg)}.gi-search{background-image:url(./img/icons/search.svg)}.gi-settings{background-image:url(./img/icons/settings.svg)}.gi-share{background-image:url(./img/icons/share.svg)}.gi-shield{background-image:url(./img/icons/shield.svg)}.gi-shop{background-image:url(./img/icons/shop.svg)}.gi-skilltree{background-image:url(./img/icons/skilltree.svg)}.gi-star{background-image:url(./img/icons/star.svg)}.gi-streak{background-image:url(./img/icons/streak.svg)}.gi-target{background-image:url(./img/icons/target.svg)}.gi-team{background-image:url(./img/icons/team.svg)}.gi-telegram{background-image:url(./img/icons/telegram.svg)}.gi-timer{background-image:url(./img/icons/timer.svg)}.gi-trash{background-image:url(./img/icons/trash.svg)}.gi-trophy{background-image:url(./img/icons/trophy.svg)}.gi-upload{background-image:url(./img/icons/upload.svg)}.gi-video{background-image:url(./img/icons/video.svg)}.gi-wallet{background-image:url(./img/icons/wallet.svg)}.gi-warning{background-image:url(./img/icons/warning.svg)}.gi-xp{background-image:url(./img/icons/xp.svg)}.gi-arrow-down{background-image:url(./img/icons/arrow-down.svg)}.gi-arrow-left{background-image:url(./img/icons/arrow-left.svg)}.gi-arrow-right{background-image:url(./img/icons/arrow-right.svg)}.gi-ban{background-image:url(./img/icons/ban.svg)}.gi-bed{background-image:url(./img/icons/bed.svg)}.gi-box{background-image:url(./img/icons/box.svg)}.gi-boxes-stacked{background-image:url(./img/icons/boxes-stacked.svg)}.gi-brain{background-image:url(./img/icons/brain.svg)}.gi-briefcase{background-image:url(./img/icons/briefcase.svg)}.gi-camera{background-image:url(./img/icons/camera.svg)}.gi-chair{background-image:url(./img/icons/chair.svg)}.gi-chalkboard{background-image:url(./img/icons/chalkboard.svg)}.gi-chess-bishop{background-image:url(./img/icons/chess-bishop.svg)}.gi-chevron-left{background-image:url(./img/icons/chevron-left.svg)}.gi-chevron-right{background-image:url(./img/icons/chevron-right.svg)}.gi-compass{background-image:url(./img/icons/compass.svg)}.gi-copy{background-image:url(./img/icons/copy.svg)}.gi-cube{background-image:url(./img/icons/cube.svg)}.gi-cubes{background-image:url(./img/icons/cubes.svg)}.gi-door-closed{background-image:url(./img/icons/door-closed.svg)}.gi-door-open{background-image:url(./img/icons/door-open.svg)}.gi-dumbbell{background-image:url(./img/icons/dumbbell.svg)}.gi-ellipsis{background-image:url(./img/icons/ellipsis.svg)}.gi-face-smile{background-image:url(./img/icons/face-smile.svg)}.gi-feather-pointed{background-image:url(./img/icons/feather-pointed.svg)}.gi-file-pdf{background-image:url(./img/icons/file-pdf.svg)}.gi-fish{background-image:url(./img/icons/fish.svg)}.gi-gem{background-image:url(./img/icons/gem.svg)}.gi-glasses{background-image:url(./img/icons/glasses.svg)}.gi-grip-lines{background-image:url(./img/icons/grip-lines.svg)}.gi-hand{background-image:url(./img/icons/hand.svg)}.gi-image{background-image:url(./img/icons/image.svg)}.gi-layer-group{background-image:url(./img/icons/layer-group.svg)}.gi-mask{background-image:url(./img/icons/mask.svg)}.gi-palette{background-image:url(./img/icons/palette.svg)}.gi-panorama{background-image:url(./img/icons/panorama.svg)}.gi-paper-plane{background-image:url(./img/icons/paper-plane.svg)}.gi-paperclip{background-image:url(./img/icons/paperclip.svg)}.gi-phone{background-image:url(./img/icons/phone.svg)}.gi-play{background-image:url(./img/icons/play.svg)}.gi-quote-left{background-image:url(./img/icons/quote-left.svg)}.gi-reply{background-image:url(./img/icons/reply.svg)}.gi-scissors{background-image:url(./img/icons/scissors.svg)}.gi-shirt{background-image:url(./img/icons/shirt.svg)}.gi-stop{background-image:url(./img/icons/stop.svg)}.gi-table{background-image:url(./img/icons/table.svg)}.gi-user-check{background-image:url(./img/icons/user-check.svg)}.gi-user-clock{background-image:url(./img/icons/user-clock.svg)}.gi-user-lock{background-image:url(./img/icons/user-lock.svg)}.gi-user-minus{background-image:url(./img/icons/user-minus.svg)}.gi-user-shield{background-image:url(./img/icons/user-shield.svg)}.gi-wand-magic-sparkles{background-image:url(./img/icons/wand-magic-sparkles.svg)}.gi-subj-ukr-mova{background-image:url(./img/icons/subj-ukr-mova.svg)}.gi-subj-ukr-literature{background-image:url(./img/icons/subj-ukr-literature.svg)}.gi-subj-lit-reading{background-image:url(./img/icons/subj-lit-reading.svg)}.gi-subj-foreign-literature{background-image:url(./img/icons/subj-foreign-literature.svg)}.gi-subj-english{background-image:url(./img/icons/subj-english.svg)}.gi-subj-foreign-lang{background-image:url(./img/icons/subj-foreign-lang.svg)}.gi-subj-math{background-image:url(./img/icons/subj-math.svg)}.gi-subj-algebra{background-image:url(./img/icons/subj-algebra.svg)}.gi-subj-geometry{background-image:url(./img/icons/subj-geometry.svg)}.gi-subj-algebra-analysis{background-image:url(./img/icons/subj-algebra-analysis.svg)}.gi-subj-explore-world{background-image:url(./img/icons/subj-explore-world.svg)}.gi-subj-natural-sciences{background-image:url(./img/icons/subj-natural-sciences.svg)}.gi-subj-learn-nature{background-image:url(./img/icons/subj-learn-nature.svg)}.gi-subj-biology{background-image:url(./img/icons/subj-biology.svg)}.gi-subj-biology-ecology{background-image:url(./img/icons/subj-biology-ecology.svg)}.gi-subj-geography{background-image:url(./img/icons/subj-geography.svg)}.gi-subj-physics{background-image:url(./img/icons/subj-physics.svg)}.gi-subj-physics-astronomy{background-image:url(./img/icons/subj-physics-astronomy.svg)}.gi-subj-astronomy{background-image:url(./img/icons/subj-astronomy.svg)}.gi-subj-chemistry{background-image:url(./img/icons/subj-chemistry.svg)}.gi-subj-history-ukraine{background-image:url(./img/icons/subj-history-ukraine.svg)}.gi-subj-world-history{background-image:url(./img/icons/subj-world-history.svg)}.gi-subj-law{background-image:url(./img/icons/subj-law.svg)}.gi-subj-civics{background-image:url(./img/icons/subj-civics.svg)}.gi-subj-informatics{background-image:url(./img/icons/subj-informatics.svg)}.gi-subj-art{background-image:url(./img/icons/subj-art.svg)}.gi-subj-fine-art{background-image:url(./img/icons/subj-fine-art.svg)}.gi-subj-music-art{background-image:url(./img/icons/subj-music-art.svg)}.gi-subj-design-tech{background-image:url(./img/icons/subj-design-tech.svg)}.gi-subj-labor-training{background-image:url(./img/icons/subj-labor-training.svg)}.gi-subj-technology{background-image:url(./img/icons/subj-technology.svg)}.gi-subj-health{background-image:url(./img/icons/subj-health.svg)}.gi-subj-phys-ed{background-image:url(./img/icons/subj-phys-ed.svg)}.gi-subj-defence{background-image:url(./img/icons/subj-defence.svg)}.gi-subj-other{background-image:url(./img/icons/subj-other.svg)}@media(pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):not([type=hidden]),textarea,select,select[class]{font-size:16px}}@media(max-width:1023px),(max-height:700px){.guess-modal-overlay,.room-visit-modal-overlay,.access-lock-modal-overlay,.behavior-card-overlay,.grade-editor-overlay,.site-dialog-overlay,.item-info-overlay,.birthday-overlay,.duel-review-overlay,.admin-publish-modal-overlay{align-items:flex-start;overflow-y:auto;overscroll-behavior:contain}.guess-modal-overlay>*,.room-visit-modal-overlay>*,.access-lock-modal-overlay>*,.behavior-card-overlay>*,.grade-editor-overlay>*,.site-dialog-overlay>*,.item-info-overlay>*,.birthday-overlay>*,.duel-review-overlay>*,.admin-publish-modal-overlay>*{margin-block:auto}}@media(max-width:1023px){.student-card-body button,.pending-student-row button,.exclusive-redemption-fulfill-btn,.student-locked-restore-btn,.pending-achievement-chip,.class-broadcast-btn,.subject-missing-warning button,.class-switcher-chip,.class-switcher-add,.school-staff-directory-btn,.teacher-dashboard-tab{min-height:2.75rem}.behavior-card-btn{width:2.75rem;height:2.75rem}.student-card-header{min-height:3rem}}@media(max-width:640px){.class-hero-card{padding:1rem;box-shadow:4px 4px #1e1b4b}.class-hero-card.is-live{box-shadow:4px 4px #431407}.class-hero-top{gap:.75rem}.class-hero-name{flex:1 1 100%;font-size:1.15rem}.class-hero-code{flex:1 1 100%;flex-direction:row;align-items:center;justify-content:space-between}.class-lesson-btn{flex:1 1 100%;justify-content:center;margin-left:0;min-height:3rem}.lesson-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-category-check{padding:.55rem;gap:.4rem;font-size:.78rem;min-height:2.75rem}.learning-item-picker{padding:.75rem}.learning-picker-item-btn,.learning-picker-cat-tab{flex:1 1 auto;min-height:2.75rem}.subject-missing-warning{flex-wrap:wrap}.subject-missing-warning button{flex:1 1 100%}.class-broadcast-btn{width:100%;justify-content:center}.pending-student-row>button{flex:1 1 calc(50% - .3rem);justify-content:center;margin-left:0}.pending-student-row>.pending-student-approve{flex-basis:100%}.pending-student-name{flex:1 1 0;min-width:0}.exclusive-redemption-fulfill-btn,.student-locked-restore-btn{flex:1 1 100%;justify-content:center;margin-left:0}.student-card{padding-left:.75rem;padding-right:.75rem}.student-card-header>span:nth-of-type(1){flex:1 1 0;min-width:0}.student-card-header>span.ml-auto{order:10;flex:1 1 100%;margin-left:0;line-height:1.6}.student-card-chevron{margin-left:auto}.student-card-body .flex-wrap>button:not(.behavior-card-btn){flex:1 1 calc(50% - .5rem);justify-content:center;text-align:center;font-size:.8rem}.student-card-body .flex-wrap>.behavior-card-btn{flex:1 1 calc(50% - .5rem)}.student-locked-banner{gap:.6rem}.teacher-dashboard-tabs{overflow-x:auto;scrollbar-width:none}.teacher-dashboard-tab{flex:1 1 0;justify-content:center;white-space:nowrap}.class-switcher-grade-dropdown{max-width:calc(100vw - 2rem)}}@media(max-width:1023px){.profile-tab-btn,.shop-cat-chip,.room-quicknav-btn,.note-tab-btn,.shop-product-cta,.item-info-close-btn,.morra-room-hint-bubble button{min-height:2.75rem}.profile-tab-btn{display:inline-flex;align-items:center;gap:.35rem}.room-inventory-close{height:2.75rem;padding:0 1.1rem;font-size:.85rem}.room-item-toolbar{gap:.4rem;padding:.4rem}.room-item-toolbar button{width:2.75rem;height:2.75rem;font-size:.95rem}.item-info-close{width:2.75rem;height:2.75rem}.slider-dot{position:relative}.slider-dot:before{content:"";position:absolute;inset:-.55rem}.slider-dots{gap:.6rem}}@media(max-width:640px){#profile-tabs{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;margin-inline:-.25rem;padding:0 .25rem .4rem}#profile-tabs::-webkit-scrollbar{display:none}#profile-tabs .profile-tab-btn{flex:0 0 auto;white-space:nowrap;scroll-snap-align:start}.profile-tab-panel{padding:1.25rem .8rem 1rem;border-radius:1rem}.shop-store-categories{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;margin-inline:-.25rem;padding:.25rem .25rem .7rem}.shop-store-categories::-webkit-scrollbar{display:none}.shop-cat-chip{flex:0 0 auto;scroll-snap-align:start}.shop-store-grid{gap:.7rem}.shop-balance{flex:1 1 auto;justify-content:center}.shop-treasury-info{flex-direction:column;gap:.6rem;padding:1rem}.progress-stats-row{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-stat-tile:last-child:nth-child(odd){grid-column:1 / -1}.progress-row{flex-wrap:wrap;row-gap:.15rem}.progress-row-label{flex:1 1 0}.progress-row-badge:not(.is-points){flex:1 1 100%;padding-left:2.55rem;white-space:normal}.room-inventory-modal{left:0;right:0;top:auto;bottom:var(--mobile-nav-h, 4.25rem);width:100%;height:min(46vh,26rem);height:min(46dvh,26rem);transform:translateY(115%);border:2px solid rgba(255,255,255,.12);border-bottom:none;border-radius:1.25rem 1.25rem 0 0;box-shadow:0 -6px #000;padding:1.25rem .9rem .6rem}.room-inventory-overlay.open .room-inventory-modal{transform:translate(0)}.room-inventory-title{padding-right:6rem;margin-bottom:.4rem}.student-notes-section{padding:1.1rem .9rem;border-radius:1.1rem}.note-editor-card .student-note-textarea{padding:.8rem}.homework-pending-toast{left:.5rem;right:.5rem;top:calc(.5rem + env(safe-area-inset-top,0px));max-width:none}}@media(max-width:640px){.shop-store-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.shop-product-card{padding:.65rem .55rem .6rem;border-width:2px}.shop-product-name{font-size:.8rem}}.achievement-grid-fluid{display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.75rem}.achievement-card{min-width:0;overflow-wrap:anywhere}@media(max-width:1023px){button.py-1,button.py-1\.5,.profile-joinclass-row input,#parent-add-child-code,#edit-display-nickname-input,.profile-player-card .logout-btn,.admin-id-logout,.journal-feed-msg-bubble button{min-height:2.75rem}}@media(max-width:640px){.achievement-grid-fluid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.achievement-card{padding:.75rem .6rem}.profile-player-card{padding:.9rem;gap:.75rem}.profile-player-card #profile-avatar-img{width:4rem;height:4rem}.profile-joinclass-row{padding:.75rem}.profile-joinclass-row input,#parent-add-child-code{flex:1 1 6rem;width:auto}#edit-display-nickname-form{flex-wrap:wrap}#edit-display-nickname-input{flex:1 1 100%;max-width:none}.journal-feed-list{padding:.75rem}.journal-feed-msg{gap:.5rem}.journal-feed-msg-icon{width:2rem;height:2rem}.admin-id-card{padding:1rem;gap:.75rem}.admin-id-avatar{width:3.25rem;height:3.25rem;font-size:1.3rem}}.sidebar-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding:0 .5rem}.sidebar-close-btn{display:none}@media(max-width:1023px){.sidebar-topbar{position:sticky;top:-1rem;z-index:2;margin:-1rem -1rem .75rem;padding:calc(1rem + env(safe-area-inset-top,0px)) 1.5rem .75rem;background:#0a0a0f;border-bottom:1px solid rgba(255,255,255,.06)}.sidebar-close-btn{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border:none;border-radius:50%;background:#ffffff14;color:#e5e7eb;font-size:1rem;cursor:pointer}.sidebar-close-btn:active{background:#ffffff2e}#sidebar{padding-bottom:calc(2rem + env(safe-area-inset-bottom,0px));overscroll-behavior:contain}#sidebar .nav-link,.nav-flyout-item{min-height:3rem}#header-auth-logged-out button,#header-auth-logged-in>button{min-height:2.75rem}#header-auth-menu button,.header-lesson-live-badge{min-height:2.75rem}.header-lesson-live-row-name,.header-lesson-live-row-end{min-height:2.5rem}}@media(min-width:768px)and (max-width:1023px){.sidebar-topbar{top:-1.5rem;margin:-1.5rem -1.5rem .75rem;padding-left:2rem;padding-right:2rem}}@media(max-width:1023px){.character-adjust-dpad{grid-template-columns:repeat(3,2.75rem);grid-template-rows:repeat(3,2.75rem);gap:.25rem}.character-adjust-btn{min-width:2.75rem;min-height:2.75rem}}@media(max-width:1023px){.modal-close{min-width:2.75rem;min-height:2.75rem;display:inline-flex;align-items:center;justify-content:center}a[class*="hover:underline"],button[class*="hover:underline"]{display:inline-block;padding:.6rem .4rem;margin:-.6rem -.4rem}}@media(max-width:1023px){.learning-cat-chip{min-height:2.75rem;display:inline-flex;align-items:center}.photo-carousel-dot{position:relative}.photo-carousel-dot:before{content:"";position:absolute;inset:-.55rem}}@media(max-width:1023px){button.py-2{min-height:2.75rem}}@media(max-width:640px){.category-content>section[class*=px-4]{padding-left:0;padding-right:0}.login-card{padding:1.1rem}#donate-content .cosmic-card{padding:1.25rem;border-radius:1.5rem}.donate-layout{gap:1rem}.donate-img{max-width:min(10rem,55%)}.donate-text{min-width:0;flex:1 1 100%}#donate-content h2{font-size:1.6rem;line-height:1.2}#donate-content .donate-text>p:first-of-type,#donate-content .donate-text .text-lg{font-size:1rem}.donate-buttons button{width:100%;min-height:3.25rem;padding-top:.75rem;padding-bottom:.75rem}}.img-cat,.img-cat2,.img-cat3,.enjoyit-img{max-width:min(var(--illustration-max, 100%),100%)}.img-cat{--illustration-max: 280px}.img-cat2{--illustration-max: 220px}.img-cat3{--illustration-max: 530px}.enjoyit-img{--illustration-max: 350px}.tools-cat{max-width:min(250px,100%);min-width:0;height:auto}@media(max-width:640px){.cosmic-card.p-8{padding:1.25rem}}@media(max-width:480px){.spinning-gear.text-7xl{display:none}}@media(max-width:900px){.block-btn{margin-left:auto;margin-right:auto}}@media(max-width:640px){.info-block{padding:1.25rem;border-radius:1.5rem;margin:1.25rem 0}.impact-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-top:1.5rem}.impact-stat-card{padding:.75rem .35rem;border-radius:.85rem}.impact-stat-value{font-size:1.35rem}.impact-stat-label{font-size:.7rem;line-height:1.25}}@media(max-width:640px){.learning-cat-filters{position:relative;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;margin:1rem -.25rem 1.1rem;padding:.15rem .25rem .5rem}.learning-cat-filters::-webkit-scrollbar{display:none}.learning-cat-chip{flex:0 0 auto;white-space:nowrap;scroll-snap-align:start}}@media(pointer:coarse)and (max-width:1023px){.site-footer .footer-inside>div:first-child{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:0 .5rem;width:100%}.site-footer .footer-inside>div:first-child>span{display:none}.site-footer .footer-inside>div:first-child>:is(button,a){display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 .4rem;text-align:center;line-height:1.25}}@media(max-width:1023px){html.kb-open #mobile-bottom-nav{display:none}html.kb-open #morra-container{bottom:.5rem!important}html.kb-open .site-footer{margin-bottom:0}}@media(orientation:landscape)and (max-height:500px)and (max-width:1023px){:root{--mobile-nav-h: 3.4rem}#mainHeader>div>div{height:3.25rem}#header-spacer{height:3.25rem}#mainHeader .logo{max-height:2.4rem;width:auto}#mobile-bottom-nav{padding:.2rem .5rem calc(.2rem + env(safe-area-inset-bottom,0px))}.mobile-nav-item{flex-direction:row;gap:.4rem;min-height:44px;padding:.2rem .4rem;font-size:.75rem}.mobile-nav-item i{font-size:1.05rem}body .py-16,body .py-20{padding-bottom:2rem}body .py-16:not([class*=pt-]),body .py-20:not([class*=pt-]){padding-top:2rem}body .py-12{padding-top:1.5rem;padding-bottom:1.5rem}.sidebar-topbar{padding-top:calc(.4rem + env(safe-area-inset-top,0px));padding-bottom:.4rem}}@media(pointer:coarse){.header-fixed,.header-fixed.scrolled,#sidebar,.block-btn,.site-footer,#mobile-bottom-nav,.donate-btn{-webkit-backdrop-filter:none;backdrop-filter:none}.header-fixed{background:#0a0a0feb}.block-btn{background:#0d0d16}.site-footer{background:#0b0b11}#mobile-bottom-nav{background:#0a0a0ff7}.particle{display:none}.block-btn:before{animation:none}.donate-btn{animation:none;box-shadow:0 10px 26px #ff416c8c,0 0 26px #ff4b2b99}#ambient-bg.ready .ambient-blob.blob-1,#ambient-bg.ready .ambient-blob.blob-2,#ambient-bg.ready .ambient-blob.blob-3,#ambient-bg.ready .ambient-blob.blob-4,#ambient-bg.ready .ambient-blob.blob-5,#ambient-bg.ready .ambient-blob.blob-6,#ambient-bg.ready .ambient-blob.blob-7,#ambient-bg.ready .ambient-blob.blob-8{animation:ambient-blob-intro 1s cubic-bezier(.34,1.56,.64,1) both;will-change:auto}}.room-enter-transition:not(.is-active):not(.is-opening){visibility:hidden}.room-enter-transition:not(.is-active):not(.is-opening) *{animation-play-state:paused}@media(orientation:landscape)and (max-height:500px){.access-lock-modal-overlay{padding:.5rem}.access-lock-modal{max-height:calc(100vh - 1rem);max-height:calc(100dvh - 1rem);padding:.9rem 1.25rem;box-shadow:5px 5px #92650a}.header-login-modal .access-lock-text{margin-bottom:.5rem}.header-login-modal form.space-y-4>:not([hidden])~:not([hidden]){margin-top:.6rem}.header-login-modal form input{padding-top:.4rem;padding-bottom:.4rem}.header-login-modal form button[type=submit]{padding-top:.55rem;padding-bottom:.55rem}.header-login-modal>p.mt-4{margin-top:.6rem}}@media(orientation:landscape)and (max-height:500px)and (max-width:1023px){html.kb-open #mainHeader{transform:translateY(-100%)}html.kb-open #header-spacer{height:0}}@media(pointer:coarse){.modal-content>.modal-header{position:sticky;top:0;z-index:3;background:#1a1a2a;border-top-left-radius:24px;border-top-right-radius:24px}}@media(orientation:landscape)and (max-height:500px){.modal-content>.modal-header{padding:.35rem 1rem}.modal-content>.modal-header :is(h1,h2,h3,.modal-title){font-size:1.05rem;line-height:1.2;margin:0}}@media(max-width:1023px),(pointer:coarse){body .text-gray-500{color:#8b93a4}body .placeholder-gray-500::placeholder{color:#8b93a4}}@media(pointer:coarse){:root{color-scheme:dark}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*:not([class*=loading]):not([class*=spinner]):not([class*=spin]):not(.preloader-dots span):not(.room-enter-dots span):not(.is-saving i),*:before,*:after{animation-iteration-count:1!important}.anim-bounce-slow,.anim-float,.anim-glow-pulse,.anim-shimmer,.anim-sway,.anim-twinkle,.anim-tick,.particle,.star,.animate-wave,.cosmic-blur,.donate-btn,.morra-container,.block-btn:before{animation:none!important}}[role=dialog][tabindex="-1"]:focus{outline:none}.skip-link{position:fixed;top:.5rem;left:.5rem;z-index:100000;padding:.7rem 1.1rem;border-radius:.6rem;background:#fff;color:#0a0a0f;font-weight:700;text-decoration:none;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.route-announcer{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}#main-content:focus{outline:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[role=button]:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible{outline:2px solid #fff;outline-offset:0;box-shadow:0 0 0 4px #000}@media(max-width:1023px){#sidebar{visibility:hidden;transition:transform .3s,visibility 0s linear .3s}#sidebar.open{visibility:visible;transition:transform .3s,visibility 0s}.nav-flyout-wrap:not(.open) .nav-flyout-menu{visibility:hidden;transition:max-height .25s ease,visibility 0s linear .25s}.nav-flyout-wrap.open .nav-flyout-menu{visibility:visible;transition:max-height .25s ease,visibility 0s}}@media(min-width:1024px){.nav-flyout-menu{visibility:hidden;transition:opacity .15s ease,transform .15s ease,visibility 0s linear .15s}.nav-flyout-menu.is-open{visibility:visible;transition:opacity .15s ease,transform .15s ease,visibility 0s}}.promo-overlay{position:fixed;inset:0;z-index:100001;display:flex;align-items:center;justify-content:center;padding:max(.5rem,env(safe-area-inset-top,0px)) max(.5rem,env(safe-area-inset-right,0px)) max(.5rem,env(safe-area-inset-bottom,0px)) max(.5rem,env(safe-area-inset-left,0px));background:#030308f0;overscroll-behavior:contain}.promo-overlay:focus{outline:none}html.promo-open,html.promo-open body{overflow:hidden!important}.promo-card{--promo-topbar: 3.6rem;display:flex;flex-direction:column;width:min(100%,calc((100vh - var(--promo-topbar) - 1.5rem) * var(--promo-ratio)));width:min(100%,calc((100dvh - var(--promo-topbar) - 1.5rem) * var(--promo-ratio)));max-height:100%;background:#16161f;border:3px solid #6bffd0;border-radius:1.1rem;overflow:hidden;box-shadow:8px 8px #000}.promo-topbar{flex:0 0 auto;display:flex;align-items:center;gap:.9rem;min-height:var(--promo-topbar);padding:.5rem .9rem;background:#0d0d16;border-bottom:2px solid rgba(107,255,208,.35)}.promo-timer{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.35rem}.promo-timer-text{color:#e4e4e7;font-weight:700;font-size:.95rem;line-height:1.2}.promo-timer-text b{color:#6bffd0;font-size:1.25rem;font-variant-numeric:tabular-nums}.promo-progress{display:block;height:.5rem;border-radius:999px;background:#ffffff1a;overflow:hidden}.promo-progress i{display:block;height:100%;width:0;background:#6bffd0;transition:width .2s linear}.promo-close{flex:0 0 auto;min-height:44px;padding:0 1.1rem;border:2px solid rgba(255,255,255,.2);border-radius:.7rem;background:#ffffff0f;color:#9ca3af;font-weight:800;font-size:.95rem;cursor:not-allowed}.promo-close:not(:disabled){border-color:#6bffd0;background:#6bffd0;color:#0a0a0f;cursor:pointer;box-shadow:3px 3px #000}.promo-close:not(:disabled):active{transform:translate(2px,2px);box-shadow:1px 1px #000}.promo-image{display:block;flex:1 1 auto;width:100%;height:auto;min-height:0;object-fit:contain;background:#0a0a0f}.promo-sr-text,.promo-sr-status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media(max-width:480px){.promo-card{--promo-topbar: 3.4rem;border-width:2px;border-radius:.8rem;box-shadow:5px 5px #000}.promo-topbar{gap:.6rem;padding:.4rem .6rem}.promo-timer-text{font-size:.85rem}.promo-close{padding:0 .8rem;font-size:.85rem}}@media(max-height:430px)and (orientation:landscape){.promo-card{flex-direction:row;width:auto;max-width:100%;height:calc(100vh - 1rem);height:calc(100dvh - 1rem);max-height:100%}.promo-topbar{flex:0 0 10.5rem;flex-direction:column;align-items:stretch;justify-content:center;gap:.8rem;min-height:0;padding:.6rem .7rem;border-bottom:0;border-right:2px solid rgba(107,255,208,.35)}.promo-timer{flex:0 0 auto}.promo-image{flex:1 1 0;min-width:0;width:auto;height:100%;aspect-ratio:var(--promo-ratio);object-fit:contain}}.promo-overlay.is-free{cursor:pointer}.promo-overlay.is-free .promo-card{cursor:default}.promo-title{flex:1 1 auto;min-width:0;color:#f4f4f5;font-weight:800;font-size:1.05rem;line-height:1.25}.promo-overlay.is-free .promo-close{color:#0a0a0f}@media(max-width:480px){.promo-title{font-size:.9rem}}@media(max-height:430px)and (orientation:landscape){.promo-title{flex:0 0 auto;font-size:.9rem}}@media(pointer:coarse){html,body{touch-action:manipulation}}@media(pointer:coarse){.external-done-badge{width:2.75rem;height:2.75rem}#profile-content button[onclick*=editDisplayNickname]{position:relative}#profile-content button[onclick*=editDisplayNickname]:after{content:"";position:absolute;inset:-12px}input[type=file]{min-height:44px;font-size:16px}input[type=file]::file-selector-button{min-height:36px;margin-right:.6rem}}
