@font-face{font-family:'Space Mono';font-style:normal;font-weight:400;src:url('/fonts/SpaceMono-400.woff2') format('woff2');font-display:swap}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:700;src:url('/fonts/SpaceMono-700.woff2') format('woff2');font-display:swap}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:300;src:url('/fonts/IBMPlexSans-300.woff2') format('woff2');font-display:swap}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;src:url('/fonts/IBMPlexSans-400.woff2') format('woff2');font-display:swap}
@font-face{font-family:'IBM Plex Serif';font-style:italic;font-weight:400;src:url('/fonts/IBMPlexSerif-400i.woff2') format('woff2');font-display:swap}
  :root{--bg:#000;--panel:#110f1a;--panel2:#171424;--text:#f1eef8;--magenta:#ff1f8f;--violet:#b4a0ff;--muted:#968fab;--dim:#5a5570;--border:rgba(150,143,171,.22);
        --mono:'Space Mono',ui-monospace,Menlo,monospace;--sans:'IBM Plex Sans',system-ui,Helvetica,Arial,sans-serif;--serif:'IBM Plex Serif',Georgia,serif}
  html{color-scheme:dark}
  body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.55;padding-inline:20px}
  a{color:var(--text)}
  .wrap{max-width:1180px;margin:0 auto}
  /* nav */
  /* thesis */
  .thesis{padding-block:64px 40px;max-width:820px}
  .thesis h1{font-family:var(--mono);font-weight:700;font-size:clamp(34px,6vw,64px);line-height:1.02;letter-spacing:-.01em;margin:0 0 22px;text-wrap:balance}
  .thesis h1 em{font-style:normal;color:var(--violet)}
  .thesis p{font-family:var(--serif);font-style:italic;font-size:21px;line-height:1.5;color:var(--muted);margin:0;max-width:640px}
  .thesis p b{font-family:var(--sans);font-style:normal;font-weight:400;color:var(--text)}
  /* robots */
  .robot{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:start;padding-block:44px;border-top:1px solid var(--border)}
  .robot.flip .pic{order:2}
  .pic{position:relative;margin:0;background:var(--panel);overflow:hidden}
  .pic img,.pic video{width:100%;height:auto;display:block}
  .pic figcaption{position:absolute;left:0;bottom:0;right:0;padding:10px 14px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--muted);background:linear-gradient(0deg,rgba(0,0,0,.85),rgba(0,0,0,0))}
  .pic.twitch{aspect-ratio:16/9;background:#000}.pic.twitch .twimg{height:100%;object-fit:cover}.pic.twitch iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}.tw{position:absolute;inset:0;background:#000}.twimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;filter:saturate(.8)}
  .twbar{position:absolute;left:0;right:0;top:0;display:flex;align-items:center;gap:10px;padding:10px 12px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:#fff;background:linear-gradient(180deg,rgba(0,0,0,.7),rgba(0,0,0,0));z-index:2}
  .twlive{background:#e91916;color:#fff;padding:2px 7px;font-weight:700;border-radius:3px}.twv{margin-left:auto;color:#bf94ff}
  .twplay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:76px;height:76px;border-radius:50%;background:rgba(145,70,255,.92);display:flex;align-items:center;justify-content:center;font-size:30px;color:#fff;z-index:2}
  .twctrl{position:absolute;left:0;right:0;bottom:0;display:flex;gap:16px;padding:10px 14px;font-size:13px;color:#fff;background:linear-gradient(0deg,rgba(0,0,0,.75),rgba(0,0,0,0));z-index:2}.twctrl .twsp{flex:1}
  /* pages projet */
  .page{display:none}.page.on{display:block}
  .phead{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:start;padding-block:44px 30px}
  .phead h1{font-family:var(--mono);font-weight:700;font-size:clamp(36px,5.5vw,60px);line-height:1.02;margin:0 0 16px;letter-spacing:-.01em;text-wrap:balance}
  .phead .lead{font-size:19px;max-width:56ch;margin:0 0 18px}
  .sec{padding-block:36px;border-top:1px solid var(--border)}
  .sec h2{font-family:var(--mono);font-weight:700;font-size:22px;letter-spacing:.02em;margin:0 0 18px}
  .two{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
  .log{display:grid;grid-template-columns:120px 1fr;gap:8px 18px;font-size:15.5px}
  .log b{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--violet);padding-top:3px}
  .log p{margin:0 0 6px}
  .spec{width:100%;border-collapse:collapse;font-size:15px}.spec td{padding:9px 10px;border-bottom:1px solid var(--border);vertical-align:top}.spec td:first-child{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--muted);width:34%}
  .cost td:last-child{text-align:right;font-family:var(--mono)}
  .gal{display:grid;grid-template-columns:1fr 1fr;gap:14px}.gal figure{margin:0;background:var(--panel)}.gal img{width:100%;height:auto;display:block}.gal figcaption{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--muted);padding:8px 10px}
  .note{font-size:14px;color:var(--muted)}
  @media (max-width:1000px){.band{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.phead,.two,.gal{grid-template-columns:1fr}.log{grid-template-columns:1fr}.log b{padding-top:8px}}
  .eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.2em;color:var(--magenta);margin:0 0 12px}
  .eyebrow i{font-style:normal;color:var(--muted)}
  .robot h2{font-family:var(--mono);font-weight:700;font-size:clamp(30px,4vw,44px);letter-spacing:-.01em;margin:0 0 14px;line-height:1.05}
  .status{display:flex;gap:12px;align-items:flex-start;font-family:var(--mono);font-size:12.5px;line-height:1.55;color:var(--text);margin:0 0 18px;padding:10px 12px;background:var(--panel);border-left:2px solid var(--violet)}
  .status b{color:var(--violet);font-weight:700;white-space:nowrap}
  .robot p.what{margin:0 0 20px;max-width:56ch}
  .cta{display:flex;flex-wrap:wrap;gap:10px}
  .cta a{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-decoration:none;padding:11px 14px;border:1px solid var(--border);color:var(--text)}
  .cta a.main{background:var(--magenta);border-color:var(--magenta);color:#14020b;font-weight:700}
  .cta a:hover,.cta a:focus-visible{border-color:var(--violet);outline:none}
  /* band */
  .band{margin-block:24px 0;padding-block:36px;border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
  .band a{display:block;text-decoration:none;padding:16px 16px 14px;background:var(--panel);border:1px solid transparent}
  .band a:hover,.band a:focus-visible{border-color:var(--violet);outline:none}
  .band .k{font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--magenta);display:block;margin-bottom:8px}
  .band .v{font-size:16px;color:var(--text);display:block}
  .band .s{font-size:13px;color:var(--muted);display:block;margin-top:4px}
  footer{padding-block:28px 40px;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:8px 22px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--dim)}
  footer a{color:var(--muted);text-decoration:none}
  /* discussion */
  .disc{margin-block:56px 60px;border:1px dashed var(--violet);padding:26px 26px 22px;background:var(--panel2)}
  .disc h3{font-family:var(--mono);font-size:12px;letter-spacing:.22em;color:var(--violet);margin:0 0 16px}
  .disc h4{font-family:var(--sans);font-weight:600;font-size:16px;margin:22px 0 8px}
  .disc p,.disc li{font-size:15.5px;line-height:1.6;color:var(--text)}
  .disc ul{padding-left:20px;margin:0}
  .disc code{font-family:var(--mono);font-size:13px;color:var(--violet)}
  .disc table{border-collapse:collapse;width:100%;font-size:14.5px}
  .disc td,.disc th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:top}
  .disc th{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--muted);font-weight:400}
  @media (max-width:760px){.robot,.robot.flip{grid-template-columns:1fr}.robot.flip .pic{order:0}.band{grid-template-columns:1fr 1fr}.thesis{padding-block:44px 28px}}
  @media (max-width:460px){.band{grid-template-columns:1fr}}

