@import "https://fonts.googleapis.com/css2?family=Caveat:wght@400;500;600;700&family=Kalam:wght@300;400;700&family=Shadows+Into+Light&display=swap";@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&family=DM+Mono:wght@300;400;500&family=Instrument+Sans:wght@400;500;600;700&display=swap";html,body,#root{width:100%;min-height:100%;margin:0}html{background:#090909}body{min-width:320px}.workspace{isolation:isolate;color:#eee9df;background:#090705;width:100%;height:100vh;min-height:600px;position:relative;overflow:hidden}.workspace-scene{transform-origin:var(--focus-x) var(--focus-y);will-change:transform, filter;transition:transform .9s cubic-bezier(.2,.8,.2,1),filter .7s;position:absolute;inset:0;overflow:hidden}.workspace-scene-image{z-index:0;object-fit:cover;object-position:center center;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.workspace-scene:after{content:"";z-index:4;pointer-events:none;background:linear-gradient(90deg,#0000004d,#0000 22% 78%,#00000042),linear-gradient(#0000001f,#0000 25% 78%,#00000038);position:absolute;inset:0}.workspace-scene:before{content:"";z-index:3;pointer-events:none;opacity:.35;background:radial-gradient(circle at 30% 42%,#e0ad601a,#0000 2%),radial-gradient(circle at 52% 32%,#aabfe612,#0000 2%),radial-gradient(circle at 72% 57%,#e0ad6017,#0000 2%);animation:7s ease-in-out infinite sceneLightBreath;position:absolute;inset:12% 25% 35% 27%}@keyframes sceneLightBreath{0%,to{opacity:.25;transform:scale(1)}50%{opacity:.55;transform:scale(1.018)}}.workspace-scene.is-focused{transform:scale(1.025) translate(calc(50% - var(--focus-x)), calc(50% - var(--focus-y)));filter:brightness(.5)saturate(.72)}.workspace-nav{z-index:35;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#0a08067a;border:1px solid #e5c99921;border-radius:999px;align-items:center;gap:24px;padding:10px 18px;transition:opacity .25s,transform .25s;display:flex;position:absolute;top:22px;left:50%;transform:translate(-50%)}.workspace-nav button{color:#f4ede2b3;cursor:pointer;letter-spacing:.12em;text-transform:uppercase;background:0 0;border:0;padding:0;font:9px DM Mono,monospace;transition:color .22s,transform .22s}.workspace-nav button:hover,.workspace-nav button:focus-visible{color:#e5c28b;outline:none;transform:translateY(-1px)}.workspace-scene.is-focused .workspace-nav{opacity:0;pointer-events:none}.scene-hotspot{z-index:25;cursor:pointer;background:0 0;border:0;border-radius:14px;padding:0;display:block;position:absolute}.scene-hotspot:after{content:none!important}.scene-hotspot:focus-visible{outline-offset:3px;outline:1px solid #e1be834d}.scene-pin-tag{z-index:2;color:#3c2d1e;white-space:nowrap;opacity:0;transform:translateY(4px) rotate(var(--tag-rot,-3deg));pointer-events:none;background:#f4ead7eb;border-radius:2px;padding:3px 9px 4px;font:13px/1 Shadows Into Light,cursive;transition:opacity .3s,transform .3s;position:absolute;box-shadow:0 3px 8px #00000059}.scene-hotspot:hover .scene-pin-tag{opacity:1;transform:translateY(0) rotate(var(--tag-rot,-3deg))}.calendar-pin-tag{--tag-rot:-4deg;bottom:-10px;left:8%}.contact-pin-tag{--tag-rot:3deg;bottom:-10px;right:4%}.hotspot-laptop{width:36%;height:43%;top:33%;left:30%}.hotspot-notebook{width:20%;height:26%;top:59%;left:1.5%}.hotspot-calendar{width:17%;height:35%;top:4%;right:2.5%}.hotspot-memory{width:28%;height:32%;top:2%;left:58%}.hotspot-avatar{width:22%;height:31%;top:33%;left:64%}.hotspot-contact{width:14%;height:23%;top:53%;right:.5%}.hotspot-drawer{width:35%;height:23%;bottom:0;right:7%}.hotspot-resume{width:8%;height:8%;top:43%;right:13.5%}.hotspot-certificates{width:10%;height:8%;top:49%;right:13%}.hotspot-github{width:11%;height:8%;top:55%;right:12.5%}.hotspot-calendar,.hotspot-resume,.hotspot-certificates,.hotspot-github,.hotspot-contact,.hotspot-drawer,.hotspot-memory{transition:transform .35s;position:absolute}.hotspot-calendar:before,.hotspot-resume:before,.hotspot-certificates:before,.hotspot-github:before,.hotspot-contact:before,.hotspot-drawer:before,.hotspot-memory:before{content:"";z-index:-1;opacity:0;pointer-events:none;background:radial-gradient(#e0ba7638,#0000 72%);border-radius:16px;transition:opacity .35s;position:absolute;inset:-10%}.hotspot-calendar:hover,.hotspot-resume:hover,.hotspot-certificates:hover,.hotspot-github:hover,.hotspot-contact:hover,.hotspot-drawer:hover,.hotspot-memory:hover{transform:scale(1.025)}.hotspot-calendar:hover:before,.hotspot-resume:hover:before,.hotspot-certificates:hover:before,.hotspot-github:hover:before,.hotspot-contact:hover:before,.hotspot-drawer:hover:before,.hotspot-memory:hover:before{opacity:1}@media (prefers-reduced-motion:reduce){.hotspot-calendar,.hotspot-resume,.hotspot-certificates,.hotspot-github,.hotspot-contact,.hotspot-drawer,.hotspot-memory{transition:none}}.ambient-animation-layer{z-index:15;pointer-events:none;position:absolute;inset:0;overflow:hidden}.lamp-glow{filter:blur(14px);pointer-events:none;background:radial-gradient(at 80% 32%,#ffc7783d,#ffc77814 45%,#0000 72%);border-radius:50%;width:20%;height:32%;animation:5.5s ease-in-out infinite lampBreath;position:absolute;top:15%;left:8%}@keyframes lampBreath{0%,to{opacity:.55;transform:scale(.97)}50%{opacity:.9;transform:scale(1.05)}}.workspace-entrance-veil{z-index:40;pointer-events:none;background:radial-gradient(circle at 24% 25%, transparent 0%, transparent var(--reveal-extent,1%), #050403f7 calc(var(--reveal-extent,1%) * 1.15 + 9%));position:absolute;inset:0}.coffee-steam{z-index:100;pointer-events:none;width:90px;height:105px;position:absolute;top:49%;left:19.8%}.coffee-steam span{filter:blur(5px);opacity:0;background:#fff4e07a;border-radius:50%;width:12px;height:38px;animation:2.8s ease-in-out infinite coffeeSteam;position:absolute;bottom:0}.coffee-steam span:first-child{left:16px}.coffee-steam span:nth-child(2){animation-delay:.8s;left:37px}.coffee-steam span:nth-child(3){animation-delay:1.5s;left:57px}@keyframes coffeeSteam{0%{opacity:0;transform:translateY(12px)scale(.65)}20%{opacity:.55}55%{opacity:.3}to{opacity:0;transform:translate(10px,-65px)scale(1.3)}}.tech-breathe{pointer-events:none;width:39%;height:40%;position:absolute;top:16%;left:34%}.tech-pulse{background:#c2cfed8f;border-radius:50%;width:7px;height:7px;animation:4s ease-in-out infinite techPulse;position:absolute;box-shadow:0 0 10px #c2cfed5c,0 0 24px #7e94cd2e}.pulse-one{top:47%;left:28%}.pulse-two{animation-delay:1.15s;top:27%;left:63%}.pulse-three{animation-delay:2.1s;top:61%;left:75%}@keyframes techPulse{0%,to{opacity:.12;transform:scale(.7)}45%{opacity:.5;transform:scale(1.25)}70%{opacity:.24;transform:scale(.9)}}.avatar-aura{filter:blur(20px);background:radial-gradient(#ddbe8d1f,#ddbe8d08 48%,#0000 72%);border-radius:50%;width:20%;height:28%;animation:4.8s ease-in-out infinite avatarBreath;position:absolute;top:33%;left:64%}.robot-aura{filter:blur(12px);background:radial-gradient(circle,#9ab4e124,#0000 72%);border-radius:50%;width:11%;height:14%;animation:2.7s ease-in-out infinite robotBob;position:absolute;top:46%;left:75%}@keyframes avatarBreath{0%,to{opacity:.18;transform:scale(.97)}50%{opacity:.55;transform:scale(1.04)translateY(-3px)}}@keyframes robotBob{0%,to{opacity:.18;transform:translateY(0)scale(.95)}45%{opacity:.56;transform:translate(3px,-6px)scale(1.05)}70%{opacity:.3;transform:translate(-2px,-2px)scale(1)}}.avatar-speech-bubble{z-index:36;color:#2b2118;pointer-events:none;background:linear-gradient(135deg,#f2e8d4,#d9c8a8);border-radius:14px;width:24%;max-width:320px;padding:14px 18px;font-size:13px;font-weight:500;line-height:1.5;animation:.22s ease-out avatarHintIn;position:absolute;top:17%;left:55%;box-shadow:0 18px 40px #00000073}.avatar-speech-bubble:after{content:"";clip-path:polygon(0 0,100% 0,0 100%);background:#d9c8a8;width:18px;height:18px;position:absolute;bottom:-9px;left:28%;transform:rotate(-45deg)}@keyframes avatarHintIn{0%{opacity:0;transform:translateY(6px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.hotspot-avatar:before{content:"";opacity:0;pointer-events:none;background:radial-gradient(#e0be8d38,#e0be8d0f 50%,#0000 74%);border-radius:50%;transition:opacity .38s,transform .38s;position:absolute;inset:-10%;transform:scale(.94)}.hotspot-avatar:hover:before{opacity:1;transform:scale(1)}.hotspot-avatar.is-acknowledging:before{opacity:1;animation:.42s ease-out avatarAcknowledge}@keyframes avatarAcknowledge{0%{opacity:.4;transform:scale(.96)}45%{opacity:1;transform:scale(1.07)}to{opacity:1;transform:scale(1)}}.workspace-robot{z-index:26;cursor:pointer;transform-origin:50% 100%;background:0 0;border:0;width:9%;padding:0;animation:18s ease-in-out infinite robotLife;position:absolute;top:45%;left:69%}.workspace-robot img{pointer-events:none;filter:drop-shadow(0 8px 10px #00000073);width:100%;transition:filter .3s;display:block}.workspace-robot:before{content:"";z-index:-1;opacity:0;pointer-events:none;background:radial-gradient(#e0be8d38,#e0be8d0f 50%,#0000 74%);border-radius:50%;transition:opacity .35s,transform .35s;position:absolute;inset:-30%;transform:scale(.92)}.workspace-robot:hover:before{opacity:1;transform:scale(1)}.workspace-robot:hover img{filter:drop-shadow(0 8px 10px #00000073)brightness(1.05)}.workspace-robot.is-acknowledging{animation:.6s ease-in-out robotAcknowledge}@keyframes robotLife{0%,38%{transform:translate(0)rotate(0)scale(1)}8%{transform:translate(0)rotate(0)scale(1.02)}19%{transform:translate(0)rotate(0)scale(1)}30%{transform:translate(0)rotate(0)scale(1.02)}44%{transform:translate(4px,-1px)rotate(2deg)scale(1)}48%{transform:translate(7px)rotate(-1deg)scale(1)}53%{transform:translate(7px)rotate(4deg)scale(1)}58%{transform:translate(7px)rotate(-2deg)scale(1)}63%{transform:translate(7px)rotate(0)scale(1)}69%{transform:translate(3px,-1px)rotate(-2deg)scale(1)}73%,80%{transform:translate(0)rotate(0)scale(1)}86%{transform:translateY(-4px)rotate(3deg)scale(1.03)}90%{transform:translate(0)rotate(-3deg)scale(1.03)}94%{transform:translateY(-2px)rotate(2deg)scale(1.01)}to{transform:translate(0)rotate(0)scale(1)}}@keyframes robotAcknowledge{0%{transform:scale(1)rotate(0)}30%{transform:scale(1.12)rotate(-6deg)}60%{transform:scale(.97)rotate(4deg)}to{transform:scale(1)rotate(0)}}.hotspot-laptop:before{content:"";filter:blur(11px);opacity:.18;pointer-events:none;background:radial-gradient(at 68% 42%,#7a91ca1c,#0000 66%);border-radius:16px;width:72%;height:60%;animation:4.5s ease-in-out infinite screenGlow;position:absolute;top:8%;left:14%}@keyframes screenGlow{0%,to{opacity:.12}50%{opacity:.32}}.workspace-caption{z-index:30;color:#eee9df47;letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:11px;font:9px DM Mono,monospace;display:flex;position:absolute;bottom:24px;left:35px}.caption-line{background:#eee9df29;width:40px;height:1px}.focus-layer{z-index:90;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;background:#040302b8;place-items:center;padding:30px;display:grid;position:fixed;inset:0;overflow:hidden}.focus-object{transform-origin:50%;justify-content:center;align-items:center;width:min(1100px,92vw);max-height:88vh;display:flex;position:relative}.focus-close{z-index:50;color:#eee9dfcc;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0c0907d1;border:1px solid #dfbc7f33;border-radius:50%;width:42px;height:42px;font-size:24px;line-height:1;transition:background .18s,color .18s,transform .18s;position:absolute;top:-16px;right:-16px}.focus-close:hover{color:#e7c58f;background:#1b140ef2;transform:rotate(4deg)}.notebook-focus{perspective:1800px;place-items:center;display:grid}.notebook-closed{transform-origin:14% 55%;width:min(560px,66vw);position:absolute}.notebook-closed img{filter:drop-shadow(0 30px 45px #00000094);width:100%;display:block}.notebook-open{--scrap-ivory:#f4ead7;--scrap-cream:#ecddbd;--scrap-walnut:#6b4a30;--scrap-beige:#d8c6a1;--scrap-rose:#c48b7e;--scrap-sage:#90a37e;--scrap-mustard:#c69a2e;--scrap-amber:#c98a3d;--scrap-blue:#7c93a8;--scrap-ink:#3c2d1e;opacity:0;width:min(1020px,92vw);height:min(640px,80vh);transform-style:preserve-3d;border-radius:6px;display:flex;position:relative;overflow:hidden;transform:scale(.9);box-shadow:0 50px 110px #00000080,0 10px 30px #00000059}.notebook-open:before{content:"";z-index:6;pointer-events:none;background:linear-gradient(90deg,#0000,#00000029 45%,#00000038 50%,#00000029 55%,#0000);width:22px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.scrapbook-spread{flex:1;min-width:0;display:flex;position:relative}.scrapbook-page{box-sizing:border-box;min-width:0;color:var(--scrap-ink);background:radial-gradient(circle at 12% 18%, #6b4a3012, transparent 30%), radial-gradient(circle at 85% 78%, #6b4a300f, transparent 32%), radial-gradient(circle at 60% 8%, #6b4a300d, transparent 26%), linear-gradient(155deg, var(--scrap-ivory), var(--scrap-cream));flex:1;padding:30px 34px;font-family:Kalam,cursive;position:relative;overflow:hidden;box-shadow:inset 0 0 40px #6b4a301a}.scrap-page-left{transform:rotate(-.35deg);box-shadow:inset -18px 0 30px -26px #00000059}.scrap-page-right{transform:rotate(.45deg);box-shadow:inset 18px 0 30px -26px #00000059}.scrap-label{color:var(--scrap-walnut);letter-spacing:.04em;background:#6b4a3014;border-radius:3px;margin-bottom:18px;padding:2px 10px 4px;font:15px Shadows Into Light,cursive;display:inline-block}.scrap-heading{max-width:92%;color:var(--scrap-ink);margin:0 0 10px;font:700 clamp(28px,3.4vw,38px)/1 Caveat,cursive;transform:rotate(-.6deg)}.scrap-hand{max-width:92%;transform:rotate(var(--rot,0deg));transform-origin:0 0;color:var(--scrap-ink);margin:0 0 10px;font:21px/1.3 Caveat,cursive;display:inline-block}.scrap-hand-neat{font:15px/1.45 Kalam,cursive}.scrap-hand-thin{font:14px/1.4 Shadows Into Light,cursive}.scrap-hand-underline{text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--scrap-amber) 65%, transparent);text-decoration-color:color-mix(in srgb, var(--scrap-amber) 65%, transparent);text-underline-offset:4px;text-decoration-thickness:2px}.scrap-hand-circled{padding:2px 10px;position:relative}.scrap-hand-circled:before{content:"";border:2px solid color-mix(in srgb, var(--scrap-rose) 60%, transparent);border-radius:50%/60%;position:absolute;inset:-4px -8px;transform:rotate(-2deg)}.scrap-hand-crossed{opacity:.55;text-decoration:line-through}.note-body{max-width:85%;font-size:18px}.note-heading{font-size:22px}.note-corner{z-index:2;max-width:50%;position:absolute;bottom:22px;right:28px}.note-pullout{color:var(--scrap-walnut);margin-bottom:14px;font-size:24px}.scrap-polaroid{transform:rotate(var(--rot,0deg));background:#fbf6ea;flex-direction:column;margin:0 12px 12px 0;padding:8px 8px 20px;display:inline-flex;position:relative;box-shadow:0 14px 26px #00000047,0 2px 4px #0000001f}.scrap-polaroid-sm{width:92px}.scrap-polaroid-md{width:126px}.scrap-polaroid-lg{width:164px}.scrap-cluster{flex-wrap:wrap;align-items:flex-end;display:flex}.scrap-polaroid-photo{aspect-ratio:4/5;background:linear-gradient(145deg, color-mix(in srgb, var(--scrap-sage) 20%, #e8ddc8), color-mix(in srgb, var(--scrap-beige) 60%, #cbb98f));color:#3c2d1e59;place-items:center;display:grid}.scrap-polaroid-photo svg{stroke:currentColor;stroke-width:1.3px;width:30%}.scrap-polaroid figcaption{color:var(--scrap-ink);text-align:center;margin-top:10px;font:17px Caveat,cursive}.scrap-pin{z-index:2;background:radial-gradient(circle at 35% 30%,#e4a15c,#8a4a1f);border-radius:50%;width:11px;height:11px;position:absolute;top:-7px;left:50%;transform:translate(-50%);box-shadow:0 2px 4px #0006}.scrap-tape{width:64px;height:26px;transform:translateX(-50%) rotate(var(--rot,0deg));opacity:.75;mix-blend-mode:multiply;position:absolute;top:-14px;left:50%;box-shadow:0 1px 2px #00000014}.scrap-tape-amber{background:color-mix(in srgb, var(--scrap-amber) 55%, transparent)}.scrap-tape-sage{background:color-mix(in srgb, var(--scrap-sage) 55%, transparent)}.scrap-tape-rose{background:color-mix(in srgb, var(--scrap-rose) 55%, transparent)}.scrap-tape-mustard{background:color-mix(in srgb, var(--scrap-mustard) 55%, transparent)}.scrap-tape-blue{background:color-mix(in srgb, var(--scrap-blue) 45%, transparent)}.scrap-torn{max-width:230px;transform:rotate(var(--rot,0deg));clip-path:polygon(0% 5%,7% 0%,15% 4%,23% 1%,31% 5%,39% 1%,47% 4%,55% 0%,63% 4%,71% 1%,79% 4%,87% 0%,94% 4%,100% 1%,100% 95%,93% 100%,85% 96%,77% 100%,69% 96%,61% 100%,53% 97%,45% 100%,37% 96%,29% 100%,21% 97%,13% 100%,5% 96%,0% 100%);margin:0 16px 20px 0;padding:16px 18px 20px;display:inline-block;position:relative;box-shadow:0 10px 18px #00000029}.scrap-torn .scrap-hand{max-width:100%;margin:0;display:block;transform:none}.scrap-torn-amber{background:color-mix(in srgb, var(--scrap-amber) 22%, #fbf3e2)}.scrap-torn-sage{background:color-mix(in srgb, var(--scrap-sage) 24%, #f1f3e7)}.scrap-torn-rose{background:color-mix(in srgb, var(--scrap-rose) 22%, #fbeee8)}.scrap-torn-mustard{background:color-mix(in srgb, var(--scrap-mustard) 22%, #faf2dc)}.scrap-torn-blue{background:color-mix(in srgb, var(--scrap-blue) 20%, #edf1f4)}.scrap-pressed{width:40px;transform:rotate(var(--rot,0deg));opacity:.88;filter:saturate(.75);margin:0 14px 10px 0;display:inline-block;position:relative}.scrap-pressed-tape{position:absolute;top:-6px;left:50%}.scrap-pressed-stem{stroke:color-mix(in srgb, var(--scrap-sage) 70%, #4a5a3c);stroke-width:1.4px}.scrap-pressed-leaf{fill:color-mix(in srgb, var(--scrap-sage) 55%, transparent)}.scrap-pressed-bloom{fill:color-mix(in srgb, var(--scrap-rose) 55%, transparent)}.scrap-pressed-rose .scrap-pressed-bloom{fill:color-mix(in srgb, var(--scrap-rose) 70%, transparent)}.scrap-pressed-mustard .scrap-pressed-bloom{fill:color-mix(in srgb, var(--scrap-mustard) 65%, transparent)}.scrap-doodle{width:30px;height:30px;stroke:var(--scrap-walnut);stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;opacity:.65}.scrapbook-page>.scrap-doodle{position:absolute}.doodle-a{top:24px;left:30px}.doodle-b{bottom:30px;left:34px}.doodle-c{bottom:34px;right:30px}.doodle-arrow-down{opacity:.5;width:20px;height:26px;margin:2px 0 2px 18px;transform:rotate(90deg)}.scrap-collected-list{flex-direction:column;gap:10px;margin:6px 0 14px;padding:0;list-style:none;display:flex}.scrap-collected-list li{transform:rotate(calc((var(--i,0) - 2) * .6deg));align-items:center;gap:10px;font:17px Caveat,cursive;display:flex}.scrap-collected-list .scrap-doodle{opacity:.7;flex-shrink:0}.scrap-timeline-step{margin-bottom:2px}.scrap-timeline-body{max-width:300px;color:color-mix(in srgb, var(--scrap-ink) 78%, transparent);margin:2px 0 0;font:13px/1.4 Kalam,cursive}.scrap-checklist{flex-direction:column;gap:8px;margin:6px 0 0;padding:0;list-style:none;display:flex}.scrap-checklist li{transform:rotate(calc((var(--i,0) - 2) * .5deg));align-items:flex-start;gap:9px;font:16px/1.2 Caveat,cursive;display:flex}.scrap-checkbox{border:2px solid var(--scrap-walnut);border-radius:3px;flex-shrink:0;width:15px;height:15px;margin-top:4px;transform:rotate(-3deg)}.scrap-closing-line{color:var(--scrap-ink);margin:0 0 3px;font:700 clamp(24px,3.2vw,34px)/1.05 Caveat,cursive}.scrap-closing-line:nth-of-type(2){color:var(--scrap-walnut);padding-left:22px}.scrap-closing-line:nth-of-type(3){padding-left:44px}.page-half{z-index:5;cursor:pointer;background:0 0;border:0;width:64px;position:absolute;top:0;bottom:0}.page-left{background:linear-gradient(90deg,#0000000d,#0000);left:0}.page-right{background:linear-gradient(270deg,#0000000d,#0000);right:0}.page-half:hover:not(:disabled){background-color:#ffffff0a}.page-turn-arrow{width:26px;height:26px;color:var(--scrap-walnut,#6b4a30);opacity:.7;background:#f4ead780;border:1px solid #6b4a304d;border-radius:50%;place-items:center;font:15px/1 Shadows Into Light,cursive;transition:opacity .25s,transform .25s,background .25s;display:grid;position:absolute;bottom:18px}.page-left .page-turn-arrow{left:14px}.page-right .page-turn-arrow{right:14px}.page-half:hover:not(:disabled) .page-turn-arrow{opacity:1;background:#f4ead7cc}.page-left:hover:not(:disabled) .page-turn-arrow{transform:translate(-3px)}.page-right:hover:not(:disabled) .page-turn-arrow{transform:translate(3px)}.page-half:disabled .page-turn-arrow{opacity:.25}.page-half:disabled{cursor:default}.scrap-page-indicator{z-index:6;color:#3c2d1e66;letter-spacing:.1em;font:9px DM Mono,monospace;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}@keyframes spreadTurnNext{0%{opacity:0;transform:rotateY(-16deg)translate(22px);box-shadow:-40px 0 60px -20px #0006}60%{box-shadow:-20px 0 50px -20px #0000004d}to{opacity:1;transform:rotateY(0)translate(0);box-shadow:0 0 #0000}}@keyframes spreadTurnPrev{0%{opacity:0;transform:rotateY(16deg)translate(-22px);box-shadow:40px 0 60px -20px #0006}60%{box-shadow:20px 0 50px -20px #0000004d}to{opacity:1;transform:rotateY(0)translate(0);box-shadow:0 0 #0000}}.scrapbook-spread{transform-style:preserve-3d}.spread-turn-next{transform-origin:0;animation:.55s cubic-bezier(.2,.7,.2,1) both spreadTurnNext}.spread-turn-prev{transform-origin:100%;animation:.55s cubic-bezier(.2,.7,.2,1) both spreadTurnPrev}.scrap-polaroid,.scrap-hand,.scrap-torn,.scrap-collected-list li,.scrap-checklist li,.scrap-closing-line{animation:.5s cubic-bezier(.2,.8,.2,1) both scrapSettle;animation-delay:calc(var(--i,0) * 70ms + .12s)}@keyframes scrapSettle{0%{opacity:0;transform:translateY(8px) rotate(var(--rot,0deg))}to{opacity:1;transform:translateY(0) rotate(var(--rot,0deg))}}@media (prefers-reduced-motion:reduce){.spread-turn-next,.spread-turn-prev,.scrap-polaroid,.scrap-hand,.scrap-collected-list li,.scrap-checklist li,.scrap-closing-line{animation:none!important}}@media (width<=850px){.notebook-open{flex-direction:column;width:94vw;max-height:88vh;overflow-y:auto}.notebook-open:before{display:none}.scrapbook-spread{flex-direction:column}.scrap-page-left,.scrap-page-right{transform:none}}.calendar-focus{aspect-ratio:1164/1351;perspective:1600px;place-items:center;width:min(430px,40vw);display:grid;position:relative}.calendar-cover{transform-origin:50% 0;transform-style:preserve-3d;backface-visibility:hidden;position:absolute;inset:0}.calendar-cover img{object-fit:contain;filter:drop-shadow(0 30px 50px #00000094);width:100%;height:100%;display:block}.calendar-journey{opacity:0;transform-origin:50% 0;width:100%;height:100%;transform-style:preserve-3d;position:relative;transform:rotateX(-90deg)}.calendar-ring{background:linear-gradient(90deg,#8c6637,#d1a662,#8c6637);border-radius:999px;height:8px;position:absolute;top:14.5%;left:12%;right:12%;box-shadow:0 3px 6px #0000004d,inset 0 1px #ffe9be40}.calendar-ring:before{content:"";background:radial-gradient(circle at 35% 30%,#e7c07a,#9c7231);border-radius:50%;width:12px;height:12px;position:absolute;top:-13px;left:50%;transform:translate(-50%);box-shadow:0 2px 4px #0006}.calendar-page{scrollbar-width:thin;scrollbar-color:#2a1f154d transparent;color:#2b2118;transform-origin:50% 0;transform-style:preserve-3d;background:linear-gradient(135deg,#f2e8d7,#d9c7a5);border:1px solid #3e2b1b29;padding:9% 8%;position:absolute;inset:19% 9% 5%;overflow-y:auto;box-shadow:0 30px 60px #00000073}@keyframes calendarPageTurnNext{0%{opacity:0;transform:rotateX(-72deg);box-shadow:0 -30px 50px #0006}to{opacity:1;transform:rotateX(0);box-shadow:0 40px 80px #00000080}}@keyframes calendarPageTurnPrev{0%{opacity:0;transform:rotateX(72deg);box-shadow:0 30px 50px #0006}to{opacity:1;transform:rotateX(0);box-shadow:0 40px 80px #00000080}}.calendar-page-turn-next{animation:.6s cubic-bezier(.34,1.4,.64,1) both calendarPageTurnNext}.calendar-page-turn-prev{animation:.6s cubic-bezier(.34,1.4,.64,1) both calendarPageTurnPrev}@media (prefers-reduced-motion:reduce){.calendar-page-turn-next,.calendar-page-turn-prev{animation:none}}.calendar-page>span{letter-spacing:.14em;font:8px DM Mono,monospace;display:block}.calendar-page h2{max-width:100%;margin:12px 0;font:500 clamp(19px,2.6vw,26px)/1.05 Cormorant Garamond,serif}.calendar-page p{max-width:100%;margin:0 0 10px;font-size:12.5px;line-height:1.6}.journey-controls{align-items:center;gap:14px;margin-top:18px;display:flex}.journey-controls button{color:#2b2118;cursor:pointer;background:0 0;border:1px solid #2a1f152e;border-radius:50%;width:30px;height:30px;transition:transform .18s,background .18s}.journey-controls button:hover:not(:disabled){background:#2a1f150f;transform:scale(1.05)}.journey-controls button:disabled{opacity:.25}.document-focus{place-items:center;display:grid}.document-stand{width:min(700px,70vw);min-height:78vh;max-height:780px;position:relative}.document-paper{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#46301c4d transparent;color:#2a2017;cursor:default;background:linear-gradient(135deg,#f0e4cf,#d8c39d);padding:52px 56px;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s,filter .45s;position:absolute;inset:0;overflow:hidden auto}.document-paper:before{content:"";pointer-events:none;border:1px solid #46301c14;position:absolute;inset:14px}.document-paper.is-active{z-index:3;transform:translateY(-18px)rotate(-.6deg)scale(1);box-shadow:0 45px 90px #0000008c,inset 0 2px #ffffff2e}.document-paper.is-stacked{z-index:1;cursor:pointer;transform:translate(var(--stack-x,14px), var(--stack-y,26px)) rotate(var(--stack-r,2deg)) scale(.96);filter:brightness(.72)saturate(.85);box-shadow:0 20px 40px #0006}.document-paper.is-stacked:first-of-type{--stack-x:-16px;--stack-y:22px;--stack-r:-2.5deg}.document-paper.is-stacked:nth-of-type(3){--stack-x:18px;--stack-y:30px;--stack-r:2.5deg}.document-paper.is-stacked:hover{transform:translate(var(--stack-x,14px), calc(var(--stack-y,26px) - 10px)) rotate(var(--stack-r,2deg)) scale(.97);filter:brightness(.88)saturate(.95)}.document-tab{z-index:2;background:inherit;color:#5a4429;letter-spacing:.13em;text-transform:uppercase;border-radius:4px 4px 0 0;padding:6px 16px;font:9px DM Mono,monospace;position:absolute;top:-13px;left:40px;box-shadow:0 -4px 10px #00000026}.document-content{animation:.5s cubic-bezier(.2,.8,.2,1) both documentSettle}@keyframes documentSettle{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.document-paper h2{margin:24px 0 8px;font:500 44px/1 Cormorant Garamond,serif}.document-paper h3{opacity:.58;font-size:13px;font-weight:500}.resume-body{margin-top:28px}.resume-section{border-top:1px solid #46301c24;padding:16px 0}.resume-section:first-child{border-top:0}.resume-label{color:#7a5730;letter-spacing:.15em;text-transform:uppercase;margin-bottom:10px;font:9px DM Mono,monospace;display:block}.resume-row{margin-bottom:10px}.resume-row:last-child{margin-bottom:0}.resume-row strong{font-size:15px;font-weight:600;display:inline}.resume-row>span{color:#2a201799;margin-left:8px;font-size:12px;display:inline-block}.resume-row em{color:#2a201780;margin-left:8px;font-size:11px;font-style:normal;display:inline-block}.resume-row p{max-width:none;margin:6px 0 0;font-size:13px;line-height:1.6}.resume-skill-tier{margin-bottom:10px}.resume-skill-tier em{color:#7a5730;letter-spacing:.08em;margin-bottom:3px;font:10px DM Mono,monospace;display:block}.resume-skill-tier span{color:#2a2017b8;font-size:12px;line-height:1.6}.resume-section>p{max-width:none;margin:0;font-size:13px;line-height:1.7}.credentials-body{flex-direction:column;gap:18px;margin-top:26px;display:flex}.credential-card{border-bottom:1px solid #46301c24;gap:18px;padding-bottom:18px;display:flex}.credential-card:last-child{border-bottom:0}.credential-image{color:#46301c80;text-align:center;background:#46301c0d;border:1px dashed #46301c4d;border-radius:4px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:4px;width:110px;height:78px;display:flex}.credential-image span{letter-spacing:.06em;text-transform:uppercase;font-size:9px}.credential-image small{opacity:.7;font-size:8px}.credential-image img,.credential-preview-pdf{object-fit:cover;pointer-events:none;border:0;border-radius:3px;width:100%;height:100%}.credential-info strong{font-size:16px;display:block}.credential-info>span{color:#7a5730;letter-spacing:.04em;margin:3px 0 6px;font-size:11px;display:block}.credential-info em{color:#2a201780;letter-spacing:.04em;margin-bottom:6px;font-size:10px;font-style:normal;display:block}.credential-info p{max-width:none;margin:0;font-size:12px;line-height:1.6}.credential-open{color:#7a5730;margin-top:6px;font-size:11px;text-decoration:none;display:inline-block}.credential-open:hover{text-decoration:underline}.credential-card-compact{padding-bottom:14px}.credential-card-compact .credential-image{width:84px;height:60px}.credential-card-compact .credential-info strong{font-size:13px}.credentials-archive{border-top:1px solid #46301c33;flex-direction:column;gap:14px;margin-top:22px;padding-top:18px;display:flex}.credentials-archive-label{color:#46301c80;letter-spacing:.16em;margin-bottom:4px;font:9px DM Mono,monospace;display:block}.resume-body{flex-direction:column;gap:14px;display:flex}.resume-pdf-frame{background:#fff;border:1px solid #46301c33;border-radius:4px;width:100%;height:min(56vh,520px);overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff4d}.resume-pdf{border:0;width:100%;height:100%}.resume-pdf-actions{gap:20px;display:flex}.resume-pdf-actions a{color:#7a5730;font-size:12px;text-decoration:none}.resume-pdf-actions a:hover{text-decoration:underline}.github-body{flex-direction:column;gap:16px;margin-top:26px;display:flex}.github-card{border-bottom:1px solid #46301c24;padding-bottom:16px}.github-card:last-child{border-bottom:0}.github-card strong{margin-bottom:6px;font-size:15px;display:block}.github-card p{max-width:none;margin:0 0 4px;font-size:12px;line-height:1.6}.github-why{color:#2a201799;font-style:italic}.github-stack{background:#46301c14;border-radius:100px;margin:6px 0;padding:3px 8px;font:9px DM Mono,monospace;display:inline-block}.github-explores,.github-builds{color:#2a2017d1}.github-explores em,.github-builds em{color:#46301c8c;letter-spacing:.08em;text-transform:uppercase;margin-right:4px;font-size:9px;font-style:normal}.github-links{flex-wrap:wrap;gap:4px 18px;display:flex}.github-card a{color:#7a5730;margin-top:4px;font-size:12px;text-decoration:none;display:inline-block}.github-card a:hover{text-decoration:underline}.github-note-link{color:#46301c8c;font-style:italic}@property --flap-rotate{syntax:"<angle>";inherits:false;initial-value:0deg}.contact-focus{perspective:1400px;place-items:center;min-height:620px;display:grid;position:relative}.focus-envelope{aspect-ratio:1.5;cursor:pointer;width:min(640px,68vw);transform-style:preserve-3d;background:linear-gradient(140deg,#ede2c9,#cdbb99);border:0;border-radius:4px;position:relative;overflow:hidden;box-shadow:0 45px 90px #0000008f,0 4px #00000014,inset 0 1px #ffffff4d}.envelope-fold{z-index:1;pointer-events:none;position:absolute;inset:0}.wax-seal,.focus-envelope:before,.focus-envelope:after{pointer-events:none}.envelope-fold-bottom{clip-path:polygon(0 100%,100% 100%,50% 52%);background:linear-gradient(#50382105 30%,#50382129)}.envelope-fold-left{clip-path:polygon(0 0,0 100%,50% 52%);background:linear-gradient(90deg,#ffffff29,#5038210d 85%)}.envelope-fold-right{clip-path:polygon(100% 0,100% 100%,50% 52%);background:linear-gradient(270deg,#ffffff1a,#50382114 85%)}.focus-envelope:before{content:"";z-index:4;clip-path:polygon(0 0,50% 52%,100% 0);transform-origin:50% 0;transform-style:preserve-3d;transform:rotateX(var(--flap-rotate,0deg));background:linear-gradient(165deg,#f0e6cf,#d3c09c);position:absolute;inset:0;box-shadow:0 10px 16px #0000004d,inset 0 -6px 10px -4px #50382138}.focus-envelope:after{content:"";z-index:2;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #50382124}.wax-seal{z-index:5;color:#f4dfb4;letter-spacing:.08em;background:radial-gradient(circle at 35% 30%,#b07b3f,#8d5d2e);border-radius:50%;place-items:center;width:64px;height:64px;font:11px DM Mono,monospace;display:grid;position:absolute;top:52%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 16px #00000042,inset 0 2px #ffe6b62e}.contact-card{opacity:0;pointer-events:none;color:#2b2118;background:linear-gradient(145deg,#f2e8d4,#d9c8a8);width:min(650px,74vw);padding:54px;position:absolute;box-shadow:0 40px 90px #00000094}.contact-card.visible{pointer-events:auto}.contact-card>span{letter-spacing:.16em;margin-bottom:22px;font:9px DM Mono,monospace;display:block}.contact-form{flex-direction:column;gap:16px;max-width:380px;display:flex}.contact-form label{color:#2a201799;letter-spacing:.1em;text-transform:uppercase;flex-direction:column;gap:6px;font:10px DM Mono,monospace;display:flex}.contact-form input[type=text],.contact-form input[type=email],.contact-form input[type=tel],.contact-form textarea{color:#2b2118;text-transform:none;letter-spacing:normal;background:#ffffff59;border:1px solid #2a201738;border-radius:3px;outline:none;padding:9px 11px;font:14px DM Mono,monospace}.contact-form textarea{resize:none;min-height:70px}.contact-method-choice{flex-direction:row;gap:22px;display:flex}.contact-method-choice label{text-transform:none;letter-spacing:normal;flex-direction:row;align-items:center;gap:7px;font-family:DM Mono,monospace;font-size:12px}.contact-method-choice input[type=radio]{accent-color:#8d5d2e}.contact-submit{color:#2b2118;cursor:pointer;background:#ffffff14;border:1px solid #281e1433;align-self:flex-start;margin-top:8px;padding:12px 16px;transition:transform .2s,background .2s}.contact-submit:hover:not(:disabled){background:#ffffff29;transform:translateY(-2px)}.contact-submit:disabled{opacity:.4;cursor:default}.focus-drawer{align-items:end}.focus-drawer .focus-object{align-items:end;width:100vw;height:100vh}.drawer-focus{width:min(760px,68vw);position:absolute;bottom:0;right:4%}.drawer-front{z-index:3;filter:drop-shadow(0 30px 46px #0000008c);width:62%;margin:0 auto;position:relative}.drawer-front img{width:100%;display:block}.drawer-interior{margin-top:-8%}.skills-inside{color:#eee9df;scrollbar-width:thin;scrollbar-color:#d6b88966 transparent;background:linear-gradient(#241811,#160f0a 60%,#100a06),repeating-linear-gradient(90deg,#00000014 0,#0000 2px 34px);border-radius:6px 6px 0 0;max-height:60vh;padding:40px 46px 60px;overflow-y:auto;box-shadow:inset 0 14px 30px #0000008c,inset 0 0 0 1px #d6b8891f,0 -30px 80px #00000080}.drawer-label{color:#d6b889;letter-spacing:.18em;margin-bottom:24px;font:9px DM Mono,monospace;display:block}.drawer-tier{margin-bottom:26px}.drawer-tier:last-child{margin-bottom:0}.drawer-tier-tab{color:#d6b889;letter-spacing:.14em;background:#d6b8891f;border-bottom:2px solid #d6b88966;border-radius:3px 3px 0 0;margin-bottom:14px;padding:4px 12px;font:10px DM Mono,monospace;display:inline-block}.drawer-cards{flex-wrap:wrap;gap:10px 14px;padding-top:4px;display:flex}.drawer-card{color:#2b2118;min-width:170px;max-width:240px;transform:rotate(calc((var(--i,0) - 1.5) * 1.6deg)) translateY(calc((var(--i,0) % 2) * 4px));background:linear-gradient(165deg,#f3ead4,#e7dab8);border:1px solid #46301c2e;border-radius:3px;flex:calc(33% - 14px);margin:0 -4px;padding:13px 15px;transition:transform .25s,box-shadow .25s;box-shadow:0 10px 18px #00000059,inset 0 1px #ffffff80}.drawer-card:nth-child(3n){max-width:200px}.drawer-card:hover{z-index:2;transform:translateY(-6px)rotate(0)scale(1.02);box-shadow:0 18px 30px #0006}.drawer-card strong{color:#7a5730;letter-spacing:.1em;text-transform:uppercase;margin-bottom:9px;font:9px DM Mono,monospace;display:block}.drawer-card-chips{flex-wrap:wrap;gap:6px;display:flex}.drawer-card-chips span{color:#2b2118;background:#46301c0f;border:1px solid #46301c24;border-radius:100px;padding:4px 9px;font-size:11px}.memory-focus{place-items:center;display:grid}.memory-board-focus{--scrap-ivory:#f4ead7;--scrap-cream:#ecddbd;--scrap-walnut:#6b4a30;--scrap-beige:#d8c6a1;--scrap-rose:#c48b7e;--scrap-sage:#90a37e;--scrap-mustard:#c69a2e;--scrap-amber:#c98a3d;--scrap-blue:#7c93a8;--scrap-ink:#3c2d1e;background:radial-gradient(circle,#00000024 .7px,#0000 1px) 0 0/5px 5px,radial-gradient(circle,#ffdcb414 .6px,#0000 1px) 2px 3px/7px 7px,radial-gradient(circle at 25% 30%,#ffffff0d,#0000 22%),linear-gradient(135deg,#8f5f35,#694321);border:22px solid #3a2618;width:min(900px,82vw);min-height:580px;padding:60px;position:relative;box-shadow:0 40px 100px #0009}.memory-center-note{color:#2e2117;text-align:center;background:#eee1c9;width:min(340px,45%);padding:32px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-1deg);box-shadow:0 15px 30px #00000038}.memory-center-note span{letter-spacing:.15em;font:8px DM Mono,monospace;display:block}.memory-center-note strong{margin-top:12px;font:500 25px/1.15 Cormorant Garamond,serif;display:block}.sticky-note{color:#3d2d1b;text-align:center;white-space:pre-line;background:#eadb9f;place-items:center;width:130px;min-height:90px;padding:15px;font:15px Kalam,cursive;transition:transform .25s,box-shadow .25s;display:grid;position:absolute;box-shadow:0 12px 18px #0003}.sticky-note:before{content:"";background:#9d6d37;border-radius:50%;width:12px;height:12px;position:absolute;top:-7px;box-shadow:0 1px 2px #00000040}.sticky-note:hover{z-index:6;cursor:pointer;box-shadow:0 22px 34px #00000052;transform:translateY(-6px)rotate(0)scale(1.03)!important}.sticky-note:active{transform:translateY(-3px)scale(1.01)!important}.tone-cream{color:#4a3a26;background:#f3e9d8}.tone-rose{color:#3d2019;background:#dba99a}.tone-sage{color:#263021;background:#a9b799}.tone-mustard{color:#3a2c0e;background:#d8b757}.tone-blue{color:#1c2733;background:#9db0c2}.tone-amber{color:#402507;background:#e0a25a}.tone-walnut{color:#f3e9d8;background:#8a6a49}.note-one{top:14%;left:8%;transform:rotate(-6deg)}.note-two{top:18%;right:8%;transform:rotate(5deg)}.note-three{bottom:13%;left:14%;transform:rotate(4deg)}.note-four{bottom:11%;right:17%;transform:rotate(-5deg)}.note-five{top:12%;left:50%;transform:translate(-50%)rotate(2deg)}.memory-deco{z-index:2;position:absolute}.memory-deco-polaroid-a{top:8%;left:4%}.memory-deco-polaroid-b{bottom:9%;left:3%}.memory-deco-flower{top:7%;right:21%}.memory-deco-doodle-a.memory-deco{stroke:#fff6e380;stroke-width:1.4px;width:30px;height:30px;top:38%;right:5%;transform:rotate(-8deg)}.memory-deco-doodle-b.memory-deco{stroke:#dba99a99;stroke-width:1.4px;width:26px;height:26px;bottom:12%;right:8%;transform:rotate(6deg)}.memory-leave-btn{z-index:6;color:#4a3a26;letter-spacing:.03em;cursor:pointer;background:#f3e9d8;border:1px solid #6b4a304d;border-radius:3px;padding:9px 15px;font:13px Shadows Into Light,cursive;transition:transform .2s,box-shadow .2s;position:absolute;bottom:-16px;right:-14px;transform:rotate(-3deg);box-shadow:0 14px 26px #0006}.memory-leave-btn:hover{transform:rotate(0)translateY(-2px);box-shadow:0 18px 32px #00000075}.memory-writing-station{z-index:7;background:#f3e9d8;border-radius:3px;flex-direction:column;align-items:flex-start;gap:7px;width:210px;padding:14px 16px;display:flex;position:absolute;bottom:30px;right:-26px;transform:rotate(2deg);box-shadow:0 18px 34px #0006}.memory-note-tray-label{color:#6b4a30;letter-spacing:.04em;align-self:flex-start;font:13px Shadows Into Light,cursive}.memory-writing-station input[type=text],.memory-writing-station textarea{resize:none;box-sizing:border-box;color:#3d2d1b;background:#fff6;border:1px solid #6b4a3040;border-radius:3px;outline:none;width:100%;padding:8px 10px;font:15px Kalam,cursive}.memory-writing-station textarea{height:52px}.memory-writing-station input[type=text]::placeholder,.memory-writing-station textarea::placeholder{color:#3d2d1b66}.memory-writing-actions{justify-content:space-between;align-items:center;width:100%;display:flex}.memory-writing-station button{color:#4a3a26;cursor:pointer;background:#6b4a301a;border:1px solid #6b4a304d;border-radius:3px;padding:7px 14px;font:13px Shadows Into Light,cursive;transition:background .2s,transform .2s}.memory-writing-cancel{opacity:.6;background:0 0!important;border-color:#0000!important}.memory-writing-station button:hover:not(:disabled){background:#6b4a3033;transform:translateY(-1px)}.memory-writing-station button:disabled{opacity:.4;cursor:default}.assistant-focus{justify-content:center;align-items:center;gap:40px;display:flex}.assistant-avatar-mini{aspect-ratio:364/419;transform-origin:50% 100%;width:min(280px,26vw);animation:5.4s ease-in-out infinite avatarBreatheIdle;position:relative}.assistant-avatar-mini img{object-fit:contain;transform-origin:50% 100%;filter:drop-shadow(0 25px 40px #00000080);width:100%;height:100%;transition:filter .35s,opacity .25s;animation:8.6s ease-in-out infinite avatarIdleShift;display:block;position:absolute;inset:0}.avatar-layer-idle{opacity:1;z-index:1}.avatar-layer-hover,.avatar-layer-open,.avatar-layer-speaking{opacity:0;pointer-events:none}.avatar-layer-hover{z-index:2}.avatar-layer-open{z-index:3}.avatar-layer-speaking{z-index:4}.assistant-avatar-mini:hover .avatar-layer-hover,.assistant-avatar-mini.is-opening .avatar-layer-open,.assistant-avatar-mini.is-speaking .avatar-layer-speaking{opacity:1}@keyframes avatarBreatheIdle{0%,to{transform:scale(1)}50%{transform:scale(.988,1.022)}}@keyframes avatarIdleShift{0%,to{transform:translate(0)rotate(0)}32%{transform:translate(-3px,-2.4px)rotate(-.6deg)}68%{transform:translate(1.6px,1px)rotate(.4deg)}}.assistant-avatar-mini:before{content:"";z-index:5;filter:blur(6px);opacity:0;pointer-events:none;background:#2d20188c;border-radius:50%;width:30%;height:8%;animation:7.6s ease-in-out infinite avatarBlink;position:absolute;top:36%;left:29%}@keyframes avatarBlink{0%,93%,to{opacity:0}95%{opacity:.68}97.5%{opacity:0}}.assistant-avatar-mini:hover img{filter:drop-shadow(0 25px 40px #00000080)brightness(1.08)}.assistant-avatar-mini:hover:after{opacity:.55}.assistant-avatar-mini:after{content:"";z-index:-1;opacity:0;pointer-events:none;background:radial-gradient(circle,#d6b88966,#0000 68%);border-radius:50%;transition:opacity .3s;position:absolute;inset:-14%}.assistant-avatar-mini.is-speaking{animation:.9s ease-in-out infinite assistantSpeak}.assistant-avatar-mini.is-speaking:after{opacity:1;animation:.9s ease-in-out infinite assistantGlowPulse}@keyframes assistantSpeak{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-4px)scale(1.018)}}@keyframes assistantGlowPulse{0%,to{opacity:.45;transform:scale(.94)}50%{opacity:.85;transform:scale(1.08)}}.assistant-panel{color:#eee9df;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#100c09eb;border:1px solid #e0be8524;border-radius:18px;width:min(580px,54vw);padding:42px;box-shadow:0 35px 80px #0000008c}.assistant-panel>span{color:#d6b889;letter-spacing:.15em;font:9px DM Mono,monospace}.assistant-panel h2{margin:14px 0;font:500 52px/.9 Cormorant Garamond,serif}.assistant-panel p{color:#eee9df8f;min-height:78px;line-height:1.7}.assistant-answer{animation:.4s both assistantAnswerIn;color:#eee9dfd9!important}@keyframes assistantAnswerIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.assistant-suggestions{gap:8px;margin-top:24px;display:grid}.assistant-suggestions button{color:#eee9dfb8;text-align:left;cursor:pointer;background:#ffffff09;border:1px solid #e6cca41a;border-radius:9px;padding:11px 13px;transition:transform .18s,background .18s}.assistant-suggestions button:hover{background:#ffffff0f;transform:translate(3px)}@media (width<=900px){.workspace-nav{gap:17px}.workspace-nav button{font-size:8px}.workspace-scene.is-focused{transform:scale(1.02) translate(calc(50% - var(--focus-x)), calc(50% - var(--focus-y)))}}@media (width<=760px){.skill-columns{grid-template-columns:1fr}.focus-layer{padding:20px}.focus-object{max-width:92vw;max-height:84vh}.notebook-open{width:92vw;min-height:430px}.paper{padding:30px 24px}.paper h2{font-size:34px}.paper p{font-size:13px}.calendar-focus{width:min(340px,62vw)}.calendar-page{padding:9% 7%}.calendar-page h2{font-size:18px}.document-paper{min-height:500px;padding:36px}.document-paper h2{font-size:48px}.contact-card{width:88vw;padding:32px}.contact-card h2{font-size:44px}.assistant-focus{flex-direction:column;gap:20px}.assistant-avatar-mini{width:170px}.assistant-panel{width:88vw;padding:30px}.assistant-panel h2{font-size:44px}.memory-board-focus{border-width:14px;width:92vw;min-height:500px;padding:28px}.memory-center-note{width:48%;padding:24px}.memory-center-note strong{font-size:21px}.sticky-note{width:100px;min-height:72px;font-size:10px}.drawer-focus{width:100vw}.skills-inside{padding:32px 28px 48px}.skills-inside h2{font-size:46px}.workspace-caption{bottom:15px;left:18px}}@media (width<=520px){.workspace-nav{gap:9px;padding:8px 10px;top:13px}.workspace-nav button{letter-spacing:.08em;font-size:6px}.hotspot-laptop{width:42%;height:39%;top:35%;left:27%}.hotspot-notebook{width:21%;height:23%;top:61%;left:0}.hotspot-calendar{width:19%;height:33%;top:5%;right:0}.hotspot-memory{width:31%;height:29%;top:3%;left:56%}.hotspot-avatar{width:27%;height:30%;top:34%;left:61%}.hotspot-contact{width:16%;height:20%;top:54%;right:0}.hotspot-drawer{width:40%;height:21%;right:5%}.hotspot-resume{width:9%;height:7%;top:45%;right:12%}.hotspot-certificates{width:11%;height:7%;top:51%;right:11%}.hotspot-github{width:12%;height:7%;top:57%;right:10%}.coffee-steam{transform-origin:bottom;top:60%;left:19%;transform:scale(.82)}.notebook-open{min-height:390px}.paper{padding:25px 18px}.paper h2{font-size:28px}.paper p{font-size:11px;line-height:1.65}.paper small{margin-top:22px}.calendar-focus{width:min(280px,68vw)}.calendar-page{padding:8% 6%}.calendar-page h2{font-size:16px}.calendar-page p{font-size:11px}.document-paper{min-height:430px;padding:28px}.document-paper h2{font-size:40px}.focus-close{width:36px;height:36px;font-size:20px;top:-8px;right:-8px}.memory-center-note{width:54%}.sticky-note{width:78px;min-height:58px;padding:9px;font-size:8px}.assistant-avatar-mini{width:140px}}@media (prefers-reduced-motion:reduce){.workspace-entrance-veil{display:none}.avatar-speech-bubble{animation:none!important}.workspace-scene,.workspace-nav,.scene-hotspot,.workspace-scene-image,.focus-layer,.focus-object,.coffee-steam span,.tech-pulse,.workspace-scene:before,.lamp-glow,.avatar-aura,.robot-aura,.hotspot-laptop:before,.hotspot-avatar:before,.assistant-avatar-mini,.assistant-avatar-mini img,.assistant-avatar-mini:before,.assistant-avatar-mini:after,.assistant-avatar-mini.is-speaking,.assistant-avatar-mini.is-speaking:after,.avatar-layer-hover,.avatar-layer-open,.avatar-layer-speaking,.workspace-robot,.workspace-robot:before,.workspace-robot.is-acknowledging,.skills-inside{transition:none!important;animation:none!important}}.focus-laptop{width:100vw;height:100vh;padding:0;display:block;-webkit-backdrop-filter:blur(1.5px)!important;backdrop-filter:blur(1.5px)!important;background:#0605044d!important}.focus-laptop .focus-object{width:100%;max-width:none;height:100%;max-height:none;display:block}.laptop-bezel{z-index:10;opacity:0;box-sizing:border-box;background:linear-gradient(155deg,#33373f 0%,#1a1c22 45%,#0a0b0e 100%);border:1px solid #ffffff1f;border-radius:18px;width:36%;height:29%;padding:15px;position:absolute;top:33%;left:30%;box-shadow:0 60px 140px #0000008c,0 10px 40px #0006,inset 0 1px #ffffff1a,inset 0 0 0 1px #00000080}.laptop-bezel .mini-site{border-radius:8px;width:100%;height:100%;position:relative;overflow:hidden auto}.laptop-screen-close{z-index:60;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#eee9dfbf;cursor:pointer;background:#0a0c148c;border:1px solid #eee6d829;border-radius:50%;place-items:center;width:26px;height:26px;font-size:16px;line-height:1;transition:color .2s,transform .2s,background .2s;display:grid;position:fixed;top:3px;right:16px}.laptop-screen-close:hover{color:#e7c58f;background:#14100cad;transform:rotate(4deg)scale(1.06)}.workspace-scene.is-focused.is-focused-laptop{transform:scale(2.4) translate(calc(50% - var(--focus-x)), calc(50% - var(--focus-y)));filter:brightness(.82)saturate(.95);transition:transform 1.3s cubic-bezier(.16,.7,.15,1),filter .9s}.mini-site{--mn-navy-0:#05070d;--mn-navy-1:#0b0f1c;--mn-navy-2:#141d33;--mn-indigo:#1d2f54;--mn-violet:#453a5c;--mn-amber:#de8037;--mn-gold:#f5973b;--mn-cream:#eee6d8;overscroll-behavior:contain;isolation:isolate;background:radial-gradient(circle at 82% 2%, color-mix(in srgb, var(--mn-gold) 55%, transparent), transparent 30%), radial-gradient(ellipse 70% 45% at 12% 96%, color-mix(in srgb, var(--mn-amber) 30%, transparent), transparent 60%), radial-gradient(ellipse 60% 50% at 88% 70%, color-mix(in srgb, var(--mn-violet) 55%, transparent), transparent 65%), radial-gradient(ellipse 80% 60% at 30% 15%, color-mix(in srgb, var(--mn-indigo) 60%, transparent), transparent 62%), linear-gradient(165deg, var(--mn-navy-2), var(--mn-navy-1) 55%, var(--mn-navy-0));width:100%;height:100%;color:var(--mn-cream);scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--mn-gold) 55%, transparent) transparent;border-radius:10px;animation:1s cubic-bezier(.2,.7,.2,1) both miniScreenWake;position:relative;overflow:hidden auto}.mini-site:after{content:"";z-index:0;pointer-events:none;opacity:.3;background-image:radial-gradient(circle,#eee6d8b3 0 1px,#0000 1.2px),radial-gradient(circle,#eee6d866 0 1px,#0000 1.2px);background-position:20px 30px,140px 190px;background-size:180px 180px,260px 260px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 55% at 70% 10%,#000000e6,#0000 75%);mask-image:radial-gradient(70% 55% at 70% 10%,#000000e6,#0000 75%)}@keyframes miniScreenWake{0%{filter:brightness(.2)saturate(.5)}40%{filter:brightness(1.3)saturate(1.15)}to{filter:brightness()saturate()}}@property --sweep-x{syntax:"<percentage>";inherits:false;initial-value:15%}@property --sweep-y{syntax:"<percentage>";inherits:false;initial-value:8%}.mini-site:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(ellipse 65% 42% at var(--sweep-x,20%) var(--sweep-y,10%), color-mix(in srgb, var(--mn-gold,#f5973b) 22%, transparent), transparent 70%);animation:22s ease-in-out infinite miniLightSweep;position:absolute;inset:0}@keyframes miniLightSweep{0%,to{--sweep-x:15%;--sweep-y:8%}50%{--sweep-x:80%;--sweep-y:55%}}.mini-site>.mini-page{z-index:1;position:relative}.mini-site-texture{z-index:0;pointer-events:none;background-image:linear-gradient(#eee6d809 1px,#0000 1px),linear-gradient(90deg,#eee6d809 1px,#0000 1px);background-size:34px 34px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000000e6,#00000059 55%,#0000 100%);mask-image:linear-gradient(#000000e6,#00000059 55%,#0000 100%)}.mini-site::-webkit-scrollbar{width:7px}.mini-site::-webkit-scrollbar-track{background:0 0}.mini-site::-webkit-scrollbar-thumb{background:#d8b67480;border-radius:999px}.mini-site::-webkit-scrollbar-thumb:hover{background:#e0be82ad}.mini-browser{z-index:50;box-sizing:border-box;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#080a12b8;border-bottom:1px solid #ffffff12;grid-template-columns:96px 1fr 80px;align-items:center;height:32px;padding:0 12px;display:grid;position:sticky;top:0}.mini-browser-dots{gap:6px;display:flex}.mini-browser-dots span{background:#eee6d833;border-radius:50%;width:6px;height:6px}.mini-browser-dots span:first-child{background:#cd8e6fbf}.mini-browser-dots span:nth-child(2){background:#d0b26ab3}.mini-browser-dots span:nth-child(3){background:#899d7fb8}.mini-browser-address{color:#eee6d86b;text-align:center;background:#ffffff09;border:1px solid #ffffff0e;border-radius:6px;justify-self:center;min-width:240px;padding:4px 12px;font:9px DM Mono,monospace}.mini-browser-address strong{color:#eee6d8ad}.mini-page{min-height:100%;animation:.5s cubic-bezier(.16,.8,.3,1) both miniPageEnter}@keyframes miniPageEnter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.mini-home{padding-bottom:50px}.mini-kicker{color:#d2b178;letter-spacing:.17em;font:9px DM Mono,monospace;display:block}.mini-tech-corners{position:relative}.mini-tech-corners:before,.mini-tech-corners:after{content:"";z-index:2;border:1px solid color-mix(in srgb, var(--project-accent,#c6a36c) 32%, transparent);opacity:.6;pointer-events:none;width:16px;height:16px;position:absolute}.mini-tech-corners:before{border-bottom:0;border-right:0;top:14px;left:14px}.mini-tech-corners:after{border-top:0;border-left:0;bottom:14px;right:14px}.mini-projects-section{padding:78px 52px 60px}.mini-project-list{grid-template-columns:repeat(2,1fr);gap:16px;padding-bottom:4px;display:grid}.mini-project-row{box-sizing:border-box;text-align:left;background:radial-gradient(circle 220px at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--row-accent,#c6a36c) 10%, transparent), transparent 70%), linear-gradient(135deg, #ffffff0d, #ffffff04);width:100%;min-width:0;min-height:196px;color:inherit;border:1px solid color-mix(in srgb, var(--row-accent,#c6a36c) 20%, #ffffff14);cursor:pointer;border-radius:14px;grid-template-columns:38px 1fr 46px;align-items:start;gap:14px;padding:22px 22px 44px;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,border-color .3s,background .3s;display:grid;position:relative;overflow:hidden;box-shadow:0 10px 24px #0000004d,inset 0 1px #ffffff0a}.mini-project-row:hover{border-color:color-mix(in srgb, var(--row-accent,#c6a36c) 48%, transparent);box-shadow:0 20px 44px #0006, 0 0 0 1px color-mix(in srgb, var(--row-accent,#c6a36c) 22%, transparent), 0 0 34px color-mix(in srgb, var(--row-accent,#c6a36c) 20%, transparent), inset 0 1px 0 #ffffff12;background:linear-gradient(135deg,#ffffff13,#ffffff05);transform:translateY(-3px)}.mini-row-number{background:color-mix(in srgb, var(--row-accent,#c6a36c) 16%, transparent);border:1px solid color-mix(in srgb, var(--row-accent,#c6a36c) 32%, transparent);width:36px;height:36px;color:color-mix(in srgb, var(--row-accent,#c6a36c) 85%, #eee6d8);border-radius:50%;place-self:start center;place-items:center;font:10px DM Mono,monospace;transition:background .3s,transform .3s;display:grid}.mini-project-row:hover .mini-row-number{background:color-mix(in srgb, var(--row-accent,#c6a36c) 30%, transparent);transform:scale(1.08)}.mini-row-main{min-width:0}.mini-row-main strong{color:#eee6d8e0;overflow-wrap:anywhere;margin-bottom:6px;font-size:16px;font-weight:500;transition:color .3s;display:block}.mini-project-row:hover .mini-row-main strong{color:#fff9ef}.mini-row-category{color:#c6a36c;letter-spacing:.08em;overflow-wrap:anywhere;margin-bottom:8px;font:8px/1.4 DM Mono,monospace;display:block}.mini-row-desc{color:#eee6d87a;overflow-wrap:anywhere;max-width:620px;margin:0;font-size:11px;line-height:1.6;display:block}.mini-row-arrow{color:#eee6d861;font-size:18px;transition:transform .3s cubic-bezier(.2,.8,.2,1),color .3s;position:absolute;bottom:18px;right:20px}.mini-project-row:hover .mini-row-arrow{color:var(--row-accent,#d5b77e);transform:translate(5px)}.mini-row-motif-wrap{color:color-mix(in srgb, var(--row-accent,#c6a36c) 55%, transparent);opacity:.7;flex-shrink:0;justify-self:center;transition:opacity .3s,transform .3s}.mini-project-row:hover .mini-row-motif-wrap{opacity:1;transform:scale(1.06)}.mini-row-motif{width:44px;height:44px;overflow:visible}.motif-ring{fill:none;stroke:currentColor;stroke-width:1px;opacity:.55}.motif-ring-b{opacity:.35}.motif-line{fill:none;stroke:currentColor;stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round;opacity:.65}.motif-node{fill:currentColor;opacity:.8;transform-box:fill-box;transform-origin:50%}.motif-node-core{opacity:1}.mini-project-row:hover .motif-node{animation:1.4s ease-in-out infinite motifPulse;animation-delay:calc(var(--ni,0) * .13s)}@keyframes motifPulse{0%,to{opacity:.8;transform:scale(1)}35%{opacity:1;transform:scale(1.5)}}.mini-detail{padding-bottom:50px}.mini-back{color:#eee6d87a;cursor:pointer;background:0 0;border:0;margin:28px 52px 0;padding:7px 0;font:10px DM Mono,monospace;transition:color .2s;display:inline-flex}.mini-back:hover{color:#d5b77e}.mini-detail-hero{background:radial-gradient(circle at 85% 30%, color-mix(in srgb, var(--project-accent) 13%, transparent), transparent 30%);border-bottom:1px solid #ffffff14;grid-template-columns:100px 1fr;align-items:center;gap:20px;min-height:300px;padding:45px 52px;display:grid;position:relative;overflow:hidden}.mini-detail-visual{z-index:0;pointer-events:none;width:260px;height:260px;position:absolute;top:50%;right:-40px;transform:translateY(-50%)}.mini-detail-hero>div:not(.mini-detail-visual){z-index:1;position:relative}.mini-detail-hero>div:not(.mini-detail-visual):not(.mini-detail-number)>*{animation:.6s cubic-bezier(.16,.8,.3,1) both heroTextIn}.mini-detail-hero>div:not(.mini-detail-visual):not(.mini-detail-number)>:first-child{animation-delay:40ms}.mini-detail-hero>div:not(.mini-detail-visual):not(.mini-detail-number)>:nth-child(2){animation-delay:.16s}.mini-detail-hero>div:not(.mini-detail-visual):not(.mini-detail-number)>:nth-child(3){animation-delay:.3s}@keyframes heroTextIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.mini-detail-orbit{border:1px solid color-mix(in srgb, var(--project-accent) 35%, transparent);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-18deg)}.orbit-a{width:190px;height:190px}.orbit-b{border-color:color-mix(in srgb, var(--project-accent) 20%, transparent);width:240px;height:240px;transform:translate(-50%,-50%)rotate(35deg)}.mini-detail-core{background:radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--project-accent) 70%, #f0e8db), color-mix(in srgb, var(--project-accent) 55%, #2a2016));color:#1a140d;width:78px;height:78px;box-shadow:0 0 40px color-mix(in srgb, var(--project-accent) 30%, transparent);border-radius:50%;place-items:center;font:500 18px DM Mono,monospace;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mini-visual-area{background:linear-gradient(180deg, color-mix(in srgb, var(--project-accent) 5%, transparent), transparent);border-bottom:1px solid #ffffff12;padding:30px 52px 34px}.mini-visual-area .mini-block-label{margin-bottom:16px}.mini-flow-diagram{width:100%;max-width:640px;height:auto;margin:0 auto;display:block;overflow:visible}.mini-flow-node-group{transform-box:fill-box;transform-origin:50%;animation:.55s cubic-bezier(.2,.8,.2,1) both flowNodeIn;animation-delay:calc(var(--i,0) * .1s)}@keyframes flowNodeIn{0%{opacity:0;transform:translateY(6px)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}.mini-flow-node{fill:color-mix(in srgb, var(--project-accent) 12%, #ffffff08);stroke:color-mix(in srgb, var(--project-accent) 45%, transparent);stroke-width:1px;filter:drop-shadow(0 0 10px color-mix(in srgb, var(--project-accent) 22%, transparent))}.mini-flow-node-group-core .mini-flow-node{fill:color-mix(in srgb, var(--project-accent) 26%, #ffffff0d);stroke:color-mix(in srgb, var(--project-accent) 65%, transparent);stroke-width:1.4px;filter:drop-shadow(0 0 16px color-mix(in srgb, var(--project-accent) 38%, transparent))}.mini-flow-label{fill:color-mix(in srgb, var(--project-accent) 78%, #f0e8db);letter-spacing:.04em;font:500 8px DM Mono,monospace}.mini-flow-node-group-core .mini-flow-label{fill:color-mix(in srgb, var(--project-accent) 92%, #fff6e8)}.mini-flow-connector{transform-box:fill-box;animation:.4s both flowConnectorIn;animation-delay:calc(var(--i,0) * .1s + 80ms)}@keyframes flowConnectorIn{0%{opacity:0}to{opacity:1}}.mini-flow-connector line{stroke:color-mix(in srgb, var(--project-accent) 50%, transparent);stroke-width:1.5px}.mini-flow-connector polygon{fill:color-mix(in srgb, var(--project-accent) 60%, transparent)}.mini-flow-connector-merge line{stroke:color-mix(in srgb, var(--project-accent) 36%, transparent);stroke-width:1.1px;stroke-dasharray:2.5 4;transition:stroke .3s,stroke-width .3s}.mini-flow-diagram-converge:hover .mini-flow-connector-merge line{stroke:color-mix(in srgb, var(--project-accent) 80%, #fff3de);stroke-width:1.6px;stroke-dasharray:none}.mini-flow-diagram-converge:hover .mini-flow-node-group-core .mini-flow-node{fill:color-mix(in srgb, var(--project-accent) 34%, #ffffff12);stroke:color-mix(in srgb, var(--project-accent) 85%, #fff3de);filter:drop-shadow(0 0 22px color-mix(in srgb, var(--project-accent) 55%, transparent))}.mini-flow-node-group-core .mini-flow-node,.mini-flow-node-group .mini-flow-node{transition:fill .3s,stroke .3s,filter .3s}.mini-flow-loop path{fill:none;stroke:color-mix(in srgb, var(--project-accent) 30%, transparent);stroke-width:1px;stroke-dasharray:3 4}.mini-detail-number{color:var(--project-accent);letter-spacing:.12em;align-self:start;padding-top:9px;font:10px DM Mono,monospace}.mini-detail-hero h2{color:#f0e8db;letter-spacing:-.025em;max-width:760px;margin:13px 0 18px;font:italic 500 60px/.9 Cormorant Garamond,serif}.mini-detail-hero p{color:#eee6d88c;max-width:680px;margin:0;font-size:14px;font-style:italic;line-height:1.7}.mini-detail-grid{grid-template-columns:1fr 1fr;gap:0;display:grid}.mini-detail-block{border-bottom:1px solid #ffffff12;min-width:0;padding:34px 40px}.mini-detail-block:nth-child(odd){border-right:1px solid #ffffff12}.mini-wide{grid-column:1/-1;border-right:0!important}.mini-block-label{color:#bf9d62;letter-spacing:.16em;margin-bottom:13px;font:9px DM Mono,monospace;display:block}.mini-detail-block p{color:#eee6d899;overflow-wrap:anywhere;max-width:850px;margin:0;font-size:12px;line-height:1.75}.mini-architecture{flex-wrap:wrap;align-items:center;gap:10px 4px;display:flex}.mini-architecture-node{align-items:center;gap:4px;min-width:0;display:flex}.mini-architecture-chip{border:1px solid color-mix(in srgb, var(--project-accent,#c6a36c) 22%, #ffffff14);min-width:0;max-width:100%;animation:.5s both chipIlluminate;animation-delay:calc(var(--i,0) * 90ms);background:#ffffff08;border-radius:999px;align-items:center;gap:9px;padding:10px 14px;display:flex}@keyframes chipIlluminate{0%{opacity:0;box-shadow:none;border-color:#ffffff14}60%{box-shadow:0 0 16px color-mix(in srgb, var(--project-accent,#c6a36c) 45%, transparent)}to{opacity:1;box-shadow:none}}.mini-architecture-chip span{color:color-mix(in srgb, var(--project-accent,#c6a36c) 70%, #eee6d8);font:8px DM Mono,monospace}.mini-architecture-chip strong{color:#eee6d8bf;overflow-wrap:anywhere;min-width:0;font-size:11px;font-weight:400;line-height:1.3}.mini-architecture-connector{color:color-mix(in srgb, var(--project-accent,#c6a36c) 55%, transparent);flex-shrink:0;font-size:13px}.mini-tech-list{flex-wrap:wrap;gap:8px;display:flex}.mini-tech-list span{color:#eee6d89c;background:#d0b16f0b;border:1px solid #d0b16f29;border-radius:100px;padding:7px 10px;font:9px DM Mono,monospace}.mini-idea p{color:#eee6d8e0;max-width:620px;font:italic 400 22px/1.5 Cormorant Garamond,serif}.mini-contribution{background:linear-gradient(135deg, color-mix(in srgb, var(--project-accent) 9%, transparent), transparent 60%);border-left:2px solid color-mix(in srgb, var(--project-accent) 55%, transparent)}.mini-contribution .mini-block-label{color:var(--project-accent)}.mini-contribution p{color:#eee6d8bf}.mini-challenge{background:#00000024;position:relative}.mini-challenge:before{content:"";background:linear-gradient(180deg, color-mix(in srgb, var(--project-accent) 60%, transparent), transparent);width:2px;position:absolute;inset:10px auto 10px 0}.mini-challenge .mini-block-label{color:#eee6d880}.mini-demo-panel{aspect-ratio:16/9;background:radial-gradient(ellipse 80% 90% at 50% 30%, color-mix(in srgb, var(--project-accent) 14%, transparent), transparent 70%), linear-gradient(165deg, color-mix(in srgb, var(--project-accent) 8%, #0d1220), #070910);border:1px solid color-mix(in srgb, var(--project-accent) 30%, #eee6d81f);color:#eee6d88c;cursor:default;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:100%;max-width:560px;transition:border-color .3s,box-shadow .3s,transform .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 50px #0006,inset 0 1px #ffffff0d}.mini-demo-panel:before{content:"";pointer-events:none;background-image:repeating-linear-gradient(90deg,#eee6d808 0 1px,#0000 1px 26px);position:absolute;inset:0}.mini-demo-panel:hover{border-color:color-mix(in srgb, var(--project-accent) 48%, #eee6d840);box-shadow:0 26px 60px #00000073, 0 0 34px color-mix(in srgb, var(--project-accent) 20%, transparent), inset 0 1px 0 #ffffff0f;transform:translateY(-2px)}.mini-demo-play{z-index:1;background:color-mix(in srgb, var(--project-accent) 20%, #eee6d80f);border:1px solid color-mix(in srgb, var(--project-accent) 45%, transparent);width:52px;height:52px;color:color-mix(in srgb, var(--project-accent) 70%, #fff3de);border-radius:50%;place-items:center;font-size:15px;transition:transform .3s,background .3s;display:grid;position:relative}.mini-demo-panel:hover .mini-demo-play{background:color-mix(in srgb, var(--project-accent) 30%, #eee6d814);transform:scale(1.08)}.mini-demo-panel strong{z-index:1;color:#eee6d8b3;font-size:13px;font-weight:500;position:relative}.mini-demo-panel>span{z-index:1;color:#eee6d859;letter-spacing:.08em;font:9px DM Mono,monospace;position:relative}.mini-outcome{background:radial-gradient(ellipse at 15% 50%, color-mix(in srgb, var(--project-accent) 10%, transparent), transparent 65%);padding-top:40px;padding-bottom:40px;border-bottom:0!important}.mini-outcome .mini-block-label{color:var(--project-accent)}.mini-outcome p{color:#eee6d8d1;max-width:640px;font:italic 400 17px/1.6 Cormorant Garamond,serif}.mini-detail-bottom{color:#eee6d83b;justify-content:space-between;align-items:center;padding:18px 52px 0;font:9px DM Mono,monospace;display:flex}.mini-detail-bottom .mini-back{margin:0}@media (width<=850px){.mini-projects-section{padding-left:25px;padding-right:25px}.mini-detail-hero{grid-template-columns:1fr;padding:35px 25px}.mini-detail-visual{display:none}.mini-project-list{grid-template-columns:1fr}.mini-project-row{grid-template-columns:40px 1fr;min-height:0}.mini-row-motif-wrap{display:none}.mini-detail-hero h2{font-size:45px}.mini-detail-block{grid-column:1/-1;padding:28px 25px;border-right:0!important}.mini-detail-bottom{padding-left:25px;padding-right:25px}.mini-browser{grid-template-columns:70px 1fr 50px}.mini-browser-address{min-width:0}}:root{color:#eee9df;font-synthesis:none;text-rendering:optimizelegibility;background:#090909;font-family:Instrument Sans,sans-serif}*{box-sizing:border-box}body{background:#090909;min-width:320px;min-height:100vh;margin:0}button{font:inherit}.workspace-stage{transform-origin:50%;will-change:opacity, transform, filter}.transition-veil{z-index:30;visibility:hidden;pointer-events:none;background:#050505;position:fixed;inset:0}.landing{background:radial-gradient(circle at 50% 45%,#68584324 0%,#1e1b1814 28%,#0000 60%),#090909;justify-content:center;align-items:center;width:100%;min-height:100vh;display:flex;position:relative;overflow:hidden}.intro-overlay{z-index:20;pointer-events:none;background:#050505;position:absolute;inset:0}.ambient-glow{filter:blur(15px);pointer-events:none;background:radial-gradient(circle,#b7915c1c 0%,#b7915c09 35%,#0000 70%);border-radius:50%;width:650px;height:650px;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}.grain{pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='.8'/%3E%3C/svg%3E");position:absolute;inset:0}.top-nav{z-index:10;justify-content:space-between;align-items:center;padding:28px 42px;display:flex;position:absolute;top:0;left:0;right:0}.nav-logo{letter-spacing:.12em;color:#d6b889;font-family:DM Mono,monospace;font-size:15px}.nav-status{letter-spacing:.08em;text-transform:uppercase;color:#eee9df73;align-items:center;gap:9px;font-family:DM Mono,monospace;font-size:10px;display:flex}.status-dot{background:#9ab58a;border-radius:50%;width:6px;height:6px;box-shadow:0 0 10px #9ab58ab3}.hero-content{z-index:5;text-align:center;flex-direction:column;align-items:center;width:min(900px,100% - 40px);display:flex;position:relative}.eyebrow{opacity:0;letter-spacing:.22em;text-transform:uppercase;color:#d6b889b8;margin:0 0 24px;font-family:DM Mono,monospace;font-size:10px;transform:translateY(30px)}.hero-content h1{letter-spacing:-.035em;white-space:nowrap;color:#eee9df;margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(58px,8vw,112px);font-weight:500;line-height:.9}.hero-content h1 span{color:#c8a878;font-family:Cormorant Garamond,serif;font-style:italic;font-weight:500}.hero-subtitle{letter-spacing:-.02em;color:#eee9dfc2;margin:34px 0 0;font-family:Instrument Sans,sans-serif;font-size:clamp(19px,2vw,26px);font-weight:400}.hero-description{color:#eee9df6e;max-width:650px;margin:25px 0 0;font-size:14px;line-height:1.9}.hero-actions{align-items:center;gap:22px;margin-top:38px;display:flex}.primary-button,.secondary-button{cursor:pointer;border:none;transition:transform .25s,background .25s,border-color .25s,color .25s}.primary-button{color:#15120e;background:#d0ae78;border-radius:3px;align-items:center;gap:14px;padding:14px 21px;font-size:13px;font-weight:600;display:flex}.primary-button span{font-size:17px;transition:transform .25s}.primary-button:hover{background:#e0bf88;transform:translateY(-2px)}.primary-button:hover span{transform:translate(4px)}.secondary-button{color:#eee9df6e;background:0 0;padding:12px 4px;font-size:12px}.secondary-button:hover{color:#eee9dfd1}.bottom-note{letter-spacing:.08em;text-transform:uppercase;color:#eee9df47;align-items:center;gap:12px;font-family:DM Mono,monospace;font-size:9px;display:flex;position:absolute;bottom:32px;left:42px}.bottom-note .line{background:#eee9df2e;width:42px;height:1px}.scroll-hint{letter-spacing:.08em;text-transform:uppercase;color:#eee9df40;align-items:center;gap:10px;font-family:DM Mono,monospace;font-size:9px;display:flex;position:absolute;bottom:32px;right:42px}.scroll-arrow{font-size:15px;animation:2s ease-in-out infinite floatArrow}@keyframes floatArrow{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}.floating-particle{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none;background:#d6b88947;border-radius:50%;width:7px;height:7px;animation:9s ease-in-out infinite particleFloat;position:absolute;box-shadow:0 0 18px #d6b8892e,0 0 40px #d6b88914}.particle-one{width:16px;height:16px;top:31%;left:17%}.particle-two{width:9px;height:9px;animation-delay:-2s;top:25%;right:20%}.particle-three{width:22px;height:22px;animation-delay:-4s;bottom:25%;left:25%}.particle-four{width:6px;height:6px;animation-delay:-5s;bottom:34%;right:15%}@keyframes particleFloat{0%,to{opacity:.3;transform:translate(0)}50%{opacity:.8;transform:translate(12px,-18px)}}@media (width<=700px){.top-nav{padding:22px 20px}.nav-status{font-size:8px}.hero-content{width:calc(100% - 32px)}.hero-content h1{font-size:clamp(50px,16vw,78px)}.hero-description{font-size:13px;line-height:1.75}.hero-actions{flex-direction:column;gap:14px}.bottom-note{bottom:20px;left:20px}.scroll-hint{bottom:20px;right:20px}}@media (width<=480px){.nav-status,.bottom-note{display:none}.scroll-hint{right:50%;transform:translate(50%)}}html,body,#root{width:100%;min-height:100%}body{overflow:hidden}.app-shell{width:100%;height:100vh;overflow:hidden}.landing{width:100%;height:100vh;min-height:0;overflow:hidden}.workspace-stage{width:100vw;height:100vh;position:fixed;inset:0;overflow:hidden}.workspace-stage>.workspace{width:100%;height:100%;min-height:0}.workspace-back-button{z-index:100;color:#f4ede2b3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;letter-spacing:.12em;text-transform:uppercase;background:#0a080673;border:1px solid #e5c99926;border-radius:999px;padding:9px 13px;font:9px DM Mono,monospace;transition:color .2s,background .2s,transform .2s;position:absolute;top:22px;left:24px}.workspace-back-button:hover{color:#e5c28b;background:#0a0806b3;transform:translateY(-1px)}@media (width<=650px){.workspace-back-button{padding:8px 10px;font-size:7px;top:14px;left:14px}}
