/* cameraworth — generation 2, stage 5 pages: methodology, sources, valuation, reports, guides,
   hubs, sell, login, resources, insights, 404 (design §2, §4.12–§4.13, §7).
   Tokens only (cw.css); no colour is typed here. */

/* ── shared page furniture ─────────────────────────────── */
.lede{font-size:17px;line-height:1.55;color:var(--ink);margin:4px 0 18px;max-width:46em}
.read{max-width:760px}
.eyebrow.top{display:block;margin:10px 0 2px}
.prose h3{font-size:17px;margin:16px 0 6px}
.prose h3:first-child{margin-top:0}
.prose ol,.prose ul{margin:0 0 12px;padding-left:22px}
.prose li{margin:0 0 6px}
.prose li:last-child{margin-bottom:0}
.prose dl{margin:0 0 12px}
.prose dt{font-weight:700;margin-top:10px}
.prose dt:first-child{margin-top:0}
.prose dd{margin:2px 0 0;color:var(--ink)}
.prose blockquote{margin:0 0 12px;padding:12px 14px;border-radius:12px;background:var(--tint-2);overflow-wrap:anywhere}
.prose .muted,.muted{color:var(--muted)}
.prose code{font-size:14px;background:var(--tint);border-radius:6px;padding:1px 5px;overflow-wrap:anywhere}
.prose + .prose{margin-top:10px}
.inline-links{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}
.inline-links a{min-height:44px;padding:0 16px;border-radius:999px;background:var(--accent-soft);display:inline-flex;align-items:center;font-weight:600}
.inline-links a:hover{text-decoration:none}
.tblwrap{overflow-x:auto;border-radius:var(--r-inner);box-shadow:var(--shadow);margin:0 0 4px;-webkit-overflow-scrolling:touch}
.tblwrap table.tbl{min-width:100%}
.tbl th[scope=row]{font-weight:600;color:var(--ink);background:transparent;font-size:15px}
.tbl th[scope=row] a{font-weight:600}
.tbl td .n{display:block;color:var(--muted);font-size:13px;font-weight:400}
.tbl tr.is-current th,.tbl tr.is-current td{background:var(--accent-soft)}
.tbl caption{text-align:left;color:var(--muted);font-size:14px;padding:0 0 8px}
.chg{font-weight:700;white-space:nowrap}
.chg .dir{font-size:12px;margin-right:3px}
.chg.down .dir{color:var(--caution-mark)}
.chg.up .dir{color:var(--accent)}
.badge{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:999px;font-size:13px;font-weight:600;background:var(--caution-soft);color:var(--caution);vertical-align:2px;margin-left:6px}
.badge.alt{background:var(--tint);color:var(--muted)}
.stack>*+*{margin-top:8px}
.counts.three{grid-template-columns:1fr 1fr}
.count b.sm{font-size:20px}
.side-card{background:var(--surface);border-radius:var(--r-card);padding:16px 18px;box-shadow:var(--shadow);margin:0 0 16px}
.side-card h2{margin:0 0 8px;font-size:17px}
.side-card p{margin:0 0 8px;color:var(--muted);font-size:15px}
.side-card p:last-child{margin-bottom:0}

/* ── methodology ───────────────────────────────────────── */
.toc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:6px}
.toc a{display:flex;gap:10px;align-items:center;min-height:44px;padding:6px 14px;background:var(--surface);border-radius:var(--r-inner);color:var(--ink);font-weight:600;font-size:15px;line-height:1.3}
.toc a:hover{text-decoration:none;box-shadow:var(--shadow)}
.toc .no{color:var(--accent);min-width:32px;flex:none;font-variant-numeric:tabular-nums}
.clause{margin:0 0 4px}
.clause h2{justify-content:flex-start;align-items:baseline}
.clause h2 .no{flex:none;min-width:34px;color:var(--accent)}
.clause .gk{margin:12px 0}
.mv{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-weight:600;font-size:14px}
.acc{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0 0 10px}
.acc b{font-size:42px;line-height:1;letter-spacing:-.02em}
.anchor{display:block;position:relative;top:-80px;visibility:hidden;height:0}
.changes{list-style:none;margin:0;padding:0}
.prose ul.changes{padding-left:0}
.changes li{display:grid;grid-template-columns:1fr;gap:4px 14px;padding:12px 0;border-top:1px solid var(--tint)}
.changes li:first-child{border-top:0;padding-top:0}
.changes .when{font-weight:700;white-space:nowrap}
.changes .what{color:var(--ink)}
@media (min-width:700px){.changes li{grid-template-columns:auto 1fr}.toc{grid-template-columns:1fr 1fr}.counts.three{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1024px){.two>.side .toc{grid-template-columns:1fr}}

/* ── sources ───────────────────────────────────────────── */
.src{display:block;background:var(--surface);border-radius:var(--r-inner);padding:12px 14px;color:var(--ink);min-height:56px}
a.src:hover{text-decoration:none;box-shadow:var(--shadow)}
.src .l1{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.src .nm{font-weight:700}
.src .ct{font-weight:700;white-space:nowrap}
.src .l2,.src .l3{display:block}
.src .l2{color:var(--muted);font-size:14px;margin-top:2px}
.src .l3{font-size:14px;margin-top:6px;color:var(--ink)}
.src .bases{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}

/* ── reports (price index) ─────────────────────────────── */
.ed{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center;background:var(--surface);border-radius:var(--r-inner);padding:12px 14px;min-height:60px;color:var(--ink)}
a.ed:hover{text-decoration:none;box-shadow:var(--shadow)}
.ed .nm{font-weight:700}
.ed .chg{font-size:20px;text-align:right}
.ed .ct{grid-column:1/-1;color:var(--muted);font-size:14px}
.ed.draft{background:var(--tint-2);outline:2px dashed var(--accent-mid);outline-offset:-2px}
.ibar{position:relative;display:block;height:10px;min-width:90px;border-radius:999px;background:var(--tint)}
.ibar::after{content:"";position:absolute;left:50%;top:-2px;bottom:-2px;width:1px;background:var(--track)}
.ibar i{position:absolute;top:0;bottom:0;border-radius:999px}
.ibar i.up{left:50%;background:var(--accent)}
.ibar i.down{right:50%;background:var(--caution-mark)}
.ibar i.flat{left:50%;width:0}
.feed{display:inline-flex;align-items:center;gap:6px}

/* ── guides and hubs ───────────────────────────────────── */
.gd{display:block;background:var(--surface);border-radius:var(--r-card);padding:16px 18px;color:var(--ink);box-shadow:var(--shadow)}
a.gd:hover{text-decoration:none}
a.gd:hover .gt{text-decoration:underline}
.gd .eyebrow{display:block;margin-bottom:2px}
.gd .gt{display:block;font-weight:700;font-size:19px;line-height:1.3;color:var(--accent)}
.gd .gb{display:block;color:var(--muted);font-size:15px;margin-top:6px}
.gd .gm{display:block;font-size:14px;font-weight:600;margin-top:8px}
.grid2{display:grid;grid-template-columns:1fr;gap:10px}
@media (min-width:700px){.grid2{grid-template-columns:1fr 1fr}}

/* ── forms: sell, login ────────────────────────────────── */
.form h2{margin:22px 0 4px}
.form h2:first-child{margin-top:0}
.form .step{font-size:14px;font-weight:600;color:var(--muted)}
.form .req{color:var(--caution)}
.form .frow{display:grid;grid-template-columns:1fr;gap:0 16px}
.form select{appearance:auto}
.form input[type=checkbox]{width:22px;height:22px;accent-color:var(--accent);vertical-align:-5px;margin-right:8px}
.form input:focus-visible,.form select:focus-visible,.form textarea:focus-visible{outline:3px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.form .sec-note{color:var(--muted);margin:4px 0 8px;font-size:15px}
.drop{margin:10px 0 4px;border:2px dashed var(--accent-mid);border-radius:var(--r-inner);padding:18px 16px;text-align:center;cursor:pointer;min-height:96px;display:grid;place-items:center;gap:4px;color:var(--ink)}
.drop:hover,.drop.dragover{background:var(--accent-soft)}
.drop:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.drop svg{width:30px;height:30px;color:var(--accent)}
.drop .h{color:var(--muted);font-size:14px}
.previews{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 0}
.previews:empty{display:none}
.pedia-sell-preview{position:relative;width:84px;height:84px;border-radius:12px;overflow:hidden;background:var(--tint)}
.pedia-sell-preview img{width:100%;height:100%;object-fit:cover}
.pedia-sell-preview-remove{all:unset;cursor:pointer;position:absolute;top:2px;right:2px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--surface);color:var(--ink);font-size:20px;font-weight:700;box-shadow:var(--shadow)}
.pedia-sell-message{border-radius:12px;padding:12px 14px;margin:14px 0 0;background:var(--accent-soft);color:var(--ink)}
.pedia-sell-message.error{background:var(--caution-soft);color:var(--caution)}
.submit-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:18px}
.submit-row .btn{flex:0 1 auto;min-width:200px}
.submit-row .btn[disabled]{opacity:.6;cursor:progress}
.submit-row .help{margin:0}
.cf-turnstile{margin:14px 0 0;min-height:65px}
.success{background:var(--surface);border-radius:var(--r-card);padding:20px 18px;box-shadow:var(--shadow);margin:0 0 16px}
.success h2{margin:0 0 8px}
.success p{margin:0 0 8px}
.steps{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:8px;counter-reset:st}
.steps li{background:var(--surface);border-radius:var(--r-inner);padding:12px 14px 12px 56px;position:relative;counter-increment:st;min-height:56px}
.steps li::before{content:counter(st);position:absolute;left:14px;top:12px;width:30px;height:30px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-weight:700}
.steps b{display:block}
.steps span{color:var(--muted);font-size:15px}
.login-form p{margin:0}
.login-form .login-remember label{display:flex;align-items:center;min-height:44px;font-weight:500}
.login-form .login-submit{margin-top:16px}
.login-form input[type=submit]{all:unset;box-sizing:border-box;cursor:pointer;width:100%;min-height:48px;border-radius:999px;display:grid;place-items:center;font-weight:600;background:var(--tint);color:var(--accent);font-size:16px;text-align:center}
.login-form input[type=submit]:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.login-form .btn{width:100%}
.or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:14px;margin:18px 0 4px}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--track)}
@media (min-width:700px){.form .frow{grid-template-columns:1fr 1fr}.form .frow .wide{grid-column:1/-1}}

/* ── resources ─────────────────────────────────────────── */
.res{display:flex;gap:12px;align-items:flex-start;background:var(--surface);border-radius:var(--r-inner);padding:12px 14px;min-height:56px}
.res img{width:40px;height:40px;border-radius:10px;flex:none;object-fit:contain;background:var(--tint-2)}
.res .nm{font-weight:700;font-size:17px}
.res .nm a{display:inline-flex;align-items:center;min-height:32px}
.res .host{color:var(--muted);font-size:14px;margin-left:6px}
.res p{margin:4px 0 0;color:var(--muted);font-size:15px}

/* ── insights and other WordPress pages ────────────────── */
.entry{overflow-wrap:break-word}
.entry>*:first-child{margin-top:0}
.entry p,.entry ul,.entry ol{margin:0 0 14px}
.entry h2{display:block;margin:28px 0 10px}
.entry h3{margin:22px 0 8px}
.entry img{border-radius:12px}
.entry figure{margin:16px 0;max-width:100%}
.entry figcaption{color:var(--muted);font-size:14px;margin-top:6px}
.entry blockquote{margin:16px 0;padding:12px 16px;border-radius:12px;background:var(--tint-2)}
.entry table{font-size:15px}
.entry th{color:var(--muted);font-weight:600;font-size:14px;background:var(--tint-2)}
.entry pre{overflow-x:auto;background:var(--tint-2);padding:12px;border-radius:12px}
.entry .wp-block-table{overflow-x:auto;margin:16px 0}
.article.wide{max-width:none}
.article .sub{margin-bottom:12px}
/* Deep dives built by insights/build-wp-page.py carry their own styles keyed to the old
   theme's --cw-* tokens (with light fallbacks). Map those to Look D so they follow the
   reader's light or dark setting. */
.cw2 .entry{--cw-paper:var(--bg);--cw-surface:var(--surface);--cw-surface-2:var(--tint-2);--cw-ink:var(--ink);--cw-ink-2:var(--ink);--cw-ink-3:var(--muted);--cw-line:var(--tint);--cw-line-2:var(--track);--cw-gold:var(--accent);--cw-gold-soft:var(--accent-soft);--cw-claret:var(--caution);--cw-link:var(--accent);--cw-f-display:var(--sans);--cw-f-sans:var(--sans);--cw-f-mono:ui-monospace,SFMono-Regular,Menlo,monospace}
.cw2 .entry .cw-insight .wrap{padding-left:0;padding-right:0}
.article.insight{padding:0;background:transparent;box-shadow:none}

/* ── 404 ───────────────────────────────────────────────── */
.nf .bigsearch{margin-top:8px}

@media print{.toc,.drop,.submit-row{display:none}}
.prose .gk{box-shadow:none;background:var(--tint-2);padding:4px 12px}
.tblwrap .tbl thead th.r{white-space:normal}
@media (max-width:480px){.tblwrap .tbl th,.tblwrap .tbl td{padding:10px 8px}.tblwrap .tbl{font-size:14px}}
