:root{--ink:#251f1b;--muted:#746a61;--paper:#f7f3eb;--card:#fffdfa;--line:#e7ded2;--orange:#ee6a2c;--orange-dark:#b9431a;--orange-soft:#fff0e2;--mint:#cce9de;--mint-dark:#357561;--lavender:#e5dcf7;--lavender-dark:#67528d;--shadow:0 18px 50px #47332412}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}button,input,select{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}.topbar{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f7f3ebf0;border-bottom:1px solid #5341341a;justify-content:space-between;align-items:center;height:74px;padding:0 max(24px,50vw - 720px);display:flex;position:sticky;top:0}.brand{align-items:center;gap:11px;display:flex}.brand-mark{background:var(--orange);color:#fff;border-radius:50% 50% 46% 54%/58% 57% 43% 42%;place-items:center;width:38px;height:38px;display:grid;transform:rotate(-4deg);box-shadow:inset 0 -4px #842e0c21}.brand-mark span{font-size:18px;font-weight:800;transform:rotate(4deg)}.brand>span:last-child{flex-direction:column;gap:1px;display:flex}.brand strong{letter-spacing:.05em;font-size:17px}.brand small{color:var(--muted);letter-spacing:.17em;font-size:9px;font-weight:700}.topbar-meta{color:var(--muted);align-items:center;gap:9px;font-size:12px;font-weight:600;display:flex}.live-dot{background:var(--mint-dark);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #3575611f}.meta-divider{background:var(--line);width:1px;height:13px}.page-shell{width:min(1440px,100% - 48px);margin:0 auto;padding:64px 0 36px}.intro{justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:44px;display:flex}.eyebrow{color:var(--orange-dark);letter-spacing:.2em;text-transform:uppercase;margin:0 0 11px;font-size:11px;font-weight:800}.intro h1{letter-spacing:-.055em;margin:0;font-size:clamp(38px,4.7vw,68px);font-weight:720;line-height:1.1}.intro h1 em{color:var(--orange);font-style:normal}.rule-note{align-items:center;gap:14px;max-width:340px;padding-bottom:8px;display:flex}.rule-note p{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.rule-note strong{color:var(--ink);font-size:14px}.rule-number{width:48px;height:48px;color:var(--orange-dark);border:1px solid #efb89c;flex:none;place-items:center;font-size:23px;font-weight:750;display:grid;transform:rotate(4deg)}.metric-grid{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);grid-template-columns:1.15fr 1fr 1fr;display:grid}.metric-card{border-right:1px solid var(--line);flex-direction:column;min-height:154px;padding:25px 26px;display:flex}.metric-card:last-child{border-right:0}.metric-card.primary{background:var(--orange);color:#fff;min-height:156px;margin:-1px}.metric-card p{color:var(--muted);margin:0 0 10px;font-size:12px;font-weight:700}.metric-card.primary p,.metric-card.primary span{color:#ffffffd1}.metric-card strong{letter-spacing:-.05em;font-size:clamp(32px,3vw,46px);line-height:1}.metric-card strong small{letter-spacing:0;font-size:17px;font-weight:650}.metric-card>span{color:var(--muted);margin-top:auto;font-size:11px}.large-progress{background:#eee6dc;width:100%;height:7px;margin-top:auto;overflow:hidden}.large-progress>span{background:var(--orange);min-width:2px;height:100%;display:block}.roster-card,.detail-card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow)}.section-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.section-heading h2{letter-spacing:-.035em;margin:0;font-size:24px}.section-heading .eyebrow{margin-bottom:6px}.explorer{grid-template-columns:minmax(0,1.6fr) minmax(400px,.9fr);align-items:start;gap:20px;margin-top:20px;display:grid}.roster-card{min-width:0;overflow:hidden}.roster-heading{align-items:center;padding:27px 28px 0}.result-count{color:var(--muted);font-size:12px}.controls{grid-template-columns:1fr 170px;gap:10px;margin:22px 28px 12px;display:grid}.search-box{border:1px solid var(--line);background:#fff;align-items:center;gap:8px;min-height:44px;padding:0 13px;display:flex}.search-box:focus-within{border-color:#df9d7b;box-shadow:0 0 0 3px #ee6a2c17}.search-box>span{color:var(--orange);font-size:22px;line-height:1;transform:rotate(-20deg)}.search-box input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:13px}.search-box button{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:19px}.controls select{border:1px solid var(--line);color:var(--ink);background:#fff;outline:0;padding:0 12px;font-size:12px}.filter-tabs{background:#f2ece4;gap:3px;width:fit-content;margin:0 28px;padding:3px;display:flex}.filter-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:7px 12px;font-size:11px}.filter-tabs button.active{color:var(--ink);background:#fff;font-weight:700;box-shadow:0 2px 7px #412b1914}.legend{color:var(--muted);justify-content:flex-end;gap:14px;margin:-22px 28px 15px;font-size:9px;display:flex}.legend span{align-items:center;gap:5px;display:flex}.status-dot{background:#e5ded5;border-radius:50%;width:8px;height:8px;display:inline-block}.status-dot.lit{background:var(--orange)}.status-dot.rekindled{background:var(--lavender-dark);box-shadow:inset 0 0 0 2px var(--lavender)}.roster-table{border-top:1px solid var(--line)}.table-header,.person-row{grid-template-columns:minmax(245px,1.3fr) minmax(180px,1fr) 105px 78px;align-items:center;gap:16px;display:grid}.table-header{min-height:38px;color:var(--muted);letter-spacing:.08em;background:#fbf8f3;padding:0 22px;font-size:9px;font-weight:750}.table-header span:nth-child(3),.table-header span:nth-child(4){text-align:right}.table-body{scrollbar-width:thin;scrollbar-color:#d8cec2 transparent;max-height:740px;overflow:auto}.person-row{text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #eee7de;width:100%;min-height:67px;padding:8px 22px;transition:background .13s}.person-row:hover{background:#fff8f2}.person-row.selected{background:var(--orange-soft);box-shadow:inset 3px 0 var(--orange)}.person-cell{align-items:center;gap:10px;min-width:0;display:flex}.rank{color:#a4978b;text-align:right;width:21px;font-size:10px}.avatar{border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:14px;font-weight:750;display:grid}.avatar.large{width:52px;height:52px;font-size:21px}.person-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.person-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.person-copy small{color:var(--muted);font-size:9px}.mini-timeline{grid-template-columns:repeat(20,1fr);gap:3px;display:grid}.mini-day{background:#e8e1d9;height:14px}.mini-day.lit{background:var(--orange)}.mini-day.rekindled{background:var(--lavender-dark)}.progress-cell{flex-direction:column;align-items:flex-end;gap:5px;display:flex}.progress-cell strong{font-size:11px}.progress-cell>span{background:#e9e1d8;width:74px;height:3px}.progress-cell i{background:var(--orange);height:100%;display:block}.score-cell{text-align:right;color:var(--orange-dark);font-size:11px;font-weight:750}.empty-result{text-align:center;color:var(--muted);padding:70px 24px;font-size:13px}.detail-card{padding:27px 28px 25px;position:sticky;top:94px}.detail-profile{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding-bottom:22px;display:flex}.detail-profile p{color:var(--muted);letter-spacing:.1em;margin:0 0 3px;font-size:9px}.detail-profile h2{text-overflow:ellipsis;white-space:nowrap;max-width:290px;margin:0;font-size:20px;overflow:hidden}.detail-profile div>span{color:var(--muted);font-size:10px}.detail-score{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);padding:21px 0;display:grid}.detail-score>div{border-right:1px solid var(--line);flex-direction:column;gap:5px;padding:0 11px;display:flex}.detail-score>div:first-child{padding-left:0}.detail-score>div:last-child{border-right:0;padding-right:0}.detail-score span{color:var(--muted);font-size:9px}.detail-score strong{letter-spacing:-.04em;font-size:21px}.detail-score strong small{letter-spacing:0;font-size:10px}.detail-score div>small{color:var(--muted);font-size:9px}.spark-progress{padding:22px 0 18px}.spark-progress>div:first-child{justify-content:space-between;align-items:baseline;display:flex}.spark-progress span{color:var(--muted);font-size:10px}.spark-progress strong{font-size:17px}.spark-progress .large-progress{height:6px;margin-top:10px}.spark-progress p{color:var(--muted);margin:9px 0 0;font-size:9px}.spark-progress b{color:var(--ink)}.calendar-wrap{border-top:1px solid var(--line);padding-top:18px}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.calendar-weekdays{margin-bottom:7px}.calendar-weekdays span{text-align:center;color:var(--muted);font-size:8px}.calendar-blank{min-height:68px}.calendar-day{background:#f1ece6;border-bottom:2px solid #0000;flex-direction:column;min-width:0;min-height:68px;padding:7px 6px 5px;display:flex}.calendar-day.lit{background:var(--orange-soft);border-color:var(--orange)}.calendar-day.rekindled{background:var(--lavender);border-color:var(--lavender-dark)}.calendar-date{color:var(--muted);justify-content:space-between;align-items:center;font-size:9px;display:flex}.calendar-day strong{white-space:nowrap;text-overflow:ellipsis;margin-top:6px;font-size:12px;overflow:hidden}.calendar-day.lit strong{color:var(--orange-dark)}.calendar-day.rekindled strong{color:var(--lavender-dark)}.calendar-day small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:auto;font-size:7px;overflow:hidden}.detail-footnote{background:#f3eee7;grid-template-columns:62px 1fr;gap:10px;margin-top:18px;padding:13px 14px;display:grid}.detail-footnote span{color:var(--orange-dark);font-size:9px;font-weight:750}.detail-footnote p{color:var(--muted);margin:0;font-size:9px;line-height:1.55}footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:20px;margin-top:28px;padding:19px 0 0;font-size:9px;display:flex}footer p{margin:0}.state-screen{text-align:center;background:var(--paper);place-content:center;justify-items:center;min-height:100vh;padding:24px;display:grid}.state-screen .brand-mark{width:52px;height:52px;margin-bottom:18px}.state-screen h1{margin:0;font-size:25px}.state-screen p{color:var(--muted);font-size:13px}.loading-state .brand-mark{animation:1s ease-in-out infinite alternate flicker}@keyframes flicker{to{transform:rotate(4deg)scale(1.06)}}@media (width<=1120px){.explorer{grid-template-columns:1fr}.detail-card{position:static}.table-body{max-height:630px}.detail-profile h2{max-width:70vw}}@media (width<=760px){.topbar{height:62px;padding:0 16px}.topbar-meta span:nth-last-child(-n+2){display:none}.page-shell{width:min(100% - 24px,680px);padding-top:38px}.intro{flex-direction:column;align-items:flex-start;margin-bottom:32px}.intro h1{font-size:39px}.rule-note{padding:0}.metric-grid{grid-template-columns:1fr 1fr}.metric-card{border-bottom:1px solid var(--line);min-height:132px;padding:20px}.metric-card:nth-child(2){border-right:0}.metric-card:nth-child(3){border-bottom:0;border-right:0;grid-column:1/-1}.metric-card.primary{min-height:134px}.roster-heading{padding:23px 18px 0}.controls{grid-template-columns:1fr;margin:18px 18px 10px}.controls select{height:40px}.filter-tabs{max-width:calc(100% - 36px);margin:0 18px 12px;overflow-x:auto}.filter-tabs button{white-space:nowrap}.legend{justify-content:flex-start;margin:0 18px 13px}.table-header{display:none}.person-row{grid-template-columns:minmax(0,1fr) 66px;gap:11px;padding:10px 16px}.person-row>span:nth-child(2){grid-area:2/1/auto/-1;padding-left:31px}.person-row>span:nth-child(3){display:none}.score-cell{grid-area:1/2}.detail-card{padding:23px 18px}.calendar-weekdays,.calendar-grid{gap:4px}.calendar-day,.calendar-blank{min-height:61px}footer{flex-direction:column}}@media (width<=440px){.brand small{display:none}.metric-grid{grid-template-columns:1fr}.metric-card,.metric-card.primary{border-right:0;border-bottom:1px solid var(--line);min-height:118px}.metric-card:nth-child(3){border-bottom:0}.intro h1{font-size:34px}.section-heading{align-items:flex-start}.detail-score{grid-template-columns:1fr 1fr}.detail-score>div:nth-child(2){border-right:0}.detail-score>div:nth-child(3){border-top:1px solid var(--line);grid-column:1/-1;margin-top:15px;padding:15px 0 0}}
