/* Couch Co-Op Studios: reading pages (privacy, support, terms, guides). Sits on /assets/app.css. */
:root{--surface:var(--card);--rule:var(--line);--muted:var(--soft);--tint:color-mix(in srgb,var(--a) 22%,transparent);--tint-ink:var(--ink);--court:var(--af);--display:var(--disp)}
.dhead{position:relative;z-index:1;padding:46px 0 34px;text-align:center}
.dhead .crumbs{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 10px;list-style:none;margin:0 0 18px;padding:0;font-size:.92rem;color:var(--soft)}
.dhead .crumbs li+li:before{content:"/";margin-right:10px;opacity:.5}
.dhead .crumbs a{color:var(--ink);font-weight:700;text-decoration:none}
.dhead .crumbs a:hover{color:var(--a)}
.dhead .dicon{display:block;width:72px;height:72px;border-radius:18px;margin:0 auto 20px;box-shadow:0 18px 40px -16px var(--a),0 0 0 1px var(--line)}
.dhead h1{font-size:clamp(2.1rem,4.6vw,3.6rem);max-width:17em;margin:0 auto}
.doc{position:relative;z-index:1;padding:8px 0 90px}
.prose{position:relative;max-width:820px;margin:0 auto;background:var(--card);border-radius:32px;padding:48px 56px;box-shadow:0 0 0 1px var(--line),0 40px 90px -60px var(--shadow);font-size:1.07rem;line-height:1.7}
.prose.wide{max-width:1040px}
.prose>:first-child{margin-top:0}
.prose h2{font:800 clamp(1.5rem,2.6vw,1.95rem)/1.15 var(--disp);letter-spacing:-.03em;margin:44px 0 12px}
.prose h3{font:800 1.2rem/1.3 var(--disp);letter-spacing:-.02em;margin:30px 0 8px}
.prose p{margin:0 0 16px}
.prose ul,.prose ol{margin:0 0 18px;padding-left:1.3em}
.prose li{margin:6px 0}
.prose li::marker{color:var(--a)}
.prose a{color:var(--ink);font-weight:700;text-decoration-color:var(--a);text-decoration-thickness:2px;text-underline-offset:3px}
.prose a:hover{color:var(--a)}
html.dark .prose a:hover{color:#fff}
.prose strong,.prose b{color:var(--ink)}
.prose hr,.prose .divider{border:0;height:1px;background:var(--line);margin:36px 0}
.prose blockquote{margin:20px 0;padding:6px 0 6px 20px;border-left:4px solid var(--a);color:var(--soft)}
.prose code{font-size:.92em;padding:2px 6px;border-radius:6px;background:var(--bg2)}
.prose .lede,.prose .subtitle{font-size:1.2rem;color:var(--soft);line-height:1.6}
.prose .date,.prose .meta,.prose .updated,.prose .muted,.prose .note{color:var(--soft);font-size:.95rem}
.prose .label{display:inline-block;font-size:.8rem;font-weight:700;padding:3px 10px;border-radius:99px;background:var(--af);color:var(--ai);margin-bottom:10px}
.prose .answer,.prose .box,.prose .example,.prose .trouble{margin:22px 0 26px;padding:22px 24px;border-radius:22px;background:color-mix(in srgb,var(--a) 13%,var(--card));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--a) 34%,transparent)}
.prose .answer p:last-child,.prose .box p:last-child,.prose .example p:last-child{margin-bottom:0}
.prose .jump{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:14px 0 8px}
.prose .jump li{margin:0}
.prose .jump a{display:inline-block;padding:8px 14px;border-radius:99px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);text-decoration:none;font-size:.92rem}
.prose .jump a:hover{box-shadow:inset 0 0 0 2px var(--a)}
.prose ul.guides,.prose ol.howto{padding-left:0;list-style:none}
.prose .guides{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.prose .guides li{margin:0}
.prose .guides a,.prose .card{display:block;height:100%;padding:22px 24px;border-radius:22px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);text-decoration:none;transition:transform .3s cubic-bezier(.3,1.5,.4,1),box-shadow .2s}
.prose .guides a:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 2px var(--a)}
.prose .guides a span,.prose .guides a p{display:block;margin-top:6px;font-weight:400;color:var(--soft)}
.prose .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:18px 0}
.prose .card h3{margin-top:0}
.prose .howto>li{position:relative;padding:4px 0 4px 52px;counter-increment:h;margin:14px 0}
.prose ol.howto{counter-reset:h}
.prose .howto>li:before{content:counter(h);position:absolute;left:0;top:2px;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--af);color:var(--ai);font:800 1rem var(--disp)}
.prose .steps{display:grid;gap:12px}
.prose .faq,.prose .lp-faq{display:grid;gap:10px;margin:14px 0 20px}
.prose .faq details,.prose .lp-faq details{background:var(--bg);border-radius:18px;box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}
.prose .faq summary,.prose .lp-faq summary{cursor:pointer;list-style:none;padding:16px 50px 16px 20px;font-weight:700;position:relative}
.prose .faq summary::-webkit-details-marker,.prose .lp-faq summary::-webkit-details-marker{display:none}
.prose .faq summary:after,.prose .lp-faq summary:after{content:"";position:absolute;right:20px;top:50%;width:9px;height:9px;border-right:2.5px solid currentColor;border-bottom:2.5px solid currentColor;transform:translateY(-70%) rotate(45deg);transition:transform .3s}
.prose details[open] summary:after{transform:translateY(-30%) rotate(-135deg)}
.prose .faq .a,.prose .lp-faq .a,.prose .faq-a{padding:0 20px 16px;color:var(--soft)}
.prose .faq-q{font-weight:800;font-size:1.08rem;margin:22px 0 4px}
.prose .faq-q:first-child{margin-top:0}
.prose .faq-a{padding:0;margin:0 0 6px}
.prose .card .divider{margin:20px 0}
.prose .card+.card{margin-top:14px}
.prose .card h2:first-child{margin-top:0}
.prose .app-cta,.prose .cta{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:center;margin:44px 0 0;padding:24px;border-radius:24px;background:var(--af);color:var(--ai)}
.prose .app-cta *,.prose .cta *{color:var(--ai)}
.prose .app-cta img,.prose .cta img{width:72px;height:72px;border-radius:18px}
.prose .app-cta p,.prose .cta p{margin:4px 0 0}
.prose .soon,.prose .lp-soon{display:inline-block;padding:4px 12px;border-radius:99px;background:var(--ai);color:var(--af);font-weight:700;font-size:.85rem}
.prose .soon:before{display:none}
.prose .cta-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.prose img{border-radius:14px}
/* tables */
.prose table{width:100%;border-collapse:collapse;font-size:.95rem;margin:16px 0 22px}
.prose th,.prose td{padding:11px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.prose thead th{font-weight:800;font-size:.85rem;color:var(--soft);background:var(--bg)}
.prose tbody th{font-weight:700}
.prose caption{caption-side:top;text-align:left;padding:14px 16px 6px;font:800 1rem var(--disp);color:var(--ink)}
.prose .table-wrap{position:relative;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:18px 0 10px;border-radius:18px;box-shadow:inset 0 0 0 1px var(--line);background:var(--card)}
.prose .table-wrap table{margin:0}
.prose .table-wrap:focus-visible{outline-offset:2px}
.prose .sched td{min-width:9.5em}
.prose .sched .t{display:block;font-weight:500;white-space:nowrap}
.prose .sched .vs{display:block;font-size:.8rem;color:var(--soft);margin:1px 0}
.prose .sched td.sit{min-width:5.5em;font-weight:700}
.prose .sched td.sit span{display:inline-block;background:var(--a);color:var(--ai);border-radius:8px;padding:1px 8px;margin:0 4px 4px 0}
.prose .counts td,.prose .counts th{text-align:center}
.prose .counts th:first-child,.prose .counts td:first-child{text-align:left}
.prose .pm td.self{color:var(--line)}
.prose .grid-t th,.prose .grid-t td{padding:8px 10px;white-space:nowrap;min-width:6.4em}
.prose .grid-t tbody th{position:sticky;left:0;background:var(--card);z-index:1;min-width:4.6em;box-shadow:1px 0 0 var(--line)}
.prose .grid-t thead th:first-child{position:sticky;left:0;z-index:2}
.prose .grid-t td b{display:block;font:800 .98rem var(--disp)}
.prose .grid-t td small{display:block;color:var(--soft);font-size:.8rem}
.prose .grid-t td.ok{background:color-mix(in srgb,var(--a) 30%,transparent)}
.prose .grid-t td.na{color:var(--soft);text-align:center;vertical-align:middle}
.prose .mini .table-wrap{box-shadow:none;margin:6px 0 0;background:transparent}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dmore{max-width:820px;margin:34px auto 0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
@media(max-width:700px){
  .prose{padding:28px 20px;border-radius:24px;font-size:1.02rem}
  .prose h2{margin-top:34px}
  .prose .app-cta,.prose .cta{grid-template-columns:minmax(0,1fr)}
  .prose th,.prose td{padding:9px 10px}
  .dhead{padding:34px 0 24px}
}
