*,*:before,*:after{box-sizing:border-box}html,body{width:100%;min-width:320px;height:100%;margin:0;overflow:hidden}body,button,input,textarea,select{font:inherit}body{color:var(--ui-text-primary);background:var(--os-wallpaper-base);font-family:var(--ui-font-sans);font-size:var(--ui-font-size-body);line-height:var(--ui-line-height-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,textarea,select{color:inherit}button{border:0}button,[role=button]{-webkit-tap-highlight-color:transparent}img,svg{display:block}h1,h2,h3,p{margin:0}:focus-visible{outline:2px solid var(--ui-focus);outline-offset:2px}[hidden]{display:none!important}:root{color-scheme:light dark;--ui-font-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif;--ui-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;--ui-font-size-caption: 12px;--ui-font-size-label: 13px;--ui-font-size-body: 14px;--ui-font-size-body-lg: 15px;--ui-font-size-subtitle: 16px;--ui-font-size-section: 18px;--ui-font-size-heading: 20px;--ui-font-size-heading-lg: 24px;--ui-font-size-title: 30px;--ui-font-size-display-sm: 36px;--ui-font-size-display-md: 48px;--ui-font-size-data-display: clamp(76px, 8vw, 108px);--ui-line-height-heading: 1.25;--ui-line-height-body: 1.6;--ui-font-weight-light: 280;--ui-font-weight-regular: 400;--ui-font-weight-medium: 560;--ui-font-weight-semibold: 650;--ui-font-weight-bold: 720;--ui-letter-spacing-tight: -.025em;--ui-letter-spacing-title: -.045em;--ui-letter-spacing-kicker: .1em;--ui-icon-size-sm: 16px;--ui-icon-size-md: 20px;--ui-icon-size-lg: 24px;--ui-icon-size-xl: 36px;--ui-icon-size-toolbar: 18px;--ui-icon-size-default: 18px;--ui-icon-stroke-width: 1.8;--ui-space-1: 4px;--ui-space-2: 6px;--ui-space-3: 8px;--ui-space-4: 10px;--ui-space-5: 12px;--ui-space-6: 14px;--ui-space-7: 16px;--ui-space-8: 20px;--ui-space-9: 24px;--ui-space-10: 28px;--ui-space-11: 32px;--ui-space-12: 40px;--ui-layout-gap-xs: var(--ui-space-3);--ui-layout-gap-sm: var(--ui-space-5);--ui-layout-gap-md: var(--ui-space-7);--ui-layout-gap-lg: var(--ui-space-9);--ui-layout-padding-inline: var(--ui-space-9);--ui-layout-padding-block: var(--ui-space-8);--ui-control-height-sm: 30px;--ui-control-height-md: 36px;--ui-control-height-lg: 38px;--ui-control-height-xl: 48px;--ui-control-size-icon: 34px;--ui-control-size-toolbar: 30px;--ui-topbar-brand-size: 20px;--ui-topbar-gap: 15px;--ui-app-padding-inline: 26px;--ui-app-padding-block: 22px;--ui-accent: #6f5cf6;--ui-accent-rgb: 111, 92, 246;--ui-accent-hover: #806ef8;--ui-focus: rgba(var(--ui-accent-rgb), .72);--ui-accent-palette-violet: #6f5cf6;--ui-accent-palette-blue: #2d91e8;--ui-accent-palette-pink: #d9507f;--ui-accent-palette-orange: #e18742;--ui-accent-palette-green: #2da27b;--ui-text-primary: rgba(255, 255, 255, .96);--ui-text-secondary: rgba(255, 255, 255, .68);--ui-text-tertiary: rgba(255, 255, 255, .46);--ui-text-on-accent: #fff;--ui-surface-solid: #1d202a;--ui-surface-1: rgba(29, 32, 42, .86);--ui-surface-2: rgba(255, 255, 255, .075);--ui-surface-3: rgba(255, 255, 255, .12);--ui-surface-hover: rgba(255, 255, 255, .105);--ui-surface-active: rgba(255, 255, 255, .15);--ui-border: rgba(255, 255, 255, .13);--ui-border-strong: rgba(255, 255, 255, .22);--ui-divider: rgba(255, 255, 255, .09);--ui-danger: #ff6b6b;--ui-success: #57d39b;--ui-color-white: #fff;--ui-color-black: #000;--ui-color-traffic-close: #ff5f57;--ui-color-traffic-minimize: #febc2e;--ui-color-traffic-maximize: #28c840;--ui-color-weather-rain: #8cc8ff;--ui-color-app-about-start: #8066f2;--ui-color-app-about-end: #5032c5;--ui-color-app-projects-start: #3fa9ed;--ui-color-app-projects-end: #2169b7;--ui-color-app-portfolio-start: #e78c63;--ui-color-app-portfolio-end: #aa466f;--ui-color-app-contact-start: #4fc7ae;--ui-color-app-contact-end: #218a82;--ui-color-app-calendar-start: #f06f7d;--ui-color-app-calendar-end: #c9366b;--ui-color-app-clock-start: #788cf0;--ui-color-app-clock-end: #4053b8;--ui-color-app-calculator-start: #91a4c2;--ui-color-app-calculator-end: #4c638b;--ui-color-app-settings-start: #8f9db7;--ui-color-app-settings-end: #556983;--ui-color-app-weather-start: #59c5ef;--ui-color-app-weather-end: #3477cf;--ui-color-app-search-start: #65b5ef;--ui-color-app-search-end: #2e6ec4;--ui-color-app-hitokoto-start: #ef9a65;--ui-color-app-hitokoto-end: #c95855;--ui-color-app-poetry-start: #6cbba0;--ui-color-app-poetry-end: #318178;--ui-color-wallpaper-violet-start: #281b52;--ui-color-wallpaper-violet-end: #10131c;--ui-color-wallpaper-aurora-start: #143d4b;--ui-color-wallpaper-aurora-end: #17162c;--ui-color-wallpaper-graphite-start: #292b31;--ui-color-wallpaper-graphite-end: #0c0d11;--ui-shadow-inset-control: inset 0 1px rgba(255, 255, 255, .05);--ui-shadow-inset-card: inset 0 1px rgba(255, 255, 255, .035);--ui-shadow-control: 0 2px 7px rgba(0, 0, 0, .24);--ui-shadow-window-highlight: inset 0 1px rgba(255, 255, 255, .06);--ui-shadow-panel-highlight: inset 0 1px rgba(255, 255, 255, .07);--ui-text-on-image: rgba(255, 255, 255, .96);--ui-text-on-image-secondary: rgba(255, 255, 255, .78);--ui-text-on-image-muted: rgba(255, 255, 255, .72);--ui-border-on-image: rgba(255, 255, 255, .22);--ui-surface-on-image-hover: rgba(255, 255, 255, .1);--ui-boot-surface: #101117;--ui-wallpaper-base-start: #171324;--ui-wallpaper-base-mid: #10131a;--ui-wallpaper-base-end: #181d29;--ui-wallpaper-aurora-start: #0d2026;--ui-wallpaper-aurora-mid: #121727;--ui-wallpaper-aurora-end: #17122a;--ui-wallpaper-graphite-start: #24262c;--ui-wallpaper-graphite-mid: #0e1014;--ui-wallpaper-graphite-end: #1b1d22;--ui-wallpaper-aurora-glow-one: rgba(82, 231, 193, .23);--ui-wallpaper-aurora-glow-two: rgba(86, 96, 222, .2);--ui-wallpaper-graphite-glow: rgba(171, 179, 197, .17);--ui-wallpaper-orb-border: rgba(255, 255, 255, .055);--ui-wallpaper-orb-shadow: 0 0 0 8vw rgba(255, 255, 255, .012), 0 0 0 17vw rgba(255, 255, 255, .008);--ui-app-icon-highlight: linear-gradient(145deg, rgba(255, 255, 255, .16), transparent 52%);--ui-app-icon-shadow: 0 7px 16px rgba(0, 0, 0, .2);--ui-window-control-icon: rgba(0, 0, 0, .58);--ui-shadow-text-on-image: 0 1px 5px rgba(0, 0, 0, .7);--ui-shadow-about-avatar: 0 18px 40px rgba(var(--ui-accent-rgb), .22);--ui-shadow-weather-icon: drop-shadow(0 4px 12px rgba(0, 0, 0, .18));--ui-border-weather-divider: rgba(255, 255, 255, .2);--ui-border-weather-divider-soft: rgba(255, 255, 255, .18);--ui-accent-surface-soft: rgba(var(--ui-accent-rgb), .16);--ui-accent-surface-now: rgba(var(--ui-accent-rgb), .2);--ui-accent-border-now: rgba(var(--ui-accent-rgb), .65);--ui-accent-border-strong: rgba(var(--ui-accent-rgb), .72);--ui-text-boot: rgba(255, 255, 255, .8);--ui-shadow-boot-mark: 0 16px 48px rgba(var(--ui-accent-rgb), .28);--ui-weather-fallback: #1b2940;--ui-weather-clear: linear-gradient(135deg, hsl(205 76% 66%), hsl(203 64% 47%));--ui-weather-night: linear-gradient(135deg, hsl(222 46% 27%), hsl(242 40% 15%));--ui-weather-rain: linear-gradient(135deg, hsl(211 45% 38%), hsl(220 45% 19%));--ui-weather-snow: linear-gradient(135deg, hsl(207 42% 65%), hsl(214 36% 42%));--ui-weather-cloudy: linear-gradient(135deg, hsl(207 25% 60%), hsl(213 28% 40%));--ui-weather-hero-overlay: linear-gradient(135deg, rgba(7, 18, 38, .28), rgba(9, 16, 31, .58));--ui-weather-scene-overlay: linear-gradient(180deg, rgba(5, 12, 27, .08) 12%, rgba(8, 16, 34, .5));--ui-weather-storm-overlay: linear-gradient(180deg, rgba(91, 108, 149, .1), rgba(8, 15, 34, .62));--ui-weather-sun-glow: radial-gradient(circle, rgba(255, 249, 213, .98) 0 8%, rgba(255, 221, 151, .4) 29%, transparent 68%);--ui-weather-moon: rgba(255, 253, 229, .92);--ui-weather-moon-shadow: 0 0 34px rgba(255, 246, 190, .46);--ui-weather-fog: linear-gradient(180deg, transparent, rgba(237, 244, 250, .44), transparent 80%);--ui-weather-text-primary: rgba(255, 255, 255, .98);--ui-weather-text-secondary: rgba(255, 255, 255, .78);--ui-weather-text-muted: rgba(255, 255, 255, .72);--ui-weather-border: rgba(255, 255, 255, .24);--ui-widget-calendar-bg: #ffffff;--ui-widget-calendar-text: #101923;--ui-widget-calendar-muted: #8f8f94;--ui-widget-calendar-accent: #16a8f4;--ui-widget-calendar-today: #ff4052;--ui-widget-calendar-chip: rgba(16, 25, 35, .07);--ui-widget-clock-bg: color-mix(in srgb, var(--ui-widget-card-surface) 94%, var(--ui-accent-palette-blue));--ui-widget-clock-hero: linear-gradient(145deg, color-mix(in srgb, var(--ui-widget-card-surface) 78%, var(--ui-accent-palette-blue)), color-mix(in srgb, var(--ui-widget-card-surface) 92%, var(--ui-accent-palette-blue)));--ui-widget-clock-glow: radial-gradient(circle at 88% 12%, color-mix(in srgb, var(--ui-color-white) 24%, transparent), transparent 42%);--ui-widget-clock-panel: var(--ui-surface-2);--ui-widget-clock-panel-border: var(--ui-border-strong);--ui-widget-clock-text: var(--ui-text-primary);--ui-widget-clock-muted: var(--ui-text-secondary);--ui-widget-clock-highlight: var(--ui-accent-palette-blue);--ui-widget-clock-face: var(--ui-surface-2);--ui-widget-clock-inset: color-mix(in srgb, var(--ui-accent-palette-blue) 18%, transparent);--ui-widget-clock-tick: var(--ui-text-secondary);--ui-widget-weather-bg: var(--ui-weather-clear);--ui-widget-weather-clear: var(--ui-weather-clear);--ui-widget-weather-night: var(--ui-weather-night);--ui-widget-weather-cloudy: var(--ui-weather-cloudy);--ui-widget-weather-rain: var(--ui-weather-rain);--ui-widget-weather-snow: var(--ui-weather-snow);--ui-widget-weather-text: var(--ui-weather-text-primary);--ui-widget-weather-text-secondary: var(--ui-weather-text-secondary);--ui-widget-weather-text-muted: var(--ui-weather-text-muted);--ui-widget-weather-divider: var(--ui-weather-border);--ui-widget-weather-panel: color-mix(in srgb, var(--ui-color-white) 15%, transparent);--ui-widget-weather-panel-border: color-mix(in srgb, var(--ui-color-white) 19%, transparent);--ui-widget-weather-glow: radial-gradient(circle at 82% 4%, rgba(255, 249, 213, .3), transparent 42%);--ui-widget-weather-vignette: linear-gradient(180deg, transparent 42%, rgba(5, 12, 27, .18));--ui-widget-weather-shadow: 0 16px 34px rgba(0, 70, 130, .26);--ui-widget-weather-panel-shadow: inset 0 1px rgba(255, 255, 255, .12);--ui-widget-weather-text-shadow: 0 2px 8px rgba(5, 12, 27, .12);--ui-widget-weather-symbol-shadow: drop-shadow(0 8px 14px rgba(5, 12, 27, .2));--ui-widget-weather-symbol-shadow-small: drop-shadow(0 3px 5px rgba(5, 12, 27, .16));--ui-widget-words-hitokoto: linear-gradient(140deg, #8d4b42, #3a222b);--ui-widget-words-poetry: linear-gradient(140deg, #3d8072, #183a3b);--ui-widget-words-text: var(--ui-color-white);--ui-widget-words-muted: rgba(255, 255, 255, .7);--ui-widget-words-border: rgba(255, 255, 255, .2);--ui-widget-radius: 20px;--ui-widget-remove-bg: rgba(18, 20, 26, .46);--ui-widget-remove-bg-hover: rgba(18, 20, 26, .72);--ui-widget-remove-border: rgba(255, 255, 255, .28);--ui-widget-grid-line: rgba(255, 255, 255, .2);--ui-widget-shadow: 0 10px 24px rgba(0, 0, 0, .14), inset 0 1px rgba(255, 255, 255, .18);--ui-widget-card-surface: var(--ui-surface-1);--ui-widget-card-border: var(--ui-border-on-image);--ui-widget-card-shadow: var(--ui-widget-shadow);--ui-widget-card-radius: var(--ui-widget-radius);--ui-radius-xs: 6px;--ui-radius-sm: 9px;--ui-radius-md: 13px;--ui-radius-lg: 18px;--ui-radius-xl: 24px;--ui-radius-round: 999px;--ui-shadow-sm: 0 4px 16px rgba(0, 0, 0, .16);--ui-shadow-md: 0 16px 48px rgba(0, 0, 0, .28);--ui-shadow-lg: 0 28px 90px rgba(0, 0, 0, .42);--ui-shadow-focus: 0 0 0 3px rgba(var(--ui-accent-rgb), .22);--ui-cursor-surface: hsl(0 0% 100% / 88%);--ui-cursor-border: hsl(220 18% 30% / 42%);--ui-cursor-shadow: 0 0 0 1px hsl(0 0% 100% / 28%), 0 3px 12px hsl(220 30% 12% / 18%);--ui-blur-sm: 10px;--ui-blur-md: 18px;--ui-blur-lg: 26px;--ui-glass-opacity: 90%;--ui-duration-fast: .12s;--ui-duration-normal: .22s;--ui-duration-slow: .36s;--ui-ease-standard: cubic-bezier(.2, 0, 0, 1);--ui-ease-out: cubic-bezier(.16, 1, .3, 1);--os-menubar-height: 34px;--os-wallpaper-base: #11131a;--os-window-titlebar: 52px}:root[data-theme=light]{color-scheme:light;--ui-text-primary: rgba(20, 22, 30, .94);--ui-text-secondary: rgba(20, 22, 30, .76);--ui-text-tertiary: rgba(20, 22, 30, .58);--ui-surface-solid: #ffffff;--ui-surface-1: rgba(247, 248, 251, .86);--ui-surface-2: rgba(255, 255, 255, .5);--ui-surface-3: rgba(20, 22, 30, .08);--ui-surface-hover: rgba(20, 22, 30, .07);--ui-surface-active: rgba(20, 22, 30, .11);--ui-border: rgba(20, 22, 30, .12);--ui-border-strong: rgba(20, 22, 30, .2);--ui-divider: rgba(20, 22, 30, .08);--ui-text-on-image: rgba(255, 255, 255, .96);--ui-text-on-image-secondary: rgba(255, 255, 255, .82);--ui-text-on-image-muted: rgba(255, 255, 255, .76);--ui-shadow-sm: 0 4px 16px rgba(20, 22, 30, .1);--ui-shadow-md: 0 16px 48px rgba(20, 22, 30, .18);--ui-shadow-lg: 0 28px 90px rgba(20, 22, 30, .27);--ui-widget-words-hitokoto: linear-gradient(140deg, #fff5ed, #f1d8ce);--ui-widget-words-poetry: linear-gradient(140deg, #eef8f1, #cce6dc);--ui-widget-words-text: rgba(20, 22, 30, .94);--ui-widget-words-muted: rgba(20, 22, 30, .62);--ui-widget-words-border: rgba(20, 22, 30, .14)}:root[data-theme=dark]{--ui-widget-weather-bg: linear-gradient(142deg, #075b83 0%, #06101a 100%);--ui-widget-weather-shadow: 0 16px 34px rgba(0, 0, 0, .32);--ui-widget-calendar-bg: color-mix(in srgb, var(--ui-accent-palette-blue) 18%, var(--ui-surface-solid));--ui-widget-calendar-text: #ffffff;--ui-widget-calendar-chip: rgba(255, 255, 255, .06)}:root[data-wallpaper-tone=light]{--ui-text-on-image: rgba(20, 22, 30, .94);--ui-text-on-image-secondary: rgba(20, 22, 30, .68);--ui-text-on-image-muted: rgba(20, 22, 30, .48);--ui-surface-on-image-hover: rgba(20, 22, 30, .08);--ui-shadow-text-on-image: 0 1px 5px rgba(255, 255, 255, .62);--ui-widget-grid-line: rgba(20, 22, 30, .2)}:root[data-transparency=off]{--ui-surface-1: var(--ui-surface-solid);--ui-glass-opacity: 100%;--ui-blur-sm: 0px;--ui-blur-md: 0px;--ui-blur-lg: 0px}:root[data-motion=off] *,:root[data-motion=off] *:before,:root[data-motion=off] *:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.ui-button,.ui-icon-button,.ui-segmented__item,.ui-switch{appearance:none;cursor:default;user-select:none}.ui-button{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:8px;padding:0 15px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);color:var(--ui-text-primary);background:var(--ui-surface-2);font-size:var(--ui-font-size-body);font-weight:var(--ui-font-weight-semibold);line-height:1;box-shadow:var(--ui-shadow-inset-control);transition:background var(--ui-duration-fast),border-color var(--ui-duration-fast),transform var(--ui-duration-fast)}.ui-button:hover,.ui-icon-button:hover,.ui-segmented__item:hover{background:var(--ui-surface-hover)}.ui-button:active,.ui-icon-button:active,.ui-segmented__item:active{transform:scale(.97)}.ui-button--primary{border-color:transparent;color:var(--ui-text-on-accent);background:var(--ui-accent)}.ui-button--primary:hover{background:var(--ui-accent-hover)}.ui-button--ghost{border-color:transparent;background:transparent;box-shadow:none}.ui-button--small{min-height:var(--ui-control-height-sm);padding-inline:11px;font-size:var(--ui-font-size-label)}.ui-icon-button{display:inline-grid;width:var(--ui-control-size-icon);height:var(--ui-control-size-icon);place-items:center;padding:0;border:1px solid transparent;border-radius:var(--ui-radius-sm);color:var(--ui-text-secondary);background:transparent;transition:color var(--ui-duration-fast),background var(--ui-duration-fast),transform var(--ui-duration-fast)}.ui-icon-button--secondary{border-color:var(--ui-border);background:var(--ui-surface-2)}.ui-icon-button--large{width:var(--ui-control-height-lg);height:var(--ui-control-height-lg)}.ui-icon-button[aria-pressed=true]{color:var(--ui-text-primary);background:var(--ui-surface-active)}.ui-icon{width:var(--ui-icon-size-default);height:var(--ui-icon-size-default);flex:none;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:var(--ui-icon-stroke-width)}.ui-card{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface-2);box-shadow:var(--ui-shadow-inset-card)}.ui-field{display:grid;gap:7px}.ui-field__label{color:var(--ui-text-secondary);font-size:var(--ui-font-size-label);font-weight:var(--ui-font-weight-semibold)}.ui-input,.ui-select{width:100%;min-height:var(--ui-control-height-lg);padding:0 11px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);outline:none;color:var(--ui-text-primary);background:var(--ui-surface-2);font-size:var(--ui-font-size-body);transition:border-color var(--ui-duration-fast),box-shadow var(--ui-duration-fast),background var(--ui-duration-fast)}.ui-input:focus,.ui-select:focus{border-color:var(--ui-accent);box-shadow:var(--ui-shadow-focus)}.ui-switch{position:relative;width:42px;height:24px;padding:3px;border-radius:var(--ui-radius-round);background:var(--ui-surface-3);transition:background var(--ui-duration-fast)}.ui-switch:after{content:"";display:block;width:18px;height:18px;border-radius:50%;background:var(--ui-color-white);box-shadow:var(--ui-shadow-control);transition:transform var(--ui-duration-normal) var(--ui-ease-out)}.ui-switch[aria-checked=true]{background:var(--ui-accent)}.ui-switch[aria-checked=true]:after{transform:translate(18px)}.ui-slider{width:100%;height:4px;accent-color:var(--ui-accent)}.ui-slider:disabled{cursor:not-allowed;opacity:.38}.ui-segmented{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-surface-2)}.ui-segmented__item{min-height:29px;padding:0 12px;border-radius:7px;color:var(--ui-text-secondary);background:transparent;font-size:var(--ui-font-size-label);font-weight:var(--ui-font-weight-semibold)}.ui-segmented__item[aria-pressed=true]{color:var(--ui-text-primary);background:var(--ui-surface-active);box-shadow:var(--ui-shadow-sm)}.ui-badge{display:inline-flex;min-height:22px;align-items:center;padding:0 9px;border-radius:var(--ui-radius-round);color:var(--ui-text-secondary);background:var(--ui-surface-3);font-size:var(--ui-font-size-caption);font-weight:var(--ui-font-weight-bold);letter-spacing:.04em;text-transform:uppercase}.ui-settings-row{display:flex;min-height:58px;align-items:center;justify-content:space-between;gap:18px;padding:10px 14px;border-bottom:1px solid var(--ui-divider)}.ui-settings-row:last-child{border-bottom:0}.ui-settings-row__copy{display:grid;gap:3px}.ui-settings-row__copy strong{font-size:var(--ui-font-size-body)}.ui-settings-row__copy span{color:var(--ui-text-tertiary);font-size:var(--ui-font-size-caption)}.ui-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--ui-space-3)}.ui-settings-grid>.ui-settings-row{min-height:64px;padding-inline:var(--ui-space-3)}.ui-list-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--ui-space-3);width:100%;min-width:0;padding:var(--ui-space-4) var(--ui-space-5);border-radius:var(--ui-radius-sm);color:var(--ui-text-secondary);background:transparent;text-align:left;text-decoration:none;transition:color var(--ui-duration-fast),background var(--ui-duration-fast),border-color var(--ui-duration-fast)}.ui-list-item:hover,.ui-list-item.is-active{color:var(--ui-text-primary);background:var(--ui-surface-active)}.ui-list-item__index,.ui-list-item__body small,.ui-list-item__meta{color:var(--ui-text-tertiary);font:var(--ui-font-size-caption) var(--ui-font-mono)}.ui-list-item__body{display:grid;min-width:0;gap:var(--ui-space-1)}.ui-list-item__body strong{overflow:hidden;color:inherit;font-size:var(--ui-font-size-label);font-weight:var(--ui-font-weight-semibold);line-height:var(--ui-line-height-heading);text-overflow:ellipsis;white-space:nowrap}.ui-list-item__body small,.ui-list-item__meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-app-toolbar{position:relative;z-index:20;display:flex;align-items:flex-end;justify-content:space-between;gap:var(--ui-space-8);padding:21px var(--ui-app-padding-inline) 17px;border-bottom:1px solid var(--ui-divider)}.ui-app-toolbar h1{margin-top:4px;font-size:var(--ui-font-size-title);letter-spacing:var(--ui-letter-spacing-title)}.ui-app-toolbar__actions{display:flex;align-items:center;gap:var(--ui-space-3)}.ui-search{position:relative;display:flex;width:270px;min-height:var(--ui-control-height-lg);align-items:center;gap:var(--ui-space-3);padding-left:11px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-surface-2);transition:border-color var(--ui-duration-fast),box-shadow var(--ui-duration-fast)}.ui-search--wide{width:100%}.ui-search--large{min-height:var(--ui-control-height-xl)}.ui-search--large input{font-size:var(--ui-font-size-body-lg)}.ui-search__actions{display:inline-flex;align-items:center;gap:var(--ui-space-2);padding-right:var(--ui-space-2)}.ui-search__actions:empty{display:none}.ui-search:focus-within{border-color:var(--ui-accent);box-shadow:var(--ui-shadow-focus)}.ui-search>.ui-icon{width:15px;color:var(--ui-text-tertiary)}.ui-search input{min-width:0;height:100%;flex:1;border:0;outline:0;background:transparent;font-size:var(--ui-font-size-label)}.ui-search input::placeholder{color:var(--ui-text-tertiary)}.ui-search>button{align-self:stretch;padding:0 12px;border-left:1px solid var(--ui-divider);border-radius:0 var(--ui-radius-sm) var(--ui-radius-sm) 0;color:var(--ui-text-secondary);background:transparent;font-size:var(--ui-font-size-caption);font-weight:var(--ui-font-weight-semibold)}.ui-search>button:hover{color:var(--ui-text-primary);background:var(--ui-surface-hover)}form>.ui-field+.ui-field{margin-top:var(--ui-space-5)}.ui-panel{border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);background:var(--ui-surface-1);box-shadow:var(--ui-shadow-sm)}.ui-section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--ui-space-8)}.ui-section-header h2{margin-top:4px;font-size:var(--ui-font-size-heading);letter-spacing:var(--ui-letter-spacing-tight)}.ui-section-header>span{color:var(--ui-text-tertiary);font-size:var(--ui-font-size-caption)}@container (max-width: 720px){.ui-app-toolbar{align-items:stretch;flex-direction:column}.ui-app-toolbar__actions{align-items:stretch;flex-wrap:wrap}.ui-search{width:100%}}.ui-widget-card-host{position:relative;flex:none;border-radius:var(--ui-widget-card-radius);user-select:none}.ui-widget-card-host.is-preview{perspective:900px}.ui-widget-card{position:absolute;inset:0 auto auto 0;overflow:hidden;border:1px solid var(--ui-widget-card-border);border-radius:inherit;color:var(--ui-text-on-image);background:var(--ui-widget-card-surface);box-shadow:var(--ui-widget-card-shadow);transform:scale(var(--widget-preview-scale, 1));transform-origin:top left}.ui-widget-card-host.is-preview .ui-widget-card{transition:transform var(--ui-duration-normal) var(--ui-ease-out)}.ui-widget-card-host.is-preview:hover .ui-widget-card{transform:translateY(-5px) rotateX(2deg) rotateY(-2deg) scale(var(--widget-preview-scale, 1))}.ui-widget-card__loading{display:grid;width:100%;height:100%;place-items:center;color:var(--ui-text-secondary);font-size:var(--ui-font-size-caption)}.widget-weather,.widget-clock,.widget-calendar{position:relative;width:100%;height:100%;overflow:hidden;font-family:var(--ui-font-sans)}.widget-weather,.widget-clock{isolation:isolate}.ui-widget-card--weather{border:0;background:var(--ui-widget-weather-clear);box-shadow:var(--ui-widget-weather-shadow)}.widget-weather{color:var(--ui-widget-weather-text);background:var(--ui-widget-weather-clear)}.widget-weather:before,.widget-weather:after{position:absolute;z-index:-1;inset:0;content:"";pointer-events:none}.widget-weather:before{background:var(--ui-widget-weather-glow)}.widget-weather:after{background:var(--ui-widget-weather-vignette)}.widget-weather--night{background:var(--ui-widget-weather-night)}.widget-weather--cloudy,.widget-weather--fog{background:var(--ui-widget-weather-cloudy)}.widget-weather--rain,.widget-weather--storm{background:var(--ui-widget-weather-rain)}.widget-weather--snow{background:var(--ui-widget-weather-snow)}.widget-weather header{display:grid;gap:2px}.widget-weather header strong{overflow:hidden;font-size:var(--ui-font-size-label);font-weight:var(--ui-font-weight-semibold);letter-spacing:var(--ui-letter-spacing-tight);text-overflow:ellipsis;white-space:nowrap}.widget-weather header span,.widget-weather__current>small,.widget-weather__hero small,.widget-weather--small footer{color:var(--ui-widget-weather-text-secondary);font-size:var(--ui-font-size-caption);font-weight:var(--ui-font-weight-medium)}.widget-weather__temperature{display:inline-flex;align-items:flex-start;font-size:54px;font-weight:var(--ui-font-weight-light);letter-spacing:-.07em;line-height:.9;text-shadow:var(--ui-widget-weather-text-shadow)}.widget-weather__temperature sup{margin-top:.04em;font-size:.46em;font-weight:var(--ui-font-weight-regular);letter-spacing:0}.widget-weather__symbol{filter:var(--ui-widget-weather-symbol-shadow);line-height:1}.widget-weather__symbol,.widget-weather__current-icon,.widget-weather__forecast-day i,.widget-weather--micro i,.widget-weather--wide>div>i{font-family:"Apple Color Emoji","Segoe UI Emoji",sans-serif;font-style:normal}.widget-weather--small{padding:var(--ui-space-6)}.widget-weather--small header{max-width:104px}.widget-weather--small .widget-weather__temperature{position:absolute;top:57px;left:var(--ui-space-6)}.widget-weather--small .widget-weather__symbol{position:absolute;right:12px;bottom:32px;font-size:54px}.widget-weather--small footer{position:absolute;right:var(--ui-space-6);bottom:var(--ui-space-5);left:var(--ui-space-6);white-space:nowrap}.widget-weather--micro{display:grid;grid-template-rows:1fr auto;padding:var(--ui-space-4)}.widget-weather--micro strong{align-self:start;font-size:var(--ui-font-size-heading-lg);font-weight:var(--ui-font-weight-light);line-height:.9}.widget-weather--micro i{position:absolute;top:var(--ui-space-3);right:var(--ui-space-3);font-size:25px}.widget-weather--micro small{align-self:end;overflow:hidden;color:var(--ui-widget-weather-text-secondary);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.widget-weather--wide{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr;column-gap:var(--ui-space-5);padding:var(--ui-space-5) var(--ui-space-6)}.widget-weather--wide header{grid-column:1 / -1;display:flex;align-items:baseline;justify-content:space-between}.widget-weather--wide>div{display:flex;align-items:center;gap:var(--ui-space-4)}.widget-weather--wide .widget-weather__temperature{font-size:39px}.widget-weather--wide>div>i{font-size:33px}.widget-weather--wide footer{align-self:end;grid-column:1 / -1;color:var(--ui-widget-weather-text-secondary);font-size:9px}.widget-weather--medium{display:grid;grid-template-columns:102px minmax(0,1fr);gap:var(--ui-space-5);padding:var(--ui-space-6)}.widget-weather__current{display:flex;min-width:0;flex-direction:column;border-right:1px solid var(--ui-widget-weather-divider)}.widget-weather__current header span{display:flex;align-items:center;gap:var(--ui-space-1)}.widget-weather__current-icon{font-size:13px;filter:var(--ui-widget-weather-symbol-shadow-small)}.widget-weather--medium .widget-weather__temperature{margin-top:auto;margin-bottom:var(--ui-space-2);font-size:50px}.widget-weather__forecast--five{display:grid;min-width:0;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch}.widget-weather__forecast-day{display:grid;min-width:0;justify-items:center;align-content:center;gap:var(--ui-space-1)}.widget-weather__forecast-day small{color:var(--ui-widget-weather-text-secondary);font-size:10px;font-weight:var(--ui-font-weight-semibold)}.widget-weather__forecast-day i{font-size:23px;filter:var(--ui-widget-weather-symbol-shadow-small);line-height:1.25}.widget-weather__forecast-day b,.widget-weather__forecast-day em{font-size:10px;font-style:normal;line-height:1}.widget-weather__forecast-day b{font-weight:var(--ui-font-weight-semibold)}.widget-weather__forecast-day em{color:var(--ui-widget-weather-text-muted)}.widget-weather--large{display:grid;grid-template-rows:auto 96px 82px minmax(0,1fr);gap:var(--ui-space-4);padding:var(--ui-space-6)}.widget-weather__hero-head{min-width:0}.widget-weather__hero{display:flex;align-items:center;justify-content:space-between}.widget-weather__hero>div:first-child{display:grid;gap:var(--ui-space-2)}.widget-weather--large .widget-weather__temperature{font-size:72px}.widget-weather--large .widget-weather__symbol{padding-right:var(--ui-space-5);font-size:78px}.widget-weather--large>.widget-weather__forecast{padding:var(--ui-space-3) var(--ui-space-2);border:1px solid var(--ui-widget-weather-panel-border);border-radius:var(--ui-radius-md);background:var(--ui-widget-weather-panel);box-shadow:var(--ui-widget-weather-panel-shadow);backdrop-filter:blur(var(--ui-blur-sm))}.widget-weather__details{display:grid;min-height:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ui-space-3)}.widget-weather__details section{display:grid;min-width:0;align-content:center;gap:2px;padding:var(--ui-space-3);border:1px solid var(--ui-widget-weather-panel-border);border-radius:var(--ui-radius-md);background:var(--ui-widget-weather-panel);box-shadow:var(--ui-widget-weather-panel-shadow);backdrop-filter:blur(var(--ui-blur-sm))}.widget-weather__details small{color:var(--ui-widget-weather-text-secondary);font-size:9px;font-weight:var(--ui-font-weight-semibold)}.widget-weather__details strong{font-size:var(--ui-font-size-heading-sm);font-weight:var(--ui-font-weight-semibold)}.widget-weather__details span{overflow:hidden;color:var(--ui-widget-weather-text-muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.ui-widget-card--clock{border:0;background:var(--ui-widget-clock-bg);box-shadow:var(--ui-widget-card-shadow)}.widget-clock{color:var(--ui-widget-clock-text);background:var(--ui-widget-clock-bg)}.widget-clock:before{position:absolute;z-index:-1;inset:0;background:var(--ui-widget-clock-glow);content:""}.widget-clock--analog{display:grid;grid-template-rows:auto minmax(0,1fr);padding:var(--ui-space-5)}.widget-clock--analog>header{display:flex;align-items:baseline;justify-content:space-between;color:var(--ui-widget-clock-muted);font-size:var(--ui-font-size-caption)}.widget-clock--analog>header strong{color:var(--ui-widget-clock-text);font:var(--ui-font-size-label) var(--ui-font-mono)}.widget-clock--analog .widget-clock-face{align-self:center;justify-self:center}.widget-clock-face{position:relative;border:1px solid var(--ui-widget-clock-panel-border);border-radius:50%;background:var(--ui-widget-clock-panel);box-shadow:inset 0 0 0 7px var(--ui-widget-clock-inset),var(--ui-shadow-sm);backdrop-filter:blur(var(--ui-blur-sm))}.widget-clock-face--large{width:116px;height:116px}.widget-clock-face--small{width:64px;height:64px;border-width:3px}.widget-clock-face>i{position:absolute;inset:5px calc(50% - 1px) auto;height:48%;transform:rotate(var(--tick));transform-origin:50% 100%}.widget-clock-face>i:before{display:block;width:2px;height:5px;margin:0 auto;background:var(--ui-widget-clock-tick);content:""}.widget-clock-face>i.is-major:before{width:3px;height:8px;background:var(--ui-widget-clock-text)}.widget-clock-face--small>i:not(.is-major){display:none}.widget-clock-hand{--hand: 0deg;position:absolute;z-index:2;bottom:50%;left:50%;width:3px;height:29%;border-radius:var(--ui-radius-round);background:var(--ui-widget-clock-text);transform:translate(-50%) rotate(var(--hand));transform-origin:50% 100%}.widget-clock-hand.is-minute{width:2px;height:38%}.widget-clock-hand.is-second{z-index:4;width:1px;height:41%;background:var(--ui-widget-clock-highlight)}.widget-clock-face>b{position:absolute;z-index:5;top:50%;left:50%;width:8px;height:8px;border:2px solid var(--ui-widget-clock-highlight);border-radius:50%;background:var(--ui-widget-clock-text);transform:translate(-50%,-50%)}.widget-clock--mini,.widget-clock--wide{color:var(--ui-text-primary);background:var(--ui-widget-card-surface);border-radius:inherit}.widget-clock--mini{display:grid;place-items:center;padding:4px;background:var(--ui-color-white)}.widget-clock--mini .widget-clock-face{width:100%;height:100%;border-color:var(--ui-border);background:var(--ui-color-white);box-shadow:inset 0 0 0 6px #14161e0d}.widget-clock--mini .widget-clock-face>i:before{background:color-mix(in srgb,var(--ui-text-primary) 58%,transparent)}.widget-clock--mini .widget-clock-face>i.is-major:before,.widget-clock--mini .widget-clock-hand{background:var(--ui-text-primary)}.widget-clock--mini .widget-clock-hand.is-second{background:var(--ui-accent-palette-pink)}.widget-clock--mini .widget-clock-face>b{border-color:var(--ui-accent-palette-pink);background:var(--ui-text-primary)}.widget-clock--wide{display:grid;grid-template-columns:auto 1px minmax(0,1fr);align-items:center;gap:var(--ui-space-4);padding:var(--ui-space-4) var(--ui-space-6)}.widget-clock--wide strong{font-size:32px;font-weight:var(--ui-font-weight-light);letter-spacing:var(--ui-letter-spacing-tight);line-height:.9}.widget-clock__compact-divider{width:1px;height:34px;background:var(--ui-border)}.widget-clock__wide-date{display:grid;gap:var(--ui-space-1);min-width:0}.widget-clock__wide-date time{color:var(--ui-text-primary);font:var(--ui-font-size-subtitle) var(--ui-font-mono)}.widget-clock__wide-date span{display:flex;align-items:center;gap:var(--ui-space-1);color:var(--ui-text-secondary);font-size:11px}.widget-clock__wide-date b{display:grid;width:18px;height:18px;place-items:center;border-radius:var(--ui-radius-round);color:var(--ui-color-white);background:var(--ui-accent-palette-pink);font:10px var(--ui-font-mono)}.widget-clock--digital{display:grid;grid-template-rows:auto 1fr;padding:var(--ui-space-6)}.widget-clock--digital time{align-self:start;color:var(--ui-widget-clock-muted);font-size:var(--ui-font-size-caption)}.widget-clock--digital>div{display:flex;align-items:baseline;align-self:center;gap:var(--ui-space-2)}.widget-clock--digital strong{font-size:52px;font-weight:var(--ui-font-weight-light);letter-spacing:var(--ui-letter-spacing-tight);line-height:.84}.widget-clock--digital span{color:var(--ui-widget-clock-muted);font:var(--ui-font-size-body) var(--ui-font-mono)}.widget-clock--digital-wide{display:grid;grid-template-rows:auto 1fr;padding:var(--ui-space-8) var(--ui-space-10)}.widget-clock--digital-wide>header{display:flex;align-items:center;justify-content:space-between;color:var(--ui-widget-clock-muted);font-size:var(--ui-font-size-caption)}.widget-clock--digital-wide>header>span{padding:var(--ui-space-1) var(--ui-space-3);border-radius:var(--ui-radius-round);background:var(--ui-widget-clock-panel);font-size:10px}.widget-clock--digital-wide time,.widget-clock--digital-calendar time{color:var(--ui-widget-clock-muted);font-size:var(--ui-font-size-caption);font-weight:var(--ui-font-weight-medium)}.widget-clock--digital-wide>div{display:flex;align-items:end;gap:var(--ui-space-4)}.widget-clock--digital-wide strong{font-size:76px;font-weight:var(--ui-font-weight-light);letter-spacing:var(--ui-letter-spacing-tight);line-height:.77}.widget-clock--digital-calendar{display:grid;place-content:center;justify-items:center;gap:var(--ui-space-4);background:var(--ui-widget-clock-hero)}.widget-clock--digital-calendar:before{display:none}.widget-clock--digital-calendar>strong{color:var(--ui-widget-clock-text);font-size:62px;font-weight:var(--ui-font-weight-light);letter-spacing:var(--ui-letter-spacing-tight);line-height:.82}.widget-clock--digital-calendar>footer{display:flex;align-items:center;gap:var(--ui-space-5)}.widget-clock--digital-calendar footer>time{color:var(--ui-widget-clock-muted);font:var(--ui-font-size-subtitle) var(--ui-font-sans);white-space:nowrap}.widget-clock__week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--ui-space-1);width:136px}.widget-clock__week>span{display:grid;justify-items:center;gap:2px;color:var(--ui-widget-clock-muted)}.widget-clock__week small{font-size:8px}.widget-clock__week b{display:grid;width:17px;height:17px;place-items:center;border-radius:var(--ui-radius-round);color:inherit;font:9px var(--ui-font-mono)}.widget-clock__week .is-today b{color:var(--ui-text-on-accent);background:var(--ui-widget-clock-highlight)}.widget-clock--world{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:var(--ui-space-4);padding:var(--ui-space-5)}.widget-clock--world>article{display:grid;min-width:0;min-height:118px;grid-template-rows:auto 1fr auto;gap:var(--ui-space-3);padding:var(--ui-space-4);border:1px solid var(--ui-widget-clock-panel-border);border-radius:var(--ui-radius-md);background:var(--ui-widget-card-surface);box-shadow:var(--ui-shadow-inset-control)}.widget-clock--world article>header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--ui-space-2)}.widget-clock--world article>header span{overflow:hidden;color:var(--ui-widget-clock-text);font-size:var(--ui-font-size-body);font-weight:var(--ui-font-weight-medium);text-overflow:ellipsis;white-space:nowrap}.widget-clock--world article>header small{color:var(--ui-widget-clock-muted);font:10px var(--ui-font-mono)}.widget-clock--world article>strong{align-self:center;color:var(--ui-widget-clock-text);font:var(--ui-font-size-heading-lg) var(--ui-font-mono);letter-spacing:var(--ui-letter-spacing-tight)}.widget-clock--world article>em{color:var(--ui-widget-clock-muted);font-size:var(--ui-font-size-caption);font-style:normal}.ui-widget-card--calendar{border:0;color:var(--ui-widget-calendar-text);background:var(--ui-widget-calendar-bg)}.widget-calendar--micro{display:grid;align-content:center;justify-items:center;gap:var(--ui-space-1)}.widget-calendar--micro{gap:2px;padding:var(--ui-space-3);border-radius:inherit}.widget-calendar--micro b{color:var(--ui-widget-calendar-text);font-size:40px;font-weight:var(--ui-font-weight-light);letter-spacing:var(--ui-letter-spacing-tight);line-height:.84}.widget-calendar--micro span{color:var(--ui-widget-calendar-today);font-size:var(--ui-font-size-caption);font-weight:var(--ui-font-weight-semibold)}.widget-calendar--micro small{color:var(--ui-widget-calendar-muted);font-size:9px}.widget-calendar--wide{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:var(--ui-space-5);padding:var(--ui-space-4) var(--ui-space-6);border-radius:inherit}.widget-calendar--wide>b{color:var(--ui-widget-calendar-text);font-size:42px;font-weight:var(--ui-font-weight-light);letter-spacing:var(--ui-letter-spacing-tight);line-height:.8}.widget-calendar--wide>section{display:grid;align-content:center;gap:var(--ui-space-2)}.widget-calendar--wide section small{color:var(--ui-widget-calendar-muted);font-size:10px}.widget-calendar--wide section span{color:var(--ui-widget-calendar-today);font-size:var(--ui-font-size-subtitle);font-weight:var(--ui-font-weight-semibold)}.widget-calendar--small{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:var(--ui-space-2);padding:var(--ui-space-5)}.widget-calendar--small header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;color:var(--ui-widget-calendar-muted)}.widget-calendar--small header strong{color:var(--ui-widget-calendar-text);font-size:var(--ui-font-size-caption);text-align:center}.widget-calendar--small header span{font-size:var(--ui-font-size-heading);font-weight:var(--ui-font-weight-light);line-height:1}.widget-calendar__weekdays,.widget-calendar__small-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.widget-calendar__weekdays{color:var(--ui-widget-calendar-muted);font-size:8px;font-weight:var(--ui-font-weight-bold);text-align:center}.widget-calendar__small-grid{min-height:0;grid-auto-rows:minmax(0,1fr);align-items:center;justify-items:center;column-gap:1px}.widget-calendar--small .widget-calendar__day{width:auto;height:auto;min-width:16px;min-height:16px;aspect-ratio:1;font-size:9px}.widget-calendar--small .widget-calendar__day.is-empty{visibility:hidden}.widget-calendar__day{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;font-size:var(--ui-font-size-caption);font-weight:var(--ui-font-weight-medium)}.widget-calendar__day.is-today{color:var(--ui-color-white);background:var(--ui-widget-calendar-today)}.widget-calendar--medium{display:grid;grid-template-columns:112px minmax(0,1fr)}.widget-calendar--medium>section{position:relative;color:var(--ui-color-white);background:var(--ui-widget-calendar-accent)}:root[data-theme=dark] .widget-calendar--medium>section{background:var(--ui-widget-calendar-bg)}.widget-calendar--medium section header{display:grid;width:100%;grid-template-columns:auto 1fr auto;align-items:center;padding:var(--ui-space-5);font-size:var(--ui-font-size-caption);text-align:center}.widget-calendar--medium section small{position:absolute;bottom:18px;left:50%;font-size:var(--ui-font-size-body);font-weight:var(--ui-font-weight-bold);transform:translate(-50%)}.widget-calendar--medium section>b{position:absolute;top:59px;left:50%;font-size:61px;line-height:.82;transform:translate(-50%)}.widget-calendar__month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:center;justify-items:center;gap:2px 6px;padding:var(--ui-space-6) var(--ui-space-7)}.widget-calendar__month-grid .widget-calendar__day{width:22px;height:22px;font-size:11px}.widget-calendar__month-grid>i{grid-column:span 3;min-width:72px;padding:var(--ui-space-1) var(--ui-space-3);border-radius:var(--ui-radius-round);color:var(--ui-widget-calendar-muted);background:var(--ui-widget-calendar-chip);font-size:9px;font-style:normal;text-align:center}.widget-calendar--large{display:flex;flex-direction:column}.widget-calendar--large>header{position:relative;display:flex;height:82px;flex:0 0 82px;align-items:center;color:var(--ui-color-white);background:var(--ui-widget-calendar-accent)}:root[data-theme=dark] .widget-calendar--large>header{background:var(--ui-widget-calendar-bg)}.widget-calendar--large>header>b{margin-left:var(--ui-space-7);font-size:48px;line-height:.86}.widget-calendar--large>header>span{display:grid;gap:var(--ui-space-1);margin-left:var(--ui-space-7);font-size:var(--ui-font-size-body)}.widget-calendar--large>header small{font-size:var(--ui-font-size-body)}.widget-calendar--large>header em{margin-left:auto;margin-right:var(--ui-space-7);font-size:var(--ui-font-size-heading);font-style:normal;font-weight:var(--ui-font-weight-bold)}.widget-calendar--large>.widget-calendar__month-grid{flex:1;grid-auto-rows:minmax(0,1fr);gap:2px 8px;padding:var(--ui-space-7) 18px 19px}.widget-calendar--large .widget-calendar__day{width:34px;height:34px;font-size:23px}.widget-calendar--large .widget-calendar__month-grid>i{font-size:var(--ui-font-size-label)}.ui-widget-card--words{border-color:transparent}.widget-words{display:grid;width:100%;height:100%;box-sizing:border-box;min-width:0;min-height:0;grid-template-rows:auto minmax(0,1fr) auto;gap:var(--ui-space-4);padding:var(--ui-space-6);overflow:hidden;border-radius:inherit;color:var(--ui-widget-words-text);background:var(--ui-widget-words-hitokoto)}.widget-words--poetry{background:var(--ui-widget-words-poetry)}.widget-words header,.widget-words footer{display:flex;min-width:0;align-items:baseline;justify-content:space-between;gap:var(--ui-space-3)}.widget-words header strong{font-size:var(--ui-font-size-label);font-weight:var(--ui-font-weight-semibold)}.widget-words header small{min-width:0}.widget-words header small,.widget-words footer,.widget-words footer span{overflow:hidden;color:var(--ui-widget-words-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.widget-words blockquote{min-width:0;align-self:center;margin:0;overflow:hidden;font-size:18px;font-weight:var(--ui-font-weight-medium);letter-spacing:var(--ui-letter-spacing-tight);line-height:1.45;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}.widget-words footer b{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.widget-words--wide{grid-template-rows:auto minmax(0,1fr);gap:var(--ui-space-2);padding:var(--ui-space-3) var(--ui-space-4)}.widget-words--wide header{align-items:center}.widget-words--wide header strong{font-size:var(--ui-font-size-caption)}.widget-words--wide header small{max-width:52%;font-size:10px}.widget-words--wide blockquote{align-self:center;font-size:13px;line-height:1.35;word-break:break-all;-webkit-line-clamp:2}.widget-words--wide footer{display:none}.widget-words--square{padding:var(--ui-space-6)}.widget-words--medium{padding:var(--ui-space-7) var(--ui-space-8)}.widget-words--medium blockquote{max-width:780px;font-size:21px;line-height:1.35;-webkit-line-clamp:3}.widget-words--poetry blockquote{font-family:var(--ui-font-sans)}.widget-words--no-footer{grid-template-rows:auto minmax(0,1fr)}.widget-search{display:grid;width:100%;height:100%;min-width:0;min-height:0;box-sizing:border-box;gap:var(--ui-space-3);padding:var(--ui-space-5);overflow:hidden;border-radius:inherit;color:var(--ui-text-primary);background:var(--ui-accent-surface-soft)}.widget-search__mark{position:relative;display:block;width:22px;height:22px;flex:0 0 auto;border:3px solid var(--ui-accent);border-radius:50%}.widget-search__mark:after{position:absolute;right:-6px;bottom:-4px;width:9px;height:3px;border-radius:var(--ui-radius-round);background:var(--ui-accent);content:"";transform:rotate(45deg);transform-origin:left center}.widget-search__top{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:var(--ui-space-3)}.widget-search strong{min-width:0;font-size:var(--ui-font-size-body-lg);line-height:1.2}.widget-search small,.widget-search__hint{overflow:hidden;color:var(--ui-text-tertiary);font-size:var(--ui-font-size-caption);text-overflow:ellipsis;white-space:nowrap}.widget-search--xs{place-items:center;align-content:center;gap:var(--ui-space-2);padding:var(--ui-space-3);text-align:center}.widget-search--xs .widget-search__mark{width:24px;height:24px}.widget-search--xs strong{font-size:var(--ui-font-size-caption)}.widget-search--wide{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--ui-space-4)}.widget-search--wide>div{display:grid;min-width:0;gap:var(--ui-space-1)}.widget-search__arrow{color:var(--ui-accent);font-size:var(--ui-font-size-heading)}.widget-search--small{align-content:space-between}.widget-search--small .widget-search__top{justify-content:flex-start}.widget-search--small .widget-search__top small{margin-left:auto}.widget-search--small strong{font-size:var(--ui-font-size-heading)}.widget-search--medium,.widget-search--large{align-content:space-between;padding:var(--ui-space-6)}.widget-search--medium .widget-search__query,.widget-search--large .widget-search__query{overflow:hidden;font-size:clamp(var(--ui-font-size-body-lg),3vw,var(--ui-font-size-heading));font-weight:var(--ui-font-weight-semibold);text-overflow:ellipsis;white-space:nowrap}.widget-search--large{gap:var(--ui-space-5);padding:var(--ui-space-7)}.widget-search--large .widget-search__query{font-size:var(--ui-font-size-display-md)}.widget-search--large ul{display:grid;gap:var(--ui-space-2);margin:0;padding:var(--ui-space-4) 0 0;border-top:1px solid var(--ui-divider);color:var(--ui-text-secondary);font-size:var(--ui-font-size-caption);list-style:none}.widget-search--large li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.os-shell{position:relative;width:100%;height:100%;isolation:isolate;overflow:hidden;background:var(--os-wallpaper-base)}.os-kicker{margin-bottom:14px;color:var(--ui-text-tertiary);font:500 var(--ui-font-size-caption) / 1.2 var(--ui-font-mono);letter-spacing:.14em}.os-app-templates{position:absolute;width:0;height:0;overflow:hidden}.os-glass-surface{border:1px solid var(--ui-border);background:color-mix(in srgb,var(--ui-surface-solid) var(--ui-glass-opacity),transparent);box-shadow:var(--ui-shadow-window-highlight),var(--ui-shadow-sm);backdrop-filter:blur(var(--ui-blur-md)) saturate(135%);-webkit-backdrop-filter:blur(var(--ui-blur-md)) saturate(135%)}.os-menubar{position:absolute;z-index:10000;top:0;left:0;display:flex;width:100%;height:var(--os-menubar-height);align-items:center;justify-content:space-between;padding:0 var(--ui-space-7);border:0;color:var(--ui-text-on-image);background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;font-size:var(--ui-font-size-label)}.os-menubar-left,.os-menubar-right{display:flex;align-items:center;gap:var(--ui-topbar-gap);color:var(--ui-text-on-image);text-shadow:var(--ui-shadow-text-on-image)}.os-menubar-left strong{color:var(--ui-text-on-image);font-weight:var(--ui-font-weight-bold)}.os-menubar .ui-icon-button{color:var(--ui-text-on-image);text-shadow:var(--ui-shadow-text-on-image)}.os-menubar .ui-icon-button:hover,.os-menubar .ui-icon-button:focus-visible{color:var(--ui-text-on-image);background:var(--ui-surface-on-image-hover)}.os-mark{display:grid;width:var(--ui-topbar-brand-size);height:var(--ui-topbar-brand-size);place-items:center;padding:0;border:1px solid var(--ui-border);border-radius:var(--ui-radius-round);color:var(--ui-text-on-accent);background:var(--ui-accent);box-shadow:var(--ui-shadow-sm);font-size:0;line-height:1}.os-mark>span{display:block;width:var(--ui-space-4);height:var(--ui-space-4);aspect-ratio:1;border-radius:50%;background:var(--ui-color-white);box-shadow:0 0 0 1px var(--ui-border-on-image)}.os-mark:hover,.os-mark:focus-visible{background:var(--ui-accent-hover)}.os-app-menu{position:fixed;z-index:10050;top:calc(var(--os-menubar-height) + var(--ui-space-2));left:var(--ui-space-7);min-width:178px}.os-app-menu[hidden]{display:none}.os-clock{color:var(--ui-text-on-image);font:var(--ui-font-size-label) var(--ui-font-mono);font-variant-numeric:tabular-nums}.os-weather-summary{color:var(--ui-text-on-image-secondary);font:var(--ui-font-size-label) var(--ui-font-mono)}.os-desktop{position:absolute;inset:0;overflow:hidden}.os-wallpaper{position:absolute;z-index:0;inset:0;overflow:hidden;background:radial-gradient(circle at 51% 46%,rgba(var(--ui-accent-rgb),.16),transparent 28%),linear-gradient(142deg,var(--ui-wallpaper-base-start) 0%,var(--ui-wallpaper-base-mid) 55%,var(--ui-wallpaper-base-end) 100%);transition:background var(--ui-duration-slow)}.os-shell .os-wallpaper{background:var(--ui-wallpaper-gradient, var(--os-wallpaper-base))}.os-wallpaper:before{position:absolute;inset:-5%;content:"";background-image:var(--ui-wallpaper-image, none);background-position:center;background-size:cover;filter:blur(var(--ui-wallpaper-blur, 0px));transform:scale(1.05)}.os-shell .os-wallpaper__grain,.os-shell .os-wallpaper__orb{z-index:1}.os-shell[data-wallpaper=aurora] .os-wallpaper{background:radial-gradient(circle at 24% 21%,var(--ui-wallpaper-aurora-glow-one),transparent 27%),radial-gradient(circle at 78% 70%,var(--ui-wallpaper-aurora-glow-two),transparent 30%),linear-gradient(142deg,var(--ui-wallpaper-aurora-start) 0%,var(--ui-wallpaper-aurora-mid) 60%,var(--ui-wallpaper-aurora-end) 100%)}.os-shell[data-wallpaper=graphite] .os-wallpaper{background:radial-gradient(circle at 68% 24%,var(--ui-wallpaper-graphite-glow),transparent 28%),linear-gradient(142deg,var(--ui-wallpaper-graphite-start) 0%,var(--ui-wallpaper-graphite-mid) 64%,var(--ui-wallpaper-graphite-end) 100%)}.os-shell[data-wallpaper] .os-wallpaper{background:var(--ui-wallpaper-gradient, var(--os-wallpaper-base))}.os-wallpaper__orb{position:absolute;border-radius:50%;filter:blur(2px);opacity:.7}.os-wallpaper__orb--one{top:-24vw;left:26vw;width:70vw;height:70vw;border:1px solid var(--ui-wallpaper-orb-border);box-shadow:var(--ui-wallpaper-orb-shadow)}.os-wallpaper__orb--two{right:-15vw;bottom:-35vw;width:66vw;height:66vw;background:radial-gradient(circle at 35% 30%,rgba(var(--ui-accent-rgb),.19),transparent 66%)}.os-wallpaper__grain{position:absolute;inset:0;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.32'/%3E%3C/svg%3E");mix-blend-mode:soft-light}.os-desktop-icons{position:absolute;z-index:2;inset:0;pointer-events:none}.os-desktop-icon{position:absolute;display:grid;width:76px;height:76px;align-content:center;justify-items:center;gap:7px;padding:var(--ui-space-2) var(--ui-space-1);border-radius:12px;color:var(--ui-text-on-image);background:transparent;font-size:var(--ui-font-size-caption);text-shadow:var(--ui-shadow-text-on-image);pointer-events:auto;touch-action:none;transition:left var(--ui-duration-normal) var(--ui-ease-out),top var(--ui-duration-normal) var(--ui-ease-out),opacity var(--ui-duration-fast),transform var(--ui-duration-fast)}.os-desktop-icon:hover,.os-desktop-icon:focus-visible{background:var(--ui-surface-on-image-hover)}.os-desktop-icon.is-dragging{opacity:.36;transform:scale(.94)}.os-desktop-widgets{position:absolute;z-index:2;inset:0;pointer-events:none}.os-desktop-widget{position:absolute;border-radius:var(--ui-widget-radius);cursor:default;pointer-events:auto;touch-action:none;transition:left var(--ui-duration-normal) var(--ui-ease-out),top var(--ui-duration-normal) var(--ui-ease-out),opacity var(--ui-duration-fast),transform var(--ui-duration-fast)}.os-desktop-widget:hover{transform:translateY(-2px)}.os-desktop-widget.is-dragging{z-index:4;opacity:.42;transform:scale(.98)}.os-desktop-widgets.is-managing .os-widget__remove{opacity:1;transform:scale(1);visibility:visible;pointer-events:auto}.os-widget__remove{position:absolute;z-index:3;top:var(--ui-space-4);right:var(--ui-space-4);display:grid;width:24px;height:24px;padding:0;place-items:center;border:1px solid var(--ui-widget-remove-border);border-radius:50%;color:var(--ui-color-white);background:var(--ui-widget-remove-bg);line-height:0;opacity:0;transform:scale(.8);visibility:hidden;pointer-events:none;transition:opacity var(--ui-duration-fast),transform var(--ui-duration-fast),background var(--ui-duration-fast)}.os-widget__remove>.ui-icon{display:block;width:14px;height:14px;flex:none}.os-widget__remove:hover{background:var(--ui-widget-remove-bg-hover)}.os-desktop-grid-overlay,.os-desktop-drop-indicator{position:absolute;z-index:5;opacity:0;pointer-events:none;transition:opacity var(--ui-duration-fast)}.os-desktop-grid-overlay{z-index:1;inset:0}.os-desktop-grid-overlay.is-visible{opacity:.58}.os-desktop-grid-cell{position:absolute;box-sizing:border-box;border:1px solid var(--ui-widget-grid-line);border-radius:var(--ui-app-icon-radius, var(--ui-radius-lg));background:var(--ui-surface-on-image-hover);box-shadow:var(--ui-shadow-inset-control)}.os-desktop-drop-indicator{border:2px solid var(--ui-accent-border-strong);border-radius:var(--ui-widget-radius);background:var(--ui-accent-surface-now);box-shadow:var(--ui-shadow-focus),var(--ui-shadow-sm)}.os-desktop-drop-indicator.is-visible{opacity:1}.os-app-icon{position:relative;display:grid;width:46px;height:46px;place-items:center;overflow:hidden;border:0;border-radius:var(--ui-app-icon-radius, 30%);color:var(--ui-color-white);box-shadow:var(--ui-app-icon-shadow)}.os-app-icon:after{content:"";position:absolute;inset:0;background:var(--ui-app-icon-highlight);pointer-events:none}.os-app-icon .ui-icon{width:23px;height:23px}.os-app-icon__value{position:relative;z-index:1;color:var(--ui-color-white);font-weight:var(--ui-font-weight-bold);text-shadow:none}.os-footer{position:absolute;z-index:2;right:var(--ui-space-7);bottom:var(--ui-space-4);left:var(--ui-space-7);display:flex;align-items:center;justify-content:space-between;gap:var(--ui-space-6);color:var(--ui-text-on-image-muted);font:var(--ui-font-size-caption) / 1.3 var(--ui-font-mono);pointer-events:none}.os-footer-filings{display:flex;flex-wrap:wrap;gap:var(--ui-space-5)}.os-footer a{color:inherit;text-decoration:none;pointer-events:auto}.os-footer a:hover{color:var(--ui-text-on-image)}.os-footer-filings a{display:inline-flex;align-items:center;gap:var(--ui-space-2)}.os-footer-filings img{width:14px;height:14px;object-fit:contain}.os-app-icon__weather-value{font-size:var(--ui-font-size-heading);line-height:1;letter-spacing:-.04em}.os-app-icon__calendar-value{display:grid;width:100%;height:100%;align-content:center;justify-items:center;gap:1px;line-height:1}.os-app-icon__calendar-value small{font:var(--ui-font-weight-semibold) var(--ui-font-size-caption) / 1 var(--ui-font-sans)}.os-app-icon__calendar-value strong{font:var(--ui-font-weight-bold) var(--ui-font-size-heading-lg) / .95 var(--ui-font-sans);letter-spacing:-.06em}.os-app-icon__clock-face{position:relative;display:block;width:68%;height:68%;border:2px solid color-mix(in srgb,var(--ui-color-white) 86%,transparent);border-radius:50%;background:color-mix(in srgb,var(--ui-color-white) 18%,transparent);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--ui-color-white) 12%,transparent)}.os-app-icon__clock-hand{position:absolute;bottom:50%;left:calc(50% - 1px);width:2px;height:34%;border-radius:var(--ui-radius-round);background:var(--ui-color-white);transform-origin:50% 100%}.os-app-icon__clock-hand--hour{height:27%}.os-app-icon__clock-hand--second{width:1px;height:39%;background:var(--ui-accent)}.os-app-icon__clock-face b{position:absolute;inset:calc(50% - 3px);border-radius:50%;background:var(--ui-color-white)}.os-app-icon--about{background:linear-gradient(145deg,var(--ui-color-app-about-start),var(--ui-color-app-about-end))}.os-app-icon--projects{background:linear-gradient(145deg,var(--ui-color-app-projects-start),var(--ui-color-app-projects-end))}.os-app-icon--portfolio{background:linear-gradient(145deg,var(--ui-color-app-portfolio-start),var(--ui-color-app-portfolio-end))}.os-app-icon--contact{background:linear-gradient(145deg,var(--ui-color-app-contact-start),var(--ui-color-app-contact-end))}.os-app-icon--calendar{background:linear-gradient(145deg,var(--ui-color-app-calendar-start),var(--ui-color-app-calendar-end))}.os-app-icon--clock{background:linear-gradient(145deg,var(--ui-color-app-clock-start),var(--ui-color-app-clock-end))}.os-app-icon--calculator{background:linear-gradient(145deg,var(--ui-color-app-calculator-start),var(--ui-color-app-calculator-end))}.os-app-icon--settings{background:linear-gradient(145deg,var(--ui-color-app-settings-start),var(--ui-color-app-settings-end))}.os-app-icon--weather{background:linear-gradient(145deg,var(--ui-color-app-weather-start),var(--ui-color-app-weather-end))}.os-app-icon--search{background:linear-gradient(145deg,var(--ui-color-app-search-start),var(--ui-color-app-search-end))}.os-app-icon--hitokoto{background:linear-gradient(145deg,var(--ui-color-app-hitokoto-start),var(--ui-color-app-hitokoto-end))}.os-app-icon--poetry{background:linear-gradient(145deg,var(--ui-color-app-poetry-start),var(--ui-color-app-poetry-end))}.os-app-icon--widgets{background:linear-gradient(145deg,var(--ui-color-app-about-start),var(--ui-color-app-projects-end))}.os-dock{position:fixed;z-index:100;left:50%;bottom:var(--ui-space-8);display:flex;align-items:center;gap:var(--ui-space-2);padding:var(--ui-space-3) var(--ui-space-4);transform:translate(-50%);border-radius:var(--ui-radius-xl);transition:border-color var(--ui-duration-fast),box-shadow var(--ui-duration-fast),transform var(--ui-duration-fast)}.os-dock.is-drop-target{border-color:var(--ui-accent-border-strong);background:var(--ui-accent-surface-now);box-shadow:var(--ui-shadow-window-highlight),var(--ui-shadow-sm),var(--ui-shadow-focus);transform:translate(-50%) translateY(-3px)}.os-dock.is-drop-target:before{position:absolute;bottom:calc(100% + var(--ui-space-3));left:50%;padding:var(--ui-space-2) var(--ui-space-4);border:1px solid var(--ui-accent-border-now);border-radius:var(--ui-radius-round);color:var(--ui-text-on-image);background:var(--ui-accent-surface-now);box-shadow:var(--ui-shadow-sm);content:"松开以加入 Dock";font-size:var(--ui-font-size-caption);pointer-events:none;transform:translate(-50%);white-space:nowrap}.os-dock-item{position:relative;display:grid;width:54px;height:54px;place-items:center;border-radius:var(--ui-radius-md);color:var(--ui-text-secondary);background:transparent}.os-dock-item>.os-app-icon{width:44px;height:44px;border:0;border-radius:var(--ui-app-icon-radius, 30%);box-shadow:var(--ui-app-icon-shadow);transition:transform var(--ui-duration-fast) var(--ui-ease-out)}.os-dock-item>.os-app-icon .ui-icon{width:var(--ui-icon-size-lg);height:var(--ui-icon-size-lg)}.os-dock-divider{width:1px;height:32px;margin:0 var(--ui-space-2);background:var(--ui-border-subtle)}.os-dock-custom-apps{display:contents}.os-app-icon--add{color:var(--ui-text-on-accent);background:var(--ui-accent);box-shadow:var(--ui-app-icon-shadow)}.os-app-icon--custom{color:var(--ui-text-on-image);background:transparent;box-shadow:none;text-shadow:var(--ui-shadow-text-on-image);font-size:var(--ui-font-size-heading);font-weight:var(--ui-font-weight-bold)}.os-app-icon--custom:after{display:none}.os-app-icon--custom img{width:100%;height:100%;object-fit:contain;border-radius:var(--ui-app-icon-radius, 30%)}.os-dock-item:hover>.os-app-icon,.os-dock-item:focus-visible>.os-app-icon{transform:translateY(-3px)}.os-tooltip{position:absolute;bottom:calc(100% + var(--ui-space-3));left:50%;padding:var(--ui-space-3) var(--ui-space-4);border:1px solid var(--ui-border-strong);border-radius:var(--ui-radius-sm);color:var(--ui-text-primary);background:var(--ui-surface-solid);box-shadow:var(--ui-shadow-sm);font-size:var(--ui-font-size-caption);opacity:0;pointer-events:none;transform:translate(-50%,4px);transition:opacity var(--ui-duration-fast),transform var(--ui-duration-fast);white-space:nowrap}.os-dock-item:hover .os-tooltip,.os-dock-item:focus-visible .os-tooltip{opacity:1;transform:translate(-50%)}.os-window-layer{position:absolute;z-index:3;inset:var(--os-menubar-height) 0 0;pointer-events:none}.os-window{position:absolute;display:grid;grid-template-rows:var(--os-window-titlebar) minmax(0,1fr);min-width:0;min-height:0;overflow:hidden;border:1px solid var(--ui-border-strong);border-radius:var(--ui-radius-xl);color:var(--ui-text-primary);background:color-mix(in srgb,var(--ui-surface-solid) var(--ui-glass-opacity),transparent);box-shadow:var(--ui-shadow-lg),var(--ui-shadow-window-highlight);backdrop-filter:blur(var(--ui-blur-lg)) saturate(130%);-webkit-backdrop-filter:blur(var(--ui-blur-lg)) saturate(130%);pointer-events:auto;transform-origin:50% 100%;transition:opacity var(--ui-duration-normal),transform var(--ui-duration-normal) var(--ui-ease-out),box-shadow var(--ui-duration-normal)}.os-window.is-opening{opacity:0;transform:translateY(18px) scale(.96)}.os-window.is-minimized{opacity:0;pointer-events:none;transform:translateY(80px) scale(.82)}.os-window:not(.is-active){box-shadow:var(--ui-shadow-md)}.os-window.is-maximized,.os-window.is-compact{border-radius:0}.os-window__titlebar{position:relative;display:grid;grid-template-columns:96px 1fr 96px;align-items:center;padding:0 14px;border-bottom:1px solid var(--ui-divider);cursor:default;touch-action:none}.os-window__controls{display:flex;align-items:center;gap:8px}.os-window__control{position:relative;width:13px;height:13px;padding:0;border-radius:50%}.os-window__control .ui-icon{position:absolute;inset:2px;width:9px;height:9px;color:var(--ui-window-control-icon);opacity:0}.os-window__controls:hover .ui-icon{opacity:1}.os-window__control--close{background:var(--ui-color-traffic-close)}.os-window__control--minimize{background:var(--ui-color-traffic-minimize)}.os-window__control--maximize{background:var(--ui-color-traffic-maximize)}.os-window__title{overflow:hidden;font-size:var(--ui-font-size-caption);font-weight:var(--ui-font-weight-semibold);text-align:center;text-overflow:ellipsis;white-space:nowrap}.os-window__content{container-type:inline-size;min-width:0;min-height:0;overflow:hidden}.os-window__content>:first-child{min-width:0;min-height:0}.os-web-app-frame{display:block;width:100%;height:100%;border:0;background:var(--ui-surface-solid)}.os-window__resize{position:absolute;z-index:4;touch-action:none}.os-window__resize[data-edge=n],.os-window__resize[data-edge=s]{left:12px;width:calc(100% - 24px);height:10px}.os-window__resize[data-edge=n]{top:0;cursor:ns-resize}.os-window__resize[data-edge=s]{bottom:0;cursor:ns-resize}.os-window__resize[data-edge=e],.os-window__resize[data-edge=w]{top:12px;width:10px;height:calc(100% - 24px)}.os-window__resize[data-edge=e]{right:0;cursor:ew-resize}.os-window__resize[data-edge=w]{left:0;cursor:ew-resize}.os-window__resize[data-edge=ne],.os-window__resize[data-edge=nw],.os-window__resize[data-edge=se],.os-window__resize[data-edge=sw]{width:18px;height:18px}.os-window__resize[data-edge=ne]{top:0;right:0;cursor:nesw-resize}.os-window__resize[data-edge=nw]{top:0;left:0;cursor:nwse-resize}.os-window__resize[data-edge=se]{right:0;bottom:0;cursor:nwse-resize}.os-window__resize[data-edge=sw]{bottom:0;left:0;cursor:nesw-resize}.app-view{display:grid;width:100%;height:100%;min-width:0;min-height:0}.app-sidebar{min-width:0;padding:28px 22px;border-right:1px solid var(--ui-divider);background:color-mix(in srgb,var(--ui-surface-2) 45%,transparent)}.app-content{display:grid;min-width:0;min-height:0;align-content:start;gap:var(--ui-layout-gap-lg);padding:34px 36px;overflow:auto}.app-content--narrow>*{width:min(100%,720px)}.app-eyebrow{color:var(--ui-text-tertiary);font:var(--ui-font-weight-bold) var(--ui-font-size-caption)/1.2 var(--ui-font-mono);letter-spacing:.1em;text-transform:uppercase}.app-section-heading{margin-bottom:14px}.app-section-heading h3{margin-top:5px;font-size:var(--ui-font-size-heading);letter-spacing:var(--ui-letter-spacing-tight)}.os-panel-layer{position:absolute;z-index:10010;inset:var(--os-menubar-height) 0 0;pointer-events:none}.os-system-panel{position:absolute;padding:18px;border:1px solid var(--ui-border-strong);border-radius:var(--ui-radius-xl);background:color-mix(in srgb,var(--ui-surface-solid) var(--ui-glass-opacity),transparent);box-shadow:var(--ui-shadow-lg),var(--ui-shadow-panel-highlight);backdrop-filter:blur(var(--ui-blur-lg)) saturate(135%);-webkit-backdrop-filter:blur(var(--ui-blur-lg)) saturate(135%);pointer-events:auto;animation:os-panel-in var(--ui-duration-normal) var(--ui-ease-out)}@keyframes os-panel-in{0%{opacity:0;transform:translateY(-8px) scale(.98)}}.os-control-center{top:10px;right:10px;width:min(350px,calc(100vw - 20px))}.os-panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--ui-space-8)}.os-panel-header h2{margin-top:5px;font-size:var(--ui-font-size-heading-lg);letter-spacing:var(--ui-letter-spacing-tight)}.os-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ui-space-4);margin-top:var(--ui-space-8)}.os-control-grid>:only-child{grid-column:1 / -1}.os-control-grid button{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;min-height:62px;padding:10px;border-radius:var(--ui-radius-md);color:var(--ui-text-secondary);background:var(--ui-surface-2);text-align:left}.os-control-grid button>.ui-icon{width:var(--ui-icon-size-md);justify-self:center}.os-control-grid button.is-active{color:var(--ui-text-on-accent);background:var(--ui-accent)}.os-control-grid strong,.os-control-grid small,.os-control-grid span{display:block}.os-control-grid span{font-size:var(--ui-font-size-body);font-weight:var(--ui-font-weight-semibold)}.os-control-grid small{margin-top:var(--ui-space-1);opacity:.9;font-size:var(--ui-font-size-label);font-weight:var(--ui-font-weight-regular)}.os-control-settings{margin-top:10px;overflow:hidden;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md)}.os-control-settings>div,.os-control-settings>label{display:flex;min-height:50px;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--ui-divider)}.os-control-settings>div:last-child,.os-control-settings>label:last-child{border-bottom:0}.os-control-setting>span{display:grid;gap:3px;min-width:0}.os-control-setting strong{color:var(--ui-text-primary);font-size:var(--ui-font-size-label);font-weight:var(--ui-font-weight-medium)}.os-control-setting small{color:var(--ui-text-secondary);font-size:var(--ui-font-size-caption);font-weight:var(--ui-font-weight-regular)}.os-control-setting--range{display:grid!important;width:100%;box-sizing:border-box;align-items:stretch!important;justify-content:stretch!important;grid-template-columns:minmax(0,1fr);gap:8px}.os-control-setting--range .ui-slider{width:100%}.os-control-setting--range output{color:var(--ui-text-secondary);font:var(--ui-font-size-caption) var(--ui-font-mono)}.os-control-setting .ui-switch[aria-checked=false]+*{opacity:.55}.os-boot-cover{position:absolute;z-index:20000;inset:0;display:grid;place-content:center;justify-items:center;gap:14px;color:var(--ui-text-boot);background:var(--ui-boot-surface);transition:opacity .42s var(--ui-ease-standard),visibility .42s}.os-boot-cover.is-ready{visibility:hidden;opacity:0}.os-boot-mark{display:grid;width:48px;height:48px;place-items:center;border-radius:15px;color:var(--ui-text-on-accent);background:var(--ui-accent);font-size:var(--ui-font-size-heading-lg);font-weight:var(--ui-font-weight-bold);box-shadow:var(--ui-shadow-boot-mark)}.os-boot-cover>span{font:var(--ui-font-size-caption) var(--ui-font-mono);letter-spacing:.12em;text-transform:uppercase}@media(max-width:640px){.os-weather-summary{display:none}.os-desktop-icons{inset:0}.os-footer{display:none}.os-window-layer{inset:var(--os-menubar-height) 0 80px}.os-dock{bottom:var(--ui-space-5);padding:var(--ui-space-2)}.os-dock-item{width:48px;height:48px}.os-dock-item>.os-app-icon{width:40px;height:40px}}.os-window.is-compact .os-window__resize{display:none}@container (max-width: 640px){.app-content{padding:25px 20px}}.os-context-menu,.os-app-menu{display:grid;gap:2px;padding:6px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);color:var(--ui-text-primary);background:color-mix(in srgb,var(--ui-surface-solid) var(--ui-glass-opacity),transparent);box-shadow:var(--ui-shadow-panel);backdrop-filter:blur(var(--ui-blur-lg)) saturate(150%);-webkit-backdrop-filter:blur(var(--ui-blur-lg)) saturate(150%)}.os-context-menu{position:fixed;z-index:10050;min-width:178px;max-width:min(260px,calc(100vw - 20px));animation:context-menu-in var(--ui-duration-fast) var(--ui-ease-out) both}.os-context-menu-item,.os-app-menu button,.os-app-menu a{display:flex;min-height:32px;align-items:center;gap:9px;padding:7px 10px;border-radius:var(--ui-radius-sm);color:var(--ui-text-primary);background:transparent;font:inherit;font-size:var(--ui-font-size-caption);text-align:left;text-decoration:none;cursor:pointer}.os-context-menu-item:hover,.os-context-menu-item:focus-visible,.os-app-menu button:hover,.os-app-menu button:focus-visible,.os-app-menu a:hover,.os-app-menu a:focus-visible{color:var(--ui-accent-hover);background:var(--ui-surface-hover);outline:none;box-shadow:none}.os-context-menu-item:hover .ui-icon,.os-context-menu-item:focus-visible .ui-icon{color:inherit}.os-context-menu-item .ui-icon{flex:0 0 auto;width:var(--ui-icon-size-sm);height:var(--ui-icon-size-sm);color:var(--ui-text-secondary);transition:color var(--ui-duration-fast) var(--ui-ease-out)}.os-context-menu-separator{height:1px;margin:var(--ui-space-2) var(--ui-space-3);background:var(--ui-divider)}@keyframes context-menu-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}#cursor{position:fixed;z-index:10086;width:22px;height:22px;border:1px solid var(--ui-cursor-border);border-radius:var(--ui-radius-round);opacity:.86;pointer-events:none;background:var(--ui-cursor-surface);box-shadow:var(--ui-cursor-shadow);transition:var(--ui-duration-normal) var(--ui-ease-standard);transition-property:background,opacity,transform}#cursor.hidden{opacity:0}#cursor.active{opacity:.96;transform:scale(.65)}@media(max-width:720px){#cursor{display:none}}.about-app{width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;color:var(--ui-text-primary);background:transparent}.about-document{width:100%;max-width:1040px;height:100%;min-width:0;min-height:0;margin:0 auto;overflow:auto;padding:var(--ui-layout-padding-block) var(--ui-layout-padding-inline)}.about-document>.app-eyebrow{margin-bottom:var(--ui-layout-gap-md)}.about-profile-header{display:flex;align-items:center;gap:var(--ui-layout-gap-sm);min-width:0}.about-avatar{width:76px;height:76px;flex:0 0 auto;overflow:hidden;border:1px solid var(--ui-border-on-image);border-radius:var(--ui-radius-lg);background:var(--ui-accent);box-shadow:var(--ui-shadow-about-avatar)}.about-avatar img{display:block;width:100%;height:100%;object-fit:cover}.about-profile-header h1{margin:0 0 var(--ui-space-2);color:var(--ui-text-primary);font-size:var(--ui-font-size-title);line-height:1.1;letter-spacing:var(--ui-letter-spacing-title)}.about-profile-header p{color:var(--ui-text-secondary);font-size:var(--ui-font-size-body)}.about-profile-header h1{color:var(--ui-accent)}.about-status{display:inline-flex;align-items:center;gap:var(--ui-space-3);margin-left:auto;color:var(--ui-text-secondary);font-size:var(--ui-font-size-caption);white-space:nowrap}.about-status i{width:var(--ui-space-3);height:var(--ui-space-3);border-radius:var(--ui-radius-round);background:var(--ui-success);box-shadow:0 0 0 var(--ui-space-2) color-mix(in srgb,var(--ui-success) 16%,transparent)}.about-rule{height:1px;margin:var(--ui-layout-gap-lg) 0 var(--ui-layout-gap-md);background:var(--ui-divider)}.about-lede{width:min(100%,760px);max-width:100%;overflow-wrap:anywhere;color:var(--ui-text-primary);font-size:var(--ui-font-size-body-lg);line-height:1.6}.about-stats{display:flex;flex-wrap:wrap;gap:var(--ui-layout-gap-lg);margin:var(--ui-layout-gap-lg) 0 var(--ui-layout-gap-lg)}.about-stat{display:grid;min-width:110px;gap:var(--ui-space-2)}.about-stat strong{color:var(--ui-accent);font-size:var(--ui-font-size-heading-lg);line-height:1;letter-spacing:var(--ui-letter-spacing-tight)}.about-stat span{color:var(--ui-text-secondary);font-size:var(--ui-font-size-caption)}.about-section{padding-top:var(--ui-layout-gap-lg);border-top:1px solid var(--ui-divider)}.about-section h2{margin-top:var(--ui-space-3);color:var(--ui-text-primary);font-size:var(--ui-font-size-section);letter-spacing:var(--ui-letter-spacing-tight)}.about-toolkit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ui-layout-gap-sm);margin-top:var(--ui-layout-gap-md)}.about-toolkit-card{min-width:0;min-height:120px;padding:var(--ui-layout-gap-md);border-top:2px solid var(--ui-accent-border-now)}.about-toolkit-card h3{margin:0;color:var(--ui-text-primary);font-size:var(--ui-font-size-body-lg);line-height:1.35}.about-toolkit-card p{margin-top:var(--ui-layout-gap-xs);color:var(--ui-text-secondary);font-size:var(--ui-font-size-caption);line-height:1.55}.about-bottom-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr);gap:var(--ui-layout-gap-sm);margin-top:var(--ui-layout-gap-lg)}.about-readme,.about-skills{min-width:0;padding:var(--ui-layout-gap-md)}.about-readme h2,.about-skills h2{margin-top:var(--ui-space-3);color:var(--ui-text-primary);font-size:var(--ui-font-size-section);line-height:1.35;letter-spacing:var(--ui-letter-spacing-tight)}.about-readme>p:not(.app-eyebrow){margin-top:var(--ui-space-5);color:var(--ui-text-secondary);font-size:var(--ui-font-size-body);line-height:var(--ui-line-height-body)}.about-file-lines{display:grid;gap:var(--ui-space-2);margin-top:var(--ui-space-6);padding-top:var(--ui-space-5);border-top:1px solid var(--ui-divider);color:var(--ui-text-secondary);font:var(--ui-font-size-caption) / 1.5 var(--ui-font-mono)}.about-skill-list{display:flex;flex-wrap:wrap;gap:var(--ui-space-3);margin-top:var(--ui-space-7);padding-top:var(--ui-space-5);border-top:1px solid var(--ui-divider)}.about-skill-list span{padding:var(--ui-space-2) var(--ui-space-4);border:1px solid var(--ui-accent-border-now);border-radius:var(--ui-radius-round);color:var(--ui-accent);background:var(--ui-accent-surface-soft);font-size:var(--ui-font-size-caption)}.about-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--ui-space-5);margin-top:var(--ui-space-7);color:var(--ui-text-tertiary);font:var(--ui-font-size-caption) var(--ui-font-mono)}@container (max-width: 760px){.about-document{padding:var(--ui-space-8) var(--ui-space-7) var(--ui-space-10)}.about-profile-header{align-items:flex-start;flex-wrap:wrap}.about-status{width:100%;margin-left:0}.about-toolkit-grid,.about-bottom-grid{grid-template-columns:1fr}}@container (max-width: 420px){.about-stats{gap:var(--ui-space-6)}.about-footer{align-items:flex-start;flex-direction:column}}.calculator-app{display:grid;grid-template-rows:minmax(82px,1fr) auto minmax(210px,1fr);width:100%;height:100%;min-height:0;gap:var(--ui-space-3);padding:var(--ui-space-6);color:var(--ui-text-primary);background:transparent}.calculator-display{display:flex;min-width:0;min-height:0;flex-direction:column;justify-content:flex-end;gap:var(--ui-space-3);padding:var(--ui-space-5) var(--ui-space-2) var(--ui-space-7);text-align:right}.calculator-display span{min-height:var(--ui-font-size-body);overflow:hidden;color:var(--ui-text-tertiary);font:var(--ui-font-size-body) var(--ui-font-mono);text-overflow:ellipsis;white-space:nowrap}.calculator-display strong{display:block;min-width:0;overflow:hidden;color:var(--ui-text-primary);font:var(--ui-font-weight-light) var(--ui-font-size-display-sm) / 1 var(--ui-font-sans);letter-spacing:var(--ui-letter-spacing-tight);text-overflow:ellipsis;white-space:nowrap}.calculator-memory{padding:var(--ui-space-3) var(--ui-space-1);border-top:1px solid var(--ui-divider);color:var(--ui-text-tertiary);font:var(--ui-font-size-caption) var(--ui-font-mono);letter-spacing:.12em}.calculator-keypad{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);min-height:0;gap:var(--ui-space-3)}.calculator-key{min-width:0;min-height:0;border:0;border-radius:var(--ui-radius-md);color:var(--ui-text-primary);background:var(--ui-surface-2);box-shadow:var(--ui-shadow-control);font-size:var(--ui-font-size-body-lg);transition:background var(--ui-duration-fast),transform var(--ui-duration-fast)}.calculator-key:hover{background:var(--ui-surface-hover)}.calculator-key:active{transform:scale(.96)}.calculator-key-muted{color:var(--ui-text-secondary);font-size:var(--ui-font-size-body-lg)}.calculator-key-operator,.calculator-key-equals{color:var(--ui-text-on-accent);background:var(--ui-accent)}.calculator-key-operator:hover,.calculator-key-equals:hover{background:var(--ui-accent-hover)}.calculator-key-zero{grid-column:span 2}@container (max-width: 460px){.calculator-app{padding:var(--ui-space-5)}.calculator-display strong{font-size:var(--ui-font-size-heading-lg)}.calculator-keypad{gap:var(--ui-space-2)}}.calendar-app{width:100%;height:100%;min-width:0;min-height:0;overflow:auto;color:var(--ui-text-primary);background:transparent}.calendar-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,220px);gap:var(--ui-space-8);height:100%;min-height:0;padding:var(--ui-space-9) var(--ui-space-11) var(--ui-space-10)}.calendar-month-view{display:flex;min-width:0;min-height:0;flex-direction:column}.calendar-heading{display:flex;align-items:center;justify-content:center;gap:var(--ui-space-9);margin-bottom:var(--ui-space-7)}.calendar-heading>div{display:grid;justify-items:center;gap:var(--ui-space-1)}.calendar-heading strong{min-width:150px;color:var(--ui-text-primary);font-size:var(--ui-font-size-heading);font-weight:var(--ui-font-weight-semibold);text-align:center}.calendar-heading small,.calendar-weekdays,.calendar-day-lunar,.calendar-day-event,.calendar-today-kicker,.calendar-today-weekday,.calendar-today-lunar,.calendar-today-meta{color:var(--ui-text-tertiary);font:var(--ui-font-size-caption) var(--ui-font-mono)}.calendar-heading button{display:grid;width:var(--ui-control-size-icon);height:var(--ui-control-size-icon);place-items:center;padding:0;border-radius:var(--ui-radius-round);color:var(--ui-text-secondary);background:transparent;font-size:var(--ui-font-size-heading)}.calendar-heading .ui-button{min-height:var(--ui-control-size-icon);border:0;box-shadow:none}.calendar-panel-heading .ui-button{min-height:var(--ui-control-height-sm);padding-inline:var(--ui-space-4)}.calendar-heading button:hover{color:var(--ui-text-primary);background:var(--ui-surface-hover)}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--ui-space-2)}.calendar-weekdays{margin-bottom:var(--ui-space-2);text-align:center}.calendar-grid{grid-auto-rows:minmax(56px,1fr);flex:1 1 auto;min-height:0}.calendar-day{display:grid;min-width:0;min-height:0;align-content:start;justify-items:start;gap:var(--ui-space-1);padding:var(--ui-space-3);border:1px solid transparent;border-radius:var(--ui-radius-sm);color:var(--ui-text-secondary);background:transparent;text-align:left}.calendar-day-number{color:inherit;font-size:var(--ui-font-size-label);line-height:var(--ui-line-height-heading)}.calendar-day-event{max-width:100%;overflow:hidden;color:var(--ui-accent);text-overflow:ellipsis;white-space:nowrap}.calendar-day-event.is-important{color:var(--ui-danger)}.calendar-day.has-event{background:var(--ui-surface-2)}button.calendar-day:hover{border-color:var(--ui-border);color:var(--ui-text-primary);background:var(--ui-surface-hover)}.calendar-day.is-today{border-color:var(--ui-accent);color:var(--ui-text-on-accent);background:var(--ui-accent);font-weight:var(--ui-font-weight-semibold)}.calendar-day.is-selected:not(.is-today){border-color:var(--ui-accent);color:var(--ui-text-primary);background:var(--ui-accent-surface-soft)}.calendar-day.is-today .calendar-day-lunar,.calendar-day.is-today .calendar-day-event,.calendar-day.is-selected .calendar-day-lunar,.calendar-day.is-selected .calendar-day-event{color:currentColor;opacity:.82}.calendar-day.is-empty{pointer-events:none}.calendar-today-panel{min-width:0;min-height:0;padding:var(--ui-space-7)}.calendar-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--ui-space-4)}.calendar-today-date{display:block;margin-top:var(--ui-space-8);color:var(--ui-text-primary);font-size:var(--ui-font-size-heading);line-height:var(--ui-line-height-heading)}.calendar-today-weekday,.calendar-today-lunar{display:block;margin-top:var(--ui-space-2)}.calendar-today-rule{height:1px;margin:var(--ui-space-7) 0;background:var(--ui-divider)}.calendar-today-event{display:block;min-height:var(--ui-font-size-body);margin-top:var(--ui-space-4);color:var(--ui-accent);font-size:var(--ui-font-size-body);line-height:var(--ui-line-height-body)}.calendar-today-meta{display:grid;gap:var(--ui-space-5);margin:var(--ui-space-8) 0 0}.calendar-today-meta div{display:flex;align-items:baseline;justify-content:space-between;gap:var(--ui-space-3)}.calendar-today-meta dt{color:var(--ui-text-tertiary)}.calendar-today-meta dd{margin:0;color:var(--ui-text-secondary);text-align:right}@container (max-width: 760px){.calendar-content{grid-template-columns:1fr;height:auto;padding:var(--ui-space-7)}.calendar-today-panel{order:-1}.calendar-grid{grid-auto-rows:minmax(48px,1fr)}}.contact-app{display:grid;width:100%;height:100%;min-width:0;min-height:0;grid-template-rows:auto minmax(0,1fr) auto auto;gap:var(--ui-space-8);padding:var(--ui-space-10) var(--ui-space-11) var(--ui-space-7);overflow:auto;color:var(--ui-text-primary)}.contact-app__header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--ui-space-8);padding-bottom:var(--ui-space-7);border-bottom:1px solid var(--ui-divider)}.contact-app__header h1{margin-top:var(--ui-space-2);font-size:var(--ui-font-size-title);letter-spacing:var(--ui-letter-spacing-title)}.contact-app__header>div:first-child>p:last-child{max-width:560px;margin-top:var(--ui-space-3);color:var(--ui-text-secondary);font-size:var(--ui-font-size-body-lg);line-height:var(--ui-line-height-body)}.contact-app__availability{display:grid;justify-items:end;gap:var(--ui-space-2);color:var(--ui-text-tertiary);font-size:var(--ui-font-size-caption);white-space:nowrap}.contact-app__availability>span{display:inline-flex;align-items:center;gap:var(--ui-space-2);color:var(--ui-text-secondary);font-weight:var(--ui-font-weight-semibold)}.contact-app__availability i{width:var(--ui-space-2);height:var(--ui-space-2);border-radius:var(--ui-radius-round);background:var(--ui-success);box-shadow:0 0 0 4px color-mix(in srgb,var(--ui-success) 14%,transparent)}.contact-app__direct{display:grid;min-height:230px;grid-template-columns:minmax(0,1fr) 212px;overflow:hidden;border:0;border-radius:0;background:transparent;box-shadow:none}.contact-app__direct-copy{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:var(--ui-space-9) var(--ui-space-9) var(--ui-space-9) 0}.contact-app__direct-copy .app-eyebrow{color:var(--ui-accent)}.contact-app__direct-copy h2{margin-top:var(--ui-space-3);font-size:var(--ui-font-size-heading-lg);letter-spacing:var(--ui-letter-spacing-tight);line-height:var(--ui-line-height-heading)}.contact-app__direct-copy>p:last-of-type{max-width:500px;margin-top:var(--ui-space-3);color:var(--ui-text-secondary);font-size:var(--ui-font-size-body);line-height:var(--ui-line-height-body)}.contact-app__email-actions{display:flex;min-width:0;margin-top:var(--ui-space-7)}.contact-app__email{display:grid;min-width:0;flex:1;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--ui-space-2);padding:var(--ui-space-2) var(--ui-space-3) var(--ui-space-2) var(--ui-space-4);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface-solid);box-shadow:var(--ui-shadow-inset-control);transition:border-color var(--ui-duration-fast),background var(--ui-duration-fast),transform var(--ui-duration-fast)}.contact-app__email:hover,.contact-app__email:focus-within{border-color:var(--ui-accent-border-strong);background:var(--ui-accent-surface-soft);transform:translateY(-1px)}.contact-app__email-link{display:grid;min-width:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--ui-space-3);color:var(--ui-text-primary);text-decoration:none}.contact-app__email-link:focus-visible{outline:none}.contact-app__email-icon,.contact-app__channel-icon,.contact-app__qr-icon{display:grid;place-items:center;color:var(--ui-accent);background:var(--ui-accent-surface-soft)}.contact-app__email-icon{width:var(--ui-control-size-icon);height:var(--ui-control-size-icon);border-radius:var(--ui-radius-sm)}.contact-app__email-link>span:nth-child(2){display:grid;min-width:0;gap:2px}.contact-app__email-link small{color:var(--ui-text-tertiary);font:var(--ui-font-size-caption) var(--ui-font-mono)}.contact-app__email-link strong{overflow:hidden;font-size:var(--ui-font-size-body);text-overflow:ellipsis;white-space:nowrap}.contact-app__email-link>.ui-icon{color:var(--ui-text-secondary)}.contact-app__email .ui-icon-button{width:var(--ui-control-height-sm);height:var(--ui-control-height-sm)}.contact-app__qr{display:grid;align-content:center;gap:var(--ui-space-5);padding:var(--ui-space-7);border-width:0 0 0 1px;border-radius:0;background:color-mix(in srgb,var(--ui-surface-solid) 42%,transparent)}.contact-app__qr-head{display:flex;align-items:center;gap:var(--ui-space-3)}.contact-app__qr-icon{width:var(--ui-control-height-lg);height:var(--ui-control-height-lg);border-radius:var(--ui-radius-sm)}.contact-app__qr-head>div{display:grid;gap:2px}.contact-app__qr-head strong{font-size:var(--ui-font-size-label)}.contact-app__qr-head small{color:var(--ui-text-tertiary);font:var(--ui-font-size-caption) var(--ui-font-mono)}.contact-app__qr-codes{display:grid;gap:var(--ui-space-4)}.contact-app__qr-codes figure{display:grid;justify-items:center;margin:0}.contact-app__qr-codes img{width:128px;height:128px;padding:var(--ui-space-2);border-radius:var(--ui-radius-md);background:var(--ui-color-white);box-shadow:var(--ui-shadow-sm)}.contact-app__channels{min-width:0}.contact-app__channels>header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--ui-space-5)}.contact-app__channels h2{margin-top:var(--ui-space-1);font-size:var(--ui-font-size-section);letter-spacing:var(--ui-letter-spacing-tight)}.contact-app__channels>header>span{color:var(--ui-text-tertiary);font:var(--ui-font-size-caption) var(--ui-font-mono)}.contact-app__channel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ui-space-3);margin-top:var(--ui-space-4)}.contact-app__channel{min-height:70px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface-2);box-shadow:var(--ui-shadow-inset-card)}.contact-app__channel:hover{border-color:var(--ui-border-strong)}.contact-app__channel-icon{width:var(--ui-control-size-icon);height:var(--ui-control-size-icon);border-radius:var(--ui-radius-sm)}.contact-app__channel>.ui-icon{color:var(--ui-text-secondary)}.contact-app__channel:hover>.ui-icon{color:var(--ui-accent)}.contact-app__footer{display:flex;justify-content:space-between;gap:var(--ui-space-5);padding-top:var(--ui-space-1);color:var(--ui-text-tertiary);font:var(--ui-font-size-caption) var(--ui-font-mono)}@container (max-width: 680px){.contact-app{padding:var(--ui-space-8) var(--ui-space-7)}.contact-app__header{align-items:flex-start;flex-direction:column}.contact-app__availability{justify-items:start}.contact-app__direct{grid-template-columns:1fr;overflow:visible}.contact-app__qr{border-width:1px 0 0;border-radius:0}.contact-app__qr-codes{grid-template-columns:repeat(auto-fit,minmax(128px,1fr))}}@container (max-width: 520px){.contact-app__direct-copy{padding:var(--ui-space-7) 0}.contact-app__channel-grid{grid-template-columns:1fr}.contact-app__footer{align-items:flex-start;flex-direction:column}}.clock-app{display:grid;width:100%;height:100%;min-height:0;align-content:center;justify-items:center;padding:var(--ui-space-12);color:var(--ui-text-primary);background:transparent;text-align:center}.clock-display{margin-top:var(--ui-space-7);color:var(--ui-text-primary);font:var(--ui-font-weight-light) var(--ui-font-size-display-md) / 1 var(--ui-font-mono);letter-spacing:-.06em;font-variant-numeric:tabular-nums}.clock-date{margin-top:var(--ui-space-7);color:var(--ui-text-secondary);font-size:var(--ui-font-size-body-lg)}.clock-rule{width:min(100%,270px);height:1px;margin:var(--ui-space-9) 0 var(--ui-space-5);background:var(--ui-divider)}.clock-zone{color:var(--ui-text-tertiary);font:var(--ui-font-size-caption) var(--ui-font-mono)}@container (max-width: 520px){.clock-display{font-size:var(--ui-font-size-heading-lg)}.clock-app{padding:var(--ui-space-8)}}.portfolio-app{display:flex;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;color:var(--ui-text-primary);background:transparent}.portfolio-workspace{display:grid;grid-template-columns:196px minmax(0,1fr);width:100%;min-width:0;min-height:0;flex:1 1 auto}.portfolio-project-sidebar{display:flex;min-width:0;min-height:0;flex-direction:column;gap:var(--ui-space-2);overflow-y:auto;padding:var(--ui-space-5) var(--ui-space-4) var(--ui-space-7);border-right:1px solid var(--ui-divider);background:var(--ui-surface-2)}.portfolio-view-switcher{margin-bottom:var(--ui-space-5)}.portfolio-sidebar-label{margin:0 var(--ui-space-4) var(--ui-space-3);color:var(--ui-text-tertiary);font:var(--ui-font-size-caption) var(--ui-font-mono);letter-spacing:.1em}.portfolio-project-item{grid-template-columns:22px minmax(0,1fr);gap:var(--ui-space-2) var(--ui-space-3);padding:var(--ui-space-5) var(--ui-space-4)}.portfolio-project-item>span{grid-row:span 2}.portfolio-pdf-link{display:inline-block;margin:var(--ui-space-7) var(--ui-space-4) 0;color:var(--ui-accent);font-size:var(--ui-font-size-caption);text-decoration:none}.portfolio-main{display:flex;min-width:0;min-height:0;flex-direction:column;overflow:auto;background:transparent}.portfolio-project{display:none;width:100%;height:100%;min-width:0;min-height:0;flex-direction:column;overflow:auto;padding:var(--ui-space-6) clamp(var(--ui-space-5),3vw,var(--ui-space-9)) var(--ui-space-8)}.portfolio-project.is-active{display:flex}.portfolio-project-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--ui-space-5);margin-bottom:var(--ui-space-4)}.portfolio-project-heading h2{margin:var(--ui-space-2) 0 var(--ui-space-1);color:var(--ui-text-primary);font-size:var(--ui-font-size-heading-lg);letter-spacing:var(--ui-letter-spacing-tight)}.portfolio-project-heading>div:first-child>p:last-child,.portfolio-project-description{color:var(--ui-text-secondary);font-size:var(--ui-font-size-body);line-height:var(--ui-line-height-body)}.portfolio-project-meta{display:flex;max-width:280px;flex-wrap:wrap;justify-content:flex-end;gap:var(--ui-space-2) var(--ui-space-5);color:var(--ui-text-tertiary);font:var(--ui-font-size-caption) / var(--ui-line-height-body) var(--ui-font-mono);text-align:right}.portfolio-reader-view,.portfolio-gallery-view{display:none}.portfolio-app[data-view-mode=reader] .portfolio-reader-view{display:flex;min-width:0;min-height:0;flex:1 1 auto;flex-direction:column}.portfolio-app[data-view-mode=gallery] .portfolio-gallery-view{display:block}.portfolio-mode-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--ui-space-4);margin-bottom:var(--ui-space-5);color:var(--ui-text-tertiary);font:var(--ui-font-size-caption) var(--ui-font-mono);letter-spacing:var(--ui-letter-spacing-kicker)}.portfolio-reader-stage{display:grid;min-width:0;min-height:360px;flex:1 1 560px;place-items:center;overflow:hidden;padding:var(--ui-space-2);border:1px solid var(--ui-divider);background:var(--ui-surface-1)}.portfolio-reader-stage img{display:block;width:100%;height:100%;min-height:0;max-height:100%;object-fit:contain}.portfolio-reader-stage iframe{display:block;width:100%;height:100%;min-height:0;border:0;background:var(--ui-surface-1)}.portfolio-reader-controls{display:flex;flex:0 0 auto;align-items:center;justify-content:center;gap:var(--ui-space-5);padding:var(--ui-space-2);color:var(--ui-text-tertiary);font:var(--ui-font-size-caption) var(--ui-font-mono)}.portfolio-reader-controls button{display:grid;width:var(--ui-control-height-sm);height:var(--ui-control-height-sm);min-width:var(--ui-control-height-sm);place-items:center;padding:0;border:0;border-radius:var(--ui-radius-round);color:var(--ui-text-secondary);background:transparent;box-shadow:none;font-size:var(--ui-font-size-heading);line-height:1}.portfolio-reader-controls button:hover,.portfolio-reader-controls button:focus-visible{color:var(--ui-text-primary);background:transparent}.portfolio-reader-controls b{color:var(--ui-text-primary)}.portfolio-filmstrip{display:flex;flex:0 0 auto;gap:var(--ui-space-1);max-width:100%;overflow-x:auto;padding:var(--ui-space-1) 0 var(--ui-space-2)}.portfolio-thumb{width:96px;min-width:96px;padding:var(--ui-space-1);border:1px solid transparent;border-radius:var(--ui-radius-xs);background:transparent;opacity:.58}.portfolio-thumb:hover,.portfolio-thumb.is-active{opacity:1}.portfolio-thumb img,.portfolio-thumb iframe,.portfolio-gallery-grid img,.portfolio-gallery-grid iframe,.portfolio-list-view img,.portfolio-list-view iframe{display:block;width:100%}.portfolio-gallery-grid iframe,.portfolio-list-view iframe{aspect-ratio:16 / 9;border:0;background:var(--ui-surface-1);pointer-events:none}.portfolio-thumb img{aspect-ratio:16 / 9;object-fit:cover}.portfolio-thumb iframe{height:auto;aspect-ratio:16 / 9;pointer-events:none}.portfolio-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--ui-space-5)}.portfolio-gallery-grid button{position:relative;display:block;width:100%;padding:0;overflow:hidden;border:1px solid var(--ui-divider);border-radius:var(--ui-radius-md);background:var(--ui-surface-1);box-shadow:var(--ui-shadow-sm);cursor:pointer;transition:border-color var(--ui-duration-fast) var(--ui-ease-standard),transform var(--ui-duration-fast) var(--ui-ease-standard),box-shadow var(--ui-duration-fast) var(--ui-ease-standard)}.portfolio-gallery-grid button:hover,.portfolio-gallery-grid button:focus-visible{border-color:var(--ui-accent);box-shadow:var(--ui-shadow-md);transform:translateY(-2px)}.portfolio-gallery-grid img{aspect-ratio:16 / 9;object-fit:cover}.portfolio-gallery-grid span{position:absolute;right:var(--ui-space-2);bottom:var(--ui-space-1);color:var(--ui-color-white);text-shadow:0 1px 3px var(--ui-color-black);font:var(--ui-font-size-caption) var(--ui-font-mono)}.portfolio-project-description{max-width:620px;margin-top:var(--ui-space-4)}.portfolio-list-view{display:none;width:min(100%,1040px);margin:0 auto}.portfolio-app[data-view-mode=list] .portfolio-list-view{display:block}.portfolio-app[data-view-mode=list] .portfolio-reader-view,.portfolio-app[data-view-mode=list] .portfolio-gallery-view{display:none}.portfolio-list-item{margin:0 0 var(--ui-space-8)}.portfolio-list-item figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:var(--ui-space-4);margin-bottom:var(--ui-space-2);color:var(--ui-text-tertiary);font-size:var(--ui-font-size-caption)}.portfolio-list-item figcaption>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portfolio-list-item button{display:block;width:100%;padding:0;overflow:hidden;border:1px solid var(--ui-divider);border-radius:var(--ui-radius-md);background:var(--ui-surface-1);box-shadow:var(--ui-shadow-sm);cursor:pointer;transition:border-color var(--ui-duration-fast) var(--ui-ease-standard),box-shadow var(--ui-duration-fast) var(--ui-ease-standard)}.portfolio-list-item button:hover,.portfolio-list-item button:focus-visible{border-color:var(--ui-accent);box-shadow:var(--ui-shadow-md)}.portfolio-list-view img{height:auto;background:var(--ui-surface-1)}@container (max-width: 760px){.portfolio-workspace{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.portfolio-project-sidebar{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--ui-space-2);overflow-x:auto;overflow-y:hidden;padding:var(--ui-space-3);border-right:0;border-bottom:1px solid var(--ui-divider)}.portfolio-view-switcher{grid-column:1 / -1;margin:0}.portfolio-sidebar-label,.portfolio-project-sidebar .portfolio-pdf-link{display:none}.portfolio-project-item{min-width:155px}.portfolio-main{min-height:0}.portfolio-project{padding:var(--ui-space-7) var(--ui-space-6) var(--ui-space-12)}.portfolio-project-heading{align-items:flex-start;flex-direction:column}.portfolio-project-meta{justify-content:flex-start;text-align:left}.portfolio-reader-stage{min-height:220px}.portfolio-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ui-space-3)}.portfolio-thumb{width:96px;min-width:96px}}.projects-app{position:relative;display:flex;width:100%;height:100%;min-width:0;min-height:0;flex-direction:column;overflow:hidden;color:var(--ui-text-primary);background:transparent}.projects-sidebar-label{color:var(--ui-text-tertiary);font:var(--ui-font-size-caption) var(--ui-font-mono)}.projects-workspace{display:grid;grid-template-columns:210px minmax(0,1fr);flex:1 1 auto;min-width:0;min-height:0}.projects-sidebar{min-width:0;min-height:0;overflow-y:auto;padding:var(--ui-space-9) var(--ui-space-5) var(--ui-space-12);border-right:1px solid var(--ui-divider);background:var(--ui-surface-2)}.projects-sidebar-label{margin:0 var(--ui-space-4) var(--ui-space-5);letter-spacing:.1em}.projects-project-item{grid-template-columns:22px minmax(0,1fr);gap:var(--ui-space-2) var(--ui-space-3);padding:var(--ui-space-5) var(--ui-space-4)}.projects-project-item>span{grid-row:span 2}.projects-main{display:flex;min-width:0;min-height:0;flex-direction:column;overflow:hidden;background:var(--ui-surface-1)}.projects-frame-heading{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:var(--ui-space-5);min-height:var(--ui-control-height-md);padding:0 var(--ui-space-7);color:var(--ui-text-secondary);border-bottom:1px solid var(--ui-divider);background:var(--ui-surface-2);font-size:var(--ui-font-size-label)}.projects-frame-actions{display:inline-flex;align-items:center;gap:var(--ui-space-3)}.projects-frame-heading a{color:var(--ui-accent);font-size:var(--ui-font-size-caption);text-decoration:none}.projects-frame-heading a:hover{color:var(--ui-accent-hover)}.projects-frame{display:block;width:100%;height:100%;min-height:0;flex:1 1 auto;border:0;background:var(--ui-color-white)}.projects-preview-dialog{z-index:4;inset:0;grid-template-rows:minmax(0,1fr);width:auto;height:auto;max-width:none;max-height:none;margin:0;border:0;border-radius:0;box-shadow:none}.projects-preview-dialog__content{position:relative;min-height:0}.projects-preview-dialog__frame{min-height:0}.projects-preview-dialog__content>.ui-icon-button{position:absolute;z-index:1;top:var(--ui-space-4);right:var(--ui-space-4)}@container (max-width: 760px){.projects-workspace{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.projects-sidebar{display:flex;gap:var(--ui-space-2);overflow-x:auto;overflow-y:hidden;padding:var(--ui-space-3);border-right:0;border-bottom:1px solid var(--ui-divider)}.projects-sidebar-label{display:none}.projects-project-item{min-width:145px}.projects-main{min-height:0}}.settings-app{grid-template-columns:220px minmax(0,1fr)}.settings-sidebar{position:relative;display:flex;flex-direction:column}.settings-sidebar__title{display:flex;align-items:center;gap:11px;margin-bottom:28px}.settings-sidebar__title>.ui-icon{width:26px;height:26px;color:var(--ui-accent)}.settings-sidebar h1{margin-top:2px;font-size:var(--ui-font-size-heading-lg);letter-spacing:var(--ui-letter-spacing-tight)}.settings-sidebar nav{display:grid;gap:4px}.settings-sidebar nav button{min-height:38px;padding:0 12px;border-radius:var(--ui-radius-sm);color:var(--ui-text-secondary);background:transparent;text-align:left;font-size:var(--ui-font-size-label);font-weight:var(--ui-font-weight-medium)}.settings-sidebar nav button:hover{background:var(--ui-surface-hover)}.settings-sidebar nav button.is-active{color:var(--ui-text-primary);background:var(--ui-accent-surface-soft)}.settings-sidebar__version{margin-top:auto;color:var(--ui-text-tertiary);font:var(--ui-font-size-caption)/var(--ui-line-height-body) var(--ui-font-mono)}.settings-content{display:block;overflow:auto}.settings-content>section{width:min(100%,650px)}.settings-content .app-page-header h2{margin-top:5px;font-size:var(--ui-font-size-display-sm);letter-spacing:var(--ui-letter-spacing-title)}.settings-content .app-page-header>p:last-child{margin-top:8px;color:var(--ui-text-secondary);font-size:var(--ui-font-size-label)}.settings-section{display:grid;gap:10px;margin-top:28px}.settings-section>h3{padding-left:2px;color:var(--ui-text-secondary);font-size:var(--ui-font-size-caption);font-weight:var(--ui-font-weight-semibold)}.settings-color-card{padding:14px}.settings-color-grid{display:flex;gap:12px}.settings-color-grid button{position:relative;width:28px;height:28px;border:3px solid transparent;border-radius:50%;background:var(--swatch);background-clip:padding-box}.settings-color-grid button.is-active:after{content:"";position:absolute;inset:-6px;border:2px solid var(--swatch);border-radius:50%}.settings-wallpaper-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--ui-space-3)}.settings-wallpaper-grid button{display:grid;gap:8px;padding:var(--ui-space-2) var(--ui-space-2) var(--ui-space-3);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);color:var(--ui-text-secondary);background:var(--ui-surface-2);font-size:var(--ui-font-size-caption);text-align:left;transition:border-color var(--ui-duration-fast),box-shadow var(--ui-duration-fast),transform var(--ui-duration-fast)}.settings-wallpaper-grid button:hover,.settings-wallpaper-grid button:focus-visible,.settings-wallpaper-grid button.is-active{border-color:var(--ui-accent);box-shadow:var(--ui-shadow-focus)}.settings-wallpaper-grid button:hover,.settings-wallpaper-grid button:focus-visible{transform:translateY(-1px)}.settings-wallpaper-grid button>span{height:76px;border-radius:var(--ui-radius-sm);background:var(--wallpaper-preview);background-size:cover;background-position:center}.settings-wallpaper-grid--images button>span{background-image:var(--wallpaper-preview-image)}.settings-upload-card{display:flex;align-items:center;justify-content:space-between;gap:var(--ui-space-5);padding:var(--ui-space-5)}.settings-upload-card strong{font-size:var(--ui-font-size-body-lg)}.settings-upload-card p{margin-top:var(--ui-space-2);color:var(--ui-text-tertiary);font-size:var(--ui-font-size-caption);line-height:var(--ui-line-height-body)}.settings-upload-card input{max-width:190px;color:var(--ui-text-secondary);font-size:var(--ui-font-size-caption)}.settings-app-visibility{overflow:hidden}.settings-app-visibility__header,.settings-app-visibility__row{display:grid;grid-template-columns:minmax(0,1fr) 52px 52px;align-items:center;gap:var(--ui-space-3);padding:var(--ui-space-3) var(--ui-space-4)}.settings-app-visibility__header{color:var(--ui-text-tertiary);background:var(--ui-surface-3);font:var(--ui-font-size-caption) var(--ui-font-mono)}.settings-app-visibility__row+.settings-app-visibility__row{border-top:1px solid var(--ui-divider)}.settings-app-visibility__row>.ui-switch{justify-self:center}.settings-app-visibility__app{display:flex;min-width:0;align-items:center;gap:var(--ui-space-3);color:var(--ui-text-primary);font-size:var(--ui-font-size-label)}.settings-app-visibility__icon{display:grid;width:26px;height:26px;flex:0 0 auto;place-items:center;border-radius:var(--ui-app-icon-radius, var(--ui-radius-xs));color:var(--ui-color-white)}.settings-app-visibility__icon .ui-icon{width:var(--ui-icon-size-sm);height:var(--ui-icon-size-sm)}.settings-app-visibility__unavailable{justify-self:center;color:var(--ui-text-tertiary)}.settings-range-control{display:grid;grid-template-columns:auto 108px;align-items:center;gap:10px;color:var(--ui-text-tertiary);font:var(--ui-font-size-caption) var(--ui-font-mono)}.settings-range-control .ui-slider{width:108px}.settings-system-card{display:flex;align-items:center;gap:16px;margin-top:28px;padding:18px}.settings-system-mark{display:grid;width:52px;height:52px;place-items:center;border-radius:16px;color:var(--ui-text-on-accent);background:var(--ui-accent)}.settings-system-card h3{font-size:var(--ui-font-size-section)}.settings-system-card p{margin-top:4px;color:var(--ui-text-tertiary);font-size:var(--ui-font-size-caption)}.settings-changelog{display:grid;gap:var(--ui-space-9);margin-top:var(--ui-space-9)}.settings-changelog__archive{display:grid;gap:var(--ui-space-9)}.settings-changelog__archive[hidden]{display:none}.settings-changelog>.ui-button{justify-self:start}.settings-system-changelog{display:grid;gap:var(--ui-space-7);margin-top:var(--ui-space-12);padding-top:var(--ui-space-9);border-top:1px solid var(--ui-divider)}.settings-system-changelog>header{display:grid;gap:var(--ui-space-2)}.settings-system-changelog>header h3{color:var(--ui-text-primary);font-size:var(--ui-font-size-heading)}.settings-system-changelog>header>p:last-child{color:var(--ui-text-secondary);font-size:var(--ui-font-size-body)}.settings-release{padding:var(--ui-space-9);border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);background:var(--ui-surface-2);box-shadow:var(--ui-shadow-inset-card)}.settings-release.is-current{border-color:var(--ui-accent-border-now);background:var(--ui-accent-surface-soft)}.settings-release__meta{display:flex;align-items:baseline;justify-content:space-between;gap:var(--ui-space-6)}.settings-release__meta strong{font-size:var(--ui-font-size-heading);font-weight:var(--ui-font-weight-bold)}.settings-release__meta time{color:var(--ui-text-tertiary);font:var(--ui-font-size-caption) var(--ui-font-mono)}.settings-release__summary{margin-top:var(--ui-space-5);color:var(--ui-text-secondary);font-size:var(--ui-font-size-body)}.settings-release section{margin-top:var(--ui-space-8)}.settings-release h3{margin-bottom:var(--ui-space-4);color:var(--ui-text-primary);font-size:var(--ui-font-size-body-lg)}.settings-release ul{display:grid;gap:var(--ui-space-4);padding-left:var(--ui-space-8);color:var(--ui-text-secondary);font-size:var(--ui-font-size-body);line-height:var(--ui-line-height-body)}@container (max-width: 720px){.settings-app{grid-template-columns:1fr}.settings-sidebar{display:none}.settings-wallpaper-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-upload-card{align-items:flex-start;flex-direction:column}}.shortcut-app{display:grid;min-width:0;min-height:0;align-content:start;gap:var(--ui-space-5);overflow:auto;padding:var(--ui-space-7) var(--ui-space-8);color:var(--ui-text-primary);background:transparent}.shortcut-intro{margin:0;color:var(--ui-text-secondary);font-size:var(--ui-font-size-body)}.shortcut-form{display:grid;align-content:start;gap:var(--ui-space-5)}.shortcut-form>.ui-field+.ui-field{margin-top:0}.shortcut-form .ui-field__label small{color:var(--ui-text-tertiary);font-size:var(--ui-font-size-caption);font-weight:var(--ui-font-weight-regular)}.shortcut-form__error{min-height:1.2em;margin:0;color:var(--ui-danger);font-size:var(--ui-font-size-caption)}.shortcut-form__actions{display:flex;justify-content:flex-end;gap:var(--ui-space-3)}.weather-app{position:relative;isolation:isolate;display:flex;flex-direction:column;color:var(--ui-text-primary);background:transparent}.weather-toolbar,.weather-content{position:relative;z-index:2}.weather-toolbar{z-index:5;background:color-mix(in srgb,var(--ui-surface-solid) 76%,transparent);backdrop-filter:blur(var(--ui-blur-md))}.weather-search-results{position:absolute;z-index:50;top:calc(100% + 7px);right:0;left:0;max-height:290px;overflow:auto;padding:var(--ui-space-2);border:1px solid var(--ui-border-strong);border-radius:var(--ui-radius-md);background:transparent;box-shadow:var(--ui-shadow-lg)}.weather-search-result{display:grid;width:100%;grid-template-columns:minmax(0,1fr) auto;gap:var(--ui-space-4);padding:var(--ui-space-4);border-radius:var(--ui-radius-sm);color:var(--ui-text-primary);background:transparent;text-align:left}.weather-search-result:hover{background:var(--ui-surface-hover)}.weather-search-result strong,.weather-search-result small{display:block}.weather-search-result strong{overflow:hidden;font-size:var(--ui-font-size-label);text-overflow:ellipsis;white-space:nowrap}.weather-search-result small,.weather-search-result>span:last-child{margin-top:var(--ui-space-1);color:var(--ui-text-secondary);font-size:var(--ui-font-size-caption)}[data-weather-refresh].is-loading .ui-icon{animation:weather-spin .9s linear infinite}.weather-content{min-height:0;flex:1;overflow:auto;padding:var(--ui-app-padding-block) var(--ui-app-padding-inline) 34px}.weather-hero{position:relative;display:flex;min-height:288px;flex-direction:column;justify-content:space-between;overflow:hidden;padding:var(--ui-space-9) 27px 21px;border:1px solid var(--ui-weather-border);border-radius:var(--ui-radius-lg);color:var(--ui-weather-text-primary);background:var(--ui-weather-hero-overlay);box-shadow:var(--ui-shadow-md);backdrop-filter:blur(var(--ui-blur-sm))}.weather-hero>:not(.weather-scene){position:relative;z-index:6}.weather-scene{position:absolute;z-index:0;inset:0;overflow:hidden;background:var(--ui-weather-clear);transition:background .5s var(--ui-ease-standard)}.weather-scene:after{position:absolute;inset:0;content:"";background:var(--ui-weather-scene-overlay)}.weather-particles{position:absolute;z-index:4;inset:0;width:100%;height:100%}.weather-scene-glow,.weather-scene-moon,.weather-scene-fog{position:absolute;display:block;pointer-events:none}.weather-scene-glow{top:-100px;right:8%;width:270px;height:270px;border-radius:50%;opacity:0;background:var(--ui-weather-sun-glow);transition:opacity .5s}.weather-scene-moon{top:34px;right:12%;width:67px;height:67px;border-radius:50%;opacity:0;background:var(--ui-weather-moon);box-shadow:var(--ui-weather-moon-shadow);transition:opacity .5s}.weather-scene-fog{z-index:5;inset:38% -15% 0;opacity:0;background:var(--ui-weather-fog);filter:blur(12px);animation:weather-fog-drift 10s ease-in-out infinite alternate}.weather-scene[data-scene=clear] .weather-scene-glow{opacity:1}.weather-scene[data-scene=night]{background:var(--ui-weather-night)}.weather-scene[data-scene=night] .weather-scene-moon{opacity:1}.weather-scene[data-scene=rain],.weather-scene[data-scene=storm]{background:var(--ui-weather-rain)}.weather-scene[data-scene=storm]:after{background:var(--ui-weather-storm-overlay)}.weather-scene[data-scene=snow]{background:var(--ui-weather-snow)}.weather-scene[data-scene=fog],.weather-scene[data-scene=cloudy]{background:var(--ui-weather-cloudy)}.weather-scene[data-scene=fog] .weather-scene-fog{opacity:1}.weather-hero__top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--ui-space-8)}.weather-location-line{display:flex;align-items:baseline;gap:var(--ui-space-4)}.weather-location-line strong{font-size:var(--ui-font-size-section);font-weight:var(--ui-font-weight-semibold)}.weather-location-line span,.weather-hero__top p,.weather-hero__top time{color:var(--ui-weather-text-secondary);font-size:var(--ui-font-size-caption)}.weather-hero__top p{margin-top:var(--ui-space-2)}.weather-hero__main{display:flex;align-items:center;gap:34px;margin:var(--ui-space-8) 0}.weather-temperature{display:flex;align-items:flex-start}.weather-temperature strong{font-size:var(--ui-font-size-data-display);font-weight:var(--ui-font-weight-light);line-height:.8;letter-spacing:-.09em}.weather-temperature sup{margin:1px 0 0 var(--ui-space-3);font-size:var(--ui-font-size-title);font-weight:var(--ui-font-weight-regular)}.weather-condition{display:flex;align-items:center;gap:var(--ui-space-6)}.weather-condition>span{font-size:var(--ui-icon-size-xl);filter:var(--ui-shadow-weather-icon)}.weather-condition>div{display:grid;gap:var(--ui-space-1)}.weather-condition strong{font-size:var(--ui-font-size-heading);font-weight:var(--ui-font-weight-medium)}.weather-condition small{color:var(--ui-weather-text-secondary);font-size:var(--ui-font-size-caption)}.weather-condition b{color:var(--ui-weather-text-primary);font-weight:var(--ui-font-weight-semibold)}.weather-hero__metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border-top:1px solid var(--ui-border-on-image)}.weather-hero__metrics>span{display:grid;gap:var(--ui-space-1);padding:13px var(--ui-space-7) 0;border-left:1px solid var(--ui-border-weather-divider-soft)}.weather-hero__metrics>span:first-child{padding-left:0;border-left:0}.weather-hero__metrics small{color:var(--ui-weather-text-muted);font-size:var(--ui-font-size-caption)}.weather-hero__metrics strong{font-size:var(--ui-font-size-label);font-weight:var(--ui-font-weight-semibold)}.weather-section{margin-top:17px;padding:var(--ui-space-8);background:color-mix(in srgb,var(--ui-surface-solid) 91%,transparent);backdrop-filter:blur(var(--ui-blur-sm))}.weather-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--ui-space-3);margin-top:var(--ui-space-6)}.weather-detail-grid article{display:grid;gap:var(--ui-space-1);min-width:0;min-height:84px;align-content:center;padding:var(--ui-space-5);border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-surface-2)}.weather-detail-grid span,.weather-detail-grid small{overflow:hidden;color:var(--ui-text-secondary);font-size:var(--ui-font-size-caption);text-overflow:ellipsis;white-space:nowrap}.weather-detail-grid strong{overflow:hidden;font-size:var(--ui-font-size-body-lg);font-weight:var(--ui-font-weight-semibold);text-overflow:ellipsis;white-space:nowrap}.weather-hourly{display:grid;grid-auto-columns:104px;grid-auto-flow:column;gap:var(--ui-space-3);margin-top:var(--ui-space-6);padding-bottom:var(--ui-space-1);overflow-x:auto;scroll-snap-type:x proximity}.weather-hour-card{display:grid;min-height:152px;justify-items:center;align-content:center;gap:var(--ui-space-3);padding:var(--ui-space-5) var(--ui-space-3);border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-surface-2);scroll-snap-align:start}.weather-hour-card.is-now{border-color:var(--ui-accent-border-now);background:var(--ui-accent-surface-now)}.weather-hour-card time,.weather-hour-card small{color:var(--ui-text-secondary);font-size:var(--ui-font-size-caption)}.weather-hour-card__icon{font-size:var(--ui-icon-size-lg)}.weather-hour-card strong{font-size:var(--ui-font-size-body-lg)}.weather-hour-card span:not(.weather-hour-card__icon){color:var(--ui-color-weather-rain);font-size:var(--ui-font-size-caption)}.weather-daily{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--ui-space-4);margin-top:var(--ui-space-6)}.weather-day-card{display:grid;min-width:0;align-content:start;gap:var(--ui-space-5);padding:var(--ui-space-7);border:1px solid var(--ui-border-strong);border-radius:var(--ui-radius-md);color:var(--ui-text-primary);background:color-mix(in srgb,var(--ui-surface-solid) 94%,white 6%);box-shadow:var(--ui-shadow-sm)}.weather-day-card.is-today{border-color:var(--ui-accent-border-strong);background:color-mix(in srgb,var(--ui-surface-solid) 88%,var(--ui-accent) 12%)}.weather-day-card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--ui-space-4)}.weather-day-card__date{display:grid;gap:var(--ui-space-1)}.weather-day-card__date strong{font-size:var(--ui-font-size-subtitle);font-weight:var(--ui-font-weight-semibold)}.weather-day-card__date span,.weather-day-card__summary span{color:var(--ui-text-secondary);font-size:var(--ui-font-size-caption)}.weather-day-card__icon{font-size:var(--ui-icon-size-xl)}.weather-day-card__condition{font-size:var(--ui-font-size-body);font-weight:var(--ui-font-weight-medium)}.weather-day-card__temperature{font-size:var(--ui-font-size-heading-lg);font-weight:var(--ui-font-weight-semibold);letter-spacing:var(--ui-letter-spacing-tight)}.weather-day-card__summary{display:flex;min-height:36px;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--ui-space-2) var(--ui-space-4);padding-block:var(--ui-space-3);border-block:1px solid var(--ui-divider)}.weather-day-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ui-space-2)}.weather-day-details span{min-width:0;padding:var(--ui-space-3);border-radius:var(--ui-radius-xs);color:var(--ui-text-secondary);background:var(--ui-surface-2);font-size:var(--ui-font-size-caption);line-height:var(--ui-line-height-body)}.weather-attribution{display:flex;justify-content:space-between;gap:var(--ui-space-8);padding:var(--ui-space-7) var(--ui-space-1) 0;color:var(--ui-weather-text-muted);font-size:var(--ui-font-size-caption)}.weather-attribution a{color:inherit;text-decoration:none}.weather-attribution a:hover{color:var(--ui-color-white)}.weather-empty{padding:var(--ui-space-10) var(--ui-space-4);color:var(--ui-text-secondary);font-size:var(--ui-font-size-caption)}@keyframes weather-fog-drift{0%{transform:translate(-4%)}to{transform:translate(8%,-8%)}}@keyframes weather-spin{to{transform:rotate(360deg)}}@container (max-width: 1000px){.weather-daily{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (max-width: 820px){.weather-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@container (max-width: 620px){.weather-content{padding:var(--ui-space-7) var(--ui-space-6) var(--ui-space-10)}.weather-hero{padding:21px var(--ui-space-8) 17px}.weather-hero__main{align-items:flex-start;flex-direction:column;gap:var(--ui-space-8)}.weather-hero__metrics,.weather-detail-grid,.weather-day-details{grid-template-columns:repeat(2,minmax(0,1fr))}.weather-hero__metrics>span:nth-child(3){padding-left:0;border-left:0}.ui-section-header>span{display:none}.weather-daily{grid-template-columns:1fr}.weather-attribution{flex-direction:column}}@media(prefers-reduced-motion:reduce){.weather-scene-fog,[data-weather-refresh].is-loading .ui-icon{animation:none}}.widgets-app{grid-template-columns:220px minmax(0,1fr)}.widgets-app__sidebar{display:flex;flex-direction:column}.widgets-app__brand{display:flex;align-items:center;gap:var(--ui-space-5);margin-bottom:var(--ui-space-9)}.widgets-app__brand>.ui-icon{width:var(--ui-icon-size-xl);height:var(--ui-icon-size-xl);color:var(--ui-accent)}.widgets-app__brand h1{margin-top:var(--ui-space-1);font-size:var(--ui-font-size-heading-lg);letter-spacing:var(--ui-letter-spacing-tight)}.widgets-app__nav{display:grid;gap:var(--ui-space-1)}.widgets-app__nav .ui-list-item>.ui-icon{width:var(--ui-icon-size-md);height:var(--ui-icon-size-md)}.widgets-app__content{display:block;padding:var(--ui-space-7) var(--ui-space-8) var(--ui-space-8);overflow:hidden}.widgets-app__content>section{width:100%;height:100%;min-height:0}.widgets-app__page-head h2,.widgets-app__app-head h2{margin-top:var(--ui-space-1);font-size:var(--ui-font-size-heading-lg);letter-spacing:var(--ui-letter-spacing-tight)}.widgets-app__page-head>p:last-child,.widgets-app__app-head>p:last-child{margin-top:var(--ui-space-2);color:var(--ui-text-tertiary);font-size:var(--ui-font-size-label)}.widgets-app__home{overflow:auto}.widgets-app__recommended{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ui-space-7);margin-top:var(--ui-space-8)}.widgets-app__recommend-card{display:grid;justify-items:center;gap:var(--ui-space-5);min-width:0;padding:var(--ui-space-7);border:1px solid transparent;border-radius:var(--ui-radius-lg);color:var(--ui-text-primary);background:transparent;transition:background var(--ui-duration-fast),border-color var(--ui-duration-fast),transform var(--ui-duration-fast)}.widgets-app__recommend-card:hover,.widgets-app__recommend-card:focus-visible{border-color:var(--ui-border);background:var(--ui-surface-hover);transform:translateY(-2px)}.widgets-app__recommend-card>span{display:grid;gap:var(--ui-space-1);text-align:center}.widgets-app__recommend-card strong{font-size:var(--ui-font-size-label)}.widgets-app__recommend-card small{color:var(--ui-text-tertiary);font-size:var(--ui-font-size-caption)}.widgets-app__recommend-card .ui-widget-card-host{--widget-preview-scale: .62}.widgets-app__catalog{display:grid;grid-template-rows:auto minmax(0,1fr) auto}.widgets-app__app-head{text-align:center}.widgets-app__pager{display:grid;min-height:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--ui-space-7)}.widgets-app__stage{display:grid;min-width:0;min-height:180px;place-items:center;perspective:900px}.widgets-app__stage.is-switching .ui-widget-card-host{animation:widgets-preview-in var(--ui-duration-normal) var(--ui-ease-out)}@keyframes widgets-preview-in{0%{opacity:0;transform:translateY(12px) scale(.96)}}.widgets-app__footer{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--ui-space-7)}.widgets-app__footer .ui-button{justify-self:end}.widgets-app__caption{display:flex;align-items:baseline;gap:var(--ui-space-3);font-size:var(--ui-font-size-caption)}.widgets-app__caption span{color:var(--ui-text-tertiary)}.widgets-app__dots{display:flex;gap:var(--ui-space-3)}.widgets-app__dot{width:7px;height:7px;padding:0;border-radius:var(--ui-radius-round);background:var(--ui-border-strong);transition:background var(--ui-duration-fast),transform var(--ui-duration-fast)}.widgets-app__dot.is-active{background:var(--ui-accent);transform:scale(1.28)}@container (max-width: 760px){.widgets-app{grid-template-columns:180px minmax(0,1fr)}.widgets-app__recommended{grid-template-columns:1fr}}.words-app__reading{position:relative;display:grid;width:100%;height:100%;min-width:0;min-height:100%;overflow:hidden;align-content:center;gap:var(--ui-space-8);padding:clamp(var(--ui-space-8),7cqi,var(--ui-space-12));color:var(--ui-widget-words-text)}.words-app__reading>.ui-icon-button{position:absolute;top:var(--ui-space-7);right:var(--ui-space-7)}.words-app__reading--hitokoto{background:var(--ui-widget-words-hitokoto)}.words-app__reading--poetry{background:var(--ui-widget-words-poetry)}.words-app__reading blockquote{max-width:780px;margin:0;font-size:clamp(var(--ui-font-size-heading),4cqi,var(--ui-font-size-display-sm));font-weight:var(--ui-font-weight-medium);letter-spacing:var(--ui-letter-spacing-tight);line-height:1.35}.words-app__reading blockquote,.words-app__reading footer{padding-right:var(--ui-space-12)}.words-app__reading footer{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--ui-space-3);color:var(--ui-widget-words-muted);font-size:var(--ui-font-size-body)}.words-app__reading footer span:last-child{margin-left:auto;font-size:var(--ui-font-size-caption)}@container (max-width: 560px){.words-app__reading{min-height:0;padding:var(--ui-space-8)}.words-app__reading>.ui-icon-button{top:var(--ui-space-5);right:var(--ui-space-5)}.words-app__reading blockquote,.words-app__reading footer{padding-right:var(--ui-space-10)}.words-app__reading footer span:last-child{width:100%;margin-left:0}}
