:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--vt-c-black: #181818;--vt-c-black-soft: #222222;--vt-c-black-mute: #282828;--vt-c-indigo: #2c3e50;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: var(--vt-c-white);--vt-c-text-dark-2: rgba(235, 235, 235, .64)}:root{--color-background: var(--vt-c-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1);--section-gap: 160px}@media(prefers-color-scheme:dark){:root{--color-background: var(--vt-c-black);--color-background-soft: var(--vt-c-black-soft);--color-background-mute: var(--vt-c-black-mute);--color-border: var(--vt-c-divider-dark-2);--color-border-hover: var(--vt-c-divider-dark-1);--color-heading: var(--vt-c-text-dark-1);--color-text: var(--vt-c-text-dark-2)}}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background);transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{max-width:1280px;margin:0 auto;padding:2rem;font-weight:400}a,.green{text-decoration:none;color:#00bd7e;transition:.4s;padding:3px}@media(hover:hover){a:hover{background-color:#00bd7e33}}@media(min-width:1024px){body{display:flex;place-items:center}#app{display:grid;grid-template-columns:1fr 1fr;padding:0 2rem}}body,html,#app{margin:0!important;padding:0!important;width:100vw!important;height:100vh!important;overflow:hidden!important;max-width:none!important}.app-container[data-v-583dd2fc]{position:fixed;inset:0;font-family:PingFang SC,sans-serif;background-color:#fff0f5;color:#2d3436;cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' style='font-size:24px;'><text y='24'>✨</text></svg>") 16 16,auto;transition:background-color .3s}.dev-mode[data-v-583dd2fc]{background-color:#f1f2f6}.dev-mode .bento-card[data-v-583dd2fc]{border:1px dashed #ff8fab;box-shadow:none!important;background:#fffc}.dev-badge[data-v-583dd2fc]{position:absolute;top:10px;right:10px;background:#2d3436;color:#0f0;font-family:monospace;font-size:10px;padding:2px 6px;border-radius:4px;z-index:10}button[data-v-583dd2fc],a[data-v-583dd2fc],.bento-card[data-v-583dd2fc],.close-btn[data-v-583dd2fc]{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' style='font-size:24px;'><text y='24'>👆</text></svg>") 16 0,pointer!important}.welcome-screen[data-v-583dd2fc]{position:absolute;inset:0;background:linear-gradient(135deg,#ffe5ec,#ffc2d1);display:flex;justify-content:center;align-items:center;z-index:100}.welcome-box[data-v-583dd2fc]{text-align:center}.floating-avatar[data-v-583dd2fc]{font-size:clamp(3rem,8vh,5rem);animation:float-583dd2fc 3s ease-in-out infinite;margin-bottom:2vh}.typewriter-text[data-v-583dd2fc]{font-size:clamp(2rem,5vh,3.5rem);color:#fff;margin-bottom:1.5vh;font-weight:900;letter-spacing:2px;text-shadow:2px 4px 10px rgba(255,143,171,.4)}.cursor[data-v-583dd2fc]{font-weight:300;animation:blink-583dd2fc 1s step-end infinite}@keyframes blink-583dd2fc{50%{opacity:0}}.subtitle[data-v-583dd2fc]{font-size:clamp(1rem,2vh,1.3rem);color:#fff;margin-bottom:4vh;font-weight:500}.magic-btn[data-v-583dd2fc]{background:#fff;color:#ff8fab;border:none;padding:2vh 3vw;border-radius:40px;font-size:clamp(1rem,2vh,1.2rem);font-weight:700;transition:all .3s;box-shadow:0 10px 25px #ff8fab66}.magic-btn[data-v-583dd2fc]:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 15px 35px #ff8fab99}.dashboard-wrapper[data-v-583dd2fc]{width:100%;height:100%;display:flex;justify-content:center;align-items:center;padding:3vh 3vw;box-sizing:border-box}.bento-layout[data-v-583dd2fc]{width:100%;max-width:1200px;height:100%;display:grid;grid-template-columns:minmax(280px,320px) 1fr 1fr;grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:2vh}.bento-card[data-v-583dd2fc]{background:#fff;border-radius:20px;padding:clamp(15px,3vh,25px);position:relative;display:flex;flex-direction:column;overflow:hidden;transition:all .3s ease;box-shadow:0 4px 15px #ff8fab0d}.bento-card[data-v-583dd2fc]:hover{transform:scale(1.01);box-shadow:0 12px 30px #ff8fab33;border:1px solid #ff8fab;z-index:10}.profile-bento[data-v-583dd2fc]{grid-row:1 / 3;grid-column:1 / 2;cursor:crosshair!important;position:relative;display:flex;flex-direction:column;gap:1.5vh}.pop-bubble[data-v-583dd2fc]{position:absolute;width:40px;height:40px;background:#ff8fab66;border-radius:50%;transform:translate(-50%,-50%) scale(0);pointer-events:none;z-index:1;animation:popAnim-583dd2fc .8s cubic-bezier(.165,.84,.44,1) forwards}@keyframes popAnim-583dd2fc{0%{transform:translate(-50%,-50%) scale(0);opacity:1}50%{transform:translate(-50%,-50%) scale(1.5);opacity:.5}to{transform:translate(-50%,-50%) scale(2);opacity:0}}.photo-placeholder[data-v-583dd2fc]{width:100%;flex:1 1 0;min-height:120px;max-height:35vh;border-radius:16px;display:flex;justify-content:center;align-items:center;z-index:2}.profile-photo[data-v-583dd2fc]{width:100%;height:100%;object-fit:cover;border-radius:16px;box-shadow:0 4px 15px #ff8fab33;transition:transform .3s ease}.profile-photo[data-v-583dd2fc]:hover{transform:scale(1.03)}.profile-text[data-v-583dd2fc]{display:flex;flex-direction:column;gap:1.5vh;z-index:2}.name-title[data-v-583dd2fc]{font-size:clamp(1.4rem,3vh,1.8rem);display:flex;align-items:center;justify-content:space-between;color:#2d3436;font-weight:800;margin:0}.status-badge[data-v-583dd2fc]{font-size:clamp(.7rem,1.2vh,.8rem);background:#ff8fab;color:#fff;padding:4px 10px;border-radius:20px;font-weight:700}.school-text[data-v-583dd2fc]{font-size:clamp(.85rem,1.5vh,.95rem);color:#636e72;font-weight:700;margin:0}.contact-box[data-v-583dd2fc]{background:#f8f9fa;padding:clamp(10px,2vh,15px);border-radius:12px;font-size:clamp(.8rem,1.4vh,.9rem);color:#454545;display:flex;flex-direction:column;gap:.5vh;border-left:4px solid #ff8fab;margin:0}.contact-box p[data-v-583dd2fc]{margin:0}.bio-text[data-v-583dd2fc]{font-size:clamp(.85rem,1.5vh,.95rem);color:#fb6f92;font-style:italic;margin:0;line-height:1.5}.project-bento[data-v-583dd2fc]{grid-row:1 / 2;grid-column:2 / 4;border:2px solid #ff8fab;background:linear-gradient(135deg,#fff,#fff0f5);display:flex;flex-direction:column;gap:1.5vh}.card-header[data-v-583dd2fc]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5vh}.project-bento h3[data-v-583dd2fc]{font-size:clamp(1.2rem,2.5vh,1.5rem);color:#2d3436;font-weight:800;margin:0}.direct-link[data-v-583dd2fc]{background:#ff8fab;color:#fff;padding:6px 15px;border-radius:25px;text-decoration:none;font-size:clamp(.8rem,1.5vh,.9rem);font-weight:700;transition:all .3s;z-index:5}.direct-link[data-v-583dd2fc]:hover{background:#fb6f92;transform:scale(1.05)}.project-details[data-v-583dd2fc]{display:flex;flex-direction:column;gap:1.5vh;flex:1;justify-content:center}.project-item h4[data-v-583dd2fc]{font-size:clamp(.95rem,1.8vh,1.1rem);color:#fb6f92;margin:0 0 .5vh;font-weight:700}.project-item p[data-v-583dd2fc]{font-size:clamp(.85rem,1.6vh,.95rem);color:#4a4a4a;margin:0;line-height:1.6}.project-item strong[data-v-583dd2fc]{color:#ff8fab}.tags-row[data-v-583dd2fc]{display:flex;flex-wrap:wrap;gap:8px;margin:0}.tag[data-v-583dd2fc]{background:#fff;color:#ff8fab;padding:4px 10px;border-radius:10px;font-size:clamp(.75rem,1.2vh,.85rem);font-weight:700;border:1px solid #ff8fab}.skills-bento[data-v-583dd2fc]{grid-row:2 / 3;grid-column:2 / 3;display:flex;flex-direction:column;gap:1vh}.skills-bento h3[data-v-583dd2fc]{font-size:clamp(1.1rem,2.2vh,1.4rem);color:#2d3436;font-weight:800;margin:0}.skill-intro[data-v-583dd2fc]{font-size:clamp(.85rem,1.5vh,.95rem);color:#636e72;margin:0}.skill-bubbles[data-v-583dd2fc]{display:flex;flex-wrap:wrap;gap:10px;align-content:flex-start;position:relative;flex:1;padding-top:1vh}.magnetic-tag[data-v-583dd2fc]{background:#fff0f5;color:#fb6f92;padding:8px 14px;border-radius:20px;font-size:clamp(.8rem,1.5vh,.9rem);font-weight:700;transition:transform .2s cubic-bezier(.34,1.56,.64,1);display:inline-block}.exp-bento[data-v-583dd2fc]{grid-row:2 / 3;grid-column:3 / 4;display:flex;flex-direction:column;gap:1.5vh}.exp-bento h3[data-v-583dd2fc]{font-size:clamp(1.1rem,2.2vh,1.4rem);color:#2d3436;font-weight:800;margin:0}.exp-content[data-v-583dd2fc]{display:flex;flex-direction:column;gap:1.5vh;flex:1;justify-content:center}.exp-row[data-v-583dd2fc]{display:flex;flex-direction:column;gap:.3vh;position:relative;padding-left:15px}.exp-row[data-v-583dd2fc]:before{content:"•";position:absolute;left:0;top:-2px;color:#ff8fab;font-size:1.2rem}.exp-row strong[data-v-583dd2fc]{font-size:clamp(.9rem,1.6vh,1rem);color:#2d3436}.exp-row span[data-v-583dd2fc]{font-size:clamp(.8rem,1.4vh,.9rem);color:#636e72;line-height:1.4}.award-row[data-v-583dd2fc]:before{content:"✨";font-size:1rem;top:0;left:-2px}.red-text[data-v-583dd2fc]{color:#ff8fab!important;font-weight:700}.click-hint[data-v-583dd2fc]{text-align:right;color:#ff8fab;font-size:clamp(.75rem,1.2vh,.85rem);font-weight:700;opacity:0;transition:opacity .3s;margin:auto 0 0}.bento-card:hover .click-hint[data-v-583dd2fc]{opacity:1}.modal-overlay[data-v-583dd2fc]{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:200;padding:20px}.modal-content[data-v-583dd2fc]{background:#fff;width:100%;max-width:600px;max-height:85vh;border-radius:24px;padding:40px;position:relative;display:flex;flex-direction:column}.close-btn[data-v-583dd2fc]{position:absolute;top:20px;right:25px;background:none;border:none;font-size:2.5rem;color:#dfe6e9;cursor:pointer;transition:color .2s;line-height:1}.close-btn[data-v-583dd2fc]:hover{color:#ff8fab}.scrollable[data-v-583dd2fc]{overflow-y:auto;padding-right:15px}.scrollable[data-v-583dd2fc]::-webkit-scrollbar{width:6px}.scrollable[data-v-583dd2fc]::-webkit-scrollbar-thumb{background:#ff8fab;border-radius:3px}.modal-title[data-v-583dd2fc]{color:#fb6f92;border-bottom:2px dashed #fff0f5;padding-bottom:15px;margin-bottom:20px;font-size:1.6rem;font-weight:800}.detail-block[data-v-583dd2fc]{background:#fff0f5;padding:20px;border-radius:16px;margin-bottom:15px}.detail-block h3[data-v-583dd2fc]{color:#fb6f92;margin-bottom:10px;font-size:1.15rem;font-weight:700}.detail-block p[data-v-583dd2fc]{color:#2d3436;line-height:1.6;font-size:1.05rem;margin-bottom:8px}@keyframes float-583dd2fc{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.fade-enter-active[data-v-583dd2fc],.fade-leave-active[data-v-583dd2fc]{transition:opacity .5s ease}.fade-enter-from[data-v-583dd2fc],.fade-leave-to[data-v-583dd2fc]{opacity:0}.slide-up-enter-active[data-v-583dd2fc]{transition:all .6s cubic-bezier(.16,1,.3,1)}.slide-up-enter-from[data-v-583dd2fc]{opacity:0;transform:translateY(30px)}.pop-enter-active[data-v-583dd2fc],.pop-leave-active[data-v-583dd2fc]{transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.pop-enter-from[data-v-583dd2fc],.pop-leave-to[data-v-583dd2fc]{opacity:0;transform:scale(.95)}@media(max-width:900px){body,html,#app{overflow:visible!important;height:auto!important}.app-container[data-v-583dd2fc]{position:relative;height:auto;overflow:visible}.dashboard-wrapper[data-v-583dd2fc]{height:auto;padding:20px}.bento-layout[data-v-583dd2fc]{display:flex;flex-direction:column;height:auto;gap:20px}}
