/* Tools (/tools/ and its pages, redesign_tools.py and involvement.take_action()). Prefix tl- (ta- for Take action).
   House look: navy outlines, hard zero-blur offset shadows cycling blue, yellow and pink, rounded cards, Clash Display
   heads, big scene art in a photo frame, companion stickers, and a new background band wherever dense blocks meet.
   Linked on every page through build.py EXTRA_CSS; every rule is scoped to a tl- or ta- class. */
:root{--tl-ink:#142b46;--tl-blue:#124dec;--tl-gold:#ffdc52;--tl-pink:#c2185b;--tl-sky:#eaf1ff;--tl-sun:#fff4cf;--tl-rose:#ffe9f1;
  --tl-sblue:#bccbf7;--tl-spink:#f3a9c8;--tl-line:2.5px solid var(--tl-ink);--tl-r:24px;
  --tl-display:var(--r-display,'Clash Display','Satoshi',system-ui,sans-serif);--tl-gap:clamp(40px,6vw,80px)}

/* ---------- page frame ---------- */
#main :is(.tl-intro,.tl-hub,.tl-builder-work,.tl-askdesk,.tl-detail,.tl-next,.tl-filterbar,.ta-desk){color:var(--tl-ink)}
#main :is(.tl-intro,.tl-band,.tl-hub,.tl-builder-work,.tl-askdesk,.tl-detail,.tl-next,.tl-filterbar,.ta-desk) :is(h1,h2,h3){font-family:var(--tl-display);color:var(--tl-ink);letter-spacing:-.01em;text-wrap:balance}
#main :is(.tl-intro,.tl-band,.tl-hub,.tl-builder-work,.tl-askdesk,.tl-detail,.ta-desk) p{max-width:68ch}
#main .tl-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- intro ---------- */
#main#main > .tl-intro.wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center;
  margin-top:clamp(28px,4vw,56px)!important;margin-bottom:clamp(36px,5vw,64px)!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important}
@media (min-width:900px){#main#main > .tl-intro.wrap:has(> :nth-child(2)){grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
  #main#main > .tl-intro.wrap:has(> .tl-cutout){grid-template-columns:minmax(0,1fr) auto}}
#main .tl-intro h1{margin:0!important;font-size:clamp(2.5rem,5.6vw,4.4rem)!important;line-height:1.02!important;font-weight:650}
#main .tl-lead{margin:18px 0 0!important;font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.55}
#main .tl-sub{margin:14px 0 0!important;font-size:1.02rem;line-height:1.6}
#main .tl-crumb{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
#main .tl-crumb a{display:inline-flex;align-items:center;min-height:36px;padding:4px 14px;border:2px solid var(--tl-ink);border-radius:999px;background:var(--tl-gold);
  color:var(--tl-ink);font-weight:750;font-size:.95rem;line-height:1.2;text-decoration:none}
#main .tl-crumb a + a{background:#fff}
#main .tl-crumb a:hover{box-shadow:3px 3px 0 var(--tl-ink)}
#main img.tl-cutout{width:clamp(110px,14vw,190px);height:auto;transform:rotate(4deg);justify-self:end;border:0;box-shadow:none}
@media (max-width:899px){#main img.tl-cutout{display:none}}

/* The photo frame: big scene art, navy outline, hard yellow shadow. */
#main .tl-frame{margin:0;padding:0;border:0;background:none}
#main .tl-frame img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border:3px solid var(--tl-ink);border-radius:28px;box-shadow:10px 10px 0 var(--tl-gold);background:var(--tl-sky)}
#main .tl-frame figcaption{margin:14px 4px 0;font-size:.92rem;line-height:1.45;color:#40506a}
@media (max-width:899px){#main .tl-frame{margin-right:10px}}

/* ---------- bands ---------- */
#main .tl-band{margin:0!important;padding:clamp(40px,6vw,76px) 0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
#main .tl-band > .wrap{margin:0 auto!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important}
#main .tl-band--sky{background:var(--tl-sky)}
#main .tl-band--sun{background:var(--tl-sun)}
#main .tl-band--rose{background:var(--tl-rose)}
#main .tl-band--tight{padding:clamp(28px,4vw,52px) 0!important}

/* ---------- buttons and links ---------- */
#main .tl-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:10px 20px;border:2px solid var(--tl-ink);border-radius:999px;
  background:#fff;color:var(--tl-ink);font-family:inherit;font-weight:750;font-size:1rem;line-height:1.2;text-decoration:none;cursor:pointer;box-shadow:3px 4px 0 var(--tl-sblue);transition:transform .15s,box-shadow .15s}
#main .tl-btn:hover{transform:translate(-1px,-1px);box-shadow:4px 5px 0 var(--tl-sblue)}
#main .tl-btn--primary{background:var(--tl-blue);color:#fff;box-shadow:4px 4px 0 var(--tl-ink)}
#main .tl-btn--primary:hover{box-shadow:5px 5px 0 var(--tl-ink)}
#main .tl-btn--quiet{box-shadow:none;background:transparent}
#main .tl-btn:focus-visible,#main .tl-link:focus-visible{outline:3px solid var(--tl-blue);outline-offset:3px}
#main .tl-btn .npw-icon{width:1.1em;height:1.1em}
#main .tl-link{display:inline-flex;align-items:center;min-height:44px;color:var(--tl-blue);font-weight:750;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
#main .tl-actions{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 0}
#main .tl-status{margin:14px 0 0!important;font-weight:600;font-size:.98rem;min-height:1.5em}

/* ---------- /tools/ hub ---------- */
#main#main > .tl-hub.wrap{margin-bottom:var(--tl-gap)!important;padding:0!important}
#main .tl-tools{list-style:none;margin:0!important;padding:0!important;display:grid;gap:clamp(20px,2.4vw,30px);grid-template-columns:minmax(0,1fr)}
@media (min-width:700px){#main .tl-tools{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){#main .tl-tools{grid-template-columns:repeat(3,minmax(0,1fr))}}
#main .tl-tool{margin:0;padding:0}
#main .tl-tool::marker{content:none}
#main .tl-tool a{position:relative;display:flex;align-items:flex-start;gap:16px;height:100%;padding:24px 22px;background:#fff;border:var(--tl-line);border-radius:var(--tl-r);
  box-shadow:7px 7px 0 var(--tl-sh,var(--tl-blue));color:var(--tl-ink);text-decoration:none;transition:transform .15s,box-shadow .15s}
#main .tl-tool:nth-child(3n+2) a{--tl-sh:var(--tl-gold)}
#main .tl-tool:nth-child(3n) a{--tl-sh:var(--tl-pink)}
#main .tl-tool a:hover{transform:translate(-2px,-2px);box-shadow:9px 9px 0 var(--tl-sh,var(--tl-blue))}
#main .tl-tool a:focus-visible{outline:3px solid var(--tl-blue);outline-offset:4px}
#main .tl-tool-icon{flex:none;display:grid;place-items:center;width:58px;height:58px;border:2px solid var(--tl-ink);border-radius:18px;background:var(--tl-sky)}
#main .tl-tool:nth-child(3n+2) .tl-tool-icon{background:var(--tl-sun)}
#main .tl-tool:nth-child(3n) .tl-tool-icon{background:var(--tl-rose)}
#main .tl-tool-icon .npw-icon{width:30px;height:30px}
#main .tl-tool-copy{display:flex;flex-direction:column;gap:6px;min-width:0;padding-right:26px}
#main .tl-tool-copy b{font:650 clamp(1.3rem,1.9vw,1.5rem)/1.15 var(--tl-display)}
#main .tl-tool-copy span{font-size:1rem;line-height:1.5}
#main .tl-tool-go{position:absolute;right:20px;bottom:22px;width:22px;height:22px;color:var(--tl-blue)}
#main .tl-note{display:flex;align-items:center;gap:clamp(18px,3vw,36px)}
@media (max-width:640px){#main .tl-note{flex-direction:column;align-items:flex-start}}
#main .tl-note img.tl-sticker{width:clamp(84px,10vw,120px);height:auto;flex:none;transform:rotate(-5deg);border:0;box-shadow:none}
#main .tl-note h2{margin:0 0 8px!important;font-size:clamp(1.5rem,2.6vw,2rem)!important}
#main .tl-note p{margin:0!important;font-size:1.05rem}

/* ---------- response builder ---------- */
#main .tl-picker{margin:26px 0 0;max-width:560px}
#main .tl-picker label{display:block;margin:0 0 8px;font:650 1.2rem/1.2 var(--tl-display)}
#main .tl-picker select,#main :is(.tl-askform,.ta-form) select{width:100%;min-height:52px;padding:10px 14px;border:var(--tl-line);border-radius:16px;background:#fff;color:var(--tl-ink);
  font-family:inherit;font-weight:600;font-size:1.02rem;line-height:1.3;box-shadow:4px 4px 0 var(--tl-blue);appearance:auto;cursor:pointer}
#main .tl-saved{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0 0!important;font-weight:700;font-size:.95rem}
#main .tl-saved button{min-height:36px;padding:4px 12px;border:2px solid var(--tl-ink);border-radius:999px;background:#fff;color:var(--tl-ink);font-family:inherit;font-weight:700;font-size:.92rem;line-height:1.2;cursor:pointer}
#main .tl-saved button[aria-current]{background:var(--tl-gold)}
#main .tl-noscript{margin-bottom:24px!important;font-weight:600}
#main .tl-builder{display:grid;gap:clamp(24px,3vw,40px);grid-template-columns:minmax(0,1fr);align-items:start}
@media (min-width:1000px){#main .tl-builder{grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr)}}
#main .tl-task{padding:clamp(22px,3vw,34px);background:#fff;border:var(--tl-line);border-radius:28px;box-shadow:8px 8px 0 var(--tl-blue)}
#main .tl-task-tag{margin:0 0 8px!important;font-weight:750;font-size:.95rem;color:var(--tl-blue)}
#main .tl-task h2{margin:0 0 20px!important;font-size:clamp(1.6rem,2.8vw,2.2rem)!important;line-height:1.12!important}
#main .tl-tilt{margin:0;display:grid;gap:12px}
#main .tl-tilt-row{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding:14px 16px;border-radius:16px;background:var(--tl-sky)}
@media (min-width:640px){#main .tl-tilt-row{grid-template-columns:110px minmax(0,1fr);gap:16px}}
#main .tl-tilt-row--task{background:var(--tl-sun)}
#main .tl-tilt-row--criteria{background:var(--tl-rose)}
#main .tl-tilt dt{font:650 1.1rem/1.3 var(--tl-display)}
#main .tl-tilt dd{margin:0;font-size:1.02rem;line-height:1.55}
#main .tl-tilt dd ul{margin:0;padding-left:1.2em}
#main .tl-tilt dd li + li{margin-top:4px}
#main .tl-steps{margin:18px 0 6px;border-top:2px solid var(--tl-sblue);padding-top:14px}
#main .tl-steps summary{cursor:pointer;font:650 1.15rem/1.3 var(--tl-display);min-height:36px}
#main .tl-steps ol{margin:10px 0 0;padding-left:1.4em;line-height:1.55}
#main .tl-steps li + li{margin-top:6px}
/* The writing coach: one filled panel beside the task. */
#main .tl-coach{padding:clamp(20px,2.6vw,28px);background:var(--tl-rose);border:var(--tl-line);border-radius:28px;box-shadow:8px 8px 0 var(--tl-pink)}
@media (min-width:1000px){#main .tl-coach{position:sticky;top:24px}}
#main .tl-coach-head{display:flex;align-items:center;gap:14px}
#main .tl-coach-head img{width:84px;height:84px;flex:none;border-radius:50%;border:2.5px solid var(--tl-ink);object-fit:cover;background:#fff;box-shadow:3px 3px 0 var(--tl-ink)}
#main .tl-coach h2{margin:0!important;font-size:1.5rem!important;line-height:1.1!important}
#main .tl-coach-who{margin:4px 0 0!important;display:flex;flex-direction:column;font-size:.95rem;line-height:1.35}
#main .tl-coach-q{margin:18px 0 0!important;font:600 1.15rem/1.35 var(--tl-display)}
#main .tl-coach-tip{margin:16px 0 0;padding:14px 16px;background:#fff;border:2px solid var(--tl-ink);border-radius:18px}
#main .tl-coach-tip p{margin:0!important;line-height:1.5}
#main .tl-coach-tip p + p{margin-top:6px!important}
#main .tl-coach-k{font-weight:800}
#main .tl-coach-avoid{font-size:.95rem}
#main .tl-coach h3{margin:18px 0 6px!important;font-size:1.1rem!important}
#main .tl-coach-checks{margin:0;padding-left:1.3em;line-height:1.5}
#main .tl-coach-how{margin:14px 0 0!important;font-size:.95rem;line-height:1.5;font-style:italic}
#main#main > .tl-builder-work.wrap{display:grid;gap:clamp(24px,3vw,40px);grid-template-columns:minmax(0,1fr);align-items:start;margin-top:clamp(36px,5vw,64px)!important;margin-bottom:var(--tl-gap)!important;padding:0!important}
@media (min-width:1000px){#main#main > .tl-builder-work.wrap{grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr)}#main .tl-checkcard{position:sticky;top:24px;margin-top:62px}}
#main .tl-work{min-width:0}
#main .tl-checkcard{min-width:0}
#main .tl-work h2{margin:0 0 18px!important;font-size:clamp(1.7rem,3vw,2.3rem)!important}
#main .tl-plan{display:grid;gap:18px;grid-template-columns:minmax(0,1fr)}
@media (min-width:760px){#main .tl-plan{grid-template-columns:repeat(2,minmax(0,1fr))}#main .tl-plan .tl-field:last-child{grid-column:1/-1}}
#main .tl-field{margin:0}
#main .tl-field + .tl-field,#main .tl-plan + .tl-field{margin-top:22px}
#main .tl-plan .tl-field + .tl-field{margin-top:0}
#main .tl-field label,#main .tl-sheet-rows label,#main .tl-notes label{display:block;margin:0 0 6px;font-weight:800;font-size:1.05rem;line-height:1.35}
#main .tl-field label span{font-weight:600;color:#56657d}
#main .tl-help{margin:0 0 8px!important;font-size:.95rem;line-height:1.45;color:#40506a}
#main :is(.tl-work,.tl-detail,.tl-askform,.ta-form) :is(textarea,input[type=text],input:not([type])){display:block;width:100%;box-sizing:border-box;padding:12px 14px;border:var(--tl-line);border-radius:16px;
  background:#fff;color:var(--tl-ink);font:500 1.02rem/1.55 inherit;font-family:inherit;resize:vertical}
#main :is(.tl-work,.tl-detail,.tl-askform,.ta-form) :is(textarea,input,select):focus-visible{outline:3px solid var(--tl-blue);outline-offset:2px}
#main .tl-field--draft textarea{min-height:240px;box-shadow:6px 6px 0 var(--tl-gold)}
#main .tl-count{margin:10px 0 0!important;font-weight:700;font-size:.95rem}
#main .tl-checks{margin:0;padding:18px 20px 20px;border:var(--tl-line);border-radius:24px;background:var(--tl-sky);min-width:0;box-shadow:6px 6px 0 var(--tl-blue)}
#main .tl-checks legend{float:left;width:100%;margin:0 0 10px;padding:0;font:650 1.3rem/1.2 var(--tl-display);color:var(--tl-ink)}
#main .tl-checks legend + *{clear:both}
#main .tl-check{display:flex;gap:12px;align-items:flex-start;padding:6px 0}
#main .tl-check input{width:22px;height:22px;margin:2px 0 0;flex:none;accent-color:var(--tl-blue)}
#main .tl-check label{font-weight:600;line-height:1.45;cursor:pointer}

/* ---------- practice ---------- */
#main#main > .tl-filterbar.wrap{display:flex;flex-wrap:wrap;gap:16px 32px;align-items:flex-end;justify-content:space-between;margin-bottom:clamp(28px,4vw,44px)!important;padding:0!important}
#main .tl-filter{margin:0;padding:0;border:0;min-width:0}
#main .tl-filter legend{float:left;width:100%;margin:0 0 10px;padding:0;font:650 1.3rem/1.2 var(--tl-display);color:var(--tl-ink)}
#main .tl-chips{clear:both;display:flex;flex-wrap:wrap;gap:10px}
#main .tl-filter input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
#main .tl-filter label{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:2px solid var(--tl-ink);border-radius:999px;background:#fff;color:var(--tl-ink);
  font-weight:750;font-size:1rem;line-height:1.2;cursor:pointer;box-shadow:3px 4px 0 var(--tl-sblue)}
#main .tl-filter input:checked + label{background:var(--tl-blue);color:#fff;box-shadow:3px 4px 0 var(--tl-ink)}
#main .tl-filter input:focus-visible + label{outline:3px solid var(--tl-blue);outline-offset:3px}
#main .tl-jump{display:flex;flex-wrap:wrap;gap:8px}
#main .tl-jump a{display:inline-flex;align-items:center;min-height:44px;padding:6px 14px;border-radius:12px;background:var(--tl-sky);color:var(--tl-ink);font-weight:750;text-decoration:none}
#main .tl-jump a:hover{background:var(--tl-gold)}
#main:has(#tl-pick-quick:checked) .tl-pcard:not(.tl-pcard--quick),
#main:has(#tl-pick-worksheet:checked) .tl-pcard:not(.tl-pcard--worksheet),
#main:has(#tl-pick-group:checked) .tl-pcard:not(.tl-pcard--group){display:none}
#main:has(#tl-pick-quick:checked) .tl-lessongroup:not(:has(.tl-pcard--quick)),
#main:has(#tl-pick-worksheet:checked) .tl-lessongroup:not(:has(.tl-pcard--worksheet)),
#main:has(#tl-pick-group:checked) .tl-lessongroup:not(:has(.tl-pcard--group)),
#main:has(#tl-pick-quick:checked) .tl-band--unit:not(:has(.tl-pcard--quick)),
#main:has(#tl-pick-worksheet:checked) .tl-band--unit:not(:has(.tl-pcard--worksheet)),
#main:has(#tl-pick-group:checked) .tl-band--unit:not(:has(.tl-pcard--group)){display:none}
#main .tl-practice{margin-bottom:0}
#main .tl-unit{scroll-margin-top:24px}
#main .tl-unit-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 20px;margin:0 0 8px}
#main .tl-unit-head h2{margin:0!important;font-size:clamp(1.8rem,3.4vw,2.6rem)!important;line-height:1.08!important}
#main .tl-unit-head p{margin:0!important;font-weight:750}
#main .tl-lessongroup{margin:clamp(22px,3vw,34px) 0 0;padding:0;border:0;background:none}
#main .tl-lessongroup h3{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 16px!important;font-size:clamp(1.2rem,1.9vw,1.45rem)!important;line-height:1.25!important}
#main .tl-lessongroup h3 span{display:inline-flex;padding:3px 12px;border:2px solid var(--tl-ink);border-radius:999px;background:#fff;font:750 .92rem/1.3 inherit;font-family:inherit}
#main .tl-pgrid{list-style:none;margin:0!important;padding:0!important;display:grid;gap:clamp(18px,2vw,26px);grid-template-columns:minmax(0,1fr)}
@media (min-width:700px){#main .tl-pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){#main .tl-pgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
#main .tl-pcard{margin:0;padding:0}
#main .tl-pcard::marker{content:none}
#main .tl-pcard a{display:flex;flex-direction:column;align-items:flex-start;gap:8px;height:100%;padding:20px;background:#fff;border:var(--tl-line);border-radius:22px;
  box-shadow:6px 6px 0 var(--tl-blue);color:var(--tl-ink);text-decoration:none;transition:transform .15s,box-shadow .15s}
#main .tl-pcard--worksheet a{box-shadow:6px 6px 0 var(--tl-gold)}
#main .tl-pcard--group a{box-shadow:6px 6px 0 var(--tl-pink)}
#main .tl-pcard a:hover{transform:translate(-2px,-2px)}
#main .tl-pcard a:focus-visible{outline:3px solid var(--tl-blue);outline-offset:4px}
#main .tl-pcard b{font:650 1.22rem/1.2 var(--tl-display)}
#main .tl-pcard-sum{font-size:.98rem;line-height:1.5}
#main .tl-pcard-skill{margin-top:auto;padding-top:6px;font-size:.9rem;font-weight:700;color:#40506a}
#main .tl-kind{display:inline-flex;padding:3px 10px;border-radius:999px;border:2px solid var(--tl-ink);font-weight:800;font-size:.82rem;line-height:1.3;background:var(--tl-sky)}
#main .tl-kind--worksheet{background:var(--tl-sun)}
#main .tl-kind--group{background:var(--tl-rose)}
#main .tl-tags{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0 0!important}
#main .tl-tags a{color:var(--tl-blue);font-weight:750;text-decoration:underline;text-underline-offset:4px}
#main .tl-tags .tl-kind{font-size:.9rem;padding:4px 12px}

/* practice detail */
#main#main > .tl-detail.wrap{display:grid;gap:clamp(28px,4vw,56px);grid-template-columns:minmax(0,1fr);align-items:start;margin-bottom:clamp(36px,5vw,56px)!important;padding:0!important}
@media (min-width:980px){#main#main > .tl-detail.wrap{grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr)}}
#main .tl-detail-main > section{margin:0;padding:0;border:0;background:none;box-shadow:none}
#main .tl-detail-main > section + section{margin-top:clamp(28px,3.4vw,40px)}
#main .tl-detail-main h2{margin:0 0 12px!important;font-size:clamp(1.45rem,2.4vw,1.85rem)!important;line-height:1.15!important}
#main .tl-detail-main p{font-size:1.05rem;line-height:1.6}
#main .tl-asks,#main .tl-before{display:flex;align-items:center;gap:clamp(16px,2.4vw,28px);padding:clamp(18px,2.6vw,26px)!important;border:var(--tl-line)!important;border-radius:26px!important}
#main .tl-asks{background:var(--tl-blue)!important;color:#fff;box-shadow:7px 7px 0 var(--tl-gold)!important}
#main .tl-asks h2{color:#fff!important;font-size:1.2rem!important;margin-bottom:6px!important}
#main .tl-asks p{margin:0!important;font:600 clamp(1.25rem,2.1vw,1.55rem)/1.3 var(--tl-display);color:#fff}
#main .tl-before{background:var(--tl-sun)!important}
#main .tl-before p{margin:0!important}
#main :is(.tl-asks,.tl-before) img.tl-sticker{width:clamp(70px,9vw,104px);height:auto;flex:none;transform:rotate(-5deg);border:0;box-shadow:none}
#main .tl-choice + .tl-choice{margin-top:14px}
#main .tl-choice-btn{display:block;width:100%;text-align:left;padding:16px 18px;border:var(--tl-line);border-radius:20px;background:#fff;color:var(--tl-ink);
  font:600 1.05rem/1.5 inherit;font-family:inherit;cursor:pointer;box-shadow:5px 5px 0 var(--tl-sblue);transition:transform .15s}
#main .tl-choice-btn:hover{transform:translate(-1px,-1px)}
#main .tl-choice-btn[aria-expanded=true]{background:var(--tl-sky);box-shadow:5px 5px 0 var(--tl-blue)}
#main .tl-choice-k{display:block;margin:0 0 4px;font-weight:800;font-size:.85rem;color:var(--tl-blue)}
#main .tl-feedback{margin:10px 0 0!important;padding:12px 16px;border-left:5px solid var(--tl-pink);background:var(--tl-rose);border-radius:0 14px 14px 0}
#main .tl-make textarea{margin-top:10px}
#main .tl-friend blockquote{margin:0;padding:16px 20px;border:2px solid var(--tl-ink);border-radius:20px;background:var(--tl-sun)}
#main .tl-friend blockquote p{margin:0!important;font:600 1.15rem/1.45 var(--tl-display)}
#main .tl-friend blockquote + p{margin-top:12px!important}
#main .tl-sheet-rows{margin:0;padding:0;list-style:none;counter-reset:tl-row;display:grid;gap:16px}
#main .tl-sheet-rows li{counter-increment:tl-row}
#main .tl-sheet-rows label::before{content:counter(tl-row);display:inline-grid;place-items:center;width:28px;height:28px;margin-right:10px;border-radius:50%;background:var(--tl-gold);border:2px solid var(--tl-ink);font-size:.85rem}
#main .tl-example{padding:clamp(18px,2.6vw,24px)!important;border:2px solid var(--tl-ink)!important;border-radius:22px!important;background:var(--tl-sky)!important}
#main .tl-example p{margin:0!important}
#main .tl-roles ul{list-style:none;margin:0;padding:0;display:grid;gap:14px;grid-template-columns:minmax(0,1fr)}
@media (min-width:700px){#main .tl-roles ul{grid-template-columns:repeat(3,minmax(0,1fr))}}
#main .tl-roles li{padding:16px;border:var(--tl-line);border-radius:20px;background:#fff;box-shadow:5px 5px 0 var(--tl-blue);line-height:1.5}
#main .tl-roles li:nth-child(3n+2){box-shadow:5px 5px 0 var(--tl-gold)}
#main .tl-roles li:nth-child(3n){box-shadow:5px 5px 0 var(--tl-pink)}
#main .tl-roles li b{display:block;margin:0 0 4px;font:650 1.1rem/1.2 var(--tl-display)}
#main .tl-notes{padding-top:clamp(22px,3vw,32px)!important;border-top:2px solid var(--tl-sblue)!important}
#main .tl-use{padding:clamp(20px,2.6vw,28px);background:var(--tl-sun);border:var(--tl-line);border-radius:26px;box-shadow:8px 8px 0 var(--tl-blue);color:var(--tl-ink)}
@media (min-width:980px){#main .tl-use{position:sticky;top:24px}}
#main .tl-use h2{margin:0!important;font-size:1.05rem!important;font-family:inherit!important;font-weight:800}
#main .tl-use p.tl-use-skill{margin:6px 0 10px!important;font:650 1.45rem/1.2 var(--tl-display)!important}
#main .tl-use p{font-size:1rem;line-height:1.55}
#main .tl-use .tl-btn{margin:16px 0 6px}
#main .tl-use > .tl-link{display:flex}
#main .tl-idea{margin:14px 0 0;padding-top:12px;border-top:2px solid rgba(20,43,70,.2)}
#main .tl-idea summary{cursor:pointer;font-weight:800;min-height:36px}
#main .tl-idea p{font-size:.95rem!important;margin:8px 0 0!important}
#main .tl-cite a{color:var(--tl-blue);text-decoration:underline;text-underline-offset:3px}
#main#main > .tl-next.wrap{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;margin-bottom:var(--tl-gap)!important;padding:22px 0 0!important;border-top:2px solid var(--tl-sblue)}
#main .tl-next a{color:var(--tl-ink);font-weight:750;text-decoration:underline;text-underline-offset:4px}
#main .tl-next a.tl-next-item{display:flex;flex-direction:column;align-items:flex-end;text-align:right;text-decoration:none;padding:12px 18px;border:2px solid var(--tl-ink);border-radius:18px;box-shadow:4px 4px 0 var(--tl-gold);max-width:100%}
#main .tl-next-item span{font-size:.85rem;font-weight:800;color:var(--tl-blue)}

/* ---------- ask ---------- */
#main#main > .tl-askdesk.wrap{display:grid;gap:clamp(28px,4vw,56px);grid-template-columns:minmax(0,1fr);align-items:start;margin-bottom:var(--tl-gap)!important;padding:0!important}
@media (min-width:980px){#main#main > .tl-askdesk.wrap{grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr)}}
#main .tl-askform{padding:clamp(22px,3vw,34px);background:#fff;border:var(--tl-line);border-radius:28px;box-shadow:8px 8px 0 var(--tl-blue);color:var(--tl-ink)}
#main .tl-kinds{margin:0 0 22px;padding:0;border:0;min-width:0}
#main .tl-kinds legend{margin:0 0 10px;padding:0;font:650 1.3rem/1.2 var(--tl-display)}
#main .tl-kinds label{display:inline-flex;margin:0 10px 10px 0;cursor:pointer}
#main .tl-kinds input{position:absolute;opacity:0;width:1px;height:1px}
#main .tl-kinds label > span{display:flex;flex-direction:column;padding:10px 16px;border:2px solid var(--tl-ink);border-radius:16px;background:#fff;font-size:.92rem;line-height:1.35;box-shadow:3px 4px 0 var(--tl-sblue)}
#main .tl-kinds label > span b{font-size:1.02rem}
#main .tl-kinds input:checked + span{background:var(--tl-gold);box-shadow:3px 4px 0 var(--tl-ink)}
#main .tl-kinds input:focus-visible + span{outline:3px solid var(--tl-blue);outline-offset:3px}
#main .tl-row2{display:grid;gap:22px;grid-template-columns:minmax(0,1fr);margin-top:22px}
@media (min-width:760px){#main .tl-row2{grid-template-columns:repeat(2,minmax(0,1fr))}}
#main .tl-row2 .tl-field + .tl-field{margin-top:0}
#main .tl-row2 select{margin-bottom:8px}
#main .tl-error{margin:8px 0 0!important;color:var(--tl-pink);font-weight:750}
#main .tl-private{display:flex;gap:10px;align-items:flex-start;margin:24px 0 0!important;padding:12px 16px;border-radius:16px;background:var(--tl-sky);font-weight:600;line-height:1.5;max-width:none!important}
#main .tl-private .npw-icon{margin-top:3px}
#main .tl-asktips{display:flex;flex-direction:column;gap:10px;padding:clamp(20px,2.6vw,28px);background:var(--tl-sun);border:var(--tl-line);border-radius:26px;box-shadow:8px 8px 0 var(--tl-pink);color:var(--tl-ink)}
#main .tl-asktips img.tl-sticker{width:96px;height:auto;transform:rotate(-5deg);border:0;box-shadow:none}
#main .tl-asktips h2{margin:0 0 10px!important;font-size:1.45rem!important;line-height:1.15!important}
#main .tl-asktips ul{margin:0;padding-left:1.1em;line-height:1.55}
#main .tl-asktips li + li{margin-top:8px}
#main .tl-duda{margin:16px 0 0!important;font-weight:700}
#main .tl-saved-qs{color:var(--tl-ink)}
#main .tl-saved-head{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin:0 0 16px}
#main .tl-saved-head h2{margin:0!important;font-size:clamp(1.6rem,2.8vw,2.2rem)!important}
#main .tl-empty{margin:0!important;font-weight:600}
#main .tl-qlist{list-style:none;margin:0;padding:0;display:grid;gap:18px;grid-template-columns:minmax(0,1fr)}
@media (min-width:800px){#main .tl-qlist{grid-template-columns:repeat(2,minmax(0,1fr))}}
#main .tl-q{padding:18px 20px;background:#fff;border:var(--tl-line);border-radius:22px;box-shadow:6px 6px 0 var(--tl-blue)}
#main .tl-q:nth-child(3n+2){box-shadow:6px 6px 0 var(--tl-gold)}
#main .tl-q:nth-child(3n){box-shadow:6px 6px 0 var(--tl-pink)}
#main .tl-q-kind{margin:0!important;font-weight:800;font-size:.85rem;color:var(--tl-blue)}
#main .tl-q-text{margin:4px 0 0!important;font:600 1.15rem/1.4 var(--tl-display)}
#main .tl-q-meta{margin:8px 0 0!important;font-size:.9rem;color:#40506a}
#main .tl-q-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}
#main .tl-q-actions .tl-btn{min-height:40px;padding:6px 14px;font-size:.92rem}

/* ---------- take action ---------- */
#main#main > .ta-desk.wrap{display:grid;gap:clamp(24px,3vw,40px);grid-template-columns:minmax(0,1fr);align-items:start;margin-bottom:var(--tl-gap)!important;padding:0!important}
@media (min-width:980px){#main#main > .ta-desk.wrap{grid-template-columns:300px minmax(0,1fr)}}
#main .ta-index{display:flex;flex-direction:column;gap:10px}
@media (min-width:980px){#main .ta-index{position:sticky;top:24px}}
#main .ta-index h2{margin:0 0 4px!important;font-size:1.35rem!important}
#main .ta-index a{display:flex;flex-direction:column;gap:2px;padding:12px 16px;border:2px solid var(--tl-ink);border-radius:18px;background:#fff;color:var(--tl-ink);text-decoration:none;line-height:1.35}
#main .ta-index a b{font-size:1.02rem}
#main .ta-index a span{font-size:.88rem;color:#40506a}
#main .ta-index a:hover{background:var(--tl-sky)}
#main .ta-index a[aria-current]{background:var(--tl-blue);color:#fff;box-shadow:4px 4px 0 var(--tl-gold)}
#main .ta-index a[aria-current] span{color:#e6ecff}
@media (max-width:979px){#main .ta-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}#main .ta-index h2{grid-column:1/-1}#main .ta-index a span{display:none}}
#main .ta-panels{min-width:0}
#main .ta-route{padding:clamp(22px,3vw,36px)!important;background:#fff!important;border:var(--tl-line)!important;border-radius:28px!important;box-shadow:8px 8px 0 var(--tl-blue)!important;color:var(--tl-ink);scroll-margin-top:24px}
#main .ta-route + .ta-route{margin-top:28px}
#main .ta-route h2{margin:0!important;font-size:clamp(1.8rem,3.2vw,2.5rem)!important;line-height:1.08!important}
#main .ta-route-intro{margin:12px 0 0!important;font-size:1.08rem;line-height:1.6}
#main .ta-route h3,#main .ta-route .ta-two h3{margin:24px 0 8px!important;font-size:1.2rem!important}
#main .ta-two{display:grid;gap:18px 28px;grid-template-columns:minmax(0,1fr);margin-top:24px}
@media (min-width:760px){#main .ta-two{grid-template-columns:repeat(2,minmax(0,1fr))}}
#main .ta-route ul{margin:0;padding-left:1.2em;line-height:1.55}
#main .ta-steps{margin:0;padding:0;list-style:none;counter-reset:ta;display:grid;gap:12px}
#main .ta-steps li{counter-increment:ta;display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;line-height:1.55}
#main .ta-steps li::before{content:counter(ta);display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--tl-gold);border:2px solid var(--tl-ink);font-weight:800}
#main .ta-ask{margin:26px 0 0;padding:18px 22px;background:var(--tl-gold);border:2px solid var(--tl-ink);border-radius:22px}
#main .ta-ask p{margin:0!important;font:600 clamp(1.15rem,1.9vw,1.35rem)/1.4 var(--tl-display)}
#main .ta-ask footer{margin:8px 0 0;font-size:.88rem;font-weight:700;background:none;padding:0;border:0}
#main .ta-more{margin:14px 0 0;border:2px solid var(--tl-ink);border-radius:18px;background:var(--tl-rose)}
#main .ta-more summary{cursor:pointer;padding:12px 18px;font-weight:800;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none}
#main .ta-more summary::-webkit-details-marker{display:none}
#main .ta-more summary::after{content:'+';flex:none;display:grid;place-items:center;width:28px;height:28px;border:2px solid var(--tl-ink);border-radius:50%;background:#fff;font-weight:800;line-height:1}
#main .ta-more[open] summary::after{content:'\2212'}
#main .ta-more > p,#main .ta-more > ul{margin:0!important;padding:0 18px 16px!important}
#main .ta-links{list-style:none;display:grid;gap:12px}
#main .ta-links a{display:inline-flex;flex-direction:column;color:var(--tl-blue);font-weight:750;text-decoration:underline;text-underline-offset:3px}
#main .ta-links a span{color:var(--tl-ink);font-weight:600;font-size:.88rem;text-decoration:none}
#main .ta-links p{margin:2px 0 0!important;font-size:.92rem}
#main .ta-practice{margin:26px 0 0;padding-top:18px;border-top:2px solid var(--tl-sblue)}
#main .ta-practice h3{margin-top:0!important}
#main .ta-practice-links{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
@media (min-width:700px){#main .ta-practice-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
#main .ta-practice-links a{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border:2px solid var(--tl-ink);border-radius:18px;background:var(--tl-sky);color:var(--tl-ink);text-decoration:none;font-weight:700;line-height:1.35}
#main .ta-practice-links a span{font-size:.85rem;font-weight:800;color:var(--tl-blue)}
#main .ta-practice-links a:hover{box-shadow:4px 4px 0 var(--tl-ink)}
#main .ta-first{display:grid;gap:clamp(24px,4vw,56px);grid-template-columns:minmax(0,1fr);align-items:start;color:var(--tl-ink);scroll-margin-top:24px}
@media (min-width:900px){#main .ta-first{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}}
#main .ta-first-copy img.tl-sticker{width:92px;height:auto;transform:rotate(-5deg);border:0;box-shadow:none;margin-bottom:8px}
#main .ta-first-copy h2{margin:0 0 10px!important;font-size:clamp(1.8rem,3.2vw,2.5rem)!important}
#main .ta-first-copy details{margin:14px 0 0!important;padding:10px 0 0!important;border:0!important;border-top:2px solid rgba(20,43,70,.18)!important;background:none!important}
#main .ta-first-copy summary{cursor:pointer;font-weight:800;min-height:36px}
#main .ta-first-copy details p{margin:8px 0 0!important}
#main .ta-form{display:flex;flex-direction:column;gap:8px;padding:clamp(20px,3vw,32px);background:#fff;border:var(--tl-line);border-radius:28px;box-shadow:8px 8px 0 var(--tl-blue)}
#main .ta-form > label{margin-top:10px;font-weight:800}
#main .ta-form > label:first-child{margin-top:0}
#main .ta-form fieldset{margin:12px 0 4px;padding:0;border:0;display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center}
#main .ta-form legend{float:left;margin:0 12px 0 0;padding:0;font-weight:800}
#main .ta-form fieldset label{display:inline-flex;gap:8px;align-items:center;font-weight:600;min-height:40px}
#main .ta-form .tl-btn{align-self:flex-start;margin-top:10px}
#main .ta-private{margin:6px 0 0!important;font-size:.92rem}
#main #move-result{margin-top:12px}
#main #move-result > label{display:block;margin:0 0 6px;font-weight:800}

/* ---------- fact-check card and checking tools: breadcrumb in the intro, room above the footer ---------- */
#main .fc-intro .tl-crumb,#main .tk-intro .tl-crumb{margin-bottom:14px}
#main#main > .fc-before.wrap{margin-bottom:var(--tl-gap)!important}

@media (max-width:640px){
  #main .tl-tool a{padding:20px 18px}
  #main .tl-asks,#main .tl-before{flex-direction:column;align-items:flex-start}
  #main .tl-next a.tl-next-item{align-items:flex-start;text-align:left}
}
@media (prefers-reduced-motion:reduce){#main :is(.tl-tool a,.tl-pcard a,.tl-btn,.tl-choice-btn){transition:none}}

/* Display type wins over the older stylesheets' b and p font rules. */
#main :is(.tl-tool-copy b,.tl-pcard b,.tl-coach-q,.tl-tilt dt,.tl-steps summary,.tl-asks p,.tl-friend blockquote p,.tl-roles li b,
  .tl-use p.tl-use-skill,.tl-q-text,.ta-ask p,.tl-picker label,.tl-filter legend,.tl-kinds legend,.tl-checks legend){font-family:var(--tl-display)!important;letter-spacing:-.005em}
