.sidebar-shell[data-v-6a35d1b0]{position:relative}.mobile-header[data-v-6a35d1b0],.overlay[data-v-6a35d1b0]{display:none}.sidebar[data-v-6a35d1b0]{width:var(--sidebar-width);height:100%;min-height:100%;background:var(--bg-sidebar);display:flex;flex-direction:column;padding:clamp(40px,7vh,72px) clamp(12px,1.5vw,18px) clamp(36px,6vh,56px);overflow-y:auto;overscroll-behavior:contain}@media (min-width: 992px){.sidebar-shell[data-v-6a35d1b0]{height:auto;min-height:100%;align-self:stretch}.sidebar[data-v-6a35d1b0]{position:relative;z-index:10;flex:1}}.sidebar-logo[data-v-6a35d1b0]{display:flex;align-items:center;font-size:var(--sidebar-logo-size);font-weight:700;letter-spacing:-.02em;line-height:1;margin-bottom:4vh;padding-left:8px}.dot[data-v-6a35d1b0]{color:var(--accent);line-height:1}.nav[data-v-6a35d1b0]{display:flex;flex-direction:column;gap:clamp(14px,2.4vh,22px);flex:1}.nav-item[data-v-6a35d1b0]{display:flex;align-items:center;gap:12px;padding:clamp(6px,.8vh,10px) clamp(12px,1.5vw,16px);border-radius:10px;font-size:var(--nav-font-size);font-weight:500;color:var(--text-muted);transition:color .2s,background .2s}.nav-icon[data-v-6a35d1b0]{display:flex;align-items:center;flex-shrink:0;width:var(--nav-icon-size);height:var(--nav-icon-size)}.nav-icon[data-v-6a35d1b0] svg{width:100%;height:100%}.social[data-v-6a35d1b0]{display:flex;justify-content:space-evenly;align-items:center;width:100%;padding-top:clamp(24px,4vh,36px);margin-bottom:clamp(8px,2vh,16px);flex-shrink:0}.social-link[data-v-6a35d1b0]{display:flex;align-items:center;justify-content:center;width:var(--social-circle-size);height:var(--social-circle-size);border-radius:50%;background:#ffffff1a;border:none;color:var(--text);transition:transform .2s,color .2s,background .2s}.social-link svg[data-v-6a35d1b0]{width:var(--social-icon-size);height:var(--social-icon-size);flex-shrink:0}.social-link[data-v-6a35d1b0]:hover{color:#fff;background:#ffffff29;transform:scale(1.06)}.social-link--plain[data-v-6a35d1b0]{background:transparent;border-radius:50%;flex-shrink:0}.social-link--plain svg[data-v-6a35d1b0]{width:var(--social-plain-size);height:var(--social-plain-size)}.social-link--plain[data-v-6a35d1b0]:hover{background:transparent;color:#fff}.nav-item[data-v-6a35d1b0]:hover{color:var(--text);background:transparent}.nav-item.active[data-v-6a35d1b0],.nav-item.active[data-v-6a35d1b0]:hover{color:var(--accent);background:transparent}@media (max-width: 991px){.mobile-header[data-v-6a35d1b0]{display:flex;align-items:center;justify-content:space-between;position:fixed;top:0;left:0;right:0;height:var(--header-height);padding:0 20px;background:#0c0c12eb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);z-index:150}.logo[data-v-6a35d1b0]{display:flex;align-items:center;line-height:1;font-size:var(--sidebar-logo-size);font-weight:700;letter-spacing:-.02em}.menu-btn[data-v-6a35d1b0]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;color:var(--text);transition:background .2s}.menu-btn[data-v-6a35d1b0]:hover{background:#ffffff0f}.overlay[data-v-6a35d1b0]{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:180}.fade-enter-active[data-v-6a35d1b0],.fade-leave-active[data-v-6a35d1b0]{transition:opacity .25s}.fade-enter-from[data-v-6a35d1b0],.fade-leave-to[data-v-6a35d1b0]{opacity:0}.sidebar[data-v-6a35d1b0]{position:fixed;top:0;left:0;height:100vh;height:100dvh;width:min(300px,88vw);z-index:200;transform:translate(-100%);transition:transform .3s ease;box-shadow:4px 0 24px #0000004d}.sidebar.open[data-v-6a35d1b0]{transform:translate(0)}}.bottom-modules[data-v-168f05de]{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--bg-sidebar);padding:clamp(24px,3.2vh,48px) 0 1.4vh;overflow:hidden}.content-grid[data-v-168f05de]{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,.72fr) minmax(0,1.53fr);gap:1vw;flex:1;min-height:0;width:100%;max-width:100%;padding:0 clamp(32px,4vw,72px);box-sizing:border-box;align-items:stretch;overflow:hidden}.card[data-v-168f05de]{border-radius:var(--radius-lg);padding:1.2vh 1vw;display:flex;flex-direction:column;min-height:0;overflow:hidden}.card--about[data-v-168f05de]{--stats-gap: clamp(10px, 1.2vh, 14px);container-type:size;container-name:about-card;height:100%;min-width:0}.card-main-block[data-v-168f05de]{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.card--about .stats[data-v-168f05de]{flex:1;min-height:0;grid-template-rows:repeat(2,minmax(0,1fr));align-content:stretch}.card--about .stat-item[data-v-168f05de]{min-height:clamp(48px,18cqh,84px);height:100%;max-height:100%}.card--about .stat-icon[data-v-168f05de]{width:clamp(28px,8cqh,40px);height:clamp(28px,8cqh,40px)}.card--about .stat-value[data-v-168f05de]{font-size:clamp(14px,5cqh,22px)}.card--about .stat-label[data-v-168f05de]{font-size:clamp(10px,3.5cqh,14px)}@container about-card (max-width: 300px){.card--about .stat-item[data-v-168f05de]{padding:clamp(10px,3cqh,16px) clamp(8px,3cqw,12px)}.card--about .stat-label[data-v-168f05de]{font-size:clamp(9px,3cqh,12px)}}@container about-card (max-height: 340px){.card--about .card-title[data-v-168f05de]{margin-bottom:clamp(8px,2cqh,14px)}.card--about .card-desc[data-v-168f05de]{margin-bottom:clamp(10px,2.5cqh,16px);-webkit-line-clamp:2}.card--about .card-main-block[data-v-168f05de]{gap:clamp(10px,2.5cqh,16px)}.card--about .stat-item[data-v-168f05de]{min-height:clamp(40px,14cqh,64px);padding:clamp(8px,2cqh,14px) clamp(8px,2.5cqw,12px)}.card--about .stat-value[data-v-168f05de]{margin-bottom:clamp(2px,.8cqh,6px)}}@container about-card (max-height: 280px){.card--about .card-desc[data-v-168f05de]{-webkit-line-clamp:1}.card--about .stat-icon[data-v-168f05de]{width:clamp(24px,9cqh,32px);height:clamp(24px,9cqh,32px)}.card--about .stat-value[data-v-168f05de]{font-size:clamp(13px,5.5cqh,18px)}.card--about .btn-resume[data-v-168f05de]{padding:clamp(8px,2cqh,12px) clamp(10px,2.5cqw,14px);font-size:clamp(11px,3.5cqh,13px)}}@media (max-height: 760px) and (min-width: 992px){.card--about .stat-item[data-v-168f05de]{min-height:clamp(44px,7vh,68px);padding:clamp(10px,1.4vh,16px) clamp(8px,1vw,12px)}.card--about .stat-value[data-v-168f05de]{font-size:clamp(14px,1.7vh,18px)}.card--about .stat-label[data-v-168f05de]{font-size:clamp(10px,1.1vh,12px)}}.card-title[data-v-168f05de]{display:flex;align-items:center;gap:clamp(8px,1vh,12px);font-size:clamp(15px,1.9vh,20px);font-weight:600;letter-spacing:.08em;margin-bottom:clamp(12px,1.6vh,22px);flex-shrink:0}.card-title[data-v-168f05de]:before{content:"";flex-shrink:0;width:clamp(8px,1vh,11px);height:clamp(8px,1vh,11px);border-radius:50%;background:var(--gradient);box-shadow:0 0 12px #6366f180}.card-desc[data-v-168f05de]{font-size:clamp(12px,1.45vh,14px);color:var(--text-muted);line-height:1.75;margin-top:clamp(4px,.6vh,10px);margin-bottom:clamp(16px,2vh,28px);flex-shrink:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.stats[data-v-168f05de]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto;gap:var(--stats-gap, clamp(10px, 1.2vh, 14px));width:100%;min-height:0}.stat-item[data-v-168f05de]{display:flex;align-items:center;gap:clamp(8px,1vh,12px);background:#ffffff0a;border:none;border-radius:10px;padding:clamp(16px,1.9vh,22px) clamp(10px,1.2vw,14px);min-height:clamp(68px,8vh,84px);height:auto}.stat-icon[data-v-168f05de]{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:clamp(32px,3.5vh,40px);height:clamp(32px,3.5vh,40px);border-radius:50%;background:#ffffff0f}.stat-icon[data-v-168f05de] svg{width:clamp(14px,1.5vh,16px);height:clamp(14px,1.5vh,16px)}.stat-value[data-v-168f05de]{font-size:clamp(17px,2vh,22px);font-weight:700;line-height:1.15;margin-bottom:clamp(6px,.75vh,10px);background:linear-gradient(135deg,#bfdbfe,#7dd3fc 45%,#38bdf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-label[data-v-168f05de]{font-size:clamp(12px,1.35vh,14px);color:var(--text-muted);line-height:1.25}.btn-resume[data-v-168f05de]{display:flex;align-items:center;justify-content:center;gap:clamp(8px,1vh,12px);width:calc((100% - var(--stats-gap)) / 2);align-self:flex-start;margin-top:clamp(16px,2vh,24px);padding:clamp(12px,1.4vh,16px) clamp(12px,1.4vw,16px);border:1px solid rgba(255,255,255,.35);border-radius:6px;color:var(--text);font-size:clamp(12px,1.35vh,14px);font-weight:500;letter-spacing:.06em;flex-shrink:0;box-sizing:border-box;transition:border-color .2s,color .2s}.btn-resume[data-v-168f05de]:hover{border-color:#ffffff8c;color:var(--text)}.btn-resume svg[data-v-168f05de]{flex-shrink:0;width:clamp(14px,1.4vh,16px);height:clamp(14px,1.4vh,16px)}.card--skills[data-v-168f05de]{height:100%;min-width:0}.card--skills .skills.card-main-block[data-v-168f05de]{justify-content:space-between;gap:0;margin-bottom:0}.card--skills .skill-item[data-v-168f05de]{flex:1 1 0;min-height:0;display:flex;flex-direction:column;justify-content:center;padding:0}.skills[data-v-168f05de]{display:flex;flex-direction:column;gap:clamp(12px,1.4vh,18px);min-height:0;overflow:hidden}.skill-item[data-v-168f05de]{padding:clamp(2px,.3vh,4px) 0}.skill-header[data-v-168f05de]{display:flex;justify-content:space-between;margin-bottom:clamp(6px,.7vh,8px)}.skill-name[data-v-168f05de]{color:var(--text-muted);font-weight:500}.skill-pct[data-v-168f05de]{color:var(--text-muted);font-weight:600}.skill-bar[data-v-168f05de]{height:clamp(5px,.65vh,7px);background:#ffffff0f;border-radius:3px;overflow:hidden}.skill-fill[data-v-168f05de]{height:100%;background:var(--gradient);border-radius:3px;box-shadow:0 0 8px #6366f180}.works[data-v-168f05de]{display:flex;flex-direction:column;min-height:0;overflow:hidden}.card--works[data-v-168f05de]{height:100%;min-width:0}.card--works .works.card-main-block[data-v-168f05de]{justify-content:space-between;gap:clamp(14px,1.6vh,22px);margin-bottom:0}.card--works .work-item[data-v-168f05de]{flex:1 1 0;min-height:0;height:100%;--work-inset-y: clamp(8px, 1vh, 12px);--work-inset-x: clamp(8px, 1vw, 10px);--work-content-gap: clamp(12px, 1.3vh, 16px);padding:var(--work-inset-y) var(--work-inset-x);gap:var(--work-content-gap)}.card--works .work-info[data-v-168f05de]{padding-left:clamp(2px,.3vw,4px)}.work-item[data-v-168f05de]{display:flex;align-items:stretch;border:1px solid var(--border);border-radius:8px}.card--works .work-info[data-v-168f05de],.card--works .work-arrow[data-v-168f05de]{align-self:center}.card--works .work-thumb[data-v-168f05de]{align-self:stretch;width:clamp(96px,11vw,128px);height:auto;min-height:0;margin-block:0;border-radius:6px}.work-thumb[data-v-168f05de]{flex-shrink:0;overflow:hidden}.work-thumb-inner[data-v-168f05de]{width:100%;height:100%;background:linear-gradient(90deg,rgba(59,130,246,.3) 0%,transparent 60%),repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0px,rgba(255,255,255,.04) 1px,transparent 1px,transparent 8px)}.work-info[data-v-168f05de]{flex:1;min-width:0}.work-title[data-v-168f05de]{font-size:clamp(12px,1.4vh,14px);font-weight:600;margin-bottom:clamp(4px,.5vh,6px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.work-desc[data-v-168f05de]{font-size:clamp(11px,1.2vh,12px);color:var(--text-muted);margin-bottom:clamp(4px,.5vh,6px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.work-tags[data-v-168f05de]{display:flex;gap:clamp(4px,.5vh,6px);flex-wrap:wrap}.tag[data-v-168f05de]{font-size:clamp(10px,1.1vh,11px);color:var(--text-muted);padding:clamp(3px,.35vh,5px) clamp(8px,.9vw,10px);border-radius:999px;border:1px solid rgba(255,255,255,.22);background:#ffffff08}.work-arrow[data-v-168f05de]{flex-shrink:0;color:var(--text-dim);width:clamp(14px,1.4vh,16px);height:clamp(14px,1.4vh,16px)}.card-link[data-v-168f05de]{display:inline-flex;align-items:center;gap:4px;font-size:clamp(10px,1.2vh,12px);color:var(--accent);font-weight:500;flex-shrink:0}.card-link.card-link--footer[data-v-168f05de]{gap:clamp(8px,1vh,12px);margin-top:clamp(16px,2vh,24px);padding:clamp(12px,1.4vh,16px) clamp(12px,1.4vw,16px) clamp(12px,1.4vh,16px) 0;border:none;border-radius:6px;color:#fff;font-size:clamp(12px,1.35vh,14px);font-weight:500;letter-spacing:.06em;line-height:1;box-sizing:border-box;transition:color .2s}.card-link.card-link--footer[data-v-168f05de]:hover{color:#ffffffd9}.card-link.card-link--footer svg[data-v-168f05de]{flex-shrink:0;width:clamp(14px,1.4vh,16px);height:clamp(14px,1.4vh,16px)}.skill-name[data-v-168f05de],.skill-pct[data-v-168f05de]{font-size:clamp(13px,1.45vh,15px)}@media (max-width: 991px){.bottom-modules[data-v-168f05de]{height:auto;overflow:visible;padding:clamp(28px,4vh,40px) 0 32px}.content-grid[data-v-168f05de]{grid-template-columns:1fr;grid-template-rows:none;gap:12px;padding:0 clamp(24px,5vw,40px);overflow:visible;flex:none;min-height:auto}.card[data-v-168f05de]{flex:none;min-height:auto;overflow:visible;padding:18px 16px}.card--about[data-v-168f05de]{container-type:normal;height:auto}.card--about .stats[data-v-168f05de]{grid-template-columns:1fr;grid-template-rows:repeat(4,auto);flex:none}.card--about .stat-item[data-v-168f05de]{min-height:clamp(60px,16vw,72px);height:auto;max-height:none}.card--about .stat-icon[data-v-168f05de]{width:clamp(32px,8vw,40px);height:clamp(32px,8vw,40px)}.card--about .stat-value[data-v-168f05de]{font-size:clamp(16px,4.5vw,20px)}.card--about .stat-label[data-v-168f05de]{font-size:clamp(11px,3vw,13px)}.card--about .btn-resume[data-v-168f05de]{width:100%}.card--skills[data-v-168f05de]{height:auto}.card--skills .skills.card-main-block[data-v-168f05de]{flex:none;justify-content:flex-start;gap:clamp(12px,1.4vh,18px)}.card--skills .skill-item[data-v-168f05de]{flex:none;padding:clamp(2px,.3vh,4px) 0}.card--works[data-v-168f05de]{height:auto}.card--works .works.card-main-block[data-v-168f05de]{flex:none;justify-content:flex-start;gap:clamp(14px,1.6vh,20px)}.card--works .work-item[data-v-168f05de]{flex:none;height:auto}.card--about .card-main-block[data-v-168f05de]{flex:none}.card-desc[data-v-168f05de]{-webkit-line-clamp:unset;display:block}.work-title[data-v-168f05de],.work-desc[data-v-168f05de]{white-space:normal}}.app[data-v-337882be]{width:100%;background:var(--bg)}.main[data-v-337882be]{flex:1;min-width:0;display:flex;flex-direction:column}@media (min-width: 992px){.app.is-home[data-v-337882be]{display:grid;grid-template-rows:var(--home-top-ratio) var(--home-bottom-ratio);height:100dvh;max-height:100dvh;overflow:hidden}.top-row[data-v-337882be]{display:flex;min-height:0;overflow:hidden;width:100%}.app.is-home .main[data-v-337882be]{flex:1;min-width:0;min-height:0}.home-bottom[data-v-337882be]{min-height:0;overflow:hidden;width:100%}.top-row[data-v-337882be] .sidebar-shell{flex-shrink:0;width:var(--sidebar-width);display:flex;min-height:0;overflow:hidden}.app[data-v-337882be]:not(.is-home){display:grid;grid-template-columns:var(--sidebar-width) 1fr;min-height:100dvh}.app[data-v-337882be]:not(.is-home) .sidebar-shell{grid-column:1;min-height:100dvh;display:flex}.app:not(.is-home) .main[data-v-337882be]{grid-column:2;min-height:100dvh;overflow-y:auto}}@media (max-width: 991px){.app.is-home[data-v-337882be]{display:flex;flex-direction:column;min-height:100dvh;height:auto;overflow:visible}.top-row[data-v-337882be]{display:block;width:100%;flex-shrink:0}.app.is-home .top-row .main[data-v-337882be]{padding-top:var(--header-height);min-height:auto}.home-bottom[data-v-337882be]{flex-shrink:0;width:100%;overflow:visible}}.home[data-v-55b0ff0b]{flex:1;display:flex;flex-direction:column;width:100%;height:100%;min-height:0;overflow:hidden}.hero[data-v-55b0ff0b]{position:relative;flex:1;display:flex;align-items:center;width:100%;height:100%;min-height:0;overflow:hidden}.hero-bg-wrap[data-v-55b0ff0b]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.hero-bg[data-v-55b0ff0b]{width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}.hero-overlay[data-v-55b0ff0b]{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to right,#08080deb,#08080dbf 40%,#08080d59,#08080d26);pointer-events:none}.hero-stars[data-v-55b0ff0b]{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(1px 1px at 10% 20%,rgba(255,255,255,.4) 0%,transparent 100%),radial-gradient(1px 1px at 30% 60%,rgba(255,255,255,.3) 0%,transparent 100%),radial-gradient(1px 1px at 50% 10%,rgba(255,255,255,.35) 0%,transparent 100%),radial-gradient(1px 1px at 70% 40%,rgba(255,255,255,.25) 0%,transparent 100%),radial-gradient(1px 1px at 85% 75%,rgba(255,255,255,.3) 0%,transparent 100%);pointer-events:none}.dot-grid[data-v-55b0ff0b]{position:absolute;bottom:2vh;left:3vw;width:64px;height:48px;z-index:2;background-image:radial-gradient(circle,rgba(168,85,247,.5) 1px,transparent 1px);background-size:8px 8px;pointer-events:none;opacity:.6}.hero-inner[data-v-55b0ff0b]{position:relative;z-index:3;width:100%;padding:2vh 3vw}@media (min-width: 992px){.hero-inner[data-v-55b0ff0b]{padding:2vh clamp(32px,4vw,56px) 2vh clamp(80px,9vw,140px)}}.hero-content[data-v-55b0ff0b]{max-width:min(520px,90%)}.greeting[data-v-55b0ff0b]{font-size:clamp(16px,1.8vh,20px);color:var(--text-muted);margin-bottom:1vh;letter-spacing:.06em}.headline[data-v-55b0ff0b]{font-size:clamp(36px,6.8vh,64px);font-weight:700;line-height:1.15;letter-spacing:.12em;margin-bottom:1.2vh;display:flex;flex-direction:column;gap:clamp(10px,1.4vh,20px)}.headline-line[data-v-55b0ff0b]{display:block}.description[data-v-55b0ff0b]{font-size:clamp(13px,1.7vh,17px);color:var(--text-muted);line-height:1.75;letter-spacing:.08em;margin-bottom:clamp(32px,4vh,52px);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.actions[data-v-55b0ff0b]{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(8px,1.2vh,16px)}.btn-primary[data-v-55b0ff0b]{display:inline-flex;align-items:center;gap:8px;padding:clamp(12px,1.5vh,16px) clamp(24px,3vw,36px);background:var(--gradient-btn);color:#fff;font-size:clamp(13px,1.45vh,16px);font-weight:400;letter-spacing:.08em;border-radius:999px;box-shadow:0 4px 24px #6366f159;transition:transform .2s,box-shadow .2s}.btn-primary[data-v-55b0ff0b]:hover{transform:translateY(-1px);box-shadow:0 6px 28px #6366f173}.btn-outline[data-v-55b0ff0b]{display:inline-flex;align-items:center;padding:clamp(12px,1.5vh,16px) clamp(24px,3vw,36px);border:1px solid rgba(255,255,255,.2);color:var(--text);font-size:clamp(13px,1.45vh,16px);font-weight:500;letter-spacing:.08em;border-radius:999px;transition:border-color .2s,background .2s}.btn-outline[data-v-55b0ff0b]:hover{border-color:#fff6;background:#ffffff0a}@media (max-width: 991px){.home[data-v-55b0ff0b]{height:auto;min-height:auto;overflow:visible}.hero[data-v-55b0ff0b]{height:auto;min-height:52dvh;overflow:hidden;padding:24px 0}.description[data-v-55b0ff0b]{-webkit-line-clamp:unset;display:block}.hero-overlay[data-v-55b0ff0b]{background:linear-gradient(to bottom,#08080de0,#08080da6)}.hero-content[data-v-55b0ff0b]{max-width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;margin:0 auto}.actions[data-v-55b0ff0b]{justify-content:center}.dot-grid[data-v-55b0ff0b]{display:none}}@media (max-width: 640px){.description[data-v-55b0ff0b]{-webkit-line-clamp:2}.actions[data-v-55b0ff0b]{flex-direction:column;width:100%;max-width:280px}.btn-primary[data-v-55b0ff0b],.btn-outline[data-v-55b0ff0b]{width:100%;justify-content:center}}.page[data-v-e34946b2]{padding:56px 48px;max-width:720px}h1[data-v-e34946b2]{font-size:36px;font-weight:700;margin-bottom:8px}.subtitle[data-v-e34946b2]{color:var(--text-muted);font-size:15px;margin-bottom:32px}.content p[data-v-e34946b2]{color:var(--text-muted);line-height:1.8;font-size:15px}.back[data-v-e34946b2]{display:inline-block;margin-top:32px;color:var(--accent);font-size:14px}@media (max-width: 991px){.page[data-v-e34946b2]{padding:32px 24px}h1[data-v-e34946b2]{font-size:30px}}@media (max-width: 640px){.page[data-v-e34946b2]{padding:24px 16px}h1[data-v-e34946b2]{font-size:26px}}.page[data-v-533934d7]{padding:56px 48px;max-width:900px}h1[data-v-533934d7]{font-size:36px;font-weight:700;margin-bottom:8px}.subtitle[data-v-533934d7]{color:var(--text-muted);font-size:15px;margin-bottom:32px}.projects[data-v-533934d7]{display:flex;flex-direction:column;gap:16px}.project-card[data-v-533934d7]{display:flex;gap:20px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;transition:border-color .2s}.project-card[data-v-533934d7]:hover{border-color:#ffffff1f}.project-thumb[data-v-533934d7]{width:120px;height:80px;border-radius:10px;flex-shrink:0}.project-body h3[data-v-533934d7]{font-size:16px;font-weight:600;margin-bottom:6px}.project-body p[data-v-533934d7]{font-size:13px;color:var(--text-muted);margin-bottom:10px}.tags[data-v-533934d7]{display:flex;gap:6px}.tag[data-v-533934d7]{font-size:11px;color:var(--text-dim);background:#ffffff0f;padding:3px 8px;border-radius:4px}.back[data-v-533934d7]{display:inline-block;margin-top:32px;color:var(--accent);font-size:14px}@media (max-width: 991px){.page[data-v-533934d7]{padding:32px 24px}h1[data-v-533934d7]{font-size:30px}}@media (max-width: 640px){.page[data-v-533934d7]{padding:24px 16px}h1[data-v-533934d7]{font-size:26px}.project-card[data-v-533934d7]{flex-direction:column}.project-thumb[data-v-533934d7]{width:100%;height:140px}}.page[data-v-6c692efd]{padding:56px 48px;max-width:720px}h1[data-v-6c692efd]{font-size:36px;font-weight:700;margin-bottom:8px}.subtitle[data-v-6c692efd]{color:var(--text-muted);font-size:15px;margin-bottom:32px}.empty[data-v-6c692efd]{padding:48px;text-align:center;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-muted)}.back[data-v-6c692efd]{display:inline-block;margin-top:32px;color:var(--accent);font-size:14px}@media (max-width: 991px){.page[data-v-6c692efd]{padding:32px 24px}h1[data-v-6c692efd]{font-size:30px}}@media (max-width: 640px){.page[data-v-6c692efd]{padding:24px 16px}h1[data-v-6c692efd]{font-size:26px}.empty[data-v-6c692efd]{padding:32px 20px}}.page[data-v-f0850d57]{padding:56px 48px;max-width:720px}h1[data-v-f0850d57]{font-size:36px;font-weight:700;margin-bottom:8px}.subtitle[data-v-f0850d57]{color:var(--text-muted);font-size:15px;margin-bottom:32px}.contact-card[data-v-f0850d57]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;display:flex;flex-direction:column;gap:20px}.contact-item[data-v-f0850d57]{display:flex;flex-direction:column;gap:4px}.label[data-v-f0850d57]{font-size:12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.contact-item a[data-v-f0850d57]{font-size:15px;color:var(--accent)}.back[data-v-f0850d57]{display:inline-block;margin-top:32px;color:var(--accent);font-size:14px}@media (max-width: 991px){.page[data-v-f0850d57]{padding:32px 24px}h1[data-v-f0850d57]{font-size:30px}}@media (max-width: 640px){.page[data-v-f0850d57]{padding:24px 16px}h1[data-v-f0850d57]{font-size:26px}.contact-card[data-v-f0850d57]{padding:20px}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #08080d;--bg-sidebar: #0c0c12;--bg-card: rgba(255, 255, 255, .03);--bg-card-hover: rgba(255, 255, 255, .05);--border: rgba(255, 255, 255, .07);--text: #ffffff;--text-muted: #8b8b9e;--text-dim: #6b6b7b;--accent: #3b82f6;--gradient: linear-gradient(135deg, #a855f7 0%, #6366f1 45%, #3b82f6 100%);--gradient-btn: linear-gradient(135deg, #9333ea 0%, #6366f1 50%, #2563eb 100%);--sidebar-width: 210px;--header-height: 56px;--nav-font-size: clamp(15px, 1.75vh, 17px);--nav-icon-size: clamp(20px, 2.2vh, 22px);--social-icon-size: clamp(16px, 1.8vh, 18px);--social-circle-size: clamp(38px, 4.2vh, 44px);--social-plain-size: clamp(28px, 3.1vh, 34px);--sidebar-logo-size: clamp(24px, 2.8vh, 28px);--radius: 12px;--radius-lg: 16px;--home-top-ratio: 58fr;--home-bottom-ratio: 42fr}html{scroll-behavior:smooth;height:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100%;width:100%}#app{width:100%;min-height:100dvh}body.no-scroll{overflow:hidden}html.home-fixed,html.home-fixed body{height:100%;overflow:hidden}html.home-fixed #app{height:100dvh;overflow:hidden}html.home-fixed .sidebar{overflow:hidden;padding:clamp(32px,5vh,56px) 12px clamp(28px,4vh,44px)}html.home-fixed .sidebar-logo{margin-bottom:4vh;font-size:var(--sidebar-logo-size)}html.home-fixed .nav-item{padding:.6vh 14px;font-size:var(--nav-font-size);gap:12px}html.home-fixed .nav{gap:clamp(10px,1.8vh,18px)}html.home-fixed .nav-icon :deep(svg){width:var(--nav-icon-size);height:var(--nav-icon-size)}html.home-fixed .social{padding-top:2.5vh;margin-bottom:1.5vh;justify-content:space-evenly}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}img{display:block;max-width:100%}.gradient-text{background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
