:root { --bg: #09131f; --bg-soft: #10253a; --surface: rgba(242, 249, 255, 0.16); --surface-strong: rgba(255, 255, 255, 0.24); --surface-border: rgba(255, 255, 255, 0.26); --text: #eff7ff; --muted: rgba(239, 247, 255, 0.72); --shadow: 0 24px 70px rgba(4, 18, 31, 0.35); --primary: #8be4ff; --primary-strong: #3cc7ff; --accent: #8bffcf; --warm: #ffbf8d; --danger: #ff8f8f; --good: #7ff3bb; --radius-xl: 28px; --radius-lg: 22px; --radius-md: 18px; --radius-sm: 14px; --panel-blur: 28px; --font-ui: "SF Pro Display", "Avenir Next", "Segoe UI Variable", "Helvetica Neue", system-ui, sans-serif; --track-accent: rgba(139, 228, 255, 0.34); --track-surface: rgba(255, 255, 255, 0.08); --track-glow: rgba(139, 228, 255, 0.18); --body-radial-one: radial-gradient(circle at 18% 18%, rgba(76, 171, 255, 0.24), transparent 34%); --body-radial-two: radial-gradient(circle at 82% 12%, rgba(113, 255, 210, 0.18), transparent 28%); --body-gradient: linear-gradient(145deg, #07111b 0%, #0b1e2e 35%, #13273b 65%, #08111b 100%); --panel-gradient-top: linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.08)); --panel-gradient-accent: radial-gradient(circle at top left, rgba(255, 255, 255, 0.2), transparent 48%); --pill-bg: rgba(255, 255, 255, 0.12); --pill-border: rgba(255, 255, 255, 0.12); --input-bg: rgba(255, 255, 255, 0.09); --input-bg-focus: rgba(255, 255, 255, 0.12); --input-border: rgba(255, 255, 255, 0.14); --input-border-soft: rgba(255, 255, 255, 0.12); --nav-hover-bg: rgba(255, 255, 255, 0.13); --user-chip-bg: rgba(255, 255, 255, 0.1); --eyebrow-color: rgba(239, 247, 255, 0.62); --chart-axis-color: rgba(255, 255, 255, 0.1); --chart-label-color: rgba(239, 247, 255, 0.65); --chart-value-color: rgba(239, 247, 255, 0.9); --line-point-stroke: rgba(7, 17, 27, 0.9); --bar-grid-color: rgba(255, 255, 255, 0.08); --calendar-detail-bg: rgba(255, 255, 255, 0.08); --calendar-detail-border: rgba(255, 255, 255, 0.1); --calendar-detail-eyebrow: rgba(239, 247, 255, 0.58); --calendar-selected-stroke: rgba(255, 255, 255, 0.9); --control-soft-bg: rgba(255, 255, 255, 0.08); --control-soft-border: rgba(255, 255, 255, 0.16); --brand-shadow: 0 10px 24px rgba(9, 25, 40, 0.22); } @media (prefers-color-scheme: light) { :root { --bg: #eef4fa; --bg-soft: #dce8f2; --surface: rgba(255, 255, 255, 0.72); --surface-strong: rgba(255, 255, 255, 0.86); --surface-border: rgba(120, 146, 172, 0.24); --text: #12304b; --muted: rgba(18, 48, 75, 0.66); --shadow: 0 24px 60px rgba(78, 105, 130, 0.16); --primary: #5abcf2; --primary-strong: #1494de; --accent: #63d9b4; --warm: #ee9f63; --danger: #db6b6b; --good: #45c98d; --track-accent: rgba(67, 153, 212, 0.22); --track-surface: rgba(255, 255, 255, 0.46); --track-glow: rgba(104, 201, 255, 0.16); --body-radial-one: radial-gradient(circle at 18% 18%, rgba(115, 196, 255, 0.28), transparent 34%); --body-radial-two: radial-gradient(circle at 82% 12%, rgba(129, 232, 212, 0.24), transparent 28%); --body-gradient: linear-gradient(145deg, #eef5fb 0%, #e4eff7 40%, #d8e9f4 72%, #edf5fa 100%); --panel-gradient-top: linear-gradient(180deg, rgba(255, 255, 255, 0.84), rgba(255, 255, 255, 0.58)); --panel-gradient-accent: radial-gradient(circle at top left, rgba(123, 190, 255, 0.18), transparent 48%); --pill-bg: rgba(255, 255, 255, 0.54); --pill-border: rgba(130, 158, 185, 0.22); --input-bg: rgba(255, 255, 255, 0.62); --input-bg-focus: rgba(255, 255, 255, 0.82); --input-border: rgba(123, 153, 182, 0.26); --input-border-soft: rgba(123, 153, 182, 0.22); --nav-hover-bg: rgba(255, 255, 255, 0.56); --user-chip-bg: rgba(255, 255, 255, 0.54); --eyebrow-color: rgba(18, 48, 75, 0.5); --chart-axis-color: rgba(18, 48, 75, 0.12); --chart-label-color: rgba(18, 48, 75, 0.58); --chart-value-color: rgba(18, 48, 75, 0.86); --line-point-stroke: rgba(255, 255, 255, 0.95); --bar-grid-color: rgba(18, 48, 75, 0.08); --calendar-detail-bg: rgba(255, 255, 255, 0.6); --calendar-detail-border: rgba(120, 146, 172, 0.18); --calendar-detail-eyebrow: rgba(18, 48, 75, 0.48); --calendar-selected-stroke: rgba(18, 48, 75, 0.52); --control-soft-bg: rgba(255, 255, 255, 0.58); --control-soft-border: rgba(123, 153, 182, 0.22); --brand-shadow: 0 10px 24px rgba(82, 111, 138, 0.14); } html { color-scheme: light; } select { color-scheme: light; } } *, *::before, *::after { box-sizing: border-box; } html { min-height: 100%; color-scheme: dark; } body { margin: 0; min-height: 100vh; font-family: var(--font-ui); background: var(--body-radial-one), var(--body-radial-two), var(--body-gradient); color: var(--text); } a { color: inherit; text-decoration: none; } button, input, select, textarea { font: inherit; } button { cursor: pointer; } .aurora { position: fixed; inset: auto; z-index: 0; border-radius: 999px; pointer-events: none; filter: blur(24px); opacity: 0.65; } .aurora-one { top: 5rem; right: 8vw; width: 18rem; height: 18rem; background: radial-gradient(circle, rgba(90, 196, 255, 0.44), transparent 70%); } .aurora-two { bottom: 8vh; left: 8vw; width: 22rem; height: 22rem; background: radial-gradient(circle, rgba(149, 255, 214, 0.34), transparent 70%); } .shell { position: relative; z-index: 1; display: grid; grid-template-columns: 300px minmax(0, 1fr); min-height: 100vh; gap: 1.25rem; padding: 1.25rem; } .sidebar, .topbar, .glass-panel { border: 1px solid var(--surface-border); background: var(--panel-gradient-top), var(--panel-gradient-accent); backdrop-filter: blur(var(--panel-blur)) saturate(150%); -webkit-backdrop-filter: blur(var(--panel-blur)) saturate(150%); box-shadow: var(--shadow); } .sidebar { display: flex; flex-direction: column; justify-content: flex-start; padding: 1.35rem; border-radius: var(--radius-xl); min-height: calc(100vh - 2.5rem); position: sticky; top: 1.25rem; } .content { min-width: 0; display: flex; flex-direction: column; gap: 1rem; } .topbar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 1.2rem; border-radius: var(--radius-lg); } .topbar__meta { display: flex; gap: 0.65rem; flex-wrap: wrap; } .meta-pill, .chart-chip { display: inline-flex; align-items: center; padding: 0.48rem 0.8rem; border-radius: 999px; background: var(--pill-bg); color: var(--muted); border: 1px solid var(--pill-border); font-size: 0.88rem; letter-spacing: 0.01em; } .meta-pill--button { cursor: pointer; } .topbar-date-form { display: inline-flex; } .topbar-date-input { width: auto; min-height: 2.2rem; border: 1px solid var(--input-border-soft); border-radius: 999px; padding: 0.45rem 0.9rem; background: var(--control-soft-bg); color: var(--text); } .chart-chip--warm { background: rgba(255, 173, 124, 0.12); } .chart-chip--cool { background: rgba(118, 228, 255, 0.12); } .brand-block { display: flex; align-items: center; gap: 0.95rem; } .brand-mark { width: 3rem; height: 3rem; display: grid; place-items: center; border-radius: 18px; overflow: hidden; box-shadow: var(--brand-shadow); } .brand-mark img { width: 100%; height: 100%; display: block; } .brand-block h1, .topbar h2, .hero-card h3, .section-head h3, .detail-card h3, .auth-card h1 { margin: 0; line-height: 1.1; } .brand-block h1 { font-size: 1.3rem; } .eyebrow { margin: 0 0 0.28rem; text-transform: uppercase; letter-spacing: 0.14em; color: var(--eyebrow-color); font-size: 0.74rem; } .main-nav { display: grid; gap: 0.55rem; margin-top: 2rem; } .main-nav a { display: flex; align-items: center; gap: 0.8rem; padding: 0.9rem 1rem; border-radius: 18px; color: var(--muted); transition: transform 180ms ease, background 180ms ease, color 180ms ease; } .main-nav a:hover, .main-nav a.active { background: var(--nav-hover-bg); color: var(--text); transform: translateX(2px); } .sidebar-footer { display: grid; gap: 0.85rem; margin-top: auto; padding-top: 1.2rem; } .nav-icon { width: 1.1rem; height: 1.1rem; opacity: 0.9; } .user-chip { display: flex; justify-content: space-between; align-items: center; gap: 0.75rem; padding: 0.9rem 1rem; border-radius: 18px; background: var(--user-chip-bg); } .user-chip__name { font-weight: 700; } .user-chip__role { font-size: 0.88rem; color: var(--muted); } .flash { padding: 0.92rem 1.1rem; border-radius: var(--radius-md); } .flash-success { border-color: rgba(127, 243, 187, 0.35); } .flash-error { border-color: rgba(255, 143, 143, 0.38); } .hero-grid, .stats-grid, .dashboard-grid, .page-grid, .field-grid, .band-grid { display: grid; gap: 1rem; } .hero-grid { grid-template-columns: minmax(0, 1.8fr) minmax(280px, 0.8fr); } .hero-card, .metric-card, .chart-card, .form-panel, .detail-card, .info-card, .preview-card, .archive-list, .auth-card { padding: 1.25rem; border-radius: var(--radius-xl); } .hero-card { position: relative; overflow: hidden; } .hero-card::after { content: ""; position: absolute; inset: auto -10% -45% auto; width: 15rem; height: 15rem; border-radius: 50%; background: radial-gradient(circle, rgba(255, 255, 255, 0.18), transparent 64%); } .hero-card--wide { padding: 1.6rem; } .hero-copy, .auth-copy, .helper-text, .detail-card p, .info-card p { color: var(--muted); line-height: 1.6; } .hero-score { font-size: clamp(2.5rem, 4vw, 4rem); font-weight: 800; line-height: 1; margin-top: 0.55rem; } .hero-label { margin: 0.45rem 0 0; color: var(--text); font-size: 1.03rem; } .stats-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); } .metric-card { display: grid; gap: 0.35rem; } .metric-card span { color: var(--muted); } .metric-card strong { font-size: 1.8rem; } .dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; } .chart-card--calendar, .chart-card--wide, .form-panel--wide { grid-column: 1 / -1; } .section-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-bottom: 1rem; } .section-head--compact { margin-bottom: 0.85rem; } .calendar-heatmap { min-height: 0; overflow-x: auto; } .calendar-detail { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1rem; padding: 0.9rem 1rem; border-radius: 18px; background: var(--calendar-detail-bg); border: 1px solid var(--calendar-detail-border); } .calendar-detail__meta { display: grid; gap: 0.18rem; } .calendar-detail__eyebrow { color: var(--calendar-detail-eyebrow); font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase; } .calendar-detail__meta strong { font-size: 1.05rem; line-height: 1.2; } .calendar-detail__label, .calendar-detail__subtle { color: var(--muted); } .calendar-detail__score { display: grid; justify-items: end; line-height: 1; } .calendar-detail__score span { font-size: 1.5rem; font-weight: 800; } .calendar-detail__score small { color: var(--muted); margin-top: 0.2rem; } .calendar-detail__link { white-space: nowrap; } .calendar-legend { display: flex; justify-content: flex-end; gap: 0.45rem; margin-top: 0.55rem; color: var(--muted); font-size: 0.82rem; } .calendar-scale { display: flex; gap: 0.32rem; } .calendar-dot { width: 0.8rem; height: 0.8rem; border-radius: 6px; background: rgba(132, 193, 208, 0.55); } .calendar-dot--bad { background: rgba(255, 117, 117, 0.85); } .calendar-dot--warn { background: rgba(255, 171, 122, 0.82); } .calendar-dot--1 { background: rgba(116, 226, 183, 0.7); } .calendar-dot--2 { background: rgba(126, 239, 205, 0.56); } .calendar-dot--3 { background: rgba(126, 239, 205, 0.82); } .calendar-svg, .line-chart svg { height: auto; display: block; } .calendar-svg { width: auto; max-width: 100%; } .calendar-tooltip { fill: var(--muted); font-size: 11px; } .calendar-link { cursor: pointer; } .calendar-cell--active { transition: transform 140ms ease, filter 140ms ease, stroke 140ms ease, stroke-width 140ms ease; transform-box: fill-box; transform-origin: center; } .calendar-link:hover .calendar-cell--active, .calendar-link:focus .calendar-cell--active, .calendar-link:focus-visible .calendar-cell--active { filter: brightness(1.08); stroke: rgba(255, 255, 255, 0.8); stroke-width: 1.1; } .calendar-cell--selected { stroke: var(--calendar-selected-stroke); stroke-width: 1.2; filter: brightness(1.08); } .line-chart { min-height: 10.25rem; } .bar-chart { min-height: 11rem; } .line-chart svg { overflow: visible; } .line-fill { opacity: 0.12; } .line-stroke { fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 3; } .line-point { stroke: var(--line-point-stroke); stroke-width: 1.5; } .line-point--solo { stroke-width: 2; } .line-point-glow { opacity: 0.16; } .chart-axis { stroke: var(--chart-axis-color); stroke-width: 1; } .chart-guide { opacity: 0.22; stroke-width: 2; } .chart-label { fill: var(--chart-label-color); font-size: 11px; } .chart-value { fill: var(--chart-value-color); font-size: 15px; font-weight: 700; } .bar-chart svg { width: 100%; height: auto; display: block; overflow: visible; } .bar-grid { fill: var(--bar-grid-color); } .bar-segment--sport { fill: rgba(87, 214, 255, 0.88); } .bar-segment--walk { fill: rgba(138, 255, 198, 0.82); } .bar-label { fill: var(--chart-label-color); font-size: 11px; } .bar-value { fill: var(--chart-value-color); font-size: 10px; text-anchor: middle; } .bar-icon-ring { fill: rgba(255, 255, 255, 0.1); stroke: rgba(255, 255, 255, 0.18); stroke-width: 1; } .bar-icon { opacity: 0.96; } .bar-bonus-dot { fill: rgba(255, 224, 132, 0.96); stroke: rgba(9, 19, 31, 0.7); stroke-width: 1; } .page-grid { grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.8fr); align-items: start; } .stack-column, .stack-form { display: grid; gap: 1rem; } .stack-form--spacious { gap: 1.4rem; } .tracker-form, .settings-section { display: grid; gap: 1rem; } .section-head__actions { display: flex; gap: 0.7rem; align-items: center; flex-wrap: wrap; } .field-grid--single { grid-template-columns: 1fr; } .field-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); } .field-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); } .field-grid--four { grid-template-columns: repeat(4, minmax(0, 1fr)); } .sport-choice-field { display: grid; gap: 0.7rem; min-width: 0; margin: 0; padding: 0; border: 0; } .sport-choice-field legend { padding: 0; color: var(--muted); font-size: 0.93rem; margin-bottom: 0.1rem; } .sport-choice-list { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.7rem; } .sport-choice { display: block; } .sport-choice input { position: absolute; opacity: 0; pointer-events: none; } .sport-choice__card { display: grid; gap: 0.35rem; min-height: 100%; padding: 0.85rem 0.95rem; border-radius: 18px; border: 1px solid rgba(255, 255, 255, 0.12); background: rgba(255, 255, 255, 0.08); transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, box-shadow 180ms ease; } .sport-choice__card img { width: 1.2rem; height: 1.2rem; opacity: 0.96; } .sport-choice__card strong { color: var(--text); font-size: 0.92rem; line-height: 1.35; } .sport-choice input:checked + .sport-choice__card { border-color: rgba(139, 228, 255, 0.44); background: linear-gradient(180deg, rgba(96, 184, 255, 0.18), rgba(255, 255, 255, 0.08)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 16px 28px rgba(8, 28, 43, 0.2); transform: translateY(-1px); } .sport-choice input:focus-visible + .sport-choice__card { outline: 2px solid rgba(139, 228, 255, 0.46); outline-offset: 2px; } label { display: grid; gap: 0.55rem; color: var(--muted); } label span { font-size: 0.93rem; } input[type="text"], input[type="password"], input[type="number"], input[type="date"], select, textarea { width: 100%; border: 1px solid var(--input-border); border-radius: 16px; background: var(--input-bg); color: var(--text); padding: 0.9rem 1rem; outline: none; transition: border-color 180ms ease, background 180ms ease, transform 180ms ease; } select { color-scheme: dark; } option, optgroup { background: var(--bg-soft); color: var(--text); } input:focus, select:focus, textarea:focus { border-color: rgba(139, 228, 255, 0.5); background: var(--input-bg-focus); transform: translateY(-1px); } textarea { resize: vertical; min-height: 11rem; } input[type="range"] { width: 100%; accent-color: var(--primary-strong); } .range-card { padding: 1rem; border-radius: var(--radius-md); background: var(--track-surface); border: 1px solid var(--track-accent); transition: border-color 220ms ease, background 220ms ease, transform 220ms ease, box-shadow 220ms ease; } .range-card output { font-size: 1.7rem; color: var(--text); font-weight: 700; } .preview-card { position: relative; overflow: hidden; border-color: var(--track-accent); box-shadow: 0 24px 70px rgba(4, 18, 31, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.08); } .preview-card::before { content: ""; position: absolute; inset: auto -12% -25% auto; width: 14rem; height: 14rem; border-radius: 50%; background: radial-gradient(circle, var(--track-glow), transparent 70%); pointer-events: none; transition: background 220ms ease, transform 220ms ease; } .preview-status { display: flex; align-items: center; gap: 1rem; margin-bottom: 0.8rem; } .preview-status__icon { width: 4.5rem; height: 4.5rem; border-radius: 20px; display: grid; place-items: center; background: rgba(255, 255, 255, 0.12); border: 1px solid rgba(255, 255, 255, 0.18); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12); } .preview-status__icon img { width: 2.3rem; height: 2.3rem; } .preview-status__label { margin: 0; font-size: 1.55rem; font-weight: 750; } .preview-scoreline { margin: 0 0 1rem; color: var(--muted); font-size: 0.95rem; } .preview-scoreline span { color: var(--text); font-size: 1.2rem; font-weight: 700; } .component-list, .detail-grid { display: grid; gap: 0.75rem; } .component-list div, .detail-grid div, .user-row { display: flex; justify-content: space-between; gap: 0.85rem; padding: 0.85rem 0.95rem; border-radius: 15px; background: rgba(255, 255, 255, 0.08); } .component-list dt, .detail-grid dt { color: var(--muted); } .component-list dd, .detail-grid dd { margin: 0; font-weight: 700; } .form-actions { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; } .primary-button, .ghost-button, .button-link { display: inline-flex; align-items: center; justify-content: center; min-height: 3rem; padding: 0.75rem 1.2rem; border-radius: 999px; border: 1px solid transparent; transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease; } .primary-button, .button-link { color: #092033; font-weight: 700; background: linear-gradient(180deg, rgba(164, 239, 255, 0.98), rgba(95, 198, 255, 0.78)); box-shadow: 0 16px 30px rgba(59, 167, 230, 0.28); } .primary-button:hover, .ghost-button:hover, .button-link:hover { transform: translateY(-1px); } .ghost-button, .ghost-link { color: var(--text); border: 1px solid var(--control-soft-border); background: var(--control-soft-bg); } .ghost-link { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; padding: 0.55rem 0.95rem; border-radius: 999px; } .ghost-button--small { min-height: 2.45rem; padding: 0.55rem 0.95rem; } .archive-items, .user-list { display: grid; gap: 0.75rem; } .archive-item { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: 1rem 1.05rem; border-radius: 18px; background: rgba(255, 255, 255, 0.08); border: 1px solid transparent; transition: transform 180ms ease, border-color 180ms ease, background 180ms ease; } .archive-item span { display: block; color: var(--muted); margin-top: 0.2rem; } .archive-item:hover, .archive-item.active { transform: translateY(-1px); border-color: rgba(139, 228, 255, 0.34); background: rgba(255, 255, 255, 0.12); } .archive-item__meta { text-align: right; } .archive-item__actions { display: flex; gap: 0.55rem; flex-wrap: wrap; } .archive-action { min-height: 2.4rem; padding-inline: 0.85rem; } .sport-pill { display: inline-flex; align-items: center; gap: 0.5rem; margin-top: 0.55rem; padding: 0.45rem 0.75rem; border-radius: 999px; background: rgba(118, 228, 255, 0.1); border: 1px solid rgba(118, 228, 255, 0.14); color: var(--text); line-height: 1; } .sport-pill img { width: 1rem; height: 1rem; opacity: 0.95; } .sport-pill span { margin-top: 0; color: inherit; } .sport-pill--soft { margin-top: 0; background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.12); } .sport-pill--inline { margin-top: 0; vertical-align: middle; } .sport-pill-group { display: flex; flex-wrap: wrap; gap: 0.45rem; margin-top: 0.45rem; } .sport-pill-group--inline { margin-top: 0; } .note-box { padding: 1rem; border-radius: 18px; background: rgba(255, 255, 255, 0.08); } .note-box h4 { margin: 0 0 0.55rem; } .empty-state { color: var(--muted); line-height: 1.6; } .band-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .band-card { display: grid; gap: 0.75rem; padding: 1rem; border-radius: 18px; background: rgba(255, 255, 255, 0.08); } .sport-type-list { display: grid; gap: 0.9rem; } .preset-list { display: flex; flex-wrap: wrap; gap: 0.65rem; margin-bottom: 0.95rem; } .preset-pill { display: inline-flex; align-items: center; gap: 0.55rem; padding: 0.65rem 0.9rem; border-radius: 999px; border: 1px solid rgba(138, 210, 235, 0.22); background: rgba(255, 255, 255, 0.08); color: var(--text); backdrop-filter: blur(20px); transition: transform 180ms ease, border-color 180ms ease, background 180ms ease; } .preset-pill:hover { transform: translateY(-1px); border-color: rgba(139, 228, 255, 0.4); background: rgba(255, 255, 255, 0.12); } .preset-pill img { width: 1rem; height: 1rem; } .preset-pill[hidden] { display: none; } .sport-type-card { gap: 0.9rem; } .sport-type-card__actions { display: flex; justify-content: space-between; align-items: center; gap: 0.8rem; flex-wrap: wrap; } .checkbox-row { display: flex; align-items: center; gap: 0.7rem; } .checkbox-row input { width: auto; } .auth-shell { min-height: 100vh; display: grid; place-items: center; padding: 1.5rem; } .auth-card { width: min(100%, 30rem); } .auth-card form { margin-top: 1.4rem; } .button-link { width: fit-content; } .page-track[data-track-mood="storm"] { --track-accent: rgba(255, 143, 143, 0.38); --track-surface: rgba(255, 143, 143, 0.08); --track-glow: rgba(255, 126, 126, 0.22); } .page-track[data-track-mood="heavy"] { --track-accent: rgba(255, 191, 141, 0.34); --track-surface: rgba(255, 191, 141, 0.08); --track-glow: rgba(255, 191, 141, 0.18); } .page-track[data-track-mood="steady"] { --track-accent: rgba(139, 228, 255, 0.34); --track-surface: rgba(255, 255, 255, 0.08); --track-glow: rgba(139, 228, 255, 0.18); } .page-track[data-track-mood="bright"] { --track-accent: rgba(143, 243, 198, 0.34); --track-surface: rgba(143, 243, 198, 0.08); --track-glow: rgba(143, 243, 198, 0.2); } .page-track[data-track-mood="radiant"] { --track-accent: rgba(255, 233, 140, 0.35); --track-surface: rgba(255, 233, 140, 0.1); --track-glow: rgba(255, 233, 140, 0.22); } .page-track[data-track-mood] .aurora-one, .page-track[data-track-mood] .aurora-two, .page-track[data-track-mood] .range-card, .page-track[data-track-mood] .preview-card, .page-track[data-track-mood] .preview-card::before { transition: background 220ms ease, opacity 220ms ease, transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease; } .page-track[data-track-mood="storm"] .aurora-one, .page-track[data-track-mood="storm"] .aurora-two { opacity: 0.5; background: radial-gradient(circle, rgba(255, 128, 128, 0.32), transparent 70%); } .page-track[data-track-mood="heavy"] .aurora-one, .page-track[data-track-mood="heavy"] .aurora-two { opacity: 0.55; background: radial-gradient(circle, rgba(255, 192, 128, 0.3), transparent 70%); } .page-track[data-track-mood="bright"] .aurora-one, .page-track[data-track-mood="bright"] .aurora-two { opacity: 0.72; background: radial-gradient(circle, rgba(127, 243, 187, 0.3), transparent 70%); } .page-track[data-track-mood="radiant"] .aurora-one, .page-track[data-track-mood="radiant"] .aurora-two { opacity: 0.78; background: radial-gradient(circle, rgba(255, 228, 122, 0.32), transparent 70%); } @media (max-width: 1100px) { .shell { grid-template-columns: 1fr; } .sidebar { position: static; min-height: auto; } .stats-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } } @media (max-width: 820px) { .topbar, .section-head, .form-actions { flex-direction: column; align-items: stretch; } .hero-grid, .dashboard-grid, .page-grid, .stats-grid, .field-grid--two, .field-grid--three, .field-grid--four, .band-grid { grid-template-columns: 1fr; } .sport-choice-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } .bar-chart { overflow-x: auto; padding-bottom: 0.4rem; } .archive-item, .preview-status, .sport-type-card__actions { flex-direction: column; align-items: flex-start; } .calendar-detail { flex-direction: column; align-items: flex-start; } .calendar-detail__score { justify-items: start; } .line-chart { min-height: 9.5rem; } .bar-chart { min-height: 10rem; } } @media (max-width: 640px) { .shell { padding: 0.8rem; gap: 0.8rem; } .sidebar, .hero-card, .metric-card, .chart-card, .form-panel, .detail-card, .info-card, .preview-card, .archive-list, .topbar { border-radius: 22px; } .hero-score { font-size: 2.8rem; } .chart-card { padding: 1rem; } .line-chart { min-height: 8.75rem; } .bar-chart { min-height: 9.5rem; } }