/* Techy Regal: local design preview. Study typography and figures remain fluid. */
:root[data-theme="regal"]{--bg:#f5f2ea;--card:#fffdfa;--ink:#15253a;--mute:#5a6575;--line:#d6cdb9;--accent:#775722;--action-ink:#fffdfa;--ok:#17634f;--okbg:#e5f3eb;--bad:#a53444;--badbg:#fce8ec;--regal-gold:#775722;--regal-surface:#eee8da;--regal-sapphire:#3a6bba;--regal-shadow:0 12px 30px #3a28160a}
:root[data-theme="regal"][data-mode="dark"]{--bg:#080f1c;--card:#111e30;--ink:#f3f0e9;--mute:#b4c2d2;--line:#2b3b52;--accent:#d5b56e;--action-ink:#101827;--ok:#73ddaf;--okbg:#15332e;--bad:#ffa2af;--badbg:#392332;--regal-gold:#d5b56e;--regal-surface:#14243b;--regal-sapphire:#779cff;--regal-shadow:0 14px 40px #00000024}
@media(prefers-color-scheme:dark){:root[data-theme="regal"][data-mode="system"]{--bg:#080f1c;--card:#111e30;--ink:#f3f0e9;--mute:#b4c2d2;--line:#2b3b52;--accent:#d5b56e;--action-ink:#101827;--ok:#73ddaf;--okbg:#15332e;--bad:#ffa2af;--badbg:#392332;--regal-gold:#d5b56e;--regal-surface:#14243b;--regal-sapphire:#779cff;--regal-shadow:0 14px 40px #00000024}}
:root[data-theme="regal"] body{background:radial-gradient(ellipse at 100% 0%,color-mix(in srgb,var(--regal-sapphire) 10%,transparent),transparent 50%),radial-gradient(ellipse at 0% 65%,color-mix(in srgb,var(--regal-gold) 5%,transparent),transparent 50%),var(--bg);min-height:100svh}
:root[data-theme="regal"] main{max-width:1000px;padding:28px 28px 40px}
:root[data-theme="regal"] .top{background:color-mix(in srgb,var(--bg) 94%,transparent);border-bottom:1px solid color-mix(in srgb,var(--regal-gold) 30%,var(--line));padding:14px max(20px,calc((100vw - 1140px)/2));gap:12px 24px;box-shadow:0 4px 24px #0000000a}
:root[data-theme="regal"] #brand{font-size:17px;font-weight:650;letter-spacing:.1px}
:root[data-theme="regal"] #nav{gap:4px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
:root[data-theme="regal"] #nav a{color:var(--mute);padding:7px 10px;border-radius:7px;font-weight:600;font-size:15px}
:root[data-theme="regal"] #nav a:hover,:root[data-theme="regal"] #nav a:focus-visible{background:var(--regal-surface);color:var(--accent)}
:root[data-theme="regal"] .brand-logo{width:34px;height:34px;border-radius:0;background:transparent}
:root[data-theme="regal"] #app>h1,:root[data-theme="regal"] .regal-course-heading h1,:root[data-theme="regal"] .regal-welcome h1,:root[data-theme="regal"] .regal-login-title{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.025em;line-height:1.14}
:root[data-theme="regal"] #app>h1{font-size:clamp(28px,4vw,36px);margin:18px 0 12px}
:root[data-theme="regal"] .card,:root[data-theme="regal"] .accuracy-card{border:1px solid var(--line);border-radius:16px;box-shadow:var(--regal-shadow)}
:root[data-theme="regal"] .btn{font-weight:700;border-radius:9px;letter-spacing:.1px;min-height:48px}
:root[data-theme="regal"] .btn:not(.alt):not(.danger){background:linear-gradient(125deg,var(--accent),color-mix(in srgb,var(--accent) 80%,#fff))}
:root[data-theme="regal"] .btn.alt{background:transparent;color:var(--accent)}
:root[data-theme="regal"] .btn:focus-visible,:root[data-theme="regal"] button:focus-visible{outline-offset:4px}
:root[data-theme="regal"] .activitybar{justify-content:flex-start;font-size:13px}
:root[data-theme="regal"] .activitybar span{background:var(--card);border-color:var(--line);padding:4px 10px}
:root[data-theme="regal"] .retention-notice{max-width:1000px;font-size:13px}
.regal-kicker{display:none}.regal-login-title,.regal-login-subtitle{display:none}
:root[data-theme="regal"] .regal-kicker{display:block;color:var(--regal-gold);font-size:11px;letter-spacing:.18em;font-weight:750;margin-bottom:16px}
:root[data-theme="regal"] .regal-login-title{display:block;font-size:36px;margin:10px 0 8px}
:root[data-theme="regal"] .regal-login-subtitle{display:block;margin:0 0 28px;font-size:18px;color:var(--mute)}
:root[data-theme="regal"] .login{position:relative;isolation:isolate;max-width:640px;min-height:0;padding:34px 0 0}
:root[data-theme="regal"] .login::before{content:"";position:absolute;z-index:-1;top:-28px;left:50%;transform:translateX(-50%);width:440px;height:440px;border-radius:50%;border:1px solid color-mix(in srgb,var(--regal-gold) 10%,transparent);background:radial-gradient(circle,color-mix(in srgb,var(--regal-sapphire) 9%,transparent),transparent 68%);pointer-events:none}
:root[data-theme="regal"] .login .hero{margin:0 0 12px}
:root[data-theme="regal"] .login-logo{width:310px;max-height:155px}
:root[data-theme="regal"] .login .login-prompt{margin:8px 0 18px;max-width:100%}
:root[data-theme="regal"] .login .login-prompt p{font-size:17px;color:var(--mute)}
:root[data-theme="regal"] .login form{padding:22px;width:min(100%,460px);background:linear-gradient(135deg,var(--card),var(--regal-surface));border-color:color-mix(in srgb,var(--regal-gold) 30%,var(--line));box-shadow:0 20px 65px #00000020}
:root[data-theme="regal"] .login input{font-size:16px;letter-spacing:.08em;min-height:56px}
:root[data-theme="regal"] .login-details{width:min(100%,460px);font-size:14px;margin-top:26px}
:root[data-theme="regal"] .login-details li::marker{color:var(--regal-gold)}
.regal-welcome{display:none}.regal-section-heading{display:flex;justify-content:space-between;align-items:center;margin:18px 0}
:root[data-theme="regal"] .regal-welcome{position:relative;isolation:isolate;display:block;overflow:hidden;min-height:230px;padding:34px 38px;margin:6px 0 32px;border:1px solid color-mix(in srgb,var(--regal-gold) 30%,var(--line));border-radius:20px;background:linear-gradient(110deg,var(--card),var(--regal-surface));box-shadow:var(--regal-shadow)}
:root[data-theme="regal"] .regal-welcome h1{font-size:42px;margin:0 0 18px;position:relative;z-index:1}
:root[data-theme="regal"] .regal-welcome h1 em{color:var(--regal-gold);font-style:normal}
:root[data-theme="regal"] .regal-welcome p{margin:0;position:relative;z-index:1;font-size:17px}
.regal-welcome-art{position:absolute;right:54px;top:30px;width:195px;height:195px;opacity:.9;display:grid;place-items:center}
.regal-core{display:grid;place-items:center;width:100px;height:116px;font:70px/1 Georgia,serif;color:var(--regal-gold);border:1px solid color-mix(in srgb,var(--regal-gold) 60%,transparent);border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--regal-gold) 15%,transparent),color-mix(in srgb,var(--regal-sapphire) 12%,transparent));box-shadow:0 0 32px color-mix(in srgb,var(--regal-sapphire) 14%,transparent);transform:rotate(-8deg)}
.regal-orbit{position:absolute;inset:0;border:1px solid color-mix(in srgb,var(--regal-sapphire) 55%,transparent);border-radius:50%;transform:rotate(-35deg) scaleY(.67)}
.regal-orbit::after{content:"";position:absolute;top:21px;left:20px;width:9px;height:9px;background:var(--regal-sapphire);border-radius:50%;box-shadow:0 0 16px var(--regal-sapphire)}
.orbit-two{inset:7px;border-color:color-mix(in srgb,var(--regal-gold) 50%,transparent);transform:rotate(38deg) scaleY(.67)}
.orbit-two::after{background:var(--regal-gold);box-shadow:0 0 16px var(--regal-gold)}
:root[data-theme="regal"] .regal-section-heading h2{font-size:23px;font-family:Georgia,serif;font-weight:400}
:root[data-theme="regal"] .regal-catalog-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
:root[data-theme="regal"] .regal-catalog-grid .card{margin:0;min-height:102px}
:root[data-theme="regal"] .catalog-card{padding:18px 20px;position:relative;background:linear-gradient(125deg,var(--card),color-mix(in srgb,var(--regal-surface) 65%,var(--card)))}
:root[data-theme="regal"] .catalog-card:not(.locked)::after{content:"↗" / "";color:var(--regal-gold);font-size:21px;margin-left:auto}
:root[data-theme="regal"] .catalog-card:hover:not(.locked){border-color:var(--regal-gold);box-shadow:0 8px 25px color-mix(in srgb,var(--regal-gold) 9%,transparent);transform:translateY(-2px)}
:root[data-theme="regal"] .catalog-card b{font-size:19px;font-weight:650}
:root[data-theme="regal"] .catalog-card .pill{font-size:12px;background:var(--regal-surface);color:var(--mute);border:1px solid var(--line);padding:4px 8px;border-radius:999px}
:root[data-theme="regal"] .catalog-logo{width:60px;height:60px}
:root[data-theme="regal"] .regal-course-heading{margin:18px 0 24px;padding:0 0 20px;border-bottom:1px solid var(--line)}
:root[data-theme="regal"] .regal-course-heading .regal-kicker{margin-bottom:9px}
:root[data-theme="regal"] .regal-course-heading h1{font-size:clamp(30px,4vw,38px);margin:0 0 10px}
:root[data-theme="regal"] .regal-course-heading p{margin:0;font-size:17px}
:root[data-theme="regal"] .regal-course-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;counter-reset:sections}
:root[data-theme="regal"] .regal-course-grid .tabbtn{position:relative;counter-increment:sections;margin:0;padding:22px 22px 22px 64px;min-height:112px;gap:7px;background:linear-gradient(130deg,var(--card),color-mix(in srgb,var(--regal-surface) 50%,var(--card)))}
:root[data-theme="regal"] .regal-course-grid .tabbtn::before{content:"0" counter(sections) / "";position:absolute;left:19px;top:23px;font-size:14px;font-weight:750;color:var(--regal-gold);border-top:2px solid var(--regal-gold);padding-top:6px;line-height:1}
:root[data-theme="regal"] .regal-course-grid .tabbtn b{font-size:20px;font-weight:650}
:root[data-theme="regal"] .regal-course-grid .tabbtn .small{font-size:15px;line-height:1.4}
:root[data-theme="regal"] .regal-course-grid .tabbtn:hover:not(:disabled){border-color:var(--regal-gold);transform:translateY(-2px)}
:root[data-theme="regal"] #courseDashboard{margin-top:28px}
:root[data-theme="regal"] .theme-choice[data-theme="regal"] .theme-swatch{background:linear-gradient(140deg,#d5b56e 50%,#172944 50%);box-shadow:0 0 0 2px #d5b56e40}
:root[data-theme="regal"] .study-disclaimer{max-width:1000px;padding:24px 28px;border-top:1px solid var(--line);margin:0 auto;font-size:13px;color:var(--mute)}
@media(max-width:650px){:root[data-theme="regal"] main{padding:20px 18px 30px}:root[data-theme="regal"] .top{padding:10px 14px;gap:8px}:root[data-theme="regal"] #brand{font-size:16px}:root[data-theme="regal"] #nav{width:100%;flex-basis:100%;gap:0}:root[data-theme="regal"] #nav a{padding:7px 9px;font-size:14px}:root[data-theme="regal"] .regal-welcome{padding:25px;min-height:238px}:root[data-theme="regal"] .regal-welcome h1{font-size:35px}:root[data-theme="regal"] .regal-welcome p{max-width:200px;font-size:16px}.regal-welcome-art{right:-50px;top:76px;width:170px;height:170px;opacity:.4}:root[data-theme="regal"] .regal-kicker{font-size:10px;letter-spacing:.13em}:root[data-theme="regal"] .regal-catalog-grid{grid-template-columns:1fr}:root[data-theme="regal"] .regal-catalog-grid .card{min-height:90px}:root[data-theme="regal"] .catalog-card{padding:15px 17px}:root[data-theme="regal"] .catalog-logo{width:52px;height:52px}:root[data-theme="regal"] .regal-course-grid{grid-template-columns:1fr;gap:11px}:root[data-theme="regal"] .regal-course-grid .tabbtn{min-height:95px;padding:17px 18px 17px 57px}:root[data-theme="regal"] .regal-course-grid .tabbtn::before{left:17px;top:19px}:root[data-theme="regal"] .regal-course-grid .tabbtn b{font-size:19px}:root[data-theme="regal"] .regal-course-heading{margin:15px 0 20px;padding-bottom:18px}:root[data-theme="regal"] .regal-course-heading h1{font-size:30px}:root[data-theme="regal"] .login{padding-top:20px}:root[data-theme="regal"] .login::before{width:320px;height:320px}:root[data-theme="regal"] .login-logo{width:240px;max-height:125px}:root[data-theme="regal"] .regal-login-title{font-size:30px}:root[data-theme="regal"] .regal-login-subtitle{font-size:16px;margin-bottom:20px}:root[data-theme="regal"] .login .login-prompt p{font-size:15px}:root[data-theme="regal"] .login form{padding:18px}:root[data-theme="regal"] .login-details{font-size:14px}:root[data-theme="regal"] .study-disclaimer{padding:22px 18px}:root[data-theme="regal"] .regal-section-heading h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){:root[data-theme="regal"] .catalog-card:hover,:root[data-theme="regal"] .regal-course-grid .tabbtn:hover{transform:none}}

:root[data-theme="regal"] .flashcard{color:var(--ink)}

/* Compact login uses the official transparent logo and live text. */
@font-face{font-family:ArsenalSlogan;src:url('fonts/Anton-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
.login.login-refined{max-width:640px;min-height:0;padding:16px 0 0;justify-content:flex-start}
:root[data-theme="regal"] .login.login-refined{padding:16px 0 0}
.login.login-refined::before{content:none!important;display:none!important}
.login-titles{width:100%;margin:0 0 20px;color:var(--accent);font-weight:650;font-size:clamp(12px,2.4vw,18px);line-height:1.8;letter-spacing:.025em}
.login-titles p{margin:0;white-space:nowrap}.login-titles span{padding:0 .22em}
.login.login-refined .hero{margin:0 0 16px;width:100%}
.login.login-refined .login-logo{display:block;width:min(100%,460px);height:auto;max-height:none;object-fit:contain;filter:none;border-radius:0;background:transparent}
:root[data-mode="dark"] .login.login-refined .login-logo{filter:brightness(0) invert(1)}
@media(prefers-color-scheme:dark){:root[data-mode="system"] .login.login-refined .login-logo{filter:brightness(0) invert(1)}}
.login.login-refined .login-slogan{font-family:ArsenalSlogan,'Arial Narrow',sans-serif;font-weight:400;font-size:clamp(17px,3vw,25px);line-height:1.35;max-width:100%;margin:0 0 12px;letter-spacing:.005em;color:var(--ink)}
.login.login-refined .login-prompt{margin:0 0 14px}
:root[data-theme="regal"] .login.login-refined .login-prompt{margin:0 0 14px}
@media(max-width:650px){.login-titles{font-size:clamp(10.5px,3vw,16px);letter-spacing:0;margin-bottom:18px}.login-titles span{padding:0 .08em}.login.login-refined .login-slogan{font-size:clamp(15px,4.1vw,20px)}.login.login-refined .login-logo{width:100%}.login.login-refined .login-prompt p{font-size:14px}}
