.trn-app{max-width:1080px;margin:auto;color:#e8e3d5;--trn-line:#c8b07833;--trn-muted:#b7b6aa}.trn-app *{box-sizing:border-box}.trn-hero{padding:30px 0 35px;border-bottom:1px solid var(--trn-line);margin-bottom:27px}.trn-eyebrow{display:block;color:#ceb681;font-size:11px;font-weight:600;letter-spacing:1.5px;line-height:1.7}.trn-hero h1{font:46px Georgia,serif;margin:12px 0 16px;color:#f3ecd9}.trn-hero>p{font-size:15px;line-height:1.7;max-width:600px;color:var(--trn-muted)}.trn-profile{display:flex;flex-wrap:wrap;gap:27px;margin-top:26px}.trn-profile>span{font-size:12px;color:var(--trn-muted)}.trn-profile strong{color:#e5ce9f;font:26px Georgia,serif;margin-right:7px}.trn-games{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.trn-games>article{padding:24px 22px;border:1px solid var(--trn-line);border-radius:16px;background:linear-gradient(140deg,#c6a96a0b,transparent),#141912;display:flex;flex-direction:column;min-width:0}.trn-game-symbol{font:44px Georgia,serif;color:#c5ad7d;margin-bottom:17px;line-height:1}.trn-games h2{font:26px Georgia,serif;line-height:1.2;margin:10px 0 14px}.trn-games p{font-size:13px;line-height:1.7;color:var(--trn-muted);margin:0 0 24px;flex:1}.trn-game-record{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--trn-muted);padding:15px 0;border-top:1px solid var(--trn-line);margin-top:auto}.trn-game-record strong{color:#e8d8b5;font-variant-numeric:tabular-nums}.trn-button{border:1px solid #dcc28b;border-radius:10px;background:linear-gradient(120deg,#e1ca99,#bd9c5a);color:#1a1b13;min-height:46px;padding:13px 19px;font-family:inherit;font-size:13px;font-weight:600;line-height:1.4;cursor:pointer;transition:filter .15s,transform .15s}.trn-button:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-1px)}.trn-button:disabled{cursor:default;opacity:.45}.trn-button-soft{background:#c9b17b12;color:#decca9;border-color:#c9b17b55}.trn-app button:focus-visible,.trn-app summary:focus-visible,.trn-app [tabindex]:focus-visible{outline:2px solid #e5c58b;outline-offset:4px}.trn-empty{margin:28px 0;padding:40px 28px;text-align:center;background:#181d1420;border:1px dashed #bba46d55;border-radius:16px}.trn-empty>span{font-size:11px;letter-spacing:1.8px;color:#c4ac7a}.trn-empty h2{font:28px Georgia,serif;margin:16px 0}.trn-empty p{font-size:14px;line-height:1.7;color:var(--trn-muted)}.trn-session{margin:28px 0;border:1px solid var(--trn-line);padding:29px;border-radius:18px;background:radial-gradient(ellipse at top right,#c4b0780a,transparent 65%),#141a13}.trn-session-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:25px}.trn-session h2{font:32px Georgia,serif;line-height:1.2;margin:10px 0 0}.trn-score{display:flex;flex-direction:column;text-align:right;gap:8px;flex-shrink:0}.trn-score strong{font:31px Georgia,serif;color:#dbc291}.trn-score small{font-size:19px;color:#8c917f}.trn-score>span{font-size:11px;color:var(--trn-muted)}.trn-deadline{font-size:12px;color:var(--trn-muted);margin:17px 0}.trn-progress{display:flex;gap:7px;margin:22px 0 26px}.trn-progress>span{height:4px;background:#bba36e22;flex:1;border-radius:2px}.trn-progress>.is-done{background:#d3b778}.trn-question>h3{font-size:17px;line-height:1.8;font-weight:500;margin:23px 0}.trn-hands{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:25px 0}.trn-hands>section{min-width:0}.trn-hands h3{font-size:13px;letter-spacing:1px;color:#ccbd9c;margin:0 0 12px}.trn-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;max-width:370px}.trn-card{aspect-ratio:5/7;background:linear-gradient(135deg,#fffaf0,#ddd7c4);color:#242b21;border-radius:8px;box-shadow:0 8px 16px #0004;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.trn-card-red{color:#a93634}.trn-card>span{position:absolute;left:7px;top:6px;font:600 18px/1 Georgia,serif;display:flex;flex-direction:column;align-items:center;gap:2px}.trn-card small{font-size:14px}.trn-card>b{font:35px Georgia,serif;padding-top:11px}.trn-card>i{position:absolute;bottom:5px;right:6px;transform:rotate(180deg);font:600 14px Georgia,serif}.trn-options{border:0;padding:0;margin:22px 0;display:grid;gap:10px}.trn-options legend{font-size:12px;color:var(--trn-muted);padding:0 0 13px}.trn-options label{display:flex;align-items:center;gap:14px;padding:15px 17px;min-height:53px;border:1px solid #c4b07935;border-radius:11px;background:#c4b07906;cursor:pointer;font-size:14px;line-height:1.5}.trn-options label:has(input:checked){border-color:#d9bd81;background:#dac38a18}.trn-options label:has(input:focus-visible){outline:2px solid #e4c58c;outline-offset:3px}.trn-options input{width:17px;height:17px;margin:0;flex:none;accent-color:#d6b879}.trn-question form>.trn-button{min-width:205px}.trn-feedback{padding:20px 21px;border:1px solid #cfb0704d;border-left:3px solid #cbb071;border-radius:8px;background:#d6b16e07;margin:20px 0}.trn-feedback.is-correct{border-color:#86af6e66;background:#89aa5d08}.trn-feedback.is-correct .trn-eyebrow{color:#b7d399}.trn-feedback h3{font-size:16px;margin:8px 0 12px;font-weight:500}.trn-feedback p,.trn-message,.trn-finish>p{font-size:14px;line-height:1.8;color:#c9c8b8;margin:12px 0}.trn-review{margin-top:26px;border-top:1px solid var(--trn-line)}.trn-review>summary{padding:21px 0;min-height:48px;cursor:pointer;font-size:14px;color:#d5c49f}.trn-review-item{border-top:1px solid #c5b27c20;padding:14px 0}.trn-review-item>h3{font-size:14px;line-height:1.8;font-weight:500;overflow-wrap:anywhere}.trn-history{margin:34px 0}.trn-history>h2{font:26px Georgia,serif}.trn-history>p{color:var(--trn-muted);font-size:14px}.trn-history ol{list-style:none;padding:0;margin:20px 0}.trn-history li{display:flex;align-items:center;gap:20px;justify-content:space-between;padding:19px 0;border-bottom:1px solid var(--trn-line)}.trn-history li>div{display:grid;gap:7px;min-width:0}.trn-history strong{font-size:14px;font-weight:500;overflow-wrap:anywhere}.trn-history li span{font-size:12px;color:var(--trn-muted)}.trn-history li>b{font:24px Georgia,serif;color:#dbc59a;white-space:nowrap}.trn-disclaimer{font-size:12px;line-height:1.8;color:var(--trn-muted);padding:20px 0;border-top:1px solid var(--trn-line)}
@media(max-width:900px){.trn-games{gap:12px}.trn-games>article{padding:20px 17px}.trn-games h2{font-size:23px}.trn-game-record{flex-direction:column;gap:6px}.trn-hands{gap:19px}.trn-card>span{font-size:16px;left:5px;top:5px}.trn-card>b{font-size:29px}.trn-card>i{font-size:12px}}
@media(max-width:650px){.trn-hero{padding:10px 0 25px}.trn-hero h1{font-size:35px}.trn-hero>p{font-size:14px}.trn-profile{gap:16px}.trn-profile strong{font-size:23px}.trn-games{grid-template-columns:1fr;gap:13px}.trn-games>article{display:grid;grid-template-columns:45px minmax(0,1fr);column-gap:17px;padding:21px}.trn-game-symbol{grid-column:1;grid-row:1/4;margin:9px 0;font-size:37px}.trn-games article>.trn-eyebrow,.trn-games h2,.trn-games p{grid-column:2}.trn-games h2{font-size:24px;margin:7px 0 10px}.trn-games p{margin-bottom:16px}.trn-game-record{grid-column:1/-1;flex-direction:row}.trn-games .trn-button{grid-column:1/-1}.trn-session{padding:22px 18px;border-radius:14px}.trn-session-heading{gap:15px;flex-wrap:wrap}.trn-session h2{font-size:27px}.trn-score{align-items:flex-start;text-align:left;flex-direction:row;align-items:baseline;gap:12px}.trn-score strong{font-size:26px}.trn-question>h3{font-size:15px}.trn-hands{grid-template-columns:1fr;gap:23px}.trn-cards{max-width:340px;margin:auto}.trn-card>span{font-size:18px;left:6px;top:6px}.trn-card>b{font-size:34px}.trn-options label{font-size:14px;padding:14px 13px}.trn-question form>.trn-button,.trn-finish>.trn-button{width:100%}.trn-feedback{padding:17px 15px}.trn-feedback p{font-size:13px}.trn-review-item .trn-cards{max-width:260px}.trn-disclaimer{font-size:12px}}
@media(prefers-reduced-motion:reduce){.trn-button{transition:none}.trn-button:hover:not(:disabled){transform:none}}

/* Deal once per question; subsequent polling does not replay the animation. */
#training-question-title{scroll-margin-top:24px}
.trn-deal .trn-card{animation:trn-deal-in 200ms ease-out both}
.trn-deal .trn-card:nth-child(2){animation-delay:120ms}
.trn-deal .trn-card:nth-child(3){animation-delay:240ms}
.trn-deal .trn-card:nth-child(4){animation-delay:360ms}
.trn-deal .trn-card:nth-child(5){animation-delay:480ms}
@keyframes trn-deal-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
.motion-off .trn-deal .trn-card,.trn-app.motion-off .trn-card{animation:none!important;transform:none!important;opacity:1!important}
@media(prefers-reduced-motion:reduce){.trn-deal .trn-card{animation:none!important;transform:none!important;opacity:1!important}}
