:root{--bg:#f4f6fb;--bg-card:#fff;--bg-card-soft:#f8fafc;--accent:#2563eb;--accent-soft:#2563eb1f;--accent-soft-strong:#2563eb2e;--accent-border:#2563eb8c;--text:#0f172a;--text-soft:#64748b;--border:#0f172a1f;--danger:#ef4444;--shadow-soft:0 18px 55px #0f172a1a;--shadow-card:0 10px 28px #0f172a14;--radius-lg:18px;--radius-md:12px;--radius-pill:999px;--sans:system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;font-family:var(--sans);color:var(--text);background-color:var(--bg);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5}*,:before,:after{box-sizing:border-box}body{background:var(--bg);min-height:100vh;margin:0}#app{justify-content:center;min-height:100vh;padding:16px 12px 72px;display:flex}.app-root{width:100%;max-width:480px;color:var(--text);flex-direction:column;gap:16px;display:flex}@media (width>=768px){#app{padding:32px 16px 80px}.app-root{max-width:960px}}.app-header{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-card);z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:22px;padding:14px 16px 10px;position:sticky;top:0}.app-header h1{letter-spacing:.02em;align-items:baseline;gap:6px;margin:0 0 4px;font-size:1.4rem;font-weight:700;display:flex}.app-header h1:after{content:"beta";color:var(--accent);border:1px solid var(--border);background:var(--bg-card-soft);border-radius:999px;padding:2px 7px;font-size:.7rem;font-weight:500}.app-subtitle{color:var(--text-soft);margin:0;font-size:.82rem}.app-main{flex-direction:column;flex:1;gap:12px;display:flex}.view{flex-direction:column;gap:12px;display:flex}.card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-card);padding:16px 16px 14px}@media (width>=768px){.card{padding:18px 18px 16px}}.card h2{letter-spacing:.01em;margin:0 0 4px;font-size:1.1rem}.today-header{justify-content:space-between;align-items:baseline;gap:6px;margin-bottom:8px;display:flex}.today-date{color:var(--text-soft);margin:0;font-size:.8rem}.plan-name{margin:4px 0 2px;font-weight:600}.plan-description{color:var(--text-soft);margin:0 0 10px;font-size:.82rem}.exercise-list{flex-direction:column;gap:4px;margin:0 0 12px;padding:0;list-style:none;display:flex}.exercise-item{background:var(--bg-card-soft);border:1px solid #0f172a14;border-radius:999px;justify-content:space-between;align-items:baseline;gap:8px;padding:6px 10px;display:flex}.exercise-name{font-size:.86rem}.exercise-tag{color:var(--text-soft);font-size:.72rem}.exercise-more{color:var(--text-soft);padding-inline:2px;font-size:.78rem}.primary-button{border-radius:var(--radius-pill);color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:2px;padding:10px 14px;font-size:.9rem;font-weight:600;transition:transform .12s ease-out,box-shadow .12s ease-out,filter 80ms ease-out;display:inline-flex;box-shadow:0 18px 42px #2563eb47,inset 0 1px #ffffff40}.primary-button:hover{filter:brightness(1.03);transform:translateY(-1px);box-shadow:0 20px 46px #2563eb52,inset 0 1px #ffffff47}.primary-button:active{transform:translateY(0);box-shadow:0 12px 28px #2563eb3d,inset 0 1px #ffffff2e}.primary-button:focus-visible{outline-offset:2px;outline:2px solid #2563eba6}.info-text{color:var(--text-soft);margin-top:8px;font-size:.78rem}.session-date{color:var(--text-soft);margin:0 0 10px;font-size:.82rem}.session-exercise-list{flex-direction:column;gap:10px;margin-bottom:10px;display:flex}.session-exercise{background:linear-gradient(135deg, #2563eb14, var(--bg-card));border:1px solid #2563eb2e;border-radius:14px;padding:10px 10px 8px}.session-exercise-header{justify-content:space-between;align-items:baseline;margin-bottom:4px;display:flex}.exercise-thumb{object-fit:cover;border:1px solid #94a3b899;border-radius:12px;width:56px;height:56px}.exercise-meta{color:var(--text-soft);margin:0;font-size:.76rem}.set-list{flex-direction:column;gap:6px;margin-top:6px;display:flex}.set-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.set-label{color:var(--text-soft);font-size:.8rem}.set-controls{background:var(--bg-card-soft);border:1px solid #2563eb38;border-radius:999px;align-items:center;gap:6px;padding:2px 4px 2px 2px;display:inline-flex}.set-button{color:#fff;cursor:pointer;background:radial-gradient(circle at top,#2563eb,#1d4ed8);border:none;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:1rem;font-weight:500;display:inline-flex}.set-button:hover{filter:brightness(1.03)}.set-value{padding:0 6px;font-size:.84rem}.exercise-list-full{flex-direction:column;gap:8px;margin-top:10px;display:flex}.exercise-card{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid #0f172a14;padding:10px 10px 8px}.exercise-card-header{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.exercise-media{border:1px solid #0f172a14;border-radius:12px;margin:6px 0;overflow:hidden}.exercise-media img{object-fit:cover;width:100%;max-height:180px;display:block}.exercise-card-header h3{margin:0 0 2px;font-size:.92rem}.exercise-description{color:var(--text-soft);margin:0;font-size:.8rem}.exercise-hint{color:#0f172ac7;margin:4px 0 0;font-size:.76rem}.exercise-schema{color:var(--accent);margin:6px 0 0;font-size:.78rem}.plan-card{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid #0f172a14;padding:10px 10px 8px}.plan-card-header{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.plan-card-header h3{margin:0 0 2px;font-size:.96rem}.plan-tag{color:var(--accent);background:#2563eb14;border:1px solid #2563eb40;border-radius:999px;padding:3px 9px;font-size:.74rem}.plan-days{color:var(--text-soft);margin:4px 0 8px;font-size:.8rem}.stats{color:var(--text-soft);margin:6px 0 10px;font-size:.82rem}.stats-row{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.streak-inline{text-align:right}.streak-pill{background:radial-gradient(circle at top left, var(--accent-soft), var(--bg-card));border:1px solid #2563eb38;border-radius:999px;align-items:baseline;gap:6px;margin-bottom:8px;padding:4px 10px;font-size:.8rem;display:inline-flex}.streak-label{color:var(--text-soft)}.streak-value{font-weight:700}.streak-unit{color:var(--text-soft)}.history-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.history-item{background:var(--bg-card-soft);border:1px solid #0f172a14;border-radius:999px;padding:6px 10px;font-size:.8rem}.history-date{margin:0;font-weight:500}.history-meta{color:var(--text-soft);margin:0;font-size:.78rem}.bottom-nav{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;border:1px solid #0f172a1a;border-radius:18px;justify-content:space-between;gap:4px;width:min(520px,100% - 24px);padding:6px;display:flex;position:fixed;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 18px 42px #0f172a1f}@media (width>=768px){.bottom-nav{width:min(520px,100% - 32px);bottom:20px}}.nav-button{color:var(--text-soft);cursor:pointer;background:0 0;border:none;border-radius:14px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:8px 4px 7px;font-size:.72rem;font-weight:500;transition:background .12s ease-out,color .12s ease-out,transform 80ms ease-out;display:flex}.nav-button svg{display:block}.nav-button.active{background:radial-gradient(circle at top, var(--accent-soft-strong), #ffffffe6);color:var(--accent);transform:translateY(-1px)}.session-title-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.secondary-button{background:var(--bg-card-soft);color:var(--text);cursor:pointer;border:1px solid #0f172a1f;border-radius:999px;padding:6px 10px;font-size:.82rem;font-weight:600}.secondary-button:hover{filter:brightness(.98)}.metric-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;display:grid}.metric-card{background:linear-gradient(135deg, var(--bg-card-soft), var(--bg-card));border:1px solid #0f172a14;border-radius:16px;padding:12px}.metric-label{color:var(--text-soft);margin:0;font-size:.78rem}.metric-value{color:var(--text);letter-spacing:-.02em;margin:4px 0 0;font-size:1.6rem;font-weight:800}.metric-unit{color:var(--text-soft);margin:0;font-size:.78rem}.section-title{letter-spacing:.01em;margin:14px 0 8px;font-size:.95rem}.nav-button:disabled{opacity:.4;cursor:default}.nav-button:focus-visible{outline-offset:1px;outline:2px solid #2563eb8c}
