:root{--bg:#090D14;--panel:#171E2B;--panel2:#1C2634;--panel3:#202B3B;--line:#34455D;--txt:#F5F8FF;--muted:#A8B6C9;--accent:#91DEFF;--accent2:#A38CFF;--danger:#FF798C;--gold:#eed69a;--radius:20px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--txt);font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}a{color:var(--accent)}[hidden]{display:none!important}h1,h2,h3,h4,p{margin-top:0}h1{font-size:clamp(29px,4vw,47px);line-height:1.07;letter-spacing:-1.5px;margin-bottom:13px}h2{font-size:22px;letter-spacing:-.65px}h3{font-size:17px;letter-spacing:-.3px;margin-bottom:7px}h4{font-size:14px;margin-bottom:6px}p{color:var(--muted)}.app-shell{min-height:100vh;display:flex}.sidebar{width:252px;background:#0e1115;border-right:1px solid var(--line);padding:27px 16px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:3}.brand{display:flex;align-items:center;gap:12px;padding:4px 10px 42px}.brand-icon{background:var(--accent);color:#0b0f14;border-radius:12px;width:43px;height:43px;font-size:30px;font-weight:1000;letter-spacing:-7px;padding-left:9px;line-height:42px}.brand-icon span{font-size:14px;vertical-align:top;letter-spacing:0;margin-left:-2px}.brand strong{font-size:17px;letter-spacing:1px}.brand small{display:block;color:var(--muted);font-size:9px;letter-spacing:1.3px}.sidebar-label{font-size:10px;letter-spacing:2px;font-weight:800;color:#5f7a89;padding:0 13px;margin-bottom:12px}.sidebar nav{display:grid;gap:6px}.nav-item{border:1px solid transparent;background:transparent;text-align:left;color:#9eb1bc;border-radius:12px;padding:13px 14px;font-weight:650;display:flex;align-items:center;gap:12px}.nav-item span{font-size:20px;width:23px;text-align:center}.nav-item:hover,.nav-item.selected{background:#212730;color:var(--accent);border-color:#384251}.side-bottom{margin-top:auto;padding:20px 10px 4px}.agent-pill{font-size:12px;font-weight:800;color:var(--accent);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.agent-pill small{font-size:9px;color:var(--muted);font-weight:500}.side-bottom p{font-size:13px;margin:10px 0 15px}.side-coach{padding:12px;border-radius:10px;background:var(--accent);color:#15191e;font-weight:800;border:0;width:100%;display:flex;justify-content:space-between}.main-wrap{margin-left:252px;min-width:0;width:calc(100% - 252px)}.topbar{height:82px;border-bottom:1px solid #1e232a;padding:0 clamp(22px,4vw,54px);display:flex;align-items:center;justify-content:space-between}.crumb,.eyebrow{font-size:10px;letter-spacing:2.2px;color:var(--accent);font-weight:850}.top-actions{display:flex;align-items:center;gap:10px;color:#c0ccd3;font-size:11px;letter-spacing:1.1px;font-weight:800}.dot-online{width:8px;height:8px;background:var(--accent);border-radius:50%;box-shadow:0 0 15px #91DEFF}.avatar-btn{height:35px;width:35px;border-radius:50%;border:1px solid #607b8a;background:#2f3743;color:var(--accent);font-weight:800}.mobile-brand,.mobile-nav{display:none}#page{padding:34px clamp(20px,4vw,54px) 55px;min-height:calc(100vh - 135px);max-width:1660px}.foot{padding:0 32px 25px;color:#5a7482;font-size:11px}.section-title{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:32px 0 17px}.section-title h2{margin:0}.section-title small{color:var(--muted)}.muted{color:var(--muted)}.tiny{font-size:11px}.eyebrow{margin-bottom:12px}.btn{border:1px solid #404c5d;border-radius:12px;padding:11px 17px;color:var(--txt);background:#1e232b;font-weight:800;transition:transform .15s,background .15s}.btn:hover{transform:translateY(-1px);background:#2b323d}.btn.primary{background:var(--accent);border-color:var(--accent);color:#11161d}.btn.ghost{background:transparent;border-color:#374150}.btn.danger{color:var(--danger);border-color:#8b4d44}.btn.slim{padding:8px 12px;font-size:12px}.btn.full{width:100%}.btn:active{transform:scale(.98)}.grid{display:grid;gap:17px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:linear-gradient(150deg,#15191f,#101317);border:1px solid var(--line);border-radius:var(--radius);padding:24px;min-width:0;overflow:hidden}.card.soft{background:#14171c}.card.nopad{padding:0}.card .label{color:#88a0ad;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1.1px}.big-number{font-size:33px;font-weight:900;letter-spacing:-1.5px;margin:9px 0 5px}.unit{color:#afbec7;font-size:13px;font-weight:500;letter-spacing:0}.delta{color:var(--accent2);font-size:12px}.hero{background:radial-gradient(ellipse at 91% 40%,#2f3e54 0%,transparent 42%),linear-gradient(120deg,#1b1f26,#0e1014);border:1px solid #36404e;min-height:260px;border-radius:24px;padding:clamp(25px,3.6vw,46px);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:20px}.hero-content{position:relative;z-index:1;max-width:560px}.hero h1 em{color:var(--accent);font-style:normal}.hero p{font-size:15px;max-width:490px}.hero-ornament{font-size:200px;font-weight:900;color:#91deff18;line-height:.8;transform:rotate(-15deg);position:absolute;right:7%;top:25px;pointer-events:none}.hero-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:22px}.tag{display:inline-block;border:1px solid #384250;border-radius:50px;background:#222831;color:#C5EAFB;font-weight:700;font-size:11px;padding:5px 10px;white-space:nowrap}.tag.pale{background:#1b2028;color:#9eb1bc}.tag.gold{color:var(--gold);border-color:#62593d}.progress{background:#29303b;height:8px;border-radius:20px;overflow:hidden}.progress>div{height:100%;background:linear-gradient(90deg,var(--accent2),var(--accent));border-radius:20px}.flex-between{display:flex;justify-content:space-between;align-items:center;gap:10px}.flex{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.session{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px;border:1px solid #2d3541;border-radius:15px;background:#181c23;margin-top:12px}.session .num{height:45px;width:45px;border-radius:11px;background:#252b35;color:var(--accent);display:grid;place-items:center;font-size:20px}.session h4{margin:0}.session p{font-size:12px;margin:3px 0 0}.ex-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid #282f3a;padding:16px 0}.ex-row:last-child{border-bottom:0}.ex-icon{height:52px;width:52px;flex-shrink:0;border-radius:13px;background:linear-gradient(145deg,#2f3743,#191e25);display:grid;place-items:center;font-size:24px;color:var(--accent)}.ex-meta{min-width:0;flex:1}.ex-meta strong{display:block}.ex-meta small{color:var(--muted)}.metric-list{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.metric-chip{background:#1f242c;border:1px solid #303946;padding:7px 12px;border-radius:10px;color:#c0ccd3;font-size:12px}.week-head{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.daybox{padding:10px 4px;text-align:center;border:1px solid #2a323d;background:#171b21;border-radius:12px;min-width:0}.daybox span{display:block;color:var(--muted);font-size:10px}.daybox b{font-size:16px}.daybox.active{background:#2e3643;border-color:#75C6FF;color:var(--accent)}.daybox.done{background:#313b4a;border-color:#83C8E7}.daybox.today{box-shadow:inset 0 0 0 1px var(--accent)}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px}.cal-cell{min-height:75px;border:1px solid #2d3541;background:#14181d;border-radius:12px;padding:10px;position:relative;color:#cad4da;text-align:left}.cal-cell.off{opacity:.25}.cal-cell.completed{background:#303845;border-color:#6EB4F0}.cal-cell.today{outline:2px solid var(--accent)}.cal-cell small{display:block;color:var(--muted)}.cal-cell i{position:absolute;bottom:10px;right:12px;font-size:17px;color:var(--accent);font-style:normal}.cal-head{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:8px;color:var(--muted);margin:15px 0;font-size:12px}.monthnav{display:flex;justify-content:space-between;align-items:center;gap:10px}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#aebec7;font-weight:800}.field input,.field select,.field textarea{width:100%;background:#0f1216;border:1px solid #313a47;color:var(--txt);border-radius:11px;padding:12px;min-height:44px}.field textarea{resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#698697}.field input:focus,.field select:focus,.field textarea:focus{outline:1px solid var(--accent)}.field select option{color:var(--txt);background:#13161b}.checklist{display:flex;flex-wrap:wrap;gap:9px}.check{padding:9px 12px;border:1px solid #343d4b;border-radius:12px;background:#161a1f;color:#becbd2;display:flex;align-items:center;gap:7px;cursor:pointer}.check input{accent-color:#91DEFF}.note{background:#1b1f26;border-left:3px solid var(--accent);border-radius:10px;padding:15px;color:#b9c7cf;font-size:13px;margin:13px 0}.warning{border-left-color:#F2C977;background:#30271b;color:#e8ceab}.food-bar{height:16px;border-radius:50px;background:#2b323d;overflow:hidden;display:flex}.food-bar span{display:block;height:100%}.food-bar .protein{background:#91DEFF}.food-bar .fat{background:#eacb95}.food-bar .carb{background:#A38CFF}.meal{padding:16px;background:#1b2027;border:1px solid #333c49;border-radius:13px;margin-top:10px}.meal p{margin:3px 0 0}.run-stage{text-align:center;background:radial-gradient(ellipse at center,#2c3440,#12161b 70%);padding:38px 14px;border:1px solid #3b4554;border-radius:23px}.run-timer{font-size:clamp(43px,6vw,80px);font-weight:950;letter-spacing:-3px;font-variant-numeric:tabular-nums;margin:14px auto}.run-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px auto 10px;max-width:640px}.run-stats strong{display:block;font-size:26px}.route-canvas{display:block;background:#111418;border:1px solid #303845;border-radius:16px;width:100%;height:265px}.ranking-table{width:100%;border-collapse:collapse}.ranking-table td,.ranking-table th{border-bottom:1px solid #2b333e;padding:15px 8px;text-align:left}.ranking-table th{color:#879eab;font-size:11px;letter-spacing:1px}.ranking-table td b{color:var(--accent)}.ranking-table tr.me{background:#1f252d}.overlay{position:fixed;inset:0;background:#030714e6;z-index:30;display:grid;place-items:center;padding:15px;overflow:auto}.modal{width:min(760px,100%);background:#12151a;border:1px solid #424e60;border-radius:23px;padding:24px;box-shadow:0 30px 100px #000a;max-height:calc(100vh - 30px);overflow:auto}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.icon-btn{background:#232933;border:1px solid #465265;color:var(--txt);border-radius:10px;font-size:19px;width:36px;height:36px;display:grid;place-items:center}.model-canvas{display:block;width:100%;height:360px;border-radius:16px;background:radial-gradient(ellipse at 50% 75%,#262e3b,#0c0f13 75%);touch-action:none}.toast{position:fixed;bottom:24px;right:24px;padding:13px 20px;border:1px solid #5d7786;background:#272e39;color:#E8F7FF;border-radius:13px;box-shadow:0 12px 30px #0009;z-index:60;display:none;max-width:360px}.toast.show{display:block}.coach-messages{height:300px;overflow:auto;display:flex;flex-direction:column;gap:12px;padding:12px;background:#0c0e12;border-radius:12px;margin:15px 0}.message{max-width:90%;background:#282f39;padding:12px 15px;border-radius:13px;font-size:13px;white-space:pre-wrap}.message.mine{align-self:flex-end;background:#3d495b;color:#F5F8FF}.message.bot{align-self:flex-start}.coach-form{display:flex;gap:7px}.coach-form input{min-width:0;flex:1}.onboarding-shell{min-height:100vh;padding:40px 18px;display:grid;place-items:center;background:radial-gradient(ellipse at 80% 0%,#252d3a,transparent 35%),#090D14}.onboard{max-width:880px;width:100%;background:linear-gradient(140deg,#191d24,#101318);border:1px solid #3e495a;border-radius:26px;padding:clamp(20px,4vw,45px)}.onboard h1{max-width:670px}.onboard-head{display:flex;justify-content:space-between;gap:20px}.step-bubbles{display:flex;gap:7px;margin-bottom:20px}.step-bubbles span{width:35px;height:4px;background:#313946;border-radius:20px}.step-bubbles span.current{background:var(--accent)}.onboard-description{margin-bottom:22px}.onboard-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.onboard-actions{display:flex;justify-content:space-between;margin-top:27px;gap:10px}.onboard .brand{padding:0 0 22px}.hide-mobile{display:initial}.divider{height:1px;background:#2f3744;margin:23px 0}.no-data{text-align:center;color:var(--muted);padding:20px}.value-accent{color:var(--accent)}
@media(max-width:1150px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar{width:220px}.main-wrap{margin-left:220px;width:calc(100% - 220px)}}
@media(max-width:810px){.sidebar{display:none}.main-wrap{margin-left:0;width:100%}.topbar{height:66px;padding:0 18px}.crumb{display:none}.mobile-brand{display:block;font-size:20px;font-weight:950;color:var(--accent)}.mobile-brand small{font-size:10px;letter-spacing:2px;color:var(--txt)}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:calc(63px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#111419;border-top:1px solid #36404e;justify-content:space-around;z-index:10}.mobile-nav button{min-width:0;flex:1;border:0;color:#b2c1c9;background:transparent;font-size:20px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:1px}.mobile-nav button.selected{color:var(--accent)}.mobile-nav small{font-size:10px}#page{padding:24px 17px 100px}.foot{display:none}.hero{min-height:260px}.hero-ornament{right:-25px;font-size:185px}.top-actions{font-size:10px}.toast{bottom:83px;left:12px;right:12px}.hide-mobile{display:none}}
@media(max-width:570px){.g2,.g3,.g4,.profile-grid,.onboard-fields{grid-template-columns:1fr}.hero{padding:28px}.hero h1{font-size:32px}.hero p{font-size:13px}.card{padding:19px}.section-title{align-items:center}.cal-grid{gap:4px}.cal-cell{padding:6px;min-height:59px;border-radius:7px}.cal-cell i{right:5px;bottom:4px}.cal-head{gap:2px}.run-stats strong{font-size:19px}.run-timer{font-size:54px}.ex-row{gap:8px}.ex-icon{width:40px;height:43px}.ex-row .btn{padding:7px;font-size:11px}.onboard-actions{flex-wrap:wrap}.modal{padding:15px}.model-canvas{height:310px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* V1.2: Mobile-first usability (Android/iOS browser demo). Native builds will follow. */
html { -webkit-text-size-adjust:100%; }
body { overflow-x:hidden; min-width:280px; }
button, a, input, select, textarea { -webkit-tap-highlight-color:transparent; }
button, input, select, textarea { touch-action:manipulation; }
button { user-select:none; -webkit-user-select:none; }
.btn, .icon-btn, .side-coach { min-height:44px; }
.check { min-height:44px; }
#app-shell { min-height:100dvh; }
.onboarding-shell { min-height:100dvh; padding-top:max(22px, env(safe-area-inset-top)); padding-bottom:max(28px, env(safe-area-inset-bottom)); }
@media(max-width:810px) {
  .topbar { padding-top:env(safe-area-inset-top); height:calc(66px + env(safe-area-inset-top)); }
  .topbar .top-actions { letter-spacing:0; }
  #page { padding-bottom:calc(110px + env(safe-area-inset-bottom)); }
  .mobile-nav { box-shadow:0 -12px 24px rgba(0,0,0,.17); }
  .mobile-nav button { min-height:48px; touch-action:manipulation; }
  .toast { bottom:calc(77px + env(safe-area-inset-bottom)); }
  .overlay { padding-top:max(14px,env(safe-area-inset-top)); padding-bottom:max(14px,env(safe-area-inset-bottom)); }
  .modal { max-height:calc(100dvh - 40px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); overscroll-behavior:contain; }
  .onboard { width:100%; }
  .onboard-actions .btn { min-height:48px; }
  .field input, .field select, .field textarea { font-size:16px; }
  .run-stage .btn { min-height:48px; }
  .coach-messages { -webkit-overflow-scrolling:touch; }
}
@media(max-width:360px) {
  .mobile-nav small { font-size:9px; }
  .mobile-nav button { font-size:19px; }
  #page { padding-left:12px; padding-right:12px; }
  .cal-cell { padding:4px; min-height:52px; }
  .cal-cell b { font-size:12px; }
  .section-title { flex-wrap:wrap; }
  .run-stats { gap:5px; }
  .topbar { padding-left:12px; padding-right:12px; }
}
@media(prefers-contrast:more) { .btn, .field input, .field select, .field textarea, .card { border-color:#869eab; } }


/* V1.3 — DARK GLASS PERFORMANCE: mobile-first Web/PWA preview (não é app nativo). */
:root {
  --bg:#090D14;--panel:#171E2B;--panel2:#1C2634;--panel3:#202B3B;
  --line:#33465D;--txt:#F5F8FF;--muted:#A8B6C9;
  --accent:#91DEFF;--accent2:#A38CFF;--danger:#FF798C;
  --gold:#F2C977;--radius:22px;
}
html { -webkit-tap-highlight-color:transparent; scroll-padding-top:80px; }
body {
  background:radial-gradient(ellipse 76% 42% at 95% -5%, rgba(91,113,184,.13), transparent 70%),
             radial-gradient(ellipse 65% 35% at 0% 40%, rgba(33,116,153,.07), transparent 90%),var(--bg);
  color:var(--txt); font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
h1,h2,h3,.big-number,.run-timer {letter-spacing:-.035em}
#page {max-width:1500px}
.topbar {background:rgba(9,13,20,.71);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-color:rgba(145,222,255,.12)}
.sidebar {background:linear-gradient(180deg,#111927,#0B1019);border-color:rgba(145,222,255,.14)}
.brand-icon {background:linear-gradient(140deg,#91DEFF,#A38CFF);color:#0B1322;box-shadow:0 7px 28px rgba(145,222,255,.18)}
.mobile-brand {color:var(--accent);letter-spacing:-.04em}
.nav-item {transition:background .22s ease,border-color .22s ease,color .22s ease}
.nav-item.selected,.nav-item:hover {background:rgba(145,222,255,.10);border-color:rgba(145,222,255,.20);color:#D6F5FF}
.side-coach,.btn.primary {background:linear-gradient(130deg,#91DEFF,#B5DDFD);border-color:#A7E7FF;color:#09111E;box-shadow:0 8px 22px rgba(86,165,209,.13)}
.btn {min-height:44px;border-radius:14px;transition:background .18s,transform .18s,border-color .18s,box-shadow .18s}
.btn:active {transform:scale(.97)}
.btn.ghost {background:rgba(30,44,65,.55);border-color:rgba(145,222,255,.22)}
.btn.ghost:hover {background:rgba(70,91,130,.4);border-color:rgba(145,222,255,.4)}
.btn.primary:hover {background:linear-gradient(130deg,#B4EAFF,#CEBAFF);box-shadow:0 9px 28px rgba(145,222,255,.16)}
.avatar-btn {background:linear-gradient(155deg,#29334E,#1A2940);border:1px solid rgba(145,222,255,.38);color:var(--accent)}
.dot-online {background:#67DEAD;box-shadow:0 0 12px rgba(103,222,173,.56)}
.card {background:linear-gradient(154deg,rgba(30,40,59,.93),rgba(17,25,39,.95));border:1px solid rgba(145,222,255,.13);box-shadow:inset 0 1px rgba(255,255,255,.026),0 12px 30px rgba(1,5,13,.09)}
.card.soft {background:rgba(25,36,55,.78)}
.card .label {color:#A6B9D1}
.hero {background:radial-gradient(circle at 87% 36%,rgba(84,139,207,.28),transparent 47%),radial-gradient(circle at 64% 95%,rgba(163,140,255,.12),transparent 48%),linear-gradient(132deg,#19283F,#0E1523);border-color:rgba(145,222,255,.29);box-shadow:inset 0 1px rgba(255,255,255,.05)}
.hero-ornament {color:rgba(145,222,255,.13);text-shadow:0 0 35px rgba(145,222,255,.13)}
.hero h1 em,.value-accent {color:var(--accent)}
.tag,.metric-chip {border-color:rgba(145,222,255,.19);background:rgba(145,222,255,.085);color:#CEEAFE}
.tag.pale {background:rgba(163,140,255,.08);color:#C3B7FA}
.tag.gold {border-color:rgba(242,201,119,.33)}
.session {background:linear-gradient(135deg,rgba(36,49,73,.74),rgba(23,33,51,.7));border-color:rgba(145,222,255,.14)}
.session .num,.ex-icon {background:linear-gradient(150deg,rgba(145,222,255,.15),rgba(163,140,255,.075));color:var(--accent)}
.daybox.active,.daybox.done,.cal-cell.completed {background:rgba(145,222,255,.12);border-color:rgba(145,222,255,.37)}
.daybox.today,.cal-cell.today {box-shadow:inset 0 0 0 1px var(--accent)}
.field input,.field select,.field textarea {background:#0C1422;border:1px solid rgba(145,222,255,.22);border-radius:13px;color:var(--txt)}
.field input::placeholder,.field textarea::placeholder {color:#8192A9}
.field input:focus,.field select:focus,.field textarea:focus {border-color:var(--accent);box-shadow:0 0 0 3px rgba(145,222,255,.075)}
.field select option {background:#141C2B}
.check {background:rgba(145,222,255,.06);border-color:rgba(145,222,255,.17);color:#C8D6E7}
.check input {accent-color:#91DEFF}
.note {background:rgba(145,222,255,.065);border-left-color:var(--accent);color:#C5D8EC}
.note.warning {background:rgba(242,201,119,.095);color:#EAD6B9;border-left-color:#F2C977}
.progress,.food-bar {background:rgba(145,222,255,.12)}
.progress>div {background:linear-gradient(90deg,#A38CFF,#91DEFF)}
.overlay {background:rgba(1,5,13,.81);backdrop-filter:blur(11px);-webkit-backdrop-filter:blur(11px)}
.modal,.onboard {background:linear-gradient(140deg,rgba(29,41,62,.98),rgba(14,21,34,.98));border:1px solid rgba(145,222,255,.22);box-shadow:0 25px 90px rgba(0,0,0,.4)}
.onboarding-shell {background:radial-gradient(ellipse 70% 43% at 75% -5%,rgba(111,137,237,.19),transparent 70%),var(--bg)}
.model-canvas {touch-action:pan-y;}
.run-stage {border-color:rgba(145,222,255,.23)}
:where(.btn,button,a,select,input,textarea):focus-visible {outline:2px solid #91DEFF;outline-offset:3px}
@media (max-width:810px) {
  .topbar {background:rgba(9,13,20,.80)}
  .mobile-nav {
    position:fixed;
    height:65px;
    left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));
    bottom:calc(10px + env(safe-area-inset-bottom));
    padding:4px 6px;
    border:1px solid rgba(182,220,255,.26);
    border-radius:24px;
    background:rgba(24,35,56,.79);
    -webkit-backdrop-filter:blur(24px) saturate(1.45);
    backdrop-filter:blur(24px) saturate(1.45);
    box-shadow:0 12px 42px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.11);
    display:flex;gap:2px;align-items:center;justify-content:space-around;
    z-index:10;
  }
  .mobile-nav button {border:0;min-width:0;min-height:54px;flex:1;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;color:#B6C2D9;font-size:21px;line-height:1.05;font-weight:700;background:transparent;transition:background .2s,color .2s,transform .15s}
  .mobile-nav button.selected {color:#A7E8FF;background:rgba(145,222,255,.14)}
  .mobile-nav button:active {transform:scale(.94)}
  .mobile-nav button small {display:block;font-size:10px;font-weight:700;letter-spacing:0;margin-top:4px}
  #page {padding-bottom:calc(124px + env(safe-area-inset-bottom));}
  .toast {bottom:calc(91px + env(safe-area-inset-bottom));}
  .topbar {padding-left:max(17px,env(safe-area-inset-left));padding-right:max(17px,env(safe-area-inset-right));}
}
@media (max-width:570px) {
  .hero {min-height:285px;padding:26px}
  .hero-ornament {font-size:140px;right:4%;top:15px}
  .card {padding:19px}
  .modal {border-radius:25px}
  .section-title {gap:8px}
}
@media (max-width:360px) {.mobile-nav button small {font-size:9px}.hero {padding:19px}}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}
@media (prefers-contrast:more) {
  .card,.mobile-nav,.onboard,.modal {border-color:#A6E7FF}
  .mobile-nav {background:#101726;backdrop-filter:none;-webkit-backdrop-filter:none}
}


/* V1.4: brand integration — official logo & compact crest from same artwork. */
.brand-mark{width:46px;height:46px;flex:none;object-fit:cover;border-radius:13px;border:1px solid rgba(145,222,255,.20);box-shadow:0 0 22px rgba(30,145,255,.17)}
.brand{gap:12px}
.mobile-brand{align-items:center;gap:7px;min-width:0}
.mobile-brand img{border-radius:10px;box-shadow:0 0 15px rgba(80,166,255,.20)}
.mobile-brand strong{display:block;color:#F5F8FF;font-size:13px;letter-spacing:.075em;line-height:1.05}
.mobile-brand small{display:block;color:#91DEFF!important;font-size:9px;letter-spacing:.24em;line-height:1.35}
.hero{isolation:isolate;min-height:330px}
.hero-content{flex:1 1 56%;max-width:570px}
.hero-brand-image{flex:0 1 37%;min-width:205px;align-self:stretch;display:flex;align-items:center;justify-content:center;pointer-events:none}
.hero-brand-image img{display:block;width:min(100%,350px);max-height:345px;object-fit:contain;mix-blend-mode:screen;filter:drop-shadow(0 8px 25px rgba(64,159,255,.18));-webkit-mask-image:radial-gradient(ellipse at center,#000 55%,transparent 77%);mask-image:radial-gradient(ellipse at center,#000 55%,transparent 77%)}
.onboard-logo{display:flex;justify-content:center;align-items:center;min-height:220px;margin:-14px auto 7px;border-radius:24px;background:radial-gradient(ellipse at center,rgba(59,123,195,.15),transparent 67%)}
.onboard-logo img{width:210px;height:210px;object-fit:contain;mix-blend-mode:screen;filter:drop-shadow(0 7px 20px rgba(44,158,246,.15));-webkit-mask-image:radial-gradient(ellipse at center,#000 53%,transparent 78%);mask-image:radial-gradient(ellipse at center,#000 53%,transparent 78%)}
@media(min-width:811px){.mobile-brand{display:none}}
@media(max-width:810px){.mobile-brand{display:flex}.hero{min-height:280px}.hero-brand-image{position:absolute;right:-20px;top:0;bottom:0;width:50%;height:100%;min-width:0;opacity:.25;z-index:0}.hero-brand-image img{max-height:280px;width:100%}.hero-content{position:relative;z-index:1}}
@media(max-width:570px){.topbar{padding:0 14px}.hero-brand-image{width:65%;right:-39px;opacity:.18}.hero-content{flex:auto;width:100%;}.onboard-logo{min-height:184px;margin-top:-15px}.onboard-logo img{width:180px;height:180px}.onboard .brand{padding-bottom:12px}.mobile-brand strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){.hero-brand-image img,.onboard-logo img{transition:none;animation:none}}

/* ECTOMAX V1.5 — Visualizador WebGL mobile-first, tema Dark Glass Performance */
.athlete-modal {width:min(690px,100%);padding:clamp(15px,3vw,27px);background:linear-gradient(150deg,#141d2b,#090c14 75%);border:1px solid #3a4a64;box-shadow:0 28px 100px #000e,0 0 35px #91deff12}
.athlete-modal .modal-head h2{font-size:clamp(20px,4vw,29px);letter-spacing:-.7px}
.athlete-modal .modal-head .eyebrow{color:#91DEFF}
.athlete-modal .model-tags{margin:16px 0 12px;gap:7px}
.athlete-stage{position:relative;overflow:hidden;isolation:isolate;border:1px solid #344d6c;border-radius:24px;background:radial-gradient(ellipse at 51% 41%,#284562bb 0%,#132238 36%,#0a111e 70%,#080c14 100%);height:clamp(345px,58vh,490px);min-height:345px;box-shadow:inset 0 0 70px #040a18,0 15px 50px #0008}
.athlete-stage:after{content:"";position:absolute;pointer-events:none;inset:auto -10% -10px;height:120px;background:repeating-linear-gradient(0deg,transparent 0 22px,#78bbff14 23px 24px),repeating-linear-gradient(90deg,transparent 0 28px,#78bbff14 29px 30px);mask-image:linear-gradient(transparent,black);transform:perspective(180px) rotateX(53deg);transform-origin:bottom center;z-index:-1}
.athlete-glow{position:absolute;width:220px;height:310px;top:16%;left:calc(50% - 110px);border-radius:100%;background:#58bffd28;filter:blur(55px);z-index:-1;pointer-events:none}
.athlete-stage-top,.athlete-stage-bottom{position:absolute;display:flex;justify-content:space-between;align-items:center;left:15px;right:15px;color:#A9BCD5;font-size:10px;letter-spacing:1px;pointer-events:none;z-index:2}
.athlete-stage-top{top:15px}.athlete-stage-bottom{bottom:12px;letter-spacing:0;font-size:10px}
.athlete-live{display:flex;align-items:center;gap:7px;color:#91DEFF;font-weight:800}
.athlete-live-dot{height:6px;width:6px;border-radius:50%;background:#91DEFF;box-shadow:0 0 11px #91DEFF}
.athlete-stage .model-canvas{position:absolute;inset:0;height:100%;width:100%;background:transparent!important;touch-action:none;cursor:grab;display:block}
.athlete-stage .model-canvas:active{cursor:grabbing}
.athlete-controls{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin:12px 0 20px}
.athlete-control{min-height:46px;min-width:0;border-radius:14px;border:1px solid #405471;background:linear-gradient(135deg,#263c54b3,#141c2bea);box-shadow:inset 0 1px #ffffff16;color:#E9F3FF;font-weight:700;font-size:12px;cursor:pointer;touch-action:manipulation}
.athlete-control:hover,.athlete-control:focus-visible{background:#35506b;border-color:#91DEFF;outline:0}
.athlete-control:active{transform:scale(.97)}
.athlete-description{display:grid;grid-template-columns:1fr;gap:12px;border-top:1px solid #2b3b4f;padding-top:15px}
.athlete-description h3{margin:6px 0;color:#F5F8FF}.athlete-description p{margin:0;color:#ADBFD4}
.athlete-fallback{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:24px;max-width:420px;margin:auto;color:#E6EFFA}
.athlete-fallback p{color:#A8B6C9}
@media(max-width:520px){.athlete-modal{max-height:calc(100dvh - 18px);padding:13px}.athlete-modal .model-tags{margin:9px 0}.athlete-stage{height:min(52dvh,410px);min-height:290px;border-radius:18px}.athlete-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.athlete-control{min-height:44px}.athlete-stage-bottom span:last-child{display:none}.athlete-modal .note{font-size:12px}}
@media(prefers-reduced-motion:reduce){.athlete-control:active{transform:none}}

/* V1.6 — player de movimento e controles para telas de Android/iPhone. */
.motion-player{border:1px solid #334963;background:linear-gradient(140deg,#16283cdd,#0e1727ee);border-radius:20px;padding:16px;margin:0 0 18px;box-shadow:inset 0 1px 0 #ffffff0b}
.motion-player-top,.motion-range-label,.motion-actions{display:flex;justify-content:space-between;align-items:center;gap:12px}
.motion-player-top{margin-bottom:14px}.motion-player-top strong{color:#eaf6ff;font-size:14px}.motion-status{font-size:11px;color:#91deff;background:#243a50;border:1px solid #3e6484;border-radius:30px;padding:5px 10px}
.motion-range-label{font-size:12px;color:#a8b6c9}.motion-range-label output{color:#91deff;font-variant-numeric:tabular-nums}
.motion-range{width:100%;height:30px;accent-color:#91deff;cursor:pointer;touch-action:pan-x;margin:7px 0 14px}
.motion-actions{justify-content:flex-start}.motion-actions .athlete-control{min-width:102px;padding:0 12px}.motion-main{color:#09101b!important;background:#91deff!important;border-color:#91deff!important;font-weight:800}
.motion-speed-label{display:flex;align-items:center;gap:8px;color:#acbfd2;font-size:12px;margin-left:auto}.motion-speed-label select{border-radius:10px;border:1px solid #4b6681;background:#13283c;color:#f5f8ff;padding:10px 9px;min-height:44px;font-size:13px}
@media(max-width:420px){.motion-player{padding:12px}.motion-actions{flex-wrap:wrap}.motion-actions .athlete-control{flex:1}.motion-speed-label{width:100%;justify-content:space-between}.athlete-stage{height:min(45dvh,390px)}.motion-player-top strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){.athlete-live-dot{box-shadow:none}}

/* V1.7 — console de câmera premium, sem alterar as demais áreas do aplicativo */
.camera-panel{background:linear-gradient(154deg,#1a2a3d 0%,#101927 70%);border:1px solid #3c506d;border-radius:22px;padding:15px;margin:12px 0 19px;box-shadow:inset 0 1px 0 #ffffff12,0 12px 36px #0005;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.camera-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}
.camera-panel-head strong{display:block;font-size:14px;line-height:1.3;color:#f5f8ff;margin-top:3px}
.camera-bearing{font:700 14px/1.2 monospace;letter-spacing:.5px;font-variant-numeric:tabular-nums;color:#91deff;background:#132b42;border:1px solid #426781;border-radius:12px;padding:9px 12px;min-width:57px;text-align:center}
.camera-presets,.camera-tools{display:grid;gap:7px;grid-template-columns:repeat(4,minmax(0,1fr))}
.camera-presets{margin-bottom:9px}.camera-panel .athlete-control{min-height:48px;min-width:0;font-size:12px;padding:7px 4px;white-space:nowrap}
.camera-panel .athlete-control[aria-pressed=true],.camera-focus-buttons button[aria-pressed=true]{color:#051725;border-color:#91deff;background:linear-gradient(135deg,#b1e9ff,#71cfff);box-shadow:0 3px 13px #52c3ff36;font-weight:800}
.camera-panel .athlete-control:disabled{opacity:.45;cursor:not-allowed}
.camera-tools .athlete-control{display:flex;justify-content:center;align-items:center;gap:5px}.camera-tools .athlete-control span{font-size:11px}
.camera-focus{margin-top:15px;padding-top:13px;border-top:1px solid #ffffff1b}
.camera-focus-label{display:block;font-size:10px;color:#9db3c8;letter-spacing:1.3px;font-weight:800;margin-bottom:10px}
.camera-focus-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.camera-focus-buttons button{background:#101f30;border:1px solid #3b5270;border-radius:12px;min-height:46px;color:#e1ebf8;font:700 12px/1.2 inherit;cursor:pointer;touch-action:manipulation}
.camera-focus-buttons button:focus-visible,.camera-panel .athlete-control:focus-visible{outline:2px solid #fff;outline-offset:2px}
.athlete-stage .model-canvas:focus-visible{outline:2px solid #91deff;outline-offset:-4px}
.athlete-stage-top #model-orientation{color:#c8eaff;background:#142a4088;border:1px solid #76bce333;border-radius:14px;padding:6px 9px;font-size:9px}
@media(max-width:520px){.camera-panel{padding:12px;margin:10px 0 16px;border-radius:18px}.camera-presets,.camera-tools{gap:6px}.camera-panel .athlete-control{font-size:11px;min-height:48px}.camera-tools .athlete-control{flex-direction:column;gap:1px;font-size:15px}.camera-tools .athlete-control span{font-size:9px}.camera-focus-buttons{gap:6px}.camera-focus-buttons button{font-size:11px}.camera-panel-head strong{font-size:13px}}
@media(prefers-reduced-motion:reduce){.camera-panel,.camera-panel .athlete-control,.camera-focus-buttons button{transition:none!important;animation:none!important}}


/* V1.8 — PERFORMANCE STUDIO: cenário premium sem imagens ou dependências externas. */
.athlete-stage{background:radial-gradient(ellipse at 50% 43%,#183a56 0%,#0a182a 44%,#050a13 100%);border-color:#496880;box-shadow:inset 0 0 65px #0008,0 15px 50px #0008,0 0 0 1px #b4eaff10}
.athlete-stage::after{display:none}
.studio-backdrop{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 50% 30%,#1b476064,transparent 61%),linear-gradient(180deg,#050a13 0%,#10263a 55%,#040916 100%)}
.studio-ceiling{position:absolute;inset:0 0 auto;height:22%;border-top:3px solid #7fdcff34;box-shadow:inset 0 18px 35px #7acfff0e;background:linear-gradient(90deg,transparent 8%,#83dfff22 9%,transparent 10%,transparent 90%,#83dfff22 91%,transparent 92%)}
.studio-back-wall{position:absolute;top:15%;bottom:24%;left:15%;right:15%;border:1px solid #97dfff1c;border-bottom:2px solid #84d7ff30;border-radius:38% 38% 8% 8%/13% 13% 5% 5%;background:linear-gradient(90deg,#06111b84,transparent 20%,transparent 80%,#06111b84),repeating-linear-gradient(90deg,transparent 0 66px,#89dfff0b 67px 68px);box-shadow:0 0 56px #4bd1ff12,inset 0 0 48px #83dbff07}
.studio-column{position:absolute;top:8%;bottom:9%;width:8%;max-width:56px;min-width:18px;border:1px solid #a4eaff28;background:linear-gradient(90deg,#07111f,#17426655 35%,#61cafa23 48%,#071324);box-shadow:inset 0 0 14px #4dbaff1c,0 0 18px #57bcff11;transform:perspective(150px) rotateY(12deg)}
.studio-column:before{content:"";position:absolute;inset:0 auto 0 47%;width:2px;background:linear-gradient(transparent,#9eeaff83 18%,#40aafc71 70%,transparent);box-shadow:0 0 13px #5be6ff92}
.studio-column-left{left:7%}.studio-column-right{right:7%;transform:perspective(150px) rotateY(-12deg)}
.studio-halo{position:absolute;width:min(70%,350px);aspect-ratio:1;border:1px solid #56d1ff36;border-radius:50%;left:50%;top:12%;transform:translateX(-50%) scaleY(.86);box-shadow:0 0 38px #48b0ff25,inset 0 0 45px #4dbeff14;background:radial-gradient(ellipse,#30abff0a,transparent 63%)}
.studio-wordmark{position:absolute;left:0;right:0;top:25%;text-align:center;color:#c2ecff16;font:950 clamp(24px,5.5vw,45px)/1 ui-sans-serif,system-ui,sans-serif;letter-spacing:.18em;white-space:nowrap;user-select:none}
.studio-wordmark span{display:block;font:800 10px/2 system-ui,sans-serif;letter-spacing:.34em;color:#98dfff37}
.studio-floor-glow{position:absolute;left:19%;right:19%;bottom:0;height:38%;border-radius:50%;background:radial-gradient(ellipse at bottom,#31bfff27,transparent 70%);filter:blur(28px)}
.athlete-stage .athlete-glow{z-index:1;opacity:.66}
.athlete-stage .model-canvas{z-index:2}
.athlete-stage-top,.athlete-stage-bottom{z-index:4;text-shadow:0 1px 9px #000b}
.studio-floor-label{position:absolute;bottom:46px;left:0;right:0;color:#81c9f957;letter-spacing:.33em;text-align:center;font-size:9px;font-weight:900;z-index:1;pointer-events:none}
.studio-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #3b5671;border-radius:18px;background:linear-gradient(110deg,#16293bde,#121e2bf0);padding:12px 14px;margin-top:10px;box-shadow:inset 0 1px #ffffff11}
.studio-bar-info{display:flex;flex-direction:column;gap:1px;min-width:0}.studio-bar-info strong{color:#e9f7ff;font-size:13px;white-space:nowrap}.studio-bar-kicker{font-size:9px;letter-spacing:1.35px;font-weight:900;color:#91deff}
.studio-bar-controls{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.studio-toggle{border:1px solid #577591;border-radius:12px;color:#ddecff;background:#1d354bd9;font-weight:750;font-size:11px;min-height:44px;padding:8px 11px;touch-action:manipulation;white-space:nowrap}
.studio-toggle[aria-pressed="true"]{background:#2a506d;border-color:#86dafe;color:#fff;box-shadow:inset 0 1px #ffffff1c}
.studio-toggle:focus-visible{outline:2px solid #fff;outline-offset:2px}
.studio-focus{background:radial-gradient(ellipse at center,#132c44,#080d18 75%)}
.studio-focus .studio-backdrop,.studio-focus .studio-floor-label{display:none}
.studio-focus .athlete-glow{opacity:.32}
.studio-eco .studio-halo,.studio-eco .studio-floor-glow{display:none}
.studio-eco .studio-column,.studio-eco .studio-back-wall{box-shadow:none}
@media(max-width:520px){.studio-wordmark{font-size:clamp(18px,6.4vw,32px)}.studio-column-left{left:4%}.studio-column-right{right:4%}.studio-halo{top:16%}.studio-bar{align-items:stretch;gap:9px;padding:10px;flex-wrap:wrap}.studio-bar-info{width:100%}.studio-bar-controls{width:100%;display:grid;grid-template-columns:1fr 1fr}.studio-toggle{font-size:11px;padding:8px 6px}.studio-floor-label{font-size:8px;bottom:43px}}
@media(prefers-reduced-transparency:reduce){.studio-bar{backdrop-filter:none;-webkit-backdrop-filter:none;background:#132537}.studio-backdrop{background:#0a1724}.studio-column{box-shadow:none}}
@media(prefers-reduced-motion:reduce){.studio-halo,.studio-backdrop,.studio-bar{animation:none!important;transition:none!important}}
