/* PN Analytics v1 — noir editorial system */
:root{
  --bg:#080808;--bg2:#0d0d0e;--panel:#111112;--panel2:#171718;--panel3:#1d1d1f;
  --text:#f5f2ec;--muted:#aaa59d;--muted2:#756f68;--line:#2b2927;
  --red:#e0202b;--red2:#ff3945;--red-dim:#5a141a;--red-soft:rgba(224,32,43,.11);
  --gold:#d6a84a;--green:#55c98b;--blue:#72a7ff;--shadow:0 24px 60px rgba(0,0,0,.38);
  --sidebar:286px;--radius:6px;color-scheme:dark
}
*{scrollbar-width:thin;scrollbar-color:#3a3633 #111}
body{font:16px/1.55 Inter,"Segoe UI",Arial,sans-serif;background:#080808;color:var(--text)}
body:before{opacity:.18;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.11'/%3E%3C/svg%3E");background-size:180px;mask-image:none}
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
svg{display:block}.nav-icon svg,.menu-toggle svg,.global-search svg,.metric-icon svg,.hero-actions svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Shell */
.sidebar{width:var(--sidebar);padding:24px 18px 18px;background:#0c0c0d;border-right:1px solid #2b2927}
.site-brand{display:block;padding:0 8px 22px;border-bottom:1px solid #242220;margin-bottom:16px}
.site-brand img{display:block;width:100%;height:74px;object-fit:contain;object-position:left center}
.brand-copy{margin-top:10px;flex-direction:row;justify-content:space-between;align-items:center}
.brand-copy strong{font-size:14px;text-transform:uppercase;letter-spacing:.08em}
.brand-copy small{font-size:11px;margin:0;letter-spacing:.1em}
.sidebar-status{margin:0 6px 20px;padding:12px 13px;background:#141415;border-color:#302d2a;border-radius:4px}
.sidebar-status b{font-size:13px}.sidebar-status small{font-size:12px;color:#7f7972}.status-dot{background:var(--red);box-shadow:0 0 15px rgba(224,32,43,.65)}
.side-nav{gap:17px}.nav-group{gap:4px}.nav-label{font-size:11px;color:#716b65;padding:0 12px 5px;letter-spacing:.16em}
.nav-item{min-height:43px;padding:8px 10px;font-size:14px;border-radius:4px;color:#aaa59d;border:1px solid transparent}
.nav-item:hover{background:#171718;border-color:#2f2c29;color:#fff}
.nav-item.active{background:#1b1112;border-color:#4a1d21;color:#fff;box-shadow:inset 3px 0 var(--red)}
.nav-icon{width:28px;height:28px;border:0;border-radius:2px;background:transparent;color:#827b74;font-size:inherit}
.nav-item.active .nav-icon{background:transparent;border:0;color:var(--red2)}
.season-row{gap:7px;padding:2px 7px}.season-pill{font-size:12px;padding:9px 4px;border-radius:3px;background:#141415;border-color:#302d2a}
.season-pill:hover,.season-pill.active{background:#271113;border-color:#6b2027}
.sidebar-footer{padding:22px 9px 3px}.footer-kicker{font-size:11px;color:#bd353d}.sidebar-footer small{font-size:11px}
.page-shell{margin-left:var(--sidebar)}
.topbar{height:76px;padding:0 34px;background:rgba(8,8,8,.94);border-bottom:1px solid #2b2927;backdrop-filter:blur(16px)}
.topbar-title{font-size:12px;color:#8f8982}.topbar-dot{width:7px;height:7px;border-radius:0;background:var(--red);transform:rotate(45deg)}
.global-search{width:min(480px,42vw);height:44px;border-radius:4px;background:#121213;border-color:#302d2a;padding:0 13px}
.global-search>svg{color:#7b756e;flex:0 0 auto}.global-search input{font-size:14px}.global-search input::placeholder{color:#746e67}
.global-search kbd{font:11px/1 Inter,Arial,sans-serif;color:#746e67;border:1px solid #383431;border-bottom-color:#4b4642;background:#1a1919;padding:5px 7px;border-radius:3px}
.topbar-badge{border-radius:3px;border-color:#3b2929;background:#171112;padding:7px 11px}.topbar-badge b{border-radius:2px;background:var(--red);font-size:11px}.topbar-badge span{font-size:12px;color:#aaa39c}
.content{max-width:1540px;padding:34px 36px 80px}.site-footer{padding:22px 36px 30px;font-size:11px;color:#716b65;border-color:#242220}

/* Shared surfaces */
.pagehead{margin:5px 0 24px;padding-left:18px;border-left:3px solid var(--red);align-items:center}
.pagehead h1{margin:2px 0 5px;font-size:clamp(32px,3vw,48px);font-weight:850;letter-spacing:-.04em}.pagehead p{font-size:14px;color:#9b958e}.eyebrow{font-size:11px;color:#e14a53}
.btn,button{min-height:42px;border-radius:3px;font-size:14px;padding:10px 16px;background:#242323}
.btn.primary,button{background:var(--red);box-shadow:none}.btn.secondary,.btn.ghost{background:#171718;border-color:#383431;color:#dedad4}
.btn:hover,button:hover{transform:translateY(-1px);filter:brightness(1.14)}
.card,.panel{background:#111112;border:1px solid #2d2b29;border-radius:var(--radius);box-shadow:none}
.card{padding:20px;margin-bottom:16px}.card h2,.panel h2{font-size:18px;line-height:1.25;margin:0 0 14px}.muted{color:#9c9690}.micro{font-size:13px;color:#8f8982}
.cards{gap:12px;margin-bottom:16px}.stat{min-height:126px;position:relative;overflow:hidden}.stat:after{content:"";position:absolute;right:-12px;bottom:-17px;width:52px;height:52px;border:1px solid #302d2a;transform:rotate(45deg)}
.stat b{font-size:34px}.stat span{font-size:14px;color:#b1aba4}.stat small{font-size:12px;color:#7e7871}
.filters{gap:10px;padding:13px;background:#101011;border-color:#302d2a;border-radius:5px;margin-bottom:16px}
.filters input,.filters select{height:44px;background:#181819;color:#f1ede7;border-color:#393532;border-radius:3px;font-size:14px;padding:0 13px;min-width:170px}
.filters input:focus,.filters select:focus{border-color:#8d2b32;box-shadow:0 0 0 3px rgba(224,32,43,.1)}.filters button{height:44px}
.tablewrap{border-radius:5px}.tablewrap>h2{padding:20px 20px 0}.tablewrap>p{padding-left:20px;padding-right:20px}
table{min-width:760px}th,td{padding:13px 15px;border-color:#292725}th{font-size:12px;color:#827c75;background:#0d0d0e}td{font-size:14px;color:#cfcac4}tbody tr:hover{background:#181314}
td a{color:#f5f2ec}td a:hover{color:#ff5962}.pill,.role{font-size:11px;padding:4px 8px;border-radius:3px}
.chips span{font-size:13px;border-radius:3px;padding:7px 10px}.warning-card{border-color:#705321;background:#17140d}.warning-card p{color:#d9c99f}
code{font-size:13px}.ranking tbody tr:nth-child(-n+3){background:#141313}.ranking td:first-child b{font-size:16px}

/* Home command center */
.dashboard-hero{min-height:360px;padding:42px 46px;margin-bottom:14px;border-radius:7px;border-color:#3a2c2c;background:#100e0f;grid-template-columns:1.12fr .88fr;box-shadow:var(--shadow)}
.dashboard-hero:before{width:5px;height:auto;inset:0 auto 0 0;border-radius:0;background:var(--red)}
.dashboard-hero:after{content:"PN";right:22px;bottom:4px;font:900 118px/.82 Impact,"Arial Narrow",sans-serif;color:rgba(255,255,255,.018);letter-spacing:.01em;transform:none}
.hero-copy h1{font-size:clamp(46px,5.2vw,80px);line-height:.92;letter-spacing:-.055em;margin:17px 0 16px}.hero-copy h1 em{color:var(--red2)}
.hero-copy p{font-size:16px;line-height:1.55;color:#aaa49d;max-width:610px}.hero-kicker{font-size:11px;color:#bb656a}.hero-kicker span{background:var(--red)}
.hero-actions{margin-top:27px}.hero-actions .btn{font-size:14px;padding:12px 16px}.hero-actions .btn svg{display:inline-block;width:16px;height:16px;margin-left:10px;vertical-align:-3px}
.hero-meta{font-size:11px;color:#77716b;margin-top:30px}.hero-meta b{color:#b4ada6}
.hero-visual{min-height:275px}.hero-logo{position:absolute;width:210px;height:210px;object-fit:contain;right:18px;top:28px;opacity:.16;filter:drop-shadow(0 12px 22px rgba(0,0,0,.65));transform:rotate(-7deg)}
.hero-ring{width:210px;height:210px;right:68px;top:31px;background:conic-gradient(var(--red) 0 44.4%,#282523 44.4% 100%);box-shadow:none}
.hero-ring:after{inset:10px;background:#100e0f;border-color:#3b3632}.hero-ring b{font-size:44px}.hero-ring span{font-size:10px;color:#8b847d}
.hero-card{min-width:148px;padding:12px 14px;border-radius:4px;background:#171617;border-color:#3a3531;box-shadow:0 12px 28px rgba(0,0,0,.35);backdrop-filter:none}
.hero-card small{font-size:10px}.hero-card b{font-size:25px}.hero-card span{font-size:11px}.hc-red{left:0;top:26px}.hc-black{left:-8px;bottom:20px}.hc-season{right:-4px;bottom:9px}
.metric-strip{gap:0;border:1px solid #2d2b29;border-radius:5px;overflow:hidden;background:#111112}
.metric-strip article{min-height:88px;padding:17px 19px;background:transparent;border:0;border-right:1px solid #2d2b29;border-radius:0}.metric-strip article:last-child{border-right:0}
.metric-icon{width:42px;height:42px;flex-basis:42px;border-radius:3px;background:#1d1516;border-color:#4c2427;color:var(--red2)}.metric-strip b{font-size:21px}.metric-strip small{font-size:12px;color:#8d8780}
.dashboard-grid{gap:14px}.panel{padding:21px}.panel-head h2{font-size:19px}.panel-head>a{font-size:12px;color:#9a938d}.leader-row{grid-template-columns:38px 42px 1fr auto;padding:12px 3px;border-color:#292725}.leader-rank{font-size:12px}.leader-avatar{width:38px;height:38px;border-radius:3px;font-size:14px}.leader-name b,.pu-list b{font-size:14px}.leader-name small,.leader-value small,.pu-list small{font-size:11px}.leader-value b{font-size:18px}.pu-list>a{padding:12px 2px;border-color:#292725}.pu-list>a>span{width:28px;height:28px;border-radius:3px;font-size:11px}.pu-list strong{font-size:21px}
.recent-game{grid-template-columns:76px 1fr auto;padding:13px 2px;border-color:#292725}.game-id{font-size:13px}.game-info b{font-size:13px}.game-info small{font-size:11px}.result-chip{font-size:11px;border-radius:3px;padding:5px 8px}
.quick-grid{gap:9px}.quick-grid>a{min-height:94px;padding:13px;border-radius:4px;background:#151516;border-color:#302d2a;grid-template-columns:36px 1fr}.quick-grid>a:hover{background:#1a1415;border-color:#6b262b}.quick-grid>a>span{width:34px;height:34px;border-radius:3px;font-size:13px}.quick-grid b{font-size:13px}.quick-grid small{font-size:11px}

/* Detail views */
.playergrid{gap:12px}.player{padding:18px}.seat{width:44px;height:44px;flex-basis:44px;border-radius:3px;font-size:18px}.player h3{font-size:15px}.score{font-size:27px}.score small{font-size:12px}.scores li{font-size:13px;padding:7px 0}summary{font-size:13px}
.annual-grid{gap:12px}.award-card{padding:17px}.annual-grid .award-card h2{font-size:16px}.podium li{font-size:13px;padding:9px 0}
.compact-player-head h1{font-size:40px}.player-dashboard{gap:14px}.mini-stats{gap:10px}.mini-stats .card{padding:14px;min-height:98px}.mini-stats .stat b{font-size:26px}.compact-card{padding:17px}.compact-card h2{font-size:16px}.compact-table{font-size:13px}.compact-table th,.compact-table td{padding:9px}.rating-list>div{font-size:13px;padding:9px 0}.rating-list b{font-size:14px}.bigline{font-size:15px}.profile-links-grid p{font-size:13px}.notes-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.notes-grid .card{min-height:150px;border-top:2px solid #3b2929}.notes-grid p{font-size:14px}.anomaly-note{font-size:13px}

@media(max-width:1180px){
  .dashboard-hero{padding:36px}.metric-strip{grid-template-columns:repeat(2,1fr)}.metric-strip article:nth-child(2){border-right:0}.metric-strip article:nth-child(-n+2){border-bottom:1px solid #2d2b29}
}
@media(max-width:900px){
  :root{--sidebar:276px}.topbar{height:68px;padding:0 16px}.content{padding:25px 16px 58px}.menu-toggle{display:grid;place-items:center;border-radius:3px;padding:0}.menu-toggle svg{width:20px;height:20px}.site-footer{padding-inline:16px}
  .dashboard-hero{padding:30px 26px}.hero-copy h1{font-size:54px}
}
@media(max-width:650px){
  body{font-size:15px}.global-search{max-width:none}.global-search kbd{display:none}.dashboard-hero{min-height:auto;padding:27px 21px}.hero-copy h1{font-size:43px}.hero-copy p{font-size:15px}.hero-actions .btn{width:100%;text-align:center}.hero-meta{font-size:10px}.metric-strip{grid-template-columns:1fr}.metric-strip article{border-right:0;border-bottom:1px solid #2d2b29}.metric-strip article:nth-child(3){border-bottom:1px solid #2d2b29}.metric-strip article:last-child{border-bottom:0}.cards{grid-template-columns:1fr}.pagehead{padding-left:13px}.pagehead h1{font-size:34px}.pagehead p{font-size:13px}.panel{padding:17px}.recent-game{grid-template-columns:68px 1fr auto}.site-footer{font-size:10px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
