:root{--gold:#ffc933;--gold-deep:#e79b00;--gold-soft:#fff2cf;--gold-line:#f3d98a;--charcoal:#1c1c1f;--midnight:#17161f;--bg:#f5f1e8;--surface:#fff;--surface-2:#faf7f0;--line:#ebe4d6;--line-soft:#f2ecdf;--text:#201e19;--text-sub:#7c766a;--text-mute:#a8a091;--danger:#e04a44;--ok:#2f9e64;--info:#3b7dd8;--r-sm:10px;--r:15px;--r-lg:20px;--r-xl:26px;--r-pill:999px;--radius:var(--r);--radius-lg:var(--r-lg);--shadow-sm:0 1px 2px rgba(60,48,20,.06);--shadow:0 4px 16px rgba(60,48,20,.08);--shadow-lg:0 12px 32px rgba(60,48,20,.12);--maxw:440px;--nav-h:52px;--ease:cubic-bezier(0.16,1,0.3,1)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Pretendard,Segoe UI,Roboto,Malgun Gothic,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;line-height:1.5;-webkit-tap-highlight-color:transparent;word-break:keep-all;overflow-wrap:break-word}a{color:inherit;text-decoration:none}h1,h2,h3,h4{text-wrap:balance}p{text-wrap:pretty}.app-shell{max-width:var(--maxw);margin:0 auto;min-height:100dvh;background:var(--bg);position:relative;overflow-x:hidden}.navbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;height:var(--nav-h);display:grid;grid-template-columns:44px 1fr 44px;align-items:center;background:color-mix(in srgb,var(--bg) 86%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line-soft)}.navbar .nav-title{text-align:center;font-weight:800;font-size:16px;letter-spacing:-.01em}.icon-btn{width:44px;height:44px;display:grid;place-items:center;background:none;border:none;cursor:pointer;color:var(--text);font-size:20px;border-radius:12px;transition:background .15s var(--ease)}.icon-btn:active{background:var(--line-soft)}.stack{display:flex;flex-direction:column;gap:12px;padding:14px 16px}.section-label{font-size:12px;font-weight:800;letter-spacing:.04em;color:var(--text-mute);margin:2px 2px 8px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.card-pad{padding:18px}.card-flat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.list{flex-direction:column}.list,.row{display:flex}.row{align-items:center;gap:12px;padding:11px 8px;border-radius:14px;transition:background .15s var(--ease)}.row.me{background:var(--gold-soft)}.avatar{width:40px;height:40px;border-radius:14px;flex:none;display:grid;place-items:center;font-size:18px;font-weight:800;background:var(--surface-2);border:1px solid var(--line);color:var(--text-sub)}.avatar.rank1{background:linear-gradient(135deg,#ffe08a,var(--gold));color:#6a4a00;border-color:var(--gold-line)}.bubble{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:13px 15px;box-shadow:var(--shadow-sm)}.bubble.gold{background:var(--gold-soft);border-color:var(--gold-line)}.chip-row{display:flex;gap:8px;flex-wrap:wrap}.chip{padding:8px 14px;border-radius:var(--r-pill);font-size:13.5px;font-weight:700;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;transition:transform .12s var(--ease),background .15s var(--ease),border-color .15s var(--ease)}.chip:active{transform:scale(.96)}.chip.on,.chip[aria-pressed=true]{background:var(--gold-soft);border-color:var(--gold-deep);color:var(--gold-deep)}.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;grid-gap:4px;gap:4px;background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:4px}.seg-item{padding:9px 0;border-radius:10px;border:none;background:none;cursor:pointer;font-size:14px;font-weight:700;color:var(--text-sub);transition:background .15s var(--ease),color .15s var(--ease)}.seg-item.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.btn-primary{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px;border:none;border-radius:var(--r);background:var(--gold);color:var(--charcoal);font-weight:800;font-size:16.5px;cursor:pointer;box-shadow:0 6px 18px rgba(255,176,32,.35);transition:transform .12s var(--ease),box-shadow .15s var(--ease),filter .15s var(--ease)}.btn-primary:active{transform:translateY(1px) scale(.995);box-shadow:0 3px 10px rgba(255,176,32,.3)}.btn-primary:disabled{background:var(--line);color:var(--text-mute);box-shadow:none;cursor:not-allowed}.btn-ghost{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:13px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--text);font-weight:700;font-size:14px;cursor:pointer;transition:transform .12s var(--ease),background .15s var(--ease)}.btn-ghost:active{transform:scale(.98);background:var(--surface-2)}.fab-bar{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:100%;max-width:var(--maxw);padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent,var(--bg) 22%);z-index:30}.pill{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--r-pill);font-size:11.5px;font-weight:800;letter-spacing:.01em}.pill.gold{background:var(--gold-soft);color:var(--gold-deep)}.pill.live{background:color-mix(in srgb,var(--ok) 14%,#fff);color:var(--ok)}.divider{height:1px;background:var(--line);border:none;margin:4px 0}.tnum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.press:active{transform:scale(.96)}@keyframes pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes shimmer{to{background-position:200% 0}}@keyframes riseIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.rise{animation:riseIn .5s var(--ease) both}.skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,var(--line-soft) 37%,var(--surface-2) 63%);background-size:200% 100%;animation:shimmer 1.3s linear infinite;border-radius:10px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width:900px){.ov-2col{grid-template-columns:1fr!important}}