@font-face{font-family:Patrick Hand;font-style:normal;font-weight:400;font-display:swap;src:url(./fonts/patrick-hand-latin-400-normal.woff2) format("woff2")}@font-face{font-family:Caveat Brush;font-style:normal;font-weight:400;font-display:swap;src:url(./fonts/caveat-brush-latin-400-normal.woff2) format("woff2")}@font-face{font-family:Shadows Into Light;font-style:normal;font-weight:400;font-display:swap;src:url(./fonts/shadows-into-light-latin-400-normal.woff2) format("woff2")}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(./fonts/space-mono-latin-400-normal.woff2) format("woff2")}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(./fonts/space-mono-latin-700-normal.woff2) format("woff2")}@font-face{font-family:Gloria Hallelujah;font-style:normal;font-weight:400;font-display:swap;src:url(./fonts/gloria-hallelujah-latin-400-normal.woff2) format("woff2")}:root,.theme-light{--paper: #f4e8cd;--paper-2: #ebdcb8;--cork: #d9bc8a;--ink: #2a241f;--ink-soft: #6b5a49;--line: #3a2f26;--note-yellow: #ffe58a;--note-pink: #ffb7c5;--note-mint: #b7e3c2;--note-sky: #a9d2ef;--note-lav: #d7c2f2;--note-peach: #ffcfa1;--note-ink: #2a241f;--tape: rgba(255, 238, 170, .65);--tape-edge: rgba(200, 170, 80, .35);--shadow: rgba(42, 36, 31, .28);--dot: rgba(60, 40, 20, .12)}.theme-dark{--paper: #1e1812;--paper-2: #2a211a;--cork: #3a2c20;--ink: #f6ecd2;--ink-soft: #c6b89a;--line: #1a130d;--note-yellow: #f2cf5c;--note-pink: #f48aa3;--note-mint: #7fd19c;--note-sky: #8ec3ec;--note-lav: #c2a7ef;--note-peach: #f2b17a;--note-ink: #1b140e;--tape: rgba(255, 230, 160, .55);--tape-edge: rgba(255, 230, 160, .3);--shadow: rgba(0, 0, 0, .65);--dot: rgba(246, 236, 210, .1)}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:Patrick Hand,Comic Sans MS,cursive;font-size:18px;overflow-x:hidden;min-height:100vh}body{background-image:radial-gradient(var(--dot) 1px,transparent 1px),radial-gradient(var(--dot) 1px,transparent 1px);background-size:28px 28px,28px 28px;background-position:0 0,14px 14px;transition:background-color .4s ease,color .4s ease}@media(hover:hover)and (pointer:fine){html,body,a,button,input,textarea,select{cursor:none!important}}h1,h2,h3{font-family:Caveat Brush,cursive;font-weight:400;letter-spacing:.5px}h1{font-size:clamp(3rem,8vw,6rem);line-height:1;margin:0}h2{font-size:clamp(2rem,5vw,3.5rem);line-height:1;margin:0 0 .6rem}h3{font-size:1.7rem;margin:0 0 .4rem}p{line-height:1.55}a{color:inherit}.mono{font-family:Space Mono,monospace}.scribble{font-family:Shadows Into Light,cursive}.hand{font-family:Gloria Hallelujah,cursive}.cursor-pencil{position:fixed;top:0;left:0;width:40px;height:40px;pointer-events:none;z-index:9999;transform:translate(-50%,-50%) rotate(-30deg);transition:transform .08s linear}.cursor-pencil svg{width:100%;height:100%;display:block;filter:drop-shadow(2px 2px 0 var(--shadow))}.ink-dot{position:fixed;width:8px;height:8px;border-radius:50%;background:var(--ink);pointer-events:none;z-index:9998;transform:translate(-50%,-50%);opacity:.8}@media(hover:none),(pointer:coarse){.cursor-pencil,.ink-dot{display:none!important}}.note{background:var(--note-yellow);color:var(--note-ink);padding:22px 24px 24px;box-shadow:6px 6px 0 var(--shadow);border:2px solid var(--line);border-radius:2px 18px 3px 14px/14px 3px 16px;position:relative;transform:rotate(var(--rot, -2deg));transition:transform .3s cubic-bezier(.2,.8,.2,1.2),box-shadow .3s}.note:before{content:"";position:absolute;top:-14px;left:50%;transform:translate(-50%) rotate(-4deg);width:78px;height:22px;background:var(--tape);border-left:1px dashed var(--tape-edge);border-right:1px dashed var(--tape-edge);box-shadow:0 2px 2px #00000014}.note.no-tape:before{display:none}.note.pin:before{content:"";top:-8px;left:50%;width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#ff8a8a,#b52828 70%);border:2px solid var(--line);box-shadow:0 3px 2px #00000040;transform:translate(-50%)}.note:hover{transform:rotate(0) translateY(-4px);box-shadow:10px 10px 0 var(--shadow)}.note.pink{background:var(--note-pink)}.note.mint{background:var(--note-mint)}.note.sky{background:var(--note-sky)}.note.lav{background:var(--note-lav)}.note.peach{background:var(--note-peach)}.theme-toggle{position:fixed;top:22px;right:22px;z-index:200;background:var(--note-yellow);border:2px solid var(--line);border-radius:999px;padding:8px 14px;font-family:Patrick Hand;font-size:18px;box-shadow:4px 4px 0 var(--shadow);display:inline-flex;align-items:center;gap:8px;transform:rotate(-3deg);transition:transform .2s}.theme-toggle:hover{transform:rotate(0)}.theme-toggle:active{transform:rotate(0) scale(.95)}.nav-tabs{position:fixed;top:22px;left:50%;transform:translate(-50%);z-index:150;display:flex;gap:10px;padding:8px 12px;background:var(--paper-2);border:2px solid var(--line);border-radius:14px;box-shadow:5px 5px 0 var(--shadow)}.nav-tab{font-family:Patrick Hand;font-size:20px;padding:6px 14px;border:2px solid transparent;border-radius:10px;background:transparent;color:var(--ink);position:relative}.nav-tab.active{background:var(--note-yellow);border-color:var(--line);transform:rotate(-2deg);box-shadow:3px 3px 0 var(--shadow)}.nav-tab:nth-child(2).active{background:var(--note-pink)}.nav-tab:nth-child(3).active{background:var(--note-mint)}.nav-tab:nth-child(4).active{background:var(--note-sky)}.nav-tab:nth-child(5).active{background:var(--note-lav)}.nav-tab:nth-child(6).active{background:var(--note-peach)}.nav-tab.active{color:var(--note-ink)}@media(max-width:720px){.nav-tabs{top:auto;bottom:16px;left:50%;transform:translate(-50%);padding:6px 8px;gap:4px;font-size:14px;flex-wrap:nowrap;overflow-x:auto;max-width:calc(100vw - 24px)}.nav-tab{font-size:15px;padding:4px 8px;white-space:nowrap}.theme-toggle{top:16px;right:16px;padding:6px 10px;font-size:15px}}.board{display:block}html{scroll-behavior:smooth}.draggable{touch-action:none}.draggable.dragging{z-index:500!important;cursor:grabbing;box-shadow:14px 14px 0 var(--shadow)!important}@media(max-width:768px){.draggable{touch-action:auto}}.draggable.placed{position:absolute!important}.hero-photo-stack{position:relative;width:100%;aspect-ratio:3/4;overflow:hidden;border:1px solid var(--line);background:repeating-linear-gradient(135deg,var(--cork) 0 14px,var(--paper-2) 14px 28px)}.hero-photo-layer{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;opacity:0}.hero-photo-layer img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 6px 0 rgba(0,0,0,.1))}.hero-photo-layer.active{opacity:1;animation:photoIn 1s cubic-bezier(.2,.8,.2,1.05) forwards}.hero-photo-layer.leaving{opacity:1;animation:photoOut .9s cubic-bezier(.4,0,.6,1) forwards}@keyframes photoIn-0{0%{opacity:0;transform:translate(60%) rotate(14deg) scale(.9)}to{opacity:1;transform:translate(0) rotate(0) scale(1)}}@keyframes photoOut-0{0%{opacity:1;transform:translate(0) rotate(0) scale(1)}to{opacity:0;transform:translate(-60%) rotate(-14deg) scale(.9)}}@keyframes photoIn-1{0%{opacity:0;transform:scale(1.4) rotate(-8deg);filter:blur(12px)}to{opacity:1;transform:scale(1) rotate(0);filter:blur(0)}}@keyframes photoOut-1{0%{opacity:1;transform:scale(1);filter:blur(0)}to{opacity:0;transform:scale(.6) rotate(10deg);filter:blur(10px)}}@keyframes photoIn-2{0%{opacity:0;clip-path:circle(0% at 50% 50%);transform:rotate(-8deg)}to{opacity:1;clip-path:circle(80% at 50% 50%);transform:rotate(0)}}@keyframes photoOut-2{0%{opacity:1;clip-path:circle(80% at 50% 50%)}to{opacity:0;clip-path:circle(0% at 50% 50%)}}@keyframes photoIn-3{0%{opacity:0;transform:translateY(100%) rotate(6deg)}60%{opacity:1;transform:translateY(-6%) rotate(-2deg)}to{opacity:1;transform:translateY(0) rotate(0)}}@keyframes photoOut-3{0%{opacity:1;transform:translateY(0) rotate(0)}to{opacity:0;transform:translateY(-100%) rotate(-6deg)}}.hero-photo-layer.active.anim-0{animation-name:photoIn-0}.hero-photo-layer.leaving.anim-0{animation-name:photoOut-0}.hero-photo-layer.active.anim-1{animation-name:photoIn-1}.hero-photo-layer.leaving.anim-1{animation-name:photoOut-1}.hero-photo-layer.active.anim-2{animation-name:photoIn-2}.hero-photo-layer.leaving.anim-2{animation-name:photoOut-2}.hero-photo-layer.active.anim-3{animation-name:photoIn-3}.hero-photo-layer.leaving.anim-3{animation-name:photoOut-3}.photo-dots{display:flex;gap:6px;justify-content:center;margin-top:8px}.photo-dots span{width:10px;height:10px;border-radius:50%;border:2px solid var(--line);background:var(--paper)}.photo-dots span.active{background:var(--note-pink)}.section-head{display:flex;align-items:baseline;gap:16px;margin-bottom:14px}.section-head .num{font-family:Caveat Brush;font-size:2.2rem;color:var(--ink-soft)}section.board{scroll-margin-top:100px}@media(max-width:900px){.hero-grid{grid-template-columns:1fr!important}.hero-text-col{padding-left:0!important;max-width:100%!important}.hero-text-col h1{font-size:clamp(2.4rem,10vw,4rem)!important}.polaroid-wrap{position:relative!important;right:auto!important;top:auto!important;width:min(300px,80vw)!important;margin:30px auto 0!important}.hero-float-notes{min-height:auto!important;height:auto!important}.hero-float-notes>.draggable{position:relative!important;left:auto!important;top:auto!important;margin:14px auto!important;width:85%!important;max-width:320px!important;display:block!important}.board-wrap{padding:90px 4vw 80px!important}}@keyframes boardIn{0%{opacity:0;transform:translateY(20px) rotate(1deg)}to{opacity:1;transform:translateY(0) rotate(0)}}.btn{display:inline-flex;align-items:center;gap:8px;font-family:Patrick Hand;font-size:20px;background:var(--note-yellow);color:var(--ink);border:2px solid var(--line);padding:10px 20px;border-radius:4px 16px 6px 14px/12px 4px 16px;box-shadow:4px 4px 0 var(--shadow);transform:rotate(-2deg);transition:transform .18s,box-shadow .18s;text-decoration:none}.btn:hover{transform:rotate(0) translate(-2px,-2px);box-shadow:6px 6px 0 var(--shadow)}.btn:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--shadow)}.btn.pink{background:var(--note-pink)}.btn.mint{background:var(--note-mint)}.btn.sky{background:var(--note-sky)}.scribble-u{position:relative;display:inline-block}.scribble-u:after{content:"";position:absolute;left:-4%;right:-4%;bottom:-6px;height:10px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 10' preserveAspectRatio='none'><path d='M2 6 Q 20 1 40 5 T 80 5 T 120 6 T 160 4 T 198 6' stroke='%23e05c5c' stroke-width='3' fill='none' stroke-linecap='round'/></svg>") no-repeat center/100% 100%}.chip{display:inline-block;padding:4px 12px;margin:4px 3px;background:var(--paper);color:var(--ink);border:2px solid var(--line);border-radius:999px;font-family:Patrick Hand;font-size:16px;transform:rotate(var(--chip-rot, 0deg));box-shadow:2px 2px 0 var(--shadow)}.note .chip{background:#ffffff8c;color:var(--note-ink);border-color:var(--line)}.theme-dark .note .chip{background:#0000002e;color:var(--note-ink)}.note a,.note,.note .mono,.note .scribble{color:var(--note-ink)}.torn{height:16px;background:var(--paper);--tornSize: 16px;-webkit-mask:radial-gradient(circle at 8px 0,transparent 6px,#000 6.5px) repeat-x -8px 0 / 16px 100%;mask:radial-gradient(circle at 8px 0,transparent 6px,#000 6.5px) repeat-x -8px 0 / 16px 100%}.board-wrap{padding:100px 4vw 120px;min-height:100vh;position:relative}.doodle{position:absolute;pointer-events:none;opacity:.8}.loader-hide{animation:fadeOut .4s .3s forwards}@keyframes fadeOut{to{opacity:0;visibility:hidden}}.board-progress{position:fixed;top:0;left:0;height:4px;background:var(--ink);z-index:300;width:0;transition:width .5s}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--paper-2)}::-webkit-scrollbar-thumb{background:var(--ink-soft);border-radius:6px}.center{text-align:center}.grid{display:grid;gap:24px}@media(min-width:900px){.grid.cols-2{grid-template-columns:1fr 1fr}.grid.cols-3{grid-template-columns:repeat(3,1fr)}}#board-home canvas[style*="position: absolute"]{border-radius:0}.tweaks-panel{position:fixed;right:18px;bottom:70px;z-index:400;width:280px;background:var(--paper-2);border:2px solid var(--line);border-radius:8px;box-shadow:6px 6px 0 var(--shadow);padding:14px;display:none}.tweaks-panel.open{display:block}.tweaks-panel h4{font-family:Caveat Brush;font-size:1.6rem;margin:0 0 10px}.tweaks-row{display:flex;align-items:center;justify-content:space-between;margin:8px 0;gap:8px}.tweaks-row label{flex:1;font-size:16px}.tweaks-row select,.tweaks-row input[type=range]{font-family:inherit}:focus-visible{outline:4px solid #1f6feb;outline-offset:4px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.section-shell,.hero-shell{width:min(1200px,100%);margin:0 auto;position:relative}.wide-shell{width:min(1320px,100%)}.section-intro{max-width:760px;font-size:1.12rem;margin:0}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:clamp(30px,6vw,84px);align-items:start}.hero-text-col{min-width:0;max-width:760px;padding:12px 0 0 clamp(0px,3vw,34px);position:relative;z-index:2}.hero-kicker{display:inline-block;color:var(--ink-soft);font-size:1.35rem;transform:rotate(-3deg)}.hero-thesis{max-width:720px;margin:24px 0 0;font-size:clamp(1.3rem,2.2vw,1.75rem);line-height:1.38;font-weight:700}.hero-support{max-width:690px;margin:12px 0 0;color:var(--ink-soft);font-size:1.08rem}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}.hero-instruction{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:38px;color:var(--ink-soft);font-size:13px}.polaroid-wrap{width:min(320px,100%);z-index:1}.polaroid{position:relative;padding:18px 18px 52px;background:var(--paper-2);border:2px solid var(--line);box-shadow:10px 10px 0 var(--shadow);transform:rotate(4deg)}.tape-strip{position:absolute;z-index:2;top:-16px;left:50%;width:110px;height:26px;background:var(--tape);border-inline:1px dashed var(--tape-edge);transform:translate(-50%) rotate(-6deg)}.polaroid-caption{margin-top:7px;text-align:center;font-size:1.5rem}.hero-float-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,4vw,54px);align-items:start;min-height:230px;margin-top:76px;padding-inline:clamp(0px,3vw,32px)}.hero-note{width:100%;min-height:150px;font-size:1.08rem}.hero-note:nth-child(2){margin-top:30px}.note-label{font-size:1.35rem}.note-meta{margin-top:8px;font-size:12px;opacity:.72}.about-grid,.contact-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:clamp(34px,7vw,86px);align-items:start;margin-top:26px}.about-note{max-width:620px}.about-note p{margin:0 0 14px;font-size:1.08rem}.subhead{margin:34px 0 15px;font-size:2rem}.fact-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.fact-list li{display:flex;align-items:flex-start;gap:10px}.fact-list li>i{flex:0 0 auto;margin-top:5px}.graduation-polaroid{width:min(270px,82%);margin:0 auto 38px;padding:12px 12px 36px;color:var(--note-ink);background:var(--paper-2);border:2px solid var(--line);box-shadow:8px 8px 0 var(--shadow);transform:rotate(3deg)}.graduation-polaroid img{display:block;width:100%;height:auto;aspect-ratio:2 / 3;object-fit:cover;object-position:center top}.graduation-polaroid div{margin-top:7px;text-align:center;font-size:1.3rem}.timeline{position:relative;padding-left:30px}.timeline:before{content:"";position:absolute;left:7px;inset-block:8px;width:2px;background:var(--ink-soft)}.timeline-item{position:relative;margin-bottom:24px}.timeline-dot{position:absolute;left:-30px;top:7px;width:16px;height:16px;border:2px solid var(--line);border-radius:50%}.timeline-dot.yellow{background:var(--note-yellow)}.timeline-dot.pink{background:var(--note-pink)}.timeline-dot.mint{background:var(--note-mint)}.timeline-dot.sky{background:var(--note-sky)}.timeline-dot.lav{background:var(--note-lav)}.timeline-year{color:var(--ink-soft);font-size:12px}.timeline-item strong{display:block;font-size:1.2rem}.timeline-place{color:var(--ink-soft)}.timeline-item p{margin:4px 0 0;font-size:.98rem}.evidence-board{background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--cork) 24%,transparent) 28%,transparent 92%)}.featured-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin-top:36px}.featured-case{min-width:0;padding:28px;transform:none}.featured-case:hover{transform:translateY(-3px)}.featured-case>header,.project-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.case-number{font-size:11px;letter-spacing:.08em}.status-stamp{display:inline-flex;max-width:100%;padding:4px 9px;border:1.5px solid currentColor;border-radius:999px;font-family:Space Mono,monospace;font-size:10px;line-height:1.35;text-transform:uppercase;letter-spacing:.04em}.featured-title-row{display:flex;align-items:flex-start;gap:12px;margin-top:20px}.featured-title-row h3{margin:0;font-size:2rem;line-height:1.05}.featured-title-row p{margin:2px 0 0;font-size:11px;opacity:.76}.featured-case>p{margin:16px 0;font-size:1.02rem}.case-lane{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:9px;border:2px dashed color-mix(in srgb,currentColor 55%,transparent);border-radius:8px;background:#ffffff38}.case-lane span{position:relative;padding:9px 6px;font-size:12px;text-align:center}.case-lane span:not(:last-child):after{content:"\2192";position:absolute;right:-7px;top:50%;transform:translateY(-50%)}.case-capabilities{margin-top:14px}.case-open{display:inline-flex;align-items:center;gap:7px;margin-top:18px;padding:8px 12px;color:var(--note-ink);background:#ffffff80;border:2px solid var(--line);border-radius:6px 12px 7px 10px;font-family:Patrick Hand,cursive;font-size:17px}.project-filter{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}.project-filter button{padding:7px 14px;border:2px solid var(--ink);border-radius:999px;color:var(--ink);background:transparent;font-family:Patrick Hand,cursive;font-size:16px}.project-filter button.active{color:var(--paper);background:var(--ink)}.project-filter button span{opacity:.7}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:30px;align-items:stretch;margin-top:38px}.project-card{display:flex;min-width:0;min-height:390px;flex-direction:column}.project-card[role=button]{cursor:pointer}.project-card>header .mono{font-size:11px;opacity:.66}.project-card h3{margin:10px 0 0;font-size:1.75rem;line-height:1.08}.project-card-tag{margin-top:3px;font-size:10.5px;opacity:.72}.project-card>p{margin:13px 0 18px;font-size:.98rem}.project-card-footer{display:grid;justify-items:start;gap:10px;margin-top:auto}.open-hint{font-size:11px;opacity:.75}.dialog-backdrop{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;padding:18px;background:#0f0b08cc;backdrop-filter:blur(5px)}.project-dialog,.resume-chooser,.compact-dialog{position:relative;width:min(820px,100%);max-height:90vh;overflow:auto;transform:none!important;border-radius:14px;box-shadow:0 36px 90px #0000009e}.project-dialog:hover,.resume-chooser:hover,.compact-dialog:hover{transform:none!important}.dialog-close{position:absolute;z-index:3;top:12px;right:12px;display:grid;width:38px;height:38px;place-items:center;border:2px solid var(--line);border-radius:50%;color:var(--note-ink);background:#ffffffad;font:700 26px/1 Arial,sans-serif}.eyebrow{font-size:10px;letter-spacing:.09em;text-transform:uppercase}.dialog-title{margin:5px 0 0;font-size:clamp(2rem,7vw,2.8rem);line-height:1}.project-dialog-header{display:flex;align-items:flex-start;gap:14px;padding-right:46px}.project-tagline{margin:5px 0 0;font-size:11px;opacity:.72}.project-meta{display:flex;flex-wrap:wrap;gap:7px 16px;margin-top:16px;font-size:.95rem}.project-meta span{opacity:.74}.project-summary{margin:18px 0 0;font-size:1.08rem}.modal-chip-row{margin-top:10px}.architecture-strip{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:center;margin-top:24px;padding:14px;border:2px dashed color-mix(in srgb,currentColor 60%,transparent);border-radius:10px;background:#ffffff40}.architecture-strip>div{display:grid;gap:5px;font-size:.9rem;text-align:center}.architecture-strip>div .mono{font-size:9px;opacity:.62}.modal-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;margin-top:22px}.modal-detail-section h4,.modal-stack h4{margin:0 0 10px;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.modal-detail-section ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.modal-detail-section li{display:flex;gap:8px;font-size:.94rem;line-height:1.4}.modal-detail-section li>i{flex:0 0 auto;margin-top:4px}.modal-stack{margin-top:22px}.project-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.project-links a{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border:2px solid var(--line);border-radius:999px;background:#ffffff80;font-family:Space Mono,monospace;font-size:11px;text-decoration:none}.compact-dialog{width:min(560px,100%);padding:34px}.social-link-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}.social-link-grid a{display:flex;align-items:center;justify-content:center;gap:7px;padding:13px;border:2px solid var(--line);border-radius:10px;background:#ffffff75;text-decoration:none}.resume-chooser{width:min(720px,100%);padding:34px}.resume-chooser>p{max-width:610px}.resume-option-grid{display:grid;gap:11px;margin-top:24px}.resume-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px;border:2px solid var(--line);border-radius:9px 16px 8px 13px;background:#ffffff6b;text-decoration:none}.resume-option:nth-child(2){background:color-mix(in srgb,var(--note-mint) 70%,white)}.resume-option:nth-child(3){background:color-mix(in srgb,var(--note-sky) 70%,white)}.resume-option:nth-child(4){background:color-mix(in srgb,var(--note-peach) 70%,white)}.resume-option:nth-child(5){background:color-mix(in srgb,var(--note-yellow) 72%,white)}.resume-option-number{font-size:11px;opacity:.65}.resume-option strong,.resume-option small{display:block}.resume-option strong{font-size:1.12rem}.resume-option small{margin-top:2px;font-size:.83rem;opacity:.72}.toolkit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:22px;margin-top:32px}.toolkit-grid .note h3{font-size:1.75rem}.operating-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.operating-grid p{margin:7px 0 0;font-size:.98rem}.contact-note{padding:30px;transform:rotate(-1.5deg)}.contact-note:hover{transform:rotate(-1.5deg)}.contact-greeting{font-size:1.55rem}.contact-note label{display:block;margin-top:15px;font-size:14px;opacity:.72}.contact-note input,.contact-note textarea{width:100%;padding:7px 3px;border:0;border-bottom:2px dashed var(--note-ink);border-radius:0;outline:none;color:var(--note-ink);background:transparent;font:inherit}.contact-note input:focus-visible,.contact-note textarea:focus-visible{outline:3px solid #1f6feb;outline-offset:3px}.contact-note textarea{resize:vertical}.contact-note .btn{margin-top:20px}.contact-links{display:grid;gap:17px}.contact-links>*{display:grid;gap:4px;color:var(--note-ink);text-decoration:none}.contact-links .mono{font-size:11px;opacity:.7}.contact-links strong{overflow-wrap:anywhere;font-size:1.25rem}.second-label{margin-top:9px}@media(max-width:900px){.hero-grid,.about-grid,.contact-grid{grid-template-columns:minmax(0,1fr)}.polaroid-wrap{margin:18px auto 0}.hero-float-notes{grid-template-columns:minmax(0,1fr);min-height:0;margin-top:55px}.hero-note,.hero-note:nth-child(2){width:min(420px,88%);margin:0 auto}.featured-grid{grid-template-columns:minmax(0,1fr)}.operating-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){section.board{overflow-x:clip}section.board .note{max-width:100%}.board-wrap{padding-inline:18px!important}.hero-actions .btn{width:100%;justify-content:center}.case-lane{grid-template-columns:minmax(0,1fr)}.case-lane span:not(:last-child):after{content:"\2193";top:auto;right:50%;bottom:-9px;transform:translate(50%)}.modal-detail-grid,.operating-grid,.social-link-grid,.architecture-strip{grid-template-columns:minmax(0,1fr)}.architecture-strip>i{transform:rotate(90deg);justify-self:center}.project-dialog,.resume-chooser,.compact-dialog{max-height:92vh;padding:24px 18px}.project-dialog-header>i{display:none}.resume-option{gap:9px;padding:12px 10px}.project-filter{gap:7px}.project-filter button{font-size:14px;padding:6px 10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.note:hover{transform:rotate(var(--rot, 0deg))}}.note{transform:translate3d(var(--drag-x,0px),var(--drag-y,0px),0) rotate(var(--rot,-2deg))}.note:hover{transform:translate3d(var(--drag-x,0px),var(--drag-y,0px),0) rotate(0) translateY(-4px)}.draggable.dragging{will-change:transform;transition:none}.cursor-pencil{will-change:transform,opacity}.cursor-pencil.pressed{--cursor-scale:.85}.ink-dot{animation:ink-trail var(--trail-life,.56s) ease-out forwards;will-change:transform,opacity}.ink-dot svg{display:block;width:14px;height:14px}@keyframes ink-trail{0%{opacity:.75;transform:translate(-50%,-50%) rotate(var(--trail-rotation,0deg))}to{opacity:0;transform:translate(-50%,-50%) translateY(var(--trail-shift,10px)) rotate(var(--trail-rotation,0deg)) scale(var(--trail-scale,.5))}}.project-card{content-visibility:auto;contain-intrinsic-size:auto 390px}.contact-note:hover{transform:translate3d(var(--drag-x,0px),var(--drag-y,0px),0) rotate(-1.5deg)}.board-divider{position:relative;z-index:2;height:40px;margin:-20px 0;overflow:visible;pointer-events:none}.board-divider svg{display:block;width:100%;height:40px;opacity:.35}.board-divider path{fill:none;stroke:var(--ink-soft);stroke-width:2;stroke-linecap:round}.confetti-particle{position:fixed;z-index:9100;pointer-events:none;border:1.5px solid rgba(42,36,31,.35);will-change:transform,opacity}@media(prefers-reduced-motion:reduce){html,body,a,button,input,textarea,select{cursor:auto!important}.cursor-pencil,.ink-dot{display:none!important}.note:hover{transform:translate3d(var(--drag-x,0px),var(--drag-y,0px),0) rotate(var(--rot,0deg))}}
