


.prices-wrap { position:relative; margin-top:var(--s5); overflow-x:auto; overflow-y:hidden; border:var(--bd) solid var(--line);
               background-color:var(--panel-solid); }   
.prices { min-width:760px; font-size:var(--fs-ui); }
.prices th { font:600 var(--fs-micro)/1.3 var(--mono); letter-spacing:.1em;
             text-transform:uppercase; color:var(--faint); padding:var(--s3) var(--s4); }
.prices td { padding:var(--s3) var(--s4); vertical-align:middle; }
.prices td.model { min-width:260px; }

@media (min-width:721px) {
  .prices { table-layout:fixed; width:100%; }
  .prices th:nth-child(1) { width:46%; }
  .prices th:nth-child(3) { width:14%; }
  .prices th:nth-child(2), .prices th:nth-child(n+4) { width:10%; }
}

.prices .mark { display:inline-block; width:34px; height:34px; margin:0 var(--s4) 0 0;
                vertical-align:middle; color:var(--muted); }
.prices .who { display:inline-block; vertical-align:middle;
               max-width:calc(100% - 34px - var(--s4)); }
.prices .nm { font:600 var(--fs-ui)/1.2 var(--ui); color:var(--text); }
.prices .tag-line { display:block; margin-top:4px; font:var(--fs-micro)/1.45 var(--ui);
                    color:var(--muted); }

.prices .gone { color:var(--muted); border:1px solid var(--line); background:transparent; }


.prices .tag-pill { --tip-bg:#23262c; position:relative; display:inline-block; cursor:default; }
.prices .tag-pill .tip {
  position:absolute; top:calc(100% + 9px); left:50%; transform:translateX(-50%) translateY(-3px);
  z-index:var(--z-tip); width:max-content; max-width:min(240px, 62vw); white-space:normal;
  padding:var(--s2) var(--s3); border-radius:9px; background:var(--tip-bg); color:#fff;
  border:1px solid rgba(0,0,0,.35); box-shadow:var(--shadow);
  font:500 var(--fs-micro)/1.5 var(--ui); letter-spacing:0; text-transform:none; text-align:left;
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .12s ease, transform .12s ease; }

.prices .tag-pill .tip::before {
  content:""; position:absolute; bottom:100%; left:50%; transform:translateX(-50%);
  border:6px solid transparent; border-bottom-color:var(--tip-bg); }
.prices .tag-pill:hover .tip,
.prices .tag-pill:focus-visible .tip,
.prices .tag-pill:focus-within .tip {
  opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); }

.prices tr.soon { opacity:.42; }
.prices tr.soon td.cache .v { --ink-v:var(--muted); color:var(--muted); }
.prices tr.soon .meter b.on { background:var(--muted); }
.prices tr.soon:hover { background:none; }

.prices tbody tr:hover { background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),
                           rgba(var(--acc-rgb),.12), transparent 70%), var(--bg2); }

.prices td.rate { white-space:nowrap; }
.prices td.rate .v { --ink-v:var(--text); display:block; font:600 18px/20px var(--mono);
                     letter-spacing:-.02em; color:var(--ink-v);
                     text-shadow:0 0 12px rgba(232,235,239,.22); }
.prices td.cache .v { --ink-v:var(--acc); text-shadow:0 0 14px rgba(var(--acc-rgb),.35); }
.prices .list { display:block; margin-top:3px; font:400 12px/14px var(--mono);
                color:var(--muted); text-decoration-thickness:1px; }

.prices .reels { display:flex; }
.prices .reel { height:20px; overflow:hidden; }
.prices .strip { display:flex; flex-direction:column;
                 transform:translateY(calc(var(--d,0) * -20px));
                 transition:transform var(--t,1.1s) cubic-bezier(.15,.85,.25,1); }
.prices .strip b { display:block; height:20px; font-weight:inherit; }

.prices .v.tick { text-shadow:0 0 18px rgba(232,235,239,.55); }
.prices td.cache .v.tick { text-shadow:0 0 18px rgba(var(--acc-rgb),.7); }

.prices .v.shine { color:transparent; text-shadow:none;
                   background:linear-gradient(110deg, var(--ink-v) 42%, #fff 50%, var(--ink-v) 58%) no-repeat;
                   background-size:260% 100%; -webkit-background-clip:text; background-clip:text;
                   animation:glint 1.1s ease-in-out; }

@keyframes glint { from { background-position:100% 0; } to { background-position:0 0; } }

.prices td.save { white-space:nowrap; }
.prices .pct { --pct-fs:15px; --pct-pad:6px 9px; position:relative; overflow:hidden;
               margin:3px 0 7px; box-shadow:var(--shadow-press), 0 0 18px rgba(var(--acc-rgb),.28); }
.prices .pct::after { content:""; position:absolute; inset:0; pointer-events:none;
                      background:linear-gradient(105deg, transparent 30%, rgba(255,255,255,.6) 50%, transparent 70%);
                      transform:translateX(-130%); }
.prices .pct.shine::after { animation:sweep .9s ease-in-out; }
@keyframes sweep { to { transform:translateX(130%); } }

.prices td.ctx { white-space:nowrap; }
.prices .ctx-n { display:block; font:500 13px/16px var(--mono); color:var(--text); }
.prices .meter { display:flex; gap:2px; margin-top:7px; }
.prices .meter b { width:10px; height:3px; background:rgba(255,255,255,.08);
                   transition:background .3s ease-out, box-shadow .3s ease-out;
                   transition-delay:calc(var(--k) * 80ms); }
.prices .meter b.on { background:var(--acc); box-shadow:0 0 6px rgba(var(--acc-rgb),.4); }
.fx .prices tr:not(.in) .meter b.on { background:rgba(255,255,255,.08); box-shadow:none; }
.prices tr.default td { background:rgba(var(--acc-rgb),.04); }

.prices .from, .prices .opener { display:none; }

@media (max-width:720px) {
  .prices { min-width:0; }
  .prices thead { display:none; }
  .prices tbody { display:block; }
  
  .prices tr { position:relative; display:grid; grid-template-columns:repeat(6, minmax(0, 1fr));
               grid-template-rows:auto 0fr auto; column-gap:var(--s2);
               padding:var(--s3) 36px var(--s3) var(--s3); border-bottom:1px solid var(--line);
               transition:grid-template-rows var(--t) var(--ease-out); }
  .prices tr:last-child { border-bottom:0; }
  .prices tr.open { grid-template-rows:auto 1fr auto; }
  
  .prices tbody tr, .prices tbody tr:hover, .prices tr.default td { background:none; }
  .prices tbody tr:hover { box-shadow:none; }
  .prices tr.default, .prices tr.default:hover { background:rgba(var(--acc-rgb),.04); }
  .prices td { display:block; min-width:0; padding:0; border:0; }
  .prices td.model { display:contents; }
  .prices .mark { grid-area:1 / 1 / 2 / 5; justify-self:start; align-self:center; width:28px;
                  height:28px; margin:0; }
  .prices .who { grid-area:1 / 1 / 2 / 5; align-self:center; max-width:none; display:flex;
                 flex-wrap:wrap; align-items:center; gap:4px var(--s2);
                 padding-left:calc(28px + var(--s3)); }
  .prices .best, .prices .gone { margin-left:0; }
  .prices .tag-line { display:none; flex-basis:100%; }
  .prices tr.open .tag-line { display:block; }
  
  .prices td.save, .prices .from { grid-area:1 / 5 / 2 / 7; justify-self:end; align-self:center; }
  .prices .pct { margin:0; padding:5px 7px; font-size:13px;
                 transition:font-size var(--t) var(--ease-out), padding var(--t) var(--ease-out); }
  
  .prices tr.open .pct { padding:8px 12px; font-size:20px; }
  .prices .from { display:block; text-align:right; font:600 var(--fs-ui)/1.2 var(--mono);
                  color:var(--text); }
  .prices .from small { display:block; font:var(--fs-micro)/1.4 var(--mono); color:var(--faint); }
  .prices tr.soon td.save { display:none; }
  
  .price-group.unc td.save { display:none; }
  
  .prices .opener { position:relative; display:block; grid-area:1 / 1 / 2 / -1; z-index:1;
                    margin:calc(-1 * var(--s3)) -36px calc(-1 * var(--s3)) calc(-1 * var(--s3));
                    background:none; border:0; cursor:pointer; }
  .prices .opener::after { content:""; position:absolute; right:14px; top:50%; width:8px; height:8px;
    margin-top:-6px; border:solid var(--faint); border-width:0 2px 2px 0; transform:rotate(45deg);
    transition:transform var(--t) var(--ease-out), border-color var(--t-fast); }
  .prices tr.open .opener::after { transform:rotate(-135deg); margin-top:-2px; border-color:var(--acc); }
  
  .prices td.rate, .prices td.ctx { overflow:hidden; min-height:0; }
  .prices td.rate { grid-row:2; }
  .prices td:nth-child(2) { grid-column:1 / 3; } .prices td:nth-child(3) { grid-column:3 / 5; }
  .prices td:nth-child(4) { grid-column:5 / 7; }
  
  .prices td.ctx { grid-row:3; grid-column:1 / -1; max-height:0;
                   transition:max-height var(--t) var(--ease-out); }
  .prices tr.open td.ctx { max-height:3em; }
  .prices td.rate::before, .prices td.ctx::before { content:attr(data-label); display:block;
    margin:var(--s3) 0 var(--s1); font:600 var(--fs-micro)/1.3 var(--mono); letter-spacing:.1em;
    text-transform:uppercase; color:var(--faint); }
  .prices td.ctx::before { display:inline-block; margin-right:var(--s2); }
  .prices td.rate .v { font-size:16px; }    
  .prices .ctx-n, .prices .meter { display:inline-flex; vertical-align:middle; }
  .prices .meter { margin:0 0 0 var(--s2); }
}
.fine-print { font-size:var(--fs-micro); }
.fine-print.live { display:inline-flex; align-items:center; gap:8px; }
.live .dot { width:7px; height:7px; background:var(--acc); flex:none;
             animation:livepulse 1.8s ease-out infinite; }
@keyframes livepulse { 0% { box-shadow:0 0 0 0 rgba(var(--acc-rgb),.55); }
                       70%, 100% { box-shadow:0 0 0 9px rgba(var(--acc-rgb),0); } }

.pricing { padding-top:var(--s6); }
.pricing > .price-group:first-child .group-label { margin-top:0; }
.price-group + .price-group { margin-top:var(--s7); }

.group-label { display:flex; align-items:center; gap:var(--s3); margin:var(--s5) 0 0;
               font:700 var(--fs-lg)/1 var(--mono); letter-spacing:.14em; text-transform:uppercase;
               color:var(--text); }
.group-label::before { content:""; width:12px; height:12px; flex:none; background:var(--acc);
                       box-shadow:0 0 12px rgba(var(--acc-rgb),.6); }
.price-group .note { margin-top:var(--s2); }

.price-addon { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
               gap:var(--s2) var(--s5); margin-top:var(--s3); padding:var(--s3) var(--s4);
               border:var(--bd) solid var(--line); }
.price-addon .who { display:flex; align-items:center; min-width:0; }
.price-addon .mark { width:34px; height:34px; margin:0 var(--s4) 0 0; flex:none; color:var(--muted); }
.price-addon .who-col { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px var(--s2);
                        min-width:0; }
.price-addon .nm { font:600 var(--fs-ui)/1.2 var(--ui); color:var(--text); }
.price-addon .pill { padding:2px var(--s2); }   
.price-addon .tag-line { flex-basis:100%; font:var(--fs-micro)/1.45 var(--ui); color:var(--muted); }
.price-addon .price { display:inline-flex; align-items:center; gap:var(--s3); flex-wrap:wrap;
                      font:600 var(--fs-ui)/1 var(--ui); color:var(--muted); }
.price-addon .price .v { font:600 18px/20px var(--mono); color:var(--acc);
                         text-shadow:0 0 14px rgba(var(--acc-rgb),.35); }

.price-group.unc { --acc:var(--uncensored); --acc-rgb:var(--uncensored-rgb); }

.price-group.unc .prices .mark { color:var(--uncensored); }

html[data-gpu="no"] .prices tbody tr:hover { background:rgba(255,255,255,.025); }

.fx .prices .badge { display:inline-block; }
.fx .prices tr.in .mark { animation:fx-stamp .5s cubic-bezier(.3,1.45,.5,1) calc(var(--fx-d) + .15s) backwards; }
.fx .prices tr.in .badge {
  animation:fx-stamp .5s cubic-bezier(.3,1.45,.5,1) calc(var(--fx-d) + .5s) backwards; }

.fx .prices .list { position:relative; width:max-content; text-decoration:none; }
.fx .prices .list::after { content:""; position:absolute; left:0; right:0; top:52%; height:1px;
  background:rgba(var(--refused-rgb),.8); transform-origin:left; }
.fx .prices tr.in .list::after { animation:fx-grow-x .45s var(--fx-ease) calc(var(--fx-d) + 1s) backwards; }

.fx .prices tr .meter b { transition-delay:calc(var(--fx-d, 0s) + .35s + var(--k) * 80ms); }
