.fitness-dashboard{color:#eaf8ff;--fitness-accent:#74f2d0;display:grid;gap:18px}.fitness-dashboard *{box-sizing:border-box}.fitness-label{color:var(--fitness-accent);font-size:12px;letter-spacing:.14em;font-weight:800}.fitness-intro{font-size:clamp(20px,3vw,32px);margin:0!important}.fitness-hero{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:clamp(20px,4vw,36px);border:1px solid #70e8d644;border-radius:22px;background:radial-gradient(ellipse at top right,#25665599,transparent 75%),#0b242e}.fitness-hero small,.fitness-cards small{font-size:11px;letter-spacing:.09em;color:#a9c9d3}.fitness-hero strong{display:block;font-size:clamp(32px,6vw,62px);line-height:1.2;margin-top:16px;overflow-wrap:anywhere}.fitness-hero strong span,.fitness-cards strong span{font-size:18px;font-weight:500}.fitness-hero p,.fitness-cards p,.fitness-panel p,.fitness-note p{font-size:14px!important;line-height:1.6!important;color:#b8ccd5;margin:10px 0 0}.fitness-orbit{display:grid;place-items:center;flex-shrink:0;width:76px;height:76px;border:2px solid var(--fitness-accent);border-radius:50%;font-size:40px;color:var(--fitness-accent)}.fitness-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.fitness-cards article,.fitness-panel{border:1px solid #9fc7dd24;background:#0b1b2b;border-radius:18px;padding:20px;min-width:0}.fitness-cards strong{display:block;font-size:26px;margin-top:10px;overflow-wrap:anywhere}.fitness-panel h3,.fitness-note h3{margin:0 0 14px!important;font-size:15px!important;letter-spacing:.06em}.fitness-heading{display:flex;justify-content:space-between;align-items:start;gap:12px;flex-wrap:wrap}.fitness-heading>span{color:var(--fitness-accent);font-size:13px}.fitness-panel progress{display:block;width:100%;height:12px;accent-color:var(--fitness-accent)}.fitness-chart{height:128px;display:flex;gap:4px;align-items:end;margin-top:12px}.fitness-bar{height:100%;flex:1;display:flex;align-items:end;min-width:0}.fitness-bar i{height:var(--bar);width:100%;background:linear-gradient(#8ff3d5,#369aaa);border-radius:4px 4px 0 0}.fitness-chart-labels{display:flex;justify-content:space-between;color:#9cb5c5;font-size:12px;margin:8px 0 16px}.fitness-dashboard summary{cursor:pointer;font-size:14px;line-height:1.5}.fitness-table-wrap{overflow-x:auto;max-width:100%;margin-top:12px}.fitness-dashboard table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}.fitness-dashboard td,.fitness-dashboard th{padding:12px 8px;border-bottom:1px solid #ffffff18}.fitness-dashboard td{white-space:nowrap}.fitness-history{display:grid;gap:12px;margin-top:16px}.fitness-history article{display:grid;gap:5px;padding-bottom:12px;border-bottom:1px solid #ffffff18}.fitness-history small{color:#aac0cd}.fitness-note{border-left:3px solid var(--fitness-accent);border-radius:4px;padding:8px 18px;background:#10273288}.fitness-note details{margin-top:14px}.fitness-dashboard a{color:#89e7ff;text-decoration:underline}.fitness-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.fitness-fields label{display:grid;gap:10px;font-size:14px}.fitness-dashboard input[type=number]{width:100%;min-width:0;border-radius:10px;padding:13px;background:#061423;color:#fff;border:1px solid #7799ad}.fitness-consent{display:flex;align-items:start;gap:12px;margin:22px 0;font-size:14px;line-height:1.6}.fitness-consent input{flex:0 0 20px;width:20px;height:20px;margin-top:3px;accent-color:var(--fitness-accent)}.fitness-controls{display:grid;gap:20px;margin-top:24px}.fitness-controls button{min-height:44px;padding:12px;border:1px solid #92a9b8;border-radius:10px;background:#172c40;color:#fff;cursor:pointer;white-space:normal}.fitness-controls details button{margin-top:12px}.fitness-dashboard :focus-visible{outline:3px solid var(--fitness-accent);outline-offset:4px}.fitness-result{margin:12px 0;color:#a2f0da;font-size:14px}.fitness-entry{width:100%;margin-top:14px;min-height:48px;border:1px solid #74f2d066;background:#153a40;color:#c0ffe8;border-radius:12px;padding:14px;text-align:left;cursor:pointer}.fitness-entry small{display:block;margin-top:5px}.fitness-dashboard .portal-primary{white-space:normal;min-height:48px}
@media(max-width:600px){.fitness-cards{grid-template-columns:1fr}.fitness-fields{grid-template-columns:1fr}.fitness-hero{padding:20px}.fitness-orbit{display:none}.fitness-panel{padding:16px}.fitness-dashboard{gap:14px}.fitness-chart{gap:3px}.fitness-dashboard th,.fitness-dashboard td{padding:10px 6px}}
.fitness-quest-current{margin:18px 0;padding:20px;border-radius:16px;background:linear-gradient(125deg,#123b40,#12243c);border:1px solid #74f2d04d}.fitness-quest-current h4{font-size:24px;margin:12px 0}.fitness-quest-progress{margin:18px 0;display:grid;gap:10px}.fitness-quest-current>small{display:block;margin-top:14px;color:#a9c9d3}.fitness-quest-done{padding:14px;margin-top:16px;background:#16483b;color:#bcffe3;border-radius:12px;font-weight:700}.fitness-quest-done small{display:block;font-weight:400;line-height:1.5;margin-top:8px}.fitness-quests form{display:grid;gap:18px;margin-top:20px}.fitness-dashboard select{width:100%;min-width:0;background:#071a2a;color:#fff;border:1px solid #7799ad;padding:13px;border-radius:10px;font:inherit}.fitness-badge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.fitness-badge{display:flex;align-items:start;gap:12px;padding:16px;height:100%;border:1px solid #9fc7dd24;border-radius:14px;background:#0c2030}.fitness-badge>span{font-size:25px;color:#a9c9d3}.fitness-badge>div{min-width:0;flex:1}.fitness-badge strong{display:block;font-size:15px}.fitness-badge small{display:block;font-size:12px;color:#b8ccd5;line-height:1.5;margin-top:8px}.fitness-badge em{display:block;font-style:normal;font-size:11px;color:#aff4d8;margin-top:12px}.fitness-badge progress{height:7px;margin-top:12px}.fitness-badge.is-earned{border-color:#74f2d066;background:#14332e}.fitness-badge.is-earned>span{color:#8bffd4}.fitness-badge-filter{display:grid;gap:8px;margin:16px 0;max-width:320px}.fitness-dashboard [hidden]{display:none!important}.fitness-quests details{margin-top:18px}
@media(max-width:800px){.fitness-badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.fitness-badge-grid{grid-template-columns:1fr}.fitness-quest-current{padding:16px}}
.fitness-reminder-settings{margin-top:22px;padding-top:20px;border-top:1px solid #ffffff20}.fitness-reminder-settings h4{margin:0 0 8px}.fitness-reminder-settings form{display:grid;gap:14px;margin-top:15px}.fitness-reminder-settings form>label:first-child{display:grid;gap:8px}.fitness-reminder-settings .portal-secondary{min-height:46px;white-space:normal}

/* Private fitness area: full dashboard treatment without changing its data flows. */
.portal-fitness-dialog{width:min(1580px,calc(100vw - 28px));height:min(1200px,calc(100dvh - 24px));border-color:#45d5ff61;background:#040a11}
.portal-fitness-dialog .portal-panel{position:relative;isolation:isolate;min-height:100%;padding:clamp(20px,3vw,48px);background:radial-gradient(circle at 85% 8%,#087da73a,transparent 30%),linear-gradient(145deg,#07121eee,#02070ee8 60%,#061521)}
.portal-fitness-dialog .portal-top{top:-48px;min-height:66px;margin:-10px 0 26px;padding:9px 12px;border:1px solid #77dff83b;border-radius:16px;background:#06111bd9;backdrop-filter:blur(16px)}
.portal-fitness-dialog .portal-top>span{margin:auto;color:#fff}.portal-fitness-brand{display:flex;align-items:center;gap:11px}.portal-fitness-brand b{font-size:clamp(21px,2.1vw,32px)!important;letter-spacing:.04em!important}.portal-fitness-brand .station-mark{width:46px;height:46px}.portal-fitness-dialog .portal-top button{min-height:48px;border:1px solid #73d8f56e;border-radius:999px;background:#0a2032ce;font-size:clamp(14px,1.25vw,18px)}
.portal-fitness-dialog .portal-panel>h2{display:none}.portal-fitness-dialog .portal-body{max-width:1500px;margin:auto}.portal-fitness-dialog .portal-gesture{max-width:1500px;margin:18px auto 0}
.portal-fitness-dialog .fitness-dashboard{--fitness-accent:#39d7ff;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(12px,1.35vw,20px)}
.portal-fitness-dialog .fitness-command-hero{position:relative;isolation:isolate;grid-column:1/-1;display:grid;grid-template-columns:minmax(270px,.86fr) minmax(0,1.14fr);min-height:clamp(340px,37vw,500px);overflow:hidden;border:1px solid #51d9ff3d;border-radius:26px;background:#06111c;box-shadow:inset 0 1px #ffffff1c,0 24px 55px #0008}
.portal-fitness-dialog .fitness-command-copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(28px,4.5vw,70px);background:linear-gradient(90deg,#040b14 0%,#06101aef 54%,#06101a60 78%,transparent)}
.portal-fitness-dialog .fitness-command-copy h3{margin:12px 0 16px!important;color:#fff;font:1000 clamp(41px,5.25vw,86px)/.82 var(--display);letter-spacing:-.02em;text-shadow:0 5px 24px #000c}.portal-fitness-dialog .fitness-command-copy h3 em{color:#42d8ff;font-style:normal}.portal-fitness-dialog .fitness-command-copy p{margin:0!important;color:#e4f6ff;font-size:clamp(16px,1.45vw,22px)!important;line-height:1.35!important}.portal-fitness-dialog .fitness-command-copy .fitness-label{font-size:clamp(10px,.9vw,14px)}
.fitness-play-now{display:flex;align-items:center;gap:20px;min-height:55px;margin-top:27px;padding:11px 22px;border:1px solid #b8f7ff;border-radius:8px;background:linear-gradient(105deg,#bff5ff,#19caff);color:#041421;font:1000 clamp(16px,1.25vw,20px) var(--display);cursor:pointer;box-shadow:0 8px 27px #19caff43}.fitness-play-now span{font:400 30px/1 Arial}.fitness-play-now:hover,.fitness-play-now:focus-visible{filter:brightness(1.14);transform:translateY(-2px);box-shadow:0 0 0 3px #6fe8ff68,0 13px 30px #19caff63}
.portal-fitness-dialog .fitness-command-art{position:absolute;inset:0 0 0 30%;z-index:0;background:linear-gradient(90deg,#06111d 0%,transparent 30%),url('/assets/menu/fitness-dashboard-hero-v2.png') center/cover no-repeat;animation:fitness-hero-reveal .8s ease-out both}.portal-fitness-dialog .fitness-command-art::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#04101a72,transparent 48%)}
.portal-fitness-dialog .fitness-hero{grid-column:span 3;min-height:176px;padding:20px;border-color:#42dfff52;border-radius:18px;background:radial-gradient(circle at 95% 0%,#21d7ff3c,transparent 50%),#071421}.portal-fitness-dialog .fitness-hero strong{font-size:clamp(26px,2.75vw,43px);margin-top:7px;color:#fff}.portal-fitness-dialog .fitness-hero p{font-size:12px!important}.portal-fitness-dialog .fitness-orbit{display:none}
.portal-fitness-dialog .fitness-cards{grid-column:span 9;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.25vw,18px)}.portal-fitness-dialog .fitness-cards article,.portal-fitness-dialog .fitness-panel{border-color:#6cdcf336;background:linear-gradient(145deg,#0b1b2ce8,#06101ce8);box-shadow:inset 0 1px #ffffff12}.portal-fitness-dialog .fitness-cards article{min-height:176px;padding:20px}.portal-fitness-dialog .fitness-cards strong{font-size:clamp(25px,2.35vw,38px);color:#fff}.portal-fitness-dialog .fitness-cards p{font-size:12px!important}
.portal-fitness-dialog .fitness-quests{grid-column:span 8;margin:0}.portal-fitness-dialog .fitness-quests+.fitness-panel{grid-column:span 4;margin:0}.portal-fitness-dialog .fitness-quests+.fitness-panel .fitness-badge-grid{grid-template-columns:1fr;max-height:355px;overflow:auto;padding-right:5px}.portal-fitness-dialog .fitness-quests+.fitness-panel .fitness-badge{padding:12px}.portal-fitness-dialog .fitness-quest-current{background:linear-gradient(115deg,#10303c,#0a1d31);border-color:#44dfff4c}.portal-fitness-dialog .fitness-quest-current h4{font-size:clamp(23px,2vw,34px)}.portal-fitness-dialog .fitness-quest-progress progress,.portal-fitness-dialog progress{accent-color:#37d6ff}.portal-fitness-dialog .fitness-reminder-settings{border-color:#63dfff38}
.portal-fitness-dialog .fitness-quests+.fitness-panel+.fitness-panel{grid-column:span 4;margin:0}.portal-fitness-dialog .fitness-quests+.fitness-panel+.fitness-panel+.fitness-panel{grid-column:span 8;margin:0}.portal-fitness-dialog .fitness-quests~.fitness-panel{margin:0}.portal-fitness-dialog .fitness-quests~details.fitness-panel{grid-column:span 5}.portal-fitness-dialog .fitness-quests~.fitness-note{grid-column:span 7;margin:0;padding:21px;border:1px solid #61dfff38;border-left:3px solid var(--fitness-accent);border-radius:18px;background:#0a1b2ade}.portal-fitness-dialog .fitness-quests~.fitness-note+.fitness-panel{grid-column:1/-1}
.portal-fitness-dialog .fitness-weekly{grid-column:span 4}.portal-fitness-dialog .fitness-history-panel{grid-column:span 8}.portal-fitness-dialog .fitness-games-panel{grid-column:span 5}.portal-fitness-dialog .fitness-rounds-panel{grid-column:span 7}.portal-fitness-dialog .fitness-explainer{grid-column:span 7;margin:0;padding:21px;border:1px solid #61dfff38;border-left:3px solid var(--fitness-accent);border-radius:18px;background:#0a1b2ade}.portal-fitness-dialog .fitness-settings-panel{grid-column:1/-1}
.portal-fitness-dialog .fitness-panel h3,.portal-fitness-dialog .fitness-note h3{color:#dff8ff;font-size:clamp(17px,1.35vw,23px)!important}.portal-fitness-dialog .fitness-heading>span{color:#43d9ff;font-weight:800}.portal-fitness-dialog .fitness-chart{height:175px}.portal-fitness-dialog .fitness-bar i{background:linear-gradient(#54e8ff,#1674c7);box-shadow:0 0 12px #42dfff4d}.portal-fitness-dialog .fitness-controls{grid-template-columns:1fr 1fr;align-items:start}.portal-fitness-dialog .fitness-controls details{grid-column:span 2}.portal-fitness-dialog .fitness-controls button{border-color:#64dfff72;background:#0b2237}.portal-fitness-dialog .fitness-dashboard input[type=number],.portal-fitness-dialog .fitness-dashboard select{border-color:#66dfff71;background:#071827}.portal-fitness-dialog .fitness-dashboard .portal-primary{background:linear-gradient(100deg,#c6f7ff,#26cdf6);color:#03131d;border-color:#e2fbff}.portal-fitness-dialog .fitness-dashboard .portal-secondary{font-size:16px}
@keyframes fitness-hero-reveal{from{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}
@media(max-width:1050px){.portal-fitness-dialog .fitness-dashboard{grid-template-columns:repeat(6,minmax(0,1fr))}.portal-fitness-dialog .fitness-hero{grid-column:span 2}.portal-fitness-dialog .fitness-cards{grid-column:span 4}.portal-fitness-dialog .fitness-quests,.portal-fitness-dialog .fitness-quests+.fitness-panel,.portal-fitness-dialog .fitness-weekly,.portal-fitness-dialog .fitness-history-panel,.portal-fitness-dialog .fitness-games-panel,.portal-fitness-dialog .fitness-rounds-panel,.portal-fitness-dialog .fitness-explainer{grid-column:span 3}}
@media(max-width:700px){.portal-fitness-dialog{width:100vw;height:100dvh;border:0;border-radius:0}.portal-fitness-dialog .portal-panel{padding:16px 14px 32px}.portal-fitness-dialog .portal-top{top:-16px;margin:-4px 0 18px;padding:6px 7px}.portal-fitness-dialog .portal-top .portal-back{font-size:0;min-width:42px;padding:5px}.portal-fitness-dialog .portal-top .portal-back::before{content:'←';font-size:23px}.portal-fitness-brand b{font-size:19px!important}.portal-fitness-brand .station-mark{width:36px;height:36px}.portal-fitness-dialog .fitness-dashboard{grid-template-columns:1fr;gap:12px}.portal-fitness-dialog .fitness-command-hero,.portal-fitness-dialog .fitness-hero,.portal-fitness-dialog .fitness-cards,.portal-fitness-dialog .fitness-quests,.portal-fitness-dialog .fitness-quests+.fitness-panel,.portal-fitness-dialog .fitness-weekly,.portal-fitness-dialog .fitness-history-panel,.portal-fitness-dialog .fitness-games-panel,.portal-fitness-dialog .fitness-rounds-panel,.portal-fitness-dialog .fitness-explainer{grid-column:1}.portal-fitness-dialog .fitness-command-hero{grid-template-columns:1fr;min-height:490px}.portal-fitness-dialog .fitness-command-art{inset:0;background:linear-gradient(0deg,#040b14 5%,#040b14e8 38%,#040b1473 68%,transparent),url('/assets/menu/fitness-dashboard-hero-v2.png') 66% center/cover no-repeat}.portal-fitness-dialog .fitness-command-copy{justify-content:end;padding:26px 22px;background:linear-gradient(0deg,#040b14 45%,transparent)}.portal-fitness-dialog .fitness-command-copy h3{font-size:clamp(47px,13vw,74px)}.portal-fitness-dialog .fitness-cards{grid-template-columns:1fr;display:grid}.portal-fitness-dialog .fitness-cards article,.portal-fitness-dialog .fitness-hero{min-height:0}.portal-fitness-dialog .fitness-badge-grid{grid-template-columns:1fr}.portal-fitness-dialog .fitness-controls{grid-template-columns:1fr}.portal-fitness-dialog .fitness-controls details{grid-column:auto}.portal-fitness-dialog .fitness-chart{height:145px}}
@media(prefers-reduced-motion:reduce){.portal-fitness-dialog .fitness-command-art{animation:none}.fitness-play-now{transition:none}}
