/* Shared by the MAUI and ASP.NET Core hosts. */
:root {
 color-scheme:dark; --forge-background:#101214; --forge-surface:#191d20; --forge-surface-raised:#22272b; --forge-border:#343b40; --forge-text:#f3f5f6; --forge-text-muted:#9ba5ab; --forge-accent:#ff553b; --forge-danger:#ff6262; --forge-success:#74d99f; font-family:"Open Sans","Segoe UI",system-ui,sans-serif;
}
*{box-sizing:border-box} html,body,#app{min-height:100%;margin:0} body{background:var(--forge-background);color:var(--forge-text);font-size:15px} button,input,select,textarea{font:inherit} button,a{-webkit-tap-highlight-color:transparent} a{color:inherit;text-decoration:none} h1,h2,h3,p{margin-top:0} h1{font-size:clamp(1.7rem,5vw,2.5rem);letter-spacing:-.045em;margin-bottom:0;line-height:1.05} h2{font-size:1.12rem;letter-spacing:-.02em} h3{font-size:1rem}
.app-shell{min-height:100vh}.app-content{padding-bottom:calc(92px + env(safe-area-inset-bottom))}.page{width:min(100%,1120px);margin:0 auto;padding:calc(24px + env(safe-area-inset-top)) clamp(16px,4vw,36px) 28px}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:24px}.eyebrow,.card-heading,.metric-card>span{color:var(--forge-text-muted);font-size:.68rem;font-weight:800;letter-spacing:.14em}.eyebrow{display:block;margin-bottom:6px;color:var(--forge-accent)}.page-date{color:var(--forge-text-muted);font-weight:700;white-space:nowrap}.section-title{margin:28px 0 14px}.muted{color:var(--forge-text-muted)}
.bottom-nav{position:fixed;z-index:50;bottom:0;left:0;right:0;height:calc(76px + env(safe-area-inset-bottom));padding:6px max(7px,env(safe-area-inset-left)) env(safe-area-inset-bottom) max(7px,env(safe-area-inset-right));display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:color-mix(in srgb,#101214 94%,transparent);border-top:1px solid color-mix(in srgb,var(--forge-border) 82%,transparent);box-shadow:0 -12px 36px rgba(0,0,0,.28);backdrop-filter:blur(22px) saturate(130%)}.bottom-nav a{position:relative;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#778087;font-size:.61rem;font-weight:750;letter-spacing:.015em;border-radius:12px;transition:color .18s ease,background .18s ease,transform .18s ease}.bottom-nav a::before{content:"";position:absolute;top:-6px;left:50%;width:24px;height:2px;transform:translateX(-50%) scaleX(0);background:var(--forge-accent);border-radius:0 0 3px 3px;box-shadow:0 0 10px color-mix(in srgb,var(--forge-accent) 55%,transparent);transition:transform .18s ease}.bottom-nav a.active{color:var(--forge-accent);background:linear-gradient(180deg,color-mix(in srgb,var(--forge-accent) 8%,transparent),transparent 72%)}.bottom-nav a.active::before{transform:translateX(-50%) scaleX(1)}.nav-icon{width:29px;height:27px;display:grid;place-items:center;line-height:1}.nav-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav-primary .nav-icon{width:35px;height:31px;border-radius:10px;background:color-mix(in srgb,var(--forge-accent) 12%,var(--forge-surface));border:1px solid color-mix(in srgb,var(--forge-accent) 25%,var(--forge-border));color:color-mix(in srgb,var(--forge-accent) 82%,#fff)}.bottom-nav .nav-primary.active .nav-icon{color:#15100f;background:var(--forge-accent);border-color:var(--forge-accent);box-shadow:0 7px 18px color-mix(in srgb,var(--forge-accent) 22%,transparent)}
.card{background:linear-gradient(145deg,color-mix(in srgb,var(--forge-surface-raised) 85%,#fff 1%),var(--forge-surface));border:1px solid var(--forge-border);border-radius:14px;box-shadow:0 12px 30px rgba(0,0,0,.16);padding:18px}.button{min-height:45px;border:1px solid transparent;border-radius:9px;padding:10px 16px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:800;cursor:pointer}.button.primary{color:#111;background:var(--forge-accent)}.button.primary:hover{filter:brightness(1.08)}.button.secondary{background:var(--forge-surface-raised);border-color:var(--forge-border);color:var(--forge-text)}.button.danger{background:var(--forge-danger);color:#1b0909}.button.danger-outline{color:var(--forge-danger);border-color:color-mix(in srgb,var(--forge-danger) 45%,transparent);background:transparent}.button.full{width:100%}.icon-button{width:42px;height:42px;border:1px solid var(--forge-border);background:var(--forge-surface-raised);border-radius:9px;color:var(--forge-text);display:inline-grid;place-items:center;cursor:pointer}.icon-button.danger,.text-button.danger{color:var(--forge-danger)}.text-button{background:none;border:0;color:var(--forge-text);min-height:40px;cursor:pointer}.page-action{margin:-6px 0 20px}.card-actions,.finish-actions,.settings-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:18px}
input,select,textarea{width:100%;min-height:45px;padding:10px 12px;color:var(--forge-text);background:#131619;border:1px solid var(--forge-border);border-radius:8px;outline:none}textarea{min-height:86px;resize:vertical}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible,.muscle-region:focus{border-color:var(--forge-accent);outline:2px solid color-mix(in srgb,var(--forge-accent) 35%,transparent);outline-offset:2px}label>span{display:block;color:var(--forge-text-muted);font-size:.72rem;font-weight:700;margin:0 0 6px 2px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}.form-grid .span-2{grid-column:span 2}.check-field{min-height:45px;display:flex;align-items:center;gap:9px}.check-field input{width:20px;min-height:20px;accent-color:var(--forge-accent)}.check-field span{margin:0;color:var(--forge-text)}.inline-form{display:flex;gap:10px;align-items:center}.inline-form input,.inline-form select{flex:1}.full-field{display:block;margin-top:12px}.colour-input{display:grid;grid-template-columns:55px 1fr;gap:8px}.colour-input input[type=color]{padding:4px}
.notice{margin:0 0 18px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--forge-success) 40%,transparent);background:color-mix(in srgb,var(--forge-success) 10%,var(--forge-surface));color:var(--forge-success);border-radius:9px}.notice.error{color:#ff9999;border-color:color-mix(in srgb,var(--forge-danger) 45%,transparent);background:color-mix(in srgb,var(--forge-danger) 9%,var(--forge-surface))}.notice button{float:right;background:transparent;color:inherit;border:0;text-decoration:underline}.loading-state{min-height:380px;display:grid;place-content:center;justify-items:center;color:var(--forge-text-muted)}.loader{width:32px;height:32px;border:3px solid var(--forge-border);border-top-color:var(--forge-accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.segmented-control{width:190px;margin:0 auto 12px;padding:4px;display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--forge-border);border-radius:10px;background:var(--forge-surface)}.segmented-control button{min-height:38px;border:0;border-radius:7px;background:transparent;color:var(--forge-text-muted);font-weight:800;cursor:pointer}.segmented-control button.active{background:var(--forge-surface-raised);color:var(--forge-text);box-shadow:0 2px 10px rgba(0,0,0,.3)}
.silhouette-map{min-height:590px;width:min(100%,760px);margin:0 auto 24px;display:grid;grid-template-columns:minmax(86px,1fr) minmax(190px,300px) minmax(86px,1fr);align-items:stretch;position:relative}.body-svg{width:100%;height:590px;overflow:visible;filter:drop-shadow(0 16px 28px rgba(0,0,0,.55))}.body-base{fill:url(#bodyBase);stroke:#454d52;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.muscle-region{cursor:pointer;transform-box:fill-box;transform-origin:center;transition:filter .18s ease,opacity .18s ease,transform .12s ease}.muscle-region path{fill:#343b40;stroke:#596168;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:inherit}.muscle-region.no-data path{fill:#292e31;stroke:#43494e}.muscle-region.trained path,.muscle-region.stale path{fill:#3b4145;stroke-dasharray:4 3}.muscle-region.recent path{fill:color-mix(in srgb,var(--forge-accent) 32%,#30363a);stroke:color-mix(in srgb,var(--forge-accent) 60%,#555)}.muscle-region.fresh path{fill:color-mix(in srgb,var(--forge-accent) 58%,#30363a);stroke:var(--forge-accent);filter:url(#freshGlow)}.muscle-region:hover,.muscle-region:focus{filter:brightness(1.2);transform:scale(1.025)}.muscle-region:active{transform:scale(.97)}.muscle-region.selected path{stroke:#fff;stroke-width:3}.muscle-label-column{padding:50px 0;display:flex;flex-direction:column;justify-content:space-around;gap:8px;z-index:2}.muscle-badge{position:relative;min-height:51px;width:100%;padding:7px 9px;border:1px solid var(--forge-border);border-radius:9px;background:rgba(25,29,32,.94);color:var(--forge-text);display:flex;flex-direction:column;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.18)}.muscle-badge span{overflow:hidden;text-overflow:ellipsis;color:var(--forge-text-muted);font-size:clamp(.61rem,1.6vw,.72rem);white-space:nowrap}.muscle-badge strong{font-size:clamp(.72rem,2.2vw,.93rem);white-space:nowrap}.muscle-badge.fresh strong,.muscle-badge.recent strong{color:var(--forge-accent)}.muscle-badge.selected{border-color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.16)}.muscle-label-column.left .muscle-badge{text-align:right;align-items:flex-end}.muscle-label-column.right .muscle-badge{text-align:left;align-items:flex-start}.muscle-label-column.left .muscle-badge::after,.muscle-label-column.right .muscle-badge::before{content:"";position:absolute;top:50%;width:clamp(10px,3vw,28px);height:1px;background:var(--forge-border)}.muscle-label-column.left .muscle-badge::after{right:calc(clamp(10px,3vw,28px) * -1)}.muscle-label-column.right .muscle-badge::before{left:calc(clamp(10px,3vw,28px) * -1)}
.dashboard-section{max-width:780px;margin:0 auto 20px}.dashboard-section h2{color:var(--forge-text-muted);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.weekly-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--forge-border);border-radius:12px;overflow:hidden;background:var(--forge-surface)}.weekly-grid div{padding:14px 8px;display:flex;flex-direction:column;align-items:center;border-right:1px solid var(--forge-border)}.weekly-grid div:last-child{border-right:0}.weekly-grid strong{font-size:1.5rem;letter-spacing:-.04em}.weekly-grid span{color:var(--forge-text-muted);font-size:.68rem}.insight-grid{max-width:780px;margin:auto;display:grid;grid-template-columns:1.25fr 1fr;gap:14px}.card-heading{display:flex;gap:8px;align-items:center;margin-bottom:14px}.card-icon{width:25px;height:25px;border-radius:6px;display:grid;place-items:center;color:var(--forge-accent);background:color-mix(in srgb,var(--forge-accent) 10%,transparent);font-size:1rem}.achievement-card p{color:var(--forge-text-muted);margin-bottom:9px}.arrow{color:var(--forge-accent);padding:0 3px}.accent-value{color:var(--forge-accent);font-size:1.45rem}
.sheet-backdrop{position:fixed;z-index:80;inset:0;background:rgba(0,0,0,.62);backdrop-filter:blur(3px)}.detail-sheet{position:fixed;z-index:81;bottom:0;left:50%;width:min(100%,620px);max-height:88vh;overflow-y:auto;transform:translateX(-50%);padding:28px max(20px,env(safe-area-inset-left)) calc(22px + env(safe-area-inset-bottom));background:#1a1e21;border:1px solid var(--forge-border);border-bottom:0;border-radius:20px 20px 0 0;box-shadow:0 -22px 60px rgba(0,0,0,.55);animation:sheetUp .24s ease-out}@keyframes sheetUp{from{transform:translate(-50%,30px);opacity:0}}.sheet-handle{position:absolute;top:9px;left:50%;width:42px;height:4px;transform:translateX(-50%);background:#596167;border-radius:3px}.sheet-close{position:absolute;right:17px;top:17px}.detail-sheet h2{font-size:1.8rem;margin-bottom:16px}.detail-hero{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px;margin-bottom:15px;border-radius:11px;background:var(--forge-surface-raised)}.detail-hero div{display:flex;flex-direction:column}.detail-hero div span{color:var(--forge-text-muted);font-size:.73rem}.detail-hero div strong{color:var(--forge-accent);font-size:1.5rem}.status-pill{display:inline-flex;width:fit-content;padding:5px 9px;border-radius:20px;color:var(--forge-accent);background:color-mix(in srgb,var(--forge-accent) 9%,transparent);border:1px solid color-mix(in srgb,var(--forge-accent) 25%,transparent);font-size:.68rem;font-weight:800}.status-pill.danger{color:var(--forge-danger);border-color:color-mix(in srgb,var(--forge-danger) 30%,transparent)}.detail-list{margin:0 0 20px}.detail-list div{display:flex;justify-content:space-between;gap:18px;padding:10px 2px;border-bottom:1px solid var(--forge-border)}.detail-list dt{color:var(--forge-text-muted)}.detail-list dd{margin:0;text-align:right;font-weight:700}.sheet-actions{display:grid;gap:9px;margin-top:20px}
.template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:14px}.template-card{position:relative}.template-card .exercise-count{float:right;color:var(--forge-text-muted);font-size:.72rem}.template-card p{min-height:35px;color:var(--forge-text-muted)}.exercise-chips{display:flex;flex-wrap:wrap;gap:5px;margin:13px 0 17px}.exercise-chips span,.set-chip{padding:5px 8px;border:1px solid var(--forge-border);background:#141719;border-radius:6px;color:var(--forge-text-muted);font-size:.68rem}.start-custom-card{max-width:560px}.workout-toolbar{margin-bottom:15px;display:flex;justify-content:space-between;color:var(--forge-text-muted)}.workout-toolbar div{color:var(--forge-text)}.live-dot{display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--forge-accent);box-shadow:0 0 10px var(--forge-accent)}.exercise-card{margin-bottom:14px}.exercise-card>header,.card-heading-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.exercise-card header h2{font-size:1.28rem;margin-bottom:0}.reorder-buttons,.row-actions{display:flex;gap:5px}.setup-note,.session-note{margin:14px 0;padding:10px 12px;background:color-mix(in srgb,var(--forge-accent) 6%,var(--forge-surface));border-left:3px solid var(--forge-accent);color:var(--forge-text-muted);border-radius:4px}.setup-note strong{color:var(--forge-text);margin-right:5px}.set-table{margin:15px 0;border:1px solid var(--forge-border);border-radius:9px;overflow:hidden}.set-row{min-height:42px;display:grid;grid-template-columns:44px 1fr 1fr 36px;align-items:center;gap:8px;padding:7px 9px;border-bottom:1px solid var(--forge-border)}.set-row:last-child{border-bottom:0}.set-row.header{min-height:34px;background:#141719;color:var(--forge-text-muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.set-entry-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.pr-toast{margin-top:12px;padding:9px 12px;border:1px solid color-mix(in srgb,var(--forge-accent) 28%,transparent);background:color-mix(in srgb,var(--forge-accent) 8%,transparent);color:var(--forge-accent);border-radius:8px;font-weight:800}.add-exercise-card{margin-top:16px}.finish-actions{padding:8px 0}
.filter-bar{display:grid;grid-template-columns:2fr 1fr 1fr auto auto;gap:9px;margin-bottom:16px}.library-list{display:grid;gap:9px}.library-item{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 18px}.library-item h2{margin:5px 0 4px}.library-item p{margin:0;color:var(--forge-text-muted);font-size:.78rem}.editor-card{margin-bottom:18px}.muscle-assignment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:7px}.muscle-assignment-grid>div{display:grid;grid-template-columns:1fr auto auto;gap:7px;align-items:center;padding:9px;border:1px solid var(--forge-border);border-radius:7px;font-size:.73rem}.muscle-assignment-grid label{color:var(--forge-text-muted);white-space:nowrap}.muscle-assignment-grid input{width:17px;min-height:17px;accent-color:var(--forge-accent);vertical-align:middle}.template-exercise-editor{display:grid;gap:8px;margin-bottom:12px}.template-exercise-row{display:grid;grid-template-columns:minmax(130px,1.4fr) repeat(5,minmax(58px,.5fr)) 42px 42px 42px;align-items:end;gap:7px;padding:10px;background:#141719;border:1px solid var(--forge-border);border-radius:9px}.template-exercise-row label{font-size:.68rem}.template-exercise-row .span-row{grid-column:1/-1}.template-card ol{padding-left:20px;color:var(--forge-text-muted)}.template-card li{padding:4px 0}.template-card li span{float:right}
.empty-state{min-height:350px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty-state>span{font-size:2.4rem;color:var(--forge-accent)}.history-list{display:grid;gap:10px}.history-card{padding:0;overflow:hidden}.history-card summary{padding:17px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none}.history-card summary::-webkit-details-marker{display:none}.history-card summary h2{margin:5px 0 0}.history-meta{text-align:center;display:flex;flex-direction:column}.history-meta strong{font-size:1.45rem}.history-meta span{color:var(--forge-text-muted);font-size:.65rem}.history-detail{border-top:1px solid var(--forge-border);padding:14px 17px 17px}.history-exercise{display:grid;grid-template-columns:minmax(130px,.7fr) 1.3fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--forge-border)}.history-exercise div{display:flex;flex-wrap:wrap;gap:5px}
.progress-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}.metric-card{display:flex;flex-direction:column}.metric-card strong{margin:7px 0 1px;color:var(--forge-accent);font-size:clamp(1.5rem,5vw,2.1rem);letter-spacing:-.05em}.metric-card small{color:var(--forge-text-muted)}.chart-card{margin-bottom:14px}.line-chart{width:100%;height:190px;overflow:visible}.chart-axis{stroke:var(--forge-border);stroke-width:1}.chart-line{fill:none;stroke:var(--forge-accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.line-chart circle{fill:var(--forge-background);stroke:var(--forge-accent);stroke-width:3}.chart-empty{height:150px;display:grid;place-items:center;color:var(--forge-text-muted)}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:14px}.timeline{display:grid}.timeline>a,.timeline>div{min-height:54px;display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:9px;border-bottom:1px solid var(--forge-border)}.timeline>*>span,.timeline small{color:var(--forge-text-muted);font-size:.7rem}.timeline>*>div{display:flex;flex-direction:column}.timeline b{color:var(--forge-accent)}.timeline.compact>div{grid-template-columns:80px 1fr auto}.measurement-list{margin-top:16px}.measurement-list>div{display:grid;grid-template-columns:1fr auto auto;gap:12px;padding:9px 0;border-bottom:1px solid var(--forge-border)}.measurement-list span,.measurement-list small{color:var(--forge-text-muted)}.back-link{display:inline-block;color:var(--forge-text-muted);margin:-14px 0 16px}.setup-note-card{margin-bottom:14px}
.more-list{display:grid;gap:10px}.more-list a{display:grid;grid-template-columns:45px 1fr auto;align-items:center;gap:12px}.more-list a:hover{border-color:color-mix(in srgb,var(--forge-accent) 40%,var(--forge-border))}.more-list div{display:flex;flex-direction:column}.more-list small{color:var(--forge-text-muted);margin-top:3px}.more-list b{font-size:1.8rem;color:var(--forge-text-muted)}.more-icon{width:43px;height:43px;display:grid;place-items:center;color:var(--forge-accent);background:color-mix(in srgb,var(--forge-accent) 8%,transparent);border-radius:9px;font-size:1.25rem}.about-card{margin-top:16px}.settings-card{margin-bottom:14px}.settings-card h2{margin-top:3px}.danger-zone{border-color:color-mix(in srgb,var(--forge-danger) 28%,var(--forge-border))}.danger-zone .eyebrow{color:var(--forge-danger)}
.valid.modified:not([type=checkbox]){border-color:var(--forge-success)}.invalid{border-color:var(--forge-danger)}.validation-message{color:var(--forge-danger)}#blazor-error-ui{display:none;position:fixed;z-index:1000;left:12px;right:12px;bottom:88px;padding:12px 44px 12px 14px;background:#4e1919;color:#fff;border:1px solid var(--forge-danger);border-radius:9px}#blazor-error-ui .dismiss{position:absolute;right:12px;cursor:pointer}.status-bar-safe-area{display:none}
@media(max-width:760px){.filter-bar{grid-template-columns:1fr 1fr}.filter-bar input{grid-column:span 2}.set-entry-grid{grid-template-columns:repeat(2,1fr)}.template-exercise-row{grid-template-columns:repeat(3,1fr);align-items:end}.template-exercise-row>strong{grid-column:1/-1}.two-column{grid-template-columns:1fr}}
@media(max-width:540px){.page{padding-left:13px;padding-right:13px}.page-header{margin-bottom:18px}.page-date{font-size:.72rem}.silhouette-map{min-height:540px;grid-template-columns:minmax(78px,26%) minmax(145px,48%) minmax(78px,26%)}.body-svg{height:540px}.muscle-label-column{padding:40px 0;gap:5px}.muscle-badge{min-height:46px;padding:5px 6px;border-radius:7px}.weekly-grid strong{font-size:1.25rem}.weekly-grid span{font-size:.6rem}.insight-grid,.progress-overview{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:span 1}.inline-form{align-items:stretch;flex-direction:column}.set-row{grid-template-columns:36px 1fr 1fr 28px;font-size:.76rem}.library-item{align-items:flex-start}.filter-bar{grid-template-columns:1fr}.filter-bar input{grid-column:auto}.muscle-assignment-grid>div{grid-template-columns:1fr}.template-exercise-row{grid-template-columns:repeat(2,1fr)}.template-exercise-row .icon-button{width:100%}.history-exercise{grid-template-columns:1fr}.finish-actions .button{flex:1}.detail-sheet{max-height:92vh}}
@media(min-width:900px){.bottom-nav{left:50%;right:auto;width:min(620px,100%);transform:translateX(-50%);border:1px solid var(--forge-border);border-bottom:0;border-radius:18px 18px 0 0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.workout-notes-card{margin-bottom:14px}.workout-notes-card textarea{min-height:68px}.workout-notes-card .button{margin-top:8px}.set-row{grid-template-columns:44px 1fr 1fr 72px}.set-actions{display:flex}.set-actions .text-button{width:34px;padding:0}@media(max-width:540px){.set-row{grid-template-columns:36px 1fr 1fr 60px}.set-actions .text-button{width:28px}}

/* All editors and detail surfaces share this viewport overlay so opening one never reflows the page. */
.modal-layer{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));isolation:isolate;overflow:hidden}.modal-backdrop{position:absolute;z-index:0;inset:0;width:100%;height:100%;min-height:0;padding:0;border:0;border-radius:0;background:rgba(0,0,0,.72);backdrop-filter:blur(5px);cursor:default}.modal-panel{position:relative;z-index:1;width:min(720px,100%);max-height:calc(100vh - 36px);max-height:calc(100dvh - 36px);overflow-y:auto;overscroll-behavior:contain;padding:0;background:#1a1e21;border:1px solid var(--forge-border);border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.7);animation:modalIn .18s ease-out}.modal-panel.wide{width:min(1080px,100%)}.modal-header{position:sticky;z-index:4;top:0;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 16px;background:linear-gradient(#1a1e21 78%,rgba(26,30,33,.93));border-bottom:1px solid var(--forge-border)}.modal-header h2{margin:0;font-size:1.45rem}.modal-close{flex:0 0 auto}.modal-body{padding:4px 22px 22px}.modal-body>.notice{margin-top:16px}.modal-bottom{place-items:end center;padding-bottom:0}.modal-panel.bottom-sheet{width:min(620px,100%);max-height:88vh;max-height:88dvh;border-radius:20px 20px 0 0;border-bottom:0;animation:sheetUpFixed .22s ease-out}.modal-panel.detail-sheet{position:relative;z-index:1;left:auto;bottom:auto;transform:none;width:min(620px,100%);padding:28px max(20px,env(safe-area-inset-left)) calc(22px + env(safe-area-inset-bottom))}.historical-modal{width:min(820px,100%)}.historical-set-builder{margin:10px 0 16px;padding:16px;border:1px solid var(--forge-border);border-radius:12px;background:#15181a}.historical-set-builder h3{margin:0}.historical-set-grid{margin-top:14px}.add-historical-set{margin-top:14px}.set-count{color:var(--forge-text-muted);font-size:.75rem}.historical-set-list{display:grid;gap:7px}.historical-set-list>div{display:grid;grid-template-columns:32px minmax(100px,1fr) auto 42px;gap:10px;align-items:center;padding:8px 9px;border:1px solid var(--forge-border);border-radius:9px;background:#141719}.historical-set-list>div>span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:color-mix(in srgb,var(--forge-accent) 13%,transparent);color:var(--forge-accent);font-size:.72rem;font-weight:800}.historical-set-list small{color:var(--forge-text-muted)}.empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:9px}@keyframes modalIn{from{transform:translateY(12px) scale(.985);opacity:0}}@keyframes sheetUpFixed{from{transform:translateY(30px);opacity:0}}body:has(.modal-layer){overflow:hidden}
@media(max-width:540px){.modal-layer{place-items:end center;padding:0}.modal-panel,.modal-panel.wide,.historical-modal{width:100%;max-height:94vh;max-height:94dvh;border-radius:18px 18px 0 0;border-bottom:0}.modal-header{padding:17px 15px 13px}.modal-body{padding:2px 15px calc(17px + env(safe-area-inset-bottom))}.historical-set-builder{padding:12px}.historical-set-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.historical-set-list>div{grid-template-columns:28px minmax(90px,1fr) 42px}.historical-set-list small{grid-column:2}.modal-panel.detail-sheet{max-height:92dvh}.modal-panel.bottom-sheet{max-height:92dvh}}

/* Responsive text safety: content may wrap, but it must never collide with adjacent content. */
html,body{max-width:100%;overflow-x:hidden}.page,.card,.modal-panel,.modal-body,.page-header>*,.card>*,.library-item>*,.history-card summary>*,.history-exercise>*,.more-list a>*,.timeline>*>*,.measurement-list>*,.detail-list>*,.detail-hero>*{min-width:0}input,select,textarea{min-width:0;max-width:100%}.button{max-width:100%;white-space:normal;text-align:center;overflow-wrap:anywhere}:where(h1,h2,h3,p,dd,.library-item,.history-card,.history-exercise,.more-list,.timeline,.measurement-list,.setup-note,.session-note,.notice){overflow-wrap:anywhere}.page-header,.card-heading-row,.workout-toolbar,.exercise-card>header,.detail-hero,.history-card summary{flex-wrap:wrap}.page-header>div,.card-heading-row>div,.exercise-card>header>div:first-child,.history-card summary>div:first-child,.library-item>div:first-child{flex:1 1 180px}.page-date{max-width:100%;text-align:right}.inline-form input,.inline-form select{min-width:0}.weekly-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.weekly-grid div{min-width:0;text-align:center}.weekly-grid span{overflow-wrap:anywhere}.detail-hero>div{min-width:0}.detail-hero strong{overflow-wrap:anywhere}.status-pill{max-width:100%;white-space:normal;text-align:center;overflow-wrap:anywhere}.detail-list div{flex-wrap:wrap}.detail-list dt{flex:1 1 110px;min-width:0}.detail-list dd{flex:1 1 150px;min-width:0;overflow-wrap:anywhere}.sheet-actions .button{width:100%}.filter-bar{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto auto}.library-item>div:first-child{min-width:0}.row-actions,.reorder-buttons{flex:0 0 auto;flex-wrap:wrap}.set-entry-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.set-row{grid-template-columns:44px minmax(0,1fr) minmax(0,1fr) 72px}.set-row>*{min-width:0;overflow-wrap:anywhere}.history-card summary>div:first-child{min-width:0}.history-meta{flex:0 0 auto}.history-exercise{grid-template-columns:minmax(110px,.7fr) minmax(0,1.3fr)}.history-exercise>div{min-width:0}.more-list a{grid-template-columns:45px minmax(0,1fr) auto}.more-list div{min-width:0}.timeline>a,.timeline>div{grid-template-columns:60px minmax(0,1fr) auto}.timeline.compact>div{grid-template-columns:minmax(72px,80px) minmax(0,1fr) auto}.timeline>*>*{min-width:0;overflow-wrap:anywhere}.timeline b{justify-self:end;text-align:right}.timeline.compact.best-lift-list>div{grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr)}.best-lift-list strong{text-align:left}.measurement-list>div{grid-template-columns:minmax(70px,.7fr) minmax(0,1.2fr) auto}.measurement-list>div>*{min-width:0;overflow-wrap:anywhere}.note-list>div{grid-template-columns:minmax(110px,.65fr) minmax(0,1.35fr) auto}.template-exercise-row>*{min-width:0}.historical-set-list>div>*{min-width:0;overflow-wrap:anywhere}.modal-header>div{min-width:0}.modal-header h2{overflow-wrap:anywhere}
@media(max-width:760px){.set-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-bar{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.template-exercise-row{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:540px){.page-header{align-items:flex-start}.page-date{white-space:normal;text-align:left}.detail-hero{align-items:flex-start;flex-direction:column}.detail-hero .status-pill{align-self:flex-start}.library-item{flex-direction:column;align-items:stretch}.library-item .row-actions{align-self:flex-end}.filter-bar{grid-template-columns:minmax(0,1fr)}.filter-bar input{grid-column:auto}.template-exercise-row{grid-template-columns:repeat(2,minmax(0,1fr))}.history-exercise{grid-template-columns:minmax(0,1fr)}.set-row{grid-template-columns:36px minmax(0,1fr) minmax(0,1fr) 60px}.timeline.compact>div{grid-template-columns:minmax(68px,78px) minmax(0,1fr) auto}.timeline.compact.best-lift-list>div{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.note-list>div{grid-template-columns:minmax(0,1fr) auto}.note-list>div>strong{grid-column:1/-1;grid-row:2}.settings-actions .button{flex:1 1 180px}.historical-set-list>div{grid-template-columns:28px minmax(0,1fr) 42px}}
@media(max-width:360px){.timeline.compact.best-lift-list>div{grid-template-columns:minmax(0,1fr);gap:4px;padding:11px 0}.best-lift-list strong{grid-column:1}.timeline.compact:not(.best-lift-list)>div{grid-template-columns:minmax(62px,72px) minmax(0,1fr)}.timeline.compact:not(.best-lift-list)>div>b{grid-column:2;justify-self:start}.historical-set-grid{grid-template-columns:minmax(0,1fr)}}
.page :where(div,section,article,header,footer,main,nav,form,fieldset,label,button,a,span,p,h1,h2,h3,dl,dt,dd,ol,ul,li,input,select,textarea),.modal-layer :where(div,section,article,header,footer,main,nav,form,fieldset,label,button,a,span,p,h1,h2,h3,dl,dt,dd,ol,ul,li,input,select,textarea){min-width:0}.icon-button{flex:0 0 42px;min-width:42px}.bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.bottom-nav a{min-width:0}.bottom-nav a>span:last-child{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.colour-input{grid-template-columns:55px minmax(0,1fr)}.segmented-control{grid-template-columns:repeat(2,minmax(0,1fr))}.insight-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.muscle-assignment-grid>div{grid-template-columns:minmax(0,1fr) auto auto}.progress-overview{grid-template-columns:repeat(3,minmax(0,1fr))}.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.workout-toolbar>*{min-width:0;overflow-wrap:anywhere}
@media(max-width:540px){.insight-grid,.progress-overview,.two-column{grid-template-columns:minmax(0,1fr)}.muscle-assignment-grid>div{grid-template-columns:minmax(0,1fr)}}
.history-entry-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:14px}.history-entry-actions{display:flex;flex-wrap:wrap;gap:8px}.history-entry-actions .button{min-height:40px;padding:7px 13px}.history-editor-modal{width:min(1120px,100%)}.history-exercise-editor-list{display:grid;gap:14px}.history-edit-exercise{padding:16px;border:1px solid var(--forge-border);border-radius:13px;background:#15181a}.history-edit-exercise h3{margin:0;font-size:1.12rem}.history-edit-set-list{display:grid;gap:8px;margin:15px 0}.history-edit-set{display:grid;grid-template-columns:30px minmax(0,1fr) 42px;gap:9px;align-items:start;padding:10px;border:1px solid var(--forge-border);border-radius:10px;background:#111416}.history-set-number{display:grid;place-items:center;width:28px;height:28px;margin-top:22px;border-radius:50%;color:var(--forge-accent);background:color-mix(in srgb,var(--forge-accent) 12%,transparent);font-size:.72rem;font-weight:800}.history-edit-set-fields{display:grid;grid-template-columns:repeat(6,minmax(80px,1fr));gap:9px}.history-edit-set-fields>*{min-width:0}.history-set-note{grid-column:span 2}.history-set-remove{margin-top:21px}.add-history-exercise{margin-top:16px;padding:14px;border:1px dashed var(--forge-border);border-radius:10px}
@media(max-width:900px){.history-edit-set-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.history-set-note{grid-column:span 2}}
@media(max-width:540px){.history-entry-footer{align-items:flex-start}.history-entry-actions{width:100%}.history-entry-actions .button{flex:1}.history-edit-exercise{padding:12px}.history-edit-set{grid-template-columns:25px minmax(0,1fr) 42px;padding:8px;gap:7px}.history-edit-set-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.history-set-note{grid-column:1/-1}.history-set-number{width:24px;height:24px}.history-edit-exercise .card-heading-row>.button{width:100%}}
@media(max-width:360px){.history-edit-set{grid-template-columns:minmax(0,1fr) 42px}.history-set-number{grid-column:1/-1;margin-top:0}.history-edit-set-fields{grid-template-columns:minmax(0,1fr)}.history-set-remove{grid-column:2;grid-row:2;margin-top:21px}.history-set-note{grid-column:1}}
.measurement-section-title{margin:19px 0 -5px;padding-top:15px;border-top:1px solid var(--forge-border);color:var(--forge-text-muted);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase}.measurement-form-section{margin-top:13px}.measurement-history{display:grid;gap:8px;margin-top:18px}.measurement-entry{overflow:hidden;border:1px solid var(--forge-border);border-radius:10px;background:#141719}.measurement-entry summary{display:grid;grid-template-columns:minmax(84px,.75fr) minmax(0,1.25fr) auto;gap:10px;align-items:center;padding:12px;cursor:pointer;list-style:none}.measurement-entry summary::-webkit-details-marker{display:none}.measurement-entry summary span,.measurement-entry summary small{color:var(--forge-text-muted);font-size:.72rem}.measurement-entry summary strong{min-width:0;overflow-wrap:anywhere}.measurement-value-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding:1px;border-top:1px solid var(--forge-border);background:var(--forge-border)}.measurement-value-grid>div{display:flex;justify-content:space-between;flex-wrap:wrap;gap:7px;padding:10px;background:var(--forge-surface)}.measurement-value-grid span{color:var(--forge-text-muted);font-size:.72rem}.measurement-entry>.session-note{margin:10px 12px 12px}
@media(max-width:540px){.measurement-entry summary{grid-template-columns:minmax(0,1fr) auto}.measurement-entry summary small{grid-column:1/-1}.measurement-value-grid{grid-template-columns:minmax(0,1fr)}}

/* Searchable exercise selection shared by workouts, history and programme editing. */
.exercise-picker{min-width:0}.exercise-picker-filters{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,1fr));gap:9px;margin-bottom:10px}.exercise-picker-selection{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border-left:3px solid var(--forge-accent);background:color-mix(in srgb,var(--forge-accent) 6%,transparent)}.exercise-picker-selection>div{display:flex;min-width:0;flex-direction:column}.exercise-picker-selection small{color:var(--forge-text-muted);overflow-wrap:anywhere}.exercise-picker-results{max-height:290px;overflow-y:auto;overscroll-behavior:contain;border-top:1px solid var(--forge-border);border-bottom:1px solid var(--forge-border)}.exercise-picker-option{width:100%;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.8fr);gap:3px 12px;padding:11px 9px;text-align:left;color:var(--forge-text);background:transparent;border:0;border-bottom:1px solid color-mix(in srgb,var(--forge-border) 65%,transparent);cursor:pointer}.exercise-picker-option:last-child{border-bottom:0}.exercise-picker-option:hover,.exercise-picker-option.selected{background:color-mix(in srgb,var(--forge-accent) 7%,transparent)}.exercise-picker-option.selected{box-shadow:inset 3px 0 var(--forge-accent)}.exercise-picker-option span,.exercise-picker-option small{color:var(--forge-text-muted);font-size:.72rem;overflow-wrap:anywhere}.exercise-picker-option small{grid-column:1/-1}.exercise-picker-empty{padding:24px;text-align:center;color:var(--forge-text-muted)}.exercise-picker-count{margin:8px 0 0;color:var(--forge-text-muted);font-size:.72rem}.add-exercise-card .exercise-picker,.template-exercise-picker .exercise-picker,.add-history-exercise .exercise-picker{margin-bottom:11px}.template-exercise-picker,.add-history-exercise{display:block}

/* Relative personal-strength radar carousel. */
.strength-radar-card{max-width:820px;margin:0 auto 14px}.radar-carousel-tabs{width:210px;margin:2px auto 8px;padding:4px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--forge-border);border-radius:10px;background:var(--forge-surface)}.radar-carousel-tabs button{min-height:36px;border:0;border-radius:7px;background:transparent;color:var(--forge-text-muted);font-weight:800;cursor:pointer}.radar-carousel-tabs button.active{background:var(--forge-surface-raised);color:var(--forge-text)}.strength-radar{width:min(100%,640px);margin:0 auto;animation:radarSlide .2s ease-out}.strength-radar svg{display:block;width:100%;height:auto;overflow:visible}.strength-radar text{min-width:auto}.radar-grid{fill:none;stroke:var(--forge-border);stroke-width:1;vector-effect:non-scaling-stroke}.radar-axis{stroke:color-mix(in srgb,var(--forge-border) 72%,transparent);stroke-width:1;vector-effect:non-scaling-stroke}.radar-data{fill:color-mix(in srgb,var(--forge-accent) 16%,transparent);stroke:var(--forge-accent);stroke-width:2.5;stroke-linejoin:round;vector-effect:non-scaling-stroke}.radar-point{fill:var(--forge-background);stroke:var(--forge-accent);stroke-width:2;vector-effect:non-scaling-stroke}.radar-label,.radar-value,.radar-empty{paint-order:stroke;stroke:var(--forge-surface-raised);stroke-width:3px;stroke-linejoin:round}.radar-label{fill:var(--forge-text);font-size:11px;font-weight:700}.radar-value{fill:var(--forge-text-muted);font-size:9px;font-weight:600}.radar-empty{fill:var(--forge-text-muted);font-size:11px}.radar-caption{max-width:620px;margin:-2px auto 0;text-align:center;color:var(--forge-text-muted);font-size:.75rem}.progress-timeline-card{max-width:820px;margin:0 auto}@keyframes radarSlide{from{transform:translateX(10px);opacity:.75}}

/* Cleaner map labels and more anatomical body contouring. */
.body-shape{display:none}.body-svg.male .male-shape,.body-svg.notspecified .male-shape{display:block}.body-svg.female .female-shape{display:block}.anatomy-lines{pointer-events:none}.body-contour{fill:none;stroke:#697279;stroke-width:.9;opacity:.62;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.muscle-badge{min-height:49px;padding:5px 6px;border:0;border-radius:0;background:transparent;box-shadow:none}.muscle-badge:hover,.muscle-badge:focus{background:transparent}.muscle-badge span{color:var(--forge-text-muted)}.muscle-badge strong{color:var(--forge-accent)}.muscle-badge.selected{border:0;box-shadow:none}.muscle-badge.selected span,.muscle-badge.selected strong{color:#fff}.muscle-label-column.left .muscle-badge::after,.muscle-label-column.right .muscle-badge::before{height:2px;background:var(--forge-accent);box-shadow:0 0 7px color-mix(in srgb,var(--forge-accent) 42%,transparent)}

/* Profile and dedicated measurements. */
.profile-card{max-width:680px;margin:0 auto}.profile-sex-options{margin:20px 0;padding:0;border:0}.profile-sex-options legend{margin-bottom:9px;color:var(--forge-text-muted);font-size:.72rem;font-weight:700}.profile-sex-option{display:flex;align-items:center;gap:9px;min-height:45px;margin-bottom:7px;padding:8px 11px;border:1px solid var(--forge-border);border-radius:9px;background:#131619;cursor:pointer}.profile-sex-option input{width:20px;min-height:20px;accent-color:var(--forge-accent)}.profile-sex-option span{margin:0;color:var(--forge-text)}.profile-height{display:block;max-width:320px}.measurement-modal{width:min(760px,100%)}.measurement-page-history{max-width:860px}.measurement-page-history .measurement-entry{padding:0}.measurement-entry-actions{display:flex;justify-content:flex-end;padding:0 12px 12px}.measurement-page-history .measurement-value-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.home-gym-card{position:relative;margin-bottom:14px;overflow:hidden;background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--forge-accent) 9%,transparent),transparent 38%),linear-gradient(145deg,#1e2326,#171a1d)}.home-gym-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.home-gym-heading h2{margin:2px 0 0;font-size:1.25rem}.home-gym-presence{display:inline-flex;align-items:center;gap:7px;width:fit-content;padding:6px 10px;color:var(--forge-text-muted);border:1px solid var(--forge-border);border-radius:20px;background:rgba(12,15,17,.48);font-size:.68rem;font-weight:850}.home-gym-presence>span{width:8px;height:8px;border-radius:50%;background:var(--forge-text-muted)}.home-gym-presence.at-gym{color:var(--forge-accent);border-color:color-mix(in srgb,var(--forge-accent) 38%,var(--forge-border));background:color-mix(in srgb,var(--forge-accent) 8%,rgba(12,15,17,.62))}.home-gym-presence.at-gym>span{background:var(--forge-accent);box-shadow:0 0 10px var(--forge-accent)}.home-gym-presence.away>span{background:#667078}.home-gym-card>.muted{margin:12px 0 15px;line-height:1.5}.home-gym-card>.muted strong{color:var(--forge-text)}.home-gym-privacy{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;padding:11px 12px;border:1px solid color-mix(in srgb,var(--forge-accent) 18%,var(--forge-border));border-radius:10px;background:color-mix(in srgb,var(--forge-accent) 4%,#121517)}.home-gym-privacy svg{width:27px;height:27px;fill:none;stroke:var(--forge-accent);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.home-gym-privacy div,.home-gym-location-summary div{display:flex;min-width:0;flex-direction:column}.home-gym-privacy small,.home-gym-location-summary small{margin-top:3px;color:var(--forge-text-muted);font-size:.7rem;line-height:1.45}.home-gym-fields{margin:15px 0 10px}.home-gym-location-summary{min-height:58px;display:flex;align-items:center;gap:11px;padding:10px 12px;border:1px dashed var(--forge-border);border-radius:10px;background:rgba(13,16,18,.45)}.home-gym-pin{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;color:var(--forge-accent);border:1px solid color-mix(in srgb,var(--forge-accent) 30%,var(--forge-border));border-radius:50%;background:color-mix(in srgb,var(--forge-accent) 7%,transparent);font-size:1.1rem}.home-gym-actions{align-items:center}.home-gym-actions .text-button{margin-left:auto}
.profile-photo-avatar{display:grid;place-items:center;flex:0 0 auto;overflow:hidden;border-radius:50%;color:var(--forge-accent);background:radial-gradient(circle at 35% 25%,color-mix(in srgb,var(--forge-accent) 20%,#252a2e),#15181a 72%);border:1px solid color-mix(in srgb,var(--forge-accent) 38%,var(--forge-border));box-shadow:0 10px 28px rgba(0,0,0,.28)}img.profile-photo-avatar{object-fit:cover}.profile-photo-fallback svg{width:54%;height:54%;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round}.profile-photo-card{position:relative;isolation:isolate;display:grid;grid-template-columns:132px minmax(0,1fr);align-items:center;gap:24px;margin-bottom:14px;overflow:hidden;background:radial-gradient(circle at 2% 10%,color-mix(in srgb,var(--forge-accent) 15%,transparent),transparent 35%),linear-gradient(145deg,#202529,#171a1d)}.profile-photo-card::after{content:"";position:absolute;z-index:-1;right:-48px;top:-88px;width:210px;height:210px;border:1px solid color-mix(in srgb,var(--forge-accent) 13%,transparent);border-radius:50%;box-shadow:0 0 0 28px color-mix(in srgb,var(--forge-accent) 3%,transparent)}.profile-photo-preview{width:128px;height:128px;border-width:2px;box-shadow:0 15px 34px rgba(0,0,0,.38),0 0 0 6px color-mix(in srgb,var(--forge-accent) 6%,transparent)}.profile-photo-copy h2{margin:2px 0 7px;font-size:1.25rem}.profile-photo-copy p{margin-bottom:12px;line-height:1.5}.profile-photo-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}.local-only-pill{width:fit-content;display:inline-flex;align-items:center;gap:7px;padding:5px 9px;color:var(--forge-text-muted);border:1px solid var(--forge-border);border-radius:20px;background:rgba(15,18,20,.58);font-size:.66rem;font-weight:750}.local-only-pill>span{width:7px;height:7px;border-radius:50%;background:var(--forge-accent);box-shadow:0 0 8px color-mix(in srgb,var(--forge-accent) 55%,transparent)}.more-profile-photo{width:43px;height:43px;border-radius:11px;box-shadow:none}.online-account-identity{display:flex;align-items:center;gap:12px}.online-account-photo{width:54px;height:54px}.online-account-identity>.profile-photo-avatar+div{display:block}
@media(max-width:540px){.profile-photo-card{grid-template-columns:94px minmax(0,1fr);align-items:start;gap:15px;padding:16px}.profile-photo-preview{width:92px;height:92px}.profile-photo-copy h2{font-size:1.08rem}.profile-photo-copy p{font-size:.75rem}.profile-photo-actions{grid-column:1/-1}.profile-photo-actions .button{flex:1 1 130px}}
@media(max-width:760px){.exercise-picker-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.exercise-picker-search{grid-column:1/-1}.measurement-page-history .measurement-value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.exercise-picker-filters{grid-template-columns:minmax(0,1fr)}.exercise-picker-search{grid-column:1}.exercise-picker-option{grid-template-columns:minmax(0,1fr)}.exercise-picker-option small{grid-column:1}.strength-radar{width:100%}.radar-label{font-size:10px}.radar-value{font-size:8px}.muscle-badge{min-height:43px;padding:3px}.measurement-page-history .measurement-value-grid{grid-template-columns:minmax(0,1fr)}}

/* Optional Online Mode, social cache and messaging. */
.online-page,.social-page,.friend-profile-page{max-width:900px}.online-intro-card,.online-auth-card,.online-account-card,.online-privacy-card{max-width:720px;margin:0 auto 14px}.online-intro-card p,.online-intro-card li,.online-privacy-card p{color:var(--forge-text-muted)}.online-intro-card ul{margin:16px 0 0;padding-left:20px;display:grid;gap:7px}.online-auth-tabs{max-width:420px;margin:18px auto 14px}.online-submit{width:100%;margin-top:8px}.server-settings{margin:16px 0}.server-settings summary,.share-workout-composer summary{padding:8px 0;color:var(--forge-text-muted);cursor:pointer}.server-settings label{display:block;margin-top:9px}.server-settings small{display:block;margin-top:7px;color:var(--forge-text-muted);overflow-wrap:anywhere}.online-account-heading,.friend-profile-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.online-account-heading h2,.friend-profile-heading h2{margin:0}.online-account-heading p,.friend-profile-heading p{margin:4px 0 0;color:var(--forge-text-muted)}.online-status{display:inline-flex;align-items:center;gap:6px;width:fit-content;padding:6px 9px;border:1px solid var(--forge-border);border-radius:20px;color:var(--forge-text-muted);font-size:.7rem;font-weight:800}.online-status::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--forge-text-muted)}.online-status.connected{color:var(--forge-accent);border-color:color-mix(in srgb,var(--forge-accent) 30%,var(--forge-border))}.online-status.connected::before{background:var(--forge-accent);box-shadow:0 0 7px var(--forge-accent)}.online-sync-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:18px 0;background:var(--forge-border);border:1px solid var(--forge-border);border-radius:10px;overflow:hidden}.online-sync-summary>div{display:flex;flex-direction:column;padding:13px;background:var(--forge-surface)}.online-sync-summary span{color:var(--forge-text-muted);font-size:.7rem}.online-sync-summary strong{margin-top:4px;overflow-wrap:anywhere}.online-actions{display:flex;gap:9px;flex-wrap:wrap}.online-actions>*{flex:1 1 190px}.online-danger-zone{max-width:720px;margin:8px auto 0;display:flex;justify-content:flex-end;gap:18px;flex-wrap:wrap}.danger-text{color:var(--forge-danger)}
.people-search-card{margin-bottom:18px}.social-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.people-results{margin-top:12px;border-top:1px solid var(--forge-border)}.people-results>div,.friend-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:11px}.people-results>div{padding:11px 0;border-bottom:1px solid var(--forge-border)}.people-results>div>div:nth-child(2),.friend-row>div:nth-child(2),.friend-row>a{display:flex;flex-direction:column}.people-results small,.friend-row small{margin-top:2px;color:var(--forge-text-muted)}.avatar{display:grid;place-items:center;width:42px;height:42px;flex:0 0 auto;border-radius:50%;color:var(--forge-accent);background:color-mix(in srgb,var(--forge-accent) 11%,var(--forge-surface-raised));border:1px solid color-mix(in srgb,var(--forge-accent) 25%,var(--forge-border));font-size:.72rem;font-weight:800}.avatar.large{width:56px;height:56px;font-size:.9rem}.social-section{margin-top:22px}.social-section>h2,.social-section>.card-heading-row h2{margin-bottom:10px}.friend-list{display:grid;gap:8px}.friend-row{padding:12px 14px}.friend-row .row-actions{justify-content:flex-end}.button.compact{min-height:36px;padding:7px 10px;font-size:.74rem}.social-empty{text-align:center}.social-empty h3{margin-bottom:5px}.friend-profile-heading{margin-bottom:16px;padding:3px}.friend-profile-heading>div:nth-child(2){flex:1 1 180px}.friend-stat-grid{margin-bottom:14px}.friend-radar-card{margin-bottom:14px}.friend-radar-card .strength-radar{max-width:640px}
.conversation-card{padding-bottom:15px}.message-thread{display:flex;flex-direction:column;gap:8px;max-height:560px;overflow-y:auto;overscroll-behavior:contain;margin:13px 0;padding:4px}.message-bubble{width:min(86%,560px);padding:10px 12px;border-radius:13px;background:var(--forge-surface-raised);overflow-wrap:anywhere}.message-bubble.mine{align-self:flex-end;border-bottom-right-radius:4px;background:color-mix(in srgb,var(--forge-accent) 13%,var(--forge-surface-raised))}.message-bubble.theirs{align-self:flex-start;border-bottom-left-radius:4px}.message-bubble>p{margin:0 0 6px;white-space:pre-wrap}.message-bubble>small{display:block;margin-top:6px;color:var(--forge-text-muted);font-size:.66rem;text-align:right}.chat-empty{padding:34px 10px;text-align:center}.message-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px;padding-top:12px;border-top:1px solid var(--forge-border)}.message-composer textarea{min-height:70px}.share-workout-composer{margin-top:8px}.share-workout-composer>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.shared-workout-card{margin:8px 0 4px;border-left:3px solid var(--forge-accent);background:color-mix(in srgb,var(--forge-accent) 5%,transparent)}.shared-workout-card summary{display:flex;flex-direction:column;gap:3px;padding:9px;cursor:pointer;list-style:none}.shared-workout-card summary::-webkit-details-marker{display:none}.shared-workout-card summary span{color:var(--forge-accent);font-size:.62rem;font-weight:800;letter-spacing:.1em}.shared-workout-card summary small{margin:0;text-align:left}.shared-workout-detail{display:grid;padding:0 9px 9px}.shared-workout-detail>div{display:flex;flex-direction:column;gap:2px;padding:7px 0;border-top:1px solid var(--forge-border)}.shared-workout-detail span{color:var(--forge-text-muted);font-size:.7rem;overflow-wrap:anywhere}
@media(max-width:620px){.friend-row{grid-template-columns:42px minmax(0,1fr)}.friend-row>.row-actions,.friend-row>.status-pill{grid-column:2;justify-self:start}.social-search-row,.message-composer,.share-workout-composer>div{grid-template-columns:minmax(0,1fr)}.social-search-row .button,.message-composer .button,.share-workout-composer .button{width:100%}.message-bubble{width:92%}.online-sync-summary{grid-template-columns:minmax(0,1fr)}}

/* Social inbox, notifications and permission-gated friend data. */
.page-header-title{min-width:0}.page-header-side{display:flex;align-items:center;justify-content:flex-end;gap:12px}.social-shortcuts{display:flex;gap:7px}.header-icon-button{position:relative;width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;color:var(--forge-text-muted);background:color-mix(in srgb,var(--forge-surface-raised) 72%,transparent);border:1px solid var(--forge-border);border-radius:11px}.header-icon-button:hover,.header-icon-button.active{color:var(--forge-accent);border-color:color-mix(in srgb,var(--forge-accent) 38%,var(--forge-border))}.header-icon-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.notification-badge{position:absolute;top:-6px;right:-6px;min-width:19px;height:19px;padding:0 5px;display:grid;place-items:center;color:#111;background:var(--forge-accent);border:2px solid var(--forge-background);border-radius:12px;font-size:.6rem;font-weight:900}.messages-page{max-width:860px}.inbox-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}.inbox-heading h2{margin:0}.conversation-list{display:grid;gap:8px}.conversation-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px}.conversation-row.unread{border-color:color-mix(in srgb,var(--forge-accent) 42%,var(--forge-border));box-shadow:inset 3px 0 var(--forge-accent)}.conversation-copy{min-width:0}.conversation-copy>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.conversation-copy time,.conversation-copy small{color:var(--forge-text-muted);font-size:.68rem}.conversation-copy p{margin:4px 0 0;color:var(--forge-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-row.unread .conversation-copy p,.conversation-row.unread .conversation-copy strong{color:var(--forge-text)}.conversation-unread{min-width:25px;height:25px;padding:0 7px;display:grid;place-items:center;color:#111;background:var(--forge-accent);border-radius:14px;font-size:.66rem;font-weight:900}.conversation-arrow{color:var(--forge-text-muted);font-size:1.6rem}.security-toggle-list{display:grid;gap:8px;margin:16px 0}.security-toggle-list>label{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:11px;padding:12px;border:1px solid var(--forge-border);border-radius:10px;background:#141719;cursor:pointer}.security-toggle-list input{width:20px;min-height:20px;margin:2px 0 0;accent-color:var(--forge-accent)}.security-toggle-list label>span{margin:0;display:flex;flex-direction:column;color:var(--forge-text)}.security-toggle-list small{margin-top:3px;color:var(--forge-text-muted);font-weight:400;line-height:1.4}.friend-page-links{display:flex;align-items:center;justify-content:space-between;gap:12px}.friend-stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.private-social-section{min-height:70px;margin-bottom:14px;display:flex;align-items:center;gap:12px;border-style:dashed;box-shadow:none}.private-social-section .private-lock{width:28px;height:28px;display:grid;place-items:center;color:var(--forge-text-muted);border:1px solid var(--forge-border);border-radius:50%;font-size:.55rem}.private-social-section div{display:flex;flex-direction:column}.private-social-section small{margin-top:3px;color:var(--forge-text-muted)}.friend-data-card{margin-bottom:14px}.friend-data-card>.muted{margin:-3px 0 14px}.friend-workout-list,.friend-record-list,.friend-checkin-list{display:grid;gap:7px;margin-top:13px}.friend-workout-entry,.friend-checkin-list>details{border:1px solid var(--forge-border);border-radius:10px;background:#141719;overflow:hidden}.friend-workout-entry>summary,.friend-checkin-list>details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;cursor:pointer;list-style:none}.friend-workout-entry>summary::-webkit-details-marker,.friend-checkin-list>details>summary::-webkit-details-marker{display:none}.friend-workout-entry summary>div{display:flex;min-width:0;flex-direction:column}.friend-workout-entry summary small,.friend-workout-entry summary>span,.friend-checkin-list summary>span{margin-top:3px;color:var(--forge-text-muted);font-size:.7rem}.friend-workout-detail{display:grid;gap:0;padding:0 12px 12px;border-top:1px solid var(--forge-border)}.friend-workout-detail>div{display:flex;min-width:0;flex-direction:column;gap:3px;padding:9px 0;border-bottom:1px solid color-mix(in srgb,var(--forge-border) 70%,transparent)}.friend-workout-detail>div span{color:var(--forge-text-muted);font-size:.7rem;overflow-wrap:anywhere}.friend-workout-detail>.button{margin-top:12px}.friend-record-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:10px 2px;border-bottom:1px solid var(--forge-border)}.friend-record-list>div>div{display:flex;min-width:0;flex-direction:column}.friend-record-list small{margin-top:2px;color:var(--forge-text-muted)}.friend-record-list b{color:var(--forge-accent);text-align:right}.friend-checkin-list summary{flex-wrap:wrap}.friend-checkin-list details>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding:1px;border-top:1px solid var(--forge-border);background:var(--forge-border)}.friend-checkin-list details>div>span{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px;background:var(--forge-surface)}.friend-checkin-list small{color:var(--forge-text-muted)}.social-data-empty{margin:0;padding:20px;text-align:center;color:var(--forge-text-muted)}
.page-header-context{display:flex;align-items:center;justify-content:flex-end;gap:10px}.global-gym-status{min-height:38px;display:flex;align-items:center;gap:8px;padding:5px 10px 5px 8px;color:var(--forge-accent);border:1px solid color-mix(in srgb,var(--forge-accent) 34%,var(--forge-border));border-radius:12px;background:linear-gradient(145deg,color-mix(in srgb,var(--forge-accent) 10%,rgba(24,28,31,.8)),rgba(17,20,22,.76));box-shadow:0 7px 20px rgba(0,0,0,.16);backdrop-filter:blur(12px)}.global-gym-status svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.global-gym-status>span{display:flex;min-width:0;flex-direction:column}.global-gym-status strong{font-size:.68rem;line-height:1.1}.global-gym-status small{max-width:110px;margin-top:2px;color:var(--forge-text-muted);font-size:.58rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:620px){.page-header{align-items:flex-start}.page-header-side{flex-direction:column-reverse;align-items:flex-end;gap:8px}.page-date{max-width:150px;text-align:right;white-space:normal}.header-icon-button{width:39px;height:39px}.friend-page-links{margin-top:-7px}.conversation-row{grid-template-columns:42px minmax(0,1fr) auto;padding:11px}.friend-record-list>div{align-items:start}.friend-checkin-list details>div{grid-template-columns:1fr}.friend-profile-heading .online-status{order:4}.friend-workout-entry>summary{align-items:flex-start}}
@media(max-width:620px){.page-header-context{flex-direction:column;align-items:flex-end;gap:5px}.global-gym-status{min-height:34px}.home-gym-fields{grid-template-columns:minmax(0,1fr)}.home-gym-actions>*{flex:1 1 170px}.home-gym-actions .text-button{margin-left:0;flex:0 0 auto}}
.saved-gym-list{display:grid;gap:9px;margin:15px 0}.saved-gym-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:11px;border:1px solid var(--forge-border);border-radius:12px;background:rgba(13,16,18,.58)}.saved-gym-row.at-gym{border-color:color-mix(in srgb,var(--forge-accent) 42%,var(--forge-border));box-shadow:inset 3px 0 var(--forge-accent)}.saved-gym-map-link{min-width:0;display:flex;align-items:center;gap:10px;padding:0;color:var(--forge-text);text-align:left;background:none;border:0;cursor:pointer}.saved-gym-map-link>span:last-child{min-width:0;display:flex;flex-direction:column}.saved-gym-map-link strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-gym-map-link small{margin-top:3px;color:var(--forge-text-muted);font-size:.7rem}.saved-gym-badges{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}.gym-badge{padding:4px 7px;color:var(--forge-text-muted);border:1px solid var(--forge-border);border-radius:20px;background:rgba(12,15,17,.65);font-size:.62rem;font-weight:850}.gym-badge.home{color:var(--forge-text)}.gym-badge.current{color:var(--forge-accent);border-color:color-mix(in srgb,var(--forge-accent) 38%,var(--forge-border))}.gym-editor{margin-top:16px;padding:15px;border:1px solid color-mix(in srgb,var(--forge-accent) 23%,var(--forge-border));border-radius:13px;background:rgba(11,14,16,.52)}.gym-editor h3{margin:2px 0 0}.gym-home-toggle{width:fit-content;margin:2px 0 12px}.gym-home-toggle span{margin:0}.friend-gym-list{display:grid;gap:8px;margin-top:13px}.friend-gym-link{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;color:var(--forge-text);text-align:left;border:1px solid var(--forge-border);border-radius:10px;background:#141719;cursor:pointer}.friend-gym-link>span:nth-child(2){display:flex;min-width:0;flex-direction:column}.friend-gym-link small{margin-top:3px;color:var(--forge-text-muted)}.friend-gym-link svg{width:20px;height:20px;fill:none;stroke:var(--forge-accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:620px){.saved-gym-row{grid-template-columns:minmax(0,1fr) auto}.saved-gym-badges{grid-column:1;justify-content:flex-start}.saved-gym-row>.button{grid-column:2;grid-row:1/3}.friend-gym-link{grid-template-columns:30px minmax(0,1fr) auto}}

.friend-strength-map-section{width:min(100%,780px);margin:22px auto 14px}.friend-strength-map-section .segmented-control{margin-top:16px}.friend-strength-map-section .silhouette-map{margin-bottom:8px}
.online-mode-shortcut::after{content:"";position:absolute;right:5px;bottom:5px;width:7px;height:7px;border-radius:50%;background:transparent;border:1px solid transparent}.online-mode-shortcut.connected::after{background:var(--forge-accent);border-color:var(--forge-background);box-shadow:0 0 7px var(--forge-accent)}.online-mode-shortcut.attention::after{background:#ffb348;border-color:var(--forge-background);box-shadow:0 0 7px rgba(255,179,72,.65)}
.online-login-prompt{max-width:520px}.online-login-prompt .muted{line-height:1.55}

/* Data-rich workout history and progress summaries. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.history-card summary{display:block}.history-summary-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.history-summary-heading>div{min-width:0}.history-chevron{width:11px;height:11px;flex:0 0 auto;margin:0 5px;border-right:2px solid var(--forge-text-muted);border-bottom:2px solid var(--forge-text-muted);transform:rotate(45deg);transition:transform .18s ease}.history-card[open] .history-chevron{transform:rotate(225deg)}.workout-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:14px}.workout-stat-grid>div{min-height:62px;padding:9px 10px;display:flex;flex-direction:column;justify-content:center;border:1px solid color-mix(in srgb,var(--forge-border) 80%,transparent);border-radius:9px;background:#141719}.workout-stat-grid span,.training-stat-grid span{display:flex;align-items:center;gap:6px;color:var(--forge-text-muted);font-size:.62rem;font-weight:750}.workout-stat-grid span::before,.training-stat-grid span::before{content:"";width:5px;height:5px;flex:0 0 auto;border-radius:50%;background:var(--forge-accent);box-shadow:0 0 7px color-mix(in srgb,var(--forge-accent) 42%,transparent)}.workout-stat-grid strong{margin-top:5px;font-size:.95rem;letter-spacing:-.025em}.training-stats-section{max-width:820px;margin:0 auto 16px}.training-stats-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.training-stats-heading h2{margin:0}.training-stats-heading label{width:auto}.training-stats-heading select{width:auto;min-width:132px;min-height:36px;padding:6px 31px 6px 10px;border-radius:8px;font-size:.72rem;font-weight:750}.training-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.training-stat-grid article{min-height:88px;padding:13px 14px;display:flex;flex-direction:column;justify-content:center;border:1px solid color-mix(in srgb,var(--forge-border) 84%,transparent);border-radius:12px;background:linear-gradient(145deg,#1d2124,#171a1c);box-shadow:0 8px 20px rgba(0,0,0,.12)}.training-stat-grid article.volume{grid-column:1/-1}.training-stat-grid strong{margin-top:7px;color:var(--forge-text);font-size:clamp(1.35rem,4vw,1.85rem);font-weight:650;letter-spacing:-.045em}.training-stat-grid article.volume strong{color:var(--forge-accent)}.progress-signal-title{max-width:820px;margin:24px auto 11px;font-size:1rem}.progress-overview{max-width:820px;margin-left:auto;margin-right:auto}
@media(max-width:700px){.workout-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workout-stat-grid>div.volume{grid-column:1/-1}.training-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.training-stat-grid article{min-height:78px;padding:11px 12px}.training-stat-grid article.volume{grid-column:1/-1}}
@media(max-width:380px){.workout-stat-grid{gap:5px}.workout-stat-grid>div{min-height:58px;padding:8px}.workout-stat-grid strong{font-size:.88rem}.training-stats-heading{align-items:flex-start;flex-direction:column}.training-stats-heading label,.training-stats-heading select{width:100%}}

/* Anatomical strength-map intensity uses the live user accent. */
.muscle-region.trained path,.muscle-region.stale path{fill:color-mix(in srgb,var(--forge-accent) 30%,#272d31);stroke:color-mix(in srgb,var(--forge-accent) 54%,#4b5358);stroke-dasharray:none;filter:drop-shadow(0 0 3px color-mix(in srgb,var(--forge-accent) 15%,transparent))}.muscle-region.recent path{fill:color-mix(in srgb,var(--forge-accent) 58%,#272d31);stroke:color-mix(in srgb,var(--forge-accent) 84%,#687076);filter:drop-shadow(0 0 5px color-mix(in srgb,var(--forge-accent) 28%,transparent))}.muscle-region.fresh path{fill:color-mix(in srgb,var(--forge-accent) 82%,#30363a);stroke:color-mix(in srgb,var(--forge-accent) 94%,#fff);filter:url(#freshGlow) drop-shadow(0 0 6px color-mix(in srgb,var(--forge-accent) 48%,transparent))}.body-contour{stroke:color-mix(in srgb,var(--forge-text-muted) 72%,#343b40);opacity:.68}
.muscle-region.secondary-source.trained path,.muscle-region.secondary-source.stale path{fill:color-mix(in srgb,var(--forge-accent) 18%,#272d31);stroke:color-mix(in srgb,var(--forge-accent) 38%,#4b5358);filter:drop-shadow(0 0 2px color-mix(in srgb,var(--forge-accent) 10%,transparent))}.muscle-region.secondary-source.recent path{fill:color-mix(in srgb,var(--forge-accent) 38%,#272d31);stroke:color-mix(in srgb,var(--forge-accent) 64%,#687076);filter:drop-shadow(0 0 4px color-mix(in srgb,var(--forge-accent) 20%,transparent))}.muscle-region.secondary-source.fresh path{fill:color-mix(in srgb,var(--forge-accent) 58%,#30363a);stroke:color-mix(in srgb,var(--forge-accent) 76%,#fff);filter:drop-shadow(0 0 5px color-mix(in srgb,var(--forge-accent) 30%,transparent))}.muscle-badge.secondary-source strong{color:color-mix(in srgb,var(--forge-accent) 72%,var(--forge-text-muted))}

.muscle-contribution-card{margin:18px 0;padding:15px;border:1px solid color-mix(in srgb,var(--forge-accent) 22%,var(--forge-border));border-radius:13px;background:linear-gradient(145deg,color-mix(in srgb,var(--forge-accent) 7%,var(--forge-surface-raised)),var(--forge-surface))}.muscle-contribution-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.muscle-contribution-heading h3{margin:0}.muscle-contribution-heading>strong{color:var(--forge-accent);font-size:.76rem}.muscle-contribution-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:13px}.muscle-contribution-grid>div{display:flex;flex-direction:column;padding:11px;background:color-mix(in srgb,var(--forge-background) 80%,transparent);border:1px solid var(--forge-border);border-radius:9px}.muscle-contribution-grid span{color:var(--forge-text-muted);font-size:.63rem}.muscle-contribution-grid strong{margin:3px 0;color:var(--forge-text);font-size:1.15rem}.muscle-contribution-grid small{color:var(--forge-text-muted);font-size:.58rem}.muscle-contribution-grid .accent strong{color:var(--forge-accent)}.muscle-contribution-card>p{margin:12px 0 0;color:var(--forge-text-muted);font-size:.7rem;line-height:1.45}
@media(max-width:480px){.muscle-contribution-heading{align-items:flex-start;flex-direction:column}.muscle-contribution-grid{grid-template-columns:minmax(0,1fr)}}

/* Dedicated direct-message experience. */
.chat-page{max-width:900px;padding-top:calc(12px + env(safe-area-inset-top));padding-bottom:calc(86px + env(safe-area-inset-bottom))}.chat-shell{height:calc(100dvh - 110px - env(safe-area-inset-top) - env(safe-area-inset-bottom));min-height:500px;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--forge-border);border-radius:17px;background:linear-gradient(180deg,#171b1e,#111416);box-shadow:0 20px 55px rgba(0,0,0,.28)}.chat-header{min-height:72px;display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:10px;padding:10px 13px;border-bottom:1px solid var(--forge-border);background:color-mix(in srgb,var(--forge-surface-raised) 78%,transparent)}.chat-back,.chat-refresh{width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:11px;color:var(--forge-text-muted);background:transparent;cursor:pointer}.chat-back:hover,.chat-refresh:hover{color:var(--forge-accent);background:color-mix(in srgb,var(--forge-accent) 8%,transparent)}.chat-back svg,.chat-refresh svg,.chat-share-workout svg,.chat-send svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.chat-identity{min-width:0;display:flex;align-items:center;gap:11px}.chat-identity>span:last-child{min-width:0;display:flex;flex-direction:column}.chat-identity strong,.chat-identity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-identity small{margin-top:2px;color:var(--forge-text-muted);font-size:.68rem}.chat-connection-bar{min-height:37px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 17px;border-bottom:1px solid color-mix(in srgb,var(--forge-border) 70%,transparent);background:#141719}.chat-connection-bar .online-status{padding:3px 0;border:0}.chat-connection-bar>a{color:var(--forge-accent);font-size:.7rem;font-weight:750}.chat-thread{min-height:0;flex:1;display:flex;flex-direction:column;gap:7px;overflow-y:auto;overscroll-behavior:contain;padding:18px clamp(12px,3vw,24px);scroll-behavior:smooth;background:radial-gradient(circle at 50% 15%,color-mix(in srgb,var(--forge-accent) 3%,transparent),transparent 45%)}.chat-thread .message-bubble{width:min(78%,580px);padding:10px 13px;border:1px solid color-mix(in srgb,var(--forge-border) 72%,transparent);box-shadow:0 5px 14px rgba(0,0,0,.12)}.chat-thread .message-bubble.mine{border-color:color-mix(in srgb,var(--forge-accent) 24%,var(--forge-border));background:color-mix(in srgb,var(--forge-accent) 15%,#1a1e21)}.chat-thread .message-bubble>small{font-size:.61rem}.chat-date-divider{display:flex;align-items:center;justify-content:center;margin:6px 0}.chat-date-divider span{padding:4px 9px;color:var(--forge-text-muted);background:#1a1e21;border:1px solid var(--forge-border);border-radius:20px;font-size:.62rem;font-weight:750}.chat-empty{flex:1;display:grid;place-content:center;justify-items:center;padding:30px;text-align:center}.chat-empty h2,.chat-unavailable h2{margin:8px 0 4px;font-size:1.1rem}.chat-empty p,.chat-unavailable p{max-width:360px;margin:0;color:var(--forge-text-muted);font-size:.78rem}.chat-empty-icon{width:42px;height:42px;display:grid;place-items:center;color:var(--forge-accent);border:1px solid color-mix(in srgb,var(--forge-accent) 28%,var(--forge-border));border-radius:50%;background:color-mix(in srgb,var(--forge-accent) 8%,transparent)}.chat-loading,.chat-unavailable{min-height:0;flex:1;display:grid;place-content:center;justify-items:center;gap:10px;padding:30px;text-align:center}.chat-unavailable .button{margin-top:10px}.chat-composer-panel{flex:0 0 auto;padding:9px 12px 11px;border-top:1px solid var(--forge-border);background:color-mix(in srgb,#171a1c 96%,transparent)}.chat-status{margin-bottom:7px;padding:7px 10px;color:var(--forge-accent);background:color-mix(in srgb,var(--forge-accent) 7%,transparent);border-radius:7px;font-size:.7rem}.chat-status.error{color:var(--forge-danger);background:color-mix(in srgb,var(--forge-danger) 8%,transparent)}.chat-share-workout{margin-bottom:7px}.chat-share-workout>summary{width:fit-content;display:flex;align-items:center;gap:6px;padding:4px 2px;color:var(--forge-text-muted);font-size:.68rem;font-weight:750;cursor:pointer;list-style:none}.chat-share-workout>summary::-webkit-details-marker{display:none}.chat-share-workout>summary:hover{color:var(--forge-accent)}.chat-share-workout svg{width:17px;height:17px}.chat-share-workout>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:6px 0 2px}.chat-share-workout select,.chat-share-workout .button{min-height:39px}.chat-message-composer{display:grid;grid-template-columns:minmax(0,1fr) 45px;align-items:end;gap:8px}.chat-message-composer textarea{min-height:45px;max-height:110px;padding:11px 13px;resize:none;border-radius:13px;background:#111416}.chat-send{width:45px;height:45px;display:grid;place-items:center;border:0;border-radius:13px;color:#13100f;background:var(--forge-accent);cursor:pointer}.chat-send:disabled{opacity:.38;cursor:default}.chat-send:not(:disabled):hover{filter:brightness(1.08)}
@media(max-width:620px){.chat-page{padding:0 0 calc(76px + env(safe-area-inset-bottom))}.chat-shell{height:calc(100dvh - 76px - env(safe-area-inset-bottom));min-height:0;border:0;border-radius:0;box-shadow:none}.chat-header{padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}.chat-connection-bar{padding-left:13px;padding-right:13px}.chat-thread{padding:13px 10px}.chat-thread .message-bubble{width:88%}.chat-composer-panel{padding-left:max(9px,env(safe-area-inset-left));padding-right:max(9px,env(safe-area-inset-right))}.chat-share-workout>div{grid-template-columns:minmax(0,1fr)}.chat-share-workout .button{width:100%}}

/* Guided screen tutorials. */
.tutorial-launch-card{position:relative;isolation:isolate;display:grid;grid-template-columns:66px minmax(0,1fr) auto;align-items:center;gap:17px;overflow:hidden;padding:20px;background:radial-gradient(circle at 8% 15%,color-mix(in srgb,var(--forge-accent) 18%,transparent),transparent 34%),linear-gradient(135deg,#202529,#171a1d)}.tutorial-launch-card::after{content:"";position:absolute;z-index:-1;right:-42px;top:-78px;width:190px;height:190px;border:1px solid color-mix(in srgb,var(--forge-accent) 18%,transparent);border-radius:50%;box-shadow:0 0 0 28px color-mix(in srgb,var(--forge-accent) 3%,transparent),0 0 0 58px color-mix(in srgb,var(--forge-accent) 2%,transparent)}.tutorial-launch-mark{width:62px;height:62px;display:grid;place-items:center;color:var(--forge-accent);border:1px solid color-mix(in srgb,var(--forge-accent) 36%,var(--forge-border));border-radius:17px;background:color-mix(in srgb,var(--forge-accent) 10%,#171a1d);box-shadow:0 10px 24px rgba(0,0,0,.24),inset 0 0 18px color-mix(in srgb,var(--forge-accent) 7%,transparent)}.tutorial-launch-mark svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.tutorial-launch-copy h2{margin:2px 0 5px;font-size:1.25rem}.tutorial-launch-copy p{max-width:620px;margin:0;color:var(--forge-text-muted);line-height:1.5}.tutorial-open-button{position:relative;min-width:156px;justify-content:space-between}.tutorial-picker-modal{width:min(900px,100%)}.tutorial-picker-intro{display:flex;align-items:center;gap:15px;margin:16px 0;padding:14px 15px;border:1px solid color-mix(in srgb,var(--forge-accent) 24%,var(--forge-border));border-radius:13px;background:color-mix(in srgb,var(--forge-accent) 6%,#15181a)}.tutorial-picker-intro strong{display:block;margin-bottom:3px}.tutorial-picker-intro p{margin:0;color:var(--forge-text-muted);font-size:.78rem;line-height:1.45}.tutorial-picker-orbit{position:relative;width:44px;height:44px;flex:0 0 44px;border:1px solid color-mix(in srgb,var(--forge-accent) 38%,var(--forge-border));border-radius:50%}.tutorial-picker-orbit::before{content:"";position:absolute;inset:10px;border:1px solid color-mix(in srgb,var(--forge-accent) 60%,transparent);border-radius:50%}.tutorial-picker-orbit i{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--forge-accent);box-shadow:0 0 9px var(--forge-accent)}.tutorial-picker-orbit i:nth-child(1){left:4px;top:18px}.tutorial-picker-orbit i:nth-child(2){right:7px;top:5px}.tutorial-picker-orbit i:nth-child(3){right:5px;bottom:7px}.tutorial-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.tutorial-option{min-height:94px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;text-align:left;color:var(--forge-text);border:1px solid var(--forge-border);border-radius:12px;background:linear-gradient(145deg,#1c2023,#15181a);cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.tutorial-option:hover,.tutorial-option:focus-visible{transform:translateY(-2px);border-color:color-mix(in srgb,var(--forge-accent) 52%,var(--forge-border));background:linear-gradient(145deg,color-mix(in srgb,var(--forge-accent) 7%,#1c2023),#15181a)}.tutorial-option-glyph,.tutorial-glyph{display:grid;place-items:center;color:var(--forge-accent);border:1px solid color-mix(in srgb,var(--forge-accent) 30%,var(--forge-border));background:color-mix(in srgb,var(--forge-accent) 7%,transparent);font-weight:900;letter-spacing:.045em}.tutorial-option-glyph{width:48px;height:48px;border-radius:12px;font-size:.65rem}.tutorial-option-copy{display:flex;flex-direction:column;gap:4px}.tutorial-option-copy strong{font-size:.91rem}.tutorial-option-copy small{color:var(--forge-text-muted);font-size:.69rem;line-height:1.35}.tutorial-option-meta{align-self:end;color:var(--forge-text-muted);font-size:.64rem;font-weight:750;white-space:nowrap}.tutorial-option-meta b{margin-left:3px;color:var(--forge-accent);font-size:.9rem}

.tutorial-layer{position:fixed;z-index:3000;inset:0;isolation:isolate}.tutorial-click-catcher{position:absolute;z-index:0;inset:0;width:100%;height:100%;min-height:0;padding:0;border:0;border-radius:0;background:transparent;cursor:default}.tutorial-layer.no-spotlight .tutorial-click-catcher{background:rgba(4,5,6,.78);backdrop-filter:blur(2px)}.tutorial-spotlight{position:fixed;z-index:1;border:2px solid color-mix(in srgb,var(--forge-accent) 88%,#fff);border-radius:15px;box-shadow:0 0 0 9999px rgba(4,5,6,.76),0 0 0 5px color-mix(in srgb,var(--forge-accent) 15%,transparent),0 0 30px color-mix(in srgb,var(--forge-accent) 48%,transparent);pointer-events:none;transition:top .18s ease,left .18s ease,width .18s ease,height .18s ease}.tutorial-spotlight::after{content:"";position:absolute;inset:-8px;border:1px solid color-mix(in srgb,var(--forge-accent) 22%,transparent);border-radius:20px;animation:tutorialPulse 1.8s ease-in-out infinite}@keyframes tutorialPulse{50%{opacity:.35;transform:scale(1.012)}}.tutorial-coach{position:fixed;z-index:2;left:50%;bottom:max(14px,env(safe-area-inset-bottom));width:min(640px,calc(100% - 28px));max-height:min(48dvh,470px);overflow-y:auto;overscroll-behavior:contain;transform:translateX(-50%);padding:15px 18px 17px;color:var(--forge-text);border:1px solid color-mix(in srgb,var(--forge-accent) 24%,var(--forge-border));border-radius:19px;background:linear-gradient(155deg,color-mix(in srgb,var(--forge-accent) 4%,#202529),#15181a 64%);box-shadow:0 24px 80px rgba(0,0,0,.72),inset 0 1px rgba(255,255,255,.035);animation:tutorialCoachIn .22s ease-out}@keyframes tutorialCoachIn{from{opacity:0;transform:translate(-50%,22px)}}.tutorial-coach-handle{display:none;width:42px;height:4px;margin:0 auto 12px;border-radius:4px;background:#566067}.tutorial-coach-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.tutorial-identity{display:flex;align-items:center;gap:10px}.tutorial-glyph{width:40px;height:40px;flex:0 0 40px;border-radius:11px;font-size:.58rem}.tutorial-identity>span:last-child{display:flex;flex-direction:column;gap:2px}.tutorial-identity strong{font-size:.82rem}.tutorial-identity small{color:var(--forge-text-muted);font-size:.65rem}.tutorial-skip{min-height:36px;padding:6px 8px;color:var(--forge-text-muted);border:0;background:transparent;font-size:.72rem;font-weight:750;cursor:pointer}.tutorial-skip:hover{color:var(--forge-text)}.tutorial-progress{display:flex;gap:5px;margin:14px 0 16px}.tutorial-progress span{height:3px;flex:1;border-radius:4px;background:var(--forge-border);transition:background .18s ease,box-shadow .18s ease}.tutorial-progress span.active{background:var(--forge-accent);box-shadow:0 0 8px color-mix(in srgb,var(--forge-accent) 35%,transparent)}.tutorial-copy .eyebrow{margin-bottom:7px;font-size:.61rem}.tutorial-copy h2{margin-bottom:7px;font-size:1.28rem}.tutorial-copy p{margin:0;color:#c1c8cc;line-height:1.55}.tutorial-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:17px}.tutorial-actions .button{min-width:100px}.tutorial-actions .button:disabled{opacity:.34;cursor:default}.tutorial-actions .button.primary{justify-content:space-between}body:has(.tutorial-layer){overflow:hidden}

@media(max-width:700px){.tutorial-launch-card{grid-template-columns:54px minmax(0,1fr);gap:13px}.tutorial-launch-mark{width:54px;height:54px;border-radius:15px}.tutorial-open-button{grid-column:1/-1;width:100%}.tutorial-option-grid{grid-template-columns:minmax(0,1fr)}.tutorial-option{min-height:84px}.tutorial-option-meta{align-self:center}.tutorial-coach{bottom:0;width:100%;max-height:52dvh;padding:10px 15px calc(14px + env(safe-area-inset-bottom));border-right:0;border-bottom:0;border-left:0;border-radius:20px 20px 0 0}.tutorial-coach-handle{display:block}.tutorial-copy p{font-size:.82rem}.tutorial-actions .button{flex:1}.tutorial-progress{margin:10px 0 13px}}
@media(max-width:390px){.tutorial-launch-card{grid-template-columns:1fr}.tutorial-launch-mark{display:none}.tutorial-option{grid-template-columns:43px minmax(0,1fr)}.tutorial-option-glyph{width:43px;height:43px}.tutorial-option-meta{grid-column:2}.tutorial-picker-intro{align-items:flex-start}.tutorial-coach{max-height:57dvh}.tutorial-copy h2{font-size:1.14rem}.tutorial-copy p{line-height:1.45}}
@media(prefers-reduced-motion:reduce){.tutorial-option,.tutorial-spotlight{transition:none}.tutorial-spotlight::after{animation:none}.tutorial-coach{animation:none}}
.tutorial-prompt-modal{width:min(540px,100%);overflow:hidden;background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--forge-accent) 13%,transparent),transparent 42%),linear-gradient(155deg,#202529,#15181a 68%)}.tutorial-prompt-hero{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:14px;margin:8px 0 14px}.tutorial-prompt-hero .tutorial-option-glyph{width:54px;height:54px;border-radius:15px}.tutorial-prompt-hero strong{display:block;margin-bottom:4px;font-size:.94rem}.tutorial-prompt-hero p{margin:0;color:var(--forge-text-muted);font-size:.78rem;line-height:1.48}.tutorial-prompt-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:15px}.tutorial-prompt-meta span{padding:5px 8px;color:var(--forge-text-muted);border:1px solid var(--forge-border);border-radius:20px;background:rgba(10,12,14,.38);font-size:.65rem;font-weight:750}.tutorial-never-ask{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:10px;padding:12px;border:1px solid color-mix(in srgb,var(--forge-accent) 18%,var(--forge-border));border-radius:11px;background:color-mix(in srgb,var(--forge-accent) 4%,#121517);cursor:pointer}.tutorial-never-ask input{width:20px;min-height:20px;margin:1px 0 0;accent-color:var(--forge-accent)}.tutorial-never-ask>span{display:flex;flex-direction:column;margin:0;color:var(--forge-text)}.tutorial-never-ask small{margin-top:3px;color:var(--forge-text-muted);font-weight:400;line-height:1.4}.tutorial-prompt-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:16px}.tutorial-prompt-actions .button{min-width:125px}.tutorial-prompt-actions .button.primary{justify-content:space-between}
@media(max-width:480px){.tutorial-prompt-hero{grid-template-columns:46px minmax(0,1fr)}.tutorial-prompt-hero .tutorial-option-glyph{width:46px;height:46px}.tutorial-prompt-actions .button{min-width:0;flex:1}}
body:has(.tutorial-layer){overflow-x:hidden;overflow-y:auto}
.tutorial-layer.coach-top .tutorial-coach{top:max(14px,env(safe-area-inset-top));bottom:auto}
@media(max-width:700px){.tutorial-layer.coach-top .tutorial-coach{top:0;bottom:auto;padding-top:calc(10px + env(safe-area-inset-top));padding-bottom:14px;border-top:0;border-bottom:1px solid color-mix(in srgb,var(--forge-accent) 24%,var(--forge-border));border-radius:0 0 20px 20px}}

/* History search and filtering. */
.history-filter-card{max-width:980px;margin:0 auto 16px;padding:15px 17px;background:radial-gradient(circle at 2% 0,color-mix(in srgb,var(--forge-accent) 8%,transparent),transparent 30%),linear-gradient(145deg,#1d2225,#171a1d)}.history-filter-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}.history-filter-heading>div{display:flex;align-items:center;gap:11px}.history-filter-heading .eyebrow{margin-bottom:2px}.history-filter-heading h2{margin:0}.history-filter-icon{width:40px;height:40px;display:grid;place-items:center;flex:0 0 40px;color:var(--forge-accent);border:1px solid color-mix(in srgb,var(--forge-accent) 30%,var(--forge-border));border-radius:11px;background:color-mix(in srgb,var(--forge-accent) 8%,transparent)}.history-filter-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.history-filter-clear{color:var(--forge-accent);font-size:.72rem;font-weight:800}.history-filter-grid{display:grid;grid-template-columns:minmax(210px,1.7fr) repeat(3,minmax(135px,1fr));gap:10px}.history-filter-grid label>span{margin-left:1px}.history-filter-grid input,.history-filter-grid select{min-height:42px}.history-filter-result{display:flex;align-items:baseline;gap:5px;margin-top:11px;color:var(--forge-text-muted);font-size:.7rem}.history-filter-result strong{color:var(--forge-accent);font-size:.95rem}.history-filter-result small{margin-left:2px;color:#737d83}.history-filter-empty{min-height:300px}.history-filter-empty>span{font-size:2.15rem}
@media(max-width:850px){.history-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.history-search-filter{grid-column:1/-1}}
@media(max-width:540px){.history-filter-card{padding:14px}.history-filter-heading{align-items:flex-start}.history-filter-grid{grid-template-columns:minmax(0,1fr)}.history-search-filter{grid-column:auto}.history-filter-clear{padding:1px 0}.history-filter-result{margin-top:12px}}

/* Floating liquid-glass primary navigation. */
.app-content{padding-bottom:calc(112px + env(safe-area-inset-bottom))}.bottom-nav{position:fixed;z-index:50;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:calc(10px + env(safe-area-inset-bottom));width:auto;height:70px;padding:7px;display:flex;grid-template-columns:none;align-items:stretch;gap:3px;overflow:hidden;isolation:isolate;transform:none;border:1px solid rgba(255,255,255,.2);border-radius:25px;background:linear-gradient(112deg,rgba(255,255,255,.1),rgba(255,255,255,.015) 27%,color-mix(in srgb,var(--forge-accent) 5%,transparent) 68%,rgba(255,255,255,.045)),rgba(20,24,27,.42);box-shadow:inset 0 1px 0 rgba(255,255,255,.26),inset 0 -1px 0 rgba(0,0,0,.3),0 16px 42px rgba(0,0,0,.42),0 3px 12px rgba(0,0,0,.24);-webkit-backdrop-filter:blur(19px) saturate(168%) brightness(1.1);backdrop-filter:blur(19px) saturate(168%) brightness(1.1)}.bottom-nav::before{content:"";position:absolute;z-index:0;left:16px;right:16px;top:1px;height:43%;pointer-events:none;border-radius:24px 24px 45% 45%;background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.018) 62%,transparent);opacity:.67}.bottom-nav::after{content:"";position:absolute;z-index:0;left:22px;right:22px;bottom:1px;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.13),color-mix(in srgb,var(--forge-accent) 22%,transparent),transparent)}.bottom-nav a{position:relative;z-index:1;min-width:0;min-height:54px;padding:0 10px;display:flex;flex:1 1 0;flex-direction:row;align-items:center;justify-content:center;gap:0;color:#b8c0c5;font-size:.72rem;font-weight:800;letter-spacing:.005em;border:1px solid transparent;border-radius:19px;background:transparent;transition:flex-grow .25s cubic-bezier(.2,.75,.25,1),color .18s ease,background .22s ease,box-shadow .22s ease,transform .18s ease}.bottom-nav a:active{transform:scale(.97)}.bottom-nav a>span:last-child{max-width:0;margin-left:0;overflow:hidden;opacity:0;white-space:nowrap;text-overflow:clip;transform:translateX(-5px);transition:max-width .25s cubic-bezier(.2,.75,.25,1),margin-left .2s ease,opacity .14s ease,transform .2s ease}.bottom-nav a.active{flex-grow:1.72;color:#160d0b;border-color:color-mix(in srgb,var(--forge-accent) 66%,rgba(255,255,255,.72) 34%);background:linear-gradient(155deg,rgba(255,255,255,.3),rgba(255,255,255,.06) 42%,rgba(0,0,0,.13)),color-mix(in srgb,var(--forge-accent) 84%,transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.62),inset 0 -1px 0 rgba(0,0,0,.16),inset 8px 0 18px rgba(255,255,255,.07),0 7px 22px color-mix(in srgb,var(--forge-accent) 27%,transparent);-webkit-backdrop-filter:blur(9px) saturate(145%);backdrop-filter:blur(9px) saturate(145%)}.bottom-nav a.active>span:last-child{max-width:82px;margin-left:7px;opacity:1;transform:translateX(0)}.bottom-nav a::before{top:1px;left:18%;width:64%;height:1px;opacity:0;border-radius:2px;background:rgba(255,255,255,.72);box-shadow:none;transform:scaleX(.45);transition:opacity .2s ease,transform .25s ease}.bottom-nav a.active::before{opacity:.65;transform:scaleX(1)}.bottom-nav .nav-icon,.bottom-nav .nav-primary .nav-icon{width:26px;height:26px;display:grid;place-items:center;flex:0 0 26px;color:inherit;border:0;border-radius:0;background:transparent;box-shadow:none}.bottom-nav .nav-icon svg,.bottom-nav .nav-primary .nav-icon svg{width:23px;height:23px;stroke-width:1.9}.bottom-nav .nav-primary.active .nav-icon{color:inherit;border:0;background:transparent;box-shadow:none}#blazor-error-ui{bottom:calc(96px + env(safe-area-inset-bottom))}
@media(min-width:900px){.bottom-nav{left:50%;right:auto;width:min(640px,calc(100% - 28px));transform:translateX(-50%);border:1px solid rgba(255,255,255,.17);border-radius:25px}}
@media(max-width:390px){.bottom-nav{left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));gap:1px;padding:6px}.bottom-nav a{padding:0 6px}.bottom-nav a.active{flex-grow:1.62}.bottom-nav a.active>span:last-child{max-width:72px;margin-left:5px;font-size:.67rem}.bottom-nav .nav-icon,.bottom-nav .nav-primary .nav-icon{width:23px;height:23px;flex-basis:23px}.bottom-nav .nav-icon svg,.bottom-nav .nav-primary .nav-icon svg{width:21px;height:21px}}
@media(max-width:620px){.chat-page{padding-bottom:calc(104px + env(safe-area-inset-bottom))}.chat-shell{height:calc(100dvh - 104px - env(safe-area-inset-bottom))}}

/* Final transparency tuning: content remains visibly present through both glass layers. */
.bottom-nav{border-color:rgba(255,255,255,.24);background:linear-gradient(112deg,rgba(255,255,255,.075),rgba(255,255,255,.008) 29%,color-mix(in srgb,var(--forge-accent) 4%,transparent) 70%,rgba(255,255,255,.035)),rgba(16,19,21,.25);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),inset 0 -1px 0 rgba(0,0,0,.22),0 15px 38px rgba(0,0,0,.34),0 3px 10px rgba(0,0,0,.2);-webkit-backdrop-filter:blur(11px) saturate(185%) brightness(1.12);backdrop-filter:blur(11px) saturate(185%) brightness(1.12)}.bottom-nav::before{background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.01) 58%,transparent);opacity:.58}.bottom-nav a{color:#d1d6d9;text-shadow:0 1px 4px rgba(0,0,0,.7)}.bottom-nav a.active{border-color:color-mix(in srgb,var(--forge-accent) 60%,rgba(255,255,255,.78) 40%);background:linear-gradient(155deg,rgba(255,255,255,.32),rgba(255,255,255,.045) 40%,rgba(0,0,0,.1)),color-mix(in srgb,var(--forge-accent) 72%,transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),inset 0 -1px 0 rgba(0,0,0,.12),0 6px 20px color-mix(in srgb,var(--forge-accent) 23%,transparent);-webkit-backdrop-filter:blur(5px) saturate(155%) brightness(1.08);backdrop-filter:blur(5px) saturate(155%) brightness(1.08);text-shadow:0 1px 2px rgba(255,255,255,.12)}

/* The selected destination is a light accent lens, not a solid colour block. */
.bottom-nav a.active{flex-grow:1.56;color:#f8fafb;border-color:color-mix(in srgb,var(--forge-accent) 48%,rgba(255,255,255,.5) 52%);background:radial-gradient(circle at 20% 0,rgba(255,255,255,.22),transparent 43%),linear-gradient(145deg,color-mix(in srgb,var(--forge-accent) 32%,transparent),color-mix(in srgb,var(--forge-accent) 13%,rgba(19,23,26,.42)));box-shadow:inset 0 1px 0 rgba(255,255,255,.44),inset 0 -1px 0 color-mix(in srgb,var(--forge-accent) 28%,rgba(0,0,0,.2)),inset 0 0 18px color-mix(in srgb,var(--forge-accent) 9%,transparent),0 5px 17px color-mix(in srgb,var(--forge-accent) 16%,transparent);-webkit-backdrop-filter:blur(9px) saturate(170%) brightness(1.08);backdrop-filter:blur(9px) saturate(170%) brightness(1.08);text-shadow:0 1px 4px rgba(0,0,0,.62)}.bottom-nav a.active .nav-icon{color:color-mix(in srgb,var(--forge-accent) 68%,#fff 32%);filter:drop-shadow(0 0 6px color-mix(in srgb,var(--forge-accent) 46%,transparent))}.bottom-nav a.active>span:last-child{font-weight:850;letter-spacing:.012em}.bottom-nav a.active::before{opacity:.38;background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent)}

/* Reserve enough room for every active label, including History, Workout and Progress. */
.bottom-nav a{transition:flex-grow .25s cubic-bezier(.2,.75,.25,1),flex-basis .25s cubic-bezier(.2,.75,.25,1),color .18s ease,background .22s ease,box-shadow .22s ease,transform .18s ease}.bottom-nav a.active{flex:0 0 clamp(108px,29vw,124px);min-width:108px;padding-inline:7px}.bottom-nav a.active>span:last-child{flex:0 0 auto;width:auto;max-width:none;margin-left:6px;overflow:visible;font-size:.7rem;text-overflow:clip}
@media(max-width:350px){.bottom-nav a.active{flex-basis:104px;min-width:104px;padding-inline:5px}.bottom-nav a.active>span:last-child{margin-left:4px;font-size:.65rem}.bottom-nav .nav-icon,.bottom-nav .nav-primary .nav-icon{width:21px;flex-basis:21px}.bottom-nav .nav-icon svg,.bottom-nav .nav-primary .nav-icon svg{width:20px;height:20px}}
img.avatar{object-fit:cover}

/* A dedicated edge-to-edge glass pane keeps the full capsule blurred while preserving its outer shadow. */
.bottom-nav{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
.bottom-nav::before,.bottom-nav::after{display:none}
.bottom-nav-glass{position:absolute;z-index:0;inset:0;overflow:hidden;pointer-events:none;border-radius:inherit;background:linear-gradient(112deg,rgba(255,255,255,.075),rgba(255,255,255,.008) 29%,color-mix(in srgb,var(--forge-accent) 4%,transparent) 70%,rgba(255,255,255,.035)),rgba(16,19,21,.25);-webkit-backdrop-filter:blur(11px) saturate(185%) brightness(1.12);backdrop-filter:blur(11px) saturate(185%) brightness(1.12)}
.bottom-nav-glass::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse 62% 72% at 7% 0,rgba(255,255,255,.16),transparent 72%),linear-gradient(180deg,rgba(255,255,255,.105),rgba(255,255,255,.012) 48%,transparent 70%);opacity:.72}
.bottom-nav-glass::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 1px 1px 0 rgba(255,255,255,.14),inset -1px -1px 0 rgba(0,0,0,.16);background:linear-gradient(90deg,color-mix(in srgb,var(--forge-accent) 7%,transparent),transparent 22%,transparent 76%,rgba(255,255,255,.025))}

/* Guided training loop: recommendations, progression, recap and challenges. */
.today-workout-card{position:relative;margin-bottom:18px;padding:20px;overflow:hidden;border-color:color-mix(in srgb,var(--forge-accent) 34%,var(--forge-border));background:linear-gradient(145deg,color-mix(in srgb,var(--forge-accent) 13%,var(--forge-surface)) 0%,var(--forge-surface) 56%,color-mix(in srgb,var(--forge-surface-raised) 88%,transparent) 100%)}.today-workout-card::after{content:"";position:absolute;right:-90px;top:-120px;width:260px;height:260px;border:1px solid color-mix(in srgb,var(--forge-accent) 28%,transparent);border-radius:50%;box-shadow:0 0 80px color-mix(in srgb,var(--forge-accent) 12%,transparent);pointer-events:none}.today-card-topline,.dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.today-card-topline>span:last-child{color:var(--forge-text-muted);font-size:.72rem;font-weight:700}.today-workout-card h2{position:relative;margin:8px 0 6px;font-size:1.65rem}.today-workout-card>p{position:relative;margin:0;max-width:650px;color:var(--forge-text-muted);line-height:1.55}.today-focus,.recap-muscles{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.today-focus span,.recap-muscles span{padding:5px 9px;color:var(--forge-accent);background:color-mix(in srgb,var(--forge-accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--forge-accent) 24%,transparent);border-radius:999px;font-size:.68rem;font-weight:750}.today-workout-meta{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:17px 0;background:var(--forge-border);border:1px solid var(--forge-border);border-radius:11px;overflow:hidden}.today-workout-meta span{display:flex;flex-direction:column;padding:10px 12px;background:color-mix(in srgb,var(--forge-surface) 92%,transparent);color:var(--forge-text-muted);font-size:.67rem}.today-workout-meta strong{color:var(--forge-text);font-size:.98rem}.today-start-button{position:relative}.dashboard-heading h2{margin-bottom:2px}.dashboard-heading small{color:var(--forge-text-muted)}.weekly-goal-track,.challenge-track{height:5px;margin:9px 0 12px;background:color-mix(in srgb,var(--forge-border) 72%,transparent);border-radius:8px;overflow:hidden}.weekly-goal-track span,.challenge-track span{display:block;height:100%;background:linear-gradient(90deg,var(--forge-accent),color-mix(in srgb,var(--forge-accent) 60%,white));border-radius:inherit;transition:width .35s ease}

.training-plan-form{margin-top:14px}.training-day-picker{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin:14px 0 18px}.training-day-picker button{min-width:0;min-height:42px;padding:0;color:var(--forge-text-muted);background:var(--forge-surface-raised);border:1px solid var(--forge-border);border-radius:10px;font-weight:800}.training-day-picker button.selected{color:#111;background:var(--forge-accent);border-color:var(--forge-accent);box-shadow:0 7px 24px color-mix(in srgb,var(--forge-accent) 22%,transparent)}
.repeat-last-button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:13px;padding:12px 13px;color:var(--forge-text);background:color-mix(in srgb,var(--forge-accent) 7%,var(--forge-background));border:1px solid color-mix(in srgb,var(--forge-accent) 22%,var(--forge-border));border-radius:11px;text-align:left}.repeat-last-button>span{display:flex;min-width:0;flex-direction:column}.repeat-last-button small{color:var(--forge-accent);font-size:.58rem;font-weight:850;letter-spacing:.11em}.repeat-last-button strong{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.repeat-last-button b{flex:0 0 auto;color:var(--forge-text-muted);font-size:.68rem}

.rest-timer-dock{position:sticky;z-index:20;top:8px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;margin:0 0 14px;padding:10px 13px;background:color-mix(in srgb,var(--forge-background) 82%,transparent);border:1px solid color-mix(in srgb,var(--forge-accent) 30%,var(--forge-border));border-radius:15px;box-shadow:0 16px 36px rgba(0,0,0,.28);-webkit-backdrop-filter:blur(18px) saturate(1.35);backdrop-filter:blur(18px) saturate(1.35)}.rest-timer-dock.complete{border-color:var(--forge-accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--forge-accent) 22%,transparent),0 16px 36px rgba(0,0,0,.3)}.rest-ring{--rest-progress:100;position:relative;width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--forge-accent) calc(var(--rest-progress) * 1%),var(--forge-border) 0)}.rest-ring::after{content:"";position:absolute;inset:5px;background:var(--forge-background);border-radius:50%}.rest-ring strong,.rest-ring span{z-index:1}.rest-ring strong{font-size:.85rem}.rest-ring span{margin-top:-13px;color:var(--forge-text-muted);font-size:.47rem;font-weight:900;letter-spacing:.12em}.rest-timer-dock>div:nth-child(2){display:flex;min-width:0;flex-direction:column}.rest-timer-dock small{margin-top:3px;color:var(--forge-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rest-actions{display:flex;gap:5px;flex-direction:column}.rest-actions button{font-size:.68rem}

.progression-coach{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 13px;margin:13px 0;padding:13px;background:linear-gradient(135deg,color-mix(in srgb,var(--forge-accent) 10%,var(--forge-background)),var(--forge-background));border:1px solid color-mix(in srgb,var(--forge-accent) 24%,var(--forge-border));border-radius:12px}.progression-coach>div:first-child{display:flex;min-width:0;flex-direction:column}.progression-coach strong{margin:2px 0;color:var(--forge-text);font-size:1.06rem}.progression-coach p{margin:2px 0 0;color:var(--forge-text-muted);font-size:.73rem;line-height:1.45}.target-strip{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;padding-top:8px;border-top:1px solid var(--forge-border)}.target-strip span,.superset-badge{padding:4px 7px;color:var(--forge-text-muted);background:var(--forge-surface-raised);border-radius:6px;font-size:.62rem;font-weight:750}.superset-exercise{border-left:3px solid var(--forge-accent)}.superset-badge{display:inline-flex;margin-top:5px;color:var(--forge-accent);background:color-mix(in srgb,var(--forge-accent) 10%,transparent)}.workout-tools{display:flex;justify-content:flex-end;gap:13px;margin-top:10px;padding-top:9px;border-top:1px solid color-mix(in srgb,var(--forge-border) 70%,transparent)}.workout-tools button{font-size:.7rem}.workout-readiness-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.7fr);gap:18px;align-items:end;margin:16px 0}.workout-readiness-card h2{margin:4px 0}.workout-readiness-card p{margin:0}.rating-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.rating-grid label span{font-size:.65rem}

.recap-hero{padding:16px 0 20px;text-align:center}.recap-hero>span{color:var(--forge-accent);font-size:.68rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.recap-hero h2{margin:7px 0;font-size:1.8rem}.recap-hero p{margin:0;color:var(--forge-text-muted)}.recap-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.recap-grid>div{display:flex;flex-direction:column;padding:15px;background:var(--forge-background);border:1px solid var(--forge-border);border-radius:11px}.recap-grid span{color:var(--forge-text-muted);font-size:.67rem}.recap-grid strong{margin-top:4px;font-size:1.25rem}.recap-grid .accent strong{color:var(--forge-accent)}.warmup-list{display:grid;gap:8px;margin-top:15px}.warmup-list button{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;color:var(--forge-text);background:var(--forge-background);border:1px solid var(--forge-border);border-radius:11px;text-align:left}.warmup-list span{color:var(--forge-text-muted)}.warmup-list button:hover{border-color:var(--forge-accent)}.plate-result{display:flex;align-items:end;justify-content:space-between;margin:16px 0;padding:15px;background:var(--forge-background);border-radius:11px}.plate-result span{color:var(--forge-text-muted)}.plate-result strong{color:var(--forge-accent);font-size:1.45rem}.plate-stack{min-height:150px;display:flex;align-items:center;justify-content:center;gap:5px;padding:18px;background:#0c0e0f;border-radius:13px;overflow-x:auto}.plate-stack>span{width:26px;height:calc(var(--plate-size) * 1px);display:flex;flex:0 0 auto;flex-direction:column;align-items:center;justify-content:center;color:#111;background:var(--forge-accent);border:2px solid color-mix(in srgb,var(--forge-accent) 76%,white);border-radius:6px;font-size:.58rem}.plate-stack small{font-size:.5rem}

.challenge-section{margin-top:20px}.challenge-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin-top:13px}.challenge-card{padding:15px}.challenge-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}.challenge-heading h3{margin:7px 0 0}.challenge-heading>span{color:var(--forge-text-muted);font-size:.68rem}.challenge-card>p{margin:8px 0;color:var(--forge-text-muted)}.challenge-participants{display:grid;gap:11px;margin-top:14px}.challenge-participants>div>div:first-child{display:flex;align-items:center;justify-content:space-between;font-size:.72rem}.challenge-track{margin:5px 0 0}

@media(max-width:600px){.today-workout-meta{grid-template-columns:repeat(3,1fr)}.today-workout-meta span{padding:9px 7px}.progression-coach{grid-template-columns:1fr}.progression-coach>.button{justify-self:start}.workout-readiness-card{grid-template-columns:1fr}.rating-grid{grid-template-columns:repeat(3,1fr)}.rest-timer-dock{grid-template-columns:auto minmax(0,1fr)}.rest-actions{grid-column:1/-1;flex-direction:row;justify-content:flex-end}.training-day-picker{gap:4px}.training-day-picker button{min-height:38px}}

/* 2026 mobile usability pass: clearer hierarchy with less vertical chrome. */
.app-content{padding-bottom:calc(106px + env(safe-area-inset-bottom))}
.bottom-nav{height:66px;border-radius:23px;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -1px 0 rgba(0,0,0,.18),0 11px 29px rgba(0,0,0,.3)}
.bottom-nav a{min-height:50px}
.bottom-nav a.active{box-shadow:inset 0 1px 0 rgba(255,255,255,.38),inset 0 -1px 0 color-mix(in srgb,var(--forge-accent) 24%,rgba(0,0,0,.18)),0 4px 13px color-mix(in srgb,var(--forge-accent) 12%,transparent)}

.map-legend{width:min(100%,760px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:9px auto 13px}
.map-legend>span{min-height:48px;display:grid;grid-template-columns:17px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;column-gap:7px;padding:7px 9px;border:1px solid color-mix(in srgb,var(--forge-border) 78%,transparent);border-radius:10px;background:color-mix(in srgb,var(--forge-surface) 70%,transparent)}
.map-legend i{grid-row:1/3;width:15px;height:15px;align-self:center;border:1px solid color-mix(in srgb,var(--forge-accent) 48%,#fff);border-radius:5px;background:var(--forge-accent)}
.map-legend i.secondary{opacity:.48}
.map-legend i.freshness{background:linear-gradient(135deg,color-mix(in srgb,var(--forge-accent) 22%,#30363a),var(--forge-accent))}
.map-legend strong{font-size:.67rem}.map-legend small{color:var(--forge-text-muted);font-size:.57rem;line-height:1.2}
.today-goal-status{padding:4px 8px;border:1px solid color-mix(in srgb,var(--forge-accent) 22%,var(--forge-border));border-radius:999px;background:color-mix(in srgb,var(--forge-accent) 6%,transparent)}
.today-workout-card.goal-complete{padding-block:17px}.today-workout-card.goal-complete .today-focus{margin-top:10px}.today-workout-card.goal-complete .today-workout-meta{margin-block:13px}
.workout-complete-card{border-color:color-mix(in srgb,#38c982 42%,var(--forge-border));background:linear-gradient(145deg,color-mix(in srgb,#38c982 10%,var(--forge-surface)) 0%,var(--forge-surface) 62%,color-mix(in srgb,var(--forge-surface-raised) 90%,transparent) 100%)}.workout-complete-heading{position:relative;display:flex;align-items:center;gap:14px;margin-top:15px}.workout-complete-mark{display:grid;flex:0 0 46px;width:46px;height:46px;place-items:center;border:1px solid color-mix(in srgb,#38c982 58%,var(--forge-border));border-radius:10px;color:#38c982;background:color-mix(in srgb,#38c982 10%,transparent);font-size:1.45rem;font-weight:900;box-shadow:inset 0 0 18px color-mix(in srgb,#38c982 8%,transparent)}.workout-complete-heading h2{margin:0 0 3px}.workout-complete-heading p{margin:0;color:var(--forge-text-muted);font-size:.78rem;font-weight:650}.workout-complete-copy{margin-top:14px!important;max-width:none!important;padding-top:13px;border-top:1px solid color-mix(in srgb,#38c982 20%,var(--forge-border))}

.more-page .tutorial-launch-card-compact{grid-template-columns:50px minmax(0,1fr) auto;gap:13px;margin-bottom:17px;padding:14px 15px}
.tutorial-launch-card-compact .tutorial-launch-mark{width:48px;height:48px;border-radius:13px}
.tutorial-launch-card-compact .tutorial-launch-mark svg{width:27px;height:27px}
.tutorial-launch-card-compact .tutorial-launch-copy h2{margin:1px 0 2px;font-size:1rem}
.tutorial-launch-card-compact .tutorial-launch-copy p{font-size:.69rem;line-height:1.35}
.tutorial-launch-card-compact .tutorial-open-button{min-width:112px}
.more-groups{display:grid;gap:17px}.more-group>h2{margin:0 0 7px 3px;color:var(--forge-text-muted);font-size:.68rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
.more-group .more-list{gap:0;overflow:hidden;border:1px solid var(--forge-border);border-radius:15px;background:linear-gradient(145deg,#1b1f22,#15181a)}
.more-group .more-list a{min-height:68px;padding:9px 12px;color:var(--forge-text);border-bottom:1px solid color-mix(in srgb,var(--forge-border) 74%,transparent);transition:background .16s ease}
.more-group .more-list a:last-child{border-bottom:0}.more-group .more-list a:active{background:color-mix(in srgb,var(--forge-accent) 8%,transparent)}
.more-group .more-list b{font-size:1.25rem}.more-group .more-list strong{font-size:.84rem}.more-group .more-list small{font-size:.65rem;line-height:1.3}
.more-group .more-icon{width:40px;height:40px;border:1px solid color-mix(in srgb,var(--forge-accent) 20%,transparent);font-size:.52rem;font-weight:900;letter-spacing:.04em}
.more-group .more-profile-photo{width:40px;height:40px}
.more-privacy-note{margin:17px 3px 0;padding:0;border:0;background:transparent}.more-privacy-note p{margin:3px 0 0;color:var(--forge-text-muted);font-size:.68rem;line-height:1.45}

.history-command-card{position:relative;max-width:980px;margin:0 auto 12px;padding:11px 12px;background:linear-gradient(145deg,#1b2023,#15181a)}
.history-command-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center}
.history-search-filter{position:relative}.history-search-filter svg{position:absolute;z-index:1;left:12px;top:50%;width:19px;height:19px;transform:translateY(-50%);fill:none;stroke:var(--forge-text-muted);stroke-width:1.8;stroke-linecap:round}
.history-search-filter input{width:100%;min-height:44px;padding-left:40px}
.history-filter-toggle,.history-add-action{min-height:44px;white-space:nowrap}.history-command-row .history-add-action{margin:0}.history-filter-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.history-filter-toggle b{min-width:19px;height:19px;display:grid;place-items:center;margin-left:2px;color:#111;border-radius:50%;background:var(--forge-accent);font-size:.6rem}
.history-add-action>span{font-size:1.15rem;line-height:.8}
.history-filter-panel{margin-top:11px;padding-top:12px;border-top:1px solid var(--forge-border)}.history-filter-panel header h2{margin:2px 0 10px;font-size:1rem}
.history-filter-panel .history-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.history-filter-done{display:none;margin-top:10px;width:100%}
.history-active-filters{display:flex;align-items:center;gap:6px;overflow-x:auto;margin-top:9px;padding-bottom:1px;scrollbar-width:none}.history-active-filters::-webkit-scrollbar{display:none}
.history-active-filters>span{flex:0 0 auto;padding:4px 8px;color:var(--forge-accent);border:1px solid color-mix(in srgb,var(--forge-accent) 24%,var(--forge-border));border-radius:999px;background:color-mix(in srgb,var(--forge-accent) 5%,transparent);font-size:.62rem;font-weight:720}
.history-active-filters .history-filter-clear{flex:0 0 auto;margin-left:auto;font-size:.65rem}
.history-command-card .history-filter-result{min-height:0;display:flex;justify-content:flex-end;gap:4px;margin-top:8px;padding:0;color:var(--forge-text-muted);background:transparent;border:0;font-size:.61rem}.history-command-card .history-filter-result strong{color:var(--forge-text)}
.history-card summary{padding:13px 15px}.history-card summary h2{font-size:1.05rem}.history-summary-heading .eyebrow{font-size:.57rem}
.history-quick-stats{display:flex;flex-wrap:wrap;gap:6px 13px;margin-top:8px;color:var(--forge-text-muted);font-size:.64rem}.history-quick-stats span{white-space:nowrap}.history-quick-stats strong{color:var(--forge-text);font-size:.68rem}

.progress-page .training-stats-section{padding:16px}.progress-page .training-stats-heading{margin-bottom:11px}.progress-page .training-stats-heading h2{margin:2px 0 0;font-size:1.15rem}
.progress-page .training-stat-grid article{min-height:82px;padding:11px 12px}.progress-page .training-stat-grid strong{font-size:1.2rem}
.progress-page .training-stat-grid small{margin-top:4px;font-size:.57rem;line-height:1.25}.training-stat-grid small.positive{color:var(--forge-accent)}.training-stat-grid small.negative{color:#e4b16e}.training-stat-grid small.neutral{color:var(--forge-text-muted)}
.stats-context{margin:10px 1px 0;color:var(--forge-text-muted);font-size:.65rem;line-height:1.4}.stats-context strong{color:var(--forge-text)}
.progress-section-heading{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:20px 2px 9px}.progress-section-heading h2{margin:2px 0 0}.progress-section-heading>small{max-width:250px;color:var(--forge-text-muted);font-size:.62rem;text-align:right}
.progress-overview{gap:8px}.progress-overview .metric-card{min-height:112px;padding:14px;border:1px solid var(--forge-border);border-radius:13px;background:linear-gradient(145deg,#1c2023,#15181a)}.progress-overview .metric-card strong{margin:6px 0 1px;font-size:1.7rem}
.progress-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:12px;align-items:start}.progress-detail-grid>section{margin:0}
.progress-timeline-heading{display:flex;align-items:start;justify-content:space-between;gap:10px}.progress-timeline-heading h2{margin:2px 0 0}
.progress-record-search{display:block;margin:12px 0 6px}.progress-record-search input{width:100%;min-height:42px}

@media(max-width:700px){
    .map-legend{gap:4px}.map-legend>span{grid-template-columns:12px minmax(0,1fr);column-gap:5px;padding:6px}.map-legend i{width:12px;height:12px}.map-legend strong{font-size:.6rem}.map-legend small{font-size:.5rem}
    .more-page .tutorial-launch-card-compact{grid-template-columns:43px minmax(0,1fr) auto}.tutorial-launch-card-compact .tutorial-launch-mark{width:42px;height:42px}.tutorial-launch-card-compact .tutorial-launch-copy p{display:none}.tutorial-launch-card-compact .tutorial-open-button{grid-column:auto;width:auto;min-width:0;padding-inline:11px}
    .history-command-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch}.history-search-filter{grid-column:1/-1}.history-add-action{grid-column:1;grid-row:2}.history-filter-toggle{grid-column:2;grid-row:2}.history-filter-panel .history-filter-grid{grid-template-columns:1fr}.history-filter-done{display:flex}.history-command-card .history-filter-result{position:static;justify-content:flex-end;margin:7px 2px 0}
    .history-card summary{padding:12px 13px}.history-quick-stats{gap:5px 11px}
    .progress-detail-grid{grid-template-columns:1fr}.progress-section-heading{align-items:start;flex-direction:column;gap:3px}.progress-section-heading>small{text-align:left}
}

.workout-toolbar{min-height:62px;align-items:center;padding:11px 13px}.workout-toolbar>div{display:flex;align-items:center}.workout-toolbar>div>span:last-child{display:flex;flex-direction:column}.workout-toolbar small{margin-top:2px;color:var(--forge-text-muted);font-size:.62rem}
.workout-notes-disclosure{margin:-6px 0 10px;padding:0;overflow:hidden}.workout-notes-disclosure>summary{min-height:52px;display:flex;align-items:center;justify-content:space-between;padding:9px 13px;cursor:pointer;list-style:none}.workout-notes-disclosure>summary::-webkit-details-marker{display:none}
.workout-notes-disclosure>summary>span{display:flex;flex-direction:column}.workout-notes-disclosure>summary small{margin-top:2px;color:var(--forge-text-muted);font-size:.62rem}.workout-notes-disclosure>summary>b{color:var(--forge-text-muted);font-size:1.1rem;transition:transform .16s ease}.workout-notes-disclosure[open]>summary>b{transform:rotate(45deg)}
.workout-notes-disclosure>label,.workout-notes-disclosure>.button{margin:0 13px 12px}.workout-notes-disclosure textarea{min-height:72px}
.workout-focus-strip{display:flex;gap:7px;margin:0 -2px 11px;padding:2px 2px 5px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}.workout-focus-strip::-webkit-scrollbar{display:none}
.workout-focus-strip button{min-width:126px;max-width:190px;min-height:48px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;padding:7px 9px;color:var(--forge-text-muted);border:1px solid var(--forge-border);border-radius:11px;background:var(--forge-surface);text-align:left;scroll-snap-align:start}
.workout-focus-strip button.active{color:var(--forge-text);border-color:color-mix(in srgb,var(--forge-accent) 48%,var(--forge-border));background:color-mix(in srgb,var(--forge-accent) 8%,var(--forge-surface))}
.workout-focus-strip button>span{min-width:29px;height:29px;display:grid;place-items:center;color:var(--forge-accent);border-radius:8px;background:color-mix(in srgb,var(--forge-accent) 10%,transparent);font-size:.58rem;font-weight:850}.workout-focus-strip button>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem}
.workout-page .exercise-card{padding:0;overflow:hidden}.workout-page .exercise-card.collapsed{margin-bottom:7px;background:color-mix(in srgb,var(--forge-surface) 84%,transparent)}.workout-page .exercise-card.focused{border-color:color-mix(in srgb,var(--forge-accent) 28%,var(--forge-border));box-shadow:0 12px 30px rgba(0,0,0,.18)}
.exercise-card-header{min-height:74px;display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:11px 12px}.exercise-focus-button{min-width:0;display:flex;flex-direction:column;align-items:flex-start;padding:0;color:var(--forge-text);border:0;background:transparent;text-align:left;cursor:pointer}
.exercise-focus-name{width:100%;margin:2px 0 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem}.exercise-focus-meta{display:flex;align-items:center;flex-wrap:wrap;gap:5px 9px;color:var(--forge-text-muted);font-size:.61rem}.exercise-focus-meta>b{color:var(--forge-text);font-size:.64rem}.exercise-focus-meta .superset-badge{margin:0;padding:2px 6px}
.exercise-card.collapsed .reorder-buttons{opacity:.55}.exercise-card-body{padding:0 13px 14px;border-top:1px solid color-mix(in srgb,var(--forge-border) 72%,transparent)}
.exercise-card-body>.setup-note{margin-top:12px}.focused-set-entry{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.focused-set-entry label span{font-size:.6rem}
.set-entry-more,.exercise-notes-disclosure{margin-top:9px;border-top:1px solid color-mix(in srgb,var(--forge-border) 72%,transparent)}.set-entry-more>summary,.exercise-notes-disclosure>summary{padding:10px 1px;color:var(--forge-text-muted);font-size:.67rem;font-weight:750;cursor:pointer}
.set-entry-more-grid{display:grid;grid-template-columns:minmax(100px,.35fr) minmax(0,1fr);gap:8px;padding-bottom:8px}.set-entry-more-grid .full-field{margin:0}.exercise-notes-disclosure textarea{min-height:68px}.exercise-notes-disclosure .text-button{margin:5px 0 3px}
.workout-set-actions{margin-top:10px}.workout-tools{align-items:center;flex-wrap:wrap;justify-content:flex-start}.workout-next-exercise{margin-left:auto}
.workout-page .template-grid{gap:8px}.workout-page .template-card{padding:14px}.workout-page .template-card p{min-height:0;margin:5px 0 8px;font-size:.72rem}.workout-page .template-card .exercise-chips{margin:8px 0 11px}.workout-page .template-card .button.full{min-height:43px}

.programme-editor-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:18px 1px 9px}.programme-editor-heading h3{margin:2px 0 0}.programme-editor-heading>small{color:var(--forge-text-muted);font-size:.65rem}
.programme-exercise-disclosure{display:block!important;padding:0!important;overflow:hidden;border:1px solid var(--forge-border);border-radius:12px;background:var(--forge-background)}
.programme-exercise-disclosure>summary{min-height:60px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:9px 11px;cursor:pointer;list-style:none}.programme-exercise-disclosure>summary::-webkit-details-marker{display:none}
.programme-exercise-disclosure>summary>span:first-child{display:flex;min-width:0;flex-direction:column}.programme-exercise-disclosure>summary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.programme-exercise-disclosure>summary small{margin-top:3px;color:var(--forge-text-muted);font-size:.61rem}.programme-exercise-disclosure>summary>b{color:var(--forge-text-muted);transition:transform .16s ease}.programme-exercise-disclosure[open]>summary>b{transform:rotate(180deg)}
.programme-exercise-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px;border-top:1px solid var(--forge-border)}.programme-exercise-fields label{font-size:.61rem}.programme-exercise-notes{grid-column:1/-1}.programme-exercise-actions{display:flex;align-items:center;gap:7px;padding:0 12px 12px}.programme-exercise-actions .danger{margin-left:auto}
.programme-library-grid{gap:10px}.programme-card{padding:15px}.programme-card p{margin:6px 0 10px}.programme-card .card-actions{gap:6px}.programme-card .card-actions .button{padding-inline:11px}

@media(max-width:600px){
    .focused-set-entry{grid-template-columns:repeat(2,minmax(0,1fr))}.exercise-card-header{padding:9px 10px}.exercise-card-header .reorder-buttons .icon-button{width:38px;min-width:38px;height:38px}.exercise-card-body{padding-inline:10px}
    .set-entry-more-grid{grid-template-columns:1fr}.workout-tools{gap:9px}.workout-next-exercise{width:100%;margin:2px 0 0;text-align:right}
    .programme-exercise-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.programme-exercise-notes{grid-column:1/-1}.programme-exercise-actions{flex-wrap:wrap}.programme-exercise-actions .danger{margin-left:auto}
}

/* Training intelligence */
.training-insights-section{margin:20px 0}.streak-badge{padding:6px 10px;color:var(--forge-accent);border:1px solid color-mix(in srgb,var(--forge-accent) 35%,var(--forge-border));border-radius:999px;font-size:.67rem;font-weight:800;white-space:nowrap}
.objective-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:11px 0}.objective-card{min-height:164px;padding:14px}.objective-card h3{margin:5px 0;font-size:.92rem}.objective-card p{min-height:42px;margin:0 0 11px;color:var(--forge-text-muted);font-size:.68rem;line-height:1.45}.objective-card>small{display:block;margin-top:6px;color:var(--forge-text-muted);font-size:.61rem}.objective-card.complete{border-color:color-mix(in srgb,var(--forge-accent) 36%,var(--forge-border))}
.objective-progress,.strength-level-track{height:7px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--forge-border) 75%,transparent)}.objective-progress span,.strength-level-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--forge-accent),#ff9a66)}
.readiness-strip{display:flex;gap:7px;overflow-x:auto;padding:2px 0 5px;scrollbar-width:none}.readiness-strip::-webkit-scrollbar{display:none}.readiness-chip{flex:0 0 auto;min-width:92px;display:flex;justify-content:space-between;gap:7px;padding:8px 9px;border:1px solid var(--forge-border);border-radius:10px;background:var(--forge-surface);font-size:.61rem}.readiness-chip small{color:var(--forge-text-muted)}.readiness-chip.ready{border-color:color-mix(in srgb,#54cc8b 42%,var(--forge-border))}.readiness-chip.fatigued{border-color:color-mix(in srgb,#ef765f 42%,var(--forge-border))}
.strength-level-card{margin-top:12px}.strength-level-heading,.strength-level-detail{display:flex;align-items:center;justify-content:space-between;gap:12px}.strength-level-heading h2{margin:3px 0}.strength-level-heading>strong{color:var(--forge-accent);font-size:1.3rem}.strength-level-card>.strength-level-track{margin:12px 0}.strength-level-detail{align-items:flex-start;font-size:.7rem}.strength-level-detail span{color:var(--forge-text-muted)}
.exercise-chart-card{margin-top:12px;overflow:hidden}.exercise-chart-card .card-heading-row>strong{color:var(--forge-text);font-size:1.1rem}.chart-controls,.chart-range{display:flex;align-items:center;justify-content:space-between;gap:10px}.chart-controls{margin:16px 0}.chart-controls select{width:auto;min-width:112px}.chart-metric-tabs{flex:1;padding:4px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--forge-border);border-radius:10px;background:var(--forge-surface)}.chart-metric-tabs button{min-height:38px;padding:6px 8px;border:0;border-radius:7px;background:transparent;color:var(--forge-text-muted);font-size:.72rem;font-weight:800;cursor:pointer}.chart-metric-tabs button.active{background:var(--forge-surface-raised);color:var(--forge-text);box-shadow:0 1px 8px rgba(0,0,0,.18)}.exercise-line-chart{display:block;width:100%;height:auto;overflow:hidden}.exercise-line-chart .chart-grid{stroke:color-mix(in srgb,var(--forge-border) 72%,transparent);stroke-width:1;stroke-dasharray:3 6;vector-effect:non-scaling-stroke}.exercise-line-chart .chart-area{fill:url(#exercise-chart-fill)}.exercise-line-chart polyline{fill:none;stroke:var(--forge-accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.exercise-line-chart circle{fill:var(--forge-surface-raised);stroke:var(--forge-accent);stroke-width:2.5;vector-effect:non-scaling-stroke}.exercise-line-chart text{fill:var(--forge-text-muted);font-size:12px}.chart-range{margin-top:-2px;color:var(--forge-text-muted);font-size:.7rem}
.workout-strength-level{display:grid;grid-template-columns:minmax(125px,.6fr) minmax(120px,1fr) auto auto;align-items:center;gap:10px;margin:10px 0;padding:10px;border:1px solid var(--forge-border);border-radius:11px;background:color-mix(in srgb,var(--forge-accent) 4%,var(--forge-background));font-size:.66rem}.workout-strength-level>div:first-child{display:flex;flex-direction:column}.workout-strength-level>div:first-child small{color:var(--forge-text-muted)}
.adaptive-controls{display:grid;grid-template-columns:1fr 1.5fr;gap:10px}.equipment-picker{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0;padding:12px;border:1px solid var(--forge-border);border-radius:12px}.equipment-picker legend{padding:0 5px;font-size:.7rem;font-weight:800}.equipment-picker legend small{color:var(--forge-text-muted);font-weight:500}.equipment-picker button{padding:7px 9px;color:var(--forge-text-muted);border:1px solid var(--forge-border);border-radius:999px;background:var(--forge-background);font-size:.63rem}.equipment-picker button.selected{color:var(--forge-text);border-color:var(--forge-accent);background:color-mix(in srgb,var(--forge-accent) 10%,var(--forge-background))}.adaptive-preview{display:grid;gap:7px;max-height:42vh;overflow:auto;margin-top:10px;padding:11px;border-radius:12px;background:var(--forge-background)}.adaptive-preview>div:first-child,.adaptive-exercise{display:flex;align-items:center;justify-content:space-between;gap:10px}.adaptive-preview>div:first-child span,.adaptive-exercise small{display:block;color:var(--forge-text-muted);font-size:.62rem}.adaptive-exercise{padding-top:7px;border-top:1px solid var(--forge-border);font-size:.7rem}.adaptive-note{margin:0;color:var(--forge-text-muted);font-size:.63rem}
@media(max-width:700px){.objective-grid{grid-template-columns:1fr}.objective-card{min-height:0}.objective-card p{min-height:0}.workout-strength-level{grid-template-columns:1fr auto}.workout-strength-level .strength-level-track{grid-column:1/-1;grid-row:2}.adaptive-controls{grid-template-columns:1fr}.strength-level-detail{flex-direction:column}.chart-controls{align-items:stretch;flex-direction:column}.chart-controls select{width:100%}.chart-metric-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.exercise-line-chart{margin-top:2px}}

/* Account-gated web entry */
.web-auth-shell{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(480px,.92fr);overflow:hidden;background:#0d0f11}.web-auth-brand{position:relative;min-height:100dvh;padding:clamp(48px,7vw,108px);display:flex;flex-direction:column;justify-content:center;isolation:isolate;background:radial-gradient(circle at 18% 22%,rgba(255,85,59,.2),transparent 33%),radial-gradient(circle at 78% 78%,rgba(255,85,59,.09),transparent 37%),linear-gradient(145deg,#171b1e,#0e1113 67%)}.web-auth-brand::before{content:"";position:absolute;z-index:-1;inset:0;opacity:.28;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(135deg,#000,transparent 75%)}.web-auth-brand::after{content:"";position:absolute;z-index:-1;right:-1px;top:8%;bottom:8%;width:1px;background:linear-gradient(transparent,rgba(255,85,59,.55),transparent)}.web-auth-brand-mark{width:72px;height:72px;margin-bottom:28px;display:grid;place-items:center;color:var(--forge-accent);border:1px solid color-mix(in srgb,var(--forge-accent) 45%,var(--forge-border));border-radius:21px;background:linear-gradient(145deg,color-mix(in srgb,var(--forge-accent) 16%,#202529),#15191b);box-shadow:0 18px 44px rgba(0,0,0,.32),0 0 38px color-mix(in srgb,var(--forge-accent) 10%,transparent)}.web-auth-brand-mark svg{width:50px;height:50px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.web-auth-brand-mark .web-auth-brand-spark{fill:color-mix(in srgb,var(--forge-accent) 18%,transparent);stroke-width:2}.web-auth-kicker{color:var(--forge-accent);font-size:.72rem;font-weight:900;letter-spacing:.2em}.web-auth-brand h1{max-width:780px;margin:15px 0 23px;font-size:clamp(2.8rem,5.4vw,5.8rem);line-height:.93;letter-spacing:-.065em}.web-auth-brand>p{max-width:620px;margin:0;color:#a8b0b5;font-size:clamp(.95rem,1.3vw,1.18rem);line-height:1.7}.web-auth-proof{width:min(100%,520px);margin-top:38px;padding:16px 18px;display:flex;align-items:center;gap:13px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.035);box-shadow:inset 0 1px rgba(255,255,255,.05)}.web-auth-proof>span{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;color:var(--forge-accent);border-radius:11px;background:color-mix(in srgb,var(--forge-accent) 11%,transparent)}.web-auth-proof svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.web-auth-proof>div{display:flex;flex-direction:column;gap:3px}.web-auth-proof small{color:var(--forge-text-muted)}
.web-auth-access{min-height:100dvh;padding:clamp(28px,5vw,76px);display:grid;place-items:center;background:radial-gradient(circle at 100% 0,rgba(255,85,59,.06),transparent 28%),#111416}.web-auth-card{width:min(100%,500px);padding:clamp(22px,4vw,38px);border:1px solid var(--forge-border);border-radius:22px;background:linear-gradient(145deg,#1d2225,#171a1d);box-shadow:0 32px 90px rgba(0,0,0,.42)}.web-auth-mobile-brand{display:none}.web-auth-tabs{margin-bottom:28px;padding:4px;display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--forge-border);border-radius:11px;background:#111416}.web-auth-tabs button{min-height:42px;border:0;border-radius:8px;color:var(--forge-text-muted);background:transparent;font-weight:850;cursor:pointer}.web-auth-tabs button.active{color:var(--forge-text);background:#252b2f;box-shadow:0 4px 14px rgba(0,0,0,.3)}.web-auth-heading h2{margin:5px 0 7px;font-size:1.55rem}.web-auth-heading p{margin:0;color:var(--forge-text-muted);font-size:.77rem;line-height:1.5}.web-auth-fields{margin:23px 0 18px;display:grid;gap:14px}.web-auth-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.web-auth-handle{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;border:1px solid var(--forge-border);border-radius:8px;background:#131619}.web-auth-handle:focus-within{border-color:var(--forge-accent);outline:2px solid color-mix(in srgb,var(--forge-accent) 35%,transparent);outline-offset:2px}.web-auth-handle b{padding-left:12px;color:var(--forge-text-muted)}.web-auth-handle input{border:0;background:transparent;outline:0}.web-auth-card .notice{margin-bottom:16px}.web-auth-submit{min-height:50px}.web-auth-download{margin-top:20px;padding-top:20px;display:grid;gap:13px;border-top:1px solid var(--forge-border)}.web-auth-download>div{display:flex;align-items:center;gap:11px}.web-auth-download>div>div{display:flex;min-width:0;flex-direction:column;gap:3px}.web-auth-download small{color:var(--forge-text-muted)}.web-auth-download-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;color:var(--forge-accent);border:1px solid color-mix(in srgb,var(--forge-accent) 30%,var(--forge-border));border-radius:11px;background:color-mix(in srgb,var(--forge-accent) 8%,transparent)}.web-auth-download svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.web-auth-download .button{min-height:48px}
.web-auth-tabs:has(>button:only-child){grid-template-columns:1fr}.web-auth-switch{width:100%;min-height:38px;margin-top:8px;border:0;color:var(--forge-text-muted);background:transparent;font-size:.7rem;font-weight:750;cursor:pointer}.web-auth-switch:hover{color:var(--forge-accent)}
@media(max-width:900px){.web-auth-shell{display:block}.web-auth-brand{min-height:auto;padding:42px 24px 36px;align-items:center;text-align:center}.web-auth-brand::after{top:auto;left:8%;right:8%;bottom:0;width:auto;height:1px}.web-auth-brand-mark{width:62px;height:62px;margin-bottom:19px;border-radius:18px}.web-auth-brand-mark svg{width:43px;height:43px}.web-auth-brand h1{margin:11px 0 16px;font-size:clamp(2.25rem,10vw,4rem)}.web-auth-brand>p{max-width:570px}.web-auth-proof{display:none}.web-auth-access{min-height:auto;padding:26px 16px 42px}.web-auth-card{max-width:560px}}
@media(max-width:520px){.web-auth-brand{display:none}.web-auth-access{min-height:100dvh;padding:14px;background:radial-gradient(circle at 50% 0,rgba(255,85,59,.12),transparent 35%),#101214}.web-auth-card{padding:22px 18px;border-radius:18px}.web-auth-mobile-brand{margin:4px 0 24px;display:flex;flex-direction:column;align-items:center}.web-auth-mobile-brand span{color:var(--forge-accent);font-size:1.7rem;font-weight:950;letter-spacing:.18em}.web-auth-mobile-brand small{margin-top:3px;color:var(--forge-text-muted);font-size:.55rem;letter-spacing:.16em}.web-auth-tabs{margin-bottom:23px}.web-auth-field-row{grid-template-columns:1fr}}

/* Browser application shell: desktop rail, compact mobile drawer */
.web-app-shell{min-height:100dvh}.forge-web-main{min-width:0;min-height:100dvh}.web-app-shell .app-content{padding-bottom:0}.forge-web-topbar{position:sticky;z-index:38;top:0;height:64px;padding:0 15px;display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;border-bottom:1px solid color-mix(in srgb,var(--forge-border) 72%,transparent);background:color-mix(in srgb,#111416 90%,transparent);backdrop-filter:blur(19px) saturate(145%)}.forge-menu-button,.forge-web-avatar{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--forge-border);border-radius:11px;color:var(--forge-text-muted);background:var(--forge-surface);cursor:pointer}.forge-menu-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round}.forge-web-wordmark{justify-self:center;color:var(--forge-accent);font-size:1.15rem;font-weight:950;letter-spacing:.18em}.forge-web-avatar{justify-self:end;color:#150e0c;background:var(--forge-accent);border-color:var(--forge-accent);border-radius:50%;font-size:.68rem;font-weight:900}.forge-side-rail{position:fixed;z-index:70;inset:0 auto 0 0;width:min(84vw,260px);padding:25px 17px 17px;display:flex;flex-direction:column;overflow-y:auto;border-right:1px solid var(--forge-border);background:linear-gradient(180deg,#121619,#0e1113);box-shadow:24px 0 70px rgba(0,0,0,.52);transform:translateX(-105%);transition:transform .22s cubic-bezier(.2,.75,.25,1)}.forge-side-rail.open{transform:translateX(0)}.forge-rail-brand{padding:0 10px 28px;display:flex;align-items:center;gap:11px}.forge-rail-mark{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;color:var(--forge-accent);border:1px solid color-mix(in srgb,var(--forge-accent) 33%,var(--forge-border));border-radius:11px;background:color-mix(in srgb,var(--forge-accent) 8%,transparent)}.forge-rail-mark svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round}.forge-rail-brand>span:last-child{display:flex;min-width:0;flex-direction:column}.forge-rail-brand strong{color:var(--forge-accent);font-size:1.02rem;font-weight:950;letter-spacing:.17em}.forge-rail-brand small{margin-top:2px;color:#707a80;font-size:.48rem;font-weight:800;letter-spacing:.11em}.forge-side-rail nav{display:grid;gap:4px}.forge-rail-section{margin:17px 10px 5px;color:#687278;font-size:.54rem;font-weight:900;letter-spacing:.16em}.forge-rail-section:first-child{margin-top:0}.forge-side-rail nav a{position:relative;min-height:44px;padding:8px 11px;display:flex;align-items:center;gap:11px;color:#929da3;border:1px solid transparent;border-radius:10px;font-size:.72rem;font-weight:780;transition:color .16s ease,background .16s ease,border-color .16s ease,transform .16s ease}.forge-side-rail nav a:hover{color:var(--forge-text);background:rgba(255,255,255,.025);transform:translateX(1px)}.forge-side-rail nav a.active{color:var(--forge-text);border-color:color-mix(in srgb,var(--forge-accent) 14%,var(--forge-border));background:linear-gradient(90deg,color-mix(in srgb,var(--forge-accent) 12%,var(--forge-surface)),color-mix(in srgb,var(--forge-accent) 3%,transparent));box-shadow:inset 3px 0 var(--forge-accent)}.forge-rail-icon{width:24px;height:24px;display:grid;place-items:center;flex:0 0 24px;color:#717c82}.forge-rail-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.forge-side-rail nav a.active .forge-rail-icon{color:var(--forge-accent)}.forge-rail-account{margin-top:auto;padding:15px 6px 3px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border-top:1px solid var(--forge-border)}.forge-rail-avatar{width:38px;height:38px;display:grid;place-items:center;color:#170f0d;background:var(--forge-accent);border-radius:50%;font-size:.65rem;font-weight:900}.forge-rail-account>span:nth-child(2){display:flex;min-width:0;flex-direction:column}.forge-rail-account strong,.forge-rail-account small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forge-rail-account strong{font-size:.68rem}.forge-rail-account small{margin-top:2px;color:var(--forge-text-muted);font-size:.58rem}.forge-rail-account>b{color:var(--forge-text-muted);font-size:1.3rem}.forge-nav-scrim{position:fixed;z-index:60;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(0,0,0,.62);backdrop-filter:blur(2px)}
@media(min-width:960px){.web-app-shell{display:grid;grid-template-columns:248px minmax(0,1fr)}.forge-side-rail{position:fixed;z-index:20;inset:0 auto 0 0;width:248px;height:100dvh;max-height:100dvh;box-shadow:none;transform:none}.forge-web-topbar,.forge-nav-scrim{display:none}.web-app-shell .page{padding:42px clamp(28px,4vw,58px) 72px}.forge-web-main{grid-column:2;min-height:100dvh}}
