:root{--op-bg: #f6f4ef;--op-panel: #ffffff;--op-ink: #17182a;--op-muted: #4d5170;--op-line: #d9d6cc;--op-accent: #8a4b00;--op-badge: #fff1cc;--op-tab: #e9e6dc;--op-tab-on: #1f2a5c;--op-tab-on-ink: #ffffff;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--op-bg: #0e1230;--op-panel: #161c44;--op-ink: #f3f1ea;--op-muted: #b9bfdc;--op-line: #2d3768;--op-accent: #ffd27a;--op-badge: #3a2a0d;--op-tab: #222a5c;--op-tab-on: #ffd27a;--op-tab-on-ink: #17182a}}*{box-sizing:border-box}html,body{margin:0;background:var(--op-bg);color:var(--op-ink);font-family:Noto Sans KR,Pretendard,system-ui,sans-serif;font-size:100%;line-height:1.5;-webkit-text-size-adjust:100%}.odds-page{display:grid;gap:16px;max-width:760px;margin:0 auto;padding:max(16px,env(safe-area-inset-top)) 16px 40px;overflow-wrap:anywhere;word-break:keep-all}.odds-page-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px}.odds-page-head>p{grid-column:1 / -1;margin:0}.odds-page-title{margin:0;font-size:1.5rem;line-height:1.25}.odds-page-lang,.odds-tab,.odds-search,summary.odds-h{min-height:44px}.odds-page-lang{min-width:44px;padding:0 14px;border:2px solid var(--op-line);border-radius:10px;background:var(--op-panel);color:var(--op-ink);font:inherit;font-weight:700;cursor:pointer}.odds,.odds-head,.odds-panel{display:grid;gap:12px;min-width:0}.odds p,.odds h3{margin:0}.odds-badge{padding:10px 12px;border-radius:10px;background:var(--op-badge);font-weight:800}.odds-version{font-weight:700;font-variant-numeric:tabular-nums}.odds-note{margin:0;color:var(--op-muted);font-size:.875rem}.odds-upcoming{padding:8px 12px;border-left:4px solid var(--op-accent);background:var(--op-panel)}.odds-tabs{display:flex;flex-wrap:wrap;gap:8px}.odds-tab{flex:1 1 96px;padding:6px 10px;border:2px solid var(--op-line);border-radius:10px;background:var(--op-tab);color:var(--op-ink);font:inherit;font-weight:800;cursor:pointer}.odds-tab[aria-selected=true]{border-color:var(--op-tab-on);background:var(--op-tab-on);color:var(--op-tab-on-ink)}.odds-section{display:grid;gap:8px;min-width:0;padding:12px;border:1px solid var(--op-line);border-radius:12px;background:var(--op-panel)}.odds-h{margin:0;font-size:1.05rem;font-weight:800}summary.odds-h,summary.odds-summary{display:flex;align-items:center;cursor:pointer}summary.odds-summary{min-height:44px;padding:0 10px;border:1px solid var(--op-line);border-radius:10px;color:var(--op-accent);font-weight:700}.odds-pity-pieces{display:grid;gap:6px;min-width:0}.odds-table{width:100%;table-layout:auto;border-collapse:collapse;font-size:.8125rem;font-variant-numeric:tabular-nums}.odds-table th,.odds-table td{padding:6px 4px;border-bottom:1px solid var(--op-line);text-align:left;vertical-align:top;overflow-wrap:anywhere;word-break:keep-all}.odds-table th{color:var(--op-accent);overflow-wrap:normal}.odds-table .odds-num{white-space:nowrap}.odds-search{width:100%;padding:0 12px;border:2px solid var(--op-line);border-radius:10px;background:var(--op-bg);color:var(--op-ink);font:inherit}:is(button,input,summary,a):focus-visible{outline:3px solid var(--op-accent);outline-offset:2px}.odds-page-list{margin:0;padding-left:20px;font-size:.875rem}.odds-page-business-list{display:grid;grid-template-columns:minmax(0,max-content) minmax(0,1fr);gap:4px 12px;margin:0;color:var(--op-muted);font-size:.875rem}.odds-page-business-list dt{font-weight:700}.odds-page-business-list dd{margin:0}@media(max-width:380px){.odds-page-business-list{grid-template-columns:minmax(0,1fr);gap:0}.odds-page-business-list dd+dt{margin-top:6px}}.odds-page-noscript{max-width:760px;margin:16px auto;padding:0 16px}.odds-section{overflow-x:auto}@media(max-width:380px){.odds-table{font-size:.75rem}.odds-table th,.odds-table td{padding:5px 2px}}
