:root,:root[data-theme=dark]{color-scheme:dark;--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--line-height-tight: 1.2;--line-height-snug: 1.3;--line-height-normal: 1.5;--line-height-relaxed: 1.6;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-body: 400;--font-weight-muted: 400;--font-weight-caption: 400;--font-weight-helper: 400;--placeholder-text-strength: 92%;--control-height-sm: 2rem;--control-height-md: 2.5rem;--control-height-lg: 2.75rem;--bg-primary: #030712;--surface-muted: #111827;--surface-card: #0b1223;--surface-elevated: #0b1328;--surface-hover: #162241;--surface-overlay: rgba(8, 12, 24, .88);--surface-overlay-soft: rgba(8, 12, 24, .7);--surface-backdrop: rgba(2, 6, 23, .7);--text-primary: #e2e8f0;--text-secondary: color-mix(in srgb, var(--text-primary) 50%, var(--text-muted) 50%);--text-muted: #718199;--text-subtle: #d7e2f1;--text-inverse: #0f172a;--text-on-accent: #f8fafc;--border: rgba(148, 163, 184, .24);--border-strong: rgba(148, 163, 184, .42);--divider: rgba(148, 163, 184, .2);--control-border: #6f7d9073;--control-border-strong: #7a8799;--accent: #4768cb;--accent-strong: #3f5ec9;--accent-text: #6f8de6;--accent-soft: rgba(71, 104, 203, .2);--accent-soft-strong: rgba(71, 104, 203, .34);--status-success: #22c55e;--status-success-soft: rgba(34, 197, 94, .16);--status-warning: #f59e0b;--status-warning-soft: rgba(245, 158, 11, .18);--status-error: #ef4444;--status-error-soft: rgba(239, 68, 68, .18);--status-info: #38bdf8;--status-info-soft: rgba(56, 189, 248, .18);--destructive: #dc2626;--destructive-hover: #b91c1c;--destructive-soft: rgba(239, 68, 68, .18);--destructive-border: rgba(239, 68, 68, .48);--destructive-text-soft: #fecaca;--focus-ring: #60a5fa;--chip-bg: rgba(226, 232, 240, .08);--shadow-strong: 0 12px 30px rgba(2, 6, 23, .55);--shadow-elevated: 0 16px 40px rgba(2, 6, 23, .6);--overlay-locked: rgba(2, 6, 23, .6);--segmented-bg: transparent;--segmented-active-bg: color-mix(in srgb, var(--accent) 50%, transparent);--segmented-active-text: var(--text-primary);--segmented-inactive-text: #d4deee;--dial-needle: #f87171;--dial-needle-shadow: rgba(248, 113, 113, .45);--dial-shadow: rgba(0, 0, 0, .3);--dial-glow: rgba(255, 255, 255, .08);--dial-history-shadow: rgba(0, 0, 0, .35);--dial-label-text: #0b1220;--dial-conflict: #facc15;--dial-boundary: #030712;--dial-day: rgba(255, 216, 170, .82);--dial-night: #6982ab;--dial-day-history: rgba(219, 198, 170, .74);--dial-night-history: #758298;--dial-history-off: #0b1220;--dial-history-pause-overlay: #333333;--dial-auto-brightness-warm: #fff4dd;--handle-outline: rgba(255, 255, 255, .9);--handle-shadow: rgba(2, 6, 23, .72);--radius-lg: 16px;--radius-base: 12px;--transition-base: .2s ease}:root[data-theme=light]{color-scheme:light;--font-weight-body: 400;--font-weight-muted: 400;--font-weight-caption: 400;--font-weight-helper: 400;--placeholder-text-strength: 92%;--bg-primary: #f3f6fb;--surface-muted: #e8edf5;--surface-card: #ffffff;--surface-elevated: #ffffff;--surface-hover: #f3f7ff;--surface-overlay: rgba(255, 255, 255, .9);--surface-overlay-soft: rgba(255, 255, 255, .78);--surface-backdrop: rgba(15, 23, 42, .36);--text-primary: #111827;--text-secondary: color-mix(in srgb, var(--text-primary) 50%, var(--text-muted) 50%);--text-muted: #5b6b82;--text-subtle: #475569;--text-inverse: #ffffff;--text-on-accent: #ffffff;--border: rgba(100, 116, 139, .28);--border-strong: rgba(100, 116, 139, .44);--divider: rgba(100, 116, 139, .24);--control-border: #7a879936;--control-border-strong: #64748b;--accent: #4768cb;--accent-strong: #3f5ec9;--accent-text: #3f5ec9;--accent-soft: rgba(71, 104, 203, .14);--accent-soft-strong: rgba(71, 104, 203, .28);--status-success: #15803d;--status-success-soft: rgba(21, 128, 61, .12);--status-warning: #b45309;--status-warning-soft: rgba(180, 83, 9, .14);--status-error: #b91c1c;--status-error-soft: rgba(185, 28, 28, .12);--status-info: #1d4ed8;--status-info-soft: rgba(29, 78, 216, .12);--destructive: #b91c1c;--destructive-hover: #991b1b;--destructive-soft: rgba(185, 28, 28, .12);--destructive-border: rgba(185, 28, 28, .36);--destructive-text-soft: #7f1d1d;--focus-ring: #2563eb;--chip-bg: rgba(15, 23, 42, .06);--shadow-strong: 0 12px 30px rgba(15, 23, 42, .16);--shadow-elevated: 0 16px 40px rgba(15, 23, 42, .2);--overlay-locked: rgba(15, 23, 42, .34);--segmented-bg: transparent;--segmented-active-bg: color-mix(in srgb, var(--accent) 50%, transparent);--segmented-active-text: var(--text-primary);--segmented-inactive-text: #475569;--dial-needle: #dc2626;--dial-needle-shadow: rgba(220, 38, 38, .32);--dial-shadow: rgba(15, 23, 42, .18);--dial-glow: rgba(15, 23, 42, .08);--dial-history-shadow: rgba(15, 23, 42, .22);--dial-label-text: #1e293b;--dial-conflict: #a16207;--dial-boundary: #94a3b8;--dial-day: rgba(180, 83, 9, .48);--dial-night: #64748b;--dial-day-history: rgba(120, 113, 108, .52);--dial-night-history: #94a3b8;--dial-history-off: #334155;--dial-history-pause-overlay: #64748b;--dial-auto-brightness-warm: #fef3c7;--handle-outline: rgba(30, 41, 59, .85);--handle-shadow: rgba(15, 23, 42, .45)}:root[data-theme=dark]{--font-weight-body: 450;--font-weight-muted: 450;--font-weight-caption: 450;--font-weight-helper: 450;--placeholder-text-strength: 90%}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;overflow-x:hidden;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);font-weight:var(--font-weight-body);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:none;text-size-adjust:none;touch-action:pan-y}html{-webkit-text-size-adjust:none;text-size-adjust:none}:root[data-theme=dark] body{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}a{color:inherit}button{font-family:inherit;font-size:var(--font-size-sm);line-height:var(--line-height-snug);font-weight:var(--font-weight-medium);transition:transform var(--transition-base),filter var(--transition-base)}:where(a,button,[role=button],summary,label,[tabindex]:not(input):not(textarea):not(select),input[type=button],input[type=submit],input[type=reset],input[type=range],input[type=checkbox],input[type=radio],input[type=color],input[type=file]){-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}:where(a,button,[role=button],summary,label,[tabindex]:not(input):not(textarea):not(select),input[type=button],input[type=submit],input[type=reset],input[type=range],input[type=checkbox],input[type=radio],input[type=color],input[type=file]) :where(img,svg){-webkit-user-drag:none;user-drag:none}@media (pointer: coarse){:where(.touch-target){min-height:44px;min-width:44px}}input,textarea,select{font:inherit;font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--text-primary)}:where(input[type=text],input[type=search],input[type=email],input[type=password],input[type=tel],input[type=url],input[type=number],input[type=time],input[type=date],input[type=datetime-local],input[type=month],textarea,[contenteditable=true]){-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}input[type=number],input[type=time],input[type=date],input[type=datetime-local],input[type=month]{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--text-muted) var(--placeholder-text-strength),transparent)}input:disabled,textarea:disabled,select:disabled{opacity:.7}button:disabled,[aria-disabled=true]{cursor:not-allowed;opacity:.56;filter:saturate(.75)}[role=button]{transition:transform var(--transition-base),filter var(--transition-base)}:where(a,button,[role=button],input,textarea,select,[tabindex]):focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.text-title-1{font-size:var(--font-size-2xl);line-height:var(--line-height-tight);font-weight:var(--font-weight-semibold)}.text-title-2{font-size:var(--font-size-xl);line-height:var(--line-height-snug);font-weight:var(--font-weight-semibold)}.text-title-3{font-size:var(--font-size-lg);line-height:var(--line-height-snug);font-weight:var(--font-weight-semibold)}.text-body{font-size:var(--font-size-base);line-height:var(--line-height-normal);font-weight:var(--font-weight-regular)}.text-body-muted{font-size:var(--font-size-sm);line-height:var(--line-height-normal);font-weight:var(--font-weight-muted);color:var(--text-muted)}.text-label{font-size:var(--font-size-sm);line-height:var(--line-height-snug);font-weight:var(--font-weight-medium)}.text-caption{font-size:var(--font-size-xs);line-height:var(--line-height-snug);font-weight:var(--font-weight-caption)}.text-button{font-size:var(--font-size-sm);line-height:var(--line-height-snug);font-weight:var(--font-weight-medium);letter-spacing:.01em}.text-tabular{font-variant-numeric:tabular-nums}.form-helper,.form-error{min-height:calc(var(--font-size-xs) * 1.5);font-size:var(--font-size-xs);line-height:var(--line-height-snug)}.form-feedback-slot{min-height:calc(var(--font-size-xs) * 1.5)}.form-feedback-slot>*{margin:0}.form-helper{font-weight:var(--font-weight-helper);color:var(--text-muted)}.form-error{font-weight:var(--font-weight-medium);color:var(--destructive)}.card-title{margin:0;font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);line-height:var(--line-height-snug);color:var(--text-muted)}.card-subtitle{margin:8px 0 0;color:var(--text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:var(--line-height-snug)}.card-subtitle.error{color:var(--status-error)}button:not(:disabled):hover,[role=button]:not([aria-disabled=true]):hover{filter:brightness(1.05)}button:not(:disabled):active,[role=button]:not([aria-disabled=true]):active{transform:scale(.95)}#app{min-height:100vh;overflow-x:clip}.panel-title{font-size:var(--font-size-base);line-height:var(--line-height-snug);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.panel-subtitle{font-size:var(--font-size-xs);line-height:var(--line-height-snug);color:var(--text-muted)}.page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 auto;width:100%}.page-header h1{margin:0;font-size:var(--font-size-2xl);line-height:var(--line-height-tight);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.app-shell{min-height:100vh;width:100%;touch-action:pan-y;background:var(--bg-primary);color:var(--text-primary);position:relative;display:flex;flex-direction:column}.app-shell__inner{width:100%;max-width:960px;margin:0 auto;box-sizing:border-box}.app-shell__inner--padded{padding-left:clamp(10px,4vw,32px);padding-right:clamp(10px,4vw,32px)}.app-main{width:100%;flex:1 0 auto}.app-header{background:var(--surface-overlay);color:var(--text-primary);border-bottom:1px solid var(--divider);position:sticky;top:0;z-index:40;isolation:isolate;-webkit-backdrop-filter:saturate(160%) blur(16px);backdrop-filter:saturate(160%) blur(16px);padding:0}.app-header__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-top:8px;padding-bottom:8px;width:100%}.app-header__inner--compact{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;justify-content:center}.app-header--compact .brand{justify-self:start}.app-header--compact .brand img{max-height:32px;width:auto}.app-header--compact .profile-badge{margin-left:0;justify-self:end}.header-title{text-align:center;font-size:var(--font-size-base);line-height:var(--line-height-snug);font-weight:var(--font-weight-semibold);letter-spacing:.02em}.header-spacer{width:40px;height:1px;justify-self:end}.brand{display:inline-flex;align-items:center;margin:0}.brand img{max-height:36px;width:auto;display:block}.brand span{margin-left:12px;font-size:var(--font-size-lg);line-height:var(--line-height-snug);font-weight:var(--font-weight-semibold);letter-spacing:.02em}.app-header nav{display:flex;gap:14px}.nav-link{color:var(--text-muted);text-decoration:none;font-size:var(--font-size-sm);line-height:var(--line-height-snug);font-weight:var(--font-weight-medium);letter-spacing:.01em;transition:color var(--transition-base);background:none;border:none;padding:0 10px;min-height:var(--control-height-sm);display:inline-flex;align-items:center;justify-content:center;border-radius:8px}.nav-link:hover{color:var(--text-primary);background:var(--chip-bg)}.nav-link.active{color:var(--accent-text);font-weight:var(--font-weight-semibold);background:transparent}.header-login-btn{border:none;border-radius:999px;min-height:var(--control-height-sm);padding:0 16px;background:var(--accent);color:var(--text-on-accent);font-size:var(--font-size-sm);line-height:var(--line-height-snug);font-weight:var(--font-weight-semibold);letter-spacing:.01em;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity var(--transition-base),transform var(--transition-base)}.header-login-btn:hover{opacity:.88;transform:translateY(-1px)}.user-section{display:flex;align-items:center;gap:12px;background:var(--surface-overlay-soft);padding:10px 16px;border-radius:12px}.user-info{display:flex;flex-direction:column;line-height:var(--line-height-snug)}.user-name{font-size:var(--font-size-sm);line-height:var(--line-height-snug);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.user-email{font-size:var(--font-size-xs);line-height:var(--line-height-snug);color:var(--text-muted)}.logout-btn{border:none;border-radius:8px;min-height:var(--control-height-sm);padding:0 12px;font-size:var(--font-size-sm);line-height:var(--line-height-snug);font-weight:var(--font-weight-semibold);letter-spacing:.01em;background:var(--destructive);color:var(--text-on-accent);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.logout-btn:hover{background:var(--destructive-hover)}.profile-badge{width:40px;height:40px;border-radius:999px;background:var(--accent-soft);color:var(--accent-text);font-size:var(--font-size-base);line-height:1;font-weight:var(--font-weight-semibold);display:flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid transparent}.profile-badge:hover{border-color:var(--accent-soft-strong)}.app-footer{position:relative;width:100%;margin-top:32px;padding:16px 0 calc(16px + env(safe-area-inset-bottom,0px)) 0;border-top:1px solid var(--divider);background:var(--surface-overlay)}.footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;font-size:var(--font-size-sm);line-height:var(--line-height-snug);color:var(--text-muted)}.footer-contact{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.footer-label{letter-spacing:.08em;font-weight:var(--font-weight-semibold);text-transform:uppercase;font-size:var(--font-size-xs);line-height:var(--line-height-snug);color:var(--text-subtle)}.footer-contact a{color:var(--text-primary);text-decoration:none;font-weight:var(--font-weight-semibold)}.footer-contact a:hover{text-decoration:underline}.footer-links{display:inline-flex;flex-wrap:wrap;gap:12px 18px}.footer-links a{color:var(--text-muted);text-decoration:none;transition:color var(--transition-base)}.footer-links a:hover{color:var(--text-primary);text-decoration:underline}.footer-copy{font-size:var(--font-size-xs);line-height:var(--line-height-snug);color:var(--text-subtle)}.footer-copy--inline{margin-right:2px}.cookie-notice{position:fixed;left:0;right:0;bottom:0;z-index:12;padding:0 0 calc(10px + env(safe-area-inset-bottom,0px)) 0;pointer-events:none}.cookie-notice__card{margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:14px;background:color-mix(in srgb,var(--surface-overlay) 92%,var(--surface-card) 8%);box-shadow:var(--shadow-elevated);-webkit-backdrop-filter:saturate(150%);backdrop-filter:saturate(150%);pointer-events:auto;max-width:780px}.cookie-notice__text{margin:0;font-size:var(--font-size-xs);line-height:1.45;color:var(--text-secondary)}.cookie-notice__link{color:var(--accent-text);text-decoration:underline;text-underline-offset:.16em}.cookie-notice__button{flex:0 0 auto;border:1px solid transparent;border-radius:999px;min-height:32px;padding:0 14px;background:var(--accent);color:var(--text-on-accent);font-weight:var(--font-weight-semibold);cursor:pointer;font-size:var(--font-size-xs)}@media (max-width: 900px){.app-main{padding-bottom:24px}.app-header{border-bottom:1px solid var(--divider)}.app-header h1{font-size:var(--font-size-lg)}.app-header nav{display:none}.profile-badge{margin-left:auto}.app-footer{margin-top:20px;padding:12px 0 calc(12px + env(safe-area-inset-bottom,0px)) 0}.footer-inner{flex-direction:column;align-items:flex-start;gap:10px}.footer-contact,.footer-links{width:100%}.footer-links{gap:8px 14px}.page-shell{padding-bottom:40px}.cookie-notice{padding-left:10px;padding-right:10px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}.cookie-notice__card{gap:10px;padding:10px 12px;border-radius:12px}.cookie-notice__button{min-width:112px;margin-left:auto}}@media (min-width: 901px){.app-main{padding-bottom:32px}}
