/* V88 only. Scoped to the Buy/Sell and Whale Tracker pages. */
.v88{--v88-buy:var(--green,#18a96c);--v88-sell:var(--red,#db4e52);--v88-warn:var(--amber,#e4a32e);--v88-muted:var(--muted,#a9bfd4);color:var(--ink);background:transparent;font-size:1rem;max-width:1510px;margin:0 auto;padding:24px clamp(12px,2.4vw,32px) 70px;min-width:0}
.v88 *{box-sizing:border-box;min-width:0}.v88 .topbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:22px}
.v88 .brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:1.35rem;font-weight:950;color:var(--ink)}.v88 .brand img{width:52px;height:52px;border-radius:50%;border:2px solid var(--blue);object-fit:cover}
.v88 .menu{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.v88 .menu a{border:1px solid var(--line);padding:10px 12px;border-radius:11px;text-decoration:none;font-weight:700;color:var(--ink)}.v88 .menu a[aria-current="page"]{border-color:var(--blue);background:rgba(20,119,255,.12)}
.v88 .hero{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:20px}.v88 .hero h1{font-size:clamp(1.75rem,3vw,2.8rem);margin:0 0 7px;line-height:1.13}.v88 .hero p{margin:0;color:var(--muted)}.v88 .live-chip{font-weight:800;border:1px solid var(--line);border-radius:999px;padding:10px 13px;white-space:normal}
.v88 .controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--line);padding:13px;border-radius:16px;margin-bottom:16px}
.v88 .segmented{display:flex;gap:5px;flex-wrap:wrap}.v88 button{cursor:pointer;min-height:42px}.v88 .segmented button,.v88 .textcontrol button{background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:10px 13px;font-weight:800}
.v88 button[aria-pressed="true"],.v88 button[aria-selected="true"],.v88 .segmented button.active{background:var(--blue);border-color:var(--blue);color:white}.v88 .textcontrol{display:flex;gap:6px}.v88 button:focus-visible,.v88 a:focus-visible,.v88 summary:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.v88 .small{font-size:.84rem;color:var(--muted)}.v88 .status-line{display:flex;gap:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:12px 15px;background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:16px}.v88 .notice-v88{border-left:4px solid var(--v88-warn);padding:11px 14px;border-radius:10px;background:var(--surface2);color:var(--ink);margin-bottom:16px;line-height:1.5}
.v88 .bob-intro{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:center;background:var(--surface);border:1px solid var(--line);padding:16px;border-radius:17px;margin:14px 0 22px}.v88 .bob-intro img{width:60px;height:60px;border-radius:50%;border:2px solid var(--blue)}.v88 .bob-intro strong{font-size:1.12rem}.v88 .bob-intro p{margin:4px 0;color:var(--muted)}
.v88 .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:14px;align-items:stretch}.v88 .coin-card{border:1px solid var(--line);background:var(--surface);border-radius:17px;padding:17px;box-shadow:0 8px 26px rgba(0,31,75,.07);min-width:0}
.v88 .coin-head{display:flex;justify-content:space-between;align-items:flex-start;gap:9px}.v88 .coin-name{margin:0;font-size:1.35rem;font-weight:900}.v88 .coin-price{font-size:1.14rem;font-weight:800;margin:5px 0;color:var(--ink)}.v88 .pill{display:inline-block;font-size:.7rem;font-weight:850;border:1px solid var(--line);background:var(--surface2);color:var(--muted);padding:5px 8px;border-radius:999px}
.v88 .market-dual{display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap;margin:17px 0}.v88 .ring{--pct:50;position:relative;width:138px;height:138px;flex:none;border-radius:50%;background:conic-gradient(var(--v88-buy) 0 calc(var(--pct)*1%),var(--v88-sell) calc(var(--pct)*1%) 100%);display:flex;align-items:center;justify-content:center}
.v88 .ring:before{content:"";position:absolute;inset:17px;background:var(--surface);border-radius:50%}.v88 .ring-text{position:relative;z-index:1;text-align:center}.v88 .ring-text strong{font-size:1.65rem;display:block;line-height:1.15}.v88 .ring-text small{display:block;color:var(--muted)}.v88 .ring-data{flex:1;min-width:140px}.v88 .ring-data p{margin:5px 0;font-size:.9rem;overflow-wrap:anywhere}
.v88 .metric{border-top:1px solid var(--line);padding:11px 0}.v88 .metric-head{display:flex;justify-content:space-between;gap:6px;align-items:center}.v88 .metric-head strong{font-size:1rem}.v88 .bar-legend{display:flex;gap:8px;justify-content:space-between;font-size:.83rem;flex-wrap:wrap;margin-top:8px}.v88 .bar-legend b{overflow-wrap:anywhere}.v88 .buy-label{color:var(--v88-buy)}.v88 .sell-label{color:var(--v88-sell)}
.v88 .barline{height:12px;display:flex;overflow:hidden;border-radius:999px;background:var(--surface2);margin-top:8px}.v88 .barline .buy-side{background:var(--v88-buy)}.v88 .barline .sell-side{background:var(--v88-sell)}.v88 .breakdown{display:grid;gap:6px;font-size:.85rem;margin:9px 0 0}.v88 .breakdown>div{display:flex;justify-content:space-between;gap:9px;flex-wrap:wrap}.v88 .breakdown b{font-weight:850}.v88 .warn,.v88 .partial{border:1px solid var(--v88-warn);padding:9px 10px;border-radius:10px;font-size:.83rem;margin-top:11px;line-height:1.4}.v88 .partial{border-color:var(--line)}
.v88 .secondarybutton{display:block;width:100%;margin:17px auto 5px;padding:12px;background:var(--surface);border:1px solid var(--blue);border-radius:11px;color:var(--ink);font-weight:850}.v88 .panel-v88{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:18px;margin-top:20px}.v88 .panel-v88 h2{margin-top:0}.v88 .panel-v88 p,.v88 .panel-v88 li{line-height:1.6}.v88 .explain-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,265px),1fr));gap:11px}.v88 .explain-grid article{border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--surface2)}.v88 .explain-grid article h3{margin:0 0 6px;font-size:1.02rem}.v88 .explain-grid article p{margin:0}
.v88 .table-wrap{max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:12px}.v88 table{border-collapse:collapse;min-width:620px;width:100%}.v88 th,.v88 td{padding:11px 13px;text-align:left;border-bottom:1px solid var(--line)}.v88 th{background:var(--surface2)}.v88 .quiz-v88{margin:20px 0;display:grid;gap:10px}.v88 .quiz-v88 fieldset{border:1px solid var(--line);border-radius:12px;padding:14px}.v88 .quiz-v88 label{display:block;margin:6px 0}.v88 .quiz-v88 .feedback{font-weight:800;margin:10px 0 0}.v88 .muted-text{color:var(--muted)}.v88 .hidden{display:none!important}
html[data-theme="dark"] .v88 .ring:before{background:#102d48}html[data-theme="dark"] .v88 .panel-v88,html[data-theme="dark"] .v88 .coin-card{color:#f5faff}
html[data-color-mode="contrast"] .v88{--v88-buy:#2c92ff;--v88-sell:#ffd447}
@media(max-width:520px){.v88{padding:13px 10px 45px}.v88 .controls{align-items:stretch}.v88 .segmented{width:100%}.v88 .segmented button{flex:1;padding:10px 8px}.v88 .cards{grid-template-columns:minmax(0,1fr)}.v88 .coin-card{padding:14px}.v88 .market-dual{justify-content:flex-start}}

.v88 .metric-info{margin-top:12px;border-top:1px solid var(--line);padding-top:9px;font-size:.84rem}.v88 .metric-info summary{cursor:pointer;font-weight:800;color:var(--blue)}.v88 .metric-info p{margin:6px 0 0;color:var(--muted);line-height:1.45}

/* V89: donut labels stay inside the inner disc at all text sizes. */
.v88 .ring{width:172px;height:172px;isolation:isolate}
.v88 .ring:before{inset:17px}
.v88 .ring-text{position:absolute;inset:18px;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;max-width:calc(100% - 36px);margin:auto;overflow:hidden;white-space:nowrap;line-height:1.2}
.v88 .ring-text strong{font-size:clamp(1.1rem,1.55rem,1.55rem);line-height:1.1;white-space:nowrap}
.v88 .ring-text small{display:block;font-size:.76rem;line-height:1.18;white-space:nowrap;color:var(--muted)}
.v88 .ring.ring-empty{background:var(--line)}
.v88 .ring.ring-empty .ring-text strong{font-size:1.08rem}
.v88 .threshold-select{display:flex;align-items:center;flex-wrap:wrap;gap:10px;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:12px 15px;margin-bottom:17px}
.v88 .threshold-select .segmented{margin-left:auto}
.v88 .threshold-select p{margin:0;flex-basis:100%;font-size:.85rem;line-height:1.45;color:var(--muted)}
.v88 .observed-sample{border:1px solid var(--line);padding:10px 11px;margin:10px 0 6px;border-radius:10px;background:var(--surface2);line-height:1.45;font-size:.84rem}
.v88 .observed-sample b{display:block;margin-bottom:4px}
.v88 .observed-sample span{display:block;color:var(--muted)}
@media(max-width:520px){.v88 .threshold-select .segmented{width:100%;margin:0}.v88 .threshold-select .segmented button{flex:1}.v88 .ring{width:166px;height:166px}}

@media(max-width:380px){.v88 #viewTabs{display:grid;grid-template-columns:1fr 1fr;width:100%}.v88 #viewTabs button{font-size:.8rem;padding:9px 5px;white-space:normal;overflow-wrap:break-word;line-height:1.15}.v88 #timeButtons button{font-size:.78rem;padding:9px 3px;line-height:1.12;white-space:normal;overflow-wrap:break-word}.v88 .ring-text small{font-size:.7rem}}
