/* FieldVetted palette: slate canvas, blue navigation, purple suggestions,
   warm orange reserves and a restrained emerald / rose status system. */
:root{font-family:Inter,'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--dark-slate);font-size:14px;color-scheme:dark;--dark-slate:#0f172a;--electric-blue:#3b82f6;--moodle-orange:#f98012;--ai-purple:#5c59f0;--ink:#f8fafc;--muted:#94a3b8;--line:rgba(255,255,255,.1);--paper:rgba(30,41,59,.4);--accent:var(--electric-blue);--orange:var(--moodle-orange);--memory-model:#3b82f6;--memory-services:#5c59f0;--memory-safety:#f98012;--memory-spare:#e2e8f0}
*{box-sizing:border-box}
body{margin:0;overflow-x:hidden}
button,select,input{font:inherit}
button{cursor:pointer}
button:hover{filter:brightness(.97)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--moodle-orange);outline-offset:3px}
a{color:inherit;text-underline-offset:3px}
button,input,select{border-radius:5px}
button{color:inherit}
button:disabled{opacity:.5;cursor:default}
[hidden]{display:none!important}
.skip{position:fixed;top:-80px;left:10px;z-index:10;padding:12px;background:var(--accent);color:white}
.skip:focus{top:10px}
.topbar{height:78px;border-bottom:1px solid var(--line);padding:0 max(28px,calc((100vw - 1400px)/2));display:flex;align-items:center;justify-content:flex-start;gap:20px}
.brand{display:flex;gap:4px;align-items:center;text-decoration:none;font-size:24px;font-weight:750;letter-spacing:-.9px}
.brand-mark{width:36px;height:36px;display:grid;place-items:center;background:var(--ink);color:#ffffff;border-radius:9px;font-size:29px;padding-bottom:3px;margin-right:8px}
.brand-light{font-weight:400}
.version{font-size:9px;letter-spacing:.5px;background:rgba(59,130,246,.1);padding:4px 6px;border-radius:4px;margin:3px 0 0 8px}
.brand-sub{font-size:9px;font-weight:500;letter-spacing:1.5px;margin-left:22px;border-left:1px solid var(--line);padding-left:22px;color:var(--muted)}
.header-right{display:flex;gap:14px;align-items:center;justify-content:flex-end;font-size:10px}
.private-pill{padding:8px 12px;border:1px solid rgba(59,130,246,.3);background:rgba(59,130,246,.1);border-radius:20px;font-size:10px;white-space:nowrap}
.header-right>a{color:var(--muted)}
.site-nav{display:flex;align-items:center;gap:10px;margin-left:auto;font-size:13px}
.site-nav a{color:var(--muted);text-decoration:none;border:1px solid transparent;border-radius:5px;padding:8px 10px;white-space:nowrap}
.site-nav a:hover,.site-nav a[aria-current=page]{color:#60a5fa;border-color:rgba(59,130,246,.3);background:rgba(59,130,246,.1)}
main{max-width:1400px;margin:auto;padding:0 28px}
.ai-side-art{position:fixed;top:78px;bottom:0;width:max(0px,calc((100vw - 1400px)/2));min-width:0;overflow:hidden;pointer-events:none;z-index:0}
.ai-side-art::before{content:"";position:absolute;top:0;width:210px;height:100%;background-repeat:no-repeat;background-size:210px 1040px;opacity:.72}
.ai-side-art-left{left:0}
.ai-side-art-right{right:0}
.ai-side-art-left::before{right:0;background-image:url("../assets/ai-gutter-left.svg");background-position:right top}
.ai-side-art-right::before{left:0;background-image:url("../assets/ai-gutter-right.svg");background-position:left top}
.intro{position:relative;overflow:hidden}
.intro .hero,.intro .goals,.intro .intent-controls{position:relative;z-index:1}
.hero{display:flex;justify-content:space-between;align-items:center;gap:40px;padding:48px 0 29px}
.eyebrow{font-size:9px;letter-spacing:1.7px;font-weight:650;display:flex;align-items:center;gap:10px}
.small-line{height:2px;width:21px;background:var(--accent)}
h1{font-size:47px;line-height:1.08;letter-spacing:-1.7px;margin:18px 0;font-weight:650}
h1 span{color:var(--electric-blue);font-weight:450}
.hero p{font-size:13px;line-height:1.75;color:var(--muted);margin:0}
.hero-index{display:flex;gap:30px;border-left:1px solid var(--line);padding:22px 0 22px 35px}
.hero-index div{display:flex;flex-direction:column;gap:10px}
.hero-index strong{font-size:39px;font-weight:450;letter-spacing:-1px}
.hero-index span{font-size:9px;color:var(--muted);white-space:nowrap}
.goals{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.goal{display:flex;align-items:center;gap:13px;text-align:left;padding:18px 15px;background:var(--paper);border:1px solid var(--line);border-radius:8px;min-height:83px}
.goal[aria-pressed=true]{border-color:var(--electric-blue);background:rgba(59,130,246,.12);box-shadow:inset 0 0 0 1px rgba(59,130,246,.2)}
.goal-icon{font-size:22px;color:var(--electric-blue);width:27px;text-align:center}
.goal strong{display:block;font-size:12px;font-weight:600;margin-bottom:5px}
.goal small{font-size:10px;color:var(--muted)}
.intent-controls{display:flex;gap:21px;align-items:center;padding:19px 0 27px}
.intent-controls label{display:flex;align-items:center;gap:10px;font-size:10px;color:var(--muted);white-space:nowrap}
.intent-controls select{width:auto;max-width:275px;font-size:10px;min-height:32px}
.intent-controls p{font-size:10px;color:var(--muted);margin:0 0 0 auto;line-height:1.5;max-width:260px}
select,input[type=search]{border:1px solid rgba(255,255,255,.15);color:var(--ink);background:var(--paper);padding:9px 27px 9px 10px;font-size:11px;min-height:37px;width:100%}
select:hover,input:hover{border-color:var(--electric-blue)}
input[type=checkbox]{accent-color:var(--accent)}
.workbench{border-top:1px solid var(--line);padding-top:25px;scroll-margin-top:16px}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}
.section-heading .eyebrow{color:var(--muted);font-size:8px}
h2{font-size:25px;letter-spacing:-.6px;font-weight:550;margin:8px 0 0}
.tabs{display:flex;gap:3px;border:1px solid var(--line);padding:4px;border-radius:7px;background:rgba(30,41,59,.5)}
.tabs button{border:0;background:none;padding:10px 15px;font-size:11px;color:var(--muted)}
.tabs button[aria-selected=true]{background:var(--paper);box-shadow:0 1px 4px rgba(59,130,246,.15);color:var(--ink);font-weight:600}
.tabs span{font-size:9px;color:#94a3b8;margin-left:4px}
.hardware-strip{display:flex;align-items:center;gap:20px;border:1px solid var(--line);background:rgba(30,41,59,.3);border-radius:8px;padding:15px 19px;margin-bottom:20px}
.device-symbol{border:1px solid rgba(59,130,246,.3);background:rgba(59,130,246,.1);display:grid;place-items:center;width:45px;height:45px;font-size:24px;flex-shrink:0;border-radius:7px}
.hardware-strip label{display:flex;flex-direction:column;gap:5px;font-size:9px;color:var(--muted);min-width:100px}
.hardware-strip .device-label{flex:1;max-width:400px}
.hardware-strip select{min-height:33px}
.hardware-strip label:not(.device-label){width:139px}
.platform-note{display:flex;flex-direction:column;gap:6px;font-size:10px;margin-left:auto;max-width:220px}
.platform-note strong{font-weight:550}
.platform-note span{font-size:9px;color:var(--muted)}
.workspace{display:grid;grid-template-columns:minmax(0,1fr) 302px;gap:22px;align-items:start}
.workspace-main{min-width:0}
.panel-intro{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 18px}
.panel-intro h3{font-size:17px;letter-spacing:-.3px;font-weight:550;margin:0 0 7px}
.panel-intro p{color:var(--muted);font-size:11px;line-height:1.65;margin:0;max-width:610px}
.compact-label{font-size:9px;min-width:125px;display:flex;flex-direction:column;gap:5px}
.suggestion{background:#ffffff;border:1px solid #e2e8f0;border-radius:8px;padding:22px 24px;display:flex;gap:20px;align-items:center;justify-content:space-between;margin-bottom:20px}
.suggestion .eyebrow{font-size:8px;color:var(--ai-purple)}
.suggestion h3{font-size:22px;letter-spacing:-.6px;font-weight:550;margin:9px 0}
.suggestion p{font-size:11px;color:var(--muted);line-height:1.65;max-width:480px;margin:0}
.suggestion-actions{min-width:135px;display:flex;flex-direction:column;gap:9px;align-items:center}
.primary{border:0;border-radius:6px;background:var(--accent);color:#fff;padding:12px 15px;font-size:11px;font-weight:550;line-height:1.3}
.secondary{border:1px solid rgba(59,130,246,.3);background:var(--paper);padding:9px 12px;font-size:10px;white-space:nowrap}
.text-button{border:0;background:none;padding:5px 0;font-size:10px;text-decoration:underline;text-underline-offset:3px;color:#60a5fa}
.catalog-controls{display:grid;grid-template-columns:1fr 200px;gap:15px}
.catalog-controls label{font-size:10px;color:var(--muted);display:flex;flex-direction:column;gap:7px}
.catalog-meta{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted);padding:14px 1px}
.catalog-meta label{display:flex;align-items:center;gap:5px}
.model-cards,.hardware-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.model-card,.hardware-card{border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:18px;min-width:0;display:flex;flex-direction:column}
.model-card.is-selected,.hardware-card.is-selected{border-color:var(--electric-blue);box-shadow:inset 0 0 0 1px rgba(59,130,246,.1)}
.card-top{display:flex;align-items:center;justify-content:space-between;gap:9px;font-size:9px;color:var(--muted)}
.maker{font-weight:550}
.fit-badge{white-space:nowrap;background:rgba(16,185,129,.1);color:#10b981;border-radius:4px;padding:4px 6px;font-size:8px}
.fit-badge.tight{background:rgba(249,128,18,.1);color:#f98012}
.fit-badge.bad{background:rgba(225,29,72,.1);color:#fb7185}
.model-card h3,.hardware-card h3{font-size:16px;letter-spacing:-.35px;line-height:1.3;margin:12px 0 5px;font-weight:600}
.model-kind{font-size:9px;color:var(--muted);line-height:1.5}
.model-card .blurb,.hardware-card .blurb{font-size:11px;color:var(--muted);line-height:1.65;margin:12px 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.metrics{display:flex;gap:15px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:11px 0;margin-top:auto}
.metrics div{display:flex;flex-direction:column;gap:5px}
.metrics strong{font-size:14px;font-weight:550}
.metrics span{font-size:8px;color:var(--muted)}
.card-buttons{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:13px}
.card-buttons button{font-size:10px}
.select-model,.select-device{border:1px solid rgba(59,130,246,.3);background:rgba(59,130,246,.1);padding:8px 10px}
.compare-button{border:0;background:none;color:var(--muted);padding:7px 0}
.compare-button[aria-pressed=true]{color:#60a5fa;font-weight:600}
.model-card details,.hardware-card details{border-top:1px solid var(--line);padding-top:11px;margin-top:13px}
.model-card summary,.hardware-card summary{font-size:10px;cursor:pointer;color:#94a3b8}
.model-card details p,.hardware-card details p{font-size:10px;line-height:1.7;color:var(--muted);margin:9px 0}
.source-link{font-size:10px}
.hardware-card .card-top{font-size:8px}
.hardware-card .chip-name{font-size:11px;color:var(--muted)}
.hardware-spec{display:grid;grid-template-columns:1fr 1fr;gap:11px;font-size:10px;padding:13px 0}
.hardware-spec strong{display:block;font-weight:550;font-size:12px;margin-bottom:5px}
.hardware-spec span{font-size:8px;color:var(--muted)}
.hardware-card .blurb{margin:8px 0 12px}
.hardware-card .status-tag{font-size:8px;border:1px solid var(--line);padding:4px 6px;border-radius:4px;color:var(--muted)}
.hardware-card .status-tag.announced{color:#f98012;border-color:rgba(249,128,18,.3);background:rgba(249,128,18,.1)}
.comparison{margin-top:21px}
.comparison:empty{display:none}
.comparison-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:10px}
.comparison-heading h3{font-size:15px;font-weight:550;margin:0}
.comparison-heading small{font-size:9px;color:var(--muted)}
.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:7px;background:var(--paper)}
table{border-collapse:collapse;width:100%;font-size:10px;line-height:1.6}
th,td{padding:11px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;min-width:120px}
th{font-weight:600;background:#1e293b}
th:first-child,td:first-child{min-width:112px;color:var(--muted);font-weight:500}
.empty{grid-column:1 / -1;padding:30px;border:1px dashed #475569;border-radius:7px;color:var(--muted);font-size:12px;line-height:1.7}
.plan-card{position:sticky;top:18px;border:1px solid #e2e8f0;background:#ffffff;border-radius:8px;padding:23px 21px}
.memory-head{display:flex;align-items:center;justify-content:space-between}
.memory-head .eyebrow{font-size:8px;letter-spacing:1.4px}
.live-dot{height:6px;width:6px;background:#10b981;border-radius:50%;box-shadow:0 0 0 4px rgba(16,185,129,.1)}
.plan-card h3{font-size:22px;letter-spacing:-.5px;font-weight:500;margin:15px 0}
.memory-number{display:flex;gap:8px;align-items:baseline}
.memory-number strong{font-size:42px;font-weight:450;letter-spacing:-1.5px;font-variant-numeric:tabular-nums}
.memory-number>span{font-size:15px;color:var(--muted)}
.memory-sub{font-size:9px;line-height:1.5;color:var(--muted);margin:6px 0 16px}
.memory-bar{height:15px;border-radius:4px;overflow:hidden;background:#e2e8f0;display:flex;gap:2px}
.memory-bar span{height:100%;min-width:0}
.legend{display:grid;grid-template-columns:1fr 1fr;gap:8px 4px;margin:12px 0 17px}
.legend div{font-size:8px;display:flex;gap:5px;align-items:center;color:var(--muted)}
.legend i{width:5px;height:5px;display:block}
.status{border-radius:5px;padding:10px;background:rgba(16,185,129,.1);color:#047857;font-size:10px;margin-bottom:16px}
.status.warn{background:rgba(249,128,18,.12);color:#9a3412}
.status.error{background:rgba(225,29,72,.08);color:#be123c}
.memory-facts{border-bottom:1px solid var(--line);padding-bottom:9px}
.memory-facts div{display:flex;justify-content:space-between;gap:10px;font-size:9px;line-height:1.5;margin:11px 0}
.memory-facts span{color:var(--muted)}
.memory-facts strong{font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.runtime-label{font-size:8px;letter-spacing:1px;color:var(--muted);margin:18px 0 8px}
.runtime{font-size:11px;line-height:1.6;margin:0 0 12px}
.hardware-status{font-size:9px;line-height:1.6;color:var(--muted);margin:0 0 15px}
#warnings{display:flex;flex-direction:column;gap:8px}
#warnings .notice{font-size:9px;line-height:1.6;padding:8px 9px;border-left:2px solid var(--moodle-orange);background:rgba(249,128,18,.08);color:#9a3412}
#warnings .notice.error{border-color:#e11d48;background:rgba(225,29,72,.08);color:#be123c}
#warnings .notice.info{background:rgba(59,130,246,.08);color:#1d4ed8;border-color:#3b82f6}
.export{width:100%;margin-top:20px}
.save-state{text-align:center;font-size:8px;color:var(--muted);margin:10px 0 17px}
.allocation,.method{border-top:1px solid var(--line);padding-top:13px;margin-top:15px}
.allocation summary,.method summary{font-size:10px;cursor:pointer}
.allocation label{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin:18px 0 9px}
.allocation output{color:var(--ink)}
.allocation input{width:100%;accent-color:var(--accent);height:4px;cursor:pointer;margin:0}
.allocation p,.method p{font-size:10px;line-height:1.65;color:var(--muted)}
.setup-controls{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:12px;padding:17px;background:rgba(30,41,59,.3);border:1px solid var(--line);border-radius:7px}
.setup-controls label{font-size:9px;color:var(--muted);display:flex;flex-direction:column;gap:7px}
.format-caption{font-size:10px;line-height:1.6;color:var(--muted);padding:11px 3px 16px}
.role{border:1px solid var(--line);border-bottom:0;background:var(--paper);padding:16px 17px}
.role:first-child{border-radius:7px 7px 0 0}
.role:last-child{border-bottom:1px solid var(--line);border-radius:0 0 7px 7px}
.role-main{display:grid;grid-template-columns:132px minmax(140px,1fr) 83px;gap:13px;align-items:center}
.role-title strong{font-size:12px;font-weight:550;display:block;margin-bottom:5px}
.role-title small{font-size:8px;color:var(--muted)}
.role-budget label{font-size:8px;color:var(--muted);display:block;margin-bottom:4px}
.budget-control{display:flex;align-items:center;gap:4px;font-size:9px}
.budget-control input{width:62px;min-width:0;border:1px solid var(--line);background:#0f172a;color:var(--ink);padding:7px 5px;font-size:11px}
.budget-error{border-color:var(--moodle-orange)!important}
.role-bottom{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);align-items:center;gap:8px;margin-top:9px}
.role-bottom label{display:flex;align-items:center;gap:6px}
.role-bottom input{margin:0}
.role details{margin-top:9px}
.role summary{font-size:9px;color:#94a3b8;cursor:pointer}
.role details p{font-size:10px;line-height:1.7;color:var(--muted)}
.setup-actions{display:flex;gap:22px;align-items:center;padding:17px 2px}
.setup-actions button:last-child{margin-left:auto}
.decision-section{padding:41px 0 30px}
.checked{font-size:9px;color:var(--muted)}
.decision-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;align-items:start}
.decision-card{padding:23px;background:var(--paper);border:1px solid var(--line);border-radius:8px}
.card-index{font-size:8px;letter-spacing:1.4px;color:var(--muted)}
.decision-card h3{font-size:19px;line-height:1.3;font-weight:500;letter-spacing:-.4px;margin:16px 0}
.decision-card p,.decision-card li{font-size:11px;line-height:1.75;color:var(--muted)}
.decision-card ol{padding-left:17px}
.decision-card li{padding-left:3px;margin:8px 0}
.decision-card strong{font-weight:550;color:var(--ink)}
.decision-card details{margin-top:18px;padding-top:13px;border-top:1px solid var(--line)}
.decision-card summary{font-size:10px;cursor:pointer}
.decision-card code{font-size:10px;word-break:break-word}
.download-name{background:#f8fafc;border:1px solid #e2e8f0;border-radius:5px;padding:10px 11px;font-size:11px!important;color:var(--ink)!important;overflow-wrap:anywhere}
.small-note{font-size:9px!important;margin-top:16px}
footer{border-top:1px solid var(--line);padding:22px 0 28px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:9px;color:var(--muted)}
.brand-footer{font-weight:650;font-size:13px;color:var(--ink)}
.brand-footer span{font-size:9px;font-weight:400;margin-left:8px;color:var(--muted)}
#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);padding:12px 20px;background:var(--ink);color:#fff;border-radius:7px;font-size:12px;opacity:0;pointer-events:none;transition:opacity .15s;z-index:9;box-shadow:0 4px 18px #0002;max-width:90vw;text-align:center}
#toast.show{opacity:1}

@media(min-width:1500px){main{padding:0}
.workspace{grid-template-columns:minmax(0,1fr) 320px}
.model-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
.model-card{padding:16px}
.model-card h3{font-size:15px}
}

@media(max-width:1550px){.ai-side-art{display:none}}

@media(max-width:1150px){.hero-index{gap:23px;padding-left:25px}
.hero-index strong{font-size:33px}
.hero-index span{font-size:8px}
.brand-sub{display:none}
.intent-controls{gap:14px}
.intent-controls label{flex-direction:column;align-items:flex-start;gap:6px}
.intent-controls p{max-width:280px}
.workspace{grid-template-columns:minmax(0,1fr) 277px;gap:17px}
.plan-card{padding:20px 16px}
.goal{gap:9px;padding:15px 12px}
.goal strong{font-size:11px}
.goal small{font-size:9px}
.goal-icon{font-size:19px}
.role-main{grid-template-columns:104px minmax(130px,1fr) 73px;gap:9px}
.hardware-strip{gap:13px}
.platform-note{max-width:165px}
.suggestion{padding:19px;gap:13px}
.suggestion-actions{min-width:125px}
.suggestion h3{font-size:20px}
.model-card h3{font-size:15px}
.card-buttons{flex-wrap:wrap}
.decision-card{padding:19px}
.catalog-controls{grid-template-columns:1fr 170px}
}

@media(max-width:900px){.hero-index{display:none}
.hero{padding-top:35px}
.workspace{grid-template-columns:1fr}
.plan-card{position:static;display:grid;grid-template-columns:1fr 1fr;gap:0 30px;padding:24px}
.memory-head,.plan-card h3,.memory-number,.memory-sub,.memory-bar,.legend,.status,.memory-facts{grid-column:1}
.runtime-label{grid-column:2;grid-row:1;margin-top:0}
.runtime{grid-column:2;grid-row:2}
.hardware-status{grid-column:2;grid-row:3}
#warnings{grid-column:2;grid-row:4 / 9;align-self:start}
.export{grid-column:1;margin-top:15px}
.save-state{grid-column:1}
.allocation{grid-column:2;grid-row:9 / 12;margin-top:13px}
.method{grid-column:1 / -1;margin-top:5px}
.intent-controls p{font-size:10px}
.platform-note{max-width:220px}
.goals{grid-template-columns:repeat(2,1fr)}
.goal{padding:16px}
.goal strong{font-size:13px}
.goal small{font-size:10px}
.goal-icon{font-size:22px}
.decision-grid{grid-template-columns:1fr 1fr}
.decision-card:last-child{grid-column:1 / -1}
.hardware-strip .device-symbol{display:none}
.section-heading{align-items:flex-end}
.tabs button{padding:10px 12px}
.role-main{grid-template-columns:135px minmax(130px,1fr) 83px}
}

@media(max-width:590px){main{padding:0 17px}
.topbar{height:65px;padding:0 17px;gap:10px}
.brand{font-size:21px}
.brand-mark{width:30px;height:31px;font-size:25px}
.header-right>a{display:none}
.private-pill{font-size:8px;padding:7px 8px}
.version{font-size:8px;margin-left:5px}
.hero{padding:30px 0 24px}
.eyebrow{font-size:8px;letter-spacing:1.2px}
h1{font-size:37px;letter-spacing:-1.3px;margin:17px 0}
.hero p{font-size:12px}
.desktop-br{display:none}
.goals{gap:8px}
.goal{padding:13px 10px;gap:7px;min-height:79px}
.goal strong{font-size:11px}
.goal small{font-size:9px;display:block;line-height:1.5}
.goal-icon{font-size:19px;width:22px;flex-shrink:0}
.intent-controls{display:grid;grid-template-columns:1fr;gap:10px;padding:16px 0 22px}
.intent-controls label{flex-direction:row;align-items:center;justify-content:space-between;font-size:10px}
.intent-controls select{max-width:235px;width:68%;font-size:9px}
.intent-controls p{margin:3px 0 0;font-size:10px;max-width:none}
.section-heading{display:block;margin-bottom:17px}
h2{font-size:22px}
.tabs{margin-top:17px;display:flex;justify-content:space-between}
.tabs button{flex:1;font-size:10px}
.hardware-strip{display:grid;grid-template-columns:1fr 106px;gap:11px;padding:13px}
.hardware-strip .device-label{max-width:none}
.hardware-strip label:not(.device-label){width:auto}
.hardware-strip select{font-size:10px;min-width:0}
.hardware-strip label{min-width:0}
.platform-note{grid-column:1 / -1;max-width:none;margin:0;flex-direction:row;justify-content:space-between;font-size:9px}
.platform-note span{font-size:8px}
.model-cards,.hardware-cards{grid-template-columns:1fr}
.model-card,.hardware-card{padding:19px}
.model-card h3,.hardware-card h3{font-size:18px}
.model-card .blurb,.hardware-card .blurb{font-size:12px}
.model-kind{font-size:10px}
.card-top{font-size:10px}
.fit-badge{font-size:9px}
.metrics span{font-size:9px}
.metrics strong{font-size:15px}
.card-buttons button{font-size:11px;min-height:36px}
.model-card summary,.hardware-card summary{font-size:11px}
.model-card details p,.hardware-card details p{font-size:11px}
.suggestion{display:block;padding:19px}
.suggestion h3{font-size:22px}
.suggestion p{font-size:12px}
.suggestion-actions{margin-top:15px;flex-direction:row;justify-content:space-between}
.primary{font-size:11px;min-height:39px}
.catalog-controls{grid-template-columns:1fr 136px;gap:10px}
.catalog-controls label{font-size:9px}
.catalog-controls input,.catalog-controls select{font-size:10px}
.catalog-meta{font-size:9px;gap:10px}
.panel-intro{display:block}
.panel-intro>label{margin-top:13px;max-width:200px}
.panel-intro p{font-size:11px}
.panel-intro>.secondary{margin-top:13px}
.plan-card{display:block;padding:23px}
.memory-number strong{font-size:44px}
.memory-sub{font-size:10px}
.memory-facts div{font-size:10px}
.legend div{font-size:9px}
.status{font-size:11px}
.runtime{font-size:12px}
.runtime-label{margin-top:19px}
.hardware-status{font-size:10px}
.allocation label{font-size:11px}
.allocation summary,.method summary{font-size:11px}
.allocation input{margin:2px 0 3px}
.allocation p,.method p{font-size:11px}
#warnings .notice{font-size:10px}
.save-state{font-size:9px}
.setup-controls{grid-template-columns:1fr 1fr;padding:13px;gap:10px}
.setup-controls label:last-child{grid-column:1 / -1}
.setup-controls select{font-size:10px}
.role{padding:15px}
.role-main{grid-template-columns:1fr 77px;gap:9px}
.role-title{grid-column:1 / -1}
.role-title strong{font-size:12px;display:inline-block;margin:0 8px 3px 0}
.role-title small{font-size:9px}
.role select{font-size:10px}
.role-bottom{font-size:9px}
.role summary{font-size:10px}
.role details p{font-size:11px}
.decision-grid{grid-template-columns:1fr}
.decision-card:last-child{grid-column:auto}
.decision-card{padding:22px}
.decision-card h3{font-size:21px}
.decision-card p,.decision-card li{font-size:12px}
.decision-card summary{font-size:11px}
.checked{display:block;margin-top:12px;font-size:9px}
.decision-section{padding-top:30px}
footer{flex-direction:column;align-items:flex-start;gap:14px}
.brand-footer span{font-size:9px}
.comparison-heading{display:block}
.comparison-heading small{display:block;margin-top:7px}
th,td{min-width:125px}
.memory-facts strong{font-size:11px}
}

@media(prefers-reduced-motion:reduce){*{transition:none!important}
}


.show-models{display:block;margin:18px auto 0;min-height:39px}
#model-comparison:not(:empty){margin:0 0 20px}
.mobile-plan{display:none}
#plan{scroll-margin-top:18px}

@media(max-width:900px){body{padding-bottom:68px}
.mobile-plan{position:fixed;bottom:0;left:0;right:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 20px;background:#ffffff;border-top:1px solid rgba(59,130,246,.3);box-shadow:0 -4px 20px rgba(15,23,42,.15);font-size:11px;text-decoration:none}
.mobile-plan>span:first-child{display:flex;flex-direction:column;gap:4px}
.mobile-plan strong{font-size:13px;font-weight:600}
.mobile-plan small{font-size:10px;color:#60a5fa}
.mobile-plan.has-error{background:#fff1f2;border-color:#e11d48}
.mobile-plan.has-error small{color:#be123c}
#toast{bottom:85px}
}


/* Dark canvas and blue wayfinding. */
body{background:radial-gradient(ellipse 65% 470px at 50% 0,rgba(59,130,246,.15),transparent),var(--dark-slate)}

::selection{background:rgba(59,130,246,.3)}

*{scrollbar-color:#1e293b var(--dark-slate);scrollbar-width:thin}

::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--dark-slate)}
::-webkit-scrollbar-thumb{background:#1e293b;border-radius:8px}

.topbar{background:#0f172af2;backdrop-filter:blur(14px);border-bottom-color:rgba(255,255,255,.05)}

.brand{color:#fff}
.brand-mark{background:var(--electric-blue);color:var(--dark-slate)}
.brand-light{color:var(--electric-blue)}

.version,.private-pill{color:#60a5fa}
.header-right>a:hover{color:#60a5fa}

.hero-index strong{color:#f8fafc}
.hero-index div:last-child strong{color:var(--moodle-orange)}

.goal,.tabs button,.model-card,.hardware-card,button,a{transition:background-color .16s,border-color .16s,color .16s}

.goal:hover,.model-card:hover,.hardware-card:hover{border-color:rgba(59,130,246,.55)}

.goal[aria-pressed=true] .goal-icon{color:#60a5fa}
.goal[aria-pressed=true] strong{color:#fff}

.tabs button[aria-selected=true]{background:rgba(59,130,246,.2);color:#60a5fa;box-shadow:none}
.tabs button[aria-selected=true] span{color:#60a5fa}

.device-symbol{color:#60a5fa}
select,input[type=search]{background:#0f172a;color:#f8fafc}
select option,select optgroup{background:#0f172a;color:#f8fafc}
input::placeholder{color:#94a3b8;opacity:1}

.primary{background:#2563eb;color:#fff;box-shadow:0 4px 14px rgba(59,130,246,.16)}
.primary:hover{background:var(--electric-blue);color:var(--dark-slate);filter:none}

.secondary:hover,.select-model:hover,.select-device:hover{background:rgba(59,130,246,.2);border-color:var(--electric-blue)}

.model-card.is-selected,.hardware-card.is-selected{background:rgba(59,130,246,.05)}
.select-model,.select-device{color:#60a5fa}

.fit-badge{border:1px solid rgba(16,185,129,.2)}
.fit-badge.tight{border-color:rgba(249,128,18,.25)}
.fit-badge.bad{border-color:rgba(225,29,72,.3)}

.source-link:hover,.compare-button:hover,.model-card summary:hover,.hardware-card summary:hover,.role summary:hover{color:#60a5fa}

/* Two light working surfaces create relief within the slate workspace. */
.suggestion,.plan-card,.decision-section{--ink:#0f172a;--muted:#64748b;--line:#e2e8f0;--paper:#fff;color:var(--ink);color-scheme:light}

.suggestion{border-left:3px solid var(--ai-purple);box-shadow:0 12px 30px rgba(0,0,0,.1)}

.suggestion p{color:#475569}
.suggestion .primary,#apply-suggested{background:var(--ai-purple);color:#fff;border-color:var(--ai-purple);box-shadow:0 4px 14px rgba(92,89,240,.2)}

.suggestion .primary:hover,#apply-suggested:hover{background:#4f4be5;color:#fff}

.plan-card{box-shadow:0 14px 36px rgba(0,0,0,.16);border-top:3px solid var(--electric-blue)}

.plan-card .text-button{color:#1d4ed8}
.memory-bar{height:16px}
.legend i{width:7px;height:7px;border:1px solid rgba(15,23,42,.12);flex-shrink:0}

.plan-card .primary:hover{color:var(--dark-slate)}
.status,.status.warn,.status.error{border:1px solid transparent}
.status{border-color:rgba(16,185,129,.18)}
.status.warn{border-color:rgba(249,128,18,.2)}
.status.error{border-color:rgba(225,29,72,.15)}

.allocation input{accent-color:#2563eb}
.allocation summary:hover,.method summary:hover{color:#1d4ed8}

/* The guidance block uses the reference palette's light contrast break. */
.decision-section{background:#f8fafc;margin:40px 0 28px;padding:32px;border-radius:12px}

.decision-card{background:#fff;box-shadow:0 3px 12px rgba(15,23,42,.04);border-top:3px solid #2563eb}

.decision-card:nth-child(2){border-top-color:#10b981}
.decision-card:nth-child(3){border-top-color:var(--moodle-orange)}

.decision-card p,.decision-card li{color:#334155}
.decision-card .card-index,.decision-card .small-note{color:#64748b}

.decision-section a{color:#1d4ed8}
.decision-section a:hover{color:#1e40af}
.decision-card summary:hover{color:#1d4ed8}

footer{border-top-color:rgba(255,255,255,.05)}
.brand-footer{color:#f8fafc}

#toast{background:#1e293b;border:1px solid rgba(59,130,246,.3);color:#f8fafc}

@media(max-width:900px){.mobile-plan{background:#0f172af2;color:#f8fafc;backdrop-filter:blur(12px);border-top-color:rgba(59,130,246,.3);box-shadow:0 -4px 20px rgba(15,23,42,.2)}
.mobile-plan small{color:#10b981}
.mobile-plan>span:last-child{color:#60a5fa}
.mobile-plan.has-error{background:#0f172a;border-color:#e11d48}
.mobile-plan.has-error small{color:#fb7185}
}

@media(max-width:590px){.decision-section{padding:22px 17px;margin:30px -1px 22px}
.suggestion{border-radius:9px}
.topbar{backdrop-filter:none}
}

@media(prefers-reduced-motion:reduce){*{transition:none!important}
}
/* Keep keyboard focus and hovered links legible on the light surfaces. */
.skip{background:#2563eb}
.suggestion :focus-visible,.plan-card :focus-visible,.decision-section :focus-visible{outline-color:#2563eb}
.decision-section .source-link:hover{color:#1e40af}

/* Readability pass: larger type without changing colors or behavior. */
:root{font-size:17px}
body{font-size:17px;line-height:1.5}
p,.hero p,.suggestion p,.panel-intro p,.model-card .blurb,.hardware-card .blurb,.decision-card p,.decision-card li,.allocation p,.method p,.model-card details p,.hardware-card details p,.role details p,.runtime,.format-caption,.empty{font-size:17px;line-height:1.5}
button,select,input,input[type=search],.primary,.secondary,.text-button,.tabs button,.card-buttons button,.setup-actions button,.budget-control input,.role select,.setup-controls select,.catalog-controls input,.catalog-controls select,table,th,td{font-size:15px;line-height:1.4}
.eyebrow,.section-heading .eyebrow,.suggestion .eyebrow,.memory-head .eyebrow,.card-index,.brand-sub,.version,.header-right,.private-pill,.goal small,.intent-controls label,.intent-controls p,.hardware-strip label,.platform-note,.platform-note span,.compact-label,.catalog-controls label,.catalog-meta,.card-top,.fit-badge,.model-kind,.metrics span,.model-card summary,.hardware-card summary,.source-link,.hardware-card .chip-name,.hardware-spec,.hardware-spec span,.hardware-card .status-tag,.comparison-heading small,.memory-sub,.legend div,.status,.memory-facts div,.runtime-label,.hardware-status,#warnings .notice,.save-state,.allocation summary,.method summary,.allocation label,.setup-controls label,.role-title small,.role-budget label,.budget-control,.role-bottom,.role summary,.checked,.decision-card summary,.decision-card code,.small-note,footer,.brand-footer span,#toast,.mobile-plan,.mobile-plan small{font-size:13px;line-height:1.4}
.goal strong,.role-title strong,.hardware-spec strong{font-size:15px;line-height:1.3}
.brand{font-size:24px;line-height:1.1}
.brand-mark{font-size:29px;line-height:1}
.hero{padding-bottom:34px}
.goal{align-items:flex-start;min-height:106px;padding:20px 16px}
.intent-controls{align-items:flex-start;gap:18px;flex-wrap:wrap}
.intent-controls p{margin-left:auto;max-width:360px}
select,input[type=search]{min-height:44px;padding-top:10px;padding-bottom:10px}
.hardware-strip{align-items:flex-start;flex-wrap:wrap}
.hardware-strip select{min-height:44px}
.platform-note{padding-top:4px}
.suggestion{align-items:flex-start}
.model-card,.hardware-card{gap:2px}
.model-card .blurb,.hardware-card .blurb{-webkit-line-clamp:4}
.model-card .blurb,.hardware-card .blurb{font-size:13px;line-height:1.4;display:block;-webkit-line-clamp:unset;-webkit-box-orient:initial;overflow:visible}
.metrics{flex-wrap:wrap}
.metrics strong{font-size:17px;line-height:1.2}
.card-top,.card-buttons,.comparison-heading,.memory-facts div,.role-bottom{align-items:flex-start}
.select-model,.select-device,.compare-button{min-height:42px}
.table-scroll{overflow-x:auto}
table{min-width:760px}
th,td{padding:13px;min-width:140px}
.plan-card{padding:24px}
.memory-number>span{font-size:17px}
.legend{gap:10px 8px}
.status{padding:12px}
.role-main{grid-template-columns:150px minmax(170px,1fr) 100px}
.budget-control input{width:78px}
.decision-card h3{line-height:1.25}
.download-name{font-size:17px!important;line-height:1.5}
.mobile-plan strong{font-size:15px;line-height:1.2}

@media(max-width:1150px){.role-main{grid-template-columns:130px minmax(150px,1fr) 94px}
.workspace{grid-template-columns:minmax(0,1fr) 300px}
}

@media(max-width:900px){.workspace{grid-template-columns:1fr}
.plan-card{grid-template-columns:1fr 1fr}
.role-main{grid-template-columns:150px minmax(150px,1fr) 100px}
.intent-controls p{margin-left:0}
}

@media(max-width:590px){main{padding:0 16px}
.topbar{overflow:hidden}
.site-nav{gap:4px;font-size:12px}
.site-nav a{padding:7px 6px}
h1{font-size:37px;line-height:1.08}
.hero p{overflow-wrap:anywhere}
.goals{grid-template-columns:1fr}
.goal{min-height:0}
.intent-controls label{display:flex;flex-direction:column;align-items:flex-start;gap:8px;white-space:normal}
.intent-controls select{width:100%;max-width:none;font-size:15px}
.hardware-strip{grid-template-columns:1fr;gap:13px}
.hardware-strip label:not(.device-label){width:100%}
.platform-note{display:block}
.platform-note span{display:block;margin-top:4px}
.catalog-controls{grid-template-columns:1fr}
.suggestion-actions{display:flex;flex-direction:column;align-items:stretch}
.role-main{grid-template-columns:1fr}
.role-title,.setup-controls label:last-child{grid-column:auto}
.role-bottom{flex-direction:column;align-items:flex-start}
.budget-control input{width:100%}
.budget-control{display:grid;grid-template-columns:minmax(0,1fr) auto}
.comparison-heading{display:block}
th,td{min-width:145px}
.mobile-plan{padding:12px 16px}
}
