/* CORPORATE のカード・CEO・株価レース。企業らしく、金と紺で引き締める（PON! の太い枠は引き継ぐ） */
:root{--co-ink:#17151F}
/* ---- 通常カード ---- */
.co-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--mw,104px),1fr));gap:12px 8px}
.co-card{--col:#3b3667;--col2:#25204a;position:relative;display:block;width:100%;aspect-ratio:5/7;container-type:inline-size;padding:0;margin:0;border:0;background:none;color:#fff;font:inherit;text-align:left;cursor:pointer;transition:transform .12s}
div.co-card{cursor:default}
.co-f{position:relative;display:grid;grid-template-rows:auto 1fr;width:100%;height:100%;border-radius:7cqw;border:2.6cqw solid var(--co-ink);background:var(--col);box-shadow:0 2.4cqw 0 var(--co-ink);overflow:hidden;transition:box-shadow .12s}
.co-card:hover{transform:translateY(-3%)}
.cat-draw{--col:#2c64c9;--col2:#173a82}.cat-action{--col:#2a8f5c;--col2:#14573a}.cat-funding{--col:#c4821c;--col2:#7a4a08}.cat-special{--col:#7a45c9;--col2:#46257f}.cat-disrupt{--col:#c0394a;--col2:#6e1a27}.cat-free{--col:#0f8f93;--col2:#08565a}
.kind-cash{--col:#a07c10;--col2:#5e4707}.kind-junk{--col:#5b5868;--col2:#38364a}.kind-ir{--col:#e9e6ff;--col2:#bdb5ee;color:var(--co-ink)}
.co-art{position:relative;display:grid;place-items:center;margin:2.2cqw 2.2cqw 0;min-height:0;border-radius:4.2cqw;border:1.6cqw solid var(--co-ink);background:radial-gradient(circle at 50% 38%,rgba(255,255,255,.34),transparent 62%),linear-gradient(160deg,var(--col),var(--col2));overflow:hidden;aspect-ratio:1/.78}
.co-art::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.07) 0 3cqw,transparent 3cqw 6cqw)}
.co-art svg{position:relative;width:32cqw;height:32cqw;margin-top:-6cqw;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1.2cqw 0 rgba(0,0,0,.35))}
.kind-ir .co-art svg{stroke:var(--co-ink);filter:none}
.co-cost{position:absolute;left:-1cqw;top:-1cqw;z-index:3;width:17cqw;height:17cqw;display:grid;place-items:center;border-radius:50%;background:#FFC83D;color:var(--co-ink);border:1.8cqw solid var(--co-ink);font-weight:900;font-size:10.5cqw;box-shadow:0 1cqw 0 var(--co-ink)}
.co-kind{position:absolute;right:2cqw;top:2cqw;z-index:2;font-weight:900;font-size:max(7.5px,5.2cqw);padding:.3cqw 2.6cqw;border-radius:99px;background:var(--co-ink);color:#fff}
.co-chips{position:absolute;left:0;right:0;bottom:1.6cqw;display:flex;gap:1.4cqw;justify-content:center;flex-wrap:wrap;z-index:2}
.co-chip{display:inline-flex;align-items:baseline;gap:.8cqw;padding:.3cqw 2.4cqw;border-radius:99px;background:rgba(23,21,31,.9);color:#fff;font-weight:900;font-size:max(8.5px,6.6cqw);line-height:1.35;border:.6cqw solid rgba(255,255,255,.45)}
.co-chip small{display:none;font-size:max(7px,4.6cqw);font-weight:700;opacity:.85}
.co-chip.k-c,.co-chip.k-s{color:#FFC83D}.co-chip.k-d{color:#9fd0ff}.co-chip.k-a{color:#9ff0c4}.co-chip.k-b{color:#ffd29a}
.co-body{display:grid;grid-template-rows:auto 1fr;gap:1cqw;padding:2cqw 4cqw 3.4cqw;min-height:0}
.co-nm{font-weight:900;font-size:10cqw;line-height:1.2;padding:0}
.co-nm.long{font-size:8cqw;white-space:nowrap}
.co-tx{display:none;font-weight:700;font-size:7cqw;line-height:1.4;opacity:.95;min-height:0;overflow:hidden}
.kind-ir .co-tx,.kind-ir .co-left{opacity:.8}
@container (min-width:128px){.co-tx{display:block}.co-chip small{display:inline}}
.co-left{position:absolute;right:3cqw;bottom:1.6cqw;font-weight:900;font-size:max(7.5px,4.8cqw);opacity:.75}
.co-card.out{opacity:.35;filter:grayscale(.7)}
.co-card.afford .co-f{box-shadow:0 0 0 3px rgba(46,211,160,.85),0 2.4cqw 0 var(--co-ink)}
.co-card.pickable .co-f{box-shadow:0 0 0 3px #FFC83D,0 2.4cqw 0 var(--co-ink);animation:copulse 1s ease-in-out infinite}
@keyframes copulse{50%{filter:brightness(1.25)}}
.co-card.focus{transform:translateY(-5%)}.co-card.focus .co-f{box-shadow:0 0 0 3px #fff,0 2.4cqw 0 var(--co-ink)}
.co-card.picked{transform:translateY(-8%)}.co-card.picked .co-f{box-shadow:0 0 0 4px #FFC83D,0 2.4cqw 0 var(--co-ink)}
.co-card.dim{opacity:.4}
.co-card.bought{animation:cobuy .5s var(--pop,ease-out)}
@keyframes cobuy{0%{transform:scale(1.12);filter:brightness(1.6)}100%{transform:none}}
.co-card.new{animation:none}
@keyframes codraw{0%{transform:translateY(30px) rotate(6deg) scale(.8);opacity:0}100%{transform:none;opacity:1}}
.co-mini{background:var(--col,#444)}
.co-hand .co-card{flex:0 0 92px;scroll-snap-align:start;aspect-ratio:5/6.4}
.co-hand .co-card .co-art{aspect-ratio:1/.7}
@media (min-width:900px) and (min-aspect-ratio:1/1){.co-hand .co-card{flex-basis:104px}.co-grid{--mw:136px}}
@media (max-width:600px){.co-players{grid-template-columns:repeat(auto-fit,minmax(104px,1fr))}.co-pl-meta{display:none}.co-stock{font-size:20px}.co-pl-nm{font-size:12px}}

/* ---- CEO（金のフレームの肖像カード）---- */
.co-ceos{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px 14px;padding:4px 2px 8px}
.co-ceo{--rx:0deg;--ry:0deg;--mx:50%;--my:30%;position:relative;display:block;width:100%;max-width:250px;justify-self:center;aspect-ratio:5/7.2;container-type:inline-size;padding:0;border:0;background:none;color:#fff;font:inherit;text-align:left;cursor:pointer;perspective:900px}
.cx-in{position:relative;display:block;height:100%;border-radius:6.5cqw;padding:2.4cqw;background:conic-gradient(from 210deg,#7a5a14,#ffe28a,#b98a1f,#fff2b8,#8a6416,#ffe28a,#7a5a14);box-shadow:0 0 0 .9cqw var(--co-ink),0 3.4cqw 0 .6cqw var(--co-ink),0 5cqw 8cqw rgba(0,0,0,.45);transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .18s ease-out}
.cx-face{position:relative;display:grid;grid-template-rows:1fr auto auto auto;height:100%;border-radius:4.6cqw;overflow:hidden;border:.9cqw solid var(--co-ink);background:#222}
.cx-top{position:absolute;left:3cqw;right:3cqw;top:3cqw;z-index:3;display:flex;justify-content:space-between;align-items:center}
.cx-no{font-weight:900;font-size:max(8px,5.4cqw);letter-spacing:.14em;padding:.8cqw 3cqw;border-radius:99px;background:var(--co-ink);color:#FFC83D;border:.6cqw solid #FFC83D}
.cx-ty{font-style:normal;font-weight:900;font-size:max(8px,5cqw);padding:.8cqw 3cqw;border-radius:99px;background:#FFFBF0;color:var(--co-ink);border:.7cqw solid var(--co-ink)}
.cx-ty.ins{background:#FF4D5E;color:#fff}
.cx-art{position:absolute;inset:0;display:block}
.cx-bg,.cx-fig{position:absolute;display:block}
.cx-bg{inset:0}.cx-bg svg{width:100%;height:100%;display:block}
.cx-fig{left:0;top:5%;width:100%;height:66%}.cx-fig svg{width:100%;height:100%;display:block;overflow:visible}
.cx-plate{position:relative;z-index:3;grid-row:2;margin:0 3cqw;text-align:center;padding:1.2cqw 3cqw .6cqw;background:linear-gradient(180deg,#fff7d6,#f1d27a 55%,#d6aa3c);color:var(--co-ink);border:.9cqw solid var(--co-ink);border-radius:2.4cqw;box-shadow:0 1.2cqw 0 var(--co-ink)}
.cx-plate b{display:block;font-family:'Shippori Mincho','Noto Serif JP',serif;font-weight:800;font-size:max(13px,10.5cqw);line-height:1.2;letter-spacing:.04em;white-space:nowrap}
.cx-plate small{display:block;font-weight:900;font-size:max(7px,4.4cqw);letter-spacing:.14em;color:#6b4d08}
.cx-skill{position:relative;z-index:3;grid-row:3;margin:3.4cqw 3cqw 0;padding:2.4cqw 3cqw;background:rgba(23,21,31,.9);border-radius:2.6cqw;border:.6cqw solid rgba(255,226,138,.7);font-weight:700;font-size:max(9.5px,5.4cqw);line-height:1.45;color:#FFFBF0}
.cx-ft{position:relative;z-index:3;grid-row:4;display:flex;justify-content:space-between;align-items:center;gap:2cqw;padding:2cqw 4cqw 3cqw;font-size:4.4cqw;font-weight:900}
.cx-ft .tr{font-family:'Shippori Mincho','Noto Serif JP',serif;font-weight:700;font-size:max(9px,5cqw);color:#fff;text-shadow:0 .3cqw 0 var(--co-ink)}
.cx-ft .ip{font-size:max(8px,4.4cqw);padding:.6cqw 3cqw;border-radius:99px;background:#FFC83D;color:var(--co-ink);border:.7cqw solid var(--co-ink);white-space:nowrap}
@container (max-width:189px){.cx-ft{display:none}.cx-face{grid-template-rows:1fr auto auto}.cx-skill{margin-bottom:3cqw}}
.cx-sheen{position:absolute;inset:0;z-index:4;pointer-events:none;mix-blend-mode:overlay;background:radial-gradient(circle at var(--mx) var(--my),rgba(255,255,255,.65),transparent 48%),linear-gradient(115deg,transparent 30%,rgba(255,255,255,.35) 45%,transparent 60%);opacity:0;transition:opacity .2s}
.co-ceo:hover .cx-sheen{opacity:1}
.cx-own{position:absolute;z-index:5;left:50%;top:40%;transform:translate(-50%,-50%) rotate(-8deg);padding:.4cqw 5cqw;background:#FF4D5E;color:#fff;font-style:normal;font-weight:900;font-size:9cqw;white-space:nowrap;border:1cqw solid var(--co-ink);border-radius:2cqw}
.co-ceo.taken .cx-in{filter:grayscale(.85) brightness(.7)}
.co-ceo.afford .cx-in{box-shadow:0 0 0 .9cqw var(--co-ink),0 0 0 2.4cqw rgba(46,211,160,.9),0 3.4cqw 0 .6cqw var(--co-ink)}
.co-ceo.focus .cx-in{box-shadow:0 0 0 .9cqw var(--co-ink),0 0 0 2.4cqw #fff,0 3.4cqw 0 .6cqw var(--co-ink)}
.co-ceo.new .cx-in{animation:coceo .9s var(--pop,ease-out)}
@keyframes coceo{0%{transform:scale(1.25) rotate(-3deg) rotateX(var(--rx))}100%{transform:none}}
.co-ceob{flex:none;position:relative;width:26px;height:32px;border-radius:7px;overflow:hidden;border:2px solid #ffe28a}
.co-ceob svg{position:absolute;inset:0;width:100%;height:100%;display:block}

/* ---- 株価レース ---- */
.co-race{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;padding:8px 14px 6px;border-radius:16px;border:3px solid var(--co-ink);background:var(--tile,#2A2640);box-shadow:0 4px 0 var(--co-ink)}
.co-race>b{font-weight:900;font-size:11px;letter-spacing:.12em;color:#FFC83D;line-height:1.2}
.co-track{position:relative;height:40px;margin:0 22px 0 16px}
.co-track .rail{position:absolute;left:0;right:0;top:17px;height:6px;border-radius:9px;background:rgba(255,255,255,.14)}
.co-track .rail b{position:absolute;left:0;top:0;bottom:0;border-radius:9px;background:linear-gradient(90deg,#2ED3A0,#FFC83D);transition:width .6s ease}
.co-track .tk{position:absolute;top:27px;transform:translateX(-50%);font-size:9px;color:#A9A3C9;font-weight:900}
.co-track .tok{position:absolute;top:3px;transform:translateX(-50%);width:30px;height:30px;border-radius:50%;border:3px solid var(--co-ink);display:grid;place-items:center;font-weight:900;font-size:12px;color:var(--co-ink);box-shadow:0 3px 0 var(--co-ink);z-index:2;transition:left .6s var(--pop,ease-out)}
.co-track .tok.turn{box-shadow:0 0 0 3px #FFC83D,0 3px 0 var(--co-ink)}
.co-track .goal{position:absolute;right:-4px;top:-3px;font-weight:900;font-size:10px;background:#FF4D5E;color:#fff;border:2.5px solid var(--co-ink);padding:0 7px;border-radius:8px;z-index:3;white-space:nowrap}
.co-pl-top{align-items:center}
.co-pl-top .co-pl-nm{display:flex;align-items:center;gap:6px}
.co-pl-top .co-pl-nm>span{min-width:0;overflow:hidden;text-overflow:ellipsis}

/* ---- 山札・捨て札（カードの行き先）と、飛んでいくカード ---- */
.co-piles{display:flex;gap:10px;margin-left:auto;align-items:flex-end}
.co-pile{position:relative;display:grid;justify-items:center;gap:1px;width:46px;color:#fff;font-weight:800}
.co-pile b{position:absolute;top:-6px;right:-6px;z-index:2;min-width:20px;padding:0 5px;border-radius:99px;background:#FFC83D;color:#17151F;border:2px solid #17151F;font-size:11px;line-height:16px;text-align:center}
.co-pile small{font-size:10px;opacity:.8}
.co-stack{position:relative;display:grid;place-items:center;width:46px;height:58px;border-radius:8px;border:2px solid #17151F;background:repeating-linear-gradient(45deg,#4B33C9 0 6px,#6A4DFF 6px 12px);box-shadow:2px 2px 0 #17151F,4px 4px 0 #3a3466,6px 6px 0 #17151F}
.co-pile.disc .co-stack{background:#2A2640;border-style:dashed;border-color:#A9A3C9;box-shadow:none}
.co-pile.disc:not(.empty) .co-stack{border-style:solid;border-color:#17151F;box-shadow:2px 2px 0 #17151F,4px 4px 0 #3a3466}
.co-pile.empty .co-stack{opacity:.45;box-shadow:none}
.co-pile.hot .co-stack{animation:copulse 1s ease-in-out infinite;border-color:#FFC83D}
.co-ptop{width:100%;height:100%;display:grid;place-items:center;border-radius:6px;background:var(--card-bg,#444);color:#fff;font-size:10px;line-height:1.15;text-align:center;padding:2px;overflow:hidden;word-break:break-all}
.co-fly{box-shadow:0 10px 18px rgba(0,0,0,.45);will-change:transform}
.co-card.co-back .co-f{background:repeating-linear-gradient(45deg,#4B33C9 0 8px,#6A4DFF 8px 16px)}
@media (prefers-reduced-motion:reduce){.co-fly{display:none}}
