*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-body);font-size:var(--fs-md);line-height:var(--lh-normal);color:var(--text-primary);background:var(--bg-base);padding-bottom:calc(var(--bottomnav-h) + env(safe-area-inset-bottom,0px))}img{display:block;max-width:100%}a{color:var(--violet-500);text-decoration:none}a:hover{color:var(--violet-700)}h1,h2,h3{font-family:var(--font-display);line-height:var(--lh-tight);text-transform:uppercase;margin:0;color:var(--ink)}h1{font-size:clamp(26px,6vw,40px);font-weight:var(--fw-heavy);letter-spacing:var(--track-tight)}h2{font-size:var(--fs-xl);font-weight:var(--fw-black);letter-spacing:-0.3px}h3{font-size:var(--fs-lg);font-weight:var(--fw-black);letter-spacing:-0.2px}p{margin:0}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}table,.stat-value,.num,.rank-list{font-variant-numeric:tabular-nums}.tag{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--ink);letter-spacing:0.4px;background:var(--surface);border:var(--bw) solid var(--ink);border-radius:var(--radius-sm);padding:1px 8px;width:fit-content}.microlabel,.stat-label,.score-label,.field label{font-size:10.5px;font-weight:var(--fw-black);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--text-muted)}.layout{display:block}.sidebar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:var(--space-4);min-height:var(--topbar-h);padding:var(--space-2) var(--space-4);background:var(--surface);border-bottom:var(--bw-lg) solid var(--ink);box-shadow:0 4px 0 var(--violet-500)}.brand{display:flex;align-items:center;flex:1;min-width:0}.brand-name{font-family:var(--font-display);font-weight:var(--fw-heavy);font-size:var(--fs-xl);text-transform:uppercase;letter-spacing:var(--track-tight);color:var(--ink);white-space:nowrap}.brand-name em{font-style:normal;color:var(--violet-500)}.sidebar-footer{display:none}.content{width:100%;max-width:var(--content-max);margin:0 auto;padding:var(--space-5) var(--space-4);display:flex;flex-direction:column;gap:var(--space-5)}.menu{position:fixed;bottom:0;left:0;right:0;z-index:50;display:flex;justify-content:center;gap:var(--space-1);height:calc(var(--bottomnav-h) + env(safe-area-inset-bottom,0px));padding:6px var(--space-2) calc(6px + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:var(--bw-lg) solid var(--ink);box-shadow:0 -4px 0 var(--violet-500)}.nav-btn{flex:1;max-width:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:var(--radius-md);color:var(--text-muted);font-size:10px;font-weight:var(--fw-heavy);text-transform:uppercase;letter-spacing:0.4px;transition:color var(--speed-fast) var(--ease),background var(--speed-fast) var(--ease)}.nav-btn svg{width:22px;height:22px;flex:none}.nav-btn:hover{color:var(--ink)}.nav-btn.active{background:var(--violet-500);color:#fff;border:var(--bw) solid var(--ink);box-shadow:var(--shadow-chip)}.page-header{display:flex;flex-direction:column;gap:var(--space-4)}.page-title{display:flex;flex-direction:column;gap:var(--space-2)}.page-header{position:relative}.page-header>.fav-btn{position:absolute;top:0;right:0}.page-header:has(>.fav-btn) .page-title{padding-right:54px}.page-title h1::after{content:"";display:block;width:64px;height:10px;margin-top:8px;background:var(--violet-500);border:var(--bw) solid var(--ink);border-radius:var(--radius-full)}.page-title .subtitle{color:var(--text-secondary);font-size:var(--fs-sm);font-weight:var(--fw-semibold);display:flex;align-items:center;gap:var(--space-2)}.page-actions{display:flex;gap:var(--space-3);align-items:center}.page-actions .btn{flex:1}.site-footer{display:flex;justify-content:center;padding:var(--space-2) 0;color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-bold)}.site-footer a{color:inherit}.site-footer a:hover{color:var(--violet-700)}:focus-visible{outline:var(--bw-lg) solid var(--violet-500);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background:var(--violet-500);color:#fff}@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}@media (pointer:coarse){.btn{min-height:44px}.tab,.page-btn{min-height:40px}}@media (min-width:1041px){body{padding-bottom:0}.sidebar{padding:var(--space-2) var(--space-6);gap:var(--space-6)}.brand{flex:none}.menu{position:static;height:auto;margin-left:auto;padding:0;gap:var(--space-2);background:none;border-top:none;box-shadow:none}.nav-btn{flex:none;max-width:none;flex-direction:row;gap:var(--space-2);padding:9px var(--space-4);font-size:var(--fs-sm);letter-spacing:0.6px;color:var(--text-secondary);border:var(--bw) solid transparent}.nav-btn svg{width:18px;height:18px}.nav-btn:hover{background:var(--surface-dim);border-color:var(--ink)}.nav-btn.active{background:var(--violet-500);color:#fff;border:var(--bw) solid var(--ink);box-shadow:var(--shadow-chip)}.content{padding:var(--space-8) var(--space-6);gap:var(--space-6)}.page-header{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between}.page-actions .btn{flex:none}}