/* MSK Milestones. Black bar, white pages, orange accent. */
:root{
  --bg:#f6f5f3; --surface:#ffffff; --fg:#141414; --muted:#5f5b57; --line:#e3dfda;
  --accent:#d4470a; --accent-soft:#fdeadb; --accent-fg:#ffffff;
  --star:#7a5a00; --star-soft:#f7ecc4;
  --alert:#b3261e; --alert-soft:#fbe9e7;
  --nav:#141414; --nav-fg:#ffffff;
  --display:'Bricolage Grotesque','Segoe UI',system-ui,sans-serif;
  --body:'Figtree','Segoe UI',system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,Menlo,monospace;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#101010; --surface:#1a1917; --fg:#f1efec; --muted:#a39e97; --line:#33302c;
    --accent:#ff8a3d; --accent-soft:#3a2412; --accent-fg:#1a0a00;
    --star:#e6c250; --star-soft:#3a3210;
    --alert:#ff8a80; --alert-soft:#3b1b19;
    --nav:#000000; --nav-fg:#ffffff;
    color-scheme:dark;
  }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--body);font-size:16px;line-height:1.6}
h1,h2,h3{font-family:var(--display);text-wrap:balance;line-height:1.15;margin:0}
a{color:var(--accent)}
img{max-width:100%}
.sr{position:absolute;left:-9999px}
.wrap{max-width:1120px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* bar */
.bar{background:var(--nav);color:var(--nav-fg);position:sticky;top:0;z-index:20;padding-top:env(safe-area-inset-top,0px)}
.bar-inner{display:flex;align-items:center;gap:16px;padding-block:12px;flex-wrap:wrap;justify-content:space-between}
.brand{font-family:var(--display);font-weight:700;font-size:18px;color:var(--nav-fg);text-decoration:none;letter-spacing:.01em}
.brand::before{content:"";display:inline-block;width:10px;height:10px;background:var(--accent);margin-right:10px;transform:rotate(45deg)}
.brand img{height:28px}
.mainnav ul{list-style:none;display:flex;gap:18px;margin:0;padding:0}
.mainnav a{color:var(--nav-fg);text-decoration:none;font-size:14px;opacity:.85}
.mainnav a:hover{opacity:1}
.member-links{display:flex;align-items:center;gap:14px;font-size:14px}
.member-links a{color:var(--nav-fg);text-decoration:none}
.btn{display:inline-block;background:var(--accent);color:var(--accent-fg);border:0;border-radius:6px;padding:11px 18px;font:600 15px var(--body);cursor:pointer;text-decoration:none}
.btn:hover{filter:brightness(1.08)}
.btn-small{padding:7px 14px;font-size:14px;color:var(--accent-fg)!important}

/* hero */
.hero{padding-block:56px 40px;border-bottom:1px solid var(--line)}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 12px}
.hero h1{font-size:clamp(32px,6vw,54px);font-weight:700;max-width:18ch}
.lede{color:var(--muted);max-width:66ch;margin:14px 0 0;font-size:17px}
.fine{font-size:13px;color:var(--muted);margin:10px 0 0}
.signup{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;max-width:560px}
.signup input[type=email]{flex:1 1 240px;min-width:0;padding:11px 14px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--fg);font:16px var(--body)}
.signup .message-success,.signup .message-error{display:none;flex-basis:100%;margin:0;font-size:14px}
.signup .message-success{color:var(--accent)}
.signup .message-error{color:var(--alert)}
.signup.success .message-success,.signup.error .message-error{display:block}
.signup .label-loading{display:none}
.signup.loading .label-default{display:none}
.signup.loading .label-loading{display:inline}

/* library */
.library{padding-block:36px 56px}
.section-title{font-size:26px;margin-bottom:18px}
.tag-title{font-size:clamp(28px,5vw,42px)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:20px}
.card{display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:6px;padding:18px;text-decoration:none;color:var(--fg)}
.card:hover{border-color:var(--accent)}
.card h3{font-size:20px}
.card p{margin:0;color:var(--muted);font-size:14px}
.card-tag{font-family:var(--mono);font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--accent)}
.card-foot{margin-top:auto;font-family:var(--mono);font-size:11px;color:var(--muted)}

/* guideline page */
.guideline-page{padding-block:20px 56px}
.crumb{font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:10px 0 8px}
.crumb a{color:var(--muted)}
.head{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:end;margin-bottom:18px}
.head h1{font-size:clamp(28px,5vw,44px);font-weight:700}
.review{border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:10px 14px;font-size:13px;min-width:220px}
.review b{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:4px}
.override{background:var(--alert-soft);border-left:4px solid var(--alert);padding:12px 16px;margin:0 0 14px;font-size:14px}
.living{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--accent);background:var(--accent-soft);border-radius:6px;padding:11px 16px;margin:0 0 16px;font-size:14px}
.living b{font-family:var(--mono);font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--accent);white-space:nowrap;padding-top:2px}
.legend{display:flex;gap:10px 22px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-bottom:18px}
.legend span{display:inline-flex;align-items:center;gap:7px}
.cols{display:grid;grid-template-columns:200px minmax(0,1fr);gap:28px;align-items:start}
.cols.no-side{grid-template-columns:minmax(0,1fr)}
.cols.no-side .side-slot{display:none}
.side{position:sticky;top:76px;display:flex;flex-direction:column;gap:2px}
.tab{display:block;text-align:left;background:transparent;border:0;border-left:3px solid transparent;color:var(--fg);font:500 14px var(--body);padding:7px 10px;cursor:pointer;border-radius:0 5px 5px 0}
.tab:hover{background:var(--accent-soft)}
.tab[aria-selected="true"]{border-left-color:var(--accent);background:var(--accent-soft);font-weight:600}
.main{min-width:0}
.tabpanel{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:clamp(16px,3vw,30px)}
.tabpanel[hidden]{display:none}
.tabpanel+.tabpanel{margin-top:0}
.tabpanel h2{font-size:26px;margin-bottom:4px}
.tabpanel .sub{color:var(--muted);font-family:var(--mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;margin:0 0 18px}
.tabpanel h3{font-size:14px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.07em;font-weight:500;color:var(--accent);margin:24px 0 8px}
.main .kg-card{margin:0}
ul.l{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
ul.l li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:6px;align-items:baseline}
.mk{font-family:var(--mono);font-size:11px;font-weight:500;text-align:center;border-radius:4px;padding:1px 6px;color:var(--muted)}
ul.l .mk{padding:1px 0}
.mk.s{background:var(--star-soft);color:var(--star);font-size:13px}
.mk.m{background:var(--accent-soft);color:var(--accent)}
.note{color:var(--muted);font-size:14px;display:block}
.tw{overflow-x:auto;border:1px solid var(--line);border-radius:6px}
.tabpanel table{border-collapse:collapse;width:100%;font-size:14px;min-width:520px}
.tabpanel th,.tabpanel td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.tabpanel th{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:500;background:var(--bg);white-space:nowrap}
.tabpanel tr:last-child td{border-bottom:0}
.tabpanel td:first-child{font-weight:600}
.kv{display:grid;grid-template-columns:150px minmax(0,1fr);border-top:1px solid var(--line)}
.kv div{padding:9px 0;border-bottom:1px solid var(--line)}
.kv div:nth-child(odd){color:var(--muted);font-weight:500}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:0 0 6px}
.stat{border-top:3px solid var(--accent);background:var(--bg);padding:10px 12px}
.stat b{display:block;font-family:var(--display);font-size:26px;color:var(--accent)}
.stat span{font-size:13px;color:var(--muted)}
.crit{background:var(--accent-soft);border-radius:6px;padding:12px 16px;margin-top:18px}
.crit b{font-family:var(--mono);font-size:11px;letter-spacing:.07em;text-transform:uppercase;display:block;margin-bottom:3px}
.warn{background:var(--alert-soft);border-radius:6px;padding:12px 16px;margin-bottom:14px}
.src{padding-left:20px}
.src li{margin-bottom:6px;font-size:14px;overflow-wrap:anywhere}
.tag{font-family:var(--mono);font-size:11px;border:1px solid var(--line);border-radius:999px;padding:1px 9px;color:var(--muted);white-space:nowrap;margin-right:6px}
.log{display:flex;flex-direction:column}
.log div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.log time{font-family:var(--mono);font-size:12px;color:var(--muted)}

/* gate */
.gate{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:8px;padding:24px;margin-top:16px;max-width:620px}
.gate h3{font-size:22px;margin:0 0 8px}
.gate p{margin:0 0 14px;color:var(--muted)}
.gate .signup{margin-top:4px}

/* plain pages */
.plain-page{padding-block:40px 64px;max-width:760px}
.plain-page h1{font-size:clamp(28px,5vw,40px);margin-bottom:16px}
.plain-content p,.plain-content li{max-width:68ch}

/* footer */
.foot{border-top:1px solid var(--line);padding-block:28px 40px;font-size:13px;color:var(--muted)}
.foot p{margin:0 0 10px;max-width:90ch}
.foot-links{display:flex;flex-wrap:wrap;gap:6px 18px}

@media (max-width:820px){
  .cols{grid-template-columns:minmax(0,1fr);gap:14px}
  .side{position:static;flex-direction:row;overflow-x:auto;gap:6px;padding-bottom:6px}
  .tab{border-left:0;border:1px solid var(--line);border-radius:999px;white-space:nowrap;background:var(--surface);padding:6px 14px}
  .tab[aria-selected="true"]{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}
  .head{grid-template-columns:1fr}
  .living{flex-direction:column;gap:4px}
  .kv{grid-template-columns:1fr}
  .kv div:nth-child(odd){border-bottom:0;padding-bottom:0}
  .log div{grid-template-columns:1fr;gap:2px}
  .mainnav{display:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

details.ref{border:1px solid var(--line);border-radius:6px;padding:8px 12px;background:var(--bg)}
details.ref summary{cursor:pointer;font-weight:500}
details.ref p{margin:8px 0 0;font-size:14px;color:var(--muted)}

/* Ghost editor card widths (required by Ghost) */
.kg-width-wide{width:min(1040px,92vw);margin-left:50%;transform:translateX(-50%)}
.kg-width-full{width:100vw;margin-left:50%;transform:translateX(-50%)}
