:root {
  --bg: #0d0f0f;
  --panel: #151818;
  --panel-2: #1b1f1e;
  --line: #2b302f;
  --text: #f5f7f6;
  --muted: #929c98;
  --lime: #ffb938;
  --mint: #ffd56a;
  --red: #ff5e67;
  --amber: #ffca58;
  --white: #fff;
  --radius: 18px;
}
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--bg); color: var(--text); font-family: Pretendard, "Noto Sans KR", "Apple SD Gothic Neo", system-ui, sans-serif; }
html, body { touch-action: pan-x pan-y; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.augment-panel{margin:18px 0;padding:14px;border:1px solid #826c2d;border-radius:14px;background:#15140d;}
.augment-draw{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.augment-draw strong,.augment-draw small{display:block;line-height:1.6;}.augment-draw small{color:var(--muted);font-size:.875rem;}
.augment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px;}
.augment-card{padding:0 0 12px;background:#10120e;border:1px solid #827031;border-radius:12px;color:#f4e6b4;overflow:hidden;text-align:left;}
.augment-card strong,.augment-card small{display:block;padding:8px 10px 0;line-height:1.5;font-size:.875rem;}
.pandora-card-grid .augment-card[aria-pressed="true"]{border:3px solid #83e2bd;background:#20382b;}
.pandora-selection{display:block;padding:10px;color:#83e2bd;font-weight:700;}
.pandora-card-grid .augment-card:disabled{opacity:.55;}
.augment-art{position:relative;aspect-ratio:374/609;overflow:hidden;background:#090a07;width:100%;}
.augment-art-portrait{aspect-ratio:448/749;}
.augment-sheet-viewport{display:block;width:100%;height:100%;overflow:hidden}.augment-art-unavailable{display:grid;place-items:center;padding:12px;text-align:center;font-size:14px;color:var(--muted)}
.augment-expanded{max-width:360px;margin:20px auto 0;}.augment-expanded .augment-art{border-radius:12px;}
.augment-expanded p{font-size:1rem;line-height:1.65;white-space:pre-line;}
.augment-admin{margin-top:18px;}.augment-admin .application-row{gap:16px;}.augment-admin small{line-height:1.6;font-size:.875rem;}
.augment-panel button:disabled{opacity:.45;cursor:not-allowed;}
.prototype-bar { height: 72px; padding: 0 28px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; background: #111313; position: relative; z-index: 20; }
.brand-mark { display: flex; align-items: center; gap: 10px; letter-spacing: .04em; }
.brand-mark > img, .admin-logo > img { width: 40px; height: 38px; object-fit: cover; border-radius: 9px; border: 1px solid #8c5c18; box-shadow: 0 0 16px #ffb93838; }
.brand-mark small { color: var(--muted); font-size: .65rem; padding-left: 8px; border-left: 1px solid var(--line); }
.mode-switch { padding: 5px; background: #080a0a; border: 1px solid var(--line); border-radius: 12px; display: flex; gap: 2px; }
.mode-switch button { border: 0; color: var(--muted); background: transparent; border-radius: 8px; padding: 10px 18px; font-weight: 700; font-size: .9rem; }
.mode-switch button.active { color: #101310; background: var(--lime); }
.prototype-badge { color: var(--mint); border: 1px solid #6f4b1a; background: #2a1d0d; border-radius: 999px; padding: 8px 12px; font-size: .78rem; font-weight: 700; }
.mode-panel { display: none; min-height: calc(100vh - 72px); }
.mode-panel.active { display: flex; }

/* customer app */
.app-stage { width: 100%; min-height: calc(100vh - 72px); display: flex; align-items: center; justify-content: center; gap: clamp(48px, 8vw, 140px); padding: 44px 24px; background: radial-gradient(circle at 28% 40%, #3d2a12 0, transparent 30%), linear-gradient(135deg, #090909, #15120e); }
.phone-shell { width: 390px; height: 780px; max-height: calc(100vh - 108px); background: #101312; border: 9px solid #242827; border-radius: 42px; position: relative; overflow: hidden; box-shadow: 0 35px 90px #0009, 0 0 0 1px #49504e; flex: 0 0 auto; }
.phone-status { height: 36px; padding: 12px 20px 0; display: flex; justify-content: space-between; font-size: .7rem; font-weight: 700; color: #cfd4d2; }
.app-screen { height: calc(100% - 106px); overflow-y: auto; scrollbar-width: none; padding: 8px 18px 24px; }
.app-screen::-webkit-scrollbar { display: none; }
.customer-startup { min-height:100%;display:grid;place-content:center;justify-items:center;gap:10px;text-align:center; }
.customer-startup img { width:76px;height:72px;object-fit:cover;border-radius:17px;border:1px solid #8c5c18;box-shadow:0 0 28px #ffb93838; }
.customer-startup strong { margin-top:6px;color:var(--lime);font-size:1.08rem;letter-spacing:.08em; }
.customer-startup span { color:var(--muted);font-size:.76rem; }
.customer-auth-pending .bottom-nav { visibility:hidden;pointer-events:none; }
.bottom-nav { position: absolute; bottom: 0; left: 0; right: 0; height: 70px; background: #111413f7; backdrop-filter: blur(14px); border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(4,1fr); }
.bottom-nav button { color: #707976; background: transparent; border: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; font-size: .7rem; font-weight: 700; }
.bottom-nav button span { font-size: 1.22rem; }
.bottom-nav button.active { color: var(--lime); }
.app-header { display: flex; align-items: center; justify-content: space-between; min-height: 50px; }
.app-header h2 { margin: 0; font-size: 1.2rem; }
.app-header .mini-mark { display:block;flex:0 0 auto;width:44px;height:42px;border-radius:10px;object-fit:cover;object-position:center;border:1px solid #9a681f;background:#080706;box-shadow:0 0 18px #ffb9384a; }
.home-brand-name { color:var(--lime);font-size:1.05rem;font-weight:950;letter-spacing:.08em; }
.home-name { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 18px; }
.home-name-first { margin-top: 14px; }
.home-name h2 { margin: 0; font-size: 1.6rem; }
.home-name strong { color: var(--lime); font-size: 1.18rem; }
.home-name strong small { font-size: .72rem; color: var(--muted); font-weight: 600; }
.member-card { padding: 20px; background: linear-gradient(145deg, #222826, #161a19); border: 1px solid #343b38; border-radius: 22px; box-shadow: inset 0 1px #ffffff0d; }
.card-actions { display: flex; justify-content: space-between; align-items: center; margin-bottom: 22px; }
.card-actions button { border: 0; padding: 0; background: transparent; color: #d8dddb; font-weight: 700; font-size: .82rem; }
.rank-row { display: flex; align-items: baseline; justify-content: space-between; }
.rank-row span { color: var(--muted); font-size: .82rem; }
.rank-row b { color: var(--mint); font-size: 1.35rem; }
.ticket-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 14px; }
.ticket-box { background: #0c0e0d99; border: 1px solid #2e3432; border-radius: 15px; padding: 14px; }
.ticket-box span { display: block; color: var(--muted); font-size: .75rem; margin-bottom: 8px; }
.ticket-box b { font-size: 1.3rem; }
.ticket-box b em { color: var(--muted); font-size: .72rem; font-style: normal; }
.ticket-handover-button { width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;margin-top:12px;padding:11px 12px;border:1px solid #62471f;border-radius:13px;background:#251b0e;color:white;text-align:left; }
.ticket-handover-button > span { color:var(--lime);font-size:1rem; }.ticket-handover-button > b { font-size:.76rem; }.ticket-handover-button > em { color:#c5b89f;font-size:.66rem;font-style:normal;font-weight:750; }
.section-label { display: flex; justify-content: space-between; align-items: center; margin: 22px 2px 12px; }
.section-label b { font-size: .95rem; }
.section-label span { color: var(--muted); font-size: .72rem; }
.banner { min-height: 144px; border-radius: 20px; background: linear-gradient(135deg, #ffe1a0, var(--lime)); color: #181008; padding: 20px; position: relative; overflow: hidden; }
.banner::after { content: "♠"; position: absolute; right: 12px; bottom: -34px; font-size: 9rem; opacity: .13; transform: rotate(12deg); }
.banner small { font-weight: 900; font-size: .65rem; letter-spacing: .12em; }
.banner h3 { margin: 13px 0 6px; font-size: 1.35rem; max-width: 220px; }
.banner p { margin: 0; font-size: .75rem; font-weight: 650; }
.banner-dots { display: flex; gap: 7px; justify-content: center; margin-top: 11px; }
.banner-dots button { border: 0; width: 6px; height: 6px; padding: 0; border-radius: 99px; background: #404745; }
.banner-dots button.active { width: 20px; background: var(--lime); }
.app-notes { width: min(480px, 42vw); }
.eyebrow { color: var(--mint); font-size: .76rem; letter-spacing: .16em; font-weight: 900; }
.app-notes h1 { font-size: clamp(2.1rem, 3.5vw, 3.6rem); line-height: 1.17; margin: 18px 0 22px; letter-spacing: -.05em; }
.app-notes > p { color: #aeb6b3; font-size: 1rem; line-height: 1.8; max-width: 430px; }
.flow-list { margin-top: 36px; display: flex; gap: 10px; }
.flow-list div { flex: 1; border-top: 1px solid #39413e; padding-top: 14px; }
.flow-list b, .flow-list span { display: block; }
.flow-list b { color: var(--lime); font-size: .72rem; margin-bottom: 7px; }
.flow-list span { font-weight: 750; font-size: .86rem; }
.search-row { display: flex; gap: 8px; margin: 10px 0 12px; }
.search-row input { min-width: 0; flex: 1; color: white; background: var(--panel-2); border: 1px solid var(--line); border-radius: 12px; padding: 12px 13px; outline: none; }
.search-row input:focus { border-color: var(--mint); }
.search-row button, .app-button { border: 0; border-radius: 12px; background: var(--lime); color: #111; font-weight: 850; padding: 0 15px; }
.app-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; background: #090b0b; padding: 4px; border-radius: 12px; margin: 12px 0 16px; }
.app-tabs button { border: 0; border-radius: 9px; color: var(--muted); background: transparent; padding: 10px; font-weight: 750; }
.app-tabs button.active { color: var(--text); background: #252a28; }
.store-list, .history-list, .ranking-list { display: grid; gap: 10px; }
.store-card, .game-card, .history-item, .ranking-item { border: 1px solid var(--line); background: var(--panel); border-radius: 16px; padding: 15px; }
.store-card { display: grid; grid-template-columns: 48px 1fr auto; gap: 12px; align-items: center; }
.store-icon { width: 48px; height: 48px; border-radius: 14px; background: #26312d; display: grid; place-items: center; color: var(--lime); font-size: 1.3rem; }
.store-card h3, .game-card h3 { margin: 0 0 5px; font-size: .95rem; }
.store-card p, .game-card p { margin: 0; color: var(--muted); font-size: .72rem; line-height: 1.5; }
.favorite { background: transparent; border: 0; color: var(--amber); font-size: 1.25rem; padding: 7px; }
.back-button { border: 0; background: transparent; color: white; font-size: 1.3rem; padding: 6px 10px 6px 0; }
.store-title { display: flex; align-items: center; }
.store-summary { padding: 18px; background: linear-gradient(135deg, #214437, #18211e); border: 1px solid #315849; border-radius: 18px; margin: 8px 0 18px; }
.store-summary h3 { margin: 0 0 7px; }
.store-summary p { margin: 0; color: #a9beb6; font-size: .75rem; }
.game-card { margin-bottom: 10px; }
.game-card.clickable { cursor: pointer; transition: border-color .2s ease, transform .2s ease; }
.game-card.clickable:hover { border-color: #d9973c; transform: translateY(-1px); }
.game-card .app-button.secondary,.game-card .app-button:disabled { background:#282c2a;color:#aab1ae;cursor:default; }
.game-card-top { display: flex; align-items: center; justify-content: space-between; }
.status-chip { color: var(--mint); background: #18382e; border-radius: 99px; padding: 5px 8px; font-size: .62rem; font-weight: 900; }
.game-meta { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; margin: 14px 0; }
.game-meta div { background: #0c0f0e; border-radius: 9px; padding: 8px; }
.game-meta small, .game-meta b { display: block; }
.game-meta small { color: var(--muted); font-size: .62rem; margin-bottom: 4px; }
.game-meta b { font-size: .78rem; }
.game-card .app-button { width: 100%; height: 40px; }
.ranking-hero { min-height: 168px; background: radial-gradient(circle at 50% 0%, #55401f, #191610 68%); border: 1px solid #5c4522; border-radius: 20px; display: flex; align-items: flex-end; justify-content: center; gap: 14px; padding: 45px 10px 16px; position: relative; }
.hall-label { position: absolute; top: 16px; left: 0; right: 0; text-align: center; color: var(--mint); font-size: .68rem; font-weight: 900; letter-spacing: .06em; }
.podium { text-align: center; width: 28%; }
.podium .avatar { width: 38px; height: 38px; margin: auto; border-radius: 50%; display: grid; place-items: center; background: #343936; border: 2px solid #68716d; }
.podium.first .avatar { width: 50px; height: 50px; border-color: var(--lime); color: var(--lime); }
.podium b { display: block; font-size: .76rem; margin: 6px 0 2px; }
.podium small { color: var(--muted); font-size: .62rem; }
.rank-filter { display: flex; justify-content: flex-end; margin-bottom: 10px; }
.rank-filter select { color: white; background: var(--panel); border: 1px solid var(--line); padding: 8px 10px; border-radius: 10px; }
.ranking-item { display: grid; grid-template-columns: 28px 1fr auto; align-items: center; padding: 12px 14px; }
.ranking-item > b { color: var(--muted); }
.ranking-item strong { font-size: .83rem; }
.ranking-item small { display: block; color: var(--muted); margin-top: 3px; font-size: .65rem; }
.ranking-item em { color: var(--lime); font-style: normal; font-size: .78rem; font-weight: 800; }
.reset-note { border: 1px solid #55411f; background: #241b0d; color: #dfc78d; border-radius: 10px; padding: 9px 11px; font-size: .67rem; font-weight: 750; margin-bottom: 10px; }
.hall-guide { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; margin: 3px 2px 12px; }
.hall-guide b { font-size: .85rem; }.hall-guide span { color: var(--muted); font-size: .62rem; text-align: right; }
.medal-ranking-item { display: grid; grid-template-columns: 28px 1fr auto; gap: 8px; align-items: center; border: 1px solid var(--line); background: var(--panel); border-radius: 16px; padding: 13px 14px; }
.medal-ranking-item > b { color: var(--muted); }.medal-ranking-item strong { font-size: .83rem; }.medal-ranking-item small { display: block; color: var(--muted); margin-top: 3px; font-size: .65rem; }.medal-ranking-item > em { color: var(--lime); font-style: normal; font-size: .75rem; font-weight: 850; }
.medal-counts { display: flex; gap: 8px; margin-top: 9px; }.medal-counts span { font-size: .68rem; font-weight: 900; }.medal-counts .gold { color: #ffd34d; }.medal-counts .silver { color: #cbd4d8; }.medal-counts .bronze { color: #c88755; }
.history-item { display: flex; justify-content: space-between; gap: 12px; }
.history-item h3 { margin: 0 0 5px; font-size: .86rem; }
.history-item p { margin: 0; color: var(--muted); font-size: .68rem; }
.history-item strong.plus { color: var(--mint); }.history-item strong.minus { color: var(--red); }
.profile-card { text-align: center; padding: 24px 10px 20px; }
.profile-avatar { width: 70px; height: 70px; background: var(--lime); color: #111; border-radius: 22px; display: grid; place-items: center; margin: 0 auto 12px; font-weight: 900; font-size: 1.35rem; transform: none; }
.profile-card h2 { margin: 0 0 5px; }.profile-card p { margin: 0; color: var(--muted); font-size: .75rem; }
.settings-list { border: 1px solid var(--line); border-radius: 17px; overflow: hidden; }
.settings-list button { width: 100%; background: var(--panel); color: white; border: 0; border-bottom: 1px solid var(--line); padding: 16px; display: flex; justify-content: space-between; text-align: left; }
.settings-list button:last-child { border-bottom: 0; }
.install-card { display:grid;grid-template-columns:44px 1fr;gap:11px;align-items:center;margin:18px 0 4px;padding:14px;border:1px solid #59431f;border-radius:17px;background:linear-gradient(145deg,#271d0f,#151816); }
.install-card img { width:44px;height:44px;border-radius:12px;object-fit:cover;border:1px solid #8b5e20;box-shadow:0 0 16px #ffb9382e; }
.install-card b { display:block;font-size:.8rem;line-height:1.35; }
.install-card p { margin:4px 0 0;color:var(--muted);font-size:.63rem;line-height:1.45; }
.install-card button { grid-column:1/-1;width:100%;border:0;border-radius:10px;background:var(--lime);color:#17120a;padding:11px;font-size:.75rem;font-weight:900; }
.install-guide { list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px; }
.install-guide li { display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:12px;background:#101312; }
.install-guide li > b { width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:var(--lime);color:#17120a; }
.install-guide span { color:#cdd2d0;font-size:.78rem;line-height:1.45; }
.vault-summary { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 18px; }.vault-summary > div { border:1px solid #56411f;background:linear-gradient(145deg,#2a1e0f,#161816);border-radius:17px;padding:17px; }.vault-summary span,.vault-summary strong,.vault-summary p { display:block; }.vault-summary span { color:#c5b89f;font-size:.72rem;font-weight:800; }.vault-summary strong { color:var(--lime);font-size:2rem;margin:8px 0 4px; }.vault-summary strong small { font-size:.72rem;margin-left:3px; }.vault-summary p { color:var(--muted);font-size:.62rem;line-height:1.4;margin:0; }.podium-empty { width:100%;margin-bottom:14px;padding:20px; }.modal-switch { display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:#101312;border-radius:12px;padding:14px;margin-top:16px; }.modal-switch input { width:18px;height:18px;accent-color:var(--lime); }
.ticket-handover-card { display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px;padding:16px;border:1px solid #63491f;border-radius:16px;background:linear-gradient(135deg,#292013,#171a18); }.ticket-handover-card span { color:var(--lime);font-size:.58rem;font-weight:900;letter-spacing:.14em; }.ticket-handover-card h3 { margin:5px 0;font-size:.92rem; }.ticket-handover-card p { margin:0;color:var(--muted);font-size:.65rem;line-height:1.45; }.ticket-handover-card button { flex:0 0 auto;border:0;border-radius:10px;background:var(--lime);color:#151008;padding:10px 12px;font-size:.72rem;font-weight:900; }
.ticket-handover-balances { display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0; }.ticket-handover-balances > div { border:1px solid var(--line);border-radius:12px;background:#101312;padding:12px; }.ticket-handover-balances span,.ticket-handover-balances b { display:block; }.ticket-handover-balances span { color:var(--muted);font-size:.7rem; }.ticket-handover-balances b { margin-top:5px;color:var(--lime);font-size:1.2rem; }.ticket-handover-warning { margin-top:14px;padding:12px;border:1px solid #704044;border-radius:12px;background:#2b1517; }.ticket-handover-warning b { color:#ff9ca2;font-size:.76rem; }.ticket-handover-warning p { margin:5px 0 0!important;color:#d5aaad!important;font-size:.69rem!important;line-height:1.5!important; }

/* admin */
.admin-mode.active { display: grid; grid-template-columns: 245px 1fr; background: #0f1111; }
.admin-sidebar { min-height: calc(100vh - 72px); background: linear-gradient(180deg, #17130e, #101211); border-right: 1px solid #3a2c1c; padding: 22px 14px; display: flex; flex-direction: column; }
.admin-logo { display: flex; align-items: center; gap: 12px; padding: 0 8px 22px; }
.admin-logo div { display: grid; gap: 4px; }.admin-logo small { color: var(--muted); }
.admin-sidebar nav { min-height:0;flex:1;overflow-y:auto;scrollbar-width:thin;display:grid;align-content:start;gap:6px;padding-right:2px; }
.admin-sidebar nav button { border: 0; background: transparent; color: #929a97; border-radius: 11px; padding: 12px 13px; display: flex; gap: 12px; align-items: center; font-weight: 700; text-align: left; }
.admin-sidebar nav button.active { color: #121411; background: var(--lime); }
.admin-nav-group { border:1px solid transparent;border-radius:12px;overflow:hidden; }
.admin-nav-group[open] { border-color:#34362e;background:#131614; }
.admin-nav-group > summary { min-height:48px;display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:11px;color:#b4bbb7;cursor:pointer;font-size:1rem;font-weight:850;line-height:1.3;list-style:none;user-select:none; }
.admin-nav-group > summary::-webkit-details-marker { display:none; }
.admin-nav-group > summary:hover,.admin-nav-group[open] > summary { color:#f5d88e;background:#211c13; }
.admin-nav-group > summary b { width:18px;text-align:center;color:#c3c9c6;font-size:.9rem; }
.admin-nav-group > summary span { flex:1; }
.admin-nav-group > summary i { color:#777e7a;font-size:.9rem;font-style:normal;transition:transform .18s ease; }
.admin-nav-group[open] > summary i { transform:rotate(180deg); }
.admin-nav-group-items { display:grid;gap:2px;padding:2px 4px 6px; }
.admin-sidebar nav .admin-nav-group-items button { width:100%;min-height:40px;padding:9px 10px;font-size:.75rem; }
.admin-sidebar nav .admin-nav-group-items button.active { box-shadow:inset 3px 0 #fff8; }
.admin-user { position:relative;margin-top: auto; border-top: 1px solid var(--line); padding: 18px 7px 0; display: grid; grid-template-columns: 36px 1fr auto; gap: 10px; align-items: center; }
.admin-user > span { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; color: #111; background: var(--mint); font-weight: 900; }
.admin-user-copy { display: grid; gap: 3px; }.admin-user small { color: var(--muted); }.admin-user button { color: white; border: 0; background: transparent; }
.admin-user-menu-trigger { width:32px;height:32px;border-radius:9px!important;font-size:1.15rem!important;line-height:1; }.admin-user-menu-trigger:hover,.admin-user-menu-trigger[aria-expanded="true"] { color:var(--lime);background:#2b302e; }
.admin-user-menu { position:absolute;left:7px;right:7px;bottom:calc(100% + 9px);z-index:20;padding:6px;border:1px solid #3d4542;border-radius:11px;background:#171a19;box-shadow:0 12px 32px #0009; }
.admin-user-menu[hidden] { display:none; }.admin-user-menu button { display:block;width:100%;padding:10px 12px;border-radius:8px;color:var(--red);font-size:.76rem;font-weight:850;text-align:left; }.admin-user-menu button:hover { background:#3a171a; }
.admin-nav-hidden { display:none !important; }
.admin-workspace { min-width: 0; }
.admin-topbar { height: 76px; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; padding: 0 28px; }
.admin-topbar > div:first-child { display: flex; flex-direction: column; gap: 5px; }.admin-topbar b { font-size: 1.15rem; }.admin-topbar span { color: var(--muted); font-size: .75rem; }
.top-actions { display: flex; gap: 8px; }.top-actions button, .table-action, .inline-action { border-radius: 9px; padding: 10px 14px; font-weight: 800; }
.admin-store-scope { display:flex;align-items:center;gap:8px;border:1px solid #4a3a21;background:#20180d;border-radius:11px;padding:7px 10px; }.admin-store-scope span { color:#d7c18f;font-size:.7rem;font-weight:850;white-space:nowrap; }.admin-store-scope select { min-width:150px;color:white;background:#0d100f;border:1px solid #5c4628;border-radius:8px;padding:8px 10px;font-weight:750; }.admin-fixed-store { display:inline-flex;align-items:center;border:1px solid #4a3a21;background:#20180d;color:#f1d594!important;border-radius:999px;padding:9px 12px;font-size:.7rem!important;font-weight:850; }
.ghost { border: 1px solid var(--line); background: transparent; color: #c8cecb; }.primary { border: 0; background: var(--lime); color: #101210; }
.admin-content { padding: 24px 28px 40px; max-width: 1500px; }
.metric-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.metric-card { border: 1px solid var(--line); background: var(--panel); border-radius: 15px; padding: 17px; position: relative; overflow: hidden; }
.metric-card::after { content: ""; width: 42px; height: 42px; border-radius: 50%; background: var(--metric); filter: blur(24px); position: absolute; right: 7px; top: 7px; }
.metric-card span { color: var(--muted); font-size: .78rem; }.metric-card strong { display: block; font-size: 1.8rem; margin: 10px 0 3px; }.metric-card small { color: var(--mint); }
.admin-grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 16px; margin-top: 16px; }
.ticket-grant-layout { grid-template-columns:minmax(480px,1.5fr) minmax(320px,1fr);align-items:start; }
.ticket-recent-list { max-height:min(68vh,720px);max-height:min(68dvh,720px); }
.approval-head-actions { display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap; }
.approval-head-actions .inline-action { min-height:40px; }
.admin-hierarchy { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px; }.admin-hierarchy > article { position:relative;display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:start;border:1px solid #3b423f;background:#111413;border-radius:14px;padding:16px; }.admin-hierarchy > article:not(:last-child)::after { content:"→";position:absolute;right:-18px;top:50%;z-index:2;color:var(--lime);font-size:1.1rem;font-weight:900; }.admin-hierarchy > article > b { display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#2d2110;color:var(--lime); }.admin-hierarchy strong { display:block;margin:2px 0 5px;font-size:.92rem; }.admin-hierarchy span { color:#b6bfbb;font-size:.69rem;line-height:1.5; }.account-management-grid { display:grid;grid-template-columns:minmax(320px,.7fr) minmax(0,1.3fr);gap:16px;align-items:start; }.account-rule-card ul { margin:12px 0 0;padding-left:18px;color:#c2cac6;font-size:.74rem;line-height:1.75; }.role-pill { display:inline-flex;align-items:center;border:1px solid #4b5350;border-radius:999px;padding:5px 8px;color:#c7cfcb;font-size:.67rem;font-weight:850;white-space:nowrap; }.role-pill.owner { border-color:#7c5a24;background:#2c1e0c;color:#ffd27c; }.role-pill.store_manager { border-color:#386151;background:#10291f;color:#86e7c1; }.role-pill.staff { border-color:#414a61;background:#171d2c;color:#aebcf3; }.account-actions { display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap; }.account-actions .table-action { padding:7px 9px;font-size:.68rem; }
.admin-card { background: var(--panel); border: 1px solid var(--line); border-radius: 16px; padding: 18px; min-width: 0; }
.admin-card-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; }.admin-card-head h2 { font-size: 1rem; margin: 0; }.admin-card-head button { color: var(--lime); border: 0; background: transparent; font-weight: 750; }
.game-row { display: grid; grid-template-columns: 1fr 90px 100px auto; align-items: center; gap: 12px; border-top: 1px solid var(--line); padding: 14px 0; }
.game-row:first-of-type { border-top: 0; }.game-row b { font-size: .86rem; }.game-row small { display: block; color: var(--muted); margin-top: 4px; }.mini-progress { height: 6px; border-radius: 99px; background: #343a38; overflow: hidden; }.mini-progress i { display: block; height: 100%; background: var(--mint); }
.status-pill { display: inline-flex; align-items: center; border-radius: 999px; padding: 6px 9px; font-size: .68rem; font-weight: 800; background: #18382e; color: var(--mint); }.status-pill.scheduled { color: var(--amber); background: #3a2d13; }.status-pill.ended { color: #ff8b91; background: #3a171a; }
.activity { display: grid; grid-template-columns: 8px 1fr; gap: 12px; margin: 15px 0; }.activity i { width: 7px; height: 7px; border-radius: 50%; background: var(--mint); margin-top: 5px; }.activity p { margin: 0; font-size: .78rem; line-height: 1.45; }.activity small { display: block; color: var(--muted); margin-top: 4px; }
.toolbar { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 14px; }.toolbar .search-row { max-width: 420px; margin: 0; flex: 1; }.toolbar-actions { display: flex; gap: 8px; }
.content-save-button { width:100%;min-height:46px; }
.content-save-button:disabled { opacity:.62;cursor:wait; }
.content-save-help { display:block;color:var(--muted);font-size:.72rem;line-height:1.5;margin-top:9px; }
.admin-table { width: 100%; border-collapse: collapse; min-width: 700px; }.table-wrap { overflow-x: auto; }.admin-table th { color: var(--muted); font-size: .7rem; font-weight: 700; text-align: left; padding: 12px; border-bottom: 1px solid var(--line); }.admin-table td { padding: 14px 12px; border-bottom: 1px solid #252928; font-size: .8rem; }.admin-table tr:last-child td { border-bottom: 0; }.admin-table strong { font-size: .82rem; }.admin-table small { display: block; color: var(--muted); margin-top: 4px; }
.table-action { padding: 7px 10px; background: #252b29; color: white; border: 1px solid #373d3b; font-size: .72rem; }.inline-action { background: var(--lime); color: #101210; border: 0; }
.subtabs { display: flex; gap: 6px; border-bottom: 1px solid var(--line); margin-bottom: 18px; }.subtabs button { border: 0; color: var(--muted); background: transparent; padding: 10px 13px 13px; font-weight: 700; border-bottom: 2px solid transparent; }.subtabs button.active { color: var(--lime); border-color: var(--lime); }
.form-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }.field { display: grid; gap: 7px; }.field.full { grid-column: 1/-1; }.field label { color: #b8c0bd; font-size: .75rem; font-weight: 700; }.field input, .field select, .field textarea { width: 100%; color: white; background: #0e1110; border: 1px solid var(--line); border-radius: 10px; padding: 11px 12px; outline: none; }.field textarea { min-height: 84px; resize: vertical; }
.ticket-action-group { margin:0;padding:0;border:0;display:grid;grid-template-columns:1fr 1fr;gap:9px; }.ticket-action-group legend { grid-column:1/-1;color:#b8c0bd;font-size:.75rem;font-weight:700;margin-bottom:7px; }.ticket-action-group label { display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:center;border:1px solid var(--line);background:#0e1110;border-radius:11px;padding:12px;cursor:pointer; }.ticket-action-group label.active { border-color:var(--lime);background:#281d0d;box-shadow:inset 0 0 0 1px #ffbd3b20; }.ticket-action-group input { width:auto;grid-row:1/3;accent-color:var(--lime); }.ticket-action-group span { color:white;font-size:.82rem;font-weight:850; }.ticket-action-group small { color:var(--muted);font-size:.67rem;margin-top:3px; }
.member-search-control { display: grid; grid-template-columns: 1fr auto; gap: 8px; }.member-search-control button { border: 0; border-radius: 9px; padding: 0 16px; background: var(--lime); color: #111; font-weight: 850; }
[data-timer-open] { font-size: 0; }
[data-timer-open]::after { content: "타이머 전체화면 새창 ›"; font-size: .75rem; }
.structure-row { display: grid; grid-template-columns: 68px repeat(4,1fr) 36px; gap: 8px; margin-bottom: 8px; align-items: center; }.structure-row input { min-width: 0; color: white; background: #0d0f0f; border: 1px solid var(--line); padding: 9px; border-radius: 8px; }.structure-row button { border: 0; background: transparent; color: var(--red); font-size: 1.1rem; }.structure-heading { color:var(--muted);font-size:.7rem;font-weight:800; }.structure-round-list { position:relative; }.round-drag-handle { min-height:40px!important;display:flex;align-items:center;justify-content:center;gap:5px;border:1px solid #5d431d!important;border-radius:9px!important;background:#2b1f0e!important;color:var(--lime)!important;font-size:.72rem!important;font-weight:900;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none; }.round-drag-handle small { color:#9b8d75;font-size:.72rem;line-height:1; }.round-drag-handle:active { cursor:grabbing; }.structure-row.dragging { position:relative;z-index:8;opacity:.88;transform:scale(1.012);filter:drop-shadow(0 12px 18px #0008); }.structure-row.dragging .round-drag-handle { border-color:var(--lime)!important;box-shadow:0 0 0 2px #ffbd3b30; }.structure-dragging,.structure-dragging * { cursor:grabbing!important; }.round-remove { color:var(--red)!important; }.round-end-spacer { display:block; }.structure-edit-help { margin:7px 0 0;color:var(--muted);font-size:.68rem;line-height:1.45; }.structure-bulk-time { display:grid;grid-template-columns:auto 90px auto auto;align-items:center;gap:9px;border:1px solid #3b423f;background:#101312;border-radius:12px;padding:12px;margin-bottom:14px; }.structure-bulk-time > label:first-child { color:#d7ddda;font-size:.75rem;font-weight:800; }.structure-bulk-time > input { width:90px;color:white;background:#0d0f0f;border:1px solid var(--line);border-radius:8px;padding:9px; }.bulk-break-option { display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.7rem;white-space:nowrap; }.bulk-break-option input { accent-color:var(--lime); }.structure-bulk-time > small { grid-column:1/-1;color:var(--muted);font-size:.66rem;line-height:1.45; }
.timer-game-selector { margin-bottom: 16px; }.timer-game-selector .admin-card-head { align-items: flex-start; }.timer-game-selector .admin-card-head p { margin: 5px 0 0; color: var(--muted); font-size: .72rem; }.running-count { border: 1px solid #5d431d; background: #251a0c; color: var(--lime); border-radius: 999px; padding: 7px 10px; font-size: .7rem; font-weight: 850; }.timer-game-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }.timer-game-item { min-width: 0; border: 1px solid #343a38; background: #101312; color: white; border-radius: 13px; padding: 14px; text-align: left; transition: border-color .18s ease,background .18s ease,transform .18s ease; }.timer-game-item:hover { border-color: #795622; transform: translateY(-1px); }.timer-game-item.active { border-color: var(--lime); background: linear-gradient(145deg,#2b1e0c,#151715 72%); box-shadow: 0 0 0 1px #ffbd3b24 inset; }.timer-game-item-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; color: var(--muted); font-size: .68rem; }.timer-game-item-head span { display: flex; align-items: center; gap: 6px; color: var(--mint); font-weight: 800; }.timer-game-item-head em { font-style: normal; }.game-live-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 10px var(--mint); }.game-live-dot.paused { background: var(--amber); box-shadow: none; }.timer-game-item > strong { display: block; margin: 12px 0; font-size: .95rem; }.timer-game-meta { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 8px; color: var(--muted); font-size: .68rem; }.timer-game-meta b { color: white; font-size: 1.25rem; font-variant-numeric: tabular-nums; }.timer-game-meta span:last-child { text-align: right; }
.timer-admin-layout { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(330px,.8fr); gap: 16px; align-items: start; }
.timer-admin-side { display: grid; gap: 16px; }.tournament-control { position: static; }.live-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 16px; }.live-summary > div { background: #0d100f; border: 1px solid var(--line); border-radius: 11px; padding: 12px; }.live-summary small { display: block; color: var(--muted); font-size: .68rem; }.live-summary strong { display: block; font-size: 1.15rem; margin-top: 6px; }.live-summary .average { border-color: #6a4c20; background: #251a0c; }.live-summary .average strong { color: var(--lime); }
.timer-remote-card { border-color: #63471d; background: linear-gradient(150deg,#21170a,#111312 62%); }.timer-remote-card .admin-card-head small { display: block; margin-top: 5px; color: var(--muted); font-size: .68rem; }.remote-timer-display { border: 1px solid #5d431d; background: #090b0a; border-radius: 14px; padding: 18px; text-align: center; display: grid; gap: 6px; }.remote-timer-display small { color: var(--lime); font-weight: 900; letter-spacing: .12em; }.remote-timer-display strong { color: white; font-size: 3.3rem; line-height: 1; font-variant-numeric: tabular-nums; letter-spacing: -.04em; }.remote-timer-display span { color: #c8cfcc; font-weight: 850; }.remote-main-button { width: 100%; margin-top: 10px; padding: 13px 16px; font-size: .88rem; }.remote-control-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 8px; }.remote-control-grid .table-action { padding: 10px; }.remote-note { color: var(--muted); font-size: .67rem; line-height: 1.55; margin: 11px 2px 0; text-align: center; }
.count-control { border-top: 1px solid var(--line); padding: 14px 0; display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: center; }.count-control > div:first-child span { display: block; font-size: .8rem; font-weight: 800; }.count-control > div:first-child small { display: block; color: var(--muted); font-size: .65rem; margin-top: 4px; }.count-control > strong { font-size: 1.25rem; color: var(--mint); }.step-buttons { grid-column: 1/-1; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }.step-buttons button { border: 1px solid #3a403e; color: white; background: #232826; border-radius: 9px; padding: 9px; font-weight: 800; font-size: .72rem; }.step-buttons button:last-child { background: #3b2b11; border-color: #6a4c20; color: var(--mint); }
.chip-adjust { border-top: 1px solid var(--line); padding-top: 14px; display: grid; gap: 10px; }.chip-adjust .inline-action { width: 100%; }.calculation-note { margin: 12px 0 0; color: var(--muted); font-size: .67rem; line-height: 1.5; text-align: center; }
.prize-help { color: var(--muted); font-size: .7rem; line-height: 1.5; margin: -4px 0 13px; }.prize-editor-list { display: grid; gap: 7px; }.prize-input-row { display: grid; grid-template-columns: 76px 1fr 30px; gap: 7px; }.prize-input-row input { min-width: 0; color: white; background: #0d100f; border: 1px solid var(--line); border-radius: 8px; padding: 9px; }.prize-input-row button { border: 0; background: transparent; color: var(--red); font-size: 1rem; }.prize-add { width: 100%; margin-top: 10px; }.prize-gtd { margin-top: 14px; }.prize-save { width: 100%; margin-top: 10px; }
.saved-structures { margin-top: 16px; }.saved-structures .admin-card-head { align-items: flex-start; }.saved-structures .admin-card-head p { margin: 5px 0 0; color: var(--muted); font-size: .72rem; }.saved-structure-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }.saved-structure-card { border: 1px solid #343a38; background: #101312; border-radius: 13px; padding: 14px; }.saved-structure-card > div { display: flex; justify-content: space-between; gap: 8px; color: var(--muted); font-size: .65rem; }.saved-structure-card > div span { color: var(--lime); font-weight: 850; }.saved-structure-card > div em { font-style: normal; }.saved-structure-card h3 { margin: 13px 0 6px; font-size: .95rem; }.saved-structure-card p { margin: 0 0 13px; color: var(--muted); font-size: .7rem; }.saved-structure-card button { width: 100%; }
.saved-structure-editor .admin-card-head { align-items:flex-start; }.saved-structure-editor .admin-card-head p { margin:5px 0 0;color:var(--muted);font-size:.72rem; }.saved-editor-actions { display:flex;justify-content:space-between;gap:10px;margin-top:15px; }.saved-editor-actions button { min-width:180px; }
.ticket-history-search { display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(4,minmax(120px,.7fr)) auto;gap:10px;align-items:end;border:1px solid #3c423f;background:#101312;border-radius:13px;padding:14px;margin-bottom:14px; }.ticket-history-search .field { min-width:0; }.ticket-history-search input,.ticket-history-search select { width:100%;min-height:41px;color:white;background:#0b0d0c;border:1px solid var(--line);border-radius:9px;padding:9px 10px; }.ticket-history-submit { min-height:41px;padding:9px 16px;white-space:nowrap; }.ticket-history-search > small { grid-column:1/-1;color:var(--muted);font-size:.67rem;line-height:1.45; }
.ticket-usage-search { grid-template-columns:minmax(240px,1.5fr) repeat(3,minmax(130px,.7fr)) auto; }
.ticket-history-legend { display:flex;gap:8px;margin:0 0 15px;flex-wrap:wrap; }.ticket-history-legend span { border:1px solid #3b423f;border-radius:999px;padding:6px 10px;color:var(--mint);font-size:.68rem;font-weight:850; }.ticket-history-legend .cancelled,.history-cancelled { color:#a6aeab; }.ticket-history-legend .used,.history-used { color:#79e6c0; }.ticket-history-row > span { display:grid;gap:3px;min-width:110px;font-weight:850;color:var(--mint); }.ticket-history-row > span b { color:#d6dcda;font-size:.7rem; }.ticket-history-row > span em { color:var(--mint);font-size:.72rem;font-style:normal; }.ticket-history-row.revoked > span em { color:#ff9a9f; }.ticket-history-row.customer-used > span em { color:#79e6c0; }.history-cancelled,.history-used { font-size:.72rem; }
.ticket-admin-note { color:#ffd28b!important; }.ticket-history-actions { display:flex;justify-content:flex-end;gap:7px;align-items:center;flex-wrap:wrap; }.field textarea { width:100%;min-height:92px;resize:vertical;border:1px solid #3a3f3d;border-radius:10px;background:#0d100f;color:white;padding:11px;font:inherit;line-height:1.5; }
.settlement-filter { display:grid;grid-template-columns:minmax(145px,190px) minmax(145px,190px) auto 1fr;gap:10px;align-items:end;border:1px solid #55411f;background:#21190d;border-radius:14px;padding:14px;margin-bottom:14px; }.settlement-filter input { width:100%;min-height:41px;color:white;background:#0b0d0c;border:1px solid var(--line);border-radius:9px;padding:9px 10px; }.settlement-filter > .inline-action { min-height:41px;white-space:nowrap; }.settlement-filter > small { grid-column:1/-1;color:#c8b98f;font-size:.69rem;line-height:1.5; }.settlement-presets { display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap; }.settlement-kind-grid { display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px; }.settlement-kind-card { border:1px solid #4b3b24;background:linear-gradient(145deg,#21190e,#141716 70%);border-radius:16px;padding:18px; }.settlement-kind-card > div:first-child { display:flex;justify-content:space-between;align-items:center;gap:12px; }.settlement-kind-card > div:first-child span { color:var(--lime);font-size:1rem;font-weight:900; }.settlement-kind-card > div:first-child strong { color:#cbd2cf;font-size:.74rem; }.settlement-kind-card dl { display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0 0; }.settlement-kind-card dl div { min-width:0;border:1px solid #343a38;background:#0f1211;border-radius:11px;padding:12px; }.settlement-kind-card dt { color:var(--muted);font-size:.68rem; }.settlement-kind-card dd { margin:7px 0 0;color:white;font-size:1.05rem;font-weight:900;white-space:nowrap; }.settlement-kind-card .positive,.settlement-positive { color:var(--mint);font-weight:900; }.settlement-kind-card .negative,.settlement-negative { color:#ff9298;font-weight:900; }.settlement-daily { margin-top:16px; }.settlement-daily .admin-card-head { align-items:flex-start; }.settlement-daily .admin-card-head p { margin:5px 0 0;color:var(--muted);font-size:.72rem; }.settlement-daily .admin-table th[colspan] { text-align:center;color:#d8c79b; }.settlement-daily .admin-table td:not(:first-child) { font-variant-numeric:tabular-nums; }
.game-history-search { display:grid;grid-template-columns:minmax(220px,1fr) minmax(145px,190px) minmax(145px,190px) auto;gap:10px;align-items:end;border:1px solid #3c423f;background:#101312;border-radius:13px;padding:14px;margin-bottom:14px; }.game-history-search input { width:100%;min-height:41px;color:white;background:#0b0d0c;border:1px solid var(--line);border-radius:9px;padding:9px 10px; }.game-history-search > .inline-action { min-height:41px;white-space:nowrap; }.game-history-search > small { grid-column:1/-1;color:var(--muted);font-size:.69rem;line-height:1.5; }.game-history-table { min-width:980px; }
.empty-note { border: 1px dashed #38403d; background: #121514; border-radius: 14px; padding: 32px; text-align: center; color: var(--muted); }
.operational-note { border:1px solid #55411f;background:#241b0d;color:#dfc78d;border-radius:11px;padding:11px 13px;font-size:.72rem;margin-bottom:14px; }.break-round { border:1px solid #59431f;background:#241b0d;border-radius:10px;padding:5px; }.break-round input { color:var(--amber);border-color:#604a27; }.saved-structure-card.editing { border-color:var(--lime);box-shadow:0 0 0 1px color-mix(in srgb,var(--lime) 24%,transparent); }.saved-card-actions { display:grid!important;grid-template-columns:1fr 1fr;gap:7px!important; }.saved-card-actions .danger-mini { grid-column:1/-1;width:100%;border:1px solid #7b2f35;background:#351619;color:#ff9298;border-radius:8px;padding:7px 10px;font-size:.7rem;font-weight:850; }.saved-card-actions button:disabled { opacity:.45;cursor:not-allowed; }
.medal-rule { margin-top: 14px; border: 1px solid #57421f; background: #241b0d; border-radius: 12px; padding: 14px; }.medal-rule b { color: var(--mint); font-size: .78rem; }.medal-rule p { color: #bbb2a3; font-size: .72rem; line-height: 1.65; margin: 7px 0 0; }
.admin-ranking-history { margin-top:16px; }.ranking-month-toolbar { display:grid;grid-template-columns:minmax(180px,240px) auto auto 1fr;align-items:end;gap:10px;border:1px solid #55411f;background:#21190d;border-radius:14px;padding:14px;margin-bottom:14px; }.ranking-month-toolbar .inline-action,.ranking-month-toolbar .table-action { min-height:43px;white-space:nowrap; }.ranking-month-toolbar > small { align-self:center;color:#c8b98f;font-size:.72rem;line-height:1.5;text-align:right; }.admin-ranking-list { max-height:min(60vh,640px);max-height:min(60dvh,640px); }.admin-ranking-history-row { grid-template-columns:92px minmax(0,1fr) auto;min-height:64px; }.admin-ranking-history-row > div { min-width:0; }.admin-ranking-history-row strong { font-size:.92rem;overflow-wrap:anywhere; }.admin-ranking-history-row small { font-size:.75rem;line-height:1.45; }.admin-ranking-history-row > span { color:var(--mint);font-size:1.02rem;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap; }.admin-ranking-position { color:#c8cfcc;font-size:.82rem;white-space:nowrap; }.admin-ranking-position.top { color:var(--lime);font-size:.9rem; }.admin-ranking-more { display:flex;justify-content:center;margin-top:14px; }.admin-ranking-more button { min-height:42px;padding:9px 18px; }

/* timer */
.timer-mode.active { display: flex; flex-direction: column; min-height: calc(100vh - 72px); background: radial-gradient(circle at 50% 38%, #2b2114, #070808 58%); padding: 0; overflow: hidden; }
.timer-board { flex: 1; display: grid; grid-template-columns: 290px minmax(0,1fr) 290px; grid-template-rows: auto minmax(0,1fr); align-items: stretch; gap: 0; max-width: 1700px; width: 100%; margin: 18px auto; border: 1px solid #3c3327; background: #090b0bcf; box-shadow: 0 22px 70px #0008; }
.timer-prize-panel { min-width: 0; padding: 28px 22px; border-right: 1px solid #3c3327; background: linear-gradient(180deg,#15120e,#0a0c0b); display: flex; flex-direction: column; }.prize-panel-title { color: var(--lime); font-size: 1.08rem; font-weight: 950; letter-spacing: .16em; padding-bottom: 15px; border-bottom: 1px solid #3c3327; }.timer-prize-list { display: grid; gap: 0; }.timer-prize-list div { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; padding: 14px 0; border-bottom: 1px solid #25231f; }.timer-prize-list span { color: #c6cbc8; font-size: .96rem; font-weight: 850; }.timer-prize-list strong { color: white; font-size: 1.08rem; text-align: right; }.timer-gtd { margin-top: auto; padding-top: 20px; border-top: 1px solid #4c3820; }.timer-gtd small { display: block; color: var(--lime); font-size:1rem;font-weight: 950; letter-spacing: .12em; }.timer-gtd strong { display: block; font-size: 2rem; margin-top: 8px; }
.timer-main { text-align: center; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 28px; position: relative; overflow: hidden; }
.timer-main::before { content: ""; position: absolute; inset: 4%; background: url("/brand/hash-tag-tv-20260922.png") center / min(76%, 820px) auto no-repeat; opacity: .28; filter: saturate(1.12) contrast(1.05); pointer-events: none; }
.timer-main > * { position: relative; z-index: 1; }
.timer-game-title { color: white; font-size: clamp(3.2rem,6vw,7rem); font-weight: 950; letter-spacing: .06em; line-height: 1.05; }.timer-board-title { grid-column: 1 / -1; padding: 24px 28px; text-align: center; border-bottom: 1px solid #3c3327; background: linear-gradient(90deg,#0a0c0b,#17130d,#0a0c0b); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }.timer-level { color: var(--lime); font-size: 1.7rem; font-weight: 950; letter-spacing: .09em; }.clock { font-variant-numeric: tabular-nums; font-size: clamp(8rem, 15vw, 15rem); line-height: .88; font-weight: 950; color: white; letter-spacing: -.065em; margin: 18px 0 26px; text-shadow: 0 3px 12px #000, 0 0 50px #ffb93826; }.blind-summary { display: flex; align-items: flex-start; justify-content: center; gap: clamp(65px,8vw,130px); }.blind-summary div { min-width: 215px; }.blind-summary small { display: block; color: var(--lime); font-size: 1.35rem; font-weight: 950; letter-spacing: .09em; margin-bottom: 10px; }.blind-summary strong { display: block; white-space: nowrap; font-size: clamp(2.6rem,3.8vw,4.15rem); line-height: 1; text-shadow: 0 2px 8px #000; }.next-level { color: var(--lime); font-size: 1.48rem; font-weight: 850; margin-top: 30px; text-shadow: 0 2px 8px #000; }.next-level b { color: white;font-size:1.58rem; }
.timer-stats { display: grid; align-content: stretch; border-left: 1px solid #3c3327; background: linear-gradient(180deg,#101211,#080a09); }.timer-stats div { border-bottom: 1px solid #292822; padding: 18px 20px; display: flex; flex-direction: column; justify-content: center; }.timer-stats div:last-child { border-bottom: 0; }.timer-stats small { display: block; color: var(--lime); font-size:1rem;font-weight: 900; letter-spacing: .08em; }.timer-stats strong { display: block; font-size: 2rem; margin-top: 8px; }.timer-stats em { font-size: 1.25rem; color: var(--muted); font-style: normal; }
.standalone-timer { overflow: hidden; }.standalone-timer .prototype-bar,.standalone-timer #appMode,.standalone-timer #adminMode { display: none !important; }.standalone-timer .timer-mode.active { width: 100vw; height: 100vh; min-height: 100vh; padding: 0; background: #050606; }.standalone-timer .timer-board { width: 100%; max-width: none; height: 100vh; margin: 0; border: 0; box-shadow: none; }

/* modal + toast */
.modal-backdrop { display: none; position: fixed; inset: 0; z-index: 100; background: #000b; backdrop-filter: blur(6px); place-items: center; padding: 20px; }.modal-backdrop.open { display: grid; }.modal-card { width: min(500px, 100%); max-height: 88vh; overflow: auto; background: #171a19; border: 1px solid #3b423f; border-radius: 20px; padding: 24px; box-shadow: 0 30px 80px #000; position: relative; }.modal-close { position: absolute; right: 16px; top: 14px; border: 0; color: #a9b1ae; background: transparent; font-size: 1.5rem; }.modal-card h2 { margin: 0 0 8px; }.modal-card > div > p { color: var(--muted); font-size: .86rem; line-height: 1.6; }.modal-actions { display: flex; gap: 9px; margin-top: 20px; }.modal-actions button { flex: 1; border-radius: 11px; padding: 12px; font-weight: 850; }.modal-actions .cancel { border: 1px solid var(--line); background: transparent; color: white; }.modal-actions .confirm { border: 0; background: var(--lime); color: #111; }
.modal-actions .danger { border: 1px solid #7b2f35; background: #3a171a; color: #ff9096; }.game-manage-actions { display: grid; grid-template-columns: repeat(3,1fr); }
.profile-nickname-check { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch; }.profile-nickname-check input { min-width:0; }.profile-nickname-check button { min-width:88px;border-radius:10px;font-weight:800; }.profile-nickname-status { margin:8px 0 0;color:var(--muted);font-size:.78rem;line-height:1.5; }.profile-nickname-status.available { color:var(--mint); }.profile-nickname-status.unavailable { color:#ff9298; }.modal-actions .confirm:disabled { opacity:.45;cursor:not-allowed; }
.game-detail-heading { display:flex;align-items:flex-start;justify-content:space-between;gap:16px; }
.game-detail-heading h2 { margin-bottom:4px; }.game-detail-heading p { margin:0;color:var(--muted);font-size:.76rem; }.game-detail-heading > strong { font-size:1.55rem;color:var(--amber);white-space:nowrap; }
.game-live-strip { display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0; }.game-live-strip > div { background:#101312;border:1px solid var(--line);border-radius:12px;padding:12px; }.game-live-strip small { display:block;color:var(--muted);font-size:.65rem;margin-bottom:6px; }.game-live-strip b { display:block;font-size:.86rem;line-height:1.35; }
.participant-section { border-top:1px solid var(--line);padding-top:17px; }.participant-title { display:flex;justify-content:space-between;align-items:center;margin-bottom:12px; }.participant-title span { color:var(--amber);font-weight:800; }.participant-chips { display:flex;flex-wrap:wrap;gap:7px; }.participant-chips span { background:#282016;border:1px solid #5b4529;color:#ffd28b;border-radius:999px;padding:8px 11px;font-size:.75rem;font-weight:750; }.participant-chips p { color:var(--muted);font-size:.78rem; }
.customer-only .prototype-bar,.admin-only .prototype-bar,.admin-game-only .prototype-bar { display:none; }
.temporary-signup-card { margin:0 0 14px;padding:15px;border:1px solid #654a21;border-radius:17px;background:linear-gradient(145deg,#2a1e0f,#171814 76%);box-shadow:inset 0 1px #ffc96616; }.temporary-signup-card.profile-signup { margin-top:0; }.temporary-signup-head { display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px; }.temporary-signup-head b { font-size:.88rem;color:#fff; }.temporary-signup-head p { margin:4px 0 0;color:#c8b99d;font-size:.66rem;line-height:1.45; }.temporary-signup-head > span { flex:0 0 auto;color:var(--lime);background:#3b2a11;border-radius:999px;padding:5px 8px;font-size:.6rem;font-weight:900; }.temporary-signup-fields { display:grid;gap:7px; }.temporary-signup-fields input { width:100%;border:1px solid #3a3f3d;border-radius:10px;background:#0d100f;color:white;padding:10px 11px;font-size:.75rem;outline:none; }.temporary-signup-fields input:focus { border-color:var(--lime); }.temporary-signup-submit { width:100%;border:0;border-radius:10px;background:var(--lime);color:#17120a;padding:11px;margin-top:9px;font-size:.76rem;font-weight:900; }.temporary-signup-submit:disabled { opacity:.6;cursor:wait; }.temporary-signup-card > small { display:block;color:var(--muted);font-size:.61rem;line-height:1.5;margin-top:8px; }.modal-link { display:grid;place-items:center;text-decoration:none;border-radius:11px;padding:12px;font-weight:850; }
.customer-only .mode-panel,.admin-only .mode-panel,.admin-game-only .mode-panel { min-height:100vh; }
.customer-only .app-stage { min-height:100vh; }.customer-only .phone-shell { max-height:calc(100vh - 28px); }
.admin-only .admin-mode.active { min-height:100vh; }
.admin-game-mode.active { display:block;background:#0f1111;min-height:100vh;overflow:auto; }.game-detail-workspace { min-height:100vh; }.game-detail-topbar { height:82px;padding:0 32px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:#111313;position:sticky;top:0;z-index:5; }.game-detail-topbar span { color:var(--amber);font-size:.7rem;font-weight:900;letter-spacing:.16em; }.game-detail-topbar h1 { margin:3px 0 0;font-size:1.35rem; }.game-detail-topbar button { border:1px solid var(--line);background:transparent;color:white;border-radius:10px;padding:10px 14px;font-weight:800; }
.member-list-actions { display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end; }.member-list-actions .table-action { border:1px solid #5d431d;background:#251a0c;color:var(--lime);border-radius:9px;padding:8px 11px;font-size:.72rem; }.member-list-actions .table-action:disabled { opacity:.6;cursor:wait; }.game-detail-metrics { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px; }.game-detail-metrics > div { background:#171a19;border:1px solid var(--line);border-radius:16px;padding:18px; }.game-detail-metrics span { display:block;color:var(--muted);font-size:.74rem;margin-bottom:8px; }.game-detail-metrics strong { font-size:1.25rem; }
.game-detail-admin-grid { display:grid;grid-template-columns:1.2fr .8fr;gap:16px; }.game-detail-admin-grid .danger-zone { grid-column:1/-1;display:flex;align-items:center;justify-content:space-between; }.game-detail-admin-grid .danger-zone h2 { margin:0 0 5px; }.game-detail-admin-grid .danger-zone p { margin:0;color:var(--muted);font-size:.78rem; }.game-operation-actions { display:flex;gap:8px; }
.application-list { display:grid;gap:8px; }.application-row { display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:#111313; }.application-row strong,.application-row small { display:block; }.application-row small { color:var(--muted);font-size:.7rem;margin-top:3px; }.application-row > span { color:var(--amber);font-size:.72rem;font-weight:800; }.application-row > div:last-child { display:flex;gap:6px; }.application-row .compact { padding:8px 12px;border-radius:8px; }.winner-badge { color:#111;background:var(--amber);border-radius:999px;padding:7px 10px;font-size:.68rem; }
.all-out-preview { max-height:min(40vh,320px);overflow:auto;margin:12px 0; }
.all-out-preview p { margin:0;padding:7px 10px;border:1px solid var(--line);border-radius:8px; }
.finished-list { display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line); }.finished-list b { width:100%;font-size:.75rem; }.finished-list span { display:flex;align-items:center;gap:8px;background:#242827;border-radius:999px;padding:7px 10px;font-size:.7rem; }.finished-list .table-action { padding:5px 8px;color:var(--lime);border-color:#52612f; }
.rank-point-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0; }.rank-point-grid label { color:var(--muted);font-size:.72rem;font-weight:750; }.rank-point-grid input { width:100%;margin-top:7px;background:#101312;border:1px solid var(--line);border-radius:9px;color:white;padding:10px; }
.automation-flow { display:grid;gap:10px;margin:18px 0; }.automation-flow > div { display:flex;align-items:center;gap:12px;background:#111313;border:1px solid var(--line);border-radius:12px;padding:12px; }.automation-flow b { display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--amber);color:#111; }.automation-flow span { font-weight:750;font-size:.82rem; }
.confirm-summary { background: #0e1110; border: 1px solid var(--line); border-radius: 14px; padding: 14px; margin-top: 16px; }.confirm-summary div { display: flex; justify-content: space-between; padding: 8px 0; color: var(--muted); }.confirm-summary b { color: white; }.toast { position: fixed; left: 50%; bottom: 26px; transform: translate(-50%, 18px); opacity: 0; pointer-events: none; z-index: 150; color: #0d100e; background: var(--mint); border-radius: 11px; padding: 12px 18px; font-weight: 850; box-shadow: 0 12px 35px #0007; transition: .22s ease; }.toast.show { opacity: 1; transform: translate(-50%,0); }

@media (max-width: 980px) {
  .prototype-bar { padding: 0 14px; }.prototype-badge, .brand-mark small { display: none; }.mode-switch button { padding: 9px 11px; }
  .app-notes { display: none; }.app-stage { padding: 24px; }
  .admin-mode.active { grid-template-columns: 76px 1fr; }.admin-sidebar { padding: 18px 9px; }.admin-logo div, .admin-sidebar nav span, .admin-user-copy { display: none; }.admin-logo { padding: 0 12px 22px; }.admin-sidebar nav button { justify-content: center; font-size: 1.1rem; }.admin-nav-group > summary { justify-content:center;padding:10px 7px; }.admin-nav-group > summary i { display:none; }.admin-nav-group-items { padding:2px 3px 5px; }.admin-user { display: grid;grid-template-columns:1fr;justify-items:center;padding:16px 10px 0; }.admin-user-menu { position:fixed;left:10px;right:auto;bottom:68px;width:150px; }.admin-user-menu button { display:block; }
  .metric-grid { grid-template-columns: repeat(2,1fr); }.admin-grid { grid-template-columns: 1fr; }
  .account-management-grid { grid-template-columns:1fr; }.admin-store-scope span { display:none; }
  .timer-game-list,.saved-structure-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.timer-admin-layout { grid-template-columns: 1fr; }.tournament-control { position: static; }
  .ticket-history-search { grid-template-columns:repeat(3,1fr); }.ticket-history-keyword { grid-column:1/-1; }
  .settlement-kind-card dl { grid-template-columns:1fr 1fr; }
  .structure-bulk-time { grid-template-columns:auto 90px 1fr auto; }
  .timer-board { grid-template-columns: 1fr; grid-template-rows: auto auto auto auto; overflow-y:auto; }.timer-board-title { grid-column:1; }.timer-prize-panel { border-right:0; border-bottom:1px solid #3c3327; min-height:260px; }.timer-stats { grid-template-columns: repeat(5,1fr); border-left:0; border-top:1px solid #3c3327; }.timer-stats strong { font-size: 1.1rem; }.clock { margin: 15px 0; }
}
@media (max-width: 620px) {
  .prototype-bar { height: 62px; }.brand-mark strong { display: none; }.brand-mark > img { width: 34px; height: 32px; }.mode-switch { margin-left: auto; }.mode-switch button { font-size: .74rem; padding: 8px; }
  .mode-panel { min-height: calc(100vh - 62px); }.app-stage { padding: 0; min-height: calc(100vh - 62px); }.phone-shell { width: 100%; height: calc(100vh - 62px); max-height: none; border: 0; border-radius: 0; box-shadow: none; }.phone-status { display: none; }.app-screen { height: calc(100% - 70px); padding-top: 14px; }
  .admin-mode.active { grid-template-columns: 1fr; }.admin-sidebar { min-height: auto; height: 62px; flex-direction: row; align-items: center; padding: 7px; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--line); }.admin-logo, .admin-user { display: none; }.admin-sidebar nav { display: flex; gap: 3px; }.admin-sidebar nav button { min-width: 46px; padding: 11px; }.admin-topbar { height: 66px; padding: 0 14px; }.admin-topbar > div:first-child span, .top-actions .ghost { display: none; }.admin-content { padding: 16px 12px 30px; }.metric-grid { grid-template-columns: 1fr 1fr; gap: 8px; }.metric-card { padding: 13px; }.metric-card strong { font-size: 1.4rem; }.toolbar { align-items: stretch; flex-direction: column; }.form-grid { grid-template-columns: 1fr; }.field.full { grid-column: auto; }
  .admin-store-scope { padding:5px; }.admin-store-scope select { min-width:112px;max-width:150px;padding:7px;font-size:.7rem; }.admin-fixed-store { max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:7px 9px; }.admin-hierarchy { grid-template-columns:1fr; }.admin-hierarchy > article:not(:last-child)::after { content:"↓";right:18px;top:auto;bottom:-19px; }.account-management-grid { grid-template-columns:1fr; }
  .ticket-history-search { grid-template-columns:1fr 1fr; }.ticket-history-keyword,.ticket-history-submit,.ticket-history-search > small { grid-column:1/-1; }.ticket-action-group { grid-template-columns:1fr; }.ticket-action-group legend { grid-column:auto; }
  .settlement-filter { grid-template-columns:1fr 1fr; }.settlement-filter > .inline-action,.settlement-filter > small { grid-column:1/-1; }.settlement-presets { grid-column:1/-1;justify-content:stretch; }.settlement-presets button { flex:1; }.settlement-kind-grid { grid-template-columns:1fr; }.settlement-kind-card > div:first-child { align-items:flex-start;flex-direction:column; }
  .structure-row { grid-template-columns:58px repeat(4,minmax(70px,1fr)) 30px;gap:6px; }.structure-round-list,.structure-heading { min-width:470px; }.saved-structure-editor,.timer-admin-layout > .admin-card { overflow-x:auto; }.structure-bulk-time { min-width:470px;grid-template-columns:auto 80px 1fr auto; }.round-drag-handle { min-height:38px!important; }
  .game-history-search { grid-template-columns:1fr 1fr; }.game-history-keyword,.game-history-search > .inline-action,.game-history-search > small { grid-column:1/-1; }
  .timer-game-list,.saved-structure-grid { grid-template-columns: 1fr; }.saved-editor-actions { flex-direction:column; }.saved-editor-actions button { width:100%;min-width:0; }.game-manage-actions { grid-template-columns: 1fr; }.timer-mode.active { min-height: calc(100vh - 62px); padding: 15px; overflow:auto; }.timer-board { display: flex; flex-direction: column; justify-content: flex-start; gap: 0; overflow:visible; }.timer-board-title { padding:16px;font-size:clamp(2rem,9vw,3rem); }.timer-prize-panel { min-height:230px; }.timer-main { padding:30px 14px; }.blind-summary { gap:18px; }.blind-summary div { min-width:110px; }.blind-summary strong { font-size:clamp(1.8rem,7vw,2.6rem); }.clock { font-size: 5.5rem; }.timer-stats { width: 100%; grid-template-columns: 1fr 1fr; }.timer-stats div { padding: 11px; }.remote-timer-display strong { font-size: 2.7rem; }.standalone-timer .timer-mode.active { overflow:auto; }.standalone-timer .timer-board { height:auto; min-height:100vh; }
  .customer-only .app-stage,.customer-only .phone-shell { min-height:100vh;height:100vh;max-height:none; }.game-live-strip { grid-template-columns:1fr; }.game-detail-metrics { grid-template-columns:1fr 1fr; }.game-detail-admin-grid { grid-template-columns:1fr; }.game-detail-admin-grid .danger-zone { grid-column:auto;align-items:flex-start;gap:14px;flex-direction:column; }.application-row { grid-template-columns:1fr auto; }.application-row > div:last-child { grid-column:1/-1; }.rank-point-grid { grid-template-columns:1fr; }.game-detail-topbar { padding:0 16px; }
  .customer-only input,.customer-only select,.customer-only textarea { font-size:16px; }
}
/* Timer appearance changes are independent of the tournament clock. */
[data-timer-skin="gold"] { --design-accent:#ffd56a; --design-panel:#211b10; --design-border:#66502a; --design-bg:#100e09; }
[data-timer-skin="blue"] { --design-accent:#77caff; --design-panel:#102235; --design-border:#305674; --design-bg:#070f1c; }
[data-timer-skin="red"] { --design-accent:#ff9b91; --design-panel:#301318; --design-border:#71363d; --design-bg:#16090d; }
#timerMode[data-timer-skin]:not([data-timer-skin="original"]) { --lime:var(--design-accent); background:var(--design-bg); }
#timerMode[data-timer-skin]:not([data-timer-skin="original"]) .timer-board { background:var(--design-bg); border-color:var(--design-border); }
#timerMode[data-timer-skin]:not([data-timer-skin="original"]) :is(.timer-prize-panel,.timer-stats>div) { background:var(--design-panel); border-color:var(--design-border); }
#timerMode[data-timer-skin]:not([data-timer-skin="original"]) .clock { text-shadow:0 0 50px var(--design-border); }
[data-timer-font="sans"] { --design-font:Arial,"Malgun Gothic","Apple SD Gothic Neo",sans-serif; }
[data-timer-font="serif"] { --design-font:Georgia,"Batang","AppleMyungjo",serif; }
[data-timer-font="mono"] { --design-font:ui-monospace,Consolas,"Courier New",monospace; }
#timerMode[data-timer-font]:not([data-timer-font="original"]),
.timer-design-preview[data-timer-font]:not([data-timer-font="original"]) { font-family:var(--design-font); }
.timer-design-layout { display:grid; grid-template-columns:260px minmax(0,1fr); gap:24px; align-items:start; }
.timer-design-layout form { display:grid; gap:16px; }
.timer-design-layout form p { color:var(--muted); font-size:.85rem; line-height:1.6; margin:0; }
.timer-design-layout select { width:100%; }
.timer-design-preview { --preview-accent:var(--design-accent,#ffd56a); color:#fff; background:var(--design-bg,#100e09); border:1px solid var(--design-border,#66502a); border-radius:16px; overflow:hidden; text-align:center; container-type:inline-size; }
.design-preview-title { padding:18px 12px; font-size:clamp(1.2rem,4cqw,2.5rem); font-weight:900; overflow-wrap:anywhere; background:var(--design-panel,#211b10); }
.design-preview-body { display:grid; grid-template-columns:1fr 2.4fr 1fr; gap:12px; padding:24px 12px; align-items:center; }
.design-preview-body aside { color:var(--preview-accent); font-size:clamp(.55rem,1.5cqw,.9rem); line-height:2; }
.design-preview-body aside strong { color:#fff; }
.design-preview-body>div { min-width:0; display:grid; gap:10px; }
.design-preview-label { color:var(--preview-accent); font-weight:800; }
.design-preview-clock { font-size:clamp(2rem,12cqw,7rem); font-variant-numeric:tabular-nums; line-height:1.1; white-space:nowrap; }
.design-preview-blinds { font-size:clamp(.8rem,3.8cqw,2.5rem); white-space:nowrap; }
.timer-design-preview>p { color:#aab0ad; font-size:.75rem; padding:12px; margin:0; }
@media(max-width:1000px) { .timer-design-layout { grid-template-columns:1fr; } }
.benefit-form{display:grid;gap:16px;padding:20px 0;max-width:650px}.benefit-form .field{display:grid;gap:8px}.benefit-form input,.benefit-form select,.benefit-form textarea,.benefit-filter{width:100%;padding:12px;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:8px}.benefit-form p{line-height:1.6;color:var(--muted)}.benefit-form button{justify-self:start}.invitation-wallet{padding:0 20px}.invitation-card{padding:20px;margin:12px 0;border:1px solid #8b6d2e;border-radius:16px;background:linear-gradient(135deg,#272112,#111);overflow-wrap:anywhere}.invitation-card h3{font-size:1.4rem;color:#ffd56a}.invitation-card p{white-space:pre-wrap;line-height:1.7}.invitation-card small{color:var(--muted);line-height:1.7}.application-row[hidden]{display:none}
.guide-shortcut{display:block;width:calc(100% - 40px);margin:20px;padding:18px;text-align:left;border:1px solid #826c2d;border-radius:12px;background:#211c10;color:#ffd56a;font-weight:800}.augment-guide{padding:0 20px 30px}.augment-guide h2{font-size:1.2rem}.augment-guide ul{padding-left:20px;line-height:1.8;color:var(--muted);font-size:.9rem}.augment-guide input{width:100%;padding:12px;background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--text)}.guide-card{border:1px solid var(--line);border-radius:12px;margin:10px 0;padding:16px;background:var(--panel)}.guide-card summary{cursor:pointer;line-height:1.7}.guide-card summary small{display:block;color:#ffd56a}.guide-card-art{max-width:220px;margin:16px auto}.guide-card-art:empty{display:none}.guide-card p{line-height:1.8;white-space:pre-wrap}.guide-limit{font-size:.85rem;color:#ffd56a}
.profile-avatar,.podium .avatar{position:relative;overflow:hidden}.profile-avatar img,.podium .avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.photo-fallback{font-size:1rem}.profile-photo-button{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:8px;padding:10px 14px}.profile-photo-choices{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}.profile-photo-choices label{cursor:pointer;padding:12px;background:transparent;color:var(--text);border:1px solid var(--line);border-radius:8px}.profile-photo-preview{width:220px;max-width:100%;aspect-ratio:1;object-fit:cover;border-radius:20px;margin:16px auto;display:block}.profile-photo-preview[hidden]{display:none}.podium-place{display:block;font-size:.75rem;color:var(--lime);margin-bottom:8px}.podium small{display:block;line-height:1.7}.podium b{overflow-wrap:anywhere}.podium .avatar{width:54px;height:54px}.podium.first .avatar{width:68px;height:68px}

/* Smart TV browsers often report a 960px-wide CSS viewport even on a 1080p panel.
   Keep the same desktop tournament timer composition and scale it to that viewport. */
.tv-timer-navigation { display:none; }
.tv-timer .tv-timer-navigation { display:flex;position:fixed;top:12px;left:16px;z-index:100;align-items:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease; }
.tv-timer .tv-timer-navigation.visible { opacity:1;visibility:visible;pointer-events:auto; }
.tv-timer-navigation a { display:inline-flex;align-items:center;min-height:44px;padding:6px 16px;border:2px solid #67755a;border-radius:8px;background:#19221b;color:#f5f6f1;text-decoration:none;font-size:clamp(1rem,1.8vh,1.3rem);font-weight:800; }
.tv-timer-navigation a:focus { outline:3px solid var(--lime);outline-offset:1px;background:#2b3e20; }
.tv-timer .timer-mode.active { display:flex;flex-direction:column;width:100vw;height:100vh;min-height:100vh;overflow:hidden; }
.tv-timer .timer-board {
  display:grid;
  grid-template-columns:clamp(190px,18vw,290px) minmax(0,1fr) clamp(190px,18vw,290px);
  grid-template-rows:auto minmax(0,1fr);
  width:100%;height:auto;min-height:0;flex:1;margin:0;overflow:hidden;
}
.tv-timer .timer-board-title {
  grid-column:1/-1;
  padding:clamp(8px,1.8vh,24px) clamp(16px,2vw,28px);
  font-size:clamp(2.7rem,6vw,7rem);
}
.tv-timer .timer-prize-panel {
  display:flex;min-height:0;padding:clamp(12px,1.8vw,28px) clamp(12px,1.4vw,22px);
  border-right:1px solid #3c3327;border-bottom:0;overflow:hidden;
}
.tv-timer .prize-panel-title { padding-bottom:clamp(7px,1.2vh,15px);font-size:clamp(.72rem,1.5vh,1.08rem); }
.tv-timer .timer-prize-list div { padding:clamp(6px,1.2vh,14px) 0; }
.timer-prize-list > div { min-width:0;flex-wrap:nowrap;font-size:clamp(1.25rem,2.5vh,1.75rem);line-height:1.2; }
.timer-prize-list span,.timer-prize-list strong,
.tv-timer .timer-prize-list span,.tv-timer .timer-prize-list strong { flex:0 0 auto;white-space:nowrap;word-break:normal;overflow-wrap:normal;font-size:inherit; }
.timer-prize-list strong { font-variant-numeric:tabular-nums; }
.tv-timer .timer-gtd { padding-top:clamp(8px,1.5vh,20px); }
.tv-timer .timer-gtd small { font-size:clamp(.68rem,1.5vh,1rem); }
.tv-timer .timer-gtd strong { margin-top:clamp(3px,.8vh,8px);font-size:clamp(1.15rem,3vh,2rem); }
.tv-timer .timer-main { min-width:0;min-height:0;padding:clamp(8px,1.3vw,20px); }
.tv-timer .timer-level { font-size:clamp(1.6rem,4.5vh,3rem);line-height:1.1;white-space:nowrap; }
.tv-timer .clock {
  margin:clamp(6px,1.3vh,14px) 0 clamp(8px,1.8vh,20px);
  font-size:clamp(6rem,33vh,21rem);
  white-space:nowrap;
}
.tv-timer .blind-summary { gap:clamp(16px,2.5vw,48px);flex-shrink:0; }
.tv-timer .blind-summary div { min-width:0;flex:0 0 auto; }
.tv-timer .blind-summary small { margin-bottom:clamp(4px,.7vh,8px);font-size:clamp(1rem,2.7vh,1.8rem); }
.tv-timer .blind-summary strong { font-size:clamp(2.3rem,7vh,5.5rem); }
.tv-timer .next-level { margin-top:clamp(10px,2.2vh,24px);font-size:clamp(1.15rem,3.4vh,2.3rem);line-height:1.2;white-space:nowrap; }
.tv-timer .next-level b { font-size:inherit; }
.tv-timer .timer-level,.tv-timer .clock,.tv-timer .next-level { flex-shrink:0; }
.tv-timer .timer-stats {
  display:grid;grid-template-columns:1fr;align-content:stretch;
  border-left:1px solid #3c3327;border-top:0;overflow:hidden;
}
.tv-timer .timer-stats div { min-width:0;min-height:0;padding:clamp(4px,.9vh,10px) clamp(10px,1.3vw,20px); }
.tv-timer .timer-stats small { font-size:clamp(.75rem,1.65vh,1.1rem); }
.tv-timer .timer-stats strong { margin-top:clamp(2px,.4vh,5px);font-size:clamp(1.4rem,4vh,2.6rem);line-height:1.1; }
.tv-timer .timer-stats em { font-size:clamp(1.15rem,3.4vh,2.2rem); }
.timer-stats { min-height:0;grid-template-rows:repeat(7,minmax(0,1fr)); }
.timer-stats div { min-height:0;padding:clamp(5px,1vh,12px) 20px; }
.timer-stats strong { margin-top:clamp(2px,.4vh,5px);font-size:clamp(1.4rem,4vh,2.6rem);line-height:1.1;font-variant-numeric:tabular-nums; }
.timer-stats em { font-size:clamp(1.15rem,3.4vh,2.2rem); }
.timer-time-stat strong { white-space:nowrap;font-variant-numeric:tabular-nums; }
.position-ranges { padding:0 18px 28px; }
.position-ranges h2 { margin:6px 0 10px;font-size:1.4rem; }
.range-conditions,.range-context,.range-note { font-size:1rem;line-height:1.6;color:var(--muted); }
.range-positions { display:flex;flex-wrap:wrap;gap:6px;margin:20px 0; }
.range-positions button { min-height:44px;padding:9px 12px;border:1px solid #475042;border-radius:8px;background:#202520;color:#f5f5f5;font-weight:700;font-size:.9rem; }
.range-positions button[aria-pressed="true"] { background:var(--lime);color:#142000;border-color:var(--lime); }
.range-position-summary { display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:center;margin:12px 0;font-size:1rem; }
.range-position-summary span { color:var(--lime);font-size:.9rem; }
.range-legend { display:flex;flex-wrap:wrap;gap:12px;font-size:.875rem;margin:16px 0 8px; }
.range-open-key { color:var(--lime);font-weight:800; }
.range-scroll-hint { font-size:.875rem;color:var(--muted); }
.range-grid-scroll { overflow-x:auto;border:1px solid #485141;border-radius:8px; }
.range-grid { display:grid;grid-template-columns:repeat(13,minmax(38px,1fr));gap:2px;min-width:518px;padding:3px;background:#080c09; }
.range-grid button { min-height:38px;padding:0;border:1px solid transparent;background:#252c28;color:#c2c9c3;font-size:.875rem;font-weight:700;border-radius:3px; }
.range-grid .range-open { background:var(--lime);color:#142000; }
.range-grid .range-selected { outline:2px solid #fff;outline-offset:-3px;border-color:#fff; }
.range-grid button:focus-visible,.range-positions button:focus-visible { outline:3px solid #71dfff;outline-offset:-3px; }
.range-hand-detail { margin-top:14px;padding:16px;border:1px solid #485141;border-radius:10px;background:#19221b; }
.range-hand-detail strong { font-size:1.5rem;color:var(--lime); }
.range-hand-detail p { margin:8px 0 0;line-height:1.5;font-size:1rem; }
.range-note { margin-top:20px; }
.range-source { display:inline-block;font-size:.875rem;color:var(--mint);line-height:1.5; }
.equity-page { padding:0 18px 28px; }
.equity-page h2 { font-size:1.4rem;margin:8px 0; }
.equity-help { font-size:1rem;line-height:1.6;color:var(--muted); }
.equity-player-count { display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0;font-size:1rem; }
.equity-player-count select { min-height:44px;background:#202520;color:#fff;border:1px solid #485141;border-radius:8px;padding:8px;font-size:1rem; }
.equity-hands { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.equity-hand { padding:12px 8px;border:1px solid #485141;border-radius:10px;background:#19221b; }
.equity-hand h3 { margin:0 0 10px;font-size:1rem; }
.equity-hand>small { display:block;color:var(--muted);font-size:.875rem;margin-top:8px; }
.equity-card-row { display:flex;gap:8px; }
.equity-card { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:44px;min-height:62px;padding:5px;background:#f5f6f1;color:#161c17;border:2px solid #97a690;border-radius:8px;font-size:1.25rem;font-weight:800; }
.equity-card small { font-size:.875rem;font-weight:600; }
.equity-red { color:#b61d36!important; }
.equity-board { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px; }
.equity-board .equity-card { width:100%; }
.equity-board>div>small { display:block;text-align:center;margin-top:6px;color:var(--muted);font-size:.875rem; }
.equity-actions { display:flex;gap:8px;margin:20px 0; }
.equity-actions button { flex:1; }
.equity-page button:disabled { opacity:.5;cursor:not-allowed; }
.equity-deck { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:14px 0; }
.equity-deck button { min-height:36px;background:#f5f6f1;color:#161c17;border:2px solid transparent;border-radius:5px;font-size:1.05rem;font-weight:800; }
.equity-deck button:disabled { opacity:.2;cursor:not-allowed; }
.equity-deck button[aria-pressed="true"] { border-color:#609000;box-shadow:0 0 0 2px var(--lime); }
.equity-page button:focus-visible,.equity-deck button:focus-visible { outline:3px solid #71dfff;outline-offset:2px; }
.equity-result-scroll { overflow-x:auto; }
.equity-result-table { width:100%;border-collapse:collapse;white-space:nowrap;font-size:.875rem; }
.equity-result-table th,.equity-result-table td { text-align:left;padding:12px 7px;border-bottom:1px solid #485141; }
.equity-result-table strong { color:var(--lime);font-size:1rem; }
.equity-error { color:var(--red);line-height:1.6; }
@media (max-width:980px) {
  .timer-stats { grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto; }
  .tv-timer .timer-stats { grid-template-columns:1fr;grid-template-rows:repeat(7,minmax(0,1fr)); }
}
@media (max-width:620px) {
  .timer-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tv-timer .timer-stats { grid-template-columns:1fr; }
}

/* Keep the title above the clock without pushing the side panels down. */
.timer-board-title { min-width:0;border:0;background:transparent; }
@media (min-width:981px) {
  .timer-board-title { grid-column:2;grid-row:1; }
  .timer-main { grid-column:2;grid-row:2;padding-bottom:clamp(60px,8vh,88px); }
  .timer-prize-panel { grid-column:1;grid-row:1 / 3; }
  .timer-stats { grid-column:3;grid-row:1 / 3; }
}
.tv-timer .timer-board-title { grid-column:2;grid-row:1; }
.tv-timer .timer-main { grid-column:2;grid-row:2;padding-bottom:clamp(40px,6vh,64px); }
.tv-timer .timer-prize-panel { grid-column:1;grid-row:1 / 3; }
.tv-timer .timer-stats { grid-column:3;grid-row:1 / 3; }
.timer-board-title > #timerGameName { display:block;width:max-content;max-width:none;margin-inline:auto;overflow:visible;text-overflow:clip;white-space:nowrap;letter-spacing:.06em; }
.timer-message { margin:clamp(24px,3vh,36px) 0 0;color:var(--lime);font-size:clamp(1.4rem,2.6vw,3rem);font-weight:800;letter-spacing:normal;line-height:1.3;white-space:normal;overflow-wrap:anywhere; }
.timer-message[hidden],.design-preview-message[hidden] { display:none; }
.timer-design-preview > .design-preview-message { margin-top:16px;padding:0 12px 12px;color:var(--preview-accent);font-size:clamp(1.25rem,2.8cqw,2.1rem);font-weight:800;overflow-wrap:anywhere; }
.timer-design-layout input[type="color"] { width:100%;height:48px;padding:4px;border:1px solid var(--line);border-radius:8px;background:var(--panel);cursor:pointer; }
.game-detail-top-actions { display:flex;align-items:center;gap:6px; }
.mobile-game-more-button { display:none; }
@media (max-width:620px) {
  .admin-game-only #adminGameMode.active { height:100vh;height:100dvh;min-height:0;overflow:hidden; }
  .admin-game-only .game-detail-workspace { height:100%;min-height:0;display:flex;flex-direction:column; }
  .admin-game-only .game-detail-topbar { position:static;flex:0 0 52px;height:52px;min-width:0;padding:4px 10px;gap:8px; }
  .admin-game-only .game-detail-topbar > div:first-child { min-width:0; }
  .admin-game-only .game-detail-topbar span { font-size:10px;letter-spacing:.08em; }
  .admin-game-only .game-detail-topbar h1 { font-size:17px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:1px 0; }
  .admin-game-only .game-detail-top-actions { flex-shrink:0; }
  .admin-game-only .game-detail-topbar button { min-width:44px;min-height:44px;padding:6px 8px;font-size:13px; }
  .admin-game-only .mobile-game-more-button { display:block; }
  .admin-game-only #adminGameContent { display:flex;flex-direction:column;flex:1;min-height:0;padding:8px 10px max(6px,env(safe-area-inset-bottom));gap:6px;overflow:hidden; }
  .admin-game-only #adminGameContent > [hidden] { display:none; }
  .admin-game-only .mobile-game-timer { flex-shrink:0;padding:8px;border:1px solid #474436;border-radius:12px;background:#191d1a; }
  .admin-game-only .mobile-game-clock-row { display:flex;align-items:center;justify-content:space-between;gap:10px; }
  .admin-game-only .mobile-game-clock-row b { color:var(--amber);font-size:14px; }
  .admin-game-only .mobile-game-clock-row small { display:block;color:#b3bcb6;font-size:11px;line-height:1.2;margin-top:2px; }
  .admin-game-only #gameDetailClock { color:white;font-size:34px;line-height:1;font-variant-numeric:tabular-nums; }
  .admin-game-only .mobile-game-blinds { display:flex;justify-content:space-between;gap:8px;margin:5px 0;color:#b5c0b9;font-size:12px;line-height:1.2; }
  .admin-game-only .mobile-game-blinds b { color:white; }
  .admin-game-only .mobile-game-timer-controls { display:grid;grid-template-columns:1fr 1fr 1.2fr 1fr 1fr;gap:4px; }
  .admin-game-only .mobile-game-timer-controls button { min-width:0;min-height:44px;padding:5px 2px;font-size:13px;line-height:1.2;white-space:nowrap;background:#202522;border:1px solid #41483f;border-radius:8px;color:#f5f7f6; }
  .admin-game-only .mobile-game-timer-controls [data-detail-timer-command="toggle"] { background:var(--amber);border-color:var(--amber);color:#151710;font-weight:850; }
  .admin-game-only .mobile-game-counts { display:flex;justify-content:space-around;align-items:center;flex-shrink:0;min-height:24px;font-size:12px;color:#b5c0b9; }
  .admin-game-only .mobile-game-counts b { color:white;font-size:16px;margin-left:3px; }
  .admin-game-only .mobile-game-tabs { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;flex-shrink:0; }
  .admin-game-only .mobile-game-tabs button { min-width:0;min-height:44px;padding:5px 2px;border:1px solid #343b34;border-radius:8px;background:#151916;color:#f5f7f6;font-size:13px;white-space:nowrap; }
  .admin-game-only .mobile-game-tabs button[aria-selected="true"] { background:#303227;border-color:#76623a;color:var(--amber);font-weight:850; }
  .admin-game-only .mobile-game-tabs b { margin-left:3px; }
  .admin-game-only .mobile-game-players { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:4px;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain; }
  .admin-game-only .mobile-game-pending { grid-template-columns:1fr; }
  .admin-game-only .mobile-approve-all { position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px;padding:6px 8px;border:1px solid #6c5730;border-radius:9px;background:#282315;box-shadow:0 5px 14px #0008; }
  .admin-game-only .mobile-approve-all span { font-size:14px;font-weight:800;color:#ffd780; }
  .admin-game-only .mobile-approve-all button { min-height:42px;padding:8px 16px;font-size:14px; }
  .admin-game-only .mobile-game-player { display:flex;align-items:center;justify-content:space-between;min-width:0;min-height:46px;gap:3px;padding:0 2px 0 5px;border:1px solid #343b34;border-radius:9px;background:#191d1a; }
  .admin-game-only .mobile-game-person { flex:1;min-width:0;min-height:44px;margin:0;padding:3px 0;border:0;border-radius:0;background:transparent;text-align:left;color:white; }
  .admin-game-only .mobile-game-person strong { display:block;font-size:14px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
  .admin-game-only .mobile-game-person small { display:block;font-size:11px;line-height:1.2;color:#b1bbb4;margin-top:3px;white-space:nowrap; }
  .admin-game-only .mobile-game-player-actions { display:flex;align-items:center;gap:4px;flex-shrink:0; }
  .admin-game-only .mobile-game-player-actions button { min-width:44px;min-height:44px;padding:4px 5px;font-size:12px;line-height:1.2;border-radius:7px; }
  .admin-game-only .mobile-game-player-actions .danger { color:#ffb1b3;background:#321d20;border:1px solid #63383d; }
  .admin-game-only .mobile-game-player-actions .inline-action { background:var(--amber);color:#171811; }
  .admin-game-only .mobile-game-empty { grid-column:1/-1;text-align:center;color:#b1bbb4;padding:20px 8px;font-size:14px; }
  .admin-game-only .mobile-game-more { flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain; }
  .admin-game-only .mobile-game-more .admin-card { padding:14px;margin-bottom:10px; }
  .admin-game-only .mobile-game-more h2 { font-size:16px; }
  .admin-game-only .mobile-game-more p { font-size:13px;color:#b1bbb4;line-height:1.5; }
  .admin-game-only .mobile-game-more .game-operation-actions { display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0; }
  .admin-game-only .mobile-game-more button { min-height:44px;font-size:13px; }
  .admin-game-only .mobile-game-more .application-row { font-size:13px; }
  .admin-game-only .mobile-game-more .application-row small { font-size:12px; }
  .admin-game-only #adminGameContent button:disabled { opacity:.45;cursor:wait; }
  .admin-game-only .toast { bottom:10px;max-width:calc(100% - 24px);font-size:13px; }
}

.benefit-form[hidden]{display:none}.benefit-form [data-benefit-cancel-fields]{display:grid;gap:16px}

/* Compact point action selector, including the mobile admin layout. */
#adminMode [data-benefit-management="points"] > .ticket-action-group{display:flex;flex-wrap:wrap;gap:8px;width:fit-content;max-width:100%}
#adminMode [data-benefit-management="points"] > .ticket-action-group label{display:flex;gap:7px;padding:8px 12px;min-height:40px;border-radius:8px}
#adminMode [data-benefit-management="points"] > .ticket-action-group input{width:16px;height:16px;min-height:0;margin:0;padding:0;flex:none}
#adminMode [data-benefit-management="points"] > .ticket-action-group span{font-size:14px}
#adminMode [data-benefit-management="points"] > .ticket-action-group small{display:none}

/* Native date controls use the dark theme, including dialogs outside the sidebar. */
input:is([type="date"],[type="datetime-local"],[type="month"],[type="week"],[type="time"]){color-scheme:dark}
input:is([type="date"],[type="datetime-local"],[type="month"],[type="week"],[type="time"])::-webkit-calendar-picker-indicator{opacity:1;filter:brightness(0) invert(1);cursor:pointer;padding:4px;border-radius:4px}
input:is([type="date"],[type="datetime-local"],[type="month"],[type="week"],[type="time"])::-webkit-calendar-picker-indicator:hover{background-color:rgba(128,128,128,.25)}

.date-search-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.date-search-actions>button{min-height:41px;white-space:nowrap}

.admin-user-menu [data-admin-install]{color:var(--lime)}.admin-user-menu [data-admin-install]:hover{background:#293329}

.money-in-summary{border:1px solid #756139;background:#23251c;border-radius:12px;padding:16px;margin:12px 0;color:#f4f4e9;grid-column:1/-1}.money-in-summary>b{font-size:16px}.money-in-summary p,.money-in-summary small{font-size:14px;line-height:1.6;color:#d1d1ba}.money-in-awards{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;margin:12px 0}.money-in-awards span{font-size:14px}.money-in-awards strong{color:#efd08c;margin-left:5px;font-size:18px}
.game-end-name{overflow-wrap:anywhere;color:var(--muted);margin:8px 0 18px}.game-end-calculation{display:grid;gap:6px;padding:14px;border:1px solid #3b5545;border-radius:12px;background:#18281f}.game-end-calculation span{font-size:14px;color:#bfcec4}.game-end-calculation strong{font-size:20px;color:var(--mint)}.game-end-hint,.game-end-ranking{font-size:13px;line-height:1.6;color:var(--muted)}.game-end-winners{margin:16px 0}.game-end-winner{display:flex;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}.game-end-place{flex:none;font-weight:800;color:#eed299}.game-end-player{flex:1;min-width:0;display:grid;gap:4px}.game-end-player strong{overflow-wrap:anywhere}.game-end-player small{color:var(--muted);font-size:12px}.game-end-quantity{display:flex;align-items:center;gap:7px;flex:none}.game-end-quantity input{width:90px;min-width:0;padding:10px 8px;font-size:18px;text-align:right;color:var(--mint);background:#0d1410;border:1px solid #496653;border-radius:9px}.game-end-quantity input:focus{outline:2px solid var(--mint);outline-offset:2px}.game-end-quantity input:disabled{opacity:.55}.game-end-total{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.game-end-total strong{font-size:22px;color:var(--mint)}.game-end-warning,.game-end-error{color:#f1bd9f;font-size:14px;line-height:1.6}.game-end-ranking{border-top:1px solid var(--line);padding-top:14px;margin-top:18px}.game-end-actions{flex-direction:column;gap:10px}.game-end-actions button{width:100%;min-height:46px}.game-end-actions button:disabled{opacity:.45;cursor:default}.game-end-actions [data-game-end-cancel]{border:0;color:var(--muted);padding:9px;min-height:40px}@media(max-width:380px){.modal-card:has(.game-end){padding:20px 15px}.game-end-winner{gap:8px}.game-end-quantity input{width:76px}.game-end h2{font-size:21px}}

/* Asura use approvals remain directly reachable on mobile game detail. */
.sd-augment-shortcut{display:block;width:calc(100% - 24px);margin:12px;min-height:44px;border:1px solid var(--amber);border-radius:10px;background:#303227;color:var(--amber);font-weight:800}
@media(max-width:620px){
 .admin-game-only .mobile-game-tabs.has-augments{display:flex;flex-wrap:wrap;gap:4px}
 .admin-game-only .mobile-game-tabs.has-augments button{flex:1 1 26%;padding:7px 5px}
 .admin-game-only .mobile-game-tabs.has-augments [data-mobile-game-tab="augments"]{border-color:var(--amber)}
 .admin-game-only .mobile-game-augments{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}
 .admin-game-only .mobile-game-augments[hidden]{display:none}
 .admin-game-only .augment-admin{margin-top:0;padding:12px}
 .admin-game-only .augment-admin .admin-card-head{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
 .admin-game-only .augment-admin .application-row{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:12px 0}
 .admin-game-only .augment-admin .application-row>div{min-width:0;overflow-wrap:anywhere}
 .admin-game-only .augment-admin .application-row strong,.admin-game-only .augment-admin .application-row small{white-space:normal}
 .admin-game-only .augment-admin [data-augment-handle]{width:100%;min-height:48px;font-size:15px}
}
.my-augments-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.my-augments-heading h2{margin:0}.my-augments-heading button{min-width:64px;min-height:44px;flex-shrink:0}.my-augments-heading+#augmentPanel{margin-top:0}
.customer-game-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:16px 0}.customer-game-tabs button{min-height:46px;border:1px solid #485264;border-radius:10px;background:#1a2232;color:#cbd6e8}.customer-game-tabs button[aria-selected="true"]{background:#467afb;color:white;border-color:#467afb;font-weight:800}[data-customer-game-panel][hidden]{display:none!important}[data-customer-game-panel]{min-width:0}.customer-game-augments{width:100%;min-height:46px;margin:10px 0}.customer-game-actions{position:sticky;bottom:-24px;background:var(--panel);padding:12px 0 max(12px,env(safe-area-inset-bottom));z-index:5}.p-game-join{margin-top:14px}.current-round{background:#263d5c;color:#dbeaff}.customer-game-tabs~section .p-detail-grid{padding:12px 0}.customer-game-tabs~section .p-notice{white-space:pre-wrap}

.p-chat-link{display:flex;align-items:center;justify-content:center;gap:9px;box-sizing:border-box;padding:15px 20px;border:1px solid rgba(254,229,0,.36);border-radius:15px;background:#222632;box-shadow:inset 0 0 0 1px rgba(254,229,0,.1);color:#f4f5f8;text-decoration:none;font-weight:700;margin:18px 0;font-size:16px;min-height:54px;transition:background .15s,border-color .15s}.p-chat-link .p-chat-icon{flex:none;width:25px;height:23px;color:#fee500}.p-chat-link>span{font-size:16px;font-weight:700;text-align:center;line-height:1.4}.p-chat-link small{display:block;margin-top:3px;font-size:12px;font-weight:400;color:#a5adbd}.p-chat-link:hover{background:#2b2f3b;border-color:rgba(254,229,0,.65)}.p-chat-link:focus-visible{outline:2px solid #fee500;outline-offset:3px}.p-chat-link:disabled{border-color:#454958;background:#222632;box-shadow:none;color:#a5adbd;cursor:default}.p-chat-link:disabled .p-chat-icon{color:#787f90}

.ticket-member-results { display: grid; gap: 8px; margin-top: 8px; }
.ticket-member-results button { text-align: left; white-space: normal; min-height: 44px; }
/* Only displayed when the browser needs a gesture to enable timer audio. */
.timer-audio-enable { position:fixed;right:16px;bottom:16px;z-index:1000;padding:12px 18px;border:1px solid #ddd;border-radius:10px;background:#202522;color:#fff;font-size:15px;font-weight:700;cursor:pointer; }
.timer-audio-enable[hidden] { display:none; }
.timer-audio-enable:focus-visible { outline:3px solid #fff;outline-offset:3px; }

.timer-board[hidden],#timerUnavailable[hidden]{display:none}#timerUnavailable{padding:30px;text-align:center;color:#fff;font-size:1.2rem}

#adminMode .admin-topbar .top-actions{flex-wrap:wrap;gap:8px}
.store-point-wallets{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:12px;margin:16px 0}
.store-point-wallet{padding:18px;border:1px solid var(--line,#334155);border-radius:14px;background:var(--panel,#182235);min-width:0}
.store-point-wallet>span{display:block;font-size:14px}.store-point-wallet>strong{display:block;font-size:30px;margin:8px 0;overflow-wrap:anywhere}.store-point-wallet strong small{font-size:16px}.store-point-wallet p{font-size:14px;line-height:1.6;margin:0}
.store-point-issue{margin:14px 0;padding:14px;border:1px solid var(--line,#334155);border-radius:12px}.store-point-issue summary{cursor:pointer;font-weight:700;font-size:16px}.store-point-issue form{margin-top:16px}

.structure-window-actions{display:flex;justify-content:flex-end;gap:10px;margin:12px 0 18px}.structure-window-actions button{min-height:44px;padding:10px 18px}.structure-window-actions button:disabled{opacity:.5;cursor:not-allowed}

/* Keep long admin records within the list; filters and pagination stay outside. */
.admin-records-scroll {
  max-height: min(52vh, 520px);
  max-height: min(52dvh, 520px);
  overflow: auto;
  overscroll-behavior-y: contain;
  scrollbar-gutter: stable;
}
.admin-records-scroll .admin-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--panel);
  box-shadow: inset 0 -1px var(--line);
}
.admin-records-scroll:focus-visible {
  outline: 2px solid var(--mint);
  outline-offset: 2px;
}

.admin-records-scroll.application-list,
.admin-records-scroll.ticket-member-results {
  align-content: start;
}
.admin-records-scroll.ticket-member-results {
  max-height: min(36vh, 280px);
  max-height: min(36dvh, 280px);
}

.customer-only img[data-profile-enlarge] { cursor: zoom-in; }
.customer-only img[data-profile-enlarge]:focus-visible { outline: 2px solid var(--mint); outline-offset: 2px; }
.profile-photo-dialog {
  width: min(92vw, 620px);
  max-width: calc(100vw - 24px);
  max-height: 90vh;
  max-height: 90dvh;
  box-sizing: border-box;
  padding: 54px 16px 16px;
  border: 1px solid #355241;
  border-radius: 18px;
  background: #080f0c;
  color: #eef8f1;
  overflow: auto;
}
.profile-photo-dialog::backdrop { background: rgb(0 0 0 / 82%); }
.profile-photo-dialog img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 65vh;
  max-height: 65dvh;
  object-fit: contain;
  border-radius: 8px;
}
.profile-photo-dialog img[hidden] { display: none; }
.profile-photo-dialog p { margin: 12px 0 0; text-align: center; overflow-wrap: anywhere; }
.profile-photo-dialog-close {
  position: absolute;
  top: 6px;
  right: 8px;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  background: #20392a;
  color: #fff;
  font-size: 28px;
  cursor: pointer;
}

/* TV viewing distance: enlarge the broadcast only, retaining width fitting. */
.tv-timer .timer-board { grid-template-columns:minmax(0,21vw) minmax(0,1fr) minmax(0,21vw); }
.tv-timer .timer-board-title { padding:clamp(6px,1.2vh,16px) clamp(10px,1.4vw,22px);font-size:clamp(3rem,6.6vw,8rem); }
.tv-timer .timer-main { padding:clamp(6px,1vw,16px);padding-bottom:clamp(12px,2vh,24px); }
.tv-timer .timer-level { font-size:clamp(1.8rem,5.2vh,3.6rem); }
.tv-timer .clock { font-size:clamp(6rem,37vh,25rem); }
.tv-timer .blind-summary small { font-size:clamp(1.1rem,3.1vh,2.1rem); }
.tv-timer .blind-summary strong { font-size:clamp(2.5rem,8.2vh,6.5rem); }
.tv-timer .next-level { margin-top:clamp(8px,1.7vh,20px);font-size:clamp(1.25rem,3.9vh,2.8rem); }
.tv-timer .timer-prize-panel { padding-inline:clamp(8px,.7vw,14px); }
.tv-timer .prize-panel-title { font-size:clamp(1.3rem,3vh,2.2rem); }
.tv-timer .timer-prize-list > div { font-size:clamp(2rem,4.8vh,3.5rem); }
.tv-timer .timer-gtd small { font-size:clamp(1rem,2.5vh,1.75rem); }
.tv-timer .timer-gtd strong { font-size:clamp(1.7rem,4.8vh,3.4rem); }
.tv-timer .timer-stats small { font-size:clamp(1rem,2.6vh,1.8rem); }
.tv-timer .timer-stats strong { font-size:clamp(2rem,6.2vh,4.2rem); }
.tv-timer .timer-stats em { font-size:clamp(1.6rem,5vh,3.4rem); }

.entry-exemption-search{display:flex;align-items:end;gap:10px;margin:16px 0;flex-wrap:wrap}.entry-exemption-search label{display:grid;gap:6px;flex:1;min-width:220px;font-size:14px}.entry-exemption-search input{min-height:42px;width:100%}#entryExemptionsPanel{margin-bottom:18px}#entryExemptionsPanel h3{margin-top:18px}

/* Payment context on the existing Tag grant form. */
.ticket-payment { border:1px solid #4b452d;border-radius:12px;padding:13px;background:#151811; }
.ticket-payment-toggle { display:flex!important;align-items:center;gap:9px;cursor:pointer;font-weight:800; }
.ticket-payment-toggle input { width:18px!important;min-height:18px!important;height:18px;margin:0;accent-color:var(--lime); }
.ticket-payment-fields { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px; }
.ticket-payment-fields>small { grid-column:1/-1; }
.ticket-payment-history { color:var(--lime)!important; }
.ticket-payment[hidden],.ticket-payment-fields[hidden],#ticketPaymentAmountField[hidden],#ticketPaymentCancelHelp[hidden] { display:none!important; }
@media(max-width:640px){.ticket-payment-fields{grid-template-columns:1fr;}}

/* AWS structure order revision 1: movement and round type are separate controls. */
.saved-structure-editor .structure-row,.timer-admin-layout .structure-row{grid-template-columns:106px repeat(4,minmax(70px,1fr)) 36px}
.round-row-controls{display:flex;align-items:stretch;gap:5px;min-width:0}
.structure-row .round-drag-handle{width:34px;min-width:34px;padding:0!important;font-size:24px!important;line-height:1;touch-action:none}
.structure-row .round-type-toggle{flex:1;min-width:0;min-height:40px;padding:4px 2px;border:1px solid var(--line);border-radius:8px;color:var(--lime);font-size:11px;font-weight:900;cursor:pointer}
.admin-light .structure-row .round-type-toggle{background:#f8fafc;color:#344255;border:1px solid #d8e0ea}
.structure-row .round-drag-handle:focus-visible,.structure-row .round-type-toggle:focus-visible{outline:3px solid #af7200;outline-offset:2px}
.structure-order-help{display:block;margin:8px 0 16px;font-size:12px;line-height:1.6;color:var(--muted)}
.admin-light .structure-order-help{color:#536277}
.structure-round-list .structure-row.dragging{opacity:.92;filter:none;box-shadow:0 4px 16px #0f172a22;border-radius:9px;background:var(--panel,#fff)}
@media(max-width:620px){.saved-structure-editor .structure-row,.timer-admin-layout .structure-row{grid-template-columns:100px repeat(4,minmax(70px,1fr)) 30px}.saved-structure-editor .structure-round-list,.saved-structure-editor .structure-heading,.timer-admin-layout .structure-round-list,.timer-admin-layout .structure-heading{min-width:512px}}
