:root{--ink:#252824;--muted:#858982;--paper:#f6f7f3;--orange:#7a8816;--green:#607416;--line:#e8eae3}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px 'Noto Sans SC',-apple-system,BlinkMacSystemFont,sans-serif}button,input,select,textarea{font:inherit}button,a{cursor:pointer}button{border:0;background:none;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #c9d858;outline-offset:3px}a{color:inherit;text-decoration:none}.top{height:82px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 4.5%;gap:45px;position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:800;letter-spacing:-1px}.mark{width:36px;height:36px;background:var(--orange);border-radius:11px;display:grid;place-items:center;color:#fff;font-size:25px;font-style:italic}.brand small{font-size:11px;color:#90948c;display:block;letter-spacing:2px;font-weight:500}.topnav{display:flex;align-self:stretch;gap:30px}.topnav button{border-bottom:3px solid transparent;padding:0 3px;color:#7e827a}.topnav button.active{color:var(--orange);border-color:var(--orange);font-weight:600}.spacer{flex:1}.switch{background:#f4f5f0;border:1px solid var(--line);padding:9px 14px;border-radius:8px;font-size:12px}.avatar{background:#dce6d8;color:#315848;border-radius:50%;height:36px;width:36px;display:grid;place-items:center;font-weight:700}.notice{font-size:11px;color:#8b8e85;background:#f0f1eb;padding:7px 4.5%;display:flex;justify-content:space-between;gap:10px}.notice button{color:#62725f;text-decoration:underline}main{max-width:1320px;margin:auto;padding:30px 42px 70px}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--orange);font-weight:700}.pagehead{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:15px}h1{font-size:28px;margin:7px 0 8px;letter-spacing:-1px}h2{font-size:19px;margin:0 0 16px}h3{font-size:17px;margin:12px 0}p{color:#797e74;line-height:1.85;margin:7px 0}.small{font-size:12px;color:var(--muted)}.primary,.secondary,.danger{padding:11px 19px;border-radius:7px;font-weight:600;font-size:13px;display:inline-block}.primary{background:var(--orange);color:#fff}.primary:hover{background:#68760f}.secondary{background:#fff;border:1px solid var(--line)}.danger{background:#f5f0dc;color:#8e6f36}button:disabled{opacity:.4;cursor:not-allowed}.hero{border-radius:14px;overflow:hidden;min-height:240px;background:#e9eedf;position:relative;display:flex;align-items:center;margin-bottom:28px;padding:33px 38px}.hero-copy{position:relative;z-index:2;max-width:61%}.hero h2{font-size:34px;line-height:1.4;margin:8px 0 12px;letter-spacing:-1px}.hero p{color:#6d7965;margin-bottom:18px}.hero .eyebrow{color:#5e7650}.art{position:absolute;right:-25px;top:0;width:47%;height:100%;overflow:hidden;background:#dce6cd}.track{border:18px solid #baca9f;width:340px;height:480px;border-radius:180px;position:absolute;right:5px;top:-100px;transform:rotate(35deg);box-shadow:0 0 0 3px #e6eddb,0 0 0 22px #c6d5af,0 0 0 25px #e6eddb,0 0 0 44px #d1debe}.runner{position:absolute;right:126px;top:30px;font-size:130px;filter:grayscale(1);transform:rotate(-8deg);opacity:.82}.art-label{position:absolute;bottom:19px;right:35px;letter-spacing:4px;font-size:10px;color:#698056}.dashboard-grid{display:grid;grid-template-columns:1fr 290px;gap:26px}.section-title{display:flex;align-items:center;gap:12px;margin:8px 0 20px}.section-title h2{margin:0}.pill{border-radius:5px;padding:4px 8px;background:#edf2e7;color:#60704d;font-size:10px;white-space:nowrap}.pill.orange{background:#f0f4d8;color:#7b871d}.pill.gray{background:#f0f1ed;color:#868b7f}.filters{display:flex;gap:8px;align-items:center;margin-bottom:22px;flex-wrap:wrap}.chip{padding:8px 15px;color:#777e72;border-radius:6px;font-size:12px;background:#fff;border:1px solid var(--line)}.chip.selected{background:var(--ink);color:#fff;border-color:var(--ink)}.search{margin-left:auto;max-width:190px;padding:9px 12px!important}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.card,.panel{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden}.card:hover{box-shadow:0 5px 18px #26372208}.cover{height:142px;position:relative;padding:20px 24px;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.cover:after{content:'';position:absolute;width:200px;height:200px;border:22px solid #ffffff2b;border-radius:50%;right:-35px;top:-38px;box-shadow:0 0 0 2px #ffffff40,0 0 0 17px #ffffff17}.cover strong{font-size:28px;letter-spacing:-1px;position:relative;z-index:1;font-style:italic;line-height:1.2}.cover span{font-size:11px;letter-spacing:3px;margin-bottom:9px;z-index:1}.cover .tag{position:absolute;right:14px;top:13px;background:#ffffffdd;padding:3px 7px;font-size:9px;letter-spacing:0;color:#52614a;border-radius:4px}.sage{background:#dce6d0;color:#3a573b}.peach{background:#f3dac9;color:#8e553c}.blue{background:#d8e5eb;color:#3c6475}.gold{background:#f0e6c4;color:#807046}.card-body{padding:18px 20px}.card-body h3{margin:9px 0;font-size:16px}.meta{display:flex;gap:8px;flex-wrap:wrap;font-size:11px;color:#8b9086}.card-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #f0f1ed;margin-top:16px;padding-top:14px}.points{color:var(--orange);font-size:21px;font-weight:700}.points small{font-size:10px;font-weight:400}.text-btn{font-size:12px;color:var(--orange);font-weight:600}.panel{padding:22px;margin-bottom:20px}.profile{background:#fff}.profile-top{display:flex;align-items:center;gap:12px}.profile-top .avatar{height:47px;width:47px;font-size:20px}.profile strong{font-size:16px}.profile .level{background:#f3e9d6;color:#a57b35;font-size:10px;border-radius:4px;padding:3px 6px}.balance{display:flex;justify-content:space-between;margin:24px 0}.balance b{font-size:26px;display:block}.balance span{font-size:11px;color:#8b9086}.progress{height:5px;background:#edf0e6;border-radius:5px;margin:10px 0;overflow:hidden}.progress>i{display:block;height:100%;background:#6a8558;border-radius:5px}.todo{padding:13px 0;border-bottom:1px solid #f0f1ed;display:flex;gap:12px;align-items:center}.todo:last-child{border:0}.dot{height:7px;width:7px;border-radius:50%;background:var(--orange);flex-shrink:0}.todo p{font-size:12px;line-height:1.6;color:#626b5b}.aside-note{padding:23px;background:#edf0e5;border-radius:10px}.aside-note p{font-size:12px}.statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:24px 0}.stat{padding:22px;background:#fff;border:1px solid var(--line);border-radius:10px}.stat b{display:block;font-size:30px;margin:10px 0}.stat small{color:#6b8954;font-size:11px}.adminlayout{display:grid;grid-template-columns:200px 1fr;max-width:1500px;min-height:calc(100vh - 110px);margin:auto}.sidebar{padding:28px 18px;border-right:1px solid var(--line);background:#fff}.sidebar button{display:block;padding:13px 18px;margin:4px 0;width:100%;text-align:left;border-radius:7px;color:#747c6b;font-size:13px}.sidebar button.active{background:#f0f4d8;color:var(--orange);font-weight:600}.admin-main{padding:32px;min-width:0}.tablewrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}.table th{background:#f6f7f3;color:#929889;font-weight:500;text-align:left;padding:14px}.table td{padding:18px 14px;border-bottom:1px solid var(--line)}.table td strong{display:block;font-size:13px}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions button{font-size:12px;color:var(--orange);padding:6px}.empty{text-align:center;padding:50px 15px;color:#8b9282}.split{display:grid;grid-template-columns:1.5fr 1fr;gap:22px}.detail-hero{height:205px;border-radius:12px;margin:18px 0 24px}.detail-hero strong{font-size:48px}.requirements{list-style:none;padding:0;counter-reset:r}.requirements li{padding:14px 0;border-bottom:1px solid var(--line);line-height:1.9;color:#626a5b;counter-increment:r}.requirements li:before{content:'0' counter(r);color:#9aa88b;margin-right:16px;font-size:12px}.reward-box{background:#f6f8f0;border-radius:8px;padding:20px;margin:15px 0}.reward-box b{font-size:32px;color:var(--orange)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:block;margin-bottom:15px;font-size:12px;font-weight:500}.field input,.field textarea,.field select,input.search{display:block;width:100%;border:1px solid #dfe4d8;border-radius:6px;padding:11px 12px;background:#fff;margin-top:7px;color:#3e4636;outline:none}.field input:focus,.field textarea:focus{border-color:#92aa7d}.field textarea{min-height:90px;resize:vertical}.full{grid-column:1/-1}.platform-row{display:grid;grid-template-columns:110px 1fr 1fr 35px;gap:8px;margin-bottom:12px}.platform-row input,.platform-row select{min-width:0;padding:10px;border:1px solid var(--line);border-radius:6px}.modal-backdrop{position:fixed;inset:0;background:#1d281b6b;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(3px)}.modal{background:#fff;border-radius:14px;padding:28px;width:600px;max-width:100%;max-height:90vh;overflow:auto}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.modal-head h2{margin:0}.modal-head button{font-size:23px;color:#8c9383}.modal .primary{width:100%;margin-top:8px}#toast{position:fixed;bottom:32px;left:50%;transform:translateX(-50%);background:#293c2d;color:#fff;padding:13px 23px;border-radius:8px;z-index:200;display:none;box-shadow:0 7px 30px #0002;font-size:13px}.message{padding:17px 0;border-bottom:1px solid var(--line)}.message p{font-size:13px}.footer{text-align:center;color:#a6ad9d;font-size:10px;padding:20px;letter-spacing:1px}.step{display:inline-flex;padding:9px 15px;background:#f2f4ec;border-radius:6px;color:#718263;margin:4px}.rule-row{padding:16px 0;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.metric-chart{display:flex;height:140px;align-items:end;gap:12px;margin-top:24px}.metric-chart div{flex:1;border-radius:5px 5px 0 0;background:#cddcbf;position:relative;min-width:20px}.metric-chart div:last-child{background:#bdca29}.metric-chart span{position:absolute;bottom:-25px;font-size:10px;color:#919986;width:100%;text-align:center}.mobile-nav{display:none}.link-back{font-size:12px;color:#7f8b73;margin-bottom:10px;display:inline-block}.info{background:#f6f8f0;border:1px solid #e5eadb;padding:13px 16px;border-radius:7px;color:#76826b;font-size:12px;line-height:1.8}.badge-count{font-size:10px;background:var(--orange);color:#fff;border-radius:10px;padding:1px 5px;margin-left:5px}@media(min-width:1500px){main{padding-top:36px}.hero{min-height:270px}.cover{height:160px}}@media(max-width:1000px){.top{gap:22px;padding:0 25px}.topnav{gap:18px}.dashboard-grid{grid-template-columns:1fr 245px}.hero h2{font-size:28px}.hero{padding:25px}main{padding:25px}.adminlayout{grid-template-columns:160px 1fr}.admin-main{padding:24px}.sidebar{padding:20px 8px}.statgrid{gap:10px}.stat{padding:16px}.split{grid-template-columns:1fr}}@media(max-width:760px){.top{height:66px;padding:0 18px;gap:12px}.brand{font-size:19px}.brand small{font-size:8px}.mark{width:31px;height:31px}.topnav{display:none}.top .avatar{display:none}.switch{font-size:10px;padding:8px}.notice{padding:7px 18px;font-size:9px}.notice span{max-width:80%}main{padding:23px 17px 85px}.pagehead h1{font-size:23px}.pagehead p{font-size:11px}.pagehead .small{display:none}.hero{min-height:235px;padding:23px;margin-bottom:24px}.hero-copy{max-width:78%}.hero h2{font-size:27px}.hero p{font-size:11px;max-width:200px}.art{width:38%;opacity:.55}.runner{font-size:100px;right:10px;top:60px}.art-label{display:none}.dashboard-grid{display:block}.dashboard-grid>aside{margin-top:25px}.cards{gap:13px}.cover{height:125px;padding:14px}.cover strong{font-size:21px}.cover span{font-size:8px;letter-spacing:1px}.cover .tag{font-size:8px;right:8px;top:8px}.card-body{padding:13px}.card-body h3{font-size:13px;line-height:1.6}.meta{font-size:9px;gap:5px}.card-foot{margin-top:12px;padding-top:10px;gap:4px}.points{font-size:18px}.text-btn{font-size:10px}.chip{padding:7px 10px;font-size:11px}.search{max-width:100%;width:100%;margin-left:0;flex:1}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:63px;padding-bottom:env(safe-area-inset-bottom);background:#fffffff5;border-top:1px solid var(--line);z-index:20;justify-content:space-around;backdrop-filter:blur(10px)}.mobile-nav button{font-size:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#89917e}.mobile-nav button span{font-size:18px}.mobile-nav button.active{color:var(--orange)}.adminlayout{display:block}.sidebar{display:flex;overflow:auto;padding:8px;position:sticky;top:66px;z-index:9;border-bottom:1px solid var(--line)}.sidebar button{width:auto;white-space:nowrap;padding:8px 12px;font-size:11px}.sidebar .small{display:none}.admin-main{padding:23px 16px 85px}.statgrid{grid-template-columns:1fr 1fr;gap:10px}.stat b{font-size:25px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.platform-row{grid-template-columns:90px 1fr 30px}.platform-row input[type=url]{grid-column:1/3}.platform-row button{grid-column:3;grid-row:1/3}.modal{padding:22px}.detail-hero strong{font-size:36px}.detail-hero{height:165px}.panel{padding:19px}.split{gap:0}.hero .primary{padding:9px 13px}.footer{padding-bottom:75px}.table td,.table th{padding:13px 10px}}
@media(max-width:760px){.hero-copy{max-width:100%}.hero h2{font-size:24px;line-height:1.5;letter-spacing:-1px}.hero{min-height:260px}.art{opacity:.3}.brand{flex-shrink:0}.brand small{letter-spacing:1px;white-space:nowrap}.top .switch{white-space:nowrap;font-size:9px;padding:8px}.top{gap:7px}.search{flex-basis:100%;margin-top:3px}.card-body .pill{max-width:100%;white-space:normal;line-height:1.5}.card-body .meta{overflow-wrap:anywhere}.card-foot{align-items:center;flex-wrap:wrap}.cover strong{font-size:20px}}

.brand-logo{width:47px;height:47px;object-fit:contain;flex-shrink:0}.brand-separator{color:#9aa33e}.brand{font-size:22px;letter-spacing:0}.primary{background:#bed027;color:#283313}.primary:hover{background:#aebf1c}.text-btn{color:#768512}.hero{background:#edf1dc}.hero .eyebrow{color:#7d8a29}.art{background:#e2eac4}.track{border-color:#c4d090}.cover.sage{background:#e2e9c7;color:#4f611d}.level{background:#eef1d5!important;color:#7b881a!important}@media(max-width:760px){.brand{font-size:16px;gap:5px}.brand-logo{width:34px;height:34px}.brand small{font-size:7px;letter-spacing:.4px}.top .switch{font-size:8px;padding:7px}.top{gap:5px;padding:0 13px}}
.platform-picker,.submission-platform{min-width:0;border:1px solid var(--line);border-radius:8px;margin:8px 0 18px;padding:15px}.platform-picker legend,.submission-platform legend{font-size:12px;font-weight:600;padding:0 6px}.platform-options{display:flex;flex-wrap:wrap;gap:12px 20px}.platform-options label{display:flex;gap:6px;align-items:center;font-size:13px;cursor:pointer}.platform-options input,.field input[type=checkbox]{width:auto;display:inline-block;accent-color:#7a8816}.work-link{margin-top:10px;overflow-wrap:anywhere}.rule-row b{max-width:65%;text-align:right}.platform-picker{margin:0 0 5px}.submission-platform .field:last-of-type{margin-bottom:0}
.expanded-row>td{padding:0!important;white-space:normal!important}.participant-section{padding:25px;background:#f8faf3;border-left:3px solid #b6c932}.participant-section .table{background:#fff}.roster-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:16px 0}.list-control,.list-search{font-size:11px;color:#78836a;display:flex;flex-direction:column;gap:6px}.list-control select,.list-search input,.pagination select{padding:8px 10px;border:1px solid #dfe5d5;border-radius:6px;background:white;color:#36442a;font:inherit;min-width:100px}.list-search input{width:180px}.pagination{display:flex;gap:18px;align-items:center;justify-content:space-between;font-size:12px;color:#76816a;margin-top:18px;flex-wrap:wrap}.pagination .actions{flex-wrap:nowrap}.pagination .secondary{font-size:11px;padding:7px 12px}.completion-summary{display:flex;gap:10px;flex-wrap:wrap}.completion-summary button{background:white;border:1px solid #e1e7d6;padding:9px 12px;border-radius:6px;font-size:12px}.completion-summary b{margin-left:7px;color:#7c8b19}.group-header td{background:#eaf0db;font-weight:600;color:#657427;padding:9px 14px!important}.participant-section .section-title{flex-wrap:wrap}.participant-section .table td{white-space:nowrap}.expanded-row .tablewrap{max-width:100%}@media(max-width:760px){.participant-section{padding:16px}.roster-filters{gap:9px}.list-control{flex:1;min-width:110px}.list-search{flex-basis:100%}.list-search input{width:100%}.pagination{gap:10px}}
.page-jump{width:60px;border:1px solid #dfe5d5;border-radius:5px;padding:7px;background:#fff;color:#36442a}
.image-upload-field{margin-top:16px}.upload-required{color:#a66b48}.upload-control{display:block;position:relative;width:112px;height:112px;margin-top:11px;cursor:pointer;-webkit-tap-highlight-color:transparent}.upload-control input[type=file]{position:absolute;inset:0;margin:0;padding:0;width:100%;height:100%;opacity:0;z-index:2;cursor:pointer;border:0}.upload-card{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#f6f8ef;border:1px dashed #cbd6ad;border-radius:12px;overflow:hidden;position:relative;color:#7d8a53;transition:background .15s,border-color .15s}.upload-control:hover .upload-card{background:#eef3df;border-color:#9aa85d}.upload-control input:focus-visible+.upload-card{outline:3px solid #c9d858;outline-offset:3px}.upload-plus{font-size:31px;font-weight:400;line-height:1}.upload-action{font-size:12px;font-weight:500}.upload-caption{display:block;font-size:11px;color:#7b856f;margin-top:9px;line-height:1.7;overflow-wrap:anywhere;font-weight:400}.upload-demo-note{display:block;font-size:10px;color:#a0a794;margin-top:3px;line-height:1.6;font-weight:400}.upload-card img{width:100%;height:100%;object-fit:cover}.upload-change{position:absolute;bottom:0;left:0;right:0;text-align:center;padding:6px;background:#233314aa;color:white;font-size:11px}.upload-preview-fallback{display:none;font-size:28px}.preview-unavailable .upload-preview-fallback{display:block}.image-upload-field .upload-card.has-preview{border-style:solid;border-color:#a7b55d}@media(max-width:760px){.upload-control{width:104px;height:104px}.upload-card{border-radius:10px}.upload-action{font-size:12px}.modal{padding-bottom:calc(22px + env(safe-area-inset-bottom))}}
.draft-notice{font-size:11px;line-height:1.7;background:#f2f6e7;color:#778554;border-radius:6px;padding:8px 11px;margin-bottom:14px}
.upload-grid{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start;margin-top:11px}.upload-grid .upload-control{margin-top:0}.upload-thumbnails{display:contents}.upload-thumb{width:112px;height:112px;position:relative;border:1px solid #cbd6ad;border-radius:12px;background:#f0f4e5;overflow:hidden;display:flex;align-items:center;justify-content:center}.upload-thumb img{width:100%;height:100%;object-fit:cover}.remove-upload{position:absolute;top:4px;right:4px;z-index:3;background:#223516c9;color:#fff;width:26px;height:26px;border-radius:50%;font-size:20px;line-height:24px;display:grid;place-items:center;padding:0}.upload-thumb-name{position:absolute;bottom:0;left:0;right:0;background:#233314aa;color:#fff;font-size:10px;line-height:1.6;padding:4px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:400}.retained-image{font-size:12px;color:#809052}@media(max-width:760px){.upload-thumb{width:104px;height:104px;border-radius:10px}.remove-upload{width:28px;height:28px}}
