:root{--bg-primary: #18181b;--bg-secondary: #0f0f11;--bg-tertiary: #27272a;--bg-overlay: rgba(0, 0, 0, .75);--bg-input: rgba(0, 0, 0, .3);--bg-hover: rgba(255, 255, 255, .05);--bg-active: rgba(255, 255, 255, .08);--border-subtle: rgba(255, 255, 255, .06);--border-default: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .2);--border-focus: #3b82f6;--text-primary: #ffffff;--text-secondary: #e4e4e7;--text-tertiary: #d4d4d8;--text-muted: #a1a1aa;--text-faint: #71717a;--accent-primary: #58a6ff;--accent-secondary: #3b82f6;--accent-tertiary: #60a5fa;--accent-hover: #79b8ff;--status-success-bg: rgba(34, 197, 94, .15);--status-success-text: #22c55e;--status-warning-bg: rgba(234, 179, 8, .15);--status-warning-text: #eab308;--status-error-bg: rgba(239, 68, 68, .15);--status-error-text: #ef4444;--status-neutral-bg: rgba(113, 113, 122, .15);--status-neutral-text: #71717a;--widget-countdown-1: #58a6ff;--widget-countdown-2: #3fb950;--widget-countdown-3: #d29922;--widget-countdown-4: #f85149;--widget-countdown-5: #a371f7;--widget-countdown-6: #ff7b72;--shadow-color: rgba(0, 0, 0, .5);--backdrop-blur: blur(8px)}[data-theme=midnight]{--bg-primary: #18181b;--bg-secondary: #0f0f11;--bg-tertiary: #27272a;--bg-overlay: rgba(0, 0, 0, .75);--bg-input: rgba(0, 0, 0, .3);--bg-hover: rgba(255, 255, 255, .05);--bg-active: rgba(255, 255, 255, .08);--border-subtle: rgba(255, 255, 255, .06);--border-default: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .2);--border-focus: #3b82f6;--text-primary: #ffffff;--text-secondary: #e4e4e7;--text-tertiary: #d4d4d8;--text-muted: #a1a1aa;--text-faint: #71717a;--accent-primary: #58a6ff;--accent-secondary: #3b82f6;--accent-tertiary: #60a5fa;--accent-hover: #79b8ff;--status-success-bg: rgba(34, 197, 94, .15);--status-success-text: #22c55e;--status-warning-bg: rgba(234, 179, 8, .15);--status-warning-text: #eab308;--status-error-bg: rgba(239, 68, 68, .15);--status-error-text: #ef4444;--status-neutral-bg: rgba(113, 113, 122, .15);--status-neutral-text: #71717a;--widget-countdown-1: #58a6ff;--widget-countdown-2: #3fb950;--widget-countdown-3: #d29922;--widget-countdown-4: #f85149;--widget-countdown-5: #a371f7;--widget-countdown-6: #ff7b72;--shadow-color: rgba(0, 0, 0, .5);--backdrop-blur: blur(8px)}[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f4f4f5;--bg-tertiary: #e4e4e7;--bg-overlay: rgba(0, 0, 0, .5);--bg-input: rgba(0, 0, 0, .05);--bg-hover: rgba(0, 0, 0, .03);--bg-active: rgba(0, 0, 0, .06);--border-subtle: rgba(0, 0, 0, .08);--border-default: rgba(0, 0, 0, .15);--border-strong: rgba(0, 0, 0, .25);--border-focus: #3b82f6;--text-primary: #18181b;--text-secondary: #27272a;--text-tertiary: #3f3f46;--text-muted: #71717a;--text-faint: #a1a1aa;--accent-primary: #2563eb;--accent-secondary: #3b82f6;--accent-tertiary: #1d4ed8;--accent-hover: #1e40af;--status-success-bg: rgba(22, 163, 74, .1);--status-success-text: #16a34a;--status-warning-bg: rgba(202, 138, 4, .1);--status-warning-text: #ca8a04;--status-error-bg: rgba(220, 38, 38, .1);--status-error-text: #dc2626;--status-neutral-bg: rgba(82, 82, 91, .1);--status-neutral-text: #52525b;--widget-countdown-1: #3b82f6;--widget-countdown-2: #10b981;--widget-countdown-3: #f59e0b;--widget-countdown-4: #ef4444;--widget-countdown-5: #8b5cf6;--widget-countdown-6: #f43f5e;--shadow-color: rgba(0, 0, 0, .1);--backdrop-blur: blur(8px)}[data-theme=purple]{--bg-primary: #1a1625;--bg-secondary: #120e1a;--bg-tertiary: #251f33;--bg-overlay: rgba(0, 0, 0, .75);--bg-input: rgba(0, 0, 0, .3);--bg-hover: rgba(255, 255, 255, .05);--bg-active: rgba(255, 255, 255, .08);--border-subtle: rgba(255, 255, 255, .06);--border-default: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .2);--border-focus: #8b5cf6;--text-primary: #ffffff;--text-secondary: #e4e4e7;--text-tertiary: #d4d4d8;--text-muted: #a1a1aa;--text-faint: #71717a;--accent-primary: #a78bfa;--accent-secondary: #8b5cf6;--accent-tertiary: #a78bfa;--accent-hover: #c4b5fd;--status-success-bg: rgba(34, 197, 94, .15);--status-success-text: #22c55e;--status-warning-bg: rgba(234, 179, 8, .15);--status-warning-text: #eab308;--status-error-bg: rgba(239, 68, 68, .15);--status-error-text: #ef4444;--status-neutral-bg: rgba(113, 113, 122, .15);--status-neutral-text: #71717a;--widget-countdown-1: #a78bfa;--widget-countdown-2: #34d399;--widget-countdown-3: #fbbf24;--widget-countdown-4: #f87171;--widget-countdown-5: #f472b6;--widget-countdown-6: #fb923c;--shadow-color: rgba(0, 0, 0, .5);--backdrop-blur: blur(8px)}[data-theme=forest]{--bg-primary: #1a1f16;--bg-secondary: #121a12;--bg-tertiary: #252f23;--bg-overlay: rgba(0, 0, 0, .75);--bg-input: rgba(0, 0, 0, .3);--bg-hover: rgba(255, 255, 255, .05);--bg-active: rgba(255, 255, 255, .08);--border-subtle: rgba(255, 255, 255, .06);--border-default: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .2);--border-focus: #22c55e;--text-primary: #ffffff;--text-secondary: #e4e4e7;--text-tertiary: #d4d4d8;--text-muted: #a1a1aa;--text-faint: #71717a;--accent-primary: #4ade80;--accent-secondary: #22c55e;--accent-tertiary: #4ade80;--accent-hover: #86efac;--status-success-bg: rgba(34, 197, 94, .15);--status-success-text: #22c55e;--status-warning-bg: rgba(234, 179, 8, .15);--status-warning-text: #eab308;--status-error-bg: rgba(239, 68, 68, .15);--status-error-text: #ef4444;--status-neutral-bg: rgba(113, 113, 122, .15);--status-neutral-text: #71717a;--widget-countdown-1: #4ade80;--widget-countdown-2: #2dd4bf;--widget-countdown-3: #fbbf24;--widget-countdown-4: #f87171;--widget-countdown-5: #a78bfa;--widget-countdown-6: #fb7185;--shadow-color: rgba(0, 0, 0, .5);--backdrop-blur: blur(8px)}[data-theme=ocean]{--bg-primary: #0c161f;--bg-secondary: #080f18;--bg-tertiary: #152030;--bg-overlay: rgba(0, 0, 0, .75);--bg-input: rgba(0, 0, 0, .3);--bg-hover: rgba(255, 255, 255, .05);--bg-active: rgba(255, 255, 255, .08);--border-subtle: rgba(255, 255, 255, .06);--border-default: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .2);--border-focus: #06b6d4;--text-primary: #ffffff;--text-secondary: #e4e4e7;--text-tertiary: #d4d4d8;--text-muted: #a1a1aa;--text-faint: #71717a;--accent-primary: #22d3ee;--accent-secondary: #06b6d4;--accent-tertiary: #22d3ee;--accent-hover: #67e8f9;--status-success-bg: rgba(34, 197, 94, .15);--status-success-text: #22c55e;--status-warning-bg: rgba(234, 179, 8, .15);--status-warning-text: #eab308;--status-error-bg: rgba(239, 68, 68, .15);--status-error-text: #ef4444;--status-neutral-bg: rgba(113, 113, 122, .15);--status-neutral-text: #71717a;--widget-countdown-1: #22d3ee;--widget-countdown-2: #34d399;--widget-countdown-3: #fbbf24;--widget-countdown-4: #f87171;--widget-countdown-5: #c084fc;--widget-countdown-6: #fb923c;--shadow-color: rgba(0, 0, 0, .5);--backdrop-blur: blur(8px)}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;min-height:100vh;overflow-x:hidden}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:var(--text-secondary);background-color:var(--bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;min-height:100vh}.weather-widget{padding:1rem;display:flex;flex-direction:column;gap:1rem;height:100%}.weather-header{display:flex;align-items:center;justify-content:center;gap:.75rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.1)}.weather-icon{font-size:1.5rem;width:64px;height:64px}.weather-header h3{margin:0;font-size:1rem;color:#e4e4e7;font-weight:600}.weather-main{text-align:center;padding:.5rem}.temperature{display:flex;align-items:center;justify-content:center}.temp-value{font-size:2.5rem;font-weight:700;color:#58a6ff;line-height:1}.weather-description{font-size:1rem;color:#a1a1aa;margin-top:.5rem}.weather-details{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;text-align:center;padding:.5rem;background:#ffffff05;border-radius:8px}.weather-detail{display:flex;flex-direction:column;gap:.25rem}.detail-label{font-size:.7rem;color:#71717a;text-transform:uppercase}.detail-value{font-size:.9rem;color:#e4e4e7;font-weight:600}.weather-extended{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.weather-detail-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.weather-detail-row .weather-detail{background:#ffffff05;padding:.75rem;border-radius:8px;text-align:center}.weather-search{margin-bottom:1rem}.weather-search-toggle{width:100%;background:#3b82f626;border:1px solid rgba(59,130,246,.3);color:#60a5fa;padding:.625rem 1rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.weather-search-toggle:hover{background:#3b82f640;border-color:#3b82f680}.weather-search-form{display:flex;flex-direction:column;gap:.75rem}.weather-search-input{width:100%;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#e4e4e7;font-size:.875rem;padding:.625rem .75rem;transition:border-color .2s ease}.weather-search-input:focus{outline:none;border-color:#3b82f6}.weather-search-actions{display:flex;gap:.5rem}.weather-search-submit,.weather-search-cancel{flex:1;padding:.625rem;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.weather-search-submit{background:#3b82f6;border:1px solid #3b82f6;color:#fff}.weather-search-submit:hover{background:#2563eb;border-color:#2563eb}.weather-search-cancel{background:transparent;border:1px solid rgba(255,255,255,.1);color:#a1a1aa}.weather-search-cancel:hover{background:#ffffff0d;border-color:#fff3;color:#e4e4e7}.feels-like{font-size:.85rem;color:#71717a;margin-top:.5rem}.widget-loading,.widget-error{text-align:center;padding:2rem 1rem;color:#71717a;font-size:.875rem}.news-widget{padding:1rem;display:flex;flex-direction:column;gap:1rem;height:100%}.news-list{display:flex;flex-direction:column;gap:.75rem;flex:1;overflow-y:auto}.news-item{padding:.75rem;background:#ffffff08;border-radius:8px;border:1px solid rgba(255,255,255,.06)}.news-title{margin:0 0 .5rem;font-size:.9rem;color:#e4e4e7;font-weight:600;text-align:center}.news-meta{display:flex;justify-content:center;gap:.5rem;font-size:.75rem;color:#71717a;margin-bottom:.5rem}.news-source{color:#58a6ff}.news-description{margin:.75rem 0;font-size:.9rem;color:#d4d4d8;line-height:1.6}.news-link{display:inline-block;color:#58a6ff;text-decoration:none;font-weight:600;font-size:.85rem;transition:color .2s ease}.news-link:hover{color:#79b8ff;text-decoration:underline}.flight-widget{padding:1rem;display:flex;flex-direction:column;gap:1rem;height:100%}.flight-header-info{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#ffffff05;border-radius:6px;font-size:.8rem}.flight-count{color:#58a6ff;font-weight:600}.flight-update{color:#71717a;font-size:.75rem}.flight-list{display:flex;flex-direction:column;gap:.75rem;flex:1;overflow-y:auto}.flight-item{padding:.75rem;background:#ffffff08;border-radius:8px;border:1px solid rgba(255,255,255,.06)}.flight-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.flight-number{font-weight:600;color:#e4e4e7;font-size:.9rem}.flight-number-link{font-weight:600;color:#58a6ff;font-size:.9rem;text-decoration:none;transition:color .2s ease}.flight-number-link:hover{color:#79b8ff;text-decoration:underline}.flight-status{font-size:.7rem;padding:.25rem .5rem;border-radius:12px;font-weight:600}.status-ontime{background-color:#22c55e26;color:#22c55e}.status-delayed{background-color:#ef444426;color:#ef4444}.status-inflight{background-color:#eab30826;color:#eab308}.status-landed{background-color:#71717a26;color:#71717a}.flight-details{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:.5rem}.flight-detail{display:flex;flex-direction:column;gap:.25rem;text-align:center;padding:.5rem;background:#0003;border-radius:6px}.detail-label{font-size:.65rem;color:#71717a;text-transform:uppercase}.detail-value{font-size:.8rem;color:#e4e4e7;font-weight:600}.vertical-status{display:flex;align-items:center;gap:.5rem;font-size:.75rem;padding:.25rem .5rem;margin-bottom:.5rem}.vertical-status:first-child{color:#22c55e}.vertical-status:last-child{color:#f87171}.vertical-rate{color:#71717a;font-size:.7rem}.flight-meta{display:flex;justify-content:center;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.06)}.origin-country{font-size:.75rem;color:#71717a}.flight-refresh-button{width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#e4e4e7;padding:.625rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.flight-refresh-button:hover:not(:disabled){background:#ffffff1a;border-color:#fff3}.flight-refresh-button:disabled{opacity:.6;cursor:not-allowed}.no-flights,.widget-loading,.widget-error{text-align:center;padding:2rem 1rem;color:#71717a;font-size:.875rem}.widget-error{color:#f87171}.countdown-widget{padding:1rem;display:flex;flex-direction:column;gap:1rem;height:100%}.countdown-list{display:flex;flex-direction:column;gap:.75rem;flex:1;overflow-y:auto}.countdown-item{padding:.75rem;background:#ffffff08;border-radius:8px;border-left:3px solid;border-right:1px solid rgba(255,255,255,.06);border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}.countdown-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;gap:.5rem}.countdown-title{font-size:.9rem;color:#e4e4e7;font-weight:600;text-align:center;flex:1}.countdown-actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.countdown-reorder{background:none;border:none;color:#71717a;font-size:1rem;width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:4px;cursor:pointer;transition:all .2s ease}.countdown-reorder:hover:not(:disabled){background:#ffffff1a;color:#e4e4e7}.countdown-reorder:disabled{opacity:.3;cursor:not-allowed}.countdown-mode-toggle{background:none;border:none;color:#71717a;font-size:1rem;width:28px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:4px;cursor:pointer;transition:all .2s ease}.countdown-mode-toggle:hover{background:#58a6ff26;color:#58a6ff}.countdown-delete{background:none;border:none;color:#71717a;font-size:1.25rem;width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:4px;cursor:pointer;transition:all .2s ease}.countdown-delete:hover{background:#f8514926;color:#f87171}.countdown-timer{display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap}.countdown-days-only{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 0}.days-value{font-size:2rem;font-weight:700;color:#58a6ff;line-height:1}.days-label{font-size:.9rem;color:#71717a;text-transform:lowercase}.time-unit{display:flex;flex-direction:column;align-items:center;min-width:45px}.time-value{font-size:1.5rem;font-weight:700;color:#58a6ff;line-height:1}.time-label{font-size:.65rem;color:#71717a;text-transform:uppercase;margin-top:.25rem}.time-separator{font-size:1.5rem;color:#71717a;font-weight:700;margin:0 -.25rem}.countdown-complete{text-align:center;font-size:.9rem;color:#22c55e;font-weight:600;padding:.5rem}.countdown-add-button{background:#3b82f626;border:1px solid rgba(59,130,246,.3);color:#60a5fa;padding:.625rem 1rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-align:center}.countdown-add-button:hover{background:#3b82f640;border-color:#3b82f680;color:#60a5fa}.countdown-form{display:flex;flex-direction:column;gap:.75rem;padding:.75rem;background:#ffffff05;border-radius:8px}.countdown-input{width:100%;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#e4e4e7;font-size:.875rem;padding:.625rem .75rem;transition:border-color .2s ease}.countdown-input:focus{outline:none;border-color:#3b82f6}.countdown-input::placeholder{color:#71717a}.countdown-datetime-inputs{display:flex;gap:.5rem}.countdown-date-input,.countdown-time-input{flex:1;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#e4e4e7;font-size:.875rem;padding:.625rem .75rem;cursor:pointer}.countdown-date-input:focus,.countdown-time-input:focus{outline:none;border-color:#3b82f6}.countdown-date-input::-webkit-calendar-picker-indicator,.countdown-time-input::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.6;cursor:pointer}.countdown-form-actions{display:flex;gap:.5rem}.countdown-submit,.countdown-cancel{flex:1;padding:.625rem;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.countdown-submit{background:#3b82f6;border:1px solid #3b82f6;color:#fff}.countdown-submit:hover{background:#2563eb;border-color:#2563eb}.countdown-cancel{background:transparent;border:1px solid rgba(255,255,255,.1);color:#a1a1aa}.countdown-cancel:hover{background:#ffffff0d;border-color:#fff3;color:#e4e4e7}.ai-summary-widget{padding:1rem;display:flex;flex-direction:column;gap:1rem;height:100%}.ai-input-section{display:flex;flex-direction:column;gap:.75rem}.ai-input{width:100%;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#e4e4e7;font-size:.875rem;padding:.75rem;resize:vertical;transition:border-color .2s ease;font-family:inherit;line-height:1.5}.ai-input:focus{outline:none;border-color:#3b82f6}.ai-input::placeholder{color:#71717a}.ai-generate-button{background:#3b82f6;color:#fff;border:none;padding:.75rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.ai-generate-button:hover:not(:disabled){background:#2563eb}.ai-generate-button:disabled{background:#ffffff0d;color:#71717a;cursor:not-allowed}.ai-error{padding:.75rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#f87171;font-size:.85rem}.ai-output{background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:1rem;flex:1}.ai-output p{margin:0;font-size:.875rem;color:#a1a1aa;line-height:1.5;text-align:center}.random-fact-widget{padding:1rem;display:flex;flex-direction:column;gap:1rem;height:100%}.fact-content{background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:1.5rem 1rem;flex:1;display:flex;align-items:center;justify-content:center;text-align:center}.fact-loading,.fact-error{color:#71717a;font-size:.875rem}.fact-error{color:#f87171}.fact-text{margin:0;font-size:.95rem;color:#e4e4e7;line-height:1.6}.fact-refresh-button{width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#e4e4e7;padding:.75rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.fact-refresh-button:hover:not(:disabled){background:#ffffff1a;border-color:#fff3}.fact-refresh-button:disabled{opacity:.6;cursor:not-allowed}.notes-widget{padding:1rem;display:flex;flex-direction:column;gap:1rem;height:100%}.notes-textarea{width:100%;flex:1;min-height:150px;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#e4e4e7;font-size:.875rem;padding:.75rem;resize:none;transition:border-color .2s ease;font-family:inherit;line-height:1.5}.notes-textarea:focus{outline:none;border-color:#3b82f6}.notes-textarea::placeholder{color:#71717a}.notes-footer{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.notes-char-count{font-size:.75rem;color:#71717a}.notes-clear-button{background:transparent;color:#f87171;border:1px solid rgba(248,113,113,.3);padding:.5rem .75rem;border-radius:6px;font-size:.8rem;cursor:pointer;transition:all .2s ease}.notes-clear-button:hover{background:#f871711a;border-color:#f8717180}.settings-overlay{position:fixed;inset:0;background-color:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:3000;animation:fadeIn .2s ease}.settings-panel{background:var(--bg-primary);border:1px solid var(--border-default);border-radius:20px;width:90%;max-width:600px;max-height:85vh;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;box-shadow:var(--shadow-color),0 25px 50px -12px;animation:slideUp .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--border-subtle);background:var(--bg-hover)}.settings-header h2{margin:0;font-size:1.25rem;font-weight:700;color:var(--text-primary);letter-spacing:-.3px}.close-button{background:var(--bg-hover);border:none;color:var(--text-muted);font-size:1.5rem;line-height:1;cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;transition:all .2s ease}.close-button:hover{background:var(--status-error-bg);color:var(--status-error-text);transform:rotate(90deg)}.settings-content{padding:1.5rem 2rem;overflow-y:auto;flex:1}.settings-description{margin:0 0 1.5rem;font-size:.875rem;color:var(--text-muted);line-height:1.5}.settings-section{margin-bottom:1.5rem}.settings-section-title{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.weather-units-toggle{display:flex;gap:.5rem}.units-button{flex:1;padding:.75rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#a1a1aa;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.units-button:hover{background:#ffffff1a;border-color:#fff3;color:#e4e4e7}.units-button.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.theme-selector{display:flex;flex-wrap:wrap;gap:.5rem}.theme-button{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem 1rem;background:var(--bg-hover);border:1px solid var(--border-default);border-radius:8px;color:var(--text-muted);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;flex:1;min-width:80px}.theme-button:hover{background:var(--bg-active);border-color:var(--border-strong);color:var(--text-secondary)}.theme-button.active{background:var(--accent-secondary);border-color:var(--accent-secondary);color:var(--text-primary);box-shadow:0 0 20px var(--accent-primary)}.theme-icon{font-size:1.25rem}.theme-name{font-size:.75rem;font-weight:500}.widget-list{display:flex;flex-direction:column;gap:.75rem}.widget-list-item{padding:0}.widget-controls{display:flex;align-items:center;gap:.75rem;padding:1rem;border-radius:12px;background:var(--bg-hover);border:1px solid var(--border-subtle);transition:all .2s ease}.widget-controls:hover{background:var(--bg-active);border-color:var(--border-default)}.widget-reorder{display:flex;flex-direction:column;gap:2px}.reorder-button{background:var(--bg-hover);border:1px solid var(--border-default);color:var(--text-secondary);font-size:.75rem;width:28px;height:20px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:4px;cursor:pointer;transition:all .2s ease}.reorder-button:hover:not(:disabled){background:var(--bg-active);border-color:var(--border-strong)}.reorder-button:disabled{opacity:.3;cursor:not-allowed}.widget-checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;flex:1;margin:0;-webkit-user-select:none;user-select:none}.widget-checkbox{appearance:none;width:20px;height:20px;border:2px solid rgba(255,255,255,.2);border-radius:6px;background:transparent;cursor:pointer;position:relative;flex-shrink:0;transition:all .2s ease}.widget-checkbox:checked{background:#3b82f6;border-color:#3b82f6}.widget-checkbox:checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;border-radius:1px;margin-top:-1px}.widget-checkbox:focus{outline:2px solid #3b82f6;outline-offset:2px}.widget-name{flex:1;color:var(--text-secondary);font-size:.9375rem;font-weight:500}.widget-status{font-size:.7rem;padding:.25rem .625rem;border-radius:20px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.widget-status.active{background:var(--status-success-bg);color:var(--status-success-text)}.widget-status.inactive{background:var(--status-neutral-bg);color:var(--status-neutral-text)}.widget-span-control{display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}.span-label{font-size:.7rem;color:#71717a;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.span-buttons{display:flex;gap:.25rem}.span-button{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#a1a1aa;font-size:.75rem;font-weight:600;width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer;transition:all .2s ease}.span-button:hover{background:#ffffff1a;border-color:#fff3;color:#e4e4e7}.span-button.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.settings-footer{padding:1rem 2rem;border-top:1px solid rgba(255,255,255,.06);background:#ffffff05;display:flex;justify-content:flex-end}.reset-button{background:var(--accent-secondary);color:var(--text-primary);border:none;padding:.75rem 1.5rem;border-radius:10px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.reset-button:hover{background:var(--accent-tertiary);transform:translateY(-1px)}.reset-button:active{transform:translateY(0)}.settings-content::-webkit-scrollbar{width:8px}.settings-content::-webkit-scrollbar-track{background:#ffffff05;border-radius:4px}.settings-content::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.settings-content::-webkit-scrollbar-thumb:hover{background:#ffffff26}@media(max-width:600px){.settings-panel{width:95%;max-height:90vh;border-radius:16px}.settings-header,.settings-content,.settings-footer{padding:1.25rem 1.5rem}.settings-header h2{font-size:1.125rem}.theme-selector{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.theme-button{min-width:auto}.widget-controls{flex-wrap:wrap;padding:.875rem;gap:.5rem}.widget-reorder{flex-direction:row;order:3;width:100%;justify-content:center;margin-top:.5rem}.reorder-button{width:40px;height:28px;font-size:.875rem}.widget-checkbox-label{order:1;min-width:100%}.widget-span-control{order:2;width:100%;align-items:flex-start}.widget-name{font-size:.875rem}.reset-button{width:100%}}.modal-overlay{position:fixed;inset:0;background-color:var(--bg-overlay);-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);display:flex;align-items:center;justify-content:center;z-index:2000;padding:2rem;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--bg-primary);border:1px solid var(--border-default);border-radius:20px;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;box-shadow:0 25px 50px -12px var(--shadow-color);animation:slideUp .3s cubic-bezier(.4,0,.2,1);overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--border-subtle);background:var(--bg-hover)}.modal-title{margin:0;font-size:1.5rem;font-weight:700;color:var(--text-primary);letter-spacing:-.5px}.modal-close-button{background:var(--bg-hover);border:none;color:var(--text-muted);font-size:1.5rem;line-height:1;cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;transition:all .2s ease}.modal-close-button:hover{background:var(--status-error-bg);color:var(--status-error-text);transform:rotate(90deg)}.modal-close-button:active{transform:rotate(90deg) scale(.95)}.modal-body{padding:2rem;overflow-y:auto;flex:1;color:var(--text-secondary);background:var(--bg-primary)}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:var(--bg-input);border-radius:4px}.modal-body::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:4px}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.modal-body{scrollbar-width:thin;scrollbar-color:var(--border-default) var(--bg-input)}@media(max-width:768px){.modal-overlay{padding:1rem}.modal-content{max-height:95vh;border-radius:16px}.modal-header{padding:1.25rem 1.5rem}.modal-title{font-size:1.25rem}.modal-body{padding:1.5rem}}@media(max-width:480px){.modal-overlay{padding:.75rem}.modal-content{max-height:97vh;border-radius:14px}.modal-header{padding:1rem}.modal-title{font-size:1.125rem}.modal-close-button{width:32px;height:32px;font-size:1.25rem;border-radius:8px}.modal-body{padding:1rem}.modal-body::-webkit-scrollbar{width:6px}}*{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;overflow-x:hidden}.dashboard{min-height:100vh;background:var(--bg-primary);color:var(--text-secondary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;padding:0;width:100%}.dashboard-header{background:var(--bg-secondary);-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);border-bottom:1px solid var(--border-subtle);padding:1.25rem 1.5rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100;width:100%}.header-content h1{margin:0;font-size:1.5rem;font-weight:700;color:var(--text-primary);letter-spacing:-.5px}.header-subtitle{margin:.25rem 0 0;font-size:.8rem;color:var(--text-faint);font-weight:400}.settings-button{display:flex;align-items:center;gap:.5rem;background:var(--bg-active);border:1px solid var(--border-default);color:var(--text-secondary);padding:.625rem 1.25rem;border-radius:10px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.settings-button:hover{background:var(--bg-hover);border-color:var(--border-strong);transform:translateY(-1px)}.settings-button:active{transform:translateY(0)}.settings-icon{font-size:1rem}.widget-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1px;width:100%;background:var(--border-subtle)}.widget-card{background:var(--bg-secondary);border:none;overflow:hidden;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;min-height:200px}.widget-card:hover{background:var(--bg-tertiary);transform:scale(1.01);z-index:1}.widget-card:active{transform:scale(1.005)}.widget-card-header{padding:1.25rem 1.5rem;display:flex;align-items:center;gap:.75rem;border-bottom:1px solid var(--border-subtle)}.widget-icon{font-size:1.5rem;line-height:1}.widget-title{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary);letter-spacing:-.3px}.widget-content{flex:1;display:flex;align-items:stretch;justify-content:stretch;padding:0;overflow:hidden}.widget-preview{width:100%;height:100%;display:flex;flex-direction:column}.widget-preview>*{flex:1;min-height:0}.placeholder-container{display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center;width:100%;height:100%;justify-content:center}.placeholder-icon{font-size:3rem;opacity:.25;transition:all .3s ease}.widget-card:hover .placeholder-icon{opacity:.5;transform:scale(1.1)}.placeholder-text{margin:0;font-size:.875rem;color:var(--text-faint);font-weight:500}.widget-expanded{display:flex;flex-direction:column}.widget-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem 2rem;text-align:center;color:var(--text-faint)}.error-icon{font-size:3rem}@media(max-width:768px){.dashboard-header{padding:1rem;flex-direction:column;align-items:stretch;gap:1rem}.settings-button{width:100%;justify-content:center}.header-content h1{font-size:1.25rem}.widget-grid{grid-template-columns:1fr}}@media(max-width:480px){.dashboard-header{padding:.875rem}.header-content h1{font-size:1.125rem}.header-subtitle{font-size:.75rem}.widget-card-header{padding:1rem}.widget-title{font-size:.9rem}.placeholder-icon{font-size:2.5rem}.placeholder-text{font-size:.8rem}.widget-content{padding:1.5rem 1rem}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-input)}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}*{scrollbar-width:thin;scrollbar-color:var(--border-default) var(--bg-input)}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
