/* The choices stay quiet; the cards and slot machine carry the spectacle. */
.game-rules{max-width:660px;margin:0 auto 28px;color:#b7acc7;font-size:14px;line-height:1.8}
.game-rules summary{width:max-content;max-width:100%;margin:auto;cursor:pointer;padding:8px 18px;text-underline-offset:5px}
.game-rules[open] summary{color:#f0e8fa}
.game-rules ul{padding:18px 20px 18px 36px;margin:12px 0 0;border-top:1px solid #30233e;text-align:left}
.game-rules li+li{margin-top:10px}
.swan-offer{max-width:420px;margin:24px auto;text-align:left;border-left:2px solid #ae85d5;padding:5px 0 5px 22px}
.swan-offer>span{font:12px monospace;letter-spacing:2px;color:#c5a3e8}
.swan-offer p{font-size:20px;line-height:1.65;margin:12px 0;color:#f3edf9}
.swan-offer small{font-size:14px;color:#afa2bf}
.exchange-note{font-size:14px;color:#b6aac5;line-height:1.8;text-align:center;margin:0 auto 24px;max-width:700px}
.trade-screen .section-header strong{font-weight:600;color:#f1e9fa}
.trade-bar{background:#100b1a;border-top:1px solid #342840;border-bottom:0;border-radius:12px;padding:20px 24px}
.trade-bar .primary,.trade-confirmed .primary,.result-panel .primary{background:#eee8f6;color:#21142f;border:0;border-radius:10px;box-shadow:none;min-height:52px;font-size:16px;font-weight:600;letter-spacing:0;clip-path:none}
.trade-bar .primary:disabled{background:#2c2436;color:#9b90a9;opacity:1}
.trade-bar .primary:hover:not(:disabled),.trade-confirmed .primary:hover,.result-panel .primary:hover{background:white}
.trade-bar strong{font-size:28px;color:#eee6f5}
.trade-bar small{letter-spacing:0}
.trade-bar>div{gap:20px}
.trade-bottom .small{font-size:14px!important}
.trade-confirmed{max-width:600px;margin:0 auto;padding:42px 24px 18px;text-align:center}
.traded-art{display:block;width:156px;height:234px;object-fit:contain;margin:24px auto;border-radius:8px;animation:tradeSettle .55s ease-out both}
.trade-confirmed h1{font-size:clamp(23px,4vw,32px);letter-spacing:-1px;font-weight:600;line-height:1.6}
.trade-confirmed h1 span{margin:0 14px;color:#ab96c0;font-weight:400}
.trade-confirmed p{font-size:16px;line-height:1.8;color:#b6aac5;margin:12px 0 26px}
.trade-confirmed .primary{min-width:250px;max-width:100%}
.reveal-outcome{font-size:15px!important;line-height:1.85!important;color:#a89bb9!important;margin:8px 0 28px!important}
.reveal-title{animation:revealShift .8s ease-out both}
.profile-result{padding-bottom:24px;margin-bottom:25px;border-bottom:1px solid #342741}
.profile-result>span{font:12px monospace;letter-spacing:2px;color:#c4a1e7}
.profile-result h2{font-size:clamp(22px,3vw,29px);font-weight:500;line-height:1.5;margin:12px 0}
.profile-result p{font-size:14px;line-height:1.9;color:#b4a6c5;margin:0}
.risk-stars{font-size:22px;letter-spacing:6px;color:#d4afe8;margin:14px 0 0}
.risk-stars span{color:#65546f}
.risk-note{font-size:14px}
.data-graph .data-link{stroke:#d6a0fb;stroke-width:.6;stroke-dasharray:none;opacity:.65}
.graph-node{border-radius:6px;min-width:88px;padding:12px 10px;box-shadow:none}
.graph-center>span{font:14px monospace;letter-spacing:1px}
.graph-center{background:#140b21;box-shadow:0 0 40px #9d45ff18}
.graph-node>strong{font-size:14px}
.analysis-result{border-top:0;padding-top:0}
.combining .data-link{stroke-dasharray:80;animation:connectData 2s ease-out both}
@keyframes tradeSettle{from{opacity:0;transform:translateY(12px) rotate(-4deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
@keyframes connectData{from{stroke-dashoffset:80;opacity:0}to{stroke-dashoffset:0;opacity:.65}}
@keyframes revealShift{from{opacity:0;transform:translateY(12px);filter:blur(5px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@media(max-width:650px){
  .game-rules{padding:0 8px}
  .swan-offer{padding-left:16px}
  .swan-offer p{font-size:18px}
  .trade-bar{padding:16px 12px;gap:10px}
  .trade-bar>div{gap:5px}
  .trade-bar .primary{font-size:14px;padding:14px 16px}
  .trade-confirmed{padding-top:32px}
  .traded-art{width:140px;height:210px}
  .graph-node{min-width:76px;padding:10px 8px}
  .graph-node>strong{font-size:12px}
  .data-graph{width:100%;max-width:350px}
  .graph-center>span{font-size:12px}
  .analysis-result{padding-top:16px}
  .profile-result{margin-bottom:20px;padding-bottom:20px}
}
@media(prefers-reduced-motion:reduce){.traded-art,.reveal-title,.combining .data-link{animation:none}}
