:root{--bg: #121513;--card: #1b201d;--card-2: #232925;--ink: #e9ece9;--muted: #98a19b;--line: #2e3531;--accent: #8cc0ad;--accent-ink: #10201a;--accent-soft: #263630;--warn: #e0a444;--danger: #e3907f;--s1: #3987e5;--s2: #d95926;--radius: 14px;--tap: 52px;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink)}body{font:17px/1.4 -apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit;color:inherit}h1{font-size:1.35rem;margin:0;font-weight:650}h2{font-size:1rem;margin:0 0 8px;font-weight:600}h3{font-size:.95rem;margin:0;font-weight:600}a{color:var(--accent)}.muted{color:var(--muted)}.small{font-size:.85rem}.num{font-variant-numeric:tabular-nums}.error{color:var(--danger)}.center{text-align:center}.app{min-height:100dvh;display:flex;flex-direction:column}.main{flex:1;width:100%;max-width:560px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 8px) 12px calc(160px + env(safe-area-inset-bottom))}.tabs{position:fixed;inset:auto 0 0 0;z-index:5;display:flex;justify-content:center;gap:6px;padding:6px 12px calc(6px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line)}.tab{flex:1;max-width:160px;min-height:48px;background:none;border:0;color:var(--muted);border-radius:10px}.tab.active{color:var(--ink);font-weight:600;background:var(--accent-soft)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;margin-bottom:10px}.list{list-style:none;margin:0;padding:0}.list>li+li{border-top:1px solid var(--line)}.row-btn{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:var(--tap);padding:8px 4px;background:none;border:0;text-align:left}.section-title{margin:18px 4px 8px;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.primary,.secondary,.ghost{min-height:48px;border-radius:12px;padding:10px 16px;border:1px solid transparent;font-weight:600;text-align:center}.primary{background:var(--accent);color:var(--accent-ink)}.primary:disabled{opacity:.4}.secondary{background:var(--accent-soft);color:var(--ink)}.ghost{background:none;border-color:var(--line);color:var(--ink);font-weight:500}.big{width:100%}.link{background:none;border:0;padding:6px 0;color:var(--accent);min-height:40px}.danger{color:var(--danger)}.stack{display:flex;flex-direction:column;gap:8px;margin:10px 0}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.spread{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.file-btn{position:relative;display:block}.file-btn input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%}.chips{display:flex;gap:6px;overflow-x:auto;padding:2px 0 6px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:none;min-width:44px;min-height:44px;padding:0 12px;border-radius:22px;border:1px solid var(--line);background:var(--card);color:var(--ink);font-variant-numeric:tabular-nums}.chip.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:650}.chip.done:not(.on){border-color:var(--accent);color:var(--accent)}select.pick{min-height:44px;border-radius:12px;border:1px solid var(--line);background:var(--card);padding:0 10px;max-width:100%}.today-head{display:flex;flex-direction:column;gap:6px;padding:4px 0 8px}.day-name{font-size:1.25rem;font-weight:650}.superset{border-left:3px solid var(--accent);padding-left:8px;margin-bottom:10px}.superset>.tag{font-size:.75rem;color:var(--accent);margin:0 0 6px 2px;text-transform:uppercase;letter-spacing:.05em}.superset .card{margin-bottom:8px}.ex-head{display:flex;gap:10px;align-items:flex-start}.order{flex:none;min-width:34px;height:34px;border-radius:10px;background:var(--card-2);display:grid;place-items:center;font-weight:650;font-size:.9rem}.ex-name{font-weight:650;font-size:1.05rem}.ex-name a{color:var(--ink);text-decoration:none}.play{font-size:.8rem;color:var(--accent);white-space:nowrap}.rx{color:var(--muted);font-size:.9rem}.coach{margin-top:6px;font-size:.88rem;color:var(--warn)}.last{margin-top:8px;font-size:.88rem;color:var(--muted);font-variant-numeric:tabular-nums}.suggest{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.suggest button{min-height:40px;border-radius:10px;border:1px dashed var(--accent);background:none;color:var(--accent);padding:0 10px}.set{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.set-line{display:grid;grid-template-columns:22px 1fr 14px 1fr 34px;gap:6px;align-items:center}.set-n{color:var(--muted);font-weight:650;text-align:center}.x{color:var(--muted);text-align:center}.field{width:100%;min-height:54px;border-radius:12px;border:1px solid var(--line);background:var(--card-2);font-size:1.35rem;font-weight:650;text-align:center;font-variant-numeric:tabular-nums;padding:0 6px}.field::placeholder{color:#5d6660;font-weight:500}.field:focus{outline:2px solid var(--accent);outline-offset:0}.field-label{font-size:.7rem;color:var(--muted);text-align:center;margin-top:2px}.rir-row{display:flex;gap:6px;margin:8px 0 0 28px;align-items:center}.rir-row .lbl{font-size:.75rem;color:var(--muted);width:28px}.rir-row .chip{flex:1;min-width:0;padding:0}.note{width:100%;min-height:44px;margin-top:10px;border-radius:10px;border:1px solid var(--line);background:var(--card-2);padding:10px;font-size:1rem}.timer{position:fixed;left:0;right:0;bottom:calc(62px + env(safe-area-inset-bottom));z-index:6;max-width:560px;margin:0 auto;padding:0 12px}.timer-inner{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:14px;background:var(--accent-soft);border:1px solid var(--accent)}.timer-time{font-size:1.8rem;font-weight:700;font-variant-numeric:tabular-nums;min-width:4ch}.timer-what{flex:1;font-size:.85rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timer.over .timer-inner{background:var(--accent);color:var(--accent-ink)}.timer.over .timer-what{color:var(--accent-ink)}.timer button{min-height:44px;min-width:52px;border-radius:10px;border:0;background:var(--card);color:var(--ink);font-weight:600}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:.9rem}th,td{text-align:right;padding:6px 4px;border-bottom:1px solid var(--line)}th:first-child,td:first-child{text-align:left}th{color:var(--muted);font-weight:500;font-size:.8rem}.down{color:var(--warn)}.chart{width:100%;height:auto;display:block;touch-action:none}.chart text{fill:var(--muted);font-size:11px}.readout{font-size:.9rem;min-height:1.4em;font-variant-numeric:tabular-nums}.search{width:100%;min-height:48px;padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:var(--card);font-size:1.05rem}textarea.paste{white-space:pre;overflow-x:auto;width:100%;min-height:120px;font:12px/1.3 ui-monospace,Menlo,monospace;background:var(--card-2);border:1px solid var(--line);border-radius:10px;padding:8px}.back{display:inline-flex;align-items:center;min-height:44px}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.chips.wrap{flex-wrap:wrap;overflow:visible}.tag{flex:none;font-size:.72rem;padding:2px 8px;border-radius:10px;border:1px solid var(--line);color:var(--muted);white-space:nowrap}.tag-new{border-color:var(--accent);color:var(--accent)}.field.mini{width:56px;min-height:44px;font-size:1.05rem;display:inline-block;margin-left:4px}.how{font-size:.9rem}.how summary{cursor:pointer;font-weight:600}.new-block{width:100%;margin:8px 0 4px}.challenge{margin-top:10px;padding:10px 12px;border-radius:12px;background:var(--accent-soft)}.challenge.up{border:1px solid var(--accent)}.challenge .targets{font-size:1.15rem;font-weight:650;margin:2px 0 4px}.challenge .suggest{margin-top:8px}.up{color:var(--accent)}.key-form{display:flex;flex-direction:column;gap:8px;margin-top:8px}.nudge{align-items:center;margin-top:8px}.clear-x{width:34px;height:44px;border:0;background:none;color:var(--muted);font-size:1.4rem;line-height:1;align-self:start;margin-top:5px}.clear-x:disabled{opacity:.2}.armed{background:var(--danger)!important;color:#1a0f0d!important;border-color:var(--danger)!important;padding-left:10px;padding-right:10px;border-radius:10px}
