/* AI Strategy & Agents · portfolio — criteria strip, value × feasibility chart, ranked list, detail */
.tas-pf__crit{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--tas-gap);margin-bottom:clamp(40px,4.4vw,64px)}
.tas-pf__crit li{display:flex;gap:14px;align-items:flex-start;min-width:0;padding-top:18px;border-top:1px solid var(--ink)}
.tas-pf__crit .xt-ico{margin-top:2px;color:var(--ink)}
.tas-pf__crit h3{font-family:var(--f-h);font-size:1.0625rem;font-weight:500;letter-spacing:-.01em;line-height:1.25;color:var(--ink)}
.tas-pf__crit p{margin-top:6px;font-size:var(--t-sm);line-height:1.55;color:var(--muted)}

.tas-pf{padding:clamp(16px,2vw,28px);border:1px solid var(--line);border-radius:var(--r-xl);background:var(--paper-2)}
.tas-pf__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding:4px 4px 18px}
.tas-pf__chips{display:flex;flex-wrap:wrap;gap:6px}

.tas-pf__body{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,28px);row-gap:clamp(16px,2vw,28px)}
.tas-pf__chart{grid-column:1 / span 7;grid-row:1;min-width:0;padding:clamp(16px,1.8vw,24px);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper)}
.tas-pf__plot{position:relative;aspect-ratio:5 / 4;margin:0 0 30px 26px}
.tas-pf__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.tas-pf__zone{fill:var(--blue-wash)}
.tas-pf__grid{stroke:var(--line-2);stroke-width:1;vector-effect:non-scaling-stroke}
.tas-pf__split{stroke:var(--line-3);stroke-width:1;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}
.tas-pf__paths path{fill:none;stroke:var(--blue);stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 1s var(--e) calc(1100ms + var(--i) * 180ms),opacity var(--d2)}
.tas-pf__q{position:absolute;font-family:var(--f);font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);line-height:1.2;pointer-events:none}
.tas-pf__q--first{z-index:2;top:10px;right:12px;padding:5px 9px;border-radius:var(--r-xs);background:var(--blue);color:var(--on-ink);letter-spacing:.08em}
.tas-pf__q--prep{top:12px;left:12px}
.tas-pf__q--quick{bottom:12px;right:12px}
.tas-pf__q--park{bottom:12px;left:12px}
.tas-pf__ax{position:absolute;font-family:var(--f);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.tas-pf__ax i{font-style:normal;color:var(--blue)}
.tas-pf__ax--x{left:0;bottom:-26px}
.tas-pf__ax--y{left:-24px;bottom:0;transform:rotate(-90deg);transform-origin:left top;translate:0 0}

.tas-pf__b{position:absolute;left:calc(var(--x) * 1%);top:calc((100 - var(--y)) * 1%);z-index:1;display:grid;place-items:center;width:var(--d);height:var(--d);border-radius:50%;
  background:var(--blue-wash-2);box-shadow:inset 0 0 0 1px var(--blue-line);color:var(--ink);font-family:var(--f);font-size:11px;font-weight:600;cursor:pointer;
  transform:translate(-50%,-50%);transition:transform .9s var(--e) calc(var(--i) * 60ms),opacity .5s var(--e),box-shadow var(--d2) var(--e-io),background var(--d2) var(--e-io)}
.tas-pf__b span{position:relative;z-index:1}
.tas-pf__b em{position:absolute;left:50%;bottom:calc(100% + 8px);z-index:4;padding:5px 9px;border-radius:var(--r-xs);background:var(--ink);color:var(--on-ink);font-family:var(--f-b);font-size:11px;font-style:normal;font-weight:500;white-space:nowrap;
  opacity:0;transform:translate(-50%,4px);pointer-events:none;transition:opacity var(--d1) var(--e-io),transform var(--d2) var(--e)}
.tas-pf__b:hover{z-index:5}
.tas-pf__b:hover em,.tas-pf__b.is-sel em{opacity:1;transform:translate(-50%,0)}
.tas-pf__b.is-top{background:var(--blue);box-shadow:0 0 0 4px var(--blue-wash-2);color:var(--on-ink)}
.tas-pf__b.is-sel{z-index:4;box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--ink)}
.tas-pf__b.is-top.is-sel{box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--ink)}
.tas-pf__b.is-dim{opacity:.14}
/* risk tier outlines */
[data-risk="on"] .tas-pf__b{background:var(--paper);color:var(--ink)}
[data-risk="on"] .tas-pf__b[data-tier="minimal"]{box-shadow:inset 0 0 0 1.5px var(--line-3)}
[data-risk="on"] .tas-pf__b[data-tier="limited"]{box-shadow:inset 0 0 0 2px var(--ink);background:var(--paper-3)}
[data-risk="on"] .tas-pf__b[data-tier="high"]{box-shadow:inset 0 0 0 3px var(--blue),0 0 0 3px var(--blue-wash-2);background:var(--blue-wash)}
[data-risk="on"] .tas-pf__b.is-sel{outline:2px solid var(--ink);outline-offset:3px}
[data-risk="on"] .tas-pf__paths path{opacity:.3}

.tas-pf__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 18px;padding-top:14px;border-top:1px solid var(--line-2)}
.tas-pf__legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:var(--t-xs);color:var(--txt)}
.tas-pf__legend span{display:inline-flex;align-items:center;gap:8px}
.tas-pf__sw{width:14px;height:14px;border-radius:50%}
.tas-pf__sw[data-tier="minimal"]{box-shadow:inset 0 0 0 1.5px var(--line-3)}
.tas-pf__sw[data-tier="limited"]{box-shadow:inset 0 0 0 2px var(--ink);background:var(--paper-3)}
.tas-pf__sw[data-tier="high"]{box-shadow:inset 0 0 0 3px var(--blue);background:var(--blue-wash)}
.tas-pf__key{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-left:auto;font-family:var(--f);font-size:10.5px;letter-spacing:.04em;color:var(--muted)}

/* armed: bubbles drift up into place, paths draw after */
.tas-pf.is-armed .tas-pf__b{opacity:0;transform:translate(-50%,calc(-50% + 36px)) scale(.4)}
.tas-pf.is-armed .tas-pf__paths path{stroke-dashoffset:1}
.tas-pf.is-armed.is-in .tas-pf__b{opacity:1;transform:translate(-50%,-50%)}
.tas-pf.is-armed.is-in .tas-pf__b.is-dim{opacity:.14}
.tas-pf.is-armed.is-in .tas-pf__paths path{stroke-dashoffset:0}

/* ranked list */
.tas-pf__side{grid-column:8 / -1;grid-row:1 / span 2;min-width:0;display:flex;flex-direction:column}
.tas-pf__lh,.tas-pf__row{display:grid;grid-template-columns:30px minmax(0,1fr) 38px 64px;align-items:center;column-gap:12px}
.tas-pf__lh{padding:0 12px 10px;border-bottom:1px solid var(--ink);font-family:var(--f);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}
.tas-pf__lh span:nth-child(3){text-align:right}
.tas-pf__list li{border-bottom:1px solid var(--line)}
.tas-pf__list li[hidden]{display:none}
.tas-pf__row{width:100%;min-height:52px;padding:9px 12px;text-align:left;border-radius:var(--r-xs);transition:background var(--d1) var(--e-io)}
.tas-pf__row:hover{background:var(--paper)}
.tas-pf__row[aria-pressed="true"]{background:var(--paper);box-shadow:inset 3px 0 0 var(--ink)}
.tas-pf__rk{font-family:var(--f);font-size:var(--t-xs);font-weight:500;color:var(--faint);font-variant-numeric:tabular-nums}
.tas-pf__row.is-top .tas-pf__rk{color:var(--blue-d);font-weight:600}
.tas-pf__rn{display:flex;flex-direction:column;gap:1px;min-width:0}
.tas-pf__rn b{font-size:var(--t-sm);font-weight:500;line-height:1.3;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tas-pf__rn small{font-size:var(--t-xs);line-height:1.35;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tas-pf__rs{font-family:var(--f);font-size:var(--t-sm);font-weight:500;text-align:right;color:var(--ink);font-variant-numeric:tabular-nums}
.tas-pf__rt{justify-self:start;padding:3px 7px;border-radius:var(--r-xs);font-family:var(--f);font-size:9.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;line-height:1.2;color:var(--muted);box-shadow:inset 0 0 0 1px var(--line-3)}
.tas-pf__rt[data-tier="limited"]{color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.tas-pf__rt[data-tier="high"]{color:var(--on-ink);background:var(--blue);box-shadow:none}

.tas-pf__out{margin-top:auto;padding:18px 16px 6px;border-radius:var(--r-lg);background:var(--paper);border:1px solid var(--line)}
.tas-pf__out ul{margin-top:10px}
.tas-pf__out li{display:flex;gap:12px;align-items:flex-start;padding-block:12px;border-top:1px solid var(--line-2)}
.tas-pf__out .xt-ico{margin-top:1px;color:var(--ink)}
.tas-pf__out span{display:flex;flex-direction:column;gap:2px;font-size:var(--t-xs);line-height:1.5;color:var(--muted)}
.tas-pf__out b{font-size:var(--t-sm);font-weight:500;color:var(--ink)}
.tas-pf__list{margin-bottom:var(--tas-gap)}

/* detail */
.tas-pf__detail{grid-column:1 / span 7;grid-row:2;min-width:0;padding:clamp(20px,2.2vw,28px);border-radius:var(--r-lg);background:var(--ink);color:var(--on-ink-2)}
.tas-pf__dh .tas-lbl{color:var(--on-ink-3)}
.tas-pf__dh .tas-lbl b{font-weight:600;color:var(--on-ink)}
.tas-pf__dt{margin-top:10px;font-family:var(--f-h);font-size:clamp(1.3rem,1.9vw,1.6rem);font-weight:500;letter-spacing:-.018em;line-height:1.15;color:var(--on-ink)}
.tas-pf__dm{margin-top:6px;font-size:var(--t-sm);color:var(--on-ink-2)}
.tas-pf__dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:20px;padding-top:18px;border-top:1px solid var(--on-ink-line)}
.tas-pf__dl dt{display:flex;flex-direction:column;gap:8px;font-family:var(--f);font-size:var(--t-lbl);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--on-ink);line-height:1.35}
.tas-pf__meter{display:block;height:3px;border-radius:2px;background:var(--on-ink-line);overflow:hidden}
.tas-pf__meter i{display:block;height:100%;background:var(--blue);transform:scaleX(var(--p,0));transform-origin:left;transition:transform .6s var(--e)}
.tas-pf__tier{font-family:var(--f-b);font-size:var(--t-xs);font-weight:500;letter-spacing:0;text-transform:none;color:var(--blue)}
.tas-pf__dl dd{margin-top:10px;font-size:var(--t-xs);line-height:1.6;color:var(--on-ink-2)}
.tas-pf__dec{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:20px;padding-top:16px;border-top:1px solid var(--on-ink-line)}
.tas-pf__deck{font-family:var(--f);font-size:var(--t-lbl);letter-spacing:.12em;text-transform:uppercase;color:var(--on-ink-3)}
.tas-pf__dec b{font-family:var(--f-h);font-size:1.0625rem;font-weight:500;letter-spacing:-.01em;color:var(--on-ink)}
.tas-pf__dec .tas-lvl{background:var(--on-ink-card);color:var(--on-ink);box-shadow:inset 0 0 0 1px var(--on-ink-line)}
.tas-pf__dec .tas-lvl__p i{background:var(--on-ink-line)}
.tas-pf__dec .tas-lvl[data-l="1"] .tas-lvl__p i:nth-child(-n+1),.tas-pf__dec .tas-lvl[data-l="2"] .tas-lvl__p i:nth-child(-n+2),.tas-pf__dec .tas-lvl[data-l="3"] .tas-lvl__p i:nth-child(-n+3),.tas-pf__dec .tas-lvl[data-l="4"] .tas-lvl__p i{background:var(--blue)}
.tas-pf__detail.is-swap .tas-pf__dt,.tas-pf__detail.is-swap .tas-pf__dl dd{animation:tas-pf-in .45s var(--e) both}
@keyframes tas-pf-in{from{opacity:0;transform:translateY(6px)}}

@media (max-width:1100px){
  .tas-pf__crit{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}
  .tas-pf__chart,.tas-pf__side,.tas-pf__detail{grid-column:1 / -1;grid-row:auto}
  .tas-pf__detail{order:2}
  .tas-pf__side{order:3}
}
@media (max-width:760px){
  .tas-pf__dl{grid-template-columns:minmax(0,1fr)}
  .tas-pf__b em{display:none}
  .tas-pf__q--prep,.tas-pf__q--quick,.tas-pf__q--park{display:none}
  .tas-pf__plot{aspect-ratio:1 / 1}
  .tas-pf__bar{flex-direction:column;align-items:flex-start}
}
@media (max-width:600px){
  .tas-pf{padding:12px;border-radius:var(--r-lg)}
  .tas-pf__crit{grid-template-columns:minmax(0,1fr)}
  .tas-pf__chips{flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:none;padding-bottom:2px}
  .tas-pf__chips::-webkit-scrollbar{display:none}
  .tas-pf__lh,.tas-pf__row{grid-template-columns:24px minmax(0,1fr) 34px 58px;column-gap:8px}
  .tas-pf__row{padding-inline:6px}
}
@media (prefers-reduced-motion:reduce){.tas-pf__b,.tas-pf__paths path,.tas-pf__meter i{transition:none}}
