/* Product-design polish: cinematic TV, child-friendly mobile, restrained owner admin. */
.stage::before{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:radial-gradient(ellipse at 48% 110%,rgba(31,157,151,.24),transparent 48%),linear-gradient(180deg,rgba(41,160,188,.16),transparent 34%,rgba(0,22,34,.2));mix-blend-mode:screen}.stage::after{content:"";position:absolute;z-index:2;left:-5%;right:-5%;bottom:-7%;height:32%;pointer-events:none;background:radial-gradient(ellipse at 12% 100%,rgba(8,48,47,.9) 0 18%,transparent 19%),radial-gradient(ellipse at 31% 105%,rgba(9,72,62,.7) 0 14%,transparent 15%),radial-gradient(ellipse at 70% 105%,rgba(10,69,61,.65) 0 17%,transparent 18%),radial-gradient(ellipse at 93% 102%,rgba(7,48,48,.84) 0 19%,transparent 20%);opacity:.62}.reef{opacity:.92;filter:brightness(.9) saturate(1.16) contrast(1.04)}.tv-brand{max-width:470px}.tv-brand .eyebrow{font-size:10px;letter-spacing:.18em}.tv-brand h1{font-size:clamp(38px,3.65vw,66px);max-width:460px}.tv-brand p:last-child{font-size:15px}.tv-hint{font-size:13px;padding:10px 15px;color:rgba(244,254,255,.86)}.live{font-size:13px}.qr-panel{width:clamp(260px,19vw,315px);padding:23px 21px 16px;border-radius:26px;background:rgba(2,20,28,.79);box-shadow:0 22px 70px rgba(0,8,15,.3)}.qr-panel h2{font-size:clamp(24px,1.85vw,33px);letter-spacing:-.025em}.qr-panel>p:not(.eyebrow){line-height:1.4}.qr-wrap{width:min(100%,205px);border-radius:16px}.qr-wrap img{display:block;object-fit:contain}.tv-shell[data-period="night"] .reef{filter:brightness(.68) saturate(.98) contrast(1.08)}.tv-shell[data-period="night"] .daylight{background:linear-gradient(180deg,rgba(20,76,124,.34),rgba(3,39,63,.18) 48%,rgba(0,24,35,.27))}.tv-shell[data-period="night"] .sun-rays{opacity:.16}.tv-shell[data-period="night"] .shade{background:linear-gradient(90deg,rgba(0,5,13,.5),rgba(0,11,22,.08) 38%,rgba(0,8,18,.05) 65%,rgba(0,4,12,.34));box-shadow:inset 0 0 170px rgba(0,0,0,.46)}

.mobile-body{background:#f5f8f6}.mobile-shell{max-width:680px;padding:26px 20px 90px}.mobile-header{align-items:flex-start;gap:18px}.mobile-header h1{font-size:34px;line-height:1;letter-spacing:-.045em}.daily{max-width:150px;line-height:1.25;background:rgba(255,255,255,.82)}.hero{position:relative;height:184px;margin:20px 0 28px;border-radius:26px;background:#0b6172;box-shadow:0 16px 38px rgba(19,69,77,.12)}.hero img{filter:brightness(.86) saturate(1.12);opacity:.92}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,21,30,.02) 32%,rgba(3,23,31,.58));pointer-events:none}.hero-info{position:absolute;z-index:2;left:18px;right:18px;bottom:15px;display:flex;justify-content:space-between;align-items:center;color:#f6ffff;font-size:12px;text-shadow:0 2px 12px rgba(0,0,0,.35)}.hero-info strong{font-size:13px}.section-head{align-items:flex-end;gap:18px;margin-bottom:14px}.section-head h2{font-size:27px;letter-spacing:-.035em}.section-head .primary{white-space:nowrap}.fish-list{border-top-color:rgba(13,32,40,.09)}.fish-card{padding:16px 2px}.empty{padding:26px;border:1px solid rgba(13,32,40,.035);background:#eaf2f0}.creator::backdrop{background:rgba(2,17,23,.58);backdrop-filter:blur(5px)}.creator-card{box-shadow:0 30px 90px rgba(0,20,28,.24)}.mobile-body .ghost{border-color:var(--line-dark);color:var(--text-dark)}

body:not(.tv-body):not(.mobile-body){background:#f5f6f3}.admin-shell{max-width:1240px;padding:46px 34px 90px}.admin-header{align-items:flex-start;padding-bottom:28px}.admin-header h1{margin:0;font-size:36px;letter-spacing:-.045em}.admin-header .ghost{padding:10px 17px}.stats{margin-top:6px}.stat{display:flex;flex-direction:column;gap:5px;padding:25px 4px}.stat span{display:block;color:var(--muted-dark);font-size:12px}.stat strong{font-size:36px;line-height:1;letter-spacing:-.04em}.admin-section{margin-top:38px}.admin-section .section-head{align-items:center}.admin-section .section-head h2{font-size:25px}.aq-row{grid-template-columns:1.35fr .85fr auto;align-items:center;padding:18px 3px}.aq-row>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.aq-row>div:first-child strong{font-size:15px}.aq-row>div:first-child span,.aq-row>div:nth-child(2){color:var(--muted-dark);font-size:12px}.aq-row>div:last-child{justify-content:flex-end}.admin-fish{align-items:center;padding:15px 3px}.admin-fish img{width:54px;height:48px;object-fit:contain;border-radius:13px;background:#e7efed}.admin-fish>div{display:flex;gap:9px;align-items:baseline}.admin-shell .ghost{border-color:var(--line-dark);color:var(--text-dark)}.login{box-shadow:0 24px 70px rgba(16,39,45,.08)}

.join-shell{max-width:620px;margin:0 auto;padding:72px 22px 90px;color:var(--text-dark)}.join-shell>h1{max-width:500px;margin:0;font-size:clamp(42px,8vw,68px);line-height:.94;letter-spacing:-.06em}.join-shell>p:not(.eyebrow){max-width:460px;margin:18px 0 30px;color:var(--muted-dark);font-size:16px;line-height:1.55}.join-card{display:flex;gap:10px;padding:10px;background:#fff;border:1px solid var(--line-dark);border-radius:22px;box-shadow:0 18px 48px rgba(16,45,52,.07)}.join-card .field{flex:1}.join-card .field span{display:block;margin:0 0 5px;color:var(--muted-dark);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.join-card input{width:100%;border:0;outline:0;background:transparent;font-size:20px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.join-pic{position:relative;overflow:hidden;margin-top:26px;height:230px;border-radius:28px;background:#0b6172;color:#fff}.join-pic img{width:100%;height:100%;object-fit:cover;filter:brightness(.72) saturate(1.08)}.join-pic:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(2,24,31,.7))}.join-pic>div{position:absolute;z-index:2;left:22px;right:22px;bottom:20px;display:flex;flex-direction:column;gap:5px}.join-pic strong{font-size:18px}.join-pic span{font-size:12px;color:rgba(244,254,255,.75)}

@media(max-width:760px){.hero{height:166px}.mobile-header h1{font-size:30px}.daily{max-width:140px}.section-head{align-items:center}.section-head h2{font-size:24px}.admin-shell{padding:28px 18px 70px}.stats{grid-template-columns:repeat(2,1fr)}.stat{padding:18px 2px}.aq-row{grid-template-columns:1fr}.aq-row>div:last-child{justify-content:flex-start}.admin-header{gap:18px}.join-shell{padding-top:48px}.join-card{flex-direction:column}.join-card .primary{width:100%}}
