@layer components{.workspace-scene[data-motion-active=false]{animation-play-state:paused!important}.workspace-scene[data-visible=true]{animation:atelier-arrive 1.1s var(--ease-settle)both}.workspace-model{transition:transform .7s var(--ease-settle);transform-origin:50% 75%;position:relative}.workspace-steam{pointer-events:none;width:5%;height:7%;position:absolute;top:35%;left:74%}.workspace-steam i{border-left:1px solid var(--color-secondary-400);opacity:0;border-radius:50%;width:25%;height:75%;position:absolute;bottom:0}@keyframes atelier-arrive{0%{opacity:.8;transform:translateY(24px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes coffee-steam{0%{opacity:0;transform:translateY(6px)scaleX(.8)}25%{opacity:.5}to{opacity:0;transform:translateY(-18px)scaleX(1.5)}}.workspace-scene[data-motion-active=false] .workspace-model{transition:none!important;transform:none!important}.workspace-scene[data-motion-active=false] .workspace-light{opacity:0}.workspace-light{pointer-events:none;background:radial-gradient(circle at var(--light-x,50%)var(--light-y,35%),#e0cc9533,transparent 34%);mix-blend-mode:screen;opacity:.7;transition:opacity .24s;position:absolute;inset:0}.workspace-lamp-glow{pointer-events:none;opacity:1;transition:opacity .22s var(--ease-settle);background:radial-gradient(circle at 24% 43%,#e0cc9538,#0000 17%);position:absolute;inset:0}.workspace-lamp-glow[data-lamp-on=false]{opacity:0}.workspace-object-control{z-index:3;width:44px;height:44px;color:var(--color-secondary-300);opacity:.75;transition:opacity .18s ease,background-color .18s ease,border-color .18s ease,transform .18s var(--ease-settle);background:#151f1b38;border:1px solid #e0cc9573;border-radius:999px;place-items:center;display:grid;position:absolute}.workspace-object-control>span{background:currentColor;border-radius:999px;width:8px;height:8px;box-shadow:0 0 0 3px #e0cc9529}.workspace-object-control:hover,.workspace-object-control:focus-visible{opacity:1;border-color:var(--color-secondary-300);background:#151f1b94;outline:none;transform:scale(1.06)}.workspace-object-control:after{border:1px solid var(--color-border);background:var(--color-surface-200);width:max-content;max-width:14rem;color:var(--color-text-secondary);content:attr(data-tooltip);font-family:var(--font-mono);letter-spacing:.03em;opacity:0;pointer-events:none;padding:.35rem .5rem;font-size:.65rem;transition:opacity .16s,transform .16s;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%,-4px)}.workspace-object-control:hover:after,.workspace-object-control:focus-visible:after{opacity:1;transform:translate(-50%)}.workspace-lamp-control{top:39%;left:21%}.workspace-lamp-control:after{left:0;transform:translateY(-4px)}.workspace-lamp-control:hover:after,.workspace-lamp-control:focus-visible:after{transform:translateY(0)}.workspace-monitor-control{top:24%;left:51%}.workspace-cup-control{top:calc(43% - 22px);left:calc(76% - 22px)}.workspace-cup-control:after{left:auto;right:0;transform:translateY(-4px)}.workspace-cup-control:hover:after,.workspace-cup-control:focus-visible:after{transform:translateY(0)}.workspace-coffee-burst{z-index:4;pointer-events:none;position:absolute;top:40%;left:76%}.coffee-heal{--heal-x:-25px;--heal-y:-75px;--heal-tilt:-12deg;color:#d1ba78;filter:drop-shadow(0 2px 1px #433f2a80);opacity:0;width:19px;height:19px;animation:1.4s ease-out both coffee-recharge;position:absolute;top:-9px;left:-9px}.coffee-heal:nth-child(2){--heal-x:23px;--heal-y:-58px;--heal-tilt:10deg;color:#afbf91;width:14px;height:14px;animation-delay:.1s}.coffee-heal:nth-child(3){--heal-x:5px;--heal-y:-100px;--heal-tilt:5deg;color:#ead7a4;animation-delay:.2s}.coffee-heal:nth-child(4){--heal-x:-36px;--heal-y:-42px;--heal-tilt:-8deg;color:#afbf91;width:12px;height:12px;animation-delay:.3s}@keyframes coffee-recharge{0%{opacity:0;transform:translate(0)scale(.55)}18%{opacity:1}72%{opacity:.9}to{opacity:0;transform:translate(var(--heal-x),var(--heal-y))rotate(var(--heal-tilt))scale(1)}}@media (prefers-reduced-motion:reduce){.coffee-heal{opacity:1;transform:translate(var(--heal-x),calc(var(--heal-y)*.45));animation:none!important}}.workspace-steam i{animation:none!important}.workspace-scene[data-motion-active=true] .workspace-steam.is-pulsing i{animation:1.8s ease-out infinite coffee-steam!important}.workspace-scene[data-motion-active=true] .workspace-steam.is-pulsing i:nth-child(2){animation-delay:-600ms!important}.workspace-scene[data-motion-active=true] .workspace-steam.is-pulsing i:nth-child(3){animation-delay:-1200ms!important}@media (prefers-reduced-motion:reduce),(hover:none),(pointer:coarse){.workspace-scene,.workspace-scene[data-motion-active=false]{animation:none!important}.workspace-scene .workspace-model{transition:none!important;transform:none!important}.workspace-light{opacity:0}.workspace-lamp-glow,.workspace-object-control,.workspace-object-control:after{transition:none}.workspace-object-control:hover,.workspace-object-control:focus-visible{transform:none}}}
@layer components{.project-sheet{transform-origin:bottom;transition:transform .32s var(--ease-settle),box-shadow .32s var(--ease-settle),border-color .2s ease,background-color .2s ease;position:relative;box-shadow:0 2px 3px #080f0926,0 10px 24px #080f091a}.project-sheet-link:after{content:"";clip-path:polygon(100% 0,100% 100%,0 0);transform-origin:100% 0;width:28px;height:28px;transition:transform .28s var(--ease-settle);pointer-events:none;background:linear-gradient(45deg,#c3b47a 48%,#19271f 51%);position:absolute;top:0;right:0;transform:scale(0)}.project-sheet-link:focus-visible:after{transform:scale(1)}.contact-letter .letter-stamp{transition:transform .28s var(--ease-settle),box-shadow .28s var(--ease-settle)}.contact-letter:focus-within .letter-stamp{transform:rotate(0)translateY(-3px);box-shadow:0 4px 6px #19271f1a}.experience-timeline{position:relative}.experience-timeline:before{content:"";background:var(--color-border);pointer-events:none;width:1px;position:absolute;top:10px;bottom:10px;left:2px}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.experience-timeline{view-timeline-name:--career-reading;view-timeline-axis:block}.experience-timeline:after{content:"";background:var(--color-secondary-300);transform-origin:top;pointer-events:none;width:1px;animation:linear both career-thread;animation-timeline:--career-reading;animation-range:entry 20% exit 65%;position:absolute;top:10px;bottom:10px;left:2px}}}@keyframes career-thread{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.project-sheet-link:hover{transform:translateY(-4px);box-shadow:0 4px 6px #080f0933,0 18px 32px #080f0933}.project-sheet-link:hover:after{transform:scale(1)}.contact-letter:hover .letter-stamp{transform:rotate(0)translateY(-3px);box-shadow:0 4px 6px #19271f1a}}@media (prefers-reduced-motion:reduce){.project-sheet,.project-sheet-link:after,.contact-letter .letter-stamp{transition:none}.contact-letter:focus-within .letter-stamp{transform:rotate(5deg)}}}
.folio-tabbar{justify-content:space-between;align-items:end;gap:1rem;padding:0 1.25rem;display:flex}.folio-number{color:var(--color-text-muted);letter-spacing:.12em;padding-bottom:.7rem;font-size:.65rem}.folio-read{color:#ece6d4;background:repeating-linear-gradient(90deg,#0000 0 2px,#ffffff04 2px 3px),#394c40;border:1px solid #607063;border-bottom:0;border-radius:8px 8px 0 0;min-height:44px;padding:.65rem 1rem;font-size:.75rem;transition:padding .18s,background-color .18s;box-shadow:inset 0 2px #ffffff0c}.folio-read:hover{background-color:#485e4e;padding-inline:1.25rem}.folio-read:focus-visible{outline-offset:3px;outline:2px solid #e0cc95}.project-reader{color:#eee8d9;overscroll-behavior:contain;background:#24342c;border:0;border-radius:14px;width:min(960px,100% - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:0;overflow:auto;box-shadow:0 40px 120px #0009,0 0 0 1px #e0cc9526}.project-reader::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#09110ee0}.reader-desk{padding:0 clamp(16px,3vw,32px)}.reader-toolbar,.reader-navigation{justify-content:space-between;align-items:center;gap:12px;min-height:72px;display:flex}.reader-toolbar{z-index:2;color:#d3c8ab;background:#24342c;font-size:.7rem;position:sticky;top:0}.reader-close,.reader-navigation button{border-radius:6px;justify-content:center;align-items:center;gap:12px;min-height:44px;padding:8px 12px;font-size:.8rem;display:inline-flex}.reader-close:hover,.reader-navigation button:not(:disabled):hover{background:#ffffff0c}.reader-close>span:last-child{font-size:1.5rem}.reader-navigation button:disabled{opacity:.35;cursor:default}.reader-navigation>span{color:#d3c8ab;font-size:.7rem}.reader-paper{isolation:isolate;color:#26362e;background:#e5dbc1;border-radius:3px 8px 8px 3px;padding:clamp(24px,5vw,54px);position:relative;box-shadow:0 3px #b6aa8d,0 6px #c9bea3,0 16px 30px #0004}.reader-paper:before{content:"";z-index:-1;border-radius:inherit;opacity:.3;pointer-events:none;background-image:url(/paper-grain.svg);position:absolute;inset:0}.reader-spine{background:#77684b33;width:1px;position:absolute;top:0;bottom:0;left:12px;box-shadow:-3px 0 5px #71633f1a}.reader-framework{color:#52634f;margin-bottom:16px;font-size:.7rem}.reader-heading h2{font-size:clamp(2rem,5vw,3.4rem);line-height:1.15}.reader-description{max-width:62ch;margin-top:20px;line-height:1.75}.reader-tags{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.reader-tags span{border:1px solid #6c735e40;border-radius:4px;padding:5px 8px;font-size:.65rem}.reader-facts{border-top:1px solid #6c735e40;grid-template-columns:1fr 1fr;gap:28px 40px;margin-top:32px;padding-top:28px;display:grid}.reader-facts dt{letter-spacing:.08em;color:#52634f;font-size:.65rem}.reader-facts dd{margin-top:10px;font-size:.95rem;line-height:1.75}.reader-proof{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:32px;font-size:.75rem;display:flex}.reader-proof a{border-bottom:1px solid #6c735e;align-items:center;gap:12px;min-height:44px;font-weight:600;display:inline-flex}.project-reader :focus-visible{outline-offset:3px;outline:2px solid #d1ba78}.reader-paper :focus-visible{outline-color:#26362e}@media (max-width:600px){.reader-facts{grid-template-columns:1fr;gap:24px}.reader-toolbar{min-height:64px}.reader-navigation button{padding-inline:4px}}@media (prefers-reduced-motion:no-preference){.project-reader[open]{animation:.4s cubic-bezier(.16,1,.3,1) desk-open}.project-reader[open]::backdrop{animation:.3s desk-backdrop}.reader-paper{transform-origin:0;animation:.38s cubic-bezier(.16,1,.3,1) paper-turn}@keyframes desk-open{0%{opacity:0;transform:translateY(28px)scale(.98)}to{opacity:1;transform:none}}@keyframes desk-backdrop{0%{opacity:0}to{opacity:1}}@keyframes paper-turn{0%{opacity:.65;transform:perspective(1400px)rotateY(-5deg)translate(8px)}to{opacity:1;transform:none}}}@media (prefers-reduced-motion:reduce){.folio-read{transition:none}}
