/* しょくぎょう人生ゲーム style.css（2026-10-21） */
:root{
  --bg:#fff7e6; --ink:#3b2a1a; --soft:#7a6650; --gold:#ffb84d; --line:#ead9bd; --panel:#fffdf7;
  --good:#16a35a; --bad:#e2394f;
  font-family:"Hiragino Maru Gothic ProN","M PLUS Rounded 1c","Hiragino Sans","Noto Sans JP","Meiryo",system-ui,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;color:var(--ink);background:var(--bg)}
body{background:radial-gradient(circle at 15% 10%,#ffe9c2 0,transparent 40%),radial-gradient(circle at 90% 90%,#d9f0ff 0,transparent 45%),var(--bg);min-height:100dvh}
button{font:inherit;color:inherit;cursor:pointer}
.scr{display:none}.scr.active{display:block}
.hidden{display:none !important}

/* はじめ */
#scr-setup{max-width:760px;margin:0 auto;padding:12px 16px 40px;text-align:center}
.hero{position:relative;border-radius:22px;overflow:hidden;min-height:150px;aspect-ratio:3/2;max-height:400px;width:100%;display:flex;align-items:flex-start;justify-content:center}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 70%}
.logo{position:relative;margin:14px 0 18px;line-height:1}
.logo .l1{display:block;font-size:clamp(26px,6vw,40px);font-weight:900;color:#fff;text-shadow:0 3px 0 #e07a1f,0 0 10px rgba(0,0,0,.25)}
.logo .l2{display:inline-block;margin-top:4px;font-size:clamp(44px,11vw,76px);font-weight:900;color:#ffd84d;transform:rotate(-3deg);
  text-shadow:0 4px 0 #e0569a,0 8px 0 #7a3bb8,0 12px 18px rgba(0,0,0,.3);animation:bob 2.4s ease-in-out infinite}
@keyframes bob{50%{transform:rotate(-3deg) translateY(-5px)}}
.lead{font-size:16px;line-height:1.8;color:var(--soft);margin:14px 0}
.setup{display:flex;flex-direction:column;gap:12px}
.pick{background:var(--panel);border:2px solid var(--line);border-radius:18px;padding:12px 14px;text-align:left}
.pick-h{font-weight:900;color:#c76a1a;margin-bottom:8px}.pick-h small{color:var(--soft);font-weight:600}
.seg{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.seg2{grid-template-columns:1fr 1fr}
.seg button{border:2px solid var(--line);background:#fff;border-radius:14px;padding:10px 4px;font-weight:900;font-size:18px}
.seg button small{display:block;font-size:12px;color:var(--soft);font-weight:600}
.seg button.on{background:var(--gold);border-color:#e08a1f;color:#3a1f00}.seg button.on small{color:#5a3a10}
#plist{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media (max-width:560px){#plist{grid-template-columns:1fr}}
.prow{display:flex;gap:8px;align-items:center}
.tokbtn{width:50px;height:50px;flex:none;border-radius:50%;border:4px solid var(--c);background:#fff;font-size:28px;line-height:1}
.prow input{flex:1;min-width:0;font:inherit;font-size:18px;padding:10px 12px;border:2px solid var(--line);border-radius:12px;background:#fff}
.btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:6px}
.big,.big2{border:0;border-radius:999px;padding:14px 46px;font-size:24px;font-weight:900;color:#3a1f00;background:linear-gradient(180deg,#ffe08a,#ffb84d);box-shadow:0 6px 0 #c76a1a,0 10px 18px rgba(0,0,0,.18)}
.big2{background:linear-gradient(180deg,#c9f0ff,#7fcfff);box-shadow:0 6px 0 #2f86c0,0 10px 18px rgba(0,0,0,.18)}
.big:active,.big2:active{transform:translateY(4px);box-shadow:0 2px 0 #c76a1a}
.links{display:flex;gap:10px;justify-content:center}
.lnk{border:2px solid var(--line);background:#fff;border-radius:999px;padding:8px 16px;font-weight:800}

/* ゲーム */
#scr-game.active{display:flex;flex-direction:column;height:100dvh}
.bar{display:flex;align-items:center;gap:10px;padding:6px 10px;background:linear-gradient(90deg,#ffb84d,#ff8a5c);color:#3a1f00;flex:none}
.mini-logo{font-size:16px;white-space:nowrap}
.bar-c{flex:1;text-align:center;font-weight:900;font-size:clamp(14px,2vw,20px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar-r{display:flex;gap:6px}
.tb{border:0;background:rgba(255,255,255,.55);border-radius:10px;padding:5px 9px;font-size:16px;font-weight:800;white-space:nowrap}
.tb span{font-size:12px;margin-left:2px}
.main{flex:1;display:grid;grid-template-columns:1fr 330px;gap:10px;padding:8px;min-height:0}
.board-wrap{min-height:0;overflow:auto;background:rgba(255,255,255,.5);border-radius:18px;padding:4px}
#board{display:grid;gap:4px}
.cell{position:relative;background:var(--bg);border-radius:12px;border:2px solid rgba(0,0,0,.08);display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:2px;overflow:visible;box-shadow:inset 0 -3px 0 rgba(0,0,0,.07)}
.cell .ci{font-size:calc(var(--cs) * .32);line-height:1}
.cell .cn{font-size:clamp(9px,calc(var(--cs) * .14),15px);font-weight:800;margin-top:2px;text-align:center;line-height:1.1;color:#4a3420}
.cell .cno{position:absolute;left:4px;top:2px;font-size:9px;color:rgba(0,0,0,.3);font-weight:700}
.cell.stop{border:3px solid #e2394f}
.cell.stop::before{content:"STOP";position:absolute;top:-7px;right:4px;background:#e2394f;color:#fff;font-size:9px;font-weight:900;padding:0 4px;border-radius:5px}
.cell.t-G{border:3px solid #e0a000}
.cell::after{position:absolute;font-size:12px;color:rgba(0,0,0,.25);font-weight:900;z-index:1}
.cell[data-dir="r"]::after{content:"▶";right:-9px;top:50%;transform:translateY(-50%)}
.cell[data-dir="l"]::after{content:"◀";left:-9px;top:50%;transform:translateY(-50%)}
.cell[data-dir="d"]::after{content:"▼";bottom:-10px;left:50%;transform:translateX(-50%)}
.cell.here{box-shadow:0 0 0 4px #fff,0 0 0 7px var(--hc,#ffb84d)}
.cell.hop{animation:hop .25s}
@keyframes hop{50%{transform:scale(1.08)}}
.cell.flash{animation:flash .9s}
@keyframes flash{30%{filter:brightness(1.25);transform:scale(1.12)}}
.toks{position:absolute;inset:auto 0 2px 0;display:flex;flex-wrap:wrap;justify-content:center;gap:1px;pointer-events:none}
.tok{width:calc(var(--cs) * .34);height:calc(var(--cs) * .34);min-width:20px;min-height:20px;border-radius:50%;background:#fff;border:3px solid var(--c);
  display:flex;align-items:center;justify-content:center;font-size:calc(var(--cs) * .2);box-shadow:0 2px 3px rgba(0,0,0,.25)}
.tok.me{transform:scale(1.25);z-index:2;animation:me 1s ease-in-out infinite}
@keyframes me{50%{transform:scale(1.25) translateY(-3px)}}
.cell:has(.tok) .cn{opacity:.35}.cell:has(.tok) .ci{transform:translateY(-30%);opacity:.6}

.side{display:flex;flex-direction:column;gap:8px;min-height:0}
.turn{background:#fff;border:3px solid var(--c);border-radius:16px;padding:8px 12px;font-size:20px;text-align:center}
.t-tok{display:inline-flex;width:34px;height:34px;border-radius:50%;border:3px solid var(--c);align-items:center;justify-content:center;font-size:20px;margin-right:6px;vertical-align:middle}
.spin{border:0;border-radius:18px;padding:14px 10px;font-size:20px;font-weight:900;color:#fff;background:var(--c,#ff8a5c);box-shadow:0 5px 0 rgba(0,0,0,.25);
  animation:pulse 1.2s ease-in-out infinite}
.spin:disabled{opacity:.4;animation:none;cursor:default}
.spin:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px 0 rgba(0,0,0,.25)}
@keyframes pulse{50%{transform:scale(1.03)}}
#players{display:flex;flex-direction:column;gap:6px;overflow:auto;min-height:0;flex:1}
.pc{position:relative;background:#fff;border-radius:14px;border-left:8px solid var(--c);padding:6px 10px;box-shadow:0 2px 0 var(--line)}
.pc.cur{box-shadow:0 0 0 3px var(--c)}
.pc.done{opacity:.75}
.pc-top{display:flex;align-items:center;gap:6px}
.pc-tok{font-size:20px}
.pc-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pc-money{font-weight:900;font-size:17px;font-variant-numeric:tabular-nums;color:#1e6b3a}
.pc-money.neg{color:var(--bad)}
.pc-job{font-size:14px;font-weight:800;display:flex;align-items:center;gap:4px}
.pc-job img{width:26px;height:26px;border-radius:50%;object-fit:cover}
.pc-q{margin-left:auto;font-size:12px;color:#a35cff}
.pc-sub,.pc-dream{font-size:12px;color:var(--soft)}
.float{position:absolute;right:10px;top:-4px;font-weight:900;font-size:20px;animation:fl 1.6s ease-out forwards;pointer-events:none;text-shadow:0 2px 0 #fff}
.float.g{color:var(--good)}.float.b{color:var(--bad)}
@keyframes fl{to{transform:translateY(-34px);opacity:0}}
.log{flex:none;max-height:110px;overflow:auto;background:rgba(255,255,255,.6);border-radius:12px;padding:6px 8px;font-size:12px;color:var(--soft);line-height:1.5}
@media (max-width:760px){
  #scr-game.active{height:auto;min-height:100dvh}
  .main{grid-template-columns:1fr}
  .side{order:-1}
  #players{display:grid;grid-template-columns:1fr 1fr;overflow:visible}
  .mini-logo{display:none}.tb span{display:none}
  .spin{position:sticky;bottom:8px;z-index:5}
}

/* カード */
.ov{position:fixed;inset:0;background:rgba(40,25,10,.45);display:flex;align-items:center;justify-content:center;z-index:50;padding:12px}
.card{position:relative;background:#fff;border-radius:24px;border:5px solid var(--c);max-width:520px;width:100%;max-height:calc(100dvh - 24px);overflow:auto;
  padding:18px 20px 16px;text-align:center;box-shadow:0 18px 40px rgba(0,0,0,.3);animation:cin .28s cubic-bezier(.2,1.4,.4,1)}
.card.wide{max-width:900px}
@keyframes cin{from{transform:scale(.7) rotate(-3deg);opacity:0}}
.card.good{background:linear-gradient(180deg,#f0fff4,#fff 40%)}
.card.bad{background:linear-gradient(180deg,#fff0f2,#fff 40%)}
.c-kind{display:inline-block;background:var(--c);color:#fff;font-weight:900;border-radius:999px;padding:3px 14px;font-size:14px;margin-bottom:6px}
.c-ic{font-size:64px;line-height:1.1}
.c-img{display:block;width:min(200px,40vw);aspect-ratio:1;object-fit:cover;border-radius:22px;margin:0 auto 4px}
.card h2{margin:6px 0;font-size:clamp(20px,3vw,28px);line-height:1.35}
.c-text{font-size:17px;line-height:1.7;margin:6px 0}
.c-sub{font-size:19px;line-height:1.6;margin:8px 0}
b.pl{color:var(--good)}b.mi{color:var(--bad)}
.c-btns{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:12px}
.c-btns.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.cb{border:0;border-radius:16px;padding:12px 22px;font-size:19px;font-weight:900;background:linear-gradient(180deg,#ffe08a,#ffb84d);box-shadow:0 4px 0 #c76a1a;min-width:120px}
.cb:active{transform:translateY(3px);box-shadow:0 1px 0 #c76a1a}
.cb.tall{display:flex;flex-direction:column;gap:4px;padding:14px;max-width:340px;flex:1 1 220px}
.cb.tall small{font-size:13px;font-weight:600;line-height:1.5}
.cb.quiz{flex:1 1 100%;background:linear-gradient(180deg,#fff,#fff3c4);box-shadow:0 4px 0 #e0b040;text-align:left}
.cb.pet{font-size:44px;padding:8px 18px;background:#fff;box-shadow:0 4px 0 var(--line);border:2px solid var(--line)}
.cb.keep{grid-column:1/-1;background:#eee;box-shadow:0 4px 0 #bbb}
.cb.jobpick{background:#fff;border:3px solid var(--line);box-shadow:0 4px 0 var(--line);padding:10px;text-align:left}
.cb.jobpick:hover{border-color:var(--gold)}
.jt img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;max-height:180px;object-fit:contain;background:#fff}
.jt-n{font-size:20px;margin-top:4px}
.jt-s{font-size:14px;color:#1e6b3a;margin:2px 0}.jt-s em{font-style:normal;background:#a35cff;color:#fff;border-radius:6px;padding:0 6px;font-size:12px}
.jt-w{font-size:13px;font-weight:600;line-height:1.5}
.jt-h{font-size:12px;font-weight:600;color:var(--soft);line-height:1.5;margin-top:4px}
.cb.zk{background:#fff;border:2px solid var(--line);box-shadow:0 3px 0 var(--line);padding:6px;font-size:15px;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}
.cb.zk img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px}
.c-btns.grid:has(.zk){grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}
.ji{text-align:left;margin:8px auto;max-width:640px;font-size:16px;line-height:1.6}
.ji dt{font-weight:900;color:#c76a1a;margin-top:6px}.ji dd{margin:0 0 0 1em}
.mini-ji{display:flex;align-items:center;gap:8px;background:#fff8e6;border-radius:12px;padding:6px 10px;text-align:left;font-size:14px;margin-top:6px}
.mini-ji img{width:52px;height:52px;border-radius:10px;object-fit:cover;flex:none}
.race{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:8px 0}
.race span{background:#f4f4f4;border-radius:10px;padding:4px 10px}.race span.w{background:#ffe08a;font-weight:900}
.howto{text-align:left;line-height:1.8;font-size:16px}

/* ルーレット */
#wheel-ov{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(40,25,10,.35);--wr:min(36vmin,200px)}
.w-label{background:#fff;border-radius:999px;padding:6px 20px;font-weight:900;font-size:22px;margin-bottom:14px;box-shadow:0 4px 0 rgba(0,0,0,.15)}
.w-wrap{position:relative;width:calc(var(--wr) * 2);height:calc(var(--wr) * 2)}
#wheel{position:absolute;inset:0;border-radius:50%;border:8px solid #fff;box-shadow:0 10px 30px rgba(0,0,0,.35);
  background:conic-gradient(#ff5d73 0 36deg,#ffb84d 0 72deg,#ffe066 0 108deg,#7ee08a 0 144deg,#4dd0c8 0 180deg,#4da3ff 0 216deg,#8a7dff 0 252deg,#c77dff 0 288deg,#ff7ac6 0 324deg,#ff9a5c 0 360deg)}
#wheel span{position:absolute;left:50%;top:50%;width:50px;height:50px;margin:-25px 0 0 -25px;display:flex;align-items:center;justify-content:center;
  font-size:calc(var(--wr) * .2);font-weight:900;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.35)}
.w-pointer{position:absolute;left:50%;top:-18px;transform:translateX(-50%);width:0;height:0;border-left:18px solid transparent;border-right:18px solid transparent;border-top:34px solid #e2394f;z-index:2;filter:drop-shadow(0 3px 0 rgba(0,0,0,.25))}
.w-hub{position:absolute;left:50%;top:50%;width:22%;height:22%;transform:translate(-50%,-50%);border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.w-num{position:absolute;font-size:min(30vmin,180px);font-weight:900;color:#fff;text-shadow:0 6px 0 #e07a1f,0 0 30px rgba(0,0,0,.4);animation:numin .35s cubic-bezier(.2,1.6,.4,1)}
@keyframes numin{from{transform:scale(.3)}}
.w-hint{margin-top:14px;color:#fff;font-weight:800;text-shadow:0 1px 3px rgba(0,0,0,.5)}

#toasts{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:70;display:flex;flex-direction:column;gap:6px;align-items:center;pointer-events:none}
.toast{background:#3b2a1a;color:#fff;border-radius:999px;padding:8px 18px;font-weight:800;font-size:16px;animation:tin .3s;box-shadow:0 4px 12px rgba(0,0,0,.3);max-width:92vw;text-align:center}
@keyframes tin{from{transform:translateY(20px);opacity:0}}
#confetti{position:fixed;inset:0;pointer-events:none;z-index:80;overflow:hidden}
#confetti i{position:absolute;top:-20px;width:10px;height:14px;border-radius:2px;animation:fall linear forwards}
@keyframes fall{to{transform:translateY(105vh) rotate(720deg)}}

/* けっか */
#scr-result{max-width:980px;margin:0 auto;padding:16px 16px 40px;text-align:center}
.res-h{font-size:clamp(24px,4vw,38px);color:#c76a1a}
#podium{display:flex;justify-content:center;align-items:flex-end;gap:12px;margin:10px 0 18px}
.pod{background:#fff;border:4px solid var(--c);border-radius:20px;padding:10px 14px;min-width:150px}
.pod.p1{order:2;transform:scale(1.12);background:linear-gradient(180deg,#fff7c9,#fff)}.pod.p2{order:1}.pod.p3{order:3}
.pod-m{font-size:40px}.pod-t{font-size:36px}.pod-y{font-size:22px;font-weight:900;color:#1e6b3a}.pod-ti{font-size:13px;color:var(--soft);margin-top:4px}
#restable{overflow-x:auto}
#restable table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden;font-size:15px}
#restable th{background:#ffb84d;padding:6px}#restable td{padding:6px;border-top:1px solid var(--line)}
#restable tr td:first-child{border-left:6px solid var(--c);font-weight:900}
#restable .neg{color:var(--bad)}
#awards{margin:18px 0}#awards h2,.want h2{font-size:22px;color:#c76a1a}
.aw{display:inline-block;background:#fff;border:2px solid var(--line);border-radius:999px;padding:6px 14px;margin:4px;font-size:15px}
.want{background:#fff;border:3px solid var(--line);border-radius:20px;padding:12px 16px;margin:16px 0;text-align:left}
.want-lead{color:var(--soft);margin-top:0}
.wrow{border-left:6px solid var(--c);padding:6px 10px;margin:8px 0;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.wrow select{font:inherit;font-size:16px;padding:6px 10px;border-radius:10px;border:2px solid var(--line)}
.wask{flex-basis:100%;display:flex;gap:10px;align-items:center;font-size:15px;line-height:1.6}
.wask img{width:72px;height:72px;border-radius:12px;object-fit:cover}
#players.compact .pc{padding:3px 8px}
#players.compact .pc-money{font-size:15px}
#players.compact .pc-job{font-size:13px}
#players.compact .pc-job img{width:20px;height:20px}
#players.compact .pc-sub,#players.compact .pc-dream{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#players.compact .pc-dream{display:inline}
#players.compact .pc-sub{display:inline;margin-right:6px}
#players.compact~.log{max-height:64px}
.side:has(#players.compact) .turn{display:none}
@media (max-width:760px){
  .pc-top{flex-wrap:wrap}.pc-name{flex:1 1 60%}.pc-money{flex-basis:100%;font-size:16px}
  .pc-sub,.pc-dream{font-size:11px}
  .jt{display:grid;grid-template-columns:96px 1fr;column-gap:10px;align-items:start}
  .jt img{grid-row:1/5;width:96px;max-height:none}
  .jt-n{margin-top:0;font-size:18px}
  .c-img{width:min(150px,38vw)}
  .card{padding:14px 14px 12px}
}
@media (prefers-reduced-motion:reduce){*{animation:none !important}}

/* ===== 2026-10-21b 見た目の仕上げ ===== */
body{background:
  radial-gradient(circle at 12% 8%,#ffe2b0 0,transparent 38%),
  radial-gradient(circle at 92% 92%,#cfeaff 0,transparent 42%),
  radial-gradient(circle,rgba(255,184,77,.18) 1.5px,transparent 1.6px) 0 0/22px 22px,
  var(--bg)}
/* はじめ */
.hero{box-shadow:0 10px 0 #f3d9a8,0 16px 30px rgba(120,70,10,.18);border:5px solid #fff}
.hero-jobs{position:absolute;left:0;right:0;bottom:0;overflow:hidden;background:linear-gradient(180deg,transparent,rgba(255,255,255,.85) 40%);padding:16px 0 6px}
.hj-track{display:flex;gap:10px;width:max-content;animation:hj 70s linear infinite}
@keyframes hj{to{transform:translateX(-50%)}}
.hj{display:flex;flex-direction:column;align-items:center;width:78px}
.hj img{width:64px;height:64px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 3px 8px rgba(0,0,0,.2);background:#fff}
.hj small{font-size:11px;font-weight:800;color:#5a3a10;white-space:nowrap}
.hero{aspect-ratio:auto;min-height:0;height:clamp(260px,52vw,440px)}
.hero-img{object-position:center 40%}
.pick{box-shadow:0 4px 0 var(--line)}
/* ヘッダー */
.bar{background:linear-gradient(90deg,#ff9a3c,#ff6f7d 55%,#b06cff);color:#fff;box-shadow:0 3px 0 rgba(0,0,0,.08)}
.bar-c{text-shadow:0 2px 0 rgba(0,0,0,.18)}
.mini-logo{text-shadow:0 2px 0 rgba(0,0,0,.2)}
.tb{background:rgba(255,255,255,.25);color:#fff}
/* 盤 */
.board-wrap{background:linear-gradient(rgba(255,250,238,.55),rgba(255,250,238,.55)),url(img/scene/board_bg.webp) center/cover,#fff6e3;border:4px solid #fff;box-shadow:0 6px 0 #f0d6a6}
#board{gap:5px}
.cell{background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(255,255,255,.35)),var(--bg);border:0;border-bottom:4px solid rgba(0,0,0,.12);
  box-shadow:0 2px 6px rgba(90,60,20,.12);border-radius:14px}
.cell .ci-img{width:calc(var(--cs) * .56);height:calc(var(--cs) * .56);object-fit:contain;filter:drop-shadow(0 2px 2px rgba(0,0,0,.15));transition:transform .2s}
.cell.has-art .ci{display:none}
.cell .cn{background:rgba(255,255,255,.8);border-radius:999px;padding:0 6px;margin-top:0}
.cell.stop{outline:3px solid #e2394f;outline-offset:-3px}
.cell.t-G{outline:3px solid #e0a000;outline-offset:-3px;background:linear-gradient(180deg,#fff8c4,#ffe27a)}
.cell:has(.tok) .ci-img{opacity:.45;transform:translateY(-18%) scale(.85)}
.cell.here .ci-img{opacity:.7}
.tok{border-width:3px;box-shadow:0 3px 0 rgba(0,0,0,.25),0 0 0 2px #fff}
/* 右側 */
.turn{display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap;background:linear-gradient(180deg,#fff,#fff8ec);box-shadow:0 4px 0 var(--line)}
.turn small{flex-basis:100%;font-size:13px;color:var(--soft)}
.spin{font-size:21px;background:linear-gradient(180deg,color-mix(in srgb,var(--c,#ff8a5c) 75%,#fff),var(--c,#ff8a5c));text-shadow:0 2px 0 rgba(0,0,0,.2)}
.pc{border-left-width:6px;background:linear-gradient(90deg,color-mix(in srgb,var(--c) 10%,#fff),#fff 60%)}
.pc-av{position:relative;flex:none;width:40px;height:40px;border-radius:50%;background:#fff;border:3px solid var(--c);display:flex;align-items:center;justify-content:center}
.pc-av img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.pc-av .pc-tok{font-size:22px;line-height:1}
.pc-av img+.pc-tok{position:absolute;right:-8px;bottom:-6px;font-size:16px;background:#fff;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px rgba(0,0,0,.3)}
#players.compact .pc-av{width:32px;height:32px}
/* カード */
.card{border-width:0;box-shadow:0 0 0 6px var(--c),0 0 0 12px #fff,0 20px 50px rgba(0,0,0,.35);
  background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--c) 14%,#fff) 0,#fff 55%)}
.card.good{background:radial-gradient(circle at 50% 0,#dcffe7 0,#fff 55%)}
.card.bad{background:radial-gradient(circle at 50% 0,#ffe0e5 0,#fff 55%)}
.c-img.art{border-radius:0;object-fit:contain;width:min(170px,38vw);filter:drop-shadow(0 6px 6px rgba(0,0,0,.18));animation:artin .5s cubic-bezier(.2,1.6,.4,1)}
@keyframes artin{from{transform:scale(.4) rotate(-12deg)}}
.c-img+.fb{display:none}
.c-img:not(.art){box-shadow:0 4px 12px rgba(0,0,0,.15);border:4px solid #fff}
.c-kind{box-shadow:0 3px 0 rgba(0,0,0,.15)}
.cb{transition:transform .08s}
.cb:hover:not(:disabled){transform:translateY(-2px)}
.ch-img{display:block;width:100%;max-height:150px;object-fit:contain;margin:0 auto 4px}
.cb.tall{background:#fff;border:3px solid var(--line);box-shadow:0 4px 0 var(--line)}
.cb.tall:hover{border-color:var(--gold)}
.cb.tall b{font-size:20px}
/* けっか */
.res-hero{position:relative;border-radius:22px;overflow:hidden;border:5px solid #fff;box-shadow:0 8px 0 #f3d9a8;margin-bottom:14px;min-height:90px}
.res-img{display:block;width:100%;height:clamp(180px,34vw,320px);object-fit:cover;object-position:center 75%}
.res-hero .res-h{position:absolute;left:0;right:0;top:10px;margin:0;font-size:clamp(32px,6vw,58px);color:#ffd84d;
  text-shadow:0 4px 0 #e0569a,0 8px 0 #7a3bb8,0 10px 18px rgba(0,0,0,.3)}
.res-hero:not(:has(img)) .res-h{position:static;margin:16px 0}
.pod-img{width:84px;height:84px;border-radius:50%;object-fit:cover;border:4px solid var(--c);display:block;margin:2px auto}
.pod-img+.pod-t{font-size:26px;margin-top:-18px;position:relative}

.seg3{grid-template-columns:repeat(3,1fr)}
.plan{margin:8px 2px 0;font-size:14px;font-weight:800;color:#1e6b3a}
.rinfo{margin-left:10px;background:rgba(255,255,255,.28);border-radius:999px;padding:3px 12px;font-size:15px;white-space:nowrap}
.rinfo b{font-size:19px}.rinfo small{margin-left:8px;font-size:12px}
@media (max-width:760px){.rinfo{margin-left:0;font-size:13px}}

/* はじめの絵：職業の帯は絵の下に出す */
.hero{height:auto;display:block;background:#fff}
.hero-img{position:relative;display:block;width:100%;height:clamp(210px,44vw,390px)}
.hero .logo{position:absolute;left:0;right:0;top:0}
.hero-jobs{position:relative;background:#fff;padding:8px 0 6px}
.spin small{display:block;font-size:14px;opacity:.9}
.hero{max-height:none}
