@import "https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css";:root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--text:#111827;--muted:#6b7280;--bg:#fff;--page-gradient:radial-gradient(circle at top left, #3b82f60f, transparent 34rem);--soft:#f9fafb;--card:#fff;--border:#e5e7eb;--border-strong:#d1d5db;--focus:#93c5fd;--shadow:0 10px 30px #1118270f;--page-header-offset:calc(69px + var(--safe-top));--sans:Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Segoe UI", system-ui, sans-serif;font:16px/1.45 var(--sans);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-width:320px;min-height:100svh;padding-left:var(--safe-left);padding-right:var(--safe-right);background:var(--page-gradient), var(--bg);margin:0}*{box-sizing:border-box}button,input,select,textarea{font:inherit}button,select,input,textarea{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:12px}button,select,input{min-height:42px}button{cursor:pointer;justify-content:center;align-items:center;padding:0 14px;font-weight:700;display:inline-flex}button:disabled{cursor:not-allowed;opacity:.45}input,select,textarea{width:100%;padding:10px 12px}textarea{line-height:1.45}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.app{width:min(960px,100% - 32px);padding:0 0 calc(48px + var(--safe-bottom));max-width:100%;margin:0 auto}.app.app-subpage{padding-top:var(--page-header-offset)}.app-home{padding-top:calc(var(--safe-top) + 58px)}.timer-bar{z-index:20;padding:calc(8px + var(--safe-top)) max(16px, calc(16px + var(--safe-left))) 10px max(16px, calc(16px + var(--safe-right)));background:var(--page-gradient), var(--bg);position:fixed;top:0;left:0;right:0}.timer-bar .timer-row,.timer-bar .timer-settings{width:min(960px,100% - 32px);max-width:100%;margin-inline:auto}.timer-button,.top-card,.category-card,.export-card,.empty-card{background:var(--card);box-shadow:var(--shadow);border-radius:22px}.top-card,.category-card,.export-card,.empty-card{border:1px solid var(--border)}.session-card{border:2px solid var(--border);background:var(--card);box-shadow:var(--shadow);border-radius:22px;position:relative;overflow:hidden}.session-swipe-content,.exercise-swipe-content{z-index:1;transition:transform .18s;position:relative}.timer-row{align-items:stretch;gap:8px;display:flex}.timer-button{border:1px solid var(--border);border-radius:22px;flex:1;justify-content:center;align-items:center;min-height:0;padding:10px 14px;display:flex;position:relative}.timer-progress-ring{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.timer-progress-track,.timer-progress-value{fill:none;vector-effect:non-scaling-stroke}.timer-progress-track{stroke:var(--border);stroke-width:2px}.timer-progress-value{stroke:#374151;stroke-width:2.5px;stroke-dasharray:1;stroke-linecap:round;transition:stroke-dashoffset .95s linear}.timer-button strong{z-index:1;letter-spacing:-.03em;text-align:center;font-size:22px;line-height:1;position:relative}.timer-stop,.timer-row .settings-button{border-color:var(--border-strong);min-height:0;color:var(--muted);white-space:nowrap;flex:none;padding:10px 12px;font-size:14px}.timer-stop{min-width:0}.timer-settings{border:1px solid var(--border);background:var(--card);border-radius:16px;align-items:center;gap:10px;margin-top:8px;padding:12px;display:flex}.timer-settings label{color:var(--muted);align-items:center;gap:8px;display:flex}.timer-settings input{width:84px}.timer-settings label span{white-space:nowrap}.quick-times{flex-wrap:wrap;gap:8px;display:flex}.top-card{margin-top:4px;padding:16px;display:block}.eyebrow{color:var(--muted);margin:0;font-size:14px;font-weight:700}.page-header{z-index:20;padding:calc(8px + var(--safe-top)) max(16px, calc(16px + var(--safe-left))) 8px max(16px, calc(16px + var(--safe-right)));background:var(--page-gradient), var(--bg);border-bottom:1px solid var(--border);position:fixed;top:0;left:0;right:0}.page-header-inner{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;width:min(960px,100% - 32px);max-width:100%;margin-inline:auto;display:grid}.page-header>button,.back-button{height:auto;min-height:0;color:var(--muted);background:0 0;border:none;flex:none;padding:0;font-size:14px;font-weight:700}.back-button{grid-column:1;justify-content:center;justify-self:start;align-items:center;min-width:52px;min-height:52px;margin-left:-10px;line-height:1;display:inline-flex}.back-button-icon{width:13px;height:22px;display:block}.page-header-spacer{grid-column:3;justify-self:end;width:52px;min-height:52px}.page-header h1{text-align:center;letter-spacing:-.04em;grid-column:2;margin:0;font-size:clamp(18px,4.5vw,24px);line-height:1.1}.page-content{width:100%;padding-top:12px}.settings-menu{gap:10px;margin-top:0;display:grid}.settings-menu-button{border:1px solid var(--border);background:var(--card);width:100%;min-height:52px;box-shadow:var(--shadow);color:var(--text);text-align:left;border-radius:16px;justify-content:flex-start;align-items:center;padding:14px 18px;font-size:16px;font-weight:700;text-decoration:none;display:inline-flex}a.settings-button{border:1px solid var(--border);min-height:42px;color:var(--text);background:#fff;border-radius:12px;justify-content:center;align-items:center;padding:0 14px;font-weight:700;text-decoration:none;display:inline-flex}.settings-menu-button.danger{color:#b91c1c;background:snow;border-color:#fecaca}.new-session-row,.category-form,.session-header,.exercise-add{align-items:center;gap:10px;display:flex}.new-session-row{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.new-session-category{border-width:2px;min-width:0;min-height:42px;font-weight:800}.primary-button{background:var(--text);color:#fff}.session-list{gap:12px;margin-top:0;display:grid}.session-pull-area{gap:0;display:grid}.session-pull-hint{color:var(--muted);text-align:center;margin:0;padding:16px 0 4px;font-size:14px;font-weight:700}.session-pull-spacer{overflow:hidden}.previous-empty{margin:0;padding:10px 0;font-size:14px}.category-card{margin-top:16px;padding:20px}.section-title{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:14px;display:flex}.section-title h2{margin:0;font-size:18px}.section-title span,.muted,.empty-card span{min-width:0;color:var(--muted)}.category-form{flex-wrap:nowrap;align-items:stretch;gap:10px}.category-form-fields{flex:1;grid-template-rows:auto auto;gap:8px;min-width:0;display:grid}.category-form-fields>input{width:100%;height:32px;min-height:32px;max-height:32px;padding:0 10px;line-height:1.2}.category-form>button{flex:none;align-self:stretch;height:auto;min-height:0;padding:0 14px}.category-item input:not([type=color]){height:36px;min-height:36px;padding:0 10px;line-height:1.2}.palette{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.category-form .palette{flex-wrap:nowrap;gap:5px}.swatch{border-radius:999px;width:30px;height:30px;padding:0}.category-form .swatch{width:26px;min-width:26px;height:26px;min-height:0}.category-form .swatch.selected{outline-offset:1px;outline-width:2px}.swatch.selected{outline:3px solid var(--focus);outline-offset:2px}.category-list{gap:8px;margin-top:14px;display:grid}.category-item{grid-template-columns:44px 1fr auto;align-items:center;gap:8px;display:grid}.category-item input[type=color]{width:36px;height:36px;min-height:36px;padding:3px}.empty-card{gap:4px;padding:28px;display:grid}.session-swipe-row{touch-action:pan-y;border-radius:22px;position:relative;overflow:hidden}.session-swipe-row.is-swiping{touch-action:none}.session-swipe-track{position:relative}.session-header{z-index:1;background:var(--card);cursor:pointer;align-items:center;gap:8px;padding:10px 12px;display:flex;position:relative}.expand-indicator{flex:none;justify-content:center;align-items:center;width:36px;min-height:36px;display:flex}.session-summary{flex:1;justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.session-title{letter-spacing:-.02em;white-space:nowrap;flex:0 auto;font-size:17px;font-weight:800}.session-category{border:1px solid var(--border);flex:0 auto;width:auto;min-width:0;max-width:46%;min-height:36px;padding:4px 8px;font-size:14px;font-weight:800}.session-delete{color:var(--muted);flex:none}.session-swipe-delete,.exercise-swipe-delete{display:none}.session-body{gap:14px;padding:0 14px 14px;display:grid}.exercise-add input{flex:1;min-width:0}.exercise-add button{white-space:nowrap;flex:none}.exercise-list{gap:10px;display:grid}.exercise-swipe-row{touch-action:pan-y;border-radius:16px;position:relative;overflow:hidden}.exercise-swipe-row.is-swiping{touch-action:none}.exercise-card{border:1px solid var(--border);background:var(--soft);border-radius:16px;grid-template-columns:minmax(280px,1fr) minmax(180px,1.3fr) auto;align-items:stretch;gap:10px;padding:12px;display:grid}.exercise-swipe-row .exercise-card{overflow:visible}.exercise-top-row{align-items:stretch;gap:10px;min-width:0;display:flex}.exercise-name{min-width:0;font-weight:800}.set-control{border:1px solid var(--border);background:#fff;border-radius:14px;flex:none;justify-content:center;align-items:center;gap:8px;padding:0 4px;display:inline-flex}.set-control button{width:38px;padding-inline:0;font-size:18px}.set-control strong{text-align:center;min-width:28px;font-size:18px}.exercise-card textarea,.exercise-card textarea.exercise-comment{resize:none;field-sizing:content;min-height:0;padding-block:6px;line-height:1.35;overflow:hidden}.previous-session{border:1px dashed var(--border-strong);border-radius:16px;gap:8px;padding:12px;display:grid}.previous-session-toggle{width:100%;color:inherit;text-align:left;font:inherit;background:0 0;border:none;align-items:center;gap:8px;padding:0;display:flex}.previous-session-chevron{width:1.25rem;color:var(--muted);text-align:center;flex:none;font-size:13px}.previous-session-label{flex:1;min-width:0;font-size:14px;font-weight:700}.previous-session-date{color:var(--text);flex:none;font-size:14px;font-weight:700}.text-button{color:var(--muted);background:0 0}.reference-nav{grid-template-columns:auto 1fr auto;align-items:center;gap:8px;display:grid}.reference-nav span{color:var(--muted);text-align:center;font-size:13px;font-weight:700}.previous-exercise-list{gap:8px;display:grid}.previous-exercise{text-align:left;justify-content:stretch;gap:6px;height:auto;min-height:0;padding:10px 12px;display:grid}.previous-exercise-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.previous-exercise em{color:var(--muted);flex:none;font-size:13px;font-style:normal}.previous-exercise small{color:var(--muted);white-space:pre-wrap;font-weight:500;line-height:1.35}.export-card{gap:12px;min-width:0;max-width:100%;margin-top:16px;padding:20px;display:grid}.export-range{flex-wrap:wrap;align-items:flex-end;gap:12px 16px;min-width:0;display:flex}.export-range label{width:fit-content;max-width:100%;color:var(--muted);gap:6px;font-size:14px;font-weight:700;display:grid}.export-range input[type=date]{box-sizing:border-box;-webkit-min-logical-width:0;width:10.75rem;min-width:0;max-width:100%;min-height:42px;min-inline-size:0;padding:8px 10px;display:block}.export-range input[type=date]::-webkit-date-and-time-value{text-align:left;min-width:0}.export-text{resize:vertical;white-space:pre-wrap;min-height:360px}.export-text.import-text{min-height:240px}.export-actions{justify-content:flex-end;gap:8px;display:flex}.transfer-tabs{border:1px solid var(--border);background:var(--soft);border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:4px;display:grid}.transfer-tab{color:var(--muted);background:0 0;border-color:#0000}.transfer-tab.selected{border-color:var(--border);color:var(--text);box-shadow:var(--shadow);background:#fff}.import-hint{margin:0;font-size:14px;line-height:1.5}.import-message{color:#b91c1c;margin:0;font-size:14px;font-weight:700}.import-file-input{display:none}.reset-card{box-shadow:var(--shadow);background:snow;border:1px solid #fecaca;border-radius:22px;gap:12px;margin-top:16px;padding:20px;display:grid}.reset-hint{margin:0;font-size:14px;line-height:1.5}.danger-button{color:#b91c1c;background:#fee2e2;border-color:#fecaca}.navigation-stack{background:var(--bg);width:100%;min-height:100svh;position:relative;overflow:hidden}.navigation-page{background:var(--page-gradient), var(--bg);width:100%;min-height:100svh}.navigation-page--top{z-index:2;position:relative}.navigation-page--under{z-index:1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.navigation-stack[data-animating=true] .navigation-page--top,.navigation-stack[data-interactive-pop=true] .navigation-page--top{box-shadow:-10px 0 28px #0f172a14}.navigation-stack[data-interactive-pop=true] .navigation-page--top,.navigation-stack[data-interactive-pop=true] .navigation-page--under{will-change:transform}.navigation-stack[data-direction=push][data-animating=true] .navigation-page--top{animation:.35s cubic-bezier(.32,.72,0,1) both nav-push-in}.navigation-stack[data-direction=push][data-animating=true] .navigation-page--under{animation:.35s cubic-bezier(.32,.72,0,1) both nav-push-under}.navigation-stack[data-direction=pop][data-animating=true] .navigation-page--top{animation:.35s cubic-bezier(.32,.72,0,1) both nav-pop-out}.navigation-stack[data-direction=pop][data-animating=true] .navigation-page--under{animation:.35s cubic-bezier(.32,.72,0,1) both nav-pop-under}@keyframes nav-push-in{0%{transform:translate(100%)}to{transform:translate(0,0)}}@keyframes nav-push-under{0%{transform:translate(0,0)}to{transform:translate(-33%)}}@keyframes nav-pop-out{0%{transform:translate(0,0)}to{transform:translate(100%)}}@keyframes nav-pop-under{0%{transform:translate(-33%)}to{transform:translate(0,0)}}@media (prefers-reduced-motion:reduce){.navigation-stack[data-animating=true] .navigation-page--top,.navigation-stack[data-animating=true] .navigation-page--under{box-shadow:none;animation:none!important}}@media (width<=760px){.app{width:min(100% - 20px,960px);padding-bottom:calc(28px + var(--safe-bottom))}.timer-row,.top-card,.section-title{align-items:stretch}.timer-button{align-items:center}.top-card,.section-title{display:grid}.timer-row{display:flex}.timer-stop,.timer-row .settings-button{padding:10px;font-size:13px}.timer-settings{flex-direction:column;align-items:stretch}.category-item input:not([type=color]){flex:none;width:100%}.new-session-row{grid-template-columns:repeat(2,minmax(0,1fr))}.desktop-delete{display:none}.session-swipe-row{border-radius:0;width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);overflow:clip visible}.session-swipe-track{width:min(960px,100vw - 20px);margin-inline:auto}.session-swipe-delete{z-index:0;color:#b91c1c;background:#fee2e2;border-color:#fecaca;border-radius:20px;width:66px;height:auto;display:inline-flex;position:absolute;inset:0 0 0 auto}.session-swipe-row.is-swiping .session-swipe-content{transition:none}.exercise-swipe-delete{z-index:0;color:#b91c1c;background:#fee2e2;border-color:#fecaca;border-radius:14px;width:66px;height:auto;display:inline-flex;position:absolute;inset:0 0 0 auto}.exercise-swipe-row.is-swiping .exercise-swipe-content{transition:none}.exercise-card{z-index:1;grid-template-columns:1fr;position:relative}.exercise-top-row{grid-template-columns:minmax(0,1fr) auto;display:grid}.set-control{justify-content:space-between}.export-card{padding:16px}.export-actions{grid-template-columns:1fr;display:grid}}
