/* chessX — shared flat brand system. Loaded last on every application surface. */
:root{
  --font:"DM Sans","Noto Sans","Noto Sans Armenian","Segoe UI",sans-serif;
  --font-display:var(--font);--display:var(--font);
  --bg:#F8F8F6;--bg-2:#F0F1EF;--surface:#FFFFFF;--surface-2:#F8F8F6;
  --border:#E2E3DF;--border-2:#C7CBCB;--text:#111111;--text-2:#444950;--muted:#6B7280;--faint:#757B82;
  --accent:#111111;--accent-2:#33373D;--accent-soft:#FFF3C7;--accent-ink:#111111;
  --gold:#FFC629;--gold-soft:#FFF3C7;--gold-ink:#735500;
  --green:#25754D;--green-soft:#E8F5EC;--green-ink:#216140;
  --blue:#28708A;--blue-soft:#CDEEF6;--blue-ink:#20566A;
  --amber:#A97500;--amber-soft:#FFF3C7;--amber-ink:#765000;
  --violet:#687480;--violet-soft:#ECF0F3;
  --shadow-sm:none;--shadow:0 6px 0 #11111108;--shadow-lg:0 18px 60px #11111120;
  --r-sm:8px;--r:14px;--r-lg:20px;--nav-w:264px;
}
body{font-size:16px;background:var(--bg);color:var(--text)}
h1,h2,h3,h4,.auth-display,.stat .v,.plan .price{font-family:var(--font);font-weight:700;letter-spacing:-.035em}
html[lang=hy] h1,html[lang=hy] h2,html[lang=hy] .auth-display{font-family:var(--font);letter-spacing:-.035em}
a{color:var(--text)}a:hover{color:#525861}
::selection{background:#FFC629;color:#111}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #28708A;outline-offset:4px}
.brand{display:inline-flex;align-items:center;gap:10px;color:#111;flex-shrink:0}
.brand small{color:var(--muted);font-size:12px;line-height:1.4;margin-top:7px}
.boot-logo img{width:70px;height:78px}.boot-bar span{background:var(--gold)}
.eyebrow,.page-heading .eyebrow{font-size:12px;font-weight:700;letter-spacing:.09em;color:#6B7280}
.sidenav{background:#fff;border-right:1px solid var(--border);padding:25px 17px 16px}
.sidebar-brand-row{padding:0 10px 7px}.sidebar-brand-row .brand{gap:9px}
.nav-section-label{font-size:12px;color:#6B7280;padding:26px 13px 12px;letter-spacing:.08em}
.nav-list{gap:5px;scrollbar-color:#D2D5D5 transparent}
.nav-item{font-size:14px;min-height:44px;padding:11px 13px;border-radius:9px;color:#555B63;font-weight:500;gap:12px}
.nav-item svg{width:19px;height:19px;flex-basis:19px;stroke-width:1.8}
.nav-item:hover{background:#F1F3F3;color:#111}.nav-item.active{background:#FFC629;color:#111;font-weight:700}
.nav-active-dot{display:none}.nav-footer{border-color:var(--border);padding-top:14px}
.userchip{background:#F8F8F6;border-color:var(--border);border-radius:10px;padding:12px 10px}
.userchip .who b{font-size:13px}.userchip .who span{font-size:12px}.userchip>svg{color:#6B7280}
.userchip .av,.topbar-profile .av{background:#CDEEF6;color:#111;font-size:12px}
.nav-logout{font-size:13px}.topbar{background:#F8F8F6;border-color:var(--border);backdrop-filter:none}
.workspace-breadcrumb{font-size:13px}.breadcrumb-slash{color:#A3A8AC}
.lang-switch{background:#ECEEEC;border:1px solid #E2E3DF;border-radius:8px;padding:3px;gap:2px}
.lang-switch button{border-radius:5px;font-size:12px;min-height:30px;padding:5px 8px;font-weight:600;color:#6B7280}
.lang-switch button.active{background:#fff;color:#111;text-decoration:none;box-shadow:0 1px 2px #1111110A}
.content{padding-top:32px}.page-heading{align-items:center}.page-heading h1{font-size:clamp(30px,2.7vw,40px);font-weight:750}
.page-heading p{font-size:15px;line-height:1.7;margin-top:10px}
.workspace-footer{font-size:12px;color:#6B7280}
.btn{border-radius:8px;min-height:43px;font-size:14px;padding:11px 17px;font-weight:600;box-shadow:none}
.btn:hover{box-shadow:none;transform:none}.btn-primary,.btn-green,.btn-gold{background:#FFC629;border-color:#FFC629;color:#111}
.btn-primary:hover,.btn-green:hover,.btn-gold:hover{background:#EDB418;border-color:#EDB418;color:#111}
.btn-dark{background:#111;color:#fff}.btn-dark:hover{background:#33373D;color:#fff}
.btn-blue{background:#CDEEF6;border-color:#CDEEF6;color:#20566A}.btn-blue:hover{background:#B6E4EF}
.btn-soft{background:#FFF3C7;color:#111}.btn-ghost:hover{background:#ECEEEC}
.btn-danger{color:var(--danger-ink)}.btn-sm{font-size:12px;min-height:34px;border-radius:6px;padding:7px 10px}
.btn-lg{min-height:50px;font-size:15px;border-radius:9px}.btn-icon{width:39px;height:39px;min-height:39px;padding:8px}
.btn-icon.btn-sm{width:33px;height:33px;min-height:33px}.btn svg{width:17px;height:17px}
.card{border-radius:14px;padding:24px;border-color:var(--border);box-shadow:none}
.card-title h3{font-size:18px;font-weight:700}.card-title svg{color:#4C535B}
.card.hover:hover,.student .tile:hover{border-color:#A5ACAE;box-shadow:none;transform:translateY(-2px)}
.card.accent,.card .card.accent{background:#111;color:#fff}.card.accent .muted{color:#C8CED1}
.kpi .ico{background:#FFF3C7;color:#111;border-radius:10px;width:47px;height:47px;flex-basis:47px}
.kpi:nth-child(2) .ico{background:#CDEEF6}.kpi:nth-child(3) .ico{background:#EFF0F0}
.ico.red{background:var(--danger-soft);color:var(--danger-ink)}
.stat .v,.kpi .stat .v{font-size:34px;font-weight:750;letter-spacing:-.045em}.stat .l{font-size:13px;line-height:1.5}
.badge{font-size:12px;border-radius:6px;padding:4px 8px;font-weight:600}.badge.gold{background:#FFF3C7;color:#735500}
.badge.dark,.badge.count{background:#111;color:#fff}.badge.count{font-size:10px}.small{font-size:14px}.tiny{font-size:12px}
.field label,.auth-form .field label{font-size:14px;font-weight:600}.field .hint,.field .err{font-size:12px}
.input,select.input,textarea.input{font-size:15px;border-radius:8px;border-color:#C9CDCF;background:#fff;padding:12px 14px}
.input:hover{border-color:#929A9E}.input:focus,.pin-input input:focus{border-color:#111;box-shadow:0 0 0 3px #FFC62955}
.input::placeholder{color:#7E858D}.checkbox{font-size:14px}.checkbox input{accent-color:#111}
.seg{background:#ECEEEC;border-radius:9px}.seg button{font-size:14px;border-radius:6px}.seg button.active{background:#111;color:#fff}
.chip{font-size:14px;border-radius:8px}.chip.active{background:#FFC629;color:#111;border-color:#E9B31B}
.list-item{border-radius:10px}.list-item .body b{font-size:15px;font-weight:600}.list-item .body .sub{font-size:13px}
.empty{background:#F8F8F6;border-color:#C9CDCF;border-radius:12px;font-size:14px}.empty .ico{color:#6B7280}
.table-wrap{border-radius:12px;scrollbar-color:#C9CDCF #F8F8F6}table.table{font-size:14px}
.table th{background:#F0F2F2;font-size:12px;font-weight:600;letter-spacing:.025em;color:#535B63;white-space:nowrap}
.table tr:hover td{background:#FAFAF7}.table td b{font-weight:600}.table .btn-sm,.table .badge{font-size:12px}
.tabs button{font-size:14px}.tabs button.active{border-color:#FFC629;color:#111}
.modal-backdrop{background:#11111166;backdrop-filter:blur(3px)}.modal{border-radius:18px;border-color:#E2E3DF}
.modal-head h2,.modal-head h3{font-family:var(--font);font-weight:700;font-size:27px}
.toast{background:#111;font-size:14px;border-radius:10px}.toast.info{border-left-color:#CDEEF6}.toast.success{border-left-color:#FFC629}
.dropdown{border-radius:14px}.ntf{border-radius:8px}.ntf.unread{background:#FFF8DF;border-color:#F0DC8E}.ntf .dot{background:#C49100}
.ntf b,.ntf p{font-size:14px}.ntf time{font-size:12px}
.progress span,.progress.gold span{background:#E4AA05}.pill-steps span{font-size:12px;border-radius:5px}.pill-steps span.cur{background:#FFC629;color:#111}
.hero-band{background:#CDEEF6;color:#111;border-radius:16px;padding:28px 32px;min-height:180px}
.hero-band h2{font-weight:750;font-size:30px;max-width:75%}.hero-band p,.hero-band .muted{color:#111111;font-size:15px;max-width:72%}
.hero-band::after{content:"";background:url('/app/brand/welcome.webp') center/contain no-repeat;width:180px;height:180px;right:20px;bottom:-5px;opacity:1}
.hero-band .btn-ghost{background:#FFFFFF99;color:#111;border:1px solid #8DB8C5}
.code-box{background:#111;color:#FFC629;border-radius:10px}.mail{background:#F3F5F5;border-radius:10px;font-size:14px}
.plan{border-radius:14px}.plan.popular{background:#FFF8DF;border-color:#E8B21F}.plan .price{font-size:38px;font-weight:750}.plan ul{font-size:14px}
.card-visual{background:#111;border-radius:14px}.checklist label{font-size:14px}.drag-list{background:#F1F4F4;border-radius:10px}.drag-item{border-radius:7px}
.cal .day{border-radius:8px}.cal .day.today{border-color:#D9A200;box-shadow:inset 0 0 0 1px #D9A200}
.cal .dh{font-size:12px}.cal .ev{font-size:12px;border-radius:4px}.week .wh{background:#F0F2F2;font-size:12px}
.week .cell.avail{background:#EAF5F8}.week .lesson.done{background:#7F898F}.slot{font-size:14px;border-radius:8px}
.slot:hover{background:#FFF8DF;border-color:#D9A200}.slot.active,.slot.active:hover{background:#FFC629;color:#111;border-color:#D9A200}
.board-wrap{border-radius:7px;background:#6B7280;box-shadow:none}
.cg-wrap cg-board{background-color:#F8F8F6;background-image:conic-gradient(#6B7280 25%,#F8F8F6 0 50%,#6B7280 0 75%,#F8F8F6 0);background-size:25% 25%}
.cg-wrap square.last-move{background-color:#FFCA3599}.eval-bar{background:#111}.eval-bar span{background:#fff}
.moves .mv{font-size:14px}.moves .mv.cur{background:#FFC629;color:#111}input[type=range]{accent-color:#C18E00}
.student .big-cta,.student .big-cta.waiting{background:#111;border-radius:14px;color:#fff}
.student .big-cta .t{font-family:var(--font);font-weight:700;font-size:28px}.student .big-cta .s{font-size:14px;color:#D9DEE0}
.student .big-cta::after{color:#FFC629;opacity:.2}.student .tile{border-radius:14px;min-height:190px}
.student .tile:nth-child(2){background:#CDEEF6}.student .tile:nth-child(3){background:#FFF3C7}
.student .tile .ico,.student .tile::after{color:#111}.student .tile b{font-size:19px;font-weight:700}.student .tile .sub{font-size:14px}
.ach{border-radius:10px}.ach .ico{background:#FFF3C7}.stars i.on{color:#C28F00}
/* Welcoming authentication, with the same controls as the workspace. */
.auth-side{background:#F8F8F6;padding:32px 44px 24px;gap:22px;min-height:800px;border-color:#E2E3DF}
.auth-back,.auth-side .auth-back{font-size:13px;color:#444950}.auth-story{padding-top:20px}
.auth-story .eyebrow{font-size:12px;color:#555B63;display:flex;align-items:center;gap:10px}.auth-story .eyebrow::before{content:"";width:8px;height:8px;flex:0 0 8px;background:#FFC629;border-radius:50%}
.auth-display{font-size:clamp(42px,4.5vw,68px);font-weight:800;line-height:1.05;letter-spacing:-.055em}.auth-display::after{content:"";display:block;width:80px;height:5px;background:#FFC629;margin-top:18px;border-radius:3px}
.auth-display em{font-style:normal;font-weight:800;color:#111}.auth-story p{font-size:15px;color:#555B63}
.auth-art{min-height:280px;max-height:500px;max-width:440px;width:100%;align-self:center;display:flex;flex-direction:column;gap:14px;margin-top:0}
.auth-art>img{position:static;flex:1;min-height:0;height:0;object-fit:contain;object-position:center;border-radius:0;animation:none}
.auth-art-note{position:static;flex-shrink:0;left:auto;right:auto;bottom:auto;top:auto;margin:0;width:100%;background:#FFF3C7;border:1px solid #F0DEA1;border-radius:12px;box-shadow:none;padding:14px 18px;max-width:none}
.auth-art-note>span{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;background:#FFC629;border-radius:10px;color:#111}
.auth-art-note b{font-size:13px;font-weight:600}.auth-art-note small{font-size:12px;color:#555B63}.auth-side-footer{font-size:12px;color:#6B7280;flex-wrap:wrap}
.auth-form{background:#F8F8F6;padding:32px 56px 24px}.auth-form-caption{font-size:13px;color:#6B7280}
.auth-heading h1{font-weight:750;font-size:42px}.auth-heading p{font-size:15px;line-height:1.7}.auth-heading .eyebrow{font-size:12px}
.auth-form .input{background:#fff;border-radius:8px;font-size:16px;min-height:49px}.auth-form .btn-block{font-size:15px;font-weight:700;border-radius:8px}
.auth-form .field .hint,.auth-form .tiny{font-size:12px}.auth-form .small,.auth-form .checkbox{font-size:14px}
.auth-form form>.row a,.auth-form form>p>a{font-size:14px}.auth-form-footer{font-size:12px;color:#6B7280}
.role-tabs{background:#ECEEEC;border-color:#E2E3DF;border-radius:10px}.role-tabs button{font-size:14px;border-radius:7px;font-weight:600}
.role-tabs button small{font-size:12px;color:#6B7280}.role-tabs button.active{background:#fff;color:#111;box-shadow:none}
.pin-input input.input{border-color:#B9C1C4;border-radius:10px}.password-toggle{color:#6B7280}
.auth-register .auth-heading h1{font-size:36px}.auth-register .auth-form .input{min-height:46px}
/* Classroom: clear work surfaces, readable controls, gold interaction states. */
.cls-top{background:#111;box-shadow:none;border-bottom:3px solid #FFC629;padding-block:12px}
.cls-top .brand small{font-size:12px;color:#D0D5D8}.cls-top .btn{font-size:12px;border-radius:7px;min-height:38px}
.cls-top .btn-green{background:#FFC629;color:#111}.cls-top .btn-danger{background:#A33E35;color:#fff}
.cls-top .row.small,.cls-top .row>.small{font-size:12px;color:#D0D5D8}.cls-top .timer{font-weight:700;border-color:#FFFFFF33;border-radius:8px}
.cls-top .lang-switch{background:#272A2D;border:1px solid #FFFFFF26}.cls-top .lang-switch button{font-size:12px;color:#D0D5D8}.cls-top .lang-switch button.active{background:#FFC629;color:#111}
.status-dot{background:#85D9AA;box-shadow:none}.panel{border-radius:14px}.panel-title{font-size:15px;font-weight:700}.panel-title .badge{font-size:12px}
.tools .btn,.expanded .actions .btn,.expanded .templates .btn{font-size:12px;border-radius:7px;min-height:36px}
.fen-row input{font-size:13px;border-radius:7px}.scard{border-radius:10px}.scard:hover{border-color:#89999F}.scard.selected{border-color:#D9A200;box-shadow:0 0 0 1px #D9A200}
.scard.solved{background:#E8F5EC;border-color:#70AE88}.scard .name{font-size:14px;font-weight:600}.scard .meta{font-size:12px}
.hq .item{background:#FFF3C7;font-size:14px;border-radius:8px}.results{font-size:14px}
.student-main .task-box{background:#FFF8DF;border-color:#E8C85C;border-radius:10px}.student-main .big-btn{border-radius:8px}.stat-pill{font-size:14px;border-radius:7px}
.lobby .hero{background:#CDEEF6;color:#111;border-radius:16px}.lobby .hero h2{font-weight:700}.lobby .hero p,.lobby .hero .muted{font-size:15px;color:#425F69}
.series span{font-size:12px}.grade-row{font-size:14px}
@media(max-width:1200px){:root{--nav-w:244px}.nav-item{font-size:14px}.auth-side{padding-inline:30px}.auth-form{padding-inline:36px}}
@media(max-width:960px){.page-heading p{font-size:15px}.sidenav{width:min(88vw,320px)}}
@media(max-width:860px){.auth-form{padding:24px 32px}}
@media(max-width:700px){.content{padding:25px 18px 30px}.card{padding:19px}.page-heading h1{font-size:31px}.page-heading .eyebrow{font-size:12px}.page-heading p{font-size:14px}.workspace-footer{font-size:12px}.stat .l{font-size:12px}.btn{font-size:14px}.btn-sm{font-size:12px}.badge{font-size:12px}.list-item .body b{font-size:14px}.list-item .body .sub{font-size:13px}.lang-switch button{font-size:12px;padding:5px 7px}.workspace-breadcrumb{font-size:13px}.hero-band{padding:24px}.hero-band h2{max-width:100%;font-size:27px}.hero-band p{font-size:14px;max-width:100%}.hero-band::after{display:none}.student .big-cta .t{font-size:26px}.student .big-cta .s{font-size:14px}.student .tile .sub{font-size:14px}.cls-top .brand{flex-basis:50%}.cls-top .brand small{font-size:12px;max-width:190px}.cls-top .btn,.tools .btn{font-size:12px}.scard .name{font-size:13px}.panel-title{font-size:14px}.cal .ev{font-size:10px}.cal .dh{font-size:11px}}
@media(max-width:480px){.auth-form{padding:22px}.auth-back{font-size:12px}.auth-form-caption{font-size:12px}.auth-heading h1{font-size:36px}.auth-form .field label{font-size:14px}.auth-form .btn-block{font-size:15px}.auth-form .checkbox{font-size:13px}.auth-form .small{font-size:14px}.auth-form form>.row a,.auth-form form>p>a{font-size:13px}.auth-form .field .hint,.auth-form .tiny{font-size:12px}.role-tabs button{font-size:14px}.role-tabs button small{font-size:12px}.auth-register .auth-heading h1{font-size:32px}.cal .ev{font-size:9px}.cal .dh{font-size:10px}.page-actions{flex-wrap:wrap}.workspace-breadcrumb{font-size:12px}.table th,.table td{padding:12px}.card-title h3{font-size:17px}}
@media(prefers-reduced-motion:reduce){.card.hover:hover,.student .tile:hover{transform:none}}
/* Original chessX assets. Do not redraw, recolor, or recreate the wordmark. */
.brand-logo{display:block;position:relative;overflow:hidden;width:132px;aspect-ratio:1020/724;flex-shrink:0;line-height:0}
.brand-logo img,.boot-logo .brand-logo img{position:absolute;left:-55.882353%;top:0;width:212.941176%;height:100%;max-width:none;object-fit:contain;display:block}
.sidebar-brand-row{justify-content:center;padding:0 0 5px}.sidebar-brand-row .brand{flex-direction:column;gap:0;align-items:center;flex:1}
.sidebar-brand-row .brand-logo{width:154px}.sidebar-brand-row .brand small{font-size:12px;margin-top:2px;color:#6B7280}
.nav-section-label{padding-top:20px}.boot-logo .brand-logo{width:170px}
.auth-brand .brand-logo{width:125px}.auth-side-head{min-height:89px}.auth-mobile-header{padding-bottom:16px}
.auth-side{gap:16px}.auth-story{padding-top:9px}
.cls-top .brand{gap:14px}.cls-top .brand-logo{width:88px;aspect-ratio:1020/760;background:#F8F8F6;border-radius:7px}
.cls-top .brand b{color:#F8F8F6;font-size:16px;font-weight:700}.cls-top .brand small{color:#CDEEF6}
.hero-band::after{border-radius:14px;right:20px;bottom:12px;width:156px;height:156px}
.report-card,.list-item,.card h3,.card .muted,.card .small,.stat .v{overflow-wrap:anywhere}
.student .tile:nth-child(2) .sub{color:#111111}
.avatars button.active{background:#FFF3C7;border-color:#FFC629}
.scrim{background:#11111173}.slot.active small{color:#111111}
.hero-band .btn-ghost{color:#111111}
@media(max-width:700px){.sidebar-brand-row .brand-logo{width:150px}.auth-mobile-header .brand-logo{width:113px}.cls-top .brand-logo{width:80px}.cls-top .brand b{font-size:14px}.cls-top .brand small{white-space:normal;max-width:155px}.auth-heading p{font-size:15px}}
@media(max-width:380px){.auth-mobile-header .brand-logo{width:105px}.auth-mobile-header{gap:10px}.cls-top .brand small{max-width:130px}.pill-steps{flex-wrap:wrap}.hero-band p,.hero-band .muted{max-width:100%}}
