/* aigile.lol: one page, the board's own colours (public/styles.css), purple diamonds for flair. */
:root {
  color-scheme: light;
  --bg: #f6f7f9; --surface: #eef0f3; --raised: #ffffff; --hover: #e4e8ee; --line: #dde1e8;
  --text: #1d2330; --muted: #677085; --accent: #3b6cf6; --accent-hover: #2f5be0; --on-accent: #ffffff;
  --diamond: #a855f7; --focus: #3b6cf6;
  --shadow-lg: 0 12px 32px rgba(20, 23, 28, 0.14);
  --font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --bg: #12151b; --surface: #1b2029; --raised: #20262f; --hover: #262c37; --line: #2a303c;
    --text: #e6e9ef; --muted: #8b93a7; --accent: #6d93ff; --accent-hover: #89a8ff; --on-accent: #0b1430;
    --diamond: #b57cff; --focus: #89a8ff;
    --shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.6);
  }
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --bg: #12151b; --surface: #1b2029; --raised: #20262f; --hover: #262c37; --line: #2a303c;
  --text: #e6e9ef; --muted: #8b93a7; --accent: #6d93ff; --accent-hover: #89a8ff; --on-accent: #0b1430;
  --diamond: #b57cff; --focus: #89a8ff;
  --shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.6);
}

/* AIG-1301: Black, like the app: true #000 for OLED screens, on top of the dark theme */
:root[data-black] { --bg: #000; --surface: #0a0a0a; --raised: #111; --hover: #171717; --line: #222; --muted: #8a8f99; --shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.8); }

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.6;overflow-x:hidden}
img{max-width:100%;height:auto}
a{color:var(--accent)} a:hover{color:var(--accent-hover)}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}
.wrap{max-width:1040px;margin:0 auto;padding:0 16px}
/* Hidden above the page, not off to the side: a sideways offset scrolls right-to-left pages (AIG-1226) */
.skip{position:absolute;inset-inline-start:8px;top:-80px;background:var(--accent);color:var(--on-accent);padding:8px 16px;z-index:10}
.skip:focus{top:8px}
header.top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px 0}
.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:22px;color:var(--text);text-decoration:none}
.brand img{width:40px;height:40px;border-radius:8px}
.toggle{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:999px;width:44px;height:44px;font-size:20px;cursor:pointer;line-height:1}
.toggle:hover{background:var(--hover)}

/* Hero: logo, title, then the pre-alpha badge under the title (AIG-1117) */
.hero{text-align:center;padding:48px 0 32px;background:radial-gradient(ellipse at top,color-mix(in srgb,var(--accent) 18%,transparent),transparent 70%)}
.hero .logo{width:128px;height:128px;border-radius:20px;box-shadow:var(--shadow-lg)}
.alpha{margin:0 0 20px}
.alpha-tag{display:inline-block;font-size:13px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:2px 10px;cursor:help}
h1{font-size:clamp(2rem,8vw,3.75rem);line-height:1.1;margin:24px 0 12px;font-weight:700;overflow-wrap:break-word}
.lede{color:var(--muted);font-size:18px;max-width:38rem;margin:0 auto 32px}
.lede.small{font-size:16px;margin-bottom:16px}
/* AIG-1304: four buttons in whole rows: 4 across on desktop, 2 by 2 on tablet and phone */
.downloads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:560px;margin:0 auto}
@media (min-width:900px){.downloads{grid-template-columns:repeat(4,minmax(0,1fr));max-width:960px}}
.downloads .btn{min-width:0;padding:8px 12px;text-align:center;overflow-wrap:anywhere}
.btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-width:170px;min-height:56px;padding:8px 24px;border-radius:12px;background:var(--accent);color:var(--on-accent);font-weight:600;text-decoration:none;border:2px solid var(--accent)}
.btn:hover{background:var(--accent-hover);color:var(--on-accent)}
.btn small{font-weight:400;font-size:12px}
.btn.soon{background:var(--surface);color:var(--text);border-color:var(--line);cursor:default}
.btn.soon:hover{background:var(--hover);color:var(--text)}
.btn.soon small{color:var(--muted)}
.secondary{margin-top:24px;color:var(--muted);font-size:14px}

.features{display:grid;grid-template-columns:1fr;gap:16px;padding:32px 0}
/* AIG-1295: whole rows at every width: 3 columns on desktop, 2 on tablet with an odd last card across both, 1 on phones */
@media (min-width:600px){.features{grid-template-columns:repeat(2,1fr)}.features>.card:last-child:nth-child(odd){grid-column:1/-1}}
@media (min-width:900px){.features{grid-template-columns:repeat(3,1fr)}.features>.card:last-child:nth-child(odd){grid-column:auto}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px;position:relative}
.card .ic{font-size:28px;line-height:1;display:block;margin-bottom:8px}
.card h2{margin:0 0 8px;font-size:21px}
.card p{margin:0;color:var(--muted)}
.card p b{color:var(--text)}
.privacy{background:var(--raised);border-color:var(--diamond)}
.privacy ul{margin:12px 0 0;padding-left:24px;color:var(--muted)}
/* AIG-1304: Messenger teaser: text beside a phone drawn in CSS (theme colours, so light, dark and black all work) */
.messenger{display:grid;grid-template-columns:1fr;gap:24px;align-items:center;margin:16px 0;padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:12px}
@media (min-width:760px){.messenger{grid-template-columns:1fr 260px;gap:40px;padding:32px 40px}}
.messenger h2{font-size:28px;line-height:1.2;margin:0 0 12px}
.msgr-text p{margin:0 0 12px;color:var(--muted)}
.msgr-when{color:var(--text)!important;font-weight:600}
.msgr-soon{display:inline-block;font-size:13px;font-weight:600;color:var(--diamond);border:1px solid var(--diamond);border-radius:999px;padding:0 10px;margin-inline-end:6px}
.phone{width:100%;max-width:260px;margin:0 auto;background:var(--bg);border:8px solid var(--raised);outline:1px solid var(--line);border-radius:32px;box-shadow:var(--shadow-lg);overflow:hidden}
.phone-top{display:flex;align-items:center;gap:8px;padding:14px 14px 10px;border-bottom:1px solid var(--line);font-size:14px;font-weight:600}
.phone-dot{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--surface);font-size:15px}
.phone-chat{display:flex;flex-direction:column;gap:8px;padding:14px 12px 22px;min-height:200px}
.bub{margin:0;max-width:82%;padding:8px 12px;border-radius:16px;font-size:14px;line-height:1.4;overflow-wrap:anywhere;animation:bubin .5s ease-out both}
.bub.them{align-self:flex-start;background:var(--surface);color:var(--text);border:1px solid var(--line);border-end-start-radius:4px}
.bub.me{align-self:flex-end;background:var(--accent);color:var(--on-accent);border-end-end-radius:4px;animation-delay:.4s}
.bub.them+.bub.me+.bub.them{animation-delay:.8s}
@keyframes bubin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.community{text-align:center;padding:32px 0}
.community h2{font-size:28px;margin:0 0 8px}
.community .links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
footer{border-top:1px solid var(--line);padding:24px 0;text-align:center;color:var(--muted);font-size:14px}
/* AI-gile in N words (AIG-695, AIG-1117) and live card count (AIG-697) */
.pitch{text-align:center;padding:24px 0 8px}
.pitch h2{font-size:28px;margin:0 0 8px}
.pitch-text{max-width:42rem;margin:16px auto 0;min-height:7.5em;font-size:20px;line-height:1.6;text-align:left;background:var(--raised);border:1px solid var(--line);border-radius:12px;padding:20px;overflow-wrap:anywhere}
.pitch-text .w.new{animation:wordin .5s ease-out}
@keyframes wordin{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.pitch-quip{min-height:1.6em;margin:12px auto 0;color:var(--diamond);font-weight:600}
.pitch-ctl{max-width:42rem;margin:8px auto 0}
#pitch-range{width:100%;height:44px;margin:0;accent-color:var(--accent);cursor:pointer;touch-action:pan-y}
.pitch-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
#pitch-count{font-weight:700;font-size:20px;font-variant-numeric:tabular-nums}
.btn-lite{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:999px;min-height:44px;padding:8px 18px;font:inherit;font-weight:600;cursor:pointer}
.btn-lite:hover{background:var(--hover)}
.board-count{margin:24px 0 0;color:var(--muted)}
.board-count b{color:var(--diamond);font-size:1.4em;font-variant-numeric:tabular-nums}
/* Humans and Agents (AIG-1314) */
.people-count{margin:6px 0 0;color:var(--muted)}
.people-count b{color:var(--diamond);font-variant-numeric:tabular-nums}
.people-count .sep{margin:0 .4em}
/* Timeline (AIG-778/779): one vertical line, newest at the bottom, the plan after "Today" */
.timeline{max-width:42rem;margin:0 auto;padding:32px 0;text-align:center}
.timeline h2{font-size:28px;margin:0 0 8px}
.tl{list-style:none;margin:24px 0 0;padding:0 0 0 28px;text-align:left;border-left:3px solid var(--accent)}
.tl.planned{border-left-style:dashed;border-left-color:var(--diamond);margin-top:0}
.tl-item{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:0 0 12px}
.tl-item::before{content:"";position:absolute;left:-39px;top:18px;width:14px;height:14px;border-radius:50%;background:var(--accent);border:3px solid var(--bg)}
.tl-item.planned{background:transparent;border-style:dashed}
.tl-item.planned::before{background:var(--bg);border:3px solid var(--diamond)}
.tl-item.doing::before{background:linear-gradient(90deg,var(--accent) 50%,var(--bg) 50%);border:3px solid var(--accent)}
.tl-item.doing .tl-tag{color:var(--accent);border-color:var(--accent)}
.tl-item h3{margin:0;font-size:18px;overflow-wrap:anywhere}
.tl-tag{display:inline-block;font-size:12px;font-weight:600;color:var(--diamond);border:1px solid var(--diamond);border-radius:999px;padding:0 8px;vertical-align:middle}
.tl-when{margin:2px 0 0;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.tl-line{margin:4px 0 0;color:var(--text)}
.tl-cards{margin:4px 0 0;font-size:13px;color:var(--muted)}
.tl-today{display:flex;align-items:center;gap:12px;margin:8px 0 16px;color:var(--diamond);font-weight:700}
.tl-today::before,.tl-today::after{content:"";flex:1;height:2px;background:var(--diamond)}
/* Famous apps beside our own card count (AIG-842) */
.famous{margin:32px 0 0;text-align:left}
.famous h3{margin:0 0 8px;font-size:20px;text-align:center}
.famous ul{list-style:none;margin:0;padding:0}
.famous li{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:8px 14px;margin:0 0 8px;overflow-wrap:anywhere}
.famous-us{margin:0 0 12px;text-align:center;color:var(--muted)}
.famous-us b{color:var(--diamond);font-variant-numeric:tabular-nums}
.famous-src{margin-top:8px;font-size:13px;color:var(--muted)}
.famous-src summary{cursor:pointer;min-height:24px}
.famous-src li{background:transparent;border:0;padding:2px 0;margin:0}
.famous-src a{color:var(--accent)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* Forms: interest and business licence pages (AIG-754, AIG-619) */
.form-page{max-width:560px;margin:32px auto}
.form-page form{display:flex;flex-direction:column;gap:14px;margin:20px 0}
.form-page label{display:flex;flex-direction:column;gap:6px;font-weight:600}
.form-page label.pick{flex-direction:row;align-items:center;gap:8px;font-weight:400}
.form-page input:not([type=radio]),.form-page textarea{font:inherit;padding:10px 12px;border-radius:8px;border:1px solid var(--line);background:var(--raised);color:var(--text)}
.form-page fieldset{border:1px solid var(--line);border-radius:8px;padding:8px 14px;display:flex;flex-direction:column;gap:8px}
.form-page .btn{align-self:flex-start;cursor:pointer;font:inherit;font-weight:600}
.form-page .btn:disabled{opacity:.6;cursor:default}
.form-msg{min-height:1.4em;margin:0}
.form-msg.ok{color:#1a8f4a}
.form-msg.bad{color:#d4433b}
.muted{color:var(--muted)}
/* Live board (AIG-1232): every card a bar, sized by its length, coloured by type; the section scrolls sideways on a phone, the page never */
.live{max-width:72rem;margin:0 auto;padding:32px 0;text-align:center}
.live h2{font-size:28px;margin:0 0 8px}
.live-stat{margin:0 0 4px;color:var(--muted);font-size:14px;font-variant-numeric:tabular-nums}
.live-stat:first-letter{color:#22c55e}
.live-last{margin:0 0 12px;color:var(--muted);font-size:14px}
.live-scroll{overflow-x:auto;text-align:start;padding-bottom:8px}
.lv-cols{display:flex;gap:10px;align-items:flex-start;min-width:min-content}
.live{--c-bug:#dc2626;--c-task:#9333ea;--c-feat:#3b6cf6;--c-inc:#d97706;--c-done:#1f9d61;--c-mute:#5f697d}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .live{--c-bug:#f06262;--c-task:#b57cff;--c-feat:#6d93ff;--c-inc:#f0a33a;--c-done:#34c77b;--c-mute:#9da5b8}}
:root[data-theme="dark"] .live{--c-bug:#f06262;--c-task:#b57cff;--c-feat:#6d93ff;--c-inc:#f0a33a;--c-done:#34c77b;--c-mute:#9da5b8}
.lv-col{--k:var(--c-mute);flex:1 1 0;min-width:120px;background:color-mix(in srgb,var(--k) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--k) 24%,var(--line));border-top:3px solid var(--k);border-radius:10px;padding:8px;min-height:60px}
.lv-col.k-todo{--k:var(--c-feat)}.lv-col.k-doing{--k:var(--c-inc)}.lv-col.k-review,.lv-col.k-team{--k:var(--c-task)}.lv-col.k-verify{--k:var(--c-bug)}.lv-col.k-done{--k:var(--c-done)}
.lv-col h3{font-size:11px;margin:0 2px 8px;text-transform:uppercase;letter-spacing:.04em;color:var(--k);font-weight:700}
.lv-n{font-weight:400;opacity:.8;color:var(--muted)}
.lv-card{--t:var(--c-feat);height:10px;border-radius:5px;margin:0 0 6px;background:linear-gradient(90deg,var(--t),color-mix(in srgb,var(--t) 55%,transparent))}
.lv-card.t-bug{--t:var(--c-bug)}.lv-card.t-incident{--t:var(--c-inc)}.lv-card.t-task{--t:var(--c-task)}.lv-card.t-feature{--t:var(--c-feat)}
.lv-card.p-high{height:14px;box-shadow:0 0 0 2px color-mix(in srgb,var(--c-inc) 70%,transparent)}
.lv-card.p-urgent{height:14px;box-shadow:0 0 0 2px var(--c-bug)}
.lv-card.moved{animation:lvglow 1.4s ease-out}
@keyframes lvglow{0%{box-shadow:0 0 0 2px var(--t),0 0 12px 3px color-mix(in srgb,var(--t) 75%,transparent)}100%{box-shadow:0 0 0 0 transparent}}
.live-msg{color:var(--muted);margin:16px 0}
.live-cap{color:var(--muted);font-size:14px;margin:12px 0 0}
.live.off .live-cap{display:none}
@media (prefers-reduced-motion:reduce){.lv-card{transition:none!important}}

/* AIG-1319: the promise under each form stays on one line on a computer; "What we keep" never splits */
.form-keep{font-size:14px;line-height:1.5}
.form-keep a{white-space:nowrap}
