.activity-graph-card[data-v-0595111c]{display:grid;gap:18px}.graph-header[data-v-0595111c]{align-items:center;gap:12px}.graph-header .section-title[data-v-0595111c]{margin-bottom:0}.date-controls[data-v-0595111c]{display:flex;align-items:flex-start;gap:12px;margin-left:auto}.graph-period-stack[data-v-0595111c]{display:grid;gap:3px;min-width:max-content;text-align:left}.period-label[data-v-0595111c]{font-size:14px;color:var(--text-primary)}.period-date-range[data-v-0595111c]{color:var(--text-secondary);font-size:12px}.comparison-legend[data-v-0595111c]{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding-top:2px}.comparison-legend-item[data-v-0595111c]{display:inline-flex;align-items:center;gap:5px;color:var(--text-secondary);font-size:12px;font-weight:750}.comparison-legend-item[data-v-0595111c]:before{width:24px;content:""}.comparison-legend-current[data-v-0595111c]:before{border-top:3px solid var(--accent)}.comparison-legend-previous[data-v-0595111c]:before{border-top:2px dashed var(--chart-muted)}.graph-grid[data-v-0595111c]{display:grid;grid-template-columns:1fr;gap:14px}.graph-panel[data-v-0595111c]{min-width:0;display:grid;gap:10px;padding:12px;background:var(--color-bg-panel-soft);border:1px solid var(--border);border-radius:8px}.graph-panel-header[data-v-0595111c]{min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:8px}.graph-panel-header-actions[data-v-0595111c]{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.graph-panel-header h4[data-v-0595111c]{margin:0;color:var(--text-primary);font-size:14px;line-height:1.2}.graph-panel-header span[data-v-0595111c]{color:var(--text-secondary);font-size:12px;white-space:nowrap}.chart-page-control[data-v-0595111c]{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;min-width:max-content}.chart-page-control button[data-v-0595111c]{display:inline-grid;place-items:center;width:32px;height:32px;padding:0;background:var(--input-bg);color:var(--text-primary);border:1px solid var(--border);border-radius:8px;cursor:pointer;font-size:18px;font-weight:850;line-height:1}.chart-page-control button[data-v-0595111c]:not(:disabled):hover{border-color:var(--accent)}.chart-page-control button[data-v-0595111c]:disabled{cursor:not-allowed;opacity:.45}.chart-page-control span[data-v-0595111c]{min-width:78px;color:var(--text-secondary);font-size:12px;font-weight:800;text-align:center;white-space:nowrap}.graph-panel-meta[data-v-0595111c]{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px 10px;color:var(--text-secondary);font-size:12px}.dashboard-toggle-menu[data-v-0595111c]{position:relative;display:inline-grid;flex:0 0 auto}.dashboard-toggle-button[data-v-0595111c]{display:inline-grid;width:30px;height:30px;flex:0 0 auto;place-items:center;background:var(--input-bg);color:var(--text-primary);border:1px solid var(--border);border-radius:8px;cursor:pointer;font-size:16px;font-weight:800;line-height:1}.dashboard-toggle-button[aria-pressed=true][data-v-0595111c]{color:var(--success);border-color:var(--color-status-success-border)}.dashboard-toggle-button[data-v-0595111c]:hover{border-color:var(--accent)}.dashboard-toggle-popover[data-v-0595111c]{position:absolute;z-index:20;top:calc(100% + 6px);right:0;min-width:150px;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 12px 26px var(--color-shadow-dropdown)}.dashboard-toggle-popover button[data-v-0595111c]{width:100%;padding:8px 10px;background:transparent;color:var(--text-primary);border:0;border-radius:6px;cursor:pointer;font:inherit;font-size:12px;font-weight:700;text-align:left;white-space:nowrap}.dashboard-toggle-popover button[data-v-0595111c]:hover{background:var(--input-bg)}.stat-label[data-v-0595111c]{display:inline-flex;align-items:center;gap:5px;color:var(--text-primary);font-weight:600}.stat-range-label[data-v-0595111c]{color:var(--text-secondary);font-weight:600}.stat-label[data-v-0595111c]:before{width:18px;border-top:2px dotted currentColor;content:""}.graph-panel-header .stat-label-max[data-v-0595111c]{color:var(--chart-reference-max-text)}.graph-panel-header .stat-label-avg[data-v-0595111c]{color:var(--chart-reference-avg-text)}.graph-panel-header .stat-label-min[data-v-0595111c]{color:var(--chart-reference-min-text)}.graph-filter-row[data-v-0595111c]{display:flex;flex-wrap:wrap;gap:8px}.graph-control-row[data-v-0595111c]{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.graph-control[data-v-0595111c]{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:12px;font-weight:700}.graph-select[data-v-0595111c]{width:auto;min-width:104px;min-height:32px;padding:5px 28px 5px 9px;font-size:12px}.graph-filter-chip[data-v-0595111c]{min-height:30px;padding:5px 9px;color:var(--text-secondary);background:var(--input-bg);border:1px solid var(--border);border-radius:8px;font-size:12px;font-weight:700;cursor:pointer}.graph-filter-chip-active[data-v-0595111c]{color:var(--text-primary);border-color:var(--color-accent-border);background:var(--color-accent-soft)}.graph-target-count[data-v-0595111c]{display:inline-flex;align-items:center;min-height:30px;padding:5px 9px;color:var(--text-primary);background:var(--color-bg-panel-muted);border:1px solid var(--border);border-radius:8px;font-size:12px;font-weight:700}.chart-frame[data-v-0595111c]{position:relative;width:100%;height:170px;overflow:hidden}.problem-chart-frame[data-v-0595111c]{position:relative;width:100%;height:260px;overflow:hidden}.empty-chart[data-v-0595111c]{height:100%;display:grid;place-items:center;margin:0;color:var(--text-secondary);border:1px dashed var(--border);border-radius:8px;font-size:13px}@media(max-width:520px){.graph-header[data-v-0595111c]{align-items:stretch}.date-controls[data-v-0595111c]{flex-wrap:wrap;width:100%;margin-left:0}.graph-period-stack[data-v-0595111c]{min-width:0;text-align:left}.period-date-range[data-v-0595111c]{width:100%}.chart-frame[data-v-0595111c]{height:155px}.problem-chart-frame[data-v-0595111c]{height:240px}}.section-header[data-v-8251000d]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.section-header-actions[data-v-8251000d]{display:flex;align-items:center;gap:var(--space-3)}@media(max-width:430px){.section-header[data-v-8251000d]{align-items:flex-start;flex-direction:column}.section-header-actions[data-v-8251000d]{width:100%;justify-content:space-between}}.add-session-button[data-v-600ee510]{display:inline-flex;align-items:center;min-height:36px;padding:8px 12px;font-size:14px}.recent-sessions-empty[data-v-600ee510]{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(180px,.85fr);gap:16px;align-items:stretch;padding:16px;background:var(--input-bg);border:1px solid var(--border);border-radius:8px}.recent-sessions-empty-main[data-v-600ee510]{display:grid;align-content:start;gap:10px}.recent-sessions-empty-main h4[data-v-600ee510],.recent-sessions-empty-main p[data-v-600ee510]{margin:0}.recent-sessions-empty-main h4[data-v-600ee510]{color:var(--text-primary);font-size:16px}.recent-sessions-empty-main p[data-v-600ee510]{color:var(--text-secondary);font-size:14px;line-height:1.6}.recent-sessions-empty-action[data-v-600ee510]{justify-self:start}.recent-sessions-empty-benefits[data-v-600ee510]{display:grid;align-content:start;gap:8px;color:var(--text-secondary);font-size:13px}.recent-sessions-empty-benefits strong[data-v-600ee510]{color:var(--text-primary);font-size:14px}.recent-sessions-empty-benefits ul[data-v-600ee510]{display:grid;gap:5px;margin:0;padding:0;list-style:none}@media(max-width:430px){.recent-sessions-empty[data-v-600ee510]{grid-template-columns:1fr}}.analytics-summary[data-v-d7d6c064]{display:grid;gap:16px}.analytics-summary h3[data-v-d7d6c064]{margin:0;font-size:16px;font-weight:700}.analytics-summary h4[data-v-d7d6c064]{margin:0}.summary-highlight[data-v-d7d6c064]{display:grid;gap:12px}.highlight-list[data-v-d7d6c064]{display:grid;gap:8px;padding:0;margin:0;list-style:none}.highlight-list li[data-v-d7d6c064]{position:relative;padding-left:14px;color:var(--text-primary);font-size:14px;font-weight:650;line-height:1.45}.highlight-list li[data-v-d7d6c064]:before{position:absolute;left:0;color:var(--accent);content:"•"}.summary-section[data-v-d7d6c064]{display:grid;gap:10px}.summary-card-grid[data-v-d7d6c064],.ability-card-grid[data-v-d7d6c064],.challenge-card-grid[data-v-d7d6c064]{display:grid;grid-template-columns:1fr;gap:10px}.performance-breakdown-list[data-v-d7d6c064]{display:grid;gap:10px}.performance-breakdown-card[data-v-d7d6c064]{display:grid;padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.performance-breakdown-grid[data-v-d7d6c064]{display:grid;grid-template-columns:repeat(var(--performance-column-count),minmax(72px,1fr));gap:10px 12px;align-items:stretch}.performance-breakdown-column[data-v-d7d6c064]{display:grid;min-width:0;gap:6px;align-content:start}.performance-breakdown-heading[data-v-d7d6c064]{min-width:0;color:var(--text-secondary);font-size:12px;font-weight:800;line-height:1.25;overflow-wrap:anywhere}.performance-breakdown-column.primary .performance-breakdown-heading[data-v-d7d6c064]{color:var(--text-primary);font-size:13px}.performance-breakdown-value[data-v-d7d6c064]{color:var(--text-primary);font-size:24px;font-weight:850;line-height:1.05}.performance-breakdown-difference[data-v-d7d6c064]{min-height:1.25em;color:var(--text-secondary);font-size:12px;font-style:normal;font-weight:800;line-height:1.25}.performance-breakdown-difference.positive[data-v-d7d6c064]{color:var(--success)}.performance-breakdown-difference.negative[data-v-d7d6c064]{color:var(--danger)}.performance-breakdown-difference.neutral[data-v-d7d6c064],.performance-breakdown-value.muted[data-v-d7d6c064]{color:var(--text-muted)}.summary-metric-card[data-v-d7d6c064]{display:grid;min-width:0;min-height:112px;gap:12px;align-content:space-between;padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.summary-metric-card-empty[data-v-d7d6c064]{align-content:start}.summary-metric-header span[data-v-d7d6c064]{min-width:0;color:var(--text-secondary);font-size:13px;font-weight:700;line-height:1.35}.summary-metric-value[data-v-d7d6c064]{display:block;min-width:0;color:var(--text-primary);font-size:30px;font-weight:800;line-height:1.05;overflow-wrap:anywhere}.summary-metric-value-text[data-v-d7d6c064]{font-size:21px;line-height:1.2}.summary-metric-difference[data-v-d7d6c064]{min-height:1.35em;color:var(--text-muted);font-size:13px;font-weight:800;line-height:1.35;overflow-wrap:anywhere}.summary-metric-difference.positive[data-v-d7d6c064]{color:var(--success)}.summary-metric-difference.negative[data-v-d7d6c064]{color:var(--danger)}.summary-metric-difference.neutral[data-v-d7d6c064]{color:var(--text-secondary)}.ability-summary-card[data-v-d7d6c064],.challenge-summary-card[data-v-d7d6c064]{display:grid;gap:12px;padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.strength-trend-card[data-v-d7d6c064]{display:grid;gap:16px;padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.strength-trend-section[data-v-d7d6c064]{display:grid;gap:10px}.strength-trend-section h4[data-v-d7d6c064]{color:var(--text-secondary);font-size:13px;font-weight:800;line-height:1.35}.strength-trend-chip-list[data-v-d7d6c064]{display:flex;flex-wrap:wrap;gap:8px}.strength-trend-chip[data-v-d7d6c064]{display:inline-flex;align-items:center;min-height:32px;padding:5px 10px;color:var(--text-primary);font-size:14px;font-weight:800;line-height:1.25;background:var(--surface-soft);border:1px solid var(--border);border-radius:999px}.ability-summary-card h4[data-v-d7d6c064],.challenge-summary-card h4[data-v-d7d6c064]{color:var(--text-primary);font-size:15px;font-weight:800;line-height:1.35}.challenge-summary-rows[data-v-d7d6c064]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.challenge-summary-rows span[data-v-d7d6c064]{display:grid;min-width:0;gap:4px}.challenge-summary-rows small[data-v-d7d6c064]{color:var(--text-secondary);font-size:12px;font-weight:750;line-height:1.35;overflow-wrap:anywhere}.challenge-summary-rows em[data-v-d7d6c064]{color:var(--text-muted);font-size:12px;font-style:normal;font-weight:750;line-height:1.35}.challenge-summary-rows strong[data-v-d7d6c064]{color:var(--text-primary);font-size:22px;font-weight:800;line-height:1.1}.project-summary-card[data-v-d7d6c064]{align-content:start;gap:8px}.project-summary-label[data-v-d7d6c064],.project-summary-place[data-v-d7d6c064]{color:var(--text-secondary);font-size:12px;font-weight:800;line-height:1.35}.project-summary-card h4[data-v-d7d6c064]{min-width:0;color:var(--text-primary);font-size:18px;font-weight:850;line-height:1.2;overflow-wrap:anywhere}.project-summary-meta[data-v-d7d6c064]{display:flex;flex-wrap:wrap;gap:8px 12px;color:var(--text-secondary);font-size:13px;font-weight:750;line-height:1.35}.project-summary-meta span[data-v-d7d6c064]:first-child{color:var(--text-primary);font-size:15px;font-weight:850}.ability-summary-stats[data-v-d7d6c064]{display:flex;flex-wrap:wrap;gap:8px 16px}.ability-summary-stats span[data-v-d7d6c064],.ability-summary-completion[data-v-d7d6c064]{display:inline-flex;align-items:baseline;min-width:0;gap:6px;color:var(--text-secondary);font-size:13px;font-weight:700;line-height:1.35}.ability-summary-stats strong[data-v-d7d6c064],.ability-summary-completion strong[data-v-d7d6c064]{color:var(--text-primary);font-size:18px;font-weight:800}.ability-summary-stats em[data-v-d7d6c064],.ability-summary-completion em[data-v-d7d6c064]{color:var(--text-muted);font-size:12px;font-style:normal;font-weight:800}.ability-summary-stats em.positive[data-v-d7d6c064],.ability-summary-completion em.positive[data-v-d7d6c064]{color:var(--success)}.ability-summary-stats em.negative[data-v-d7d6c064],.ability-summary-completion em.negative[data-v-d7d6c064]{color:var(--danger)}.ability-summary-stats em.neutral[data-v-d7d6c064],.ability-summary-completion em.neutral[data-v-d7d6c064]{color:var(--text-secondary)}.summary-empty-hint[data-v-d7d6c064],.summary-section-empty[data-v-d7d6c064]{margin:0;color:var(--text-muted);font-size:13px;font-weight:600;line-height:1.45}@media(min-width:760px){.summary-card-grid[data-v-d7d6c064],.ability-card-grid[data-v-d7d6c064],.challenge-card-grid[data-v-d7d6c064]{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-metric-card[data-v-d7d6c064]{min-height:120px}}@media(max-width:480px){.summary-metric-value[data-v-d7d6c064]{font-size:26px}.summary-metric-value-text[data-v-d7d6c064]{font-size:19px}.performance-breakdown-grid[data-v-d7d6c064]{grid-template-columns:repeat(2,minmax(0,1fr))}.performance-breakdown-column.primary[data-v-d7d6c064]{grid-column:1 / -1}.performance-breakdown-card[data-v-d7d6c064]{padding:12px}.performance-breakdown-value[data-v-d7d6c064]{font-size:22px}}.analytics-header[data-v-72a5e8e1]{align-items:flex-end}.analytics-controls[data-v-72a5e8e1]{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.analytics-period-control[data-v-72a5e8e1]{width:220px}.analytics-section-heading[data-v-72a5e8e1]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.analytics-section-heading .section-title[data-v-72a5e8e1]{margin-bottom:0}.analytics-graph-heading[data-v-72a5e8e1]{align-items:center}.period-stack[data-v-72a5e8e1]{display:grid;gap:3px;color:var(--text-secondary);font-size:12px;font-weight:650;line-height:1.4;text-align:right}.period-stack strong[data-v-72a5e8e1]{color:var(--text-primary);font-size:13px}.compare-toggle[data-v-72a5e8e1]{display:inline-flex;align-items:center;min-height:42px;gap:8px;color:var(--text-secondary);font-weight:700}.graph-section[data-v-72a5e8e1]{display:grid;gap:16px}@media(max-width:760px){.analytics-header[data-v-72a5e8e1],.analytics-controls[data-v-72a5e8e1]{align-items:stretch}.analytics-section-heading[data-v-72a5e8e1],.analytics-graph-heading[data-v-72a5e8e1]{display:grid;gap:8px}.period-stack[data-v-72a5e8e1]{text-align:left}.analytics-controls[data-v-72a5e8e1],.analytics-period-control[data-v-72a5e8e1]{width:100%}.compare-toggle[data-v-72a5e8e1]{width:fit-content}}.pagination[data-v-45388ced]{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;justify-content:space-between;padding-top:var(--space-4);margin-top:var(--space-1);border-top:1px solid var(--border)}.pagination-summary[data-v-45388ced]{margin:0;color:var(--text-secondary);font-size:var(--font-size-md)}.pagination-actions[data-v-45388ced]{display:flex;gap:10px;align-items:center}.pagination-button[data-v-45388ced]{min-width:92px}.page-info[data-v-45388ced]{min-width:86px;color:var(--text-secondary);font-size:var(--font-size-md);text-align:center}@media(max-width:520px){.pagination[data-v-45388ced],.pagination-actions[data-v-45388ced]{width:100%}.pagination-actions[data-v-45388ced]{justify-content:space-between}.pagination-button[data-v-45388ced]{min-width:84px}}.sessions-empty-state[data-v-c3bcb31e]{display:grid;gap:10px;max-width:460px;margin:0;color:var(--text-secondary);font-size:14px;line-height:1.7;white-space:pre-line}.sessions-empty-state p[data-v-c3bcb31e]{margin:0}.header-actions[data-v-c3bcb31e]{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;align-items:center}.filter-select[data-v-c3bcb31e]{width:160px}.session-counts[data-v-c3bcb31e]{display:inline-flex;gap:5px;color:var(--text-secondary);font-size:13px;white-space:nowrap}@media(max-width:640px){.header-actions[data-v-c3bcb31e]{width:100%;justify-content:stretch}.filter-select[data-v-c3bcb31e],.header-actions .button[data-v-c3bcb31e]{width:100%}}.place-chip-list[data-v-6a9d0d47]{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.place-chip[data-v-6a9d0d47]{max-width:100%;min-height:34px;padding:6px 10px;overflow:hidden;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;background:var(--input-bg);border:1px solid var(--border);border-radius:999px;cursor:pointer}.place-chip[data-v-6a9d0d47]:hover{border-color:var(--accent);color:var(--color-control-hover-text)}.fixed-place-display[data-v-6a9d0d47]{display:grid;gap:4px;min-height:44px;padding:10px 12px;color:var(--text-primary);background:var(--input-bg);border:1px solid var(--border);border-radius:8px}.fixed-place-display small[data-v-6a9d0d47]{color:var(--text-muted);font-size:12px}.image-preview-backdrop[data-v-5089cd1d]{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:var(--page-padding);background:var(--color-bg-overlay)}.image-preview-dialog[data-v-5089cd1d]{position:relative;max-width:min(960px,100%);max-height:min(80vh,760px)}.image-preview-image[data-v-5089cd1d]{display:block;max-width:100%;max-height:min(80vh,760px);object-fit:contain;background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-md)}.image-preview-close[data-v-5089cd1d]{position:absolute;top:-14px;right:-14px;display:grid;width:36px;height:36px;place-items:center;padding:0;background:var(--surface);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;font-size:var(--font-size-page-title);line-height:1}.image-preview-close[data-v-5089cd1d]:hover{border-color:var(--accent);color:var(--color-text-overlay)}@media(max-width:640px){.image-preview-backdrop[data-v-5089cd1d]{padding:var(--page-padding-mobile)}.image-preview-close[data-v-5089cd1d]{top:8px;right:8px}}.session-problem-list[data-v-741aee85]{display:grid;gap:0;padding:0;margin:0;list-style:none}.session-problem-row[data-v-741aee85]{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;align-items:center;min-height:48px;border-bottom:1px solid var(--border)}.session-problem-row[data-v-741aee85]:last-child{border-bottom:none}.session-problem-link[data-v-741aee85]{display:grid;grid-template-columns:minmax(0,1fr) 72px 88px;gap:12px;align-items:center;width:100%;min-height:64px;padding:10px 4px;color:inherit;text-align:left;background:transparent;border:0;cursor:pointer;border-radius:0}.session-problem-link[data-v-741aee85]:hover{background:var(--surface-soft)}.session-problem-main[data-v-741aee85]{display:grid;grid-template-columns:minmax(0,1fr) 64px;gap:12px;align-items:center;width:100%;min-width:0}.session-problem-copy[data-v-741aee85]{min-width:0}.session-problem-copy .list-primary[data-v-741aee85],.session-problem-copy .list-secondary[data-v-741aee85]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-problem-copy .list-note[data-v-741aee85]{margin-top:2px;white-space:normal}.session-problem-meta[data-v-741aee85]{min-width:0;overflow:hidden;color:var(--text-secondary);font-size:13px;text-align:right;text-overflow:ellipsis;white-space:nowrap}.session-problem-try-button[data-v-741aee85]{min-width:40px;height:32px;padding:0;border-radius:6px;font-size:13px;line-height:1}.session-problem-thumb[data-v-741aee85]{position:relative;display:block;width:64px;height:64px;overflow:hidden;background:transparent;border:1px solid var(--border);border-radius:6px;cursor:pointer}.session-problem-thumb.empty[data-v-741aee85]{border-color:transparent;cursor:default}.session-problem-thumb img[data-v-741aee85]{display:block;width:100%;height:100%;object-fit:cover}.session-problem-thumb[data-v-741aee85]:not(.empty):hover{border-color:var(--accent)}.thumb-zoom-icon[data-v-741aee85]{position:absolute;right:4px;bottom:4px;display:grid;width:22px;height:22px;place-items:center;background:var(--color-bg-overlay);color:var(--color-text-overlay);border:1px solid var(--color-border-overlay-soft);border-radius:999px;font-size:15px;line-height:1}@media(max-width:640px){.session-problem-link[data-v-741aee85]{grid-template-columns:1fr;gap:4px}.session-problem-meta[data-v-741aee85]{text-align:left}}.training-copy[data-v-5d217004]{display:grid;gap:2px;min-width:0}.training-copy .list-primary[data-v-5d217004],.training-copy .list-secondary[data-v-5d217004]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.training-copy .list-note[data-v-5d217004]{white-space:normal}.header-actions[data-v-21140b84]{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;align-items:center}.search-input[data-v-21140b84]{width:min(320px,100vw - 48px)}.empty-state[data-v-21140b84]{text-align:center;padding:32px 12px}.empty-title[data-v-21140b84]{margin:0 0 6px;font-weight:700}.empty-desc[data-v-21140b84]{max-width:440px;margin:0 auto 16px;color:var(--text-secondary)}.empty-actions[data-v-21140b84]{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.place-list[data-v-21140b84]{display:grid;gap:0;padding:0;margin:0;list-style:none}.place-row[data-v-21140b84]{min-height:48px;border-bottom:1px solid var(--border)}.place-row[data-v-21140b84]:last-child{border-bottom:none}.place-link[data-v-21140b84]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;min-height:48px;padding:10px 4px}.place-link[data-v-21140b84]:hover{background:var(--surface-soft)}.place-main[data-v-21140b84]{display:inline-flex;align-items:center;min-width:0;gap:8px}.place-copy[data-v-21140b84]{display:grid;min-width:0;gap:2px}.place-title[data-v-21140b84]{min-width:0;overflow:hidden;color:var(--text-primary);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.place-note[data-v-21140b84]{min-width:0;overflow:hidden;color:var(--text-secondary);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.spot-icon[data-v-21140b84]{display:inline-grid;width:24px;height:24px;flex:0 0 auto;place-items:center;color:var(--accent);font-size:14px;line-height:1}.place-meta[data-v-21140b84]{color:var(--text-secondary);font-size:13px;text-align:right}@media(max-width:640px){.header-actions[data-v-21140b84]{width:100%;justify-content:stretch}.search-input[data-v-21140b84],.header-actions .button[data-v-21140b84]{width:100%}.place-link[data-v-21140b84]{grid-template-columns:1fr;gap:4px}.place-meta[data-v-21140b84]{text-align:left}}.empty-state[data-v-4240081e]{text-align:center;padding:32px 12px}.empty-title[data-v-4240081e]{margin:0 0 16px;font-weight:700}.place-detail-layout[data-v-4240081e]{display:grid;gap:18px}.spot-registration-panel[data-v-4240081e]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px;background:var(--color-bg-panel-soft);border:1px solid var(--border);border-radius:8px}.spot-registration-copy[data-v-4240081e]{display:grid;gap:4px}.spot-registration-copy strong[data-v-4240081e]{color:var(--text-primary)}.header-actions[data-v-1b4bcd6b]{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;align-items:center}.filter-select[data-v-1b4bcd6b]{width:160px}.checkbox-filter[data-v-1b4bcd6b]{display:inline-flex;align-items:center;min-height:40px;gap:6px;color:var(--text-secondary);font-size:13px;white-space:nowrap}.empty-state[data-v-1b4bcd6b]{text-align:center;padding:32px 12px}.empty-title[data-v-1b4bcd6b]{margin:0 0 6px;font-weight:700}.empty-desc[data-v-1b4bcd6b]{max-width:440px;margin:0 auto 16px;color:var(--text-secondary)}.empty-actions[data-v-1b4bcd6b]{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.problem-list[data-v-1b4bcd6b]{display:grid;gap:0;padding:0;margin:0;list-style:none}.problem-row[data-v-1b4bcd6b]{min-height:48px;border-bottom:1px solid var(--border)}.problem-row[data-v-1b4bcd6b]:last-child{border-bottom:none}.problem-link[data-v-1b4bcd6b]{display:grid;grid-template-columns:minmax(0,1.4fr) 95px 96px 140px 96px 104px 128px;gap:12px;align-items:center;min-height:64px;padding:10px 4px}.problem-link[data-v-1b4bcd6b]:hover{background:var(--surface-soft)}.problem-main[data-v-1b4bcd6b],.problem-copy[data-v-1b4bcd6b]{min-width:0}.problem-title[data-v-1b4bcd6b]{display:block;overflow:hidden;color:var(--text-primary);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.problem-media[data-v-1b4bcd6b]{display:inline-grid;grid-template-columns:64px 25px;gap:6px;align-items:center;width:95px}.problem-thumb[data-v-1b4bcd6b]{position:relative;display:block;width:64px;height:64px;overflow:hidden;background:transparent;border:1px solid var(--border);border-radius:6px;cursor:pointer}.problem-thumb.empty[data-v-1b4bcd6b]{border-color:transparent;cursor:default}.problem-thumb img[data-v-1b4bcd6b]{display:block;width:100%;height:100%;object-fit:cover}.problem-thumb[data-v-1b4bcd6b]:not(.empty):hover{border-color:var(--accent)}.thumb-zoom-icon[data-v-1b4bcd6b]{position:absolute;right:4px;bottom:4px;display:grid;width:22px;height:22px;place-items:center;background:var(--color-bg-overlay);color:var(--color-text-overlay);border:1px solid var(--color-border-overlay-soft);border-radius:999px;font-size:15px;line-height:1}.thumb-badge[data-v-1b4bcd6b]{position:absolute;display:grid;width:22px;height:22px;place-items:center;background:var(--color-bg-overlay);color:var(--color-text-overlay);border:1px solid var(--color-border-overlay);border-radius:999px;font-size:13px;line-height:1}.thumb-cloud-icon[data-v-1b4bcd6b]{top:4px;left:4px}.problem-video-icon[data-v-1b4bcd6b]{position:relative;display:block;width:25px;height:21px;background:var(--color-bg-overlay);border:1px solid var(--color-border-overlay);border-radius:5px}.problem-video-icon[data-v-1b4bcd6b]:before{position:absolute;top:3px;left:4px;width:15px;height:3px;background:linear-gradient(90deg,var(--color-border-overlay-strong) 0 2px,transparent 2px 4px,var(--color-border-overlay-strong) 4px 6px,transparent 6px 8px,var(--color-border-overlay-strong) 8px 10px,transparent 10px 12px,var(--color-border-overlay-strong) 12px 14px);content:""}.problem-video-icon[data-v-1b4bcd6b]:after{position:absolute;top:9px;left:9px;width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:7px solid var(--color-text-overlay);content:""}.problem-place[data-v-1b4bcd6b]{display:block;min-width:0;overflow:hidden;color:var(--text-secondary);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.problem-meta[data-v-1b4bcd6b]{min-width:0;overflow:hidden;color:var(--text-secondary);font-size:13px;text-align:right;text-overflow:ellipsis;white-space:nowrap}.status-pill[data-v-1b4bcd6b]{justify-self:end;min-width:72px;padding:3px 8px;border:1px solid var(--border);border-radius:999px;color:var(--text-secondary);font-size:12px;text-align:center}.status-pill.sent[data-v-1b4bcd6b]{border-color:var(--success);color:var(--success)}@media(max-width:640px){.header-actions[data-v-1b4bcd6b]{width:100%;justify-content:stretch}.filter-select[data-v-1b4bcd6b],.header-actions .button[data-v-1b4bcd6b]{width:100%}.problem-link[data-v-1b4bcd6b]{grid-template-columns:1fr;gap:4px}.problem-media.empty[data-v-1b4bcd6b]{display:none}.problem-meta[data-v-1b4bcd6b]{text-align:left}.status-pill[data-v-1b4bcd6b]{justify-self:start}}.empty-state[data-v-c58d7e0c]{text-align:center;padding:32px 12px}.empty-title[data-v-c58d7e0c]{margin:0 0 12px;font-weight:700}.problem-photo-section[data-v-c58d7e0c]{display:grid;gap:8px}.problem-photo-actions[data-v-c58d7e0c]{display:flex;justify-content:flex-end}.problem-photo[data-v-c58d7e0c]{display:block;width:100%;max-height:420px;object-fit:cover;border:1px solid var(--border);border-radius:8px}.problem-photo-frame[data-v-c58d7e0c]{position:relative}.photo-cloud-icon[data-v-c58d7e0c]{position:absolute;top:10px;left:10px;display:grid;width:30px;height:30px;place-items:center;background:var(--color-bg-overlay);color:var(--color-text-overlay);border:1px solid var(--color-border-overlay);border-radius:999px;font-size:17px;line-height:1}.problem-photo.full[data-v-c58d7e0c]{max-height:none;object-fit:contain;background:var(--surface)}.attempt-chart-frame[data-v-c58d7e0c]{height:280px}.detail-note[data-v-c58d7e0c]{color:var(--text-primary)}.history-list[data-v-c58d7e0c]{display:grid;gap:16px}.history-title[data-v-c58d7e0c]{margin:0 0 8px;color:var(--text-primary);font-size:16px}.attempt-list[data-v-c58d7e0c]{display:grid;gap:0;padding:0;margin:0;list-style:none}.attempt-item[data-v-c58d7e0c]{border-bottom:1px solid var(--border)}.attempt-item[data-v-c58d7e0c]{display:grid;grid-template-columns:80px 96px 72px minmax(0,1fr);gap:12px;align-items:center;min-height:42px;padding:8px 0}.attempt-status[data-v-c58d7e0c]{color:var(--text-secondary);font-weight:700}.attempt-status.sent[data-v-c58d7e0c]{color:var(--success)}.history-session-link[data-v-c58d7e0c]{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:baseline;color:var(--text-primary)}.history-session-link span[data-v-c58d7e0c]:last-child{color:var(--text-secondary);font-size:13px;font-weight:500}.attempt-meta[data-v-c58d7e0c],.attempt-note[data-v-c58d7e0c]{min-width:0;overflow:hidden;color:var(--text-secondary);font-size:13px;text-overflow:ellipsis;white-space:nowrap}@media(max-width:640px){.header-actions[data-v-c58d7e0c]{width:100%;justify-content:stretch}.header-actions .button[data-v-c58d7e0c]{width:100%}.attempt-item[data-v-c58d7e0c]{grid-template-columns:1fr}}.empty-state[data-v-af34146b]{text-align:center;padding:32px 12px}.empty-title[data-v-af34146b]{margin:0 0 16px;font-weight:700}.photo-field[data-v-af34146b]{display:grid;gap:12px}.photo-field-header[data-v-af34146b]{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;justify-content:space-between}.photo-help[data-v-af34146b]{margin:4px 0 0;color:var(--text-muted);font-size:12px}.photo-actions[data-v-af34146b]{display:flex;flex-wrap:wrap;gap:8px}.photo-upload-button[data-v-af34146b]{cursor:pointer}.photo-preview-frame[data-v-af34146b]{display:grid;gap:8px}.photo-preview-button[data-v-af34146b]{position:relative;width:min(100%,420px);padding:0;border:0;background:transparent;cursor:pointer;text-align:left}.photo-preview[data-v-af34146b]{display:block;width:min(100%,420px);max-height:280px;object-fit:cover;border:1px solid var(--border);border-radius:8px}.photo-sync-badge[data-v-af34146b]{position:absolute;right:8px;bottom:8px;display:inline-flex;max-width:calc(100% - 16px);min-height:30px;align-items:center;gap:6px;padding:0 10px;border:1px solid var(--color-border-muted);border-radius:8px;background:var(--color-bg-overlay-strong);color:var(--color-text-overlay-muted);font-size:12px;font-weight:800}.photo-sync-badge.status-synced[data-v-af34146b]{border-color:var(--color-status-success-border-strong);color:var(--color-status-success-text-strong)}.photo-sync-badge.status-failed[data-v-af34146b]{border-color:var(--color-status-danger-border-strong);color:var(--color-status-danger-text-strong)}.image-sync-panel[data-v-af34146b]{display:grid;gap:10px;max-width:520px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.image-sync-usage[data-v-af34146b]{margin:4px 0 0;color:var(--text-primary);font-size:14px;font-weight:700}.image-sync-management[data-v-af34146b]{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.image-sync-status[data-v-af34146b]{display:inline-flex;min-height:34px;align-items:center;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--background);color:var(--text-secondary);font-size:13px;font-weight:700}.image-sync-status.status-synced[data-v-af34146b]{border-color:var(--color-status-success-border-soft);color:var(--color-status-success-text)}.image-sync-status.status-failed[data-v-af34146b]{border-color:var(--color-status-danger-border-soft);color:var(--color-status-danger-text)}.image-sync-inline-message[data-v-af34146b]{color:var(--text-muted);font-size:13px}.form-error[data-v-af34146b]{margin:0;color:var(--danger);font-size:13px}.visually-hidden[data-v-af34146b]{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.recent-problems[data-v-3c8bb886]{margin-bottom:16px}.problem-search-card[data-v-3c8bb886]{display:grid;gap:12px;margin-bottom:16px}.problem-search-results[data-v-3c8bb886]{display:grid;gap:8px}.problem-search-result[data-v-3c8bb886]{display:flex;align-items:center;justify-content:space-between;min-height:38px;gap:10px;padding:8px 10px;background:var(--input-bg);color:var(--text-primary);border:1px solid var(--border);border-radius:8px;cursor:pointer;text-align:left}.problem-search-result[data-v-3c8bb886]:hover{border-color:var(--accent)}.problem-chip-list[data-v-3c8bb886]{display:flex;flex-wrap:wrap;gap:8px}.problem-chip[data-v-3c8bb886]{display:inline-flex;align-items:center;max-width:100%;min-height:36px;gap:8px;padding:7px 10px;background:var(--input-bg);color:var(--text-primary);border:1px solid var(--border);border-radius:8px;cursor:pointer}.problem-chip[data-v-3c8bb886]:hover{border-color:var(--accent)}.problem-word-suggestions[data-v-3c8bb886]{display:grid;gap:8px}.problem-word-title[data-v-3c8bb886]{color:var(--text-secondary);font-size:12px;font-weight:600}.problem-word-chip-list[data-v-3c8bb886]{display:flex;flex-wrap:wrap;gap:8px}.problem-word-chip[data-v-3c8bb886]{min-height:32px;padding:5px 10px;background:var(--input-bg);color:var(--text-primary);border:1px solid var(--border);border-radius:999px;cursor:pointer;font-size:13px;font-weight:600}.problem-word-chip[data-v-3c8bb886]:hover{border-color:var(--accent)}.problem-chip-name[data-v-3c8bb886]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.problem-chip-grade[data-v-3c8bb886]{flex:0 0 auto;min-width:28px;padding:2px 6px;border-radius:6px;background:var(--surface-soft);color:var(--text-secondary);font-size:12px;font-weight:700}.send-shortcut-button[data-v-3c8bb886]{width:fit-content;min-height:34px;padding:6px 10px}.completion-best-pill[data-v-3c8bb886]{width:fit-content;min-height:28px;padding:4px 8px;border:1px solid var(--border);border-radius:999px;background:var(--surface-soft);color:var(--text-secondary);cursor:pointer;font-size:12px;font-weight:700}.completion-best-pill[data-v-3c8bb886]:hover{border-color:var(--accent);color:var(--text-primary)}.selected-problem[data-v-3c8bb886]{display:flex;align-items:center;justify-content:space-between;min-height:58px;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-soft);color:var(--text-primary)}.selected-problem-thumb[data-v-3c8bb886]{position:relative;flex:0 0 46px;width:46px;height:46px;overflow:hidden;padding:0;background:var(--input-bg);border:1px solid var(--border);border-radius:8px;cursor:zoom-in}.selected-problem-thumb img[data-v-3c8bb886]{display:block;width:100%;height:100%;object-fit:cover}.selected-problem-thumb[data-v-3c8bb886]:hover{border-color:var(--accent)}.thumb-zoom-icon[data-v-3c8bb886]{position:absolute;right:3px;bottom:3px;display:grid;width:18px;height:18px;place-items:center;border-radius:999px;background:var(--color-bg-overlay-soft);color:var(--color-text-overlay);font-size:12px;font-weight:700;line-height:1}.selected-problem-copy[data-v-3c8bb886]{display:grid;flex:1 1 auto;min-width:0;gap:4px}.selected-problem-name[data-v-3c8bb886]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-problem-grade[data-v-3c8bb886]{color:var(--text-secondary);font-size:12px;font-weight:700}.selected-detail-link[data-v-3c8bb886]{width:fit-content}.selected-problem-change[data-v-3c8bb886]{flex:0 0 auto;border:1px solid var(--border);border-radius:8px;padding:6px 10px;background:var(--surface);color:var(--text-primary);cursor:pointer;font-weight:600}.selected-problem-change[data-v-3c8bb886]:hover{border-color:var(--accent)}.header-actions[data-v-8dea7b31]{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;align-items:center}.search-input[data-v-8dea7b31]{width:min(320px,100vw - 48px)}.filter-select[data-v-8dea7b31]{width:180px}.checkbox-filter[data-v-8dea7b31]{display:inline-flex;align-items:center;min-height:40px;gap:6px;color:var(--text-secondary);font-size:13px;white-space:nowrap}.empty-state[data-v-8dea7b31]{text-align:center;padding:32px 12px}.empty-title[data-v-8dea7b31]{margin:0 0 6px;font-weight:700}.empty-desc[data-v-8dea7b31]{max-width:440px;margin:0 auto;color:var(--text-secondary)}.exercise-list[data-v-8dea7b31]{display:grid;gap:0;padding:0;margin:0;list-style:none}.exercise-link[data-v-8dea7b31]{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 72px 120px;gap:16px;align-items:center;min-height:48px;padding:10px 4px}.exercise-row[data-v-8dea7b31]{border-bottom:1px solid var(--border)}.exercise-row[data-v-8dea7b31]:last-child{border-bottom:none}.exercise-main[data-v-8dea7b31]{display:inline-flex;align-items:center;min-width:0;gap:8px}.exercise-copy[data-v-8dea7b31]{display:grid;min-width:0;gap:2px}.exercise-title[data-v-8dea7b31]{min-width:0;overflow:hidden;color:var(--text-primary);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.exercise-note[data-v-8dea7b31]{min-width:0;overflow:hidden;color:var(--text-secondary);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.exercise-targets[data-v-8dea7b31],.exercise-meta[data-v-8dea7b31]{color:var(--text-secondary);font-size:13px;text-align:right}@media(max-width:640px){.header-actions[data-v-8dea7b31],.search-input[data-v-8dea7b31],.filter-select[data-v-8dea7b31]{width:100%}.exercise-link[data-v-8dea7b31]{grid-template-columns:1fr;gap:4px}.exercise-targets[data-v-8dea7b31],.exercise-meta[data-v-8dea7b31]{text-align:left}}.detail-note[data-v-c82738b7]{margin:0;color:var(--text-secondary)}.progress-chart-frame[data-v-c82738b7]{height:280px}.exercise-history-heading[data-v-c82738b7]{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:baseline;justify-content:space-between;margin-bottom:12px}.exercise-history-heading .section-title[data-v-c82738b7]{margin-bottom:0}.exercise-history-count[data-v-c82738b7]{color:var(--text-secondary);font-size:13px;font-weight:700;line-height:1.35}.training-log-copy[data-v-c82738b7]{display:grid;min-width:0;gap:2px}.training-log-copy .list-primary[data-v-c82738b7],.training-log-copy .list-secondary[data-v-c82738b7]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.training-log-copy .list-note[data-v-c82738b7]{white-space:normal}.record-type-selector[data-v-6a5a1900]{display:grid;gap:10px;padding:0;margin:0;border:none}.record-type-options[data-v-6a5a1900]{display:flex;flex-wrap:wrap;gap:8px}.record-type-option[data-v-6a5a1900]{display:inline-flex;align-items:center;min-height:34px;gap:7px;padding:6px 10px;color:var(--text-primary);font-size:13px;font-weight:600;background:var(--input-bg);border:1px solid var(--border);border-radius:999px;cursor:pointer}.record-type-option[data-v-6a5a1900]:has(input:checked){color:var(--color-control-selected-text);background:var(--color-accent-soft);border-color:var(--accent)}.recent-exercises[data-v-ebfc76ea]{margin-bottom:16px}.exercise-chip-list[data-v-ebfc76ea]{display:flex;flex-wrap:wrap;gap:8px}.exercise-chip[data-v-ebfc76ea]{min-height:36px;max-width:100%;padding:7px 10px;overflow:hidden;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;background:var(--input-bg);border:1px solid var(--border);border-radius:8px;cursor:pointer}.exercise-chip[data-v-ebfc76ea]:hover{border-color:var(--accent)}.record-type-selector[data-v-ebfc76ea]{display:grid;gap:10px;padding:0;margin:0;border:none}.record-type-options[data-v-ebfc76ea]{display:flex;flex-wrap:wrap;gap:8px}.record-type-option[data-v-ebfc76ea]{display:inline-flex;align-items:center;min-height:34px;gap:7px;padding:6px 10px;color:var(--text-primary);font-size:13px;font-weight:600;background:var(--input-bg);border:1px solid var(--border);border-radius:999px;cursor:pointer}.record-type-option[data-v-ebfc76ea]:has(input:checked){color:var(--color-control-selected-text);background:var(--color-accent-soft);border-color:var(--accent)}.selected-exercise[data-v-ebfc76ea]{display:grid;gap:4px;min-height:42px;padding:10px 12px;color:var(--text-primary);background:var(--surface-soft);border:1px solid var(--border);border-radius:10px}.selected-detail-link[data-v-ebfc76ea]{width:fit-content}.account-panel[data-v-411871cf]{display:grid;gap:16px}.login-description[data-v-411871cf]{display:grid;gap:6px;margin:0 0 16px;padding:12px;background:var(--input-bg);border:1px solid var(--border);border-radius:8px}.login-description h3[data-v-411871cf]{margin:0;color:var(--text-primary);font-size:14px}.login-description p[data-v-411871cf]{margin:0;color:var(--text-secondary);font-size:13px;line-height:1.7;white-space:pre-line}.sync-status-value[data-v-411871cf]{display:inline-flex;align-items:center;gap:7px}.sync-status-time[data-v-411871cf]{margin-left:6px;color:var(--text-muted);font-size:12px;font-weight:500}.sync-status-dot[data-v-411871cf]{width:8px;height:8px;border-radius:999px;background:var(--text-muted)}.sync-status-dot-synced[data-v-411871cf]{background:var(--success)}.sync-status-dot-pending[data-v-411871cf]{background:var(--color-status-warning)}.sync-status-dot-error[data-v-411871cf]{background:var(--danger)}.auth-panel[data-v-411871cf]{display:grid;gap:16px;max-width:420px}.auth-block[data-v-411871cf]{display:grid;align-content:start;gap:12px;padding:14px;background:var(--input-bg);border:1px solid var(--border);border-radius:8px}.auth-block h3[data-v-411871cf]{margin:0;font-size:14px}.auth-switch[data-v-411871cf]{margin:0;color:var(--text-secondary);font-size:13px}.auth-back[data-v-411871cf]{justify-self:start}.auth-provider-button[data-v-411871cf]{display:inline-flex;align-items:center;justify-content:center;gap:8px}.auth-provider-icon[data-v-411871cf]{flex:0 0 auto;width:18px;height:18px}.auth-message[data-v-411871cf]{margin:0;font-size:13px;line-height:1.5}.auth-warning[data-v-411871cf]{color:var(--color-status-warning-text)}.account-binding-warning[data-v-411871cf]{display:grid;gap:4px;padding:12px;background:var(--color-status-warning-soft);border:1px solid var(--color-status-warning-border);border-radius:8px;color:var(--color-status-warning-text);font-size:13px;line-height:1.5}.account-binding-warning p[data-v-411871cf]{margin:0}.auth-error[data-v-411871cf]{color:var(--danger)}.button[data-v-411871cf]:disabled{cursor:not-allowed;opacity:.55}.auth-page[data-v-9e04cbb9]{max-width:720px}.privacy-content[data-v-5edd04e1]{display:grid;gap:10px;color:var(--text-secondary);line-height:1.7}.privacy-content h3[data-v-5edd04e1]{margin:12px 0 0;color:var(--text-primary);font-size:15px}.privacy-content p[data-v-5edd04e1]{margin:0}.privacy-content ul[data-v-5edd04e1]{margin:0;padding-left:20px}.info-section+.info-section[data-v-2e077956]{margin-top:var(--space-4)}.app-description[data-v-2e077956]{margin:0 0 var(--space-4);color:var(--text-secondary);line-height:var(--line-height-relaxed);white-space:pre-line}.app-description-ja[data-v-2e077956]{margin-top:calc(var(--space-2) * -1);font-size:var(--font-size-base)}.settings-help[data-v-2e077956]{margin:0 0 var(--space-3);color:var(--text-secondary);font-size:var(--font-size-md)}.setting-option-list[data-v-2e077956],.grade-system-list[data-v-2e077956]{display:flex;flex-wrap:wrap;gap:var(--space-2)}.setting-option[data-v-2e077956],.grade-system-option[data-v-2e077956]{display:inline-flex;align-items:center;min-height:var(--button-sm-height);gap:var(--space-2);padding:7px 10px;background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-medium)}.update-list[data-v-2e077956]{display:grid;gap:var(--space-4)}.update-block h3[data-v-2e077956]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:0 0 var(--space-2);color:var(--text-primary);font-size:15px}.update-block h3 span[data-v-2e077956]{color:var(--text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal)}.update-new-badge[data-v-2e077956]{display:inline-flex;align-items:center;min-height:20px;padding:2px 7px;background:var(--surface-soft);color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:var(--font-weight-black);line-height:1}.update-block ul[data-v-2e077956]{margin:0;padding-left:20px;color:var(--text-secondary)}.contact-link[data-v-2e077956]{color:var(--accent);font-weight:var(--font-weight-bold)}:root,:root[data-theme=dark]{--color-bg-page: #0f172a;--color-bg-surface: #1e293b;--color-bg-surface-soft: #1e293b;--color-bg-input: #020617;--color-bg-header: rgb(15 23 42 / .88);--color-bg-overlay: rgb(2 6 23 / .82);--color-bg-overlay-soft: rgb(2 6 23 / .72);--color-bg-overlay-strong: rgb(15 23 42 / .86);--color-bg-panel-soft: rgb(15 23 42 / .34);--color-bg-panel-muted: rgb(15 23 42 / .52);--color-text-primary: #e5e7eb;--color-text-secondary: #94a3b8;--color-text-muted: #64748b;--color-text-inverse: white;--color-text-overlay: white;--color-text-overlay-muted: #e2e8f0;--color-nav-active-text: white;--color-control-hover-text: white;--color-control-selected-text: white;--color-border-default: #334155;--color-border-strong: #475569;--color-border-muted: rgb(148 163 184 / .5);--color-border-overlay: rgb(255 255 255 / .42);--color-border-overlay-soft: rgb(255 255 255 / .38);--color-border-overlay-strong: rgb(255 255 255 / .9);--color-accent-primary: #3b82f6;--color-accent-hover: #2563eb;--color-accent-soft: rgb(59 130 246 / .18);--color-accent-border: rgb(59 130 246 / .55);--color-focus-ring: rgb(59 130 246 / .65);--color-focus-shadow: rgb(59 130 246 / .18);--color-status-success: #10b981;--color-status-success-text: #86efac;--color-status-success-text-strong: #bbf7d0;--color-status-success-border: rgb(16 185 129 / .55);--color-status-success-border-soft: rgb(22 163 74 / .45);--color-status-success-border-strong: rgb(22 163 74 / .7);--color-status-warning: #f59e0b;--color-status-warning-text: #fbbf24;--color-status-warning-soft: rgb(245 158 11 / .12);--color-status-warning-border: rgb(245 158 11 / .35);--color-status-danger: #ef4444;--color-status-danger-text: #fca5a5;--color-status-danger-text-strong: #fecaca;--color-status-danger-border: rgb(239 68 68 / .35);--color-status-danger-border-soft: rgb(220 38 38 / .45);--color-status-danger-border-strong: rgb(220 38 38 / .7);--color-shadow-dropdown: rgb(0 0 0 / .35);--color-shadow-modal: rgb(0 0 0 / .48);--chart-text: #e5e7eb;--chart-legend-text: #cbd5e1;--chart-text-muted: #94a3b8;--chart-grid: rgb(148 163 184 / .12);--chart-today: #f97316;--chart-primary: #3b82f6;--chart-secondary: #16a34a;--chart-tertiary: #f59e0b;--chart-quaternary: #0ea5e9;--chart-muted: #94a3b8;--chart-danger: #ef4444;--chart-reference-max: rgb(239 68 68 / .72);--chart-reference-avg: rgb(148 163 184 / .72);--chart-reference-min: rgb(59 130 246 / .72);--chart-reference-max-text: rgb(239 68 68 / .92);--chart-reference-avg-text: rgb(148 163 184 / .92);--chart-reference-min-text: rgb(59 130 246 / .92);--chart-comparison-bg: rgb(15 23 42 / .72);--chart-attempts: #9333ea;--chart-completions: #16a34a;--chart-training: #3b82f6;--chart-training-best: #f59e0b;--chart-ability: #f59e0b;--chart-problem-type: #0ea5e9;--chart-fatigue: #ef4444;--chart-weight: #0f766e;--chart-body-fat: #f59e0b;--chart-session-duration: #2563eb;--chart-send-count: #16a34a;--chart-max-grade: #ea580c;--chart-place-1: #ea580c;--chart-place-2: #2563eb;--chart-place-3: #16a34a;--chart-place-4: #9333ea;--chart-place-5: #dc2626;--chart-place-6: #0891b2;--chart-place-7: #ca8a04;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 12px;--radius-pill: 999px;--radius: var(--radius-xl);--font-size-2xs: 10px;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-md: 13px;--font-size-base: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-page-title: 24px;--font-size-page-title-mobile: 22px;--font-weight-normal: 500;--font-weight-medium: 600;--font-weight-bold: 700;--font-weight-heavy: 800;--font-weight-black: 850;--line-height-tight: 1.2;--line-height-normal: 1.4;--line-height-relaxed: 1.6;--container-max-width: 1080px;--page-padding: var(--space-6);--page-padding-mobile: var(--space-4);--page-padding-compact: var(--space-3);--card-padding: var(--space-5);--card-padding-mobile: var(--space-4);--card-padding-compact: 14px;--section-gap: var(--space-5);--section-title-gap: var(--space-4);--page-heading-gap: 5px;--inline-control-gap: 6px;--field-note-margin: 6px;--session-row-gap-y-mobile: 6px;--control-height: 42px;--control-padding-y: 10px;--control-padding-x: var(--space-3);--control-radius: var(--radius-lg);--control-focus-shadow: 0 0 0 3px var(--color-accent-soft);--button-padding-y: 10px;--button-padding-x: 14px;--button-radius: var(--radius-lg);--button-font-size: inherit;--button-font-weight: var(--font-weight-medium);--button-sm-height: 36px;--button-sm-padding-y: var(--space-2);--button-sm-padding-x: var(--space-3);--icon-button-size: 32px;--icon-button-radius: var(--radius-sm);--icon-size: 18px;--tag-min-height: 24px;--tag-padding-y: 3px;--tag-padding-x: var(--space-2);--tag-radius: var(--radius-pill);--tag-font-size: var(--font-size-sm);--tag-font-weight: var(--font-weight-medium);--bg: var(--color-bg-page);--surface: var(--color-bg-surface);--surface-soft: var(--color-bg-surface-soft);--input-bg: var(--color-bg-input);--border: var(--color-border-default);--text-primary: var(--color-text-primary);--text-secondary: var(--color-text-secondary);--text-muted: var(--color-text-muted);--accent: var(--color-accent-primary);--accent-hover: var(--color-accent-hover);--danger: var(--color-status-danger);--success: var(--color-status-success)}:root[data-theme=earth]{--color-bg-page: #e0dacd;--color-bg-surface: #e9e3d7;--color-bg-surface-soft: #d5cdbf;--color-bg-input: #ede7dc;--color-bg-header: rgb(233 227 215 / .94);--color-bg-overlay: rgb(39 42 35 / .78);--color-bg-overlay-soft: rgb(39 42 35 / .62);--color-bg-overlay-strong: rgb(59 56 47 / .82);--color-bg-panel-soft: rgb(95 119 130 / .12);--color-bg-panel-muted: rgb(95 119 130 / .16);--color-text-primary: #252823;--color-text-secondary: #62685e;--color-text-muted: #85877c;--color-text-inverse: #fbf9f2;--color-text-overlay: #fbf9f2;--color-text-overlay-muted: #efe8dc;--color-nav-active-text: #252823;--color-control-hover-text: #252823;--color-control-selected-text: #252823;--color-border-default: #c1b7a6;--color-border-strong: #a89e8d;--color-border-muted: rgb(99 96 84 / .44);--color-border-overlay: rgb(255 253 247 / .46);--color-border-overlay-soft: rgb(255 253 247 / .34);--color-border-overlay-strong: rgb(255 253 247 / .88);--color-accent-primary: #5f7782;--color-accent-hover: #4b6671;--color-accent-soft: rgb(95 119 130 / .17);--color-accent-border: rgb(95 119 130 / .5);--color-focus-ring: rgb(95 119 130 / .64);--color-focus-shadow: rgb(95 119 130 / .2);--color-status-success: #4f766f;--color-status-success-text: #3b6964;--color-status-success-text-strong: #315855;--color-status-success-border: rgb(79 118 111 / .52);--color-status-success-border-soft: rgb(79 118 111 / .38);--color-status-success-border-strong: rgb(79 118 111 / .66);--color-status-warning: #b3863f;--color-status-warning-text: #8a642d;--color-status-warning-soft: rgb(179 134 63 / .14);--color-status-warning-border: rgb(179 134 63 / .42);--color-status-danger: #a45445;--color-status-danger-text: #954336;--color-status-danger-text-strong: #803529;--color-status-danger-border: rgb(164 84 69 / .38);--color-status-danger-border-soft: rgb(164 84 69 / .34);--color-status-danger-border-strong: rgb(164 84 69 / .58);--color-shadow-dropdown: rgb(71 66 55 / .14);--color-shadow-modal: rgb(71 66 55 / .22);--chart-text: #34382f;--chart-legend-text: #34382f;--chart-text-muted: #6c7167;--chart-grid: rgb(83 88 78 / .16);--chart-today: #a8623d;--chart-primary: #627d86;--chart-secondary: #4f766f;--chart-tertiary: #b3863f;--chart-quaternary: #627d86;--chart-muted: #8a8d82;--chart-danger: #a45445;--chart-reference-max: rgb(164 84 69 / .76);--chart-reference-avg: rgb(108 113 103 / .74);--chart-reference-min: rgb(98 125 134 / .74);--chart-reference-max-text: rgb(144 65 52 / .96);--chart-reference-avg-text: rgb(91 96 86 / .96);--chart-reference-min-text: rgb(78 105 115 / .96);--chart-comparison-bg: rgb(237 231 220 / .78);--chart-attempts: #a8623d;--chart-completions: #4f766f;--chart-training: #627d86;--chart-training-best: #9c7145;--chart-ability: #b3863f;--chart-problem-type: #789083;--chart-fatigue: #a45445;--chart-weight: #55747d;--chart-body-fat: #9c7145;--chart-session-duration: #627d86;--chart-send-count: #4f766f;--chart-max-grade: #a8623d;--chart-place-1: #a8623d;--chart-place-2: #627d86;--chart-place-3: #4f766f;--chart-place-4: #8b6f4d;--chart-place-5: #a45445;--chart-place-6: #789083;--chart-place-7: #b3863f}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text-primary);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea,select{font:inherit}.page{min-height:100vh;padding:var(--page-padding);background:var(--bg);color:var(--text-primary)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6)}.page-header>*{min-width:0}.page-heading{display:grid;min-width:0;gap:var(--page-heading-gap)}.page-back-link{display:inline-flex;align-items:center;width:fit-content;gap:var(--inline-control-gap);color:var(--text-secondary);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);text-decoration:none}.page-back-link:hover{color:var(--text-primary)}.header-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end}.page-title{margin:0;font-size:var(--font-size-page-title);font-weight:var(--font-weight-bold);letter-spacing:0;white-space:nowrap}.page-subtitle{margin-top:var(--field-note-margin);color:var(--text-secondary);font-size:var(--font-size-base)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--card-padding)}.card+.card{margin-top:var(--space-4)}.card:hover{border-color:var(--color-border-strong)}.section-title{margin:0 0 var(--section-title-gap);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}.form-grid{display:grid;gap:var(--space-4);align-items:start}.form-row{display:grid;gap:var(--space-2)}.form-label{color:var(--text-secondary);font-size:var(--font-size-md);font-weight:var(--font-weight-normal)}.form-label-required{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--accent);font-weight:var(--font-weight-medium)}.form-required-badge{display:inline-flex;align-items:center;min-height:18px;padding:2px 6px;color:var(--accent);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);line-height:1;background:var(--color-accent-soft);border:1px solid var(--color-accent-border);border-radius:var(--radius-pill)}.form-help{color:var(--text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-width:72px;min-height:var(--tag-min-height);padding:var(--tag-padding-y) var(--tag-padding-x);border:1px solid var(--border);border-radius:var(--tag-radius);color:var(--text-secondary);font-size:var(--tag-font-size);font-weight:var(--tag-font-weight);line-height:var(--line-height-tight);text-align:center;white-space:nowrap}.status-pill.archived{border-color:var(--color-status-warning);color:var(--color-status-warning-text)}.empty-chart{display:grid;height:100%;min-height:160px;place-items:center;margin:0;color:var(--text-secondary);font-size:var(--font-size-base)}.input,.select,.textarea{width:100%;min-height:var(--control-height);padding:var(--control-padding-y) var(--control-padding-x);background:var(--input-bg);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--control-radius);outline:none}.textarea{min-height:96px;resize:vertical}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:var(--control-focus-shadow)}.slider-field{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:var(--space-3);min-height:var(--control-height);padding:8px 10px;background:var(--input-bg);border:1px solid var(--border);border-radius:var(--control-radius)}.range-input{width:100%;accent-color:var(--accent)}.slider-value{color:var(--text-primary);font-weight:var(--font-weight-bold);text-align:right}.numeric-quick-field{display:grid;gap:var(--space-2)}.numeric-stepper{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:stretch}.numeric-quick-field-compact{max-width:168px}.numeric-quick-field-compact .numeric-stepper{grid-template-columns:36px 56px 36px}.numeric-step-input{min-width:0;font-size:var(--font-size-lg);border-right:0;border-left:0;border-radius:0;text-align:center}.numeric-step-button{min-height:var(--control-height);background:var(--input-bg);color:var(--text-primary);border:1px solid var(--border);cursor:pointer;font-weight:var(--font-weight-bold);touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.numeric-step-button:first-child{border-radius:var(--control-radius) 0 0 var(--control-radius)}.numeric-step-button:last-child{border-radius:0 var(--control-radius) var(--control-radius) 0}.numeric-step-button:hover:not(:disabled),.quick-value-chip:hover{border-color:var(--accent);color:var(--color-control-hover-text)}.numeric-step-button:disabled{color:var(--text-muted);cursor:not-allowed;opacity:.55}.quick-value-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.quick-value-chip{min-height:32px;padding:5px 10px;background:var(--input-bg);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;font-weight:var(--font-weight-medium);touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.target-selector{display:grid;gap:10px;padding:0;margin:0;border:none}.target-option-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.target-question,.target-limit{margin:0;color:var(--text-secondary);font-size:var(--font-size-md)}.target-limit{color:var(--text-muted);font-size:var(--font-size-sm)}.target-option{display:inline-flex;align-items:center;min-height:34px;gap:7px;padding:6px 10px;background:var(--input-bg);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;font-size:var(--font-size-md);font-weight:var(--font-weight-medium)}.target-option:has(input:checked){border-color:var(--accent);background:var(--color-accent-soft);color:var(--color-control-selected-text)}.target-option:has(input:disabled){cursor:not-allowed;opacity:.55}.input::placeholder,.textarea::placeholder{color:var(--text-muted)}.actions{display:flex;gap:var(--space-3);margin-top:var(--space-5)}.button{border:none;border-radius:var(--button-radius);padding:var(--button-padding-y) var(--button-padding-x);cursor:pointer;font-size:var(--button-font-size);font-weight:var(--button-font-weight)}.button-primary{background:var(--accent);color:var(--color-text-overlay)}.button-primary:hover{background:var(--accent-hover)}.button-secondary{background:var(--surface-soft);color:var(--text-primary);border:1px solid var(--border)}.favorite-button{display:inline-grid;place-items:center;width:var(--icon-button-size);height:var(--icon-button-size);flex:0 0 auto;padding:0;color:var(--text-muted);background:transparent;border:0;border-radius:var(--icon-button-radius);cursor:pointer;line-height:1}.favorite-button:hover{color:var(--text-secondary)}.favorite-button:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.favorite-button[aria-pressed=true]{color:var(--danger)}.heart-icon{width:var(--icon-size);height:var(--icon-size);fill:transparent;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.heart-icon.filled{fill:currentColor}.media-embed{width:100%;max-width:100%;min-width:0;overflow:hidden}.media-embed-frame{position:relative;width:100%;max-width:100%;overflow:hidden;aspect-ratio:16 / 9;background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-md)}.media-embed-frame iframe{position:absolute;inset:0;display:block;width:100%;height:100%;border:0}.media-embed-instagram{display:grid;justify-items:center;overflow:hidden}.media-embed-instagram .instagram-media{width:100%!important;min-width:0!important;max-width:100%!important}.media-link-card{display:grid;gap:var(--space-1);padding:12px 14px;color:var(--text-primary);text-decoration:none;background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-md)}.media-link-card:hover{border-color:var(--color-accent-border)}.media-link-label{color:var(--text-muted);font-size:var(--font-size-sm)}.media-link-url{min-width:0;overflow:hidden;color:var(--accent);font-size:var(--font-size-md);text-overflow:ellipsis;white-space:nowrap}.button-danger{background:transparent;color:var(--danger);border:1px solid var(--color-status-danger-border)}.place-input{position:relative}.dropdown{position:absolute;z-index:20;width:100%;margin-top:var(--field-note-margin);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 20px 40px var(--color-shadow-dropdown)}.dropdown-item{padding:var(--control-padding-y) var(--control-padding-x);cursor:pointer;color:var(--text-primary)}.dropdown-item:hover{background:var(--surface-soft)}.dropdown-empty{padding:var(--control-padding-y) var(--control-padding-x);color:var(--text-secondary)}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;background:var(--bg);color:var(--text-primary)}.app-header{position:sticky;top:0;z-index:50;background:var(--color-bg-header);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.app-header-inner{max-width:var(--container-max-width);margin:0 auto;padding:var(--space-4) var(--page-padding);display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}.app-brand{display:inline-flex;align-items:baseline;gap:var(--space-2)}.app-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-heavy);letter-spacing:-.03em}.app-version{color:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-heavy);letter-spacing:0}.app-nav{display:flex;gap:var(--space-2);flex-wrap:wrap}.app-nav>*{min-width:0}.app-menu-button{display:none;width:var(--control-height);height:var(--control-height);padding:var(--control-padding-y);background:var(--input-bg);border:1px solid var(--border);border-radius:var(--control-radius);cursor:pointer}.app-menu-button span{display:block;height:2px;background:var(--text-primary);border-radius:var(--radius-pill)}.app-menu-button span+span{margin-top:var(--inline-control-gap)}.app-nav a,.app-location-button{display:inline-flex;align-items:center;gap:var(--inline-control-gap);padding:8px 10px;border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-base)}.app-new-badge{display:inline-flex;align-items:center;min-height:18px;padding:2px 6px;background:var(--surface-soft);color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-pill);font-size:var(--font-size-2xs);font-weight:var(--font-weight-black);line-height:1}.app-location-button{display:inline-flex;align-items:center;max-width:160px;gap:var(--space-1);background:transparent;border:0;cursor:pointer}.app-location-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-nav a:hover,.app-location-button:hover{color:var(--text-primary);background:var(--surface-soft)}.app-nav a.router-link-active,.app-nav a.active,.app-location-button.active{color:var(--color-nav-active-text);background:var(--surface-soft)}.app-location-menu{position:relative;display:inline-flex;min-width:0}.app-location-popover{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:60;display:grid;min-width:220px;max-width:min(280px,calc(100vw - 32px));max-height:320px;padding:6px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 18px 42px #0f172a2e}.app-location-popover hr{width:100%;margin:6px 0;border:0;border-top:1px solid var(--border)}.app-location-popover button{display:grid;grid-template-columns:18px minmax(0,1fr);gap:var(--inline-control-gap);width:100%;padding:8px 10px;overflow:hidden;color:var(--text-secondary);text-align:left;background:transparent;border:0;border-radius:var(--radius-md);cursor:pointer}.app-location-popover button:first-child{display:block;font-weight:var(--font-weight-bold)}.app-location-popover button:hover,.app-location-option.selected{color:var(--text-primary);background:var(--surface-soft)}.app-location-option{white-space:nowrap}.app-location-option span:last-child,.app-location-option{overflow:hidden;text-overflow:ellipsis}.app-nav a.app-auth-status{display:inline-flex;align-items:center;max-width:190px;gap:7px;color:var(--text-muted);border:1px solid var(--border)}.app-auth-text{display:grid;min-width:0;gap:1px}.app-auth-main,.app-auth-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-auth-main{color:var(--text-secondary);font-weight:var(--font-weight-bold)}.app-auth-sub{color:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal)}.app-auth-dot{flex:0 0 auto;width:8px;height:8px;background:var(--text-muted);border-radius:var(--radius-pill)}.app-auth-dot-synced{background:var(--success)}.app-auth-dot-pending{background:var(--color-status-warning)}.app-auth-dot-error{background:var(--danger)}.app-main{max-width:var(--container-max-width);margin:0 auto;padding:var(--page-padding)}.app-footer{max-width:var(--container-max-width);margin:0 auto;padding:var(--space-2) var(--page-padding) var(--page-padding);color:var(--text-muted);font-size:var(--font-size-sm);text-align:center}.welcome-modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:var(--space-5);background:var(--color-bg-overlay-soft)}.welcome-modal{display:grid;width:min(100%,430px);gap:18px;padding:22px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:0 24px 70px var(--color-shadow-modal)}.welcome-modal h2{margin:0;color:var(--text-primary);font-size:var(--font-size-2xl);line-height:1.3;letter-spacing:0}.welcome-modal-intro{margin:0;color:var(--text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed)}.welcome-modal-sections{display:grid;gap:13px}.welcome-modal-section{display:grid;gap:var(--space-1)}.welcome-modal-section h3,.welcome-modal-section p{margin:0}.welcome-modal-section h3{color:var(--text-primary);font-size:15px;line-height:var(--line-height-normal)}.welcome-modal-section p{color:var(--text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed)}.welcome-modal-actions{display:flex;flex-wrap:wrap;gap:10px}.welcome-modal-actions .button{min-height:var(--control-height)}.session-list{list-style:none;margin:0;padding:0}.session-row{display:grid;grid-template-columns:140px 190px 90px 180px minmax(0,1fr);gap:var(--space-6);align-items:center;padding:14px var(--space-4);border-bottom:1px solid var(--border);cursor:pointer}.session-row:hover{background:var(--surface-soft)}.session-date{font-weight:var(--font-weight-medium)}.session-note{min-width:0;overflow:hidden;color:var(--text-secondary);font-size:var(--font-size-md);text-overflow:ellipsis;white-space:nowrap}.session-place{color:var(--text-secondary)}.session-duration{text-align:right;color:var(--text-secondary)}.session-row:last-child{border-bottom:none}.page-section{margin-top:var(--section-gap)}.simple-list{list-style:none;margin:0;padding:0}.simple-list-item+.simple-list-item{margin-top:var(--space-2)}.simple-list-link{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:var(--radius-md);color:var(--text-primary);text-decoration:none;transition:background .15s ease}.simple-list-link:hover{background:var(--surface-soft)}.list-primary{font-weight:var(--font-weight-medium)}.list-secondary{color:var(--text-secondary);font-size:var(--font-size-md)}.text-link{font-size:var(--font-size-md);color:var(--accent);text-decoration:none}.text-link:hover{text-decoration:underline}.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.pending-note{margin-top:var(--field-note-margin);font-size:var(--font-size-sm);color:var(--text-muted)}.text-muted{color:var(--text-muted);font-size:var(--font-size-sm)}.summary-label{display:block;margin-bottom:var(--space-1);font-size:var(--font-size-sm);color:var(--text-muted)}.summary-item{padding:12px 14px;background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-lg)}.summary-item strong{display:block;font-size:15px;color:var(--text-primary)}.full-width{grid-column:1 / -1}.simple-list-link{width:100%;border:none;background:transparent;font:inherit;cursor:pointer;text-align:left}.simple-list-link{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:768px){.app-header-inner{flex-wrap:wrap;gap:var(--space-3)}.app-brand{flex:1 1 auto}.app-menu-button{display:block}.app-nav{display:none;width:100%;padding-top:4px}.app-nav-open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.app-nav a,.app-location-button{min-height:var(--control-height);padding:11px var(--space-3);text-align:center}.app-location-menu{width:100%}.app-location-button{justify-content:center;max-width:none;width:100%}.app-location-popover{width:min(280px,calc(100vw - 24px));min-width:min(220px,calc(100vw - 24px));max-width:calc(100vw - 24px)}.app-nav a.app-auth-status{max-width:none;justify-content:center;grid-column:1 / -1}}@media(max-width:640px){.page,.app-main{padding:var(--page-padding-mobile)}.page-header{align-items:flex-start;flex-direction:column;gap:var(--space-3)}.card{padding:var(--card-padding-mobile)}.actions{flex-wrap:wrap}.actions .button{flex:1 1 140px}.summary-grid{grid-template-columns:1fr}.welcome-modal{padding:18px}.welcome-modal-actions .button{flex:1 1 160px}.simple-list-link{align-items:flex-start;flex-direction:column;gap:var(--space-1)}.session-row{grid-template-columns:minmax(0,1fr) auto;gap:var(--session-row-gap-y-mobile) var(--space-3);align-items:start;padding:var(--space-3)}.session-date{min-width:0}.session-duration{grid-column:2;grid-row:1;white-space:nowrap}.session-place,.session-counts,.session-note{grid-column:1 / -1;min-width:0}.session-note{white-space:normal}.two-columns{grid-template-columns:1fr}}@media(max-width:430px){.page,.app-main,.app-footer,.app-header-inner{padding:var(--page-padding-compact)}.card{padding:var(--card-padding-compact)}.page-title{font-size:var(--font-size-page-title-mobile)}.button,.input,.select,.textarea{max-width:100%}.actions{align-items:center;gap:var(--space-2);justify-content:flex-start}.actions .button{width:auto;min-width:104px;min-height:var(--button-sm-height);padding:var(--button-sm-padding-y) var(--button-sm-padding-x);font-size:var(--font-size-base)}}
