:root{color-scheme:light;--color-primary: #71ad4f;--color-primary-hover: #5f943e;--color-primary-active: #4e7a32;--color-primary-light: #eaf4e4;--color-primary-pale: #f6faf3;--color-primary-text: var(--color-primary);--color-focus: var(--color-primary);--color-surface: #fafbf9;--color-surface-alt: #f1f3f0;--color-card: #ffffff;--color-border: #d9dcd6;--color-border-light: #eef0ec;--color-text: #1f2e1a;--color-text-secondary: #5f6d5a;--color-text-muted: #8f9a8a;--color-success: #5d9c3e;--color-warning: #d4872e;--color-warning-bg: #fef9f0;--color-warning-border: #f0d89c;--color-danger: #d15c5c;--color-danger-bg: #fef5f5;--color-info: #5b8fc2;--color-info-bg: #eef5fb;--color-info-text: #2f5aa8;--color-warning-text: #925600;--color-danger-text: #a13f3f;--color-danger-border: #f2d4d4;--color-info-border: #cfe1f3;--color-on-primary: #142111;--color-on-danger: #ffffff;--color-ink-surface: #1a2329;--color-ink-text: #ffffff;--color-header: #1f2e1a;--color-header-text: #ffffff;--shadow-sm: 0 1px 3px rgba(30, 40, 25, .06);--shadow-md: 0 4px 12px rgba(30, 40, 25, .08);--shadow-lg: 0 8px 24px rgba(30, 40, 25, .1);--v2-slate: #1a2329;--v2-slate-light: #263038;--v2-green: #3b6b2e;--v2-green-hover: #325a26;--v2-green-pale: #edf4e9;--v2-green-wash: #f4f8f1;--v2-mist: #f6f8f3;--v2-white: #ffffff;--v2-sage: #dde3d6;--v2-sage-light: #ebefe7;--v2-moss: #6e7d64;--v2-moss-light: #94a18a;--v2-amber: #c4822a;--v2-amber-bg: #fef9f1;--v2-rose: #c75555;--v2-rose-bg: #fef5f5;--v2-on-green: #ffffff;--v2-shadow-xs: 0 1px 2px rgba(26, 35, 41, .04);--v2-shadow-sm: 0 1px 3px rgba(26, 35, 41, .06);--v2-shadow-md: 0 4px 16px rgba(26, 35, 41, .07);--v2-shadow-lg: 0 8px 28px rgba(26, 35, 41, .1);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s cubic-bezier(.16, 1, .3, 1);--transition-spring: .4s cubic-bezier(.34, 1.56, .64, 1);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--text-xs: .75rem;--text-sm: .85rem;--text-base: .95rem;--text-md: 1.05rem;--text-lg: 1.15rem;--text-xl: 1.3rem;--text-2xl: 1.5rem;--text-3xl: 2rem}:root[data-theme=dark]{color-scheme:dark;--color-primary: #8fc975;--color-primary-hover: #a5d98e;--color-primary-active: #b4dfa1;--color-primary-light: #2a402b;--color-primary-pale: #202f23;--color-surface: #121b17;--color-surface-alt: #233129;--color-card: #1b2821;--color-border: #415247;--color-border-light: #2e3d33;--color-text: #e7eee8;--color-text-secondary: #b4c2b6;--color-text-muted: #97aa9b;--color-success: #8fc975;--color-warning: #e6b45d;--color-warning-bg: #352c1c;--color-warning-border: #695334;--color-danger: #ed9999;--color-danger-bg: #392526;--color-danger-border: #704345;--color-on-danger: #291a1c;--color-info: #93bce6;--color-info-bg: #213244;--color-info-border: #415c78;--color-info-text: var(--color-info);--color-warning-text: var(--color-warning);--color-danger-text: var(--color-danger);--color-header: #0e1713;--color-ink-surface: #0e1713;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .25);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .35);--v2-slate: var(--color-text);--v2-slate-light: var(--color-text-secondary);--v2-green: var(--color-primary);--v2-green-hover: var(--color-primary-hover);--v2-green-pale: var(--color-primary-light);--v2-green-wash: var(--color-primary-pale);--v2-mist: var(--color-surface);--v2-white: var(--color-card);--v2-sage: var(--color-border);--v2-sage-light: var(--color-border-light);--v2-moss: var(--color-text-secondary);--v2-moss-light: var(--color-text-muted);--v2-amber: var(--color-warning);--v2-amber-bg: var(--color-warning-bg);--v2-rose: var(--color-danger);--v2-rose-bg: var(--color-danger-bg);--v2-on-green: var(--color-on-primary);--v2-shadow-xs: var(--shadow-sm);--v2-shadow-sm: var(--shadow-sm);--v2-shadow-md: var(--shadow-md);--v2-shadow-lg: var(--shadow-lg)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-surface);color:var(--color-text);line-height:1.5}#root{min-height:100vh;min-height:100dvh}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}input::placeholder,textarea::placeholder{color:var(--color-text-muted);opacity:1}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}button:focus-visible,a:focus-visible{border-radius:var(--radius-md)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;max-height:0;transform:translateY(-8px)}to{opacity:1;max-height:500px;transform:translateY(0)}}@keyframes skeletonShimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}@keyframes pulseGreen{0%,to{box-shadow:0 0 color-mix(in srgb,var(--color-primary) 100%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--color-primary) 0%,transparent)}}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.95)}to{transform:scale(1);opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,var(--color-border-light) 0px,var(--color-surface-alt) 40px,var(--color-border-light) 80px);background-size:200px 100%;animation:skeletonShimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}.spinner{display:inline-block;width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;vertical-align:middle;margin-right:8px}:root[data-theme-color=blue]{--color-primary: #78ade8;--color-primary-hover: #64a0df;--color-primary-active: #245a97;--color-primary-light: #e7f1fc;--color-primary-pale: #f3f8fe;--color-on-primary: #152d4b;--color-surface: #f9fbfd;--color-surface-alt: #eef2f7;--color-border: #d4dde8;--color-border-light: #eaf0f6;--color-text: #1b2c40;--color-text-secondary: #576a80;--color-text-muted: #76869a;--color-header: #192c43;--color-ink-surface: #192c43;--v2-green: #285f9e;--v2-green-hover: #204d82;--v2-green-pale: #e7f1fc;--v2-green-wash: #f3f8fe}:root[data-theme-color=purple]{--color-primary: #b59ae0;--color-primary-hover: #a589d4;--color-primary-active: #654490;--color-primary-light: #f0eafa;--color-primary-pale: #f9f6fd;--color-on-primary: #2e1c47;--color-surface: #fcfafd;--color-surface-alt: #f2eef7;--color-border: #ded5e8;--color-border-light: #efeaf5;--color-text: #30213f;--color-text-secondary: #70617f;--color-text-muted: #90819e;--color-header: #30213f;--color-ink-surface: #30213f;--v2-green: #714d9b;--v2-green-hover: #5f4085;--v2-green-pale: #f0eafa;--v2-green-wash: #f9f6fd}:root[data-theme-color=yellow]{--color-primary: #efc34d;--color-primary-hover: #dfb23e;--color-primary-active: #866100;--color-primary-light: #fbf0ce;--color-primary-pale: #fffaf0;--color-on-primary: #34280b;--color-surface: #fdfbf7;--color-surface-alt: #f5f1e7;--color-border: #e3dbc6;--color-border-light: #f0ebdf;--color-text: #352b18;--color-text-secondary: #76684e;--color-text-muted: #92836a;--color-header: #352b18;--color-ink-surface: #352b18;--v2-green: #896300;--v2-green-hover: #715100;--v2-green-pale: #fbf0ce;--v2-green-wash: #fffaf0}:root[data-theme-color]:not([data-theme-color=green]){--color-primary-text: var(--color-primary-active);--color-focus: var(--color-primary-active);--v2-mist: var(--color-surface);--v2-sage: var(--color-border);--v2-sage-light: var(--color-border-light);--v2-moss: var(--color-text-secondary);--v2-moss-light: var(--color-text-muted)}:root[data-theme=light][data-theme-color]:not([data-theme-color=green]){--v2-slate: var(--color-text);--v2-slate-light: var(--color-text-secondary)}:root[data-theme=dark][data-theme-color=blue]{--color-primary: #8ebff2;--color-primary-hover: #a5cdf7;--color-primary-active: #b4d5f8;--color-primary-light: #253c57;--color-primary-pale: #1d2e43;--color-surface: #131e2c;--color-surface-alt: #253449;--color-card: #1c2b3d;--color-border: #415b78;--color-border-light: #2d4057;--color-text: #e7eff8;--color-text-secondary: #b3c5db;--color-text-muted: #94abc5;--color-header: #101925;--color-ink-surface: #101925}:root[data-theme=dark][data-theme-color=purple]{--color-primary: #c1a5ed;--color-primary-hover: #d0b9f4;--color-primary-active: #dcc9f8;--color-primary-light: #3c2c51;--color-primary-pale: #2d233b;--color-surface: #21192c;--color-surface-alt: #352a43;--color-card: #2b2238;--color-border: #604d76;--color-border-light: #42344f;--color-text: #f0eaf8;--color-text-secondary: #cbbddc;--color-text-muted: #af9fc4;--color-header: #1b1425;--color-ink-surface: #1b1425}:root[data-theme=dark][data-theme-color=yellow]{--color-primary: #e8c361;--color-primary-hover: #efd080;--color-primary-active: #f0d796;--color-primary-light: #44391c;--color-primary-pale: #342d1b;--color-surface: #282217;--color-surface-alt: #3b3323;--color-card: #322b1e;--color-border: #6c5d39;--color-border-light: #4b4029;--color-text: #f5efdf;--color-text-secondary: #d3c6a7;--color-text-muted: #b5a583;--color-header: #211c11;--color-ink-surface: #211c11}:root[data-theme=dark][data-theme-color]:not([data-theme-color=green]){--v2-green: var(--color-primary);--v2-green-hover: var(--color-primary-hover);--v2-green-pale: var(--color-primary-light);--v2-green-wash: var(--color-primary-pale)}:root[data-theme=dark] .v2-cal{--cal-text: var(--color-text);--cal-muted: var(--color-text-secondary);--cal-border: var(--color-border);--cal-neutral: var(--color-surface-alt);--cal-project: var(--color-info);--cal-project-bg: var(--color-info-bg);--cal-project-border: var(--color-info-border);--cal-alert: var(--color-warning)}:root[data-theme=dark] .dl{--dl-working: #4262c9;--dl-planned: #2b4160;--dl-off: var(--color-card);--dl-annual: #745c28;--dl-mc: #74463b;--dl-closed: #2a332e;--dl-rule: var(--color-border)}:root[data-theme=dark] .dl-cell--outside,:root[data-theme=dark] .dl-cell--untracked{background:repeating-linear-gradient(135deg,var(--color-surface) 0 5px,var(--color-surface-alt) 5px 10px)}:root[data-theme=dark] .dl-cell__btn:hover{box-shadow:inset 0 0 0 2px var(--color-text-secondary)}:root[data-theme=dark] .id-tone-waiting{--id-tone-fg: var(--color-warning);--id-tone-bg: var(--color-warning-bg);--id-tone-bd: var(--color-warning-border);--id-tone-solid: var(--color-warning)}:root[data-theme=dark] .id-tone-ready{--id-tone-fg: var(--color-info);--id-tone-bg: var(--color-info-bg);--id-tone-bd: var(--color-info-border);--id-tone-solid: var(--color-info)}:root[data-theme=dark] .id-tone-live{--id-tone-fg: #b4dfa1;--id-tone-bg: #2a402b;--id-tone-bd: #415247;--id-tone-solid: #8fc975}:root[data-theme=dark] .id-tone-done{--id-tone-fg: #c5d8b8;--id-tone-bg: #28332b;--id-tone-bd: #45564a;--id-tone-solid: #9fb996}:root[data-theme=dark] .id-tone-alert{--id-tone-fg: var(--color-danger);--id-tone-bg: var(--color-danger-bg);--id-tone-bd: var(--color-danger-border);--id-tone-solid: var(--color-danger)}:root[data-theme=dark] .id-tone-muted{--id-tone-fg: var(--color-text-secondary);--id-tone-bg: var(--color-surface-alt);--id-tone-bd: var(--color-border);--id-tone-solid: var(--color-text-muted)}@media print{:root[data-theme]{color-scheme:light}}.tf-step{max-width:420px}.tf-lead{margin:0;color:var(--color-text-secondary);font-size:var(--text-base);line-height:1.55}.tf-hint{margin:0;color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.5}.login-form input.tf-code-input{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:var(--text-2xl);letter-spacing:.35em;text-align:center;padding:12px 16px}.login-form input.tf-recovery-input{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase}.tf-wait{align-self:center;font-variant-numeric:tabular-nums;font-weight:600;color:var(--color-warning-text);background:var(--color-warning-bg);border:1px solid var(--color-warning-border);border-radius:var(--radius-full);padding:6px 14px;font-size:var(--text-sm)}.tf-link{align-self:center;background:none;border:none;padding:10px 8px;min-height:44px;color:var(--color-primary-text);font-size:var(--text-sm);font-weight:500;text-decoration:underline;text-underline-offset:3px;cursor:pointer;border-radius:var(--radius-sm)}.tf-link:hover{color:var(--color-primary-hover)}.tf-link:focus-visible,.tf-copy:focus-visible,.tf-manual summary:focus-visible,.tf-check input:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.tf-steps{list-style:none;counter-reset:tf-step;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-lg)}.tf-steps>li{counter-increment:tf-step;position:relative;padding-left:40px;display:flex;flex-direction:column;gap:var(--space-sm);color:var(--color-text);font-size:var(--text-base)}.tf-steps>li:before{content:counter(tf-step);position:absolute;left:0;top:-2px;width:28px;height:28px;border-radius:50%;background:var(--color-primary-light);color:var(--color-primary-active);font-weight:700;font-size:var(--text-sm);display:flex;align-items:center;justify-content:center}.tf-qr{width:188px;height:188px;padding:6px;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.tf-qr svg{display:block;width:100%;height:100%}.tf-open-app{align-self:flex-start;padding-left:0}.tf-manual summary{cursor:pointer;color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:500;padding:6px 0;border-radius:var(--radius-sm)}.tf-key-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm);margin:var(--space-sm) 0}.tf-key{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:var(--text-sm);letter-spacing:.06em;background:var(--color-surface-alt);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);padding:8px 10px;word-break:break-all;color:var(--color-text)}.tf-copy{min-height:44px;padding:8px 14px;border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card);color:var(--color-text);font-weight:600;font-size:var(--text-sm);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.tf-copy:hover{border-color:var(--color-primary);background:var(--color-primary-pale)}.tf-codes-step{display:flex;flex-direction:column;gap:var(--space-md);width:100%;animation:fadeIn var(--transition-slow)}.tf-codes-tag{position:relative;border:2px dashed color-mix(in srgb,var(--color-primary) 55%,var(--color-border));border-radius:var(--radius-lg);background:var(--color-primary-pale);padding:34px var(--space-lg) var(--space-md)}.tf-codes-tag:before{content:"";position:absolute;top:12px;left:50%;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:var(--color-surface);border:2px solid color-mix(in srgb,var(--color-primary) 55%,var(--color-border))}.tf-codes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}.tf-codes code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:var(--text-sm);letter-spacing:.04em;color:var(--color-text);white-space:nowrap}.tf-codes-actions{display:flex;gap:var(--space-sm);justify-content:center;margin-top:var(--space-md)}.tf-check{display:flex;align-items:flex-start;gap:10px;font-size:var(--text-base);color:var(--color-text);cursor:pointer;line-height:1.45}.tf-check input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--color-primary);flex-shrink:0}.tf-codes-step .submit-btn{margin-top:0}@media (max-width: 420px){.tf-codes{grid-template-columns:1fr;justify-items:center}.tf-steps>li{padding-left:0;padding-top:36px}}@media (prefers-reduced-motion: reduce){.tf-codes-step{animation:none}}.tf-account-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.login-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:var(--space-lg);background:var(--color-surface);animation:fadeIn var(--transition-slow)}.login-title{font-size:var(--text-3xl);font-weight:700;margin:0 0 var(--space-sm);color:var(--color-text);letter-spacing:-.02em}.login-subtitle{color:var(--color-text-secondary);margin:0 0 var(--space-xl);font-size:var(--text-lg)}.role-choices{display:flex;gap:var(--space-lg);flex-wrap:wrap;justify-content:center}.role-btn{display:flex;flex-direction:column;align-items:center;gap:12px;padding:var(--space-xl) var(--space-2xl);border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-card);font-size:var(--text-xl);font-weight:600;color:var(--color-text);cursor:pointer;transition:transform var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base);min-width:180px;-webkit-tap-highlight-color:transparent}.role-btn:hover{border-color:var(--color-primary);transform:translateY(-4px);box-shadow:var(--shadow-md)}.role-btn:focus-visible{border-color:var(--color-primary);transform:translateY(-4px);box-shadow:var(--shadow-md)}.role-btn:active{transform:translateY(-1px) scale(.98)}.role-icon{font-size:3rem;transition:transform var(--transition-base)}.role-btn:hover .role-icon{transform:scale(1.15)}.back-btn{position:absolute;top:var(--space-lg);left:var(--space-lg);background:none;border:none;font-size:var(--text-md);font-weight:500;color:var(--color-primary-text);cursor:pointer;padding:var(--space-sm) 12px;border-radius:var(--radius-md);transition:color var(--transition-fast),background var(--transition-fast)}.back-btn:hover{background:var(--color-primary-light)}.login-form{display:flex;flex-direction:column;gap:var(--space-md);width:100%;max-width:380px;animation:fadeIn var(--transition-slow)}.login-form label{display:flex;flex-direction:column;gap:6px;font-weight:500;font-size:var(--text-sm);color:var(--color-text-secondary)}.login-form input{padding:14px 16px;border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;background:var(--color-card);color:var(--color-text);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.login-form input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,transparent);outline:none}.pin-display{display:flex;gap:14px;margin:var(--space-lg) 0}.pin-status{width:100%;max-width:420px;text-align:center;margin-bottom:var(--space-md)}.pin-dot{width:22px;height:22px;border-radius:50%;border:2px solid var(--color-border);background:var(--color-card);transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-spring)}.pin-dot.filled{background:var(--color-primary);border-color:var(--color-primary);transform:scale(1.15);animation:pulseGreen .6s ease}.pin-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:320px;width:100%}.pin-key{aspect-ratio:1;border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-card);font-size:var(--text-2xl);font-weight:600;color:var(--color-text);cursor:pointer;transition:transform var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast);display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.pin-key:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-pale)}.pin-key:active:not(:disabled){background:var(--color-primary-light);transform:scale(.92);border-color:var(--color-primary)}.pin-key.empty{border:none;background:transparent;cursor:default}.pin-key.empty:hover{background:transparent}.pin-key.empty:active{transform:none}.pin-key.clear{font-size:2rem;color:var(--color-text-muted)}.pin-key:disabled:not(.empty){opacity:.45;cursor:default}.submit-btn{margin-top:20px;padding:14px 48px;border:none;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-on-primary);font-size:var(--text-lg);font-weight:600;cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);display:flex;align-items:center;justify-content:center}.submit-btn:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.submit-btn:active:not(:disabled){transform:scale(.97)}.submit-btn:disabled{opacity:.65;cursor:default}.error-msg{background:var(--color-danger-bg);color:var(--color-danger);padding:12px 16px;border-radius:var(--radius-md);font-size:var(--text-base);text-align:center;font-weight:500;animation:fadeIn var(--transition-fast)}.loading-msg{color:var(--color-text-muted);font-size:var(--text-base);margin:var(--space-sm) 0}.v2-profile-reminder{width:min(480px,calc(100% - var(--space-xl)));max-height:calc(100dvh - var(--space-xl));margin:auto;padding:var(--space-lg);overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-card);color:var(--color-text);box-shadow:var(--shadow-lg)}.v2-profile-reminder::backdrop{background:#1f2e1a73}.v2-profile-reminder h2{margin:0 0 var(--space-sm);font-size:var(--text-2xl)}.v2-profile-reminder p{margin:0 0 var(--space-md);color:var(--color-text-secondary)}.v2-profile-reminder-missing{padding:var(--space-md);margin-bottom:var(--space-md);border:1px solid var(--color-warning-border);border-radius:var(--radius-md);background:var(--color-warning-bg);font-size:var(--text-base)}.v2-profile-reminder-missing ul{margin:var(--space-sm) 0 0;padding-left:var(--space-lg)}.v2-profile-reminder-note{font-size:var(--text-sm)}.v2-profile-reminder-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-sm)}.v2-profile-reminder-actions button{min-height:44px;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card);color:var(--color-text);font-size:var(--text-base);font-weight:600}.v2-profile-reminder-actions button:hover{background:var(--color-surface-alt)}.v2-profile-reminder-actions .v2-profile-reminder-complete{border-color:var(--color-primary-active);background:var(--color-primary-active);color:var(--color-header-text)}.v2-profile-reminder-actions .v2-profile-reminder-complete:hover{background:var(--color-primary-hover)}.theme-toggle.theme-toggle{display:inline-flex;align-items:center;position:relative;flex-shrink:0;min-height:44px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card);color:var(--color-text-secondary)}.theme-toggle svg{position:absolute;left:10px;pointer-events:none}.theme-toggle .theme-toggle__select{min-height:44px;padding:8px 6px 8px 34px;border:0;border-radius:inherit;background:transparent;color:inherit;font:inherit;font-size:var(--text-sm);cursor:pointer}.theme-toggle option{background:var(--color-card);color:var(--color-text)}.theme-toggle:hover{border-color:var(--color-primary)}.theme-toggle:focus-within{outline:2px solid var(--color-focus);outline-offset:2px}.theme-toggle select:focus-visible{outline:0}.theme-color-select__swatch{position:absolute;left:11px;width:14px;height:14px;border-radius:var(--radius-full);background:var(--color-primary);box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 20%,transparent);pointer-events:none}.theme-toggle.theme-toggle--header{border-color:#ffffff40;background:#ffffff14;color:var(--color-header-text)}.theme-toggle--header:hover{border-color:#fff9}.theme-toggle--header:focus-within{outline-color:var(--color-primary)}.theme-corner{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-sm);position:absolute;top:max(var(--space-lg),env(safe-area-inset-top));right:max(var(--space-lg),env(safe-area-inset-right));z-index:1;max-width:calc(100% - 2 * var(--space-md))}@media (max-width: 650px){.theme-corner{top:var(--space-md);right:var(--space-md)}}@media print{.theme-toggle,.theme-corner{display:none}}.deployment-refresh{width:min(440px,calc(100% - var(--space-xl)));max-height:calc(100dvh - var(--space-xl));margin:auto;padding:var(--space-lg);overflow-y:auto;border:1px solid var(--color-border);border-top:var(--space-xs) solid var(--color-primary);border-radius:var(--radius-lg);background:var(--color-card);color:var(--color-text);box-shadow:var(--shadow-lg)}.deployment-refresh::backdrop{background:color-mix(in srgb,var(--color-ink-surface) 45%,transparent)}.deployment-refresh h2{margin:0 0 var(--space-sm);font-size:var(--text-2xl)}.deployment-refresh p{margin:0 0 var(--space-lg);color:var(--color-text-secondary);line-height:1.6}.deployment-refresh-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-sm)}.deployment-refresh-actions button{min-height:44px;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card);color:var(--color-text);font-size:var(--text-base);font-weight:600}.deployment-refresh-actions button:hover{background:var(--color-surface-alt)}.deployment-refresh-actions .deployment-refresh-confirm{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.deployment-refresh-actions .deployment-refresh-confirm:hover{border-color:var(--color-primary-hover);background:var(--color-primary-hover)}
