@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#0b0d0c;--panel:#121512;--panel-raised:#171b17;--panel-hover:#1c211b;--line:#252a24;--line-soft:#1d221c;--text:#f3f5ef;--muted:#8c9588;--dim:#596256;--accent:#d7ff63;--accent-deep:#b6df3e;--danger:#ff7777;--radius:20px;--mono:'DM Mono',monospace;--sans:'Manrope',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--nav-height:78px;}
*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 50% -18%,rgba(215,255,99,.065),transparent 44%),var(--bg);color:var(--text);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.app-shell{width:min(100%,780px);min-height:100vh;margin:0 auto;padding:0 24px calc(var(--nav-height) + 94px);position:relative}.topbar{height:80px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.055);margin-bottom:29px}.brand{color:var(--text);display:inline-flex;gap:10px;align-items:center;text-decoration:none}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--accent);color:#0e1207}.brand-mark svg{width:24px;height:24px;stroke-width:2.6}.brand-name{font-weight:800;letter-spacing:.11em;font-size:13px}.brand-period{color:var(--accent)}.prototype-tag{font-family:var(--mono);font-size:9px;letter-spacing:.05em;color:var(--accent);border:1px solid rgba(215,255,99,.25);padding:4px 6px;border-radius:5px;margin-left:1px}.topbar-actions{display:flex;gap:10px;align-items:center}.icon-button,.more-button{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:#a2ab9d}.icon-button svg{width:18px;height:18px}.icon-button.muted{color:#535b50}.avatar-button{height:36px;width:36px;border-radius:50%;border:1px solid #43502d;background:#242d1d;color:var(--accent);font-weight:800;font-size:12px}.page{display:none;animation:fade-in .25s ease}.page.active{display:block}@keyframes fade-in{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.page-kicker{display:flex;align-items:center;gap:9px;color:#aab3a4;font-family:var(--mono);font-size:9px;letter-spacing:.105em;font-weight:500}.live-dot{display:inline-block;flex:none;width:6px;height:6px;border-radius:100%;background:var(--accent);box-shadow:0 0 10px rgba(215,255,99,.28)}.kicker-line{height:1px;background:var(--line);flex:1;max-width:90px;margin-left:3px}.page-kicker>span:last-child{color:#656e60}.title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:23px;margin-bottom:24px}.eyebrow{font-family:var(--mono);font-size:9px;letter-spacing:.12em;color:#7f897a;margin:0 0 8px;font-weight:500}.title-row h1{font-size:clamp(32px,7vw,42px);line-height:1.12;margin:0;letter-spacing:-.065em;font-weight:800}.accent-text{color:var(--accent)}.subtitle{margin:9px 0 0;color:var(--muted);font-size:12px;letter-spacing:-.01em}.more-button{flex:none;color:#899181}.more-button svg{width:20px;height:20px}.session-card{border:1px solid #30382b;border-radius:var(--radius);background:linear-gradient(125deg,rgba(215,255,99,.065),transparent 46%),linear-gradient(145deg,#171b14,#121511 70%);padding:18px 20px 20px;position:relative;overflow:hidden;margin-bottom:31px}.session-card:after{content:"";position:absolute;right:-35px;top:-67px;width:185px;height:185px;border:1px solid rgba(215,255,99,.075);border-radius:50%;box-shadow:0 0 0 23px rgba(215,255,99,.018),0 0 0 47px rgba(215,255,99,.012);pointer-events:none}.session-topline{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}.session-status{display:flex;gap:8px;align-items:center;color:var(--accent);font-family:var(--mono);font-size:9px;letter-spacing:.1em}.status-ring{width:7px;height:7px;border:1px solid var(--accent);border-radius:50%;position:relative}.status-ring:after{content:"";position:absolute;inset:2px;background:var(--accent);border-radius:50%}.text-button{border:0;background:transparent;color:#8f9a84;font-size:11px;padding:4px 0}.text-button:hover{color:var(--text)}.pause-glyph{font-size:14px;margin-left:4px;color:var(--accent)}.session-metrics{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1px 1.45fr;gap:20px;align-items:center;margin-top:21px}.session-divider{height:64px;background:#30372a}.metric-label{font-family:var(--mono);font-size:8px;letter-spacing:.1em;color:#7d8776;display:block}.session-duration strong{display:block;font-family:var(--mono);font-size:32px;line-height:1.4;letter-spacing:-.07em;font-weight:400;color:var(--text);font-variant-numeric:tabular-nums}.metric-hint{display:block;font-size:10px;color:#717b6d;margin-top:3px}.progress-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.progress-head strong{font-size:15px;font-weight:700;font-family:var(--mono);color:var(--accent);white-space:nowrap}.progress-head strong span{font-family:var(--sans);font-size:10px;color:#8d9885;font-weight:500}.progress-track{height:5px;border-radius:20px;background:#30362b;overflow:hidden;margin:13px 0 10px}.progress-track span{height:100%;display:block;min-width:0;background:var(--accent);border-radius:20px;transition:width .3s ease;box-shadow:0 0 12px rgba(215,255,99,.2)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:14px;margin:0 0 15px}.section-heading h2,.chart-head h2{font-size:20px;letter-spacing:-.045em;line-height:1.15;margin:0;font-weight:750}.count-pill{display:inline-flex;vertical-align:middle;margin-left:5px;align-items:center;justify-content:center;border:1px solid #30382b;border-radius:6px;padding:4px 6px;color:var(--accent);font-family:var(--mono);font-size:10px;font-weight:400;letter-spacing:0}.ghost-button{background:transparent;border:1px solid var(--line);color:#8e9788;border-radius:10px;display:inline-flex;align-items:center;gap:7px;padding:9px 11px;font-size:10px}.ghost-button:hover{border-color:#414a38;color:var(--text)}.ghost-button svg{width:14px;height:14px}.exercise-list{display:flex;flex-direction:column;gap:12px}.exercise-card{border:1px solid #262b24;border-radius:17px;background:linear-gradient(150deg,#151814,#111310 80%);overflow:hidden;transition:border-color .2s}.exercise-card.has-completed{border-color:#303a28}.exercise-card.is-expanded{border-color:#3b4630}.exercise-card-head{padding:16px 16px 14px;display:flex;gap:12px;align-items:center}.exercise-symbol{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:var(--accent);background:#20271a;border:1px solid #303b25;flex:none}.exercise-symbol svg{width:23px;height:23px;stroke-width:1.8}.exercise-info{min-width:0;flex:1}.exercise-name-line{display:flex;align-items:center;gap:8px}.exercise-name{font-size:13px;line-height:1.35;font-weight:750;letter-spacing:-.02em}.exercise-number{font-family:var(--mono);font-size:9px;color:#66715e}.exercise-meta{font-size:10px;color:#828c7c;margin-top:5px;display:flex;align-items:center;gap:7px}.exercise-meta .meta-dot{width:3px;height:3px;border-radius:50%;background:#485044}.exercise-status{border:1px solid #343c2c;color:#7e8972;padding:4px 6px;border-radius:6px;font-family:var(--mono);font-size:8px;white-space:nowrap}.exercise-status.done{color:var(--accent);background:rgba(215,255,99,.07);border-color:rgba(215,255,99,.21)}.exercise-menu{color:#727b6c;border:0;background:transparent;padding:4px;display:grid;place-items:center;margin-left:0}.exercise-menu svg{width:18px;height:18px}.exercise-divider{height:1px;background:#252a22;margin:0 16px}.set-wrap{padding:12px 16px 15px}.sets-table-head,.set-row{display:grid;grid-template-columns:minmax(36px,.7fr) minmax(70px,1fr) minmax(70px,1fr) 40px;align-items:center;column-gap:9px}.sets-table-head{padding:1px 3px 8px;color:#677060;font-family:var(--mono);font-size:8px;letter-spacing:.08em}.sets-table-head span:last-child{text-align:center}.set-rows{display:flex;flex-direction:column;gap:6px}.set-row{border:1px solid transparent;border-radius:9px;background:#191d17;padding:5px 5px 5px 8px;min-height:43px;transition:background .2s,border-color .2s}.set-row.completed{background:rgba(215,255,99,.075);border-color:rgba(215,255,99,.12)}.set-index{font-family:var(--mono);font-size:11px;color:#788272}.set-row.completed .set-index{color:var(--accent)}.set-input{width:100%;max-width:96px;min-width:0;height:31px;text-align:center;background:#10120f;border:1px solid #2b3127;border-radius:6px;color:#e9ece3;font-family:var(--mono);font-size:12px;outline:none;padding:0 4px;font-variant-numeric:tabular-nums}.set-input:focus{border-color:var(--accent);background:#13170e}.set-input::-webkit-inner-spin-button,.set-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.set-input[type=number]{-moz-appearance:textfield}.set-row.completed .set-input{color:var(--accent);border-color:#353e2a;background:#151a11}.set-input-label{position:relative;display:block}.set-input-label:after{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-family:var(--sans);font-size:8px;color:#64705c;pointer-events:none}.set-input-label.weight:after{content:"kg"}.set-input-label.reps:after{content:"×"}.set-input-label .set-input{padding-right:20px;text-align:center}.set-check{width:29px;height:29px;border-radius:8px;display:grid;place-items:center;border:1px solid #384030;background:#20251c;color:#77836c;margin:auto;transition:all .18s}.set-check svg{width:15px;height:15px;stroke-width:2.5}.set-check:hover{border-color:var(--accent);color:var(--accent)}.set-check.checked{background:var(--accent);border-color:var(--accent);color:#11150b;box-shadow:0 0 15px rgba(215,255,99,.08)}.set-footer{display:flex;align-items:center;justify-content:space-between;margin-top:12px;gap:10px}.add-set-button{display:flex;align-items:center;gap:5px;color:#899480;border:0;background:transparent;font-size:10px;padding:5px 0}.add-set-button:hover{color:var(--accent)}.add-set-button .plus-icon{font-size:16px;line-height:1}.exercise-done-note{font-size:9px;color:var(--accent);display:flex;align-items:center;gap:5px}.exercise-done-note svg{width:12px;height:12px}.add-exercise-button{width:100%;margin-top:13px;border:1px dashed #343b2e;border-radius:14px;padding:15px;background:rgba(255,255,255,.012);display:flex;align-items:center;text-align:left;gap:12px;color:#a4ae99;transition:border-color .2s,background .2s}.add-exercise-button:hover{border-color:#667747;background:rgba(215,255,99,.03)}.plus-icon{color:var(--accent);font-size:22px;font-weight:400}.add-exercise-button strong{display:block;font-size:11px;color:#e0e5d9;font-weight:700}.add-exercise-button small{display:block;font-size:10px;color:#727c6a;margin-top:4px}.add-exercise-button .chevron{margin-left:auto;width:16px;height:16px;color:#697362}.finish-section{margin-top:27px;border-top:1px solid var(--line-soft);padding-top:18px;display:flex;flex-direction:column;gap:15px}.finish-section>div{display:flex;align-items:center;gap:8px;font-size:10px;color:#778171}.finish-note-dot{width:5px;height:5px;background:#707a66;border-radius:100%}.finish-button,.primary-button{border:0;border-radius:11px;background:var(--accent);color:#12150d;display:flex;align-items:center;justify-content:center;gap:10px;min-height:47px;padding:0 18px;font-weight:800;font-size:12px;transition:background .18s,transform .18s}.finish-button:hover,.primary-button:hover{background:#e1ff82;transform:translateY(-1px)}.finish-button svg{width:17px;height:17px;stroke-width:2.4}.bottom-nav{z-index:20;position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,780px);display:grid;grid-template-columns:repeat(4,1fr);padding:9px 20px calc(9px + env(safe-area-inset-bottom));background:rgba(14,16,13,.92);border-top:1px solid rgba(255,255,255,.08);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);min-height:var(--nav-height)}.nav-item{position:relative;border:0;background:transparent;color:#6f7968;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:9px;font-weight:600;letter-spacing:.01em;padding:0 3px}.nav-item .nav-icon{height:24px;display:grid;place-items:center}.nav-item svg{width:20px;height:20px;stroke-width:1.75}.nav-item.active{color:var(--accent)}.nav-item.active svg{stroke-width:2.1}.nav-active-dot{position:absolute;top:0px;width:4px;height:4px;border-radius:50%;background:var(--accent);opacity:0}.nav-item.active .nav-active-dot{opacity:1}.rest-dock{z-index:18;position:fixed;bottom:calc(var(--nav-height) + 12px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(calc(100% - 24px),650px);min-height:76px;border:1px solid #414a31;border-radius:17px;padding:12px 14px;display:flex;align-items:center;gap:12px;background:rgba(24,29,20,.96);box-shadow:0 12px 35px rgba(0,0,0,.28);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.rest-dock[hidden]{display:none}.rest-dock-icon{width:37px;height:37px;border-radius:11px;display:grid;place-items:center;background:#2a331e;color:var(--accent)}.rest-dock-icon svg{width:19px;height:19px}.rest-dock-copy{display:flex;flex-direction:column;gap:4px;min-width:65px}.rest-dock-copy span{font-family:var(--mono);font-size:8px;letter-spacing:.1em;color:#98a38b}.rest-dock-copy strong{font-family:var(--mono);font-weight:500;font-size:18px;letter-spacing:-.04em;color:var(--accent);font-variant-numeric:tabular-nums}.rest-progress{height:3px;border-radius:8px;overflow:hidden;background:#39402f;flex:1;max-width:150px}.rest-progress span{display:block;height:100%;width:0;background:var(--accent);transition:width .2s linear}.rest-adjust,.rest-skip{flex:none;border-radius:7px;padding:8px;border:1px solid #3b4630;background:#242c1d;color:#c5d2b4;font-family:var(--mono);font-size:10px}.rest-skip{display:flex;align-items:center;gap:3px;background:transparent;border-color:transparent;color:#9ca894;font-family:var(--sans);font-size:10px}.rest-skip svg{width:13px;height:13px}.rest-adjust:hover,.rest-skip:hover{color:var(--accent);border-color:#687a48}.muted-small{font-family:var(--mono);font-size:8px;letter-spacing:.09em;color:#717b69}.home-title{margin-bottom:21px}.home-hero-card{border-radius:22px;border:1px solid #3a462a;overflow:hidden;position:relative;background:linear-gradient(120deg,rgba(215,255,99,.1),transparent 58%),linear-gradient(145deg,#1a2115,#111510 75%);min-height:300px;margin-bottom:34px}.home-hero-content{padding:22px;position:relative;z-index:1}.hero-label{display:flex;align-items:center;gap:8px;color:var(--accent);font-family:var(--mono);font-size:9px;letter-spacing:.11em}.home-hero-content h2{font-size:34px;letter-spacing:-.07em;margin:19px 0 0;line-height:1.1}.home-hero-content>p{font-size:11px;color:#9da792;margin:8px 0 0}.hero-foot{display:flex;gap:18px;margin:22px 0;flex-wrap:wrap}.hero-foot span{display:flex;align-items:center;gap:7px;color:#bec8b4;font-size:10px}.hero-foot svg{width:15px;height:15px;color:#a7b796}.home-hero-content .primary-button{width:100%;justify-content:space-between;min-height:45px}.primary-button span{font-size:18px}.hero-decoration{position:absolute;border-radius:50%;border:1px solid rgba(215,255,99,.13);pointer-events:none}.hero-decoration-one{width:280px;height:280px;right:-85px;top:-105px;box-shadow:0 0 0 27px rgba(215,255,99,.022),0 0 0 57px rgba(215,255,99,.016)}.hero-decoration-two{width:155px;height:155px;right:-22px;top:33px;border-color:rgba(215,255,99,.08)}.weekly-card,.chart-card{border:1px solid #282e25;background:linear-gradient(145deg,#151813,#111310);border-radius:17px;padding:18px;margin-bottom:27px}.weekly-summary{display:flex;justify-content:space-between;align-items:start}.weekly-summary>div:first-child strong{display:block;font-family:var(--mono);font-weight:400;font-size:32px;letter-spacing:-.08em}.weekly-summary>div:first-child span{font-size:10px;color:#879180}.weekly-target{text-align:right;display:flex;flex-direction:column;gap:5px}.weekly-target span{font-family:var(--mono);font-size:8px;color:#7b8572;letter-spacing:.07em}.weekly-target strong{font-family:var(--mono);font-size:14px;font-weight:400;color:#a7b49a}.weekly-target strong b{font-weight:500;color:var(--accent)}.week-days{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin:20px 0 16px}.day-pill{border-radius:10px;background:#1a1e17;text-align:center;padding:9px 2px 8px;border:1px solid transparent}.day-pill .day-label{display:block;font-family:var(--mono);font-size:8px;color:#75806c}.day-pill .day-marker{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;margin:8px auto 0;font-size:9px;font-family:var(--mono);color:#a0aa96;background:#242920}.day-pill.today{border-color:#54653a;background:#1c2415}.day-pill.today .day-label{color:var(--accent)}.day-pill.today .day-marker{background:var(--accent);color:#14180c}.day-pill.has-workout .day-marker{background:#344124;color:var(--accent)}.week-footer,.chart-legend{border-top:1px solid #252b22;padding-top:13px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.week-footer span,.chart-legend span{display:flex;align-items:center;gap:6px;color:#778271;font-size:9px}.legend-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#3c4731}.legend-dot.done{background:#879d5d}.legend-dot.today{background:var(--accent)}.recent-heading{margin-top:31px}.inline-link{background:transparent;border:0;color:var(--accent);font-size:10px;padding:5px 0}.inline-link span{font-size:14px;margin-left:3px}.recent-list{display:flex;flex-direction:column;gap:9px}.recent-item{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);background:#141712;border-radius:13px}.recent-date{width:42px;height:43px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:9px;background:#20251b;color:var(--accent)}.recent-date strong{font-family:var(--mono);font-size:16px;font-weight:500}.recent-date span{font-family:var(--mono);font-size:7px;letter-spacing:.1em}.recent-copy{flex:1;min-width:0}.recent-copy strong{display:block;font-size:11px}.recent-copy span{display:block;margin-top:4px;font-size:9px;color:#828d78}.recent-time{font-family:var(--mono);font-size:10px;color:#a0aa96}.empty-state{padding:22px 16px;text-align:center;border:1px dashed #31372c;border-radius:14px;color:#7c8772;font-size:11px;line-height:1.6}.empty-state strong{display:block;color:#b2bdab;font-size:12px;margin-bottom:5px}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-bottom:25px}.stat-card{min-height:152px;padding:15px;border:1px solid #292f25;border-radius:16px;background:linear-gradient(135deg,#171b15,#111310);display:flex;flex-direction:column;align-items:flex-start}.stat-icon{width:32px;height:32px;display:grid;place-items:center;border:1px solid #35402a;background:#20271a;color:var(--accent);border-radius:10px;margin-bottom:14px}.stat-icon svg{width:17px;height:17px}.stat-card .metric-label{font-size:8px}.stat-card>strong{font-family:var(--mono);font-size:31px;font-weight:400;line-height:1.2;letter-spacing:-.06em;margin-top:7px;font-variant-numeric:tabular-nums}.stat-card .stat-foot{font-size:9px;color:#7b8572;margin-top:4px}.stat-unit{font-size:14px;color:#99a48e;margin-left:3px}.chart-card{padding:19px}.chart-head{display:flex;align-items:start;justify-content:space-between;gap:10px;margin-bottom:21px}.chart-head h2{font-size:18px}.chart-period{font-family:var(--mono);font-size:8px;letter-spacing:.08em;color:var(--accent);border:1px solid #35402a;padding:6px 7px;border-radius:6px}.chart-area{height:137px;display:flex;gap:9px;align-items:stretch;border-bottom:1px solid #30362c;padding:0 3px}.chart-day{display:flex;flex:1;min-width:0;flex-direction:column;align-items:center;justify-content:end;gap:8px}.chart-bar-slot{height:102px;width:100%;display:flex;align-items:end;justify-content:center}.chart-bar{width:min(25px,75%);height:3px;border-radius:5px 5px 2px 2px;background:#343b2d;position:relative;transition:height .25s}.chart-bar.active{background:var(--accent);box-shadow:0 0 15px rgba(215,255,99,.1)}.chart-bar[data-count="0"]{height:3px!important;background:#252b22}.chart-day-label{font-family:var(--mono);font-size:8px;color:#6e7865;padding-bottom:9px}.chart-day.today .chart-day-label{color:var(--accent)}.chart-legend{margin-top:12px;border:0;padding:0;justify-content:space-between}.chart-legend .chart-explainer{color:#606a58}.tracked-exercises{display:flex;flex-direction:column;gap:13px}.tracked-row{display:flex;align-items:center;gap:10px}.tracked-symbol{width:32px;height:32px;border-radius:9px;background:#22281b;color:var(--accent);display:grid;place-items:center;flex:none}.tracked-symbol svg{width:17px;height:17px}.tracked-main{min-width:0;flex:1}.tracked-main strong{font-size:10px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tracked-main span{font-size:9px;color:#788370;display:block;margin-top:4px}.tracked-weight{font-family:var(--mono);font-size:11px;color:#d3dbca}.empty-chart-note{color:#707b68;line-height:1.6;font-size:10px;margin:17px 0 0}.profile-card{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #2d3527;border-radius:16px;background:linear-gradient(110deg,rgba(215,255,99,.045),transparent),#141711;margin-bottom:29px}.profile-avatar{width:47px;height:47px;border-radius:14px;display:grid;place-items:center;background:var(--accent);color:#13170a;font-size:17px;font-weight:800}.profile-card>div:nth-child(2){flex:1;min-width:0}.profile-card strong{font-size:12px}.profile-card p{margin:5px 0 0;color:#7f8a76;font-size:10px}.local-badge{display:flex;align-items:center;gap:5px;padding:5px 7px;border-radius:6px;border:1px solid #344027;color:#a8bd84;font-family:var(--mono);font-size:8px}.local-badge .live-dot{width:5px;height:5px}.settings-group{margin-bottom:26px}.settings-group>.eyebrow{margin-bottom:11px}.setting-row{display:flex;align-items:center;gap:12px;width:100%;padding:14px 12px;margin-bottom:7px;border:1px solid #272d24;border-radius:12px;background:#141712;color:var(--text);text-align:left;min-height:66px}.setting-icon{width:35px;height:35px;display:grid;place-items:center;flex:none;border:1px solid #31382a;border-radius:10px;color:#a5b195;background:#1d2219}.setting-icon svg{width:17px;height:17px}.setting-copy{flex:1;min-width:0}.setting-copy strong{display:block;font-size:11px;font-weight:700}.setting-copy span{display:block;color:#788270;font-size:9px;margin-top:4px;line-height:1.45}.setting-row select{max-width:127px;min-width:105px;background:#1c2118;color:#d4dccb;border:1px solid #373f2e;border-radius:8px;padding:8px 6px;font-size:9px;outline:none}.setting-action{cursor:pointer}.setting-action:hover{border-color:#3a4530;background:#191e16}.setting-chevron{width:16px;height:16px;color:#697460}.danger-action .setting-icon{color:#dd8b82;border-color:#54352f;background:#2a1d1a}.danger-action .setting-copy strong{color:#df8d82}.prototype-disclaimer{display:flex;gap:10px;align-items:start;border:1px solid #333a2e;background:#191d15;border-radius:12px;padding:13px;margin-top:25px}.disclaimer-icon{display:grid;place-items:center;border:1px solid #596a3d;color:var(--accent);width:19px;height:19px;flex:none;border-radius:50%;font-family:var(--mono);font-size:11px}.prototype-disclaimer p{margin:0;color:#8f9a84;font-size:9px;line-height:1.65}.prototype-disclaimer strong{color:#ced8c1}.version-note{text-align:center;font-family:var(--mono);font-size:8px;letter-spacing:.11em;color:#555f50;margin:25px 0 0}.modal-backdrop{position:fixed;z-index:50;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px}.modal-backdrop[hidden]{display:none}.modal{position:relative;width:min(100%,440px);max-height:min(82vh,700px);overflow:auto;background:#171b14;border:1px solid #343d2c;border-radius:21px;padding:24px;box-shadow:0 25px 90px rgba(0,0,0,.48);animation:modal-in .2s ease}@keyframes modal-in{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-close{position:absolute;right:15px;top:13px;display:grid;place-items:center;border:1px solid #343a2e;background:#1c2118;border-radius:9px;color:#a7b19d;width:30px;height:30px;font-size:22px;line-height:1}.modal h2{font-size:24px;letter-spacing:-.06em;margin:0 35px 8px 0}.modal-subtitle{color:#8a9580;font-size:11px;line-height:1.6;margin:0 0 21px}.library-list{display:flex;flex-direction:column;gap:8px}.library-item{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #2f3629;border-radius:11px;background:#1c2118;color:var(--text);text-align:left}.library-item:hover{border-color:#687a48}.library-item .exercise-symbol{width:35px;height:35px;border-radius:9px}.library-item>span:nth-child(2){flex:1}.library-item strong{display:block;font-size:11px}.library-item small{display:block;font-size:9px;color:#7e8975;margin-top:4px}.library-item .plus-icon{font-size:20px}.modal-action{width:100%;margin-top:17px}.summary-highlight{border:1px solid #39452b;border-radius:14px;padding:19px;background:linear-gradient(135deg,rgba(215,255,99,.07),transparent),#1c2118;display:flex;align-items:center;justify-content:space-between;margin:20px 0}.summary-highlight span{font-size:10px;color:#98a58b}.summary-highlight strong{font-family:var(--mono);font-size:23px;font-weight:400;color:var(--accent)}.summary-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0 19px}.summary-stat{border:1px solid #2c3326;border-radius:11px;padding:12px 7px;text-align:center}.summary-stat strong{display:block;font-family:var(--mono);font-size:19px;font-weight:400}.summary-stat span{display:block;margin-top:6px;font-size:8px;color:#818d75}.modal-field{display:block;margin:13px 0}.modal-field>span{display:block;font-size:10px;color:#9ca793;margin-bottom:7px}.modal-field input{width:100%;padding:12px;border-radius:9px;background:#10120f;border:1px solid #343b2e;color:var(--text);font-size:12px}.modal-actions{display:flex;gap:9px;margin-top:18px}.secondary-button{flex:1;padding:13px;border-radius:10px;border:1px solid #39402f;background:#20251b;color:#bec8b4;font-size:11px;font-weight:700}.modal-actions .primary-button{flex:1}.toast{position:fixed;z-index:80;left:50%;bottom:calc(var(--nav-height) + 96px + env(safe-area-inset-bottom));transform:translate(-50%,12px);opacity:0;pointer-events:none;background:#e0ff8b;color:#15190b;font-size:11px;font-weight:800;padding:11px 16px;border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.3);white-space:nowrap;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:700px){.app-shell{padding-left:38px;padding-right:38px}.topbar{height:88px;margin-bottom:36px}.session-card{padding:21px 24px 23px}.session-metrics{gap:24px}.exercise-list{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:13px}.exercise-card{height:100%}.add-exercise-button{margin-top:15px}.finish-section{flex-direction:row;align-items:center;justify-content:space-between}.finish-button{min-width:190px}.rest-dock{bottom:calc(var(--nav-height) + 16px + env(safe-area-inset-bottom))}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card{min-height:164px;padding:16px 14px}.setting-row{padding:14px 16px}.home-hero-card{min-height:275px}.home-hero-content{padding:26px}.home-hero-content .primary-button{width:250px}}
@media(max-width:390px){.app-shell{padding-left:15px;padding-right:15px}.topbar{margin-bottom:23px}.session-card{padding:16px}.session-metrics{gap:12px;grid-template-columns:1fr 1px 1.35fr}.session-duration strong{font-size:27px}.progress-head strong{font-size:13px}.exercise-card-head{padding:13px 12px}.set-wrap{padding:11px 12px 13px}.sets-table-head,.set-row{grid-template-columns:minmax(26px,.6fr) minmax(61px,1fr) minmax(61px,1fr) 34px;column-gap:6px}.set-row{padding-left:6px;padding-right:4px}.set-input{font-size:11px}.exercise-symbol{width:38px;height:38px}.exercise-name{font-size:12px}.exercise-status{font-size:7px;padding:4px}.rest-dock{gap:8px;padding:10px}.rest-progress{display:none}.rest-dock-copy{flex:1}.rest-adjust,.rest-skip{font-size:9px;padding:7px}.bottom-nav{padding-left:13px;padding-right:13px}.stats-grid{gap:8px}.stat-card{padding:12px;min-height:142px}.stat-card>strong{font-size:27px}.setting-row{gap:8px;padding:12px 9px}.setting-row select{min-width:92px;font-size:8px}.setting-icon{width:31px;height:31px}.local-badge{font-size:7px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* O foco programático da área principal é usado apenas para navegação acessível; o contorno fica reservado aos controles. */
#main-content:focus{outline:none}

/* v0.2 — fichas completas, catálogo pesquisável e exercícios por tempo */
.bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr));padding-left:10px;padding-right:10px}
.nav-item{font-size:9px;min-width:0}
.workout-switch-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-7px 0 20px;padding:12px 13px;border:1px solid #2d3527;border-radius:13px;background:rgba(20,24,17,.72)}
.workout-switch-row>div{min-width:0;flex:1}
.workout-switch-row strong{display:block;font-size:11px;font-weight:700;color:#cbd5c0;line-height:1.45}
.workout-switch-row small{display:block;margin-top:4px;font-size:9px;color:#788370;line-height:1.4}
.switch-workout-button{flex:none!important;padding:10px 12px!important;min-width:98px}
.cardio-card{border-color:#36422b;background:linear-gradient(145deg,rgba(215,255,99,.035),transparent 45%),#141711}
.cardio-symbol{background:#252b19!important;color:var(--accent)!important}
.cardio-body{padding:17px 16px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.cardio-time-block{min-width:0}
.cardio-time-block>strong{display:block;font-family:var(--mono);font-size:31px;line-height:1.2;letter-spacing:-.06em;color:var(--text);margin-top:6px;font-variant-numeric:tabular-nums}
.cardio-time-block small{display:block;color:#798571;font-size:9px;margin-top:6px}
.cardio-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:126px}
.cardio-action{padding:11px 12px!important;width:100%;font-size:10px!important;white-space:nowrap}
.cardio-target{display:flex;align-items:center;justify-content:space-between;gap:7px;color:#7f8a75;font-size:9px}
.cardio-target input{width:56px;padding:7px 5px;background:#10120f;border:1px solid #30382a;border-radius:7px;color:#e8eddf;text-align:center;font-family:var(--mono);font-size:11px}
.rotation-info-card{display:flex;align-items:start;gap:12px;padding:15px;margin:0 0 25px;border:1px solid #334029;border-radius:15px;background:linear-gradient(120deg,rgba(215,255,99,.055),transparent 75%),#141711}
.rotation-info-icon{width:35px;height:35px;border:1px solid #3b482c;background:#22291a;color:var(--accent);display:grid;place-items:center;border-radius:10px;font-size:21px;flex:none}
.rotation-info-card strong{display:block;font-size:12px;margin-bottom:5px}
.rotation-info-card p{margin:0;color:#8a9580;font-size:10px;line-height:1.65}
.template-list{display:flex;flex-direction:column;gap:12px}
.template-card{padding:17px;border:1px solid #2d3428;border-radius:16px;background:linear-gradient(140deg,rgba(215,255,99,.025),transparent 58%),#141711}
.template-card.template-current{border-color:#52633a;box-shadow:inset 0 0 0 1px rgba(215,255,99,.025)}
.template-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}
.template-letter{width:37px;height:37px;display:grid;place-items:center;border-radius:11px;background:#242b1b;border:1px solid #36432a;color:var(--accent);font-family:var(--mono);font-size:13px;font-weight:700}
.template-queue{font-family:var(--mono);font-size:8px;letter-spacing:.07em;color:#95a681;text-align:right}
.template-card h3{font-size:17px;letter-spacing:-.04em;margin:0 0 5px}
.template-card>p{font-size:10px;color:#839078;margin:0;line-height:1.5}
.template-meta{display:flex;align-items:center;gap:13px;flex-wrap:wrap;border-top:1px solid #292f24;margin-top:14px;padding-top:12px;color:#8a9580;font-size:9px}
.template-meta span{display:flex;align-items:center;gap:5px}
.template-meta span:before{content:"";width:4px;height:4px;border-radius:50%;background:#728452}
.template-actions{display:flex;gap:9px;margin-top:14px}
.template-actions .secondary-button,.template-actions .primary-button{padding:11px 10px;font-size:10px;min-height:39px}
.template-actions .secondary-button{flex:.9}
.template-actions .primary-button{flex:1.1}
.editor-section-head{display:flex;align-items:center;justify-content:space-between;margin:20px 0 10px;font-size:11px}
.editor-section-head span{font-size:9px;color:#839078;font-family:var(--mono)}
.editor-exercise-list{display:flex;flex-direction:column;gap:7px}
.editor-exercise-row{display:flex;align-items:center;gap:7px;padding:9px;border:1px solid #2c3326;border-radius:11px;background:#1a1e16;min-width:0}
.editor-exercise-row .exercise-symbol{width:33px;height:33px;border-radius:9px}
.editor-exercise-copy{flex:1;min-width:0}
.editor-exercise-copy strong{display:block;font-size:10px;line-height:1.4;overflow-wrap:anywhere}
.editor-exercise-copy small{display:block;color:#7e8974;font-size:8px;line-height:1.4;margin-top:3px}
.mini-icon-button{width:27px;height:29px;flex:none;padding:0;border:1px solid #333c2a;border-radius:7px;background:#22271c;color:#a5b295;font-size:13px;display:grid;place-items:center}
.mini-icon-button:disabled{opacity:.25;cursor:default}
.mini-icon-button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}
.danger-mini{color:#c98075;border-color:#49312c}
.editor-add-button{width:100%;margin-top:12px}
.editor-add-button .chevron{font-size:20px;color:#79866c}
.text-danger-button{display:block;width:100%;border:0;background:transparent;color:#c98075;font-size:10px;padding:12px;margin-top:7px}
.text-danger-button:hover{color:#e8a097}
.modal-field select{width:100%;padding:12px;border-radius:9px;background:#10120f;border:1px solid #343b2e;color:var(--text);font-size:11px;min-width:0}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.form-grid .modal-field{min-width:0}
.form-grid .modal-field input,.form-grid .modal-field select{min-width:0}
.custom-exercise-button{display:flex;align-items:center;gap:11px;width:100%;border:1px solid #495a32;border-radius:12px;padding:12px;background:linear-gradient(120deg,rgba(215,255,99,.075),transparent),#20271a;color:var(--text);text-align:left;margin:4px 0 13px}
.custom-exercise-button>span{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:var(--accent);color:#10140a;font-size:21px;flex:none}
.custom-exercise-button div{min-width:0}
.custom-exercise-button strong{display:block;font-size:10px}
.custom-exercise-button small{display:block;margin-top:4px;color:#8c9a7c;font-size:8px;line-height:1.4}
.picker-results{display:flex;flex-direction:column;gap:7px;max-height:min(40vh,360px);overflow-y:auto;padding-right:3px}
.picker-results .library-item{width:100%;flex:none}
.picker-results .library-item small{line-height:1.5}
.rotation-inline-note{font-size:9px;color:#798571;line-height:1.6;margin:15px 0 0}
.workout-choice{width:100%;cursor:pointer}
.workout-choice .plus-icon{font-size:16px}
@media(min-width:700px){.template-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.template-card{display:flex;flex-direction:column}.template-actions{margin-top:auto;padding-top:14px}.cardio-body{padding:19px}.cardio-actions{min-width:145px}}
@media(max-width:430px){.bottom-nav{padding-left:6px;padding-right:6px}.nav-item{font-size:8px;letter-spacing:0}.nav-item .nav-icon{height:22px}.nav-item svg{width:19px;height:19px}.workout-switch-row{align-items:start}.switch-workout-button{padding:9px 8px!important;min-width:83px;font-size:9px!important}.cardio-body{align-items:flex-start;gap:7px;padding:14px 11px}.cardio-time-block>strong{font-size:27px}.cardio-actions{min-width:119px}.cardio-action{font-size:9px!important;padding:10px 7px!important}.cardio-target{font-size:8px}.editor-exercise-row{gap:5px;padding:7px}.editor-exercise-row .exercise-symbol{width:29px;height:29px}.mini-icon-button{width:24px;height:26px;font-size:11px}.form-grid{gap:6px}.form-grid .modal-field>span{line-height:1.4}.modal{padding:21px 16px}}


/* v0.3 — triagem inicial e geração de fichas adaptadas à disponibilidade */
[hidden]{display:none!important}
.onboarding-open{overflow:hidden}
.onboarding-overlay{position:fixed;inset:0;z-index:200;background:radial-gradient(ellipse at 50% -15%,rgba(215,255,99,.08),transparent 48%),#0b0d0c;color:var(--text);overflow-y:auto;overscroll-behavior:contain;padding:0 18px env(safe-area-inset-bottom)}
#onboarding-content{width:min(100%,640px);margin:0 auto;min-height:100vh;display:flex;flex-direction:column}
.assessment-header{height:72px;flex:none;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.07);gap:12px}
.assessment-brand{display:flex;align-items:center;gap:10px}
.assessment-brand .brand-mark{width:32px;height:32px}
.assessment-brand .brand-name{font-size:12px}
.assessment-local,.assessment-exit{font-family:var(--mono);font-size:8px;letter-spacing:.08em;color:#77816d}
.assessment-exit{background:transparent;border:1px solid #343b2e;border-radius:8px;padding:9px 10px;color:#a8b19e}
.assessment-progress{padding:18px 0 10px}
.assessment-progress-copy{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px;font-size:9px;color:#74806a;font-family:var(--mono);letter-spacing:.08em}
.assessment-progress-copy strong{color:#cbd4c0;font-family:var(--sans);font-size:11px;letter-spacing:0}
.assessment-progress-track{height:4px;border-radius:20px;background:#252b22;overflow:hidden}
.assessment-progress-track span{display:block;height:100%;background:var(--accent);border-radius:20px;transition:width .2s}
.assessment-main{padding:17px 0 28px;flex:1;display:flex;flex-direction:column}
.assessment-kicker{font-family:var(--mono);font-size:8px;letter-spacing:.12em;color:#98a583;margin:8px 0 13px}
.assessment-main h1{font-size:clamp(31px,7.5vw,42px);line-height:1.1;letter-spacing:-.065em;margin:0;font-weight:800}
.assessment-main h1 span{color:var(--accent)}
.assessment-intro{font-size:12px;line-height:1.75;color:#8a9481;margin:13px 0 23px;max-width:570px}
.assessment-panel{border:1px solid #2e3529;border-radius:17px;background:linear-gradient(145deg,rgba(215,255,99,.025),transparent 45%),#131610;padding:17px}
.assessment-panel h2{font-size:14px;letter-spacing:-.025em;margin:0 0 13px}
.assessment-help{color:#788371;font-size:10px;line-height:1.6;margin:11px 0 0}
.assessment-field{display:block;min-width:0;margin:0 0 15px}
.assessment-field>span{display:block;font-size:10px;color:#abb5a1;margin-bottom:8px}
.assessment-input-wrap{display:flex;align-items:center;gap:7px;border:1px solid #343c2d;border-radius:10px;background:#0d100c;padding:0 10px}
.assessment-input-wrap:focus-within{border-color:var(--accent)}
.assessment-input-wrap input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#eff2e8;padding:13px 0;font-size:13px;font-family:var(--mono)}
.assessment-input-wrap input::-webkit-inner-spin-button,.assessment-input-wrap input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.assessment-input-wrap input[type=number]{-moz-appearance:textfield}
.assessment-suffix{color:#707b66;font-size:9px;white-space:nowrap}
.assessment-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:18px}
.assessment-form-grid .assessment-field{margin-bottom:0}
.assessment-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.assessment-choice-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.assessment-choice{min-width:0;min-height:46px;border:1px solid #333b2d;border-radius:10px;background:#191d15;color:#a9b39f;padding:10px 8px;font-size:10px;line-height:1.35;transition:border-color .15s,background .15s,color .15s}
.assessment-choice.selected{border-color:#687c47;background:rgba(215,255,99,.09);color:var(--accent);box-shadow:inset 0 0 0 1px rgba(215,255,99,.04)}
.assessment-choice strong{display:block;font-family:var(--mono);font-size:16px;font-weight:500;margin-bottom:2px}
.assessment-choice small{display:block;font-size:8px;color:#7f8976}
.assessment-choice.compact{font-size:9px;padding-left:5px;padding-right:5px}
.assessment-goal-list{display:flex;flex-direction:column;gap:8px}
.assessment-goal{display:flex;align-items:center;gap:11px;width:100%;text-align:left;border:1px solid #30382b;border-radius:12px;background:#191d15;color:var(--text);padding:12px;min-height:66px}
.assessment-goal.selected{border-color:#617541;background:linear-gradient(100deg,rgba(215,255,99,.07),transparent),#191d15}
.assessment-goal-icon{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:10px;background:#262d1f;color:var(--accent);font-size:20px}
.assessment-goal-copy{flex:1;min-width:0}
.assessment-goal-copy strong{display:block;font-size:11px;line-height:1.35}
.assessment-goal-copy small{display:block;color:#838e79;font-size:9px;line-height:1.5;margin-top:4px}
.assessment-radio{width:16px;height:16px;flex:none;border-radius:50%;border:1px solid #566149;position:relative}
.assessment-goal.selected .assessment-radio{border-color:var(--accent)}
.assessment-goal.selected .assessment-radio:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--accent)}
.assessment-section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:23px 0 12px!important}
.assessment-section-title span{color:var(--accent);font:9px var(--mono)}
.assessment-priorities{display:flex;gap:8px;flex-wrap:wrap}
.assessment-priority{border:1px solid #333b2d;border-radius:9px;background:#191d15;color:#aab39f;font-size:10px;padding:10px 12px}
.assessment-priority.selected{border-color:#657b43;background:rgba(215,255,99,.09);color:var(--accent)}
.assessment-note{display:flex;align-items:flex-start;gap:9px;padding:12px 13px;border:1px solid #2c3428;border-radius:11px;background:rgba(20,24,17,.64);margin-top:12px}
.assessment-note>span{display:grid;place-items:center;flex:none;width:18px;height:18px;border-radius:50%;background:#282f21;color:var(--accent);font:10px var(--mono)}
.assessment-note p{margin:0;color:#818c76;font-size:9px;line-height:1.65}
.assessment-review{padding-bottom:14px}
.assessment-review-line{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;border-bottom:1px solid #292f24;padding:10px 0}
.assessment-review-line:first-child{padding-top:0}
.assessment-review-line>span{font:8px var(--mono);letter-spacing:.08em;color:#78836e;flex:none;padding-top:2px}
.assessment-review-line strong{font-size:10px;line-height:1.5;text-align:right;font-weight:650;color:#dce3d3}
.assessment-plan-list{display:flex;flex-direction:column;gap:7px}
.assessment-plan-row{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #2b3225;border-radius:10px;background:#191d15;min-width:0}
.assessment-plan-code{width:31px;height:31px;display:grid;place-items:center;flex:none;border:1px solid #39472a;border-radius:8px;background:#242c1b;color:var(--accent);font:11px var(--mono)}
.assessment-plan-row>div{flex:1;min-width:0}
.assessment-plan-row strong{display:block;font-size:10px;line-height:1.4}
.assessment-plan-row small{display:block;font-size:8px;line-height:1.5;color:#7f8975;margin-top:3px}
.assessment-plan-time{font:10px var(--mono);color:var(--accent);white-space:nowrap}
.assessment-error{font-size:10px;line-height:1.5;color:#f0a79a;background:rgba(135,52,41,.15);border:1px solid rgba(198,102,85,.3);border-radius:9px;padding:10px 12px;margin:13px 0 0}
.assessment-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:23px}
.assessment-step-hint{font-size:9px;color:#77816c}
.assessment-back{border:1px solid #363e2f;border-radius:10px;background:#1a1e16;color:#abb5a1;padding:14px 18px;font-size:11px;font-weight:700}
.assessment-next{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-width:155px;border:1px solid var(--accent);border-radius:10px;background:var(--accent);color:#14190d;padding:14px 17px;font-size:11px;font-weight:800;margin-left:auto}
.assessment-next span{font-size:17px;line-height:10px}
.assessment-privacy{text-align:center;font-size:8px;color:#586250;line-height:1.6;margin:19px 0 0}
.profile-card-copy{flex:1;min-width:0}
.profile-card-copy strong{display:block;font-size:11px;line-height:1.5;overflow-wrap:anywhere}
.profile-card-copy p{margin:4px 0 0;color:#829078;font-size:9px;line-height:1.5}
.assessment-profile-group{margin-top:16px}
.profile-assessment-summary{font-size:10px;line-height:1.65;color:#89947d;margin:0 0 12px}
.assessment-profile-button{width:100%;flex:none;font-size:10px;padding:12px}
@media(min-width:700px){.onboarding-overlay{padding-left:24px;padding-right:24px}.assessment-header{height:82px}.assessment-main{padding-top:27px}.assessment-panel{padding:21px}.assessment-main h1{max-width:570px}.assessment-form-grid{gap:12px}}
@media(max-width:420px){.onboarding-overlay{padding-left:14px;padding-right:14px}.assessment-header{height:62px}.assessment-local{font-size:7px}.assessment-main{padding-top:12px}.assessment-kicker{font-size:7px}.assessment-main h1{font-size:31px}.assessment-intro{font-size:11px;margin-bottom:17px}.assessment-panel{padding:13px}.assessment-choice-grid.three{gap:5px}.assessment-choice{padding:8px 5px;font-size:9px}.assessment-choice.compact{font-size:8px}.assessment-form-grid{gap:6px}.assessment-input-wrap{padding:0 7px}.assessment-input-wrap input{font-size:12px}.assessment-goal{padding:10px;gap:8px}.assessment-goal-copy strong{font-size:10px}.assessment-goal-copy small{font-size:8px}.assessment-priority{padding:9px 10px}.assessment-plan-time{font-size:9px}.assessment-next{min-width:135px}.assessment-review-line>span{font-size:7px}.assessment-review-line strong{font-size:9px}}


/* v0.4.0 — mobile/PWA foundation */
html { min-height: 100%; -webkit-text-size-adjust: 100%; }
body { min-height: 100dvh; overscroll-behavior-y: contain; }
.app-shell { padding-bottom: calc(var(--nav-height) + 94px + env(safe-area-inset-bottom)); }
.bottom-nav { padding-bottom: calc(8px + env(safe-area-inset-bottom)); }
.connection-status { display:flex; align-items:center; gap:10px; padding:11px 13px; margin:10px 0 12px; border:1px solid #65502b; border-radius:12px; background:#241d12; color:#f4d7a2; }
.connection-status[hidden] { display:none; }
.connection-status-dot { width:8px; height:8px; border-radius:50%; background:#f4bd55; box-shadow:0 0 9px rgba(244,189,85,.25); flex:none; }
.connection-status strong { display:block; font-size:11px; }
.connection-status small { display:block; margin-top:3px; color:#c2a879; font-size:9px; line-height:1.45; }
#install-app.install-ready { border-color:#52633a; background:linear-gradient(100deg,rgba(215,255,99,.07),transparent),#151a12; }
#install-app.install-ready .setting-copy strong { color:var(--accent); }
.install-instructions { border:1px solid #2c3326; border-radius:13px; padding:15px; background:#141711; color:#cfd7c7; font-size:11px; line-height:1.65; }
.install-instructions>strong { color:var(--accent); font-size:12px; }
.install-instructions ol { padding-left:20px; margin:10px 0; }
.install-instructions li { margin:5px 0; }
.install-instructions p { color:#909b87; margin:11px 0 0; font-size:10px; }
@media (max-width: 430px) {
  .app-shell { padding-left:15px; padding-right:15px; }
  .connection-status { margin-top:6px; }
  .bottom-nav { padding-bottom:calc(7px + env(safe-area-inset-bottom)); }
}

/* v0.6.0 — acesso, conta e sincronização offline-first */
.auth-overlay{position:fixed;z-index:300;inset:0;display:flex;align-items:center;justify-content:center;overflow-y:auto;overscroll-behavior:contain;padding:calc(20px + env(safe-area-inset-top)) 16px calc(20px + env(safe-area-inset-bottom));background:radial-gradient(ellipse at 50% -8%,rgba(215,255,99,.105),transparent 45%),rgba(7,9,7,.97);backdrop-filter:blur(18px)}
.auth-overlay[hidden]{display:none!important}
.auth-panel{width:min(100%,460px);max-height:100%;overflow-y:auto;border:1px solid #30382a;border-radius:24px;padding:clamp(22px,5vw,34px);background:linear-gradient(145deg,rgba(215,255,99,.035),transparent 42%),#121510;box-shadow:0 32px 110px rgba(0,0,0,.55)}
.auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:35px;font-size:13px;font-weight:850;letter-spacing:.13em;color:#f1f4eb}
.auth-brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--accent);color:#12160b;font-size:22px;font-weight:900;letter-spacing:0}
.auth-panel .eyebrow{margin-bottom:11px}
.auth-panel h1{font-size:clamp(30px,7vw,39px);line-height:1.1;letter-spacing:-.06em;margin:0 0 11px;font-weight:800}
.auth-lead{margin:0 0 22px;color:#949f89;font-size:12px;line-height:1.7}
.auth-lead strong{color:#e5ecd9;overflow-wrap:anywhere}
.auth-lead code{font-size:11px;color:var(--accent);overflow-wrap:anywhere}
.auth-field{display:block;margin:14px 0}
.auth-field>span{display:block;font-size:10px;color:#b0bba4;margin-bottom:7px;font-weight:700}
.auth-field input{display:block;width:100%;min-height:47px;border-radius:11px;border:1px solid #333b2b;background:#0c0f0c;padding:12px 13px;color:#f3f6ed;font-size:13px;outline:none;transition:border-color .15s,box-shadow .15s}
.auth-field input:focus{border-color:#8aa94a;box-shadow:0 0 0 3px rgba(215,255,99,.08)}
.auth-field input::placeholder{color:#5e6857}
.auth-primary{width:100%;margin-top:8px;min-height:47px;justify-content:center}
.auth-primary:disabled{opacity:.65;cursor:wait}
.auth-switch{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:20px;color:#7f8b73;font-size:11px}
.auth-switch button,.auth-local-link{border:0;background:transparent;color:var(--accent);padding:4px;font-size:11px;font-weight:750}
.auth-local-link{display:block;margin:19px auto 0;color:#939e87;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.auth-message{margin:14px 0;padding:11px 12px;border-radius:10px;border:1px solid #414c32;background:#1a2115;color:#c9ef8e;font-size:11px;line-height:1.55;overflow-wrap:anywhere}
.auth-message[hidden]{display:none!important}
.auth-message[data-type="error"]{border-color:#704137;background:#281916;color:#ffc0b7}
.auth-message[data-type="info"]{border-color:#484e39;background:#1d2119;color:#c8d1bd}
.auth-info-card{border:1px solid #30392a;background:#1a1f16;border-radius:13px;padding:15px;margin:19px 0;color:#dce5d1}
.auth-info-card strong{display:block;font-size:12px;margin-bottom:6px}
.auth-info-card p{margin:0;color:#909c84;font-size:11px;line-height:1.65}
.auth-overlay-footer{display:flex;align-items:center;gap:8px;margin-top:25px;color:#66715d;font-size:9px;line-height:1.5}
.auth-security-dot{width:6px;height:6px;background:#647b3d;border-radius:50%;flex:none}
.account-status-card{display:flex;align-items:flex-start;gap:11px;border:1px solid #2f3729;background:linear-gradient(120deg,rgba(215,255,99,.035),transparent 60%),#141712;padding:14px;border-radius:13px}
.account-status-icon{display:grid;place-items:center;flex:none;width:33px;height:33px;background:#20271a;border:1px solid #39452b;border-radius:10px;color:#788d4e;font-size:10px}
.account-status-card[data-status="signed-in"] .account-status-icon{background:rgba(215,255,99,.09);color:var(--accent);border-color:rgba(215,255,99,.24)}
.account-status-card[data-status="offline"] .account-status-icon{background:#281f13;color:#f2bd62;border-color:#59462a}
.account-status-copy{flex:1;min-width:0}
.account-status-copy strong{display:block;color:#dce5d2;font-size:11px;overflow-wrap:anywhere}
.account-status-copy p{margin:5px 0 0;color:#829078;font-size:9px;line-height:1.6}
.account-actions{display:flex;gap:9px;margin-top:10px}
.account-actions .secondary-button{min-height:39px;padding:10px 12px}
.account-actions [hidden]{display:none!important}
.cloud-sync-status{display:flex;align-items:flex-start;gap:10px;margin-top:13px;padding:12px;border:1px solid #2c3326;border-radius:11px;background:#11140f}
.cloud-sync-indicator{width:8px;height:8px;flex:none;margin-top:4px;border-radius:50%;background:#78876a;box-shadow:0 0 0 4px rgba(120,135,106,.12)}
.cloud-sync-status[data-status="synced"] .cloud-sync-indicator{background:var(--accent);box-shadow:0 0 0 4px rgba(215,255,99,.1)}
.cloud-sync-status[data-status="syncing"] .cloud-sync-indicator{background:#80b6f0;box-shadow:0 0 0 4px rgba(128,182,240,.1);animation:sync-pulse 1s infinite alternate}
.cloud-sync-status[data-status="offline"] .cloud-sync-indicator,.cloud-sync-status[data-status="pending"] .cloud-sync-indicator,.cloud-sync-status[data-status="error"] .cloud-sync-indicator,.cloud-sync-status[data-status="conflict"] .cloud-sync-indicator{background:#e5aa54;box-shadow:0 0 0 4px rgba(229,170,84,.1)}
.cloud-sync-status>div{flex:1;min-width:0}
.cloud-sync-status strong{display:block;font-size:10px;color:#dbe4d0}
.cloud-sync-status p{font-size:9px;color:#7d8973;line-height:1.55;margin:4px 0 0;overflow-wrap:anywhere}
.cloud-sync-actions{margin-top:8px}
.cloud-sync-actions .secondary-button{width:100%;min-height:38px;padding:10px}
.cloud-sync-actions .secondary-button:disabled{opacity:.55;cursor:wait}
@keyframes sync-pulse{from{opacity:.55}to{opacity:1}}
.account-footnote{font-size:9px;color:#68745e;line-height:1.65;margin:10px 2px 0}
@media(max-width:430px){.auth-panel{padding:22px 18px;border-radius:19px}.auth-brand{margin-bottom:27px}.auth-panel h1{font-size:30px}.auth-lead{font-size:11px}.auth-field input{min-height:45px}.account-actions{flex-direction:column}.account-actions .secondary-button{width:100%}}
