/* Why you cannot see a watermark in AI text - isaee.xyz interactive blog */
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--card);color:var(--ink);
      padding:10px 16px;border:2px solid var(--green);border-radius:3px;
      font-family:"IBM Plex Sans",sans-serif;font-size:14px}
.skip:focus{left:12px;top:12px}
header.top .brand{color:var(--ink);text-decoration:none;font-family:"Fraunces",Georgia,serif;
                  font-weight:600;font-size:14px;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
header.top .brand span{color:var(--green)}
header.top .up{color:var(--ink3);text-decoration:none;font-family:"IBM Plex Sans",sans-serif;
               font-size:12.5px;white-space:nowrap}
header.top .up:hover{color:var(--ink)}
header.top .sep{color:var(--rule);flex:none}
:root{
  --bg:#f4f3ee; --bg2:#ebe9e1; --card:#fdfcf9; --ink:#1c1f26; --ink2:#4c5160; --ink3:#8a8f9c;
  --rule:#d8d5cb; --tile:#fffefb; --tile-b:#9a9a94;
  --green:#2f8f5b; --green-soft:#d7efdf; --green-ink:#17603a;
  --red:#c9483a; --red-soft:#f6dcd6; --red-ink:#8b2a20;
  --gold:#d9a441; --gold-soft:#f7e7c0; --gold-ink:#7a5a12;
  --accent:#1f4f8c; --accent-soft:#dbe6f5;
  --shadow:0 1px 2px rgba(28,31,38,.08),0 6px 18px rgba(28,31,38,.06);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#15171c; --bg2:#1c1f26; --card:#20232b; --ink:#ece9e0; --ink2:#b7b4ab; --ink3:#7d7b74;
    --rule:#33363f; --tile:#262932; --tile-b:#5b5e68;
    --green:#4fb57c; --green-soft:#1d3d2b; --green-ink:#9fe0bb;
    --red:#e0604f; --red-soft:#4a2420; --red-ink:#f3aaa0;
    --gold:#e2b45a; --gold-soft:#4a3a17; --gold-ink:#f0d18f;
    --accent:#6f9fe0; --accent-soft:#1f2c40;
    --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 22px rgba(0,0,0,.35);
  }
}
:root[data-theme="dark"]{
  --bg:#15171c; --bg2:#1c1f26; --card:#20232b; --ink:#ece9e0; --ink2:#b7b4ab; --ink3:#7d7b74;
  --rule:#33363f; --tile:#262932; --tile-b:#5b5e68;
  --green:#4fb57c; --green-soft:#1d3d2b; --green-ink:#9fe0bb;
  --red:#e0604f; --red-soft:#4a2420; --red-ink:#f3aaa0;
  --gold:#e2b45a; --gold-soft:#4a3a17; --gold-ink:#f0d18f;
  --accent:#6f9fe0; --accent-soft:#1f2c40;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 22px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Newsreader",Georgia,"Times New Roman",serif;font-size:19px;line-height:1.55;-webkit-font-smoothing:antialiased}
.mono{font-family:"IBM Plex Mono","SFMono-Regular",Consolas,monospace}
#progress{position:fixed;top:0;left:0;height:4px;width:0;background:var(--green);z-index:60;transition:width .1s linear}
header.top{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}
header.top .in{max-width:1320px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:22px}
header.top b{font-family:"Fraunces",Georgia,serif;font-weight:600;letter-spacing:.04em;font-size:14px;text-transform:uppercase;color:var(--ink2)}
nav.chapters{display:flex;gap:15px;flex-wrap:wrap;font-family:"IBM Plex Sans",system-ui,sans-serif;font-size:12.5px;color:var(--ink3)}
nav.chapters a{color:inherit;text-decoration:none;border-bottom:1.5px solid transparent;padding-bottom:2px}
nav.chapters a:hover{color:var(--ink)}
nav.chapters a.on{color:var(--green);border-bottom-color:var(--green)}
.wrap{max-width:1320px;margin:0 auto;padding:0 24px}
.prose{max-width:660px;margin:0 auto;padding:0 24px}
.prose p{margin:0 0 1.35em}
.prose p.lede:first-letter{font-family:"Fraunces",serif;font-size:3.6em;float:left;line-height:.8;padding:.08em .12em 0 0;font-weight:600}
.prose h2{font-family:"Fraunces",serif;font-weight:600;font-size:clamp(28px,4vw,36px);line-height:1.15;margin:2.3em 0 .55em;text-wrap:balance}
.prose h2 .num{display:block;font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.16em;color:var(--green);margin-bottom:.75em;font-weight:500;text-transform:uppercase}
.prose a{color:var(--accent)}
.hero{padding:80px 0 52px;max-width:960px;margin:0 auto}
.eyebrow{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--green-ink);margin-bottom:22px}
h1{font-family:"Fraunces",serif;font-weight:700;font-size:clamp(40px,6.4vw,76px);line-height:1.02;margin:0 0 30px;letter-spacing:-.015em;text-wrap:balance}
.standfirst{font-size:23px;color:var(--ink2);max-width:660px;line-height:1.45;margin:0 0 34px}
.byline{font-family:"IBM Plex Sans",system-ui,sans-serif;font-size:13.5px;color:var(--ink3);margin-top:34px;line-height:1.7;max-width:660px}
.byline b{color:var(--ink2);font-weight:600}
.tag{display:inline-block;font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-ink);background:var(--gold-soft);border:1px solid var(--gold);border-radius:2px;padding:1px 6px;vertical-align:1px}

/* tiles */
.tiles{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.tile{font-family:"IBM Plex Mono",monospace;font-size:22px;padding:10px 14px;border:1.5px dashed var(--tile-b);background:var(--tile);color:var(--ink);border-radius:3px;transition:background .45s,border-color .45s,color .45s,opacity .45s,transform .45s;white-space:nowrap}
.tile.g{background:var(--green-soft);border-color:var(--green);border-style:solid;color:var(--green-ink)}
.tile.r{background:var(--red-soft);border-color:var(--red);border-style:solid;color:var(--red-ink)}
.tile.win{background:var(--gold-soft);border-color:var(--gold);border-style:solid;color:var(--ink)}
.tile.dim{opacity:.3}
.tile.ban{opacity:.35;text-decoration:line-through}
.tile.ghost{opacity:0;transform:translateY(6px)}
.tile.big{font-size:32px;padding:13px 19px}
.tile.sm{font-size:15px;padding:5px 9px}
.hero .tiles{margin-top:10px}

/* scrolly */
.scrolly{display:grid;grid-template-columns:380px minmax(0,1fr);gap:56px;max-width:1320px;margin:0 auto;padding:0 24px;align-items:start}
.figure{position:sticky;top:50px;height:calc(100dvh - 50px);display:grid;place-items:center;min-width:0}
.stage{width:100%;height:100%;position:relative}
.fit{position:absolute;inset:0;display:grid;place-items:center;transform-origin:center center;will-change:transform}
.steps{padding:16vh 0 26vh;min-width:0}
.step{display:flex;align-items:center;padding:10vh 0}
.step-card{background:var(--card);box-shadow:var(--shadow);padding:22px 24px;border-radius:2px;font-family:"IBM Plex Sans",system-ui,sans-serif;font-size:16.5px;line-height:1.55;color:var(--ink2);border-left:2.5px solid transparent;transition:color .35s,border-color .35s;scroll-margin-top:56vh}
.step.on .step-card{color:var(--ink);border-left-color:var(--green)}
.step-card p{margin:0 0 .8em}.step-card p:last-child{margin:0}
.step-card b{font-weight:600;color:var(--ink)}
.kw{font-family:"IBM Plex Mono",monospace;font-size:14px;padding:1px 6px;border:1.5px dashed var(--tile-b);background:var(--tile);border-radius:3px;white-space:nowrap}
.kw.g{background:var(--green-soft);border-color:var(--green);border-style:solid;color:var(--green-ink)}
.kw.r{background:var(--red-soft);border-color:var(--red);border-style:solid;color:var(--red-ink)}
.kw.gold{background:var(--gold-soft);border-color:var(--gold);border-style:solid;color:var(--gold-ink)}
.kw.acc{background:var(--accent-soft);border-color:var(--accent);border-style:solid;color:var(--accent)}
.chapter{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin:0 0 10px!important}

/* layers */
.layer{position:absolute;inset:0;display:grid;place-items:center;opacity:0;transition:opacity .5s;pointer-events:none}
.layer.show{opacity:1;pointer-events:auto}
.panel{display:flex;flex-direction:column;gap:20px;align-items:flex-start;max-width:720px}
.cap{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink3)}
.illus{font-family:"IBM Plex Sans",sans-serif;font-size:12px;color:var(--ink3);font-style:italic;display:flex;align-items:center;gap:7px}
.illus::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);flex:none}
.sent{font-family:"IBM Plex Mono",monospace;font-size:30px;color:var(--ink);line-height:1.35}
.sent .blank{border-bottom:2.5px solid var(--green);padding:0 26px;display:inline-block}
.note{font-family:"IBM Plex Sans",sans-serif;font-size:15.5px;color:var(--ink2);max-width:640px;line-height:1.55}

/* bars */
.bars{display:flex;flex-direction:column;gap:11px;width:660px;max-width:100%}
.bar{display:grid;grid-template-columns:120px 1fr 120px;align-items:center;gap:14px;font-family:"IBM Plex Mono",monospace;font-size:16px}
.bar .track{height:34px;background:var(--bg2);border-radius:2px;position:relative;overflow:hidden}
.bar .fill{height:100%;width:0;background:var(--ink3);transition:width .7s cubic-bezier(.2,.7,.2,1),background .4s}
.bar.g .fill{background:var(--green)}.bar.r .fill{background:var(--red)}.bar.win .fill{background:var(--gold)}
.bar .pct{text-align:right;color:var(--ink2);font-variant-numeric:tabular-nums;font-size:14px;display:flex;gap:9px;justify-content:flex-end}
.bar .pct .obs{color:var(--gold-ink);min-width:44px}
.ghostmark{position:absolute;top:0;bottom:0;width:2px;background:var(--ink);opacity:.32}

/* controls */
.ctrls{display:flex;gap:9px;flex-wrap:wrap;align-items:center;font-family:"IBM Plex Sans",sans-serif;font-size:14px}
button.btn{font-family:"IBM Plex Sans",sans-serif;font-size:14px;font-weight:500;padding:8px 15px;border-radius:3px;border:1.5px solid var(--rule);background:var(--card);color:var(--ink);cursor:pointer;transition:border-color .2s}
button.btn:hover{border-color:var(--green)}
button.btn:focus-visible{outline:2px solid var(--green);outline-offset:2px}
button.btn.pri{border-color:var(--green);background:var(--green-soft);color:var(--green-ink)}
.seg{display:inline-flex;border:1.5px solid var(--rule);border-radius:3px;overflow:hidden}
.seg button{font-family:"IBM Plex Sans",sans-serif;font-size:13.5px;font-weight:500;padding:7px 14px;border:0;background:var(--card);color:var(--ink2);cursor:pointer;border-right:1px solid var(--rule)}
.seg button:last-child{border-right:0}
.seg button[aria-pressed="true"]{background:var(--green);color:#fff}
.seg button:focus-visible{outline:2px solid var(--green);outline-offset:-2px}
.slider{display:flex;align-items:center;gap:10px;font-family:"IBM Plex Mono",monospace;font-size:13px;color:var(--ink2)}
input[type=range]{accent-color:var(--green);width:150px}
.tally{font-family:"IBM Plex Mono",monospace;font-size:13px;color:var(--ink3);font-variant-numeric:tabular-nums}

/* bracket */
.brk{position:relative;display:grid;grid-template-columns:repeat(4,auto);gap:0 52px;align-items:stretch}
.brk svg.wires{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.bcol{display:flex;flex-direction:column;min-width:104px}
.bhead{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);text-align:center;margin-bottom:12px;height:15px}
.bslots{flex:1;display:flex;flex-direction:column;justify-content:space-around;gap:10px}
.slot{display:flex;align-items:center;gap:7px;justify-content:center}
.slot .tile{min-width:86px;text-align:center;font-size:16px;padding:8px 10px}
.gv{font-family:"IBM Plex Mono",monospace;font-size:12px;width:15px;text-align:center;color:var(--ink3)}
.gv.one{color:var(--green);font-weight:600}.gv.zero{color:var(--red)}
.tiebadge{font-family:"IBM Plex Mono",monospace;font-size:9px;letter-spacing:.07em;text-transform:uppercase;color:var(--gold-ink);border:1px solid var(--gold);border-radius:2px;padding:0 4px}

/* derivation */
.deriv{border-collapse:collapse;font-family:"IBM Plex Mono",monospace;font-size:15px;width:660px;max-width:100%}
.deriv th{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);font-weight:500;text-align:left;padding:0 12px 8px 0;border-bottom:1px solid var(--rule)}
.deriv td{padding:11px 12px 11px 0;border-bottom:1px solid var(--rule);font-variant-numeric:tabular-nums;color:var(--ink3);transition:color .35s,background .35s}
.deriv tr.on td{color:var(--ink);background:color-mix(in srgb,var(--green-soft) 60%,transparent)}
.deriv tr.avg td{border-bottom:0;border-top:2px solid var(--green);color:var(--ink);font-weight:600;padding-top:13px}
.deriv td:last-child,.deriv th:last-child{text-align:right;padding-right:0}

/* detection */
.axis{position:relative;height:74px;border-bottom:1.5px solid var(--rule);width:660px;max-width:100%;margin-top:32px}
.hump{position:absolute;bottom:0;height:74px}
.hump svg{display:block;width:100%;height:100%}
.tick{position:absolute;top:100%;font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--ink3);transform:translateX(-50%);margin-top:7px;font-variant-numeric:tabular-nums}
.pin{position:absolute;bottom:-1px;width:2px;height:88px;background:var(--gold);transform:translateX(-50%);transition:left .75s cubic-bezier(.2,.7,.2,1)}
.pin span{position:absolute;top:-24px;left:50%;transform:translateX(-50%);white-space:nowrap;font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--ink)}
.stats{display:flex;gap:34px;flex-wrap:wrap;margin-top:30px}
.stats div{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink3)}
.stats b{display:block;font-family:"Fraunces",serif;font-size:34px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.1;margin-top:3px}
.dots{display:flex;flex-wrap:wrap;gap:13px 10px;max-width:700px}
.dtok{display:flex;flex-direction:column;align-items:center;gap:6px}
.drow{display:grid;grid-template-columns:repeat(6,7px);gap:3px}
.d{width:7px;height:7px;border-radius:50%;background:var(--red);opacity:.6}
.d.g{background:var(--green);opacity:1}
.avg{font-family:"IBM Plex Mono",monospace;font-size:11px;color:var(--ink3);font-variant-numeric:tabular-nums}
.errgrid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);border:1px solid var(--rule);width:660px;max-width:100%}
.errgrid>div{background:var(--card);padding:15px 17px;font-family:"IBM Plex Sans",sans-serif;font-size:14.5px;color:var(--ink2);line-height:1.5}
.errgrid .hd{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink3);background:var(--bg2);padding:8px 17px}
.errgrid b{display:block;color:var(--ink);font-weight:600;margin-bottom:4px;font-size:15px}

/* pipeline recap */
.pipe-wrap{max-width:1320px;margin:26px auto 10px;padding:0 24px;overflow-x:auto}
.pipe{display:grid;grid-template-columns:1fr auto 1fr;gap:34px;align-items:start;min-width:900px}
.pipe-col{display:flex;flex-direction:column;align-items:stretch;gap:0}
.pipe-hd{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink3);margin-bottom:12px;text-align:center}
.pn{font-family:"IBM Plex Sans",system-ui,sans-serif;font-size:14.5px;line-height:1.45;color:var(--ink2);background:var(--card);border:1.5px solid var(--rule);border-radius:3px;padding:11px 14px;text-align:center}
.pn b{color:var(--ink);font-weight:600}
.pn.hi{border-color:var(--green);background:var(--green-soft);color:var(--green-ink)}
.pn.hi b{color:var(--green-ink)}
.pn.win{border-color:var(--gold);background:var(--gold-soft);color:var(--gold-ink);font-weight:600}
.pn.key{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}
.pn.key b{color:var(--accent)}
.pn .sub{display:block;font-size:12px;color:var(--ink3);margin-top:4px;font-style:italic}
.pn.key .sub{color:var(--accent);opacity:.8}
.ar{text-align:center;color:var(--ink3);font-size:15px;line-height:1;padding:5px 0}
.pipe-mid{align-self:center;max-width:250px}
.keybox{border:1.5px dashed var(--accent);border-radius:4px;padding:14px;background:color-mix(in srgb,var(--accent-soft) 40%,transparent);display:flex;flex-direction:column}
.sidenote{font-family:"IBM Plex Sans",sans-serif;font-size:12px;color:var(--ink2);margin-top:12px;line-height:1.5;font-style:italic}

/* closing */
.takeaways{margin:1em 0 0;padding:0;list-style:none;counter-reset:t}
.takeaways li{counter-increment:t;padding:18px 0 18px 54px;border-top:1px solid var(--rule);position:relative}
.takeaways li:last-child{border-bottom:1px solid var(--rule)}
.takeaways li::before{content:counter(t);position:absolute;left:0;top:16px;font-family:"Fraunces",serif;font-size:28px;font-weight:600;color:var(--green)}
.takeaways b{font-family:"Fraunces",serif;font-weight:600}
.limits{width:100%;border-collapse:collapse;font-family:"IBM Plex Sans",sans-serif;font-size:16px;margin-top:1.2em}
.limits th{text-align:left;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);font-weight:600;padding:0 14px 10px 0;border-bottom:1.5px solid var(--rule)}
.limits td{padding:14px 14px 14px 0;border-bottom:1px solid var(--rule);color:var(--ink2);vertical-align:top}
.limits td:first-child{color:var(--ink);font-weight:500;width:36%}
details{border-bottom:1px solid var(--rule);padding:14px 0}
summary{cursor:pointer;font-family:"Fraunces",serif;font-weight:600;font-size:18px;color:var(--ink);list-style:none;display:flex;justify-content:space-between;gap:14px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--green);font-family:"IBM Plex Mono",monospace}
details[open] summary::after{content:"\2212"}
details p{font-family:"IBM Plex Sans",sans-serif;font-size:16px;color:var(--ink2);margin:.75em 0 0;line-height:1.55}
footer{max-width:660px;margin:70px auto 70px;padding:28px 24px 0;border-top:1px solid var(--rule);font-family:"IBM Plex Sans",sans-serif;font-size:13.5px;color:var(--ink3);line-height:1.75}
footer a{color:var(--accent)}
footer h3{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink2);margin:0 0 9px}

@media (max-width:900px){
  body{font-size:18px}
  .scrolly{display:block;padding:0 16px}
  .figure{position:sticky;top:46px;height:50dvh;background:var(--bg);border-bottom:1px solid var(--rule);z-index:20;padding:8px 0}
  .steps{padding:5vh 0 18vh}
  .step{padding:5vh 0}
  .step-card{max-width:520px;margin:0 auto;scroll-margin-top:calc(50dvh + 60px)}
  nav.chapters{display:none}
  .sent{font-size:20px}.tile{font-size:16px;padding:6px 9px}.tile.big{font-size:22px}
  .bars,.axis,.errgrid,.deriv{width:100%}
  .bar{grid-template-columns:82px 1fr 96px;gap:9px;font-size:13px}
  .bar .track{height:26px}
  .brk{gap:0 20px}.bcol{min-width:66px}.slot .tile{min-width:56px;font-size:12px;padding:5px 6px}
  .errgrid{grid-template-columns:1fr}
  .limits td:first-child{width:42%}
  .pipe{grid-template-columns:1fr;gap:20px;min-width:0}
  .pipe-wrap{padding:0 16px;overflow-x:visible}
  .pipe-mid{max-width:100%;align-self:stretch;order:-1}
}
@media (prefers-reduced-motion: reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}