.account-grid { margin-bottom: 30px; }
.account-grid span { font-size: 13px; line-height: 1.45; }
.account-grid strong { margin: 11px 0; font-size: 20px; line-height: 1.35; }
.account-grid small { color: #9ba4ac; font-size: 12px; line-height: 1.65; }
.dashboard-section {
  margin-top: 16px;
  padding: 30px;
  border: 1px solid #323b44;
  border-radius: 22px;
  background: #10161b;
}
.dashboard-section > div:first-child > small {
  color: var(--yellow);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.6px;
}
.dashboard-section h2 { margin: 8px 0; font-size: 30px; }
.dashboard-section > div:first-child > p {
  margin: 0 0 22px;
  color: #9ba5ad;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7;
}
.feature-card {
  padding: 22px;
  border: 1px solid #343e47;
  border-radius: 16px;
  background: #151c22;
}
.feature-card span, .feature-card strong, .feature-card small { display: block; }
.feature-card strong { margin: 8px 0; font-size: 24px; overflow-wrap: anywhere; }
.feature-card span, .feature-card small { color: #8e98a1; }
.feature-card > span { font-size: 14px; line-height: 1.55; }
.feature-card > small { margin-top: 12px; font-size: 13px; font-weight: 500; line-height: 1.65; }
.route-guide { max-width: 720px; }
.feature-card button {
  margin-top: 16px;
  padding: 12px 15px;
  border: 1px solid #4c5660;
  border-radius: 10px;
  background: #1c242b;
  color: #fff;
  font-weight: 900;
}
.feature-card button:disabled { opacity: .5; cursor: not-allowed; }
.dashboard-status { display: block; margin-top: 15px; color: #d9dde0; font-size: 13px; font-weight: 600; line-height: 1.6; }
.mypage-welcome-message { min-height: 24px; }
.kakao-login-guide { display: block; margin-top: 10px; color: #ffd335; font-size: 13px; font-weight: 600; line-height: 1.6; }
#profileNickname[aria-busy="true"] { color: #d9dde0; }
.first-action-section[hidden] { display: none; }
.first-action-section { border-color: #63551f; background: radial-gradient(circle at 85% 5%,#3a3014 0,transparent 30%),#10161b; }
.first-action-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-top: 20px; }
.first-action-grid a { min-height: 148px; display: grid; align-content: start; gap: 8px; padding: 18px; border: 1px solid #4a4530; border-radius: 15px; background: #171b1d; color: #fff; }
.first-action-grid a:hover { border-color: #ffd335; background: #1d211f; }
.first-action-grid a:focus-visible { outline: 3px solid #ffd335; outline-offset: 3px; }
.first-action-grid b { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: #ffd335; color: #111; font-size: 12px; }
.first-action-grid strong { margin-top: 2px; font-size: 17px; }
.first-action-grid span { color: #9ba4ac; font-size: 12px; line-height: 1.6; }
.account-history { margin-top: 16px; }
.account-history > div:first-child > p { display: none; }
.my-history-row { min-width: 0; overflow: hidden; display: grid; grid-template-columns: minmax(0,1fr) auto; }
.mypage-state-message { margin: 0; padding: 18px; border: 1px dashed #3d4750; border-radius: 12px; color: #aab2b9; line-height: 1.65; text-align: center; }
.recommendation-ticket .mypage-state-message { border-color: #8e7a4366; color: #746b54; }
.mypage-history-details { grid-column: 1 / -1; min-width: 0; margin-top: 13px; }
.my-history-row > b { flex: 0 0 auto; padding: 7px 10px; border: 1px solid #4c5660; border-radius: 999px; background: #202830; color: #d8dfe4; font-size: 12px; font-weight: 700; line-height: 1.2; cursor: default; user-select: none; }
.my-history-row > b[data-result-state="verified"] { border-color: #426951; background: #172a20; color: #bfe6ca; }
.mypage-history-details summary { min-height: 46px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 14px; border: 1px solid #46515b; border-radius: 11px; background: #1b242b; color: #eef2f4; font-size: 13px; font-weight: 750; line-height: 1.45; cursor: pointer; touch-action: manipulation; }
.mypage-history-details summary::-webkit-details-marker { display: none; }
.mypage-history-details summary::after { content: "펼쳐보기"; flex: 0 0 auto; padding: 5px 8px; border-radius: 999px; background: #ffd335; color: #111; font-size: 10px; font-weight: 950; }
.mypage-history-details summary:hover { border-color: #ffd335; background: #222d35; }
.mypage-history-details summary:active { transform: translateY(1px); }
.mypage-history-details summary:focus-visible { outline: 3px solid #ffd335; outline-offset: 3px; }
.mypage-history-details[open] summary { border-color: #78838c; color: #fff; }
.mypage-history-details[open] summary::after { content: "접기"; background: #39434c; color: #fff; }
.mypage-game-lines { grid-column: 1 / -1; display: grid; gap: 7px; margin-top: 13px; }
.mypage-game-lines p { min-width: 0; display: grid; grid-template-columns: 30px minmax(0,1fr); align-items: center; gap: 10px; margin: 0; padding: 10px 12px; border-radius: 9px; background: #0d1216; }
.mypage-game-lines em { color: #7f8992; font: 800 12px monospace; font-style: normal; }
.mypage-game-lines p:has(.history-game-meta) { grid-template-columns: 30px minmax(0,1fr) auto; }
.history-game-meta { color: #78838c; font-size: 11px; font-weight: 800; white-space: nowrap; text-align: right; }
.history-game-keywords { grid-column: 1 / -1; margin-top: 2px; color: #8f99a2; font-size: 11px; line-height: 1.55; word-break: keep-all; }
.my-history-row .history-number-row { min-width: 0; display: grid; grid-template-columns: repeat(6,32px); justify-content: start; align-items: center; gap: 7px; margin: 0; }
.my-history-row .history-number { width: 32px; height: 32px; display: grid; place-items: center; justify-self: center; border: 1px solid #ffffff55; border-radius: 50%; color: #fff; font-family: Arial,"Noto Sans KR","Apple SD Gothic Neo",sans-serif; font-size: 14px; font-weight: 800; font-variant-numeric: tabular-nums; line-height: 1; letter-spacing: -.2px; text-align: center; text-rendering: optimizeLegibility; box-shadow: inset -3px -4px 6px #0005; }
.ticket-number.yellow,.history-number.yellow { background:#f5bd19; color:#111; }
.ticket-number.blue,.history-number.blue { background:#2670d4; color:#fff; }
.ticket-number.red,.history-number.red { background:#df3d46; color:#fff; }
.ticket-number.green,.history-number.green { background:#28a963; color:#fff; }
.ticket-number.gray,.history-number.gray { background:#a5a9ad; color:#111; }
.my-record-link { display: block; margin-top: 16px; padding: 14px 18px; border: 1px solid #48525c; border-radius: 11px; color: #fff; font-size: 13px; font-weight: 900; text-align: center; }
.mypage-header-actions { display: flex; align-items: center; gap: 8px; }
.mypage-header-actions .kakao-logout-button { min-height: 36px; padding: 0 12px; border: 1px solid #39434d; border-radius: 10px; font-size: 11px; }
.recommendation-section { margin-top: 16px; border-color: #51471f; background: radial-gradient(circle at 85% 5%,#3a3014 0,transparent 28%),#10161b; }
.recommendation-ticket { position:relative; overflow:hidden; width:min(100%,860px); margin:24px auto 0; padding:28px 30px; border:1px solid #d1b33b; border-radius:22px; color:#17140b; background:linear-gradient(112deg,#f4ead0 0%,#fffaf0 46%,#e7d5a7 100%); box-shadow:0 22px 55px #0008,inset 0 0 0 5px #fff6; cursor:grab; }
.recommendation-ticket.is-empty { padding-block: 22px; }
.recommendation-ticket.is-empty .ticket-games { padding-block: 10px; }
.recommendation-ticket.is-empty .ticket-empty { padding-block: 12px; }
.recommendation-ticket::before,.recommendation-ticket::after { content:""; position:absolute; top:48%; width:28px; height:28px; border-radius:50%; background:#10161b; }
.recommendation-ticket::before { left:-15px; }.recommendation-ticket::after { right:-15px; }
.recommendation-ticket.is-plus { border-color:#f8d05d; background:radial-gradient(circle at 15% 12%,#fff7c2 0,transparent 25%),linear-gradient(125deg,#19130a,#7b5c17 45%,#211709); color:#fff7d4; box-shadow:0 24px 65px #000b,0 0 30px #ffc92830,inset 0 0 0 1px #fff3a050; }
.ticket-head,.ticket-foot { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }
.ticket-head { padding-bottom:18px; border-bottom:1px dashed #8e7a43; }
.ticket-head div { display:grid; gap:3px; }.ticket-head b { font-size:25px; letter-spacing:1px; }.ticket-head span { font-size:9px; font-weight:900; letter-spacing:2px; }
.ticket-head strong { font-size:20px; }.ticket-games { display:grid; gap:9px; padding:21px 0; }
.ticket-game { display:grid; grid-template-columns:34px 1fr; align-items:center; gap:14px; margin:0; }
.ticket-game em { color:#75652f; font:900 12px monospace; font-style:normal; }.ticket-number-row { display:flex; flex-wrap:wrap; gap:7px; }
.ticket-number { width:39px; height:39px; display:grid; place-items:center; border:1px solid #ffffff55; border-radius:50%; color:#fff; font-family:Arial,"Noto Sans KR","Apple SD Gothic Neo",sans-serif; font-size:16px; font-weight:800; font-variant-numeric:tabular-nums; line-height:1; letter-spacing:-.25px; text-align:center; text-rendering:optimizeLegibility; box-shadow:inset -4px -5px 7px #0006; }
.is-plus .ticket-game em,.is-plus .ticket-foot { color:#e4c86d; }.is-plus .ticket-number { border-color:#e3c45a; background:linear-gradient(#fff2a9,#a97d19); }
.ticket-empty { padding:30px 0; text-align:center; color:#746b54; font-weight:800; }.ticket-foot { padding-top:15px; border-top:1px dashed #8e7a43; color:#5f563d; }
.ticket-foot span { font-weight:800; }.ticket-foot small { font-size:12px; font-weight:500; line-height:1.55; }.ticket-actions { display:flex; justify-content:center; align-items:center; gap:10px; margin-top:18px; }
.ticket-actions button,.ticket-actions .account-cta { margin:0; padding:14px 18px; border:0; border-radius:12px; font-weight:900; }.ticket-actions button { background:#ffd335; color:#111; cursor:pointer; }
.ticket-actions button:disabled { opacity:.45; cursor:not-allowed; }.ticket-share-note { margin:12px 0 0!important; color:#b0b8bf!important; font-size:14px; font-weight:500; line-height:1.65; text-align:center; }
.mypage-proof-grid { width:min(100%,860px); margin:14px auto 0; display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }.mypage-proof-grid article { padding:15px; border:1px solid #3b454e; border-radius:13px; background:#151c22; }.mypage-proof-grid small,.mypage-proof-grid strong { display:block; }.mypage-proof-grid small { color:#a7b0b8; font-size:13px; font-weight:500; }.mypage-proof-grid strong { margin-top:7px; color:#fff; font-size:14px; }.mypage-proof-grid article:first-child strong { color:#ffd335; }.mypage-proof-detail { width:min(100%,860px); margin:10px auto 0; padding:12px 15px; border:1px solid #343e47; border-radius:12px; color:#b4bcc3; }.mypage-proof-detail summary { font-size:13px; font-weight:800; cursor:pointer; }.mypage-proof-detail p { margin:10px 0 0; color:#a5aeb6; font-size:13px; font-weight:500; line-height:1.65; }

@media (max-width: 560px) {
  .dashboard-section { padding: 18px; }
  .dashboard-section h2 { font-size: 26px; }
  .site-header nav { display: none; }
  .mypage-header-actions .kakao-logout-button { display:none; }
  .recommendation-ticket { padding:18px 12px; border-radius:17px; }
  .recommendation-ticket.is-empty { padding-block: 16px; }
  .ticket-head { gap: 10px; }
  .ticket-head strong { font-size:16px; }
  .ticket-game { grid-template-columns: 20px minmax(0,1fr); gap: 4px; }
  .ticket-number-row { min-width: 0; display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 3px; flex-wrap: nowrap; }
  .ticket-number { width:32px; height:32px; justify-self:center; font-size:14px; }
  .mypage-game-lines p { grid-template-columns: 24px minmax(0,1fr); gap: 5px; padding-inline: 8px; }
  /* 좁은 화면에서는 번호 옆에 붙을 자리가 없다. 아래 줄로 내린다. */
  .mypage-game-lines p:has(.history-game-meta) { grid-template-columns: 24px minmax(0,1fr); }
  .history-game-meta { grid-column: 1 / -1; text-align: left; }
  .my-history-row .history-number-row { grid-template-columns: repeat(6,minmax(25px,29px)); justify-content: space-between; gap: 3px; }
  .my-history-row .history-number { width: 28px; height: 28px; font-size: 12px; }
  .ticket-foot { align-items:flex-start; gap:8px; }
  .ticket-foot small { font-size:10px; }
  .ticket-actions { align-items:stretch; flex-direction:column; }.ticket-actions>* { width:100%; text-align:center; }
  .mypage-proof-grid { grid-template-columns:1fr; }
  .first-action-grid { grid-template-columns: 1fr; }
  .first-action-grid a { min-height: 0; }
  .mypage-history-details summary { min-height: 48px; padding-inline: 12px; }
}
.invite-flow-actions { width:min(100%,860px); margin-inline:auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.invite-flow-actions > * { width:auto; min-height:48px; display:flex; align-items:center; justify-content:center; text-align:center; }
.invite-flow-actions #shareTicketButton,.invite-flow-actions .account-cta-muted { border:1px solid #46515b; background:#1b2229; color:#f3f5f2; }
.invite-flow-actions button:disabled { cursor:not-allowed; }
@media (max-width:560px) {
  .invite-flow-actions { display:grid; grid-template-columns:1fr; }
  .invite-flow-actions > * { width:100%; }
}
