/* KeepEye pages: pricing, legal documents, checkout and share sheets, the shared-portfolio page.
   Builds on ke.css tokens and components only. */


/* ------------------------------------------------------------------ pricing */
.pp{display:grid;gap:48px;padding:12px 0 24px}
.pp-tag{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:var(--r-xs);background:var(--panel3);color:var(--text2);font-size:12px;font-weight:650;white-space:nowrap;justify-self:start}
.pp-off{background:var(--accent-soft);color:var(--accent-txt)}

.pp-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px 56px;align-items:end;padding:20px 0 4px}
.pp-ht{display:grid;gap:14px;justify-items:start}
.pp-ht .eyebrow{margin:0}
.pp-ht h1{font-size:clamp(30px,3.6vw,48px);line-height:1.04;font-weight:700;max-width:16ch;text-wrap:balance}
.pp-ht>p{color:var(--muted);font-size:15.5px;line-height:1.6;max-width:54ch}
.pp-facts{list-style:none;margin:0;padding:0;display:grid;border-top:1px solid var(--line)}
.pp-facts li{display:grid;grid-template-columns:150px minmax(0,1fr);gap:4px 18px;padding:14px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.pp-facts b{font-weight:650}
.pp-facts span{color:var(--muted);line-height:1.5}

.pp-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px;align-items:stretch}
.pp-side{display:grid;gap:16px;align-content:stretch}
.prod{display:grid;gap:18px;align-content:start;padding:22px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);position:relative}
.prod-h{display:grid;gap:8px;justify-items:start}
.prod h3{display:flex;align-items:center;gap:8px;font:700 21px/1.2 var(--disp);letter-spacing:-.02em}
.prod h3 .vb{width:18px;height:18px}
.pp-note{color:var(--muted);font-size:13.5px;line-height:1.55;max-width:48ch}
.prod .pr{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font:700 34px/1 var(--disp);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.prod .pr s{font:500 16px var(--sans);letter-spacing:0;color:var(--faint)}
.prod .pr small{font:500 13px var(--sans);letter-spacing:0;color:var(--muted)}
.prod ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.prod li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;align-items:start;font-size:14px;color:var(--text2);line-height:1.45}
.prod li svg{width:16px;height:16px;margin-top:1px;color:var(--up)}
.prod>.pill{justify-self:start;margin-top:auto}
.prod.feat{border-color:var(--fg);grid-template-rows:auto auto 1fr auto}
.prod.feat>.pill{height:42px;padding:0 20px}
#p-pin{grid-template-rows:auto 1fr auto}
#p-pin .pr{align-self:end}

.packs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.pack{display:grid;gap:3px;justify-items:start;padding:10px 10px 9px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel2);text-align:left;font-variant-numeric:tabular-nums;min-width:0}
.pack:hover{border-color:var(--line2);background:var(--panel)}
.pack b{display:flex;align-items:center;gap:4px;font:700 17px/1 var(--disp);letter-spacing:-.02em;color:var(--fg)}
.pack b svg{width:9px;height:12px;color:var(--accent-txt);flex:none}
.pack b small{display:none}
.pack span{font-size:12.5px;font-weight:600;color:var(--text2);white-space:nowrap}
.pack span s{font-weight:400;font-size:11.5px;margin-right:2px}
.pack[aria-pressed="true"]{border-color:var(--accent-line);background:var(--accent-soft)}

/* ad slots: drawn where they sit on the site */
.promo{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2fr);gap:32px;align-items:start;padding:26px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r)}
.promo-t{display:grid;gap:12px;justify-items:start;position:sticky;top:calc(var(--hh) + 50px)}
.promo h2{font-size:26px;font-weight:700;line-height:1.1}
.promo-t p{color:var(--muted);font-size:14px;line-height:1.6}
.promo-t .pill{margin-top:4px}
.slots{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1.2fr) minmax(0,.8fr);gap:14px;align-items:start}
.smap{position:relative;display:grid;gap:6px;padding:30px 10px 10px;border:1px solid var(--line2);border-radius:var(--r-md);background:var(--bg)}
.smap-l{position:absolute;left:10px;top:8px;font-size:11.5px;font-weight:650;color:var(--faint)}
.smap .ph{display:block;border-radius:var(--r-xs);background:var(--panel3);min-height:12px;opacity:.7}
.slot{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1px 8px;padding:8px 10px;border:1px dashed var(--accent-line);border-radius:var(--r-sm);background:var(--accent-soft);text-align:left;color:var(--fg);min-width:0}
.slot:hover{border-style:solid;border-color:var(--accent-2);background:color-mix(in srgb,var(--accent) 30%,var(--panel))}
.slot b{font-size:12.5px;font-weight:650;line-height:1.25}
.slot span{grid-column:1;font-size:11.5px;color:var(--text2);font-variant-numeric:tabular-nums}
.slot span s{font-size:11px}
.slot em{grid-row:1/3;grid-column:2;font-style:normal;font-size:11.5px;font-weight:700;color:var(--accent-txt)}
.smap-home{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);grid-template-areas:"top top" "intro hero" "movers movers" "tbl rail"}
.s-top{grid-area:top;padding:5px 10px}
.s-top span{display:none}
.s-intro{grid-area:intro;min-height:64px!important}
.s-hero{grid-area:hero;min-height:64px;align-content:center;grid-template-columns:minmax(0,1fr)}
.s-hero em,.s-rail em{display:none}
.s-movers{grid-area:movers;min-height:34px!important}
.s-tbl{grid-area:tbl;display:grid;gap:4px}
.s-tbl .ph{min-height:14px}
.s-row{padding:5px 10px}
.s-rail{grid-area:rail;align-self:start;min-height:72px;align-content:center;grid-template-columns:minmax(0,1fr)}
.smap-token{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-template-areas:"chart tok" "chart trades"}
.s-chart{grid-area:chart;min-height:150px!important}
.s-tok{grid-area:tok;min-height:72px;align-content:center;grid-template-columns:minmax(0,1fr)}
.s-tok em{display:none}
.s-trades{grid-area:trades;min-height:70px!important}
.smap-phone{max-width:150px;justify-self:center;width:100%;border-radius:18px;padding:30px 8px 8px;grid-template-columns:minmax(0,1fr)}
.smap-phone .ph{min-height:30px}
.s-mob{grid-template-columns:minmax(0,1fr);padding:6px 8px}
.s-mob em{display:none}
.smap-phone .s-bar{min-height:18px!important;border-radius:var(--r-sm)}

/* questions */
.pp-faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2fr);gap:32px;align-items:start}
.pp-faq-h{display:grid;gap:10px}
.pp-faq h2{font-size:26px;font-weight:700}
.pp-faq-h p{color:var(--muted);font-size:14px;line-height:1.55}
.pp-faq-h a{color:var(--fg);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--accent)}
.pp-faq-l{border-top:1px solid var(--line)}
.pp-faq details{border-bottom:1px solid var(--line)}
.pp-faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 2px;font-weight:600;font-size:15px;cursor:pointer;list-style:none}
.pp-faq summary::-webkit-details-marker{display:none}
.pp-faq summary::after{content:"";flex:none;width:10px;height:10px;border-right:1.6px solid var(--muted);border-bottom:1.6px solid var(--muted);transform:translateY(-3px) rotate(45deg);transition:transform .2s var(--ease)}
.pp-faq details[open]:not(.closing) summary::after{transform:translateY(2px) rotate(-135deg)}
.pp-faq summary:hover{color:var(--accent-txt)}
.pp-faq details p{padding:0 2px 18px;color:var(--muted);font-size:14px;line-height:1.65;max-width:68ch}
.pp-faq details.sliding{overflow:hidden}

@media (max-width:1100px){
  .pp-hero,.pp-grid{grid-template-columns:minmax(0,1fr)}
  .pp-side{grid-template-columns:repeat(2,minmax(0,1fr))}
  .promo,.pp-faq{grid-template-columns:minmax(0,1fr)}
  .promo-t{position:static}
  .packs{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:760px){
  .pp{gap:34px;padding-top:4px}
  .pp-hero{padding-top:8px}
  .pp-facts li{grid-template-columns:minmax(0,1fr);padding:12px 0}
  .pp-side{grid-template-columns:minmax(0,1fr)}
  .prod{padding:18px}
  .prod .pr{font-size:30px}
  .promo{padding:18px}
  .slots{grid-template-columns:minmax(0,1fr)}
  .smap-phone{max-width:170px}
}

/* ------------------------------------------------------------------ legal documents */
.lg-page{padding:8px 0 24px;display:grid;gap:28px}
.lg-tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--line)}
.lg-tabs::-webkit-scrollbar{display:none}
.lg-tabs a{flex:none;height:42px;display:flex;align-items:center;padding:0 12px;color:var(--muted);font-weight:600;font-size:14px;white-space:nowrap;position:relative}
.lg-tabs a:hover{color:var(--fg)}
.lg-tabs a[aria-selected="true"]{color:var(--fg)}
.lg-tabs:not(.thumbed) a[aria-selected="true"]::after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2px;border-radius:2px;background:var(--fg)}
.lg-doc{display:grid;grid-template-columns:230px minmax(0,72ch);column-gap:64px;align-items:start;justify-content:start}
.lg-doc>*{grid-column:2}
.lg-head{display:grid;gap:8px;padding-bottom:22px;margin-bottom:26px;border-bottom:1px solid var(--line)}
.lg-head .eyebrow{margin:0}
.lg-head h1{font-size:clamp(30px,3.4vw,44px);line-height:1.05;font-weight:700}
.lg-meta{color:var(--muted);font-size:13px}
.lg-toc{grid-column:1;grid-row:1/span 40;position:sticky;top:calc(var(--hh) + 56px);display:grid;gap:1px;max-height:calc(100vh - var(--hh) - 90px);overflow-y:auto;scrollbar-width:thin;padding-right:6px}
.lg-toc::before{content:"On this page";display:block;margin:0 10px 8px;font-size:12px;font-weight:650;color:var(--faint)}
.lg-doc .lg-toc a{text-decoration:none;display:block;padding:6px 10px;border-radius:var(--r-sm);color:var(--muted);font-size:13px;line-height:1.4}
.lg-doc .lg-toc a:hover{color:var(--fg);background:var(--panel2)}
.lg-doc .lg-toc a[aria-current]{color:var(--fg);background:var(--panel);box-shadow:0 0 0 1px var(--line)}
.lg-callout{margin:0 0 28px;padding:14px 16px;border-radius:var(--r-md);background:var(--accent-soft);color:var(--text2);font-size:14.5px;line-height:1.6}
.lg-callout b{color:var(--fg)}
.lg-doc section{padding:0 0 26px;scroll-margin-top:calc(var(--hh) + 56px)}
.lg-doc section h2{font:700 20px/1.25 var(--disp);letter-spacing:-.02em;margin:0 0 10px}
.lg-doc section h3{font-size:15px;margin:18px 0 6px}
.lg-doc p,.lg-doc li{color:var(--text2);font-size:15px;line-height:1.72}
.lg-doc section p+p{margin-top:10px}
.lg-doc ul,.lg-doc ol{margin:10px 0;padding-left:20px;display:grid;gap:6px}
.lg-doc strong{color:var(--fg);font-weight:650}
.lg-doc a{color:var(--fg);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--accent-line)}
.lg-doc a:hover{text-decoration-color:var(--fg)}
.lg-foot{margin-top:8px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted)!important;font-size:13.5px!important}
.src-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 4px}
.src-card{display:grid;gap:6px;align-content:start;padding:14px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel)}
.src-card h3{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:0!important;font-size:14.5px!important;font-weight:650}
.src-card h3>span:not(.kw){font-size:12px;font-weight:500;color:var(--muted)}
.src-card p{font-size:13.5px!important;line-height:1.55!important;color:var(--muted)!important}
.src-card a{font-size:13px;font-weight:600;text-decoration:none!important;color:var(--accent-txt)!important;justify-self:start}
.lg-tw{margin:14px 0 4px;overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--panel)}
.lg-table{min-width:560px;width:100%;border-collapse:separate;border-spacing:0}
.lg-table th{position:static;height:auto;padding:10px 14px;text-align:left;font-size:12px;cursor:default;background:var(--panel2)}
.lg-table td{height:auto;padding:10px 14px;text-align:left;white-space:normal;font-size:13.5px;line-height:1.45;color:var(--text2)}
.lg-table tbody tr{cursor:default}
.lg-table tbody tr:hover td{background:none}
.lg-table td:first-child{color:var(--fg);font-weight:550}
@media (max-width:1100px){.lg-doc{grid-template-columns:200px minmax(0,1fr);column-gap:36px}}
@media (max-width:860px){
  .lg-doc{grid-template-columns:minmax(0,1fr)}
  .lg-doc>*{grid-column:1}
  .lg-toc{grid-row:auto;position:static;max-height:none;overflow:visible;margin:0 0 28px;padding:12px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel);grid-template-columns:repeat(2,minmax(0,1fr));gap:0 8px}
  .lg-toc::before{grid-column:1/-1;margin:2px 10px 6px}
  .lg-toc a{padding:6px 10px}
}
@media (max-width:760px){
  .lg-tabs{margin:0 calc(var(--gut) * -1);padding:0 calc(var(--gut) - 12px)}
  .lg-toc{grid-template-columns:minmax(0,1fr)}
  .lg-doc p,.lg-doc li{font-size:14.5px}
  .src-grid{grid-template-columns:minmax(0,1fr)}
}
html[data-surface="app"] .lg-doc{grid-template-columns:minmax(0,1fr)}
html[data-surface="app"] .lg-doc>*{grid-column:1}
html[data-surface="app"] .lg-toc{grid-row:auto;position:static;max-height:none;overflow:visible;margin:0 0 24px;padding:12px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel)}

/* ------------------------------------------------------------------ sheets: shared header, checkout */
.co-hd{align-items:flex-start}
.co-hd>div{display:grid;gap:2px;min-width:0}
.co-hd small{font-size:12px;font-weight:650;color:var(--accent-txt)}
.co-f{display:grid;gap:16px}
.co-f>.note,.modal .co-f .note{margin:0}
.co-slot{margin-top:-8px!important}
.co-warn{padding:10px 12px;border-radius:var(--r-md);background:var(--warn-soft);color:var(--warn);font-size:13px;font-weight:550;line-height:1.5}
.co-err{padding:10px 12px;border-radius:var(--r-md);background:var(--down-soft);color:var(--down);font-size:13px;font-weight:600}
.co-go{height:46px;width:100%;font-size:14.5px}
.modal .two{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:10px}
.modal .seg{display:flex}
.modal .seg button{flex:1;height:32px}
.modal .packs{grid-template-columns:repeat(5,minmax(0,1fr))}
.modal .pack{padding:9px 8px}
.modal .pack b{font-size:15px}
.modal .pack b small{display:none}
@media (max-width:480px){.modal .packs{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* order summary: a receipt above the pay button */
.sum{display:grid;border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel2);font-variant-numeric:tabular-nums}
.sum>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:11px 14px;font-size:13.5px}
.sum>div>span{color:var(--muted);min-width:0}
.sum>div>b{font-weight:650;white-space:nowrap}
.sum .was{margin-right:4px;font-weight:400}
.sum .tot{border-top:1px dashed var(--line2)}
.sum .tot span{color:var(--fg);font-weight:600}
.sum .tot b{font:700 19px var(--disp);letter-spacing:-.02em}
/* input with buttons inside (token search, logo link) */
.modal .pfw{display:flex;align-items:center;gap:6px;min-height:42px;padding:0 5px 0 12px;border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--panel)}
.modal .pfw:focus-within{border-color:var(--fg)}
.modal .pfw.ok{border-color:var(--up)}
.modal .pfw.bad{border-color:var(--down)}
.modal .pfw input{flex:1;min-width:0;height:40px;border:0;background:none;outline:0;font-size:14px;color:var(--fg)}
.modal .pfw-i{color:var(--muted);flex:none}
.modal .pfpaste{display:inline-flex;align-items:center;height:30px;padding:0 10px;border:0;border-radius:var(--r-xs);background:var(--panel3);color:var(--text2);font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap;flex:none}
.modal .pfpaste:hover{color:var(--fg)}
.cotok{position:relative}
.cotok-res{display:grid;gap:1px;margin-top:6px;padding:4px;border:1px solid var(--line2);border-radius:var(--r-md);background:var(--panel);max-height:280px;overflow-y:auto}
.cotok-r{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px;border:0;border-radius:var(--r-sm);background:none;text-align:left}
.cotok-r:hover,.cotok-r.focus,.cotok-r.kb{background:var(--panel2)}
.cotok-r>span{display:flex;flex-wrap:wrap;align-items:center;gap:0 5px;min-width:0}
.cotok-r b{font-weight:650}
.cotok-r small{flex-basis:100%;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cotok-r mark{background:none;color:var(--accent-txt);font-weight:700}
.cotok-r em{font-style:normal;font-size:12.5px;color:var(--text2);font-variant-numeric:tabular-nums}
.cotok-none{padding:10px 12px}
.cotok-on{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 6px 8px 12px;border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--panel)}
.cotok-on>div{display:grid;min-width:0}
.cotok-on b{font-weight:650}
.cotok-on small{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cologo{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:center}
.cologo-up{position:relative;cursor:pointer}
.cohint{color:var(--muted);font-size:12px;line-height:1.45}
.colinks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.colinks .fld>span{font-size:12px}
.comore{margin-top:10px}
.comore summary{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;cursor:pointer;font-size:13px;font-weight:600;color:var(--text2);list-style:none}
.comore summary::-webkit-details-marker{display:none}
.comore summary::before{content:"+";display:inline-grid;place-items:center;width:18px;height:18px;border-radius:var(--r-xs);background:var(--panel3);font-weight:700;color:var(--muted)}
.comore[open] summary::before{content:"−"}
.comore summary small{font-weight:400;color:var(--muted);font-size:12px}
.comore .colinks{margin-top:10px}
.co-own{padding:10px 12px;border-radius:var(--r-md);background:var(--panel2);line-height:1.5}
.co-own.ok{background:var(--up-soft);color:var(--up)}
.co-own.bad{background:var(--down-soft);color:var(--down)}
.upl{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px;border:1px dashed var(--line2);border-radius:var(--r-sm)}
.upl img{height:44px;border-radius:var(--r-xs)}
.upl input[type="file"],.cologo input[type="file"]{font-size:12.5px;color:var(--muted);max-width:100%}
.upl input[type="file"]::file-selector-button{margin-right:10px;height:30px;padding:0 10px;border:0;border-radius:var(--r-xs);background:var(--panel3);color:var(--fg);font:600 12.5px var(--sans);cursor:pointer}
.modal input[type="date"],.modal input[type="number"]{color-scheme:inherit}
@media (max-width:480px){.colinks{grid-template-columns:minmax(0,1fr)}}

/* result screens: placed, waiting, paid, failed */
.co-st{display:grid;gap:12px;justify-items:start;padding:6px 0 2px}
.co-st .big{font:700 22px/1.2 var(--disp);letter-spacing:-.02em}
.co-st p{color:var(--text2);line-height:1.55}
.co-st .note{color:var(--muted)}
.co-st .dacts{margin-top:6px}
.co-mark{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--panel3);position:relative}
.co-mark::after{content:"";width:12px;height:12px;border-radius:50%;background:var(--muted)}
.co-st.wait .co-mark{background:var(--accent-soft)}
.co-st.wait .co-mark::after{background:var(--accent-2)}
.co-st.done .co-mark{background:var(--up-soft)}
.co-st.done .co-mark::after{width:14px;height:8px;border-radius:0;background:none;border-left:2.4px solid var(--up);border-bottom:2.4px solid var(--up);transform:translateY(-2px) rotate(-45deg)}
.co-st.fail .co-mark{background:var(--down-soft)}
.co-st.fail .co-mark::after{width:14px;height:2.4px;border-radius:2px;background:var(--down);transform:rotate(45deg);box-shadow:none}
.co-st.fail .co-mark::before{content:"";position:absolute;width:14px;height:2.4px;border-radius:2px;background:var(--down);transform:rotate(-45deg)}
.co-st.busy .co-mark{background:none;border:2.5px solid var(--panel3);border-top-color:var(--accent-2);animation:kespin .9s linear infinite}
.co-st.busy .co-mark::after{display:none}

/* ------------------------------------------------------------------ share sheets */
.shl{display:grid;gap:10px}
.shl-main{height:44px;width:100%}
.shl-url{display:flex;align-items:center;gap:6px;padding:4px 4px 4px 12px;border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--panel2)}
.shl-url input{flex:1;min-width:0;height:34px;border:0;background:none;outline:0;font:500 12.5px var(--mono);color:var(--text2);text-overflow:ellipsis}
.shl-url .pill{height:34px;flex:none}
.shl-nets{display:flex;flex-wrap:wrap;gap:6px}
.shl-net{display:inline-flex;align-items:center;height:32px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel);color:var(--text2);font-size:13px;font-weight:600}
.shl-net:hover{border-color:var(--fg);color:var(--fg)}
.shl-note,#shPrevNote{margin:0!important;font-size:12.5px}
#shPrevNote:empty{display:none}
.modal .chart-msg{display:flex;align-items:center;justify-content:center;min-height:64px;border:1px dashed var(--line2);border-radius:var(--r-sm);color:var(--muted);font-size:13px}
.shc{display:grid;gap:12px;padding-top:16px;border-top:1px solid var(--line)}
.shc-h{display:flex;align-items:center;justify-content:space-between;gap:12px}
.shc-h>div{display:grid;gap:2px;min-width:0}
.shc-h b{font-weight:650}
.shc-h small{color:var(--muted);font-size:12.5px;line-height:1.45}
.shc-h .pill{flex:none;height:32px}
.shc-body{display:grid;gap:10px}
.shc-body img{width:100%;border-radius:var(--r-md);border:1px solid var(--line)}
.shc-acts{display:flex;gap:8px;flex-wrap:wrap}
.pfhide{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--r-md);background:var(--panel2);font-size:13.5px;cursor:pointer}

/* ------------------------------------------------------------------ shared portfolio (/w/<id>) */
.shp-wrap{max-width:620px;margin:0 auto;padding:18px 0 32px;display:grid;gap:16px}
.shp .prf-hero{display:grid;justify-items:center;gap:6px;text-align:center;padding:8px 0 4px}
.shp .prf-av{position:relative;width:84px;height:84px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 1px var(--line2)}
.shp .prf-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.shp .prf-av span{display:grid;place-items:center;width:100%;height:100%;font:700 28px var(--disp);color:hsl(var(--h) 45% 28%);background:hsl(var(--h) 34% 86%)}
:root[data-theme="dark"] .shp .prf-av span{color:hsl(var(--h) 55% 78%);background:hsl(var(--h) 26% 20%)}
@media (prefers-color-scheme:dark){:root[data-theme="system"] .shp .prf-av span{color:hsl(var(--h) 55% 78%);background:hsl(var(--h) 26% 20%)}}
.shp .prf-hero h1{margin-top:8px;font-size:26px;font-weight:700}
.shp .prf-un{color:var(--muted);font-size:14px}
.shp .prf-wallet{display:flex;align-items:center;gap:10px;margin-top:8px;padding:4px 4px 4px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel);font:500 13px var(--mono)}
.shp .prf-wallet .pill{height:30px;font:600 12.5px var(--sans)}
.shp-card{width:100%;height:auto;border-radius:var(--r);border:1px solid var(--line)}
.shp-hold{padding:6px}
.shp-hold>.note{margin:10px}
.shp-tot{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:baseline;padding:12px 10px 14px;margin-bottom:4px;border-bottom:1px solid var(--line)}
.shp-tot span{color:var(--muted);font-size:13px}
.shp-tot b{grid-row:1/3;grid-column:2;font:700 26px var(--disp);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.shp-tot small{color:var(--faint);font-size:12px}
.shp-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:12px;align-items:center;padding:8px 10px;border-radius:var(--r-sm)}
.shp-row:hover{background:var(--panel2)}
.shp-n,.shp-v{display:grid;min-width:0}
.shp-v{text-align:right;font-variant-numeric:tabular-nums}
.shp-n b,.shp-v b{font-weight:650}
.shp-n small,.shp-v small{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shp-v small.up{color:var(--up)}.shp-v small.down{color:var(--down)}
.shp-acts{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.shp .prf-fine{text-align:center;color:var(--muted);font-size:12px}
.shp .tp-empty{display:grid;gap:12px;justify-items:center;text-align:center;padding:48px 16px}
.shp .tp-empty h2{font-size:24px}
.modal .fld input[type="file"]{min-height:0;width:auto;padding:0;border:0;background:none}
