@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-font-weight:initial;--tw-tracking: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;--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-800:oklch(27.9% .041 260.031);--spacing:.25rem;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-medium:500;--font-weight-bold:700;--tracking-tight:-.025em;--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}:where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(95% 0 0);--color-base-content:oklch(21% .006 285.885);--color-primary:oklch(45% .24 277.023);--color-primary-content:oklch(93% .034 272.788);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--color-base-100:oklch(25.33% .016 252.42);--color-base-200:oklch(23.26% .014 253.1);--color-base-300:oklch(21.15% .012 254.09);--color-base-content:oklch(97.807% .029 256.847);--color-primary:oklch(58% .233 277.117);--color-primary-content:oklch(96% .018 272.314);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}}:root:has(input.theme-controller[value=light]:checked),[data-theme=light]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(95% 0 0);--color-base-content:oklch(21% .006 285.885);--color-primary:oklch(45% .24 277.023);--color-primary-content:oklch(93% .034 272.788);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark]{color-scheme:dark;--color-base-100:oklch(25.33% .016 252.42);--color-base-200:oklch(23.26% .014 253.1);--color-base-300:oklch(21.15% .012 254.09);--color-base-content:oklch(97.807% .029 256.847);--color-primary:oklch(58% .233 277.117);--color-primary-content:oklch(96% .018 272.314);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root{--fx-noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.34' numOctaves='4' stitchTiles='stitch'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23a)' opacity='0.2'%3E%3C/rect%3E%3C/svg%3E");scrollbar-color:currentColor #0000}@supports (color:color-mix(in lab,red,red)){:root{scrollbar-color:color-mix(in oklch,currentColor 35%,#0000)#0000}}@property --radialprogress{syntax: "<percentage>"; inherits: true; initial-value: 0%;}:root:not(span){overflow:var(--page-overflow)}:root{background:var(--page-scroll-bg,var(--root-bg));--page-scroll-bg-on:linear-gradient(var(--root-bg,#0000),var(--root-bg,#0000))var(--root-bg,#0000)}@supports (color:color-mix(in lab,red,red)){:root{--page-scroll-bg-on:linear-gradient(var(--root-bg,#0000),var(--root-bg,#0000))color-mix(in srgb,var(--root-bg,#0000),oklch(0% 0 0) calc(var(--page-has-backdrop,0)*40%))}}:root{--page-scroll-transition-on:background-color .3s ease-out;transition:var(--page-scroll-transition);scrollbar-gutter:var(--page-scroll-gutter,unset);scrollbar-gutter:if(style(--page-has-scroll: 1): var(--page-scroll-gutter,unset); else: unset)}@keyframes set-page-has-scroll{0%,to{--page-has-scroll:1}}:root,[data-theme]{background:var(--page-scroll-bg,var(--root-bg));color:var(--color-base-content)}:where(:root,[data-theme]){--root-bg:var(--color-base-100)}}@layer components;@layer utilities{@layer daisyui.l1.l2.l3{.card{border-radius:var(--radius-box);outline-offset:2px;outline:0 solid #0000;flex-direction:column;transition:outline .2s ease-in-out;display:flex;position:relative}.card:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.card:focus{outline-offset:2px;outline:2px solid #0000}}.card:focus-visible{outline-color:currentColor}.card :where(figure:first-child){border-start-start-radius:inherit;border-start-end-radius:inherit;border-end-end-radius:unset;border-end-start-radius:unset;overflow:hidden}.card :where(figure:last-child){border-start-start-radius:unset;border-start-end-radius:unset;border-end-end-radius:inherit;border-end-start-radius:inherit;overflow:hidden}.card figure{justify-content:center;align-items:center;display:flex}.card:has(>input:is(input[type=checkbox],input[type=radio])){cursor:pointer;-webkit-user-select:none;user-select:none}.card:has(>:checked){outline:2px solid}.divider{white-space:nowrap;height:1rem;margin:var(--divider-m,1rem 0);--divider-color:var(--color-base-content);flex-direction:row;align-self:stretch;align-items:center;display:flex}@supports (color:color-mix(in lab,red,red)){.divider{--divider-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}.divider:before,.divider:after{content:"";background-color:var(--divider-color);flex-grow:1;width:100%;height:.125rem}@media print{.divider:before,.divider:after{border:.5px solid}}.divider:not(:empty){gap:1rem}.link{cursor:pointer;text-decoration-line:underline}.link:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.link:focus{outline-offset:2px;outline:2px solid #0000}}.link:focus-visible{outline-offset:2px;outline:2px solid}}.relative{position:relative}.z-10{z-index:10}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.contents{display:contents}.flex{display:flex}.min-h-screen{min-height:100vh}.w-full{width:100%}.items-center{align-items:center}.justify-center{justify-content:center}.overflow-hidden{overflow:hidden}.p-6{padding:calc(var(--spacing)*6)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-800{color:var(--color-slate-800)}@media(min-width:48rem){.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.md\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}}:root{--font-display:"Syne",system-ui,sans-serif;--font-mono:"Space Mono",monospace;--bg-primary:#8b7b9b;--bg-secondary:#7a6a8a;--accent-purple:#6b5b7b;--accent-teal:#6fc2ba;--text-primary:#2d2438;--text-secondary:#4a3d5c;--text-muted:#6b5d7a}*{box-sizing:border-box}html{font-family:var(--font-display);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg-primary);min-height:100vh;margin:0;padding:0}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}.bg-gradient-mesh{background-color:#0000;background-image:radial-gradient(at 20% 30%,#6b5b7b33,#0000 50%),radial-gradient(at 80% 70%,#6fc2ba26,#0000 50%),radial-gradient(at 50% 100%,#6b5b7b26,#0000 40%),linear-gradient(#8b7b9b,#867696,#8a7a9a);background-position:0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat;background-size:auto,auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box}.orb{filter:blur(60px);opacity:.5;pointer-events:none;border-radius:50%;animation:20s ease-in-out infinite float;position:absolute}.orb-1{background:radial-gradient(circle,#6b5b7b66,#0000 70%);width:400px;height:400px;animation-delay:0s;top:-10%;left:-5%}.orb-2{background:radial-gradient(circle,#6fc2ba40,#0000 70%);width:300px;height:300px;animation-delay:-7s;bottom:-5%;right:-5%}.orb-3{background:radial-gradient(circle,#6b5b7b4d,#0000 70%);width:250px;height:250px;animation-delay:-14s;top:50%;right:20%}@keyframes float{0%,to{transform:translate(0)scale(1)}33%{transform:translate(30px,-30px)scale(1.05)}66%{transform:translate(-20px,20px)scale(.95)}}.profile-card{-webkit-backdrop-filter:blur(20px);background:#fff9;border:1px solid #fffc;border-radius:24px;flex-direction:column;width:100%;max-width:720px;padding:2.5rem;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .4s;display:flex;box-shadow:0 4px 24px #6b5b7b14,0 1px 3px #0000000a,inset 0 1px #ffffffe6}.profile-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #6b5b7b1f,0 4px 12px #0000000f,inset 0 1px #ffffffe6}.hero-section{text-align:center;flex-direction:column;align-items:center;gap:1.5rem;display:flex}.info-section{flex-direction:column;display:flex}.tags-row{font-family:var(--font-mono);justify-content:center;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.social-row{justify-content:center;align-items:center;gap:.75rem;display:flex}@media(min-width:640px){.hero-section{text-align:left;flex-direction:row;align-items:center;gap:2rem}.info-section{flex:1}.tags-row,.social-row{justify-content:flex-start}}.avatar-container{flex-shrink:0;justify-content:center;display:flex}.avatar-ring{background:linear-gradient(135deg,var(--accent-teal)0%,var(--accent-purple)100%);border-radius:50%;width:130px;height:130px;padding:4px;transition:transform .4s cubic-bezier(.34,1.56,.64,1);position:relative;box-shadow:0 8px 32px #6b5b7b40,0 2px 8px #0000001a}.avatar-ring:hover{transform:scale(1.05)rotate(3deg)}.avatar-ring:before{content:"";background:linear-gradient(135deg,var(--accent-teal),var(--accent-purple),var(--accent-teal));z-index:-1;opacity:0;background-size:200% 200%;border-radius:50%;transition:opacity .3s;animation:3s infinite shimmer;position:absolute;inset:-3px}.avatar-ring:hover:before{opacity:1}@keyframes shimmer{0%,to{background-position:0%}50%{background-position:100%}}.avatar-img{object-fit:cover;background:var(--bg-primary);border-radius:50%;width:100%;height:100%}.tag{color:var(--text-muted);letter-spacing:.02em;padding:.25rem 0;font-size:.8rem;transition:color .2s}.tag:hover{color:var(--accent-teal)}.tag-dot{background:var(--accent-teal);opacity:.5;border-radius:50%;width:4px;height:4px}.social-link{color:var(--text-secondary);font-family:var(--font-mono);background:#6b5b7b14;border:1px solid #0000;border-radius:10px;align-items:center;gap:.5rem;padding:.5rem .875rem;font-size:.8rem;text-decoration:none;transition:all .25s cubic-bezier(.34,1.56,.64,1);display:flex}.social-link:hover{color:var(--accent-teal);background:#6b5b7b26;border-color:#6b5b7b33;transform:translateY(-2px)}.social-icon{width:16px;height:16px;transition:transform .25s}.social-link:hover .social-icon{transform:scale(1.1)}.social-text{font-weight:500}.projects-section{width:100%;margin-top:1.5rem}.divider{background:linear-gradient(90deg,transparent,var(--accent-purple),transparent);opacity:.3;height:1px;margin-bottom:1.5rem}.projects-grid{grid-template-columns:1fr;gap:1.5rem;display:grid}@media(min-width:640px){.projects-grid{grid-template-columns:1fr 1fr;gap:2rem}}.project-heading{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.75rem;font-weight:600;display:flex}.status-dot{border-radius:50%;width:8px;height:8px}.status-dot.building{background:#4ade80;animation:2s ease-in-out infinite pulse;box-shadow:0 0 8px #4ade8080}.status-dot.sunset{background:#9ca3af}@keyframes pulse{50%{opacity:.5}}.project-list{flex-direction:column;gap:.5rem;display:flex}.project-item{cursor:default;background:#ffffff4d;border:1px solid #fff6;border-radius:10px;flex-direction:column;justify-content:space-between;height:150px;padding:.85rem 1rem;text-decoration:none;transition:all .2s;display:flex}a.project-item{cursor:pointer}.project-item:hover{background:#ffffff73;transform:translateY(-2px);box-shadow:0 4px 12px #6b5b7b1a}.project-item.sunset{opacity:.7}.project-item.sunset:hover{opacity:.85}.project-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.project-name{font-family:var(--font-display);color:var(--text-primary);font-size:.95rem;font-weight:600}.wip-badge{font-family:var(--font-mono);color:#b45309;text-transform:uppercase;letter-spacing:.03em;background:#fbbf2433;border-radius:4px;padding:.15rem .4rem;font-size:.6rem;font-weight:600}.sunset-badge{font-family:var(--font-mono);color:#57534e;text-transform:uppercase;letter-spacing:.03em;background:#78716c2e;border-radius:4px;padding:.15rem .4rem;font-size:.6rem;font-weight:600}.project-desc{font-family:var(--font-mono);color:var(--text-muted);font-size:.7rem;line-height:1.4}.project-tech{gap:.375rem;margin-top:.25rem;display:flex}.tech-tag{font-family:var(--font-mono);color:var(--accent-teal);background:#6fc2ba33;border-radius:4px;padding:.125rem .5rem;font-size:.65rem;font-weight:500}@media(max-width:480px){.profile-card{border-radius:20px;padding:1.75rem 1.25rem}.avatar-ring{width:110px;height:110px}.tags-row{flex-wrap:wrap;gap:.25rem .5rem}.social-row{flex-direction:column;gap:.5rem;width:100%}.social-link{justify-content:center;width:100%}}@keyframes rating{0%,40%{filter:brightness(1.05)contrast(1.05);scale:1.1}}@keyframes dropdown{0%{opacity:0}}@keyframes radio{0%{padding:5px}50%{padding:3px}}@keyframes toast{0%{opacity:0;scale:.9}to{opacity:1;scale:1}}@keyframes rotator{89.9999%,to{--first-item-position:0 0%}90%,99.9999%{--first-item-position:0 calc(var(--items)*100%)}to{translate:0 -100%}}@keyframes skeleton{0%{background-position:150%}to{background-position:-50%}}@keyframes menu{0%{opacity:0}}@keyframes progress{50%{background-position-x:-115%}}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}
