:root{--bg-main:#0a0a0a;--bg-card:#161616;--bg-elevated:#1e1e1e;--bg-hover:#242424;--bg-active:#0a66c21f;--border-color:#2a2a2a;--border-strong:#3a3a3a;--accent-blue:#0a66c2;--accent-blue-bright:#0d7aeb;--accent-blue-glow:#0a66c240;--accent-blue-soft:#0a66c214;--text-primary:#e6e6e6;--text-secondary:#b0b7c3;--text-muted:#7d8590;--text-faint:#565d66;--text-code:#c9d1d9;--color-easy:#2ea043;--color-medium:#f5c542;--color-hard:#da3633;--color-success:#2ea043;--color-danger:#da3633;--color-warning:#f5c542;--color-info:#0d7aeb;--page-gutter:clamp(16px, 4vw, 56px);--page-gutter-compact:16px;--syntax-keyword:#61afef;--syntax-string:#e5c07b;--syntax-function:#d19a66;--syntax-comment:#7f848e;--syntax-number:#d19a66;--syntax-variable:#e06c75;--syntax-type:#56b6c2;--font-ui:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-code:"JetBrains Mono", "Fira Code", "Cascadia Code", Consolas, monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow:auto}body{background:var(--bg-main);color:var(--text-primary);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{flex-direction:column;min-height:100vh;display:flex}*{scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{width:0;height:0;display:none}::selection{color:var(--text-primary);background:#0a66c24d}:focus-visible{outline:2px solid var(--accent-blue-bright);outline-offset:2px}input:-webkit-autofill{-webkit-text-fill-color:var(--text-primary);-webkit-box-shadow:0 0 0px 1000px var(--bg-card) inset;transition:background-color 5000s ease-in-out}input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text-primary);-webkit-box-shadow:0 0 0px 1000px var(--bg-card) inset;transition:background-color 5000s ease-in-out}input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text-primary);-webkit-box-shadow:0 0 0px 1000px var(--bg-card) inset;transition:background-color 5000s ease-in-out}.prevent-select{-webkit-user-select:none;user-select:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.fade-in{animation:.2s ease-out fadeIn}.slide-up{animation:.3s ease-out slideUp}.session-state{background:var(--bg-main);min-height:100dvh;color:var(--text-primary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:32px 20px;display:flex}.auth-loading-label{justify-content:center;align-items:center;gap:9px;display:inline-flex}.auth-loading-label svg{animation:1s linear infinite spin}.auth-route-skeleton,.route-skeleton{background:radial-gradient(ellipse at 50% 0%, var(--accent-blue-soft), transparent 52%), var(--bg-main);box-sizing:border-box;place-items:center;min-height:calc(100dvh - 112px);padding:clamp(16px,4vw,48px);display:grid;overflow:hidden}.auth-route-skeleton{min-height:100dvh}.auth-route-skeleton-card{border:1px solid var(--border-color);background:color-mix(in srgb, var(--bg-elevated) 94%, transparent);border-radius:16px;gap:16px;width:min(100%,440px);padding:clamp(22px,5vw,38px);display:grid;box-shadow:0 24px 70px #00000038}.loading-skeleton{border:1px solid var(--border-color);background:linear-gradient(105deg, transparent 30%, #ffffff0d 48%, transparent 66%), var(--bg-elevated);background-size:220% 100%;border-radius:12px;animation:1.5s ease-in-out infinite loading-sheen}.loading-skeleton-mark{border-radius:14px;width:48px;height:48px}.loading-skeleton-title{width:64%;height:26px}.loading-skeleton-copy{width:92%;height:14px;margin-bottom:8px}.loading-skeleton-field{border-radius:8px;height:48px}.loading-skeleton-submit{background-color:var(--accent-blue-soft);border-radius:8px;height:44px;margin-top:8px}.page-loading-skeleton{width:min(100%,1280px);padding:clamp(20px, 4vw, 48px) var(--page-gutter);gap:16px;margin:0 auto;display:grid}.page-loading-skeleton-compact{gap:12px;width:100%;padding:0}.page-loading-skeleton-heading{width:min(54%,480px);height:42px}.page-loading-skeleton-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.page-loading-skeleton-card{min-height:142px}.page-loading-skeleton-compact .page-loading-skeleton-heading{width:min(42%,320px);height:22px}.page-loading-skeleton-compact .page-loading-skeleton-card{min-height:76px}.page-loading-skeleton-compact .page-loading-skeleton-cards{grid-template-columns:1fr}.leaderboard-loading-skeleton{gap:1px;padding:8px 16px;display:grid}.leaderboard-loading-row{border-bottom:1px solid var(--border-color);grid-template-columns:50px minmax(0,1fr) minmax(0,1fr) 120px;gap:12px;padding:10px 0;display:grid}.leaderboard-loading-cell{border-radius:4px;height:14px}.route-skeleton-content{gap:20px;width:min(100%,1280px);display:grid}.route-skeleton-heading{height:clamp(100px,18vh,150px)}.route-skeleton-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.route-skeleton-card{min-height:180px}.route-skeleton-fullscreen{min-height:100dvh}@keyframes loading-sheen{to{background-position-x:-220%}}.session-state>svg{color:var(--accent-blue-bright)}.session-state .session-state-icon{animation:1s linear infinite spin}.session-state h1{font-size:20px}.session-state p{max-width:440px;color:var(--text-muted);font-size:14px;line-height:1.6}.session-state .btn-primary{margin-top:4px}.difficulty-badge{font-size:11px;font-weight:600;font-family:var(--font-ui);letter-spacing:.3px;border-radius:20px;align-items:center;gap:4px;padding:2px 10px;display:inline-flex}.difficulty-badge.easy{color:var(--color-easy);background:#2ea0431f;border:1px solid #2ea0434d}.difficulty-badge.medium{color:var(--color-medium);background:#d299221f;border:1px solid #d299224d}.difficulty-badge.hard{color:var(--color-hard);background:#da36331f;border:1px solid #da36334d}.status-tag{font-size:11px;font-weight:600;font-family:var(--font-ui);border-radius:20px;align-items:center;gap:4px;padding:2px 10px;display:inline-flex}.status-tag.passed{color:var(--color-success);background:#2ea0431f;border:1px solid #2ea0434d}.status-tag.failed{color:var(--color-danger);background:#da36331f;border:1px solid #da36334d}.status-tag.accepted{color:var(--color-success);background:#2ea0431f;border:1px solid #2ea0434d}@media (prefers-reduced-motion:reduce){.session-state .session-state-icon,.auth-loading-label svg,.loading-skeleton{animation:none}}.btn-primary{background:var(--accent-blue);color:#fff;font-size:13px;font-weight:600;font-family:var(--font-ui);cursor:pointer;border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 20px;transition:all .15s;display:inline-flex}.btn-primary:hover{background:var(--accent-blue-bright);box-shadow:0 0 12px var(--accent-blue-glow)}.btn-primary:disabled{background:var(--bg-hover);color:var(--text-muted);cursor:not-allowed;box-shadow:none}.btn-secondary{color:var(--text-secondary);border:1px solid var(--border-strong);font-size:13px;font-weight:500;font-family:var(--font-ui);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:6px;padding:8px 20px;transition:all .15s;display:inline-flex}.btn-secondary:hover{border-color:var(--accent-blue-bright);color:var(--text-primary)}.home-page>section,.home-page>div{width:100%}@media (width<=800px){.home-page [style*=grid-template-columns]{grid-template-columns:1fr!important}}@media print{nav,footer,button{display:none!important}body{color:#111;background:#fff}}.tab-btn{color:var(--text-muted);font-size:13px;font-family:var(--font-ui);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:7px 16px;font-weight:500;transition:all .15s;display:inline-flex}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:var(--text-primary);border-bottom-color:var(--accent-blue-bright)}.tab-btn.active svg{color:var(--accent-blue-bright)}.code-text{font-family:var(--font-code)}.challenge-device-notice{background:var(--bg-main);min-height:100vh;color:var(--text-primary);font-family:var(--font-ui);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:28px 20px;display:flex}.challenge-device-notice>svg{color:var(--accent-blue-bright)}.battle-room-page,.create-battle-page,.leaderboard-page{width:100%;max-width:1600px;padding:20px var(--page-gutter) 48px!important;margin:0 auto!important}.battle-room-hero{isolation:isolate;background:radial-gradient(at 82% 45%,#0d7aeb33,#0000 40%),radial-gradient(at 4% 100%,#2a6daf24,#0000 48%),linear-gradient(115deg,#0c1219 0%,#101923 58%,#111820 100%);border:0;border-radius:14px;justify-content:space-between;align-items:center;gap:24px;min-height:228px;margin-bottom:28px;padding:clamp(24px,4vw,42px);display:flex;position:relative;overflow:hidden}.battle-room-quote{color:#d7dce3;border-left:2px solid #e7bd63;align-items:baseline;gap:10px;margin:0 0 14px;padding-left:13px;font-size:13px;display:flex}.battle-room-quote p{font-style:italic}.battle-room-quote cite{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-style:normal;font-weight:700}.battle-room-hero:before{z-index:-1;content:"";background-image:linear-gradient(#5ea7f40e 1px,#0000 1px),linear-gradient(90deg,#5ea7f40e 1px,#0000 1px);background-size:34px 34px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(105deg,#0000 15%,#000 100%);mask-image:linear-gradient(105deg,#0000 15%,#000 100%)}.battle-room-hero-copy{z-index:1;max-width:670px;position:relative}.battle-room-hero-eyebrow{color:#83baff;letter-spacing:.15em;margin-bottom:11px;font-size:10px;font-weight:750}.battle-room-hero h1{color:var(--text-primary);letter-spacing:-.04em;align-items:center;gap:11px;margin-bottom:9px;font-size:clamp(25px,3vw,34px);font-weight:760;display:flex}.battle-room-hero h1 svg{color:var(--accent-blue-bright)}.battle-room-hero-copy>p:not(.battle-room-hero-eyebrow){max-width:580px;color:var(--text-secondary);font-size:13px;line-height:1.75}.battle-room-hero-flow{color:#b8d8fb;letter-spacing:.13em;align-items:center;gap:10px;margin-top:18px;font-size:9px;font-weight:750;display:inline-flex}.battle-room-hero-flow i{background:var(--accent-blue-bright);border-radius:50%;width:4px;height:4px}.battle-room-hero-art{color:#8fc4fb;flex:none;align-content:center;justify-items:center;gap:12px;width:200px;min-height:165px;display:grid;position:relative}.battle-room-hero-art-ring{aspect-ratio:1;border:1px solid #7bb8f43d;border-radius:50%;width:145px;position:absolute;box-shadow:0 0 0 18px #7bb8f409,0 0 40px #0d7aeb21}.battle-room-hero-art>svg,.battle-room-hero-art-caption{position:relative}.battle-room-hero-art-caption{color:#8398ad;letter-spacing:.14em;font-size:8px;font-weight:750}@media (width<=700px){.battle-room-hero-art{display:none}.battle-room-hero{min-height:0;margin-bottom:20px;padding:24px 20px}}.challenge-device-notice h1{font-size:clamp(21px,5vw,28px)}.challenge-device-notice p{max-width:480px;color:var(--text-muted);font-size:14px;line-height:1.7}@media (width<=900px){.app-navbar{flex-wrap:wrap;gap:6px 12px;min-height:56px;height:auto!important;padding:8px 16px!important}.app-navbar>div:first-child{flex-wrap:wrap;flex:100%;gap:6px 16px!important}.app-navbar>div:first-child>div{flex-wrap:wrap}.app-navbar a{max-width:100%}.app-navbar>div:last-child{margin-left:auto}.about-page{padding-top:40px}.battle-room-page,.create-battle-page,.leaderboard-page{padding:20px var(--page-gutter-compact) 48px!important}.battle-room-page [style*=grid-template-columns],.create-battle-page [style*=grid-template-columns]{grid-template-columns:repeat(2,minmax(0,1fr))!important}.battle-room-page [style*=min-width],.create-battle-page [style*=min-width]{min-width:0!important}.leaderboard-page [style*=grid-template-columns]{min-width:620px}}@media (width<=600px){.app-navbar{padding:8px 12px!important}.app-navbar>div:first-child{gap:6px 10px!important}.app-navbar>div:first-child>div{flex:100%;gap:2px}.app-navbar>div:first-child>div a{padding:7px 9px!important;font-size:12px!important}.app-navbar>div:last-child>button>span{text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.auth-page{padding:16px!important}.auth-page section{padding:22px!important}.battle-room-page,.create-battle-page,.leaderboard-page{padding:20px var(--page-gutter-compact) 40px!important}.battle-room-page [style*=grid-template-columns],.create-battle-page [style*=grid-template-columns]{grid-template-columns:minmax(0,1fr)!important}.battle-room-page [style*="padding: 28px 32px"],.create-battle-page [style*="padding: 28px 32px"]{padding:20px!important}.battle-room-page [style*="display: flex"],.create-battle-page [style*="display: flex"]{max-width:100%}.battle-room-page table,.leaderboard-page table{max-width:100%;display:block;overflow-x:auto}.battle-room-page input,.battle-room-page select,.battle-room-page textarea,.create-battle-page input,.create-battle-page select,.create-battle-page textarea{max-width:100%}.profile-page{padding:24px 16px 40px!important}.profile-page .profile-hero{flex-wrap:wrap;padding:20px!important}}@media (width<=380px){.app-navbar>div:first-child>div a{gap:4px!important;padding:6px!important;font-size:11px!important}.app-navbar>div:first-child>div a svg{width:14px}.about-hero-copy h1{font-size:34px}}html,body,#root{min-width:0}body{overflow-x:hidden}@media (width<=900px){.app-navbar{min-height:56px;position:sticky;flex-wrap:nowrap!important;height:56px!important;padding:0 16px!important;display:flex!important}.app-navbar>div.app-navbar-main{flex-wrap:nowrap!important;flex:auto!important;gap:0!important;display:flex!important}.app-navbar .app-navbar-links,.app-navbar .app-navbar-account{display:none!important}.app-navbar-mobile-toggle{border:1px solid var(--border-color);width:42px;height:42px;color:var(--text-primary);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.app-navbar-mobile-menu{z-index:200;background:var(--bg-elevated);border-bottom:1px solid var(--border-color);flex-direction:column;padding:8px 12px 12px;display:flex;position:absolute;top:calc(100% + 1px);left:0;right:0;box-shadow:0 12px 24px #00000052}.app-navbar-mobile-menu a,.app-navbar-mobile-menu button{min-height:44px;color:var(--text-secondary);font:inherit;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:10px;padding:8px 12px;font-size:14px;text-decoration:none;display:flex}.app-navbar-mobile-menu a.active{background:var(--accent-blue-soft);color:var(--text-primary)}.app-navbar-mobile-menu button{color:var(--color-danger);cursor:pointer}.app-navbar-mobile-user{border-top:1px solid var(--border-color);color:var(--text-primary);flex-direction:column;gap:4px;margin-top:8px;padding:12px;font-size:12px;display:flex}.app-navbar-mobile-user span{color:var(--text-muted);overflow-wrap:anywhere}.app-navbar-mobile-menu [role=alert]{color:var(--color-danger);padding:4px 12px;font-size:12px}.battle-room-tabs-wrap{margin-bottom:24px}.battle-room-page>.battle-room-tabs-wrap{margin-right:0;padding-right:0;overflow:visible}.battle-room-tabs-toggle{border:1px solid var(--border-color);background:var(--bg-elevated);width:100%;min-height:44px;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;font-size:14px;display:inline-flex}.battle-room-tabs{border:1px solid var(--border-color);background:var(--bg-elevated);border-radius:8px;flex-direction:column;gap:4px;margin-top:6px;padding:6px;display:none}.battle-room-tabs[data-open=true]{display:flex}.battle-room-tabs .tab-btn{border:1px solid var(--border-color);text-align:left;background:#ffffff06;border-radius:7px;min-height:42px;padding:8px 10px}.battle-room-tabs .tab-btn.active{background:var(--accent-blue-soft);border-color:#0d7aeb73}}@media (width>=901px){.app-navbar-mobile-toggle,.app-navbar-mobile-menu,.battle-room-tabs-toggle{display:none}.battle-room-tabs{gap:8px;margin-bottom:24px;display:flex}.battle-room-tabs .tab-btn{border:1px solid var(--border-color);background:#ffffff06;border-radius:8px;min-height:40px;padding:8px 14px}.battle-room-tabs .tab-btn.active{background:var(--accent-blue-soft);border-color:#0d7aeb73}}img,svg,video,canvas{max-width:100%}.home-page,.about-page,.terms-page,.profile-page,.battle-room-page,.create-battle-page,.leaderboard-page{min-width:0}.home-page h1,.home-page h2,.home-page h3,.about-page h1,.about-page h2,.about-page h3,.terms-page h1,.terms-page h2,.profile-page h1,.profile-page h2,.battle-room-page h1,.battle-room-page h2,.create-battle-page h1,.create-battle-page h2,.leaderboard-page h1,.leaderboard-page h2{overflow-wrap:anywhere}.app-navbar-main,.app-navbar-links,.app-navbar-account{min-width:0}.app-navbar-links{gap:2px;display:flex}.app-navbar-links a{color:var(--text-muted);border-radius:6px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;text-decoration:none;transition:all .15s;display:flex}.app-navbar-links a.active{background:var(--accent-blue-soft);color:var(--text-primary);font-weight:600}.room-list-scroll{overscroll-behavior-x:contain;width:100%;overflow-x:auto}.room-list-created .room-list-row,.room-list-joined .room-list-row{min-width:650px}.room-list-created .room-list-row{grid-template-columns:100px minmax(180px,1fr) 90px 70px 90px 90px}.room-list-joined .room-list-row{grid-template-columns:100px minmax(180px,1fr) 80px 80px 100px}@media (width<=600px){.app-navbar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 8px!important;display:grid!important}.app-navbar-main{display:contents!important}.app-navbar-main>a:first-child{grid-area:1/1;font-size:16px!important}.app-navbar-main>a:first-child svg{width:20px}.app-navbar-links{overscroll-behavior-x:contain;scrollbar-width:none;grid-area:2/1/auto/-1;max-width:100%;overflow-x:auto;flex-wrap:nowrap!important;gap:2px!important;display:flex!important}.app-navbar-links::-webkit-scrollbar{display:none}.app-navbar-links a{white-space:nowrap;flex:none;min-height:38px}.app-navbar-account{grid-area:1/2;margin-left:0!important}.app-navbar-account>button{gap:6px!important;padding:3px 4px!important}.app-navbar-account>button>span{max-width:min(26vw,120px)!important}.app-footer{flex-wrap:wrap;gap:8px 12px;align-items:flex-start!important;padding:12px 16px!important}.app-footer>div:last-child{flex-wrap:wrap;gap:6px 12px!important}.tab-btn{white-space:nowrap;flex:none;min-height:40px;padding:7px 11px}.battle-room-page>div:nth-child(2){overscroll-behavior-x:contain;scrollbar-width:none;margin-right:-16px;padding-right:16px;overflow-x:auto;gap:4px!important}.battle-room-page .room-list-created .room-list-row{grid-template-columns:100px minmax(180px,1fr) 90px 70px 90px 90px!important;min-width:690px!important}.battle-room-page .room-list-joined .room-list-row{grid-template-columns:100px minmax(180px,1fr) 80px 80px 100px!important;min-width:600px!important}.create-step-tabs{overscroll-behavior-x:contain;scrollbar-width:none;padding-bottom:6px;overflow-x:auto;flex-wrap:nowrap!important}.create-step-tab{white-space:nowrap;flex:none;min-height:40px}.create-battle-page>div[style*="padding: 24px"],.create-battle-page>div[style*="padding: 28px"]{padding:16px!important}.leaderboard-page>div:first-child>div:last-child{width:100%}.leaderboard-page>div:first-child>div:last-child>button{justify-content:center;width:100%}.leaderboard-page p{overflow-wrap:anywhere;line-height:1.7}.battle-room-page input,.battle-room-page select,.battle-room-page textarea,.create-battle-page input,.create-battle-page select,.create-battle-page textarea,.auth-page input,.auth-page select,.auth-page textarea{font-size:16px!important}.challenge-device-notice{min-height:100dvh;padding:24px 18px}}@media (width<=380px){.app-navbar{padding:8px 10px!important}.app-navbar-links a{padding:6px 8px!important;font-size:11px!important}.app-footer{font-size:11px!important}.battle-room-page,.create-battle-page,.leaderboard-page{padding-left:12px!important;padding-right:12px!important}.route-skeleton-cards{grid-template-columns:1fr}.route-skeleton-card{min-height:90px}}.app-shell{background:var(--bg-main);flex-direction:column;min-height:100vh;display:flex}.app-navbar{z-index:400;background:var(--bg-elevated);border-bottom:1px solid var(--border-color);font-family:var(--font-ui);flex:0 0 68px;justify-content:space-between;align-items:center;gap:16px;position:sticky;top:0;height:68px!important;min-height:68px!important;padding:0 20px!important;display:flex!important}.app-navbar-brand-group{flex-wrap:nowrap;flex:0 auto;align-items:center;gap:12px;min-width:0;display:flex}.app-navbar-brand{color:var(--accent-blue-bright);letter-spacing:-.5px;white-space:nowrap;align-items:center;gap:8px;font-size:20px;font-weight:700;text-decoration:none;display:inline-flex}.app-navbar-account{align-items:center;gap:14px;margin-left:auto;display:flex!important}.app-navbar-role{color:var(--text-muted);font-size:12px}.app-navbar-account-menu{position:relative}.app-navbar-account-button{color:var(--text-primary);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:9px;padding:4px 8px;font-size:12px;display:flex}.app-navbar-account-button:hover,.app-navbar-account-button[aria-expanded=true]{border-color:var(--border-color);background:var(--bg-card)}.app-navbar-account-popover{z-index:450;border:1px solid var(--border-color);background:var(--bg-elevated);border-radius:8px;flex-direction:column;min-width:220px;padding:8px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 10px 28px #0000004d}.app-navbar-account-details{border-bottom:1px solid var(--border-color);color:var(--text-primary);flex-direction:column;gap:4px;padding:8px 10px 12px;font-size:12px;display:flex}.app-navbar-account-details span{color:var(--text-muted);overflow-wrap:anywhere}.app-navbar-account-popover a,.app-navbar-account-popover button{width:100%;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:9px 10px;font-size:12px;text-decoration:none;display:flex}.app-navbar-account-popover a:hover,.app-navbar-account-popover button:hover{background:var(--bg-card)}.app-navbar-account-popover button{color:var(--color-danger)}.app-navbar-account-popover [role=alert]{color:var(--color-danger);margin:4px 10px;font-size:11px}.app-navbar-sign-in{color:var(--accent-blue-bright);font-size:13px}.app-navbar-mobile-toggle{border:1px solid var(--border-color);width:40px;height:40px;color:var(--text-primary);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;display:none!important}.app-shell-body{flex:1 0 auto;min-height:0;display:flex}.role-navigation{z-index:250;border-right:1px solid var(--border-color);background:var(--bg-elevated);box-sizing:border-box;flex-direction:column;flex:0 0 248px;width:248px;padding:20px 12px;display:flex}.role-navigation-heading{flex-direction:column;gap:4px;padding:4px 10px 16px;display:flex}.role-navigation-role{color:var(--text-primary);font-size:13px;font-weight:650}.role-navigation-caption{color:var(--text-muted);font-size:11px}.role-navigation-links{flex-direction:column;gap:3px;display:flex;overflow-y:auto}.role-navigation-links a{min-height:40px;color:var(--text-secondary);border-radius:7px;align-items:center;gap:11px;padding:8px 10px;font-size:13px;line-height:1.35;text-decoration:none;display:flex}.role-navigation-links a:hover{background:var(--bg-card);color:var(--text-primary)}.role-navigation-links a.active{background:var(--accent-blue-soft);color:var(--text-primary);font-weight:600}.role-navigation-links a.active svg{color:var(--accent-blue-bright)}.role-navigation-links a svg{flex:none}.role-navigation-links a.daily-challenge-link{color:var(--text-secondary);background:0 0;font-weight:400}.role-navigation-links a.daily-challenge-link .daily-challenge-lock{color:#f2c95f}.role-navigation-links a.daily-challenge-link.active{background:var(--accent-blue-soft);color:var(--text-primary);font-weight:600}.role-navigation-backdrop{display:none}.app-shell-content{flex:auto;min-width:0;padding:0}.auth-terms-consent{border:1px solid var(--border-color);background:linear-gradient(145deg, var(--bg-card), #ffffff05);border-radius:9px;padding:13px 14px}.auth-terms-consent input{flex:none;width:16px;height:16px;margin-top:2px}.auth-terms-consent a{text-underline-offset:2px;font-weight:650;text-decoration:underline}.development-route-page{width:min(calc(100% - var(--page-gutter) - var(--page-gutter)), 840px);border:1px solid var(--border-color);background:var(--bg-elevated);color:var(--text-primary);box-sizing:border-box;font-family:var(--font-ui);border-radius:14px;margin:clamp(28px,6vh,64px) auto;padding:clamp(22px,4vw,38px)}.development-route-icon{background:var(--accent-blue-soft);width:42px;height:42px;color:var(--accent-blue-bright);border-radius:10px;place-items:center;display:grid}.development-route-eyebrow{color:var(--accent-blue-bright);letter-spacing:.07em;text-transform:uppercase;margin:20px 0 8px;font-size:11px;font-weight:700}.development-route-page h1{margin:0;font-size:clamp(24px,4vw,32px);line-height:1.25}.development-route-summary{color:var(--text-secondary);margin:14px 0 24px;font-size:14px;line-height:1.7}.development-route-detail{border:1px solid var(--border-color);background:var(--bg-main);border-radius:9px;margin-top:14px;padding:16px}.development-route-detail h2{margin:0 0 7px;font-size:13px}.development-route-detail p,.development-route-page>p:not(.development-route-eyebrow){color:var(--text-muted);overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.65}.development-route-link{color:var(--accent-blue-bright);align-items:center;gap:8px;margin-top:20px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.development-route-link:hover{text-decoration:underline}.certificate-library{width:min(calc(100% - var(--page-gutter) - var(--page-gutter)), 1040px);color:var(--text-primary);font-family:var(--font-ui);margin:clamp(28px,6vh,64px) auto}.certificate-library-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.certificate-library-header>svg{color:var(--accent-blue-bright);flex:none;margin-top:12px}.certificate-eyebrow{color:var(--accent-blue-bright);letter-spacing:.07em;font-size:11px;font-weight:700}.certificate-library-header h1{margin:8px 0;font-size:clamp(26px,4vw,34px)}.certificate-library-header p,.certificate-card-content p,.certificate-empty-state p{color:var(--text-secondary);font-size:13px;line-height:1.6}.certificate-library-header p{max-width:620px;margin:0}.certificate-list{gap:12px;display:grid}.certificate-card{border:1px solid var(--border-color);background:var(--bg-elevated);border-radius:12px;align-items:center;gap:16px;padding:18px;display:flex}.certificate-card-icon{background:var(--accent-blue-soft);width:44px;height:44px;color:var(--accent-blue-bright);border-radius:10px;flex:none;place-items:center;display:grid}.certificate-card-content{flex:auto;min-width:0}.certificate-card-content h2{margin:0 0 4px;font-size:16px}.certificate-card-content p{overflow-wrap:anywhere;margin:3px 0 0}.certificate-preview{flex:none;min-height:38px}.certificate-message,.certificate-empty-state{border:1px solid var(--border-color);background:var(--bg-elevated);color:var(--text-secondary);border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:18px;font-size:13px;display:flex}.certificate-error{border-color:var(--error-color,#dc2626);color:var(--text-primary);margin-bottom:16px}.certificate-error button{flex:none;align-items:center;gap:6px;display:inline-flex}.certificate-empty-state{text-align:center;flex-direction:column;justify-content:center;min-height:180px}.certificate-empty-state>svg{color:var(--accent-blue-bright)}.certificate-empty-state h2{color:var(--text-primary);margin:0;font-size:17px}.certificate-empty-state p{max-width:480px;margin:0}.certificate-download-confirmation-backdrop{z-index:1;background:#020617d1;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.certificate-download-confirmation{color:#f8fafc;background:#0f172a;border:1px solid #334155;border-radius:14px;width:min(100%,440px);padding:24px;box-shadow:0 24px 80px #00000059}.certificate-download-confirmation h3{margin:0 0 8px;font-size:19px}.certificate-download-confirmation p{color:#cbd5e1;margin:0;font-size:14px;line-height:1.6}.certificate-download-confirmation label{color:#cbd5e1;align-items:center;gap:8px;margin-top:16px;font-size:13px;display:flex}.certificate-download-confirmation-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.certificate-download-confirmation-actions button{color:#f8fafc;cursor:pointer;background:#1e293b;border:1px solid #334155;border-radius:8px;min-height:38px;padding:0 14px}.certificate-download-confirmation-actions button:last-child{background:#2563eb;border-color:#2563eb}@media (width<=900px){.app-navbar{flex:0 0 56px;height:56px!important;min-height:56px!important;padding:0 14px!important}.app-navbar-mobile-toggle{display:inline-flex!important}.app-navbar .app-navbar-brand-group{flex-wrap:nowrap!important;flex:0 auto!important}.app-navbar-account{margin-left:auto!important;display:flex!important}.app-navbar-role{display:none}.role-navigation{visibility:hidden;width:min(288px,100vw - 52px);transition:transform .16s,visibility .16s;position:fixed;top:56px;bottom:0;left:0;transform:translate(-105%);box-shadow:10px 0 28px #0003}.role-navigation.is-open{visibility:visible;transform:translate(0)}.role-navigation-backdrop{z-index:240;background:#0000006b;border:0;display:block;position:fixed;inset:56px 0 0}.development-route-page{width:min(calc(100% - var(--page-gutter-compact) - var(--page-gutter-compact)), 840px);margin:24px auto}.certificate-library{width:min(calc(100% - var(--page-gutter-compact) - var(--page-gutter-compact)), 1040px);margin:24px auto}}@media (width<=640px){.certificate-card{flex-wrap:wrap;align-items:flex-start}.certificate-card-content{flex-basis:calc(100% - 60px)}.certificate-preview{width:100%}}@media (prefers-reduced-motion:reduce){.role-navigation{transition:none}}.desktop-app-shell{flex-direction:column;width:100%;height:100vh;min-height:600px;display:flex;overflow:hidden}.desktop-titlebar{z-index:500;border-bottom:1px solid var(--border-color);height:48px;color:var(--text-primary);-webkit-user-select:none;user-select:none;-webkit-app-region:drag;background:linear-gradient(110deg,#17191e,#111216);flex:0 0 48px;justify-content:space-between;align-items:center;padding:0 10px 0 20px;display:flex}.desktop-titlebar-brand{color:#f4f6fa;letter-spacing:-.015em;align-items:center;gap:11px;font-size:14px;display:inline-flex}.desktop-titlebar-mark{object-fit:contain;flex:0 0 22px;width:22px;height:22px;display:block}.desktop-titlebar-actions{-webkit-app-region:no-drag;align-items:stretch;height:100%;margin-left:auto;display:flex}.desktop-titlebar-button{color:#c3c8d2;cursor:pointer;background:0 0;border:0;border-radius:0;place-items:center;width:48px;display:grid}.desktop-titlebar-button:hover{color:#fff;background:#ffffff17}.desktop-titlebar-close:hover{color:#fff;background:#c8323e}.desktop-titlebar-button:focus-visible{z-index:1;outline-offset:-3px}.desktop-app-shell.fullscreen-app-shell .desktop-titlebar{display:none}.desktop-app-shell.fullscreen-app-shell .app-shell-body{grid-template-columns:minmax(0,1fr)}.desktop-app-shell .app-shell-body{flex:auto;grid-template-columns:252px minmax(0,1fr);min-height:0;display:grid}.desktop-app-shell .app-shell-body.desktop-app-shell-unauthenticated{grid-template-columns:minmax(0,1fr)}.desktop-app-shell .role-navigation.desktop-navigation{z-index:1;visibility:visible;width:252px;height:100%;min-height:0;box-shadow:none;padding:18px 12px 12px;position:relative;top:auto;bottom:auto;left:auto;transform:none}.desktop-navigation-brand{color:var(--text-muted);flex:0 0 66px;align-content:center;gap:3px;margin-bottom:20px;padding:0 11px;font-size:10px;font-weight:650;text-decoration:none;display:grid;overflow:hidden}.desktop-navigation-brand strong{color:var(--text-primary);letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:750;overflow:hidden}.desktop-app-shell .role-navigation-heading{padding-top:17px;padding-bottom:12px}.desktop-app-shell .role-navigation-links{flex:1;min-height:0}.desktop-app-shell .role-navigation-links a{min-height:42px;padding:9px 11px}.desktop-navigation-account{border-top:1px solid var(--border-color);gap:5px;padding-top:12px;display:grid}.desktop-navigation-profile{min-width:0;color:var(--text-primary);align-items:center;gap:9px;padding:6px 5px;text-decoration:none;display:flex}.desktop-navigation-profile>span{gap:3px;min-width:0;display:grid}.desktop-navigation-profile strong,.desktop-navigation-profile small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.desktop-navigation-profile strong{font-size:11px;font-weight:600}.desktop-navigation-profile small{color:var(--text-muted);font-size:10px}.desktop-navigation-signout{min-height:36px;color:var(--text-secondary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:9px;padding:8px 9px;font-size:12px;display:flex}.desktop-navigation-signout:hover{background:var(--bg-hover);color:var(--color-danger)}.desktop-navigation-error{color:var(--color-danger);margin:2px 8px 0;font-size:10px;line-height:1.5}.desktop-app-shell .app-shell-content{background:var(--bg-main);width:100%;height:100%;min-height:0;overflow:auto}.desktop-app-shell .weekly-coding-page{height:100%}.desktop-app-shell .weekly-instructions-page{min-height:100%}@media (width<=900px){.desktop-app-shell .app-shell-body{grid-template-columns:220px minmax(0,1fr)}.desktop-app-shell .role-navigation.desktop-navigation{width:220px}}@media (width<=680px){.desktop-app-shell .app-shell-body{grid-template-columns:minmax(0,1fr)}.desktop-app-shell .role-navigation.desktop-navigation{z-index:300;width:min(280px,100vw - 40px);height:calc(100vh - 48px);transition:transform .16s;position:fixed;top:48px;bottom:0;left:0;transform:translate(-105%)}.desktop-app-shell .role-navigation.desktop-navigation.is-open{transform:translate(0)}}.desktop-auth-page{background:radial-gradient(ellipse at 12% 14%, #0d7aeb1f, transparent 42%), var(--bg-main);grid-template-columns:minmax(0,1fr) minmax(380px,460px);align-items:stretch;gap:clamp(28px,5vw,72px);width:min(100%,1440px);min-height:100vh;margin:0 auto;padding:clamp(32px,6vh,72px) clamp(32px,6vw,88px)!important}.desktop-auth-intro{flex-direction:column;justify-content:space-between;min-width:0;padding:12px 0;display:flex}.desktop-auth-brand,.desktop-auth-card-brand{color:var(--accent-blue-bright);letter-spacing:-.035em;align-items:center;gap:9px;font-size:18px;font-weight:750;display:inline-flex}.desktop-auth-message{max-width:580px;padding:32px 0}.desktop-auth-icon{border:1px solid var(--accent-blue-glow);background:var(--accent-blue-soft);width:48px;height:48px;color:var(--accent-blue-bright);border-radius:13px;place-items:center;margin-bottom:26px;display:grid}.desktop-auth-eyebrow{color:var(--accent-blue-bright);letter-spacing:.14em;margin:0 0 12px;font-size:10px;font-weight:700}.desktop-auth-message h2{max-width:560px;color:var(--text-primary);letter-spacing:-.045em;margin:0;font-size:clamp(34px,4vw,54px);font-weight:700;line-height:1.08}.desktop-auth-message>p:last-child{max-width:440px;color:var(--text-muted);margin:20px 0 0;font-size:15px;line-height:1.8}.desktop-auth-assurance{color:var(--text-muted);align-items:center;gap:9px;font-size:11px;display:flex}.desktop-auth-assurance svg{color:var(--color-success);flex:none}.desktop-auth-card{place-self:center end;max-width:460px;box-shadow:0 24px 70px #00000057;background:var(--bg-card)!important;border-radius:16px!important;width:100%!important;padding:clamp(26px,3vw,42px)!important}.desktop-auth-card-brand{margin-bottom:26px;font-size:14px}.desktop-auth-card h1{letter-spacing:-.035em;font-size:25px!important}.desktop-auth-card>p:first-of-type{line-height:1.7;margin-bottom:25px!important}.desktop-auth-card form>div:first-child{gap:17px!important}.desktop-auth-card input:not([type=checkbox]){min-height:44px;background:var(--bg-main)!important;border-radius:8px!important}.desktop-auth-card .btn-primary,.desktop-auth-card .btn-secondary{border-radius:8px;min-height:44px}@media (width<=760px){.desktop-auth-page{grid-template-columns:minmax(0,1fr);gap:0;padding:24px!important}.desktop-auth-intro{display:none}.desktop-auth-card{justify-self:center}}
