/* Receipts styles. Colors and fonts come from shared/themes.css, buttons and type helpers from
   shared/ui.css. Editorial like the other tools: flat paper backgrounds, serif titles, mono labels,
   hairline rules. No gradients. */
html{font-size:clamp(14px,.25vw + 12px,16px)}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.55 var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:60rem;margin:0 auto;padding:2rem 28px 4rem}
.embed .wrap{padding-top:1.4rem}
.loading{color:var(--muted);font-family:var(--mono);font-size:.86rem}
.grow{flex:1}
input,select,textarea{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);min-height:2.2rem;padding:.35rem .6rem;font-size:.92rem;max-width:100%}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}
textarea{resize:vertical;line-height:1.5;width:100%}
input[type=checkbox]{min-height:0;width:1rem;height:1rem;accent-color:var(--accent);margin:0}
label{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;color:var(--muted);font-weight:500}
label.tog{flex-direction:row;align-items:center;gap:.45rem;font-size:.86rem;color:var(--ink);font-weight:400;cursor:pointer;white-space:nowrap}
label.btn{flex-direction:row;font-size:.86rem;color:var(--ink);cursor:pointer}

/* header and tabs */
.head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:.35rem 1rem;margin-bottom:1.4rem}
.head .eyebrow{grid-column:1/-1}
.lede svg{width:14px;height:14px;flex:none}
.tabs{display:flex;gap:1.6rem;border-bottom:1px solid var(--line);margin-bottom:1.6rem;overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs button{position:relative;padding:.55rem 0 .7rem;font-size:.92rem;font-weight:500;color:var(--muted);white-space:nowrap}
.tabs button:hover{color:var(--ink)}
.tabs button.on{color:var(--ink)}
.tabs button.on::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--ink)}

/* stats */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));border-top:1px solid var(--rule);border-bottom:1px solid var(--line);margin-bottom:1.6rem}
.stat{display:flex;flex-direction:column;gap:.1rem;padding:.85rem 1rem .9rem 0;text-align:left;border-right:1px solid var(--line);margin-right:1rem}
.stat:last-child{border-right:0;margin-right:0}
.stat b{font-size:1.7rem;font-weight:500;line-height:1.1;color:var(--ink)}
.stat span{font-size:.78rem;color:var(--muted)}
.stat.link:hover span{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.stat.warn b{color:var(--warn)}

/* composer */
.offers{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:2px var(--r-md) var(--r-md) 2px;background:var(--surface);padding:.8rem 1rem .9rem;margin-bottom:1.6rem;display:grid;gap:.5rem}
.offers header{display:flex;align-items:baseline;flex-wrap:wrap;gap:.3rem .8rem}
.offers h2{margin:0;font:600 1.05rem/1.3 var(--sans)}
.offers h2 .mono{font-size:.78rem;color:var(--muted);font-weight:400;margin-left:.2rem}
.offer{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.offer .otext{flex:1 1 16rem;min-width:0;border:1px solid var(--line);border-radius:var(--r-sm);padding:.4rem .6rem;background:var(--bg);font:inherit}
.offer .okind{width:auto}
.offer .odate{font-size:.78rem;color:var(--muted)}
.composer{border:1px solid var(--line);border-top-color:var(--rule);border-radius:2px 2px var(--r-md) var(--r-md);background:var(--surface);padding:.9rem 1rem 1rem;margin-bottom:1.6rem;display:grid;gap:.7rem}
.composer textarea{border:0;background:transparent;padding:.2rem 0;font-size:1.02rem;min-height:3.2rem;outline:none}
.composer textarea:focus{outline:none}
.composer:focus-within{border-color:color-mix(in srgb,var(--accent) 60%,var(--line));border-top-color:var(--rule)}
.crow{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.crow select{min-width:9rem}
.hint{font-size:.72rem;color:var(--muted);display:flex;gap:.2rem;align-items:center}
.chips{display:flex;flex-wrap:wrap;gap:.35rem}
.chip{font-size:.78rem;padding:.22rem .6rem;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:transparent;min-height:1.7rem;transition:background-color .15s,color .15s,border-color .15s}
.chip:hover{color:var(--ink);border-color:color-mix(in srgb,var(--ink) 25%,var(--line))}
.chip.on{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;padding-top:.3rem;border-top:1px dashed var(--line)}
.details .wide,.eform .wide{grid-column:1/-1}
.ibtn.star.on{color:var(--eyebrow)}

/* filters */
.filters,.bar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:1.2rem}
.filters input[type=search]{flex:1;min-width:10rem}
.bar .btn.ghost svg{width:14px;height:14px}

/* feed */
.month{margin-bottom:1.6rem}
.section-label .n{margin-left:auto;order:2;color:var(--muted);letter-spacing:0}
.feed{list-style:none;margin:.4rem 0 0;padding:0}
.entry{display:grid;grid-template-columns:4.2rem minmax(0,1fr) auto;gap:.8rem;padding:.85rem 0;border-bottom:1px solid var(--line)}
.entry:last-child{border-bottom:0}
.edate{font-size:.74rem;color:var(--muted);padding-top:.2rem;white-space:nowrap}
.etext{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.extra{display:flex;flex-wrap:wrap;gap:.2rem 1rem;margin-top:.3rem;font-size:.82rem;color:var(--muted);overflow-wrap:anywhere}
.extra b{font:500 11.5px/1 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--eyebrow);margin-right:.25rem}
.etags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.45rem}
.kind,.tag{font:500 11.5px/1.5 var(--mono);letter-spacing:.04em;text-transform:uppercase;padding:.05rem .4rem;border-radius:3px;border:1px solid var(--line);color:var(--muted)}
.kind{border-color:transparent;background:var(--panel);color:var(--ink)}
.k-win{background:var(--accent-soft)}
.k-concern{background:var(--warn-soft);color:var(--warn)}
.tag.imp{color:var(--ink)}
.eacts{display:flex;gap:.1rem;align-items:flex-start}
.empty{color:var(--muted);padding:1.5rem 0;margin:0;border-top:1px solid var(--line)}

/* reports */
.solo{min-width:10rem}
.roster{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.roster li{border-bottom:1px solid var(--line)}
.prow{display:grid;grid-template-columns:minmax(0,1fr) auto 6.5rem;align-items:center;gap:1rem;width:100%;text-align:left;padding:.9rem .25rem;transition:background-color .15s}
.prow:hover{background:var(--hover)}
.rrow{display:flex;align-items:center;gap:.5rem}
.rrow .prow{flex:1;min-width:0}
.rrow .log{flex:none}
button.cov.gap{cursor:pointer;font:inherit;font-size:.82rem}
button.cov.gap:hover{border-style:solid;background:var(--warn-soft)}
.pname{display:flex;flex-direction:column;min-width:0}
.pname b{font:600 1.1rem/1.25 var(--serif);font-variation-settings:"opsz" 36}
.pname span{font-size:.82rem;color:var(--muted)}
.pnums{display:flex;gap:.8rem;font-size:.8rem;color:var(--muted)}
.pnums span:first-child{color:var(--ink);font-weight:500}
.pnums .cn{color:var(--warn)}
.plast{font-size:.8rem;color:var(--muted);text-align:right;white-space:nowrap}
.plast.stale{color:var(--warn);font-weight:500}
.legend{font-size:.7rem;color:var(--muted);margin:.6rem 0 0}
.archived{margin-top:1.6rem;font-size:.88rem;color:var(--muted)}
.archived ul{margin:.4rem 0 0;padding-left:1rem}
.pform,.set{display:grid;gap:.8rem;margin-bottom:2rem}
.pform{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;padding:1rem;border:1px solid var(--line);border-top-color:var(--rule);border-radius:2px 2px var(--r-md) var(--r-md);background:var(--surface)}
.pform .acts{grid-column:1/-1}
.phead{margin:-.2rem 0 1.2rem}
.phead h2{margin:0;font:600 1.7rem/1.15 var(--serif);font-variation-settings:"opsz" 60;letter-spacing:-.02em}
.phead p{margin:.2rem 0 0;color:var(--muted);font-size:.9rem}
.acts{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}

/* review */
.coverage{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0 .8rem}
.cov{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;padding:.25rem .6rem .25rem .3rem;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface)}
.cov b{font-size:.78rem;min-width:1.5rem;text-align:center;padding:.05rem .3rem;border-radius:3px;background:var(--panel);font-weight:500}
.cov.gap{border-style:dashed;color:var(--warn);background:transparent}
.cov.gap b{background:var(--warn-soft);color:var(--warn)}
.note{font-size:.88rem;color:var(--warn);margin:0 0 1.4rem}
.note.ok{color:var(--muted)}
.rgrid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:2rem;align-items:start}
.rgroups section{margin-bottom:1.4rem}
.draft{position:sticky;top:1rem;display:grid;gap:.7rem}
.draft textarea{min-height:24rem;font:400 .82rem/1.6 var(--mono);background:var(--surface)}
.fine{font-size:.8rem;color:var(--muted);margin:0}

/* settings */
.set{max-width:40rem}
.lede{display:flex;gap:.5rem;align-items:flex-start;margin:0;font-size:.95rem}
.lede svg{margin-top:.25rem;color:var(--accent)}
.set .row{display:flex;gap:.8rem;flex-wrap:wrap}
.inl{display:flex;align-items:center;gap:.5rem;color:var(--ink);font-weight:400;font-size:.88rem}
.inl input{width:5rem}

/* edit dialog */
dialog.edit{border:1px solid var(--line);border-top:1px solid var(--rule);border-radius:2px 2px var(--r-md) var(--r-md);background:var(--surface);color:var(--ink);padding:0;width:min(40rem,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);box-shadow:var(--shadow-lg)}
dialog.edit::backdrop{background:color-mix(in srgb,#000 35%,transparent)}
.eform{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;padding:1.2rem 1.3rem 1.3rem}
.eform h2{grid-column:1/-1;margin:0;font:600 1.4rem/1.2 var(--serif);display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}
.eform h2 span{font-size:.72rem;font-weight:500;color:var(--eyebrow);text-transform:uppercase;letter-spacing:.05em}

/* phones */
@media (max-width:720px){
  .wrap{padding:1.3rem 16px 3rem}
  .head{grid-template-columns:1fr}
  .tabs{gap:1.2rem}
  .stats{grid-template-columns:repeat(2,1fr)}
  .stat{margin-right:0;padding-left:.2rem;border-right:0;border-bottom:1px solid var(--line)}
  .stat:nth-child(odd){border-right:1px solid var(--line);margin-right:0}
  .stat:nth-last-child(-n+2){border-bottom:0}
  .stat:nth-child(even){padding-left:1rem}
  .hint{display:none}
  .details,.eform,.pform{grid-template-columns:1fr}
  .entry{grid-template-columns:minmax(0,1fr) auto}
  .edate{grid-column:1/-1;padding:0;margin-bottom:-.5rem}
  .prow{grid-template-columns:minmax(0,1fr) auto}
  .pnums{grid-column:1/-1;grid-row:2}
  .rgrid{grid-template-columns:1fr}
  .draft{position:static;order:-1}
  .draft textarea{min-height:14rem}
  .filters select,.filters input[type=search]{flex:1 1 45%}
}

/* ---------- 1:1s (js/oneonones/): the 1:1s tab and the 1:1 section on a report's page ---------- */
.wrap.wide{max-width:84rem}
.v-1on1s .soft,.oo-panel .soft,.oo-dlg .soft{color:var(--muted)}
.v-1on1s .small,.oo-panel .small,.oo-dlg .small{font-size:.8rem}
.bad{color:var(--danger)}
.num{font-family:var(--mono);font-size:.82em}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.chk{flex-direction:row;align-items:center;gap:.4rem;font-size:.85rem;color:var(--ink);font-weight:400}
.oo-head{display:flex;align-items:flex-end;flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:1rem}
.oo-head .section-label{margin:0;display:flex;align-items:center;gap:.5rem}
.oo-title{font-family:var(--serif);font-weight:600;font-size:1.4rem;margin:0}
.oo-acts{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.oo-acts .btn svg{width:16px;height:16px}
.oo-hint{margin:0 0 .6rem;font-size:.85rem}
.oo-panel{border-top:1px solid var(--rule);padding-top:1rem;margin:0 0 2rem}
.oo-start p{margin:.3rem 0 .6rem}
.rhead{margin:0 0 1rem}

/* the list */
.oo-people{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.oo-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:1rem;align-items:center;width:100%;text-align:left;padding:.7rem .3rem;border-bottom:1px solid var(--line)}
.oo-row:hover{background:var(--hover)}
.oo-row.on{background:var(--accent-soft)}
.oo-name{font-weight:500}
.oo-last{font-size:.85rem}
.oo-ok{font-size:.8rem}
.due{font:500 12px/1.4 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--warn);border:1px solid var(--warn);border-radius:4px;padding:0 .35rem}
@media (max-width:560px){ .oo-row{grid-template-columns:minmax(0,1fr) auto} .oo-last{grid-column:1/-1} }

/* a person: prep on the left, the note on the right */
.cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:2rem;align-items:start}
@media (max-width:980px){ .cols{grid-template-columns:minmax(0,1fr)} }
.packet section{margin:0 0 1.3rem}
.packet .section-label{margin-bottom:.4rem;border-bottom:1px solid var(--rule);padding-bottom:.3rem}
.since{margin:0 0 1rem;font:500 12px/1.4 var(--mono);letter-spacing:.04em;text-transform:uppercase}
.grp h4{margin:.5rem 0 .2rem;font-size:.85rem;font-weight:600}
.grp ul{margin:0;padding-left:1.1rem;font-size:.9rem}
.grp li{margin:.15rem 0;overflow-wrap:anywhere}
.grp p{margin:.1rem 0;font-size:.85rem}

/* the note */
.nbar,.abar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.6rem}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden}
.seg button{padding:.3rem .7rem;font-size:.82rem;color:var(--muted)}
.seg button.on{background:var(--accent-soft);color:var(--ink)}
.nstatus{font-size:.8rem}
.editor{min-height:26rem;font-family:var(--mono);font-size:.86rem}
.oo-panel .editor{min-height:18rem}
.md{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);padding:.6rem 1rem;font-size:.92rem;overflow-wrap:anywhere}
.md h1,.md h2,.md h3{font-family:var(--serif);font-weight:600;margin:.8rem 0 .3rem;line-height:1.25}
.md h1{font-size:1.3rem}.md h2{font-size:1.1rem}.md h3{font-size:1rem}
.md ul,.md ol{padding-left:1.2rem;margin:.3rem 0}
.md li.task{list-style:none;margin-left:-1.2rem}
.md pre{white-space:pre-wrap;font-family:var(--mono);font-size:.86rem;background:var(--sunk);padding:.5rem;border-radius:var(--r-sm)}
.md code{font-family:var(--mono);font-size:.85em}
.md blockquote{margin:.4rem 0;padding-left:.8rem;border-left:3px solid var(--line);color:var(--muted)}
.engcard.small{margin:1rem 0;max-width:none}
.unsaved{background:var(--danger-soft);border-left:3px solid var(--danger);padding:.5rem .7rem;font-size:.88rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}

/* the draft step */
.ai{margin-top:1.6rem;border-top:1px solid var(--rule);padding-top:.8rem}
.oo-draft{margin:.6rem 0}

/* people and links */
.slist{list-style:none;margin:1rem 0;padding:0;border-top:1px solid var(--rule)}
.srow{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;padding:.55rem .2rem;border-bottom:1px solid var(--line)}
.srow .links{flex:1;font-size:.82rem}
.oo-pform,.oo-settings{display:flex;flex-direction:column;gap:.8rem;max-width:44rem;margin:1rem 0 1.5rem}
.oo-pform .acts,.oo-settings .acts{justify-content:flex-end}
.two{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
@media (max-width:560px){ .two{grid-template-columns:1fr} }
.archived summary{cursor:pointer;color:var(--muted);font-size:.88rem}
.from-dir{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:.6rem 0 1rem}
.from-dir p{flex-basis:100%;margin:0 0 .1rem}
.oo-chip{font:inherit;font-size:.84rem;padding:.25rem .7rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);cursor:pointer}
.oo-chip:hover{border-color:var(--accent)}
.oo-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* dialogs */
.oo-dlg{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--ink);padding:1.3rem 1.4rem;max-width:min(36rem,calc(100vw - 32px));width:100%;box-shadow:var(--shadow-lg)}
.oo-dlg::backdrop{background:color-mix(in srgb,var(--ink) 30%,transparent)}
.oo-dlg h2{font-family:var(--serif);font-weight:600;font-size:1.25rem;margin:0 0 .6rem}
.oo-dlg .section-label{margin:1rem 0 .4rem}
.oo-dlg .lines{margin:.7rem 0;padding-left:1.1rem}
.oo-dlg .picks{list-style:none;margin:.3rem 0;padding:0;display:flex;flex-direction:column;gap:.35rem}
.oo-dlg .acts{justify-content:flex-end;margin-top:1rem}

/* ---------- Goals (js/goals/): the tree and a doc ---------- */
.v-goals .soft{color:var(--muted)}
.v-goals .small{font-size:.8rem}
.g-top{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}
.g-q select{min-width:13rem}
.g-tree,.g-tree ul{list-style:none;margin:0;padding:0}
.g-tree{border-top:1px solid var(--rule)}
.g-tree [role=group]{margin-left:.7rem;padding-left:.55rem;border-left:1px solid var(--line)}
.g-item{outline:none}
.g-item.lv1{border-bottom:1px solid var(--line)}
.g-item.lv1 > .g-row{padding:.35rem 0}
.g-row{display:flex;align-items:center;gap:.45rem;min-height:2.4rem;border-radius:var(--r-sm)}
.g-item:focus-visible > .g-row{outline:2px solid var(--accent);outline-offset:-2px}
.g-item[aria-selected=true] > .g-row{background:var(--hover)}
.g-tw,.g-tw-gap{flex:none;width:1.5rem;height:1.5rem;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);border-radius:4px}
.g-tw:hover{background:var(--hover);color:var(--ink)}
.g-tw svg{transition:transform .15s}
[aria-expanded=true] > .g-row .g-tw svg{transform:rotate(90deg)}
.g-who{flex:none;font:500 11.5px/1.4 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--eyebrow);max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.g-otitle{flex:1 1 auto;min-width:0;text-align:left;font:600 1rem/1.3 var(--serif);color:var(--ink);padding:.15rem 0;overflow-wrap:anywhere}
.lv1 > .g-row .g-otitle{font-size:1.12rem}
.g-otitle:hover{text-decoration:underline;text-underline-offset:3px}
.g-group{flex:1;font:500 12px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--eyebrow)}
.g-onum,.g-kr-num{flex:none;display:inline-flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--muted)}
.g-olabel{font-family:var(--mono);font-size:.8rem;white-space:nowrap}
.g-bar{display:inline-block;width:6rem;height:6px;border-radius:3px;background:var(--sunk);overflow:hidden;flex:none}
.g-bar > span{display:block;height:100%;background:var(--accent);border-radius:3px}
.g-krs{padding:.1rem 0 .4rem}
.g-krbox{display:grid}
.g-kr{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.2rem .6rem;padding:.35rem .2rem;border-top:1px dashed var(--line);font-size:.9rem;min-height:2.4rem}
.g-kr:first-child{border-top:0}
.g-kr-tag{font:500 10.5px/1 var(--mono);letter-spacing:.06em;color:var(--muted);border:1px solid var(--line);border-radius:3px;padding:.15rem .25rem}
.g-kr-text{overflow-wrap:anywhere}
.g-prog{font-family:var(--mono);font-size:.8rem;color:var(--ink);padding:.15rem .4rem;border:1px solid transparent;border-radius:4px;white-space:nowrap;min-width:3rem;text-align:right}
button.g-prog{border-color:var(--line);background:var(--surface);cursor:pointer}
button.g-prog:hover,button.g-prog[aria-expanded=true]{border-color:var(--accent)}
button.g-prog:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.g-notes{grid-column:2/-1;font-size:.8rem;color:var(--muted)}
.g-notes ul,.g-notes p{margin:0;padding-left:1rem}
.g-st{font:500 11.5px/1.5 var(--mono);letter-spacing:.05em;text-transform:uppercase;border:1px solid currentColor;border-radius:4px;padding:0 .35rem;white-space:nowrap}
.g-st-on-track{color:var(--accent)}
.g-st-at-risk{color:var(--warn)}
.g-st-off-track{color:var(--danger)}
.g-st-done{color:var(--muted)}
.g-pop{position:absolute;z-index:5;right:0;top:calc(100% - .2rem);width:min(20rem,calc(100vw - 2rem));display:grid;gap:.6rem;padding:.8rem .9rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg)}
.g-pop .acts{justify-content:flex-end}
.g-pop-err{margin:0;font-size:.8rem}
.g-missing{margin-top:1.8rem}
.g-missing ul{list-style:none;margin:.5rem 0 0;padding:0;border-top:1px solid var(--rule)}
.g-missing li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.4rem .2rem;border-bottom:1px solid var(--line)}
.g-unknown{margin-top:1rem}
.g-empty{margin:1rem 0 1.6rem;max-width:40rem}

/* a doc */
.g-dhead{display:flex;align-items:flex-end;flex-wrap:wrap;gap:.6rem 1rem;margin-bottom:1rem}
.g-dhead .btn.ghost svg{width:14px;height:14px}
.g-status{font-size:.8rem}
.g-edit{display:grid;grid-template-columns:minmax(0,1fr) 17rem;gap:1rem;align-items:start}
.g-edit .editor{min-height:30rem}
.g-format{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);padding:.5rem .8rem;font-size:.82rem;color:var(--muted)}
.g-format summary{cursor:pointer;font:500 12px/1.6 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--eyebrow)}
.g-format ul{margin:.5rem 0 .2rem;padding-left:1rem;display:grid;gap:.35rem}
.g-format code{font-family:var(--mono);font-size:.92em;color:var(--ink)}
.g-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;align-items:start}
.g-split .g-edit{grid-template-columns:1fr}
.g-split .g-format{order:-1}
.g-dtitle{margin:0 0 .8rem;font:600 1.5rem/1.2 var(--serif);letter-spacing:-.015em}
.g-card{border:1px solid var(--line);border-top-color:var(--rule);border-radius:2px 2px var(--r-md) var(--r-md);background:var(--surface);padding:.9rem 1.1rem 1rem;margin:0 0 1rem;scroll-margin-top:1rem;position:relative}
.g-card.flash{animation:g-flash 1.6s ease-out}
@keyframes g-flash{from{box-shadow:0 0 0 3px var(--accent-soft)}to{box-shadow:none}}
.g-ctitle{margin:0 0 .3rem;font:600 1.2rem/1.25 var(--serif)}
.g-sup{margin:0 0 .5rem;font-size:.85rem;color:var(--muted)}
.g-sup b{color:var(--ink);font-weight:500}
.g-menu{position:absolute;z-index:5;left:1rem;margin-top:-.3rem;display:grid;min-width:16rem;max-width:calc(100% - 2rem);padding:.3rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg)}
.g-menu button{text-align:left;padding:.45rem .6rem;border-radius:var(--r-sm);font-size:.88rem}
.g-menu button:hover,.g-menu button:focus-visible{background:var(--hover);outline:none}
.g-menu button[aria-checked=true]{background:var(--accent-soft)}
.g-menu p{margin:.3rem .6rem}
.g-body{margin-top:.6rem;border:0;padding:0;background:transparent}
.md-table{overflow-x:auto;margin:.4rem 0}
.md table{border-collapse:collapse;font-size:.88rem}
.md th,.md td{border:1px solid var(--line);padding:.3rem .6rem;text-align:left;vertical-align:top}
.md th{background:var(--panel);font-weight:600}
.md del{color:var(--muted)}
@media (max-width:1100px){ .g-split{grid-template-columns:1fr} .g-split .g-preview{display:none} }
@media (max-width:860px){ .g-edit{grid-template-columns:1fr} .g-format{order:-1} }
@media (max-width:640px){
  .g-row{flex-wrap:wrap}
  .g-onum{width:100%;padding-left:2rem}
  .g-who{max-width:none}
  .g-kr{grid-template-columns:auto minmax(0,1fr)}
  .g-kr-num{grid-column:2;justify-self:start}
  .g-bar{width:4.5rem}
}
@media (pointer:coarse){ .g-row,.g-kr{min-height:44px} .g-tw{width:2.2rem;height:2.2rem} }
