body.is-os-shell,html.is-os-shell{width:100%;max-width:100%;overflow:hidden;overscroll-behavior:none}html.is-os-shell{height:100%}body.is-os-shell{height:100dvh;min-height:100dvh;max-height:100dvh}body.is-lock-screen,html.is-lock-screen{height:100%;overflow:hidden;overscroll-behavior:none}@media (max-width:767px){html.is-os-shell{height:100%;overflow:hidden}body.is-os-shell{position:fixed;inset:0;width:100%;height:100dvh;min-height:100dvh;max-height:100dvh;overflow:hidden}}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}[role=button],[role=menuitem]:not([aria-disabled=true]),a[href],button:not(:disabled),input[type=button]:not(:disabled),input[type=checkbox]:not(:disabled),input[type=file]:not(:disabled),input[type=radio]:not(:disabled),input[type=reset]:not(:disabled),input[type=submit]:not(:disabled),label[for],select:not(:disabled),summary{cursor:pointer}[aria-disabled=true],button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed}input:not([type=button]):not([type=checkbox]):not([type=file]):not([type=radio]):not([type=reset]):not([type=submit]),textarea{cursor:text}:focus-visible{outline:2px solid var(--color-accent-cyan);outline-offset:3px}::-moz-selection{background:rgba(255,95,135,.34);color:var(--color-text)}::selection{background:rgba(255,95,135,.34);color:var(--color-text)}.desktop-shell,.login-profile{animation:os-fade-in .42s ease-out both}.boot-screen{max-height:100dvh;background:#000}.boot-screen,.login-screen{position:fixed;inset:0;width:100vw;height:100dvh;overflow:hidden;isolation:isolate;overscroll-behavior:none;touch-action:none}.login-screen{min-height:100dvh;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:radial-gradient(ellipse at 18% 12%,rgba(225,250,255,.34),transparent 23rem),radial-gradient(ellipse at 84% 16%,rgba(78,162,226,.28),transparent 30rem),radial-gradient(ellipse at 24% 78%,rgba(0,51,180,.72),transparent 34rem),radial-gradient(ellipse at 80% 92%,rgba(95,210,220,.38),transparent 29rem),linear-gradient(180deg,#9cc9d8,#5b9fc4 24%,#0838bf 56%,#0b43b8 77%,#244f88)}.login-screen:after,.login-screen:before{position:fixed;inset:0;z-index:-1;pointer-events:none;content:""}.login-screen:before{background:radial-gradient(ellipse at 26% 34%,rgba(212,250,244,.34),transparent 19rem),radial-gradient(ellipse at 76% 39%,rgba(247,253,255,.24),transparent 26rem),radial-gradient(ellipse at 52% 102%,rgba(255,255,255,.2),transparent 22rem),linear-gradient(180deg,rgba(255,255,255,.12),transparent 30%,rgba(0,16,96,.3) 78%,rgba(0,0,0,.22));opacity:.86}.login-screen:after{background:linear-gradient(180deg,rgba(255,255,255,.28),transparent 12%,transparent 82%,rgba(7,24,78,.24)),radial-gradient(ellipse at center,transparent 34%,rgba(0,0,0,.18) 100%);opacity:.9}.login-liquid-field,.login-liquid-shine,.login-liquid-wave{position:fixed;z-index:-1;pointer-events:none}.login-liquid-field{inset:-18%;background:radial-gradient(ellipse at 18% 48%,rgba(0,55,206,.84),transparent 25rem),radial-gradient(ellipse at 46% 56%,rgba(0,104,240,.82),transparent 32rem),radial-gradient(ellipse at 80% 52%,rgba(230,252,255,.46),transparent 31rem),radial-gradient(ellipse at 58% 38%,rgba(153,96,218,.13),transparent 20rem);filter:blur(24px) saturate(1.24);opacity:.9}.login-liquid-wave{right:-12vw;left:-12vw;transform-origin:center;filter:saturate(1.2)}.login-liquid-wave-primary{top:22vh;height:40vh;transform:rotate(-5deg);border-radius:52% 48% 46% 54%/72% 74% 26% 28%;background:radial-gradient(ellipse at 18% 42%,rgba(146,250,222,.58),transparent 19rem),radial-gradient(ellipse at 46% 66%,rgba(0,52,210,.92),transparent 34rem),radial-gradient(ellipse at 78% 50%,rgba(244,255,255,.78),transparent 27rem),linear-gradient(105deg,rgba(6,100,238,.96),rgba(0,35,176,.93) 46%,rgba(194,245,250,.85));box-shadow:inset 0 22px 48px rgba(255,255,255,.22),inset 0 -34px 58px rgba(0,24,130,.3),0 28px 80px rgba(0,47,140,.34);opacity:.98}.login-liquid-wave-secondary{top:18vh;height:24vh;transform:rotate(2.5deg);border-radius:58% 42% 50% 50%/68% 74% 26% 32%;background:radial-gradient(ellipse at 36% 42%,rgba(221,255,255,.54),transparent 18rem),linear-gradient(100deg,rgba(5,121,239,.02),rgba(117,223,246,.42) 52%,rgba(244,255,255,.7));opacity:.68;mix-blend-mode:screen}.login-liquid-shine{top:25vh;right:-12vw;width:72vw;height:18vh;transform:rotate(-5deg);border-top:1px solid rgba(255,255,255,.62);border-radius:50%;opacity:.72}.desktop-wallpaper{position:relative;isolation:isolate;background:radial-gradient(circle at 24% 18%,rgba(139,211,230,.14),transparent 20rem),radial-gradient(circle at 78% 24%,rgba(141,150,216,.12),transparent 24rem),radial-gradient(circle at 52% 78%,rgba(216,177,95,.05),transparent 22rem),linear-gradient(145deg,#020305,#071018 52%,#020305);background:radial-gradient(ellipse at 12% 12%,rgba(92,202,230,.2),transparent 24rem),radial-gradient(ellipse at 84% 16%,rgba(142,94,204,.16),transparent 29rem),radial-gradient(ellipse at 62% 82%,rgba(0,86,200,.24),transparent 32rem),radial-gradient(ellipse at 32% 86%,rgba(225,118,178,.08),transparent 27rem),linear-gradient(145deg,#010309,#04101e 45%,#010409)}.desktop-wallpaper:before{position:fixed;inset:0;z-index:-1;pointer-events:none;content:"";background:linear-gradient(rgba(255,255,255,.018) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.014) 1px,transparent 0);background-size:48px 48px;-webkit-mask-image:radial-gradient(circle at center,black,transparent 75%);mask-image:radial-gradient(circle at center,black,transparent 75%)}.system-topbar{border-bottom:0;background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.055)),rgba(3,9,17,.64);box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 14px 42px rgba(0,0,0,.24);backdrop-filter:blur(26px) saturate(1.35)}.login-system-strip{text-shadow:0 1px 18px rgba(0,38,90,.34)}.login-mobile-status{text-shadow:0 1px 16px rgba(0,34,80,.42)}.login-lock-clock{margin-top:clamp(.9rem,3.8vh,2.1rem);text-shadow:0 2px 26px rgba(0,49,116,.34)}.login-time{color:rgba(240,254,255,.24);font-size:clamp(4.4rem,8vw,6.4rem);letter-spacing:0;text-shadow:0 1px 0 rgba(255,255,255,.72),0 18px 46px rgba(0,61,132,.28);-webkit-text-stroke:1.15px rgba(236,255,255,.62)}.glass-avatar{position:relative;overflow:hidden;border:1px solid var(--glass-border-strong);background:radial-gradient(circle at 28% 18%,rgba(255,255,255,.58),transparent 34%),radial-gradient(circle at 72% 78%,rgba(95,208,244,.26),transparent 46%),linear-gradient(145deg,rgba(255,255,255,.28),rgba(111,205,239,.12) 48%,rgba(10,42,94,.18));box-shadow:inset 0 1px 0 var(--glass-highlight),inset 0 -.9rem 1.5rem rgba(0,52,118,.18),0 1rem 3rem rgba(0,38,110,.26);color:rgba(245,254,255,.95);text-shadow:0 1px 18px rgba(0,48,130,.42);backdrop-filter:blur(22px) saturate(1.35)}.glass-avatar:after{position:absolute;inset:.18rem .32rem auto;height:38%;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.46),transparent);content:"";opacity:.58;pointer-events:none}.login-avatar{transition:transform .18s ease,opacity .18s ease}.login-action{min-height:2.7rem;border-color:transparent;border-radius:9999px;background:radial-gradient(circle at 36% 12%,rgba(255,255,255,.36),transparent 34%),linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.08)),rgba(255,255,255,.1);color:#ffffff;box-shadow:0 .7rem 2.2rem rgba(0,37,108,.22),inset 0 1px 1.2rem rgba(255,255,255,.24),inset 0 -1.4rem 2rem rgba(0,63,160,.12);text-shadow:0 1px 12px rgba(0,42,116,.3);transition:background .16s ease,box-shadow .16s ease,filter .16s ease,transform .16s ease;backdrop-filter:blur(22px) saturate(1.35)}.login-action:focus,.login-action:focus-visible,.login-action:hover{border-color:transparent;background:radial-gradient(circle at 36% 12%,rgba(255,255,255,.44),transparent 34%),linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,.12)),rgba(255,255,255,.13);color:#ffffff;outline:0;box-shadow:0 .85rem 2.4rem rgba(0,37,108,.24),inset 0 .12rem 1.35rem rgba(255,255,255,.32),inset 0 -1.35rem 2.05rem rgba(0,63,160,.1);filter:saturate(1.08) brightness(1.03);transform:translateY(-1px)}.login-lock-content{opacity:1}.login-home-indicator{position:fixed;right:50%;bottom:.55rem;z-index:20;width:8.1rem;height:.28rem;transform:translateX(50%);border-radius:999px;background:rgba(255,255,255,.78);box-shadow:0 0 24px rgba(0,44,122,.28)}.mobile-home-shell{position:fixed;inset:0;width:100vw;max-width:100vw;height:100dvh;min-height:100dvh;max-height:100dvh;isolation:isolate;overflow:hidden;overscroll-behavior:none;touch-action:none;background:radial-gradient(ellipse at 20% 12%,rgba(246,255,255,.28),transparent 17rem),radial-gradient(ellipse at 82% 12%,rgba(116,236,226,.18),transparent 17rem),radial-gradient(ellipse at 24% 76%,rgba(0,57,210,.72),transparent 24rem),radial-gradient(ellipse at 92% 88%,rgba(178,245,241,.42),transparent 19rem),linear-gradient(180deg,#236f98,#397fa8 30%,#0b47bf 65%,#487f9a)}.mobile-home-shell:after,.mobile-home-shell:before{position:fixed;inset:0;z-index:-1;pointer-events:none;content:""}.mobile-home-shell:before{top:42vh;right:-42vw;left:-42vw;height:38vh;transform:rotate(-8deg);border-radius:52% 48% 46% 54%/72% 74% 26% 28%;background:radial-gradient(ellipse at 28% 48%,rgba(130,249,216,.48),transparent 17rem),radial-gradient(ellipse at 46% 64%,rgba(0,58,218,.82),transparent 28rem),linear-gradient(105deg,rgba(9,103,245,.82),rgba(0,41,186,.82) 45%,rgba(188,243,248,.72));box-shadow:inset 0 22px 40px rgba(255,255,255,.18),0 28px 80px rgba(0,47,140,.28)}.mobile-home-shell:after{background:linear-gradient(180deg,rgba(255,255,255,.16),transparent 16%,transparent 82%,rgba(7,24,78,.22)),radial-gradient(ellipse at center,transparent 32%,rgba(0,0,0,.18) 100%)}.mobile-dock,.mobile-home-content,.mobile-home-indicator,.mobile-home-status{position:relative;z-index:1}.mobile-app-grid,.mobile-home-content{min-height:0;overflow:hidden}.mobile-app-grid{display:grid;flex:1;grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;gap:1.05rem .72rem;padding-bottom:1.25rem}.mobile-app-icon{display:flex;min-width:0;min-height:5.35rem;flex-direction:column;align-items:center;justify-content:flex-start;gap:.48rem;color:#ffffff;text-align:center;text-shadow:0 1px 10px rgba(0,35,98,.32)}.mobile-app-icon:focus,.mobile-app-icon:focus-visible{outline:2px solid rgba(255,255,255,.74);outline-offset:5px}.mobile-app-glyph{display:grid;width:3.42rem;height:3.42rem;place-items:center;border:1px solid rgba(255,255,255,.36);border-radius:17px;background:var(--app-icon-bg);box-shadow:inset 0 1px 0 rgba(255,255,255,.58),inset 0 -.8rem 1.2rem rgba(0,47,118,.18),0 1rem 2.2rem var(--app-icon-glow);color:var(--app-icon-fg);backdrop-filter:blur(18px) saturate(1.28)}.mobile-app-glyph svg{width:1.58rem;height:1.58rem}.mobile-app-label{display:block;max-width:100%;overflow:hidden;color:rgba(255,255,255,.9);font-size:.72rem;font-weight:650;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.mobile-dock{display:grid;flex:0 0 auto;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;padding:.72rem;border:1px solid rgba(255,255,255,.3);border-radius:27px;background:linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,.12)),rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.48),0 1rem 3rem rgba(0,35,112,.3);backdrop-filter:blur(24px) saturate(1.35)}.mobile-dock-item{display:grid;min-height:3.25rem;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:18px;background:rgba(255,255,255,.16);color:#ffffff;box-shadow:inset 0 1px 0 rgba(255,255,255,.46);backdrop-filter:blur(16px) saturate(1.22)}.mobile-dock-item:focus,.mobile-dock-item:focus-visible{outline:2px solid rgba(255,255,255,.74);outline-offset:3px}.mobile-dock-icon{display:grid;width:2.35rem;height:2.35rem;place-items:center;border-radius:.9rem;background:var(--app-icon-bg);color:var(--app-icon-fg);box-shadow:inset 0 1px 0 rgba(255,255,255,.42),inset 0 -.65rem 1rem rgba(0,0,0,.12),0 .55rem 1.3rem var(--app-icon-glow)}.mobile-dock-icon svg{width:1.25rem;height:1.25rem}.mobile-home-indicator{flex:0 0 auto;width:8.1rem;height:.28rem;margin:.8rem auto 0;border-radius:999px;background:rgba(255,255,255,.78);box-shadow:0 0 24px rgba(0,44,122,.28)}.window-control{display:inline-block;width:.45rem;height:.45rem;border-radius:2px}.desktop-window-area{position:fixed;inset:0;min-height:100dvh;pointer-events:none}.desktop-window{position:fixed;top:var(--window-y,5rem);left:var(--window-x,6rem);width:min(var(--window-width,34rem),calc(100vw - 1.5rem));height:min(var(--window-height,32rem),calc(100dvh - 10rem));overflow:hidden;border:1px solid rgba(225,250,255,.16);border-radius:var(--radius-window);background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.045)),rgba(6,16,29,.68);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 2.2rem 5.5rem rgba(0,0,0,.48),0 0 0 1px rgba(88,203,238,.04);opacity:.98;pointer-events:auto;transform:scale(1);transition:box-shadow .16s ease,opacity .16s ease,transform .16s ease,filter .16s ease;backdrop-filter:blur(28px) saturate(1.32)}.desktop-window-active{filter:saturate(1.06) brightness(1.02);opacity:1}.desktop-window-inactive{filter:saturate(.9) brightness(.9);opacity:.78}.desktop-window-dragging{transition:none}.desktop-window-maximized{border-radius:18px}.desktop-window-titlebar{display:grid;min-height:2.75rem;grid-template-columns:4.5rem minmax(0,1fr) 2rem;align-items:center;gap:.65rem;border-bottom:1px solid rgba(225,250,255,.12);padding:0 .9rem;background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.025)),rgba(255,255,255,.02);touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.desktop-window-controls{display:flex;align-items:center;gap:.42rem}.desktop-window-title{min-width:0;overflow:hidden;color:var(--color-muted);font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.73rem;text-align:center;text-overflow:ellipsis;white-space:nowrap}.desktop-window-glyph{display:grid;width:1.75rem;height:1.75rem;place-items:center;border:1px solid rgba(182,246,255,.24);border-radius:.55rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 .45rem 1rem var(--app-icon-glow)}.desktop-window-glyph svg{width:.98rem;height:.98rem}.desktop-window-control{position:relative;border:1px solid rgba(255,255,255,.18);border-radius:999px;transition:transform .14s ease,filter .14s ease}.desktop-window-control:after{position:absolute;inset:.26rem;border-radius:999px;background:rgba(255,255,255,.82);content:"";opacity:0;transition:opacity .14s ease}.desktop-window-control:focus-visible,.desktop-window-control:hover{filter:brightness(1.2);transform:scale(1.08)}.desktop-window-control:focus-visible:after,.desktop-window-control:hover:after{opacity:.78}.desktop-window-minimize{background:rgba(216,177,95,.72)}.desktop-window-close{background:rgba(232,121,154,.76)}.desktop-window-maximize{background:rgba(101,228,255,.58)}.desktop-window-body{height:calc(100% - 2.75rem);max-height:none;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:rgba(101,228,255,.34) transparent;touch-action:pan-y}.app-content{padding:1.35rem}.app-content-compact{padding:0}.app-kicker{color:var(--color-accent-cyan);font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.72rem;font-weight:700;text-transform:uppercase}.app-content h2{margin-top:.65rem;color:var(--color-text);font-size:clamp(1.45rem,4vw,2rem);font-weight:720;line-height:1.08}.app-summary{margin-top:.8rem;color:var(--color-muted);font-size:.92rem;line-height:1.65}.app-card{border-radius:.95rem;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.024)),rgba(255,255,255,.032);padding:1rem;box-shadow:inset 0 .08rem 1rem rgba(255,255,255,.08),0 .9rem 2.4rem rgba(0,0,0,.12)}.app-card-eyebrow{color:var(--color-accent-cyan);font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.7rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.app-card-heading{display:grid;gap:.65rem}.app-card h3{color:var(--color-text);font-size:.98rem;font-weight:740;line-height:1.25}.app-card li,.app-card p{color:var(--color-muted);font-size:.86rem;line-height:1.62}.app-card p{margin-top:.5rem}.app-badge-list{display:flex;flex-wrap:wrap;gap:.42rem}.app-badge{display:inline-flex;min-height:1.45rem;align-items:center;border-radius:999px;background:rgba(255,255,255,.08);padding:.2rem .55rem;color:var(--color-muted);font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.66rem;font-weight:700;text-transform:uppercase}.app-badge-safe{background:rgba(122,230,166,.12);color:rgba(183,255,212,.9)}.app-badge-draft{background:rgba(139,211,230,.12);color:rgba(196,246,255,.9)}.app-badge-warning{background:rgba(216,177,95,.14);color:rgba(255,225,161,.92)}.app-badge-pending{background:rgba(255,255,255,.075);color:rgba(221,231,234,.78)}.app-bullet-list{display:grid;gap:.42rem;margin-top:.75rem;padding-left:1rem}.app-bullet-list li{list-style:disc}.terminal-line{margin:0;white-space:pre-wrap;word-break:break-word}.terminal-line-command{color:rgba(255,255,255,.96)}.terminal-line-error{color:rgba(255,125,125,.95)}.terminal-line-output{color:rgba(196,246,255,.9)}.terminal-line-system{color:rgba(221,231,234,.76)}.terminal-user{color:rgba(147,214,165,.95)}.terminal-path{color:rgba(216,177,95,.95)}@media (max-width:420px){html{min-width:0}.mobile-panel{width:100%;min-width:0;max-width:100%}}.app-external-link{display:inline-flex;width:-moz-fit-content;width:fit-content;min-height:2rem;align-items:center;border-radius:999px;background:rgba(139,211,230,.14);padding:.22rem .72rem;color:rgba(219,249,255,.96);font-size:.78rem;font-weight:760;overflow-wrap:anywhere;transition:background-color .16s ease,color .16s ease}.app-external-link:hover{background:rgba(139,211,230,.22);color:#ffffff}.app-external-link,.files-editor-actions button,.files-reader-actions button,.files-toolbar-actions button,.project-card-actions :is(button,a){display:inline-flex;align-items:center;gap:.42rem}.app-external-link svg,.files-editor-actions button svg,.files-nav-button svg,.files-reader-actions button svg,.files-toolbar-actions button svg,.project-card-actions :is(button,a) svg{width:1rem;height:1rem;flex:0 0 auto}.app-actions{display:grid;gap:.7rem;margin-top:1.25rem}.app-action-button{width:100%}.desktop-icon{border:1px solid rgba(225,250,255,.12);border-radius:1rem;background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.03)),rgba(5,13,24,.5);min-height:8.5rem;padding:1rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 18px 50px rgba(0,0,0,.22);backdrop-filter:blur(18px) saturate(1.2);text-align:left;transition:transform .18s ease,border-color .18s ease,background-color .18s ease}.desktop-icon:focus-visible,.desktop-icon:hover{border-color:rgba(167,239,255,.36);background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.04)),rgba(13,28,45,.7);transform:translateY(-2px)}.desktop-icon-active{border-color:rgba(184,244,255,.42);background:linear-gradient(180deg,rgba(182,246,255,.16),rgba(255,255,255,.035)),rgba(101,228,255,.1)}.desktop-icon-open .desktop-icon-label:after{display:inline-block;width:.32rem;height:.32rem;margin-left:.35rem;border-radius:999px;background:rgba(139,211,230,.9);box-shadow:0 0 .8rem rgba(101,228,255,.5);content:"";vertical-align:.08rem}.app-icon{--app-icon-bg:radial-gradient(circle at 30% 18%,rgba(255,255,255,0.42),transparent 38%),linear-gradient(145deg,#5fd9ff,#3465ff);--app-icon-fg:#ffffff;--app-icon-glow:rgba(42,133,255,0.28);color:var(--app-icon-fg)}.app-icon svg{width:1.2rem;height:1.2rem;filter:drop-shadow(0 1px 2px rgba(0,0,0,.18))}.app-icon[data-app-icon=about]{--app-icon-bg:radial-gradient(circle at 30% 18%,rgba(255,255,255,0.48),transparent 38%),linear-gradient(145deg,#42d7bc,#1474d4);--app-icon-glow:rgba(40,188,188,0.28)}.app-icon[data-app-icon=experience],.app-icon[data-app-icon=projects]{--app-icon-bg:radial-gradient(circle at 30% 18%,rgba(255,255,255,0.52),transparent 38%),linear-gradient(145deg,#f2c45d,#d97933);--app-icon-glow:rgba(216,151,55,0.3)}.app-icon[data-app-icon=cv]{--app-icon-bg:radial-gradient(circle at 30% 18%,rgba(255,255,255,0.5),transparent 38%),linear-gradient(145deg,#fbfbff,#c6d6ef);--app-icon-fg:#1f5fbd;--app-icon-glow:rgba(116,146,190,0.28)}.app-icon[data-app-icon=text-editor]{--app-icon-bg:radial-gradient(circle at 30% 18%,rgba(255,255,255,0.5),transparent 38%),linear-gradient(145deg,#ffffff,#d9eadf);--app-icon-fg:#116252;--app-icon-glow:rgba(47,194,165,0.22)}.app-icon[data-app-icon=contact]{--app-icon-bg:radial-gradient(circle at 30% 18%,rgba(255,255,255,0.44),transparent 38%),linear-gradient(145deg,#ff6f91,#9b5cff);--app-icon-glow:rgba(207,91,175,0.28)}.app-icon[data-app-icon=files]{--app-icon-bg:radial-gradient(circle at 30% 18%,rgba(255,255,255,0.5),transparent 38%),linear-gradient(145deg,#61c8ff,#198be4);--app-icon-glow:rgba(54,151,226,0.3)}.app-icon[data-app-icon=terminal]{--app-icon-bg:radial-gradient(circle at 30% 18%,rgba(255,255,255,0.28),transparent 38%),linear-gradient(145deg,#303944,#070b10);--app-icon-glow:rgba(0,0,0,0.34)}.app-icon[data-app-icon=stack]{--app-icon-bg:radial-gradient(circle at 30% 18%,rgba(255,255,255,0.48),transparent 38%),linear-gradient(145deg,#8bd66f,#159b7c);--app-icon-glow:rgba(68,164,112,0.28)}.app-icon[data-app-icon=github]{--app-icon-bg:radial-gradient(circle at 30% 18%,rgba(255,255,255,0.28),transparent 38%),linear-gradient(145deg,#2f3441,#0d1117);--app-icon-glow:rgba(0,0,0,0.32)}.app-icon[data-app-icon=linkedin]{--app-icon-bg:radial-gradient(circle at 30% 18%,rgba(255,255,255,0.44),transparent 38%),linear-gradient(145deg,#2aa7e6,#0a66c2);--app-icon-glow:rgba(10,102,194,0.32)}.desktop-icon-glyph{display:grid;width:3rem;height:3rem;place-items:center;border:1px solid rgba(182,246,255,.28);border-radius:13px;box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -.9rem 1.4rem rgba(0,0,0,.12),0 .9rem 2rem var(--app-icon-glow)}.desktop-icon-glyph svg{width:1.55rem;height:1.55rem}.desktop-icon-label{display:block;margin-top:.75rem;color:var(--color-text);font-size:.9rem;font-weight:700}.dock-shell{position:fixed;right:50%;bottom:1rem;z-index:35;width:min(calc(100vw - 1.5rem),34rem);transform:translateX(50%);border:1px solid rgba(225,250,255,.16);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.055)),rgba(4,12,23,.66);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 1.6rem 4.5rem rgba(0,0,0,.48);backdrop-filter:blur(28px) saturate(1.35)}.dock-item{position:relative;display:grid;min-width:2.75rem;height:2.75rem;place-items:center;border:1px solid rgba(225,250,255,.14);border-radius:15px;background:radial-gradient(circle at 30% 18%,rgba(255,255,255,.18),transparent 38%),rgba(255,255,255,.07);color:var(--color-text);transition:transform .18s ease,background-color .18s ease,border-color .18s ease}.dock-item-icon{display:grid;width:2.05rem;height:2.05rem;place-items:center;border-radius:.72rem;background:var(--app-icon-bg);color:var(--app-icon-fg);box-shadow:inset 0 1px 0 rgba(255,255,255,.44),inset 0 -.65rem 1rem rgba(0,0,0,.12),0 .45rem 1.1rem var(--app-icon-glow)}.dock-item-icon svg{width:1.1rem;height:1.1rem}.dock-item:focus-visible,.dock-item:hover{border-color:rgba(182,246,255,.38);background:radial-gradient(circle at 30% 18%,rgba(255,255,255,.22),transparent 38%),rgba(101,228,255,.14);transform:translateY(-4px) scale(1.04)}.dock-item-open{border-color:rgba(182,246,255,.36);background:radial-gradient(circle at 30% 18%,rgba(255,255,255,.22),transparent 38%),rgba(101,228,255,.14)}.dock-item-open:after{position:absolute;bottom:.18rem;left:50%;width:.28rem;height:.28rem;transform:translateX(-50%);border-radius:999px;background:var(--color-accent-cyan);content:""}.dock-item-active{background:radial-gradient(circle at 30% 18%,rgba(255,255,255,.28),transparent 38%),rgba(101,228,255,.2);transform:translateY(-2px)}.dock-item-active:after{width:.46rem;background:rgba(238,253,255,.96);box-shadow:0 0 1rem rgba(101,228,255,.62)}.dock-item-minimized{opacity:.64}.dock-item-minimized:after{background:rgba(255,255,255,.42)}.mobile-panel{position:fixed;inset:0;z-index:60;display:flex;width:100vw;height:100dvh;min-width:320px;flex-direction:column;overflow:hidden;padding:.85rem 1rem .55rem;overscroll-behavior:none;background:radial-gradient(ellipse at 18% 16%,rgba(243,255,255,.28),transparent 18rem),radial-gradient(ellipse at 72% 18%,rgba(111,232,242,.18),transparent 16rem),radial-gradient(ellipse at 24% 78%,rgba(0,54,202,.56),transparent 23rem),linear-gradient(180deg,#1f85c0,#1a5fc5 56%,#8bd8d4);color:#ffffff}.mobile-panel-header{display:grid;min-height:3.1rem;grid-template-columns:minmax(4.5rem,auto) minmax(0,1fr) 2.5rem;align-items:center;gap:.6rem}.mobile-panel-back,.mobile-panel-glyph{display:grid;width:2.35rem;height:2.35rem;place-items:center;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,.1)),rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.48),0 .8rem 2.2rem rgba(0,42,116,.22);backdrop-filter:blur(20px) saturate(1.28)}.mobile-panel-back{display:inline-flex;width:auto;min-width:4.4rem;gap:.42rem;padding:0 .76rem}.mobile-panel-back-icon{width:.65rem;height:.65rem;transform:rotate(-45deg) translate(1px,1px);border-top:2px solid rgba(255,255,255,.9);border-left:2px solid rgba(255,255,255,.9)}.mobile-panel-back-label{color:rgba(255,255,255,.86);font-size:.76rem;font-weight:700}.mobile-panel-title{min-width:0;overflow:hidden;color:rgba(255,255,255,.92);font-size:.95rem;font-weight:720;text-align:center;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 12px rgba(0,42,116,.24)}.mobile-panel-glyph{justify-self:end;background:var(--app-icon-bg);color:var(--app-icon-fg)}.mobile-panel-glyph svg{width:1.1rem;height:1.1rem}.mobile-panel-body{min-height:0;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;margin-top:.8rem;border:1px solid rgba(255,255,255,.28);border-radius:1.65rem;background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.045)),rgba(5,20,39,.34);padding:1rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 1rem 3rem rgba(0,35,112,.24);overscroll-behavior:contain;touch-action:pan-y;backdrop-filter:blur(26px) saturate(1.28)}.mobile-panel .app-kicker{color:rgba(234,255,255,.82)}.mobile-panel .app-card h3,.mobile-panel .app-content h2{color:#ffffff}.mobile-panel .app-card li,.mobile-panel .app-card p,.mobile-panel .app-summary{color:rgba(255,255,255,.78)}.mobile-panel .app-card{background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.045)),rgba(255,255,255,.06)}.rosado-wallpaper{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 18% 8%,rgba(108,245,236,.2),transparent 22rem),radial-gradient(ellipse at 82% 12%,rgba(224,111,184,.18),transparent 28rem),radial-gradient(ellipse at 54% 72%,rgba(41,105,255,.42),transparent 34rem),radial-gradient(ellipse at 20% 88%,rgba(98,58,169,.28),transparent 26rem),linear-gradient(145deg,#03040a,#07101e 38%,#05030c)}.rosado-wallpaper-dark{background:radial-gradient(ellipse at 18% 10%,rgba(89,228,226,.16),transparent 24rem),radial-gradient(ellipse at 86% 16%,rgba(230,101,172,.12),transparent 28rem),radial-gradient(ellipse at 50% 82%,rgba(24,76,230,.34),transparent 34rem),linear-gradient(145deg,#020307,#070b13 42%,#02040a)}.rosado-wallpaper-focus{background:radial-gradient(ellipse at 22% 8%,rgba(163,255,245,.2),transparent 19rem),radial-gradient(ellipse at 78% 12%,rgba(237,105,180,.16),transparent 22rem),radial-gradient(ellipse at 50% 58%,rgba(16,87,255,.62),transparent 30rem),radial-gradient(ellipse at 72% 92%,rgba(96,226,215,.2),transparent 22rem),linear-gradient(180deg,#050812,#0b1730 42%,#05030c)}.rosado-wallpaper-orbit{position:absolute;right:-14vw;left:-14vw;border-radius:52% 48% 47% 53%/72% 76% 24% 28%;filter:blur(.2px) saturate(1.18);mix-blend-mode:screen}.rosado-wallpaper-orbit-one{top:36vh;height:28vh;transform:rotate(-6deg);background:radial-gradient(ellipse at 34% 42%,rgba(255,255,255,.16),transparent 18rem),linear-gradient(100deg,rgba(35,105,255,.06),rgba(28,92,238,.62),rgba(205,245,250,.24));box-shadow:inset 0 1.4rem 3.4rem rgba(255,255,255,.1),inset 0 -2.8rem 4.2rem rgba(0,10,70,.22)}.rosado-wallpaper-orbit-two{top:48vh;height:32vh;transform:rotate(5deg);background:radial-gradient(ellipse at 18% 42%,rgba(121,255,229,.16),transparent 18rem),radial-gradient(ellipse at 74% 56%,rgba(255,159,212,.12),transparent 18rem),linear-gradient(100deg,rgba(4,23,72,.2),rgba(29,64,213,.58),rgba(14,168,202,.18));opacity:.72}.rosado-wallpaper-grain{position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.018) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.014) 1px,transparent 0);background-size:52px 52px;-webkit-mask-image:radial-gradient(circle at 50% 52%,black,transparent 78%);mask-image:radial-gradient(circle at 50% 52%,black,transparent 78%);opacity:.42}.desktop-wallpaper,.login-screen,.mobile-home-shell,.mobile-panel{background:#040711}.login-liquid-field,.login-liquid-shine,.login-liquid-wave{z-index:1}.login-home-indicator,.login-lock-content,.login-mobile-status,.login-screen footer,.login-system-strip{position:relative;z-index:2}.system-menu-trigger{display:inline-flex;min-height:1.8rem;align-items:center;border-radius:999px;background:radial-gradient(circle at 24% 12%,rgba(255,255,255,.18),transparent 40%),rgba(255,255,255,.08);padding:0 .72rem;color:rgba(255,255,255,.92);font-weight:760;box-shadow:inset 0 .08rem .85rem rgba(255,255,255,.14),0 .7rem 1.8rem rgba(0,0,0,.2);backdrop-filter:blur(18px) saturate(1.2)}.system-menu-trigger:focus-visible,.system-menu-trigger:hover{background:radial-gradient(circle at 24% 12%,rgba(255,255,255,.24),transparent 40%),rgba(255,255,255,.12);outline-offset:3px}.system-menu{position:fixed;top:2.6rem;left:.75rem;z-index:86;display:grid;width:min(19rem,calc(100vw - 1.5rem));gap:.18rem;border:0;border-radius:1.15rem;background:radial-gradient(circle at 20% 0,rgba(255,255,255,.18),transparent 38%),linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.055)),rgba(4,9,18,.72);padding:.45rem;box-shadow:inset 0 .1rem 1.1rem rgba(255,255,255,.12),inset 0 -1.5rem 2.5rem rgba(7,31,82,.12),0 2.2rem 5rem rgba(0,0,0,.48);backdrop-filter:blur(30px) saturate(1.35)}.system-menu button{display:grid;grid-template-columns:2rem minmax(0,1fr);align-items:center;gap:.58rem;border:0;border-radius:.82rem;padding:.62rem .72rem;color:rgba(255,255,255,.9);text-align:left}.system-menu button>svg{width:1rem;height:1rem;justify-self:center;color:rgba(139,211,230,.9)}.system-menu button>span{display:grid;min-width:0;gap:.16rem}.system-menu strong{font-size:.82rem;font-weight:760}.system-menu button:focus-visible,.system-menu button:hover{background:rgba(255,255,255,.1)}.system-menu small{color:rgba(224,238,244,.56);font-size:.68rem;line-height:1.25}.system-menu hr{height:1px;border:0;background:rgba(255,255,255,.08);margin:.18rem .3rem}.files-app{display:grid;height:100%;min-height:0;color:var(--color-text);grid-template-columns:12.5rem minmax(0,1fr)}.files-sidebar{display:grid;align-content:start;gap:.36rem;min-height:0;padding:.72rem;background:radial-gradient(circle at 20% 0,rgba(255,255,255,.12),transparent 44%),rgba(255,255,255,.035);box-shadow:inset -.08rem 0 1rem rgba(255,255,255,.04)}.files-sidebar-item{display:flex;min-height:2.3rem;align-items:center;gap:.55rem;border:0;border-radius:.8rem;padding:0 .62rem;color:rgba(230,242,247,.72);font-size:.78rem;font-weight:700}.files-sidebar-item span{display:grid;width:1.55rem;height:1.55rem;place-items:center;border-radius:.48rem;background:radial-gradient(circle at 30% 18%,rgba(255,255,255,.52),transparent 38%),linear-gradient(145deg,rgba(0,122,255,.2),rgba(0,122,255,.08));color:#007aff}.files-sidebar-item span svg{width:.95rem;height:.95rem}.files-sidebar-item.active,.files-sidebar-item:focus-visible,.files-sidebar-item:hover{background:rgba(255,255,255,.11);color:rgba(255,255,255,.94)}.files-main{min-width:0;min-height:0;display:flex;flex-direction:column;padding:.78rem}.files-toolbar{display:flex;min-height:2.6rem;gap:.58rem;min-width:0}.files-nav-button,.project-card-actions :is(button,a){border-radius:999px;background:radial-gradient(circle at 28% 10%,rgba(255,255,255,.18),transparent 38%),rgba(255,255,255,.08);color:rgba(255,255,255,.84);font-size:.72rem;font-weight:750;box-shadow:inset 0 .08rem .8rem rgba(255,255,255,.08)}.files-nav-button{min-height:2rem;padding:0 .7rem}.files-breadcrumbs{display:flex;min-width:0;gap:.25rem;overflow:hidden}.files-breadcrumb{flex:0 1 auto;min-width:0;border:0;border-radius:999px;padding:.35rem .5rem;color:rgba(221,237,244,.68);font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;text-overflow:ellipsis;white-space:nowrap}.files-breadcrumb:focus-visible,.files-breadcrumb:hover,.files-nav-button:hover,.project-card-actions :is(button,a):hover{background:rgba(255,255,255,.13);color:#ffffff}.files-content-grid{display:grid;flex:1;grid-template-columns:minmax(12rem,.88fr) minmax(15rem,1.12fr);gap:.78rem;min-height:0;margin-top:.7rem;overflow:hidden}.files-list,.files-reader{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-color:rgba(139,211,230,.28) transparent;border-radius:1rem;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.025)),rgba(0,0,0,.14);padding:.62rem;box-shadow:inset 0 .1rem 1rem rgba(255,255,255,.06)}.files-row{display:grid;width:100%;grid-template-columns:2.4rem minmax(0,1fr);align-items:center;gap:.62rem;border:0;border-radius:.86rem;padding:.55rem;color:rgba(238,246,248,.82);text-align:left}.files-row.active,.files-row:focus-visible,.files-row:hover{background:rgba(255,255,255,.1)}.files-row-glyph{display:grid;width:2.25rem;height:2.25rem;place-items:center;border-radius:.72rem;background:radial-gradient(circle at 32% 16%,rgba(255,255,255,.26),transparent 38%),rgba(91,211,234,.12);font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.58rem;font-weight:800;box-shadow:inset 0 .08rem .9rem rgba(255,255,255,.12),0 .7rem 1.6rem rgba(0,0,0,.16)}.files-row.folder .files-row-glyph{background:radial-gradient(circle at 32% 16%,rgba(255,255,255,.3),transparent 38%),rgba(216,177,95,.16)}.files-row-copy{display:grid;gap:.12rem}.files-row-name{overflow:hidden;font-size:.82rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.files-reader-kicker,.files-row-type{color:rgba(139,211,230,.82);font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.66rem;font-weight:800;text-transform:uppercase}.files-reader h3{margin-top:.45rem;color:#ffffff;font-size:1.05rem;font-weight:780}.files-reader p{margin-top:.55rem;color:rgba(226,239,244,.74);font-size:.84rem;line-height:1.58}.files-reader pre{margin-top:.82rem;overflow:visible;white-space:pre-wrap;color:rgba(236,247,250,.78);font-family:inherit;font-size:.84rem;line-height:1.6}.files-empty{padding:.7rem;color:rgba(226,239,244,.58);font-size:.82rem}.project-card-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.project-card-actions :is(button,a){min-height:2.1rem;padding:0 .72rem}.files-app-compact{grid-template-columns:1fr;padding:0}.files-app-compact .files-sidebar{display:none}.files-app-compact .files-main{padding:0}.files-app-compact .files-toolbar{min-height:2.45rem}.files-app-compact .files-content-grid{grid-template-columns:1fr;overflow:auto}.files-app-compact .files-list,.files-app-compact .files-reader{min-height:auto;overflow:visible}.mobile-status-button{border:0;border-radius:999px;background:rgba(255,255,255,.1);padding:.32rem .58rem;color:rgba(255,255,255,.84);font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.68rem;font-weight:800;text-transform:uppercase}.mobile-home-indicator-button{border:0;cursor:pointer}.mobile-panel-wallpaper{opacity:.96}.mobile-panel-body,.mobile-panel-header,.mobile-panel>.mobile-home-indicator{position:relative;z-index:1}.mobile-system-overlay{position:fixed;inset:0;z-index:96;overflow:hidden;color:#ffffff}.mobile-overlay-scrim{position:absolute;inset:0;border:0;background:rgba(0,0,0,.34);backdrop-filter:blur(10px)}.mobile-app-switcher,.mobile-control-center{position:absolute;right:.72rem;left:.72rem;overflow:auto;overscroll-behavior:contain;border:0;background:radial-gradient(circle at 18% 0,rgba(255,255,255,.18),transparent 40%),linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.07)),rgba(6,12,24,.7);box-shadow:inset 0 .12rem 1.2rem rgba(255,255,255,.14),inset 0 -1.6rem 2.6rem rgba(16,66,144,.14),0 2rem 5.2rem rgba(0,0,0,.48);backdrop-filter:blur(34px) saturate(1.35)}.mobile-control-center{top:.72rem;animation:mobile-control-enter .18s ease-out both}.mobile-app-switcher,.mobile-control-center{max-height:calc(100dvh - 1.44rem);border-radius:1.8rem;padding:1rem}.mobile-app-switcher{bottom:.72rem;animation:mobile-switcher-enter .18s ease-out both}.mobile-control-header,.mobile-switcher-header{display:flex;align-items:start;justify-content:space-between;gap:1rem}.mobile-control-kicker{color:rgba(139,211,230,.82);font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.68rem;font-weight:800;text-transform:uppercase}.mobile-control-header h2,.mobile-switcher-header h2{margin-top:.22rem;color:#ffffff;font-size:1.35rem;font-weight:780}.mobile-control-close,.mobile-switcher-close{border:0;border-radius:999px;background:rgba(255,255,255,.1);padding:.52rem .7rem;color:rgba(255,255,255,.82);font-size:.72rem;font-weight:780}.mobile-control-actions button,.mobile-device-card,.mobile-switcher-card,.mobile-switcher-empty{border:0;border-radius:1.1rem;background:rgba(255,255,255,.075);box-shadow:inset 0 .1rem .95rem rgba(255,255,255,.08)}.mobile-device-card{display:grid;gap:.28rem;margin-top:.95rem;padding:.9rem;color:rgba(240,249,251,.76);font-size:.78rem;line-height:1.35}.mobile-control-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.58rem;margin-top:.8rem}.mobile-control-actions button{min-height:2.8rem;color:rgba(255,255,255,.86);font-size:.78rem;font-weight:780}.mobile-switcher-grid{display:grid;gap:.72rem;margin-top:1rem}.mobile-switcher-card{display:grid;gap:.58rem;padding:.72rem}.mobile-switcher-card.active{background:radial-gradient(circle at 18% 0,rgba(255,255,255,.18),transparent 42%),rgba(139,211,230,.14)}.mobile-switcher-open{display:grid;grid-template-columns:3rem minmax(0,1fr);align-items:center;gap:.7rem;border:0;color:rgba(255,255,255,.9);text-align:left}.mobile-switcher-glyph{display:grid;width:2.8rem;height:2.8rem;place-items:center;border-radius:.9rem;background:var(--app-icon-bg);color:var(--app-icon-fg);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 .6rem 1.4rem var(--app-icon-glow)}.mobile-switcher-glyph svg{width:1.35rem;height:1.35rem}.mobile-switcher-open span:last-child{display:grid;min-width:0;gap:.2rem}.mobile-switcher-open small,.mobile-switcher-open strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-switcher-open small{color:rgba(231,242,246,.58);font-size:.72rem;line-height:1.32}.mobile-switcher-close{justify-self:start;min-height:2rem}.mobile-switcher-empty{margin-top:1rem;padding:1rem;color:rgba(231,242,246,.66);font-size:.84rem}.desktop-icon,.desktop-icon-glyph,.desktop-window,.desktop-window-control,.desktop-window-glyph,.desktop-window-titlebar,.dock-item,.dock-shell,.files-breadcrumb,.files-list,.files-nav-button,.files-reader,.files-row,.files-row-glyph,.files-sidebar-item,.glass-avatar,.login-action,.mobile-app-glyph,.mobile-app-switcher,.mobile-control-actions button,.mobile-control-center,.mobile-control-close,.mobile-device-card,.mobile-dock,.mobile-dock-item,.mobile-home-indicator-button,.mobile-overlay-scrim,.mobile-panel-back,.mobile-panel-body,.mobile-panel-glyph,.mobile-status-button,.mobile-switcher-card,.mobile-switcher-close,.mobile-switcher-empty,.mobile-switcher-open,.project-card-actions :is(button,a),.system-menu,.system-menu button,.system-topbar{border:0}.desktop-icon-glyph,.desktop-window,.dock-item,.dock-shell,.glass-avatar,.mobile-app-glyph,.mobile-dock,.mobile-dock-item,.mobile-panel-body{background-blend-mode:screen,normal,normal}.glass-avatar{box-shadow:inset 0 .12rem 1rem rgba(255,255,255,.32),inset 0 -1.4rem 1.8rem rgba(0,46,120,.2),inset 0 0 0 1px rgba(255,255,255,.06),0 1.2rem 3.4rem rgba(0,38,110,.28)}.desktop-window{box-shadow:inset 0 .08rem 1.2rem rgba(255,255,255,.12),inset 0 -2.4rem 3.8rem rgba(0,44,118,.08),0 2.8rem 6.5rem rgba(0,0,0,.54)}.desktop-window-active{box-shadow:inset 0 .1rem 1.35rem rgba(255,255,255,.16),inset 0 -2.4rem 3.8rem rgba(0,44,118,.08),0 3rem 7rem rgba(0,0,0,.58)}.dock-shell,.mobile-dock{box-shadow:inset 0 .1rem 1.2rem rgba(255,255,255,.18),inset 0 -1.4rem 2.6rem rgba(0,42,116,.12),0 1.8rem 4.8rem rgba(0,0,0,.44)}.desktop-icon,.desktop-window-glyph,.dock-item,.mobile-app-glyph,.mobile-dock-item,.mobile-panel-back,.mobile-panel-glyph{box-shadow:inset 0 .08rem .9rem rgba(255,255,255,.16),inset 0 -1rem 1.6rem rgba(0,37,110,.1),0 1rem 2.6rem rgba(0,0,0,.24)}.app-card{box-shadow:inset 0 .08rem 1rem rgba(255,255,255,.08)}@media (max-width:640px){.dock-shell{position:sticky;right:auto;bottom:.75rem;width:calc(100% - 2rem);margin:0 auto;transform:none}.dock-item:focus-visible,.dock-item:hover{transform:translateY(-2px)}}@media (max-width:767px){.login-screen{position:fixed;inset:0;width:100vw;height:100dvh;min-height:100dvh;overflow:hidden;overscroll-behavior:none;touch-action:none;background:radial-gradient(ellipse at 46% 20%,rgba(236,252,255,.34),transparent 16rem),radial-gradient(ellipse at 18% 78%,rgba(0,55,178,.8),transparent 24rem),radial-gradient(ellipse at 84% 88%,rgba(158,238,238,.6),transparent 20rem),radial-gradient(ellipse at 74% 18%,rgba(196,126,224,.14),transparent 14rem),linear-gradient(180deg,#2f9ed3,#73bed5 32%,#1d70d4 64%,#a8ded6)}.login-liquid-field{inset:-12% -42%;filter:blur(20px) saturate(1.18)}.login-liquid-wave-primary{top:49vh;height:34vh;transform:rotate(-9deg)}.login-liquid-wave-secondary{top:44vh;height:19vh;transform:rotate(6deg)}.login-liquid-shine{top:47vh;right:-38vw;width:120vw}.login-lock-clock{margin-top:clamp(3.2rem,8vh,4.8rem)}.login-time{font-size:clamp(6.5rem,31vw,8.6rem);letter-spacing:0;-webkit-text-stroke:1.2px rgba(233,255,255,.64)}.login-profile{max-width:20rem}.login-avatar{width:3.75rem;height:3.75rem}.login-action{min-height:3.35rem;max-width:16.5rem}}@media (min-width:1024px){.desktop-icon{display:flex;min-height:6.7rem;flex-direction:column;align-items:center;justify-content:flex-start;padding:.75rem .45rem;text-align:center}.desktop-icon-glyph{width:3.2rem;height:3.2rem}.desktop-icon-label{margin-top:.55rem;font-size:.78rem;line-height:1.2}}.desktop-window{border-color:rgba(223,250,255,.08);border-radius:21px;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.045) 34%,rgba(7,14,24,.68)),rgba(3,7,14,.72);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),inset 0 -32px 80px rgba(12,58,132,.1),0 34px 90px rgba(0,0,0,.56),0 8px 22px rgba(0,0,0,.32)}.desktop-window-active{box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -34px 86px rgba(18,86,172,.13),0 44px 110px rgba(0,0,0,.62),0 12px 32px rgba(0,0,0,.34)}.desktop-window-titlebar{min-height:2.9rem;grid-template-columns:4.6rem minmax(0,1fr) 2.2rem;border-bottom-color:rgba(225,250,255,.08);background:radial-gradient(circle at 50% 0,rgba(255,255,255,.18),transparent 42%),linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.025))}.desktop-window-title{color:rgba(238,249,255,.76);font-family:inherit;font-size:.78rem;font-weight:720}.desktop-window-glyph{box-shadow:inset 0 .08rem .9rem rgba(255,255,255,.12),0 .6rem 1.4rem var(--app-icon-glow)}.desktop-window-control{width:.82rem;height:.82rem;background:radial-gradient(circle at 32% 22%,rgba(255,255,255,.68),transparent 36%),rgba(255,255,255,.2);box-shadow:inset 0 .05rem .45rem rgba(255,255,255,.18),0 .25rem .7rem rgba(0,0,0,.24)}.desktop-window-close{background:radial-gradient(circle at 32% 22%,rgba(255,255,255,.7),transparent 36%),rgba(238,118,154,.62)}.desktop-window-minimize{background:radial-gradient(circle at 32% 22%,rgba(255,255,255,.66),transparent 36%),rgba(149,191,220,.52)}.desktop-window-maximize{background:radial-gradient(circle at 32% 22%,rgba(255,255,255,.68),transparent 36%),rgba(95,224,236,.48)}.desktop-window-control:focus-visible,.desktop-window-control:hover{filter:brightness(1.12) saturate(1.12);transform:scale(1.04)}.desktop-window-body{height:calc(100% - 2.9rem);background:linear-gradient(180deg,rgba(255,255,255,.018),transparent 8rem)}.dock-shell{width:min(calc(100vw - 1.5rem),32rem);border-color:rgba(225,250,255,.08);background:radial-gradient(circle at 50% 0,rgba(255,255,255,.18),transparent 48%),linear-gradient(180deg,rgba(255,255,255,.15),rgba(255,255,255,.045)),rgba(3,8,15,.68)}.dock-item{border-color:transparent;background:radial-gradient(circle at 32% 18%,rgba(255,255,255,.18),transparent 38%),linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.025))}.dock-item-open,.dock-item:focus-visible,.dock-item:hover{border-color:transparent;background:radial-gradient(circle at 32% 18%,rgba(255,255,255,.26),transparent 38%),linear-gradient(145deg,rgba(119,229,255,.16),rgba(255,255,255,.05))}.desktop-icon-layer{position:absolute;inset:0;z-index:1}.desktop-icon{position:absolute;top:var(--desktop-icon-y,5rem);left:var(--desktop-icon-x,2rem);display:flex;width:6.5rem;min-height:5.8rem;flex-direction:column;align-items:center;justify-content:flex-start;border:0;border-radius:.9rem;background:transparent;padding:.35rem .25rem;box-shadow:none;cursor:default;text-align:center;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.desktop-icon-active,.desktop-icon:focus-visible,.desktop-icon:hover{background:rgba(255,255,255,.08);box-shadow:inset 0 .08rem .9rem rgba(255,255,255,.08),0 .55rem 1.6rem rgba(0,0,0,.18);transform:none}.desktop-icon:focus-visible{outline:0;box-shadow:inset 0 .08rem .9rem rgba(255,255,255,.1),0 0 0 .18rem rgba(137,232,255,.2)}.desktop-icon-dragging{z-index:4;background:rgba(255,255,255,.11);transition:none}.desktop-icon-glyph{width:3.15rem;height:3.15rem;border:0;border-radius:.95rem;box-shadow:inset 0 .08rem .9rem rgba(255,255,255,.14),0 .9rem 1.8rem var(--app-icon-glow)}.desktop-icon-label{max-width:100%;margin-top:.48rem;overflow:hidden;color:rgba(246,252,255,.94);font-size:.74rem;font-weight:720;line-height:1.16;text-shadow:0 .08rem .45rem rgba(0,0,0,.52);text-overflow:ellipsis}.desktop-icon-open .desktop-icon-label:after{display:block;width:.28rem;height:.28rem;margin:.3rem auto 0}.files-toolbar{grid-template-columns:auto minmax(7rem,1fr) minmax(18rem,auto);align-items:flex-start}.files-toolbar-actions{display:flex;flex:1;gap:.38rem;justify-content:flex-start;min-width:0;overflow-x:auto;padding-bottom:.16rem;scrollbar-width:none}.files-toolbar-actions::-webkit-scrollbar{display:none}.files-editor-actions button,.files-reader-actions button,.files-toolbar-actions button{flex:0 0 auto;background:radial-gradient(circle at 28% 10%,rgba(255,255,255,.16),transparent 38%),rgba(255,255,255,.08);padding:0 .68rem;color:rgba(245,252,255,.84);font-size:.7rem;font-weight:760}.files-editor-actions button:disabled,.files-toolbar-actions button:disabled{cursor:not-allowed;opacity:.36}.files-editor-actions button:focus-visible,.files-editor-actions button:hover,.files-reader-actions button:focus-visible,.files-reader-actions button:hover,.files-toolbar-actions button:not(:disabled):focus-visible,.files-toolbar-actions button:not(:disabled):hover{background:rgba(255,255,255,.14);color:#ffffff}.files-local-note{margin:.7rem .3rem 0;color:rgba(226,239,244,.48);font-size:.68rem;line-height:1.4}.files-row{min-height:3.15rem}.files-editor-actions,.files-reader-actions{display:flex;flex-wrap:wrap;gap:.48rem;margin-top:.9rem}.files-editor{display:grid;gap:.55rem;margin-top:.8rem}.files-editor label{color:rgba(139,211,230,.82);font-size:.72rem;font-weight:780}.files-editor textarea{min-height:14rem;resize:vertical;border:0;border-radius:.95rem;background:rgba(0,0,0,.24);padding:.82rem;color:rgba(244,251,253,.9);font:inherit;line-height:1.55;outline:0;box-shadow:inset 0 .08rem 1rem rgba(255,255,255,.05),0 0 0 1px rgba(225,250,255,.06)}.files-editor textarea:focus{box-shadow:inset 0 .08rem 1rem rgba(255,255,255,.07),0 0 0 .18rem rgba(137,232,255,.18)}@media (max-width:767px){.files-toolbar{display:flex;flex-wrap:wrap;gap:.44rem}.files-breadcrumbs{order:3;width:100%;flex-basis:100%}.files-toolbar-actions{order:4;width:100%;justify-content:flex-start}.files-content-grid{display:block;margin-top:.72rem}.files-list,.files-reader{min-height:calc(100dvh - 12rem);max-height:calc(100dvh - 12rem)}.files-reader{overflow:auto}.files-editor textarea{min-height:18rem}}@keyframes os-fade-in{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes mobile-control-enter{0%{opacity:0;transform:translateY(-.8rem) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes mobile-switcher-enter{0%{opacity:0;transform:translateY(.9rem) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.desktop-wallpaper{background:#86bfd1}.rosado-wallpaper-dark{background:radial-gradient(ellipse at 70% 10%,rgba(246,255,255,.92),transparent 34rem),radial-gradient(ellipse at 18% 22%,rgba(255,255,255,.52),transparent 24rem),linear-gradient(180deg,#2383bf,#73c0d1 34%,#84d8d8 53%,#54b7bf 72%,#1579ac)}.rosado-wallpaper-focus{background:radial-gradient(ellipse at 18% 12%,rgba(255,255,255,.2),transparent 18rem),radial-gradient(ellipse at 74% 22%,rgba(21,116,186,.38),transparent 24rem),radial-gradient(ellipse at 26% 78%,rgba(0,14,38,.88),transparent 28rem),linear-gradient(180deg,#667a7d,#313235 40%,#86502a 74%,#111113)}.rosado-wallpaper-orbit-one{top:48vh;height:20vh;transform:rotate(-3deg);background:radial-gradient(ellipse at 64% 42%,rgba(255,255,255,.62),transparent 18rem),linear-gradient(100deg,rgba(255,255,255,0),rgba(215,246,250,.7),rgba(19,99,186,.42));opacity:.82}.rosado-wallpaper-orbit-two{top:58vh;height:34vh;transform:rotate(2deg);background:radial-gradient(ellipse at 22% 48%,rgba(156,238,229,.38),transparent 18rem),linear-gradient(100deg,rgba(7,69,163,.54),rgba(66,113,205,.42),rgba(236,255,255,.2));opacity:.7}.rosado-wallpaper-grain{background:linear-gradient(rgba(255,255,255,.03) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 0);background-size:72px 72px;opacity:.22}.system-topbar{min-height:2rem;border:0;background:rgba(43,125,176,.5);color:rgba(255,255,255,.94);box-shadow:inset 0 -1px 0 rgba(255,255,255,.14),0 .4rem 1.4rem rgba(13,76,123,.18);backdrop-filter:blur(24px) saturate(1.34)}.system-topbar-left,.system-topbar-right{min-width:0}.system-topbar-center{color:rgba(255,255,255,.92)!important;font-size:.78rem;font-weight:720;text-shadow:0 1px 8px rgba(0,31,66,.22)}.system-active-app,.system-topbar-indicator,.system-topbar-right button,.system-topbar-time{color:rgba(255,255,255,.92)!important;font-size:.76rem;font-weight:720;text-shadow:0 1px 9px rgba(0,45,82,.2)}.system-active-app{font-weight:800}.system-topbar-right button{display:inline-flex;align-items:center;gap:.3rem;min-height:1.55rem;border-radius:.55rem;padding:0 .42rem}.system-topbar-icon{display:grid;width:1.12rem;height:1.12rem;place-items:center;border-radius:.34rem;background:var(--app-icon-bg);color:var(--app-icon-fg);box-shadow:inset 0 1px 0 rgba(255,255,255,.32)}.system-topbar-icon svg{width:.68rem;height:.68rem}.system-topbar-right button:focus-visible,.system-topbar-right button:hover{background:rgba(255,255,255,.16)!important;outline:0}.system-topbar-indicator{display:inline-flex;min-height:1.55rem;align-items:center;border-radius:.5rem;padding:0 .32rem}.system-menu-trigger{min-height:1.55rem;border:0;background:transparent;box-shadow:none;padding:0 .18rem;color:rgba(255,255,255,.96);font-size:.78rem;font-weight:820;backdrop-filter:none}.system-menu-trigger:focus-visible,.system-menu-trigger:hover{background:transparent;outline:0}.desktop-window{border:0;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(250,252,253,.82)),rgba(255,255,255,.78);color:#1d1d1f;box-shadow:inset 0 0 0 .5px rgba(48,68,88,.16),0 32px 88px rgba(28,57,80,.3),0 9px 28px rgba(21,43,60,.16);opacity:1;backdrop-filter:blur(34px) saturate(1.22)}.desktop-window-active{filter:none;box-shadow:inset 0 0 0 .5px rgba(48,68,88,.16),0 40px 120px rgba(22,54,79,.34),0 12px 32px rgba(21,43,60,.18)}.desktop-window-inactive{filter:saturate(.96);opacity:.92}.desktop-window-titlebar{min-height:3rem;border-bottom:0;background:rgba(255,255,255,.36);box-shadow:inset 0 -1px 0 rgba(74,88,99,.08)}.desktop-window-title{color:rgba(34,38,43,.76);font-size:.82rem;font-weight:760}.desktop-window-glyph{width:1.9rem;height:1.9rem;border:0;background:var(--app-icon-bg);color:var(--app-icon-fg);box-shadow:inset 0 0 0 .5px rgba(30,41,55,.06),0 .35rem 1rem var(--app-icon-glow)}.desktop-window-control{width:.78rem;height:.78rem;border:0;box-shadow:inset 0 0 0 .5px rgba(31,41,55,.14),inset 0 .08rem .28rem rgba(255,255,255,.48)}.desktop-window-close{background:#ff6b65}.desktop-window-minimize{background:#f5bf4f}.desktop-window-maximize{background:#4cc469}.desktop-window-control:focus-visible,.desktop-window-control:hover{filter:brightness(1.02);outline:0;transform:none}.desktop-window-body{height:calc(100% - 3rem);background:rgba(255,255,255,.18);color:#1d1d1f;scrollbar-color:rgba(88,103,120,.34) transparent}.desktop-window .app-content{color:#1d1d1f}.desktop-window .app-card li,.desktop-window .app-card p,.desktop-window .app-kicker,.desktop-window .app-summary{color:rgba(47,55,65,.72)}.desktop-window .app-card h3,.desktop-window .app-content h2{color:#1d1d1f}.desktop-window .app-card{border:0;background:rgba(255,255,255,.55);box-shadow:inset 0 0 0 .5px rgba(34,48,62,.08)}.desktop-window-area{z-index:24}.desktop-icon{width:6.4rem;min-height:5.9rem}.desktop-icon-active,.desktop-icon-dragging,.desktop-icon:focus-visible,.desktop-icon:hover{background:rgba(255,255,255,.22);box-shadow:inset 0 0 0 .5px rgba(255,255,255,.42),0 .8rem 2rem rgba(19,62,93,.16)}.desktop-icon-glyph{border-radius:.72rem;background:var(--app-icon-bg);color:var(--app-icon-fg);box-shadow:inset 0 0 0 .5px rgba(24,44,64,.1),0 .55rem 1.2rem var(--app-icon-glow)}.desktop-icon-label{color:#ffffff;text-shadow:0 1px 2px rgba(0,0,0,.42),0 2px 8px rgba(0,40,70,.36)}.dock-shell{bottom:.7rem;width:min(calc(100vw - 3rem),58rem);border:0;border-radius:1.05rem;background:rgba(238,248,246,.32);box-shadow:inset 0 0 0 .5px rgba(255,255,255,.32),inset 0 1px 0 rgba(255,255,255,.42),0 1.2rem 4rem rgba(0,37,62,.28);backdrop-filter:blur(30px) saturate(1.28)}.dock-item{min-width:2.8rem;height:2.8rem;border:0;border-radius:.72rem;background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(226,238,246,.76)),rgba(255,255,255,.82);color:#1d1d1f;box-shadow:inset 0 0 0 .5px rgba(26,48,68,.08),0 .45rem 1.2rem rgba(0,45,74,.16)}.dock-item-active,.dock-item-open,.dock-item:focus-visible,.dock-item:hover{border:0;background:linear-gradient(180deg,#ffffff,rgba(229,242,250,.9)),rgba(255,255,255,.88)}.dock-item:focus-visible,.dock-item:hover{outline:0;transform:translateY(-.42rem) scale(1.05)}.dock-item-open:after{bottom:-.32rem;background:rgba(18,48,70,.66)}.desktop-widgets{position:absolute;top:2rem;right:1rem;z-index:2;display:grid;width:min(24rem,26vw);grid-template-columns:repeat(2,minmax(0,1fr));gap:.72rem;pointer-events:auto}.desktop-widget{min-height:8rem;border:0;border-radius:1.25rem;background:rgba(247,252,252,.18);color:rgba(255,255,255,.88);padding:1rem;box-shadow:inset 0 0 0 .5px rgba(255,255,255,.2),inset 0 1px 0 rgba(255,255,255,.26),0 1rem 3rem rgba(0,50,76,.16);text-shadow:0 1px 10px rgba(0,45,76,.3);backdrop-filter:blur(26px) saturate(1.2)}.desktop-widget p{font-size:.72rem;font-weight:860;letter-spacing:.04em;opacity:.82}.desktop-widget strong{display:block;margin-top:.18rem;font-size:1.9rem;font-weight:520;line-height:1}.desktop-widget span{color:rgba(255,255,255,.72);font-size:.78rem;font-weight:700}.files-app{color:#1d1d1f;grid-template-columns:13.8rem minmax(0,1fr);background:rgba(255,255,255,.72)}.files-sidebar{gap:.62rem;background:linear-gradient(180deg,rgba(229,249,252,.78),rgba(243,250,251,.58)),rgba(235,249,252,.64);box-shadow:inset -1px 0 0 rgba(51,68,84,.08),inset 1px 0 0 rgba(255,255,255,.45)}.files-sidebar-section{display:grid;gap:.16rem}.files-sidebar-heading{margin:.64rem .45rem .22rem;color:rgba(58,66,73,.62);font-size:.74rem;font-weight:820}.files-sidebar-item{min-height:2rem;border-radius:.62rem;color:rgba(22,29,36,.86);font-size:.82rem;font-weight:660}.files-sidebar-item span{width:1.35rem;height:1.35rem;border-radius:.38rem;background:radial-gradient(circle at 30% 18%,rgba(255,255,255,.52),transparent 38%),linear-gradient(145deg,rgba(0,122,255,.18),rgba(0,122,255,.08));color:rgba(0,122,255,.92)}.files-sidebar-item span svg{width:.86rem;height:.86rem}.files-sidebar-item.active,.files-sidebar-item:focus-visible,.files-sidebar-item:hover{background:rgba(0,122,255,.12);color:#007aff;outline:0}.files-tag-row{display:flex;min-height:1.76rem;align-items:center;gap:.72rem;padding:0 .6rem;color:rgba(22,29,36,.82);font-size:.8rem;font-weight:620}.files-tag-row span{width:.62rem;height:.62rem;border-radius:999px;background:var(--tag-color)}.files-local-note{color:rgba(22,29,36,.44)}.files-main{padding:0;background:rgba(255,255,255,.84)}.files-toolbar{display:grid;min-height:5.7rem;grid-template-columns:auto minmax(10rem,1fr) auto minmax(9rem,15rem);align-items:center;gap:.7rem;padding:.52rem .9rem;background:rgba(255,255,255,.68);box-shadow:inset 0 -1px 0 rgba(31,41,55,.08)}.files-navigation-cluster{display:flex;gap:.28rem}.files-title-area{display:grid;min-width:0;gap:.1rem}.files-title-area h2{overflow:hidden;color:rgba(29,29,31,.84);font-size:.92rem;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.files-breadcrumbs{gap:.12rem}.files-breadcrumb{color:rgba(75,85,99,.68);font-family:inherit;font-size:.68rem}.files-nav-button,.project-card-actions :is(button,a){border:0;background:rgba(247,249,250,.88);color:rgba(31,41,55,.78);box-shadow:inset 0 0 0 .5px rgba(31,41,55,.08),0 .25rem .9rem rgba(31,56,76,.06)}.files-nav-button{display:inline-grid;min-width:2.1rem;min-height:2.1rem;place-items:center;border-radius:999px;padding:0 .64rem;font-size:.8rem}.files-nav-button:focus-visible,.files-nav-button:hover{background:#ffffff;color:#111827;outline:0}.files-nav-button:disabled{opacity:.42}.files-view-switcher{display:inline-flex;min-height:2.1rem;align-items:center;gap:.12rem;border-radius:999px;background:rgba(247,249,250,.88);padding:.16rem;box-shadow:inset 0 0 0 .5px rgba(31,41,55,.08)}.files-view-switcher span{display:grid;min-width:2.05rem;min-height:1.72rem;place-items:center;border-radius:999px;color:rgba(31,41,55,.68);font-weight:760}.files-view-switcher span svg{width:.94rem;height:.94rem}.files-view-switcher .active{background:rgba(29,29,31,.12);color:rgba(29,29,31,.9)}.files-toolbar-actions{grid-column:1/-1;grid-row:2;justify-content:flex-end}.files-search{grid-column:4;grid-row:1}.files-editor-actions button,.files-reader-actions button,.files-toolbar-actions button{display:inline-flex;align-items:center;gap:.4rem;min-height:2rem;border:0;border-radius:999px;padding:0 .72rem;background:rgba(247,249,250,.88);color:rgba(31,41,55,.76);box-shadow:inset 0 0 0 .5px rgba(31,41,55,.08)}.files-editor-actions button svg,.files-reader-actions button svg,.files-toolbar-actions button svg{width:.9rem;height:.9rem;flex:0 0 auto}.files-search{position:relative}.files-search svg{position:absolute;top:50%;left:.72rem;z-index:1;width:.92rem;height:.92rem;transform:translateY(-50%);color:rgba(86,92,100,.58);pointer-events:none}.files-editor-actions button:focus-visible,.files-editor-actions button:hover,.files-reader-actions button:focus-visible,.files-reader-actions button:hover,.files-toolbar-actions button:not(:disabled):focus-visible,.files-toolbar-actions button:not(:disabled):hover{background:#ffffff;color:#111827;outline:0}.files-search input{width:100%;min-height:2.1rem;border:0;border-radius:999px;background:rgba(247,249,250,.94);padding:0 .85rem 0 2.05rem;color:#1d1d1f;font-size:.8rem;outline:0;box-shadow:inset 0 0 0 .5px rgba(31,41,55,.08)}.files-search input:focus{box-shadow:inset 0 0 0 .5px rgba(0,122,255,.34),0 0 0 .18rem rgba(0,122,255,.12)}.files-content-grid{grid-template-columns:minmax(0,1fr) minmax(14rem,16rem);gap:0;margin-top:0}.files-list,.files-reader{border-radius:0;background:transparent;box-shadow:none}.files-list{padding:0 .9rem 1rem}.files-row,.files-table-header{display:grid;grid-template-columns:minmax(10rem,1fr) 8.5rem 4.8rem 6.4rem;align-items:center;gap:.46rem}.files-table-header{position:sticky;top:0;z-index:1;min-height:2.2rem;background:rgba(255,255,255,.9);color:rgba(91,99,107,.78);font-size:.74rem;font-weight:720;box-shadow:inset 0 -1px 0 rgba(31,41,55,.08)}.files-row{min-height:2rem;border-radius:.55rem;padding:0 .52rem;color:#1d1d1f}.files-row:nth-child(odd){background:rgba(31,41,55,.035)}.files-row.active,.files-row:focus-visible,.files-row:hover{background:rgba(0,122,255,.13);outline:0}.files-row-copy{display:flex;min-width:0;align-items:center;gap:.52rem}.files-row-glyph{width:1.2rem;height:1.2rem;border-radius:.24rem;background:linear-gradient(180deg,#5fc8ff,#21a8eb);color:#ffffff;box-shadow:none}.files-row-glyph svg{width:.75rem;height:.75rem}.files-row.folder .files-row-glyph,.files-row[data-file-type=folder] .files-row-glyph{background:linear-gradient(180deg,#5fc8ff,#20a7e6)}.files-row[data-file-type=external-link] .files-row-glyph{background:linear-gradient(180deg,#8bdb8b,#31a861)}.files-row[data-file-type=app-link] .files-row-glyph{background:linear-gradient(180deg,#a5b4ff,#5b74e8)}.files-row[data-file-type=note] .files-row-glyph{background:linear-gradient(180deg,#55c8ee,#1c9bd0)}.files-row-date,.files-row-name,.files-row-size,.files-row-type{overflow:hidden;color:rgba(29,29,31,.9);font-size:.82rem;font-weight:520;text-overflow:ellipsis;white-space:nowrap}.files-row-date,.files-row-size,.files-row-type{color:rgba(86,92,100,.78);text-align:left}.files-reader{padding:1rem;box-shadow:inset 1px 0 0 rgba(31,41,55,.08)}.files-reader-kicker{color:rgba(91,99,107,.68);font-family:inherit}.files-reader h3{color:#1d1d1f}.files-reader p,.files-reader pre{color:rgba(47,55,65,.76)}.files-editor textarea,.files-reader pre{border:0}.files-editor textarea,.files-markdown-preview,.files-reader pre,.files-shortcut-preview{border-radius:1rem;background:rgba(246,248,250,.86);box-shadow:inset 0 0 0 .5px rgba(31,41,55,.08)}.files-markdown-preview,.files-shortcut-preview{display:grid;gap:.72rem;padding:1rem}.files-markdown-preview li,.files-markdown-preview p{margin:0;color:rgba(47,55,65,.78);font-size:.9rem;line-height:1.62}.files-markdown-heading{margin:0;color:#1d1d1f;font-weight:820;line-height:1.18}.files-markdown-heading.level-1{font-size:1.22rem}.files-markdown-heading.level-2,.files-markdown-heading.level-3{font-size:1rem}.files-markdown-list{display:grid;gap:.34rem;margin:0;padding-left:1.1rem}.files-markdown-list li{list-style:disc}.files-markdown-code{margin:0;overflow-x:auto;white-space:pre}.files-shortcut-preview p{margin:0}.files-shortcut-preview code{overflow-wrap:anywhere;color:rgba(47,55,65,.78);font-size:.85rem}.files-shortcut-preview button{width:-moz-fit-content;width:fit-content;min-height:2.45rem;border:1px solid rgba(18,50,71,.18);border-radius:999px;background:#123247;padding:0 .88rem;color:#ffffff;font-weight:780}.files-shortcut-preview button:focus-visible,.files-shortcut-preview button:hover{background:#0c2536}.files-editor textarea{color:#1d1d1f}.files-editor label{color:rgba(47,55,65,.66)}@media (max-width:1180px){.desktop-widgets{width:20rem}}@media (max-width:980px){.desktop-widgets{opacity:.42}}@media (max-width:767px){.desktop-widgets{display:none}.mobile-home-shell{position:fixed;inset:0;width:100vw;height:100dvh;min-height:100dvh;max-height:100dvh;overflow:hidden;padding:max(.8rem,env(safe-area-inset-top)) 1.1rem max(.45rem,env(safe-area-inset-bottom));overscroll-behavior:none;touch-action:none}.mobile-dock,.mobile-home-content,.mobile-home-indicator,.mobile-home-status{position:relative;z-index:1}.mobile-home-status{min-height:2.55rem;color:#ffffff}.mobile-home-time{font-size:1.28rem;font-weight:820;letter-spacing:0}.mobile-status-button{min-height:1.9rem;border:0;background:rgba(255,255,255,.14);color:rgba(255,255,255,.92);box-shadow:inset 0 0 0 .5px rgba(255,255,255,.18),inset 0 1px 0 rgba(255,255,255,.18);backdrop-filter:blur(18px) saturate(1.2)}.mobile-home-content{min-height:0;padding-bottom:.48rem}.mobile-home-widget{display:grid;min-height:clamp(9.8rem,22dvh,13rem);align-content:space-between;border-radius:2rem;background:radial-gradient(circle at 82% 18%,rgba(255,211,55,.8),transparent 1.2rem),linear-gradient(160deg,rgba(48,144,220,.98),rgba(41,111,174,.9));padding:clamp(1rem,4vw,1.35rem);color:#ffffff;box-shadow:inset 0 0 0 .5px rgba(255,255,255,.24),inset 0 1px 0 rgba(255,255,255,.28),0 1.2rem 3rem rgba(0,0,0,.22)}.mobile-home-widget p{font-size:clamp(1.25rem,6vw,1.7rem);font-weight:820;line-height:1}.mobile-home-widget h1{margin-top:.36rem;font-size:clamp(2rem,12vw,3.2rem);font-weight:360;line-height:.95;letter-spacing:0}.mobile-home-widget span{display:block;margin-top:.4rem;color:rgba(255,255,255,.84);font-size:clamp(.82rem,3.7vw,1rem);font-weight:720}.mobile-app-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.62rem,2.4vh,1rem) clamp(.58rem,3vw,1rem);margin-top:clamp(.95rem,2.6vh,1.45rem)!important}.mobile-app-icon{min-width:0;border:0;background:transparent;padding:0;color:#ffffff}.mobile-app-glyph{width:clamp(3.2rem,15vw,4.15rem);height:clamp(3.2rem,15vw,4.15rem);border:0;border-radius:1.18rem;background:var(--app-icon-bg);color:var(--app-icon-fg);box-shadow:inset 0 0 0 .5px rgba(255,255,255,.28),0 .7rem 1.8rem var(--app-icon-glow)}.mobile-app-label{max-width:100%;margin-top:.34rem;overflow:hidden;color:#ffffff;font-size:clamp(.66rem,2.9vw,.82rem);font-weight:620;line-height:1.12;text-shadow:0 1px 8px rgba(0,0,0,.42);text-overflow:ellipsis;white-space:nowrap}.mobile-dock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.45rem,3vw,.9rem);min-height:5.6rem;margin-top:.58rem;border:0;border-radius:2rem;background:rgba(255,255,255,.24);padding:.8rem clamp(.75rem,4vw,1rem);box-shadow:inset 0 0 0 .5px rgba(255,255,255,.22),inset 0 1px 0 rgba(255,255,255,.24),0 1.2rem 3rem rgba(0,0,0,.26);backdrop-filter:blur(30px) saturate(1.22)}.mobile-dock-item{min-width:0;width:auto;height:auto;border:0;border-radius:1.15rem;background:radial-gradient(circle at 30% 18%,rgba(255,255,255,.74),transparent 38%),linear-gradient(145deg,rgba(255,255,255,.96),rgba(213,228,236,.86));color:#1773d0}.mobile-home-indicator{bottom:max(.28rem,env(safe-area-inset-bottom));width:8.4rem;height:.32rem;background:rgba(255,255,255,.86);box-shadow:0 1px 10px rgba(0,0,0,.24)}.mobile-panel{height:100dvh;max-height:100dvh;overflow:hidden}.mobile-panel-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}.files-app-compact{height:100%;background:rgba(255,255,255,.94);color:#1d1d1f}.files-app-compact .files-main{height:100%}.files-app-compact .files-toolbar{display:grid;min-height:auto;grid-template-columns:auto minmax(0,1fr);padding:.5rem 0 .72rem;background:transparent;box-shadow:none}.files-app-compact .files-title-area h2{font-size:1.55rem}.files-app-compact .files-toolbar-actions{grid-column:1/-1;order:0;width:100%}.files-app-compact .files-list,.files-app-compact .files-reader{max-height:none;min-height:0;border-radius:1.25rem;background:rgba(255,255,255,.72);padding:.6rem;box-shadow:inset 0 0 0 .5px rgba(31,41,55,.08)}.files-app-compact .files-row{grid-template-columns:minmax(0,1fr);min-height:3.2rem}.files-app-compact .files-row-date,.files-app-compact .files-row-size,.files-app-compact .files-row-type{display:none}}@media (max-width:380px){.mobile-home-widget{min-height:9.15rem}.mobile-app-grid{gap:.5rem .42rem}.mobile-app-glyph{width:3rem;height:3rem}.mobile-dock{min-height:5rem;padding-top:.62rem;padding-bottom:.62rem}}.desktop-widgets{grid-template-columns:1fr}@media (max-width:767px){.mobile-home-widget small{display:block;margin-top:.26rem;color:rgba(255,255,255,.72);font-size:.74rem;font-weight:720}.mobile-panel{width:100vw;height:100dvh;min-height:100dvh;max-height:100dvh;padding:max(.42rem,env(safe-area-inset-top)) 0 0;touch-action:none}.mobile-panel-header{min-height:3.2rem;padding:0 .92rem}.mobile-panel-body{flex:1;min-height:0;margin-top:0;overflow:hidden;border:0;border-radius:0;background:transparent;padding:0;box-shadow:none;backdrop-filter:none}.mobile-panel-body>.app-content{height:100%;overflow-y:auto;padding:1rem 1rem calc(2.8rem + env(safe-area-inset-bottom));overscroll-behavior:contain;touch-action:pan-y}.mobile-panel[data-mobile-app=files] .mobile-panel-body{overflow:hidden}.mobile-panel[data-mobile-app=files] .mobile-panel-body>.files-app-compact{height:100%;min-height:0}.files-app-compact{display:grid;grid-template-columns:1fr;overflow:hidden}.files-app-compact .files-main{display:flex;min-height:0;flex-direction:column;overflow:hidden;padding:0 .92rem calc(2.4rem + env(safe-area-inset-bottom))}.files-app-compact .files-content-grid{flex:1;min-height:0;overflow:hidden}.files-app-compact .files-list,.files-app-compact .files-reader{overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}}.desktop-window{width:var(--window-width,34rem);height:var(--window-height,32rem);max-width:calc(100vw - 1rem);max-height:calc(100dvh - 7.75rem)}.desktop-window-maximized{width:var(--window-width,100vw);height:var(--window-height,calc(100dvh - 2.5rem));max-width:none;max-height:none;border-radius:0;box-shadow:inset 0 0 0 .5px rgba(48,68,88,.16)}.project-card-actions a{display:inline-flex;align-items:center;justify-content:center;gap:.42rem;border-radius:999px;background:rgba(139,211,230,.14);padding:.48rem .7rem;color:rgba(219,249,255,.96);font-size:.78rem;font-weight:760;transition:background-color .16s ease,color .16s ease}.project-card-actions a:focus-visible,.project-card-actions a:hover{background:rgba(139,211,230,.22);color:#ffffff}.profile-hero-panel,.projects-intro-panel,.tech-summary-panel{display:grid;gap:1rem;margin-top:1.25rem;border-radius:var(--radius-card);background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.032)),rgba(255,255,255,.045);padding:clamp(1rem,2.4vw,1.35rem);box-shadow:inset 0 .08rem 1rem rgba(255,255,255,.08)}.profile-hero-panel{grid-template-columns:auto minmax(0,1fr);align-items:start}.profile-avatar-mark{display:grid;width:4.1rem;height:4.1rem;place-items:center;border-radius:1rem;background:radial-gradient(circle at 30% 18%,rgba(255,255,255,.38),transparent 38%),linear-gradient(145deg,rgba(232,121,154,.9),rgba(139,211,230,.74));color:#041014;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:1rem;font-weight:850;box-shadow:inset 0 1px 0 rgba(255,255,255,.38),0 1rem 2.2rem rgba(0,0,0,.2)}.profile-hero-panel h3,.project-case-card h3,.project-detail-hero-copy h3,.projects-intro-panel h3,.tech-summary-panel h3{margin:.22rem 0 0;color:var(--color-text);font-size:clamp(1.1rem,2.6vw,1.55rem);font-weight:820;line-height:1.15}.profile-hero-panel p,.project-case-card p,.project-detail-view li,.project-detail-view p,.projects-intro-panel p,.tech-summary-panel p{color:var(--color-muted);font-size:.9rem;line-height:1.65}.profile-link-row{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.9rem}.about-contribution-grid,.about-two-column{display:grid;gap:.9rem;margin-top:.95rem}.about-contribution-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,12.5rem),1fr))}.about-two-column{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}.tech-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:.75rem}.project-card-reading section,.tech-summary-grid section{display:grid;gap:.28rem}.project-card-reading h4,.project-detail-section h3,.tech-summary-grid h4{color:var(--color-text);font-size:.9rem;font-weight:790;line-height:1.25}.project-case-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,32rem),1fr));gap:1rem;margin-top:1rem}.project-case-card{display:grid;grid-template-columns:minmax(12.5rem,.42fr) minmax(0,1fr);overflow:hidden;border-radius:var(--radius-card);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.028)),rgba(255,255,255,.04);box-shadow:inset 0 .08rem 1rem rgba(255,255,255,.08),0 1.1rem 2.4rem rgba(0,0,0,.12)}.project-case-card>img,.project-detail-hero img{display:block;width:100%;height:100%;max-height:18rem;min-height:13rem;aspect-ratio:16/9;-o-object-fit:cover;object-fit:cover;-o-object-position:center center;object-position:center center;background:rgba(0,0,0,.14)}.project-case-card-body,.project-detail-view{display:grid;gap:1rem}.project-case-card-body{padding:1rem}.project-card-facts,.project-fact-list{display:grid;gap:.55rem}.project-card-facts{grid-template-columns:repeat(auto-fit,minmax(min(100%,9.5rem),1fr))}.project-fact-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr))}.project-card-facts div,.project-fact-list div{display:grid;gap:.18rem;border-radius:var(--radius-card);background:rgba(255,255,255,.055);padding:.72rem}.project-card-facts dt,.project-fact-list dt{color:var(--color-accent-cyan);font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.68rem;font-weight:800;text-transform:uppercase}.project-card-facts dd,.project-fact-list dd{color:var(--color-muted);font-size:.82rem;line-height:1.45}.project-card-reading{display:grid;gap:.72rem}.project-card-actions,.project-detail-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.1rem}.project-back-button,.project-detail-actions a,.project-detail-actions button{display:inline-flex;min-height:2.65rem;align-items:center;justify-content:center;border:0;border-radius:999px;background:rgba(139,211,230,.14);padding:0 .85rem;color:rgba(219,249,255,.96);font-size:.78rem;font-weight:780;transition:background-color .16s ease,color .16s ease}.project-back-button:focus-visible,.project-back-button:hover,.project-detail-actions a:focus-visible,.project-detail-actions a:hover,.project-detail-actions button:focus-visible,.project-detail-actions button:hover{background:rgba(139,211,230,.22);color:#ffffff}.project-back-button{width:-moz-fit-content;width:fit-content}.project-detail-hero{display:grid;grid-template-columns:minmax(12.5rem,.44fr) minmax(0,1fr);align-items:stretch;overflow:hidden;border-radius:var(--radius-card);background:rgba(255,255,255,.05)}.project-detail-hero-copy{display:grid;gap:.45rem;padding:1rem}.project-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:.85rem}.project-detail-section{display:grid;gap:.5rem;border-radius:var(--radius-card);background:rgba(255,255,255,.055);padding:.95rem}.project-detail-section ul{display:grid;gap:.4rem;padding-left:1rem}.project-detail-section li{list-style:disc}.desktop-window .profile-hero-panel,.desktop-window .project-card-facts div,.desktop-window .project-case-card,.desktop-window .project-detail-hero,.desktop-window .project-detail-section,.desktop-window .project-fact-list div,.desktop-window .projects-intro-panel,.desktop-window .tech-summary-panel{background:rgba(255,255,255,.62);box-shadow:inset 0 0 0 .5px rgba(34,48,62,.08)}.desktop-window .profile-hero-panel h3,.desktop-window .project-card-reading h4,.desktop-window .project-case-card h3,.desktop-window .project-detail-hero-copy h3,.desktop-window .project-detail-section h3,.desktop-window .projects-intro-panel h3,.desktop-window .tech-summary-grid h4,.desktop-window .tech-summary-panel h3{color:#1d1d1f}.desktop-window .profile-hero-panel p,.desktop-window .project-card-facts dd,.desktop-window .project-case-card p,.desktop-window .project-detail-view li,.desktop-window .project-detail-view p,.desktop-window .project-fact-list dd,.desktop-window .projects-intro-panel p,.desktop-window .tech-summary-panel p{color:rgba(47,55,65,.72)}.desktop-window .app-external-link,.desktop-window .project-back-button,.desktop-window .project-card-actions a,.desktop-window .project-detail-actions a,.desktop-window .project-detail-actions button{background:rgba(0,122,255,.11);color:#0767b1}.desktop-window .app-external-link:focus-visible,.desktop-window .app-external-link:hover,.desktop-window .project-back-button:focus-visible,.desktop-window .project-back-button:hover,.desktop-window .project-card-actions a:focus-visible,.desktop-window .project-card-actions a:hover,.desktop-window .project-detail-actions a:focus-visible,.desktop-window .project-detail-actions a:hover,.desktop-window .project-detail-actions button:focus-visible,.desktop-window .project-detail-actions button:hover{background:rgba(0,122,255,.17);color:#034f8d}@media (max-width:767px){.profile-hero-panel{grid-template-columns:1fr}.profile-avatar-mark{width:3.6rem;height:3.6rem}.about-contribution-grid,.about-two-column,.project-card-facts,.project-case-card,.project-case-grid,.project-detail-grid,.project-detail-hero,.project-fact-list,.tech-summary-grid{grid-template-columns:1fr}.project-back-button,.project-card-actions :is(button,a),.project-card-actions a,.project-detail-actions a,.project-detail-actions button{min-height:2.75rem}.project-case-card>img{height:auto;max-height:none;min-height:0;-o-object-position:top center;object-position:top center}.mobile-panel{background:#f7f8f6;color:#111821}.mobile-panel-wallpaper{opacity:.12}.mobile-panel-header{background:linear-gradient(180deg,rgba(16,52,74,.78),rgba(16,52,74,.48)),rgba(24,70,94,.62);box-shadow:0 1px 0 rgba(255,255,255,.18);backdrop-filter:blur(18px) saturate(1.2)}.mobile-panel-body,.mobile-panel-body>.app-content{background:#f7f8f6;color:#111821}.mobile-panel .app-card-eyebrow,.mobile-panel .app-kicker,.mobile-panel .project-card-facts dt,.mobile-panel .project-fact-list dt{color:#49606f}.mobile-panel .app-card h3,.mobile-panel .app-content h2,.mobile-panel .profile-hero-panel h3,.mobile-panel .project-case-card h3,.mobile-panel .project-detail-hero-copy h3,.mobile-panel .projects-intro-panel h3,.mobile-panel .tech-summary-grid h4,.mobile-panel .tech-summary-panel h3{color:#111821;text-shadow:none}.mobile-panel .app-card li,.mobile-panel .app-card p,.mobile-panel .app-summary,.mobile-panel .profile-hero-panel p,.mobile-panel .project-case-card p,.mobile-panel .project-detail-view li,.mobile-panel .project-detail-view p,.mobile-panel .projects-intro-panel p,.mobile-panel .tech-summary-panel p{color:#37414b}.mobile-panel .app-card,.mobile-panel .profile-hero-panel,.mobile-panel .project-card-facts div,.mobile-panel .project-case-card,.mobile-panel .project-detail-hero,.mobile-panel .project-detail-section,.mobile-panel .project-fact-list div,.mobile-panel .projects-intro-panel,.mobile-panel .tech-summary-panel{background:rgba(255,255,255,.86);box-shadow:inset 0 0 0 .5px rgba(34,48,62,.08),0 .75rem 1.75rem rgba(10,18,28,.06)}.mobile-panel .app-external-link,.mobile-panel .project-back-button,.mobile-panel .project-card-actions a,.mobile-panel .project-detail-actions a,.mobile-panel .project-detail-actions button{background:rgba(0,122,255,.11);color:#0767b1}}.files-toolbar{position:relative}.files-more-menu{position:absolute;top:calc(100% + .45rem);right:.75rem;z-index:8;display:grid;min-width:min(18rem,calc(100vw - 2rem));gap:.35rem;border:1px solid rgba(225,250,255,.14);border-radius:.85rem;background:rgba(7,12,20,.94);padding:.55rem;box-shadow:0 1rem 2.4rem rgba(0,0,0,.32)}.files-more-menu button,.files-more-toggle{min-height:2.2rem;border:0;border-radius:.6rem;background:transparent;padding:.35rem .5rem;color:rgba(235,246,249,.86);font-size:.78rem;font-weight:720;text-align:left}.files-more-toggle{display:flex;align-items:center;gap:.45rem}.files-more-menu button:focus-visible,.files-more-menu button:hover,.files-more-toggle:hover{background:rgba(255,255,255,.1);color:#ffffff}.files-confirm-panel,.files-inline-status,.files-paste-import-form,.files-rename-form{border:1px solid rgba(139,211,230,.18);border-radius:.8rem;background:rgba(139,211,230,.08);padding:.7rem}.files-inline-status{margin-top:.6rem;color:rgba(225,250,255,.82);font-size:.8rem}.files-confirm-panel,.files-paste-import-form,.files-rename-form{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.8rem}.files-confirm-panel p,.files-paste-import-form label,.files-rename-form label{flex-basis:100%;margin:0}.files-paste-import-form{display:grid;grid-template-columns:minmax(10rem,.35fr) minmax(0,1fr)}.files-paste-import-form div{display:grid;gap:.34rem}.files-paste-import-actions,.files-paste-import-form div:nth-child(2){grid-column:1/-1}.files-paste-import-form input,.files-paste-import-form textarea,.files-rename-form input{min-width:12rem;flex:1;border:1px solid rgba(225,250,255,.2);border-radius:.55rem;background:rgba(0,0,0,.22);padding:.55rem .65rem;color:var(--color-text);font:inherit}.files-paste-import-form textarea{min-height:8rem;resize:vertical}.files-confirm-panel button,.files-paste-import-actions button,.files-rename-form button{min-height:2.2rem;border:0;border-radius:999px;background:rgba(139,211,230,.14);padding:0 .8rem;color:rgba(219,249,255,.96);font-weight:760}.files-paste-import-actions{display:flex;flex-wrap:wrap;gap:.5rem}.files-row.hidden-file .files-row-name:after{content:" oculto";margin-left:.35rem;color:rgba(216,177,95,.82);font-size:.68rem;font-weight:700}.files-rose-accent .files-reader,.files-rose-accent .files-row.active{box-shadow:inset 0 .1rem 1rem rgba(255,255,255,.06),0 0 0 1px rgba(255,111,178,.24),0 .9rem 2.8rem rgba(255,111,178,.12)}.desktop-window .files-more-menu{border-color:rgba(31,41,55,.12);background:rgba(255,255,255,.96);color:#1d1d1f}.desktop-window .files-confirm-panel,.desktop-window .files-inline-status,.desktop-window .files-more-menu button,.desktop-window .files-more-toggle,.desktop-window .files-rename-form{color:#1d1d1f}.desktop-window .files-rename-form input{border-color:rgba(31,41,55,.16);background:rgba(255,255,255,.86);color:#1d1d1f}.desktop-widget-weather,.mobile-weather-widget{display:grid;gap:.45rem}.desktop-widget-weather button,.mobile-weather-widget button{width:-moz-fit-content;width:fit-content;min-height:2rem;border:1px solid rgba(225,250,255,.16);border-radius:999px;background:rgba(255,255,255,.1);padding:0 .72rem;color:rgba(245,253,255,.92);font-size:.72rem;font-weight:760}.desktop-widget-weather button:disabled,.mobile-weather-widget button:disabled{cursor:wait;opacity:.62}.desktop-widget-weather small,.mobile-weather-widget small{color:rgba(221,231,234,.64);font-size:.72rem;line-height:1.35}.mobile-weather-widget{margin-top:.9rem;border-top:1px solid rgba(255,255,255,.14);padding-top:.85rem}.mobile-weather-widget strong{color:#ffffff;font-size:1.35rem}@media (max-width:767px){.mobile-panel[data-mobile-app=files] .files-app-compact .files-toolbar{display:grid;grid-template-areas:"nav title" "search search" "actions actions";grid-template-columns:2.75rem minmax(0,1fr);gap:.55rem .65rem;padding:.72rem 0 .82rem}.mobile-panel[data-mobile-app=files] .files-navigation-cluster{grid-area:nav;align-self:center}.mobile-panel[data-mobile-app=files] .files-title-area{grid-area:title;min-width:0;align-self:center}.mobile-panel[data-mobile-app=files] .files-title-area h2{max-width:100%;font-size:clamp(1.25rem,6vw,1.55rem)}.mobile-panel[data-mobile-app=files] .files-search{grid-area:search;width:100%}.mobile-panel[data-mobile-app=files] .files-toolbar-actions{grid-area:actions;justify-content:flex-start;width:100%;padding-bottom:.12rem}.mobile-panel-back,.mobile-panel[data-mobile-app=files] .files-breadcrumb,.mobile-panel[data-mobile-app=files] .files-nav-button,.mobile-panel[data-mobile-app=files] .files-search input,.mobile-panel[data-mobile-app=files] .files-toolbar-actions button{min-height:2.75rem}.mobile-panel[data-mobile-app=files] .files-breadcrumb{display:inline-flex;align-items:center}.mobile-panel[data-mobile-app=files] .files-nav-button{min-width:2.75rem;padding:0}.mobile-panel[data-mobile-app=files] .files-paste-import-form{grid-template-columns:1fr}.mobile-panel[data-mobile-app=files] .files-confirm-panel,.mobile-panel[data-mobile-app=files] .files-inline-status,.mobile-panel[data-mobile-app=files] .files-paste-import-form,.mobile-panel[data-mobile-app=files] .files-rename-form{border-color:rgba(27,43,56,.13);background:#ffffff;color:#172532;box-shadow:0 .6rem 1.5rem rgba(12,24,36,.06)}.mobile-panel[data-mobile-app=files] .files-paste-import-form input,.mobile-panel[data-mobile-app=files] .files-paste-import-form textarea,.mobile-panel[data-mobile-app=files] .files-rename-form input{min-width:0;border-color:rgba(27,43,56,.13);background:#f8fafb;color:#172532}.mobile-panel[data-mobile-app=files] .files-confirm-panel button,.mobile-panel[data-mobile-app=files] .files-paste-import-actions button,.mobile-panel[data-mobile-app=files] .files-rename-form button{background:#123247;color:#ffffff}}.login-liquid-field{opacity:var(--liquid-opacity,.9);transition:opacity .18s ease}.login-lock-content{opacity:var(--lock-opacity,1);transform:translateY(var(--swipe-translate,0))}.login-lock-content,.mobile-swipe-zone{transition:opacity .18s ease,transform .18s ease;will-change:transform}.mobile-swipe-zone{transform:translateY(var(--swipe-indicator-translate,0))}.mobile-swipe-copy{text-shadow:0 1px 14px rgba(0,27,88,.42),0 0 24px rgba(255,255,255,.22);transition:opacity .18s ease,transform .18s ease}.login-screen-swipe-ready .mobile-swipe-copy{opacity:.64;transform:translateY(-.25rem)}.login-home-indicator{transform:translateX(50%) translateY(var(--swipe-indicator-translate,0));transition:background-color .18s ease,transform .18s ease}.login-screen-swipe-ready .login-home-indicator{background:rgba(230,255,255,.96)}.system-topbar-app-link{display:inline-flex;min-height:2rem;align-items:center;gap:.34rem;border:0;border-radius:var(--radius-base);background:transparent;padding:0 .46rem;color:var(--color-text);font-size:.74rem;font-weight:720;transition:background-color .14s ease,color .14s ease}.system-topbar-app-link:focus-visible,.system-topbar-app-link:hover{background:rgba(255,255,255,.11);color:#ffffff;outline:0}.system-topbar-icon{width:1rem;height:1rem;background:transparent;box-shadow:none}.system-topbar-icon svg{width:.9rem;height:.9rem}.desktop-selection-rect{position:absolute;top:0;left:0;z-index:5;border:1px solid rgba(74,172,255,.78);border-radius:.28rem;background:rgba(74,172,255,.18);pointer-events:none}.desktop-icon-selected,.desktop-icon[aria-pressed=true]{background:rgba(0,122,255,.26);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),0 0 0 2px rgba(0,122,255,.42),0 1rem 2rem rgba(0,35,90,.2)}.desktop-has-maximized-window .dock-shell{transform:translateX(-50%) translateY(calc(100% + 1.2rem));opacity:0;pointer-events:none}.dock-shell{transition:opacity .18s ease,transform .18s ease}.desktop-widget-weather button,.mobile-weather-widget button{min-height:2.35rem;border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.14)}.desktop-window[data-window-app=about] .desktop-window-body,.desktop-window[data-window-app=contact] .desktop-window-body,.desktop-window[data-window-app=cv] .desktop-window-body,.desktop-window[data-window-app=projects] .desktop-window-body{background:#f4f6f3}.desktop-window[data-window-app=about] .app-content,.desktop-window[data-window-app=projects] .app-content{color:#1c2a36;padding:1.65rem}.desktop-window[data-window-app=about] .app-content h2,.desktop-window[data-window-app=contact] h2,.desktop-window[data-window-app=projects] .app-content h2{color:#111821;font-size:clamp(2rem,4vw,2.9rem);line-height:1.02}.desktop-window[data-window-app=about] .app-summary,.desktop-window[data-window-app=contact] .contact-direct-header p,.desktop-window[data-window-app=projects] .app-summary{color:#334250;font-size:1rem;line-height:1.6}.desktop-window[data-window-app=about] .app-card,.desktop-window[data-window-app=about] .profile-hero-panel,.desktop-window[data-window-app=about] .tech-summary-panel,.desktop-window[data-window-app=projects] .app-card,.desktop-window[data-window-app=projects] .project-card-facts div,.desktop-window[data-window-app=projects] .project-case-card,.desktop-window[data-window-app=projects] .project-detail-hero,.desktop-window[data-window-app=projects] .project-detail-section,.desktop-window[data-window-app=projects] .project-fact-list div,.desktop-window[data-window-app=projects] .projects-intro-panel{border:1px solid rgba(27,43,56,.13);background:#ffffff;box-shadow:0 .6rem 1.5rem rgba(12,24,36,.06),inset 0 1px 0 rgba(255,255,255,.92)}.desktop-window[data-window-app=about] .app-card li,.desktop-window[data-window-app=about] .app-card p,.desktop-window[data-window-app=projects] .app-card li,.desktop-window[data-window-app=projects] .app-card p,.desktop-window[data-window-app=projects] .project-card-facts dd,.desktop-window[data-window-app=projects] .project-case-card p,.desktop-window[data-window-app=projects] .project-detail-view li,.desktop-window[data-window-app=projects] .project-detail-view p,.desktop-window[data-window-app=projects] .project-fact-list dd{color:#2f4050}.desktop-window[data-window-app=about] .app-card h3,.desktop-window[data-window-app=about] .tech-summary-grid h4,.desktop-window[data-window-app=projects] .app-card h3,.desktop-window[data-window-app=projects] .project-card-reading h4,.desktop-window[data-window-app=projects] .project-case-card h3,.desktop-window[data-window-app=projects] .project-detail-hero-copy h3,.desktop-window[data-window-app=projects] .project-detail-section h3{color:#111821}.desktop-window[data-window-app=projects] .project-case-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,28rem),1fr));gap:1.15rem}.desktop-window[data-window-app=projects] .project-case-card{grid-template-columns:1fr}.desktop-window[data-window-app=projects] .project-case-card>img{width:100%;height:auto;max-height:none;min-height:0;aspect-ratio:16/9;-o-object-fit:cover;object-fit:cover;-o-object-position:top center;object-position:top center}.desktop-window[data-window-app=about] .app-external-link,.desktop-window[data-window-app=projects] .project-back-button,.desktop-window[data-window-app=projects] .project-card-actions :is(button,a),.desktop-window[data-window-app=projects] .project-detail-actions a,.desktop-window[data-window-app=projects] .project-detail-actions button{border:1px solid rgba(22,79,121,.18);background:#123247;color:#ffffff;box-shadow:0 .45rem 1rem rgba(18,50,71,.12)}.desktop-window[data-window-app=about] .app-external-link:focus-visible,.desktop-window[data-window-app=about] .app-external-link:hover,.desktop-window[data-window-app=projects] .project-back-button:focus-visible,.desktop-window[data-window-app=projects] .project-back-button:hover,.desktop-window[data-window-app=projects] .project-card-actions :is(button,a):focus-visible,.desktop-window[data-window-app=projects] .project-card-actions :is(button,a):hover,.desktop-window[data-window-app=projects] .project-detail-actions a:focus-visible,.desktop-window[data-window-app=projects] .project-detail-actions a:hover,.desktop-window[data-window-app=projects] .project-detail-actions button:focus-visible,.desktop-window[data-window-app=projects] .project-detail-actions button:hover{background:#0c2536;color:#ffffff}.desktop-window[data-window-app=projects] .app-badge,.desktop-window[data-window-app=projects] .app-badge-draft{border:1px solid rgba(34,144,126,.28);background:rgba(47,194,165,.15);color:#116252}.cv-document-app{min-height:100%;background:#f4f6f3;padding:1.5rem;color:#2b3d4d}.cv-document{max-width:68rem;border:1px solid rgba(29,45,58,.12);background:#f8f8f3;box-shadow:0 1rem 2.4rem rgba(20,36,48,.08)}.cv-document-header{grid-template-columns:minmax(0,1fr) minmax(13rem,.35fr);gap:2rem;padding:clamp(1.35rem,3vw,2rem)}.cv-document-header h2{margin:0;color:#2a3a49;font-size:clamp(2.15rem,5vw,3.4rem);font-weight:520;line-height:.98;letter-spacing:0}.cv-document-header p{max-width:42rem;margin-top:1rem;color:#2c3e4e;font-size:1rem;line-height:1.55}.cv-document-contact{gap:.34rem;color:#27394a}.cv-document-contact a{color:#27394a;font-size:.94rem;font-weight:560;text-decoration:underline;text-underline-offset:.16rem}.cv-document-section{gap:.92rem}.cv-document-section+.cv-document-section{margin-top:1.55rem}.cv-document-section h3{margin:0;color:#2fc2a5;font-size:1.05rem;font-weight:820;letter-spacing:0;text-transform:uppercase}.cv-document-entry{display:grid;gap:.42rem}.cv-document-entry h4{margin:0;color:#2a3a49;font-size:.94rem;font-weight:820;line-height:1.35}.cv-document-entry li,.cv-document-entry p,.cv-document-section>p{color:#2c3e4e;font-size:.94rem;line-height:1.48}.cv-document-entry ul{gap:.26rem;margin:0;padding-left:1.2rem}.contact-direct-app{min-height:100%;background:#f4f6f3;padding:1.5rem;color:#172532}.contact-direct-header{display:grid;gap:.45rem;max-width:42rem}.contact-fit-panel{border:1px solid rgba(27,43,56,.13);border-radius:.6rem;background:#ffffff;box-shadow:0 .6rem 1.5rem rgba(12,24,36,.06)}.contact-channel-value{color:#132636;font-size:clamp(1rem,2.2vw,1.28rem);font-weight:780;overflow-wrap:anywhere}.contact-fit-panel{display:grid;grid-template-columns:minmax(12rem,.45fr) minmax(0,1fr);gap:1rem;margin-top:1rem;padding:1rem}.contact-fit-panel h3{margin:0;color:#111821;font-size:1.25rem;font-weight:820}.contact-fit-panel li,.contact-fit-panel p{color:#334250;font-size:.94rem;line-height:1.55}.contact-fit-panel ul{display:grid;gap:.42rem;margin:0;padding-left:1rem}.contact-fit-panel li{list-style:disc}.desktop-window[data-window-app=cv] .desktop-window-body,.desktop-window[data-window-app=text-editor] .desktop-window-body{background:#f4f6f3}.desktop-window[data-window-app=cv] .desktop-window-body{overflow-y:auto}.desktop-window[data-window-app=cv] .cv-document-app{height:auto;min-height:100%;overflow:visible}.desktop-window[data-window-app=text-editor] .desktop-window-body{overflow:hidden}.desktop-window[data-window-app=contact] .desktop-window-body{overflow-y:auto;background:#f4f6f3}.desktop-window[data-window-app=projects] .project-case-card{grid-template-rows:auto 1fr}.desktop-window[data-window-app=projects] .project-case-card-body{grid-template-rows:auto auto 1fr auto;min-height:100%}.project-card-actions :is(button,a),.project-detail-actions a,.project-detail-actions button{min-width:8.5rem;min-height:2.65rem;justify-content:center;padding:0 .92rem;text-align:center;white-space:nowrap}.contact-email-panel,.contact-profile-card{border:1px solid rgba(27,43,56,.13);border-radius:.5rem;background:#ffffff;box-shadow:0 .6rem 1.5rem rgba(12,24,36,.06)}.contact-email-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;margin-top:1.2rem;padding:1.1rem}.contact-panel-kicker{display:block;margin-bottom:.25rem;color:#2f7f71;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.72rem;font-weight:820;text-transform:uppercase}.contact-email-actions,.contact-profile-card>a{display:flex;flex-wrap:wrap;gap:.5rem}.contact-email-actions a,.contact-email-actions button,.contact-profile-card>a{display:inline-flex;min-height:2.4rem;align-items:center;justify-content:center;gap:.42rem;border:1px solid rgba(18,50,71,.16);border-radius:.45rem;background:#123247;padding:0 .75rem;color:#ffffff;font-size:.86rem;font-weight:760;text-decoration:none}.contact-profile-card>a,.contact-profile-card>a span,.contact-profile-card>a svg{color:#ffffff}.contact-email-actions button{background:rgba(47,194,165,.14);color:#116252}.contact-email-actions svg,.contact-profile-card>a svg{width:1rem;height:1rem}.contact-profile-list{display:grid;gap:.75rem;margin-top:.9rem}.contact-profile-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.9rem;padding:.9rem}.contact-profile-icon{display:grid;flex:0 0 auto;width:2.65rem;height:2.65rem;align-self:center;place-items:center;border-radius:.5rem;background:rgba(47,194,165,.12);color:#116252}.contact-profile-icon svg{width:1.25rem;height:1.25rem}.contact-profile-card h3{margin:0;color:#111821;font-size:1rem;font-weight:820}.contact-profile-card p,.contact-profile-card>div>span{color:#334250;font-size:.9rem;line-height:1.45}.contact-profile-card>div>span{display:block;margin-top:.18rem;overflow-wrap:anywhere}.text-editor-app{display:grid;height:100%;min-height:0;background:#f4f6f3;color:#172532}.text-editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid rgba(27,43,56,.11);background:#ffffff;padding:1rem}.text-editor-toolbar h2{margin:.1rem 0 0;color:#111821;font-size:clamp(1.35rem,3vw,2rem);font-weight:820;line-height:1.1}.text-editor-actions{display:flex;flex-wrap:wrap;gap:.5rem}.text-editor-actions button{display:inline-flex;min-height:2.45rem;align-items:center;justify-content:center;gap:.42rem;border:1px solid rgba(18,50,71,.16);border-radius:.45rem;background:#123247;padding:0 .78rem;color:#ffffff;font-size:.86rem;font-weight:760;text-decoration:none}.text-editor-actions button:disabled{cursor:not-allowed;opacity:.48}.text-editor-actions svg{width:1rem;height:1rem}.text-editor-empty{display:grid;place-items:center;align-content:center;gap:.75rem;min-height:100%;padding:2rem;text-align:center}.text-editor-empty h3{margin:0;color:#111821;font-size:1.35rem;font-weight:820}.text-editor-empty p{max-width:28rem;color:#334250;font-size:.95rem;line-height:1.55}.text-editor-app{grid-template-rows:auto minmax(0,1fr) auto}.text-editor-state{border-radius:999px;background:rgba(18,50,71,.08);padding:.34rem .68rem;color:#334250;font-size:.8rem;font-weight:760}.text-editor-state-dirty{background:rgba(217,151,48,.15);color:#7a4b00}.text-editor-state-saved{background:rgba(47,194,165,.16);color:#116252}.text-editor-textarea{min-height:0;width:100%;resize:none;border:0;border-bottom:1px solid rgba(27,43,56,.1);background:#fbfcfa;padding:1rem;color:#172532;font:.95rem/1.55 ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;outline:none}.text-editor-textarea:focus{box-shadow:inset 0 0 0 2px rgba(47,194,165,.22)}.text-editor-actions{justify-content:flex-end;background:#ffffff;padding:.8rem 1rem}@media (max-width:767px){.contact-email-panel,.contact-fit-panel,.contact-profile-card{grid-template-columns:1fr}.contact-email-actions,.contact-profile-card>a,.text-editor-actions{width:100%}.contact-email-actions a,.contact-email-actions button,.contact-profile-card>a,.text-editor-actions button{flex:1 1 auto;min-height:2.75rem}.contact-profile-card{align-items:start}.text-editor-toolbar{align-items:stretch;flex-direction:column;padding:.9rem}.text-editor-app{height:100%}.text-editor-empty{padding:1.25rem}.text-editor-textarea{min-height:22rem;font-size:1rem}}.desktop-window[data-window-app=terminal]{border-color:rgba(95,255,176,.2);background:#050809}.desktop-window[data-window-app=terminal] .desktop-window-titlebar{border-bottom-color:rgba(95,255,176,.12);background:#0a1012}.desktop-window[data-window-app=terminal] .desktop-window-body{overflow:hidden;background:#050809}.terminal-native-app{display:grid;height:100%;min-height:0;background:radial-gradient(circle at 12% 0,rgba(95,255,176,.08),transparent 18rem),#050809;color:#d9fbe7;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}.terminal-native-output{min-height:0;overflow-y:auto;padding:1rem;scrollbar-color:rgba(95,255,176,.32) transparent}.terminal-native-app .terminal-line{margin:0 0 .24rem;color:rgba(217,251,231,.78);font-size:.9rem;line-height:1.5;white-space:pre-wrap}.terminal-native-app .terminal-line-command{color:#ffffff}.terminal-native-app .terminal-line-error{color:#ff8f8f}.terminal-native-app .terminal-line-output{color:#c9f6d8}.terminal-native-input-row{display:flex;align-items:baseline;gap:.5rem;min-height:1.6rem;margin-top:.2rem}.terminal-prompt{flex:0 0 auto}.terminal-native-input-row input{min-width:0;flex:1;border:0;background:transparent;color:#ffffff;font:inherit;caret-color:#5fffb0;outline:0}.terminal-native-input-row input::-moz-placeholder{color:rgba(217,251,231,.34)}.terminal-native-input-row input::placeholder{color:rgba(217,251,231,.34)}@media (max-width:767px){.contact-direct-app,.cv-document-app{min-height:100%;padding:1rem 1rem calc(2.8rem + env(safe-area-inset-bottom))}.contact-fit-panel,.cv-document-header{grid-template-columns:1fr}.cv-document-contact{text-align:left}.cv-document-header h2{font-size:clamp(2rem,12vw,3rem)}.mobile-panel[data-mobile-app=terminal] .mobile-panel-body{overflow:hidden}.mobile-panel[data-mobile-app=terminal] .terminal-native-app{height:100%}.mobile-panel[data-mobile-app=terminal] .terminal-native-output{padding-bottom:calc(2.8rem + env(safe-area-inset-bottom))}.mobile-panel{background:#f4f6f3;color:#172532}.mobile-panel-wallpaper{opacity:.08}.mobile-panel-header{background:rgba(255,255,255,.9);box-shadow:0 1px 0 rgba(18,50,71,.08),0 .8rem 2rem rgba(18,50,71,.08);color:#172532;backdrop-filter:blur(18px) saturate(1.08)}.mobile-panel-back{background:rgba(18,50,71,.08);color:#123247}.mobile-panel-back-label,.mobile-panel-title{color:#172532;text-shadow:none}.mobile-panel-body,.mobile-panel-body>.app-content{background:#f4f6f3;color:#172532}.mobile-panel[data-mobile-app=about] .mobile-panel-body,.mobile-panel[data-mobile-app=contact] .mobile-panel-body,.mobile-panel[data-mobile-app=cv] .mobile-panel-body,.mobile-panel[data-mobile-app=projects] .mobile-panel-body{overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}.mobile-panel[data-mobile-app=contact] .contact-direct-app,.mobile-panel[data-mobile-app=cv] .cv-document-app{min-height:auto}.mobile-panel .app-card,.mobile-panel .contact-fit-panel,.mobile-panel .cv-document,.mobile-panel .project-case-card,.mobile-panel .project-detail-section,.mobile-panel .projects-intro-panel{border:1px solid rgba(27,43,56,.13);background:#ffffff;color:#172532;box-shadow:0 .6rem 1.5rem rgba(12,24,36,.06)}}@media (max-width:767px){.mobile-panel .app-external-link,.mobile-panel .project-back-button,.mobile-panel .project-card-actions :is(button,a),.mobile-panel .project-detail-actions a,.mobile-panel .project-detail-actions button{border:1px solid rgba(18,50,71,.18);background:#123247;color:#ffffff;box-shadow:0 .45rem 1rem rgba(18,50,71,.12)}.mobile-panel .app-external-link:focus-visible,.mobile-panel .app-external-link:hover,.mobile-panel .project-back-button:focus-visible,.mobile-panel .project-back-button:hover,.mobile-panel .project-card-actions :is(button,a):focus-visible,.mobile-panel .project-card-actions :is(button,a):hover,.mobile-panel .project-detail-actions a:focus-visible,.mobile-panel .project-detail-actions a:hover,.mobile-panel .project-detail-actions button:focus-visible,.mobile-panel .project-detail-actions button:hover{background:#0c2536;color:#ffffff}.mobile-panel .app-badge,.mobile-panel .app-badge-draft{border:1px solid rgba(34,144,126,.28);background:rgba(47,194,165,.15);color:#116252}.mobile-panel .contact-channel-value,.mobile-panel .cv-document-contact a{color:#132636}.mobile-panel[data-mobile-app=projects] .project-card-reading h4,.mobile-panel[data-mobile-app=projects] .project-detail-hero-copy h3,.mobile-panel[data-mobile-app=projects] .project-detail-section h3{color:#111821;text-shadow:none}.mobile-panel[data-mobile-app=projects] .project-detail-hero-copy h3{margin:.22rem 0 0;max-width:12ch;font-size:clamp(2rem,10vw,2.9rem);font-weight:840;letter-spacing:0;line-height:1.02;text-wrap:balance}.mobile-panel[data-mobile-app=projects] .project-card-reading h4,.mobile-panel[data-mobile-app=projects] .project-detail-section h3{font-size:.9rem;font-weight:790;line-height:1.25}}.cv-print-route{min-height:100vh;background:#ffffff;color:#2c3e4e}@media screen{.cv-print-route{display:grid;place-items:start center;padding:0}.cv-print-route .cv-document{box-shadow:none}}.cv-document-app{height:100%;min-height:0;overflow:auto;background:#d9ddd8;padding:0;color:#2c3e4e}.cv-document-app .cv-document-shell{padding:1rem}.cv-toolbar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}.cv-action-button:focus-visible,.cv-action-button:hover{filter:brightness(1.04)}.cv-document-shell{display:grid;gap:1rem;padding:0 1rem clamp(2rem,5vw,4rem)}.cv-toolbar{display:flex;width:min(100%,210mm);align-items:center;justify-content:space-between;gap:1rem;margin:0 auto;border:1px solid rgba(23,37,50,.12);border-radius:.5rem;background:rgba(255,255,255,.86);padding:.85rem;box-shadow:0 .8rem 2rem rgba(18,35,48,.1)}.cv-document-section h2,.cv-toolbar p{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace}.cv-toolbar h2,.cv-toolbar p{margin:0}.cv-toolbar p{color:#2f7f71;font-size:.72rem;font-weight:820;text-transform:uppercase}.cv-toolbar h2{color:#172532;font-size:1rem;font-weight:840}.cv-toolbar-actions{justify-content:flex-end}.cv-action-button{display:inline-flex;min-height:2.35rem;align-items:center;justify-content:center;border:1px solid rgba(18,50,71,.16);border-radius:.45rem;background:#ffffff;padding:0 .78rem;color:#123247;font:inherit;font-size:.86rem;font-weight:780;text-align:center}.cv-action-button-primary{border-color:#123247;background:#123247;color:#ffffff}.cv-document,.cv-document-frame{width:min(100%,210mm);margin:0 auto}.cv-document{display:flex;overflow:hidden;min-height:297mm;flex-direction:column;border:0;border-radius:0;background:#f8f8f2;box-shadow:0 1.4rem 3.4rem rgba(16,30,42,.18);color:#2d3f50;font-family:Inter,ui-sans-serif,system-ui,Segoe UI,sans-serif;letter-spacing:0;print-color-adjust:exact;-webkit-print-color-adjust:exact}.cv-document-header{display:grid;height:52mm;grid-template-columns:minmax(0,1fr) 45mm;align-items:start;gap:8mm;background:#ffffff;padding:13mm 13mm 7mm}.cv-document-heading{display:grid;gap:6mm}.cv-document-heading :is(h1,h2){margin:0;color:#26394b;font-size:30pt;font-weight:520;letter-spacing:0;line-height:.98;text-transform:uppercase}.cv-document-heading p{max-width:112mm;margin:0;color:#304355;font-size:9.4pt;font-weight:520;line-height:1.32}.cv-document-contact{display:grid;align-content:start;gap:2.6mm;color:#2c3e4e;font-style:normal;text-align:right}.cv-document-contact a,.cv-document-contact p,.cv-document-entry li,.cv-document-entry p,.cv-document-section>.cv-language-list,.cv-document-section>.cv-skill-line,.cv-language-list,.cv-skill-line{color:#2c3e4e;font-size:8.6pt;line-height:1.22}.cv-document-contact a{font-weight:520;overflow-wrap:anywhere;text-decoration:none}.cv-document-entry li,.cv-document-entry p,.cv-document-heading p,.cv-language-list,.cv-skill-line{overflow-wrap:anywhere}.cv-document-contact p{display:grid;gap:2mm;margin:0}.cv-document-contact p a{text-decoration:underline;text-underline-offset:.12rem}.cv-document-body{display:grid;flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:17mm;background:#f7f7f0;padding:15mm 13mm 8mm}.cv-document-column,.cv-document-entry,.cv-document-entry-list{display:grid}.cv-document-column{align-content:start;gap:6mm}.cv-document-section{display:grid;gap:4.2mm;-moz-column-break-inside:avoid;break-inside:avoid;margin-top:0}.cv-document-section+.cv-document-section{margin-top:0}.cv-document-section h2{margin:0;color:#42cfae;font-size:12pt;font-weight:900;letter-spacing:0;line-height:1;text-transform:uppercase}.cv-document-entry-list{gap:3.6mm}.cv-document-entry{gap:1.4mm;-moz-column-break-inside:avoid;break-inside:avoid}.cv-document-entry h3{margin:0;color:#26394b;font-size:8.8pt;font-weight:820;line-height:1.2}.cv-document-entry p,.cv-document-entry ul,.cv-language-list,.cv-skill-line{margin:0}.cv-entry-meta,.cv-entry-subtitle{font-weight:500}.cv-document-entry ul{display:grid;gap:.6mm;padding-left:4.5mm}.cv-document-entry li{padding-left:.8mm;list-style:disc}.cv-document-education-entry{gap:1.3mm}.cv-language-list{display:grid;gap:.8mm}.cv-language-list div{display:flex;gap:.25rem}.cv-language-list dd,.cv-language-list dt{margin:0}@media screen and (max-width:767px){.cv-document-shell{padding:1rem 1rem calc(2.5rem + env(safe-area-inset-bottom))}.cv-toolbar{align-items:stretch;flex-direction:column}.cv-toolbar-actions{display:grid;grid-template-columns:1fr}.cv-action-button{min-height:2.7rem}.cv-action-button-primary{grid-column:1/-1}.cv-document{width:100%;min-height:0;border:1px solid rgba(23,37,50,.08);border-radius:.55rem;box-shadow:0 .8rem 1.8rem rgba(16,30,42,.1)}.cv-document-body,.cv-document-header{grid-template-columns:1fr}.cv-document-header{height:auto;gap:1.3rem;padding:1.35rem 1.2rem 1.25rem}.cv-document-heading{gap:.85rem}.cv-document-heading :is(h1,h2){max-width:100%;font-size:clamp(2.05rem,10vw,2.8rem);line-height:.96;overflow-wrap:anywhere}.cv-document-heading p{max-width:none;font-size:1rem;line-height:1.55}.cv-document-contact{gap:.45rem;text-align:left}.cv-document-contact a,.cv-document-contact p,.cv-document-entry li,.cv-document-entry p,.cv-document-section>.cv-language-list,.cv-document-section>.cv-skill-line,.cv-language-list,.cv-skill-line{font-size:.98rem;line-height:1.55}.cv-document-body{gap:1.8rem;padding:1.4rem 1.2rem 1.6rem}.cv-document-column,.cv-document-entry,.cv-document-entry-list,.cv-document-section{gap:.95rem}.cv-document-section h2{font-size:1.08rem}.cv-document-entry h3{font-size:1rem;line-height:1.35}.cv-document-entry ul{gap:.35rem;padding-left:1.2rem}}.app-external-link,.contact-email-actions a,.contact-email-actions button:not(:disabled),.contact-profile-card>a,.cv-action-button,.desktop-icon,.desktop-window-control,.dock-item,.files-breadcrumb,.files-confirm-panel button:not(:disabled),.files-editor-actions button:not(:disabled),.files-more-menu button:not(:disabled),.files-nav-button:not(:disabled),.files-paste-import-actions button:not(:disabled),.files-reader-actions button:not(:disabled),.files-rename-form button:not(:disabled),.files-row,.files-shortcut-preview button:not(:disabled),.files-sidebar-item,.files-toolbar-actions button:not(:disabled),.mobile-app-icon,.mobile-control-close,.mobile-dock-item,.mobile-home-indicator-button,.mobile-overlay-scrim,.mobile-status-button,.mobile-switcher-close,.project-back-button,.project-card-actions :is(button,a):not(:disabled),.project-detail-actions a,.project-detail-actions button:not(:disabled),.system-menu-trigger,.system-topbar-app-link{cursor:pointer}[role=button][aria-disabled=true],[role=menuitem]:disabled,[role=menuitem][aria-disabled=true],a[aria-disabled=true],button:disabled,button[aria-disabled=true],input:disabled,select:disabled,textarea:disabled{cursor:not-allowed}.desktop-window-titlebar{cursor:grab}.desktop-window-dragging .desktop-window-titlebar{cursor:grabbing}.app-badge,.app-card h3,.app-card li,.app-card p,.app-card-eyebrow,.app-content,.app-content h2,.app-kicker,.app-summary,.contact-channel-value,.contact-direct-app,.contact-direct-header .app-kicker,.contact-direct-header h2,.contact-direct-header p,.contact-email-actions a,.contact-email-actions button,.contact-fit-panel h3,.contact-fit-panel p,.contact-panel-kicker,.contact-profile-card h3,.contact-profile-card p,.contact-profile-card span,.cv-document-section h2,.cv-toolbar p,.desktop-window-title,.files-breadcrumb,.files-reader h3,.files-reader-kicker,.files-row-date,.files-row-glyph,.files-row-name,.files-row-size,.files-row-type,.files-title-area h2,.mobile-control-kicker,.mobile-panel-title,.mobile-status-button,.profile-avatar-mark,.profile-hero-panel h3,.project-card-facts dd,.project-card-facts dt,.project-card-reading h4,.project-case-card h3,.project-detail-hero-copy h3,.project-detail-section h3,.project-fact-list dd,.project-fact-list dt,.projects-intro-panel h3,.tech-summary-panel h3{font-family:var(--font-sans);letter-spacing:0}.desktop-window[data-window-app=contact] .contact-direct-header .app-kicker,.mobile-panel[data-mobile-app=contact] .contact-direct-header .app-kicker{font-size:.72rem;font-weight:700;line-height:1.5}.desktop-window[data-window-app=contact] .contact-direct-header h2{font-size:clamp(1.45rem,4vw,2rem);font-weight:720;line-height:1.08}.mobile-panel .app-content h2,.mobile-panel[data-mobile-app=contact] .contact-direct-header h2,.mobile-panel[data-mobile-app=files] .files-title-area h2{font-size:clamp(1.45rem,6vw,2rem);font-weight:720;line-height:1.08}.boot-screen,.boot-screen *,.terminal-native-app,.terminal-native-app *,.text-editor-textarea,code,kbd,pre,samp{font-family:var(--font-mono)}@media (max-width:767px){.mobile-home-shell{padding-bottom:max(.45rem,env(safe-area-inset-bottom));touch-action:pan-x}.mobile-home-content{gap:0;overflow:hidden;touch-action:pan-x}.mobile-home-pages{display:grid;width:100%;min-height:0;flex:1;grid-template-columns:repeat(2,100%);transform:translateX(calc(var(--mobile-launcher-offset) + var(--mobile-launcher-drag)));transition:transform .24s cubic-bezier(.2,.8,.2,1);will-change:transform}.mobile-home-pages-dragging{transition:none}.mobile-home-page{display:flex;min-width:100%;min-height:0;flex-direction:column;gap:clamp(.72rem,1.8vh,1rem);overflow:hidden}.mobile-home-page-primary{justify-content:flex-start}.mobile-home-page-primary .mobile-launcher{flex:0 0 auto;margin-top:auto;padding-bottom:clamp(.08rem,.6vh,.22rem)}.mobile-home-page-apps{justify-content:flex-start;gap:clamp(.42rem,1.2vh,.62rem);padding-top:clamp(.1rem,.8vh,.45rem)}.mobile-launcher{--mobile-launcher-drag:0px;--mobile-launcher-offset:0%;display:grid;min-height:0;flex:1;align-content:start;margin-top:0;overflow:hidden;touch-action:pan-x}.mobile-launcher .mobile-app-grid{display:grid;width:100%;grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;gap:clamp(.76rem,2.5vh,1.05rem) clamp(.58rem,3vw,1rem);margin-top:0!important;padding:.05rem 0 .1rem}.mobile-home-page-primary .mobile-launcher .mobile-app-grid{grid-template-columns:repeat(3,minmax(0,4.6rem));justify-content:start}.mobile-home-page-apps .mobile-launcher{flex:0 0 auto}.mobile-weather-widget{position:relative;display:grid;width:calc(100% - .22rem);max-width:calc(100% - .22rem);min-height:clamp(10.2rem,24dvh,12.2rem);grid-template-columns:minmax(0,1fr) clamp(5.2rem,24vw,6.9rem);align-items:center;gap:clamp(.65rem,3vw,1rem);margin:0 auto 0 .02rem;overflow:hidden;border:0;border-radius:2rem;background:radial-gradient(circle at 78% 20%,rgba(255,230,122,.7),transparent 2.4rem),linear-gradient(160deg,rgba(48,144,220,.98),rgba(41,111,174,.92));padding:clamp(1rem,4vw,1.35rem);color:#ffffff;box-shadow:inset 0 0 0 .5px rgba(255,255,255,.24),inset 0 1px 0 rgba(255,255,255,.28),0 1.2rem 3rem rgba(0,0,0,.22)}.mobile-weather-widget[data-weather=clear]{background:radial-gradient(circle at 78% 20%,rgba(255,230,122,.76),transparent 2.6rem),linear-gradient(160deg,rgba(46,158,232,.98),rgba(34,126,204,.92))}.mobile-weather-widget[data-weather=clouds],.mobile-weather-widget[data-weather=fog],.mobile-weather-widget[data-weather=variable]{background:radial-gradient(circle at 78% 20%,rgba(255,230,122,.52),transparent 2.5rem),linear-gradient(160deg,rgba(68,150,212,.98),rgba(61,119,172,.94))}.mobile-weather-widget[data-weather=rain],.mobile-weather-widget[data-weather=storm]{background:radial-gradient(circle at 78% 18%,rgba(173,211,232,.36),transparent 2.8rem),linear-gradient(160deg,rgba(46,111,158,.98),rgba(33,66,104,.95))}.mobile-weather-widget[data-weather=snow]{background:radial-gradient(circle at 78% 20%,rgba(255,255,255,.62),transparent 2.6rem),linear-gradient(160deg,rgba(100,174,218,.98),rgba(84,133,174,.94))}.mobile-weather-copy{position:relative;z-index:1;display:grid;min-width:0;align-content:center;gap:.38rem}.mobile-weather-copy p,.mobile-weather-copy small,.mobile-weather-copy span,.mobile-weather-copy strong{min-width:0}.mobile-weather-copy p{margin:0;color:rgba(255,255,255,.82);font-size:.78rem;font-weight:820;text-transform:uppercase}.mobile-weather-copy strong{color:#ffffff;font-size:clamp(2.55rem,14vw,3.85rem);font-weight:780;line-height:.95}.mobile-weather-copy span{display:block;overflow-wrap:anywhere;color:rgba(255,255,255,.9);font-size:clamp(.9rem,3.8vw,1rem);font-weight:760;line-height:1.25}.mobile-weather-copy small{color:rgba(255,255,255,.7);font-size:.72rem;line-height:1.35}.mobile-weather-copy button{width:-moz-fit-content;width:fit-content;min-height:2.25rem;margin-top:.12rem;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.16);padding:0 .78rem;color:rgba(255,255,255,.94);font-size:.72rem;font-weight:780}.mobile-weather-visual{position:relative;z-index:1;display:block;width:clamp(5.2rem,24vw,6.9rem);height:clamp(5.2rem,24vw,6.9rem);justify-self:end}.mobile-weather-bolt,.mobile-weather-cloud,.mobile-weather-rain,.mobile-weather-snow,.mobile-weather-sun{position:absolute;opacity:0;transition:opacity .18s ease}.mobile-weather-sun{top:.28rem;right:.32rem;width:3.15rem;height:3.15rem;border-radius:999px;background:radial-gradient(circle,#fff9b1 0 28%,#ffd34d 58%,#ff9f36 100%);box-shadow:0 0 1.8rem rgba(255,216,76,.62),0 0 0 .6rem rgba(255,216,76,.14)}.mobile-weather-cloud{border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(214,235,244,.9));box-shadow:0 .75rem 1.4rem rgba(18,68,112,.2)}.mobile-weather-cloud:after,.mobile-weather-cloud:before{position:absolute;content:"";border-radius:999px;background:inherit}.mobile-weather-cloud-primary{right:.38rem;bottom:2.05rem;width:4.6rem;height:2.1rem}.mobile-weather-cloud-primary:before{top:-1.05rem;left:.72rem;width:2.15rem;height:2.15rem}.mobile-weather-cloud-primary:after{top:-.78rem;right:.72rem;width:1.8rem;height:1.8rem}.mobile-weather-cloud-secondary{right:2.2rem;bottom:1.55rem;width:2.9rem;height:1.3rem;opacity:0;transform:scale(.92)}.mobile-weather-rain{right:.95rem;bottom:.42rem;width:3.85rem;height:1.8rem;transform:rotate(-8deg);background:repeating-linear-gradient(90deg,transparent 0 .48rem,rgba(195,234,255,.95) .48rem .66rem,transparent .66rem 1.08rem);border-radius:.6rem}.mobile-weather-snow{right:1rem;bottom:.46rem;width:3.8rem;height:1.65rem;background:radial-gradient(circle,rgba(255,255,255,.96) 0 .12rem,transparent .14rem) 0 0 /1rem .8rem,radial-gradient(circle,rgba(255,255,255,.85) 0 .1rem,transparent .12rem) .5rem .3rem /1.15rem .9rem}.mobile-weather-bolt{right:2rem;bottom:.46rem;width:1.1rem;height:2.1rem;clip-path:polygon(48% 0,100% 0,64% 42%,100% 42%,26% 100%,44% 54%,0 54%);background:#ffe45e;filter:drop-shadow(0 .35rem .5rem rgba(114,69,0,.32))}.mobile-weather-visual[data-weather-visual=clear] .mobile-weather-sun,.mobile-weather-visual[data-weather-visual=clouds] .mobile-weather-sun,.mobile-weather-visual[data-weather-visual=variable] .mobile-weather-sun{opacity:1}.mobile-weather-visual[data-weather-visual=clouds] .mobile-weather-sun,.mobile-weather-visual[data-weather-visual=variable] .mobile-weather-sun{opacity:.76}.mobile-weather-visual[data-weather-visual=clouds] .mobile-weather-cloud,.mobile-weather-visual[data-weather-visual=fog] .mobile-weather-cloud,.mobile-weather-visual[data-weather-visual=rain] .mobile-weather-cloud,.mobile-weather-visual[data-weather-visual=snow] .mobile-weather-cloud,.mobile-weather-visual[data-weather-visual=storm] .mobile-weather-cloud,.mobile-weather-visual[data-weather-visual=variable] .mobile-weather-cloud{opacity:1}.mobile-weather-visual[data-weather-visual=fog] .mobile-weather-cloud-secondary{opacity:.68}.mobile-weather-visual[data-weather-visual=rain] .mobile-weather-rain,.mobile-weather-visual[data-weather-visual=snow] .mobile-weather-snow,.mobile-weather-visual[data-weather-visual=storm] .mobile-weather-bolt,.mobile-weather-visual[data-weather-visual=storm] .mobile-weather-rain{opacity:1}.mobile-profile-widget{flex:0 0 auto;min-height:clamp(8.4rem,20dvh,10.7rem);align-content:end}.mobile-page-dots{display:flex;position:relative;z-index:1;align-self:center;justify-content:center;gap:.45rem;padding:.18rem 0 .04rem}.mobile-page-dots button{width:.45rem;height:.45rem;border:0;border-radius:999px;background:rgba(255,255,255,.44);padding:0}.mobile-page-dots button.active,.mobile-page-dots button[aria-current=page]{width:1.15rem;background:rgba(255,255,255,.92)}.mobile-dock{display:grid;margin-top:.42rem}.mobile-panel{padding:0;background:#f4f6f3}.mobile-panel-wallpaper{opacity:.055}.mobile-panel-header{min-height:calc(3.15rem + env(safe-area-inset-top));padding:env(safe-area-inset-top) .86rem .34rem;background:linear-gradient(180deg,rgba(255,255,255,.7),rgba(255,255,255,.48)),rgba(244,246,243,.42);box-shadow:none;backdrop-filter:blur(22px) saturate(1.14)}.mobile-panel-back{border-color:rgba(18,50,71,.1);background:rgba(255,255,255,.38);box-shadow:none}.mobile-panel-glyph{border-color:rgba(255,255,255,.38);background:var(--app-icon-bg);color:var(--app-icon-fg);box-shadow:inset 0 0 0 .5px rgba(255,255,255,.28),0 .45rem 1.15rem var(--app-icon-glow)}.mobile-panel-back-icon{border-color:#123247}.mobile-panel-back-label,.mobile-panel-title{color:#172532;text-shadow:none}.mobile-panel-body{margin-top:0;background:transparent}.mobile-panel-body>.app-content{padding-bottom:calc(2.8rem + env(safe-area-inset-bottom))}.mobile-panel[data-mobile-app=cv] .cv-document-app{height:auto;min-height:100%;overflow:visible;background:transparent}.mobile-panel[data-mobile-app=cv] .cv-document-shell{padding:1rem 1rem calc(3rem + env(safe-area-inset-bottom))}.mobile-panel[data-mobile-app=files] .files-app-compact .files-toolbar{width:100%;min-width:0;overflow:visible}.mobile-panel[data-mobile-app=files] .files-toolbar-actions{min-width:0;max-width:100%;flex-wrap:wrap;overflow-x:visible;padding-bottom:0}.mobile-panel[data-mobile-app=files] .files-toolbar-actions button{flex:1 1 calc(50% - 0.22rem);justify-content:center;min-width:0;padding-inline:.62rem}.mobile-panel[data-mobile-app=files] .files-more-menu{right:0;max-width:calc(100vw - 1.5rem)}.mobile-panel>.mobile-home-indicator{position:fixed;right:0;bottom:max(.42rem,env(safe-area-inset-bottom));left:0;z-index:4;width:8.2rem;height:.32rem;margin:0 auto;border:0;border-radius:999px;background:rgba(255,255,255,.92);box-shadow:0 1px 8px rgba(18,35,48,.18)}.mobile-panel[data-mobile-app=projects] .project-detail-hero-copy{align-content:start;gap:.58rem}.mobile-panel[data-mobile-app=projects] .project-detail-hero-copy .app-card-eyebrow{display:block;margin:0;font-size:.74rem;font-weight:820}.mobile-panel[data-mobile-app=projects] .project-detail-hero-copy h3{margin-top:0}.mobile-panel[data-mobile-app=files] .mobile-panel-body{overflow:hidden}.mobile-panel[data-mobile-app=files] .mobile-panel-body>.files-app-compact{height:100%;min-height:0;overflow:hidden}.mobile-panel[data-mobile-app=files] .files-app-compact .files-main{height:100%;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}.mobile-panel[data-mobile-app=files] .files-app-compact .files-content-grid{flex:none;min-height:auto;overflow:visible}.mobile-panel[data-mobile-app=files] .files-app-compact .files-list,.mobile-panel[data-mobile-app=files] .files-app-compact .files-reader{max-height:none;overflow:visible}.mobile-panel[data-mobile-app=projects] .app-content:has(.project-detail-view){gap:.95rem;padding-top:.95rem}.mobile-panel[data-mobile-app=projects] .project-detail-view{gap:.95rem}.mobile-panel[data-mobile-app=projects] .project-back-button{align-self:start;width:auto;max-width:100%;padding-inline:1.05rem}.mobile-panel[data-mobile-app=projects] .project-detail-hero{display:grid;grid-template-columns:1fr;overflow:hidden;border-radius:1.05rem;background:#ffffff}.mobile-panel[data-mobile-app=projects] .project-detail-hero img{width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:16/9;-o-object-fit:cover;object-fit:cover;-o-object-position:top center;object-position:top center}.mobile-panel[data-mobile-app=projects] .project-detail-hero-copy{display:grid;gap:.55rem;padding:1rem;background:#ffffff}.mobile-panel[data-mobile-app=projects] .project-detail-hero-copy .app-card-eyebrow{max-width:100%;color:#49606f;font-size:.72rem;line-height:1.24;overflow-wrap:anywhere;text-wrap:balance}.mobile-panel[data-mobile-app=projects] .project-detail-hero-copy h3{max-width:none;margin:0;color:#111821;font-size:clamp(1.45rem,6vw,1.75rem);font-weight:820;line-height:1.12;overflow-wrap:anywhere;text-wrap:balance}.mobile-panel[data-mobile-app=projects] .project-detail-hero-copy p{color:#37414b;font-size:.96rem;line-height:1.55}.mobile-panel[data-mobile-app=projects] .project-detail-grid,.mobile-panel[data-mobile-app=projects] .project-fact-list{grid-template-columns:1fr}}@media print{@page{size:A4;margin:0}body,html{background:#ffffff!important;color:#000000!important}body:has(.cv-document){width:210mm;min-height:297mm;overflow:visible!important}body:has(.cv-document) *{visibility:hidden!important}body:has(.cv-document) .cv-document,body:has(.cv-document) .cv-document *,body:has(.cv-document) .cv-document-frame,body:has(.cv-document) .cv-document-shell{visibility:visible!important}body:has(.cv-document) .cv-screen-only,body:has(.cv-document) .cv-toolbar{display:none!important;visibility:hidden!important}body:has(.cv-document) .cv-document-frame,body:has(.cv-document) .cv-document-shell{width:210mm!important;min-width:210mm!important;max-width:210mm!important;margin:0!important;padding:0!important;overflow:visible!important;background:#ffffff!important;box-shadow:none!important}body:has(.cv-document) .cv-document{position:fixed;top:0;left:0;width:210mm!important;min-width:210mm!important;max-width:210mm!important;height:297mm!important;min-height:297mm!important;max-height:297mm!important;margin:0!important;border:0!important;box-shadow:none!important}body:has(.cv-print-route){width:210mm;min-height:297mm;margin:0!important;overflow:visible!important;background:#ffffff!important}body:has(.cv-print-route) *{visibility:visible!important}body:has(.cv-print-route) .cv-print-route{display:block!important;width:210mm!important;min-width:210mm!important;max-width:210mm!important;min-height:297mm!important;margin:0!important;padding:0!important;overflow:visible!important;background:#ffffff!important}body:has(.cv-print-route) .cv-document{position:static!important;width:210mm!important;min-width:210mm!important;max-width:210mm!important;height:297mm!important;min-height:297mm!important;max-height:297mm!important;margin:0!important;border:0!important;box-shadow:none!important}body:has(.cv-document) .cv-document-entry,body:has(.cv-document) .cv-document-section{-moz-column-break-inside:avoid;break-inside:avoid;page-break-inside:avoid}}@media (min-width:768px){.desktop-widgets{top:3rem;right:1rem;width:min(21rem,24vw)}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}