:root{color-scheme:dark;--bg:#11141a;--side:#14171e;--panel:#1a1e27;--line:#2c323e;--text:#f2f4f8;--muted:#a3acbb;--dim:#8792a4;--accent:#b8f87d;--ink:#192516;font-family:"Segoe UI",system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);min-width:280px}a{color:inherit}button,input,textarea,select{font:inherit}button,a,input,textarea,select{outline-offset:4px}button:focus-visible,a:focus-visible{outline:2px solid var(--accent)}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}svg{width:19px;height:19px;display:block}i{display:inline-flex;align-items:center;justify-content:center;font-style:normal;flex:none}.shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}.sidebar{height:100vh;position:sticky;top:0;display:flex;flex-direction:column;padding:24px 16px 18px;border-right:1px solid var(--line);background:var(--side)}.brand{display:flex;gap:11px;align-items:center;margin:3px 7px 48px;text-decoration:none;font-size:21px;font-weight:850;letter-spacing:.045em;line-height:1}.brand small{display:block;margin-top:4px;font-size:9px;letter-spacing:.25em;color:var(--muted)}.mark{display:grid;place-items:center;width:39px;height:39px;border-radius:11px;background:var(--accent);color:var(--ink)}.mark svg{width:24px;height:24px}.side-label,.eyebrow,.overline{font-size:10px;font-weight:800;letter-spacing:.17em}.side-label{margin:0 10px 13px;color:var(--dim)}nav{display:grid;gap:5px}nav a{display:flex;align-items:center;gap:12px;padding:11px 12px;border:1px solid transparent;border-radius:9px;text-decoration:none;color:var(--muted);font-size:14px;font-weight:650}nav a:hover,nav a[aria-current]{color:var(--accent);background:#202b23;border-color:#354537}.side-footer{margin-top:auto;display:flex;align-items:center;gap:9px;padding:14px 8px 0;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px #b8f87660;flex:none}.top{height:71px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,53px);font-size:13px;font-weight:650}.top-root,.slash{color:var(--dim)}.slash{margin:0 12px}.content{max-width:1440px;margin:auto;padding:33px clamp(18px,4vw,53px) 50px}.eyebrow{display:flex;gap:9px;align-items:center;color:var(--accent)}.page-title :is(h1,h2){font-size:clamp(34px,5vw,62px);letter-spacing:-.062em;line-height:1.02;margin:13px 0 10px;font-weight:800}.page-title p{color:#bec9c2;font-size:15px;line-height:1.6;margin:0;max-width:580px}.button{border:1px solid #3a414f;border-radius:8px;min-height:38px;padding:8px 13px;background:#202530;color:var(--text);display:inline-flex;gap:7px;align-items:center;justify-content:center;font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap}.button:hover{border-color:#8a9a88;background:#2c343a}.button.primary{background:var(--accent);color:var(--ink);border-color:var(--accent)}.button.primary:hover{background:#d1ffa9}.button.subtle{background:transparent}.button i svg{width:15px;height:15px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:34px 0 16px}.section-head h2{margin:0;font-size:21px;letter-spacing:-.035em}.section-head p{margin:5px 0 0;font-size:13px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,255px),1fr));gap:15px}.card{width:100%;min-height:174px;padding:17px 18px;text-align:left;border:1px solid var(--line);background:var(--panel);border-radius:12px;color:var(--text);display:flex;flex-direction:column;align-items:stretch}.card:hover{border-color:#73945e;background:#20252d}.card-top,.card-foot,.panel-head,.form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.badge{width:37px;height:37px;display:grid;place-items:center;border-radius:9px;background:#263953;color:#a1c8ff;flex:none}.badge.violet{background:#372b4b;color:#dabaff}.badge.green{background:#263e33;color:#b8f87d}.badge.orange{background:#49352a;color:#ffd09d}.card h3{font-size:17px;margin:13px 0 5px;overflow-wrap:anywhere}.card p{color:var(--muted);font-size:13px;line-height:1.5;margin:0 0 14px;overflow-wrap:anywhere}.card-foot{margin-top:auto;padding-top:10px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.card-foot span{overflow-wrap:anywhere}.chip{font-size:10px;font-weight:750;padding:4px 7px;border-radius:5px;color:#c4d6bc;background:#2a372e;white-space:nowrap}.card.new{align-items:center;justify-content:center;border-style:dashed;background:#171b22;text-align:center;min-height:168px}.card.new i{color:var(--accent);width:36px;height:36px;border-radius:9px;background:#253524}.card.new p{margin-bottom:0}.empty-note{color:var(--muted);font-size:13px;margin-top:15px}.page-title{margin:14px 0 26px}.page-title h1{font-size:clamp(34px,5vw,51px)}.page-title p{color:var(--muted)}.bench{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px;align-items:start}.panel{border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden}.panel-head{padding:12px 14px;border-bottom:1px solid var(--line);font-size:13px;font-weight:700;flex-wrap:wrap}.panel-head div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.editor{display:grid;grid-template-columns:auto minmax(0,1fr);background:#12151b}.editor pre,.editor textarea{margin:0;padding:14px 12px;border:0;border-radius:0;line-height:1.6;font-family:Consolas,monospace;font-size:13px;tab-size:2}.editor pre{color:#8390a5;text-align:right;height:365px;overflow:hidden;user-select:none;background:#171a22}.editor textarea{height:365px;resize:none;min-width:0;background:transparent;color:#dbead4;outline-offset:-2px;white-space:pre;overflow:auto}.panel-foot{padding:12px 14px;font-size:12px;color:var(--muted)}.results{display:grid;gap:14px}.readout{padding:14px;min-height:82px}.readout p{font-size:13px;line-height:1.55;color:var(--muted);margin:0 0 8px;overflow-wrap:anywhere}.readout p:last-child{margin-bottom:0}.readout ul{margin:8px 0 0;padding-left:19px;color:var(--muted);font-size:13px;line-height:1.6;overflow-wrap:anywhere}.readout .good{color:var(--accent)}.readout .bad{color:#ffabab}.readout pre,pre.project-code{white-space:pre-wrap;overflow-wrap:anywhere;color:#cee8be;background:#11151a;border-radius:7px;padding:11px;font:12px/1.6 Consolas,monospace}.inputs{margin-top:14px}.inputs summary{cursor:pointer;padding:12px 14px;font-size:13px;font-weight:700}.inputs div{padding:0 14px 14px}.inputs textarea{min-height:75px;font-family:Consolas,monospace}.inputs p{color:var(--muted);font-size:12px;line-height:1.5}dialog{width:min(94vw,550px);max-height:90vh;overflow:auto;border:1px solid #3c4653;border-radius:15px;background:var(--panel);color:var(--text);padding:24px;box-shadow:0 24px 100px #0008}dialog::backdrop{background:#080b11b9}dialog h2{margin:0 0 7px;letter-spacing:-.04em;overflow-wrap:anywhere}dialog p{color:var(--muted);font-size:14px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.form-grid{display:grid;gap:13px;margin:16px 0}.form-grid label,.inputs label{display:grid;gap:5px;font-size:12px;color:var(--muted);font-weight:650}input,textarea,select{border:1px solid #394352;border-radius:7px;background:#11151b;color:var(--text);padding:9px 10px;width:100%}.form-actions{justify-content:flex-end}.error{color:#ffabab;font-size:13px}.project-code{max-height:250px;overflow:auto}#notice{position:fixed;bottom:16px;right:16px;z-index:3;background:#243728;border:1px solid #496a47;color:#e7f9dc;border-radius:9px;padding:10px 14px;font-size:13px}#notice:empty{display:none}@media(max-width:900px){.shell{grid-template-columns:180px minmax(0,1fr)}.bench{grid-template-columns:1fr}}@media(max-width:640px){.shell{display:block}.sidebar{height:auto;padding:10px 13px;z-index:2;flex-direction:row;align-items:center;justify-content:space-between;border-right:0;border-bottom:1px solid var(--line);gap:8px}.brand{margin:0;font-size:15px;gap:6px}.brand small{font-size:7px}.mark{width:29px;height:29px}.mark svg{width:18px;height:18px}nav{display:flex;gap:2px}nav a{padding:6px;gap:4px;font-size:11px}nav svg{width:14px;height:14px}.side-label,.side-footer{display:none}.top{height:53px}.content{padding-top:20px}.hero h1{font-size:41px}.section-head{margin-top:24px}.section-head h2{font-size:19px}}@media(max-width:350px){nav i,.brand .mark,.top-root,.slash{display:none}}
.repo {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--bg);
}
.repo-header { padding: 23px clamp(15px, 4vw, 34px) 18px; background: #171b23; }
.repo-back { color: var(--muted); font-size: 13px; text-decoration: none; }
.repo-back:hover { color: var(--accent); }
.repo-name { display: flex; gap: 12px; align-items: center; margin-top: 14px; flex-wrap: wrap; }
.badge.project-icon { background:transparent; }
.project-icon svg { width:26px; height:26px; }
.repo-name h1 { margin: 0; font-size: clamp(25px, 4vw, 38px); letter-spacing: -.045em; overflow-wrap: anywhere; min-width: 0; }
.repo-owner { margin: 8px 0 0; color: var(--muted); font-size: 13px; overflow-wrap: anywhere; }
.repo-tabs {
  display: flex;
  flex-wrap:wrap;
  align-items:center;
  gap: 3px;
  padding: 0 clamp(10px, 3vw, 30px);
  border-bottom: 1px solid var(--line);
  background: #171b23;
  overflow-x: auto;
}
.repo-tabs a { padding: 10px; border-radius: 0; border-bottom-width: 2px; white-space: nowrap; }
.repo-tabs a[aria-current] { border-color: transparent transparent var(--accent); background: transparent; }
.repo-tabs select { width:auto; max-width:100%; margin:5px 0 5px 6px; font-size:13px; }
.repo-body { padding: clamp(13px, 3vw, 26px); }
.repo-readme { padding: clamp(14px, 3vw, 24px); }
.repo-readme h2, .repo-section h2 { margin: 0; letter-spacing: -.025em; font-size: 20px; }
.repo-readme p, .repo-section p, .repo-file-content p { color: var(--muted); line-height: 1.55; font-size: 14px; overflow-wrap: anywhere; }
.repo-readme p, .repo-file-content p { white-space: pre-wrap; }
.repo-section { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 14px; }
.repo-section p { margin: 5px 0 0; }
.repo-empty { margin: 0; padding: 20px; color: var(--muted); font-size: 14px; }
.repo-file + .repo-file { border-top: 1px solid var(--line); }
.repo-file summary { padding: 12px 15px; cursor: pointer; overflow-wrap: anywhere; }
.repo-file summary i { vertical-align: middle; color: var(--accent); margin: 0 5px; }
.repo-file summary .chip { margin-left: 8px; }
.repo-file-content { padding: 0 15px 14px; }
.repo-file-content strong { color: var(--text); }
.repo-reference { display: flex; flex-wrap: wrap; gap: 8px 13px; margin: 16px 0 0; font-size: 12px; color: var(--muted); }
@media (max-width: 640px) {
  .repo-tabs a { padding: 9px 7px; }
  .repo-tabs a i { display: none; }
  .repo-section { align-items: start; }
  .repo-section p { font-size: 12px; }
  #crumb { overflow-wrap: anywhere; }
}
:root {
  --bg:#11151d; --side:#151a24; --panel:#1b222e; --line:#303a49;
  --text:#edf2fb; --muted:#a6b3c5; --dim:#90a0b6; --accent:#91bdff; --ink:#13243e;
}
[hidden] { display:none !important; }
.shell > main { background:var(--bg); }
.brand .mark { border-radius:9px; }
.status-dot { box-shadow:none; }
nav a:hover, nav a[aria-current] { background:#202c3e; border-color:#3c5270; }
.button { transition:background-color .14s, border-color .14s; }
.button.primary:hover { background:#b8d5ff; }
.button:hover { border-color:#7794bd; background:#263347; }
.button.danger { color:#ffb5bb; }
.card:hover { border-color:#597eac; }
.chip { background:#27364a; color:#c9dfff; }
#notice { background:#24364f; border-color:#536e96; color:#e0ecff; max-width:calc(100vw - 32px); }
.editor textarea { color:#dbe8fc; }
.readout pre, pre.project-code { color:#d5e4f8; }
.shell > main:has(.dashboard-head) {
  background:var(--bg) url('/workspace-code.svg') center top / 620px 380px repeat;
}
.dashboard-head {
  display:flex; flex-direction:column; justify-content:center; min-height:164px;
  padding:16px 0;
}
.dashboard-head h1 { margin:8px 0 5px; font-size:clamp(36px,5vw,56px); line-height:1; letter-spacing:-.057em; }
.dashboard-head p { margin:11px 0 0; color:var(--muted); font-size:15px; }
.board-tools,.board-footer,.board-filter-fields { display:flex; flex-wrap:wrap; align-items:end; gap:10px; }
.board-tools { margin-bottom:15px; }
.board-options { margin-top:12px; }
.board-options summary,.activity summary { cursor:pointer; color:var(--accent); font-size:14px; }
.board-tools .board-options { margin:0; }
.board-tools .board-options[open] { flex:1 1 100%; }
.board-filter-fields { padding:10px 0 0; }
.board-filter-fields label { color:var(--muted); font-size:13px; }
.board-tools > label { display:grid; gap:5px; color:var(--muted); font-size:12px; }
.board-tools .board-search { flex:1 1 170px; }
.board-check { display:inline-flex; align-items:center; gap:7px; font-size:13px; color:var(--muted); }
.board-filter-fields .board-check { min-height:41px; }
.board-check input { width:auto; margin:0; accent-color:var(--accent); }
.board-footer { align-items:center; margin-top:20px; }
.board-empty { grid-column:1/-1; padding:25px; color:var(--muted); font-size:14px; }
.project-card { position:relative; display:flex; min-width:0; }
.project-card-link { text-decoration:none; padding-top:15px; overflow:hidden; }
.project-card-link .card-top { padding-right:42px; }
.project-card-link .project-thumbnail { margin:-15px -18px 12px; width:calc(100% + 36px); max-width:none; height:106px; }
.project-thumbnail { display:block; max-width:100%; object-fit:cover; }
.repo-header { position:relative; }
.repo-controls { display:flex; gap:8px; flex-wrap:wrap; margin-top:14px; }
.project-actions { position:relative; }
.project-actions > summary { cursor:pointer; }
.action-menu { position:absolute; z-index:1; display:grid; gap:5px; padding:7px; min-width:164px; margin-top:4px; }
.action-menu .button { justify-content:flex-start; }
.overview-details { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr)); gap:14px; }
.overview-details .project-thumbnail { width:100%; max-height:190px; border-radius:8px; }
.overview-progress { display:grid; gap:7px; align-content:start; padding:13px; border:1px solid var(--line); border-radius:8px; }
.overview-progress span,.activity li span { color:var(--muted); font-size:12px; }
.overview-progress p { margin:0; }
.overview-progress progress { width:100%; accent-color:var(--accent); }
.activity { margin-top:23px; }
.activity ol { display:grid; gap:8px; padding-left:22px; }
.activity li span { display:block; }
.script-history { margin:9px 0; font-size:13px; }
.script-history > summary,.script-history details > summary { padding:6px 0; cursor:pointer; }
.syntax-editor { position:relative; display:block; overflow:hidden; border:1px solid #394352; border-radius:7px; background:#11151b; }
.syntax-editor textarea,.syntax-editor pre,.editor textarea,.editor .test-syntax {
  font:13px/1.6 Consolas,monospace; white-space:pre; tab-size:2;
}
.syntax-editor textarea,.syntax-editor pre { width:100%; height:166px; margin:0; padding:9px 10px; border:0; border-radius:0; }
.syntax-editor textarea,.editor .highlight-input { position:relative; background:transparent; color:transparent; caret-color:#e5efff; resize:none; overflow:auto; }
.syntax-editor textarea::selection,.highlight-input::selection { background:#365988a0; }
.syntax-editor pre,.editor .test-syntax { position:absolute; inset:0; color:#d5e4f8; pointer-events:none; overflow:hidden; text-align:left; }
.editor .test-source { position:relative; min-width:0; }
.editor .test-source textarea { display:block; width:100%; }
.editor .test-syntax { height:365px; margin:0; padding:14px 12px; background:transparent; }
.tok-opcode { color:#9bc2ff; }
.tok-register { color:#d6baff; }
.tok-number { color:#f6c385; }
.tok-comment { color:#96a5b9; }
@media (max-width:640px) {
  .board-tools { gap:8px; }
  .repo-tabs a { flex:none; }
}
@media (prefers-reduced-motion:reduce) { .button { transition:none; } }
.asset-image { display:block; max-width:100%; max-height:360px; border-radius:8px; margin:10px 0; }
.task-group + .task-group { border-top:1px solid var(--line); }
.task-group h3 { margin:0; padding:10px 15px; background:#202b3b; color:#c8dcf8; font-size:13px; overflow-wrap:anywhere; }



.card-progress { width:100%; height:6px; margin-top:9px; accent-color:var(--accent); }

@font-face {
  font-family:Barlow; src:url('/fonts/barlow-regular.woff2') format('woff2');
  font-style:normal; font-weight:400; font-display:swap;
}
@font-face {
  font-family:Barlow; src:url('/fonts/barlow-semibold.woff2') format('woff2');
  font-style:normal; font-weight:600; font-display:swap;
}
@font-face {
  font-family:Barlow; src:url('/fonts/barlow-bold.woff2') format('woff2');
  font-style:normal; font-weight:700; font-display:swap;
}
@font-face {
  font-family:Barlow; src:url('/fonts/barlow-extrabold.woff2') format('woff2');
  font-style:normal; font-weight:800; font-display:swap;
}
@font-face {
  font-family:'Albert Sans'; src:url('/fonts/albert-sans.woff2') format('woff2');
  font-style:normal; font-weight:100 900; font-display:swap;
}
:root { font-family:'Albert Sans',Barlow,'Segoe UI',system-ui,sans-serif; }
.dashboard-head h1 { letter-spacing:-.035em; }
.test-intro,.repo-header.is-gasm {
  background:#171f2c url('/gasm-grid.svg') right center / min(52%,410px) auto no-repeat;
}
.test-intro { min-height:145px; padding:19px clamp(16px,3vw,24px); border:1px solid var(--line); border-radius:12px; }
.test-intro p { max-width:49ch; }
@media (max-width:700px) {
  .test-intro,.repo-header.is-gasm { background-image:none; }
  .test-intro::after,.repo-header.is-gasm::after {
    content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:.32;
    background:url('/grab-route.svg') right -42px center / 285px auto no-repeat;
  }
  .test-intro,.repo-header.is-gasm { position:relative; isolation:isolate; }
  .test-intro::after,.repo-header.is-gasm::after {
    background-image:url('/gasm-grid.svg'); opacity:.24;
  }
}
.card-menu {
  position:absolute; top:14px; right:13px; min-width:35px; min-height:33px;
  padding:4px 8px; background:#192330; font-size:20px; line-height:1;
}
.context-menu {
  position:fixed; z-index:20; display:grid; gap:2px; padding:5px;
  min-width:min(176px,calc(100vw - 16px)); max-width:calc(100vw - 16px);
  max-height:calc(100vh - 16px); overflow:auto;
  background:#1e2938; box-shadow:0 8px 26px #0006;
}
.context-menu button {
  padding:8px 11px; border:0; border-radius:6px; background:transparent;
  text-align:left; color:var(--text); font:600 14px/1.3 'Albert Sans',Barlow,system-ui,sans-serif;
}
.context-menu button:hover,.context-menu button:focus-visible { background:#2d3e55; outline-offset:-2px; }
.context-menu button.danger { margin-top:4px; border-top:1px solid var(--line); color:#ffb4bd; }
.workspace-pulse { display:grid; grid-template-columns:1.15fr 1fr; gap:15px; margin-top:20px; }
.pulse-panel { min-width:0; padding:16px 18px; }
.pulse-panel h2 { display:flex; gap:8px; align-items:center; margin:0 0 12px; font-size:16px; }
.pulse-panel h2 i { color:var(--accent); }
.pulse-panel h2 svg { width:16px; height:16px; }
.pulse-panel h3 { margin:0 0 4px; font-size:16px; }
.pulse-panel p { margin:0; color:var(--muted); font-size:14px; line-height:1.4; }
.pulse-panel .button { margin-top:10px; }
.pulse-events { display:grid; gap:7px; margin:0; padding:0; list-style:none; }
.pulse-events li { display:flex; align-items:baseline; justify-content:space-between; gap:9px; padding-top:7px; border-top:1px solid var(--line); }
.pulse-events a { min-width:0; text-decoration:none; overflow-wrap:anywhere; }
.pulse-events a:hover strong { color:var(--accent); }
.pulse-events strong,.pulse-events span { display:block; }
.pulse-events span,.pulse-events time { color:var(--muted); font-size:12px; }
.pulse-events time { flex-shrink:0; }
@media (max-width:640px) { .workspace-pulse { grid-template-columns:1fr; } }
.top-actions { display:flex; gap:7px; align-items:center; flex-shrink:0; }
.top > div:first-child { min-width:0; overflow-wrap:anywhere; }
.auth-panel,.profile-panel { max-width:680px; margin:12px auto; }
.auth-panel { max-width:440px; padding:25px; }
.auth-heading h1,.profile-heading h1 { margin:8px 0 4px; font-size:clamp(28px,6vw,42px); letter-spacing:-.04em; }
.auth-heading p,.profile-heading p { color:var(--muted); margin:0; font-size:15px; }
.auth-form { display:grid; gap:12px; margin-top:20px; }
.auth-form h2 { margin:0; font-size:19px; }
.auth-form label { color:var(--muted); font-size:14px; font-weight:600; }
.auth-form label > :is(input,textarea) { margin-top:4px; }
.auth-form small { color:var(--muted); font-weight:400; }
.auth-form label small { margin-left:5px; }
.auth-form .error { margin:0; }
.auth-form > .button { justify-self:start; }
.auth-switch { margin-top:16px; padding-top:13px; border-top:1px solid var(--line); font-size:14px; color:var(--muted); }
.auth-switch button { margin-left:5px; }
.profile-banner { height:135px; background:#263852 url('/grab-route.svg') right center / min(65%,360px) auto no-repeat; }
.profile-banner img { display:block; width:100%; height:100%; object-fit:cover; }
.profile-heading { display:flex; flex-wrap:wrap; gap:13px; align-items:center; padding:15px 20px; border-bottom:1px solid var(--line); }
.profile-heading h1 { font-size:28px; overflow-wrap:anywhere; }
.profile-heading .button { margin-left:auto; }
.profile-avatar { display:grid; place-items:center; width:61px; height:61px; border-radius:50%; overflow:hidden; background:#31496b; color:#d4e4ff; font-weight:800; font-size:25px; flex:none; }
.profile-avatar img { width:100%; height:100%; object-fit:cover; }
.profile-panel .auth-form { margin:0; padding:20px; }
.profile-images { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.profile-images > div { min-width:0; }
.profile-images .board-check { margin-top:7px; }
.profile-images .board-check input { margin:0; }
.profile-actions { display:flex; gap:8px; }
@media (max-width:560px) {
  .top { gap:8px; }
  .top-root,.top .slash { display:none; }
  .top-actions { gap:4px; }
  .top-actions .button { padding-inline:8px; }
  .profile-images { grid-template-columns:1fr; }
  .profile-heading .button { margin-left:0; }
}
.profile-bio { margin:0; padding:13px 20px 0; color:var(--muted); white-space:pre-wrap; overflow-wrap:anywhere; }
.auth-gated .shell { display:block; }
.auth-gated .sidebar,.auth-gated .top { display:none; }
.auth-gated main { min-height:100vh; }
.auth-gated .content { max-width:1070px; }
.auth-landing {
  display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); align-items:center;
  gap:clamp(15px,4vw,40px); min-height:min(680px,calc(100vh - 100px));
}
.auth-scene {
  min-height:420px; padding:clamp(20px,4vw,38px); border:1px solid var(--line); border-radius:12px;
  background:#1b2535 url('/grab-route.svg') right bottom / min(100%,470px) auto no-repeat;
}
.auth-scene h1 { margin:12px 0 6px; font-size:clamp(32px,5vw,54px); letter-spacing:-.04em; }
.auth-scene p { margin:0; color:var(--muted); font-size:16px; line-height:1.4; max-width:32ch; }
.auth-landing .auth-panel { width:100%; }
.auth-form .board-check input { margin-top:0; }
.terms-gate { width:min(100%,480px); margin:40px auto; }
.terms-gate .form-actions { flex-wrap:wrap; }
.terms-page { max-width:780px; }
.terms-page article { margin-top:18px; padding:clamp(18px,5vw,36px); line-height:1.6; }
.terms-page h1 { margin:0; line-height:1.2; }
.terms-page h2 { font-size:18px; margin-bottom:0; }
.terms-page h2 + p { margin-top:5px; }
.site-footer { padding:12px clamp(18px,4vw,53px) 22px; color:var(--muted); font-size:12px; }
.auth-gated .site-footer { display:none; }
@media (max-width:680px) {
  .auth-landing { grid-template-columns:1fr; min-height:0; }
  .auth-scene { min-height:170px; background-size:285px auto; background-position:right -50px bottom -24px; }
  .auth-scene p { max-width:24ch; }
  .auth-landing .auth-panel { max-width:none; margin:0; }
}
:root {
  --bg:#17181b;
  --side:#202124;
  --panel:#232428;
  --line:#37393f;
  --text:#f1f2f4;
  --muted:#b5b8c0;
  --dim:#9b9ea7;
  --accent:#b5c5dc;
  --ink:#1c2736;
}
.shell { grid-template-columns:76px minmax(0,1fr); }
.shell.sidebar-expanded { grid-template-columns:210px minmax(0,1fr); }
.sidebar { align-items:center; padding:22px 10px 15px; gap:22px; }
.sidebar-head { display:flex; flex-direction:column; align-items:center; gap:12px; }
.sidebar-toggle { display:grid; place-items:center; width:36px; height:36px; padding:0; color:var(--muted); border:1px solid var(--line); border-radius:8px; background:transparent; }
.sidebar-toggle:hover { color:var(--text); background:#32353c; }
.sidebar-expanded .sidebar-head { flex-direction:row; justify-content:space-between; width:100%; padding:0 6px; }
.sidebar-expanded .sidebar nav { width:100%; }
.sidebar nav a span { display:none; }
.sidebar-expanded .sidebar nav a span { display:block; }
.sidebar-expanded .sidebar nav a { width:100%; justify-content:flex-start; gap:11px; padding:0 12px; }
.sidebar-expanded .sidebar nav a[aria-current] { box-shadow:inset 2px 0 var(--accent); }
.sidebar .brand { margin:0; font-size:20px; letter-spacing:.025em; }
.sidebar nav { gap:8px; }
.sidebar nav a { width:44px; height:44px; padding:0; justify-content:center; border-radius:8px; }
.sidebar nav a i { display:inline-flex; }
.sidebar nav a:hover,.sidebar nav a[aria-current] { background:#32353c; border-color:#494d57; }
.top,.repo-header,.repo-tabs { background:#1c1d21; }
.auth-scene { background-color:#24262c; }
.test-intro,.repo-header.is-gasm { background-color:#23252a; }
.button,.card-menu { background:#2c2e34; border-color:#44464f; }
.button:hover { background:#373a42; border-color:#737b8a; }
.button.primary:hover { background:#d0daeb; }
.chip { background:#363943; color:#d6deeb; }
input,textarea,select,.editor,.syntax-editor { background-color:#191a1e; border-color:#444650; }
.editor textarea,.syntax-editor textarea { background:transparent; }
.editor pre { background:#212226; }
.editor .test-syntax { background:transparent; }
.context-menu { background:#2a2c32; }
.context-menu button:hover,.context-menu button:focus-visible { background:#3b3e47; }
.task-group h3 { background:#2c2e35; }
@media (max-width:640px) {
  .sidebar { padding:7px 10px; gap:6px; }
  .sidebar-head { flex-direction:row; gap:6px; }
  .sidebar .brand { font-size:18px; }
  .sidebar nav { gap:3px; }
  .sidebar nav a { width:36px; height:40px; }
  .sidebar nav svg { width:18px; height:18px; }
  .sidebar-expanded .sidebar { flex-wrap:wrap; }
  .sidebar-expanded .sidebar-head { padding:0; }
  .sidebar-expanded .sidebar nav { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
  .sidebar-expanded .sidebar nav a { flex-direction:column; justify-content:center; gap:3px; height:48px; padding:0 2px; }
  .sidebar-expanded .sidebar nav a[aria-current] { box-shadow:inset 0 -2px var(--accent); }
}
.code-lines,.setup-steps { margin-top:12px; }
.code-lines summary { cursor:pointer; color:var(--accent); font-weight:700; }
.code-lines .lines-hide,.code-lines[open] .lines-show { display:none; }
.code-lines[open] .lines-hide { display:inline; }
.code-lines ol,.setup-steps { padding-left:20px; color:var(--muted); font-size:13px; line-height:1.55; }
.code-lines li,.setup-steps li,.setup-connections li { overflow-wrap:anywhere; }
.setup-steps li + li { margin-top:5px; }
.readout .setup-connections { list-style:none; padding:0; margin:12px 0; }
.setup-connections li { padding:8px 0; border-top:1px solid var(--line); }
.setup-connections strong { color:var(--text); }
.setup-connections li p { margin:4px 0 0; }
.workspace-terminal {
  display:flex; align-items:center; gap:5px;
  min-height:34px; margin-top:6px;
}
.workspace-terminal img { display:block; object-fit:contain; }
.workspace-command-slot { display:flex; align-items:center; min-width:13ch; font:600 13px/1.2 Consolas,monospace; }
.workspace-terminal code {
  display:inline-block; min-height:1.2em; white-space:nowrap;
  border-right:1px solid var(--accent); color:#d1ddf5;
  font:inherit;
}

.hub-section { scroll-margin-top:16px; }
.hub-section + .hub-section { margin-top:46px; padding-top:14px; border-top:1px solid var(--line); }
@media (max-width:640px) {
  .hub-section { scroll-margin-top:70px; }
  .sidebar-expanded .hub-section { scroll-margin-top:116px; }
  .hub-section + .hub-section { margin-top:32px; }
}

/* Modding */
.mod-panel { margin-bottom:16px; padding:clamp(14px,3vw,24px); overflow-wrap:anywhere; }
.mod-panel h3, .mod-panel h4, .mod-panel h5 { margin:0 0 8px; }
.mod-panel h4, .mod-panel h5 { margin-top:16px; }
.mod-panel p, .mod-panel ul { color:var(--muted); font-size:14px; line-height:1.5; }
.mod-panel .error { color:#ffabab; }
.mod-fields, .mod-actions { display:flex; flex-wrap:wrap; align-items:end; gap:9px; }
.mod-fields label { display:grid; gap:5px; min-width:0; max-width:100%; font-size:13px; }
.mod-dashboard { margin:14px 0; }
.mod-dashboard header { padding:14px 16px; border:1px solid #3d4a60; border-radius:8px; background:#202835; }
.mod-dashboard header h4 { margin:0; font-size:20px; }
.mod-dashboard header p { margin:4px 0 0; }
[data-inspection-status]:not(:empty) { margin-top:10px; color:var(--muted); font-size:13px; }
.mod-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,115px),1fr)); gap:8px; }
.mod-stats div, .mod-asset { padding:12px; border:1px solid var(--line); border-radius:8px; background:#1c1e23; }
.mod-stats dt { color:var(--muted); font-size:12px; }
.mod-stats dd { margin:4px 0 0; font-size:clamp(16px,2vw,23px); font-weight:750; font-variant-numeric:tabular-nums; }
.mod-distributions { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); gap:8px; }
.mod-distribution { padding:12px; border:1px solid var(--line); border-radius:8px; background:#1c1e23; }
.mod-distribution h5 { margin:0 0 9px; font-size:14px; }
.mod-distribution ul { display:grid; gap:6px; list-style:none; padding:0; margin:0; }
.mod-distribution li { display:grid; grid-template-columns:minmax(0,1fr) minmax(40px,1fr) auto; align-items:center; gap:8px; }
.mod-distribution meter { width:100%; height:12px; }
.mod-distribution meter::-webkit-meter-bar { border:0; background:#313847; }
.mod-distribution meter::-webkit-meter-optimum-value { background:#8aabd9; }
.mod-distribution meter::-moz-meter-bar { background:#8aabd9; }
.mod-comparison { border-top:1px solid var(--line); margin-top:12px; }
.mod-stats .mod-added { border-color:#476b62; }
.mod-stats .mod-removed { border-color:#78565f; }
.mod-stats .mod-changed { border-color:#566c8d; }
.mod-metric-table { width:100%; border-collapse:collapse; text-align:left; font-size:13px; }
.mod-metric-table caption { text-align:left; font-weight:700; padding-bottom:6px; }
.mod-metric-table :is(th,td) { padding:7px 5px; border-bottom:1px solid var(--line); }
.mod-metric-table tbody th { font-weight:500; }
.mod-checks { padding:10px 12px; margin-top:8px; border:1px solid var(--line); border-radius:8px; }
.mod-checks summary { cursor:pointer; font-weight:650; }
.mod-assets { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr)); gap:10px; margin-top:14px; }
.mod-empty { padding:16px; border:1px dashed #4b5362; border-radius:8px; background:#20242b; }
.mod-empty h4, .mod-empty p:first-child { margin:0; }
.mod-asset h4 { margin-top:0; }
.mod-asset img { width:100%; max-height:140px; object-fit:contain; border-radius:5px; margin-bottom:8px; }
.mod-asset details { margin-bottom:10px; }
.mod-asset pre { white-space:pre-wrap; overflow-wrap:anywhere; }

/* Idea Lab */
.ideas-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(245px,1fr); align-items:start; gap:16px; }
.idea-lab, .idea-shortlist { padding:clamp(14px,3vw,24px); }
.idea-lab-header { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:end; gap:14px; margin-bottom:18px; }
.idea-lab-header h3, .idea-shortlist h3 { margin:0 0 10px; font-size:21px; }
.idea-lab-header label { display:block; margin-bottom:4px; color:var(--muted); font-size:13px; }
.idea-lab-header select { min-width:150px; }
.idea-actions, .idea-tags { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.idea-card { padding:clamp(14px,3vw,22px); border:1px solid var(--line); border-radius:9px; background:#1a1c22; }
.idea-card h3 { margin:14px 0 6px; font-size:clamp(23px,4vw,32px); line-height:1.12; }
.idea-card p, .idea-shortlist p { margin:0; color:var(--muted); font-size:14px; line-height:1.55; }
.idea-prototype, .idea-twist { margin:14px 0; padding:10px 12px; border-left:2px solid #778eaf; background:#252b35; }
.idea-twist { border-color:#a193bc; background:#2d2934; }
.idea-card h4 { margin:0 0 3px; font-size:14px; color:var(--text); }
.idea-twist-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:4px 12px; }
.idea-twist-heading .button { min-height:30px; padding:3px 7px; }
.idea-actions [aria-current="page"] { background:#343f50; border-color:#8198bc; }
.idea-shortlist ul { margin:12px 0 0; padding:0; list-style:none; display:grid; gap:8px; }
.idea-shortlist li button { width:100%; flex-wrap:wrap; justify-content:space-between; text-align:left; white-space:normal; }
.idea-shortlist li span { color:var(--muted); font-weight:500; }
.idea-shortlist .idea-empty { margin-top:12px; padding:12px; border:1px dashed var(--line); border-radius:8px; }
@media (max-width:850px) { .ideas-layout { grid-template-columns:minmax(0,1fr); } }

