*{box-sizing:border-box}:root{color-scheme:light dark;--color-bg: #f5f5f7;--color-surface: #ffffff;--color-text: #1d1d1f;--color-text-secondary: #6e6e73;--color-border: #d2d2d7;--color-accent: #0071e3;--color-accent-fill: #0071e3;--color-danger: #d70015;--chart-series-1: #2a78d6;--chart-series-2: #eb6834;--chart-series-3: #1baf7a;--chart-series-4: #eda100;--chart-series-5: #e87ba4;--chart-series-6: #008300;--chart-series-other: #898781;--shadow-soft: 0 1px 2px rgba(0, 0, 0, .04), 0 8px 24px rgba(0, 0, 0, .08);--heatmap-level-0: var(--color-border);--heatmap-level-1: rgba(0, 113, 227, .25);--heatmap-level-2: rgba(0, 113, 227, .5);--heatmap-level-3: rgba(0, 113, 227, .75);--heatmap-level-4: rgba(0, 113, 227, 1);--glass-bg: rgba(255, 255, 255, .72);--glass-blur: blur(20px) saturate(180%);--font-display: 28px;--font-heading: 20px;--font-body: 15px;--font-caption: 13px;--font-hero-display: clamp(1.75rem, 3.5vw + 1rem, 2.75rem);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--radius-sm: 8px;--radius-lg: 16px;--ease-spring: cubic-bezier(.32, .72, 0, 1);--duration-fast: .15s;--duration-base: .25s}@media (prefers-color-scheme: dark){:root{--color-bg: #000000;--color-surface: #1c1c1e;--color-text: #f5f5f7;--color-text-secondary: #98989d;--color-border: #38383a;--color-accent: #0a84ff;--color-accent-fill: #0066cc;--color-danger: #ff453a;--chart-series-1: #3987e5;--chart-series-2: #d95926;--chart-series-3: #199e70;--chart-series-4: #c98500;--chart-series-5: #d55181;--chart-series-6: #008300;--chart-series-other: #898781;--shadow-soft: 0 1px 2px rgba(0, 0, 0, .2), 0 8px 24px rgba(0, 0, 0, .32);--heatmap-level-0: var(--color-border);--heatmap-level-1: rgba(10, 132, 255, .25);--heatmap-level-2: rgba(10, 132, 255, .5);--heatmap-level-3: rgba(10, 132, 255, .75);--heatmap-level-4: rgba(10, 132, 255, 1);--glass-bg: rgba(28, 28, 30, .72)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Hiragino Sans,Noto Sans JP,sans-serif;font-size:var(--font-body);letter-spacing:-.01em;line-height:1.5}h1{font-size:var(--font-display);letter-spacing:-.02em;margin:0 0 var(--space-4)}h2{font-size:var(--font-heading);letter-spacing:-.015em;margin:0 0 var(--space-3)}.toast{position:fixed;bottom:var(--space-6);left:50%;transform:translate(-50%);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);color:var(--color-text);padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.app-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border)}.workout-month-counts{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}.workout-month-badge{display:flex;align-items:baseline;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-radius:999px;background:var(--color-surface);box-shadow:var(--shadow-soft)}.workout-month-badge-month{color:var(--color-text-secondary);font-size:var(--font-caption)}.workout-month-badge-count{color:var(--color-text);font-size:var(--font-heading);font-weight:700}.home-page,.dashboard-page,.history-page,.release-notes-page,.privacy-policy-page{max-width:640px;margin:0 auto;padding:var(--space-6) var(--space-4)}.last-workout-elapsed{display:inline-block;background:var(--color-surface);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);color:var(--color-text-secondary);font-size:var(--font-caption);margin:0 0 var(--space-4)}.rest-timer{display:inline-flex;align-items:baseline;gap:var(--space-2);background:var(--color-surface);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);margin:0 0 var(--space-3);color:var(--color-text-secondary);font-size:var(--font-caption)}.rest-timer-value{font-variant-numeric:tabular-nums;font-size:var(--font-heading);font-weight:700;color:var(--color-accent)}.app-nav{position:sticky;top:0;z-index:10;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}@media (prefers-reduced-transparency: reduce){.app-nav{background:var(--color-surface);-webkit-backdrop-filter:none;backdrop-filter:none}}.app-nav-links{display:flex;gap:var(--space-4)}.nav-link{display:flex;align-items:center;gap:var(--space-1);color:var(--color-text-secondary);text-decoration:none;font-size:var(--font-body);padding:var(--space-1) 0;border-bottom:2px solid transparent;transition:color var(--duration-fast) var(--ease-spring),border-color var(--duration-fast) var(--ease-spring)}.nav-link-active{color:var(--color-text);border-bottom-color:var(--color-accent)}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:22px;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.nav-icon{display:none}.nav-logout,.nav-login{display:flex;align-items:center;gap:var(--space-1)}@media (max-width: 640px){.app-nav-links{gap:var(--space-3)}.nav-icon{display:inline-flex}.nav-label{display:none}}.btn{font:inherit;font-size:var(--font-body);border:none;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);cursor:pointer;white-space:nowrap;transition:transform var(--duration-fast) var(--ease-spring),opacity var(--duration-fast) var(--ease-spring)}.btn:active{transform:scale(.97)}.btn:focus-visible{outline:2px solid var(--color-accent-fill);outline-offset:3px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (hover: hover) and (pointer: fine){.btn:hover{transform:translateY(-1px)}}.btn-primary{background:var(--color-accent-fill);color:#fff}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-ghost{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-danger{background:transparent;color:var(--color-danger);border:1px solid var(--color-danger)}.input{font:inherit;font-size:16px;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);transition:box-shadow var(--duration-fast) var(--ease-spring),border-color var(--duration-fast) var(--ease-spring)}.input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--heatmap-level-1)}.set-form{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-6)}.set-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.set-list-item{display:flex;align-items:center;gap:var(--space-2);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:var(--space-3) var(--space-4)}.set-list-item .input{width:80px}.heatmap-cell{transition:background-color var(--duration-base) var(--ease-spring)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.toast{animation:toast-in var(--duration-base) var(--ease-spring)}@media (prefers-reduced-transparency: reduce){.toast{background:var(--color-surface);-webkit-backdrop-filter:none;backdrop-filter:none}}.period-toggle{position:relative;display:grid;grid-template-columns:repeat(4,1fr);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-1);margin:var(--space-4) 0}.period-toggle-indicator{position:absolute;top:var(--space-1);left:var(--space-1);width:calc((100% - 2 * var(--space-1)) / 4);height:calc(100% - 2 * var(--space-1));background:var(--color-accent-fill);border-radius:calc(var(--radius-sm) - 2px);transition:transform var(--duration-base) var(--ease-spring)}.segment{position:relative;z-index:1;background:transparent;border:none;border-radius:calc(var(--radius-sm) - 2px);padding:var(--space-2) 0;font:inherit;font-size:var(--font-caption);color:var(--color-text-secondary);cursor:pointer;transition:color var(--duration-fast) var(--ease-spring)}.segment-active{color:#fff}.state-message{color:var(--color-text-secondary);text-align:center;padding:var(--space-8) var(--space-4)}.state-message-error{color:var(--color-danger)}.history-section{margin-bottom:var(--space-6)}.history-date{color:var(--color-text-secondary);font-size:var(--font-caption);font-weight:600}.exercise-breakdown{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.exercise-breakdown li{background:var(--color-surface);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);box-shadow:var(--shadow-soft)}.login-page{display:flex;flex-direction:column;padding:var(--space-6) var(--space-4) var(--space-6);max-width:960px;margin:0 auto}.login-hero{display:flex;flex-direction:column;align-items:center;gap:var(--space-6);text-align:center;max-width:640px;margin:0 auto;padding-block:var(--space-4) var(--space-8)}.login-hero h1{font-size:var(--font-hero-display);font-weight:600;letter-spacing:-.02em;line-height:1.25;margin:0;overflow-wrap:anywhere;min-width:0}.login-bento{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"record     chart      chart" "continuity continuity bolt" "cta        cta        cta";gap:var(--space-4)}.login-tile{opacity:0;transform:translateY(8px);animation:login-tile-reveal var(--duration-base) var(--ease-spring) forwards;animation-delay:calc(var(--i, 0) * 60ms)}.login-tile-record{grid-area:record}.login-tile-chart{grid-area:chart}.login-tile-continuity{grid-area:continuity}.login-tile-bolt{grid-area:bolt}.login-tile-cta{grid-area:cta}@keyframes login-tile-reveal{to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.login-tile{animation-duration:1ms;animation-delay:0ms}}@media (max-width: 39.99rem){.login-bento{grid-template-columns:1fr;grid-template-areas:"record" "chart" "continuity" "bolt" "cta"}}.feature-card{display:flex;flex-direction:column;gap:var(--space-2);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:var(--space-6) var(--space-4);height:100%}.feature-card h3{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-body);margin:0;letter-spacing:-.01em}.feature-icon{color:var(--color-accent-fill);width:20px;height:20px;flex-shrink:0}.feature-icon svg{width:100%;height:100%}.feature-card p{color:var(--color-text-secondary);font-size:var(--font-caption);margin:0}.login-tile-cta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:var(--space-6) var(--space-4)}.login-tile-cta p{margin:0;color:var(--color-text);font-size:var(--font-body)}@media (max-width: 39.99rem){.login-tile-cta{flex-direction:column;align-items:flex-start}}.nutrition-page{max-width:640px;margin:0 auto;padding:var(--space-6) var(--space-4)}.nutrition-form{display:flex;flex-direction:column;gap:var(--space-4);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:var(--space-6) var(--space-4);margin-bottom:var(--space-6)}.nutrition-field label{display:block;font-size:var(--font-caption);font-weight:600;margin-bottom:var(--space-2)}.nutrition-field .input{width:100%}.segment-toggle{display:flex;gap:var(--space-2)}.segment-toggle .segment{flex:1;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2) 0;background:var(--color-surface);color:var(--color-text)}.segment-active-static{background:var(--color-accent-fill)!important;border-color:var(--color-accent-fill)!important;color:#fff!important}.nutrition-result{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:var(--space-6) var(--space-4)}.nutrition-headline{text-align:center;padding-bottom:var(--space-4)}.nutrition-headline-value{font-size:2.2rem;font-weight:800;color:var(--color-accent)}.nutrition-headline-label{color:var(--color-text-secondary);font-size:var(--font-caption)}.nutrition-bmr{text-align:center;color:var(--color-text-secondary);font-size:var(--font-caption);margin:0 0 var(--space-4)}.pfc-bar{display:flex;height:24px;border-radius:12px;overflow:hidden;margin-bottom:var(--space-4)}.pfc-bar-protein,.pfc-dot-protein{background:#4fc3f7}.pfc-bar-fat,.pfc-dot-fat{background:#ffb74d}.pfc-bar-carb,.pfc-dot-carb{background:#81c784}.pfc-list{list-style:none;padding:0;margin:0 0 var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.pfc-list-item{display:flex;align-items:center;gap:var(--space-2);background:var(--color-bg);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}.pfc-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.pfc-name{font-weight:600;flex:1}.pfc-detail{text-align:right;font-size:var(--font-body)}.pfc-detail small{display:block;color:var(--color-text-secondary);font-size:var(--font-caption)}.nutrition-note{color:var(--color-text-secondary);font-size:var(--font-caption);line-height:1.6;margin:0}.exercise-history-dialog{border:none;padding:0;background:transparent;max-width:480px;width:calc(100% - var(--space-8));border-radius:var(--radius-lg);opacity:1;transition:opacity var(--duration-base) var(--ease-spring)}@starting-style{.exercise-history-dialog[open]{opacity:0}}.exercise-history-dialog::backdrop{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);opacity:1;transition:opacity var(--duration-base) var(--ease-spring)}@starting-style{.exercise-history-dialog[open]::backdrop{opacity:0}}@media (prefers-reduced-transparency: reduce){.exercise-history-dialog::backdrop{background:var(--color-surface);-webkit-backdrop-filter:none;backdrop-filter:none}}.exercise-history-content{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:var(--space-6) var(--space-4)}.exercise-history-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.exercise-history-header h2{margin:0}.exercise-history-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.exercise-history-list li{display:flex;justify-content:space-between;gap:var(--space-4);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}.exercise-history-date{color:var(--color-text-secondary)}.exercise-breakdown-button{display:block;width:100%;text-align:left;background:none;border:none;font:inherit;color:inherit;cursor:pointer;padding:0}.exercise-breakdown-button:active{opacity:.6}.exercise-name-field{position:relative}.exercise-name-dropdown{position:absolute;top:100%;left:0;right:0;z-index:10;margin:var(--space-1) 0 0;padding:var(--space-1);list-style:none;max-height:220px;overflow-y:auto;background:var(--color-surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-soft)}.exercise-name-option{display:block;width:100%;text-align:left;background:none;border:none;font:inherit;color:inherit;cursor:pointer;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm)}.exercise-name-option:hover,.exercise-name-option:active{background:var(--color-bg)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2)}.share-button{display:inline-flex;align-items:center;gap:var(--space-1);margin-top:var(--space-3)}.share-button .material-symbols-outlined,.btn-icon .material-symbols-outlined{font-size:20px}.max-weight-section{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-6)}.max-weight-list-section{margin-top:var(--space-6)}.max-weight-list-section .btn{margin-top:var(--space-3)}.max-weight-summary{color:var(--color-text-secondary);font-size:var(--font-body)}.volume-section{margin-top:var(--space-6)}.section-description{color:var(--color-text-secondary);font-size:var(--font-body);margin:0 0 var(--space-3)}.release-notes-section{margin-bottom:var(--space-6)}.release-notes-date{color:var(--color-text-secondary);font-size:var(--font-caption);font-weight:600}.release-notes-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3)}.release-notes-type{display:inline-block;margin-right:var(--space-2);padding:0 var(--space-2);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-secondary);font-size:var(--font-caption)}.release-notes-version{display:inline-block;margin-right:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-caption)}.app-footer{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);border-top:1px solid var(--color-border);padding:var(--space-4)}.app-footer-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--space-4)}.app-footer a{color:var(--color-text-secondary);font-size:var(--font-caption);text-decoration:none}.app-footer a:hover{color:var(--color-text)}.app-nav-brand{font-weight:600;color:var(--color-text);text-decoration:none;white-space:nowrap}.app-footer-version,.app-footer-copyright{color:var(--color-text-secondary);font-size:var(--font-caption)}
