:root{--ink:#173b32;--cream:#f7f2e7;--paper:#fffdf7;--orange:#ef6b3a;--mint:#dce8d2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:"DM Sans",sans-serif}.topbar{height:78px;padding:0 6vw;background:#fbf8ef;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d7d3c6;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font:700 21px "Fraunces",serif}.brand-mark{width:39px;height:39px;display:grid;place-items:center;color:#fff;background:var(--orange);border-radius:11px 11px 11px 3px;font:700 12px "DM Sans"}.topbar nav{display:flex;gap:28px}.topbar nav a{color:var(--ink);text-decoration:none;font-weight:700}.season{text-align:right}.season span{color:var(--orange);font-size:9px;font-weight:700;letter-spacing:1px;display:block}.hero{padding:85px max(7vw,calc((100vw - 1180px)/2));background:linear-gradient(145deg,#dfead8,#c8dabc)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.4px;color:#45675d}.eyebrow span{color:var(--orange)}h1{font:700 clamp(48px,6vw,76px)/.98 "Fraunces",serif;margin:15px 0;letter-spacing:-2px}h1 em{color:var(--orange)}.intro{font:500 17px/1.5 "Fraunces";max-width:620px}.search-shell{position:relative;width:min(720px,100%);margin-top:30px}.search-shell label{display:block;margin-bottom:8px;font-size:11px;font-weight:700}.search-box{height:68px;background:var(--paper);border:2px solid #fff;border-radius:14px;box-shadow:0 13px 35px #4965552b;display:flex;align-items:center;padding:0 18px}.search-box:focus-within{border-color:var(--orange)}.search-box svg{width:22px;fill:none;stroke:#557168;stroke-width:2}.search-box input{flex:1;border:0;outline:0;background:transparent;font:500 16px "DM Sans";padding:20px 14px}.search-box kbd{color:#89958e;background:#f0eee7;border:1px solid #e2dfd6;border-radius:6px;padding:5px 7px}.hint{font-size:11px}.results{position:absolute;z-index:30;top:98px;width:100%;background:var(--paper);border:1px solid #dedbd0;border-radius:12px;box-shadow:0 18px 35px #29443a30;padding:6px;max-height:360px;overflow:auto}.result{width:100%;border:0;background:transparent;display:flex;text-align:left;align-items:center;gap:12px;padding:12px;border-radius:8px;cursor:pointer;color:var(--ink)}.result:hover{background:#edf2e8}.result strong,.result small{display:block}.result small{color:#718179}.type-badge{width:58px;text-transform:uppercase;font-size:9px;font-weight:800;color:#fff;background:var(--orange);padding:7px;border-radius:8px;text-align:center}.arrow{margin-left:auto}.dashboard,.detail-card{padding:70px max(6vw,calc((100vw - 1180px)/2))}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end}.section-heading h2,.detail-card h2{font:700 40px "Fraunces";margin:5px 0}.game-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.game-card{background:var(--paper);padding:20px;border-radius:16px;border:1px solid #e2ded1;box-shadow:0 10px 25px #314b3e12;text-align:left;color:var(--ink);cursor:pointer}.game-date{font-size:11px;color:var(--orange);font-weight:800}.game-card h3{font:700 20px "Fraunces";margin:9px 0}.game-card p,.weather{font-size:12px;color:#6e7e76}.matchup{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;padding:14px 0;margin:12px 0;border-top:1px solid #e7e2d8;border-bottom:1px solid #e7e2d8;font-size:12px}.matchup span:last-child{text-align:right}.detail-card{background:var(--paper);margin:0 auto 70px;width:min(1180px,88vw);border-radius:20px;box-shadow:0 20px 50px #314b3e1c}.detail-head{display:flex;justify-content:space-between;align-items:center}.detail-head>strong{font:700 30px "Fraunces";background:var(--orange);color:#fff;padding:18px;border-radius:14px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin:18px 0}.stat{background:#f0f1e9;padding:15px;border-radius:10px}.stat span{font-size:9px;font-weight:700;color:#76847d}.stat strong{display:block;font:700 19px "Fraunces";margin-top:3px;overflow-wrap:anywhere}.roster,.bench-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}.roster button,.roster>div,.bench-card{border:0;background:#f4f2ea;padding:12px;border-radius:9px;text-align:left;cursor:pointer;color:var(--ink)}.roster b{display:inline-block;margin-right:8px;color:var(--orange)}.roster small,.bench-card small{display:block;color:#74827b}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:11px;border-bottom:1px solid #e5e1d8;vertical-align:top}th{font-size:10px;text-transform:uppercase;color:#6f7c75}.report-section{padding-top:24px;margin-top:24px;border-top:1px solid #e6e1d6}.report-section h3{font:700 24px "Fraunces";margin:0 0 12px}.report-section h4{margin:12px 0 0}.lineup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.lineup-card{background:#f4f2ea;padding:18px;border-radius:14px}.lineup-card ol,.lineup-list{padding-left:24px}.lineup-card button,.lineup-list button{border:0;background:transparent;color:var(--ink);cursor:pointer;text-align:left;padding:5px}.split-stack{display:grid;gap:16px}.timeline article{padding:12px 0;border-bottom:1px solid #e6e1d6}.timeline p{margin:5px 0;color:#60736a}footer{min-height:90px;background:var(--ink);color:#e8eee9;display:flex;align-items:center;gap:35px;padding:0 7vw}footer small{margin-left:auto}@media(max-width:700px){.topbar nav,.season,kbd{display:none}.hero,.dashboard{padding:60px 22px}.section-heading{display:block}.detail-card{width:94vw;padding:28px}.detail-head>strong{display:none}.lineup-grid{grid-template-columns:1fr}footer{padding:25px;display:block}footer small{display:block;margin-top:10px}}