@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter+Tight:wght@400;500;600&display=swap";*{box-sizing:border-box}body{margin:0}.plinko-shell{--plinko-font-sans: "Space Grotesk", "Segoe UI", sans-serif;--plinko-font-display: "Space Grotesk", "Segoe UI", sans-serif;--plinko-bg: #dde3ea;--plinko-bg-2: #c9d3dc;--plinko-ink: #0d1620;--plinko-ink-soft: rgba(13, 22, 32, .62);--plinko-panel: rgba(246, 248, 250, .88);--plinko-panel-border: rgba(7, 13, 19, .1);--plinko-surface: rgba(245, 247, 250, .9);--plinko-shadow: 0 18px 40px rgba(5, 10, 14, .18);--plinko-accent: #f3b54a;--plinko-board: #132434;--plinko-board-2: #162b3d;--plinko-board-border: rgba(255, 255, 255, .12);--plinko-board-glow: rgba(110, 190, 255, .12);--plinko-board-width: min(900px, 92vw);--plinko-board-height: min(74vh, 720px);--plinko-board-top: clamp(96px, 14vh, 160px);color-scheme:light;font-family:var(--plinko-font-sans);width:100vw;height:100vh;min-height:100vh;position:relative;overflow:hidden;background:radial-gradient(circle at 12% 10%,rgba(103,163,199,.35),transparent 55%),radial-gradient(circle at 88% 20%,rgba(252,201,115,.35),transparent 55%),linear-gradient(150deg,var(--plinko-bg),var(--plinko-bg-2));color:var(--plinko-ink);transition:background .4s ease,color .3s ease}.plinko-shell:before,.plinko-shell:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;transition:opacity .4s ease,background .4s ease}.plinko-shell:before{background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.45),transparent 55%),radial-gradient(circle at 70% 80%,rgba(255,255,255,.25),transparent 60%);opacity:.6}.plinko-shell:after{background-image:radial-gradient(rgba(255,255,255,.14) 1px,transparent 1px);background-size:18px 18px;opacity:.25}.plinko-shell[data-theme=dark]{--plinko-bg: #0b121a;--plinko-bg-2: #0f1822;--plinko-ink: #eef4fb;--plinko-ink-soft: rgba(238, 244, 251, .6);--plinko-panel: rgba(12, 17, 24, .82);--plinko-panel-border: rgba(255, 255, 255, .08);--plinko-surface: rgba(12, 18, 26, .9);--plinko-shadow: 0 20px 40px rgba(0, 0, 0, .55);--plinko-accent: #f5c24b;--plinko-board: #0f1b26;--plinko-board-2: #102534;--plinko-board-border: rgba(255, 255, 255, .08);--plinko-board-glow: rgba(80, 200, 255, .12);color-scheme:dark;background:radial-gradient(circle at 12% 10%,rgba(52,105,148,.35),transparent 50%),radial-gradient(circle at 85% 15%,rgba(245,194,75,.25),transparent 55%),linear-gradient(150deg,var(--plinko-bg),var(--plinko-bg-2))}.plinko-shell[data-theme=dark]:before{opacity:.4}.plinko-shell[data-theme=dark]:after{background-image:radial-gradient(rgba(255,255,255,.1) 1px,transparent 1px);opacity:.18}.plinko-board{position:absolute;top:var(--plinko-board-top);left:50%;transform:translate(-50%);width:var(--plinko-board-width);height:var(--plinko-board-height);border-radius:22px;background:radial-gradient(circle at 20% 10%,var(--plinko-board-glow),transparent 60%),linear-gradient(180deg,var(--plinko-board),var(--plinko-board-2));border:1px solid var(--plinko-board-border);box-shadow:0 30px 80px #03080c99;overflow:hidden;z-index:2;transition:background .4s ease,border-color .3s ease,box-shadow .3s ease}.plinko-board:before{content:"";position:absolute;inset:10px;border-radius:18px;border:1px solid rgba(255,255,255,.05);box-shadow:inset 0 0 40px #00000059;pointer-events:none;z-index:2}.plinko-board:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.04),transparent 45%,rgba(0,0,0,.25));pointer-events:none;z-index:2}.plinko-canvas{position:absolute;inset:0;z-index:1}.plinko-canvas canvas{width:100%;height:100%;display:block;cursor:pointer;touch-action:manipulation}.plinko-header{position:absolute;top:clamp(18px,3vh,32px);left:50%;transform:translate(-50%);width:var(--plinko-board-width);display:flex;justify-content:space-between;align-items:center;gap:16px;z-index:5}.plinko-title-card{pointer-events:auto;max-width:min(520px,74vw);text-align:left;background:var(--plinko-panel);border-radius:16px;padding:14px 18px;border:1px solid var(--plinko-panel-border);box-shadow:var(--plinko-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:background .3s ease,border-color .3s ease,box-shadow .3s ease;position:relative}.plinko-kicker{display:inline-flex;align-items:center;gap:.35rem;font-size:.64rem;letter-spacing:.28rem;text-transform:uppercase;color:var(--plinko-ink-soft);transition:color .3s ease}.plinko-title{font-family:var(--plinko-font-display);font-weight:600;font-size:clamp(1.5rem,1.6vw + 1.1rem,2.4rem);margin:.35rem 0;transition:color .3s ease}.plinko-subtitle{margin:0;color:var(--plinko-ink-soft);font-size:clamp(.85rem,.5vw + .75rem,1rem);transition:color .3s ease}.plinko-normal-link{display:inline-block;margin-top:.75rem;font-size:.8rem;color:var(--plinko-accent);text-decoration:none;font-weight:500;transition:all .2s ease;opacity:.85}.plinko-normal-link:hover{opacity:1;transform:translate(2px)}.plinko-toggle{position:absolute;top:14px;right:14px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;border-radius:8px;color:var(--plinko-ink-soft);cursor:pointer;transition:all .2s ease}.plinko-toggle svg{color:var(--plinko-accent);transition:transform .2s ease}.plinko-toggle:hover{background:#0000000d;color:var(--plinko-ink)}.plinko-toggle:hover svg{transform:rotate(15deg) scale(1.05)}.plinko-shell[data-theme=dark] .plinko-toggle:hover{background:#ffffff14}.plinko-hint{position:absolute;top:18px;left:18px;padding:.4rem .75rem;background:#060a0e8c;border-radius:10px;font-size:.7rem;text-transform:uppercase;letter-spacing:.16rem;color:#f8fbffbf;border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:3;box-shadow:0 16px 30px #00000059;pointer-events:none}.plinko-zones{position:absolute;left:50%;transform:translate(-50%);bottom:var(--plinko-zone-offset, 96px);width:min(92%,760px);display:grid;grid-template-columns:repeat(4,1fr);gap:8px;z-index:3;pointer-events:none}.plinko-zone{text-align:center;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.18rem;color:#0d1117;padding:.55rem .35rem;border-radius:10px;background:linear-gradient(180deg,#ffffff59,#00000026),var(--zone-color);border:1px solid rgba(255,255,255,.35);box-shadow:0 14px 22px #00000059;opacity:.95;transition:transform .2s ease,opacity .2s ease,box-shadow .2s ease,color .3s ease,border-color .3s ease}.plinko-shell[data-theme=dark] .plinko-zone{color:#0b1016;border-color:#0003;box-shadow:0 14px 26px #0000008c}.plinko-zone.is-active{transform:translateY(-4px) scale(1.03);box-shadow:0 18px 30px #00000080;opacity:1}@media(max-width:720px){.plinko-shell{--plinko-board-width: min(94vw, 560px);--plinko-board-height: min(70vh, 640px);--plinko-board-top: clamp(110px, 16vh, 170px)}.plinko-header{flex-direction:column;align-items:flex-start;gap:10px}.plinko-title-card{max-width:100%;padding:12px 48px 12px 14px}.plinko-toggle{width:32px;height:32px;top:12px;right:12px}.plinko-toggle svg{width:18px;height:18px}.plinko-board{border-radius:18px}.plinko-board:before{inset:8px;border-radius:14px}.plinko-hint{display:none}.plinko-zones{width:94%;gap:6px}.plinko-zone{font-size:.6rem;letter-spacing:.14rem;padding:.45rem .25rem}}@media(prefers-reduced-motion:reduce){.plinko-toggle,.plinko-zone{transition:none;animation:none}}.plinko-modal-overlay{position:fixed;inset:0;z-index:9;background:#090c1066;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:plinko-fade-in .25s ease}.plinko-shell[data-theme=dark] .plinko-modal-overlay{background:#05080ca6}.plinko-modal{position:absolute;left:50%;bottom:clamp(110px,16vh,180px);transform:translate(-50%);z-index:10;animation:plinko-slide-up .35s cubic-bezier(.16,1,.3,1)}@keyframes plinko-fade-in{0%{opacity:0}to{opacity:1}}@keyframes plinko-slide-up{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}.plinko-modal-card{position:relative;pointer-events:auto}.plinko-close{position:absolute;top:1.25rem;right:1.25rem;background:transparent;border:none;width:32px;height:32px;border-radius:8px;cursor:pointer;color:var(--plinko-ink-soft);display:grid;place-items:center;font-size:1.25rem;font-weight:400;transition:all .2s ease;z-index:15}.plinko-close:hover{background:#0000000d;color:var(--plinko-ink);transform:scale(1.1)}.plinko-shell[data-theme=dark] .plinko-close:hover{background:#ffffff14}.plinko-content{position:relative;width:clamp(340px,90vw,440px);max-width:440px;background:var(--plinko-panel);border:1px solid var(--plinko-panel-border);border-radius:24px;padding:2rem 1.75rem 1.75rem;box-shadow:0 20px 50px #0003,0 0 0 1px #ffffff1a inset;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:background .3s ease,border-color .3s ease,box-shadow .3s ease}.plinko-shell[data-theme=dark] .plinko-content{box-shadow:0 20px 50px #00000080,0 0 0 1px #ffffff0d inset}.plinko-content-purple{--plinko-content-accent: #a789f6}.plinko-content-yellow{--plinko-content-accent: #f2c35b}.plinko-content-green{--plinko-content-accent: #9ee06b}.plinko-content-coral{--plinko-content-accent: #ff8f7b}.plinko-shell[data-theme=dark] .plinko-content-purple{--plinko-content-accent: #f05755}.plinko-shell[data-theme=dark] .plinko-content-yellow{--plinko-content-accent: #f6c24a}.plinko-shell[data-theme=dark] .plinko-content-green{--plinko-content-accent: #4cb2a1}.plinko-shell[data-theme=dark] .plinko-content-coral{--plinko-content-accent: #f2884b}.plinko-content-title{margin:0 0 1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--plinko-panel-border);font-size:1.5rem;font-weight:600;color:var(--plinko-ink);letter-spacing:-.01em;display:flex;align-items:center;gap:.5rem;transition:color .3s ease,border-color .3s ease}.plinko-content-title:before{content:"";width:4px;height:1.5rem;border-radius:2px;background:var(--plinko-content-accent);flex-shrink:0}.plinko-content-wrapper{display:flex;flex-direction:column;gap:.75rem;text-decoration:none;color:inherit}.plinko-link{position:relative;width:100%;padding:.875rem 1.125rem;background:var(--plinko-surface);border:1px solid var(--plinko-panel-border);border-radius:12px;font-size:.95rem;font-weight:500;box-shadow:0 1px 3px #0000000a;transition:all .2s ease,background-color .3s ease,border-color .3s ease,color .3s ease;display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:var(--plinko-ink);text-decoration:none;cursor:pointer;overflow:hidden}.plinko-link:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000014;background:#fff9}.plinko-shell[data-theme=dark] .plinko-link:hover{background:#ffffff0d}.plinko-link:active{transform:translateY(0);transition:transform .1s ease}.plinko-link-label{flex:1;font-weight:500;letter-spacing:-.01em}.plinko-link-icon{flex-shrink:0;color:var(--plinko-ink-soft);transition:all .2s ease;opacity:.7}.plinko-link:hover .plinko-link-icon{opacity:1;transform:translate(2px)}.plinko-resume-screenshot{width:100%;height:auto;border-radius:10px;box-shadow:0 4px 16px #00000026;border:1px solid var(--plinko-panel-border);transition:transform .3s ease}.plinko-resume-screenshot:hover{transform:scale(1.02)}.plinko-link-date-right,.plinko-link-timetable-bot,.plinko-link-gesture-mario,.plinko-link-github,.plinko-link-instagram,.plinko-link-linkedin,.plinko-link-email,.plinko-link-calendly,.plinko-link-sewebring{background:linear-gradient(#ffffffd9,#ffffffe6),var(--plinko-bg-image) no-repeat center center / cover}.plinko-shell[data-theme=dark] .plinko-link-date-right,.plinko-shell[data-theme=dark] .plinko-link-timetable-bot,.plinko-shell[data-theme=dark] .plinko-link-gesture-mario,.plinko-shell[data-theme=dark] .plinko-link-github,.plinko-shell[data-theme=dark] .plinko-link-instagram,.plinko-shell[data-theme=dark] .plinko-link-linkedin,.plinko-shell[data-theme=dark] .plinko-link-email,.plinko-shell[data-theme=dark] .plinko-link-calendly,.plinko-shell[data-theme=dark] .plinko-link-sewebring{background:linear-gradient(#0c121abf,#0c121ad9),var(--plinko-bg-image) no-repeat center center / cover}.plinko-link-date-right{--plinko-bg-image: url(/assets/dateright-B_2Ae7iz.png);background-position:center 30%!important}.plinko-link-timetable-bot{--plinko-bg-image: url(/assets/timetable-DTvJTgRG.png)}.plinko-link-gesture-mario{--plinko-bg-image: url(/assets/mario-C9KqlCk4.png)}.plinko-link-github{--plinko-bg-image: url(/assets/github-CC1W2p7T.png)}.plinko-link-instagram{--plinko-bg-image: url(/assets/instagram-EdpVHfMD.png)}.plinko-link-sewebring{--plinko-bg-image: url(/assets/sewebring-CH9U-T8z.png)}.plinko-link-linkedin{--plinko-bg-image: url(/assets/linkedin-zSRBQPNO.png)}.plinko-link-email{--plinko-bg-image: url(/assets/email-D2JVJfKd.png)}.plinko-link-calendly{--plinko-bg-image: url(/assets/calendly-Ys2W5Q6i.png)}.plinko-link-date-right:hover,.plinko-link-timetable-bot:hover,.plinko-link-gesture-mario:hover,.plinko-link-github:hover,.plinko-link-instagram:hover,.plinko-link-linkedin:hover,.plinko-link-email:hover,.plinko-link-calendly:hover,.plinko-link-sewebring:hover{background:linear-gradient(#ffffffbf,#ffffffd9),var(--plinko-bg-image) no-repeat center center / cover}.plinko-shell[data-theme=dark] .plinko-link-date-right:hover,.plinko-shell[data-theme=dark] .plinko-link-timetable-bot:hover,.plinko-shell[data-theme=dark] .plinko-link-gesture-mario:hover,.plinko-shell[data-theme=dark] .plinko-link-github:hover,.plinko-shell[data-theme=dark] .plinko-link-instagram:hover,.plinko-shell[data-theme=dark] .plinko-link-linkedin:hover,.plinko-shell[data-theme=dark] .plinko-link-email:hover,.plinko-shell[data-theme=dark] .plinko-link-calendly:hover,.plinko-shell[data-theme=dark] .plinko-link-sewebring:hover{background:linear-gradient(#0c121aa6,#0c121abf),var(--plinko-bg-image) no-repeat center center / cover}.plinko-link-github:hover .plinko-link-icon{color:#6e5494}.plinko-link-instagram:hover .plinko-link-icon{color:#e4405f}.plinko-link-linkedin:hover .plinko-link-icon{color:#0077b5}.plinko-link-email:hover .plinko-link-icon{color:#ea4335}.plinko-link-calendly:hover .plinko-link-icon{color:#006bff}@media(max-width:720px){.plinko-modal{bottom:clamp(90px,14vh,150px)}.plinko-content{width:clamp(300px,88vw,380px);padding:1.75rem 1.25rem 1.25rem}.plinko-content-title{font-size:1.5rem;margin-bottom:1.25rem}.plinko-link{padding:.875rem 1rem;font-size:.95rem}.plinko-close{width:36px;height:36px;font-size:1rem}}@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.visible{visibility:visible}.block{display:block}.grid{display:grid}.resize{resize:both}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}.portfolio-container{color:#000;background-color:#f5f5f5;min-height:100vh;padding:2rem 1rem;transition:background-color .3s,color .3s;position:relative}.portfolio-container[data-theme=dark]{color:#e5e5e5;background-color:#1a1a1a}.theme-toggle{color:#666;cursor:pointer;z-index:1000;background:#fff;border:1px solid #0000001a;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;transition:all .3s;display:flex;position:fixed;top:2rem;right:2rem;box-shadow:0 2px 8px #0000001a}.portfolio-container[data-theme=dark] .theme-toggle{color:#f5c24b;background:#2a2a2a;border-color:#ffffff1a}.theme-toggle:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.theme-toggle svg{transition:transform .3s}.theme-toggle:hover svg{transform:rotate(15deg)scale(1.05)}@media(min-width:768px){.portfolio-container{padding:3rem 2rem}}.hero-section{text-align:center;max-width:48rem;margin:0 auto;padding:2rem 1rem 1rem}.hero-title{font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal;margin-bottom:1rem;font-family:sans-serif;font-size:1.5rem;font-style:normal;font-variant-caps:normal;font-weight:400;line-height:1.3}@media(min-width:768px){.hero-title{font-size:2rem}}@media(min-width:1024px){.hero-title{font-size:2.5rem}}.hero-subtitle{margin-bottom:.5rem;font-size:1.5rem;font-weight:400;line-height:1.4}@media(min-width:768px){.hero-subtitle{font-size:2rem}}.description-section{text-align:center;max-width:48rem;margin:0 auto 2rem;padding:0 1rem 1rem}.description-text{color:#666;font-size:1rem;line-height:1.6;transition:color .3s}.portfolio-container[data-theme=dark] .description-text{color:#a0a0a0}@media(min-width:768px){.description-text{font-size:1.125rem}}.cards-container{grid-template-columns:1fr;gap:1.5rem;max-width:48rem;margin:0 auto 2rem;display:grid}@media(min-width:768px){.cards-container{grid-template-columns:1fr 1fr}}.card{--card-primary:#c1f2a0;--card-accent:#9fe168;--card-outline:#5a9f38;--card-panel:#e6f7d8;--card-title-color:#0009;background:linear-gradient(180deg,var(--card-primary)0%,var(--card-accent)100%);isolation:isolate;border:1px solid #ffffff59;border-radius:1.9rem;min-height:450px;padding:0 1.4rem 1.4rem;transition:box-shadow .25s,transform .25s,background .3s;position:relative;overflow:visible;box-shadow:0 18px 34px #00000024}.card:hover{transform:translateY(-2px);box-shadow:0 22px 42px #0000002e}.card-purple{--card-primary:#c9b8ff;--card-accent:#a789f6;--card-outline:#7659cf;--card-panel:#e5dcff;--card-title-color:#472d84c7}.card-yellow{--card-primary:#ffe9a3;--card-accent:#f2c35b;--card-outline:#d79928;--card-panel:#fff4cc;--card-title-color:#8f620ebf;padding-top:3rem}.resume-screenshot{object-fit:cover;object-position:top;width:100%;height:100%;margin-bottom:1rem}.card-green{--card-primary:#c1f2a0;--card-accent:#9ee06b;--card-outline:#5a9f38;--card-panel:#e6f7d8;--card-title-color:#2e5c2abf}.card-coral{--card-primary:#ffc0ae;--card-accent:#ff8f7b;--card-outline:#d95c52;--card-panel:#ffe0d8;--card-title-color:#8a402dc7}.card-item{color:#1a1a1a;z-index:1;background:#fff;border:1px solid #0000000a;border-radius:.75rem;justify-content:flex-start;align-items:flex-start;gap:.75rem;width:100%;height:40%;padding:.95rem 1.25rem;font-family:Inter Tight,system-ui,-apple-system,Segoe UI,sans-serif;font-size:1.05rem;text-decoration:none;transition:top .2s,box-shadow .2s,background .3s,border-color .3s;display:flex;position:relative;top:50px;box-shadow:0 2px 4px #00000014}.portfolio-container[data-theme=dark] .card-item{color:#e5e5e5;background:#2a2a2a;border-color:#ffffff1a}.card-item+.card-item{margin-top:-7rem}.card-item:hover{top:40px;box-shadow:0 4px 8px #0000001f}.gesture-mario{background:linear-gradient(#fffc,#ffffffe6),url(/assets/mario-C9KqlCk4.png) 50%/cover no-repeat}.gesture-mario:hover{background:linear-gradient(#ffffffb3,#fffc),url(/assets/mario-C9KqlCk4.png) 50%/cover no-repeat}.portfolio-container[data-theme=dark] .gesture-mario{background:linear-gradient(#2a2a2abf,#2a2a2ad9),url(/assets/mario-C9KqlCk4.png) 50%/cover no-repeat}.portfolio-container[data-theme=dark] .gesture-mario:hover{background:linear-gradient(#2a2a2aa6,#2a2a2abf),url(/assets/mario-C9KqlCk4.png) 50%/cover no-repeat}.timetable-bot{background:linear-gradient(#fffc,#ffffffe6),url(/assets/timetable-DTvJTgRG.png) 50%/cover no-repeat}.timetable-bot:hover{background:linear-gradient(#ffffffb3,#fffc),url(/assets/timetable-DTvJTgRG.png) 50%/cover no-repeat}.portfolio-container[data-theme=dark] .timetable-bot{background:linear-gradient(#2a2a2abf,#2a2a2ad9),url(/assets/timetable-DTvJTgRG.png) 50%/cover no-repeat}.portfolio-container[data-theme=dark] .timetable-bot:hover{background:linear-gradient(#2a2a2aa6,#2a2a2abf),url(/assets/timetable-DTvJTgRG.png) 50%/cover no-repeat}.date-right{background:linear-gradient(#fffc,#ffffffe6),url(/assets/dateright-B_2Ae7iz.png) 50%/cover no-repeat}.date-right:hover{background:linear-gradient(#ffffffb3,#fffc),url(/assets/dateright-B_2Ae7iz.png) 50%/cover no-repeat}.portfolio-container[data-theme=dark] .date-right{background:linear-gradient(#2a2a2abf,#2a2a2ad9),url(/assets/dateright-B_2Ae7iz.png) 50%/cover no-repeat}.portfolio-container[data-theme=dark] .date-right:hover{background:linear-gradient(#2a2a2aa6,#2a2a2abf),url(/assets/dateright-B_2Ae7iz.png) 50%/cover no-repeat}.github-link{background:linear-gradient(#fffc,#ffffffe6),url(/assets/github-CC1W2p7T.png) 50%/cover no-repeat}.github-link:hover{background:linear-gradient(#ffffffb3,#fffc),url(/assets/github-CC1W2p7T.png) 50%/cover no-repeat}.portfolio-container[data-theme=dark] .github-link{background:linear-gradient(#2a2a2abf,#2a2a2ad9),url(/assets/github-CC1W2p7T.png) 50%/cover no-repeat}.portfolio-container[data-theme=dark] .github-link:hover{background:linear-gradient(#2a2a2aa6,#2a2a2abf),url(/assets/github-CC1W2p7T.png) 50%/cover no-repeat}.linkedin-link{background:linear-gradient(#fffc,#ffffffe6),url(/assets/linkedin-zSRBQPNO.png) 50%/cover no-repeat}.linkedin-link:hover{background:linear-gradient(#ffffffb3,#fffc),url(/assets/linkedin-zSRBQPNO.png) 50%/cover no-repeat}.portfolio-container[data-theme=dark] .linkedin-link{background:linear-gradient(#2a2a2abf,#2a2a2ad9),url(/assets/linkedin-zSRBQPNO.png) 50%/cover no-repeat}.portfolio-container[data-theme=dark] .linkedin-link:hover{background:linear-gradient(#2a2a2aa6,#2a2a2abf),url(/assets/linkedin-zSRBQPNO.png) 50%/cover no-repeat}.instagram-link{background:linear-gradient(#fffc,#ffffffe6),url(/assets/instagram-EdpVHfMD.png) 50%/cover no-repeat}.instagram-link:hover{background:linear-gradient(#ffffffb3,#fffc),url(/assets/instagram-EdpVHfMD.png) 50%/cover no-repeat}.portfolio-container[data-theme=dark] .instagram-link{background:linear-gradient(#2a2a2abf,#2a2a2ad9),url(/assets/instagram-EdpVHfMD.png) 50%/cover no-repeat}.portfolio-container[data-theme=dark] .instagram-link:hover{background:linear-gradient(#2a2a2aa6,#2a2a2abf),url(/assets/instagram-EdpVHfMD.png) 50%/cover no-repeat}.calendly-link{background:linear-gradient(#fffc,#ffffffe6),url(/assets/calendly-Ys2W5Q6i.png) 50%/cover no-repeat}.calendly-link:hover{background:linear-gradient(#ffffffb3,#fffc),url(/assets/calendly-Ys2W5Q6i.png) 50%/cover no-repeat}.portfolio-container[data-theme=dark] .calendly-link{background:linear-gradient(#2a2a2abf,#2a2a2ad9),url(/assets/calendly-Ys2W5Q6i.png) 50%/cover no-repeat}.portfolio-container[data-theme=dark] .calendly-link:hover{background:linear-gradient(#2a2a2aa6,#2a2a2abf),url(/assets/calendly-Ys2W5Q6i.png) 50%/cover no-repeat}.email-link{background:linear-gradient(#fffc,#ffffffe6),url(/assets/email-D2JVJfKd.png) 50%/cover no-repeat}.email-link:hover{background:linear-gradient(#ffffffb3,#fffc),url(/assets/email-D2JVJfKd.png) 50%/cover no-repeat}.portfolio-container[data-theme=dark] .email-link{background:linear-gradient(#2a2a2abf,#2a2a2ad9),url(/assets/email-D2JVJfKd.png) 50%/cover no-repeat}.portfolio-container[data-theme=dark] .email-link:hover{background:linear-gradient(#2a2a2aa6,#2a2a2abf),url(/assets/email-D2JVJfKd.png) 50%/cover no-repeat}.sewebring-link{background:linear-gradient(#fffc,#ffffffe6),url(/assets/sewebring-CH9U-T8z.png) 50%/cover no-repeat}.sewebring-link:hover{background:linear-gradient(#ffffffb3,#fffc),url(/assets/sewebring-CH9U-T8z.png) 50%/cover no-repeat}.portfolio-container[data-theme=dark] .sewebring-link{background:linear-gradient(#2a2a2abf,#2a2a2ad9),url(/assets/sewebring-CH9U-T8z.png) 50%/cover no-repeat}.portfolio-container[data-theme=dark] .sewebring-link:hover{background:linear-gradient(#2a2a2aa6,#2a2a2abf),url(/assets/sewebring-CH9U-T8z.png) 50%/cover no-repeat}.card-item-label{flex:1;font-weight:500}.card-item-icon{color:#00000073;flex-shrink:0;transition:color .2s}.portfolio-container[data-theme=dark] .card-item-icon{color:#ffffffb3}.card-item:hover .card-item-icon{color:#000000ad}.portfolio-container[data-theme=dark] .card-item:hover .card-item-icon{color:#ffffffe6}.webring-icon{filter:brightness(0)opacity(.45);transition:filter .2s}.portfolio-container[data-theme=dark] .webring-icon{filter:brightness(0)invert()opacity(.7)}.card-item:hover .webring-icon{filter:brightness(0)opacity(.68)}.portfolio-container[data-theme=dark] .card-item:hover .webring-icon{filter:brightness(0)invert()opacity(.9)}.card-pocket{background:linear-gradient(180deg,#ffffff14,#fff0 30%),var(--card-accent);clip-path:polygon(0 0,58% 0,70% 18%,100% 18%,100% 100%,0 100%);height:44%;clip-path:path("M 0 0 H 58% C 69% 0 69% 24% 84% 24% H 100% V 100% H 0 Z");z-index:3;pointer-events:none;border-radius:1.5rem;position:absolute;bottom:.65rem;left:.65rem;right:.65rem;box-shadow:inset 0 1px #ffffff73}.card-title{letter-spacing:-.01em;color:var(--card-title-color);z-index:4;margin:0;font-size:1.7rem;font-weight:600;line-height:1.1;position:absolute;bottom:1.5rem;left:1.6rem}.apps-section{max-width:48rem;margin:0 auto 2rem}.apps-title{margin-bottom:1.5rem;padding:0 1rem;font-size:2rem;font-weight:500}.app-item{color:#000;background:#fff;border-radius:1rem;flex-direction:column;margin-bottom:1rem;padding:1.25rem 1.5rem;text-decoration:none;transition:transform .2s,background .3s,color .3s;display:flex}.portfolio-container[data-theme=dark] .app-item{color:#e5e5e5;background:#2a2a2a}.app-item:hover{transform:translateY(-2px)}.app-header{align-items:center;gap:1rem;display:flex}.app-icon{border-radius:.75rem;flex-shrink:0;justify-content:center;align-items:center;width:3rem;height:3rem;font-size:1.5rem;display:flex;overflow:hidden}.app-logo{object-fit:contain;width:70%;height:70%}.app-info{flex-wrap:wrap;flex:1;align-items:center;gap:.75rem;display:flex}.app-name{font-size:1.125rem;font-weight:500}.app-tag{color:#666;background:#f0f0f0;border-radius:1rem;padding:.375rem .875rem;font-size:.875rem;transition:background .3s,color .3s}.portfolio-container[data-theme=dark] .app-tag{color:#a0a0a0;background:#3a3a3a}.app-location{color:#2e7d32;background:#e8f5e8;border-radius:1rem;padding:.375rem .875rem;font-size:.875rem;transition:background .3s}.portfolio-container[data-theme=dark] .app-location{color:#7cb87c;background:#1a3a1a}.app-description{color:#666;margin-top:.5rem;padding-left:4rem;font-size:.875rem;line-height:1.4;transition:color .3s}.portfolio-container[data-theme=dark] .app-description{color:#a0a0a0}.app-badge{color:#495057;background:#f8f9fa;border-radius:1rem;align-items:center;gap:.25rem;margin-left:auto;padding:.375rem .875rem;font-size:.875rem;font-weight:500;transition:background .3s,color .3s;display:flex}.portfolio-container[data-theme=dark] .app-badge{color:#b0b0b0;background:#3a3a3a}.bottom-cards{grid-template-columns:1fr;gap:1.5rem;max-width:48rem;margin:0 auto;display:grid}@media(min-width:768px){.bottom-cards{grid-template-columns:1fr 1fr}}.contact-content{z-index:1;background:#fff;border-radius:1rem;margin:0 0 3.4rem;padding:1.5rem;transition:background .3s,box-shadow .3s;position:relative;box-shadow:0 12px 24px #0000001f}.portfolio-container[data-theme=dark] .contact-content{background:#2a2a2a;box-shadow:0 12px 24px #0006}.contact-title{margin-bottom:1rem;font-size:1.125rem;transition:color .3s}.contact-link{color:#000;font-size:1.125rem;font-weight:500;text-decoration:underline;transition:color .3s}.portfolio-container[data-theme=dark] .contact-link{color:#e5e5e5}.university-link{font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal;color:inherit;font-family:Inter Tight,Inter Tight Placeholder,sans-serif;font-size:18px;font-style:normal;font-variant-caps:normal;font-weight:500;text-decoration:underline;transition:color .3s}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.block{display:block}.grid{display:grid}.resize{resize:both}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}.notfound-container{background-color:#f5f5f5;justify-content:center;align-items:center;min-height:100vh;padding:2rem;transition:background-color .3s;display:flex;position:relative}.notfound-container[data-theme=dark]{background-color:#1a1a1a}.notfound-content{text-align:center;color:#000;transition:color .3s}.notfound-container[data-theme=dark] .notfound-content{color:#e5e5e5}.notfound-title{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#c1f2a0,#9fe168,#c9b8ff,#a789f6);-webkit-background-clip:text;background-clip:text;margin:0;font-size:8rem;font-weight:700;line-height:1}@media(min-width:768px){.notfound-title{font-size:12rem}}.notfound-message{color:#666;margin:1rem 0 2rem;font-size:1.5rem;font-weight:400;transition:color .3s}.notfound-container[data-theme=dark] .notfound-message{color:#a0a0a0}@media(min-width:768px){.notfound-message{font-size:2rem}}.notfound-link{color:#1a1a1a;background:#fff;border:1px solid #0000000a;border-radius:.75rem;align-items:center;gap:.5rem;padding:.875rem 1.75rem;font-size:1.125rem;font-weight:500;text-decoration:none;transition:transform .2s,box-shadow .2s,background .3s,color .3s;display:inline-flex;box-shadow:0 2px 8px #0000001a}.notfound-container[data-theme=dark] .notfound-link{color:#e5e5e5;background:#2a2a2a;border-color:#ffffff1a}.notfound-link:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.notfound-toggle{color:#666;cursor:pointer;z-index:1000;background:#fff;border:1px solid #0000001a;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;transition:all .3s;display:flex;position:fixed;top:2rem;right:2rem;box-shadow:0 2px 8px #0000001a}.notfound-container[data-theme=dark] .notfound-toggle{color:#f5c24b;background:#2a2a2a;border-color:#ffffff1a}.notfound-toggle:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.notfound-toggle svg{transition:transform .3s}.notfound-toggle:hover svg{transform:rotate(15deg)scale(1.05)}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
