:root{color:var(--c-text);background:var(--c-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;accent-color:var(--c-accent);--c-text:#0f172a;--c-text-muted:#64748b;--c-text-subtle:#94a3b8;--c-text-medium:#475569;--c-accent:#4f46e5;--c-accent-dark:#4338ca;--c-bg:#f8fafc;--c-bg-shell:#f0f9ff;--c-bg-glass:#fffc;--c-bg-panel:#ffffffd9;--c-bg-signin:#ffffffb3;--c-bg-card:#fffffff2;--c-bg-card-hover:#fff;--c-bg-modal:#fffffffa;--c-bg-input:white;--c-bg-subtle:#f1f5f9;--c-bg-subtle-hover:#e2e8f0;--c-border-glass:#ffffffb3;--c-border-card:#ffffffe6;--c-border-input:#e2e8f0;--c-shadow-inset:#fffc;--c-shadow-sm:#0f172a08;--c-shadow-md:#0f172a0a;--c-shadow:#0f172a0f;--c-shadow-lg:#0f172a14;--c-shadow-dark:#0f172a33;--c-backdrop:#0f172a4d;--c-cell-green-bg:#22c55e21;--c-cell-green-text:#15803d;--c-week-done-text:#15803d;--c-cell-gray-bg:#64748b1c;--c-cell-gray-text:#475569;--c-cell-orange-bg:#eab30821;--c-cell-orange-text:#a16207;--c-cell-red-bg:#ef44441c;--c-cell-red-text:#dc2626;--c-cell-first-bg:#4f46e51a;--c-cell-first-text:#4f46e5;--c-cell-empty-text:#e2e8f0;--c-auth-error-text:#1e3a8a;--c-auth-error-bg:#eff6ffcc;--c-auth-error-border:#4f46e533;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px}@media (prefers-color-scheme:dark){:root{--c-text:#f1f5f9;--c-text-muted:#94a3b8;--c-text-subtle:#64748b;--c-text-medium:#94a3b8;--c-bg:#0f172a;--c-bg-shell:#0d1424;--c-bg-glass:#1e293bd9;--c-bg-panel:#0f172af2;--c-bg-signin:#0f172ab3;--c-bg-card:#1e293be6;--c-bg-card-hover:#1e293b;--c-bg-modal:#1e293b;--c-bg-input:#1e293b;--c-bg-subtle:#1e293b;--c-bg-subtle-hover:#334155;--c-border-glass:#ffffff14;--c-border-card:#ffffff12;--c-border-input:#334155;--c-shadow-inset:#ffffff08;--c-shadow-sm:#00000026;--c-shadow-md:#0003;--c-shadow:#00000040;--c-shadow-lg:#0006;--c-shadow-dark:#0009;--c-backdrop:#000000b3;--c-cell-green-bg:#22c55e26;--c-cell-green-text:#4ade80;--c-week-done-text:#22c55e;--c-cell-gray-bg:#64748b33;--c-cell-gray-text:#94a3b8;--c-cell-orange-bg:#eab30826;--c-cell-orange-text:#fbbf24;--c-cell-red-bg:#ef444426;--c-cell-red-text:#f87171;--c-cell-first-bg:#6366f12e;--c-cell-first-text:#818cf8;--c-cell-empty-text:#334155;--c-auth-error-text:#a5b4fc;--c-auth-error-bg:#1e1b4b99;--c-auth-error-border:#818cf84d}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{min-width:320px;min-height:100vh;margin:0;font-size:.9rem}button{font:inherit}h2{font-size:1.15rem}h3{font-size:1rem}.app-shell{isolation:isolate;background-color:var(--c-bg-shell);background-image:radial-gradient(at 0 0,#4f46e526 0,#0000 50%),radial-gradient(at 100% 0,#06b6d426 0,#0000 50%),radial-gradient(at 100% 100%,#1e3a8a1a 0,#0000 50%),radial-gradient(at 0 100%,#0ea5e926 0,#0000 50%),radial-gradient(#e0f2fe4d 0,#0000 50%);min-height:100vh;padding:0 clamp(12px,3vw,40px) 30px;position:relative;overflow-x:clip}@media (prefers-color-scheme:dark){.app-shell{background-image:radial-gradient(at 0 0,#4f46e51f 0,#0000 50%),radial-gradient(at 100% 0,#06b6d412 0,#0000 50%),radial-gradient(at 100% 100%,#1e3a8a1a 0,#0000 50%),radial-gradient(at 0 100%,#0ea5e912 0,#0000 50%),radial-gradient(#0f172a66 0,#0000 50%)}}.ambient{z-index:-1;filter:blur(100px);opacity:.12;border-radius:999px;width:50rem;height:50rem;animation:20s ease-in-out infinite alternate drift;position:fixed}.ambient-one{background:#6366f1;top:-10rem;left:-20rem}.ambient-two{background:#06b6d4;animation-delay:-7s;bottom:-15rem;right:-25rem}@keyframes drift{0%{transform:translate(0)scale(1)}to{transform:translate(100px,50px)scale(1.15)}}.topbar{justify-content:space-between;align-items:center;gap:12px;max-width:1040px;margin:0 auto 16px;padding-top:20px;display:flex}.app-footer{text-align:center;color:var(--c-text-subtle);letter-spacing:.05em;padding:16px 0 20px;font-size:.62rem}.eyebrow{color:var(--c-accent);margin:0;font-weight:900}.account{border:1px solid var(--c-border-glass);background:var(--c-bg-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 10px 30px var(--c-shadow-md);border-radius:12px;align-items:center;gap:10px;padding:6px 8px 6px 14px;display:flex}.account div{gap:1px;display:grid}.account span{color:var(--c-text-muted);font-size:.6rem}.account strong{font-size:.9rem}.icon-button{width:36px;height:36px;color:var(--c-accent);background:var(--c-bg-subtle);cursor:pointer;border:0;border-radius:999px;place-items:center;transition:transform .18s,background .18s;display:inline-grid}.icon-button:hover{background:var(--c-bg-subtle-hover);transform:translateY(-1px)}.panel{border:1px solid var(--c-border-glass);background:var(--c-bg-panel);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);max-width:1040px;box-shadow:0 20px 50px var(--c-shadow), 0 1px 1px var(--c-shadow-inset) inset;border-radius:20px;margin:0 auto;padding:clamp(20px,4vw,40px)}.signin-panel{border:1px solid var(--c-border-glass);background:var(--c-bg-signin);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);min-height:58vh;box-shadow:0 28px 90px var(--c-shadow-lg);border-radius:20px;grid-template-columns:1fr auto;align-items:end;gap:28px;padding:clamp(24px,6vw,60px);display:grid}.signin-copy h2{letter-spacing:-.02em;margin-bottom:8px;font-size:clamp(1.4rem,4vw,2.8rem);line-height:1.1}.primary-action{color:#fff;background:var(--c-accent);cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:0 16px;font-size:.82rem;font-weight:600;transition:all .18s;display:inline-flex;box-shadow:0 8px 20px #4f46e533}.primary-action:hover{background:var(--c-accent-dark);transform:translateY(-2px);box-shadow:0 12px 30px #4f46e54d}.auth-error{border:1px solid var(--c-auth-error-border);color:var(--c-auth-error-text);background:var(--c-auth-error-bg);border-radius:8px;margin-top:12px;padding:10px 12px;font-size:.82rem}.loader{border:3px solid #4f46e51a;border-top-color:var(--c-accent);border-radius:50%;width:36px;height:36px;margin:16px auto;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.card{border:1px solid var(--c-border-card);background:var(--c-bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 4px 15px var(--c-shadow-sm);border-radius:14px;padding:16px;transition:all .25s cubic-bezier(.2,0,0,1)}.card:hover{background:var(--c-bg-card-hover);box-shadow:0 10px 25px var(--c-shadow);transform:translateY(-2px)scale(1.01)}.fab{background:var(--c-accent);color:#fff;cursor:pointer;z-index:100;border:0;border-radius:24px;place-items:center;width:48px;height:48px;transition:all .18s;display:grid;position:fixed;bottom:20px;right:20px;box-shadow:0 6px 20px #4f46e566}.fab:hover{background:var(--c-accent-dark);transform:scale(1.1)}.modal-backdrop{background:var(--c-backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--c-bg-modal);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);width:100%;max-width:400px;box-shadow:0 25px 80px var(--c-shadow-dark);border-radius:20px;padding:24px}.form-group{margin-bottom:16px}.form-group label:not(.checkbox-group),.form-group .form-label{color:var(--c-text-muted);margin-bottom:4px;font-size:.72rem;font-weight:600;display:block}input[type=text],input[type=number],select{border:1px solid var(--c-border-input);background:var(--c-bg-input);width:100%;color:var(--c-text);border-radius:10px;outline:none;padding:8px 12px;font-size:.88rem;transition:all .2s}input:focus,select:focus{border-color:var(--c-accent);box-shadow:0 0 0 4px #4f46e51a}.button-group{justify-content:flex-end;gap:10px;display:flex}.secondary-button{background:var(--c-bg-subtle);color:var(--c-text-medium);cursor:pointer;border:0;border-radius:10px;padding:8px 20px;font-size:.82rem;font-weight:600}.tab-switcher{border:1px solid var(--c-border-glass);background:var(--c-bg-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 10px 30px var(--c-shadow-md);border-radius:12px;gap:2px;padding:4px;display:flex}.tab-btn{min-height:40px;color:var(--c-text-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:0 14px;font-size:.82rem;font-weight:600;transition:all .18s;display:inline-flex}.tab-btn.active{color:#fff;background:var(--c-accent);box-shadow:0 2px 8px #4f46e54d}@media (width<=760px){.desktop-only{display:none!important}}.category-chip{cursor:default;border:0;border-radius:999px;align-items:center;padding:2px 8px;font-size:.65rem;font-weight:600;line-height:1.6;display:inline-flex}.category-select{flex-wrap:wrap;gap:6px;display:flex}.category-chip.selectable{cursor:pointer;opacity:.45;padding:5px 12px;font-size:.78rem;transition:opacity .18s,transform .1s,box-shadow .18s}.category-chip.selectable.selected{opacity:1}.category-chip.selectable:hover{opacity:.75;transform:translateY(-1px)}.add-category-form{align-items:center;gap:8px;margin-bottom:16px;display:flex}.add-category-form input[type=text]{flex:1;margin:0}.settings-section-label{text-transform:uppercase;letter-spacing:.07em;color:var(--c-text-subtle);margin:0 0 14px;font-size:.7rem;font-weight:700}.side-heading{text-transform:uppercase;letter-spacing:.06em;color:var(--c-text-subtle);margin:0 0 10px;font-size:.7rem;font-weight:700}.side-heading+.side-heading,.form-group+.side-heading{margin-top:14px}.checkbox-group{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;display:flex}.checkbox-group input{cursor:pointer;width:18px;height:18px}.group-header{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:6px;align-items:center;gap:7px;width:100%;margin:20px 0 8px;padding:2px 0;display:flex}.group-header:first-child{margin-top:0}.group-header:hover .group-name{color:var(--c-text-medium)}.group-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.group-name{text-transform:uppercase;letter-spacing:.07em;color:var(--c-text-muted);font-size:.7rem;font-weight:700}.group-name--other{color:var(--c-text-subtle)}.exercise-group{gap:7px;display:grid}@media (width>=600px){.exercise-group{grid-template-columns:1fr 1fr;gap:10px}}@media (width>=900px){.exercise-group{grid-template-columns:1fr 1fr 1fr;gap:12px}}.entries-grid{gap:8px;display:grid}@media (width>=600px){.entries-grid{grid-template-columns:1fr 1fr}}@media (width>=900px){.entries-grid{grid-template-columns:1fr 1fr 1fr}}.card.exercise-card{color:inherit;align-items:center;gap:10px;padding:10px 14px;text-decoration:none;display:flex}.ex-icon{cursor:grab;touch-action:none;border-radius:10px;flex-shrink:0;place-items:center;width:38px;height:38px;transition:transform .12s;display:grid}.ex-icon:active{cursor:grabbing;transform:scale(.94)}.card.dragging{opacity:.35;pointer-events:none}.card.dragging:hover,.card.drag-over:hover{transform:none}.card.drag-over{outline:2px solid var(--c-accent);outline-offset:-1px;background:#4f46e508}.card.drag-ghost{z-index:9999;pointer-events:none;opacity:.92;box-shadow:0 24px 60px var(--c-shadow-dark);position:fixed;transform:scale(1.04)rotate(1deg);transition:none!important}.cat-drag-handle{cursor:grab;touch-action:none;flex-shrink:0;place-items:center;margin:-6px;padding:6px;display:grid}.cat-drag-handle:active{cursor:grabbing}.unit-toggle{background:var(--c-bg-subtle);border-radius:6px;flex-shrink:0;gap:2px;margin-left:auto;padding:2px;display:inline-flex}.unit-toggle button{color:var(--c-text-muted);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:2px 9px;font-size:.72rem;font-weight:700;transition:all .15s}.unit-toggle button.active{background:var(--c-accent);color:#fff}.range-bar{border:1px solid var(--c-border-glass);background:var(--c-bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.range-bar button{color:var(--c-text-muted);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:4px 12px;font-size:.75rem;font-weight:700;transition:all .15s}.range-bar button.active{background:var(--c-accent);color:#fff;box-shadow:0 2px 6px #4f46e540}.tab-label{display:none}@media (width>=500px){.tab-label{display:inline}}.ptable-wrap{-webkit-overflow-scrolling:touch;scrollbar-width:none;overflow-x:auto}.ptable-wrap::-webkit-scrollbar{display:none}.ptable{gap:2px 3px;min-width:max-content;display:grid}.ptable-week-hd{text-transform:uppercase;letter-spacing:.02em;color:var(--c-text-subtle);text-align:center;white-space:nowrap;padding:0 3px 6px;font-size:.58rem;font-weight:700}.ptable-cat-row{text-transform:uppercase;letter-spacing:.07em;color:var(--c-text-muted);cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;background:0 0;border:none;grid-column:1/-1;padding:10px 0 3px;font-family:inherit;font-size:.65rem;font-weight:700}.ptable-cat-row>span{align-items:center;gap:6px;display:inline-flex;position:sticky;left:0}.ptable-ex-name{color:var(--c-text);grid-column:1/-1;padding:6px 0 3px;font-size:.82rem;font-weight:600}.ptable-ex-name>span{white-space:nowrap;padding-right:16px;display:inline-block;position:sticky;left:0}.ptable-cell{white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;height:30px;font-size:.68rem;font-weight:700;display:flex}.ptable-cell.green{background:var(--c-cell-green-bg);color:var(--c-cell-green-text)}.ptable-cell.gray{background:var(--c-cell-gray-bg);color:var(--c-cell-gray-text)}.ptable-cell.orange{background:var(--c-cell-orange-bg);color:var(--c-cell-orange-text)}.ptable-cell.red{background:var(--c-cell-red-bg);color:var(--c-cell-red-text)}.ptable-cell.first{background:var(--c-cell-first-bg);color:var(--c-cell-first-text)}.ptable-cell.empty{color:var(--c-cell-empty-text);font-weight:400}.progress-legend{color:var(--c-text-subtle);align-items:center;gap:6px;margin-bottom:14px;font-size:.68rem;font-weight:600;display:flex}.legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.legend-dot.green{background:#22c55e}.legend-dot.first{background:#6366f1}.legend-dot.gray{background:#94a3b8}.legend-dot.orange{background:#eab308}.legend-dot.red{background:#ef4444}@media (width<=760px){h2{font-size:1.25rem}h3{font-size:1.1rem}.app-shell{padding:0 10px 24px}.topbar{padding-top:14px}.signin-panel{grid-template-columns:1fr;min-height:auto;padding:24px 16px}.signin-copy h2{font-size:1.6rem}.account div{display:none}.card{padding:10px}}
