:root{--text-primary: #e0e0e0;--text-secondary: #aaa;--text-emphasis: #ffffff;--text-on-primary: #ffffff;--text-subtle: #999;--background-color: #121212;--background-alt: #2c2c2c;--background-surface: #1e1e1e;--card-bg: #2c2c2c;--surface-hover: #3a3a42;--border-color: #333;--border-color-light: #444;--primary-color: #4a90e2;--primary-color-dark: #357abd;--accent: #4a90e2;--accent-bg: #1e293b;--accent-text: #4a90e2;--accent-strong: #2563eb;--border-radius: 8px;--border-radius-large: 16px;--font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;--success-bg: #2f4d37;--success-border: #388e3c;--success-text: #e6ffed;--error-bg: #5d2f2f;--error-border: #d32f2f;--error-text: #ffebee}:root[data-theme=light]{--text-primary: #333;--text-secondary: #555;--text-emphasis: #1a1a1a;--text-on-primary: #ffffff;--text-subtle: #888;--background-color: #f5f5f7;--background-alt: #ebebef;--background-surface: #ffffff;--card-bg: #ffffff;--surface-hover: #f0f0f0;--border-color: #d5d5da;--border-color-light: #d0d0d0;--primary-color: #2563eb;--primary-color-dark: #1d4ed8;--accent: #2563eb;--accent-bg: #eff6ff;--accent-text: #2563eb;--accent-strong: #2563eb;--success-bg: #dcf5e3;--success-border: #22c55e;--success-text: #14532d;--error-bg: #fef2f2;--error-border: #ef4444;--error-text: #b91c1c}@media (prefers-color-scheme: light){:root:not([data-theme=dark]){--text-primary: #333;--text-secondary: #555;--text-emphasis: #1a1a1a;--text-on-primary: #ffffff;--text-subtle: #888;--background-color: #f5f5f7;--background-alt: #ebebef;--background-surface: #ffffff;--card-bg: #ffffff;--surface-hover: #f0f0f0;--border-color: #d5d5da;--border-color-light: #d0d0d0;--primary-color: #2563eb;--primary-color-dark: #1d4ed8;--accent: #2563eb;--accent-bg: #eff6ff;--accent-text: #2563eb;--accent-strong: #2563eb;--success-bg: #dcf5e3;--success-border: #22c55e;--success-text: #14532d;--error-bg: #fef2f2;--error-border: #ef4444;--error-text: #b91c1c}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{display:flex;flex-direction:column;min-height:100vh;font-family:var(--font-family);background-color:var(--background-color);color:var(--text-primary);padding:20px;overflow-x:hidden}main{display:flex;justify-content:center;flex-direction:column;align-items:center;width:100%;flex-grow:1}h1,h2,h3{text-align:center;background:linear-gradient(138deg,var(--primary-color),var(--primary-color-dark));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:.1em;margin-top:1em;margin-bottom:.5em}h1{font-size:2.8em;font-weight:700;text-shadow:none}header{display:flex;justify-content:center;flex-direction:column;align-items:center;padding:20px;text-align:center}.logo{width:100px}.location-badge{display:inline-block;margin-top:6px;padding:3px 14px;border-radius:var(--border-radius);background:var(--primary-color);color:var(--text-on-primary);font-size:.8em;font-weight:600;letter-spacing:.05em;text-transform:uppercase}footer{display:flex;justify-content:center;flex-direction:column;align-items:center;padding:20px;text-align:center}.color-toggle-container{display:flex;align-items:center;gap:8px;padding:5px 10px;background-color:var(--background-alt, #f0f0f0);border-radius:var(--border-radius, 4px);border:1px solid var(--border-color, #ccc)}.toggle-label{font-size:.9em;color:var(--text-secondary, #555)}.switch{position:relative;display:inline-block;width:50px;height:28px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s}.slider:before{position:absolute;content:"";height:20px;width:20px;left:4px;bottom:4px;background-color:#fff;transition:.4s}input:checked+.slider{background-color:var(--primary-color, #2196F3)}input:focus+.slider{box-shadow:0 0 1px var(--primary-color, #2196F3)}input:checked+.slider:before{transform:translate(22px)}.slider.round{border-radius:28px}.slider.round:before{border-radius:50%}.switch.theme-switch .slider{background-color:var(--border-color-light);background-image:url(/will/assets/moon.svg);background-repeat:no-repeat;background-position:right 6px center;background-size:16px}.switch.theme-switch input:checked+.slider{background-color:var(--primary-color);background-image:url(/will/assets/sun.svg);background-position:left 6px center}.hub-theme-toggle{position:fixed;top:max(10px,env(safe-area-inset-top));right:10px;z-index:30;background:transparent;border:none;padding:2px;cursor:pointer;-webkit-tap-highlight-color:transparent}.hub-theme-toggle .switch{display:inline-block}
