@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.06d3mdzz5bre_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.11.cyxs5p-0z~.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.16t1db8_9y2o~.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.0q3udbd2bu5yp.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0gw~uztddq1df.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.0.q-h669a_dqa.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-mono:var(--font-geist-mono);--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-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;-webkit-text-decoration:inherit;-webkit-text-decoration: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{.start{inset-inline-start:var(--spacing)}.contents{display:contents}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--background:#f5f5f7;--foreground:#111;--island-bg:#000;--island-text:#fff;--island-hello:#ffffff80;--island-about:#fffc;--island-shadow:#0000001f;--island-border-subtle:#ffffff26;--island-card-border:#ffffff26;--island-photo-bg:#ffffff1a;--island-photo-border:#ffffff40;--island-tag-bg:#ffffff1a;--social-icon-color:#fff;--project-title-color:#fff;--photo-shadow:#ffffff1f;--project-link-color:#fff;--project-link-hover:#007aff;--project-link-disabled:#444;--back-btn-bg:#48484a;--back-btn-color:#fff;--toggle-color:#111;--font-size-xl:18px;--font-size-lg:17px;--font-size-about:17px;--font-size-project:15px;--font-size-sm:14px;--tag-font-size-lg:10px;--tag-font-size-sm:9px;--tag-algorithm-bg:#34c75933;--tag-algorithm-color:#34c759;--tag-ai-bg:#007aff33;--tag-ai-color:#007aff;--tag-web-bg:#ff950033;--tag-web-color:#ff9500;--tag-robotics-bg:#af52de33;--tag-robotics-color:#af52de;--tag-education-bg:#ff2d5533;--tag-education-color:#ff2d55;--tag-portfolio-bg:#5856d633;--tag-portfolio-color:#5856d6;--tag-ml-bg:#fc03;--tag-ml-color:#fc0;--tag-game-bg:#ff3b3033;--tag-game-color:#ff3b30;--tag-simulation-bg:#5ac8fa33;--tag-simulation-color:#5ac8fa;--btn-green:#34c759;--btn-orange:#ff9500;--btn-blue:#007aff;--btn-purple:#af52de}html,body{height:100dvh;overflow:hidden}body{background:var(--background);color:var(--foreground);font-family:var(--font-geist-sans), sans-serif}.home-container{justify-content:center;align-items:center;width:100vw;height:100dvh;padding:16px;display:flex;overflow:hidden}.island{background:var(--island-bg);max-width:calc(100vw - 32px);box-shadow:0 8px 32px var(--island-shadow);justify-content:center;align-items:center;padding:6px;display:flex;position:relative}.island-content{will-change:transform;backface-visibility:hidden;align-items:center;display:flex}.island-home{gap:14px}.island-expanded{justify-content:space-between;gap:28px;min-width:320px;padding:0 4px}.island-left{align-items:center;gap:12px;display:flex}.island-right{align-items:center;gap:8px;display:flex}.island-links{gap:2px;padding:4px 6px}.island-about{will-change:transform;backface-visibility:hidden;cursor:pointer;max-width:min(88vw,450px);padding:10px 14px}.island-photo{background:var(--island-photo-bg);width:48px;height:48px;box-shadow:0 2px 8px var(--photo-shadow);border-radius:50%;flex-shrink:0;overflow:hidden}.island-photo img{object-fit:cover;width:100%;height:100%}.island-photo-btn{background:var(--island-photo-bg);width:48px;height:48px;box-shadow:0 2px 8px var(--photo-shadow);cursor:pointer;will-change:transform;backface-visibility:hidden;border:none;border-radius:50%;flex-shrink:0;padding:0;overflow:hidden;transform:translateZ(0)}.island-photo-btn img{object-fit:cover;width:100%;height:100%}.island-intro{flex-direction:column;display:flex}.island-not-found{padding-left:10px!important}.island-hello{font-size:var(--font-size-sm);color:var(--island-hello);font-weight:400;line-height:1.2}.island-name{font-size:var(--font-size-xl);color:var(--island-text);font-weight:600;line-height:1.2}.icon-btn{cursor:pointer;will-change:transform;backface-visibility:hidden;border:none;border-radius:50%;outline:none;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex;transform:translateZ(0)}.icon-btn-green{background:var(--btn-green);color:#fff}.icon-btn-orange{background:var(--btn-orange);color:#fff}.icon-btn-blue{background:var(--btn-blue);color:#fff}.icon-btn-purple{background:var(--btn-purple);color:#fff}.icon-btn-back{background:var(--back-btn-bg);width:42px;height:42px;color:var(--back-btn-color);cursor:pointer;will-change:transform;backface-visibility:hidden;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;transform:translateZ(0)}.external-back-btn{z-index:50;will-change:transform;backface-visibility:hidden;position:absolute;bottom:-64px;left:50%;transform:translateZ(0)}.social-icon{cursor:pointer;width:42px;height:42px;color:var(--social-icon-color);will-change:transform;backface-visibility:hidden;justify-content:center;align-items:center;text-decoration:none;display:flex;transform:translateZ(0)}.about-text{color:var(--island-about);margin:0;font-weight:500;line-height:1.6;font-size:var(--font-size-about)!important}.island-projects{will-change:transform;backface-visibility:hidden;flex-direction:column;gap:4px;width:min(80vw,400px);max-height:420px;display:flex}.projects-header{border-bottom:1px solid var(--island-border-subtle);align-items:center;gap:8px;padding:8px 10px;display:flex}.projects-title{font-size:var(--font-size-project);color:var(--project-title-color);letter-spacing:.3px;margin-left:4px;font-weight:700}.projects-list{overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;padding:8px 10px;display:flex;overflow-y:auto}.projects-list::-webkit-scrollbar{background:0 0!important;width:0!important;height:0!important;display:none!important}.project-card{border-bottom:1px solid var(--island-card-border);padding:6px 0;text-decoration:none;display:flex}.project-card:last-child{border-bottom:none}.project-compact-row{justify-content:space-between;align-items:center;width:100%;display:flex}.project-compact-left{align-items:center;gap:8px;display:flex}.project-compact-title{font-family:var(--font-geist-sans), sans-serif;color:var(--island-about);letter-spacing:-.3px;margin:0;font-weight:500;font-size:var(--font-size-project)!important}.project-tag{font-family:var(--font-mono), monospace;font-size:var(--tag-font-size-lg);background:var(--island-tag-bg);color:var(--project-title-color);letter-spacing:.5px;text-transform:uppercase;border-radius:8px;padding:2px 6px;font-weight:600}.tag-algorithm{background:var(--tag-algorithm-bg);color:var(--tag-algorithm-color)}.tag-ai{background:var(--tag-web-bg);color:var(--tag-web-color)}.tag-web{background:var(--tag-ai-bg);color:var(--tag-ai-color)}.tag-robotics{background:var(--tag-robotics-bg);color:var(--tag-robotics-color)}.tag-education{background:var(--tag-education-bg);color:var(--tag-education-color)}.tag-portfolio{background:var(--tag-portfolio-bg);color:var(--tag-portfolio-color)}.tag-ml{background:var(--tag-ml-bg);color:var(--tag-ml-color)}.tag-game{background:var(--tag-web-bg);color:var(--tag-web-color)}.tag-simulation{background:var(--tag-simulation-bg);color:var(--tag-simulation-color)}.project-compact-links{align-items:center;gap:8px;display:flex}.project-compact-links a{color:var(--project-link-color);justify-content:center;align-items:center;transition:color .2s;display:flex}.project-compact-links a:hover{color:var(--project-link-hover)}.project-link-disabled{color:var(--project-link-disabled);cursor:not-allowed;justify-content:center;align-items:center;display:flex}@media (max-width:480px){:root{--font-size-xl:16px;--font-size-lg:15px;--font-size-about:15px;--font-size-project:13px;--font-size-sm:13px;--tag-font-size-lg:9px}.island-expanded{gap:16px;min-width:min(75vw,320px)}.island-home{gap:10px}.island-left{gap:8px}.island-right{gap:6px}.island-photo,.island-photo-btn{width:44px;height:44px}.icon-btn{width:40px;height:40px}.icon-btn-back{width:36px;height:36px}.external-back-btn{width:48px;height:48px;bottom:-72px}.social-icon{width:40px;height:40px}.island-projects{max-width:94vw;max-height:400px}.island-links{gap:0;padding:2px 4px}.island-about{max-width:90vw;padding:10px 14px}}@media (max-width:380px){.island-expanded{gap:12px;min-width:min(80vw,290px)}.icon-btn{width:40px;height:40px}.island-photo,.island-photo-btn{width:42px;height:42px}.icon-btn-back{width:34px;height:34px}.external-back-btn{width:46px;height:46px;bottom:-70px}.social-icon{width:38px;height:38px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
