:root{
  --ink:#14201C;--paper:#FBF7F0;--cream:#FDF8F0;--green:#1F6F4A;--green-dark:#17553A;
  --amber:#E8B84B;--amber-deep:#8A5F0C;--amber-wash:#FBF0D6;--grey:#5A6B62;--mint:#E7EFE9;
  --line:rgba(20,32,28,.14);--brick:#B4482F;--soft:#F4EEE1;
  --serif:"Fraunces","Iowan Old Style",Georgia,serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --radius:16px;--shadow:0 1px 2px rgba(20,32,28,.05),0 18px 44px -24px rgba(20,32,28,.30);
  --wrap:1120px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
/* Anchors land below the sticky header, not under it. */
:target{scroll-margin-top:84px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.62 var(--sans);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.12;letter-spacing:-.018em;margin:0 0 .5em}
h1{font-size:clamp(2.1rem,4.4vw,3.2rem)}
h2{font-size:clamp(1.5rem,2.8vw,2.15rem)}
h3{font-size:1.1rem;line-height:1.3;margin-bottom:.35em}
p{margin:0 0 1em}
a{color:var(--green-dark)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:2px;border-radius:6px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}
.narrow{max-width:740px}
.eyebrow{font:600 11.5px/1.4 var(--sans);letter-spacing:.15em;text-transform:uppercase;color:var(--amber-deep);margin:0 0 .7em}
.eyebrow.green{color:var(--green)}
.lede{font-size:1.13rem;color:#2C3A34;max-width:64ch}
.small{font-size:.88rem;color:var(--grey)}
.rule{height:3px;width:44px;background:var(--amber);border-radius:99px;margin:0 0 22px}

/* header */
header.nav{position:sticky;top:0;z-index:40;background:rgba(251,247,240,.95);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
header.nav .wrap{display:flex;align-items:center;gap:16px;height:64px}
header.nav .brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font:600 1.05rem var(--serif)}
header.nav .brand svg{width:29px;height:29px;flex:none}
header.nav nav{margin-left:auto;display:flex;gap:18px;align-items:center;font-size:.93rem}
header.nav nav a{text-decoration:none;color:#2C3A34}
header.nav nav a:hover,header.nav nav a[aria-current]{color:var(--green)}
header.nav nav a[aria-current]{font-weight:600}
header.nav nav button.cta{background:var(--green);color:#fff;border:0;padding:9px 14px;border-radius:8px;font:600 .88rem var(--sans);cursor:pointer}
html.member header.nav nav button.cta{display:none}
header.nav nav button.cta:hover{background:var(--green-dark)}
@media (max-width:760px){
  header.nav nav{gap:12px;font-size:.86rem}
  header.nav nav a.secondary{display:none}
}
@media (max-width:640px){
  header.nav nav a[href="/tasks"]{display:none}
}
@media (max-width:520px){
  header.nav nav{gap:7px;font-size:.78rem}
  header.nav nav a.liblink{display:none}
  header.nav .brand{font-size:.95rem}
  header.nav .brand svg{width:24px;height:24px}
  header.nav nav button.cta{padding:7px 10px;font-size:.76rem}
}
@media (max-width:460px){
  header.nav .wrap{gap:8px;padding:0 16px}
  header.nav nav{gap:4px;font-size:.75rem}
  header.nav nav a[href="/start"]{display:none}
  header.nav nav button.cta{padding:7px 8px;font-size:.72rem}
}
@media (max-width:360px){
  header.nav nav a[href="/reviews"]{display:none}
  header.nav nav a[href="/account"]{display:none}
}

/* buttons */
.btn{font:600 15px/1 var(--sans);padding:14px 20px;border-radius:10px;border:1px solid transparent;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--green);color:#fff;transition:background .15s ease}
.btn:hover{background:var(--green-dark)}
.btn.amber{background:var(--amber);color:#2A2109}
.btn.amber:hover{background:#F2C868}
.btn.ghost{background:transparent;color:var(--ink);border-color:rgba(20,32,28,.26)}
.btn.ghost:hover{background:#fff}
.btn.small{font-size:13.5px;padding:10px 14px}
.btn.ondark{background:transparent;color:var(--cream);border-color:rgba(253,248,240,.38)}
.btn.ondark:hover{background:rgba(253,248,240,.12);border-color:var(--cream)}

/* page hero band */
.phero{background:var(--cream);border-bottom:1px solid var(--line);padding:54px 0 46px;position:relative;overflow:hidden}
.phero::after{content:"";position:absolute;right:-90px;top:-70px;width:320px;height:320px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%, rgba(232,184,75,.30), rgba(232,184,75,0) 68%)}
.phero .wrap{position:relative;z-index:1}
.phero h1{margin-bottom:.34em;max-width:20ch}
.phero .lede{max-width:60ch}
.phero .meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}

/* chips */
.chip{display:inline-flex;align-items:center;gap:6px;font:600 11.5px/1 var(--sans);letter-spacing:.03em;padding:7px 10px;border-radius:999px;background:var(--mint);color:var(--green-dark);border:1px solid rgba(31,111,74,.16)}
.chip.amber{background:var(--amber-wash);color:#7A5310;border-color:rgba(232,184,75,.5)}
.chip.ink{background:var(--ink);color:#F0EBE0;border-color:var(--ink)}
.chip.line{background:transparent;color:var(--grey);border-color:var(--line)}

/* filters */
.filters{position:sticky;top:64px;z-index:30;background:rgba(251,247,240,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(8px);padding:14px 0}
.filters .wrap{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.filters input[type=search]{flex:1 1 240px;min-width:0;font:400 15.5px var(--sans);padding:12px 14px;border:1px solid rgba(20,32,28,.22);border-radius:10px;background:#fff;color:var(--ink)}
.filters select{font:500 14.5px var(--sans);padding:12px 34px 12px 12px;border:1px solid rgba(20,32,28,.22);border-radius:10px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%235A6B62' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 12px center;color:var(--ink);appearance:none;cursor:pointer;max-width:230px}
.filters .count{font:600 12.5px/1 var(--sans);color:var(--grey);margin-left:auto;white-space:nowrap}
.filters .reset{background:none;border:0;font:600 13px var(--sans);color:var(--green-dark);cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:6px 2px}
@media (max-width:700px){
  .filters{top:0;position:static}
  .filters .count{margin-left:0}
  .filters select{max-width:none;flex:1 1 150px}
}

/* prompt cards */
.pgrid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(272px,1fr));margin:26px 0 10px}
.pcard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 18px 16px;display:flex;flex-direction:column;gap:10px;position:relative;transition:border-color .12s,box-shadow .12s}
.pcard:hover{border-color:rgba(31,111,74,.4);box-shadow:0 10px 30px -22px rgba(20,32,28,.5)}
.pcard .top{display:flex;align-items:center;gap:8px}
.pcard .num{font:700 11px/1 var(--sans);letter-spacing:.06em;color:#2A2109;background:var(--amber);padding:5px 7px;border-radius:6px}
.pcard .trade{font:600 10.5px/1 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--grey);text-decoration:none}
.pcard .trade:hover{color:var(--green);text-decoration:underline}
.pcard h3{font-size:1.02rem;line-height:1.28;margin:0}
.pcard .pitch{font:400 .93rem/1.5 var(--sans);color:#3A4A42;margin:0;font-style:italic}
.pcard .meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:4px}
.pcard .meta span{font:600 10.5px/1 var(--sans);color:var(--grey);background:var(--soft);padding:5px 7px;border-radius:5px}
.pcard.locked{background:var(--cream)}
.pcard.locked h3{color:#26332D}
.pcard .actions{display:flex;gap:10px;align-items:center;margin-top:2px}
.pcard .open{font:600 13px/1 var(--sans);color:var(--green-dark);text-decoration:none}
.pcard .open:hover{text-decoration:underline}
.pcard .copy{font:600 12.5px/1 var(--sans);padding:8px 11px;border-radius:8px;border:1px solid rgba(20,32,28,.22);background:#fff;color:var(--ink);cursor:pointer}
.pcard .copy[data-done]{background:var(--green);color:#fff;border-color:var(--green)}
.pcard pre{margin:6px 0 0;background:#F7F3E9;border:1px solid var(--line);border-radius:9px;padding:12px;font:400 12.5px/1.55 var(--mono);white-space:pre-wrap;max-height:220px;overflow:auto}
.pcard .freeflag{position:absolute;top:14px;right:14px;font:700 10px/1 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--green-dark);background:var(--mint);padding:5px 7px;border-radius:5px;border:1px solid rgba(31,111,74,.2)}

/* kits */
.kits{display:grid;gap:14px;margin:26px 0}
.kit{border:1px solid var(--line);border-radius:14px;background:var(--cream);overflow:hidden}
.kit summary{cursor:pointer;padding:16px 18px;display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;list-style:none}
.kit summary::-webkit-details-marker{display:none}
.kit summary::after{content:"+";margin-left:auto;font:400 20px/1 var(--sans);color:var(--green);transition:transform .15s}
.kit[open] summary::after{content:"–"}
.kit .kittag{font:600 10px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--amber-deep);background:var(--amber-wash);padding:5px 7px;border-radius:5px}
.kit summary strong{font:600 1.02rem/1.3 var(--serif)}
.kitbody{padding:4px 18px 18px;border-top:1px solid var(--line)}
.kitbody p{margin:12px 0}
.kith{font:600 10.5px/1 var(--sans);letter-spacing:.11em;text-transform:uppercase;color:var(--grey);margin:16px 0 6px}
.kitbody ol.steps{margin:0;padding-left:0;list-style:none;counter-reset:s}
.kitbody ol.steps li{counter-increment:s;padding:8px 0 8px 34px;position:relative;border-bottom:1px dashed var(--line);font-size:.95rem}
.kitbody ol.steps li:last-child{border-bottom:0}
.kitbody ol.steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:8px;font:700 11px/1.6 var(--sans);color:var(--amber-deep)}
.kitbody pre{margin:0;background:#fff;border:1px solid var(--line);border-radius:9px;padding:12px 14px;font:400 12.5px/1.55 var(--mono);white-space:pre-wrap;color:#2C3A34}
.kitbody .check,.kitbody .limits{font-size:.93rem;color:#3A4A42}

/* kit category picker */
.kitcats{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(228px,1fr));margin:24px 0 6px}
.kitcat{text-align:left;background:var(--cream);border:1px solid var(--line);border-radius:12px;padding:16px 17px;cursor:pointer;font:inherit;color:inherit;display:flex;flex-direction:column;gap:5px;transition:border-color .12s,transform .12s}
.kitcat:hover{border-color:var(--green);transform:translateY(-2px)}
.kitcat b{font:600 .98rem/1.3 var(--serif)}
.kitcat span{font:600 11.5px/1 var(--sans);color:var(--grey)}
.kitcat.none{opacity:.62}
@media(max-width:560px){.kitcats{grid-template-columns:1fr 1fr;gap:8px}.kitcat{padding:12px 12px;min-height:78px}.kitcat b{font-size:.9rem}}
.kithead{border-bottom:1px solid var(--line);padding:0 0 16px;margin:0 0 20px}
.kithead h2{font-size:clamp(1.4rem,2.8vw,1.9rem);margin:8px 0 4px}
.kithead .ghostlink{font-size:.9rem;padding:0}
.kithead .small{margin:0}

/* library page */
.catgrid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin:26px 0}
.catcard{background:var(--cream);border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:8px;text-decoration:none;color:inherit;transition:border-color .12s,transform .12s}
.catcard:hover{border-color:var(--green);transform:translateY(-2px)}
.catcard .k{display:flex;align-items:center;gap:8px;font:700 10.5px/1 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--amber-deep)}
.catcard h3{margin:0;font-size:1.06rem}
.catcard p{font-size:.9rem;color:#3A4A42;margin:0}
.catcard .n{font:600 12px/1 var(--sans);color:var(--grey);margin-top:auto}

/* price */
.pricecard{display:grid;gap:0;grid-template-columns:1.15fr .85fr;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--cream);margin:26px 0 0}
.pricecard .left{padding:30px 30px 28px}
.pricecard .right{padding:30px;background:var(--ink);color:#F2ECE0;display:flex;flex-direction:column;gap:12px}
.pricecard .amount{font:600 2.6rem/1 var(--serif);letter-spacing:-.02em;margin:6px 0 2px;color:var(--ink)}
.pricecard .amount small{font:500 1rem/1 var(--sans);color:var(--grey)}
.pricecard .right .amount{color:var(--cream);font-size:2.2rem}
.pricecard ul{margin:14px 0 0;padding-left:0;list-style:none}
.pricecard li{padding:7px 0 7px 26px;position:relative;font-size:.95rem;border-bottom:1px solid rgba(20,32,28,.08)}
.pricecard .right li{border-color:rgba(253,248,240,.14)}
.pricecard li::before{content:"";position:absolute;left:2px;top:15px;width:9px;height:9px;border-radius:2px;background:var(--amber);transform:rotate(45deg)}
.pricecard .right li::before{background:var(--amber)}
@media (max-width:780px){.pricecard{grid-template-columns:1fr}}

/* mission */
.mission{background:var(--ink);color:#EFE9DE;padding:70px 0}
.mission h2{color:var(--cream)}
.mission .lede{color:rgba(239,233,222,.86)}
.mission .stats{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin:34px 0 10px}
.mission .stat{border-top:2px solid rgba(232,184,75,.65);padding-top:14px}
.mission .stat b{display:block;font:600 2.1rem/1 var(--serif);color:var(--amber);letter-spacing:-.02em}
.mission .stat span{display:block;font-size:.9rem;color:rgba(239,233,222,.74);margin-top:8px}
.mission .stat em{display:block;font:400 .74rem/1.4 var(--sans);font-style:normal;color:rgba(239,233,222,.48);margin-top:8px}
.photogrid{display:grid;gap:14px;grid-template-columns:1.25fr .75fr;margin:34px 0 0}
.photogrid figure{margin:0;position:relative;border-radius:14px;overflow:hidden;background:#0E1B17}
.photogrid img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:3/2}
.photogrid figcaption{position:absolute;left:0;right:0;bottom:0;padding:29px 16px 14px;font:500 .82rem/1.45 var(--sans);color:#F6F1E6;background:linear-gradient(180deg,rgba(8,20,16,0),rgba(8,20,16,.82))}
.photogrid .tall{grid-row:span 2}
.photogrid .tall img{aspect-ratio:3/4}
@media (max-width:760px){
  .photogrid{grid-template-columns:1fr}
  .photogrid .tall{grid-row:auto}
  .photogrid .tall img{aspect-ratio:3/2}
}

/* prose + pull quote */
.prose p{font-size:1.02rem}
blockquote{border-left:3px solid var(--amber);margin:26px 0;padding:6px 0 6px 20px;font:600 1.25rem/1.4 var(--serif);color:var(--ink)}
.three{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:28px}
.three h3{font-size:1rem}
.three ul{margin:0;padding-left:18px}
.three li{margin:.4em 0;font-size:.94rem}

/* reviews */
.revgrid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));margin:24px 0 0}
.rev{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;margin:0}
.rev p{font-size:.98rem;margin:0 0 14px}
.rev footer{font-size:.85rem;color:var(--grey)}
.rev .stars{color:var(--amber-deep);letter-spacing:.08em;display:block;margin-bottom:8px}
.rev .who{font-weight:600;color:var(--ink)}
.revempty{border:1px dashed rgba(20,32,28,.3);border-radius:var(--radius);padding:26px;background:var(--cream);margin-top:22px}
.revempty h2,.revempty h3{margin-top:0}
.card{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(20px,3.4vw,28px);margin:22px 0}
label{display:block;font:600 12px/1.3 var(--sans);letter-spacing:.05em;text-transform:uppercase;color:var(--grey);margin-bottom:6px}
input[type=text],input[type=email],input[type=password],input[type=number],select,textarea{width:100%;font:400 16px/1.5 var(--sans);padding:11px 12px;border:1px solid rgba(20,32,28,.25);border-radius:9px;background:#fff;color:var(--ink)}
textarea{min-height:96px;resize:vertical}
form .row{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin-bottom:14px}
.rating{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px;padding:0;border:none}
.rating legend{font:600 12px/1.3 var(--sans);letter-spacing:.05em;text-transform:uppercase;color:var(--grey);margin-bottom:8px}
.rating label{display:inline-flex;align-items:center;gap:6px;font:500 14px/1 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink);background:#fff;border:1px solid rgba(20,32,28,.2);border-radius:9px;padding:9px 12px;margin:0;cursor:pointer}
.rating input{margin:0}
.rating label:has(input:checked){background:var(--mint);border-color:var(--green)}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;margin:6px 0 16px}
.consent input{margin-top:4px;flex:none}
.consent label{text-transform:none;letter-spacing:0;font:400 .92rem/1.5 var(--sans);color:var(--ink);margin:0}
.confirm{background:#fff;border:1px solid rgba(31,111,74,.35);border-radius:12px;padding:18px;margin:18px 0 0}
.confirm h3{margin-top:0}
pre.draft{background:#F7F3E9;border:1px solid rgba(20,32,28,.16);border-radius:10px;padding:14px 16px;font:400 13.5px/1.62 var(--mono);white-space:pre-wrap;word-break:break-word;margin:0 0 12px;max-height:260px;overflow:auto}
.policy{padding-left:1.1em;margin:.4em 0 1em}
.policy li{margin:.45em 0}

/* free tools */
.toolgrid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:24px;align-items:start;margin:26px 0 0}
@media (max-width:860px){.toolgrid{grid-template-columns:1fr}}
.rrform{background:var(--cream);border:1px solid var(--line);border-radius:16px;padding:clamp(18px,3vw,26px)}
.rrform h2{margin-top:0;font-size:1.35rem}
.rrform .field{margin:0 0 16px}
.rrform .row2{display:grid;gap:14px;grid-template-columns:1fr 1fr}
@media (max-width:560px){.rrform .row2{grid-template-columns:1fr}}
.rrform .hint{font-size:.8rem;line-height:1.45;color:var(--grey);margin:6px 0 0}
.rrform textarea{min-height:112px}
.rrform .actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:4px}
.rrform .rrerror{font-size:.86rem;color:var(--brick);margin:12px 0 0}
.rrside{background:var(--ink);color:#EFE9DE;border-radius:16px;padding:clamp(20px,3vw,28px)}
.rrside h2{color:var(--cream);font-size:1.25rem;margin-top:0}
.rrside p,.rrside li{color:rgba(239,233,222,.84);font-size:.91rem}
.rrside ul{padding-left:18px;margin:0 0 18px}
.rrside li{margin:.45em 0}
.rrside .callout{background:rgba(253,248,240,.07);border-color:rgba(253,248,240,.18);border-left-color:var(--amber);color:#EFE9DE}
.rrside .callout strong{color:#fff}
.rrout{margin:28px 0 0;border:1px solid rgba(31,111,74,.32);border-radius:16px;background:var(--cream);padding:clamp(20px,3.4vw,30px)}
.rrout:focus{outline:3px solid rgba(31,111,74,.35);outline-offset:3px}
.rrout .rrouthead{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline;justify-content:space-between;margin:0 0 14px}
.rrout .rrouthead h2{margin:0;font-size:clamp(1.4rem,2.6vw,1.9rem)}
.rrout .draftbox{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 18px;font:400 15px/1.65 var(--mono);white-space:pre-wrap;word-break:break-word;margin:0 0 16px}
.rrout .rractions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}
.rrout h3{font-size:1rem;margin:20px 0 8px}
.rrout ul{padding-left:19px;margin:0 0 14px}
.rrout li{margin:.35em 0;font-size:.93rem;color:#31413A}
.rrsafety{border:1px solid rgba(180,72,47,.36);border-left:4px solid var(--brick);background:#FCF0EA;border-radius:10px;padding:16px 18px;margin:0 0 18px}
.rrsafety .eyebrow{color:var(--brick);margin-bottom:4px}
.rrsafety h3{margin:0 0 6px;font-size:1.16rem}
.rrsafety p{font-size:.93rem;color:#4A2A22;margin:0 0 8px}
.rrsafety ul{margin:0;padding-left:18px}
.rrsafety li{font-size:.9rem;color:#4A2A22;margin:.3em 0}
.rrmanual{border:1px solid var(--line);border-radius:12px;padding:16px 18px;background:#fff;margin:24px 0 0}
.rrmanual summary{font:600 14px/1.4 var(--sans);color:var(--green-dark);cursor:pointer}
.rrmanual p{font-size:.9rem;color:#3A4A42;margin:12px 0 0}
.rrmanual pre{background:var(--soft);border:1px solid var(--line);border-radius:9px;padding:13px 14px;font:400 12.5px/1.55 var(--mono);white-space:pre-wrap;word-break:break-word;margin:14px 0 0}
.rrstatic{border:1px solid var(--line);border-radius:14px;background:var(--cream);padding:clamp(18px,3vw,26px);margin:24px 0 0}
.rrstatic h2{font-size:1.35rem;margin-top:0}
.rrstatic ol{padding-left:20px;margin:0}
.rrstatic li{margin:.45em 0;font-size:.93rem;color:#31413A}
.cbsummary{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin:0 0 14px}
.cbsummary h3{margin:0 0 6px;font-size:1.2rem}
.cbcounts{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 18px}
.cbcounts p{flex-basis:100%;margin:8px 0 0!important}
.cbflags{list-style:none;padding:0;margin:0 0 18px}
.cbflag{border:1px solid var(--line);border-left:4px solid var(--amber-deep);border-radius:10px;background:#fff;padding:14px 16px;margin:0 0 10px}
.cbflag.sev-high{border-left-color:var(--brick);background:#FCF7F4}
.cbflagtop{display:flex;gap:9px;align-items:baseline;flex-wrap:wrap;margin-bottom:6px}
.cbtag{font:700 10px/1 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:#7A5310;background:var(--amber-wash);padding:5px 7px;border-radius:5px}
.cbflag.sev-high .cbtag{color:#7A2E1E;background:#F6DED7}
.cbflag b{font:600 .98rem/1.3 var(--sans)}
.cbwhy{margin:0 0 8px;font-size:.93rem;color:#31413A}
.cbex{display:block;background:var(--soft);border:1px solid var(--line);border-radius:7px;padding:8px 10px;font:400 12px/1.5 var(--mono);margin:0 0 8px;word-break:break-word;white-space:pre-wrap}
.cbdo{margin:0;font-size:.9rem;color:#31413A}
.cbclean{border:1px solid rgba(31,111,74,.3);background:var(--mint);border-radius:10px;padding:14px 16px;margin:0 0 18px;font-size:.93rem;color:#203B2C}
.cbnot{padding-left:19px;margin:0 0 18px}
.cbnot li{margin:.35em 0;font-size:.93rem;color:#31413A}
.calcnav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 6px}
.calcnav a{font:600 12px/1 var(--sans);padding:9px 12px;border-radius:999px;border:1px solid var(--line);background:var(--cream);color:var(--green-dark);text-decoration:none}
.calcnav a:hover{border-color:var(--green);background:#fff}
.calcblock{padding:34px 0 0;border-top:1px solid var(--line);margin-top:34px}
.calcblock:first-of-type{border-top:0;margin-top:0;padding-top:24px}
.calcbig{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline;margin:0 0 16px}
.calcbig b{font:600 clamp(2.2rem,5vw,3rem)/1 var(--serif);letter-spacing:-.02em;color:var(--green-dark)}
.calcbig span{font:600 12px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--grey)}
.calcgrid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(178px,1fr));margin:0 0 14px}
.calcgrid>div{background:#fff;border:1px solid var(--line);border-radius:9px;padding:12px 14px}
.calcgrid span{display:block;font:600 10.5px/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--grey);margin-bottom:5px}
.calcgrid b{font:600 1.02rem/1.2 var(--sans);color:var(--ink)}
.calcverdict{font-size:.95rem;color:#31413A;margin:0 0 12px}
.calcverdict.bad{color:var(--brick);font-weight:600}
.calcdetails{border-top:1px solid var(--line);padding-top:10px;margin-top:6px}
.calcdetails summary{font:600 13.5px/1.4 var(--sans);color:var(--green-dark);cursor:pointer}
.calcdetails p,.calcdetails li{font-size:.88rem;color:#3A4A42}
.calcdetails ul{padding-left:18px;margin:8px 0}
.calcformula{background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:10px 12px;font:400 12px/1.65 var(--mono);white-space:pre-wrap;word-break:break-word;margin:10px 0 0}.calcblock .rrform h2{font-size:1.25rem}

/* comparison component */
.compare{background:var(--cream);border:1px solid var(--line);border-radius:18px;padding:clamp(20px,3.4vw,30px);margin:26px 0}
.compare .chead{margin:0 0 18px}
.compare .chead h2{font-size:clamp(1.4rem,2.6vw,1.9rem);margin:0 0 6px}
.compare .chead p{font-size:.95rem;color:#3A4A42;margin:0;max-width:72ch}
.compare .cinput{background:#fff;border:1px solid var(--line);border-radius:11px;padding:14px 16px;margin:0 0 16px}
.compare .ctag{display:inline-block;font:700 10px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#7A5310;background:var(--amber-wash);padding:5px 7px;border-radius:5px;margin:0 0 8px}
.compare .cinput pre,.compare .cout{background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:12px 13px;font:400 12.5px/1.6 var(--mono);white-space:pre-wrap;word-break:break-word;margin:0;color:#233029}
.compare .cgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:stretch}
.compare .ccol{border:1px solid var(--line);border-radius:12px;padding:16px 17px;display:flex;flex-direction:column;gap:8px}
.compare .ccol.generic{background:#F7F3E9}
.compare .ccol.second{background:#fff;border-color:rgba(31,111,74,.34);box-shadow:inset 0 0 0 1px rgba(31,111,74,.08)}
.compare .ccol .ctag{background:var(--soft);color:var(--grey);margin:0}
.compare .ccol.second .ctag{background:var(--mint);color:var(--green-dark)}
.compare .ccol h3{font-size:1rem;margin:4px 0 0}
.compare .cprompt{font:400 12.5px/1.6 var(--mono);white-space:pre-wrap;word-break:break-word;background:#fff;border:1px dashed rgba(20,32,28,.28);border-radius:8px;padding:11px 12px;margin:0;color:#233029}
.compare .ccol.second .cprompt{background:var(--soft);border-style:solid}
.compare .cwhy{font-size:.86rem;line-height:1.5;color:var(--brick);margin:0}
.compare .cchecks{margin:0;padding-left:18px}
.compare .cchecks li{font-size:.88rem;line-height:1.5;color:#31413A;margin:.3em 0}
.compare .cnote{font-size:.82rem;color:var(--grey);margin:16px 0 0;max-width:80ch}
@media (max-width:820px){.compare .cgrid{grid-template-columns:1fr}}

/* Callout: the plain notice above a form, used by the no-JavaScript blocks. */
.callout{border:1px solid var(--line);border-left:4px solid var(--green);background:var(--cream);border-radius:12px;padding:14px 16px;margin:0 0 18px;font-size:.92rem;line-height:1.55}
.callout.warn{border-left-color:var(--brick);background:#FCF3EF}

/* The AI policy document: a page you could pin up, not a form. */
.policydoc{max-width:78ch;margin:34px 0 0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:34px 38px;box-shadow:var(--shadow)}
.policydoc .eyebrow{margin:0 0 8px}
.policydoc h2{font-size:clamp(1.4rem,2.6vw,1.85rem);margin:0 0 8px}
.policydoc .pmeta{font-size:.84rem;color:var(--grey);margin:0 0 22px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.policydoc h3{font-family:var(--sans);font-size:1rem;font-weight:600;letter-spacing:0;margin:22px 0 6px}
.policydoc p,.policydoc li{font-size:.95rem;line-height:1.6;color:#233029}
.policydoc p{margin:0 0 10px}
.policydoc ul{margin:0 0 12px;padding-left:20px}
.policydoc li{margin:.25em 0}
.policydoc .pfoot{font-size:.8rem;color:var(--grey);margin:24px 0 0;padding-top:14px;border-top:1px solid var(--line)}
@media (max-width:560px){.policydoc{padding:24px 20px}}

/* Staff handouts: the printed sheet, on screen. */
.handout{max-width:78ch;margin:0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:32px 36px;box-shadow:var(--shadow)}
.handout h2{font-family:var(--sans);font-size:1.08rem;font-weight:600;letter-spacing:0;margin:22px 0 8px}
.handout h2:first-child{margin-top:0}
.handout p,.handout li{font-size:.95rem;line-height:1.6;color:#233029}
.handout p{margin:0 0 10px}
.handout ul{margin:0 0 12px;padding-left:20px}
.handout li{margin:.25em 0}
.handout .hstop{border:1px solid rgba(180,72,47,.32);border-left:4px solid var(--brick);background:#FCF3EF;border-radius:10px;padding:14px 16px;margin:20px 0}
.handout .hstopt{font-weight:600;color:var(--brick);margin:0 0 8px;font-size:.95rem}
.handout .hstop ul{margin:0;padding-left:18px}
.handout .hfoot{font-size:.8rem;color:var(--grey);border-top:1px solid var(--line);padding-top:12px;margin:24px 0 0}
.handout .hprint-t,.handout .hprint-s{display:none}
@media (max-width:560px){.handout{padding:22px 18px}}

/* Failure log: one card per failure mode, same four fields every time. */
.findex{margin:26px 0 0;padding:18px 20px;border:1px solid var(--line);border-radius:12px;background:var(--cream)}
.findex .eyebrow{margin:0 0 8px}
.findex ol{margin:0;padding-left:20px;columns:2;column-gap:30px}
.findex li{margin:.3em 0;font-size:.93rem}
@media (max-width:640px){.findex ol{columns:1}}
.fentry{margin:30px 0 0;padding:26px 28px;border:1px solid var(--line);border-radius:14px;background:#fff}
.fentry .fnum{font:600 11.5px/1.4 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--brick);margin:0 0 6px}
.fentry h2{font-size:1.35rem;margin:0 0 8px}
.fentry .flede{font-size:1rem;color:#31413A;margin:0 0 16px;max-width:70ch}
.fentry dl{margin:0;display:grid;gap:12px}
.fentry dt{font:600 .78rem/1.4 var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--grey);margin:0 0 3px}
.fentry dd{margin:0;font-size:.95rem;line-height:1.58;color:#233029;max-width:74ch}
.fentry .fdraft{display:inline-block;background:var(--soft);border-left:3px solid var(--amber);padding:3px 8px;border-radius:4px;font-style:italic}
.fhow{margin:0;padding-left:20px}
.fhow li{font-size:.94rem;line-height:1.55;margin:.5em 0}
@media (max-width:560px){.fentry{padding:20px 18px}}

/* Unfinished trust pages: the things that need a person are marked, not invented. */
.placeholder{margin:20px 0 0;border:2px dashed rgba(232,184,75,.75);background:var(--amber-wash);border-radius:12px;padding:18px 20px;max-width:78ch}
.placeholder .plabel{font:600 11.5px/1.4 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:#7A5310;margin:0 0 8px}
.placeholder .ptext{font-size:1rem;line-height:1.55;color:#4A3A16;margin:0 0 8px;font-weight:600}
.placeholder .phint{font-size:.86rem;line-height:1.5;color:#6B5A2E;margin:0}
.flist{margin:0;padding-left:20px;max-width:74ch}
.flist li{font-size:.95rem;line-height:1.55;margin:.4em 0}
.ptablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px}
.ptable{width:100%;border-collapse:collapse;font-size:.86rem;background:#fff}
.ptable caption{text-align:left;padding:12px 14px;font-size:.85rem;color:var(--grey);border-bottom:1px solid var(--line)}
.ptable th,.ptable td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.ptable th{font-weight:600;background:var(--cream);white-space:nowrap}
.ptable .pempty{color:#7A5310;background:var(--amber-wash);font-weight:600}

@media print{
  header.nav,.footer,.phero,.rrform,.rrside,.rrmanual,.rrstatic,.rractions,.no-print{display:none!important}
  .policydoc{border:0;box-shadow:none;padding:0;margin:0;max-width:none}
  .policydoc h3{break-after:avoid}
  .handout{border:0;box-shadow:none;padding:0;margin:0;max-width:none}
  .handout h2{break-after:avoid}
  .handout .hstop{border-color:#666;background:#fff}
  .fentry{break-inside:avoid;border-color:#999}
  .fentry .fdraft{background:#fff}
  .handout .hprint-t{display:block;font:600 17pt/1.2 Georgia,"Times New Roman",serif;margin:0 0 6px}
  .handout .hprint-s{display:block;font-size:10pt;color:#333;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #999}
  .policydoc .pfoot{border-color:#999;color:#444}
  .callout{border-color:#999;background:#fff}
  body{background:#fff;color:#000;font-size:11pt}
  section{padding:0}
  .wrap{max-width:none;padding:0}
  .rrout{border:0;padding:0;margin:0;background:#fff}
  .rrout .draftbox{border:0;padding:0;font-size:11pt;background:#fff}
  .rrsafety{border:1px solid #999;background:#fff}
  a[href]:after{content:""}
  .cbflag{break-inside:avoid;border-color:#999;background:#fff}
  .cbsummary,.cbclean{border-color:#999;background:#fff}
  .calcnav{display:none!important}
  .calcblock{border:0;padding:0;margin:0}
  .calcgrid>div{border-color:#999}
  .calcbig b{color:#000}
  .compare{break-inside:avoid;background:#fff;border-color:#999}
  .compare .ccol,.compare .cinput,.compare .cprompt{background:#fff}
  @page{margin:18mm}
}

/* sections + footer */
section{padding:58px 0}
section.tight{padding:38px 0}
section.cream{background:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.footer{margin-top:40px;border-top:1px solid var(--line);background:var(--cream);padding:36px 0 46px}
.footer p{font-size:.9rem;color:var(--grey)}
.footer .links{display:flex;flex-wrap:wrap;gap:16px;margin:0 0 14px;font-size:.93rem}
.footer .links a{text-decoration:none}
.footer .links a:hover{text-decoration:underline}

/* account modal */
.modal{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(8,20,16,.62);backdrop-filter:blur(3px)}
.modal[hidden]{display:none}
.modal-card{position:relative;width:100%;max-width:470px;background:var(--paper);color:var(--ink);border-radius:18px;padding:30px 28px 26px;box-shadow:0 30px 80px -30px rgba(0,0,0,.6);max-height:90vh;overflow:auto}
.modal-card h2{font-size:1.6rem;margin:0 0 .35em}
.modal-x{position:absolute;top:10px;right:10px;background:none;border:0;font:400 22px/1 var(--sans);color:var(--grey);cursor:pointer;padding:8px 10px;border-radius:8px}
.modal-x:hover{background:rgba(20,32,28,.06);color:var(--ink)}
.modal-card label{display:block;font:600 13px/1.3 var(--sans);margin:16px 0 0;color:#2C3A34;text-transform:none;letter-spacing:0}
.modal-card input[type=text],.modal-card input[type=email]{display:block;width:100%;margin-top:6px}
.modal-card .terms{display:flex;gap:10px;align-items:flex-start;font:400 13px/1.45 var(--sans);color:#3A4A42;margin-top:18px;text-transform:none;letter-spacing:0}
.modal-card .terms input{margin-top:3px;flex:none}
.modal-card .btn{width:100%;margin-top:20px}
.modal-note{font-size:.85rem;color:var(--brick);margin:12px 0 0}
.modal-note a{color:var(--brick)}
.modal-fine{font-size:.8rem;color:var(--grey);margin:14px 0 0}

/* ---------------------------------------------------------------- saved work,
   tasks, examples, profile and the small shared controls. */
.navsave{display:inline-block;min-width:17px;padding:2px 5px;margin-left:5px;border-radius:99px;background:var(--green);color:#fff;font:700 10px/1.4 var(--sans);text-align:center;vertical-align:2px}
.navsave[hidden]{display:none}
.pcard .save{font:600 12.5px/1 var(--sans);padding:8px 11px;border-radius:8px;border:1px solid rgba(20,32,28,.22);background:#fff;color:var(--ink);cursor:pointer}
.pcard .save[aria-pressed="true"]{background:var(--mint);border-color:rgba(31,111,74,.45);color:var(--green-dark)}
.pcard .save:hover{border-color:var(--green)}
.pcard.flash{outline:3px solid var(--amber);outline-offset:3px;border-color:var(--amber)}
.pcard .meta .warn{background:var(--amber-wash);color:#7A5310}
.pcard .safetylink{background:none;border:0;padding:0;font:600 11.5px/1 var(--sans);color:#7A5310;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.actions{flex-wrap:wrap;row-gap:8px}
.kit .kit-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;align-items:center}
.kit .kit-actions .btn{padding:9px 12px;font-size:12.5px}
.examples{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin:26px 0}
.example{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:8px}
.example .tag{font:700 10.5px/1 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--green-dark)}
.example h3{font-size:1rem;margin:0}
.example .in,.example .out{font-size:.86rem;line-height:1.5;background:var(--soft);border-radius:8px;padding:10px 11px;margin:0}
.example .out{background:#F2F7F3}
.example .chk{font-size:.82rem;color:var(--grey);margin:0}
.example .chk b{color:var(--ink)}
.taskgrid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));margin:24px 0}
.taskcard{text-align:left;background:var(--cream);border:1px solid var(--line);border-radius:14px;padding:18px;cursor:pointer;display:flex;flex-direction:column;gap:7px;font:inherit;color:inherit}
.taskcard:hover,.taskcard[aria-pressed="true"]{border-color:var(--green);box-shadow:0 10px 30px -24px rgba(20,32,28,.5)}
.taskcard h3{font-size:1rem;margin:0}
.taskcard p{font-size:.88rem;color:#3A4A42;margin:0}
.taskcard .n{font:600 11.5px/1 var(--sans);color:var(--grey);margin-top:auto;padding-top:6px}
.taskpanel{background:var(--cream);border:1px solid var(--line);border-radius:16px;padding:22px;margin:24px 0}
.taskpanel h2{font-size:1.4rem}
.taskpanel ol{margin:8px 0 16px;padding-left:20px}
.taskpanel li{margin:.35em 0;font-size:.95rem}
.taskpanel .seq{display:grid;gap:8px;margin:14px 0}
.taskpanel .seq a{display:flex;gap:10px;align-items:baseline;justify-content:space-between;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px 13px;color:inherit}
.taskpanel .seq a:hover{border-color:var(--green)}
.taskpanel .seq b{font:600 .95rem/1.3 var(--sans)}
.taskpanel .seq span{font:600 11px/1 var(--sans);color:var(--grey);white-space:nowrap}
.pathgrid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:24px 0}
.pathcard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:8px;text-decoration:none;color:inherit}
.pathcard:hover{border-color:var(--green)}
.pathcard b{font:600 1rem var(--serif)}
.pathcard span{font-size:.9rem;color:#3A4A42}
.pathcard em{font:600 11px/1 var(--sans);color:var(--green-dark);font-style:normal;margin-top:auto;padding-top:6px}
.planbox{border:1px solid rgba(31,111,74,.3);background:#F2F7F3;border-radius:16px;padding:22px;margin:22px 0}
.planbox h2{font-size:1.35rem;margin-top:0}
.planbox .why{font-size:.9rem;color:#3A4A42}
.planbox pre{background:#fff;border:1px solid var(--line);border-radius:9px;padding:12px 14px;font:400 12.5px/1.55 var(--mono);white-space:pre-wrap;word-break:break-word;max-height:260px;overflow:auto;margin:0 0 10px}
.planbox details{border-top:1px solid var(--line);margin:14px 0 0;padding:12px 0 0}
.planbox details summary{font:600 13.5px/1.4 var(--sans);cursor:pointer;color:var(--green-dark)}
.planbox details[open] summary{margin-bottom:10px}
.firstwin{border-left:4px solid var(--amber);background:var(--amber-wash);border-radius:10px;padding:16px 18px;margin:16px 0}
.firstwin h3{margin:0 0 6px}
.firstwin ol{margin:8px 0 0;padding-left:18px}
.firstwin li{margin:.3em 0;font-size:.94rem}
.planmatch{background:var(--mint);border:1px solid rgba(31,111,74,.26);border-radius:12px;padding:14px 16px;margin:18px 0 0}
.planmatch h3{margin:0 0 6px;font-size:1.05rem}
#beforeBox,#afterBox,#pasteOut{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;max-width:100%}
.fieldgrid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.profilepreview{margin-top:16px}
.savedgrid{display:grid;gap:12px;margin:18px 0}
.savedrow{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}
.savedrow .who{flex:1 1 260px;min-width:0}
.savedrow h3{font-size:.98rem;margin:0 0 4px}
.savedrow p{font-size:.85rem;color:var(--grey);margin:0}
.savedrow .rowacts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.savedrow button,.savedrow select{font:600 12px/1 var(--sans);padding:8px 10px;border-radius:7px;border:1px solid rgba(20,32,28,.2);background:#fff;color:var(--ink);cursor:pointer}
.savedrow select{max-width:170px}
.savedempty{border:1px dashed rgba(20,32,28,.3);border-radius:14px;padding:22px;background:var(--cream);margin:18px 0}
.savedempty h3{margin-top:0}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 0}
.tabs button{font:600 13px/1 var(--sans);padding:10px 13px;border-radius:99px;border:1px solid var(--line);background:#fff;cursor:pointer;color:var(--ink)}
.tabs button[aria-selected="true"]{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.valuestats{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:18px 0}
.valuestats div{background:var(--cream);border:1px solid var(--line);border-radius:12px;padding:16px}
.valuestats b{display:block;font:600 1.6rem/1 var(--serif)}
.valuestats span{display:block;font-size:.8rem;color:var(--grey);margin-top:6px}
.collection{border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:12px 0;background:#fff}
.collection h3{margin:0 0 6px;font-size:1rem}
.collection ul{margin:6px 0 0;padding-left:18px;font-size:.9rem}
.updates{display:grid;gap:14px;margin:24px 0}
.update{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}
.update .when{font:600 11px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--amber-deep);margin:0 0 8px}
.update h3{font-size:1.08rem;margin:0 0 6px}
.update p{font-size:.95rem;margin:0 0 10px}
.update .do{background:var(--mint);border-radius:8px;padding:10px 12px;font-size:.9rem;margin:0}
.update .do b{color:var(--green-dark)}
.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:90;background:var(--ink);color:var(--cream);padding:12px 18px;border-radius:10px;font:500 .9rem/1.4 var(--sans);box-shadow:0 18px 44px -18px rgba(0,0,0,.6);max-width:calc(100vw - 36px)}
.toast a{color:var(--amber)}
.chip.sens{background:var(--amber-wash);color:#7A5310;border-color:rgba(232,184,75,.55)}
.helpnote{font-size:.86rem;color:var(--grey);margin:8px 0 0}

/* weekly drops: one card per Friday, with the free prompt in full */
.drop{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:26px;margin:0 0 22px;box-shadow:var(--shadow)}
.drop h2{font-size:clamp(1.3rem,2.4vw,1.75rem);margin:.1em 0 .4em}
.drop h3{font-size:1.05rem;margin:0 0 .3em}
.drop .when{font-size:.92rem;color:var(--grey);margin:0 0 10px}
.drop pre.promptbody{background:#F7F3E9;border:1px solid rgba(20,32,28,.16);border-radius:10px;padding:13px 15px;font:400 13px/1.62 var(--mono);white-space:pre-wrap;word-break:break-word;margin:0 0 14px;max-height:340px;overflow:auto;color:#233029}
.dropgrid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:30px;margin-top:16px}
.dropgrid>div{min-width:0}
.drop ol.steps{margin:0 0 14px;padding:0;list-style:none;counter-reset:ds}
.drop ol.steps li{counter-increment:ds;position:relative;padding:9px 0 9px 32px;border-bottom:1px dashed var(--line);font-size:.93rem}
.drop ol.steps li:last-child{border-bottom:0}
.drop ol.steps li::before{content:counter(ds,decimal-leading-zero);position:absolute;left:0;top:11px;font:700 11px/1.6 var(--sans);color:var(--amber-deep)}
@media (max-width:820px){.dropgrid{grid-template-columns:1fr;gap:14px}.drop{padding:20px}}
/* Script-only controls. Without a script they are hidden, not dead. */
.js-only{display:none}
.js .js-only{display:inline-flex;align-items:center;gap:8px}

/* A printed collection is a staff handout: the sheet, and nothing else. */
.printsheet{display:none}
@media print{
  body.printing header.nav,body.printing footer.footer{display:none!important}
  body.printing main>section{display:none!important}
  body.printing #printAreaWrap{display:block!important}
  body.printing .printdoc{color:#000;font-size:11pt}
  .printdoc h1{font-size:20pt;margin:0 0 2mm}
  .printdoc h2{font-size:11pt;margin:4mm 0 1mm;break-after:avoid}
  .printdoc .psrow{break-inside:avoid;border-top:1px solid #999;padding-top:2mm;margin-top:3mm}
  .printdoc .psbody{background:#fff;border:0;padding:0;font:400 9.5pt/1.5 ui-monospace,Menlo,Consolas,monospace;white-space:pre-wrap;margin:0 0 2mm}
  .printdoc .pssteps{margin:1mm 0 2mm 5mm;padding:0}
  .printdoc .psnote{border-left:2px solid #999;padding-left:3mm;font-size:9pt;color:#333}
  .printdoc .psfoot{border-top:1px solid #999;margin-top:6mm;padding-top:2mm;font-size:8pt;color:#444}
  .printdoc .eyebrow{color:#333}
}
/* Saved work is browser storage, so its controls and lists need a script.
   Without one the page shows the explanation and the static links instead. */
.needs-js{display:none}
.js .needs-js{display:block}
.js .tabs.needs-js{display:flex}

/* The static index of a trade's prompts: readable without a script, and the
   only place a crawler sees all 100 titles in plain HTML. */
.pindex{list-style:none;margin:14px 0 0;padding:0;columns:2;column-gap:36px}
.pindex li{break-inside:avoid;padding:7px 0;border-bottom:1px dashed var(--line);font-size:.92rem}
.pindex li a{text-decoration:none;font-weight:600;color:var(--ink)}
.pindex li a:hover{color:var(--green)}
.pindex li span{display:block;font-size:.82rem;color:var(--grey);margin-top:2px}
@media (max-width:700px){.pindex{columns:1}}

/* Keyboard users get to the content without tabbing the whole navigation. */
.skip{position:absolute;left:14px;top:-70px;z-index:120;background:var(--ink);color:var(--cream);
  padding:11px 18px;border-radius:0 0 10px 10px;font:600 13.5px/1 var(--sans);text-decoration:none}
.skip:focus{top:0;color:var(--cream);outline:3px solid var(--amber);outline-offset:2px}
@media print{.skip{display:none!important}}

/* Screen-reader-only heading where the visual design does not need one. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
/* The "what to remove" control was a bare text button 12px tall. */
.pcard .safetylink{font:600 11.5px/1.4 var(--sans);background:none;border:0;padding:6px 0;
  min-height:24px;color:var(--green-dark);text-decoration:underline;cursor:pointer}
/* Standalone card controls are targets, not inline text: 24px minimum. */
.pcard .trade{display:inline-flex;align-items:center;min-height:24px;padding:2px 0}
.pcard .open{display:inline-flex;align-items:center;min-height:24px;padding:4px 0}
