* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html, body { margin: 0; height: 100%; overflow: hidden; background: #0b1f3a; font-family: -apple-system, system-ui, "Segoe UI", Roboto, sans-serif; color: #1d1d1f; touch-action: none; -webkit-user-select: none; user-select: none; overscroll-behavior: none; }
#game { display: block; position: fixed; inset: 0; }
.layer { position: fixed; inset: 0; pointer-events: none; }
.hidden { display: none !important; }
.panel { display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(5, 15, 30, 0.45); pointer-events: auto; }
.card { width: 100%; max-width: 340px; background: #fff; border-radius: 22px; padding: 24px 22px; text-align: center; box-shadow: 0 20px 50px rgba(0,0,0,.35); }
.logo { display: inline-block; font-weight: 900; font-size: 12px; letter-spacing: .16em; color: #fff; background: #0b1f3a; padding: 6px 14px; border-radius: 999px; }
h1 { font-size: 44px; margin: 10px 0 4px; line-height: 1; letter-spacing: -.02em; color: #0b1f3a; }
h2 { font-size: 15px; margin: 0; color: #666; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.sub { color: #444; font-size: 14px; margin: 8px 0 10px; line-height: 1.4; }
.cities { font-size: 11px; color: #888; margin: 0 0 6px; line-height: 1.5; }
.tiny { font-size: 12px; color: #777; margin: 10px 0 0; }
.btn { width: 100%; margin-top: 12px; font-size: 18px; font-weight: 800; padding: 14px; border: 0; border-radius: 14px; color: #fff; background: linear-gradient(135deg, #e63946, #c1121f); box-shadow: 0 8px 20px rgba(193,18,31,.35); cursor: pointer; }
.big { font-size: 52px; font-weight: 900; line-height: 1; margin: 8px 0 12px; color: #0b1f3a; }
.grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; }
.grid div { background: #f3f4f7; border-radius: 12px; padding: 10px 4px; }
.grid b { display: block; font-size: 17px; }
.grid span { font-size: 10px; color: #777; text-transform: uppercase; letter-spacing: .04em; }
.day { font-size: 12px; font-weight: 800; color: #d1222b; margin: 0 0 6px; text-transform: uppercase; letter-spacing: .06em; }
.carList { display: flex; gap: 8px; overflow-x: auto; padding: 4px 2px 8px; margin: 0 -6px; scrollbar-width: none; }
.carList::-webkit-scrollbar { display: none; }
.carCard { flex: 0 0 auto; width: 88px; border: 2px solid #e5e7eb; border-radius: 12px; padding: 6px 4px; text-align: center; cursor: pointer; background: #fafafa; }
.carCard.sel { border-color: #d1222b; background: #fff5f5; box-shadow: 0 4px 14px rgba(209,34,43,.18); }
.carCard b { display: block; font-size: 13px; color: #0b1f3a; }
.carCard span { display: block; font-size: 9px; color: #777; line-height: 1.2; }
.btn.ghost { background: #eef0f4; color: #0b1f3a; box-shadow: none; margin-top: 8px; font-size: 15px; padding: 11px; }
.btn.small { margin: 0; font-size: 14px; padding: 11px 12px; width: auto; white-space: nowrap; }
.saveRow { display: flex; gap: 8px; margin-top: 10px; }
.saveRow input { flex: 1; min-width: 0; font-size: 15px; padding: 10px 12px; border: 2px solid #ddd; border-radius: 12px; outline: 0; }
.boardWrap { margin-top: 10px; max-height: 190px; overflow-y: auto; text-align: left; }
.board { width: 100%; border-collapse: collapse; font-size: 12px; }
.board td { padding: 5px 4px; border-bottom: 1px solid #eee; white-space: nowrap; }
.board td:first-child { color: #999; width: 20px; }
.board td:nth-child(2) { font-weight: 700; max-width: 90px; overflow: hidden; text-overflow: ellipsis; }
.board td:last-child { text-align: right; color: #666; }
.board tr.me td { background: #fff5f5; color: #d1222b; }
.card { max-height: calc(100vh - 32px); overflow-y: auto; }
