@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Variable;src:url(/fonts/geist-latin.woff2)format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Variable;src:url(/fonts/geist-latin-ext.woff2)format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Aurelia;src:url(/fonts/aurelia.woff2)format("woff2");font-weight:100 900;font-display:swap}:root{--light-ground:#f4eff2;--aura-sky:#a8c9f4;--aura-rose:#f4a3be;--aura-lilac:#b7a4f2;--aura-peach:#ffb98f;--aura-peach-soft:#ffb98f61;--tint-sky-wash:#a8c9f44d;--tint-lilac-wash:#b7a4f24d;--tint-peach-wash:#ffb98f4d;--ink-primary:#1c1a21;--ink-secondary:#57535e;--ink-hairline:#1c1a211f;--text-primary:#f4efe8;--text-on-light:#1c1a17;--text-secondary:#b8afa4;--light-glass-surface:#ffffff8c;--window-surface:#ffffffbd;--window-shadow-focused:#462d5538;--light-glass-fill:#ffffff57;--light-glass-edge:#ffffffc7;--light-glass-specular:#fffffff2;--light-glass-shadow:#462d5524;--light-glass-inner-shade:#462d550f;--glass-highlight:#ffffff38;--selection-fill:#ffb86b29;--accent-tungsten:#ffb86b;--liquid-glass-inner-shade:#0000002e;--liquid-glass-specular:#ffffff8c;--rbc-blue:#006ac3;--rbc-blue-dark:#0051a5;--rbc-blue-deep:#003168;--rbc-yellow:#fedf01;--rbc-grey:#f0f0f0;--rbc-line:#c4c8cc;--rbc-ink:#252525;--rbc-ink-soft:#585858;--rbc-sky:#e8f0f9;--tradein-teal-deep:#0c4452;--tradein-teal:#005b6e;--tradein-teal-soft:#9ccbd5;--tradein-blue:#1f63e8;--tradein-green:#17693b;--tradein-green-soft:#e2f4d9;--tradein-ground:#f8f7f3;--tradein-line:#d9d9d6;--tradein-alert:#c8102e;--tradein-scrim:#f8f7f3b8;--ncfdd-navy:#1f2a7a;--ncfdd-navy-hi:#3a46a0;--ncfdd-gold:#e8b100;--ncfdd-header:#e9eaee;--ncfdd-today:#eef0fb;--ncfdd-pass:#1e7b45;--ncfdd-pass-soft:#e3f3e8;--ncfdd-fail:#b3261e;--ncfdd-fail-soft:#fbe7e5;--sched-green:#1a6a3c;--sched-green-hi:#1f7444;--sched-green-soft:#e3f1e8;--sched-ground:#f4f6f5;--sched-line:#dfe4e1;--sched-blue-ink:#1b4a78;--sched-blue-soft:#dbeafa;--sched-amber-ink:#7a5800;--sched-amber-soft:#fbe9a8;--sched-alert:#c62828;--glass-grey-edge:#a9adb2;--play-shell-hi:#1c1c1e;--play-shell-lo:#060606;--play-rim:#6e6e73;--play-rim-lo:#2c2c2e;--play-panel-back-hi:#8e8e92;--play-panel-back-lo:#6a6a6e;--play-panel-hi:#cfcfd3;--play-panel-lo:#a4a4a8;--play-glass-hi:#3a3a3d;--play-glass-lo:#121214;--play-glow:#ececef;--play-edge:#b4b4b8;--play-edge-lo:#9a9a9e;--play-warm:#e0a86e;--app-about:#e9dfcf;--app-about-hi:#f7f1e6;--app-about-lo:#c9b795;--app-work:#3e6fa6;--app-work-hi:#6e9bd1;--app-work-lo:#2f5584;--app-playground:#d8613a;--app-playground-lo:#b5482a;--app-photos:#5f7f6a;--app-photos-hi:#8dae97;--app-photos-lo:#4a6553;--app-gold:#b8932a;--app-gold-hi:#e0bd55;--app-gold-lo:#96751c;--app-notes:#f1d46e;--app-notes-hi:#fbeaa6;--app-notes-lo:#c9a232;--app-trash:#4a4641;--app-trash-hi:#6e6963;--app-trash-lo:#34312d;--status-live:#7bd88f;--turn-accent:#0c89a6;--traffic-close:#ff5f57;--traffic-minimize:#febc2e;--traffic-zoom:#28c840;--traffic-glyph:#0000008c;--board-light:#f6efe7;--board-dark:#a898dc;--board-last-move:#ffb98f99;--board-selected:#ffb98fd9;--board-check:#d8613abf;--board-hint:#1c1a2133;--piece-white:#fff;--piece-outline:#1c1a21d9;--desktop-ground:#100f0e;--glass-surface:#24211e9e;--glass-border:#ffffff1a;--stage-hairline:#f4efe81f;--shadow-deep:#00000073;--paper-shade:#efe5d8;--paper-edge:#e6d9c8;--paper-sheet:#fff;--font-sans:"Geist Variable", -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", Roboto, sans-serif;--font-display:"Aurelia", "Geist Variable", system-ui, sans-serif;--font-mono:"Geist Mono Variable", ui-monospace, "SF Mono", Menlo, monospace;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-display:382;--type-h1:clamp(36px, 26.8px + 2.35vw, 48px);--type-h2:clamp(24px, 20.9px + .78vw, 28px);--type-h3:20px;--type-h4:16px;--type-p1:18px;--type-p2:16px;--type-p3:14px;--type-p4:12px;--font-h1:var(--weight-display) var(--type-h1) / 1.1 var(--font-display);--font-h2:var(--weight-semibold) var(--type-h2) / 1.2 var(--font-sans);--font-h3:var(--weight-semibold) var(--type-h3) / 28px var(--font-sans);--font-h4:var(--weight-semibold) var(--type-h4) / 24px var(--font-sans);--font-p1:var(--weight-regular) var(--type-p1) / 28px var(--font-sans);--font-p2:var(--weight-regular) var(--type-p2) / 26px var(--font-sans);--font-p3:var(--weight-regular) var(--type-p3) / 20px var(--font-sans);--font-p4:var(--weight-regular) var(--type-p4) / 16px var(--font-sans);--font-h2-display:var(--weight-display) var(--type-h2) / 1.2 var(--font-display);--font-h3-display:var(--weight-display) var(--type-h3) / 28px var(--font-display);--font-quote:var(--weight-display) var(--type-h2) / 1.25 var(--font-display);--tracking-h1:-.01em;--tracking-h2:-.03em;--tracking-h3:-.02em;--tracking-h4:-.01em;--tracking-p1:-.01em;--tracking-caps:.06em;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--duration-fast:.15s;--duration-normal:.22s;--menu-bar-height:32px;--dock-clearance:110px;--radius-dock:calc(var(--radius-app-tile) + var(--space-dock));--radius-app-tile:16px;--size-app-tile:58px;--size-app-glyph:30px;--space-dock:10px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--light-ground);color:var(--ink-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden}button{font:inherit;color:inherit;cursor:default;background:0 0;border:0}:focus-visible{outline:2px solid var(--app-work);outline-offset:2px}.desktop{background:var(--light-ground);flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.wallpaper{pointer-events:none;position:absolute;inset:0;overflow:hidden}.wallpaper__haze,.wallpaper__arc,.wallpaper__spotlight{border-radius:50%;position:absolute}.wallpaper__haze--sky{background:radial-gradient(closest-side, var(--aura-sky), transparent);width:60vw;height:85vh;top:-29vh;left:-17vw}.wallpaper__haze--rose{background:radial-gradient(closest-side, var(--aura-rose), transparent);width:57vw;height:78vh;top:-24vh;left:61vw}.wallpaper__arc{aspect-ratio:1;background:radial-gradient(closest-side, transparent 60%, var(--aura-lilac) 75%, var(--aura-peach-soft) 86%, transparent 100%);opacity:.6;width:min(1100px,92vw);top:calc(100% - 190px);left:50%;translate:-50%}.wallpaper__spotlight{background:radial-gradient(closest-side, var(--aura-peach-soft), transparent);will-change:transform;width:600px;height:600px;top:0;left:0}.glass-card{background:var(--light-glass-surface);border:1px solid var(--light-glass-edge);box-shadow:0 12px 40px var(--light-glass-shadow), inset 0 1px 0 var(--light-glass-specular);-webkit-backdrop-filter:blur(24px)saturate(160%);border-radius:10px}.menu-bar{z-index:10;height:var(--menu-bar-height);font:var(--font-p3);background:var(--light-glass-surface);border-bottom:1px solid var(--light-glass-edge);-webkit-backdrop-filter:blur(24px)saturate(180%);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 10px;display:flex;position:relative}.menu-bar__group{align-items:center;gap:4px;display:flex}.menu-bar__item{height:24px;color:var(--ink-secondary);white-space:nowrap;transition:background-color var(--duration-fast) ease-out, transform .16s var(--ease-out);border-radius:6px;align-items:center;gap:8px;padding:0 8px;display:inline-flex}.menu-bar__item:active{transform:scale(.97)}.menu-bar__item--strong{color:var(--ink-primary);font-weight:var(--weight-semibold)}@media (hover:hover) and (pointer:fine){.menu-bar__item:hover{background:var(--ink-hairline)}}.menu-bar__monogram{background:var(--ink-primary);width:18px;height:18px;color:var(--text-primary);font:var(--font-p4);font-weight:var(--weight-semibold);border-radius:50%;justify-content:center;align-items:center;line-height:1;display:inline-flex}.menu-bar__weather{color:inherit;text-decoration:none}.menu-bar__temp{text-align:right;min-width:2.4ch;display:inline-block}.menu-bar__status{color:var(--ink-primary);white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:16px;padding:0 8px;display:flex}.desktop-area{z-index:1;flex:1;justify-content:space-between;align-items:flex-start;min-height:0;padding-left:55px;display:flex;position:relative}.widgets{flex-direction:column;flex-shrink:0;gap:14px;width:320px;padding:24px 24px 16px;display:flex}.widget-now{flex-direction:column;gap:10px;padding:20px;display:flex}@keyframes live-pulse{50%{opacity:.45}}.widget-now__text{font:var(--font-h3-display);letter-spacing:var(--tracking-h1);color:var(--ink-primary);font-weight:460;line-height:1.25}.desktop-icons{flex-shrink:0;grid-template-rows:repeat(auto-fill,96px);grid-auto-columns:104px;grid-auto-flow:column;align-content:start;align-self:stretch;gap:10px;min-height:0;padding:18px 14px 18px 0;display:grid}.desktop-icon{width:104px;transition:transform var(--duration-fast) var(--ease-out), background-color var(--duration-fast) ease-out;border:1px solid #0000;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:8px 0;display:flex}@media (hover:hover) and (pointer:fine){.desktop-icon:hover{transform:translateY(-1px)}}.desktop-icon:active{transform:scale(.97)}.desktop-icon[aria-selected=true]{background:var(--light-glass-fill);border-color:var(--light-glass-edge)}.desktop-icon__glyph{width:64px;height:56px;filter:drop-shadow(0 6px 10px var(--light-glass-shadow));justify-content:center;align-items:center;display:flex}.desktop-icon__glyph:has(.folder-icon){filter:drop-shadow(0 1px 1px var(--light-glass-shadow)) drop-shadow(0 6px 4px var(--light-glass-shadow))}.desktop-icon__icon{width:54px;height:54px}.desktop-icon__icon svg{width:100%;height:100%;display:block}.desktop-icon__app-tile{background:linear-gradient(135deg, var(--board-dark), var(--ink-primary));width:54px;height:54px;box-shadow:inset 0 1px 0 var(--glass-highlight);border-radius:14px;justify-content:center;align-items:center;display:flex}.desktop-icon__app-tile svg{height:28px;fill:var(--piece-white)}.desktop-icon__label{font:var(--font-p3);font-weight:var(--weight-medium);color:var(--ink-primary);border-radius:5px;padding:0 6px}.desktop-icon[aria-selected=true] .desktop-icon__label{background:var(--ink-primary);color:var(--text-primary)}.dock{z-index:5000;padding:var(--space-dock) var(--space-dock) 6px;align-items:flex-end;gap:var(--space-dock);border-radius:var(--radius-dock);background:var(--light-glass-fill);border:1px solid var(--light-glass-edge);box-shadow:0 24px 60px var(--light-glass-shadow), inset 0 1px 0 var(--light-glass-specular), inset 0 -14px 28px var(--light-glass-inner-shade);-webkit-backdrop-filter:blur(44px)saturate(180%);flex-shrink:0;margin:0 auto 14px;display:flex;position:relative}.dock:before,.dock:after{content:"";pointer-events:none;position:absolute}.dock:before{border-radius:inherit;background:linear-gradient(180deg, var(--light-glass-surface) 0%, transparent 50%, var(--light-glass-fill) 100%);inset:0}.dock:after{background:linear-gradient(90deg, transparent, var(--light-glass-specular) 40%, transparent);width:46%;height:1px;top:1px;left:36px}.dock__item{z-index:1;transform-origin:50% 100%;transition:transform var(--duration-fast) ease-out;flex-direction:column;align-items:center;gap:5px;display:flex;position:relative}@media (hover:hover) and (pointer:fine){.dock__item:hover{transform:translateY(-6px)scale(1.12)}.dock__item:hover+.dock__item{transform:translateY(-3px)scale(1.05)}.dock__item:has(+.dock__item:hover){transform:translateY(-3px)scale(1.05)}.dock__item:hover .dock__label{opacity:1}}.dock__item:active .dock__tile{transform:scale(.94)}.dock__tile{width:var(--size-app-tile);height:var(--size-app-tile);transition:transform .16s var(--ease-out);position:relative}.dock__tile svg{width:100%;height:100%;filter:drop-shadow(0 1px 1.5px var(--light-glass-shadow)) drop-shadow(0 8px 7px var(--light-glass-shadow));display:block;overflow:visible}.dock__tile[data-dock-app=trash] svg{filter:none}.dock__dot{background:var(--ink-primary);opacity:0;width:4px;height:4px;transition:opacity var(--duration-fast) ease-out;border-radius:50%}.dock__item[data-running=true] .dock__dot{opacity:1}.dock__label{background:var(--ink-primary);color:var(--text-primary);font:var(--font-p4);font-weight:var(--weight-medium);white-space:nowrap;pointer-events:none;opacity:0;border-radius:8px;padding:4px 10px;transition:opacity .1s ease-out;position:absolute;bottom:calc(100% + 12px);left:50%;translate:-50%}.dock__separator{background:var(--ink-hairline);align-self:flex-start;width:1px;height:52px;margin-top:3px}.window-layer{inset:var(--menu-bar-height) 0 0 0;z-index:100;pointer-events:none;position:absolute}.os-window{pointer-events:auto;position:absolute;top:0;left:0}.os-window[data-fit-content=true] .os-window__frame{max-height:calc(100dvh - var(--menu-bar-height) - var(--window-cap-y) - var(--dock-clearance))}.os-window[data-status=minimized]{display:none}.os-window__frame{background:var(--window-surface);border:1px solid var(--light-glass-edge);width:100%;height:100%;box-shadow:0 8px 24px var(--light-glass-shadow), inset 0 1px 0 var(--light-glass-specular);-webkit-backdrop-filter:blur(30px)saturate(180%);transition:box-shadow var(--duration-normal) ease-out;border-radius:14px;flex-direction:column;display:flex;overflow:clip}.os-window[data-focused=true] .os-window__frame{box-shadow:0 30px 80px var(--window-shadow-focused), 0 8px 24px var(--light-glass-shadow), inset 0 1px 0 var(--light-glass-specular)}.os-window--glass[data-maximized] .os-window__frame{background:var(--light-ground);-webkit-backdrop-filter:none}.os-window__inner{flex-direction:column;flex:1;min-height:0;display:flex}.os-window__titlebar{border-bottom:1px solid var(--ink-hairline);touch-action:none;flex-shrink:0;align-items:center;height:40px;padding:0 14px;display:flex;position:relative}.os-window__titlebar:after{content:"";background:inherit;border-bottom:inherit;pointer-events:none;width:100vw;position:absolute;top:0;bottom:0;left:100%}.os-window__title{font:var(--font-p3);font-weight:var(--weight-medium);color:var(--ink-secondary);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;max-width:calc(100% - 240px);position:absolute;left:50%;overflow:hidden;translate:-50%}.window-download{z-index:1;height:24px;font:var(--font-p4);font-weight:var(--weight-medium);white-space:nowrap;color:var(--text-primary);background:var(--ink-primary);transition:scale .12s var(--ease-out);border-radius:999px;align-items:center;gap:4px;margin-left:auto;padding:0 10px;text-decoration:none;display:inline-flex;position:relative}.window-download:active{scale:.97}.window-download:focus-visible{outline:2px solid var(--app-work);outline-offset:2px}.window-pager{z-index:1;align-items:center;gap:2px;margin-left:auto;display:flex;position:relative}.window-pager__count{font:var(--font-p4);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;color:var(--ink-secondary);margin-right:6px}.window-pager__button{width:28px;height:28px;color:var(--ink-primary);transition:background-color .15s ease, scale .12s var(--ease-out);border-radius:7px;justify-content:center;align-items:center;display:inline-flex}.window-pager__button:disabled{color:var(--board-hint)}.window-pager__button:not(:disabled):active{scale:.95}.window-pager__button:focus-visible{outline:2px solid var(--app-work);outline-offset:-2px}@media (hover:hover) and (pointer:fine){.window-pager__button:not(:disabled):hover{background:var(--ink-hairline)}}.traffic-lights{z-index:1;gap:8px;display:flex;position:relative}.traffic-light{background:var(--ink-hairline);width:12px;height:12px;color:var(--traffic-glyph);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.traffic-light svg{opacity:0;transition:opacity 80ms ease-out}.os-window[data-focused=true] .traffic-light--close{background:var(--traffic-close)}.os-window[data-focused=true] .traffic-light--minimize{background:var(--traffic-minimize)}.os-window[data-focused=true] .traffic-light--maximize{background:var(--traffic-zoom)}@media (hover:hover) and (pointer:fine){.traffic-lights:hover .traffic-light--close{background:var(--traffic-close)}.traffic-lights:hover .traffic-light--minimize{background:var(--traffic-minimize)}.traffic-lights:hover .traffic-light--maximize{background:var(--traffic-zoom)}.traffic-lights:hover .traffic-light svg{opacity:1}}.os-window__content{overscroll-behavior:contain;-webkit-user-select:text;user-select:text;flex:1;min-height:0;overflow:auto}.os-window--paper .os-window__frame{background:var(--board-light);border-color:var(--paper-edge);-webkit-backdrop-filter:none}.os-window--paper .os-window__titlebar{background:var(--paper-shade);border-bottom-color:var(--paper-edge)}.os-window--paper .os-window__title{font-weight:var(--weight-semibold);color:var(--ink-primary)}.os-window--paper .os-window__content{-webkit-user-select:none;user-select:none}.os-window--terminal .os-window__frame{background:var(--desktop-ground);border-color:var(--glass-border);-webkit-backdrop-filter:none}.os-window--terminal[data-focused=true] .os-window__frame{box-shadow:0 30px 80px var(--shadow-deep), 0 8px 24px var(--window-shadow-focused)}.os-window--terminal .os-window__titlebar{background:var(--glass-surface);border-bottom-color:var(--stage-hairline)}.os-window--terminal .os-window__title{font-family:var(--font-mono);font-size:var(--type-p4);font-weight:var(--weight-regular);color:var(--text-secondary)}.os-window--terminal .traffic-light{background:var(--glass-border)}.window-skeleton{flex-direction:column;gap:12px;padding:28px;display:flex}.window-skeleton span{background:var(--ink-hairline);border-radius:6px;height:12px}@media (width<=760px){.menu-bar__group--nav,.menu-bar__status .menu-bar__weather,.widgets{display:none}.desktop-area{justify-content:center;align-items:flex-start;padding:24px 16px}.desktop-icons{grid-template-rows:none;grid-template-columns:repeat(3,1fr);grid-auto-flow:row;align-self:auto;justify-items:center;width:100%;padding:0}.dock{border-radius:calc(var(--radius-app-tile) + 8px);--size-app-tile:min(44px, calc((100vw - 90px) / 6));--radius-app-tile:calc(var(--size-app-tile) * .28);gap:6px;max-width:calc(100% - 16px);padding:8px 8px 5px}.dock__separator{height:var(--size-app-tile)}.os-window{--phone-dock-space:96px;width:calc(100vw - 16px)!important;height:calc(100dvh - var(--menu-bar-height) - var(--phone-dock-space) - 8px)!important;transform:translate(8px,8px)!important}.os-window__frame{background:var(--light-ground);-webkit-backdrop-filter:none;height:100%!important;max-height:none!important}}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}}@keyframes fade-in{0%{opacity:0}}.widgets>*,.desktop-icon,.dock{animation:rise-in .28s var(--ease-out) backwards}.desktop-icon:nth-child(2){animation-delay:40ms}.desktop-icon:nth-child(3){animation-delay:80ms}.desktop-icon:nth-child(4){animation-delay:.12s}.desktop-icon:nth-child(5){animation-delay:.16s}.desktop-icon:nth-child(6){animation-delay:.2s}.desktop-icon:nth-child(7){animation-delay:.24s}.dock{animation-delay:.1s}@media (prefers-reduced-motion:reduce){.widgets>*,.desktop-icon,.dock{animation-name:fade-in}.desktop-icon:hover,.desktop-icon:active,.dock__item:hover,.dock__item:hover+.dock__item,.dock__item:active .dock__tile,.menu-bar__item:active{transform:none!important}.dock__item:has(+.dock__item:hover){transform:none!important}.wallpaper__spotlight{display:none}}.app{flex-direction:column;gap:14px;padding:28px 32px 32px;display:flex}.app__title{font:var(--font-h2-display);letter-spacing:var(--tracking-h1);color:var(--ink-primary)}.app__eyebrow{font:var(--font-p4);font-weight:var(--weight-medium);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--ink-secondary)}.app__meta{font:var(--font-p3);color:var(--ink-secondary)}.app__body{max-width:60ch;font:var(--font-p2);color:var(--ink-primary)}.app__body strong{font-weight:var(--weight-semibold)}.app__rule{background:var(--ink-hairline);border:0;height:1px}.app-button{height:40px;font:var(--font-p3);font-weight:var(--weight-medium);background:var(--ink-primary);color:var(--text-primary);border-radius:999px;align-self:center;align-items:center;gap:8px;padding:0 18px;display:inline-flex}.app-button:disabled{opacity:.45}.app-about__heading{font:var(--font-h1);letter-spacing:var(--tracking-h1);color:var(--ink-primary)}.app-about .app__rule{background:var(--paper-edge)}.app-about__letter{text-wrap:pretty;flex-direction:column;gap:12px;display:flex}.app-about__signoff{flex-direction:column;gap:2px;margin-top:6px;display:flex}.app-about__initial{font:var(--font-h2-display);color:var(--ink-primary)}.letter-pop__word{white-space:nowrap;display:inline-block}.letter-pop__word+.letter-pop__word{margin-left:.26em}.letter-pop__char{cursor:default;transition:color .3s;display:inline-block}.app-work{gap:8px;padding:32px 32px 36px}.app-work__header{text-align:center;flex-direction:column;align-items:center;gap:4px;display:flex}.fan{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;margin:0 -32px;position:relative}.fan[data-ready]{cursor:pointer}.fan__track{transform-origin:0 0;width:0;position:absolute;top:0;left:50%}.fan__slot{left:calc(var(--card-w) / -2);width:var(--card-w);transition:transform .24s var(--ease-out);position:absolute}.fan__card{border:1px solid var(--light-glass-edge);background:var(--paper-sheet);width:100%;box-shadow:0 10px 30px var(--light-glass-shadow);transform-origin:50% 100%;transition:transform .24s var(--ease-out), scale .12s var(--ease-out);border-radius:18px;display:block;overflow:hidden}.fan__card[data-focused]{box-shadow:0 24px 50px var(--window-shadow-focused), 0 6px 16px var(--light-glass-shadow)}.fan[data-ready] .fan__card[data-focused]:active{scale:.97}.fan__card:focus-visible{outline:2px solid var(--app-work);outline-offset:3px}.fan__caption{text-align:center;opacity:0;width:220px;transition:opacity .15s var(--ease-out), translate .15s var(--ease-out);pointer-events:none;flex-direction:column;align-items:center;gap:2px;margin-left:-110px;display:flex;position:absolute;left:50%;translate:0 6px}.fan__caption[data-show]{opacity:1;transition:opacity .18s var(--ease-out) 60ms, translate .18s var(--ease-out) 60ms;translate:0}.fan__caption-kind{font:var(--font-p4);font-weight:var(--weight-medium);color:var(--ink-secondary)}.fan__caption-title{font:var(--font-p3);font-weight:var(--weight-medium);color:var(--ink-primary)}.fan[data-instant] :is(.fan__slot,.fan__card,.fan__caption){transition:none}@media (prefers-reduced-motion:reduce){.fan__slot,.fan__card{transition:none}.fan__caption,.fan__caption[data-show]{translate:none}}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px;list-style:none;display:grid}.work-grid__card{text-align:left;-webkit-tap-highlight-color:transparent;flex-direction:column;gap:2px;width:100%;display:flex}.work-grid__cover{aspect-ratio:196/244;border:1px solid var(--light-glass-edge);background:var(--paper-sheet);box-shadow:0 6px 18px var(--light-glass-shadow);transition:scale .12s var(--ease-out);border-radius:16px;margin-bottom:8px;display:block;position:relative;overflow:hidden}.work-grid__card:active .work-grid__cover{scale:.97}.work-grid__card:focus-visible{outline:none}.work-grid__card:focus-visible .work-grid__cover{outline:2px solid var(--app-work);outline-offset:2px}.work-grid__soon{font:var(--font-p4);font-weight:var(--weight-medium);color:var(--ink-secondary);background:var(--light-glass-surface);border-radius:999px;padding:0 8px;line-height:20px;position:absolute;top:8px;right:8px}.work-grid__kind{font:var(--font-p4);color:var(--ink-secondary)}.work-grid__title{font:var(--font-h4);letter-spacing:var(--tracking-h4);color:var(--ink-primary)}@media (prefers-reduced-motion:reduce){.work-grid__card:active .work-grid__cover{scale:none}}.os-window[data-maximized] :is(.app-about,.app-contact){width:100%;max-width:760px;margin-inline:auto}.os-window[data-maximized] .app-playground{width:100%;max-width:920px;margin-inline:auto}.os-window[data-maximized] .app-resume{padding-inline:max(40px,50% - 420px)}.os-window[data-maximized] .app-about .app__body{max-width:none}.fan-cover{background:linear-gradient(160deg, var(--cover-hi), var(--cover-lo));width:100%;height:100%;font-family:var(--font-sans);text-align:left;position:relative;overflow:hidden;container-type:size}.fan-cover--rbc{--cover-hi:var(--rbc-blue);--cover-lo:var(--rbc-blue-deep)}.fan-cover--auction{--cover-hi:var(--tradein-teal);--cover-lo:var(--tradein-teal-deep)}.fan-cover--audit{--cover-hi:var(--ncfdd-navy-hi);--cover-lo:var(--ncfdd-navy)}.fan-cover--schedule{--cover-hi:var(--sched-green-hi);--cover-lo:var(--sched-green)}.fan-cover__art{--u:calc(100cqw / 250);width:100%;height:calc(285 * var(--u));position:absolute;top:50%;left:0;translate:0 -50%}.fan-cover__art>*{position:absolute}.fc-card{border-radius:calc(14 * var(--u));background:var(--paper-sheet);color:var(--ink-primary);box-shadow:0 calc(16 * var(--u)) calc(32 * var(--u)) var(--shadow-deep);flex-direction:column;display:flex}.fc-chip{align-items:center;gap:calc(5 * var(--u));height:calc(28 * var(--u));padding:0 calc(10 * var(--u));font-size:calc(12 * var(--u));font-weight:var(--weight-semibold);white-space:nowrap;box-shadow:0 calc(8 * var(--u)) calc(18 * var(--u)) var(--shadow-deep);border-radius:999px;display:flex}.fc-chip svg{width:calc(12 * var(--u));height:calc(12 * var(--u))}.fc-quote{top:calc(66 * var(--u));left:calc(26 * var(--u));width:calc(198 * var(--u));gap:calc(10 * var(--u));padding:calc(14 * var(--u))}.fc-quote__label{font-size:calc(12 * var(--u));font-weight:var(--weight-semibold);color:var(--rbc-ink)}.fc-quote__chips{gap:calc(6 * var(--u));grid-template-columns:1fr 1fr;display:grid}.fc-quote__chips span,.fc-quote__cta{height:calc(30 * var(--u));border-radius:calc(8 * var(--u));font-size:calc(12 * var(--u));font-weight:var(--weight-semibold);color:var(--rbc-blue);background:var(--rbc-sky);justify-content:center;align-items:center;display:flex}.fc-quote__chips [data-selected]{color:var(--rbc-blue-deep);background:var(--paper-sheet);box-shadow:inset 0 0 0 calc(2 * var(--u)) var(--rbc-yellow)}.fc-quote__cta{height:calc(34 * var(--u));font-size:calc(14 * var(--u));color:var(--rbc-blue-deep);background:var(--rbc-yellow)}.fc-quote__shipped{top:calc(46 * var(--u));left:calc(118 * var(--u));color:var(--rbc-ink);background:var(--paper-sheet);rotate:4deg}.fc-chip__tick{width:calc(16 * var(--u));height:calc(16 * var(--u));color:var(--paper-sheet);background:var(--ncfdd-pass);border-radius:50%;place-items:center;display:grid}.fc-chip__tick svg{width:calc(10 * var(--u));height:calc(10 * var(--u))}.fc-photo{top:calc(36 * var(--u));left:calc(26 * var(--u));width:calc(198 * var(--u));height:calc(132 * var(--u));object-fit:cover;border-radius:calc(14 * var(--u));box-shadow:0 calc(16 * var(--u)) calc(32 * var(--u)) var(--shadow-deep)}.fc-win{top:calc(138 * var(--u));left:calc(40 * var(--u));width:calc(170 * var(--u));align-items:center;gap:calc(6 * var(--u));padding:calc(14 * var(--u))}.fc-win__eyebrow{font-size:calc(10 * var(--u));font-weight:var(--weight-semibold);letter-spacing:.1em;text-transform:uppercase;color:var(--tradein-green)}.fc-win__title{font-size:calc(16 * var(--u));font-weight:700;line-height:1.2}.fc-win__price{height:calc(34 * var(--u));margin-top:calc(2 * var(--u));border-radius:calc(8 * var(--u));font-size:calc(16 * var(--u));color:var(--tradein-green);background:var(--tradein-green-soft);align-self:stretch;place-items:center;font-weight:700;display:grid}.fc-week{top:calc(72 * var(--u));left:calc(26 * var(--u));width:calc(198 * var(--u));gap:calc(10 * var(--u));padding:calc(14 * var(--u))}.fc-week__days,.fc-week__marks{gap:calc(4 * var(--u));grid-template-columns:repeat(5,1fr);place-items:center;display:grid}.fc-week__days{font-size:calc(10 * var(--u));font-weight:var(--weight-semibold);letter-spacing:.06em;color:var(--ink-secondary)}.fc-week__marks{height:calc(30 * var(--u));color:var(--ncfdd-gold)}.fc-week__marks svg{width:calc(22 * var(--u));height:calc(22 * var(--u))}.fc-week__marks [data-focused]{border-radius:calc(6 * var(--u));background:var(--ncfdd-today);width:100%;height:100%;box-shadow:inset 0 0 0 calc(2 * var(--u)) var(--ncfdd-navy);place-items:center;display:grid}.fc-week__marks [data-empty]{color:var(--glass-grey-edge);display:grid}.fc-week__marks [data-empty] svg{width:calc(18 * var(--u));height:calc(18 * var(--u))}.fc-week__reader{gap:calc(2 * var(--u));padding:calc(8 * var(--u)) calc(10 * var(--u));border-radius:calc(8 * var(--u));font-size:calc(11 * var(--u));color:var(--paper-sheet);background:var(--ink-primary);flex-direction:column;line-height:1.3;display:flex}.fc-week__reader span{font-size:calc(9 * var(--u));font-weight:var(--weight-semibold);letter-spacing:.09em;text-transform:uppercase;color:var(--text-secondary)}.fc-week__pass{top:calc(48 * var(--u));left:calc(64 * var(--u));color:var(--paper-sheet);background:var(--ncfdd-pass);rotate:-3deg}.fc-baseline{top:calc(40 * var(--u));left:calc(26 * var(--u));width:calc(198 * var(--u));gap:calc(6 * var(--u));padding:calc(14 * var(--u))}.fc-baseline__title{margin-bottom:calc(2 * var(--u));font-size:calc(14 * var(--u));font-weight:var(--weight-semibold)}.fc-baseline__row{align-items:center;gap:calc(8 * var(--u));height:calc(30 * var(--u));padding:0 calc(8 * var(--u));border-radius:calc(6 * var(--u));font-size:calc(12 * var(--u));display:flex}.fc-baseline__row b{width:calc(24 * var(--u))}.fc-baseline__row span:first-of-type{color:var(--ink-secondary);flex:1}.fc-baseline__row[data-met]{background:var(--sched-green-soft)}.fc-baseline__row[data-met] span:last-child{color:var(--sched-green);font-weight:700}.fc-toast{top:calc(176 * var(--u));left:calc(44 * var(--u));width:calc(190 * var(--u));align-items:center;gap:calc(10 * var(--u));padding:calc(12 * var(--u));font-size:calc(12 * var(--u));flex-direction:row;line-height:1.35}.fc-toast__avatar{width:calc(32 * var(--u));height:calc(32 * var(--u));font-size:calc(11 * var(--u));color:var(--sched-green);background:var(--sched-green-soft);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.app-playground__grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.app-playground__tile{background:var(--light-glass-fill);border:1px solid var(--ink-hairline);border-radius:14px;flex-direction:column;gap:4px;padding:16px;display:flex}.app-playground__icon{width:40px;height:40px;color:var(--ink-primary);border-radius:11px;justify-content:center;align-items:center;margin-bottom:8px;display:flex}.app-playground__tile--open{text-align:left;transition:background-color .15s ease, transform .12s var(--ease-out)}.app-playground__tile--open:active{transform:scale(.98)}.app-playground__tile--open:focus-visible{outline:2px solid var(--app-work);outline-offset:2px}@media (hover:hover) and (pointer:fine){.app-playground__tile--open:hover{background:var(--paper-sheet)}}.app-playground__covers{height:40px;margin-bottom:8px;display:flex}.app-playground__covers img{object-fit:cover;width:40px;height:40px;box-shadow:0 0 0 2px var(--paper-sheet), 0 4px 10px var(--light-glass-shadow);border-radius:8px}.app-playground__covers img+img{margin-left:-14px}.app-playground__name{font:var(--font-h4);letter-spacing:var(--tracking-h4)}.app-notes{min-height:100%;font-family:var(--font-mono);font-size:var(--type-p3);color:var(--text-primary);-webkit-user-select:text;user-select:text;flex-direction:column;line-height:1.7;display:flex}.app-notes__body{flex-direction:column;flex:1;gap:12px;padding:16px 20px 20px;display:flex}.app-notes__prompt{align-items:center;gap:8px;display:flex}.app-notes__path,.app-notes__heading{color:var(--accent-tungsten)}.app-notes__heading{font:inherit}.app-notes__sigil,.app-notes__number{color:var(--text-secondary)}.app-notes__file{list-style:none}.app-notes__line{gap:16px;min-height:1.7em;display:flex}.app-notes__number{text-align:right;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;flex-shrink:0;width:16px}.app-notes__dash{color:var(--status-live)}.app-notes__session,.app-notes__history{flex-direction:column;list-style:none;display:flex}.app-notes__typed{white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}.app-notes__input-line{cursor:text;position:relative}.app-notes__input{opacity:0;caret-color:#0000;width:100%;font-size:16px;position:absolute;inset:0}.app-notes__cursor{vertical-align:-3px;min-width:8px;height:16px;box-shadow:inset 0 0 0 1px var(--text-secondary);line-height:16px;display:inline-block}.app-notes__input-line[data-focused] .app-notes__cursor{color:var(--desktop-ground);background:var(--text-primary);box-shadow:none;animation:1.1s step-end infinite notes-cursor}@keyframes notes-cursor{50%{color:inherit;background:0 0}}@media (prefers-reduced-motion:reduce){.app-notes__input-line[data-focused] .app-notes__cursor{animation:none}}.app-notes__status{border-top:1px solid var(--stage-hairline);height:32px;font:var(--font-p4);color:var(--text-secondary);align-items:center;gap:6px;padding:0 20px;line-height:1;display:flex}.app-notes__saved{background:var(--status-live);border-radius:50%;width:6px;height:6px}.app-contact{gap:0}.app-contact__form{flex-direction:column;gap:8px;margin-top:16px;display:flex}.app-contact__field{flex-direction:column;gap:6px;display:flex}.app-contact__field>span{font:var(--font-p4);font-weight:var(--weight-medium);color:var(--ink-secondary)}.app-contact__field input,.app-contact__field textarea{border:1px solid var(--ink-hairline);background:var(--light-glass-fill);width:100%;font:var(--font-p2);color:var(--ink-primary);border-radius:10px;outline:none;padding:0 12px;transition:border-color .15s,box-shadow .15s,background-color .15s}.app-contact__field input{height:40px}.app-contact__field textarea{resize:vertical;min-height:112px;padding:10px 12px}.app-contact__field textarea::placeholder{color:var(--ink-secondary)}.app-contact__field :is(input,textarea):focus-visible{border-color:var(--app-work);background:var(--paper-sheet);box-shadow:0 0 0 3px var(--tint-sky-wash)}@media (width>=761px){.app-contact__field input,.app-contact__field textarea{font:var(--font-p3)}}.app-contact__trap{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.app-contact__footer{justify-content:space-between;align-items:center;gap:16px;padding-top:4px;display:flex}.app-contact__hint{font:var(--font-p4);color:var(--ink-secondary)}.app-contact__hint[data-error]{color:var(--app-playground-lo)}.app-contact__send{height:36px;font:var(--font-p3);font-weight:var(--weight-medium);color:var(--text-primary);background:var(--ink-primary);transition:background-color .15s ease, color .15s ease, scale .12s var(--ease-out);border-radius:999px;flex-shrink:0;align-items:center;gap:8px;padding:0 16px;display:inline-flex}.app-contact__send:disabled{color:var(--ink-secondary);background:var(--ink-hairline)}.app-contact__send:not(:disabled):active{scale:.97}.app-contact__send:focus-visible,.app-contact__again:focus-visible{outline:2px solid var(--app-work);outline-offset:2px}.app-contact__sent{animation:contact-sent .22s var(--ease-out);flex-direction:column;align-items:flex-start;gap:10px;display:flex}@keyframes contact-sent{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.app-contact__sent{animation-name:contact-sent-fade}@keyframes contact-sent-fade{0%{opacity:0}}}.app-contact__again{height:32px;font:var(--font-p3);font-weight:var(--weight-medium);color:var(--ink-primary);background:var(--ink-hairline);border-radius:999px;margin-top:6px;padding:0 14px}.app-empty{text-align:center;height:100%;color:var(--ink-secondary);justify-content:center;align-items:center}.app-empty .app__meta{max-width:34ch}.app-resume{-webkit-user-select:text;user-select:text;flex-direction:column;gap:28px;padding:36px 36px 28px;display:flex;position:relative}.app-resume:before{content:"";background:radial-gradient(circle at 0% 0%, var(--aura-peach-soft), transparent 45%), radial-gradient(circle at 100% 0%, var(--tint-lilac-wash), transparent 40%);pointer-events:none;height:240px;position:absolute;inset:0 0 auto}.app-resume>*{position:relative}.app-resume__header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.app-resume__name h1{font:var(--font-h1);letter-spacing:var(--tracking-h1)}.app-resume__role{font:var(--font-h4);letter-spacing:var(--tracking-h4);color:var(--app-work);margin-top:6px}.app-resume__contact{font-style:normal;font:var(--font-p3);font-variant-numeric:tabular-nums;color:var(--ink-secondary);flex-direction:column;align-items:flex-end;gap:2px;padding-top:4px;display:flex}.app-resume__contact a{font-weight:var(--weight-medium);color:var(--ink-primary);text-decoration:none}@media (hover:hover) and (pointer:fine){.app-resume__contact a:hover{color:var(--app-work)}}.app-resume__header+.app-resume__summary{margin-top:-12px}.app-resume__summary{font:var(--weight-regular) var(--type-p2) / 1.26 var(--font-sans);letter-spacing:var(--tracking-p1)}.app-resume__experience{flex-direction:column;gap:10px;display:flex}.app-resume__roles{border-top:1px solid var(--ink-hairline);list-style:none}.app-resume__item{border-bottom:1px solid var(--ink-hairline);flex-direction:column;gap:2px;padding:14px 0;display:flex}.app-resume__item:last-child{border-bottom:0}.app-resume__item-head{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.app-resume__item-role{font:var(--font-h4);letter-spacing:var(--tracking-h4)}.app-resume__item-dates{font:var(--font-p4);font-variant-numeric:tabular-nums;color:var(--ink-secondary);flex-shrink:0}.app-resume__item-company{font:var(--font-p3);font-weight:var(--weight-semibold);color:var(--app-work)}.app-resume__item-text{font:var(--font-p3);color:var(--ink-secondary);margin-top:4px}@media (width<=760px){.app-resume{padding:28px 20px 32px}.app-resume__header{flex-direction:column;gap:16px}.app-resume__contact{align-items:flex-start}.app-resume__item-head{flex-direction:column;gap:2px}}
