:root{
    --bg:#FFF7FB;--surface:#FFFFFF;--surface-tint:#F7E8FF;--ink:#25172F;--muted:#695C72;
    --pink:#D9328A;--purple:#6E3FB3;--deep:#3A1F66;--coral:#FF6B6B;--border:#E8D7EF;
    --ring:0 0 0 3px rgba(217,50,138,.28);
    --shadow:0 24px 60px -26px rgba(58,31,102,.5);
    --shadow-sm:0 6px 18px -10px rgba(58,31,102,.35);
    --maxw:1180px;
    --display:ui-rounded,"SF Pro Rounded","Segoe UI",system-ui,-apple-system,sans-serif;
    --body:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  }
  @media (prefers-color-scheme:dark){:root{
    --bg:#180E24;--surface:#241633;--surface-tint:#2C1B40;--ink:#F6ECFB;--muted:#BBA9CC;
    --pink:#F368AC;--purple:#B98BEF;--deep:#0E0718;--coral:#FF8080;--border:#3A2A50;
    --shadow:0 24px 60px -26px rgba(0,0,0,.72);--shadow-sm:0 6px 18px -10px rgba(0,0,0,.6);
  }}
  :root[data-theme="light"]{--bg:#FFF7FB;--surface:#FFFFFF;--surface-tint:#F7E8FF;--ink:#25172F;--muted:#695C72;--pink:#D9328A;--purple:#6E3FB3;--deep:#3A1F66;--coral:#FF6B6B;--border:#E8D7EF;--shadow:0 24px 60px -26px rgba(58,31,102,.5);--shadow-sm:0 6px 18px -10px rgba(58,31,102,.35);}
  :root[data-theme="dark"]{--bg:#180E24;--surface:#241633;--surface-tint:#2C1B40;--ink:#F6ECFB;--muted:#BBA9CC;--pink:#F368AC;--purple:#B98BEF;--deep:#0E0718;--coral:#FF8080;--border:#3A2A50;--shadow:0 24px 60px -26px rgba(0,0,0,.72);--shadow-sm:0 6px 18px -10px rgba(0,0,0,.6);}

  *{box-sizing:border-box;}
  body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);line-height:1.55;-webkit-font-smoothing:antialiased;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px;}
  a{color:var(--purple);}
  h1,h2,h3,h4{font-family:var(--display);text-wrap:balance;letter-spacing:-.02em;margin:0;}
  p{margin:0;}
  .muted{color:var(--muted);}
  @media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;}}
  button:focus-visible,a:focus-visible{outline:none;box-shadow:var(--ring);}

  header{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 84%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);}
  .bar{display:flex;align-items:center;justify-content:space-between;gap:16px;height:66px;}
  .brand{display:flex;align-items:center;gap:10px;background:none;border:0;cursor:pointer;padding:0;}
  .brand b{font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:-.03em;color:var(--ink);}
  .brand b span{color:var(--pink);}
  nav.links{display:flex;gap:2px;align-items:center;}
  nav.links button{font:inherit;font-weight:600;font-size:14px;color:var(--muted);background:none;border:0;padding:8px 11px;border-radius:9px;cursor:pointer;}
  nav.links button:hover{color:var(--ink);background:var(--surface-tint);}
  nav.links button.active{color:var(--pink);}
  .cta-btn{font:inherit;font-family:var(--display);font-weight:800;cursor:pointer;border:0;border-radius:12px;padding:11px 16px;background:var(--pink);color:#fff;box-shadow:var(--shadow-sm);}
  .cta-btn:hover{filter:brightness(1.05);}
  .cta-btn.small{padding:9px 14px;font-size:14px;}

  .view{display:none;}
  .view.active{display:block;animation:fade .3s ease;}
  @keyframes fade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}

  /* ===== HOME: chat-dominant workspace ===== */
  .strap{padding:26px 0 6px;max-width:60ch;}
  .strap .kicker{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--purple);background:var(--surface-tint);border:1px solid var(--border);padding:5px 11px;border-radius:999px;}
  .strap h1{font-weight:800;font-size:clamp(22px,2.7vw,30px);margin-top:12px;line-height:1.08;}
  .strap p{color:var(--muted);margin-top:8px;font-size:15px;}

  .workspace{display:grid;grid-template-columns:230px minmax(0,1fr) 240px;gap:22px;align-items:end;padding:6px 0 8px;}

  /* figure column */
  .figures{position:relative;min-height:360px;display:flex;align-items:flex-end;justify-content:center;}
  .figures img{display:block;height:auto;filter:drop-shadow(0 14px 20px rgba(58,31,102,.22));}
  .fig-main{width:186px;position:relative;z-index:2;} .fig-fist{width:170px;margin-left:-38px;position:relative;z-index:1;}

  /* dominant chat */
  .chat{background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow);overflow:hidden;}
  .chat-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border);}
  .chat-head .t{display:flex;align-items:center;gap:9px;font-family:var(--display);font-weight:800;font-size:15px;}
  .chat-head .t .glow{width:24px;height:24px;border-radius:8px;background:linear-gradient(135deg,var(--pink),var(--purple));display:grid;place-items:center;}
  .chat-head .dots{color:var(--muted);letter-spacing:2px;font-size:16px;}
  .chat-body{padding:22px 18px;min-height:210px;display:flex;flex-direction:column;gap:14px;background:var(--surface);}
  .msg{display:flex;gap:11px;max-width:92%;}
  .msg .av{width:30px;height:30px;border-radius:9px;flex:none;background:linear-gradient(135deg,var(--pink),var(--purple));display:grid;place-items:center;}
  .msg .bub{background:var(--surface-tint);border:1px solid var(--border);border-radius:6px 15px 15px 15px;padding:12px 14px;font-size:14.5px;color:var(--ink);}
  .chips{display:flex;gap:8px;flex-wrap:wrap;padding-left:41px;}
  .chip{font-size:13px;font-weight:600;color:var(--purple);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:7px 12px;cursor:pointer;}
  .chip:hover{border-color:var(--pink);color:var(--pink);}
  .composer{display:flex;align-items:center;gap:10px;margin:4px 16px 18px;border:1.5px solid var(--border);border-radius:15px;padding:9px 10px 9px 8px;background:var(--surface);box-shadow:var(--shadow-sm);}
  .composer .add{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;color:var(--purple);border:1px dashed var(--border);border-radius:11px;padding:7px 11px;cursor:pointer;flex:none;}
  .composer input{flex:1;border:0;outline:none;background:transparent;font:inherit;font-size:14.5px;color:var(--ink);min-width:0;}
  .composer input::placeholder{color:var(--muted);}
  .composer .send{width:38px;height:38px;border-radius:11px;background:var(--pink);color:#fff;border:0;display:grid;place-items:center;cursor:pointer;flex:none;font-size:15px;}
  .undertext{padding:0 18px 16px;font-size:12px;color:var(--muted);display:flex;gap:7px;align-items:flex-start;}
  .undertext svg{flex:none;margin-top:1px;}

  /* right tool strip */
  .strip{display:flex;flex-direction:column;gap:12px;}
  .panel{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;}
  .panel .ph{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;font-size:12.5px;font-weight:800;font-family:var(--display);color:var(--ink);}
  .panel .ph .ico{display:flex;align-items:center;gap:7px;}
  .panel .ph .chev{color:var(--muted);}
  .panel .pb{padding:0 13px 12px;font-size:12.5px;color:var(--muted);border-top:1px solid var(--border);padding-top:10px;}
  .empty{font-style:italic;color:var(--muted);font-size:12px;}
  .stepline{display:flex;align-items:center;gap:9px;padding:4px 0;font-size:12.5px;color:var(--muted);}
  .stepline .n{width:16px;height:16px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:9px;font-weight:800;color:#fff;background:var(--border);}
  .stepline.active .n{background:var(--pink);box-shadow:0 0 0 3px color-mix(in srgb,var(--pink) 22%,transparent);}
  .stepline.active{color:var(--ink);font-weight:700;}
  .orient a{display:block;font-size:13px;color:var(--ink);text-decoration:none;padding:5px 0;cursor:pointer;}
  .orient a:hover{color:var(--pink);}
  .deadline-mini{background:color-mix(in srgb,var(--coral) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--coral) 40%,var(--border));border-radius:13px;padding:12px 13px;font-size:12.5px;}
  .deadline-mini b{color:var(--ink);}

  /* ===== subpages ===== */
  .page{padding:40px 0 10px;max-width:760px;}
  .page .back{font:inherit;font-weight:700;font-size:13.5px;color:var(--purple);background:none;border:0;padding:0;cursor:pointer;}
  .page h1{font-size:clamp(26px,3.4vw,38px);font-weight:800;margin:14px 0 6px;}
  .page .lede{font-size:16px;color:var(--muted);margin-bottom:6px;}
  .draft-tag{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#8a5a00;background:#FFF3D6;border:1px solid #F0D69A;border-radius:999px;padding:5px 11px;margin:4px 0;}
  :root[data-theme="dark"] .draft-tag{color:#FFD98A;background:#3a2c10;border-color:#5a4620;}
  .page h2{font-size:20px;font-weight:800;margin:24px 0 8px;}
  .page h3{font-size:15.5px;font-weight:800;margin:16px 0 4px;}
  .page p,.page li{font-size:14.5px;color:var(--ink);}
  .page p{margin:8px 0;}
  .page ul{margin:8px 0;padding-left:20px;display:flex;flex-direction:column;gap:6px;}
  .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0;}
  .card{background:var(--surface);border:1px solid var(--border);border-radius:15px;padding:16px;}
  .card .ic{width:36px;height:36px;border-radius:10px;background:var(--surface-tint);display:grid;place-items:center;color:var(--purple);margin-bottom:10px;}
  .card h3{margin:0;font-size:15px;font-weight:800;}
  .card p{font-size:13px;color:var(--muted);margin-top:5px;}
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0;}
  .contact-grid .c{background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:14px 16px;}
  .contact-grid .c .k{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:700;}
  .contact-grid .c .v{font-size:15px;font-weight:700;margin-top:3px;}
  .callout{background:var(--surface-tint);border:1px solid var(--border);border-radius:14px;padding:16px 18px;margin:16px 0;font-size:14px;color:var(--ink);}
  .callout b{color:var(--ink);}
  .boundaries{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:18px 20px;margin:24px 0 6px;}
  .boundaries h4{font-family:var(--display);font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--pink);margin:0 0 10px;}
  .boundaries ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 22px;}
  .boundaries li{font-size:13px;color:var(--muted);display:flex;gap:8px;align-items:flex-start;}
  .boundaries li svg{flex:none;margin-top:2px;color:var(--purple);}
  .fineprint{margin-top:20px;font-size:12px;color:var(--muted);max-width:70ch;}

  footer{border-top:1px solid var(--border);margin-top:22px;padding:28px 0 44px;}
  .foot{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;}
  .foot .cols{display:flex;gap:40px;flex-wrap:wrap;}
  .foot h4{font-family:var(--display);font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 8px;}
  .foot button.link,.foot a.link{display:block;font:inherit;font-size:14px;color:var(--ink);background:none;border:0;padding:4px 0;cursor:pointer;text-align:left;text-decoration:none;}
  .foot button.link:hover,.foot a.link:hover{color:var(--pink);}

  @media (max-width:980px){
    .workspace{grid-template-columns:1fr;}
    .figures{order:2;min-height:0;height:auto;justify-content:flex-start;gap:10px;}
    .fig-main{width:128px;}
    .fig-fist{width:116px;margin-left:-26px;}
    .strip{order:3;}
    nav.links{display:none;}
    .cards,.boundaries ul,.contact-grid{grid-template-columns:1fr;}
  }
