/* Solo AI Content site. Tokens shared with the logo and the REVISION guide. Font: Manrope (SIL OFL 1.1, see assets/fonts/OFL-Manrope.txt). */
@font-face{font-family:"Manrope";src:url("../fonts/Manrope.ttf") format("truetype");font-weight:200 800;font-display:swap}
:root{
  --night:#070B1E; --signal:#1F8FFF; --deep:#0B5FD1; --ink:#0B1020; --text:#1B2030; --muted:#444B5C;
  --mist:#EEF2FA; --line:#CFD6E6; --paper:#FFFFFF; --flag:#FFB020;
  --ok:#0B5B34; --ok-bg:#DDF4E7; --bad:#8A1C10; --bad-bg:#FFE2DD;
  --wrap:68rem; --gutter:1.25rem;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Manrope",system-ui,"Segoe UI",sans-serif;font-size:1.0625rem;line-height:1.6;color:var(--text);background:var(--paper)}
img{max-width:100%;height:auto;display:block}
a{color:var(--deep)}
a:focus-visible,button:focus-visible,summary:focus-visible,pre:focus-visible{outline:3px solid var(--signal);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
h1,h2,h3{color:var(--ink);line-height:1.15;margin:0}
h1{font-size:clamp(2rem,6.4vw,3.4rem);font-weight:800;letter-spacing:-.02em}
h2{font-size:clamp(1.5rem,4.2vw,2.1rem);font-weight:800;letter-spacing:-.015em}
h3{font-size:1.2rem;font-weight:800}
p{margin:.7rem 0}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:10}
.skip:focus{left:0}

/* header */
.site-header{background:var(--paper);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1.5rem;padding-top:.8rem;padding-bottom:.8rem}
.logo img{height:2.3rem;width:auto}
.nav{display:flex;flex-wrap:wrap;gap:.2rem 1.2rem}
.nav a{color:var(--ink);font-weight:700;text-decoration:none;padding:.45rem 0;border-bottom:3px solid transparent}
.nav a:hover{border-bottom-color:var(--line)}
.nav a[aria-current="page"]{border-bottom-color:var(--signal)}

/* hero */
.hero{background:var(--night);color:#fff;padding:3rem 0 3.4rem}
.hero h1{color:#fff}
.hero p{color:#D5DDF0;font-size:1.15rem;max-width:34rem}
.hero .grid{display:grid;gap:2.2rem;align-items:center}
.hero .shot{background:#fff;border-radius:10px;padding:.5rem;box-shadow:0 0 0 1px #2A3558}
.hero figcaption{color:#A9B8DA;font-size:.9rem;margin-top:.6rem}
.btn{display:inline-block;font:inherit;font-weight:800;text-decoration:none;border:2px solid var(--signal);background:var(--signal);color:#04122B;padding:.8rem 1.3rem;border-radius:8px;cursor:pointer;line-height:1.2}
.btn:hover{background:#4BA6FF;border-color:#4BA6FF}
.btn.ghost{background:transparent;color:inherit;border-color:currentColor}
.btn.dark{background:var(--night);border-color:var(--night);color:#fff}
.btn.dark:hover{background:#1A2342;border-color:#1A2342}
.btn.line{background:#fff;color:var(--ink);border-color:var(--ink)}
.btn.line:hover{background:var(--mist)}
.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.4rem}

/* sections */
section.block{padding:3rem 0}
section.block.alt{background:var(--mist)}
.lead{font-size:1.15rem;max-width:40rem}
.three{display:grid;gap:1.4rem;margin-top:1.4rem}
.three>div{border-top:4px solid var(--night);padding-top:.8rem}
.three h3{margin-bottom:.2rem}
.card{background:#fff;border:2px solid var(--night);border-radius:10px;padding:1.3rem}
ul.plain{list-style:none;margin:.6rem 0;padding:0}
ul.plain li{padding:.45rem 0;border-bottom:1px solid var(--line)}
ul.plain li:last-child{border-bottom:0}
code,.mono{font-family:Consolas,"SFMono-Regular",Menlo,monospace;font-size:.95em}
.fn{font-weight:800;color:var(--ink)}

/* revision page */
.steps{counter-reset:s;list-style:none;margin:1rem 0;padding:0}
.steps li{counter-increment:s;position:relative;padding:.5rem 0 .5rem 3rem}
.steps li::before{content:counter(s);position:absolute;left:0;top:.45rem;width:2.1rem;height:2.1rem;border-radius:50%;background:var(--night);color:#fff;font-weight:800;text-align:center;line-height:2.1rem}
.promptbox{border:2px solid var(--night);border-radius:10px;overflow:hidden;background:#fff}
.promptbar{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:space-between;background:var(--mist);padding:.7rem .9rem;border-bottom:2px solid var(--night)}
.promptbar span{font-weight:800;color:var(--ink)}
#prompt-text{margin:0;padding:1rem;max-height:30rem;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-family:Consolas,"SFMono-Regular",Menlo,monospace;font-size:.92rem;line-height:1.55;color:#10142A;background:#fff;user-select:text;-webkit-user-select:text}
.status{min-height:1.6rem;font-weight:700;color:var(--ok);margin:.5rem 0 0}
.status.warn{color:#6B4A00}
.dl{display:grid;gap:.8rem;margin-top:1rem}
.dl a{display:flex;justify-content:space-between;gap:1rem;align-items:center;text-decoration:none;color:var(--ink);border:2px solid var(--night);border-radius:10px;padding:.9rem 1rem;background:#fff}
.dl a:hover{background:var(--mist)}
.dl .n{font-weight:800}
.dl .d{color:var(--muted);font-size:.92rem;display:block;font-weight:500}
.dl .s{color:var(--muted);font-size:.9rem;white-space:nowrap;font-weight:600}
.src{background:var(--mist);border-radius:8px;padding:.6rem .9rem;margin:.5rem 0;font-size:.98rem}
.src b{color:var(--ink)}
.row{border:2px solid var(--night);border-radius:10px;padding:.7rem 1rem;margin:.7rem 0;background:#fff}
.chip{display:inline-block;font-weight:800;font-size:.9rem;letter-spacing:.04em;padding:.05rem .6rem;border-radius:5px;border:2px solid;margin-right:.6rem}
.chip.clear{color:var(--ok);background:var(--ok-bg);border-color:var(--ok)}
.chip.conflict{color:var(--bad);background:var(--bad-bg);border-color:var(--bad)}
.fict{display:inline-block;font-weight:800;font-size:.8rem;background:var(--flag);color:#1B1300;border-radius:5px;padding:.05rem .55rem;vertical-align:middle;margin-left:.4rem}
.hist{border:2px dashed var(--muted);border-radius:10px;padding:.7rem 1rem;margin:1rem 0;background:#fff}
.preview{display:grid;gap:1rem;margin-top:1.2rem}
.preview figure{margin:0}
.preview img{border:1px solid var(--line);border-radius:8px;background:#fff}
.preview figcaption{font-size:.9rem;color:var(--muted);margin-top:.4rem}
.presenter{display:grid;gap:1.4rem;align-items:center}
.presenter img{border-radius:50%;max-width:15rem;border:4px solid var(--night)}

/* footer */
.site-footer{background:var(--night);color:#C9D3EA;padding:2rem 0;margin-top:0;font-size:.98rem}
.site-footer a{color:#fff}
.site-footer .wrap{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;justify-content:space-between}
.site-footer .links{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}
.site-footer strong{color:#fff}

@media (min-width:46rem){
  :root{--gutter:2rem}
  .hero{padding:4.4rem 0 4.6rem}
  .hero .grid{grid-template-columns:1.15fr .85fr}
  .three{grid-template-columns:repeat(3,1fr);gap:2rem}
  .preview{grid-template-columns:1fr 1fr}
  .presenter{grid-template-columns:15rem 1fr}
  .dl{grid-template-columns:1fr 1fr}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* REVISION page v3: quick access, problem cards, table preview */
.eyebrow{margin:0 0 .5rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.85rem;color:#8FC4FF}
.hero .quick{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-top:1.4rem;max-width:34rem}
.hero .quick .btn{text-align:center;padding:.8rem .35rem;font-size:.95rem;line-height:1.25}
.hero .quick .btn:first-child{grid-column:1 / -1;font-size:1.15rem;padding:.95rem .6rem}
.hero .fine{font-size:.95rem;color:#B6C4E4;margin:.4rem 0 0}
.fine{font-size:.95rem;color:var(--muted)}
.status-top{color:#7FE3A8;margin:.6rem 0 0;min-height:1.6rem}
.status-top.warn{color:#FFD479}
.msgs{display:grid;gap:.7rem;margin:1rem 0}
.msg{border:2px solid var(--night);border-radius:10px;padding:.7rem 1rem;background:#fff}
.msg .k{display:block;font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:.8rem;color:var(--deep)}
.msg .v{display:block;font-weight:800;font-size:1.3rem;color:var(--ink);line-height:1.25}
.callout{border-left:6px solid var(--signal);background:var(--mist);padding:.8rem 1.1rem;font-weight:800;color:var(--ink);font-size:1.15rem;margin:1rem 0}
.tblwrap{overflow-x:auto;border:2px solid var(--night);border-radius:10px;background:#fff;margin:.8rem 0}
.tblwrap:focus-visible{outline:3px solid var(--signal);outline-offset:3px}
.tbl{border-collapse:collapse;min-width:58rem;font-size:.9rem;line-height:1.4}
.tbl th{background:var(--night);color:#fff;text-align:left;padding:.55rem .7rem;font-size:.78rem;letter-spacing:.06em;white-space:nowrap}
.tbl td{padding:.55rem .7rem;border-top:1px solid var(--line);vertical-align:top}
.tbl td:nth-child(1){font-weight:800;color:var(--ink);min-width:11rem}
.tbl td:nth-child(3){min-width:15rem}
.tbl td:nth-child(6){min-width:20rem}
.chip.unclear{color:#6B4A00;background:#FFF0CC;border-color:#6B4A00}
.chip.cs{color:#3A2A6B;background:#ECE6FF;border-color:#3A2A6B}
.scopebox{border-left:6px solid var(--flag);background:#FFF8E8;border-radius:0 8px 8px 0;padding:.6rem .9rem;margin:.6rem 0}
@media (min-width:46rem){
  .msgs{grid-template-columns:repeat(3,1fr)}
  .hero .quick{grid-template-columns:repeat(4,1fr)}
  .hero .quick .btn:first-child{grid-column:auto;font-size:1rem}
  .preview{grid-template-columns:repeat(3,1fr)}
}
