body.tutorial-active {
  overflow: hidden;
  background: #05020a;
}

.guided-tutorial {
  position: fixed;
  inset: 0;
  z-index: 60;
  width: 100vw;
  height: 100vh;
  min-height: 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 68% 42%, rgba(104, 36, 143, .2), transparent 34%),
    linear-gradient(145deg, #07030d, #12051b 52%, #050209);
  color: #f8e8ba;
}

.guided-tutorial-shell {
  display: grid;
  grid-template-rows: 64px minmax(0, 1fr) 58px;
  width: 100%;
  height: 100%;
  padding: 10px 16px;
  box-sizing: border-box;
}

.guided-tutorial-header,
.guided-tutorial-controls {
  display: flex;
  align-items: center;
  gap: 14px;
  border: 1px solid rgba(215, 157, 55, .72);
  background: linear-gradient(180deg, rgba(42, 10, 51, .97), rgba(15, 4, 24, .97));
  box-shadow: inset 0 0 24px rgba(184, 73, 210, .08), 0 6px 22px rgba(0,0,0,.34);
}

.guided-tutorial-header {
  justify-content: space-between;
  padding: 7px 14px;
  border-radius: 9px 9px 0 0;
}

.guided-brand { display:flex; align-items:center; gap:10px; min-width:240px; }
.guided-brand > span { color:#e875ff; font-size:32px; filter:drop-shadow(0 0 8px rgba(232,117,255,.55)); }
.guided-brand div { display:grid; }
.guided-brand strong { color:#f2cf69; font-family:Georgia,serif; letter-spacing:.08em; font-size:18px; }
.guided-brand small { color:#a990b2; font-size:9px; letter-spacing:.14em; }

.guided-progress-wrap { display:grid; gap:5px; width:min(540px,42vw); text-align:center; }
.guided-progress-wrap > span { color:#fff0c5; font-weight:800; font-size:14px; letter-spacing:.025em; }
.guided-progress-track { height:5px; border:1px solid #725129; border-radius:999px; background:#0b0610; overflow:hidden; }
.guided-progress-track i { display:block; height:100%; width:8.33%; background:linear-gradient(90deg,#b33acc,#f1c95f); box-shadow:0 0 10px #d866ef; transition:width .35s ease; }

.guided-quiet-button { color:#d7c5dd; background:#170b20; border-color:#59386a; }
.guided-tutorial-body {
  display:grid;
  grid-template-columns: clamp(270px, 18vw, 330px) minmax(0, 1fr);
  gap:12px;
  min-height:0;
  padding:12px 0;
}

.tutorial-coach {
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:0;
  padding:24px 22px;
  border:1px solid #8e5e2d;
  border-radius:10px;
  background:
    linear-gradient(135deg, rgba(85,24,99,.21), transparent 55%),
    rgba(10,4,15,.96);
  box-shadow:inset 0 0 45px rgba(128,39,151,.1);
  overflow:hidden;
}
.tutorial-coach::before { content:"♛"; position:absolute; right:-16px; top:-20px; color:rgba(211,139,234,.055); font-size:170px; }
.tutorial-coach > * { position:relative; z-index:1; }
.tutorial-coach > span { color:#d39a42; font-size:11px; font-weight:900; letter-spacing:.16em; }
.tutorial-coach h2 { margin:8px 0 12px; color:#f5d672; font:700 clamp(25px,2vw,36px)/1.02 Georgia,serif; text-wrap:balance; }
.tutorial-coach > p { margin:0; color:#e3d9e7; font-size:15px; line-height:1.55; }
.tutorial-task-card { margin-top:24px; padding:15px; border-left:3px solid #d15aee; background:rgba(86,25,101,.28); box-shadow:0 0 20px rgba(172,69,195,.1); }
.tutorial-task-card small { display:block; color:#c889db; font-size:9px; letter-spacing:.17em; }
.tutorial-task-card strong { display:block; margin-top:5px; color:#fff1c6; font-size:14px; line-height:1.4; }
.tutorial-feedback { min-height:44px; margin-top:16px!important; padding:10px 12px; border:1px solid #423048; border-radius:6px; color:#baaabd!important; font-size:12px!important; }
.tutorial-feedback.success { border-color:#7f6b30; color:#f3d86f!important; background:rgba(97,72,20,.16); }

.guided-board {
  min-width:0;
  min-height:0;
  padding:8px;
  border:1px solid #704028;
  border-radius:10px;
  background:linear-gradient(180deg,rgba(18,4,26,.98),rgba(7,2,12,.98));
  overflow:hidden;
  box-shadow:inset 0 0 42px rgba(92,28,111,.13);
}
.training-table {
  position:relative;
  display:grid;
  grid-template-rows: 66px 154px 122px 36px minmax(166px,1fr) 66px;
  gap:7px;
  height:100%;
  min-height:0;
}

.training-court-block {
  position:relative;
  padding:12px 8px 5px;
  border:1px solid #51305d;
  border-radius:7px;
  background:rgba(20,7,28,.72);
  transition:opacity .2s, filter .2s, box-shadow .2s;
}
.training-region-label { position:absolute; z-index:2; top:2px; left:50%; transform:translateX(-50%); padding:0 12px; color:#e4be59; background:#13071c; font:700 11px Georgia,serif; letter-spacing:.08em; white-space:nowrap; }
.guided-tutorial .court-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; height:100%; }
.guided-tutorial .queen-seat {
  position:relative;
  display:grid;
  grid-template-columns:36px 1fr auto;
  grid-template-rows:1fr;
  align-items:center;
  min-width:0;
  min-height:0;
  padding:4px 10px;
  border:1px solid #664025;
  border-radius:5px;
  background:linear-gradient(100deg,rgba(45,13,50,.9),rgba(11,5,17,.96));
  box-sizing:border-box;
}
.guided-tutorial .queen-seat .seat-orb { display:grid; place-items:center; width:29px; height:29px; border:1px solid #bc8531; border-radius:50%; background:#170b1e; }
.guided-tutorial .queen-seat .suit { font-size:19px; }
.guided-tutorial .queen-seat.hearts .suit { color:#e43c5c; }
.guided-tutorial .queen-seat.diamonds .suit { color:#ef9b32; }
.guided-tutorial .queen-seat.clubs .suit { color:#32c989; }
.guided-tutorial .queen-seat.spades .suit { color:#dfd3ed; }
.guided-tutorial .queen-seat .seat-label { color:#f0d47d; font:700 11px Georgia,serif; text-transform:uppercase; }
.guided-tutorial .queen-seat strong { color:#9f8ca5; font-size:9px; }
.guided-tutorial .queen-seat.seated { border-color:#e6be54; box-shadow:inset 0 0 20px rgba(235,183,64,.2),0 0 10px rgba(225,174,61,.18); }
.guided-tutorial .queen-seat.seated strong { color:#f2cf66; }
.tutorial-court-surface.objective-coronation::before {
  content:"";
  position:absolute;
  z-index:28;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 50% 63%,rgba(255,221,112,.36),rgba(192,76,222,.17) 25%,transparent 58%);
  animation:guided-coronation-light 1.8s ease-out both;
}
.tutorial-court-surface.objective-coronation::after {
  content:"FOUR QUEENS · ONE THRONE";
  position:absolute;
  z-index:29;
  left:50%;
  top:52%;
  width:max-content;
  max-width:88%;
  padding:12px 28px;
  border:1px solid #f2d26c;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(21,6,29,.92),rgba(75,20,88,.96),rgba(21,6,29,.92));
  color:#ffe79a;
  box-shadow:0 0 0 1px rgba(121,48,143,.8),0 0 42px rgba(233,190,83,.42),0 14px 35px rgba(0,0,0,.7);
  font:800 clamp(13px,1.25vw,20px)/1 Georgia,serif;
  letter-spacing:.16em;
  text-align:center;
  transform:translate(-50%,-50%);
  pointer-events:none;
  animation:guided-coronation-title 1.8s cubic-bezier(.2,.8,.2,1) both;
}
.tutorial-court-surface.objective-coronation .training-court-block.human .queen-seat.seated {
  animation:guided-throne-awaken .72s cubic-bezier(.2,.8,.2,1) both;
}
.tutorial-court-surface.objective-coronation .training-court-block.human .queen-seat.seated:nth-child(2) { animation-delay:.1s; }
.tutorial-court-surface.objective-coronation .training-court-block.human .queen-seat.seated:nth-child(3) { animation-delay:.2s; }
.tutorial-court-surface.objective-coronation .training-court-block.human .queen-seat.seated:nth-child(4) { animation-delay:.3s; }

.training-battlefield {
  display:grid;
  grid-template-columns:100px minmax(132px,1fr) minmax(360px,2.4fr) minmax(132px,1fr) 100px;
  gap:8px;
  align-items:stretch;
  min-width:0;
  padding:7px;
  border:1px solid #74452b;
  border-radius:7px;
  background:radial-gradient(circle at 50% 45%,rgba(84,26,99,.25),rgba(8,3,13,.92) 64%);
}
.training-future {
  position:relative;
  display:grid;
  grid-template-rows:auto auto 1fr auto;
  place-items:center;
  padding:7px 4px;
  border:1px solid #644031;
  border-radius:7px;
  background:linear-gradient(160deg,#281032,#100717);
  text-align:center;
}
.training-future small { color:#b195b8; font-size:8px; }
.training-future strong { color:#e8c75f; font:700 9px/1.05 Georgia,serif; }
.training-future b { align-self:center; color:#fff0b5; font:700 28px Georgia,serif; text-shadow:0 0 11px #c34ee0; }
.training-future span { color:#8d7993; font-size:8px; }

.training-waiting { display:grid; grid-template-rows:18px 1fr 14px; min-width:0; text-align:center; }
.training-waiting > strong { color:#e7c560; font:700 11px Georgia,serif; }
.training-waiting > small { color:#8b768f; font-size:8px; }
.guided-tutorial .waiting-area { min-width:0; min-height:0; padding:3px!important; border:1px solid #5d3a48; border-radius:6px; background:rgba(10,4,15,.88); overflow:hidden; }
.guided-tutorial .waiting-empty { display:grid!important; grid-template-columns:repeat(3,1fr); gap:4px; height:100%; }
.guided-tutorial .waiting-empty i { display:block; min-height:45px; border:1px dashed #594560; border-radius:4px; }
.guided-tutorial .waiting-queen-entry,.guided-tutorial .waiting-position-empty { min-width:0; min-height:0; padding:3px!important; font-size:8px!important; }
.guided-tutorial .waiting-progress-pip { width:13px!important; height:13px!important; font-size:7px!important; }

.training-path-wrap { position:relative; display:grid; grid-template-rows:20px 18px 52px 22px; align-content:center; min-width:0; text-align:center; pointer-events:none; }
.training-path-title { color:#efcd67; font:700 14px Georgia,serif; letter-spacing:.09em; }
.training-path-labels { display:flex; justify-content:space-between; color:#ba83c8; font-size:8px; font-weight:800; }
.training-path-labels span:first-child { color:#dc7955; }
.training-path-labels b { color:#d6c5da; }
.training-path { position:relative; align-self:center; height:18px; margin:0 12px; border:1px solid #9b6235; border-radius:999px; background:linear-gradient(90deg,#8c1423,#f06b3d 43%,#e16fd5 57%,#681ba0); box-shadow:0 0 16px rgba(213,75,206,.25); }
.training-path::before { content:""; position:absolute; inset:4px 4%; background:repeating-linear-gradient(90deg,transparent 0 9%,rgba(255,238,189,.48) 9.2% 9.5%); }
.path-center { position:absolute; z-index:2; left:50%; top:-5px; width:2px; height:28px; background:#fff0b2; box-shadow:0 0 9px white; }
.guided-tutorial .queen-marker { position:absolute!important; z-index:5; top:50%!important; transform:translate(-50%,-50%)!important; width:54px!important; height:76px!important; border:2px solid #edc55c!important; border-radius:7px!important; background-size:cover!important; transition:left .65s cubic-bezier(.2,.8,.2,1); box-shadow:0 0 18px rgba(230,105,243,.55)!important; }
.guided-tutorial .queen-marker span { display:none!important; }
.training-position { justify-self:center; align-self:end; padding:2px 12px; border:1px solid #704070; border-radius:999px; color:#f5e8ef; font-size:10px; background:#110718; }

.training-sequences { display:grid; grid-template-columns:minmax(340px,1fr) 132px minmax(340px,1fr); gap:12px; align-items:center; padding:4px 16px; background:rgba(8,3,12,.84); }
.training-sequences > section { min-width:0; text-align:center; }
.training-sequences > section > strong { display:block; margin-bottom:4px; color:#e9c660; font:700 11px Georgia,serif; letter-spacing:.06em; }
.guided-sequence { display:grid; grid-template-columns:repeat(4,72px); justify-content:center; gap:7px; min-height:86px; }
.guided-slot,.guided-opponent-slot { position:relative; display:block; width:72px; height:86px; padding:3px; border:1px solid #71417c; border-radius:6px; background:#0d0613; color:#9c8ca2; box-sizing:border-box; overflow:hidden; transition:transform .25s,opacity .25s,box-shadow .25s,filter .25s; }
.guided-slot small { position:absolute; z-index:5; top:3px; left:4px; color:#b8a5bc; font-size:7px; }
.guided-slot > span { display:grid; place-items:center; height:100%; font-size:8px; }
.guided-slot.locked { opacity:.3; }
.guided-slot.filled { padding:0; border-color:#d5a342; }
.guided-slot .guided-sequence-card,.guided-opponent-slot .guided-sequence-card { width:100%!important; height:100%!important; min-height:0!important; padding:5px!important; transform:none!important; pointer-events:none; }
.guided-slot .card-effect,.guided-slot .card-name,.guided-slot .card-suit-label,.guided-opponent-slot .card-effect,.guided-opponent-slot .card-name,.guided-opponent-slot .card-suit-label { display:none!important; }
.guided-slot .card-rank,.guided-opponent-slot .card-rank { font-size:14px!important; }
.guided-slot .card-symbol,.guided-opponent-slot .card-symbol { font-size:25px!important; }
.guided-card-back { display:block; width:100%; height:100%; border-radius:4px; background:#2a0c35 url('/assets/royal-card-back.png') center/cover no-repeat; }
.guided-opponent-slot.is-flipped { animation:guided-card-flip .85s ease-out; }
.guided-opponent-slot.empty { opacity:.25; }
.guided-initiative { display:grid; place-items:center; align-content:center; height:76px; border:1px solid #7a4f2d; border-radius:8px; background:linear-gradient(#2c1037,#130719); box-shadow:inset 0 0 18px rgba(220,95,240,.1); }
.guided-initiative small,.guided-initiative span { color:#a990b2; font-size:8px; letter-spacing:.1em; }
.guided-initiative b { color:#f1d267; font:700 17px Georgia,serif; }

.training-actions { position:relative; z-index:4; display:flex; align-items:center; justify-content:center; gap:8px; min-height:0; }
.guided-path-destinations {
  position:absolute;
  z-index:7;
  left:15px;
  right:15px;
  bottom:3px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:10px;
  pointer-events:none;
  color:#e8c4ec;
  font:800 9px/1.1 Arial,sans-serif;
  letter-spacing:.08em;
}
.guided-path-destinations span:first-child { justify-self:start; color:#f1a18a; }
.guided-path-destinations span:last-child { justify-self:end; color:#f0a8ec; }
.guided-path-destinations b { color:#fff1b2; }
.guided-objective-suits {
  display:grid;
  grid-template-columns:repeat(4,auto);
  align-items:center;
  justify-content:center;
  gap:12px;
  color:#f0d779;
  font:800 10px/1 Arial,sans-serif;
  letter-spacing:.08em;
  white-space:nowrap;
}
.guided-objective-suits .hearts { color:#f06d80; }
.guided-objective-suits .diamonds { color:#f4ead4; }
.guided-objective-suits .clubs { color:#67d79f; }
.guided-objective-suits .spades { color:#d2c6d9; }
.guided-action,.guided-utility-actions button { min-height:30px!important; padding:5px 14px!important; font-size:10px!important; }
.guided-utility-actions { display:flex; gap:8px; }

.training-hand { min-height:0; padding:5px 10px 7px; border:1px solid #55305f; border-radius:7px; background:rgba(18,6,25,.86); overflow:hidden; }
.training-hand-heading { display:flex; justify-content:center; gap:10px; height:22px; }
.training-hand-heading strong { color:#f0ce67; font:700 12px Georgia,serif; }
.training-hand-heading span { color:#a28fa9; font-size:10px; }
.guided-hand-cards { display:flex; justify-content:center; align-items:end; gap:7px; height:calc(100% - 22px); min-height:0; }
.guided-hand-card { width:104px!important; height:136px!important; min-height:0!important; padding:8px 7px!important; transform:none!important; margin:0!important; flex:0 0 104px; transition:transform .18s,box-shadow .18s!important; }
.guided-hand-card:hover,.guided-hand-card:focus-visible { z-index:3; transform:translateY(-8px)!important; box-shadow:0 9px 24px rgba(0,0,0,.5),0 0 0 2px #d85eef!important; }
.guided-hand-card .card-rank { font-size:18px!important; }
.guided-hand-card .card-symbol { font-size:29px!important; }
.guided-hand-card .card-name { font-size:8px!important; }
.guided-hand-card .card-effect { font-size:8px!important; line-height:1.16!important; }
.guided-empty-hand { align-self:center; color:#8e7c95; font-size:11px; }

[data-guide-area] { transition:opacity .2s,filter .2s,box-shadow .2s; }
[data-guide-area].is-muted { opacity:.34; filter:saturate(.55); }
[data-guide-area].is-focus { position:relative; z-index:2; box-shadow:0 0 0 1px rgba(226,175,67,.7),0 0 22px rgba(211,73,234,.2); }
[data-guide-area].is-attention { animation:guided-landmark-pulse 1.55s ease-in-out infinite; }
.guided-slot.is-resolving,.guided-opponent-slot.is-resolving { z-index:7; transform:translateY(-8px) scale(1.06); box-shadow:0 0 0 2px #f4d46a,0 0 25px #cd56ea; opacity:1!important; filter:none!important; }
.guided-slot.is-resolved,.guided-opponent-slot.is-resolved { opacity:.48; }
.guided-opponent-slot.is-cancelled { filter:grayscale(1); opacity:.56; transform:rotate(-5deg); }
.guided-counter-result {
  position:absolute;
  z-index:9;
  left:3px;
  right:3px;
  bottom:5px;
  padding:4px 2px;
  border:1px solid #f0cf72;
  border-radius:3px;
  background:rgba(18,6,23,.94);
  color:#ffe9a3;
  font:900 7px/1.1 Arial,sans-serif;
  letter-spacing:.04em;
  text-align:center;
  transform:rotate(5deg);
  filter:none;
}

.training-table.effect-beckon .training-path::after { content:""; position:absolute; inset:-6px 45% -6px 4%; background:linear-gradient(90deg,transparent,#ffd45d); filter:blur(5px); animation:guided-pull .55s ease-out; }
.training-table.effect-repel .training-path { animation:guided-shove .5s ease-out; }
.training-table.effect-sever .training-future.ace::after { content:"╱"; position:absolute; color:#fff0a9; font-size:70px; text-shadow:0 0 14px #ff4b6e; animation:guided-slash .5s ease-out; }
.training-table.effect-center .path-center { animation:guided-center-pulse .7s ease-out; }
.training-table.effect-guard .training-waiting.human::after { content:"♜"; position:absolute; inset:22px 35% auto; color:#aee8ff; font-size:42px; text-shadow:0 0 20px #6ed1ff; animation:guided-shield .65s ease-out; }
.training-table.effect-destroy .training-waiting.human { animation:guided-destroy .65s ease-out; }
.training-table.effect-waiting .training-waiting.human { animation:guided-court-glow .7s ease-out; }
.training-table.effect-seated .training-court-block.human { animation:guided-court-glow .75s ease-out; }
.training-table.effect-resolution .training-path { box-shadow:0 0 0 1px #edd170,0 0 22px rgba(210,76,230,.42); }
.guided-player-sequence.is-unreadying .guided-slot.filled { animation:guided-return .5s ease-in both; }

.guided-history-panel { position:absolute; z-index:20; inset:22% 25%; display:grid; place-items:center; align-content:center; padding:24px; border:1px solid #d2a34b; border-radius:10px; background:rgba(14,5,20,.98); box-shadow:0 20px 70px #000; text-align:center; }
.guided-history-panel strong { color:#f0cd64; font:700 19px Georgia,serif; }
.guided-history-panel p { color:#d5c9da; }

.guided-tutorial-controls { padding:8px 12px; border-radius:0 0 9px 9px; }
.guided-tutorial-controls button { min-height:34px; padding:6px 15px; }
.guided-controls-spacer { flex:1; }

.tutorial-complete-panel { position:absolute; inset:0; z-index:40; display:grid; place-items:center; background:radial-gradient(circle,rgba(87,20,103,.4),rgba(3,1,6,.97) 58%); }
.tutorial-complete-card { width:min(680px,90vw); padding:48px; border:1px solid #d2a23f; border-radius:14px; background:linear-gradient(145deg,#2b0c35,#0d0514); box-shadow:0 0 60px rgba(215,90,236,.27); text-align:center; }
.tutorial-complete-crown { display:block; color:#f0c956; font-size:68px; text-shadow:0 0 22px #cf5deb; }
.tutorial-complete-card h2 { margin:5px 0 10px; color:#f6d974; font:700 42px Georgia,serif; }
.tutorial-complete-card p { color:#e1d3e5; font-size:17px; }
.tutorial-complete-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; margin-top:28px; }

@keyframes guided-pull { from{opacity:0;transform:translateX(80px)} 45%{opacity:1} to{opacity:0;transform:translateX(-70px)} }
@keyframes guided-shove { 0%,100%{transform:translateX(0)} 45%{transform:translateX(9px);filter:brightness(1.5)} }
@keyframes guided-slash { from{opacity:0;transform:translate(-20px,20px) rotate(-20deg)} 45%{opacity:1} to{opacity:0;transform:translate(20px,-20px) rotate(-20deg)} }
@keyframes guided-center-pulse { 0%{box-shadow:0 0 0 0 #fff} 60%{box-shadow:0 0 0 24px rgba(255,239,174,.18)} 100%{box-shadow:0 0 0 40px transparent} }
@keyframes guided-shield { 0%{opacity:0;transform:scale(.5)} 55%{opacity:1;transform:scale(1.2)} 100%{opacity:0;transform:scale(1)} }
@keyframes guided-destroy { 0%{filter:none} 40%{filter:brightness(2) contrast(1.4);transform:scale(1.02)} 100%{filter:brightness(.5);transform:scale(.96)} }
@keyframes guided-court-glow { 0%,100%{box-shadow:none} 45%{box-shadow:inset 0 0 28px rgba(255,205,82,.32),0 0 30px rgba(217,78,235,.35)} }
@keyframes guided-return { to{transform:translateY(80px) scale(.75);opacity:0} }
@keyframes guided-card-flip { 0%{transform:rotateY(90deg)} 100%{transform:rotateY(0)} }
@keyframes guided-landmark-pulse {
  0%,100% { filter:brightness(1); box-shadow:0 0 0 1px rgba(226,175,67,.66),0 0 12px rgba(211,73,234,.18); }
  50% { filter:brightness(1.18); box-shadow:0 0 0 3px rgba(246,208,99,.92),0 0 30px rgba(220,83,239,.55); }
}
@keyframes guided-throne-awaken {
  0% { opacity:.45; transform:translateY(7px) scale(.94); filter:brightness(.75); }
  58% { opacity:1; transform:translateY(-3px) scale(1.045); filter:brightness(1.55); box-shadow:inset 0 0 26px rgba(255,215,95,.36),0 0 24px rgba(226,175,64,.5); }
  100% { opacity:1; transform:none; filter:none; }
}
@keyframes guided-coronation-light {
  0% { opacity:0; transform:scale(.76); }
  32% { opacity:1; }
  100% { opacity:0; transform:scale(1.08); }
}
@keyframes guided-coronation-title {
  0% { opacity:0; transform:translate(-50%,-42%) scale(.82); letter-spacing:.28em; }
  24%,66% { opacity:1; transform:translate(-50%,-50%) scale(1); }
  100% { opacity:0; transform:translate(-50%,-58%) scale(1.035); }
}

@media (max-width: 1250px), (max-height: 800px) {
  .guided-tutorial-shell { grid-template-rows:54px minmax(0,1fr) 48px; padding:6px 9px; }
  .guided-tutorial-body { grid-template-columns:250px minmax(0,1fr); gap:8px; padding:7px 0; }
  .tutorial-coach { padding:16px; }
  .tutorial-coach h2 { font-size:24px; }
  .tutorial-coach > p { font-size:12px; }
  .tutorial-task-card { margin-top:12px; padding:10px; }
  .training-table { grid-template-rows:54px 128px 102px 32px minmax(128px,1fr) 54px; gap:5px; }
  .training-battlefield { grid-template-columns:82px minmax(104px,1fr) minmax(300px,2.2fr) minmax(104px,1fr) 82px; }
  .guided-hand-card { width:88px!important; height:111px!important; flex-basis:88px; }
  .guided-hand-card .card-effect { font-size:7px!important; }
  .guided-sequence { grid-template-columns:repeat(4,60px); min-height:72px; }
  .guided-slot,.guided-opponent-slot { width:60px;height:72px; }
  .guided-objective-suits { gap:7px; font-size:8px; }
  .guided-path-destinations { font-size:7px; }
}

@media (prefers-reduced-motion: reduce) {
  .guided-tutorial *, .guided-tutorial *::before, .guided-tutorial *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; }
}

body.reduce-motion .guided-tutorial *,
body.reduce-motion .guided-tutorial *::before,
body.reduce-motion .guided-tutorial *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
