/* Structure, illustration hierarchy and framing follow the chosen concept boards. */
.look-mast-brand,.look-settings-button{display:none}.look-icon{width:28px;height:28px;display:block;flex:none}.look-logo{display:block;width:100%;height:100%;object-fit:contain}.pixel-icon{image-rendering:pixelated;shape-rendering:crispEdges}
:root:not([data-look="original"]){--look-nav-height:0px;--look-footer-height:90px}
:root:not([data-look="original"]) .sidebar .brand{height:70px;width:100%;padding:0;border:0;text-shadow:none}
:root:not([data-look="original"]) #main{max-width:1160px;padding-top:24px}
:root:not([data-look="original"]) .topbar{background:var(--bg);border:0;min-height:85px;padding-top:10px;padding-bottom:10px;gap:10px}
:root:not([data-look="original"]) .look-mast-brand{display:block;width:220px;height:65px;margin-right:auto}
:root:not([data-look="original"]) .topbar #crumb,:root:not([data-look="original"]) .topbar #today,:root:not([data-look="original"]) #users-button{display:none}
:root:not([data-look="original"]) .look-settings-button{display:grid;place-items:center;background:transparent;color:var(--muted);padding:5px;min-width:36px;border:0;box-shadow:none}
:root:not([data-look="original"]) .account-bar{width:auto;margin:0;gap:8px;flex-wrap:nowrap}
:root:not([data-look="original"]) #account-button{border-radius:50%;display:grid;place-items:center;padding:4px;min-width:38px;min-height:38px;background:transparent;border:1px solid var(--line);color:var(--ink);box-shadow:none}
:root:not([data-look="original"]) #sync-status{position:absolute;right:44px;top:73px;font-size:10px;letter-spacing:0;opacity:.8;max-width:calc(100% - 40px);z-index:2}
:root:not([data-look="original"]) #header-username{font-size:15px}
:root:not([data-look="original"]) .sidebar .nav-item{align-items:center;gap:14px}
:root:not([data-look="original"]) .sidebar .nav-item>.look-nav-label{display:block;font-size:.9rem;color:inherit}
:root:not([data-look="original"]) .look-hero{min-height:330px;border:0;border-radius:0;margin-bottom:0;background:transparent;box-shadow:none}
:root:not([data-look="original"]) .look-hero::before{background-position:65% center}
:root:not([data-look="original"]) .look-hero-content{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:330px;padding:28px 0 35px;max-width:60%}
:root:not([data-look="original"]) .look-hero h2{font-size:clamp(3rem,6vw,5.4rem);margin:12px 0;line-height:1;letter-spacing:.01em}
:root:not([data-look="original"]) .look-hero p:empty{display:none}
:root:not([data-look="original"]) .pass-choice{padding:24px 0 30px;border:0;border-radius:0;box-shadow:none;background:transparent}
:root:not([data-look="original"]) .pass-choice>.row>.tag{display:none}
:root:not([data-look="original"]) .pass-choice .eyebrow{font-size:.8rem;color:var(--ink)}
:root:not([data-look="original"]) .pass-choice h2{font-size:2.8rem;line-height:1.1;color:var(--green)}
:root:not([data-look="original"]) .pass-choice .note{margin-top:8px;font-size:.85rem}
:root:not([data-look="original"]) .pass-cards{gap:16px;margin-top:20px}
:root:not([data-look="original"]) .pass-card{min-height:210px;padding:20px 15px 18px;gap:10px;align-items:center;text-align:center;border-width:1px;background:var(--paper);box-shadow:none}
:root:not([data-look="original"]) .pass-card-title{font-size:1.4rem;line-height:1.2;justify-content:center;position:relative;width:100%}
:root:not([data-look="original"]) .pass-card-title>span{position:absolute;right:0;top:0;font-size:.9rem}
:root:not([data-look="original"]) .pass-card .look-day-icon{height:66px;width:66px;color:var(--muted);margin-bottom:24px}
:root:not([data-look="original"]) .pass-card.selected .look-day-icon{color:var(--green)}
:root:not([data-look="original"]) .pass-card>.pass-muscles,:root:not([data-look="original"]) .pass-recommended{display:none}
:root:not([data-look="original"]) .pass-card>.pass-recency-fill{z-index:1;bottom:46px;left:14px;right:auto;top:auto;width:calc((100% - 28px) * var(--recency-ratio));height:7px!important;min-height:0;border-radius:6px;background:var(--green);box-shadow:none}
:root:not([data-look="original"]) .pass-card::after{content:'';position:absolute;bottom:45px;left:14px;right:14px;height:9px;border:1px solid var(--line);border-radius:6px;background:transparent;pointer-events:none}
:root:not([data-look="original"]) .pass-card small{font-size:.8rem}
:root:not([data-look="original"]) .recency-explanation{font-size:.75rem;opacity:.8}
:root:not([data-look="original"]) .session-head{padding:20px;border-radius:0;margin-bottom:16px;background:transparent;border-width:1px 0 0;box-shadow:none}
:root:not([data-look="original"]) .work-grid{grid-template-columns:minmax(0,1fr) 250px}
:root:not([data-look="original"]) .exercise{border-radius:3px;box-shadow:none;border-color:var(--line);background:var(--paper)}
:root:not([data-look="original"]) .exercise summary{padding:20px;gap:18px}
:root:not([data-look="original"]) .exercise .ex-number{display:none}
:root:not([data-look="original"]) .look-exercise-icon{width:58px;height:58px;padding:7px;border:1px solid var(--line);color:var(--green);border-radius:6px;background:var(--soft)}
:root:not([data-look="original"]) .exercise summary h3{font-size:1.1rem}
:root:not([data-look="original"]) .exercise-body{padding:0 18px 20px}
:root:not([data-look="original"]) .session-footer{background:var(--dark);border-color:var(--line);color:var(--ink);box-shadow:none}
:root:not([data-look="original"]) .footer-session{flex-direction:row;align-items:center;gap:18px;flex-wrap:wrap}
:root:not([data-look="original"]) .footer-session>strong{font-size:1.2rem}
:root:not([data-look="original"]) .footer-session>span{font-size:1.05rem;color:var(--muted)}
:root:not([data-look="original"]) .look-footer-icon{width:42px;height:42px;color:var(--green)}
:root:not([data-look="original"]) #session-action{min-height:50px;font-weight:800;font-size:1rem;letter-spacing:.02em}
:root:not([data-look="original"]) #session-action::before{content:'\25B6';font-size:.9em;margin-right:10px}
:root:not([data-look="original"]) .look-settings .row button{display:flex;align-items:center;gap:8px}
:root:not([data-look="original"]) .look-sample>.look-logo{width:75%;max-height:60px}
:root[data-look="synthwave"] .look-hero h2{font-style:italic;color:#ff56d3;text-shadow:2px 3px 0 #4c176c,-1px -1px 0 #89f3ff,0 0 16px #ff39bfa0;letter-spacing:-.02em}
:root[data-look="synthwave"] .pass-card{border:2px solid #884098;border-radius:0;clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px),0 10px);background:linear-gradient(155deg,#1d0d31,#0c0820)}
:root[data-look="synthwave"] .pass-card .look-day-icon{color:var(--green);filter:drop-shadow(0 0 4px currentColor)}
:root[data-look="synthwave"] .pass-card.selected{border-color:#ff78e2;box-shadow:inset 0 0 13px #ff20b98c}
:root[data-look="synthwave"] .exercise,:root[data-look="synthwave"] .session-head{border:1px solid #2e92af;background:linear-gradient(125deg,#10213988,#251134aa);border-radius:0;box-shadow:inset 0 0 12px #219bd020;position:relative}
:root[data-look="synthwave"] .exercise::after{content:'';position:absolute;right:0;bottom:0;width:40px;height:2px;background:#fc47d3;pointer-events:none}
:root[data-look="synthwave"] .look-exercise-icon{border-color:#ef39bf;box-shadow:0 0 8px #ef39bf33;background:#150f31}
:root[data-look="synthwave"] .session-footer{border:2px solid #d452ba;box-shadow:inset 0 0 10px #d452ba66}
:root[data-look="synthwave"] #session-action{border-radius:0;background:linear-gradient(100deg,#ff16cd,#f035d8);clip-path:polygon(12px 0,100% 0,100% 100%,0 100%,0 12px)}
:root[data-look="iron"] .look-hero h2{font-size:clamp(3.8rem,8vw,7rem);color:#eee9dc;letter-spacing:.02em;text-shadow:3px 1px #0009}
:root[data-look="iron"] .look-stamp{position:absolute;right:20px;bottom:18px;border:3px solid #a8342b;border-radius:50%;width:100px;height:100px;text-align:center;padding:17px 0;font:20px/1.05 Impact,sans-serif;letter-spacing:3px;color:#b44336;transform:rotate(-15deg);opacity:.9}
:root[data-look="iron"] .pass-choice h2{color:#eee9dc;text-transform:uppercase}
:root[data-look="iron"] .pass-card{background:repeating-linear-gradient(125deg,#20211f 0 2px,#191a18 2px 6px);border:1px solid #74746f;border-radius:3px}
:root[data-look="iron"] .pass-card.selected{border:2px solid #e34036}
:root[data-look="iron"] .pass-card-title,:root[data-look="iron"] .exercise summary h3{font-family:Impact,sans-serif;font-size:1.8rem;letter-spacing:.02em}
:root[data-look="iron"] .pass-card.selected .look-day-icon{color:#eee9dc}
:root[data-look="iron"] #session-action{background:#dc3f36;color:#0b0908;font-family:Impact,sans-serif;text-transform:uppercase;font-size:1.25rem}
:root[data-look="iron"] .session-footer{border-top:3px solid #89312d;background:repeating-linear-gradient(130deg,#1c1b18 0 2px,#111210 2px 5px)}
:root[data-look="arcade"] .look-hero h2{font-size:2.7rem;color:#9bffa6;line-height:1.15;text-shadow:4px 4px #293d87}
:root[data-look="arcade"] .look-hero::after{background:linear-gradient(90deg,#070f29e6,#070f2940 65%,transparent)}
:root[data-look="arcade"] .pass-choice>.row{border:2px solid #7bffae;padding:18px;box-shadow:4px 4px #2b4883;position:relative}
:root[data-look="arcade"] .pass-choice h2{font-size:2.4rem;color:#ff7d75}
:root[data-look="arcade"] .pass-card{border:3px solid #495a9a;background:#0b1631;border-radius:0;box-shadow:4px 4px #22325c}
:root[data-look="arcade"] .pass-card.selected{border-color:#90ffab;box-shadow:4px 4px #90ffab}
:root[data-look="arcade"] .pass-card .look-day-icon{width:82px;height:82px;color:#a1ffab}
:root[data-look="arcade"] .pass-card-title{font-family:'Reppr Pixel',monospace;font-size:.9rem;color:#cdd7f7}
:root[data-look="arcade"] .pass-card.selected .pass-card-title{color:#90ffab}
:root[data-look="arcade"] .exercise,:root[data-look="arcade"] .session-head{border:2px solid #4b5f9d;box-shadow:4px 4px #273d77}
:root[data-look="arcade"] .look-exercise-icon{border-radius:0;border:0;box-shadow:none;background:transparent;width:64px;height:64px;padding:0}
:root[data-look="arcade"] #session-action{background:#ff8c77;color:#070f29;border-radius:0;box-shadow:4px 4px #872e33;font-family:'Reppr Pixel',monospace;font-size:.75rem}
:root[data-look="redline"] .look-hero h2{font-size:clamp(3.5rem,8vw,6.8rem);color:#fff;font-style:italic;text-shadow:0 3px #590908}
:root[data-look="redline"] .look-hero h2::first-line{color:#fefbfb}
:root[data-look="redline"] .pass-card{border:1px solid #777;background:linear-gradient(155deg,#171a19,#080d0c);border-radius:0;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%)}
:root[data-look="redline"] .pass-card.selected{border:3px solid #ff2b2f;background:linear-gradient(155deg,#351215,#080d0c)}
:root[data-look="redline"] .pass-card-title{font-style:italic;text-transform:uppercase;font-size:1.9rem}
:root[data-look="redline"] .look-day-icon{width:76px;height:76px;color:#aaa}
:root[data-look="redline"] .session-head{border-top:3px solid #ff3334}
:root[data-look="redline"] .exercise{background:linear-gradient(130deg,#171a19,#111111);border-radius:0;border-color:#454745}
:root[data-look="redline"] .session-footer{border:1px solid #ff2d2c;background:linear-gradient(120deg,#171717 60%,#661619)}
:root[data-look="redline"] #session-action{font-family:Impact,sans-serif;text-transform:uppercase;font-style:italic;font-size:1.3rem;clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);border-radius:0}
:root[data-look="solar"] .look-hero h2{font-size:clamp(3.5rem,8vw,6.8rem);color:#ffe355;text-shadow:2px 2px #311127}
:root[data-look="solar"] .pass-card{border-radius:12px;border:1px solid #704256;background:#301529}
:root[data-look="solar"] .pass-card-title{font-style:italic;font-size:2rem}
:root[data-look="solar"] .pass-card.selected{background:linear-gradient(125deg,#ffe758,#ffc528);color:#251021;border:1px solid #ffc528}
:root[data-look="solar"] .pass-card.selected small,:root[data-look="solar"] .pass-card.selected .look-day-icon{color:#251021}
:root[data-look="solar"] .pass-card.selected .pass-recency-fill{background:#d96027}
:root[data-look="solar"] .exercise{border-radius:12px;background:linear-gradient(140deg,#422039,#2b172b)}
:root[data-look="solar"] #session-action{background:linear-gradient(120deg,#ffe85b,#ffc525);border-radius:9px;font:1.2rem Impact,sans-serif}
:root[data-look="night"] .look-hero h2{font-size:clamp(3rem,6vw,5rem);font-weight:900;color:#fff;letter-spacing:-2px}
:root[data-look="night"] .pass-choice h2{color:#d6fc55;font-size:3rem;font-weight:900}
:root[data-look="night"] .pass-card{border-radius:10px;background:#101813b8;border-color:#48534b}
:root[data-look="night"] .pass-card.selected{border:2px solid #d0fc50;box-shadow:0 0 14px #cafa5545}
:root[data-look="night"] .pass-card-title{font-size:1.6rem;font-weight:800}
:root[data-look="night"] .look-day-icon{opacity:.8}
:root[data-look="night"] .exercise{border-radius:12px;border-color:#3b4a40;background:#131c16}
:root[data-look="night"] #session-action{border-radius:30px;background:linear-gradient(130deg,#e1ff81,#b5ef30);color:#111b0b}
@media(max-width:680px){
 :root:not([data-look="original"]){--look-nav-height:74px}
 :root:not([data-look="original"]) .sidebar{position:fixed;top:auto;bottom:var(--look-footer-height);left:0;right:0;z-index:19;width:100%;height:74px;min-height:0;padding:0;border-top:1px solid var(--line);background:var(--dark)}
 :root:not([data-look="original"]) .sidebar>.brand,:root:not([data-look="original"]) .sidebar>.nav-label,:root:not([data-look="original"]) .sidebar>.sidebar-bottom{display:none}
 :root:not([data-look="original"]) .sidebar nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;height:100%;gap:0}
 :root:not([data-look="original"]) .sidebar .nav-item{padding:8px 4px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;border-radius:0;box-shadow:none;border:0;background:transparent;color:var(--muted);position:relative}
 :root:not([data-look="original"]) .sidebar .nav-item>.look-nav-label{font-family:'Segoe UI',sans-serif;font-size:.75rem;font-weight:600}
 :root:not([data-look="original"]) .sidebar .nav-item.active{color:var(--green)}
 :root:not([data-look="original"]) .sidebar .nav-item.active::after{content:'';position:absolute;bottom:0;left:20%;right:20%;height:3px;background:var(--green)}
 :root:not([data-look="original"]) .sidebar .nav-item[data-view="achievements"],:root:not([data-look="original"]) .sidebar .nav-item[data-view="settings"]{display:none}
 :root:not([data-look="original"]) .sidebar .nav-item[data-view="history"]{order:1}
 :root:not([data-look="original"]) .sidebar .nav-item[data-view="insights"]{order:2}
 :root:not([data-look="original"]) .topbar{padding:10px 16px 15px;min-height:70px;position:relative;align-items:center;gap:8px}
 :root:not([data-look="original"]) .look-mast-brand{width:150px;height:48px;margin-right:auto}
 :root:not([data-look="original"]) #header-username{font-size:13px;flex:none;max-width:85px;overflow-wrap:anywhere}
 :root:not([data-look="original"]) .account-bar{width:auto;display:flex;flex:none;gap:0}
 :root:not([data-look="original"]) #sync-status{right:16px;top:auto;bottom:0;font-size:9px;max-width:calc(100% - 32px)}
 :root:not([data-look="original"]) #account-button{min-width:30px;min-height:30px;width:30px;height:30px;padding:1px}
 :root:not([data-look="original"]) #account-button .look-icon{width:23px;height:23px}
 :root:not([data-look="original"]) .look-settings-button{min-width:26px;min-height:30px;width:26px;padding:0}
 :root:not([data-look="original"]) .look-settings-button .look-icon{width:23px;height:23px}
 :root:not([data-look="original"]) #main{padding:10px 16px calc(var(--look-footer-height) + var(--look-nav-height) + 90px)}
 :root:not([data-look="original"]) .look-hero,:root:not([data-look="original"]) .look-hero-content{min-height:250px}
 :root:not([data-look="original"]) .look-hero-content{padding:25px 8px 20px;max-width:70%}
 :root:not([data-look="original"]) .look-hero h2{font-size:3.25rem;line-height:1.03;letter-spacing:0}
 :root:not([data-look="original"]) .look-hero .eyebrow{font-size:.6rem}
 :root:not([data-look="original"]) .pass-choice{padding:18px 0 22px;margin-bottom:12px}
 :root:not([data-look="original"]) .pass-choice h2{font-size:2.1rem}
 :root:not([data-look="original"]) .pass-choice .note{font-size:.8rem}
 :root:not([data-look="original"]) .pass-cards{gap:8px;margin-top:18px}
 :root:not([data-look="original"]) .pass-card{min-height:168px;padding:14px 8px 12px;gap:10px;overflow:hidden}
 :root:not([data-look="original"]) .pass-card-title{font-size:1.1rem}
 :root:not([data-look="original"]) .pass-card .look-day-icon{height:54px;width:54px;margin-bottom:18px}
 :root:not([data-look="original"]) .pass-card small{font-size:.65rem}
 :root:not([data-look="original"]) .pass-card::after{left:10px;right:10px;bottom:34px}
 :root:not([data-look="original"]) .pass-card>.pass-recency-fill{bottom:35px;left:10px;width:calc((100% - 20px) * var(--recency-ratio))}
 :root:not([data-look="original"]) .recency-explanation{font-size:.68rem;margin-top:12px}
 :root:not([data-look="original"]) .session-head{padding:16px 0}
 :root:not([data-look="original"]) .work-grid{display:block}
 :root:not([data-look="original"]) .work-aside{display:none}
 :root:not([data-look="original"]) .exercise summary{padding:16px 12px;gap:12px}
 :root:not([data-look="original"]) .look-exercise-icon{width:44px;height:48px;min-width:44px;padding:4px}
 :root:not([data-look="original"]) .exercise summary h3{font-size:.95rem}
 :root:not([data-look="original"]) .session-footer{left:0;right:0;padding:12px 14px calc(12px + env(safe-area-inset-bottom));min-height:76px;gap:8px}
 :root:not([data-look="original"]) .footer-session{width:auto;flex:1;gap:8px;flex-wrap:nowrap}
 :root:not([data-look="original"]) .look-footer-icon{width:28px;height:32px}
 :root:not([data-look="original"]) .footer-session>strong{font-size:1rem}
 :root:not([data-look="original"]) .footer-session>span{font-size:.7rem;margin-left:auto}
 :root:not([data-look="original"]) .footer-actions{width:auto;flex:1.2;gap:6px}
 :root:not([data-look="original"]) #session-action{padding:10px 12px;min-height:48px;font-size:.95rem;white-space:nowrap}
 :root:not([data-look="original"]) .footer-actions:has(#session-pause){flex-basis:100%}
 :root:not([data-look="original"]) .footer-session:has(+.footer-actions #session-pause){flex-basis:100%}
 :root:not([data-look="original"]) #rest{bottom:calc(var(--look-footer-height) + var(--look-nav-height) + 12px)}
 :root:not([data-look="original"]) #notice{bottom:calc(var(--look-footer-height) + var(--look-nav-height) + 92px)}
 :root[data-look="arcade"] .look-hero h2{font-size:1.9rem;line-height:1.35}
 :root[data-look="arcade"] .pass-choice h2{font-size:1.6rem}
 :root[data-look="arcade"] .pass-card-title{font-size:.65rem}
 :root[data-look="arcade"] #session-action{font-size:.65rem}
 :root[data-look="iron"] .look-hero h2,:root[data-look="redline"] .look-hero h2,:root[data-look="solar"] .look-hero h2{font-size:3.6rem}
 :root[data-look="iron"] .look-stamp{width:65px;height:65px;font-size:12px;padding:12px 0;right:8px;bottom:4px;letter-spacing:2px}
 :root[data-look="iron"] .pass-card-title,:root[data-look="redline"] .pass-card-title,:root[data-look="solar"] .pass-card-title{font-size:1.45rem}
 :root[data-look="night"] .look-hero h2{font-size:3rem}
 :root[data-look="night"] .pass-card-title{font-size:1.2rem}
}

@font-face{font-family:'Reppr Anton';src:url('fonts/Anton.ttf') format('truetype');font-display:swap}@font-face{font-family:'Reppr Racing';src:url('fonts/Racing.ttf') format('truetype');font-display:swap}@font-face{font-family:'Reppr Marker';src:url('fonts/Marker.ttf') format('truetype');font-display:swap}
:root[data-look="synthwave"]{--display:'Reppr Racing',Impact,sans-serif}:root[data-look="synthwave"] .look-hero h2{font-family:'Reppr Marker',Impact,sans-serif;font-size:3.8rem;line-height:1.06}:root[data-look="iron"]{--display:'Reppr Anton',Impact,sans-serif}:root[data-look="iron"] .pass-card-title,:root[data-look="iron"] .exercise summary h3,:root[data-look="iron"] #session-action{font-family:'Reppr Anton',Impact,sans-serif}:root[data-look="redline"],:root[data-look="solar"]{--display:'Reppr Racing',Impact,sans-serif}:root[data-look="redline"] .pass-card-title,:root[data-look="solar"] .pass-card-title,:root[data-look="redline"] #session-action,:root[data-look="solar"] #session-action{font-family:'Reppr Racing',Impact,sans-serif}
:root[data-look="iron"] .pass-card::before,:root[data-look="redline"] .pass-card::before{content:'';position:absolute;inset:0;z-index:-1;background-image:var(--card-image);background-position:center;background-size:cover;filter:grayscale(1);opacity:.15}
:root[data-look="iron"] .pass-card,:root[data-look="redline"] .pass-card{isolation:isolate}
:root[data-look="night"] .pass-card .look-day-icon{position:absolute;right:8px;top:12px;width:24px;height:24px;opacity:.45;margin:0}:root[data-look="night"] .pass-card{min-height:155px;justify-content:space-between}:root[data-look="night"] .pass-card-title{justify-content:flex-start}:root[data-look="night"] .pass-card small{margin-top:30px}
@media(max-width:680px){:root[data-look="synthwave"] .look-hero h2{font-size:2.8rem}:root[data-look="redline"] .look-hero h2,:root[data-look="solar"] .look-hero h2{font-size:2.9rem}:root[data-look="iron"] .look-hero h2{font-size:3.3rem}:root:not([data-look="original"]) .footer-session>span{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.85rem}:root[data-look="night"] .pass-card{min-height:143px}:root[data-look="night"] .pass-card-title{font-size:1.15rem}}


:root:not([data-look="original"]) .pass-card small{position:absolute;bottom:14px;left:8px;right:8px;margin:0;line-height:1.2}@media(max-width:680px){:root:not([data-look="original"]) .pass-card small{bottom:12px}}
/* Scene compositions restored from the original concept boards. */
:root:not([data-look="original"]) .workspace{position:relative;isolation:isolate}
:root:not([data-look="original"])[data-view="pass"] .workspace::before{content:'';position:absolute;inset:0 0 auto;height:650px;z-index:-1;background-image:linear-gradient(0deg,var(--bg),transparent 24%),var(--scene-image);background-position:center top;background-size:cover;pointer-events:none}
:root:not([data-look="original"])[data-view="pass"] .topbar{background:transparent}
:root:not([data-look="original"]) .look-hero::before,:root:not([data-look="original"]) .look-hero::after{display:none}
:root:not([data-look="original"]) .look-hero{overflow:visible;min-height:285px;box-shadow:none}
:root:not([data-look="original"]) .look-hero-content{min-height:285px;padding:25px 0;max-width:75%}
:root:not([data-look="original"]) .look-hero .eyebrow:empty{display:none}
:root:not([data-look="original"]) .look-hero h2{text-transform:uppercase}
:root:not([data-look="original"]) .pass-choice>.row{position:relative;min-height:110px}
:root:not([data-look="original"]) .pass-choice>.row>div{position:relative;z-index:1}
.arcade-sprite{image-rendering:pixelated;overflow:hidden}
:root[data-look="synthwave"] .look-hero h2 span:last-child{color:#70f7ff}
:root[data-look="synthwave"] .look-hero h2{font-family:'Reppr Marker',Impact,sans-serif}
:root[data-look="iron"] .look-hero h2{font-family:'Reppr Anton',Impact,sans-serif;letter-spacing:.01em}
:root[data-look="iron"] .pass-choice>.row{border:1px solid #797971;padding:16px;background:#10100e66}
:root[data-look="iron"] .pass-choice .eyebrow{color:#ff6559}
:root[data-look="iron"] .pass-card{background-image:linear-gradient(#10100e70,#10100ede),var(--card-image);background-size:cover;background-position:center}
:root[data-look="redline"] .look-hero h2 span:last-child{color:#ff3339}
:root[data-look="redline"] .topbar{border-bottom:1px solid #fa333755}
:root[data-look="solar"] .look-hero h2{font-family:'Reppr Anton',Impact,sans-serif;font-style:normal;color:#fff3d4;text-shadow:1px 2px #652f2766}
:root[data-look="solar"] .look-hero h2 span:last-child{color:#ffeb69}
:root[data-look="solar"] .pass-card .look-day-icon{display:none}
:root[data-look="solar"] .pass-card{min-height:145px;align-items:flex-start;text-align:left}
:root[data-look="solar"] .pass-card-title{justify-content:flex-start;font-family:'Reppr Anton',Impact,sans-serif;font-style:normal}
:root[data-look="solar"] .pass-card.selected{background:#fddb4e}
:root[data-look="night"] .look-hero h2::after{content:'';display:block;width:90px;height:5px;border-radius:8px;margin-top:16px;background:#d1fc55}
:root[data-look="night"] .pass-card{min-height:150px;align-items:flex-start}
:root[data-look="night"] .pass-card-title{justify-content:flex-start}
:root[data-look="night"] .pass-card .look-day-icon{position:absolute;right:14px;top:57px;width:40px;height:40px;color:#869189}
:root[data-look="arcade"]{--bg:#030f2b;--paper:#07142e;--dark:#030e28}
:root[data-look="arcade"] .workspace{border:2px solid #485baf;margin-top:10px;margin-right:10px;margin-bottom:10px;box-shadow:inset 3px 3px #1a2854}
:root[data-look="arcade"] .look-hero-content{max-width:100%;justify-content:center}
:root[data-look="arcade"] .look-hero h2{font-size:clamp(2rem,5vw,4.5rem);line-height:1.2;letter-spacing:-.045em;color:#89ffa0;text-shadow:3px 3px #132451}
:root[data-look="arcade"] .look-hero h2 span:last-child{color:#f5f7ff}
:root[data-look="arcade"] .look-hero .eyebrow{color:#ff8b80;font-size:24px;letter-spacing:9px;margin-bottom:20px}
:root[data-look="arcade"] .pass-choice>.row{background:#05112caa;border:3px solid #89ffa0;box-shadow:3px 3px #33498a;padding:14px}
:root[data-look="arcade"] .pass-choice>.row>div{max-width:68%}
:root[data-look="arcade"] .pass-choice .eyebrow{font-family:'Reppr Pixel',monospace;font-size:12px;color:#89ffa0;line-height:1.5}
:root[data-look="arcade"] .pass-choice h2{font-size:3.7rem;line-height:1.3;margin:8px 0;color:#ff7972;text-shadow:none}
:root[data-look="arcade"] .pass-choice .note{font-size:12px;line-height:1.4;margin:0}
:root[data-look="arcade"] .pass-card{background:#05122a;border-color:#4b5cb1;box-shadow:3px 3px #273963;gap:8px;min-height:250px}
:root[data-look="arcade"] .pass-card.selected{border-color:#88ffa5;background:#061c28;box-shadow:3px 3px #88ffa5}
:root[data-look="arcade"] .pass-card .look-day-icon{height:128px;width:95%;margin:0}
:root[data-look="arcade"] .pass-card-title{font-size:1.25rem}
:root[data-look="arcade"] .pass-card>.pass-recency-fill{height:10px!important;bottom:45px}
:root[data-look="arcade"] .pass-card::after{height:12px;bottom:44px;border-color:#8aeebc}
@media(max-width:680px){
 :root:not([data-look="original"])[data-view="pass"] .workspace::before{height:440px;background-size:100% auto;background-repeat:no-repeat}
 :root:not([data-look="original"]) #main{padding-top:0}
 :root:not([data-look="original"]) .look-hero,:root:not([data-look="original"]) .look-hero-content{min-height:180px}
 :root:not([data-look="original"]) .look-hero-content{padding:12px 0 8px;justify-content:center}
 :root:not([data-look="original"]) .look-hero h2{font-size:3.3rem;line-height:1.07;margin:0}
 :root:not([data-look="original"]) .pass-choice{padding-top:0}
 :root:not([data-look="original"]) .pass-choice>.row{min-height:87px}
 :root:not([data-look="original"]) .pass-cards{margin-top:16px}
 :root[data-look="iron"] .look-hero h2{font-size:3.7rem}
 :root[data-look="iron"] .pass-choice>.row{padding:12px}
 :root[data-look="solar"] .pass-card,:root[data-look="night"] .pass-card{min-height:122px}
 :root[data-look="solar"] .pass-card-title{font-size:1.5rem}
 :root[data-look="night"] .pass-card .look-day-icon{top:42px;right:10px;width:30px;height:30px}
 :root[data-look="arcade"] .workspace{margin:7px;border-width:2px}
 :root[data-look="arcade"] #main{padding-left:10px;padding-right:10px}
 :root[data-look="arcade"] .topbar{padding-left:8px;padding-right:8px}
 :root[data-look="arcade"] .look-mast-brand{width:140px}
 :root[data-look="arcade"] .look-hero,:root[data-look="arcade"] .look-hero-content{min-height:161px}
 :root[data-look="arcade"] .look-hero h2{font-size:clamp(1.45rem,7.2vw,2.8rem);line-height:1.3;letter-spacing:-.055em}
 :root[data-look="arcade"] .look-hero .eyebrow{margin-bottom:14px;font-size:16px}
 :root[data-look="arcade"] .pass-choice>.row{padding:10px;min-height:106px}
 :root[data-look="arcade"] .pass-choice .eyebrow{font-size:8px}
 :root[data-look="arcade"] .pass-choice h2{font-size:2rem;margin:5px 0}
 :root[data-look="arcade"] .pass-choice .note{font-size:10px;max-width:185px}
 :root[data-look="arcade"] .pass-card{min-height:162px;padding:12px 4px 10px}
 :root[data-look="arcade"] .pass-card-title{font-size:11px}
 :root[data-look="arcade"] .pass-card-title>span{display:none}
 :root[data-look="arcade"] .pass-card .look-day-icon{height:76px;width:95%;margin:0}
 :root[data-look="arcade"] .pass-card>.pass-recency-fill{height:7px!important;bottom:33px}
 :root[data-look="arcade"] .pass-card::after{height:9px;bottom:32px}
 :root[data-look="arcade"] .pass-card small{font-size:10px}
}

@media(max-width:680px){:root[data-look='arcade'] .look-hero h2{font-size:clamp(1.8rem,9.4vw,2.8rem)} :root[data-look='arcade'] #account-button{border:0}}


:root[data-look="arcade"][data-view="pass"] .workspace::before{background-image:var(--scene-image);background-size:100% 100%;height:440px}
@media(max-width:680px){:root[data-look="arcade"][data-view="pass"] .workspace::before{height:245px}}
/* Mockup finish: separate edge light, bloom, surface depth and highlight layers. */
:root[data-look="synthwave"]{--bg:#07041b;--paper:#080921;--muted:#aca7d8}
:root[data-look="synthwave"] .look-mast-brand{filter:drop-shadow(0 0 3px #bfbbff60) drop-shadow(0 0 12px #d33ce848)}
:root[data-look="synthwave"] #account-button{border-color:#fa70ed;color:#aaf6ff;box-shadow:0 0 3px #ffa5f8,inset 0 0 9px #874bf840,0 0 12px #ec4bd960;background:radial-gradient(circle at 50% 35%,#162b5c80,#100d32a0)}
:root[data-look="synthwave"] .look-hero h2{color:#ff3ecd;text-shadow:none;filter:drop-shadow(1px 2px 0 #7b006d) drop-shadow(0 0 4px #ff29c9) drop-shadow(0 0 12px #e000a96b)}
:root[data-look="synthwave"] .look-hero h2 span{background:linear-gradient(172deg,#fff0fd 0%,#ff89e8 16%,#ff42cd 45%,#e718ac 75%,#ff8aee 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
:root[data-look="synthwave"] .look-hero h2 span:last-child{background-image:linear-gradient(170deg,#f0ffff 0%,#67f9ff 24%,#1bdbff 64%,#119ddc 90%,#c3fcff);filter:drop-shadow(0 0 5px #0ce7ff80)}
:root[data-look="synthwave"] .pass-choice h2{color:#ff37ce;text-shadow:0 0 9px #e919ac77}
:root[data-look="synthwave"] .pass-card{border:0;border-radius:0;clip-path:none;overflow:visible;background:var(--neon-frame);background-size:100% 100%;box-shadow:none;filter:none;--green:#ff24ce}
:root[data-look="synthwave"] .pass-card.selected{border:0;background-image:var(--neon-frame-selected);box-shadow:none;filter:drop-shadow(0 0 2px #ff3ed9) drop-shadow(0 0 8px #ff23c898) drop-shadow(0 0 17px #a6079150)}
:root[data-look="synthwave"] .pass-card .look-day-icon{filter:drop-shadow(0 0 2px currentColor);color:var(--green)}
:root[data-look="synthwave"] .pass-card-title{font-family:'Segoe UI',sans-serif;font-style:normal;font-weight:700;color:#eeeefe;text-shadow:0 0 4px #989bff44}
:root[data-look="synthwave"] .pass-card>.pass-recency-fill{background:linear-gradient(180deg,#ff58df,#f716c2 70%,#d510b5);box-shadow:inset 0 1px #ffabe670,0 0 6px #e924ba40}
:root[data-look="synthwave"] .pass-card[data-day="pull"]>.pass-recency-fill{background:linear-gradient(180deg,#60eeff,#19c9f1 72%,#2b9bea);box-shadow:inset 0 1px #b9ffff80,0 0 6px #00d4ff30}
:root[data-look="synthwave"] .pass-card::after{border-color:#ad43b999;background:linear-gradient(180deg,#55477a36,#201a3a20);box-shadow:inset 0 1px 2px #030516}

:root[data-look="synthwave"] .session-head{border:0;background:transparent;box-shadow:none}
:root[data-look="synthwave"] .exercise{background:linear-gradient(125deg,#0a14309c,#0a062699);border-color:#344577;box-shadow:inset 0 1px #667abc1c}
:root[data-look="synthwave"] .look-exercise-icon{background:linear-gradient(140deg,#252353,#180e31);border-color:#f157d5;box-shadow:inset 0 0 6px #ec1bcf3b,0 0 6px #ec1bcf45}
:root[data-look="synthwave"] .session-footer{border:1px solid transparent;background:linear-gradient(110deg,#060c25,#0d0521) padding-box,linear-gradient(120deg,#55ddff,#a276e1 30%,#ff4cde 75%,#ffd2fa) border-box;box-shadow:inset 0 0 0 2px #39205999,0 0 7px #da2ec756,0 -3px 15px #de2bbb33}
:root[data-look="synthwave"] #session-action{background:linear-gradient(125deg,#f812d1 0%,#ff29d6 46%,#ec0ebd 100%);box-shadow:inset 0 1px #ffb1ed,inset 0 -2px #9e0c9190;color:#090314}
:root[data-look="synthwave"] #session-clock{color:#bdd2f6;text-shadow:0 0 7px #76a7e84a}
:root[data-look="synthwave"] .sidebar .nav-item.active{color:#ff42d1;text-shadow:0 0 8px #ff40cf85}
:root[data-look="synthwave"] .sidebar .nav-item.active .look-icon{filter:drop-shadow(0 0 4px #ff40cf95)}
:root[data-look="synthwave"] .sidebar .nav-item.active::after{background:#ff2fce;box-shadow:0 0 6px #ff55d6,0 0 13px #ff20c670}

:root[data-look="arcade"] .look-hero h2{filter:none;text-shadow:none}
:root[data-look="arcade"] .look-hero h2 span{background:linear-gradient(180deg,#b9ffc4,#91ffa5 40%,#70ef86 88%,#b2ffbb);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(2px 2px 0 #263d78)}
:root[data-look="arcade"] .look-hero h2 span:last-child{background-image:linear-gradient(180deg,#fff,#e6e9fd 62%,#a9b4e4)}
:root[data-look="arcade"] .pass-choice>.row{background:linear-gradient(115deg,#06142ed9,#03112bd9 67%,#132544a0);border-color:#8dffa5;box-shadow:2px 0 #395b99,-2px 0 #395b99,0 2px #395b99,inset 0 0 0 1px #36515a,inset 0 -1px #beffc950}
:root[data-look="arcade"] .pass-choice h2{color:#ff786c;background:linear-gradient(180deg,#ff9683,#ff6a60 80%,#fb8072);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
:root[data-look="arcade"] .pass-card{border-color:#4c60b2;background:linear-gradient(145deg,#06112a,#07142e 65%,#061024);box-shadow:2px 2px 0 #253771,inset 1px 1px #8492d826,inset -1px -1px #08102e}
:root[data-look="arcade"] .pass-card.selected{border-color:#8cff9f;background:radial-gradient(ellipse at bottom,#0b413945,#041229 75%);box-shadow:2px 2px 0 #8aff9f,inset 0 0 0 1px #c0ffd39c,inset 0 -12px 23px #3cd79b10}
:root[data-look="arcade"] .pass-card>.pass-recency-fill{background:linear-gradient(180deg,#b8ffbd 0%,#8dffa1 25%,#71f591 80%,#a1ffac);box-shadow:inset 0 1px #d6ffce9c,inset 1px 0 #d6ffce60}
:root[data-look="arcade"] .pass-card::after{border-color:#a0e9cf;background:linear-gradient(180deg,#06142c40,#04111e90);box-shadow:inset 0 1px 2px #030918,0 1px #071c43}
:root[data-look="arcade"] .work-grid>div:first-child{padding:12px;border:2px solid #4c60ac;box-shadow:3px 3px 0 #213466,inset 1px 1px #7d8fd642;background:linear-gradient(135deg,#08152f88,#030d2299)}
:root[data-look="arcade"] .session-head{border:0;box-shadow:none}
:root[data-look="arcade"] .session-footer{background:linear-gradient(120deg,#06112d,#020c23);border:2px solid #536bdd;box-shadow:inset 0 0 0 2px #121e46}
:root[data-look="arcade"] #session-action{background:linear-gradient(145deg,#ff9480,#ff786b 45%,#ff5d57);box-shadow:inset 0 2px #ffba9f80,inset 0 -2px #cb433e,3px 3px #842e3a;color:#030817}
:root[data-look="arcade"] #session-clock{color:#8aff9d;font-family:'Reppr Pixel',monospace;text-shadow:1px 1px #246253}

:root[data-look="iron"] body{background-image:radial-gradient(#f8efd80b .55px,transparent .85px);background-size:4px 5px}
:root[data-look="iron"] .look-hero h2{color:#e8e5d9;text-shadow:1px 2px #111}
:root[data-look="iron"] .pass-choice>.row{border-color:#a09f9777;box-shadow:inset 0 1px #eee7d428;background-color:#08090766}
:root[data-look="iron"] .pass-card{border-color:#96948c;box-shadow:inset 0 1px #d2cfcf24,0 1px #0009}
:root[data-look="iron"] .pass-card.selected{border-color:#e73933;box-shadow:inset 0 0 0 1px #641918}
:root[data-look="iron"] .pass-card>.pass-recency-fill{background:linear-gradient(180deg,#efecdf,#d9d5c6);box-shadow:none}
:root[data-look="iron"] .pass-card::after{border-color:#d1cec4a0;background:#090a0770}
:root[data-look="iron"] .session-footer{border:2px solid #b9342e;background:radial-gradient(#e5ddcb13 .6px,transparent .8px),linear-gradient(130deg,#151512,#090a08);background-size:4px 5px,100% 100%;box-shadow:inset 0 0 0 1px #10110d}
:root[data-look="iron"] #session-action{background:linear-gradient(145deg,#f14b3f,#df372f 70%,#c52c29);color:#0e0b09;box-shadow:inset 0 1px #fb88715c,inset 0 -2px #8a211d60}
:root[data-look="iron"] .sidebar .nav-item.active{color:#ee443a}
:root[data-look="iron"] .sidebar .nav-item.active::after{background:#e93c33}

:root[data-look="redline"]{--bg:#070a09;--dark:#050807;--paper:#0a0d0c}
:root[data-look="redline"] .look-hero h2{text-shadow:0 2px 0 #090b0a}
:root[data-look="redline"] .look-hero h2 span:last-child{color:#ff171f}
:root[data-look="redline"] .pass-choice h2{color:#fff}
:root[data-look="redline"] .pass-card{background:linear-gradient(140deg,#141a188c,#050907d9 68%);border-color:#5f6d6580;box-shadow:inset 0 1px #cfdfd012}
:root[data-look="redline"] .pass-card.selected{border-color:#ff252c;background:linear-gradient(145deg,#101714,#070b09);box-shadow:inset 0 0 0 1px #9b151b}
:root[data-look="redline"] .pass-card>.pass-recency-fill{background:linear-gradient(180deg,#ff4143,#ff171f 65%,#e71921);box-shadow:inset 0 1px #ffb0a344}
:root[data-look="redline"] .pass-card::after{border-color:#a1aaa282;background:linear-gradient(#11181366,#060b07);box-shadow:inset 0 1px 2px #000}
:root[data-look="redline"] .exercise{background:linear-gradient(130deg,#1319168a,#060a08d0);border-color:#424b466e}
:root[data-look="redline"] .session-footer{border:1px solid #6570696b;background:linear-gradient(130deg,#090e0b,#040705);box-shadow:inset 0 1px #d0e4d30b}
:root[data-look="redline"] #session-action{background:linear-gradient(120deg,#fa1e27,#ee0713 65%,#d60814);color:#fff;box-shadow:inset 0 1px #ff747670}
:root[data-look="redline"] #session-clock{color:#bfc4c0}

:root[data-look="solar"]{--bg:#210d1b;--paper:#271120;--dark:#1b0c18}
:root[data-look="solar"] .look-hero h2 span:last-child{color:#ffdc25;text-shadow:0 1px #ffb71050}
:root[data-look="solar"] .look-hero h2::after{content:'';display:block;width:36px;height:6px;border-radius:5px 1px;margin-top:10px;background:linear-gradient(90deg,#ffeb52,#ffce23)}
:root[data-look="solar"] .pass-choice h2{color:#fff7ef;font-style:normal}
:root[data-look="solar"] .pass-card{background:radial-gradient(ellipse at top left,#43203260,#1e0d1c 80%);border-color:#6e405b80;box-shadow:inset 0 1px #ce8bac0d}
:root[data-look="solar"] .pass-card.selected{background:linear-gradient(135deg,#ffe85a 0%,#ffcd23 43%,#ffd92d 82%,#ffd43f);border-color:#ffdb4666;box-shadow:inset 0 1px #fff0a157,inset 0 -1px #c9833026;color:#250d1c}
:root[data-look="solar"] .pass-card>.pass-recency-fill{background:linear-gradient(90deg,#ff4d22 0%,#ff8a24 45%,#ffd52f 100%);box-shadow:inset 0 1px #ffed9540}
:root[data-look="solar"] .pass-card[data-day="pull"]>.pass-recency-fill{background:linear-gradient(180deg,#ffe453,#ffc529)}
:root[data-look="solar"] .pass-card.selected>.pass-recency-fill{background:linear-gradient(90deg,#ff721d,#ffae25)}
:root[data-look="solar"] .pass-card::after{border:0;background:#ad789930;box-shadow:inset 0 1px #1a081433}
:root[data-look="solar"] .pass-card.selected::after{background:#77552652}
:root[data-look="solar"] .work-grid>div:first-child{padding:16px;border:1px solid #74485f80;border-radius:13px;background:radial-gradient(ellipse at top left,#50263e20,#1c0b1780);box-shadow:inset 0 1px #f5b8d50b}
:root[data-look="solar"] .session-head{border:0}
:root[data-look="solar"] .exercise{background:linear-gradient(120deg,#3f2033a0,#26102380);box-shadow:none;border-color:#65384e80}
:root[data-look="solar"] .session-footer{background:linear-gradient(120deg,#210c1d,#190b17);border:1px solid #72425b80;box-shadow:inset 0 1px #e6a0c10d}
:root[data-look="solar"] #session-action{background:linear-gradient(120deg,#ffdf35 0%,#ffd22d 66%,#ffa72c);box-shadow:inset 0 1px #fff38b60;color:#210d1b;border-radius:18px}
:root[data-look="solar"] #session-clock{color:#fff2dc}

:root[data-look="night"]{--bg:#080c0d;--paper:#0e1315;--dark:#080c0d;--green:#cefa55;--muted:#a6adb7}
:root[data-look="night"] .look-hero h2{text-transform:none;color:#f5f7ff;text-shadow:0 2px 8px #01030538}
:root[data-look="night"] .look-hero h2::after{width:38px;background:linear-gradient(#dcff7b,#baf332);box-shadow:0 0 4px #b8ff391c}
:root[data-look="night"] .pass-card{background:radial-gradient(ellipse at top,#1c242944,#080c0ecc);border-color:#46505280;box-shadow:inset 0 1px #b9c3cf18}
:root[data-look="night"] .pass-card.selected{border-color:#d3fc60;background:radial-gradient(ellipse at bottom right,#39461c24,#0b1112b8 75%);box-shadow:0 0 4px #cafa5545,0 0 12px #cafa5526,inset 0 0 6px #d0ff5029}
:root[data-look="night"] .pass-card>.pass-recency-fill{background:linear-gradient(180deg,#e1ff80,#c5f545 65%,#bbed3e);box-shadow:inset 0 1px #eaffb470}
:root[data-look="night"] .pass-card::after{border:0;background:#747d873a;box-shadow:inset 0 1px #04080a60}
:root[data-look="night"] .work-grid>div:first-child{padding:16px;border:1px solid #5962692f;border-radius:15px;background:radial-gradient(ellipse at top left,#19212480,#0b1011b0);box-shadow:inset 0 1px #c3cad80a}
:root[data-look="night"] .session-head{border:0}
:root[data-look="night"] .exercise{background:linear-gradient(130deg,#11191b66,#0b1012a0);border-color:#4e5a6260;box-shadow:inset 0 1px #b9c3d009}
:root[data-look="night"] .session-footer{background:linear-gradient(120deg,#0c1113,#070b0c);border:1px solid #59636940;box-shadow:inset 0 1px #c3cad809}
:root[data-look="night"] #session-action{background:linear-gradient(115deg,#ddff78,#caff42 75%,#c5f646);box-shadow:inset 0 1px #edffa46e;color:#070c05}
:root[data-look="night"] #session-clock{color:#f7f8ff}

@media(max-width:680px){
 :root[data-look="synthwave"] .sidebar{background:linear-gradient(110deg,#050a22,#0c0620);border-top-color:#93449466}
 :root[data-look="solar"] .sidebar{background:linear-gradient(110deg,#220e1d,#1b0c18)}
 :root[data-look="night"] .sidebar{background:linear-gradient(110deg,#0b1113,#080b0d)}
 :root[data-look="arcade"] #session-clock{font-size:.65rem}
 :root[data-look="solar"] .work-grid>div:first-child,:root[data-look="night"] .work-grid>div:first-child{padding:12px 10px}
 :root[data-look="synthwave"] .work-grid .exercise summary,:root[data-look="solar"] .work-grid .exercise summary,:root[data-look="night"] .work-grid .exercise summary{padding-left:20px;padding-right:20px;gap:8px}
}

:root[data-look="synthwave"]{--neon-frame:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22120%22%20height%3D%22180%22%20viewBox%3D%220%200%20120%20180%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22surface%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%23110b2c%22%2F%3E%3Cstop%20offset%3D%22.55%22%20stop-color%3D%22%2306091e%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23140a2b%22%2F%3E%3C%2FlinearGradient%3E%3ClinearGradient%20id%3D%22edge%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%23fc26cb%22%2F%3E%3Cstop%20offset%3D%22.6%22%20stop-color%3D%22%23fc26cb%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%239d52ce%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M8%202%20H112%20L118%209%20V171%20L112%20178%20H8%20L2%20171%20V9%20Z%22%20fill%3D%22url(%23surface)%22%20stroke%3D%22url(%23edge)%22%20stroke-width%3D%221%22%20vector-effect%3D%22non-scaling-stroke%22%2F%3E%3C%2Fsvg%3E");--neon-frame-cyan:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22120%22%20height%3D%22180%22%20viewBox%3D%220%200%20120%20180%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22surface%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%23110b2c%22%2F%3E%3Cstop%20offset%3D%22.55%22%20stop-color%3D%22%2306091e%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23140a2b%22%2F%3E%3C%2FlinearGradient%3E%3ClinearGradient%20id%3D%22edge%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%230bdaff%22%2F%3E%3Cstop%20offset%3D%22.6%22%20stop-color%3D%22%230bdaff%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%239d52ce%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M8%202%20H112%20L118%209%20V171%20L112%20178%20H8%20L2%20171%20V9%20Z%22%20fill%3D%22url(%23surface)%22%20stroke%3D%22url(%23edge)%22%20stroke-width%3D%221%22%20vector-effect%3D%22non-scaling-stroke%22%2F%3E%3C%2Fsvg%3E");--neon-frame-selected:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22120%22%20height%3D%22180%22%20viewBox%3D%220%200%20120%20180%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22surface%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%23110b2c%22%2F%3E%3Cstop%20offset%3D%22.55%22%20stop-color%3D%22%2306091e%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23140a2b%22%2F%3E%3C%2FlinearGradient%3E%3ClinearGradient%20id%3D%22edge%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%23ff59dd%22%2F%3E%3Cstop%20offset%3D%22.6%22%20stop-color%3D%22%23ffb0ed%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23ff3dd7%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M8%202%20H112%20L118%209%20V171%20L112%20178%20H8%20L2%20171%20V9%20Z%22%20fill%3D%22url(%23surface)%22%20stroke%3D%22url(%23edge)%22%20stroke-width%3D%222.6%22%20vector-effect%3D%22non-scaling-stroke%22%2F%3E%3Cpath%20d%3D%22M9%204%20H111%20L116%2010%20V170%20L111%20176%20H9%20L4%20170%20V10%20Z%22%20fill%3D%22none%22%20stroke%3D%22%23ffd8f5%22%20stroke-width%3D%22.9%22%20vector-effect%3D%22non-scaling-stroke%22%2F%3E%3C%2Fsvg%3E")}
:root[data-look="iron"]{--iron-grain:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22128%22%20height%3D%22128%22%3E%3Cfilter%20id%3D%22grain%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%22.84%22%20numOctaves%3D%223%22%20stitchTiles%3D%22stitch%22%2F%3E%3CfeColorMatrix%20type%3D%22saturate%22%20values%3D%220%22%2F%3E%3CfeComponentTransfer%3E%3CfeFuncA%20type%3D%22linear%22%20slope%3D%22.13%22%2F%3E%3C%2FfeComponentTransfer%3E%3C%2Ffilter%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20filter%3D%22url(%23grain)%22%2F%3E%3C%2Fsvg%3E")}
:root[data-look="iron"] body{background-image:var(--iron-grain);background-size:128px 128px}
:root[data-look="iron"] .session-footer{background-image:var(--iron-grain),linear-gradient(130deg,#151512,#090a08);background-size:128px 128px,100% 100%}
/* Deep, responsive chamfers use nine-slice frames: content and focus stay unclipped. */
:root[data-look="synthwave"] body{isolation:isolate}
:root[data-look="synthwave"] body::after{content:'';position:fixed;left:248px;right:0;bottom:0;height:330px;z-index:-1;pointer-events:none;background-image:var(--wire-grid);background-size:100% 100%;background-repeat:no-repeat;opacity:.28;-webkit-mask-image:linear-gradient(180deg,transparent,#000 40%,#000b);mask-image:linear-gradient(180deg,transparent,#000 40%,#000b)}
:root[data-look="synthwave"] :is(.surface:not(.pass-choice),.superset-group,.look-option,dialog,.session-footer,.rest-bar,#notice,.previous){border:1px solid transparent;border-radius:0;background:none;box-shadow:none;border-image:var(--chamfer-panel) 20 fill / 20px / 0 stretch}

:root[data-look="synthwave"] .exercise{margin-bottom:14px}
:root[data-look="synthwave"] .exercise summary{padding-top:20px;padding-bottom:20px}
:root[data-look="synthwave"] .exercise::after{display:none}
:root[data-look="synthwave"] .previous{padding:16px}
:root[data-look="synthwave"] .look-option{padding:10px 8px 18px}
:root[data-look="synthwave"] .look-option[aria-pressed="true"]{border-image-source:var(--chamfer-hot);outline:0;filter:drop-shadow(0 0 5px #fa30d268)}
:root[data-look="synthwave"] .look-sample{clip-path:polygon(16px 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%,0 16px)}
:root[data-look="synthwave"] .pass-card,:root[data-look="synthwave"] .pass-card[data-day="pull"],:root[data-look="synthwave"] .pass-card.selected{border:1px solid transparent;clip-path:none;border-radius:0;background:none;border-image:var(--chamfer-pink) 20 fill / 18px / 0 stretch}
:root[data-look="synthwave"] .pass-card.selected{border-image-source:var(--chamfer-hot);filter:drop-shadow(0 0 2px #ff60df) drop-shadow(0 0 8px #fd24c583)}
:root[data-look="synthwave"] :is(button.primary:not(#account-button),button.secondary:not(#account-button),button.lime,#session-action){border:1px solid transparent;border-radius:0;clip-path:none;background:none;box-shadow:none;border-image:var(--chamfer-button) 20 fill / 13px / 0 stretch;padding-left:20px;padding-right:20px}
:root[data-look="synthwave"] :is(button.secondary:not(#account-button),button.lime){border-image-source:var(--chamfer-panel)}
:root[data-look="synthwave"] :is(input:not([type="checkbox"]),select){border:1px solid transparent;border-radius:0;background:none;box-shadow:none;border-image:var(--chamfer-input) 20 fill / 8px / 0 stretch}
:root[data-look="synthwave"] .session-footer{border-image-source:var(--chamfer-solid);border-image-width:19px;padding-top:18px;padding-bottom:calc(18px + env(safe-area-inset-bottom))}
:root[data-look="synthwave"] .session-footer::before{content:'';position:absolute;inset:0;z-index:0;background-image:var(--wire-grid);background-size:100% 200%;background-position:center bottom;opacity:.1;pointer-events:none;clip-path:polygon(20px 0,calc(100% - 20px) 0,100% 20px,100% calc(100% - 20px),calc(100% - 20px) 100%,20px 100%,0 calc(100% - 20px),0 20px)}
:root[data-look="synthwave"] .rest-bar,:root[data-look="synthwave"] #notice{border-image-source:var(--chamfer-cyan)}
:root[data-look="synthwave"] button:focus-visible,:root[data-look="synthwave"] .look-option:focus-visible{outline:2px solid #9bf8ff;outline-offset:4px}
@media(max-width:1150px){:root[data-look="synthwave"] body::after{left:205px}}
@media(max-width:680px){
 :root[data-look="synthwave"] body::after{left:0;height:320px}
 
 :root[data-look="synthwave"] .exercise summary{padding:18px 12px}
 :root[data-look="synthwave"] .pass-card{padding-top:19px}
 :root[data-look="synthwave"] .session-footer{padding:17px 14px calc(17px + env(safe-area-inset-bottom))}
 :root[data-look="synthwave"] #session-action{padding-left:15px;padding-right:15px}
}

:root[data-look='synthwave'] .session-footer>div{position:relative;z-index:1}
:root[data-look='synthwave'] :is(dialog,.rest-bar,#notice){border-image-source:var(--chamfer-solid)}

/* The footer frame must stay opaque above scrolling exercise rows. */
:root[data-look="synthwave"] #session-footer{border-image-source:var(--chamfer-solid)}
:root[data-look="synthwave"] :is(input,select):focus-visible{outline:2px solid #9bf8ff;outline-offset:3px}

:root[data-look="synthwave"]{--chamfer-solid:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2280%22%20height%3D%2280%22%20viewBox%3D%220%200%2080%2080%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22edge%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%23306582%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%2373266a%22%2F%3E%3C%2FlinearGradient%3E%3ClinearGradient%20id%3D%22fill%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%230b0a22%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%2308071d%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M20%204H60L76%2020V60L60%2076H20L4%2060V20Z%22%20fill%3D%22url%28%23fill%29%22%20stroke%3D%22url%28%23edge%29%22%20stroke-width%3D%227%22%2F%3E%3C%2Fsvg%3E");--chamfer-panel:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2280%22%20height%3D%2280%22%20viewBox%3D%220%200%2080%2080%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22edge%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%23306582%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%2373266a%22%2F%3E%3C%2FlinearGradient%3E%3ClinearGradient%20id%3D%22fill%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%2311122bdc%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%2308071ddd%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M20%204H60L76%2020V60L60%2076H20L4%2060V20Z%22%20fill%3D%22url%28%23fill%29%22%20stroke%3D%22url%28%23edge%29%22%20stroke-width%3D%227%22%2F%3E%3C%2Fsvg%3E");--chamfer-pink:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2280%22%20height%3D%2280%22%20viewBox%3D%220%200%2080%2080%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22edge%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%23812776%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%2358316d%22%2F%3E%3C%2FlinearGradient%3E%3ClinearGradient%20id%3D%22fill%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%2311122bdc%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%2308071ddd%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M20%204H60L76%2020V60L60%2076H20L4%2060V20Z%22%20fill%3D%22url%28%23fill%29%22%20stroke%3D%22url%28%23edge%29%22%20stroke-width%3D%227%22%2F%3E%3C%2Fsvg%3E");--chamfer-cyan:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2280%22%20height%3D%2280%22%20viewBox%3D%220%200%2080%2080%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22edge%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%2327617c%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23494365%22%2F%3E%3C%2FlinearGradient%3E%3ClinearGradient%20id%3D%22fill%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%2311122bdc%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%2308071ddd%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M20%204H60L76%2020V60L60%2076H20L4%2060V20Z%22%20fill%3D%22url%28%23fill%29%22%20stroke%3D%22url%28%23edge%29%22%20stroke-width%3D%227%22%2F%3E%3C%2Fsvg%3E");--chamfer-hot:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2280%22%20height%3D%2280%22%20viewBox%3D%220%200%2080%2080%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22edge%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%23a13483%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23852472%22%2F%3E%3C%2FlinearGradient%3E%3ClinearGradient%20id%3D%22fill%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%23220a32e8%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%230b0824ee%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M20%204H60L76%2020V60L60%2076H20L4%2060V20Z%22%20fill%3D%22url%28%23fill%29%22%20stroke%3D%22url%28%23edge%29%22%20stroke-width%3D%229%22%2F%3E%3Cpath%20d%3D%22M21%208H59L72%2021V59L59%2072H21L8%2059V21Z%22%20fill%3D%22none%22%20stroke%3D%22%23bb79ab%22%20stroke-width%3D%22.8%22%2F%3E%3C%2Fsvg%3E");--chamfer-button:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2280%22%20height%3D%2280%22%20viewBox%3D%220%200%2080%2080%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22edge%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%23ff83e7%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23de22bb%22%2F%3E%3C%2FlinearGradient%3E%3ClinearGradient%20id%3D%22fill%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%23fd28d5%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23e30eba%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M20%204H60L76%2020V60L60%2076H20L4%2060V20Z%22%20fill%3D%22url%28%23fill%29%22%20stroke%3D%22url%28%23edge%29%22%20stroke-width%3D%227%22%2F%3E%3C%2Fsvg%3E");--chamfer-input:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2280%22%20height%3D%2280%22%20viewBox%3D%220%200%2080%2080%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22edge%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%234e3e6c%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23562556%22%2F%3E%3C%2FlinearGradient%3E%3ClinearGradient%20id%3D%22fill%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%231e1638%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23140c2c%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M20%204H60L76%2020V60L60%2076H20L4%2060V20Z%22%20fill%3D%22url%28%23fill%29%22%20stroke%3D%22url%28%23edge%29%22%20stroke-width%3D%2210%22%2F%3E%3C%2Fsvg%3E");--wire-grid:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201000%20320%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22g%22%20x2%3D%220%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%23136ee2%22%2F%3E%3Cstop%20offset%3D%22.55%22%20stop-color%3D%22%238d35dd%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23eb32c3%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M500%200L-1100%20320M500%200L-900%20320M500%200L-700%20320M500%200L-500%20320M500%200L-300%20320M500%200L-100%20320M500%200L100%20320M500%200L300%20320M500%200L500%20320M500%200L700%20320M500%200L900%20320M500%200L1100%20320M500%200L1300%20320M500%200L1500%20320M500%200L1700%20320M500%200L1900%20320M500%200L2100%20320M0%2012H1000M0%2025H1000M0%2043H1000M0%2067H1000M0%20100H1000M0%20144H1000M0%20201H1000M0%20274H1000M0%20318H1000%22%20fill%3D%22none%22%20stroke%3D%22url(%23g)%22%20stroke-width%3D%221%22%20vector-effect%3D%22non-scaling-stroke%22%2F%3E%3C%2Fsvg%3E")}
/* Use the original concept-board icons, without adding a second glow. */
:root[data-look="synthwave"] .pass-card .synthwave-mockup-icon{filter:none;mix-blend-mode:normal;overflow:hidden;image-rendering:auto}


/* Small concept-board corners and one slow travelling edge highlight. */
@property --synth-edge-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
@keyframes synth-edge-orbit{to{--synth-edge-angle:360deg}}
:root[data-look="synthwave"] :is(.surface:not(.pass-choice),.superset-group,.look-option,dialog,.session-footer,.rest-bar,#notice,.previous){border-image-width:8px}
:root[data-look="synthwave"] .pass-card,:root[data-look="synthwave"] .pass-card[data-day="pull"],:root[data-look="synthwave"] .pass-card.selected{border-image-width:6px}
:root[data-look="synthwave"] :is(button.primary:not(#account-button),button.secondary:not(#account-button),button.lime,#session-action){border-image-width:6px}
:root[data-look="synthwave"] :is(input:not([type="checkbox"]),select){border-image-width:4px}
:root[data-look="synthwave"] #session-footer{border-image-width:8px}
:root[data-look="synthwave"] .look-sample{clip-path:polygon(6px 0,calc(100% - 6px) 0,100% 6px,100% 100%,0 100%,0 6px)}
:root[data-look="synthwave"] .session-footer::before{clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px)}
:root[data-look="synthwave"] .pass-card .look-day-icon{color:#f337d3;filter:none}
:root[data-look="synthwave"] .pass-card.selected{filter:drop-shadow(0 0 3px #ff3cd27a)}


/* The expanded exercise is the active card during a workout. */
:root[data-look="synthwave"] .exercise{position:relative}
:root[data-look="synthwave"] .exercise.session-exercise.is-active{border-image-source:var(--chamfer-hot);border-image-width:6px;filter:drop-shadow(0 0 3px #ff3cd27a)}

/* Stronger frame lines retain the smaller corner cuts. */
:root[data-look="synthwave"] .pass-card::after{border-width:2px}

/* Quieter outlines, with finer frames for supporting information. */
:root[data-look="synthwave"]{--chamfer-info:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2280%22%20height%3D%2280%22%20viewBox%3D%220%200%2080%2080%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22edge%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%23306582%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%2373266a%22%2F%3E%3C%2FlinearGradient%3E%3ClinearGradient%20id%3D%22fill%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%2311122bdc%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%2308071ddd%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M20%204H60L76%2020V60L60%2076H20L4%2060V20Z%22%20fill%3D%22url%28%23fill%29%22%20stroke%3D%22url%28%23edge%29%22%20stroke-width%3D%223%22%2F%3E%3C%2Fsvg%3E")}
:root[data-look="synthwave"] :is(.previous,.side-section,.stat,#notice){border-image-source:var(--chamfer-info)}
:root[data-look="synthwave"] .pass-card::after{border-color:#56305f}

/* One shared track clips its fill: no separate, misaligned frame overlay. */
:root[data-look="synthwave"] .pass-card::after{display:none}
:root[data-look="synthwave"] .synth-recency-track{position:absolute;left:14px;right:14px;bottom:45px;height:10px;border:1px solid #812776;border-radius:6px;background:#191027;overflow:hidden;pointer-events:none;display:block;box-shadow:none}
:root[data-look="synthwave"] .synth-recency-fill{display:block;height:100%;border:0;border-radius:4px;background:linear-gradient(180deg,#f337d3,#c526ac);box-shadow:none}
@media(max-width:680px){:root[data-look="synthwave"] .synth-recency-track{left:10px;right:10px;bottom:34px}}

/* Place the recommendation on its own card instead of a separate heading. */
.pass-choice .pass-cards{margin-top:0}
.pass-choice .pass-card{position:relative}
.pass-choice .pass-card-title{margin-top:18px}
:root:not([data-look="original"]) .pass-choice .pass-card{min-height:232px}
@media(max-width:680px){:root:not([data-look="original"]) .pass-choice .pass-card{min-height:190px}}

@media(max-width:1015px){.work-grid>.work-aside{display:none}.work-grid,:root:not([data-look="original"]) .work-grid{grid-template-columns:minmax(0,1fr)}}

/* Slow edge light on every framed box; active boxes remain brightest. */
:root[data-look="synthwave"] :where(.surface:not(.pass-choice),.superset-group,.look-option,dialog,.rest-bar,#notice,.previous,.pass-card,button.primary:not(#account-button),button.secondary:not(#account-button),button.lime,#session-action):where(:not(dialog,.rest-bar,#notice)){position:relative}
:root[data-look="synthwave"] :where(.surface:not(.pass-choice),.superset-group,.look-option,dialog,.rest-bar,#notice,.previous,.pass-card)::before,:root[data-look="synthwave"] :where(button.primary:not(#account-button),button.secondary:not(#account-button),button.lime,#session-action,.session-footer)::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:3;background:conic-gradient(from var(--synth-edge-angle),transparent 0deg,transparent 225deg,#f337d322 260deg,#ff6be8 308deg,#fff1fc 335deg,#ff6be8 344deg,transparent 360deg);animation:synth-edge-orbit 12s linear infinite;clip-path:polygon(evenodd,6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px),0 6px,6px 0,6px var(--synth-edge-width,1px),var(--synth-edge-width,1px) 6px,var(--synth-edge-width,1px) calc(100% - 6px),6px calc(100% - var(--synth-edge-width,1px)),calc(100% - 6px) calc(100% - var(--synth-edge-width,1px)),calc(100% - var(--synth-edge-width,1px)) calc(100% - 6px),calc(100% - var(--synth-edge-width,1px)) 6px,calc(100% - 6px) var(--synth-edge-width,1px),6px var(--synth-edge-width,1px));opacity:1}
:root[data-look="synthwave"] :where(.previous,.side-section,.stat,#notice)::before{opacity:1}
:root[data-look="synthwave"] .pass-card.selected::before,
:root[data-look="synthwave"] .exercise.session-exercise.is-active::before,
:root[data-look="synthwave"] .look-option[aria-pressed="true"]::before,
:root[data-look="synthwave"] :where(.surface:not(.pass-choice),.superset-group,.look-option,dialog,.rest-bar,#notice,.previous,.pass-card):focus-visible::before,
:root[data-look="synthwave"] :where(button.primary:not(#account-button),button.secondary:not(#account-button),button.lime,#session-action):focus-visible::after{opacity:1}
@media(prefers-reduced-motion:reduce){:root[data-look="synthwave"] :where(.surface:not(.pass-choice),.superset-group,.look-option,dialog,.rest-bar,#notice,.previous,.pass-card)::before,:root[data-look="synthwave"] :where(button.primary:not(#account-button),button.secondary:not(#account-button),button.lime,#session-action,.session-footer)::after{animation:none;--synth-edge-angle:45deg}}

/* Pink-to-turquoise recommendation and extra glow on active frames. */
:root[data-look="synthwave"] .pass-card{container-type:inline-size}
:root[data-look="synthwave"] .pass-card.selected,
:root[data-look="synthwave"] .exercise.session-exercise.is-active,
:root[data-look="synthwave"] .look-option[aria-pressed="true"]{filter:drop-shadow(0 0 4px #ff4adcaa) drop-shadow(0 0 11px #ff29cc88) drop-shadow(0 0 18px #35e7e040)}

/* Larger Reppr masthead on the main workout page. */
:root:not([data-look="original"])[data-view="pass"] .topbar{height:auto;min-height:120px}
:root:not([data-look="original"])[data-view="pass"] .look-mast-brand{width:340px;height:100px;flex-shrink:0}
@media(max-width:680px){:root:not([data-look="original"])[data-view="pass"] .topbar{min-height:96px}:root:not([data-look="original"])[data-view="pass"] .look-mast-brand{width:clamp(150px,52vw,210px);height:72px}}

/* Thin passive orbit, stronger recommended and active exercise frames. */
:root[data-look="synthwave"] :where(.surface,.look-option,dialog,.rest-bar,#notice,.previous,.pass-card,button.primary,button.secondary,button.lime,.session-footer){--synth-edge-width:1px}
:root[data-look="synthwave"] .pass-card.selected,
:root[data-look="synthwave"] .exercise.session-exercise.is-active,
:root[data-look="synthwave"] .look-option[aria-pressed="true"]{--synth-edge-width:3px}
:root[data-look="synthwave"] .pass-card{container-type:normal}

/* Theme avatars in settings and the larger account circle. */
.avatar-settings{margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
.avatar-settings>p{margin-top:8px;color:var(--muted);font-size:.875rem}
.avatar-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px;margin-top:18px}
.avatar-option{display:flex;flex-direction:column;align-items:center;gap:9px;padding:12px 6px;color:var(--ink);background:transparent;border:1px solid var(--line);font-size:.8rem}
.avatar-option[aria-pressed="true"]{border:2px solid var(--green);background:var(--paper)}
.avatar-preview{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:var(--paper);border:1px solid var(--line)}
.avatar-image,.avatar-portrait{width:100%;height:100%;object-fit:cover;display:block}
.avatar-preview .look-icon{width:36px;height:36px}
:root .topbar #account-button{width:54px;height:54px;min-width:54px;min-height:54px;flex-shrink:0;padding:2px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;overflow:hidden;background:var(--paper)}
:root .topbar #account-button .look-icon{width:32px;height:32px}
:root[data-look="synthwave"] .avatar-option[aria-pressed="true"]{border-color:#ff45d3;box-shadow:0 0 12px #ff29cc55}
@media(max-width:680px){:root .topbar #account-button{width:44px;height:44px;min-width:44px;min-height:44px}:root:not([data-look="original"])[data-view="pass"] .look-mast-brand{width:min(210px,calc(100vw - 176px));flex-shrink:1;min-width:0}.avatar-options{grid-template-columns:repeat(3,minmax(0,1fr))}.avatar-preview{width:68px;height:68px}}

/* Transparent training figures share an independent synthwave backdrop. */
:root[data-look="synthwave"] .synth-character{position:absolute;left:70%;right:auto;transform:translateX(-50%);bottom:0;width:min(90%,calc(330px * var(--figure-ratio)));overflow:hidden;pointer-events:none}
:root[data-look="synthwave"] .synth-character-image{position:absolute;max-width:none;display:block;object-fit:fill}
@media(max-width:680px){:root[data-look="synthwave"] .synth-character{left:50%;width:min(92%,calc(174px * var(--figure-ratio)))}}

:root[data-look="synthwave"] .synth-layered-hero{min-height:300px}
@media(max-width:680px){:root[data-look="synthwave"] .synth-layered-hero{min-height:160px}}

/* One fixed stack keeps the mobile navigation and workout controls together. */
.mobile-dock{display:contents}
.language-settings{padding:24px;margin-bottom:24px}.language-settings p{color:var(--muted);margin-top:8px}.language-settings .field{max-width:320px;margin-top:16px}
@media(max-width:680px){
 :root:not([data-look="original"]) .mobile-dock{display:flex;flex-direction:column;position:fixed;left:0;right:0;bottom:0;z-index:20}
 :root:not([data-look="original"]) .mobile-dock>.sidebar{position:relative;inset:auto;flex:none;width:100%;height:74px}
 :root:not([data-look="original"]) .mobile-dock>#session-footer{position:relative;inset:auto;flex:none;width:100%}
 :root:not([data-look="original"]) body:not(.has-session-footer) .mobile-dock{padding-bottom:env(safe-area-inset-bottom);background:var(--dark)}
}

/* Clear status popups with the same orbit and glow as active frames. */
#notice{box-sizing:border-box;width:min(520px,calc(100vw - 48px));max-width:520px;min-height:84px;padding:24px 28px;font-size:1.125rem;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
:root[data-look="synthwave"] #notice{--synth-edge-width:3px;--notice-frame:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2280%22%20height%3D%2280%22%20viewBox%3D%220%200%2080%2080%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22edge%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%23a13483%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23852472%22%2F%3E%3C%2FlinearGradient%3E%3ClinearGradient%20id%3D%22fill%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%23220a32%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%230b0824%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M20%204H60L76%2020V60L60%2076H20L4%2060V20Z%22%20fill%3D%22url%28%23fill%29%22%20stroke%3D%22url%28%23edge%29%22%20stroke-width%3D%229%22%2F%3E%3Cpath%20d%3D%22M21%208H59L72%2021V59L59%2072H21L8%2059V21Z%22%20fill%3D%22none%22%20stroke%3D%22%23bb79ab%22%20stroke-width%3D%22.8%22%2F%3E%3C%2Fsvg%3E");border-image-source:var(--notice-frame);border-image-width:8px;color:#fff1fc;font-family:'Segoe UI',sans-serif;letter-spacing:.015em;filter:drop-shadow(0 0 4px #ff4adcaa) drop-shadow(0 0 11px #ff29cc88) drop-shadow(0 0 18px #35e7e040)}
@media(max-width:680px){#notice{left:16px;right:16px;width:auto;max-width:none;min-height:80px;padding:22px;font-size:1.0625rem}}

/* Full-card avatar portraits and a roomier account circle. */
.avatar-options{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}
.avatar-option{position:relative;display:block;aspect-ratio:1;padding:0;overflow:hidden;min-width:0;text-align:left}
.avatar-option .avatar-preview{width:100%;height:100%;border:0;border-radius:0}
.avatar-option>span:last-child{position:absolute;left:0;right:0;bottom:0;padding:28px 12px 12px;background:linear-gradient(transparent,rgba(8,7,29,.92));color:#fff;font-size:.9rem;font-weight:600;line-height:1.35;text-shadow:0 1px 3px #000}
.avatar-option:focus-visible{outline:3px solid var(--green);outline-offset:3px}
:root .topbar #account-button{width:64px;height:64px;min-width:64px;min-height:64px;padding:0}
:root .topbar #account-button .look-icon{width:38px;height:38px}
@media(max-width:680px){.avatar-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}:root .topbar #account-button{width:52px;height:52px;min-width:52px;min-height:52px}:root .topbar #account-button .look-icon{width:34px;height:34px}:root:not([data-look="original"])[data-view="pass"] .look-mast-brand{width:min(210px,calc(100vw - 184px))}}

/* Match the training split panel to the other settings panels. */
.split-settings{padding:24px}
.split-settings>p{margin-top:8px}
.split-settings #split-form{margin-top:16px}
.split-settings>p.note{margin-top:16px}

/* Workout controls stay in the bottom dock. */
#session-footer{flex-direction:column;align-items:stretch}
.session-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;width:100%}
.set-logger{width:100%;padding-top:12px;border-top:1px solid var(--line)}
.set-logger-context{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;min-width:0}
.set-logger-context>div{min-width:0}.set-logger-context strong{display:block;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.set-logger-context small{display:block;font-size:.75rem;color:var(--muted);margin-top:3px}
.set-logger-context button{font-size:.7rem;flex-shrink:0;padding:4px 6px;min-height:36px}
.set-logger-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.35fr);align-items:stretch;gap:8px}
.set-logger-actions button{min-width:0;white-space:normal;line-height:1.2}
.set-logger-actions #add-warmup,.set-logger-actions #add-drop-set{min-height:54px;font-size:.85rem;padding:12px 6px}
.set-logger-actions #log-set{flex:2.5;min-height:54px;font-size:1.15rem;padding:12px}
.set-state{display:block;font-size:.6rem;color:var(--muted);margin-top:4px}
.set-table .next-set{background:var(--paper)}
.set-table th:first-child{width:80px}.set-table th:last-child{width:auto}
:root[data-look="synthwave"] .set-logger-actions #log-set{--synth-edge-width:3px;filter:drop-shadow(0 0 4px #ff4adcaa) drop-shadow(0 0 11px #ff29cc88)}
:root[data-look="original"] .has-session-footer #main{padding-bottom:calc(var(--look-footer-height,90px) + 90px)}
:root[data-look="original"] .has-session-footer #rest{bottom:calc(var(--look-footer-height,90px) + 12px)}
:root[data-look="original"] .has-session-footer #notice{bottom:calc(var(--look-footer-height,90px) + 92px)}
@media(max-width:680px){.session-controls{gap:6px}.set-table th:first-child{width:65px}.set-logger-context strong{font-size:.8rem}.set-logger-actions #add-warmup{font-size:.8rem}.set-logger-actions #log-set{font-size:1rem}}

/* Set logging sits at the bottom of the active exercise. */
.exercise-logger{margin-top:16px}
.exercise-logger .set-logger{padding-top:16px;padding-bottom:0;border-top:1px solid var(--line);border-bottom:0}

/* One shared scene coordinate system keeps the figure locked to its backdrop. */
:root[data-look="synthwave"][data-view="pass"] .workspace::before{display:none}
:root[data-look="synthwave"] .synth-scene{position:absolute;left:0;top:0;width:100%;aspect-ratio:1;z-index:-1;pointer-events:none;overflow:hidden;background-image:var(--scene-image);background-size:100% 100%;background-position:center}
:root[data-look="synthwave"] .synth-scene::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,var(--bg),transparent 40%);pointer-events:none}
:root[data-look="synthwave"] .synth-scene .synth-character{left:64%;top:auto;bottom:30%;width:calc(44% * var(--figure-ratio));transform:translateX(-50%)}

/* Broader male pull artwork retains the shared scene anchor. */
:root[data-look="synthwave"] .synth-scene .synth-character[data-pose="pull"]{width:calc(61.6% * var(--figure-ratio));bottom:12%}

/* Legs uses a slightly taller icon to balance the narrower silhouette. */
:root[data-look="synthwave"] .pass-card .synthwave-legs-icon{width:78px;height:78px;margin-bottom:12px}
:root[data-look="synthwave"] .pass-card .synthwave-full-icon{width:60px;height:84px;margin-bottom:12px}
@media(max-width:680px){:root[data-look="synthwave"] .pass-card .synthwave-full-icon{width:46px;height:62px;margin-bottom:6px}}
@media(max-width:680px){:root[data-look="synthwave"] .pass-card .synthwave-legs-icon{width:64px;height:64px;margin-bottom:8px}}

/* Persistent logged-set colors, a completion badge and a one-time neon sweep. */
.set-table tr.logged-work{--set-color:#397452;--set-tint:#39745218}
.set-table tr.logged-warmup{--set-color:#387a9b;--set-tint:#387a9b18}
.set-table tr.completed{background:var(--set-tint);color:var(--set-color)}
.set-table tr.completed td{border-bottom-color:var(--set-color)}
.set-table tr.completed td:first-child{border-left:3px solid var(--set-color)}
.set-table tr.completed input{border-color:var(--set-color);background:transparent;color:var(--ink)}
.set-table tr.completed .set-state{color:var(--set-color);font-weight:700}
:root[data-look="synthwave"] .set-table tr.logged-work{--set-color:#ff68db;--set-tint:#e932bc22}
:root[data-look="synthwave"] .set-table tr.logged-warmup{--set-color:#55e4ec;--set-tint:#24cad524}
:root[data-look="synthwave"] .set-table tr.completed{background-image:linear-gradient(90deg,var(--set-tint),transparent);background-color:var(--set-tint)}
:root[data-look="synthwave"] .set-table tr.completed input{background:rgba(8,7,29,.18);color:#fff1fc;border-image:none;border:1px solid var(--set-color);box-shadow:inset 0 0 10px var(--set-tint)}
:root[data-look="synthwave"] .set-table tr.just-logged{background-image:linear-gradient(110deg,transparent 35%,#ff56da99 44%,#fff1fcc4 50%,#32f5e299 56%,transparent 65%),linear-gradient(90deg,var(--set-tint),transparent);background-size:300% 100%,100% 100%;background-repeat:no-repeat;animation:set-log-swish 900ms ease-out both}
@keyframes set-log-swish{from{background-position:100% 0,0 0}to{background-position:0% 0,0 0}}
:root[data-look="synthwave"] .exercise:not([open]):not(.is-active) summary h3{color:#aaa5bd;text-shadow:none}
:root[data-look="synthwave"] .exercise:not([open]):not(.is-active) summary :is(small,.chevron){color:#817995}
:root[data-look="synthwave"] .pass-card:not(.selected) .pass-card-title{color:#aaa5bd;text-shadow:none}
:root[data-look="synthwave"] .pass-card:not(.selected) small{color:#817995}
@media(prefers-reduced-motion:reduce){:root[data-look="synthwave"] .set-table tr.just-logged{animation:none;background-image:linear-gradient(90deg,var(--set-tint),transparent);background-size:100% 100%}}

/* Pass choices keep a fixed height independently of the hero pose. */

/* Open workout layout with a larger gradient session title. */
.session-head h2{font-size:clamp(2rem,4vw,3rem);line-height:1.2}
:root[data-look="synthwave"] .session-head{padding:12px 0 18px}
:root[data-look="synthwave"] .session-head h2{background:linear-gradient(105deg,#ff45d3 10%,#dd69e0 40%,#35e7e0 95%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;text-shadow:none;padding-right:.15em}

/* Center status notifications in the visible screen. */
:root[data-look] #notice,:root[data-look] .has-session-footer #notice{position:fixed;left:50%;top:50%;right:auto;bottom:auto;width:min(520px,calc(100vw - 32px));max-width:520px;transform:translate(-50%,-50%);max-height:calc(100dvh - 32px);overflow:auto}

/* Card-corner information buttons replace the permanent bar explanation. */
.pass-card-wrap{position:relative;min-width:0}
.pass-card-wrap>.pass-card{width:100%;height:100%}
.pass-info{position:absolute;right:2px;top:2px;width:44px;height:44px;min-height:44px;padding:0;display:grid;place-items:center;background:transparent;color:var(--muted);border:0;border-radius:50%;z-index:5;font-family:Georgia,serif;font-size:15px;font-weight:700;font-style:italic}
.pass-info::before{content:'';position:absolute;inset:10px;border:1px solid currentColor;border-radius:50%;pointer-events:none}
.pass-info:hover,.pass-info:focus-visible{color:var(--ink)}

/* Swipe left reveals set removal; the trash button also works with a mouse. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.set-table tr[data-set]{touch-action:pan-y}
.set-table .set-delete-cell{width:44px;padding-left:2px;padding-right:2px}
.set-delete{display:flex;align-items:center;justify-content:center;gap:5px;min-width:40px;min-height:44px;padding:8px;color:var(--muted);background:transparent;border:0;border-radius:5px}
.set-delete>span{display:none;font-size:.7rem;white-space:nowrap}
.set-delete:hover,.set-delete:focus-visible{color:var(--orange,#b94b63);background:var(--paper)}
.notice-action{display:block;margin-top:14px;min-width:110px}
@media(max-width:680px){.set-table .set-delete-cell{width:38px}.set-delete{min-width:34px;padding:5px}.set-table input{min-width:0;width:100%}.set-table th:first-child{width:60px}}


/* The selected workout lights every supplied PPL icon in the same cyan. */
:root[data-look="synthwave"] .pass-card.selected .look-day-icon{color:#21dafa;filter:drop-shadow(0 0 4px currentColor) drop-shadow(0 0 10px #21dafa66)}

/* Touch users swipe the row itself to delete; no extra action column. */
.set-table tr[data-set]{will-change:transform}
@media(pointer:coarse){.set-table .set-delete-cell,.set-table th:last-child{display:none}.set-table th:nth-child(3){width:auto}}

/* Set numbers carry completion and focus without a checkmark badge. */
.set-number{display:inline-block;font-weight:700;line-height:1.15}
:root[data-look="synthwave"] .set-number{font-family:var(--display);font-size:1.35rem;font-weight:400;color:#69617e;padding-right:.12em}
:root[data-look="synthwave"] .set-table tr:is(.completed,.next-set) .set-number{background-image:linear-gradient(105deg,#ff45d3 10%,#dd69e0 40%,#35e7e0 95%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
:root[data-look="synthwave"] .set-table tr.next-set .set-number{font-size:1.7rem;background-image:linear-gradient(105deg,#ff45d3,#dd69e0,#35e7e0,#ff45d3);background-size:250% 100%;animation:set-number-cycle 8s ease-in-out infinite}
@keyframes set-number-cycle{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
:root[data-look="synthwave"] .set-table tr.completed{background-color:transparent;background-image:linear-gradient(105deg,#ff45d310,#35e7e012)}
:root[data-look="synthwave"] .set-table tr.completed td{border-bottom-color:var(--line)}
:root[data-look="synthwave"] .set-table tr.completed td:first-child{border-left:0}
:root[data-look="synthwave"] .set-table tr.completed input{border:1px solid transparent;border-image:var(--set-input-frame) 20 fill / 4px / 0 stretch;background:none;box-shadow:none;color:var(--ink)}
:root[data-look="synthwave"] .set-table tr.just-logged{background-image:linear-gradient(110deg,transparent 35%,#ff56da66 44%,#fff1fc88 50%,#32f5e266 56%,transparent 65%),linear-gradient(105deg,#ff45d310,#35e7e012);background-size:300% 100%,100% 100%;animation:set-log-swish 900ms ease-out both}
@media(prefers-reduced-motion:reduce){:root[data-look="synthwave"] .set-table tr.next-set .set-number{animation:none}:root[data-look="synthwave"] .set-table tr.just-logged{animation:none;background-image:linear-gradient(105deg,#ff45d310,#35e7e012);background-size:100% 100%}}
:root[data-look="synthwave"]{--set-input-frame:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2280%22%20height%3D%2280%22%20viewBox%3D%220%200%2080%2080%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22edge%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%234e3e6c%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23562556%22%2F%3E%3C%2FlinearGradient%3E%3ClinearGradient%20id%3D%22fill%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%23261736%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23142738%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M20%204H60L76%2020V60L60%2076H20L4%2060V20Z%22%20fill%3D%22url%28%23fill%29%22%20stroke%3D%22url%28%23edge%29%22%20stroke-width%3D%2210%22%2F%3E%3C%2Fsvg%3E")}

/* All Synthwave workout cards share the same frame palette. */

/* Compact set actions and Synthwave workout progress. */
:root[data-look="synthwave"] .set-table th:last-child{width:44px}
:root[data-look="synthwave"] .exercise-tools{margin-top:10px}
:root[data-look="synthwave"] .exercise-logger{margin-top:12px}
:root[data-look="synthwave"] .session-progress{height:10px;margin-top:16px;border:1px solid #604176;border-radius:2px;padding:2px;background:linear-gradient(105deg,#281331,#111a32);overflow:visible;box-shadow:inset 0 0 5px #07051b}
:root[data-look="synthwave"] .session-progress>span{background:linear-gradient(105deg,#ff45d3,#dd69e0 45%,#35e7e0);border-radius:1px;box-shadow:0 0 6px #e940c955;transition:none}
:root[data-look="synthwave"] .session-progress.complete{border-color:#74e9df;box-shadow:0 0 7px #35e7e088,0 0 18px #f345cf66}
:root[data-look="synthwave"] .session-progress.complete>span{box-shadow:0 0 8px #ff45d3aa,0 0 14px #35e7e099}
@media(pointer:coarse){:root[data-look="synthwave"] .set-table th:nth-child(3){width:auto}}
@media(prefers-reduced-motion:reduce){:root[data-look="synthwave"] .session-progress>span{transition:none}}

/* Exercise headings share the workout title typeface in Synthwave. */
:root[data-look="synthwave"] .exercise summary h3{font-family:var(--display)}

/* Consistent set surfaces, returning color cycle and progress lens flare. */
:root[data-look="synthwave"] .set-table tr:is(.completed,.next-set){background-color:transparent;background-image:none}
:root[data-look="synthwave"] .set-table tr.completed input{border-image-source:var(--chamfer-input)}
:root[data-look="synthwave"] .set-table tr.just-logged{background-color:transparent;background-image:linear-gradient(110deg,transparent 35%,#ff56da66 44%,#fff1fc88 50%,#32f5e266 56%,transparent 65%);background-size:300% 100%;animation:set-log-swish 900ms ease-out both}
:root[data-look="synthwave"] .session-progress>span{position:relative}
:root[data-look="synthwave"] .session-progress>span::after{content:'';position:absolute;right:0;top:50%;width:44px;height:26px;transform:translate(50%,-50%);pointer-events:none;background:radial-gradient(circle,#fff 0 12%,#ffe0fbcc 24%,#fb5cdf55 43%,transparent 70%),linear-gradient(90deg,transparent,#ffa7f6,#fff,#8df8f2,transparent),linear-gradient(0deg,transparent,#fff,transparent);background-size:20px 20px,100% 1px,1px 100%;background-position:center;background-repeat:no-repeat;filter:drop-shadow(0 0 4px #ff45d3) drop-shadow(0 0 8px #35e7e080)}
:root[data-look="synthwave"] .exercise .ex-name{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;min-width:0}
:root[data-look="synthwave"] .exercise summary h3{font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.25;margin:0;overflow-wrap:anywhere}
:root[data-look="synthwave"] .exercise .ex-group-divider{color:#8d7ba6}
:root[data-look="synthwave"] .exercise .ex-name>small{font-size:.8rem}
@media(prefers-reduced-motion:reduce){:root[data-look="synthwave"] .set-table tr.just-logged{animation:none;background-image:none}}

@media(max-width:680px){:root[data-look="synthwave"] .session-progress>span::after{width:28px;height:24px}}

/* History title shares the Synthwave workout gradient. */
:root[data-look="synthwave"]:is([data-view="history"],[data-view="insights"]) .page-head h1{width:fit-content;max-width:100%;background:linear-gradient(105deg,#ff45d3 10%,#dd69e0 40%,#35e7e0 95%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;text-shadow:none;padding-right:.15em}

/* Match the information column to the first exercise, below the workout heading. */
.work-grid{row-gap:0}
.work-grid>.session-head{grid-column:1;grid-row:1}
.work-grid>.work-exercises{grid-column:1;grid-row:2;min-width:0}
.work-grid>.work-aside{grid-column:2;grid-row:2}
.recent-week h3{margin-bottom:8px}
.recent-week-total{color:var(--muted);font-size:.875rem;margin-bottom:12px}
.recent-week ul{list-style:none;padding:0;margin:0}
.recent-week li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:.8rem;line-height:1.4}
.recent-week li:last-child{border-bottom:0}
.recent-week time{color:var(--muted);flex:none}
.recent-week li span{text-align:right;overflow-wrap:anywhere}
:root[data-look="synthwave"] .session-head h2{font-size:clamp(2.8rem,5.5vw,4rem);}

/* Synthwave workout actions: clear symbols and a gradient finish button. */
:root[data-look="synthwave"] :is(#session-pause,#session-cancel){display:inline-flex;align-items:center;justify-content:center;gap:7px}
:root[data-look="synthwave"] #session-pause{color:#fff}
:root[data-look="synthwave"] .footer-control-icon{width:17px;height:17px;flex:none;fill:currentColor}
:root[data-look="synthwave"] button#session-action.finish-workout{border-image-source:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2280%22%20height%3D%2280%22%20viewBox%3D%220%200%2080%2080%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22edge%22%3E%3Cstop%20stop-color%3D%22%23ffabef%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%2371ffff%22%2F%3E%3C%2FlinearGradient%3E%3ClinearGradient%20id%3D%22fill%22%3E%3Cstop%20stop-color%3D%22%23ca189d%22%2F%3E%3Cstop%20offset%3D%22.48%22%20stop-color%3D%22%239733ab%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23167786%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M20%204H60L76%2020V60L60%2076H20L4%2060V20Z%22%20fill%3D%22url%28%23fill%29%22%20stroke%3D%22url%28%23edge%29%22%20stroke-width%3D%227%22%2F%3E%3C%2Fsvg%3E");color:#fff;font-family:var(--display);font-size:1.25rem;font-weight:700;line-height:1.25;text-shadow:0 1px 2px #21082a66}
:root[data-look="synthwave"] button#session-action.finish-workout::before{display:none}
@media(max-width:680px){:root[data-look="synthwave"] button#session-action.finish-workout{font-size:1.1rem;padding-left:12px;padding-right:12px}:root[data-look="synthwave"] :is(#session-pause,#session-cancel){gap:5px}}

/* Footer workout name matches the Synthwave display headings. */
:root[data-look="synthwave"] .footer-session strong{font-family:var(--display);font-size:1.75rem;line-height:1.2;background:linear-gradient(105deg,#ff45d3 10%,#dd69e0 40%,#35e7e0 95%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;text-shadow:none;padding-right:.15em}
@media(max-width:680px){:root[data-look="synthwave"] .footer-session strong{font-size:1.5rem}}

/* Rest replaces the exercise logger until the countdown ends or is skipped. */
.set-rest{min-height:132px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.set-rest-clock{display:flex;flex-direction:column;gap:4px}
.set-rest-clock>span{font-size:.875rem;color:var(--muted)}
.set-rest-clock strong{font-size:2.5rem;line-height:1.2;font-variant-numeric:tabular-nums}
.set-rest-actions{display:flex;gap:10px;align-items:center}
.set-rest-actions button{min-height:54px;white-space:nowrap}
:root[data-look="synthwave"] :is(.set-logger-context strong,.set-logger-actions button,.set-rest-clock,.set-rest-actions button){font-family:var(--display)}
:root[data-look="synthwave"] .set-logger-context strong{font-size:1.1rem}
:root[data-look="synthwave"] .set-rest-clock strong{background:linear-gradient(105deg,#ff45d3 10%,#dd69e0 40%,#35e7e0 95%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
@media(max-width:680px){.set-rest{gap:10px;flex-wrap:wrap}.set-rest-clock strong{font-size:2.1rem}.set-rest-actions{flex:1;justify-content:flex-end;gap:8px}.set-rest-actions button{padding:10px;font-size:.875rem}}

/* Logged input fills share the set-number gradient; upcoming values recede. */
:root[data-look="synthwave"] .set-table tr.completed input[type="number"]{border-image-source:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2280%22%20height%3D%2280%22%20viewBox%3D%220%200%2080%2080%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22fill%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%221%22%20y2%3D%22.27%22%3E%3Cstop%20offset%3D%22.1%22%20stop-color%3D%22%23ff45d3%22%2F%3E%3Cstop%20offset%3D%22.4%22%20stop-color%3D%22%23dd69e0%22%2F%3E%3Cstop%20offset%3D%22.95%22%20stop-color%3D%22%2335e7e0%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M20%204H60L76%2020V60L60%2076H20L4%2060V20Z%22%20fill%3D%22url%28%23fill%29%22%20stroke%3D%22%2377608f%22%20stroke-width%3D%2210%22%2F%3E%3C%2Fsvg%3E");color:#170b29;-webkit-text-fill-color:#170b29}
:root[data-look="synthwave"] .set-table tr:not(.completed):not(.next-set) input[type="number"]{color:#69617e;-webkit-text-fill-color:#69617e}

/* A larger, aligned countdown and clearer rest action labels. */
.set-rest-clock{justify-content:center}
.set-rest-clock strong{font-size:3.25rem;line-height:1}
.set-rest-actions #inline-rest-skip{font-size:1.15rem}
:root[data-look="synthwave"] button#session-action.finish-workout{color:#000;-webkit-text-fill-color:#000;text-shadow:none}
@media(max-width:680px){.set-rest-clock strong{font-size:2.75rem}.set-rest-actions #inline-rest-skip{font-size:1rem}.set-rest-actions #inline-rest-add{padding-left:10px;padding-right:10px}}

@media(max-width:680px){:root[data-look="synthwave"] button#inline-rest-skip{padding-left:8px;padding-right:8px}:root[data-look="synthwave"] button#inline-rest-add{padding-left:6px;padding-right:6px}}

@media(max-width:680px){.set-rest{gap:6px}.set-rest-actions{gap:6px}}

@media(min-width:360px) and (max-width:680px){.set-rest{flex-wrap:nowrap}.set-rest-actions{min-width:0}:root[data-look="synthwave"] button#inline-rest-add{font-size:.75rem;padding-left:4px;padding-right:4px}}

/* Keep iPhone editing inside the authored input frame instead of a native white box. */
:root[data-look="synthwave"] .set-table input[type="number"]{appearance:none;-webkit-appearance:none;border-radius:0;-webkit-tap-highlight-color:transparent;caret-color:#35e7e0}
:root[data-look="synthwave"] .set-table input[type="number"]:focus{outline:none;box-shadow:0 0 0 1px #35e7e0,0 0 9px #35e7e055}
:root[data-look="synthwave"] .set-table input[type="number"]::selection{background:#35e7e066;color:#fff}
:root[data-look="synthwave"] .set-table tr.completed input[type="number"]{caret-color:#170b29}
:root[data-look="synthwave"] .set-table tr.completed input[type="number"]::selection{background:#170b2966;color:#fff}

/* Added warm-ups stay distinct in dark pink before and after logging. */
.set-table tr.warmup-set{--set-color:#cf609b;--set-tint:#cf609b18}
:root[data-look="synthwave"] .set-table tr.warmup-set input[type="number"]{border:1px solid transparent;border-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2280%22%20height%3D%2280%22%20viewBox%3D%220%200%2080%2080%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22fill%22%3E%3Cstop%20stop-color%3D%22%237d235d%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23401531%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M20%204H60L76%2020V60L60%2076H20L4%2060V20Z%22%20fill%3D%22url%28%23fill%29%22%20stroke%3D%22%23c75a98%22%20stroke-width%3D%2210%22%2F%3E%3C%2Fsvg%3E") 20 fill / 4px / 0 stretch;color:#ffe0f3;-webkit-text-fill-color:#ffe0f3;background:none}
:root[data-look="synthwave"] .set-table tr.warmup-set .set-state{color:#e987bc}

/* Logged values stand alone; logger avoids repeating the exercise and set. */
.set-logger-context:empty{display:none}
.set-logger-context{justify-content:flex-end}
:root[data-look="synthwave"] .set-table tr.completed input[type="number"]{border:1px solid transparent;border-image:none;background:transparent;box-shadow:none;color:#f3e8ff;-webkit-text-fill-color:#f3e8ff}
:root[data-look="synthwave"] .set-table tr.completed.warmup-set input[type="number"]{color:#e987bc;-webkit-text-fill-color:#e987bc}
:root[data-look="synthwave"] .set-table tr.completed input[type="number"]:focus{box-shadow:0 0 0 1px #35e7e0,0 0 9px #35e7e055;caret-color:#35e7e0}

/* Superset links sit in the exercise header and pair the alternating workout. */
.exercise-link{display:grid;place-items:center;flex:none;width:44px;min-width:44px;height:44px;padding:10px;background:transparent;color:var(--muted);border:0;border-radius:0}
.exercise-link svg{width:22px;height:22px}
.exercise-link.linked{color:var(--green)}
.superset-caption{display:block;flex-basis:100%;font-family:'Segoe UI',sans-serif;font-size:.75rem;line-height:1.4;color:var(--muted);margin-top:4px}
:root[data-look="synthwave"] .exercise-link.linked{color:#35e7e0;filter:drop-shadow(0 0 5px #35e7e077)}
@media(max-width:680px){.exercise summary{gap:6px}.exercise-link{padding:10px;width:44px}.exercise summary .ex-done{font-size:.75rem}.superset-caption{font-size:.7rem}}

/* Drop sets nest below the active set and keep an explicit label. */
.set-table tr.drop-set td:first-child{padding-left:16px}
.set-table tr.drop-set td:nth-child(2){padding-left:16px}
.set-table tr.drop-set .set-state{white-space:nowrap;font-size:.6rem}
.add-drop-set{display:block;margin-top:8px;margin-left:auto;min-height:44px}
:root[data-look="synthwave"] .add-drop-set{font-family:var(--display);color:#b794d4}
@media(max-width:680px){.set-table tr.drop-set td:first-child{padding-left:12px}.set-table tr.drop-set td:nth-child(2){padding-left:12px}}

/* The chosen avatar presents the saved workout in a speech bubble. */
dialog:has(.workout-recap){width:min(780px,calc(100vw - 32px));max-width:780px;max-height:calc(100dvh - 32px);overflow:auto}
.workout-recap{display:grid;grid-template-columns:136px minmax(0,1fr);gap:24px;align-items:start}
.recap-avatar{width:136px;height:136px;overflow:hidden;border-radius:50%;background:var(--soft)}
.recap-avatar :is(img,svg){width:100%;height:100%;object-fit:cover;display:block}
.recap-bubble{position:relative;background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:22px;min-width:0}
.recap-bubble::before{content:'';position:absolute;left:-9px;top:36px;width:16px;height:16px;background:var(--bg);border-left:1px solid var(--line);border-bottom:1px solid var(--line);transform:rotate(45deg)}
.recap-greeting{font-size:1.25rem;font-weight:700;color:var(--ink)}
.recap-metrics{display:flex;flex-wrap:wrap;gap:20px;margin:20px 0 24px}
.recap-metrics dt{font-size:.8rem;color:var(--muted)}
.recap-metrics dd{margin:6px 0 0;font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums}
.recap-metrics dd small{font-size:.75rem;white-space:nowrap}
.recap-bubble h3{margin:22px 0 8px}.recap-bubble p{margin-bottom:0;font-size:.875rem}
.recap-bubble ul{list-style:none;margin:0;padding:0}.recap-bubble li{padding:8px 0;display:flex;flex-direction:column;gap:4px;overflow-wrap:anywhere}
.recap-bubble li span,.recap-note{font-size:.8rem;color:var(--muted)}.recap-bubble .recap-note{margin-top:14px}
:root[data-look="synthwave"] .recap-bubble{background:#100a26;border-color:#a44a9b}
:root[data-look="synthwave"] .recap-bubble::before{background:#100a26;border-color:#a44a9b}
:root[data-look="synthwave"] :is(.recap-greeting,.recap-bubble h3,.recap-metrics dd){font-family:var(--display)}
@media(max-width:680px){.workout-recap{grid-template-columns:1fr;gap:18px}.recap-avatar{width:104px;height:104px;margin:auto}.recap-bubble{padding:18px}.recap-bubble::before{left:calc(50% - 8px);top:-9px;transform:rotate(135deg)}.recap-metrics{gap:16px}.recap-metrics dd{font-size:1.35rem}}

/* Select a superset directly from exercise links, with clear next steps. */
.superset-editor{position:sticky;top:12px;z-index:8;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:18px;box-shadow:0 8px 24px #0005}
.superset-editor strong{font-size:1.15rem}.superset-editor p{margin:6px 0 10px;font-size:.9rem;line-height:1.45}.superset-editor ol{margin:0 0 10px;padding-left:24px;font-size:.85rem;max-height:100px;overflow:auto}.superset-editor small{color:var(--muted)}
.superset-editor-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.superset-editor-actions button{min-height:44px}.superset-editor-actions .primary{margin-left:auto}
.exercise-link.linked{background:color-mix(in srgb,var(--green) 15%,transparent);border-radius:8px;box-shadow:inset 0 0 0 1px var(--green)}
.exercise-link.link-selected{background:var(--green);color:var(--bg);border-radius:8px;box-shadow:inset 0 0 0 2px currentColor}
:root[data-look="synthwave"] .superset-editor{background:#100a26;border-color:#35e7e0}
:root[data-look="synthwave"] .exercise-link.link-selected{background:#35e7e0;color:#100a26;filter:none;box-shadow:0 0 14px #35e7e066}
@media(max-width:680px){.superset-editor{top:6px;padding:12px}.superset-editor p{font-size:.82rem}.superset-editor-actions{gap:6px}.superset-editor-actions button{font-size:.85rem;padding:8px 12px}.superset-caption{overflow-wrap:anywhere}}

/* Corner navigation replaces the gear and the bottom menu strip. */
.corner-menu{position:relative;flex:none;z-index:30}
#look-menu{display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:10px;background:transparent;color:var(--ink);border:0;box-shadow:none}
#look-menu svg{width:24px;height:24px}
#look-menu[aria-expanded="true"]{color:var(--green);background:var(--soft);border-radius:8px}
#corner-navigation{position:absolute;top:calc(100% + 8px);right:0;width:240px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 120px);overflow:auto;display:grid;gap:4px;padding:8px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px #0005;letter-spacing:0}
#corner-navigation .nav-item{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 12px;color:var(--ink);text-align:left;border:0;border-radius:6px}
#corner-navigation .nav-item>span{display:block;font-size:.9rem;color:inherit}
#corner-navigation .nav-item.active{background:var(--soft);color:var(--green)}
:root[data-look="synthwave"] #corner-navigation{background:#100a26;border-color:#a44a9b}
:root[data-look="synthwave"] #corner-navigation .nav-item.active,:root[data-look="synthwave"] #look-menu[aria-expanded="true"]{color:#ff45d3}
@media(max-width:680px){
 :root:not([data-look="original"]){--look-nav-height:0px}
 .sidebar,:root:not([data-look="original"]) .mobile-dock>.sidebar{display:none}
 #corner-navigation{width:230px}
 :root:not([data-look="original"]) .topbar{gap:4px}
}

/* Keep the active exercise luminous while folded, and rest above workout controls. */
:root[data-look="synthwave"] .exercise.is-active:not([open]) summary h3{color:var(--ink)}

/* Text search narrows exercise choices before adding or replacing. */
dialog:has(#exercise-search){max-height:calc(100dvh - 32px);overflow:auto}
#exercise-search{width:100%;margin-bottom:8px;font-size:1rem}
#exercise-search-count{margin-bottom:16px}

/* Finished exercises retain their status when folded. */
.exercise summary .ex-done{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0;min-width:42px;font-variant-numeric:tabular-nums}
.exercise.is-complete{border-color:var(--green)}
:root[data-look="synthwave"] .exercise.is-complete:not([open]):not(.is-active){filter:drop-shadow(0 0 2px #36d9e53d)}
:root[data-look="synthwave"] .exercise.is-complete:not([open]) summary h3{color:var(--ink)}
:root[data-look="synthwave"] .exercise.is-complete summary .exercise-set-count{color:#c4ecf0}

/* A single frame keeps each linked round together, including folded exercises. */
.superset-group{margin-bottom:16px;padding:10px;border:1px solid var(--green);border-radius:8px;background:var(--paper)}
.superset-group-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px 12px;padding:8px 10px 14px}
.superset-group-head h3{margin:0;font-size:1.1rem}
.superset-group-head small{color:var(--muted);font-size:.75rem}
.superset-group-exercises>.exercise-swipe>.exercise{margin-bottom:8px}
.superset-group-exercises>.exercise-swipe>.exercise:last-child{margin-bottom:0}
:root[data-look="synthwave"] .superset-group{border:6px solid transparent;border-image:var(--chamfer-panel) 20 fill / 6px stretch;padding:8px;background:none;--synth-edge-width:2px}
:root[data-look="synthwave"] .superset-group-head h3{font-family:var(--display-font,inherit);color:#eac6ef}
:root[data-look="synthwave"] .superset-group-exercises>.exercise-swipe>.exercise:not(.is-active):not([open]):not(.is-complete){border-image-source:var(--chamfer-info);filter:none}
@media(max-width:680px){.superset-group{padding:4px}.superset-group-head{padding:8px 6px 12px}:root[data-look="synthwave"] .superset-group{padding:4px}.superset-group .exercise summary{padding-left:8px;padding-right:8px}}

/* Electrical connections share the app's cut-corner frame language. */
:root[data-look="synthwave"] .exercise-link:is(.linked,.link-selected){border-radius:0;box-shadow:none;border:5px solid transparent;border-image:var(--chamfer-hot) 20 fill / 5px stretch;background:transparent;position:relative;z-index:4;clip-path:polygon(6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px),0 6px)}
:root[data-look="synthwave"] .exercise-link.link-selected{border-image-source:var(--chamfer-hot);background:#35e7e0;color:#100a26}
.superset-group{position:relative}

:root[data-look="synthwave"] .superset-group::before{inset:0;--synth-edge-width:1.5px}
:root[data-look="synthwave"] .superset-group::after{content:'';position:absolute;inset:2px;z-index:0;pointer-events:none;background-image:repeating-linear-gradient(to bottom,transparent 0 23px,#bc69ed 23px 24px);opacity:.4;clip-path:polygon(6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px),0 6px)}
:root[data-look="synthwave"] .superset-group>header,:root[data-look="synthwave"] .superset-group>.superset-group-exercises{position:relative;z-index:1}

/* Completed surfaces reveal the scene while keeping text fully readable. */
:root[data-look="synthwave"]{--chamfer-completed:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2280%22%20height%3D%2280%22%20viewBox%3D%220%200%2080%2080%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22edge%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%23306582%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%2373266a%22%2F%3E%3C%2FlinearGradient%3E%3ClinearGradient%20id%3D%22fill%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%2311122bb3%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%2308071db3%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M20%204H60L76%2020V60L60%2076H20L4%2060V20Z%22%20fill%3D%22url%28%23fill%29%22%20stroke%3D%22url%28%23edge%29%22%20stroke-width%3D%227%22%2F%3E%3C%2Fsvg%3E")}
:root[data-look="synthwave"] #exercise-list .exercise.is-complete{background:none;border-image-source:var(--chamfer-completed);filter:none}

/* Completed content recedes together with its panel. */
:root[data-look="synthwave"] #exercise-list .exercise.is-complete>summary :is(.ex-name,.ex-done,.chevron),
:root[data-look="synthwave"] #exercise-list .exercise.is-complete>.exercise-body{opacity:.78}

/* Chrome sprite: first frame at rest, all 30 frames when linked. */
:root[data-look="synthwave"] .exercise-link{padding:0}
.superset-sprite{display:block;width:40px;height:24px;flex:none;background-image:url('icons/superset-chrome.webp');background-repeat:no-repeat;background-size:240px 200px;background-position:0 -8px;opacity:.65}
:root[data-look="synthwave"] .exercise-link:is(.linked,.link-selected) .superset-sprite{animation:superset-chrome-spin 2.5s steps(1,end) infinite;opacity:1}
:root[data-look="synthwave"] .exercise-link{mix-blend-mode:normal}
:root[data-look="synthwave"] .exercise-link.link-selected{background:transparent;color:#35e7e0}
@keyframes superset-chrome-spin{
0.000000%{background-position:0px -8px}
3.333333%{background-position:-40px -8px}
6.666667%{background-position:-80px -8px}
10.000000%{background-position:-120px -8px}
13.333333%{background-position:-160px -8px}
16.666667%{background-position:-200px -8px}
20.000000%{background-position:0px -48px}
23.333333%{background-position:-40px -48px}
26.666667%{background-position:-80px -48px}
30.000000%{background-position:-120px -48px}
33.333333%{background-position:-160px -48px}
36.666667%{background-position:-200px -48px}
40.000000%{background-position:0px -88px}
43.333333%{background-position:-40px -88px}
46.666667%{background-position:-80px -88px}
50.000000%{background-position:-120px -88px}
53.333333%{background-position:-160px -88px}
56.666667%{background-position:-200px -88px}
60.000000%{background-position:0px -128px}
63.333333%{background-position:-40px -128px}
66.666667%{background-position:-80px -128px}
70.000000%{background-position:-120px -128px}
73.333333%{background-position:-160px -128px}
76.666667%{background-position:-200px -128px}
80.000000%{background-position:0px -168px}
83.333333%{background-position:-40px -168px}
86.666667%{background-position:-80px -168px}
90.000000%{background-position:-120px -168px}
93.333333%{background-position:-160px -168px}
96.666667%{background-position:-200px -168px}
100%{background-position:0 -8px}
}
@media(prefers-reduced-motion:reduce){:root[data-look="synthwave"] .exercise-link:is(.linked,.link-selected) .superset-sprite{animation:none;background-position:-160px -48px}}

/* The chrome links stand alone; the full touch target remains. */
:root[data-look="synthwave"] #exercise-list .exercise-link{background:none;border:0;border-image:none;border-radius:0;box-shadow:none;clip-path:none;filter:none}
/* Workout variety: a quiet control directly beneath the day choices. */
.pass-variation{margin:16px 0 28px;padding:0 2px;color:var(--ink)}
.pass-variation :is(label,.duration-label){font-weight:700}
.pass-variation output{color:var(--muted);font-size:14px}
.pass-variation input[type=range]{display:block;appearance:none;-webkit-appearance:none;width:100%;height:44px;padding:0;margin:2px 0;border:0;border-radius:0;outline-offset:2px;background:transparent;box-shadow:none;cursor:pointer}
.pass-variation input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:linear-gradient(to right,var(--accent,var(--green,#ec29cc)) 0 var(--variation),var(--line,#51456c) var(--variation) 100%)}
.pass-variation input[type=range]::-moz-range-track{height:6px;border-radius:3px;background:var(--line,#51456c)}
.pass-variation input[type=range]::-moz-range-progress{height:6px;background:var(--accent,var(--green,#ec29cc))}
.pass-variation input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:22px;height:22px;margin-top:-8px;border:2px solid var(--ink);border-radius:50%;background:var(--accent,var(--green,#ec29cc));box-shadow:0 2px 6px #0003}
.pass-variation input[type=range]::-moz-range-thumb{width:18px;height:18px;border:2px solid var(--ink);border-radius:50%;background:var(--accent,var(--green,#ec29cc))}
.pass-variation input[type=range]:focus-visible{outline:2px solid var(--ink)}
.pass-variation input[type=range]:disabled{opacity:.5;cursor:wait}
.variation-endpoints,.variation-actions{display:flex;justify-content:space-between;align-items:center;gap:12px}
.variation-endpoints{margin-top:-4px;color:var(--muted);font-size:12px}
.variation-actions{margin-top:14px}
.variation-actions small{color:var(--muted)}

:root[data-look="synthwave"] .pass-variation input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right,#f337d3,#3cdce8) 0 0 / var(--variation) 100% no-repeat,var(--line,#51456c)}
:root[data-look="synthwave"] .pass-variation input[type=range]::-webkit-slider-thumb{border-color:#effaff;background:#3cdce8}
@media(max-width:480px){.variation-actions{align-items:flex-start}.pass-variation output{font-size:12px}}
:root #pass-variation,:root #pass-duration{border:0;border-image:none;background:transparent;box-shadow:none;border-radius:0}
/* Default palettes come from the chosen avatar; status meanings stay consistent. */
:root[data-look="original"] button.primary{background:var(--green);color:#fff}
:root[data-look="original"] :is(button,input,select,summary,a):focus-visible{outline-color:var(--green)}
:root[data-look="original"] ::selection{background:var(--soft);color:var(--ink)}
:root[data-look="original"] .sidebar .nav-item{color:#dce5e9}
:root[data-look="original"] .sidebar .nav-item.active{background:var(--green);color:#fff}
:root[data-look="original"] .sidebar .nav-item.active>span{color:#fff}
:root[data-look="original"] .sidebar :is(.nav-label,.sidebar-bottom small){color:#c6d4da}
:root[data-look="original"] .pass-card.selected{background:var(--paper);border-color:var(--green);box-shadow:0 0 0 1px var(--green)}
:root[data-look="original"] .session-progress{background:#ffffff26}
:root[data-look="original"] .exercise.is-active:not(.is-complete){border:2px solid var(--green)}
:root[data-look="original"] .exercise.is-active:not(.is-complete)>summary{background:var(--soft)}
:root[data-look="original"] .exercise.is-complete{border-color:var(--success);background:var(--success-soft)}
:root[data-look="original"] .exercise.is-complete :is(.ex-number,.exercise-set-count){color:var(--success);font-weight:700}
:root[data-look="original"] .set-table tr.next-set{background:var(--soft)}
:root[data-look="original"] .set-table tr.next-set :is(.set-number,.set-state){color:var(--green);font-weight:700}
:root[data-look="original"] .set-table tr.completed{background:var(--success-soft)}
:root[data-look="original"] .set-table tr.completed :is(.set-number,.set-state){color:var(--success)}
:root[data-look="original"] .set-table tr.completed input{background:transparent;border-color:transparent;color:var(--success);font-weight:600}
:root[data-look="original"] .set-table tr:not(.completed):not(.next-set) :is(input,.set-number){color:var(--muted)}
:root[data-look="original"] :is(.set-rest,.rest-bar){background:var(--warning-soft);color:var(--warning);border-color:var(--warning)}
:root[data-look="original"] .set-rest{padding:16px;border-radius:8px}
:root[data-look="original"] :is(.set-rest-clock strong,.rest-bar strong){color:var(--warning)}
:root[data-look="original"] button.danger{color:var(--orange)}
:root[data-look="original"] .avatar-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
:root[data-look="original"] .avatar-option{aspect-ratio:auto;min-height:156px;padding:14px;display:flex;flex-direction:column;align-items:center;gap:9px;background:var(--avatar-soft);border:2px solid transparent;border-radius:12px;color:var(--avatar-ink);text-align:center}
:root[data-look="original"] .avatar-option[aria-pressed="true"]{border-color:var(--avatar-accent);outline:none}
:root[data-look="original"] .avatar-option .avatar-preview{width:64px;height:64px;min-height:64px;background:none}
:root[data-look="original"] .avatar-option .avatar-portrait{width:100%;height:100%}
:root[data-look="original"] .avatar-option>span:nth-child(2){position:static;padding:0;background:none;color:var(--avatar-ink);text-shadow:none;font-size:14px;font-weight:600}
:root[data-look="original"] .avatar-option>span:nth-child(2) small{margin-left:6px;color:var(--avatar-accent);font-size:11px}
:root[data-look="original"] .avatar-option>.palette-swatches{position:static;display:flex;gap:5px;background:none;padding:0;text-shadow:none}
.palette-swatches i{display:block;width:16px;height:8px;border-radius:3px}
.palette-key{display:flex;gap:20px;flex-wrap:wrap;margin-top:14px;font-size:13px;font-weight:600}
.palette-key span{display:inline-flex;align-items:center;gap:7px}
.palette-key span:before{content:'';width:9px;height:9px;border-radius:50%;background:currentColor}
.palette-active{color:var(--green)}.palette-done{color:var(--success)}.palette-rest{color:var(--warning)}
@media(max-width:680px){:root[data-look="original"] .avatar-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Dark and neon Default palettes use their own contrasting button text. */
:root[data-look="original"] button.primary,
:root[data-look="original"] .sidebar .nav-item.active,
:root[data-look="original"] .sidebar .nav-item.active>span{color:var(--on-accent,#fff)}
:root[data-look="original"] .avatar-family h4{margin:26px 0 0;font-size:14px;font-weight:650;color:var(--muted)}
:root[data-look="original"] .avatar-family .avatar-options{margin-top:12px}
:root[data-look="original"] .sync-conflict{background:var(--warning-soft);color:var(--warning)}
/* One star per achievement level; shape and fill expose progress without colour alone. */
.achievement-stars{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.achievement-star{display:block;width:20px;height:20px;flex:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}
.achievement-star.is-filled{fill:currentColor;color:var(--green)}
.achievement-star.is-empty{fill:none;color:var(--muted)}
.achievement-levels>span{display:inline-flex;align-items:center;gap:6px}
.achievement-levels .achievement-star{width:15px;height:15px}
:root[data-look="original"] .achievement-levels .unlocked{background:var(--soft);color:var(--green)}
:root[data-look="original"] .achievement-levels .locked{background:var(--bg);color:var(--muted)}
:root[data-look="original"] .achievement-progress{background:var(--line)}
/* Progression guidance follows the selected Default palette, including dark variants. */
:root[data-look="original"] .work-aside .side-accent{background:var(--soft);color:var(--ink);border-color:var(--line)}
:root[data-look="original"] .work-aside .side-accent :is(.large,.small-text,.note){color:var(--ink)}
:root[data-look="original"] .work-aside .side-accent .eyebrow{color:var(--green)}
/* Finish Default palette coverage across recency, calendar, statistics and account UI. */
:root[data-look="original"] .pass-card>.pass-recency-fill{background:var(--soft)}
:root[data-look="original"] .pass-card.selected>.pass-recency-fill{background:var(--soft)}
:root[data-look="original"] .week-day i{background:var(--soft);color:var(--ink)}
:root[data-look="original"] .week-day i.trained{background:var(--green);color:var(--on-accent)}
:root[data-look="original"] .week-day i:is(.type-push,.type-pull,.type-legs,.type-other){background:color-mix(in srgb,var(--type-color) 18%,var(--paper));color:var(--ink)}
:root[data-look="original"] .no-training{background:var(--soft)}
:root[data-look="original"] .week-log-pass{border-color:var(--line)}
:root[data-look="original"] .muscle-bar{background:var(--soft)}
:root[data-look="original"] .muscle-bar .decline{background:var(--warning)}
:root[data-look="original"] .muscle-zero{background:var(--muted)}
:root[data-look="original"] .check{background:var(--paper);color:var(--muted)}
:root[data-look="original"] .check[aria-pressed="true"],
:root[data-look="original"] button.lime{background:var(--green);color:var(--on-accent)}
:root[data-look="original"] .rest-bar small{color:var(--warning)}
:root[data-look="original"] :is(.user-card,.user-invite,.invite-row){border-color:var(--line)}
:root[data-look="original"] :is(.user-card summary span,.invite-row small){color:var(--muted)}
:root[data-look="original"] .user-edit-hint{color:var(--green)!important}
:root[data-look="original"] #login-error{color:var(--orange)}
:root[data-look="original"] .edition{border-color:var(--lime)}
:root[data-look="original"] .sidebar .nav-item:not(.active)>span{color:var(--lime)}
/* Superset chrome and heading share the Synthwave display treatment. */
:root[data-look="synthwave"] .superset-group-head h3{font-family:var(--display);font-size:2rem;line-height:1.2;background:linear-gradient(105deg,#ff45d3 10%,#dd69e0 40%,#35e7e0 95%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;padding-right:.15em}
:root[data-look="synthwave"] .superset-sprite{opacity:1}
:root[data-look="synthwave"] .exercise-link:is(.linked,.link-selected) .superset-sprite{filter:drop-shadow(0 0 3px #76edffbb) drop-shadow(0 0 7px #e277ff77)}

/* Synthwave pass selection uses the established display lettering. */
:root[data-look="synthwave"] .pass-card .pass-card-title,
:root[data-look="synthwave"] .pass-variation :is(label,.duration-label){font-family:var(--display);font-size:clamp(1.35rem,3vw,1.8rem);line-height:1.2;font-weight:700;background:linear-gradient(105deg,#ff45d3 10%,#dd69e0 40%,#35e7e0 95%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;text-shadow:none;padding-right:.15em}

/* Native dropdown rows need solid theme colors rather than the field surface. */
select option,select optgroup{background-color:var(--paper);color:var(--ink);-webkit-text-fill-color:var(--ink);text-shadow:none;font-family:inherit}


.superset-editor-heading{display:flex;align-items:center;gap:16px;min-height:36px}
.superset-editor-icon{display:block;width:60px;height:36px;flex:none}
:root[data-look="synthwave"] .superset-editor-icon .superset-sprite{transform:scale(1.5);transform-origin:top left;animation:superset-chrome-spin 2.5s steps(1,end) infinite;filter:drop-shadow(0 0 3px #76edffbb) drop-shadow(0 0 7px #e277ff77)}
@media(prefers-reduced-motion:reduce){:root[data-look="synthwave"] .superset-editor-icon .superset-sprite{animation:none;background-position:-160px -48px}}

.exercise-swipe{position:relative;margin-bottom:14px;min-height:72px;padding:4px;isolation:isolate}
:root #exercise-list .exercise-swipe>.exercise{width:calc(100% - 50px);margin:0;position:relative;z-index:2;transition:transform 260ms cubic-bezier(.16,1,.3,1)}
.exercise-reveal{position:absolute;right:0;top:14px;width:44px;height:52px;display:grid;place-items:center;padding:0;background:var(--paper);color:var(--ink);border:1px solid var(--line);z-index:4}
.exercise-reveal svg{width:28px;height:28px;transition:transform 260ms cubic-bezier(.16,1,.3,1)}
.exercise-swipe-actions{position:absolute;right:54px;top:4px;display:flex;gap:8px;width:calc(var(--action-size,76px)*2 + 8px);z-index:1}
.exercise-swipe-actions[hidden]{display:none}
.exercise-swipe-actions button{width:var(--action-size,76px);height:var(--action-size,76px);min-height:44px;flex:none;padding:0;display:grid;place-items:center}
.exercise-swipe-actions svg{width:32px;height:32px}
.exercise-swipe.is-revealed{overflow:hidden;min-height:calc(var(--action-size,76px) + 8px)}
:root #exercise-list .exercise-swipe.is-revealed>.exercise{transform:translateX(calc(-2*var(--action-size,76px) - 16px))}
.exercise-swipe.is-revealed .exercise-reveal svg{transform:rotate(180deg)}
:root[data-look="synthwave"] .exercise-reveal{color:#35e7e0;clip-path:polygon(6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px),0 6px)}
@media(prefers-reduced-motion:reduce){:root #exercise-list .exercise-swipe>.exercise,.exercise-reveal svg{transition:none}}

/* A brief highlight identifies the new or replacement exercise. */
:root #exercise-list .exercise{position:relative}
.exercise-change-flash{position:absolute;inset:4px 54px 4px 4px;z-index:5;pointer-events:none;border-radius:8px;border:0;background:color-mix(in srgb,var(--green) 18%,transparent);box-shadow:0 0 18px color-mix(in srgb,var(--green) 65%,transparent),inset 0 0 16px color-mix(in srgb,var(--green) 24%,transparent);animation:exercise-change-fade 2500ms cubic-bezier(.65,0,.35,1) forwards}
:root[data-look="synthwave"] .exercise-change-flash{background:none;border:0;border-radius:0;box-shadow:0 0 18px #ff45d3a6}
:root[data-look="synthwave"] .exercise-change-flash::before{content:'';position:absolute;inset:0;background:linear-gradient(105deg,#ff45d32e,#35e7e02e);clip-path:polygon(6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px),0 6px)}
@keyframes exercise-change-fade{0%{opacity:1}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.exercise-change-flash{animation-duration:150ms}}

/* Keep account and navigation anchored at the right across compact widths. */
.topbar .corner-menu{margin-left:auto}
@media(max-width:900px){
 :root .topbar{display:grid;grid-template-columns:minmax(0,1fr) auto 44px;gap:4px 8px;align-items:center}
 :root .topbar .account-bar{display:contents}
 :root .topbar .look-mast-brand{grid-column:1;grid-row:1;max-width:100%;margin-right:0}
 :root:not([data-look="original"])[data-view="pass"] .topbar .look-mast-brand{width:min(240px,100%);min-width:0}
 :root .topbar #header-username{grid-column:1;grid-row:2;min-width:0}
 :root .topbar #sync-status{grid-column:1;grid-row:3;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 :root .topbar #account-button{grid-column:2;grid-row:1 / 4}
 :root .topbar .corner-menu{grid-column:3;grid-row:1 / 4;margin-left:0}
 :root .topbar #crumb,:root .topbar #today{display:none}
 :root[data-look="original"] .topbar #header-username{grid-row:1}
 :root[data-look="original"] .topbar #sync-status{grid-row:2}
 :root .topbar #users-button{display:none}
}

/* Barlow keeps the Synthwave display voice open and legible. */
@font-face{font-family:'Reppr Barlow';src:url('https://raw.githubusercontent.com/google/fonts/main/ofl/barlowcondensed/BarlowCondensed-BoldItalic.ttf') format('truetype');font-weight:700;font-style:italic;font-display:swap}
:root[data-look="synthwave"]{--display:'Reppr Barlow',sans-serif}
:root[data-look="synthwave"] :is(h1,h2,h3,.pass-card .pass-card-title,.pass-variation :is(label,.duration-label),.footer-session strong,.superset-editor strong,.set-number,#inline-rest-time,#session-action,#log-set,#log-warmup,.set-rest button){font-family:var(--display);font-weight:700;font-style:italic}

/* Swipe the card to reveal its two square actions. */
:root #exercise-list .exercise-swipe>.exercise{width:100%;touch-action:pan-y}
:root .exercise-reveal{display:none}
.exercise-swipe-actions{right:4px}
.exercise-swipe.is-dragging{overflow:hidden}
:root #exercise-list .exercise-swipe.is-dragging>.exercise{transition:none}
.exercise-change-flash{right:4px}

/* Directional release gestures: delete to the left, switch to the right. */
.exercise-swipe-actions{inset:4px;right:4px;width:auto;display:block;pointer-events:none}
:root .exercise-swipe-actions button{position:absolute;top:0;padding:0;pointer-events:auto;opacity:.5;transition:opacity 120ms ease,background-color 120ms ease,box-shadow 120ms ease}
:root #exercise-list .exercise-swipe .exercise-swipe-actions button{padding:0}
.exercise-swipe-actions [data-remove]{right:0}
.exercise-swipe-actions [data-quick-swap]{left:0}
.exercise-swipe.swipe-left [data-quick-swap],.exercise-swipe.swipe-right [data-remove]{visibility:hidden}
.exercise-swipe-actions button.is-armed{opacity:1;background:var(--green);color:var(--paper);transform:none;box-shadow:0 0 16px color-mix(in srgb,var(--green) 65%,transparent)}
.exercise-swipe-actions button.danger.is-armed{background:#d93665;color:#fff;box-shadow:0 0 16px #d9366580}
.exercise-swipe.is-revealed .exercise-swipe-actions{inset:4px 4px auto auto;width:calc(var(--action-size,76px)*2 + 8px);display:flex}
:root .exercise-swipe.is-revealed .exercise-swipe-actions button{position:static;opacity:1}
@media(prefers-reduced-motion:reduce){.exercise-swipe-actions button{transition:none}}

/* Default is a practical training workspace; the avatar owns its palette. */
:root[data-look="original"]{--ui-radius:12px;--ui-focus:var(--green)}
:root[data-look="original"] :is(h1,h2,h3){letter-spacing:-.025em;text-wrap:balance}
:root[data-look="original"] .page-head{margin-bottom:24px;align-items:center}
:root[data-look="original"] .page-head h1{font-size:clamp(1.6rem,2.6vw,2.1rem)}
:root[data-look="original"] .page-head .eyebrow{display:none}
:root[data-look="original"] .page-head p{margin-top:8px;max-width:65ch}
:root[data-look="original"] .sidebar .nav-item{min-height:48px;padding:12px 16px;border-radius:8px;font-weight:500}
:root[data-look="original"] .sidebar .nav-item>span{display:none}
:root[data-look="original"] .topbar{letter-spacing:0;gap:16px}
:root[data-look="original"] .topbar #account-button{width:48px;height:48px;min-width:48px;min-height:48px}
:root[data-look="original"] .surface{border-radius:var(--ui-radius)}
:root[data-look="original"] :is(button,input,select){border-radius:8px}
:root[data-look="original"] :is(input,select){caret-color:var(--green)}
:root[data-look="original"] :is(button,input,select,summary,a):focus-visible{outline:2px solid var(--ui-focus);outline-offset:3px}
:root[data-look="original"] .pass-variation{margin:0 0 20px}
:root[data-look="original"] .pass-variation :is(label,.duration-label){font-size:.875rem;font-weight:600}
:root[data-look="original"] .pass-variation input[type=range]{margin-bottom:0}
:root[data-look="original"] .pass-choice{padding:0;border:0;background:transparent;margin-bottom:24px}
:root[data-look="original"] .pass-choice .pass-cards{margin:0;gap:12px}
:root[data-look="original"] .pass-card{padding:18px;min-height:140px;gap:8px;border-radius:var(--ui-radius);background:var(--paper);position:relative;overflow:hidden}
:root[data-look="original"] .pass-card .pass-card-title{margin:0;font-size:1.25rem;line-height:1.3}
:root[data-look="original"] .pass-card .pass-muscles{font-size:.875rem;line-height:1.4}
:root[data-look="original"] .pass-card small{margin-top:auto;font-size:.8rem;line-height:1.4;color:var(--muted)}
:root[data-look="original"] .pass-card.selected{box-shadow:none;border-color:var(--green)}
:root[data-look="original"] .session-head{padding:20px 24px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:var(--ui-radius)}
:root[data-look="original"] .session-head h2{font-size:1.75rem;line-height:1.2}
:root[data-look="original"] .session-head small{color:var(--muted);font-size:.875rem}
:root[data-look="original"] .session-head .row+ .row{margin-top:8px}
:root[data-look="original"] .session-progress{background:var(--line);margin-top:16px;height:4px}
:root[data-look="original"] .session-progress>span{background:var(--green)}
:root[data-look="original"] .exercise-swipe{padding:4px;margin-bottom:10px}
:root[data-look="original"] .exercise summary{padding:18px 20px;gap:16px;min-height:80px}
:root[data-look="original"] .exercise summary .ex-number{display:none}
:root[data-look="original"] .exercise summary h3{font-size:1.05rem;line-height:1.35;overflow-wrap:anywhere}
:root[data-look="original"] .exercise summary .ex-name>small{font-size:.8rem;line-height:1.5}
:root[data-look="original"] .exercise.is-active:not(.is-complete){border-width:1px;border-color:var(--green)}
:root[data-look="original"] .exercise[open]>summary{border-radius:11px 11px 0 0}
:root[data-look="original"] .exercise-body{padding:0 20px 20px}
:root[data-look="original"] .previous{margin:0 0 20px;padding:16px;background:var(--bg);border-radius:8px;font-size:.875rem;line-height:1.6}
:root[data-look="original"] .previous .eyebrow{font-size:.7rem;letter-spacing:.08em}
:root[data-look="original"] .set-table th{font-size:.8rem;color:var(--muted);font-weight:500;padding-bottom:8px}
:root[data-look="original"] .set-table input{font-size:1.125rem;font-weight:500;min-height:48px;text-align:center}
:root[data-look="original"] .set-table .set-state{font-size:.7rem}
:root[data-look="original"] .set-logger{margin-top:20px}
:root[data-look="original"] .superset-group{background:var(--bg);border:1px solid var(--line);border-radius:var(--ui-radius);padding:12px 8px 4px}
:root[data-look="original"] .superset-group-head{padding:4px 16px 12px}
:root[data-look="original"] .superset-group-head h3{font-size:1.15rem;color:var(--green)}
:root[data-look="original"] :is(.side-section,.settings-grid>.surface,.achievement,.chart-card){padding:24px}
:root[data-look="original"] :is(.side-section,.settings-grid) p{max-width:65ch}
:root[data-look="original"] :is(.note,.small-text,.legend,.achievement-current,.achievement-record){font-size:.875rem;line-height:1.6}
:root[data-look="original"] .settings-grid{gap:24px;align-items:start}
:root[data-look="original"] .settings-grid h2{margin-bottom:12px;font-size:1.25rem}
:root[data-look="original"] .settings-grid label.field{font-size:.875rem;font-weight:500;gap:8px}
:root[data-look="original"] .settings-grid :is(input,select){min-height:48px}
:root[data-look="original"] .achievement-star{width:22px;height:22px}
:root[data-look="original"] .achievement-levels .achievement-star{width:15px;height:15px}
:root[data-look="original"] .achievement h2{font-size:1.15rem}
:root[data-look="original"] .achievement-value{font-size:2rem;letter-spacing:-.025em}
:root[data-look="original"] .history-item summary{padding:20px;gap:16px}
:root[data-look="original"] .session-footer{box-shadow:none;padding-top:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}
@media(hover:hover){
 :root[data-look="original"] :is(button.secondary,.pass-card):hover{border-color:var(--green);background:var(--soft)}
 :root[data-look="original"] button.quiet:hover{color:var(--ink);background:var(--soft)}
}
@media(max-width:680px){
 :root[data-look="original"] .page-head{margin-bottom:20px}
 :root[data-look="original"] .pass-choice .pass-cards{gap:8px}
 :root[data-look="original"] .pass-card{padding:14px 10px;min-height:144px}
 :root[data-look="original"] .pass-card .pass-card-title{font-size:1.125rem}
 :root[data-look="original"] .pass-card .pass-muscles{font-size:.8rem}
 :root[data-look="original"] .pass-card small{font-size:.75rem}
 :root[data-look="original"] .session-head{padding:18px 20px}
 :root[data-look="original"] .exercise summary{padding:16px;gap:12px}
 :root[data-look="original"] .exercise-body{padding:0 12px 16px}
 :root[data-look="original"] .previous{padding:14px;margin-bottom:16px}
 :root[data-look="original"] .set-table th:last-child{width:36px}
 :root[data-look="original"] .set-table td{padding:5px 3px}
 :root[data-look="original"] :is(.settings-grid>.surface,.achievement,.chart-card){padding:20px}
 :root[data-look="original"] .session-footer{gap:12px}
 :root[data-look="original"] .footer-actions>button{min-height:48px}
}

/* Play the original 6 x 5 sheet without moving or separating its arrows. */
.quick-switch-sprite{display:block;position:absolute;inset:0;width:100%;height:100%;background-image:url('icons/quick-switch-arrows.png');background-size:600% 500%;background-position:0% 0%;background-repeat:no-repeat;pointer-events:none;border-radius:inherit}
.exercise-swipe-actions [data-quick-swap].is-armed .quick-switch-sprite{animation:quick-switch-frames 2s steps(1,end) infinite}
@keyframes quick-switch-frames{
0.000000%{background-position:0% 0%}
3.333333%{background-position:20% 0%}
6.666667%{background-position:40% 0%}
10.000000%{background-position:60% 0%}
13.333333%{background-position:80% 0%}
16.666667%{background-position:100% 0%}
20.000000%{background-position:0% 25%}
23.333333%{background-position:20% 25%}
26.666667%{background-position:40% 25%}
30.000000%{background-position:60% 25%}
33.333333%{background-position:80% 25%}
36.666667%{background-position:100% 25%}
40.000000%{background-position:0% 50%}
43.333333%{background-position:20% 50%}
46.666667%{background-position:40% 50%}
50.000000%{background-position:60% 50%}
53.333333%{background-position:80% 50%}
56.666667%{background-position:100% 50%}
60.000000%{background-position:0% 75%}
63.333333%{background-position:20% 75%}
66.666667%{background-position:40% 75%}
70.000000%{background-position:60% 75%}
73.333333%{background-position:80% 75%}
76.666667%{background-position:100% 75%}
80.000000%{background-position:0% 100%}
83.333333%{background-position:20% 100%}
86.666667%{background-position:40% 100%}
90.000000%{background-position:60% 100%}
93.333333%{background-position:80% 100%}
96.666667%{background-position:100% 100%}
100%{background-position:0% 0%}
}
@media(prefers-reduced-motion:reduce){.exercise-swipe-actions [data-quick-swap].is-armed .quick-switch-sprite{animation:none}}

/* Keep progress within the fixed footer when its normal position is offscreen. */
:root #session-footer>.footer-progress{position:absolute;left:16px;right:16px;bottom:calc(5px + env(safe-area-inset-bottom));height:4px;overflow:hidden;border-radius:2px;background:var(--line);pointer-events:none}
.footer-progress>span{display:block;height:100%;background:var(--green);border-radius:inherit}
:root[data-look="synthwave"] .footer-progress>span{background:linear-gradient(90deg,#f337d3,#35e7e0)}

/* Linked exercises share one frame; the group title sits above it. */
:root #exercise-list .superset-group{padding:0;border:0;border-image:none;border-radius:0;background:transparent;box-shadow:none}
:root #exercise-list .superset-group::before,:root #exercise-list .superset-group::after{display:none;content:none}
:root #exercise-list .superset-group-head{justify-content:flex-start;flex-wrap:nowrap;gap:8px;padding:0 8px 12px}
.superset-info{display:grid;place-items:center;width:44px;height:44px;padding:0;flex:none;background:transparent;color:var(--muted);border:0;border-radius:8px}
.superset-info svg{width:22px;height:22px}
.superset-info:hover{color:var(--ink);background:var(--soft)}
:root #exercise-list .superset-group-exercises{margin-inline:4px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
:root #exercise-list .superset-group .superset-group-exercises .exercise{border:0;border-image:none;border-radius:0;background:transparent;box-shadow:none;filter:none}
:root #exercise-list .superset-group-exercises .exercise::before{display:none;content:none}
:root #exercise-list .superset-group-exercises>.exercise-swipe{padding:0;margin:0;min-height:0}
:root #exercise-list .superset-group-exercises>.exercise-swipe+.exercise-swipe{border-top:1px solid var(--line)}
:root #exercise-list .superset-group-exercises .exercise>summary{border-radius:0;padding-left:20px;padding-right:20px}
:root #exercise-list .superset-group-exercises .exercise-swipe-actions{inset:0}
:root[data-look="synthwave"] #exercise-list .superset-group-exercises{border:1px solid transparent;border-radius:0;background:none;border-image:var(--chamfer-panel) 20 fill / 6px / 0 stretch}
:root[data-look="synthwave"]{--active-exercise-fill:#f337d31a}
/* The active tint fades through the entire exercise, rather than ending at the summary. */
:root[data-look="synthwave"] #exercise-list .exercise.is-active:not(.is-complete)>summary{background:transparent}
:root[data-look="synthwave"] #exercise-list .exercise.is-active:not(.is-complete)::after{content:'';display:block;position:absolute;inset:0;width:auto;height:auto;z-index:0;pointer-events:none;background:linear-gradient(to bottom,var(--active-exercise-fill) 0%,#f337d30d 45%,transparent 100%);clip-path:polygon(6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px),0 6px)}
:root[data-look="synthwave"] #exercise-list .exercise.is-active:not(.is-complete)>summary,:root[data-look="synthwave"] #exercise-list .exercise.is-active:not(.is-complete)>.exercise-body{position:relative;z-index:1}
:root[data-look="synthwave"] #exercise-list .superset-group-exercises:has(.exercise.is-active){border-image-source:var(--chamfer-hot)}

/* Drag handles keep vertical ordering separate from horizontal swipe actions. */
.exercise-drag-handle{display:grid;place-items:center;width:44px;height:44px;min-width:44px;padding:0;border:0;background:transparent;color:var(--muted);cursor:grab;touch-action:none;user-select:none;flex:none;border-radius:8px}
.exercise-drag-handle svg{width:20px;height:24px;pointer-events:none}
.exercise-drag-handle:hover{color:var(--ink);background:var(--soft)}
.exercise-drag-handle:active{cursor:grabbing}
.superset-group-head .exercise-drag-handle{margin-left:auto}
:root #exercise-list>.is-reordering{opacity:.4}
.exercise-drag-preview{position:fixed;z-index:100;pointer-events:none;max-width:min(320px,calc(100vw - 32px));padding:14px 18px;background:var(--paper);color:var(--ink);border-radius:10px;box-shadow:0 8px 24px #0004;font-weight:600;font-size:.875rem;line-height:1.4}

/* Completed work stays readable, with a quieter blue heading in Synthwave. */
:root[data-look="synthwave"] #exercise-list .exercise.is-complete>summary .ex-name{opacity:1}
:root[data-look="synthwave"] #exercise-list .exercise.is-complete>summary h3{color:#8aa4ca;text-shadow:none}
:root[data-look="original"] #exercise-list .exercise.is-complete>summary h3{color:var(--muted)}

/* Heading gradients distinguish upcoming, active and completed exercises. */
:root[data-look="synthwave"] #exercise-list .exercise>summary h3{background-image:linear-gradient(105deg,#c28eb9 10%,#9c9bc5 45%,#74b6bf 95%);background-size:100% 100%;background-position:0% 50%;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;text-shadow:none;animation:none;padding-right:.12em}
:root[data-look="synthwave"] #exercise-list .exercise.is-active:not(.is-complete)>summary h3{background-image:linear-gradient(105deg,#ff45d3,#dd69e0,#35e7e0,#ff45d3);background-size:250% 100%;animation:set-number-cycle 8s ease-in-out infinite}
:root[data-look="synthwave"] #exercise-list .exercise.is-complete>summary h3{background-image:linear-gradient(105deg,#7086ad 10%,#7d88ac 45%,#648fac 95%);background-size:100% 100%;animation:none}
@media(prefers-reduced-motion:reduce){:root[data-look="synthwave"] #exercise-list .exercise.is-active:not(.is-complete)>summary h3{animation:none}}

/* Default: shared guidance colour, breathing room and a full-width next-set band. */
:root[data-look="original"] .session-head{background:var(--soft)}
:root[data-look="original"] .exercise-body{--exercise-inset:20px;padding-top:16px}
:root[data-look="original"] .set-table tr.next-set{outline:0;box-shadow:none;background:var(--soft)}
 :root[data-look="original"] .set-table tr.next-set>td{position:relative}
:root[data-look="original"] .set-table tr.next-set>td:first-child::before,:root[data-look="original"] .set-table tr.next-set>td:last-child::after{content:'';position:absolute;top:0;bottom:0;width:var(--exercise-inset);background:var(--soft);pointer-events:none}
:root[data-look="original"] .set-table tr.next-set>td:first-child::before{left:calc(-1 * var(--exercise-inset))}
:root[data-look="original"] .set-table tr.next-set>td:last-child::after{right:calc(-1 * var(--exercise-inset))}
@media(max-width:680px){:root[data-look="original"] .exercise-body{--exercise-inset:12px}}

@media(pointer:coarse){:root[data-look="original"] .set-table tr.next-set>td:nth-child(3)::after{content:'';position:absolute;top:0;bottom:0;right:calc(-1 * var(--exercise-inset));width:var(--exercise-inset);background:var(--soft);pointer-events:none}}

/* Standalone fills stay inside their frame; supersets retain their shared fill. */
:root[data-look="synthwave"] #exercise-list>.exercise-swipe>.exercise{
 background:linear-gradient(135deg,#11122b,#08071d);
 border-image-slice:20;
}
/* Keep the variety label and its current value together. */
.pass-variation>.row{justify-content:flex-start;gap:8px}
.variation-divider{color:var(--muted);font-size:14px;font-weight:400}

/* Keep the fill inside the Synthwave frame's cut corners. */
:root[data-look="synthwave"] #exercise-list>.exercise-swipe>.exercise{
 clip-path:polygon(6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px),0 6px);
}

.gender-settings{padding:24px;margin-bottom:24px}.gender-settings p{color:var(--muted);margin-top:8px}.gender-settings .row{margin-top:16px}.gender-settings .note{margin-top:16px}
.gender-options{display:grid;grid-template-columns:repeat(2,minmax(0,160px));gap:12px;margin-top:16px}.gender-option{display:flex;flex-direction:column;align-items:stretch;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);text-align:left;cursor:pointer}.gender-option[aria-pressed="false"]{opacity:.65}.gender-option[aria-pressed="true"]{outline:3px solid currentColor;outline-offset:2px}.gender-sample{position:relative;display:block;aspect-ratio:4/3;background:#fff}.gender-sample img{width:100%;height:100%;object-fit:contain;display:block}.gender-sample i{position:absolute;top:8px;right:8px;font-style:normal;font-weight:700;min-width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--paper)}.gender-sample i:empty{display:none}
:root[data-look="synthwave"] .gender-option{border-radius:0}:root[data-look="synthwave"] .gender-sample{background:#12051f}
.exclude-settings{padding:24px;margin-bottom:24px}.exclude-settings>p{color:var(--muted);margin-top:8px}.exclude-muscles{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.exclude-muscle{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--paper);cursor:pointer}.exclude-muscle:has(input:checked){border-color:var(--ink);background:var(--soft,var(--bg))}.exclude-muscle:has(input:checked) span{text-decoration:line-through}.exclude-muscle:has(input:focus-visible){outline:3px solid #6c9c47;outline-offset:2px}
:root[data-look="synthwave"] .exclude-muscle{border-radius:0}
.ai-day-icon{background:currentColor;-webkit-mask:var(--ai-icon) center/contain no-repeat;mask:var(--ai-icon) center/contain no-repeat}
.pass-card-title:has(.pass-ai-badge){flex-wrap:wrap;gap:2px 6px}.pass-ai-badge{display:inline-block;align-self:center;padding:5px 7px 1px;border:1.5px solid currentColor;border-radius:7px;font-size:.62em;font-weight:700;line-height:1;letter-spacing:.04em}
