/* PLAY BALL 색상 변경: 이 토큰만 바꾸면 전체 UI에 반영됩니다. */
:root {
  --color-primary:#c8102e;
  --color-primary-hover:#a50d26;
  --color-background:#f3f5f9;
  --color-surface:#ffffff;
  --color-surface-alt:#e7ebf3;
  --color-text:#131c38;
  --color-muted:#69738b;
  --color-border:#d7dce7;
  --field:#131c38;
  --field-line:#8491b3;
  --radius:12px;
  --font:Arial,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  color-scheme:light;
}

[data-theme="dark"] {
  --color-primary:#f0445d;
  --color-primary-hover:#ff6b80;
  --color-background:#080e21;
  --color-surface:#121b35;
  --color-surface-alt:#1c2947;
  --color-text:#f3f5fc;
  --color-muted:#a4b0cb;
  --color-border:#2b3958;
  --field:#111d3e;
  --field-line:#8491b3;
  color-scheme:dark;
}

* {
  box-sizing:border-box;
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:24px;
}

body {
  margin:0;
  background:var(--color-background);
  color:var(--color-text);
  font-family:var(--font);
  -webkit-font-smoothing:antialiased;
}

button,a {
  -webkit-tap-highlight-color:transparent;
}

a {
  color:inherit;
  text-decoration:none;
}

button {
  font:inherit;
  color:inherit;
  cursor:pointer;
}

button,a {
  touch-action:manipulation;
}

button {
  border:0;
}

button:focus-visible,a:focus-visible {
  outline:3px solid var(--color-primary);
  outline-offset:5px;
}

h1,h2,h3,p {
  margin:0;
}

svg {
  display:block;
  width:100%;
  height:100%;
}

.site-header,main,.site-footer {
  width:min(1280px,calc(100% - 96px));
  margin-inline:auto;
}

.site-header {
  height:104px;
  display:flex;
  align-items:center;
  border-bottom:1px solid var(--color-border);
  gap:32px;
}

.wordmark {
  font-family:Impact,"Arial Narrow",sans-serif;
  font-size:29px;
  letter-spacing:-.8px;
  font-weight:900;
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-style:italic;
  white-space:nowrap;
}

.logo-base {
  height:10px;
  width:10px;
  background:var(--color-primary);
  transform:rotate(45deg);
  margin-top:6px;
}

.navigation {
  display:flex;
  gap:34px;
  margin:auto;
  align-self:stretch;
}

.navigation a {
  position:relative;
  display:flex;
  align-items:center;
  font-size:12px;
  font-weight:800;
  letter-spacing:1px;
  color:var(--color-muted);
  min-height:48px;
}

.navigation a[aria-current] {
  color:var(--color-primary);
}

.navigation a[aria-current]:after {
  content:"";
  position:absolute;
  bottom:-1px;
  height:3px;
  left:0;
  right:0;
  background:var(--color-primary);
}

.nav-icon {
  display:none;
}

.theme-toggle {
  width:44px;
  height:44px;
  border-radius:50%;
  background:transparent;
  border:1px solid var(--color-border);
  font-size:24px;
}

.theme-toggle:hover {
  background:var(--color-surface-alt);
}

.skip-link {
  position:fixed;
  top:-100px;
  left:20px;
  background:var(--color-primary);
  padding:14px;
  z-index:10;
}

.skip-link:focus {
  top:10px;
}

main:focus {
  outline:none;
}

.hero {
  padding:54px 0 44px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:35px;
  align-items:center;
}

.eyebrow {
  display:block;
  font-size:10px;
  letter-spacing:1.9px;
  font-weight:800;
}

.hero-copy>.eyebrow {
  display:flex;
  align-items:center;
  gap:8px;
}

.eyebrow i,.status-dot {
  width:7px;
  height:7px;
  background:var(--color-primary);
  border-radius:50%;
  display:inline-block;
}

.hero h1 {
  font-size:clamp(44px,4.65vw,68px);
  letter-spacing:-3px;
  line-height:1.19;
  margin:20px 0 19px;
  font-weight:900;
  position:relative;
}

.hero h1 em {
  font-style:normal;
  color:var(--color-primary);
}

.title-spark {
  font-family:Arial;
  font-size:55px;
  color:var(--color-primary);
  display:inline-block;
  margin-left:28px;
  vertical-align:top;
  transform:rotate(-12deg);
}

.hero-copy>p {
  font-size:15px;
  line-height:1.9;
  color:var(--color-muted);
  letter-spacing:-.3px;
}

.primary-button {
  background:var(--color-primary);
  color:#fff8ef;
  min-height:52px;
  display:inline-flex;
  justify-content:space-between;
  gap:40px;
  align-items:center;
  padding:0 24px;
  border-radius:5px;
  font-size:13px;
  letter-spacing:.8px;
  font-weight:800;
  transition:background .16s,transform .16s;
}

.primary-button:hover {
  background:var(--color-primary-hover);
  transform:translateY(-2px);
}

.primary-button:active {
  transform:translateY(1px);
}

.primary-button span {
  font-size:22px;
  font-weight:400;
}

.play-button {
  margin-top:29px;
  min-width:191px;
}

.hero-note {
  display:block;
  font-size:10px;
  letter-spacing:.8px;
  margin-top:13px;
  color:var(--color-muted);
}

.mobile-break {
  display:none;
}

.stadium {
  height:350px;
  position:relative;
  background:var(--field);
  border-radius:14px;
  overflow:hidden;
  color:#c7d0bb;
  isolation:isolate;
  box-shadow:inset 0 0 0 1px #ffffff0c;
}

.stadium:after {
  content:"";
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(90deg,transparent 0 47px,#ffffff02 47px 94px);
  z-index:-1;
}

.stadium-top,.stadium-bottom {
  position:absolute;
  left:22px;
  right:22px;
  display:flex;
  justify-content:space-between;
  font-family:monospace;
  font-size:8px;
  letter-spacing:1.3px;
  z-index:3;
}

.stadium-top {
  top:20px;
}

.stadium-bottom {
  bottom:19px;
  font-size:7px;
}

.field-ring {
  position:absolute;
  border:1px solid #92a38b30;
  border-radius:50%;
  left:50%;
  transform:translateX(-50%);
}

.ring-one {
  width:320px;
  height:320px;
  top:57px;
}

.ring-two {
  width:440px;
  height:440px;
  top:-3px;
}

.ring-three {
  width:560px;
  height:560px;
  top:-63px;
}

.diamond {
  position:absolute;
  width:140px;
  height:140px;
  left:50%;
  top:150px;
  transform:translateX(-50%) rotate(45deg);
  border:1px solid #bbc8ac99;
}

.base {
  position:absolute;
  width:8px;
  height:8px;
  background:#d9dfc7;
}

.base.first {
  top:-4px;
  right:-4px;
}

.base.second {
  top:-4px;
  left:-4px;
}

.base.third {
  bottom:-4px;
  left:-4px;
}

.base.home {
  bottom:-4px;
  right:-4px;
  background:var(--color-primary);
}

.infield {
  position:absolute;
  inset:44px;
  border:1px solid #bbc8ac55;
  border-radius:50%;
  background:#9cac8e19;
}

.foul-line {
  position:absolute;
  top:322px;
  width:330px;
  height:1px;
  background:#9daa8c66;
  left:50%;
  transform-origin:left;
}

.foul-line.left {
  transform:rotate(-135deg);
}

.foul-line.right {
  transform:rotate(-45deg);
}

.floating-ball {
  position:absolute;
  height:160px;
  width:160px;
  left:calc(50% - 80px);
  top:62px;
  transform:rotate(-22deg);
  filter:drop-shadow(10px 17px 7px #09190e45);
}

.ready-stamp {
  position:absolute;
  right:25px;
  bottom:67px;
  transform:rotate(-12deg);
  font-size:14px;
  font-weight:800;
  line-height:1.1;
  color:#f3f0d9;
}

.ready-stamp strong {
  font-family:Impact,"Arial Narrow",sans-serif;
  font-size:39px;
  font-weight:900;
}

.today-strip {
  border:1px solid var(--color-border);
  border-radius:7px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:19px 23px;
  gap:20px;
}

.today-label,.today-stats {
  display:flex;
  align-items:center;
  gap:16px;
}

.today-label b {
  font-size:11px;
  letter-spacing:1px;
}

.today-message {
  font-size:11px;
  color:var(--color-muted);
  padding-left:17px;
  border-left:1px solid var(--color-border);
}

.today-stats {
  gap:27px;
  font-size:10px;
  color:var(--color-muted);
}

.today-stats>span+span {
  border-left:1px solid var(--color-border);
  padding-left:27px;
}

.digital {
  font-family:monospace;
  font-size:22px;
  color:var(--color-text);
  margin:0 6px;
}

.level {
  font-family:monospace;
  font-size:12px;
  color:var(--color-text);
  margin-left:12px;
  letter-spacing:.7px;
}

.today-stats a {
  color:var(--color-text);
  font-weight:700;
}

.today-stats a span {
  margin-left:12px;
}

.game-section {
  padding:46px 0 0;
}

.section-heading {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:12px;
  margin-bottom:24px;
}

.section-heading .eyebrow {
  color:var(--color-muted);
  font-size:9px;
}

.section-heading h2 {
  font-size:25px;
  letter-spacing:-1px;
  margin-top:10px;
  font-weight:800;
}

.count {
  font-family:monospace;
  font-size:12px;
  color:var(--color-primary);
  vertical-align:top;
  display:inline-block;
  margin:3px 0 0 10px;
  letter-spacing:0;
}

.section-note {
  font-size:11px;
  color:var(--color-muted);
  padding-bottom:4px;
}

.game-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:17px;
}

.game-card {
  position:relative;
  min-width:0;
  text-align:left;
  background:var(--color-surface);
  border:1px solid var(--color-border);
  border-radius:var(--radius);
  padding:18px 19px 22px;
  overflow:hidden;
  transition:transform .16s,border-color .16s,box-shadow .16s;
  display:flex;
  flex-direction:column;
  min-height:325px;
}

.game-card:hover {
  transform:translateY(-5px);
  border-color:var(--color-primary);
  box-shadow:0 8px 0 #00000005;
}

.game-card:active {
  transform:translateY(-1px);
}

.card-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:4px;
  font-family:monospace;
  font-size:9px;
  color:var(--color-muted);
  letter-spacing:.3px;
}

.coming-badge {
  font-family:var(--font);
  font-size:9px;
  letter-spacing:0;
  border:1px solid var(--color-border);
  padding:4px 7px;
  border-radius:20px;
  color:var(--color-muted);
  white-space:nowrap;
}

.card-art {
  position:relative;
  height:143px;
  margin:2px 0 13px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#7b8878;
}

.card-art svg {
  width:147px;
  height:130px;
}

.card-career .card-art {
  color:var(--color-primary);
}

.card-career {
  background:linear-gradient(145deg,var(--color-surface),var(--color-surface-alt));
}

.card-draft .card-art {
  transform:rotate(-8deg);
}

.card-manager .card-art {
  color:#78876a;
}

.card-guess .card-art {
  color:var(--color-text);
}

.card-balance .card-art {
  color:var(--color-primary);
}

.card-worldcup .card-art {
  color:#96835e;
}

.card-fortune .card-art {
  color:#8b8c7e;
}

.art-caption {
  position:absolute;
  bottom:1px;
  font-family:monospace;
  font-size:7px;
  letter-spacing:1.4px;
  color:var(--color-muted);
}

.game-category {
  font-size:9px;
  color:var(--color-muted);
}

.card-content h3 {
  font-size:17px;
  font-weight:800;
  letter-spacing:-.8px;
  line-height:1.35;
  margin:7px 0 9px;
  word-break:keep-all;
}

.card-content p {
  font-size:11px;
  line-height:1.75;
  color:var(--color-muted);
  padding-right:13px;
  word-break:keep-all;
}

.card-arrow {
  position:absolute;
  bottom:17px;
  right:16px;
  color:var(--color-muted);
  font-size:15px;
}

.random-card {
  border-radius:var(--radius);
  padding:19px 21px;
  position:relative;
  min-height:325px;
  background:var(--color-text);
  color:var(--color-background);
  text-align:left;
  overflow:hidden;
  transition:transform .16s;
}

.random-card:hover {
  transform:translateY(-5px);
}

.random-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:4px;
}

.random-top .eyebrow {
  font-size:8px;
  letter-spacing:1px;
}

.random-top>span:last-child {
  font-size:20px;
}

.dice {
  font-family:Arial;
  font-size:76px;
  line-height:1.1;
  color:var(--color-primary);
  transform:rotate(-15deg);
  margin:12px 0 12px;
  display:block;
  width:76px;
}

.random-card h3 {
  font-family:Impact,"Arial Narrow",sans-serif;
  letter-spacing:.7px;
  font-size:26px;
  font-weight:900;
}

.random-card p {
  font-size:11px;
  line-height:1.7;
  opacity:.7;
  margin-top:9px;
}

.random-bottom {
  display:flex;
  justify-content:space-between;
  border-top:1px dashed #858b8055;
  padding-top:13px;
  margin-top:21px;
  font-size:9px;
}

.random-bottom span {
  color:var(--color-primary);
  font-size:17px;
}

.end-line {
  display:flex;
  justify-content:space-between;
  margin:32px 0 47px;
  padding:15px 0;
  border-top:1px solid var(--color-border);
  font-family:monospace;
  font-size:8px;
  letter-spacing:1.1px;
  color:var(--color-muted);
  align-items:center;
}

.end-line>span:last-child {
  font-size:23px;
  color:var(--color-primary);
}

.site-footer {
  border-top:1px solid var(--color-border);
  padding:27px 0 32px;
  display:flex;
  gap:21px;
  align-items:center;
}

.site-footer .wordmark {
  font-size:19px;
}

.site-footer p {
  font-size:10px;
  color:var(--color-muted);
}

.site-footer>span {
  margin-left:auto;
  font-size:7px;
  font-family:monospace;
  letter-spacing:.8px;
  color:var(--color-muted);
}

.games-intro,.page-heading {
  padding:53px 0 10px;
}

.games-intro h1,.page-heading h1 {
  font-size:39px;
  letter-spacing:-1.8px;
  margin:14px 0;
}

.games-intro p,.page-heading p {
  font-size:14px;
  color:var(--color-muted);
  line-height:1.7;
}

.orange-dot {
  color:var(--color-primary);
}

body:has(.games-intro) .game-section {
  padding-top:30px;
  padding-bottom:60px;
}

.my-page {
  min-height:70vh;
}

.page-heading h1 {
  font-family:Impact,"Arial Narrow",sans-serif;
  font-size:49px;
  letter-spacing:-.5px;
}

.empty-record {
  margin:40px 0;
  display:flex;
  gap:75px;
  align-items:center;
  justify-content:center;
  padding:54px 28px;
  background:var(--color-surface);
  border:1px solid var(--color-border);
  border-radius:var(--radius);
}

.record-ticket {
  width:174px;
  flex-shrink:0;
  transform:rotate(-7deg);
  border:1px solid var(--color-border);
  padding:21px 18px;
  background:var(--color-background);
  text-align:center;
  box-shadow:7px 7px 0 var(--color-surface-alt);
  border-radius:6px;
}

.record-ticket>span {
  font-size:9px;
  letter-spacing:2px;
}

.empty-diamond {
  font-size:78px;
  color:var(--color-primary);
  line-height:1.6;
}

.record-ticket strong {
  display:block;
  font-family:monospace;
  letter-spacing:3px;
  font-size:21px;
}

.record-ticket small {
  font-size:6px;
  letter-spacing:.8px;
  margin-top:18px;
  display:block;
  border-top:1px dashed var(--color-border);
  padding-top:15px;
}

.empty-copy h2 {
  font-size:28px;
  margin:17px 0;
}

.empty-copy p {
  font-size:14px;
  line-height:1.9;
  color:var(--color-muted);
}

.empty-copy .primary-button {
  margin-top:24px;
  font-size:12px;
}

.future-records {
  text-align:center;
  color:var(--color-muted);
  font-size:11px;
  margin-bottom:55px;
  line-height:1.9;
}

.future-records>span {
  font-size:10px;
  font-weight:800;
  display:block;
  margin-bottom:10px;
}

dialog {
  width:min(430px,calc(100% - 32px));
  max-height:calc(100dvh - 32px);
  overflow:auto;
  background:var(--color-surface);
  color:var(--color-text);
  border:1px solid var(--color-border);
  padding:38px 28px 28px;
  border-radius:16px;
  text-align:center;
  box-shadow:0 24px 100px #0004;
}

dialog::backdrop {
  background:#0c1c16a6;
  backdrop-filter:blur(4px);
}

.close-dialog {
  position:absolute;
  right:9px;
  top:8px;
  width:44px;
  height:44px;
  font-size:28px;
  background:transparent;
  color:var(--color-muted);
}

.dialog-ball {
  font-size:55px;
  margin:4px 0 24px;
}

.dialog-ball+.eyebrow {
  font-size:8px;
  color:var(--color-primary);
}

dialog h2 {
  font-size:23px;
  letter-spacing:-1px;
  margin:15px 0 12px;
  word-break:keep-all;
}

dialog p {
  font-size:14px;
  line-height:1.8;
  color:var(--color-muted);
  word-break:keep-all;
}

dialog .primary-button {
  margin-top:26px;
  width:100%;
  font-size:12px;
  gap:10px;
}

.storage-message {
  position:fixed;
  bottom:15px;
  left:16px;
  right:16px;
  padding:14px;
  background:var(--color-text);
  color:var(--color-background);
  font-size:12px;
  z-index:5;
  border-radius:7px;
}

.storage-message[hidden] {
  display:none;
}

@media(min-width:1450px) {
  .hero h1 {
    font-size:70px;
  }

  .stadium {
    height:380px;
  }

  .floating-ball {
    top:72px;
  }

  .diamond {
    top:170px;
  }

  .foul-line {
    top:342px;
  }

}

@media(max-width:1100px) {
  .site-header,main,.site-footer {
    width:calc(100% - 56px);
  }

  .hero {
    gap:24px;
  }

  .hero h1 {
    font-size:53px;
  }

  .today-message {
    display:none;
  }

  .game-grid {
    gap:13px;
  }

  .game-card {
    padding-inline:15px;
  }

  .card-content h3 {
    font-size:15px;
  }

  .card-art svg {
    width:130px;
  }

  .section-note {
    font-size:10px;
  }

  .navigation {
    gap:25px;
  }

  .stadium {
    height:335px;
  }

}

@media(max-width:800px) {
  .site-header,main,.site-footer {
    width:calc(100% - 40px);
  }

  .site-header {
    height:82px;
  }

  .wordmark {
    font-size:25px;
  }

  .navigation {
    gap:18px;
  }

  .navigation a {
    font-size:10px;
    letter-spacing:.5px;
  }

  .hero {
    padding-top:35px;
    gap:20px;
  }

  .hero h1 {
    font-size:42px;
    letter-spacing:-2px;
  }

  .hero-copy>p {
    font-size:12px;
  }

  .title-spark {
    font-size:34px;
    margin-left:17px;
  }

  .stadium {
    height:290px;
  }

  .floating-ball {
    width:130px;
    height:130px;
    left:calc(50% - 65px);
    top:58px;
  }

  .diamond {
    width:110px;
    height:110px;
    top:143px;
  }

  .foul-line {
    top:275px;
  }

  .ready-stamp {
    right:15px;
    bottom:56px;
    font-size:10px;
  }

  .ready-stamp strong {
    font-size:29px;
  }

  .stadium-top,.stadium-bottom {
    left:14px;
    right:14px;
    font-size:6px;
  }

  .stadium-bottom {
    font-size:5px;
  }

  .game-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
  }

  .game-card {
    min-height:320px;
    padding:19px 22px;
  }

  .card-content h3 {
    font-size:19px;
  }

  .card-content p {
    font-size:12px;
  }

  .card-art {
    height:145px;
  }

  .card-art svg {
    width:160px;
    height:140px;
  }

  .random-card {
    min-height:320px;
    padding:22px;
  }

  .dice {
    margin-top:20px;
  }

  .random-card h3 {
    font-size:30px;
  }

  .today-strip {
    padding:14px;
  }

  .today-label {
    gap:9px;
  }

  .today-stats {
    gap:15px;
  }

  .today-stats>span+span {
    padding-left:15px;
  }

  .empty-record {
    gap:40px;
  }

  .site-footer {
    flex-wrap:wrap;
  }

  .site-footer>span {
    font-size:6px;
  }

}

@media(max-width:600px) {
  .site-header,main,.site-footer {
    width:calc(100% - 36px);
  }

  .site-header {
    height:76px;
    justify-content:space-between;
  }

  .wordmark {
    font-size:27px;
  }

  .theme-toggle {
    width:42px;
    height:42px;
  }

  .navigation {
    position:fixed;
    bottom:0;
    left:0;
    right:0;
    height:calc(66px + env(safe-area-inset-bottom));
    padding:5px 10px env(safe-area-inset-bottom);
    background:var(--color-surface);
    border-top:1px solid var(--color-border);
    z-index:6;
    margin:0;
    justify-content:space-around;
    gap:0;
  }

  .navigation a {
    display:flex;
    flex:1;
    justify-content:center;
    flex-direction:column;
    gap:3px;
    font-size:9px;
    letter-spacing:.7px;
  }

  .navigation a[aria-current]:after {
    bottom:auto;
    top:-6px;
    left:32%;
    right:32%;
    height:2px;
  }

  .nav-icon {
    display:block;
    font-size:24px;
    line-height:1.1;
    font-family:Arial;
  }

  .hero {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    padding:35px 0 24px;
    gap:28px;
  }

  .hero-copy {
    position:relative;
  }

  .hero-copy>.eyebrow {
    font-size:8px;
  }

  .hero h1 {
    font-size:50px;
    line-height:1.15;
    margin:20px 0 15px;
    letter-spacing:-2.5px;
  }

  .title-spark {
    font-size:44px;
    margin-left:23px;
  }

  .hero-copy>p {
    font-size:13px;
  }

  .mobile-break {
    display:initial;
  }

  .play-button {
    position:absolute;
    bottom:25px;
    right:0;
    min-width:140px;
    padding:0 15px;
    gap:20px;
    font-size:12px;
    margin:0;
  }

  .hero-note {
    font-size:9px;
    margin-top:21px;
  }

  .stadium {
    height:268px;
  }

  .floating-ball {
    top:36px;
    width:141px;
    height:141px;
    left:calc(50% - 70px);
  }

  .diamond {
    top:124px;
    width:115px;
    height:115px;
  }

  .foul-line {
    top:263px;
  }

  .ready-stamp {
    right:22px;
    bottom:50px;
  }

  .stadium-top {
    font-size:7px;
  }

  .stadium-bottom {
    font-size:5.5px;
  }

  .today-strip {
    display:block;
    padding:15px 16px;
  }

  .today-label {
    margin-bottom:14px;
  }

  .today-label b {
    font-size:10px;
  }

  .today-message {
    display:block;
    font-size:9px;
    border:0;
    padding:0;
    margin-left:auto;
  }

  .today-stats {
    justify-content:space-between;
    gap:8px;
    font-size:9px;
  }

  .today-stats>span+span {
    padding-left:13px;
  }

  .today-stats a {
    font-size:0;
  }

  .today-stats a span {
    font-size:17px;
    margin:0;
  }

  .digital {
    font-size:22px;
    margin:0 4px;
  }

  .level {
    font-size:11px;
    margin-left:7px;
  }

  .game-section {
    padding-top:33px;
  }

  .section-heading {
    margin-bottom:18px;
  }

  .section-heading h2 {
    font-size:23px;
    margin-top:8px;
  }

  .section-heading .eyebrow {
    font-size:8px;
  }

  .section-note {
    display:none;
  }

  .game-grid {
    gap:12px;
  }

  .game-card {
    padding:13px 12px 19px;
    min-height:290px;
  }

  .card-top {
    font-size:8px;
  }

  .coming-badge {
    font-size:8px;
    padding:3px 6px;
  }

  .card-art {
    height:120px;
    margin-bottom:11px;
  }

  .card-art svg {
    width:125px;
    height:113px;
  }

  .art-caption {
    font-size:5px;
    letter-spacing:.8px;
  }

  .card-content h3 {
    font-size:16px;
    letter-spacing:-.8px;
    margin:6px 0 8px;
  }

  .card-content p {
    font-size:10px;
    line-height:1.7;
    padding-right:0;
  }

  .game-category {
    font-size:8px;
  }

  .card-arrow {
    bottom:10px;
    right:10px;
    font-size:13px;
  }

  .random-card {
    min-height:290px;
    padding:13px;
  }

  .random-top .eyebrow {
    font-size:6px;
    letter-spacing:.7px;
  }

  .random-top>span:last-child {
    font-size:17px;
  }

  .dice {
    font-size:67px;
    margin:18px 0 13px;
  }

  .random-card h3 {
    font-size:21px;
    letter-spacing:.2px;
  }

  .random-card p {
    font-size:10px;
  }

  .random-bottom {
    font-size:7px;
    margin-top:18px;
  }

  .end-line {
    font-size:6px;
    letter-spacing:.5px;
    margin:23px 0 28px;
  }

  .site-footer {
    padding:24px 0 100px;
    gap:12px;
  }

  .site-footer .wordmark {
    font-size:19px;
  }

  .site-footer p {
    font-size:9px;
  }

  .site-footer>span {
    width:100%;
    font-size:6px;
    margin:0;
  }

  .games-intro,.page-heading {
    padding-top:34px;
  }

  .games-intro h1 {
    font-size:30px;
    line-height:1.3;
    letter-spacing:-1.8px;
    word-break:keep-all;
  }

  .games-intro p {
    font-size:12px;
  }

  .page-heading h1 {
    font-size:42px;
  }

  .page-heading p {
    font-size:12px;
  }

  .empty-record {
    flex-direction:column;
    padding:35px 20px;
    gap:36px;
    margin:28px 0;
  }

  .record-ticket {
    width:154px;
  }

  .empty-diamond {
    font-size:62px;
  }

  .empty-copy {
    text-align:center;
  }

  .empty-copy .eyebrow {
    font-size:8px;
  }

  .empty-copy h2 {
    font-size:25px;
  }

  .empty-copy p {
    font-size:12px;
  }

  .future-records {
    font-size:9px;
  }

  .storage-message {
    bottom:80px;
  }

  dialog {
    padding-inline:20px;
  }

  dialog h2 {
    font-size:21px;
  }

  dialog p {
    font-size:12px;
  }

}

@media(max-width:350px) {
  .hero h1 {
    font-size:45px;
  }

  .play-button {
    min-width:120px;
    font-size:10px;
    gap:14px;
    padding:0 12px;
  }

  .hero-copy>p {
    font-size:11px;
  }

  .game-grid {
    gap:9px;
  }

  .game-card {
    padding:12px 10px 19px;
    min-height:293px;
  }

  .card-content h3 {
    font-size:15px;
  }

  .card-content p {
    font-size:10px;
  }

  .card-top {
    font-size:7px;
  }

  .random-card h3 {
    font-size:19px;
  }

  .today-stats {
    font-size:8px;
  }

  .today-stats>span+span {
    padding-left:8px;
  }

  .level {
    font-size:10px;
  }

  .section-heading h2 {
    font-size:21px;
  }

}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }

  *,*:before,*:after {
    transition:none!important;
    animation:none!important;
  }

}

/* 두산에서 영감을 받은 네이비·레드 테마. 포인트는 레드, 구장과 헤더는 네이비. */
.site-header {
  border-bottom:2px solid var(--color-text);
}

.stadium {
  color:#c9d4ef;
  background:linear-gradient(145deg,#1e2c55,#0b132c);
}

.stadium:after {
  background:repeating-linear-gradient(90deg,transparent 0 47px,#8da2e405 47px 94px);
}

.field-ring {
  border-color:#a9b9e52e;
}

.diamond {
  border-color:#acbce399;
}

.infield {
  border-color:#acbce355;
  background:#849cce18;
}

.base {
  background:#dce3f7;
}

.base.home {
  background:var(--color-primary);
}

.foul-line {
  background:#9daed266;
}

.ready-stamp {
  color:#fff;
}

.card-art,.card-manager .card-art,.card-guess .card-art,.card-fortune .card-art {
  color:#516487;
}

.card-worldcup .card-art {
  color:#6f80a7;
}

.card-career .card-art,.card-balance .card-art {
  color:var(--color-primary);
}

.random-card {
  background:#131c38;
  color:#f3f5fc;
}

.primary-button {
  color:#fff;
}

.floating-ball {
  filter:drop-shadow(10px 17px 7px #03091c65);
}

[data-theme="dark"] .card-art,[data-theme="dark"] .card-manager .card-art,[data-theme="dark"] .card-guess .card-art,[data-theme="dark"] .card-fortune .card-art {
  color:#8fa3cc;
}

[data-theme="dark"] .card-career .card-art,[data-theme="dark"] .card-balance .card-art {
  color:var(--color-primary);
}


/* SVG 파일 아이콘: 운영체제 이모지에 의존하지 않습니다. */
.ui-icon {
  display: inline-block;
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  vertical-align: middle;
}
.theme-toggle, .close-dialog {
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
.primary-button .ui-icon {
  filter: brightness(0) invert(1);
}
.nav-icon .ui-icon {
  width: 24px;
  height: 24px;
}
.card-art .game-art-image {
  width: 147px;
  height: 130px;
  object-fit: contain;
}
.title-spark .ui-icon {
  width: 52px;
  height: 52px;
}
.card-arrow .ui-icon, .today-stats .ui-icon {
  width: 16px;
  height: 16px;
}
.dice .ui-icon {
  width: 76px;
  height: 76px;
}
.random-top > .ui-icon {
  filter: brightness(0) invert(1);
}
.random-bottom > .ui-icon, .end-line > .ui-icon {
  width: 22px;
  height: 22px;
}
.dialog-ball {
  width: 60px;
  height: 60px;
  margin: 4px auto 24px;
}
.dialog-ball img, .floating-ball img {
  width: 100%;
  height: 100%;
}
.empty-diamond .ui-icon {
  width: 78px;
  height: 78px;
  margin-block: 20px;
}
[data-theme="dark"] .theme-toggle .ui-icon,
[data-theme="dark"] .nav-icon .ui-icon,
[data-theme="dark"] .card-arrow .ui-icon,
[data-theme="dark"] .today-stats .ui-icon,
[data-theme="dark"] .close-dialog .ui-icon,
[data-theme="dark"] .empty-diamond .ui-icon {
  filter: brightness(0) invert(1);
}
[data-theme="dark"] .game-art-image {
  filter: brightness(1.65);
}
@media (max-width: 600px) {
  .title-spark .ui-icon {
    width: 40px;
    height: 40px;
  }
  .card-art .game-art-image {
    width: 125px;
    height: 113px;
  }
  .dice .ui-icon {
    width: 64px;
    height: 64px;
  }
}
