:root{--bg: #15161a;--surface: #1d1f23;--surface2: #25272c;--line: #34373d;--chalk: #edeae1;--chalk-dim: #9b9c9c;--brass: #c4a661;--oxide: #b23a2e;--green: #6e8f5c}*{box-sizing:border-box;margin:0}body{background:var(--bg);color:var(--chalk);font-family:system-ui,sans-serif;min-height:100dvh}.shell{display:flex;flex-direction:column;min-height:100dvh;padding-top:env(safe-area-inset-top)}header{padding:1rem 1rem .5rem;border-bottom:1px solid var(--line)}h1{color:var(--brass);letter-spacing:.12em;font-size:1.25rem}.tagline{color:var(--chalk-dim);font-size:.8rem}main{flex:1;padding:.75rem .75rem 5.5rem;overflow-y:auto}.dim{color:var(--chalk-dim);font-size:.85rem}.note{color:var(--brass)}.card{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:.9rem;margin-bottom:.75rem}.card h2{font-size:1.05rem;margin-bottom:.35rem}.card h3{font-size:.95rem;display:inline}.card .meta{margin:.35rem 0}.row{display:flex;gap:.5rem;margin-top:.75rem}.block-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.block.skipped{opacity:.45}.block-actions{display:flex;gap:.35rem}.tag{display:inline-block;font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--chalk-dim);border:1px solid var(--line);border-radius:3px;padding:.1rem .35rem;margin-right:.45rem;vertical-align:middle}.tag-main{color:var(--brass);border-color:var(--brass)}.tag-warmup,.tag-recovery{color:var(--green)}button.icon{background:var(--surface2);color:var(--chalk);border:1px solid var(--line);border-radius:4px;min-width:40px;min-height:40px;font-size:1rem}.set-row{display:flex;align-items:center;gap:.4rem;padding:.3rem 0;border-top:1px solid var(--line)}.set-row:first-of-type{border-top:none}.set-row .target{flex:1;font-size:.85rem;min-width:0}.set-row input{width:3.6rem;min-height:42px;background:var(--bg);color:var(--chalk);border:1px solid var(--line);border-radius:4px;text-align:center;font-size:.95rem}button.bw-toggle{min-width:38px;min-height:42px;border-radius:4px;border:1px solid var(--line);background:var(--surface2);color:var(--chalk-dim);font-size:.7rem;letter-spacing:.05em}button.bw-toggle.on{border-color:var(--brass);color:var(--brass)}button.done{min-width:44px;min-height:44px;border-radius:4px;border:1px solid var(--line);background:var(--surface2);color:var(--chalk-dim);font-size:1.1rem}button.done.on{background:var(--green);color:var(--bg);border-color:var(--green)}.seg{display:flex;align-items:center;gap:.4rem;margin:.5rem 0;flex-wrap:wrap}.seg>span{width:5.2rem;color:var(--chalk-dim);font-size:.8rem}.seg button{background:var(--surface2);color:var(--chalk);border:1px solid var(--line);border-radius:4px;padding:.55rem .8rem;min-height:44px;font-size:.85rem}.seg button.on{border-color:var(--brass);color:var(--brass)}button.primary{background:var(--brass);color:var(--bg);border:none;border-radius:4px;padding:.7rem 1.1rem;min-height:48px;font-weight:600;margin-top:.5rem}textarea{width:100%;background:var(--bg);color:var(--chalk);border:1px solid var(--line);border-radius:4px;padding:.5rem;margin:.4rem 0;font-family:inherit}.hold-btn{position:relative;overflow:hidden;flex:1;min-height:52px;background:var(--surface2);color:var(--chalk);border:1px solid var(--brass);border-radius:4px;font-size:.95rem;font-weight:600;touch-action:none;user-select:none;-webkit-user-select:none}.hold-btn .hold-fill{position:absolute;inset:0 auto 0 0;width:var(--hold, 0%);background:var(--brass);opacity:.35;transition:none;pointer-events:none}.hold-btn .hold-label{position:relative}.hold-btn .hold-hint{position:relative;display:block;font-size:.6rem;font-weight:400;color:var(--chalk-dim);letter-spacing:.1em;text-transform:uppercase}.hold-ghost{border-color:var(--line)}.hold-danger{border-color:var(--oxide)}.rest-timer{position:fixed;bottom:4.6rem;left:50%;transform:translate(-50%);background:var(--surface2);border:1px solid var(--brass);color:var(--brass);border-radius:999px;padding:.5rem 1.1rem;font-variant-numeric:tabular-nums;font-size:.95rem;z-index:10}.rest-timer.done{color:var(--green);border-color:var(--green)}.journal-line{font-size:.85rem;margin:.25rem 0}.swap-session{margin-top:.6rem}.swap-session summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.swap-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem}.swap-chips button{background:var(--surface2);color:var(--chalk);border:1px solid var(--line);border-radius:999px;padding:.5rem .9rem;min-height:44px;font-size:.8rem}.wod-options{display:flex;flex-direction:column;gap:.4rem;margin:.6rem 0}.wod-option{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;text-align:left;background:var(--surface2);color:var(--chalk);border:1px solid var(--line);border-radius:4px;padding:.7rem .8rem;min-height:56px;font-size:.9rem}.wod-option.on{border-color:var(--brass)}.wod-option.on strong{color:var(--brass)}.intake h2{margin-bottom:.5rem}.intake p{margin-bottom:.6rem}.limitation-list{margin:.5rem 0}.limitation{border-top:1px solid var(--line);padding:.2rem 0}.limitation:first-child{border-top:none}button.lim-toggle{display:block;width:100%;text-align:left;background:transparent;color:var(--chalk);border:none;padding:.6rem .2rem;min-height:44px;font-size:.9rem}.limitation.on button.lim-toggle,button.lim-toggle:has(+.seg){color:var(--brass)}.swap-chips button.on{border-color:var(--brass);color:var(--brass)}.update-toast{position:fixed;top:env(safe-area-inset-top,.5rem);left:.5rem;right:.5rem;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:var(--surface2);border:1px solid var(--brass);border-radius:4px;padding:.6rem .8rem;font-size:.85rem}.update-toast button{background:var(--brass);color:var(--bg);border:none;border-radius:4px;padding:.5rem .9rem;min-height:44px;font-weight:600}nav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);background:var(--surface);padding-bottom:env(safe-area-inset-bottom)}nav button{background:transparent;color:var(--chalk-dim);border:none;padding:.9rem 0;font-size:.8rem;min-height:48px}nav button.active{color:var(--brass)}
