:root{--brand:#5AB427;--hover:#47991F;--light:#8DC63F;--dark:#2E7D32;--deep:#1B5120;--text:#333;--muted:#757575;--alt:#F7F7F7;--tint:#F2FAE8;--border:#E0E0E0;
--serif:"Playfair Display",Georgia,serif;--sans:"Nunito Sans",Helvetica,Arial,sans-serif;--sh-sm:0 2px 8px rgba(0,0,0,.08);--sh-md:0 4px 16px rgba(0,0,0,.10);--sh-brand:0 4px 16px rgba(90,180,39,.25)}
*{box-sizing:border-box}
body{margin:0;font:18px/1.6 var(--sans);color:var(--text);background:#fff}
h1,h2,h3,h4{font-family:var(--serif);font-weight:800;line-height:1.15;color:var(--text);margin:1.4em 0 .5em}
h1{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.02em;margin-top:0}
h2{font-size:1.75rem}h3{font-size:1.3rem}
a{color:var(--dark)}
.label{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--dark)}
.topbar{background:var(--tint);text-align:center;font-size:14px;padding:6px}
.header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:1.5rem;padding:.75rem 2rem;background:#fff;box-shadow:var(--sh-sm)}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--text)}
.brand img{width:48px;height:48px;object-fit:contain}
.brand span{font:800 1.3rem/1.1 var(--serif)}.brand small{display:block;font:600 13px var(--sans);color:var(--muted)}
.search{flex:1;position:relative;max-width:560px}
.search input{width:100%;padding:12px 20px;border:2px solid var(--border);border-radius:9999px;font:16px var(--sans)}
.search input:focus{outline:none;border-color:var(--brand)}
.results{position:absolute;top:110%;left:0;right:0;background:#fff;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.12);max-height:70vh;overflow:auto;padding:.5rem}
.results a{display:block;padding:.6rem .8rem;border-radius:8px;text-decoration:none;color:var(--text);font-size:15px}
.results a:hover,.results a.on{background:var(--tint)}
.results b{display:block;font-family:var(--serif)}.results small{color:var(--muted)}
.results mark{background:#DDF2B8;color:inherit}
.btn{background:var(--brand);color:#fff;border:0;border-radius:9999px;padding:14px 28px;font:800 16px var(--sans);box-shadow:var(--sh-brand);cursor:pointer;text-decoration:none;display:inline-block}
.btn:hover{background:var(--hover)}
.link2{color:var(--dark);font-weight:800;text-decoration:none;border-bottom:2px solid var(--brand)}
.menu-btn{display:none}
.layout{display:flex;max-width:1400px;margin:0 auto}
.nav{width:290px;flex:none;padding:1.5rem 1rem;background:var(--alt);min-height:calc(100vh - 120px);font-size:15px;position:sticky;top:74px;align-self:flex-start;max-height:calc(100vh - 74px);overflow:auto}
.nav details{margin-bottom:.4rem}
.nav summary{display:flex;align-items:center;gap:.6rem;cursor:pointer;font-weight:800;padding:.4rem;list-style:none}
.nav summary::-webkit-details-marker{display:none}
.num{flex:none;width:28px;height:28px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:800;font-size:14px}
.nav a{display:block;padding:.3rem .6rem .3rem 2.6rem;color:var(--text);text-decoration:none;border-radius:8px}
.nav a:hover{background:var(--tint)}.nav a.on{background:var(--tint);color:var(--dark);font-weight:800}
.nav .grp{padding:.5rem 0 .1rem 2.6rem}
.main{flex:1;min-width:0;padding:2.5rem 3rem 5rem;max-width:960px}
.hero{background:var(--tint);border-radius:20px;padding:2.5rem}
.hero p{max-width:640px}.hero h1 em{font-style:normal;color:var(--brand)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.25rem;margin-top:1.5rem}
.card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:var(--sh-sm);text-decoration:none;color:var(--text);transition:box-shadow .2s;border:1px solid var(--alt)}
.card:hover{box-shadow:var(--sh-md)}
.card .num{width:48px;height:48px;font-size:20px;margin-bottom:.8rem}
.card h3{font-size:17px;margin:0 0 .4rem}.card p{font-size:14px;color:var(--muted);margin:0;line-height:1.65}
.staff .card{padding:1.1rem 1.25rem}.staff .card p{color:var(--text)}
.crumb{font-size:14px;color:var(--muted);margin-bottom:.5rem}
.page p{margin:.4em 0}
.docs{background:var(--tint);border-radius:12px;padding:1.25rem 1.5rem;margin:1.5rem 0}
.docs ul,.links ul{margin:.5rem 0 0;padding-left:1.2rem}.docs li,.links li{margin:.25rem 0}
.tag{display:inline-block;background:#fff;color:var(--dark);font-size:12px;font-weight:800;border-radius:9999px;padding:2px 10px;margin-left:.4rem}
.locked{border-left:4px solid var(--brand);background:var(--tint);padding:1rem 1.25rem;border-radius:12px;font-size:15px}
.removed{font-style:italic;color:var(--muted)}
.links{columns:2;font-size:15px}
.footer{background:var(--deep);color:#fff;display:flex;align-items:center;gap:1rem;padding:2rem;font-size:15px}
.footer img{width:48px;background:#fff;border-radius:50%;padding:4px}.foot-r{margin-left:auto;color:var(--light)}
@media (max-width:900px){.menu-btn{display:block;background:none;border:2px solid var(--brand);border-radius:9999px;padding:8px 16px;font:700 14px var(--sans)}
 #signin{display:none}.nav{display:none;position:fixed;inset:74px 0 0;width:auto;z-index:9}.nav.open{display:block}.main{padding:1.5rem}.links{columns:1}.header{gap:.75rem;padding:.75rem 1rem}.brand span{display:none}}
/* v2: tabs, section tabs, accordion, games, notes */
.lead{font-size:1.1rem;color:var(--muted)}
.crumb a.label{text-decoration:none}
.sectabs{display:flex;flex-wrap:wrap;gap:.4rem;margin:.25rem 0 1rem}
.sectabs a{font-size:14px;font-weight:700;text-decoration:none;color:var(--dark);background:var(--alt);border-radius:9999px;padding:6px 14px}
.sectabs a:hover{background:var(--tint)}.sectabs a.on{background:var(--brand);color:#fff}
.tabs{display:flex;flex-wrap:wrap;gap:.25rem;border-bottom:2px solid var(--border);margin:1rem 0 1.5rem}
.tabs a{padding:.7rem 1.1rem;font-weight:800;font-size:15px;text-decoration:none;color:var(--muted);border-bottom:3px solid transparent;margin-bottom:-2px;border-radius:8px 8px 0 0}
.tabs a:hover{color:var(--dark);background:var(--tint)}
.tabs a.on{color:var(--dark);border-bottom-color:var(--brand)}
.page h2:first-child,.page h3:first-child{margin-top:.5rem}
.page ul,.page ol{padding-left:1.4rem}.page li{margin:.3rem 0}
ol.steps{list-style:none;counter-reset:s;padding-left:0}
ol.steps>li{counter-increment:s;position:relative;padding-left:2.6rem;margin:.7rem 0;min-height:30px}
ol.steps>li::before{content:counter(s);position:absolute;left:0;top:0;width:30px;height:30px;border-radius:50%;background:var(--brand);color:#fff;font-weight:800;font-size:14px;display:grid;place-items:center}
.note{background:var(--tint);border-left:4px solid var(--brand);border-radius:12px;padding:1rem 1.25rem;font-size:16px;margin:1rem 0!important}
.page .tag{margin-left:.35rem}
a.doc{font-weight:700}
.acc-tools{display:flex;gap:1rem;align-items:center;margin:1rem 0}
.acc-tools input,.gfilter{flex:1;padding:10px 18px;border:2px solid var(--border);border-radius:9999px;font:15px var(--sans);width:100%;margin-bottom:.5rem}
.acc-tools button{background:none;border:0;border-bottom:2px solid var(--brand);font:800 15px var(--sans);color:var(--dark);cursor:pointer;padding:0 0 2px}
details.acc{border:1px solid var(--border);border-radius:12px;margin:.5rem 0;background:#fff;box-shadow:var(--sh-sm)}
details.acc>summary{cursor:pointer;padding:.9rem 1.2rem;font:700 17px var(--serif);list-style:none;display:flex;gap:.6rem;align-items:center}
details.acc>summary::-webkit-details-marker{display:none}
details.acc>summary::after{content:"+";margin-left:auto;font:800 22px var(--sans);color:var(--brand)}
details.acc[open]>summary::after{content:"–"}
details.acc[open]>summary{border-bottom:1px solid var(--border)}
.acc-link{color:var(--light);text-decoration:none;font-size:14px}
.acc-body{padding:.5rem 1.2rem 1rem}
.flash{animation:flash 1.6s}@keyframes flash{from{box-shadow:0 0 0 4px var(--light)}to{box-shadow:var(--sh-sm)}}
.games .ggroup h3{font-size:1.1rem;margin:1.4rem 0 .4rem}
.grow{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin:.3rem 0}
.gsub{font-size:13px;font-weight:800;color:var(--muted);margin-right:.3rem}
.chip{font-size:14px;text-decoration:none;color:var(--dark);border:1px solid var(--border);border-radius:9999px;padding:3px 12px;background:#fff}
.chip:hover{background:var(--tint);border-color:var(--brand)}
.card.login dl{display:grid;grid-template-columns:auto 1fr;gap:.2rem .8rem;font-size:14px;margin:.6rem 0 0}
.card.login dt{font-weight:800}.slot{font-family:"Courier New",monospace;color:var(--muted);background:var(--alt);border-radius:4px;padding:0 6px}
.lock{font-size:11px;font-weight:800;background:var(--brand);color:#fff;border-radius:9999px;padding:1px 7px;margin-left:.3rem}
.nav .sec-link{font-size:13px;color:var(--muted)}
.rlabel{padding:.5rem .8rem .2rem}
@media (max-width:860px){.tabs{overflow-x:auto;flex-wrap:nowrap}.tabs a{white-space:nowrap}}
.card.login dd{overflow-wrap:anywhere;margin:0}

/* media: figures and responsive videos */
figure.media{margin:20px 0;max-width:760px}
figure.media img{display:block;max-width:100%;height:auto;border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.08);border:1px solid rgba(0,0,0,.06)}
figure.media figcaption{margin-top:8px;font-size:.9rem;color:#5b6470}
.video-wrap{position:relative;width:100%;aspect-ratio:16/9;border-radius:12px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.08);background:#000}
.video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.open-tab{margin-left:8px;font-size:.85rem}
.card img.avatar{width:84px;height:84px;border-radius:50%;object-fit:cover;margin-bottom:8px}

/* ===== TLC Hub: section themes (set by <html data-theme="...">) =====
   Tutor = brand green (default above). Admin = teal from the original Admin Central top bar (#546E7A, darkest shade).
   Assessment = plum (#5E4B8B, darkest shade), a distinct third shade that sits well next to the green and teal. */
html[data-theme="admin"]{--brand:#6E8F9C;--hover:#5F7F8C;--light:#A9C0C9;--dark:#546E7A;--deep:#546E7A;--tint:#EEF4F6;--mark:#D3E2E8;--sh-brand:0 4px 16px rgba(84,110,122,.28)}
html[data-theme="assessment"]{--brand:#7E6BAE;--hover:#6E5B9E;--light:#B8ACD6;--dark:#5E4B8B;--deep:#5E4B8B;--tint:#F3F0F9;--mark:#E1DAF0;--sh-brand:0 4px 16px rgba(94,75,139,.28)}
html[data-theme] .results mark{background:var(--mark,#DDF2B8)}
/* section switcher in the header (only shows sections the signed-in person can open) */
.switch{display:flex;gap:.4rem;flex-wrap:wrap;font-size:14px}
.switch a{text-decoration:none;font-weight:800;color:var(--dark);border:2px solid var(--border);border-radius:9999px;padding:6px 14px;white-space:nowrap}
.switch a:hover{border-color:var(--brand);background:var(--tint)}
.switch a.sw-home{border-color:transparent}
.nolink{font-weight:700;color:var(--muted)}
/* For Roanna callout: reusable highlighted box (yellow-100 #FFF9E6, yellow-400 #F9C74F) */
.roanna{display:block;background:#FFF9E6;border:2px solid #F9C74F;border-radius:12px;padding:1rem 1.25rem 1rem;margin:1.1rem 0;font-size:16px;position:relative}
.roanna-label{display:inline-block;background:#F9C74F;color:#333;font:800 12px var(--sans);letter-spacing:.06em;text-transform:uppercase;border-radius:9999px;padding:2px 10px;margin-right:.5rem;vertical-align:1px}
.roanna strong{color:#333}
/* side-by-side options (all versions shown until Roanna chooses) */
.options{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin:1rem 0}
.option{border:2px dashed #F9C74F;border-radius:12px;padding:1rem 1.25rem;background:#fff}
.option-title{font:800 15px var(--sans);color:var(--dark);margin-bottom:.4rem;text-transform:none}
.option h3:first-child{margin-top:.2rem}
/* To Do list */
.todo h2 small{font:600 1rem var(--sans);color:var(--muted)}
.todo-list{padding-left:1.4rem}.todo-list li{margin:.7rem 0;font-size:16px}
.todo-kind{display:inline-block;background:#FFF9E6;border:1px solid #F9C74F;border-radius:9999px;font-size:12px;font-weight:800;padding:1px 9px;margin-right:.3rem}
.credit{font-size:14px;color:var(--muted);font-style:italic;margin-top:1.5rem!important}
/* launcher */
.launch{max-width:1000px;margin:0 auto;padding:3rem 2rem 5rem}
.launch .cards{grid-template-columns:repeat(auto-fit,minmax(205px,1fr))}
.lcard{border-top:8px solid var(--c);padding:2rem 1.75rem}
.lcard h3{font-size:1.5rem!important}.lcard .go{display:inline-block;margin-top:1rem;font-weight:800;color:var(--c)}
.signed{color:var(--muted);font-size:15px}
/* HR Central = warm terracotta brown (#8A4B35 darkest). Warm counterpart to the cool teal and plum, low-saturation so it is easy on the eyes. */
html[data-theme="hr"]{--brand:#A65E43;--hover:#94523A;--light:#D8A893;--dark:#8A4B35;--deep:#7A4230;--tint:#FBF3EF;--mark:#F2DCD2;--sh-brand:0 4px 16px rgba(138,75,53,.28)}

/* Finance Central: charcoal, gray and very light gray (Dana and Candace only) */
html[data-theme="finance"]{--brand:#4A4A4A;--hover:#333333;--light:#B5B5B5;--dark:#2B2B2B;--deep:#1A1A1A;--tint:#F3F3F3;--mark:#DCDCDC;--sh-brand:0 4px 16px rgba(26,26,26,.28)}
.fin-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1rem;margin:1.5rem 0}
.kpi{background:#fff;border:1px solid var(--border);border-radius:12px;padding:1rem 1.2rem;box-shadow:var(--sh-sm)}
.kpi .k{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.kpi .v{font:800 1.6rem/1.2 var(--serif);color:var(--dark);margin:.2rem 0}.kpi .s{font-size:13px;color:var(--muted)}
.kpi.bad .v{color:#B23B3B}.kpi.good .v{color:#2E7D32}
.chart{background:#fff;border:1px solid var(--border);border-radius:12px;padding:1rem;margin:1rem 0;box-shadow:var(--sh-sm)}
.chart svg{width:100%;height:auto;display:block}.chart .cap{font-size:13px;color:var(--muted);margin-top:.4rem}
.ftable{width:100%;border-collapse:collapse;font-size:14px;margin:.75rem 0 1.5rem}
.ftable th{background:var(--deep);color:#fff;text-align:left;padding:.5rem .6rem;font-weight:800;position:sticky;top:0}
.ftable td{padding:.45rem .6rem;border-bottom:1px solid var(--border)}.ftable tr:nth-child(even) td{background:var(--alt)}
.ftable td.n,.ftable th.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.ftable tr.tot td{font-weight:800;border-top:2px solid var(--dark)}
.tscroll{overflow-x:auto;max-height:620px;overflow-y:auto;border-radius:8px}
.neg{color:#B23B3B}.pill{display:inline-block;font-size:12px;font-weight:800;border-radius:9999px;padding:2px 10px;background:var(--alt)}
.pill.bad{background:#F8E1E1;color:#8E2B2B}.pill.warn{background:#FFF4D6;color:#7A5B00}.pill.ok{background:#E3F1E4;color:#1E5E24}
.srcs{font-size:13px;color:var(--muted);margin:.5rem 0 0}.srcs b{color:var(--text)}
/* Finance Central role toggle */
.roles{display:flex;gap:.4rem;margin:0 0 1.4rem;flex-wrap:wrap}
.roles button{font:600 13px/1 inherit;font-family:inherit;padding:.55rem 1rem;border:1px solid #1A1A1A;background:#fff;color:#1A1A1A;border-radius:999px;cursor:pointer}
.roles button.on{background:#1A1A1A;color:#fff}
.roles button:hover:not(.on){background:#F2F2F2}
.checklist{margin:.6rem 0 1.2rem 1.2rem;line-height:1.7}
/* Flip KPI cards (Finance Central) */
.kpi.flip{padding:0;background:none;border:0;box-shadow:none;perspective:1000px;cursor:pointer;outline:none}
.kpi.flip .kpi-in{display:grid;height:100%;position:relative;transition:transform .55s;transform-style:preserve-3d}
.kpi.flip.on .kpi-in{transform:rotateY(180deg)}
.kpi.flip .kpi-f,.kpi.flip .kpi-b{grid-area:1/1;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#fff;border:1px solid var(--border);border-radius:12px;padding:1rem 1.2rem;box-shadow:var(--sh-sm);position:relative}
.kpi.flip .kpi-f{min-height:195px}
.kpi.flip .kpi-b{position:absolute;inset:0;overflow:auto;transform:rotateY(180deg);background:#F4F4F4;font-size:12px;line-height:1.4;color:#1A1A1A}
.kpi.flip .kpi-b p{margin:.35rem 0 .5rem}.kpi-src{margin-top:.3rem}
.kpi-link{display:inline-block;font-weight:800;color:#1A1A1A;border-bottom:1px solid #1A1A1A;text-decoration:none}
.kpi-hint{position:absolute;top:.55rem;right:.6rem;width:16px;height:16px;border-radius:50%;border:1px solid #BDBDBD;color:#8C8C8C;font:700 10px/14px sans-serif;text-align:center}
.kpi.flip:hover .kpi-f{box-shadow:var(--sh-md)}.kpi.flip:focus-visible .kpi-f,.kpi.flip:focus-visible .kpi-b{outline:2px solid #1A1A1A;outline-offset:2px}
@media (prefers-reduced-motion:reduce){.kpi.flip .kpi-in{transition:none}}
/* ===== Finance Central accents (Oct 16, 2026): black/gray/white base + restrained teal, amber, deep blue, soft green, coral ===== */
html[data-theme="finance"]{--acc-teal:#1F8A70;--acc-amber:#E07A3F;--acc-blue:#1E3A8A;--acc-green:#2E8B57;--acc-coral:#D9534F}
html[data-theme="finance"] main h2:not(.sec-h){border-left:4px solid var(--acc-teal);padding-left:.55rem}
html[data-theme="finance"] main h2:not(.sec-h):nth-of-type(3n+2){border-left-color:var(--acc-blue)}
html[data-theme="finance"] main h2:not(.sec-h):nth-of-type(3n){border-left-color:var(--acc-amber)}
html[data-theme="finance"] .fin-kpis>.kpi:not(.flip){border-top:3px solid var(--acc-blue)}
html[data-theme="finance"] .fin-kpis>.kpi.flip .kpi-f{border-top:3px solid var(--acc-blue)}
html[data-theme="finance"] .fin-kpis>.kpi:nth-child(3n+2) .kpi-f,html[data-theme="finance"] .fin-kpis>.kpi:not(.flip):nth-child(3n+2){border-top-color:var(--acc-teal)}
html[data-theme="finance"] .fin-kpis>.kpi:nth-child(3n) .kpi-f,html[data-theme="finance"] .fin-kpis>.kpi:not(.flip):nth-child(3n){border-top-color:var(--acc-amber)}
html[data-theme="finance"] .kpi.good .v{color:var(--acc-green)}html[data-theme="finance"] .kpi.bad .v{color:var(--acc-coral)}
html[data-theme="finance"] .ftable th{background:#1F2A44}
html[data-theme="finance"] .roles button.on{background:var(--acc-blue);border-color:var(--acc-blue)}
html[data-theme="finance"] .kpi-hint{border-color:#9DB7D9;color:var(--acc-blue)}
html[data-theme="finance"] .kpi-link{color:var(--acc-blue);border-bottom-color:var(--acc-blue)}
html[data-theme="finance"] .neg{color:var(--acc-coral)}
html[data-theme="finance"] .note{border-left:3px solid #E9C9B3}
html[data-theme="finance"] .nav a.on{box-shadow:inset 3px 0 0 var(--acc-teal)}

/* ---- Layout fixes (Oct 2026): full-height gray menu, no inner scrollbar, wider balanced content, one-row cards ---- */
.topbar{background:#fff}
.layout{max-width:none;margin:0;background:linear-gradient(to right,var(--alt) 290px,#fff 290px);min-height:calc(100vh - 74px)}
.nav{position:sticky;top:74px;align-self:flex-start;height:calc(100vh - 74px);max-height:none;min-height:0;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}
.nav::-webkit-scrollbar{display:none}
.main{max-width:1320px;margin:0 auto;padding:2.5rem 3rem 5rem}
.cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
@media (min-width:1200px){.main>.cards:not(.staff),.launch .cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}}
.launch{max-width:1320px}
@media (max-width:900px){.layout{background:#fff}.nav{height:auto;top:auto;overflow-y:auto}}

/* ===== Marketing Central (Oct 19, 2026): raspberry theme + calendar grid. Used by /marketing/ and /marketing/private/ ===== */
html[data-theme="marketing"]{--brand:#B5466B;--hover:#9E3A5C;--light:#E3A9BC;--dark:#8E2F50;--deep:#7A2744;--tint:#FBF0F4;--mark:#F4D6E0;--sh-brand:0 4px 16px rgba(142,47,80,.28)}
html[data-theme="marketing"] .roles button{border-color:var(--dark);color:var(--dark)}
html[data-theme="marketing"] .roles button.on{background:var(--dark);color:#fff}
.mk-layers{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin:.5rem 0 1rem;font-size:14px}
.mk-layers label{display:inline-flex;align-items:center;gap:.35rem;cursor:pointer}
.mk-layers i{width:12px;height:12px;border-radius:3px;display:inline-block}
.mk-bar{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin:.5rem 0}
.mk-bar button,.mk-form button{font:700 14px/1 inherit;font-family:inherit;padding:.5rem .9rem;border-radius:8px;border:1px solid var(--dark);background:#fff;color:var(--dark);cursor:pointer}
.mk-bar button.pri,.mk-form button{background:var(--dark);color:#fff}
.mk-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#fff}
.mk-cal .dow{background:var(--deep);color:#fff;font-weight:800;font-size:12px;padding:.4rem;text-align:center}
.mk-cal .d{min-width:0;overflow:hidden;min-height:96px;border-top:1px solid var(--border);border-left:1px solid var(--border);padding:.25rem;font-size:11px}
.mk-cal .d.out{background:var(--alt);color:#999}.mk-cal .d.today{box-shadow:inset 0 0 0 2px var(--brand)}
.mk-cal .n{font-weight:800;font-size:12px}
.mk-cal .ev{display:block;border-radius:4px;padding:1px 4px;margin:2px 0;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin:1rem 0}
.mk-form{display:grid;gap:.5rem;max-width:640px}
.mk-form input,.mk-form select,.mk-form textarea{font:inherit;padding:.45rem .6rem;border:1px solid var(--border);border-radius:8px}
.mk-idea{border-bottom:1px solid var(--border);padding:.6rem 0}.mk-idea small{color:var(--muted)}
.fake{display:inline-block;background:#FFF4D6;color:#7A5B00;font-size:11px;font-weight:800;border-radius:999px;padding:1px 8px;margin-left:.4rem;vertical-align:middle}
.mk-real{font-size:13px;color:var(--muted);border-top:1px dashed var(--border);margin-top:.6rem;padding-top:.5rem}
.mk-real b{color:var(--text)}
.mk-banner{background:#FFF4D6;border:1px solid #F0D58A;border-radius:10px;padding:.7rem 1rem;margin:0 0 1rem;font-weight:700;color:#5E4600}

/* ===== Balanced section cards by count (Oct 19, 2026). Applies to .cards grids with 1-6 cards (not .staff).
   6-column track: 1 = full-width banner, 2 = halves, 3 = thirds, 4 = 2x2, 5/6 = rows of 3 (short last row stretches).
   Pure CSS via :has(); assets/cards-count.js also sets data-count as a fallback. Phones: one column. ===== */
@media (min-width:701px){
html body .cards:not(.staff):is(:has(>.card:last-child:nth-child(-n+6)),[data-count="1"],[data-count="2"],[data-count="3"],[data-count="4"],[data-count="5"],[data-count="6"]){grid-template-columns:repeat(6,minmax(0,1fr));gap:1.25rem}
html body .cards:not(.staff):is(:has(>.card:last-child:nth-child(-n+6)),[data-count="1"],[data-count="2"],[data-count="3"],[data-count="4"],[data-count="5"],[data-count="6"])>.card{grid-column:span 2}
html body .cards:not(.staff):is(:has(>.card:last-child:nth-child(1)),[data-count="1"])>.card{grid-column:1/-1}
html body .cards:not(.staff):is(:has(>.card:last-child:nth-child(1)),[data-count="1"])>.lcard{padding:2.5rem 3rem}
html body .cards:not(.staff):is(:has(>.card:last-child:nth-child(2)),[data-count="2"])>.card,
html body .cards:not(.staff):is(:has(>.card:last-child:nth-child(4)),[data-count="4"])>.card,
html body .cards:not(.staff):is(:has(>.card:last-child:nth-child(5)),[data-count="5"])>.card:nth-child(n+4){grid-column:span 3}
html body .cards:not(.staff):is(:has(>.card:last-child:nth-child(3)),[data-count="3"])>.lcard{padding:2.5rem 2.25rem}
}
@media (max-width:700px){html body .cards:not(.staff){grid-template-columns:1fr}html body .cards:not(.staff)>.card{grid-column:auto}}
