:root{color:#173652;background:#edf3f8;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.app{max-width:1060px;padding:28px 32px 110px;background:radial-gradient(ellipse at 90% 0,#d6eafa,transparent 60%),#f6f9fc}header{margin-bottom:26px}.brand{font-size:11px;letter-spacing:2.7px}.crest{border:1px solid #c1d6e8;border-radius:50%;font-family:inherit;color:#315d82}.hero{position:relative;display:flex;align-items:center;min-height:300px;padding:30px;border-radius:28px;background:linear-gradient(120deg,#e4f1fb,#cee4f6);overflow:hidden;margin-bottom:20px}.hero>div{z-index:1;max-width:60%}.hero h1{font-family:Georgia,serif;font-weight:500;font-size:clamp(36px,4.5vw,55px);line-height:1.04;margin-top:15px;letter-spacing:-1.8px}.hero small{font-size:10px}.hero p{color:#486b89}.court-art{width:48%;position:absolute;right:-2%;top:0;height:100%;object-fit:contain}.player-strip{display:flex;align-items:center;gap:15px;padding:6px 3px 22px}.player-strip p{margin:4px 0}.player-strip>.pill{margin-left:auto;font-size:9px;letter-spacing:1px}.avatar{width:58px;height:58px;flex-shrink:0;border:2px solid white;box-shadow:0 0 0 1px #c7daea;border-radius:50%;background:#dfedf8;color:#4d7599;font-size:25px;overflow:hidden;padding:0}.avatar img{width:100%;height:100%;object-fit:cover}.card{border-radius:21px;box-shadow:0 5px 25px #254b7510;padding:23px;border-color:#e2eaf1}.blue{background:#e4eff9}.mint{background:#edf4ef}.kicker{margin-bottom:12px;color:#4e7494}.twocol h3{line-height:1.5}.button{background:#244e73;border-radius:12px;min-height:44px}.secondary{background:#e4edf5;color:#244e73}.link{min-height:44px}.muted{color:#55718a}.nav{max-width:1060px;border-radius:20px 20px 0 0;box-shadow:0 -5px 25px #234b7010}.nav button{min-width:55px;min-height:48px;font-size:12px;border-radius:12px}.nav button.active{background:#e6f0f9}.journey{display:flex;justify-content:space-around;align-items:center;position:relative;margin:30px 0;padding:22px;border-radius:20px;background:#e1edf7}.journey:before{content:'';position:absolute;left:16%;right:16%;top:50%;border-top:2px dashed #99b7cf}.journey span{z-index:1;background:#f7fbff;border:1px solid #c4d9ea;border-radius:50%;height:68px;width:68px;display:grid;place-content:center;text-align:center;font-size:10px;line-height:1.8;font-weight:700;letter-spacing:1px}.chart{overflow-x:auto}.chart .col{min-width:40px}.empty{padding:30px 15px;line-height:1.6;background:linear-gradient(135deg,#f4f9fd,#fff);border-radius:14px}.source-import{background:#f0f6fb;padding:18px;border-radius:16px;margin-bottom:25px}#sourcePreview img{max-width:100%;max-height:400px;object-fit:contain}#sourcePreview iframe{width:100%;height:430px;border:1px solid #bad1e4}.verify{display:flex;align-items:flex-start;gap:10px;line-height:1.6;margin:20px 0}.verify input{width:20px;height:20px;flex-shrink:0}.metric{padding:12px 0;border-bottom:1px solid #e4edf5}.metric-values{display:flex;gap:10px;overflow:auto;padding:12px 0}.metric-values span{background:#edf4fa;padding:10px;border-radius:10px;min-width:85px;text-align:center}.metric-values small{display:block;color:#55718a;margin-top:5px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #448cc4;outline-offset:3px}h1{line-height:1.15}.game strong{overflow-wrap:anywhere}.game .row{flex-wrap:wrap}.source-link{font-size:12px}.status{padding:12px;background:#e7f2fa;border-radius:12px}input[type=file]{max-width:100%}@media(min-width:760px){#home.active{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}#home .hero,#home .player-strip,#home .twocol,#home>button{grid-column:1/-1}#home .hero{min-height:335px}.screen:not(#home){max-width:760px;margin:auto}}@media(max-width:560px){.app{padding:20px 18px 110px}.hero{padding:24px 20px;min-height:310px;align-items:flex-start}.hero>div{max-width:75%}.hero h1{font-size:38px}.court-art{width:60%;height:70%;top:auto;bottom:-15px;right:-12%;opacity:.8}.hero .button{margin-top:14px}.card{padding:18px}.player-strip>.pill{display:none}.player-strip strong{font-size:14px}.twocol{gap:10px}.twocol .card{padding:16px}h1{font-size:29px}.hero p{max-width:180px;font-size:13px}}
/* Reference-led compact player dashboard. */
:root{color:#082651;background:#dcecff;font-family:Arial,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.app{max-width:900px;background:linear-gradient(140deg,#fff 10%,#f5faff 65%,#eaf4ff);padding:22px 24px 115px;min-height:100dvh}header{height:100px;justify-content:space-between;margin:0 10px 10px}.school-brand{text-align:center;font-size:12px;font-weight:800;letter-spacing:2px;color:#113b6a}.school-brand img{width:58px;height:58px;display:block;margin:0 auto 5px}.school-brand small{display:block;font-size:8px;margin-top:5px;letter-spacing:1.5px}.icon-button{background:none;border:0;color:#073666;padding:12px;min-height:44px}.ui-icon{width:25px;height:25px;fill:currentColor;vertical-align:middle;flex-shrink:0}.hero.player-strip{display:flex;position:relative;align-items:center;min-height:0;background:none;padding:12px 8px 25px;margin:0;gap:25px;overflow:visible}.avatar{width:175px;height:175px;background:#cfe7ff;border:0;box-shadow:none;position:relative;flex-shrink:0}.avatar .ui-icon{width:105px;height:105px;color:#4e85b6}.avatar small{font-size:12px;display:block;color:#245a87}.hero>div{max-width:none}.hero h1{font-family:Arial,sans-serif;font-size:43px;font-weight:800;letter-spacing:-1.6px;line-height:1.05;margin:0 0 10px}.player-identity{flex:1;min-width:0}.player-identity h1{overflow-wrap:anywhere}.hero p{max-width:none;letter-spacing:4px;font-size:14px;line-height:1.5;margin:8px 0 18px;color:#59799b}.source-badges{display:flex;gap:9px;flex-wrap:wrap}.pill{font-weight:400;font-size:11px;color:#0878cc;background:#e4f4ff;letter-spacing:0;text-transform:none;padding:6px 11px}.pill .ui-icon{width:15px;height:15px;margin-right:5px}.pill.verified{background:#e6f8f5;color:#078580}.hero .handnote{font-family:'Segoe Print','Bradley Hand',cursive;font-size:22px;letter-spacing:0;transform:rotate(-12deg);color:#719aca;line-height:1.4;max-width:145px;margin:0}.card{border:0;background:#fff;border-radius:26px;box-shadow:0 6px 25px #5793c20b;margin:14px 0;padding:20px}.card-heading{display:flex;align-items:center;gap:15px;position:relative}.icon-disc{display:grid;place-items:center;border-radius:50%;width:58px;height:58px;flex-shrink:0;background:#deefff;color:#064681}.icon-disc .ui-icon{height:30px;width:30px}.mint-disc{background:#d5f4eb;color:#007d7c}.kicker{font-size:12px;letter-spacing:2px;color:#486b96;font-weight:500;margin-bottom:8px}.kicker .pill{margin-left:10px;display:inline-block;vertical-align:middle}.goals{gap:14px}.goals .card{position:relative;overflow:hidden;height:250px;padding:18px;background:#fff}.goal-edit{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;text-align:left;color:#09264b;border:0;background:none;padding:12px 0 0 72px;width:100%}.goal-edit h3{font-size:21px;line-height:1.25;font-weight:700;max-width:230px}.goal-edit .ui-icon{width:18px}.goal-art{position:absolute;bottom:0;left:0;width:100%;height:110px;object-fit:cover;object-position:bottom}.challenge-card .goal-art{height:130px;object-position:center;opacity:.45;left:20%;width:90%}.progress-card h2{font-size:19px;margin:0;color:#082651}.range-label{margin-left:auto;font-size:0}.range-label select{font-size:13px;color:#123662;padding:9px;border:1px solid #c4d7ec;border-radius:15px;background:#f6faff}.chart-description{font-size:15px;color:#5c7b9e;margin:8px 0 10px 73px}.line-chart svg{width:100%;height:auto;display:block;overflow:visible}.line-chart text{font-size:12px;fill:#55759b}.line-chart .value{fill:#082651;font-weight:bold}.line-chart .gridline{stroke:#dce8f4;stroke-dasharray:4 4}.trend-line path{stroke:#2ca1ed;stroke-width:3;fill:none}.line-chart circle{fill:#2ca1ed;stroke:#c6e5ff;stroke-width:2}.chart-empty{height:170px;display:grid;place-content:center;line-height:1.8;background:none;color:#6384a8}.latest-card .link{margin-left:auto;white-space:nowrap}.latest-card .link .ui-icon,.team-card .link .ui-icon{width:15px}.latest-card .stats{margin:18px 0 5px}.stats strong{font-size:40px;font-weight:700;color:#082651}.stats>div+div{border-left:1px solid #d5e1ef}.stats span{font-size:13px;letter-spacing:.5px;color:#52739a}.latest-card .muted{text-align:right;margin:6px 0}.team-card{position:relative;background:#fff}.team-card p{font-size:17px;margin:0;line-height:1.4}.team-card>.link{margin-left:73px}.home-actions{display:flex;gap:12px;margin:18px 0}.home-actions button{flex:1}.nav{max-width:900px;border:0;border-radius:30px 30px 0 0;padding:10px 15px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -6px 25px #c6dff82b;background:#ffffffef}.nav button{display:grid;justify-items:center;gap:6px;min-width:70px;color:#6485ac;font-size:15px;font-weight:400;border-radius:0}.nav .ui-icon{width:28px;height:28px}.nav button.active{background:none;color:#00397a;font-weight:500;position:relative}.nav button.active:after{content:'';height:4px;width:48px;border-radius:5px;background:#55afff;position:absolute;bottom:-5px}.empty{background:none}.screen:not(#home){padding-top:15px}@media(min-width:760px){#home.active{display:block}.app{margin:14px auto;border-radius:42px}.nav{max-width:900px}.hero.player-strip{padding-bottom:25px}}@media(max-width:600px){.app{padding:12px 14px 105px}header{height:85px;margin-bottom:5px}.school-brand{font-size:9px;letter-spacing:1px}.school-brand img{width:44px;height:44px}.school-brand small{font-size:7px}.hero.player-strip{gap:14px;padding:10px 5px 20px}.avatar{width:104px;height:104px}.avatar .ui-icon{width:65px;height:65px}.avatar small{font-size:10px}.hero h1{font-size:29px;letter-spacing:-.8px}.hero p{font-size:10px;letter-spacing:2px;margin:5px 0 12px}.hero .handnote{display:none}.source-badges{gap:5px}.source-badges .pill{font-size:10px;padding:5px 8px}.goals{gap:9px}.goals .card{height:210px;padding:12px;border-radius:21px}.card-heading{gap:10px}.icon-disc{height:42px;width:42px}.icon-disc .ui-icon{width:24px;height:24px}.kicker{font-size:9px;letter-spacing:1px;margin-bottom:5px}.goals .pill{font-size:9px;padding:4px 7px}.goal-edit{padding:12px 0 0;gap:3px}.goal-edit h3{font-size:17px;line-height:1.25}.goal-edit .ui-icon{width:12px}.goal-art{height:83px}.card{padding:16px;border-radius:22px;margin:11px 0}.progress-card h2{font-size:15px;max-width:160px}.progress-card .kicker .pill{display:none}.range-label select{font-size:10px;padding:7px;max-width:104px}.chart-description{margin-left:52px;font-size:12px}.latest-card .kicker .pill{display:none}.stats strong{font-size:31px}.stats span{font-size:10px}.team-card p{font-size:14px}.team-card>.link{margin-left:52px}.home-actions button{font-size:12px;padding:12px 8px}.nav button{font-size:12px}.nav .ui-icon{height:25px;width:25px}}
.avatar{position:relative}.avatar .portrait-placeholder{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}.avatar #photoPlaceholder>.ui-icon,.avatar #photoPlaceholder>small{display:none}.team-art{position:absolute;right:0;bottom:0;width:33%;height:100%;object-fit:cover;border-radius:0 25px 25px 0;opacity:.65;pointer-events:none}.team-card .card-heading,.team-card>.link{position:relative;z-index:1}.team-card .card-heading>div{max-width:70%}.challenge-card .goal-art{left:0;width:100%;height:110px;opacity:1;object-fit:cover;object-position:bottom}.goal-card .goal-art{object-fit:cover;object-position:bottom}.goal-edit{z-index:2}.goal-art{pointer-events:none}@media(max-width:600px){.goals .card{height:163px}.goal-art,.challenge-card .goal-art{height:66px}.goal-edit h3{font-size:15px}.goal-edit{padding-top:8px}.chart-empty{height:112px}.progress-card .icon-disc{height:36px;width:36px}.chart-description{margin-left:46px}.progress-card h2{font-size:14px}.latest-card .icon-disc{height:36px;width:36px}.stats strong{font-size:29px}.latest-card .stats{margin-top:10px}.team-card p{font-size:13px}.team-card>.link{font-size:12px;min-height:32px}.team-card{padding:13px 16px}.home-actions{margin:12px 0}.hero.player-strip{padding-bottom:15px}}

.review-warning{color:#89501c;background:#fff4df;border-left:3px solid #d89e47;padding:10px 12px;font-size:13px;line-height:1.6;border-radius:7px}.review-context{color:#426782;background:#eff6fc;padding:9px;font-size:12px}.review-details{margin:12px 0;font-size:13px}.review-details summary{cursor:pointer;padding:9px 0;font-weight:600;min-height:40px}.review-details pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f3f7fb;padding:12px;font-size:11px;max-height:350px;overflow:auto}.import-summary{border-top:1px solid #dbe7f1;padding:15px 0}button:disabled{opacity:.45;cursor:not-allowed}#convertedStatus{font-size:13px;line-height:1.6}
.contribution{margin:15px 0 4px;padding:16px;background:#f1f7fc;border-radius:14px;border:1px solid #e1edf7}.contribution h3{font-size:17px;color:#123c66;margin:3px 0 7px}.contribution p{margin:7px 0;font-size:14px;line-height:1.6}.contribution small{display:block;line-height:1.6}.contribution-watch{color:#72582f}.latest-card .contribution .muted{text-align:left}.team-card .card-heading>div{max-width:70%}.team-card .card-heading p{overflow-wrap:anywhere}@media(max-width:600px){.contribution{padding:13px}.contribution h3{font-size:15px}.contribution p{font-size:12px}.contribution small{font-size:11px}}
