:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#203e34;background:#f3f5f0;line-height:1.5}*{box-sizing:border-box}body{margin:0}header{background:#173f34;color:white;padding:24px max(5%,calc((100vw - 1200px)/2));display:flex;justify-content:space-between;align-items:center;gap:20px}header span{color:#bad0c4;font-size:.9rem}.brand{font-size:1.4rem;font-weight:750;color:white;text-decoration:none}main{max-width:1200px;margin:30px auto;padding:0 22px;min-height:70vh}h1{font-size:clamp(1.9rem,4vw,2.7rem);letter-spacing:-.04em;margin:28px 0 12px}h2{margin:8px 0;font-size:1.4rem}a{color:#146c54}nav{display:flex;align-items:center;gap:20px;flex-wrap:wrap;border-bottom:1px solid #d7dfd5;padding-bottom:18px}nav a{font-weight:600;text-decoration:none}nav form{margin-left:auto}nav button{font-size:.85rem;padding:7px 12px}button,.button{background:#176b52;color:white;border:0;border-radius:9px;padding:11px 17px;text-decoration:none;display:inline-block;font:inherit;font-weight:650;cursor:pointer}button:hover,.button:hover{background:#104d3c}button.secondary{background:#e6ece5;color:#264438}.danger{background:#9d3636}.panel{background:#fff;border:1px solid #dce3d8;border-radius:16px;padding:22px;margin:20px 0;box-shadow:0 3px 12px #203e3405}.narrow{max-width:500px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.grid .panel{margin:0}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}label{display:block;font-weight:600;font-size:.9rem;margin:10px 0}input,select,textarea{display:block;width:100%;border:1px solid #becdc3;border-radius:8px;background:white;padding:11px;color:#203e34;font:inherit;margin-top:6px}textarea{min-height:100px}input:focus,select:focus,textarea:focus,button:focus,a:focus{outline:3px solid #81b6a1;outline-offset:2px}.check{display:flex;align-items:center;gap:9px}.check input{width:auto;margin:0}.inline{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.inline input{width:auto;flex:1;min-width:180px}.intro{display:flex;align-items:center;justify-content:space-between;gap:20px}.filters{display:flex;align-items:end;gap:14px;flex-wrap:wrap}.filters label{flex:1;min-width:150px}.filters .check{min-width:160px;flex:0;padding-bottom:10px}.filters button{margin-bottom:10px}.numbers{font-weight:750;font-size:1.15rem;letter-spacing:.04em;color:#176b52}.badge{font-size:.8rem;background:#e8efe5;padding:5px 10px;border-radius:20px}.disc-card img,.disc-placeholder{width:100%;height:200px;object-fit:contain;background:#eff3ed;border-radius:10px}.disc-placeholder{display:grid;place-items:center;font-size:120px;color:#97b7a2}.detail-photo{display:block;max-width:320px;max-height:320px;object-fit:contain}.error{color:#a33434}.chart-layout{display:grid;grid-template-columns:1fr 2fr;gap:24px}canvas{max-width:100%;height:auto}summary{font-weight:700;cursor:pointer}details form{margin-top:20px}small{color:#65766b}footer{text-align:center;padding:30px;color:#718074;font-size:.85rem}@media(max-width:650px){header{align-items:start;flex-direction:column;gap:5px}.intro{align-items:start;flex-direction:column}.chart-layout{grid-template-columns:1fr}nav{gap:13px}nav form{margin-left:0}.panel{padding:17px}}
#photo-preview{max-width:500px;background-color:#fff;background-image:linear-gradient(45deg,#dce5dd 25%,transparent 25%),linear-gradient(-45deg,#dce5dd 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#dce5dd 75%),linear-gradient(-45deg,transparent 75%,#dce5dd 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}#photo-tools[hidden]{display:none}

.chart-color-0{color:#087f72}.chart-color-1{color:#d75c31}.chart-color-2{color:#4c61b7}.chart-color-3{color:#a74086}.chart-color-4{color:#7d7019}.chart-color-5{color:#38525e}
.crop-panel{border-bottom:1px solid #dce3d8;padding-bottom:22px;margin-bottom:22px}#crop-preview{display:block;width:min(100%,420px);height:auto;background:#eef2ed;border:2px solid #176b52;border-radius:10px}.crop-panel input[type=range]{padding:10px 0;min-height:42px}button:disabled{opacity:.55;cursor:wait}
/* Light gray and black interface */
:root{color:#171717;background:#f1f1f1}header{background:#181818;color:#fff}header span{color:#d0d0d0}.brand{color:#fff}a{color:#171717}nav{border-color:#ccc}.panel{background:#fafafa;border-color:#d2d2d2;box-shadow:0 3px 12px #00000004}button,.button{background:#202020;color:#fff}button:hover,.button:hover{background:#454545}button.secondary{background:#e1e1e1;color:#151515}input,select,textarea{color:#171717;background:#fff;border-color:#aaa}input:focus,select:focus,textarea:focus,button:focus,a:focus{outline-color:#777}.numbers{color:#171717}.badge{background:#e4e4e4;color:#222}.disc-card img,.disc-placeholder{background:#e8e8e8}.disc-placeholder{color:#999}small,footer{color:#606060}.error{color:#8a2020}.danger{background:#702a2a}.crop-panel{border-color:#ccc}#crop-preview{background:#e7e7e7;border-color:#333}#photo-preview{background-image:linear-gradient(45deg,#ddd 25%,transparent 25%),linear-gradient(-45deg,#ddd 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ddd 75%),linear-gradient(-45deg,transparent 75%,#ddd 75%)}
[hidden]{display:none!important}.header-sort{background:transparent;color:#111;padding:0;font-size:inherit;text-align:left;border-radius:0}.header-sort:hover{background:transparent;color:#555}.sort-priority{font-weight:800}#bulk-form select{width:auto;max-width:220px}#bulk-form{align-items:center}.bag-picks{max-height:550px;overflow:auto}.bag-pick{padding:10px;border-bottom:1px solid #ddd;display:flex;gap:12px;align-items:start}.bag-pick input{width:auto}.bag-pick small{display:block}.metrics{display:flex;flex-wrap:wrap;gap:12px}.metric{padding:12px;background:#e6e6e6;border-radius:8px}.print-only{display:none}@media print{header,nav,footer,.no-print{display:none!important}main{margin:0;padding:0}.panel{box-shadow:none;border:0}.print-only{display:block}}
/* v0.6: bold blue/red disc-golf identity, compact and accessible. */
:root{color:#17283c;background:#f2f6fb;--navy:#102a4c;--blue:#176ac1;--red:#e54c5a;--line:#cfdaea;--muted:#566980}
body{background:linear-gradient(180deg,#e9f2fc 0,#f5f8fc 260px,#f2f6fb 100%)}
header{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(110deg,#102a4c 0%,#174e88 68%,#0d3766 100%);border-bottom:5px solid var(--red);padding-top:26px;padding-bottom:26px}
header::after{content:"";position:absolute;right:9%;top:-75px;width:230px;height:230px;border:21px solid #ffffff1c;border-radius:50%;box-shadow:0 0 0 20px #ffffff0b,0 0 0 44px #ffffff08;z-index:-1}
header::before{content:"";position:absolute;right:7%;bottom:-33px;width:215px;height:180px;background:url('basket-mark.svg') center/contain no-repeat;opacity:.23;z-index:-1}
header span{color:#dbeaff;font-weight:750;letter-spacing:.12em;font-size:.73rem}
.brand{font-weight:850;letter-spacing:-.035em;font-size:1.55rem;color:white}
main{margin-top:22px}h1{color:var(--navy);font-size:clamp(1.8rem,4vw,2.5rem)}h2,h3{color:var(--navy)}a{color:#115ca7}a:hover{text-decoration-color:var(--red)}
nav{background:white;border:1px solid var(--line);border-radius:14px;padding:8px 12px;gap:3px;box-shadow:0 4px 15px #123f7010}
nav a{padding:8px 10px;border-radius:8px;color:var(--navy);font-size:.9rem}nav a:hover{background:#e8f2ff;color:#1258a4;text-decoration:none}nav form{margin-left:auto}nav button{padding:7px 12px}
button,.button{background:var(--blue);color:white;box-shadow:0 2px 0 #0e4a8a1c}button:hover,.button:hover{background:#104e90;color:white}button.secondary,.button.secondary{background:#e7effa;color:#18466e}.danger{background:#b92d43}
.panel{background:white;border:1px solid var(--line);box-shadow:0 7px 24px #142c4c0a;border-radius:15px}
input,select,textarea{border-color:#b5c6dc;color:#17283c;background:white}input:focus,select:focus,textarea:focus,button:focus,a:focus{outline-color:#ee7580}
.numbers{color:var(--blue)}.badge,.metric{background:#e7effa;color:#164676}.metric{border-left:3px solid var(--blue);font-weight:650}
.disc-card img,.disc-placeholder{background:#eff5fc}.disc-placeholder{color:#799dc7}small,footer,.hint{color:var(--muted)}
.header-sort{color:#17283c}.header-sort:hover{color:var(--blue)}.bag-pick{border-bottom-color:#dce7f4;padding:8px 10px}.bag-pick:hover{background:#f3f8ff}.bag-pick input{accent-color:var(--blue)}
.page-lead{max-width:760px;color:var(--muted);font-size:1.06rem}.profile-panel{border-top:5px solid var(--blue)}.notice-success{border-left:4px solid #168263;background:#eaf7f1;padding:12px 16px;border-radius:8px}
.analysis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:13px;margin:20px 0}.insight-card{border:1px solid #cadaee;background:#f5f9fe;border-radius:12px;padding:13px 17px}.insight-card h3{margin:3px 0 9px}.insight-card p{margin:8px 0}
@media(max-width:650px){header{padding:19px 20px}header::after{right:-100px}header::before{right:-65px;opacity:.16}nav{gap:2px}nav a{padding:8px 9px}nav form{margin-left:0}.analysis-grid{grid-template-columns:1fr}}
@media print{body{background:white}header::after{display:none}}
/* Add/Edit layout update */
form[enctype] fieldset{border:1px solid var(--line);border-radius:12px;margin:18px 0;padding:12px 16px}form[enctype] fieldset .check{display:flex;align-items:center;gap:9px;margin:9px 0}form[enctype] legend{font-weight:700;color:var(--navy);padding:0 5px}form[enctype] details summary{cursor:pointer;font-weight:700;color:var(--blue)}form[enctype] details .fields{margin-top:16px}form[enctype]>.button{margin-left:12px}[hidden]{display:none!important}
/* v0.6.4 scene and compact navigation */
header{background:#153f67 url('header-scene.svg') right center/auto 100% no-repeat;min-height:118px;padding-top:22px;padding-bottom:22px}header::before{content:"";position:absolute;inset:0;width:auto;height:auto;background:linear-gradient(90deg,#102c50 0%,#102c50eb 30%,#102c5000 65%);opacity:1;z-index:-1}header::after{display:none}header .brand,header>span{position:relative;text-shadow:0 1px 4px #132f4b}.data-tools{position:relative}.data-tools summary{padding:8px 10px;list-style:none;border-radius:6px;cursor:pointer}.data-tools summary::after{content:' ▾'}.data-tools>div{position:absolute;z-index:20;top:100%;left:0;min-width:150px;background:white;border:1px solid #c6d7e6;border-radius:8px;box-shadow:0 5px 16px #102c5026;padding:5px}.data-tools a{display:block;white-space:nowrap}.data-tools[open] summary{background:#e3edf6}.entry-flags{padding:6px}.entry-description[open] p{overflow:visible;max-height:none}
@media(max-width:650px){header{min-height:105px;background-position:75% center}header::before{right:0;bottom:0;opacity:1}header .brand{font-size:1.35rem}.data-tools summary{padding:8px 9px}}
/* v0.6.5.1: shorter header, full image, black left-side fade baked into asset. */
header{display:block;padding:0;min-height:0;background:#000;border-bottom:4px solid var(--red)}
header .header-banner{display:block;width:100%;height:160px;min-height:0;max-height:none;object-fit:contain;object-position:right center}
header::before,header::after{content:none;display:none}
header .brand{position:absolute;left:4%;top:45%;bottom:auto;transform:translateY(-50%);z-index:1;max-width:43%;font-size:clamp(1.05rem,2.1vw,1.7rem);line-height:1.08;color:#fff;text-shadow:0 1px 4px #000}
header>span{position:absolute;left:4%;top:65%;bottom:auto;z-index:1;max-width:45%;font-size:.67rem;line-height:1.2;color:#e5e5e5;letter-spacing:.1em;text-shadow:0 1px 3px #000}
@media(max-width:650px){header{padding:0;min-height:0}header .header-banner{height:112px;min-height:0;object-fit:contain;object-position:right center}header .brand{left:4%;font-size:1.05rem}header>span{left:4%;font-size:.58rem;letter-spacing:.05em}}

/* v0.6.6: prominent Disc Roster branding in the black banner area. */
header .brand{font-size:clamp(2.3rem,5.2vw,4.6rem);max-width:51%;top:41%;line-height:1;letter-spacing:-.04em}
header>span{top:70%;max-width:48%;font-size:clamp(.75rem,1.25vw,1.05rem);letter-spacing:0;line-height:1.35;color:#fff}
@media(max-width:650px){header .brand{font-size:clamp(1.65rem,6vw,2.4rem);max-width:54%;top:36%}header>span{top:59%;max-width:48%;font-size:clamp(.65rem,2.1vw,.85rem)}}
