:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-sans:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--bg:#f3f4f6;--surface:#fff;--surface-muted:#f3f4f6;--text:#17212f;--text-secondary:#526071;--accent:#2457d6;--accent-hover:#1b46b4;--accent-soft:#eaf0ff;--on-accent:#fff;--border:#d8dee8;--border-strong:#7a8698;--focus:#2457d6;--glass:#ffffffeb;--shadow-card:0 2px 8px #17212f0f;--shadow-window:0 24px 64px #0c121c33, 0 4px 16px #0c121c14;--radius-control:10px;--radius-card:16px;--radius-window:20px;--radius-dock:24px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:80px;--space-10:96px;--space-11:112px;--space-12:128px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c121c;--surface:#151b26;--surface-muted:#1e2735;--text:#f3f4f6;--text-secondary:#aab4c3;--accent:#a7c0ff;--accent-hover:#bcd0ff;--accent-soft:#21335b;--on-accent:#101828;--border:#344153;--border-strong:#7d8ba0;--focus:#a7c0ff;--glass:#151b26eb;--shadow-card:0 2px 8px #00000029;--shadow-window:0 24px 64px #0006, 0 4px 16px #00000029}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-block:2rem 8rem}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);margin:0;font-size:1rem;line-height:1.6}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}a{color:var(--accent)}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:3px}::selection{background:var(--accent-soft);color:var(--text)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:20;border-radius:var(--radius-control);background:var(--surface);color:var(--text);padding:12px 16px;position:fixed;top:12px;left:16px;transform:translateY(-180%)}.skip-link:focus{transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.App{background-image:linear-gradient(#0d1a2c29,#0d1a2c7a),url(/assets/desktop-background-BCJJQeeB.jpg);background-position:50%;background-size:cover;background-attachment:fixed;min-height:100svh}[data-theme=dark] .App{background-image:linear-gradient(#060e1b59,#060e1bb8),url(/assets/desktop-background-BCJJQeeB.jpg)}.portfolio-shell{width:min(1120px,100% - 64px);padding:var(--space-5) 0 calc(132px + env(safe-area-inset-bottom));margin:0 auto}.portfolio-header{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.portfolio-brand{align-items:center;gap:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);max-width:100%;min-height:52px;color:var(--text);overflow-wrap:anywhere;padding:8px 16px;font-size:.875rem;font-weight:650;line-height:1.4;text-decoration:none;display:inline-flex}.portfolio-brand svg{width:24px;height:24px;color:var(--accent);flex:none}.portfolio-brand small{color:var(--text-secondary);font-size:.8125rem;font-weight:400;display:block}.appearance-controls{gap:var(--space-1);max-width:100%;padding:var(--space-1);border:1px solid var(--border-strong);border-radius:var(--radius-card);background:var(--surface);flex-wrap:wrap;display:flex}.appearance-controls button{border-radius:var(--radius-control);min-width:44px;min-height:44px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:.875rem;display:flex}.appearance-controls button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.appearance-controls svg{flex:none;width:16px;height:16px}.appearance-controls button:hover{background:var(--surface-muted);color:var(--text)}.window-frame{border:1px solid var(--border);border-radius:var(--radius-window);background:var(--surface);box-shadow:var(--shadow-window)}.window-chrome{align-items:center;gap:var(--space-4);border-bottom:1px solid var(--border);border-radius:var(--radius-window) var(--radius-window) 0 0;background:var(--surface-muted);grid-template-columns:1fr auto 1fr;min-height:52px;padding:4px 20px;display:grid}.traffic-dots{gap:var(--space-2);display:flex}.traffic-dots span{background:#ff6258;border:1px solid #0000001a;border-radius:50%;width:11px;height:11px}.traffic-dots span:nth-child(2){background:#ffbd2e}.traffic-dots span:nth-child(3){background:#27c840}.window-title{color:var(--text-secondary);font-size:.875rem;font-weight:600}.window-status{color:var(--text-secondary);justify-self:end;font-size:.8125rem}.window-close{border-radius:var(--radius-control);width:44px;min-height:44px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.window-close:hover{background:var(--surface);color:var(--text)}.window-close svg{width:20px;height:20px}.portfolio-introduction{align-items:center;gap:var(--space-6);padding:var(--space-7);grid-template-columns:minmax(0,1fr) 240px;display:grid}.portfolio-shell h1,.portfolio-shell h2,.portfolio-shell h3,.portfolio-shell p{margin:0}.portfolio-shell h1{letter-spacing:-.05em;overflow-wrap:anywhere;font-size:clamp(2rem,1.5rem + 3vw,3.5rem);font-weight:700;line-height:1.12}.heading-dot{color:var(--accent)}.portfolio-shell h2{letter-spacing:-.035em;font-size:clamp(1.5rem,1.2rem + .5vw,2rem);font-weight:650;line-height:1.25}.portfolio-shell h3{letter-spacing:-.02em;font-size:1.25rem;font-weight:650;line-height:1.35}.portfolio-shell .eyebrow{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);letter-spacing:.04em;color:var(--text-secondary);font-size:.875rem;font-weight:600;display:flex}.accent-mark{background:var(--accent);border-radius:2px;flex:none;width:7px;height:7px}.portfolio-shell .intro-description{max-width:60ch;margin-top:var(--space-4);color:var(--text-secondary);font-size:1.125rem;line-height:1.6}.intro-actions{gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.portfolio-button{justify-content:center;align-items:center;gap:var(--space-3);border-radius:var(--radius-control);border:1px solid #0000;max-width:100%;min-height:44px;padding:10px 16px;font-size:.875rem;font-weight:600;line-height:1.5;text-decoration:none;transition:background .16s,box-shadow .16s;display:inline-flex}.portfolio-button svg{flex:none;width:18px;height:18px}.portfolio-button-primary{color:var(--on-accent);background:var(--accent)}.portfolio-button-primary:hover{background:var(--accent-hover)}.portfolio-button-secondary{color:var(--text);border-color:var(--border-strong);background:var(--surface)}.portfolio-button-secondary:hover{background:var(--surface-muted)}.resume-availability{align-items:center;gap:var(--space-2);margin-top:var(--space-4);color:var(--text-secondary);flex-wrap:wrap;display:flex}.resume-availability>svg{flex:none;width:18px;height:18px}.unavailable-note{color:var(--text-secondary);overflow-wrap:anywhere;font-size:.875rem}.draft-badge{max-width:100%;margin:var(--space-2) 0;border:1px solid var(--border);background:var(--surface-muted);color:var(--text-secondary);border-radius:6px;padding:3px 8px;font-size:.8125rem;line-height:1.5;display:inline-block}.folder-artwork{height:220px;position:relative}.folder-grid{opacity:.4;background-image:radial-gradient(var(--border-strong) 1px, transparent 1px);background-size:14px 14px;position:absolute;inset:-5px;-webkit-mask-image:radial-gradient(#000 20%,#0000 70%);mask-image:radial-gradient(#000 20%,#0000 70%)}.folder-back{background:var(--accent);opacity:.55;border-radius:12px;width:150px;height:114px;position:absolute;top:46px;left:39px;transform:rotate(-8deg)}.folder-back:before{content:"";background:var(--accent);border-radius:8px 8px 0 0;width:60px;height:15px;position:absolute;top:-9px;left:0}.folder-sheet{border:1px solid var(--border);background:var(--surface);border-radius:10px;align-content:start;gap:10px;width:130px;height:113px;padding:20px;display:grid;position:absolute;top:46px;left:60px;transform:rotate(7deg)}.folder-sheet span{background:var(--border);border-radius:4px;height:5px}.folder-sheet span:nth-child(2){width:72%}.folder-sheet span:nth-child(3){width:86%}.folder-front{border:1px solid var(--border-strong);background:var(--accent-soft);width:163px;height:98px;box-shadow:var(--shadow-card);border-radius:13px;place-items:center;display:grid;position:absolute;top:77px;left:40px;transform:rotate(-4deg)}.folder-front svg{width:33px;height:33px;color:var(--accent)}.folder-artwork>span{text-align:center;width:100%;font-family:var(--font-mono);color:var(--text-secondary);font-size:.8125rem;position:absolute;bottom:0}.portfolio-section{padding:var(--space-6) var(--space-7) var(--space-7);border-top:1px solid var(--border)}.section-heading{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.section-note{max-width:28ch;color:var(--text-secondary);font-size:.875rem}.project-grid{gap:var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.project-preview{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);min-width:0;box-shadow:var(--shadow-card);overflow-wrap:anywhere;flex-direction:column;display:flex}.project-preview-heading{padding:var(--space-4) var(--space-5)}.project-preview-heading .draft-badge{margin-top:0}.project-preview-media{aspect-ratio:1.6;border-block:1px solid var(--border);background:var(--surface-muted);justify-content:center;align-items:center;display:flex;position:relative}.project-preview-media img{aspect-ratio:1.6;object-fit:contain;border-radius:inherit;width:100%;height:100%;display:block}.media-variant-0{background:linear-gradient(140deg, var(--accent-soft), var(--surface-muted))}.media-variant-1{background:linear-gradient(25deg, var(--surface-muted), var(--accent-soft))}.schematic-preview{border:1px solid var(--border-strong);background:var(--surface);width:65%;height:66%;box-shadow:var(--shadow-card);border-radius:8px;flex-direction:column;justify-content:center;gap:7px;padding:24px 16px 14px;display:flex;position:relative}.schematic-title{border-bottom:1px solid var(--border);background:var(--surface-muted);border-radius:7px 7px 0 0;height:13px;position:absolute;inset:0 0 auto}.schematic-preview svg{width:20px;height:20px;color:var(--accent)}.schematic-preview>span{background:var(--border);border-radius:3px;height:4px;display:block}.schematic-preview>span:nth-last-child(2){width:70%}.schematic-preview>span:last-child{width:40%}.media-variant-1 .schematic-preview{transform:rotate(3deg)}.media-variant-2 .schematic-preview{transform:rotate(-3deg)}.media-pending{border:1px solid var(--border);background:var(--surface);max-width:calc(100% - 16px);color:var(--text-secondary);border-radius:5px;padding:2px 7px;font-size:.8125rem;line-height:1.5;position:absolute;bottom:8px;left:8px}.project-preview-copy{padding:var(--space-5);flex-direction:column;flex:1;align-items:flex-start;display:flex}.project-preview-copy .draft-badge{margin-top:0}.project-preview-copy>p{margin-top:var(--space-3);color:var(--text-secondary)}.project-tags{margin:var(--space-4) 0 0;flex-wrap:wrap;gap:6px;padding:0;list-style:none;display:flex}.project-tags li{background:var(--surface-muted);color:var(--text-secondary);border-radius:6px;padding:3px 8px;font-size:.875rem}.project-preview-actions{align-items:center;gap:var(--space-2);width:100%;padding-top:var(--space-5);flex-wrap:wrap;margin-top:auto;display:flex}.portfolio-details{gap:var(--space-7);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.portfolio-details section{overflow-wrap:anywhere;min-width:0}.portfolio-details section+section{border-left:1px solid var(--border);padding-left:var(--space-6)}.portfolio-details h2{font-size:1.5rem}.portfolio-details p:not(.eyebrow){max-width:60ch;margin-top:var(--space-4);color:var(--text-secondary)}.professional-links{gap:var(--space-3);margin:var(--space-4) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.professional-links li{flex-direction:column;align-items:flex-start;display:flex}.professional-link-pending{align-items:center;gap:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-muted);min-height:44px;padding:10px 16px;display:inline-flex}.professional-link-pending svg{flex:none;width:18px;height:18px}.portfolio-footer{justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-7);border-top:1px solid var(--border);border-radius:0 0 var(--radius-window) var(--radius-window);background:var(--surface-muted);color:var(--text-secondary);flex-wrap:wrap;font-size:.8125rem;display:flex}.empty-state{padding:var(--space-5);border:1px dashed var(--border-strong);border-radius:var(--radius-card);color:var(--text-secondary);background:var(--surface-muted)}.explorer-region:not(:empty){margin-top:var(--space-6)}.explorer-content{padding:var(--space-6) var(--space-7) var(--space-7)}.explorer-floating:not(:empty){z-index:8;margin:0;position:fixed}.explorer-floating>.window-frame{flex-direction:column;height:100%;display:flex}.explorer-floating .window-chrome,.explorer-floating .finder-tools{flex:none}.explorer-floating .explorer-content{min-height:0;padding:var(--space-5);overscroll-behavior:contain;border-radius:0 0 var(--radius-window) var(--radius-window);flex:1;overflow:auto}.explorer-floating .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finder-drag-handle{border-radius:var(--radius-control);min-height:44px;font:inherit;color:var(--text);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;align-items:center;gap:12px;padding:8px 24px;display:inline-flex}.finder-drag-handle:active{cursor:grabbing}.finder-drag-handle:hover{background:var(--surface)}.finder-tools{gap:var(--space-2);border-bottom:1px solid var(--border);color:var(--text-secondary);flex-direction:column;padding:12px 20px;font-size:.875rem;display:flex}.finder-inline-tools{flex-flow:wrap;justify-content:space-between;align-items:center}.finder-tool-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.finder-tools button{border:1px solid var(--border-strong);border-radius:var(--radius-control);min-width:44px;min-height:44px;color:var(--text);background:var(--surface);font:inherit;cursor:pointer;padding:8px 12px}.finder-tools button:hover{background:var(--surface-muted)}.finder-announcement{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.collection-controls{gap:var(--space-2);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.collection-controls button{border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface);min-height:44px;color:var(--text);cursor:pointer;padding:10px 14px;font-size:.875rem}.collection-controls button[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.collection-controls button:hover{box-shadow:var(--shadow-card)}.information-card{min-width:0;padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);overflow-wrap:anywhere}.information-card p{margin:var(--space-4) 0;color:var(--text-secondary)}.skill-grid,.writing-grid{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.portfolio-dock{left:50%;bottom:calc(16px + env(safe-area-inset-bottom));z-index:10;align-items:center;gap:var(--space-1);padding:var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius-dock);background:var(--surface);box-shadow:var(--shadow-window);display:flex;position:fixed;transform:translate(-50%)}.portfolio-dock a,.portfolio-dock button{justify-content:center;align-items:center;gap:var(--space-1);border-radius:var(--radius-card);min-width:68px;min-height:58px;color:var(--text);cursor:pointer;background:0 0;border:0;flex-direction:column;padding:7px 12px;font-size:.875rem;line-height:1.4;text-decoration:none;transition:background .16s;display:flex}.portfolio-dock svg{width:22px;height:22px}.portfolio-dock a:hover,.portfolio-dock button:hover{background:var(--surface-muted)}.portfolio-dock [aria-current],.portfolio-dock [aria-expanded=true]{background:var(--accent-soft);color:var(--accent)}.dock-separator{background:var(--border-strong);align-self:stretch;width:1px;margin:8px 4px}.portfolio-dock a,.portfolio-dock button,.portfolio-button,.collection-controls button{scroll-margin-block:7rem}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.appearance-controls,.portfolio-dock{background:var(--glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}}@media (width<=1000px){.portfolio-introduction{padding:var(--space-6);gap:var(--space-4);grid-template-columns:minmax(0,1fr) 200px}.folder-artwork{transform-origin:100%;transform:scale(.8)}.portfolio-section,.explorer-content{padding:var(--space-6)}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-details{gap:var(--space-5)}.portfolio-details section+section{padding-left:var(--space-5)}}@media (width<=760px){html{scroll-padding-block:var(--space-4)}.portfolio-shell{width:calc(100% - 32px);padding-top:var(--space-5);padding-bottom:var(--space-5)}.portfolio-header{align-items:flex-start}.appearance-controls button{padding:8px 10px}.window-chrome{padding-inline:var(--space-4);grid-template-columns:auto 1fr}.window-title{justify-self:end}.window-status{display:none}.portfolio-introduction{padding:var(--space-6) var(--space-5);grid-template-columns:minmax(0,1fr)}.folder-artwork{display:none}.portfolio-shell h1{font-size:clamp(2rem,1.3rem + 3.5vw,3rem)}.portfolio-shell .intro-description{font-size:1rem}.portfolio-section,.explorer-content{padding:var(--space-5)}.project-grid,.skill-grid,.writing-grid,.portfolio-details{grid-template-columns:minmax(0,1fr)}.portfolio-details section+section{border-left:0;border-top:1px solid var(--border);padding:var(--space-5) 0 0}.portfolio-footer{padding-inline:var(--space-5)}.portfolio-dock{flex-wrap:wrap;justify-content:center;width:fit-content;max-width:calc(100% - 32px);margin:0 auto;position:static;transform:none}.App{padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom))}.dock-separator{display:none}}@media (width<=380px){.portfolio-shell{width:calc(100% - 24px)}.portfolio-introduction,.portfolio-section,.explorer-content,.project-preview-copy,.project-preview-heading{padding-inline:var(--space-4)}.intro-actions .portfolio-button{width:100%}}
