/* Preserved structural styles in a low-priority layer. */
@layer legacy {
/* PATENTEVO visual refinement; preserves all portal IDs, data and events. */
:root{--brand:#2554e8;--brand-dark:#173bb0;--brand-light:#edf2ff;--panel-dark:#14223c;--navy:#14223c;--navy-dark:#0c172b;--indigo:#2554e8;--indigo-soft:#edf2ff;--paper:#f5f7fb;--surface:#fff;--surface-soft:#f5f7fb;--ink:#14223c;--ink-mute:#58667c;--muted:#58667c;--line:#dce3ed;--radius:14px;--radius-sm:8px}
body{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:#f5f7fb;color:#14223c;font-size:16px;line-height:1.5}
button,input,select,textarea{font-family:inherit}button{min-height:44px}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #2554e8;outline-offset:4px}
.site-header{height:88px;background:#fff;padding:0 max(24px,calc((100vw - 1240px)/2));border-bottom:1px solid #dce3ed}.brand-logo{width:152px}.header-nav{font-size:14px;gap:28px}
.home-main{max-width:1240px;padding:100px 24px 92px;margin:auto;display:grid;grid-template-columns:1.08fr 1fr;gap:70px;text-align:left;align-items:center}.home-copy .eyebrow{background:none;border:0;border-radius:0;padding:0;font-size:14px;letter-spacing:.09em;color:#2554e8;margin-bottom:28px}.home-copy h1{font-size:clamp(42px,5.4vw,72px);line-height:1.06;letter-spacing:-.055em;font-weight:750;margin:0;max-width:640px;color:#14223c}.home-copy h1 em{font-style:normal;color:#2554e8}.home-copy .intro{margin:28px 0 0;max-width:420px;font-size:18px;line-height:1.7}.home-access{display:flex;flex-direction:column;gap:18px}.home-access-label{font-size:14px;color:#58667c;margin-bottom:0}.home-access .portal-card{padding:30px;min-height:0;display:block;border-radius:16px;box-shadow:none}.home-access .portal-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px #14223c0c}.portal-heading{display:flex;align-items:center;gap:18px;margin-bottom:18px}.home-access .card-icon{margin:0;width:44px;height:44px;border-radius:10px}.home-access .role{font-size:12px;letter-spacing:.08em;margin-bottom:4px}.home-access h2{font-size:25px;line-height:1.2;margin:0}.home-access .portal-card>p{font-size:16px;line-height:1.6;max-width:380px}.home-access .card-action{margin-top:24px;padding:0;font-size:15px;min-height:44px;align-items:center}.home-access .school{background:#14223c}.home-access .student .card-action{color:#2554e8}.home-access .school p{color:#cbd6e8}.home-access .school .card-action{color:#fff}.site-footer{max-width:1192px;border-top:1px solid #dce3ed;margin:auto;padding:24px 0;text-align:left;font-size:13px;display:flex;justify-content:space-between;gap:20px}
.header{padding:20px 32px;box-shadow:none}.badge-role{font-size:14px}.login-wrap{padding:52px 24px;align-items:center;min-height:calc(100vh - 90px)}.login-card,.sl-box{width:100%;max-width:480px;background:#fff;border:1px solid #dce3ed;border-radius:18px;padding:38px;box-shadow:0 16px 48px #14223c08;text-align:left}.login-icon,.sl-icon{margin:0 0 24px;background:#edf2ff;color:#2554e8;border-radius:12px;width:52px;height:52px;display:grid;place-items:center}.login-title,.sl-title{font-size:30px;letter-spacing:-.04em;font-weight:750;line-height:1.2;color:#14223c}.login-sub,.sl-sub{font-size:16px;line-height:1.65;margin:14px 0 28px;color:#58667c}.form-group label{font-size:14px;color:#34445e;font-weight:600}.form-input,.sl-input{font-size:16px;min-height:48px;border:1px solid #cbd5e3;border-radius:9px;background:#fff;padding:12px 14px}.form-input:focus,.sl-input:focus{border-color:#2554e8;box-shadow:0 0 0 3px #2554e812}.login-card .btn-primary,.sl-btn{background:#2554e8;border-radius:9px;padding:14px;font-size:16px;min-height:50px;color:#fff}.login-footer-tip{font-size:14px;line-height:1.6;margin-top:22px}.login-msg,.sl-msg{font-size:14px}#school-license-gate{background:#f5f7fb}
.sidebar{background:#14223c}.sidebar-logo{padding:28px 22px;border-bottom:1px solid #ffffff1c}.sidebar-btn{font-size:14px;min-height:46px;border-radius:8px;padding:12px 14px}.sidebar-btn.active{background:#2554e8}.sidebar-section-label{font-size:12px;color:#aebed7;letter-spacing:.08em}.topbar{padding:20px 32px}.topbar-title{font-size:20px;letter-spacing:-.025em}.content{padding:32px}.page-header h2,.figma-page-heading h2{font-size:30px;letter-spacing:-.04em;line-height:1.2}.page-header p,.figma-page-heading p{font-size:16px}.figma-kicker{font-size:12px}.card,.stat-card,.card-table{border-radius:12px;border-color:#dce3ed;box-shadow:none}.card-header{padding:20px 22px;background:#fff}.card-header h3{font-size:17px}.card-body{padding:22px}.card-body.no-pad{padding:0}.stat-label,.figma-student-stat span{font-size:14px}.stat-num,.figma-student-stat strong{font-size:32px;letter-spacing:-.04em}.btn,.topbar-btn,.figma-practice-button{border-radius:8px;font-size:14px;min-height:44px}.btn-primary,.topbar-btn,.figma-practice-button{background:#2554e8}.btn-primary:hover,.topbar-btn:hover{background:#173bb0}th{font-size:14px;text-transform:none;letter-spacing:0;color:#58667c;background:#f5f7fb}td{font-size:14px;padding:16px}.figma-practice-card{background:#14223c;border-radius:14px;padding:28px}.figma-practice-card p{font-size:16px}.figma-student-stats{gap:18px}.section-title{font-size:18px}.modal{border-radius:16px}.badge{font-size:12px}
@media(max-width:900px){.home-main{gap:36px;padding-top:64px;grid-template-columns:1fr 1fr}.home-copy h1{font-size:48px}.home-access .portal-card{padding:24px}.site-footer{margin:0 24px}.content{padding:24px}}
@media(max-width:680px){.site-header{height:74px;padding:0 20px}.brand-logo{width:132px}.header-nav{gap:14px}.home-main{grid-template-columns:1fr;gap:38px;padding:46px 20px}.home-copy h1{font-size:44px}.home-copy .intro{font-size:16px;margin-top:22px}.home-copy .eyebrow{margin-bottom:20px}.home-access .portal-card{padding:24px}.site-footer{margin:0 20px;flex-direction:column;gap:6px}.header{padding:16px 20px;flex-wrap:wrap;gap:12px}.login-wrap{padding:30px 18px}.login-card,.sl-box{padding:28px 24px;max-width:100%}.content{padding:20px}.page-header h2,.figma-page-heading h2{font-size:26px}.topbar{padding:16px 20px}}
@media(prefers-reduced-motion:reduce){*{transition:none;animation:none}}

.brand-logo{height:auto;width:158px}.release-footer{display:flex;gap:22px;flex-wrap:wrap;padding:24px 32px;font-size:14px;border-top:1px solid #dce3ed}.release-footer a{color:#58667c;text-decoration:none}.release-footer a:hover{color:#2554e8}.brand-lockup{display:block;width:155px;height:auto;margin-bottom:20px}.sidebar .brand-lockup{margin:0 0 18px}.sidebar-logo{flex-wrap:wrap}.sidebar-logo>a{flex-basis:100%}.qp-center{max-width:1080px;margin:0 auto}.qp-qcard,.legal-wrap{border:1px solid #dce3ed;border-radius:14px;box-shadow:none;background:#fff}.qp-qcard{margin-bottom:16px;padding:22px}.legal-wrap{padding:32px}.legal-section{margin-top:30px}.legal-section p,.legal-section li{font-size:16px;line-height:1.8}.legal-section h2{font-size:24px;letter-spacing:-.03em}.legal-section h3{font-size:18px;margin:24px 0 12px}.legal-header h1{font-size:34px;line-height:1.2;letter-spacing:-.04em}.legal-highlight{background:#edf2ff;border-left:3px solid #2554e8;border-radius:8px;padding:20px}.mode-btn{min-height:44px;font-size:14px;border-radius:8px}.mode-btn.active{background:#2554e8;color:#fff}#qp-search{padding:16px 18px;font-size:16px}#qp-topic-filter{min-height:48px;font-size:14px}#qp-count-line{margin:24px 0 16px;font-size:14px;color:#58667c}#page-school-settings>.card{max-width:860px}#page-school-settings .form-input{font-size:16px;min-height:46px}#page-school-settings label{font-size:14px}#hamburger-btn{font-size:24px}#hamburger-btn:empty:before{content:'\2630 '}
@media(max-width:680px){.header-nav{flex-wrap:wrap;gap:10px;font-size:14px}.site-header{height:auto;min-height:74px;padding:18px 20px;gap:18px}.legal-wrap{padding:22px}.legal-header h1{font-size:28px}.release-footer{padding:20px;gap:16px}#page-school-settings .form-row{flex-wrap:wrap}.form-row>*{min-width:0}.sidebar-logo{padding:24px}}
 main{max-width:1000px;margin:40px auto;padding:0 24px} .brand-page h1{font-size:40px;letter-spacing:-.04em} .download-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px} .download-card{padding:28px;background:white;border:1px solid #dce3ed;border-radius:14px} .download-card img{width:100%;height:90px;object-fit:contain} .download-card a{display:inline-block;margin:18px 18px 0 0;color:#2554e8} .download-card.dark{background:#14223c;color:white}.download-card.dark a{color:white}
}

