*{box-sizing:border-box} :root{--orange:#f15a24;--bg:#141414;--panel:#242424;--muted:#a6a6a6}body{margin:0;background:#090909;color:#f8f7f4;font-family:Arial,Helvetica,sans-serif;display:flex;align-items:center;justify-content:center;gap:110px;min-height:100vh;padding:35px}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid white;outline-offset:3px}.studio{width:360px}.eyebrow,.kicker{font-size:10px;letter-spacing:2.5px;font-weight:800;color:var(--orange)}h1{font-size:76px;letter-spacing:-5px;line-height:.98;margin:32px 0}p{line-height:1.6}.studio p{color:#999;font-size:19px}.swatch{height:5px;width:48px;background:var(--orange);margin:45px 0 18px}small{font-size:10px;line-height:1.8;letter-spacing:1px;color:var(--muted)}.preview-links{display:flex;gap:10px;margin:35px 0}.preview-links button{background:none;color:#ddd;border:1px solid #383838;padding:10px 13px;border-radius:6px;font-size:11px}.prototype-label{color:#696969;font-size:11px;line-height:1.8}.phone{position:relative;width:402px;height:850px;background:var(--bg);border:7px solid #303030;border-radius:47px;box-shadow:0 30px 100px #000;overflow:hidden}.status{height:36px;padding:12px 24px 0;display:flex;justify-content:space-between;font-size:11px;position:absolute;z-index:5;top:0;left:0;right:0;pointer-events:none;text-shadow:0 1px 5px #000}main{height:100%;overflow:auto;scrollbar-width:none;padding-bottom:110px}header.brand{padding:42px 30px 12px;background:#191919}header.brand img{width:100%;display:block}.content{padding:22px}.title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}h2{font-size:32px;letter-spacing:-1px;margin:6px 0}h3{font-size:19px;margin:0 0 10px}.sub{color:var(--muted);font-size:12px;margin:6px 0}.live{font-size:9px;color:#b9dfb5;border:1px solid #3e513b;padding:6px 8px;border-radius:20px;letter-spacing:1px;white-space:nowrap}.live:before{content:'●';margin-right:5px;color:#8ec387}.hero{height:285px;position:relative;background:url('assets/home-header.webp') center top/cover}.hero:after{content:'';position:absolute;inset:70% 0 0;background:linear-gradient(transparent,#141414)}.hero-label{position:absolute;bottom:8px;left:22px;z-index:1}.hero-label span{font-size:10px;letter-spacing:2px;color:#fff}.hero-label h2{font-size:24px;margin:7px 0}.pool{background:var(--orange);border-radius:19px;padding:21px;position:relative;overflow:hidden}.pool:after{content:'↗';position:absolute;right:10px;top:0;font-size:150px;opacity:.1}.pool .kicker{color:#341609}.amount{font-size:52px;font-weight:900;letter-spacing:-2px;margin:10px 0 3px}.pool .sub{color:#482014}.pool button{background:#171717;color:white;width:100%;border:0;border-radius:10px;padding:14px;margin-top:15px;font-weight:bold}.section-title{display:flex;align-items:center;justify-content:space-between;margin:26px 0 15px}.section-title h3{margin:0}.text-btn{background:none;color:var(--orange);border:0;font-size:11px;padding:0}.catch{background:#222;border:1px solid #333;border-radius:14px;margin-bottom:12px;overflow:hidden}.catch-art{height:125px;background:linear-gradient(150deg,#203b38,#101c1d);display:flex;align-items:center;justify-content:center;position:relative}.catch-art svg{width:150px;height:80px;opacity:.65}.catch-art .cm{position:absolute;right:12px;bottom:12px;background:var(--orange);color:white;padding:7px 10px;border-radius:6px;font-size:13px;font-weight:bold}.catch-info{padding:13px;display:flex;gap:10px;align-items:center}.avatar{width:34px;height:34px;border-radius:50%;background:#3e4740;color:#dfe6d4;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:bold;flex-shrink:0}.catch-info b{font-size:12px}.catch-info small{font-size:10px;letter-spacing:0}.catch-info .time{margin-left:auto;color:#777;font-size:10px}.chips{display:flex;gap:8px;overflow:auto;margin:0 -22px 20px;padding:0 22px 5px;scrollbar-width:none}.chips button{border:1px solid #3b3b3b;color:#aaa;background:#222;padding:11px 14px;border-radius:22px;font-size:11px;white-space:nowrap}.chips button.active{background:var(--orange);border-color:var(--orange);color:white}.segment{display:flex;gap:5px;background:#252525;border:1px solid #333;border-radius:11px;padding:4px;margin:18px 0}.segment button{flex:1;background:none;color:#999;border:0;border-radius:8px;padding:11px;font-weight:bold;font-size:12px}.segment button.active{background:var(--orange);color:white}.leader{display:flex;align-items:center;gap:13px;padding:17px 12px;border-bottom:1px solid #303030}.leader.winner{background:var(--orange);border-radius:13px;padding:23px 13px;margin:20px 0 5px;border:0}.rank{width:18px;color:#888;font-size:12px}.winner .rank{font-size:32px;font-weight:900;color:white;width:22px}.leader .who{flex:1;font-size:12px;font-weight:bold}.leader .who small{display:block;font-weight:normal;font-size:10px;letter-spacing:0}.winner small{color:#ffe0d4}.score{font-weight:900;font-size:17px}.score span{font-size:9px;color:#aaa;margin-left:3px}.winner .score span{color:#ffded2}.note{color:#888;font-size:10px;line-height:1.6}.form-card{background:#252525;border:1px solid #3b3b3b;border-radius:20px;padding:20px;margin-top:20px}.form-card h3{font-size:23px}.form-card p{font-size:12px;color:#bbb}.photo-actions{display:flex;gap:8px;margin:18px 0}.secondary{background:#333;color:white;border:1px solid #505050;border-radius:11px;padding:14px;font-size:12px;font-weight:bold;flex:1}.field{display:block;font-size:10px;color:#bcbcbc;letter-spacing:1px;margin:18px 0 8px;font-weight:bold}input,select{background:#171717;color:white;border:1px solid #4b4b4b;border-radius:10px;padding:16px 13px;width:100%;font-size:14px;outline:none}input:focus,select:focus{border-color:var(--orange)}.primary{background:var(--orange);color:#fff;border:0;border-radius:11px;padding:16px;width:100%;font-weight:bold;font-size:12px;margin-top:15px}.photo-preview{width:100%;max-height:170px;object-fit:cover;border-radius:10px}.empty-photo{border:1px dashed #4b4b4b;border-radius:12px;padding:24px;text-align:center;color:#888;font-size:11px}.profile{display:flex;gap:15px;align-items:center;margin:15px 0 24px}.profile .avatar{width:66px;height:66px;font-size:22px;border:2px solid var(--orange);background:#343a30;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.stats{display:flex;background:#242424;border:1px solid #333;border-radius:15px;padding:20px 0}.stats div{flex:1;text-align:center;border-right:1px solid #444}.stats div:last-child{border:0}.stats b{font-size:22px}.stats small{display:block;letter-spacing:0;font-size:10px}.account-settings{margin-top:20px}.account-settings summary{font-size:12px;cursor:pointer;color:#bbb}nav{position:absolute;z-index:10;bottom:18px;left:13px;right:13px;display:flex;background:linear-gradient(#292929,#202020);border:1px solid #414141;border-radius:40px;height:71px;box-shadow:0 10px 25px #0008;padding:6px}nav button{position:relative;flex:1;border:0;color:#929292;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:8px;border-radius:30px}nav button.active{background:#333;color:var(--orange);box-shadow:0 -2px 0 var(--orange),0 4px 10px #0005;transform:translateY(-4px)}nav button.active:after{content:'';height:3px;width:13px;background:var(--orange);border-radius:3px;position:absolute;bottom:5px}svg.icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}#toast{position:absolute;z-index:20;bottom:105px;left:20px;right:20px;background:#eee;color:#171717;border-radius:12px;padding:15px;font-size:12px;box-shadow:0 10px 30px #0008;display:none}.login{height:100%;min-height:780px;position:relative;background:url('assets/startup.webp') center/cover;padding:0 25px 30px}.login-art{width:calc(100% + 50px);height:340px;object-fit:cover;object-position:top;margin:0 -25px;animation:reveal 1.5s ease both}.auth{background:#1c1c1cf5;padding:20px;border:1px solid #444;border-radius:17px;box-shadow:0 15px 40px #0005;animation:slide 1s .5s both}.auth .segment{margin-top:0}.auth input{padding:13px}.auth .field{margin-top:12px}.auth p{text-align:center;font-size:10px;color:#999}.auth .guest{width:100%;border:0;background:none;color:#ddd;font-size:11px;margin-top:15px}.login .legal{text-align:center;font-size:9px;line-height:1.6;color:white;text-shadow:0 1px 4px black}.modal-backdrop{position:absolute;inset:0;z-index:30;background:#000b;display:flex;align-items:end}.modal{background:#242424;border-radius:25px 25px 0 0;padding:28px 24px;width:100%}.receipt{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid #444;font-size:13px}.modal .secondary{width:100%;margin-top:10px}.medal{font-size:22px}.badge{font-size:9px;background:#333;padding:7px;border-radius:5px;color:#bcbcbc}.empty{padding:25px;background:#222;border-radius:12px;color:#aaa;font-size:12px}@keyframes reveal{from{opacity:0}to{opacity:1}}@keyframes slide{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:800px){body{padding:0;background:#141414}.studio{display:none}.phone{width:100%;max-width:430px;height:100dvh;border:0;border-radius:0;box-shadow:none}.login{min-height:100%}nav{bottom:max(14px,env(safe-area-inset-bottom))}}@media(min-width:801px) and (max-height:900px){body{padding:15px}.phone{height:calc(100vh - 30px);min-height:650px}.login-art{height:285px}.login{min-height:740px}}

/* Brand typography and revised mobile navigation. */
@font-face{font-family:'Protest Strike';src:url('assets/ProtestStrike-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
h1,h2,h3{font-family:'Protest Strike',Arial,sans-serif;font-weight:400;letter-spacing:0}
.studio h1{letter-spacing:-1px}
.hero{height:325px}
nav svg.solid-icon{fill:currentColor;stroke:none;width:22px;height:22px}
.nav-mark{width:27px;height:22px;object-fit:contain;filter:invert(1);mix-blend-mode:screen}
nav button.active .nav-mark{filter:invert(1) sepia(1) saturate(7) hue-rotate(335deg) brightness(.96)}

nav button.active .nav-mark{filter:invert(1)}

/* Hide the bottom rule embedded in the supplied header artwork. */
header.brand img{clip-path:inset(0 0 2px 0)}

header.brand{padding-top:0;padding-bottom:0}

/* Quiet selected state; all navigation symbols inherit their label colour. */
nav button{color:#fff}
nav button.active{color:var(--orange);background:linear-gradient(145deg,#3b3b3b,#2c2c2c);box-shadow:none}
nav button.active:after{display:none}
nav .nav-mark,nav button.active .nav-mark{filter:none;mix-blend-mode:normal}


.leader .who{font-family:'Protest Strike',Arial,sans-serif;font-weight:400}
.leader .who small{font-family:Arial,Helvetica,sans-serif}

.leader .who{font-size:16px}

/* Full-width bottom navigation anchored to the app screen. */
nav{left:0;right:0;bottom:0;border-radius:0;border:0;border-top:1px solid #414141;box-shadow:none;height:calc(71px + env(safe-area-inset-bottom));padding:6px 6px calc(6px + env(safe-area-inset-bottom))}
nav button{border-radius:0}
nav button.active{transform:none}
main{padding-bottom:calc(90px + env(safe-area-inset-bottom))}

/* Rounded selected tab with a small indicator dot. */
nav button.active{border-radius:22px;background:linear-gradient(145deg,#3b3b3b,#2c2c2c)}
nav button.active:after{display:block;width:4px;height:4px;border-radius:50%;bottom:3px;background:var(--orange)}
nav button{padding-bottom:7px}

nav button.active:after{display:none}

.pool:after{content:'$'}

.hero:after{inset:85% 0 0;background:linear-gradient(transparent,rgba(20,20,20,.75))}
.pool:after{font-weight:900}

.pool .amount{font-size:clamp(52px,16vw,70px);line-height:1.1}


.hero:after{background:linear-gradient(transparent,#000)}

.hero:after{background:linear-gradient(transparent,var(--bg))}

.hero{height:345px}
nav{justify-content:space-around}
nav button{flex:0 1 78px;min-width:0}

.hero:after{inset:calc(85% + 30px) 0 0}


.hero:after{inset:auto 0 0;height:18px}

.hero:after{display:none}

nav button{transition:color .2s ease,background-color .2s ease}
@media(prefers-reduced-motion:reduce){.login-art,.auth{animation:none}nav button{transition:none}}

@keyframes prize-pulse{0%,12%,24%,100%{transform:scale(1)}6%{transform:scale(1.045)}18%{transform:scale(1.025)}}
.pool .amount{transform-origin:left center;animation:prize-pulse 5s ease-in-out 2.1s infinite}
@media(prefers-reduced-motion:reduce){.pool .amount{animation:none}}

@keyframes leader-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.0216)}}
.leader.winner{animation:leader-pulse 4s ease-in-out infinite;transform-origin:center}
@media(prefers-reduced-motion:reduce){.leader.winner{animation:none}}

/* Keep the leader visible while the remaining rankings scroll below it. */
main.boards-page{display:flex;flex-direction:column;overflow:hidden;padding-bottom:calc(71px + env(safe-area-inset-bottom))}
.boards-page>header{flex-shrink:0}
.boards-page>.content{display:flex;flex-direction:column;flex:1;min-height:0;padding-bottom:0}
.boards-page .title-row,.boards-page .chips{flex-shrink:0}
.boards-page #leaderboard-content{display:flex;flex-direction:column;flex:1;min-height:0}
.boards-page #leaderboard-content>h3,.boards-page #leaderboard-content>.segment,.boards-page #leaderboard-content>.note,.boards-page #leaderboard-content>.badge{flex-shrink:0}
.boards-page .winner{flex-shrink:0;position:relative;z-index:2}
.leader-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;padding-top:5px}


.species-dropdown{position:relative}
.species-dropdown summary{list-style:none;display:flex;align-items:center;justify-content:space-between;background:#171717;color:#fff;border:1px solid #4b4b4b;border-radius:10px;padding:16px 13px;font-size:14px;cursor:pointer}
.species-dropdown summary::-webkit-details-marker{display:none}
.species-dropdown summary:focus-visible,.species-dropdown[open] summary{outline:0;border-color:var(--orange)}
.species-arrow{font-size:18px;line-height:1}
.species-options{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:15;background:#202020;border:1px solid #444;border-radius:10px;padding:5px;box-shadow:0 8px 24px #0008;max-height:240px;overflow:auto}
.species-options button{display:block;width:100%;text-align:left;background:transparent;color:white;border:0;border-radius:6px;padding:12px;font-size:14px}
.species-options button.selected,.species-options button:hover,.species-options button:focus-visible{background:var(--orange);outline:0;color:#fff}


.species-arrow{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid currentColor}

/* Camera-cutout clearance and space for mobile keyboard editing. */
header.brand{padding-top:max(36px,env(safe-area-inset-top))}
main{scroll-padding-bottom:110px}
.phone.keyboard-open main:not(.boards-page){padding-bottom:calc(90px + var(--keyboard-space,0px));scroll-padding-bottom:110px}
#length{scroll-margin-top:32px;scroll-margin-bottom:110px;font-size:16px}

.leader.new-submission{outline:2px solid var(--orange);outline-offset:-2px;background-color:#252019}.leader.winner.new-submission{background-color:var(--orange);outline-color:#fff}

.login{display:flex;align-items:center;justify-content:center;padding:60px 25px;min-height:100%;background-image:url('assets/startup.webp')}
.login .auth{width:100%;margin-top:80px}
.hero{margin-top:max(20px,env(safe-area-inset-top))}
.length-picker{position:relative;border:1px solid #4b4b4b;background:#171717;border-radius:12px;overflow:hidden;text-align:center}
.length-wheel{height:120px;overflow-y:auto;padding:40px 0;scroll-snap-type:y mandatory;scrollbar-width:none;overscroll-behavior:contain;position:relative;z-index:1;touch-action:pan-y}
.length-wheel::-webkit-scrollbar{display:none}
.length-wheel button{display:block;height:40px;width:100%;padding:0;border:0;background:transparent;color:#777;scroll-snap-align:center;font-size:22px;line-height:40px;transition:color .15s}
.length-wheel button span{font-size:12px}
.length-wheel button.chosen{color:#fff;font-weight:bold}
.length-selection{position:absolute;top:40px;height:40px;left:12px;right:12px;border-top:1px solid var(--orange);border-bottom:1px solid var(--orange);background:#f15a2412;pointer-events:none}
.length-picker>small{display:block;padding:5px 0 9px;font-size:9px;letter-spacing:0}
.length-wheel:focus-visible{outline:2px solid var(--orange);outline-offset:-2px}

.species-picker{position:relative;border:1px solid #4b4b4b;background:#171717;border-radius:12px;overflow:hidden;text-align:center}
.species-wheel{height:120px;overflow-y:auto;padding:40px 0;scroll-snap-type:y mandatory;scrollbar-width:none;overscroll-behavior:contain;position:relative;z-index:1;touch-action:pan-y}
.species-wheel::-webkit-scrollbar{display:none}
.species-wheel [role="option"]{height:40px;line-height:40px;color:#777;scroll-snap-align:center;font-size:17px;cursor:pointer;transition:color .15s}
.species-wheel [role="option"].chosen{color:#fff;font-weight:bold}
.species-selection{position:absolute;top:40px;height:40px;left:12px;right:12px;border-top:1px solid var(--orange);border-bottom:1px solid var(--orange);background:#f15a2412;pointer-events:none}
.species-picker>small{display:block;padding:5px 0 9px;font-size:9px;letter-spacing:0}
.species-wheel:focus-visible{outline:2px solid var(--orange);outline-offset:-2px}

.notification-setting{margin-top:22px;padding:16px;background:#222;border:1px solid #3b3b3b;border-radius:12px}.notification-setting b{font-size:13px}.notification-setting button{width:100%}

/* Supplied tournament artwork for the home and startup screens. */
.hero{background-image:url('assets/home-header.webp')}
.login{background-image:url('assets/startup.webp');background-position:center top;background-size:cover;align-items:flex-end;padding-top:340px;padding-bottom:30px}
.login .auth{margin-top:0}

.leader.my-entry{outline:2px solid var(--orange);outline-offset:-2px;border-radius:12px}.leader.winner.my-entry{box-shadow:0 0 0 2px var(--orange)}

.hero{margin-top:0;padding:0}

header.brand{background:#000;padding: max(36px,env(safe-area-inset-top)) 24px 20px}header.brand img{clip-path:none}

header.brand{background:var(--bg);padding:60px 60px 20px}

header.brand img{width:50%;height:auto;margin-inline:auto}

.leader .avatar{overflow:hidden}.leader .avatar img{display:block;width:100%;height:100%;object-fit:cover}
.account-tools{margin-top:26px;border:1px solid #3c3c3c;border-radius:14px;padding:18px;background:#202020}.account-tools h3{margin:0 0 12px}.account-tools>button{width:100%;display:flex;justify-content:space-between;padding:15px 0;background:none;border:0;border-bottom:1px solid #363636;color:#eee;text-align:left;font-size:13px}.account-tools>button:last-child{border:0}.account-tools .delete-account{color:#ff9f8c}.account-dialog{width:min(660px,94vw);max-height:90dvh;overflow:auto;background:#242424;color:#f8f7f4;border:1px solid #555;border-radius:16px;padding:24px}.account-dialog::backdrop{background:#000c}.account-dialog-top{display:flex;justify-content:space-between;gap:16px;align-items:center}.account-dialog-top h2{font-size:26px}.account-dialog-top button{background:#333;color:white;border:1px solid #555;border-radius:8px;padding:8px 12px}.account-dialog p{font-size:13px;line-height:1.7}.account-dialog a{color:#ff9c77}.account-dialog label{display:block;margin:15px 0;font-size:12px}.account-dialog input,.account-dialog select,.account-dialog textarea{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #555;border-radius:8px;background:#181818;color:white;font:inherit}.account-dialog .danger{background:#af3028}.collection-note{font-size:11px!important;color:#bbb!important;text-align:left!important}.policy-link{border:0;background:none;color:#ff9c77;padding:0;text-decoration:underline;font-size:inherit}.account-dialog #account-result{color:#ffac8b}.account-dialog form .primary{margin-top:18px}
/* Full-width safe-area menu with the Mintoss curved selection. */
.phone #nav{position:absolute;bottom:0;left:0;right:0;width:100%;height:calc(89px + env(safe-area-inset-bottom,0px));padding:0 0 env(safe-area-inset-bottom,0px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:0;border-radius:0;background:linear-gradient(180deg,#303030 0%,#191919 45%,#050505 100%);box-shadow:0 -8px 22px #00000038,0 -2px 6px #0000001f;isolation:isolate;transform:none}.phone #nav>.nav-curve{position:absolute;top:0;left:0;width:100%;height:89px;z-index:-1;overflow:visible;pointer-events:none;mask-image:linear-gradient(to right,transparent,#000 12.6px,#000 calc(100% - 12.6px),transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 12.6px,#000 calc(100% - 12.6px),transparent)}.phone #nav .nav-outline{filter:drop-shadow(0 0 3px #f15a24aa) drop-shadow(0 0 7px #f15a2478)}.phone #nav>button{position:relative;min-width:0;height:89px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;padding:29px 2px 0;border:0;border-radius:0;background:transparent!important;box-shadow:none!important;transform:none!important;color:#c6c6c6;font-family:Arial,Helvetica,sans-serif;font-size:9px;line-height:1.3;font-weight:500}.phone #nav>button:after{content:none!important}.phone #nav>button .icon,.phone #nav>button .nav-mark{width:24px;height:24px;margin:0}.phone #nav>button.active{color:var(--orange)}.phone #nav>button.active>span{color:#fff;font-weight:700}.phone #nav>button:focus-visible{outline:2px solid var(--orange);outline-offset:-5px}.phone #app{padding-bottom:calc(105px + env(safe-area-inset-bottom,0px))}#toast{bottom:calc(105px + env(safe-area-inset-bottom,0px))}@media(prefers-reduced-motion:reduce){.phone #nav,.phone #nav *{transition:none!important;animation:none!important}}

/* Keep navigation labels above the decorative curve in every state. */
.phone #nav>button{z-index:1;overflow:visible}.phone #nav>button>span{position:relative;z-index:2;display:block;opacity:1!important;visibility:visible!important;transform:none!important;animation:none!important;white-space:nowrap;font-size:10px;line-height:14px;flex-shrink:0}.phone #nav>button.active>span{color:#fff!important;text-shadow:0 1px 2px #000}

/* UX refinements: progressive enhancements with reduced-motion support. */
h1,h2,h3{text-wrap:balance}.amount,.score,.cm,.stats,progress{font-variant-numeric:tabular-nums}
button,a,input,select,textarea{touch-action:manipulation}.text-btn,.chips button,.segment button,.account-dialog button,.ux-command button{min-height:44px}.primary:disabled{opacity:.45;cursor:not-allowed}
.ux-required,.ux-field-error{color:#ff9b7b}.ux-field-error{display:block;font-size:12px;letter-spacing:0;line-height:1.4;margin:7px 0}.ux-field-error[hidden]{display:none}[aria-invalid=true]{border-color:#ff9b7b!important;box-shadow:0 0 0 1px #ff9b7b}
.ux-onboarding{margin:24px 0;padding:18px;border:1px solid #444;border-radius:20px;background:linear-gradient(145deg,#292929,#1a1a1a)}.ux-onboarding-heading{display:flex;align-items:center;justify-content:space-between}.ux-onboarding-heading h3{margin:0}.ux-onboarding button{background:transparent;border:0;color:#fff;min-height:44px;text-align:left}.ux-onboarding-heading button{width:44px;font-size:24px}.ux-onboarding p{font-size:12px;color:#ccc}.ux-onboarding progress{width:100%;height:7px;accent-color:var(--orange)}.ux-onboarding ol{list-style:none;padding:0;margin:12px 0 0}.ux-onboarding li+li{border-top:1px solid #383838}.ux-onboarding li button{width:100%;font-size:13px}.ux-onboarding li span{color:var(--orange);margin-right:8px}.ux-onboarding small{float:right;letter-spacing:0}.ux-quick{display:block;margin:8px 0}
.ux-command{width:min(440px,calc(100% - 32px));max-height:80dvh;background:#242424;color:#fff;border:1px solid #555;border-radius:20px;padding:20px;overflow:auto}.ux-command label{display:block;margin-bottom:8px}.ux-command-results{display:grid;margin-top:12px;gap:5px}.ux-command button{background:#333;color:#fff;border:0;border-radius:9px;padding:12px;text-align:left}.ux-command::backdrop,.account-dialog::backdrop{background:#000b;backdrop-filter:blur(3px)}.account-dialog-top{touch-action:pan-x}.account-dialog,.ux-command{padding-bottom:max(20px,env(safe-area-inset-bottom,0px))}#toast button{background:transparent;border:0;color:#fff;text-decoration:underline;min-height:44px}
.ux-image-loading,.ux-skeleton{background:linear-gradient(100deg,#262626 20%,#3b3b3b 45%,#262626 70%);background-size:220% 100%;animation:ux-shimmer 1.6s linear infinite}.ux-image-loading img{background:transparent}.ux-loading{padding:60px 22px}.ux-skeleton{height:70px;border-radius:16px;margin:16px 0}.ux-skeleton:first-of-type{height:180px}.ux-loading p{color:#ccc}
@keyframes ux-shimmer{to{background-position:-220% 0}}
@supports(corner-shape:squircle){.form-card,.catch,.pool,.ux-onboarding,.account-dialog,.ux-command{corner-shape:squircle}}
@media(prefers-reduced-motion:reduce){.ux-image-loading,.ux-skeleton{animation:none}.hero{background-position-y:0!important}*{scroll-behavior:auto!important}}

@property --ux-border-angle{syntax:"<angle>";initial-value:0deg;inherits:false}
.ux-onboarding{border:1px solid transparent;background:linear-gradient(145deg,#292929,#1a1a1a) padding-box,conic-gradient(from var(--ux-border-angle),#444,#f15a2470,#444 35%,#444) border-box;animation:ux-border 14s linear infinite}
@keyframes ux-border{to{--ux-border-angle:360deg}}
.ux-onboarding li{position:relative}.ux-onboarding li:not(:last-child):before{content:"";position:absolute;top:32px;left:12px;width:1px;height:20px;background:#555;pointer-events:none}
@media(prefers-reduced-motion:reduce){.ux-onboarding{animation:none}}

.pool:before{content:"";position:absolute;inset:0;background:url("assets/grain.svg");opacity:.035;pointer-events:none}

/* Flat five-tab social navigation. */
.phone #nav{height:calc(72px + env(safe-area-inset-bottom,0px));grid-template-columns:repeat(5,minmax(0,1fr));background:#171717;border-top:1px solid #343434;box-shadow:none}
.phone #nav>button{height:72px;padding:13px 2px 10px;gap:5px;color:#d1d1d1;justify-content:center}
.phone #nav>button .icon,.phone #nav>button .nav-mark{width:25px;height:25px;flex-shrink:0}
.phone #nav>button>span{font-size:9px;line-height:13px;color:#bfbfbf;text-shadow:none}
.phone #nav>button.active,.phone #nav>button.active>span{color:var(--orange)!important;text-shadow:none}
.phone #app{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}#toast{bottom:calc(88px + env(safe-area-inset-bottom,0px))}.my-catches-link{display:block;width:100%;margin-top:24px}

/* Compact icon-only navigation and species overflow fades. */
.phone #nav{height:calc(62px + env(safe-area-inset-bottom,0px))}.phone #nav>button{height:62px;padding:12px 2px;gap:0}.phone #nav>button>span{display:none!important}.phone #app{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}#toast{bottom:calc(78px + env(safe-area-inset-bottom,0px))}
.chips{--fade-left:24px;--fade-right:24px;mask-image:linear-gradient(to right,transparent,#000 var(--fade-left),#000 calc(100% - var(--fade-right)),transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--fade-left),#000 calc(100% - var(--fade-right)),transparent)}.chips.at-first{--fade-left:0px}.chips.at-last{--fade-right:0px}
#profile-editor[hidden]{display:none}#profile-editor{padding:16px 0}#profile-editor>.text-btn{margin-top:10px;min-height:44px}

.account-content{padding-top:11px}

/* Species selection and compact selected-icon treatment. */
.chips button{font-size:13px}
.phone #nav{height:calc(72px + env(safe-area-inset-bottom,0px));padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}
.phone #nav>button.active:before{content:"";position:absolute;width:42px;height:42px;top:10px;left:50%;transform:translateX(-50%);border-radius:14px;background:#ffffff07;border:1px solid #ffffff12;pointer-events:none;z-index:-1}
@supports(corner-shape:squircle){.phone #nav>button.active:before{corner-shape:squircle}}
.phone #app{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}#toast{bottom:calc(88px + env(safe-area-inset-bottom,0px))}

header.brand img{height:auto;aspect-ratio:683/79}

.hero{height:auto;min-height:0;aspect-ratio:1304/1193;background-size:cover}

/* Soft, borderless active navigation backdrop. */
.phone #nav>button.active:before{border:0;background:#ffffff08;box-shadow:0 0 6px 2px #ffffff03;border-radius:14px}

.catch-photo-slot{margin:16px 0 24px}.catch-photo-slot h3{font-size:17px;margin:0 0 5px}.catch-photo-slot>.note{margin:0 0 10px}.catch-photo-slot .photo-actions{margin:12px 0}.leader[role=button]{cursor:pointer}.leader[role=button]:focus-visible{outline:2px solid white;outline-offset:-3px}.catch-viewer-entry{padding:12px 0 20px;border-bottom:1px solid #444}.catch-viewer figure{margin:16px 0}.catch-viewer figcaption{font-weight:bold;margin-bottom:9px;font-size:13px}.catch-photo-zoom{display:block;width:100%;padding:0;border:0;border-radius:12px;overflow:hidden;background:#111}.catch-photo-zoom img{display:block;width:100%;max-height:280px;object-fit:contain}.catch-photo-zoom.expanded img{max-height:none}.catch-viewer .empty-photo{min-height:100px;height:auto;padding:20px}

/* Orange thumb slides between the leaderboard modes. */
.mode-switch{position:relative;isolation:isolate}.mode-switch:before{content:"";position:absolute;top:4px;bottom:4px;left:4px;width:calc((100% - 13px)/2);background:var(--orange);border-radius:8px;z-index:-1;transform:translateX(0);transition:transform 240ms cubic-bezier(.22,1,.36,1)}.mode-switch.is-overall:before{transform:translateX(calc(100% + 5px))}.mode-switch button,.mode-switch button.active{background:transparent!important}
@media(prefers-reduced-motion:reduce){.mode-switch:before{transition:none}}

/* Soft alternating leaderboard rows; the user's orange outline remains. */
.leader{border-bottom:0}.leader-scroll>.leader:nth-of-type(odd){background:#1c1c1c}.leader-scroll>.leader:nth-of-type(even){background:transparent}
/* Photo-first personal journal: square media with an Instagram-like header. */
.catches-feed .catch{display:flex;flex-direction:column;background:transparent;border:0;border-radius:0;margin:20px -22px 30px;overflow:hidden}.catches-feed .catch-info{order:1;padding:12px 22px}.catches-feed .catch-art{width:100%;height:auto;aspect-ratio:1/1;border-radius:0;overflow:hidden}.catches-feed .catch-art>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.catches-feed .catch-art>svg{width:55%;height:auto}.catches-feed .catch-art .cm{right:16px;bottom:16px}

.catch-viewer .catch-viewer-close{width:48px;height:48px;min-width:48px;min-height:48px;flex-shrink:0;padding:0;border:0;border-radius:50%;background:#ffffff0d;color:#fff;font:32px/1 Arial,sans-serif;display:grid;place-items:center}.catch-viewer .catch-viewer-close:hover{background:#ffffff18}.mode-switch:before{transition:transform 380ms cubic-bezier(.22,.68,.18,1)}
@media(prefers-reduced-motion:reduce){.mode-switch:before{transition:none}}

.catch-like{min-height:44px;border:0;background:transparent;color:#ddd;padding:5px 0;font:15px Arial,sans-serif;cursor:pointer}.catch-like.liked{color:var(--orange)}.catch-like:focus-visible{outline:2px solid var(--orange);outline-offset:4px}

/* Instant-photo catch viewer: square image, paper frame and generous caption. */
dialog.catch-viewer{width:min(430px,calc(100vw - 32px));max-height:88dvh;padding:14px 14px 26px;border:0;border-radius:3px;background:#eeeae2;color:#252525;box-shadow:0 24px 80px #0009;overflow:auto}
.catch-viewer .account-dialog-top{position:absolute;top:24px;right:24px;z-index:3;padding:0;border:0}.catch-viewer .account-dialog-top h2{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.catch-viewer .catch-viewer-close{background:#f5f2eae8;color:#252525;box-shadow:0 2px 10px #0002}.catch-viewer .catch-viewer-close:hover{background:#fff}
.catch-viewer .account-dialog-body{padding:0}.catch-viewer-entry{border:0;padding:0 0 20px}.catch-viewer-entry+.catch-viewer-entry{margin-top:25px;padding-top:20px;border-top:1px solid #ccc5bb}
.catch-viewer .polaroid-photos{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}.polaroid-photos::-webkit-scrollbar{display:none}.catch-viewer .polaroid-photos figure{flex:0 0 100%;min-width:0;scroll-snap-align:start;margin:0;display:flex;flex-direction:column}.catch-viewer .polaroid-photos figcaption{font-size:11px;letter-spacing:.5px;font-weight:500;margin:8px 0 0;color:#716b63;text-align:center}
.catch-viewer .catch-photo-zoom{border-radius:0;aspect-ratio:1;background:#191919}.catch-viewer .catch-photo-zoom img{width:100%;height:100%;max-height:none;object-fit:contain}.catch-viewer .catch-photo-zoom.expanded{aspect-ratio:auto}.catch-viewer .catch-photo-zoom.expanded img{height:auto}
.catch-viewer .empty-photo{aspect-ratio:1;min-height:0;border:0;border-radius:0;margin:0;background:linear-gradient(145deg,#252d2b,#121817);color:#a5afaa;font-size:12px;text-align:center;display:grid;place-items:center;padding:44px}
.polaroid-tabs{display:flex;gap:8px;justify-content:center;margin:8px 0 18px}.polaroid-tabs button{min-height:36px;border:0;border-radius:20px;background:transparent;color:#77716a;padding:6px 12px;font-size:11px}.polaroid-tabs button[aria-pressed=true]{background:#ddd7cc;color:#252525}.catch-viewer .polaroid-angler{font-weight:700;font-size:16px;margin:0 4px 7px}.catch-viewer-entry>h3{font-size:21px;margin:0 4px 6px}.catch-viewer-entry>.note{color:#716b63;margin:0 4px 8px}.catch-viewer .catch-like{color:#6d665e;margin:0 4px}.catch-viewer .catch-like.liked{color:var(--orange)}

dialog.catch-viewer{width:min(430px,calc(100vw - 32px),calc(88dvh - 230px));scrollbar-width:none}.catch-viewer::-webkit-scrollbar{display:none}

.catch-viewer .catch-viewer-close,.catch-viewer .catch-viewer-close:hover{background:transparent;box-shadow:none;color:#fff;text-shadow:0 1px 4px #0009}

/* Square centred photo displays and compact home artwork. */
.catch-photo-slot .photo-preview{display:block;width:100%;height:auto;max-height:none;aspect-ratio:1;object-fit:cover;object-position:center}
.catch-viewer .catch-photo-zoom img{object-fit:cover;object-position:center}
.hero{height:0;min-height:0;aspect-ratio:auto;padding:0 0 calc(91.48773% - 40px);background-size:100% auto;background-position:center -10px;background-repeat:no-repeat;overflow:hidden}

/* Compact tournament prize banner. */
.pool{display:flex;flex-direction:column;align-items:stretch;padding:22px 24px 0;border-radius:5px;background:linear-gradient(115deg,#ff6026,#ee4816);overflow:hidden;position:relative}
.pool:after{display:none}
.pool .amount{order:0;font-family:Impact,'Arial Narrow',sans-serif;font-style:italic;font-weight:900;font-size:clamp(48px,14vw,66px);line-height:1;letter-spacing:-1.5px;color:#fff;margin:0 0 7px;position:relative;z-index:1}
.pool>.kicker{order:1;color:#fff;font-size:10px;font-weight:600;letter-spacing:2px;margin:0 0 20px;position:relative;z-index:1}
.pool>.sub{order:2;background:linear-gradient(100deg,#542619,#24201d);color:#fff;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;margin:0 -24px;padding:13px 24px;position:relative;z-index:1}
.pool>button{order:3;margin:0 -24px;width:calc(100% + 48px);border-radius:0;padding:15px 24px;border:0;border-top:1px solid #ffffff12;background:#191919;color:#fff;position:relative;z-index:1}

/* Glossy prize card with detached entry action. */
.pool{isolation:isolate;background:linear-gradient(125deg,#ff7439 0%,#fa581e 38%,#e94815 72%,#ff6b29 100%);border:1px solid #ff9b6255;box-shadow:inset 0 1px 0 #ffffff70,inset 0 -2px 3px #70200955,0 8px 18px #0003}
.pool .amount{letter-spacing:1.5px}
.pool:after{content:'$';display:block;position:absolute;right:-10px;top:-27px;height:120%;width:43%;font-family:Arial,sans-serif;font-size:205px;font-weight:900;line-height:1;color:#ffcc9b;opacity:.18;transform:rotate(-8deg);z-index:0;pointer-events:none}
.pool:before{content:'';position:absolute;inset:-65% -60%;background:linear-gradient(110deg,transparent 38%,#fff0 42%,#ffffff12 46%,#ffffff65 49%,#ffffff12 52%,transparent 57%);opacity:.65;transform:translateX(-60%);animation:prize-card-shine 7s ease-in-out infinite;z-index:2;pointer-events:none}
.pool>.sub{background:linear-gradient(100deg,#51261de8,#25201de8)}
.pool-entry{display:block;width:100%;min-height:48px;margin:14px 0 0;padding:15px 20px;border:1px solid #ffffff18;border-radius:8px;background:linear-gradient(#292929,#202020);color:#fff;font-size:14px;font-weight:700;box-shadow:0 3px 8px #0002}
@keyframes prize-card-shine{0%,18%{transform:translateX(-60%)}55%,100%{transform:translateX(60%)}}
@media(prefers-reduced-motion:reduce){.pool:before{animation:none;transform:translateX(0);opacity:.25}}

.pool-entry{background:var(--orange);border-color:#ff855044;color:#fff}.pool-entry:hover{background:#ff662a}
.catch-info .catch-length{margin-left:auto;flex-shrink:0;font-size:19px;font-weight:800;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}.catch-length small{font-size:11px;color:inherit;letter-spacing:0}
.leader.winner{isolation:isolate;overflow:hidden;background:linear-gradient(125deg,#ff7439 0%,#fa581e 38%,#e94815 72%,#ff6b29 100%);box-shadow:inset 0 1px 0 #ffffff70,inset 0 -2px 3px #70200955,0 8px 18px #0003}
.leader.winner:before{content:'';position:absolute;inset:-100% -60%;background:linear-gradient(110deg,transparent 38%,#fff0 42%,#ffffff12 46%,#ffffff65 49%,#ffffff12 52%,transparent 57%);opacity:.65;transform:translateX(-60%);animation:prize-card-shine 7s ease-in-out infinite;pointer-events:none;z-index:0}
.leader.winner>*{position:relative;z-index:1}
@media(prefers-reduced-motion:reduce){.leader.winner:before{animation:none;transform:translateX(0);opacity:.25}}

.pool .amount{font-family:'Protest Strike',sans-serif!important;font-weight:400;font-style:italic;font-variant-numeric:tabular-nums;font-size:clamp(38px,13vw,62px)}
.catch[data-feed-index]{cursor:pointer}.catch[data-feed-index]:focus-visible{outline:2px solid var(--orange);outline-offset:3px}

.polaroid-tabs{gap:0;margin:4px 0 13px}.polaroid-tabs .photo-dot{width:32px;height:32px;min-height:32px;padding:0;display:grid;place-items:center;background:transparent!important}.photo-dot:before{content:"";width:7px;height:7px;border-radius:50%;background:#bbb4a9;transition:background .2s,transform .2s}.photo-dot[aria-pressed=true]:before{background:#3b3833;transform:scale(1.15)}

body{padding:0;display:block}.studio{display:none}.phone{width:100%;max-width:none;height:100dvh;border:0;border-radius:0;box-shadow:none}
