.header{width:100%;position:fixed;top:0;left:0;background-color:var(--body-bg-color);z-index:100;box-shadow:0 2px 10px #0000000d}.nav{height:var(--header-height);display:flex;justify-content:space-between;align-items:center}.nav__logo{color:var(--title-color);font-weight:700;font-size:1.5rem}.nav__list{display:flex;gap:2.5rem}.nav__link{color:var(--text-color);font-weight:600;position:relative;padding-bottom:.5rem}.nav__link:hover{color:var(--primary-color)}.nav__link:hover:after,.nav__link.active-link:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background-color:var(--primary-color)}.nav__toggle{font-size:1.5rem;cursor:pointer;display:none}@media screen and (max-width:992px){.nav__toggle{display:block}.nav__menu{position:fixed;top:var(--header-height);right:-100%;width:60%;height:100vh;background-color:var(--body-bg-color);box-shadow:-2px 0 10px #0000001a;padding:2rem;transition:var(--transition)}.show-menu{right:0}.nav__list{flex-direction:column;gap:2rem}}.hero__container{grid-template-columns:repeat(2,1fr);align-items:center;gap:3rem}.hero__content h1{font-size:var(--h1-font-size);line-height:1.2;margin-bottom:1rem}.hero__subtitle{font-size:var(--h3-font-size);color:var(--text-color-light);margin-bottom:1.5rem}.hero__description{margin-bottom:2.5rem}.hero__buttons{display:flex;gap:1rem}.hero__image{display:flex;justify-content:center;align-items:center}.hero__image img{width:320px;height:320px;object-fit:cover;border-radius:50%;border:5px solid var(--container-bg-color);box-shadow:var(--box-shadow)}@media screen and (max-width:992px){.hero__container{grid-template-columns:1fr;text-align:center}.hero__image{order:-1;margin-bottom:2rem}.hero__buttons{justify-content:center}}@media screen and (max-width:576px){.hero__content h1{font-size:calc(var(--h1-font-size) * .8)}}.hero.section{padding-top:3rem}#hero.section{padding-top:6rem;padding-bottom:4rem}.hero__content h1{font-size:4rem;font-weight:700;letter-spacing:.02em}.hero__subtitle{font-size:1.6rem;font-weight:500}.hero__container{align-items:center}.hero__buttons .button{border-radius:999px;padding:1rem 2.8rem;font-weight:600;position:relative;overflow:hidden;box-shadow:0 16px 35px #0000008c,0 0 0 1px #56aeff80}.hero__buttons .button.button--ghost{background:#00000059;border-color:#56aeffcc;color:#dbeafe;box-shadow:0 12px 28px #0000008c,0 0 0 1px #56aeffcc}.hero__buttons .button:after{content:"";position:absolute;inset:-40%;background:radial-gradient(circle at 20% 0%,rgba(255,255,255,.42),rgba(86,174,255,.5),transparent 70%);opacity:0;transform:scale(.8);transition:opacity .28s ease,transform .35s ease;pointer-events:none}.hero__buttons .button:hover{transform:translateY(-3px);box-shadow:0 20px 40px #000000a6,0 0 12px #56aeffcc}.hero__buttons .button:active{transform:translateY(-1px) scale(.98);box-shadow:0 10px 20px #0009,0 0 6px #56aeff99}.hero__buttons .button{border-radius:16px;padding:1rem 2.4rem;font-weight:600;position:relative;overflow:hidden;box-shadow:0 10px 25px #00000073,0 0 0 1px #56aeff73}.hero__buttons .button.button--ghost{background:#00000059;border-color:#56aeff8c;color:#dbeafe;box-shadow:0 10px 25px #00000073,0 0 0 1px #56aeff8c}.hero__buttons .button:after{content:"";position:absolute;inset:-35%;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.25),rgba(86,174,255,.35),transparent 70%);opacity:0;transform:scale(.9);transition:opacity .28s ease,transform .35s ease;pointer-events:none}.hero__buttons .button:hover{transform:translateY(-3px);box-shadow:0 14px 32px #0009,0 0 8px #56aeffa6}.hero__buttons .button:hover:after{opacity:1;transform:scale(1)}.hero__buttons .button:active{transform:translateY(-1px) scale(.98);box-shadow:0 8px 18px #00000080,0 0 4px #56aeff73}.hero__buttons .button{white-space:nowrap;min-width:180px}.about__highlight{font-weight:700;color:var(--primary-color-alt)}.about__container{grid-template-columns:repeat(2,1fr);gap:3rem;align-items:flex-start}.about__text p{margin-bottom:1.5rem}.about__tags{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.about__tags li{background-color:var(--container-bg-color);color:var(--primary-color);padding:.28rem .9rem;border-radius:999px;font-size:var(--small-font-size);font-weight:600;border:1px solid var(--primary-color);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:default;transition:background-color .18s ease,color .18s ease,box-shadow .25s ease,transform .15s ease,border-color .18s ease}.about__tags li:hover{background:#3884ff2e;color:#e2e8f0f2;border-color:#3884ff80;box-shadow:0 4px 14px #3884ff40;transform:translateY(-1px)}.timeline{position:relative;border-left:2px solid var(--border-color);padding:0 0 1rem 2rem}.timeline__item{position:relative;padding-bottom:2rem}.timeline__item:last-child{padding-bottom:0}.timeline__item:before{content:"";position:absolute;left:-2.7rem;top:0;width:18px;height:18px;border-radius:50%;background-color:var(--container-bg-color);border:3px solid var(--primary-color)}.timeline__date{color:var(--text-color-light);font-size:var(--small-font-size);margin-bottom:.25rem}.timeline__content h3{font-size:1.1rem;margin-bottom:.5rem}@media screen and (max-width:992px){.about__container{grid-template-columns:1fr}}.about__left,.about__right{display:flex;flex-direction:column;gap:2rem}.musings{margin-top:1rem}.musings__title{font-size:1.25rem;margin-bottom:1rem}.musings blockquote{border-left:4px solid var(--primary-color);padding-left:1.5rem;font-style:italic;color:var(--text-color-light)}.guestbook-idea{background-color:transparent;border:1px solid var(--border-color);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:1.5rem;border-radius:var(--border-radius);margin-top:1rem;box-shadow:var(--box-shadow)}.guestbook-idea h3{font-size:1.25rem;margin-bottom:.5rem;color:var(--title-color)}.guestbook-idea p{margin-bottom:1rem;color:var(--text-color)}.timeline__school{color:var(--primary-color-alt);font-weight:650}.timeline__school:hover{color:var(--primary-color)}.projects__filters{display:flex;justify-content:center;gap:1rem;margin-bottom:3rem}.filter-button{padding:8px 20px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--text-color);font-weight:600;font-size:var(--normal-font-size);cursor:pointer;transition:var(--transition)}.filter-button:hover{background:#ffffff14;border-color:#ffffff26;color:var(--primary-color)}.filter-button.active{background-color:var(--primary-color);color:#fff;border-radius:8px}.projects__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:2rem;justify-content:center;align-items:stretch;margin-top:2rem}.projects__empty{grid-column:1 / -1;padding:2.2rem 2rem;border-radius:20px;text-align:center;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);box-shadow:0 10px 25px #00000040}.projects__empty-title{font-size:1.25rem;margin-bottom:.6rem}.projects__empty-text{color:#bbb;line-height:1.7}.project-card{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:20px;overflow:hidden;text-align:center;height:420px;display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease}.project-card:hover{transform:translateY(-6px);box-shadow:0 10px 25px #0000004d}.project-card img,.project-card__img{width:100%;height:200px;object-fit:cover;display:block;border-bottom:1px solid rgba(255,255,255,.08)}.project-card__content{flex:1;padding:1.2rem 1.4rem;display:flex;flex-direction:column;justify-content:space-between}.project-card__title{font-size:1.1rem;margin-bottom:.5rem}.project-card__description{font-size:.95rem;color:#bbb;line-height:1.5;margin-bottom:1rem}.project-card__link{display:inline-block;font-weight:500;color:#7cc0ff;text-decoration:none;transition:color .2s}.project-card__link:hover{color:#fff}.project-card{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:18px;overflow:hidden;text-align:center;transition:transform .35s ease,box-shadow .35s ease,border .35s ease;position:relative}.project-card img,.project-card__img{width:100%;height:220px;object-fit:cover;display:block}.project-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 12px 35px #008cff2e;border-color:#008cff73}.project-card:hover img{transform:scale(1.05)}.project-card img{transition:transform .4s ease}.project-card:before{content:"";position:absolute;inset:-2px;border-radius:inherit;background:radial-gradient(circle at 50% 0%,rgba(0,140,255,.25),transparent 70%);opacity:0;transition:opacity .4s ease;pointer-events:none}.project-card:hover:before{opacity:1}.project-card__content{padding:1.4rem;transition:transform .35s ease}.project-card:hover .project-card__content{transform:translateY(-4px)}.project-card__link{color:#7cc0ff;transition:color .25s ease}.project-card__link:hover{color:#c8e6ff}.project-card__actions{display:flex;align-items:center;justify-content:center;gap:.85rem;flex-wrap:wrap}.project-card__github{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:.35rem .8rem;border-radius:8px;border:1px solid rgba(124,192,255,.38);color:#d7ecff;font-size:.85rem;font-weight:700;background:#56aeff1a}.project-card__github:hover{color:#fff;border-color:#7cc0ffad;background:#56aeff2e}@media(max-width:520px){.projects__grid{grid-template-columns:1fr}.project-card{height:auto;min-height:440px}}.socials__container{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.social-card{background-color:var(--container-bg-color);padding:2rem;border-radius:var(--border-radius);text-align:center;box-shadow:var(--box-shadow);transition:var(--transition)}.social-card:hover{transform:translateY(-5px);border:2px solid var(--primary-color)}.social-card__icon{font-size:3rem;margin-bottom:1rem}.bilibili-learning{color:#00a1d6}.bilibili-star{color:#fb7299}.weibo{color:#e6162d}.social-card__title{font-size:1.25rem;color:var(--title-color);margin-bottom:.5rem}.social-card__description{font-size:var(--small-font-size);color:var(--text-color-light)}.skills__container{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;max-width:800px;margin-inline:auto}.skill-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem;background-color:var(--container-bg-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow);width:120px;transition:var(--transition)}.skill-item:hover{transform:translateY(-5px);color:var(--primary-color)}.skill-item i{font-size:3rem}.skill-item span{font-weight:600}.skills__container{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1.8rem;justify-items:center;margin-top:2.5rem}.skill-item{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:1.8rem 1.4rem;text-align:center;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:.35s ease;width:130px}.skill-item i{font-size:2rem;color:#9ac7ff;margin-bottom:.8rem;transition:.3s ease}.skill-item span{font-size:.95rem;color:#dbe9ff;letter-spacing:.5px}.skill-item:hover{transform:translateY(-6px);border-color:#78b4ff80;box-shadow:0 0 18px #78b4ff40}.skill-item:hover i{color:#b9d8ff}.contact__container{max-width:700px;text-align:center}.contact__container p{margin-bottom:2rem}.contact__buttons{display:flex;justify-content:center;flex-wrap:wrap;gap:2rem;margin-top:2.5rem}.button.contact-btn{border-radius:24px;overflow:hidden;display:inline-flex;align-items:center;gap:.6rem;font-weight:600;font-size:1.1rem;padding:1.1rem 2.6rem;transition:.3s ease}.button.contact-btn{border-radius:20px;padding:1.1rem 2.8rem;display:inline-flex;align-items:center;gap:.6rem;background:transparent;border:2px solid rgba(124,176,255,.9);color:#fff;font-weight:600;font-size:1.1rem;transition:.25s ease}.button.contact-btn i{font-size:1.2rem}.button.contact-btn:hover{background:#7cb0ff26;box-shadow:0 10px 24px #6ea0ff59;transform:translateY(-6px)}.footer{background-color:#f5f5f5;padding:2rem 0;margin-top:5rem}.footer__container{text-align:center;font-size:var(--small-font-size);color:var(--text-color-light)}.footer__container a{color:var(--text-color-light);text-decoration:underline}.footer__container a:hover{color:var(--primary-color)}.internships{position:relative}.internships__timeline{position:relative;max-width:960px;margin:0 auto}.internships__line{position:absolute;left:24px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,#56aeff00,#56aeffcc,#56aeff00);opacity:.8;pointer-events:none}.internship-card{position:relative;padding-left:64px;margin-bottom:2.4rem}.internship-card__dot{position:absolute;left:16px;top:1.3rem;width:16px;height:16px;border-radius:999px;background:radial-gradient(circle,#fff,#56aeff 40%,#56aeff00 70%);box-shadow:0 0 12px #56aeffe6,0 0 0 1px #56aeffcc}.internship-card__inner{position:relative;padding:1.6rem 1.8rem;border-radius:20px;background:#0c1220e0;border:1px solid rgba(148,163,184,.55);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 20px 40px #000000b3,0 0 0 1px #0f172ae6;overflow:hidden;transition:transform .25s ease,box-shadow .3s ease,border-color .3s ease}.internship-card__inner:before{content:"";position:absolute;inset:-40%;background:radial-gradient(circle at top left,rgba(129,140,248,.36),transparent 55%),radial-gradient(circle at bottom right,rgba(56,189,248,.28),transparent 60%);opacity:.35;mix-blend-mode:screen;pointer-events:none}.internship-card__inner:hover{transform:translateY(-4px);border-color:#bfdbfee6;box-shadow:0 24px 52px #0f172af2,0 0 12px #56aeffbf,0 0 0 1px #818cf8e6}.internship-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.6rem;gap:.75rem}.internship-card__date{font-size:.9rem;letter-spacing:.04em;color:#94a3b8f2}.internship-card__badge{font-size:.92rem;font-weight:600;padding:.28rem 1rem;border-radius:12px;border:1px solid rgba(86,174,255,.9);background:linear-gradient(135deg,#56aeff59,#2850a059),#0f172af2;color:#e8f2ff;letter-spacing:.02em;white-space:nowrap;box-shadow:0 0 8px #56aeff73,0 0 0 1px #56aeffa6;transition:.25s ease-out}.internship-card__badge:hover{border-color:#bfdbfe;color:#fff;box-shadow:0 0 12px #56aeffbf,0 0 0 1px #818cf8;transform:translateY(-1px)}.internship-card__title{font-size:2.2rem;font-weight:700;color:#fff;letter-spacing:.5px;margin-bottom:.9rem}.internship-card__summary{font-size:.9rem;line-height:1.7;color:#e2e8f0f5}.internship-card__tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.9rem;padding:0;list-style:none}.internship-card__tag{font-size:.78rem;padding:.18rem .7rem;border-radius:999px;background:#0f172af2;border:1px solid rgba(148,163,184,.7);color:#e2e8f0e6}.internship-card__tag:hover{border-color:#bfdbfef2;color:#f9fafb}.internship-card__details{margin-top:1.2rem}.internship-card__summary-toggle{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border-radius:14px;background:#0f172ab3;border:1px solid rgba(148,163,184,.35);color:#e5f1ff;font-size:.92rem;font-weight:600;transition:.25s ease}.internship-card__summary-toggle::-webkit-details-marker{display:none}.internship-card__summary-toggle:after{content:"▾";font-size:.8rem;color:#7cc0ff;transition:transform .25s ease}.internship-card__details[open] .internship-card__summary-toggle:after{transform:rotate(180deg)}.internship-card__summary-toggle:hover{border-color:#56aeff99;box-shadow:0 0 12px #56aeff29}.internship-card__summary-meta{color:#94a3b8eb;font-size:.82rem;font-weight:500}.internship-card__projects{display:flex;flex-direction:column;gap:1.75rem;margin-top:1rem}.internship-project{background:var(--container-bg-color);border-radius:.9rem;border:1px solid var(--border-color);box-shadow:var(--box-shadow);padding:1.25rem 1.4rem;transition:.25s ease}.internship-project:hover{transform:translateY(-4px);box-shadow:0 4px 16px #0000001f}.internship-project__title{font-size:1.35rem;font-weight:700;margin-bottom:.4rem;color:#a8cfff}.internship-project__summary{font-size:.9rem;color:var(--text-color-light);line-height:1.6;margin-bottom:.6rem}.internship-steps{margin:0;padding-left:1.6rem;list-style:decimal}.internship-step{margin-bottom:.9rem}.internship-steps li::marker{color:#7cc0ff;font-weight:600;font-size:1.05rem}.internship-step__title{font-weight:600;font-size:.95rem;line-height:1.6;color:#e5f1ff}.internship-step__desc{margin-top:.2rem;font-size:.9rem;line-height:1.7;color:var(--text-color-light)}.internship-section{margin-top:.6rem;margin-bottom:1.1rem}.internship-section__label{display:inline-flex;align-items:center;padding:.15rem .6rem;border-radius:999px;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;background:#7cc0ff1a;color:#7cc0ff;margin-bottom:.35rem}.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease-out,transform .6s ease-out}.reveal.is-visible{opacity:1;transform:translateY(0)}@media screen and (max-width:768px){.internships__line{left:18px}.internship-card{padding-left:56px}.internship-card__inner{padding:1.4rem}.internship-card__header{flex-direction:column;align-items:flex-start}.internship-card__title{font-size:1.8rem}.internship-project__title{font-size:1.2rem}.internship-card__summary-toggle{align-items:flex-start;flex-direction:column}}.project-detail__container{max-width:960px;margin:0 auto}.project-detail__back{display:inline-flex;align-items:center;font-size:.9rem;color:var(--text-color-light);text-decoration:none;margin-bottom:1.2rem;opacity:.85;transition:color .2s ease,opacity .2s ease,transform .2s ease}.project-detail__back:hover{color:var(--primary-color);opacity:1;transform:translate(-2px)}.project-detail__header{margin-bottom:1.8rem}.project-detail__title{font-size:1.8rem;font-weight:700;margin-bottom:.5rem}.project-detail__subtitle{font-size:.95rem;color:var(--text-color-light);line-height:1.7}.project-detail__github{display:inline-flex;max-width:100%;margin-top:.9rem;padding:.7rem .95rem;border-radius:10px;border:1px solid rgba(86,174,255,.34);background:#56aeff1a;color:#d7ecff;font-size:.9rem;font-weight:700;line-height:1.5;overflow-wrap:anywhere}.project-detail__github:hover{color:#fff;border-color:#56aeffa6;background:#56aeff2e}.project-detail__meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin-bottom:1.4rem}.project-detail__meta-item,.project-detail__panel{border:1px solid rgba(255,255,255,.08);background:#0d141fb8;box-shadow:0 10px 28px #00000038}.project-detail__meta-item{border-radius:10px;padding:.95rem 1rem}.project-detail__meta-item span{display:block;margin-bottom:.35rem;color:#e2e8f09e;font-size:.78rem}.project-detail__meta-item strong{color:var(--title-color);font-size:.95rem;line-height:1.55}.project-detail__panel{border-radius:14px;padding:1.35rem;margin-bottom:1.2rem}.project-detail__panel--lead{border-color:#56aeff38;background:linear-gradient(135deg,#142437e0,#0d141fbd)}.project-detail__panel--lead p{color:#f1f5f9e6;font-size:1rem;line-height:1.85}.project-detail__panel h2{margin-bottom:.9rem;font-size:1.2rem}.project-detail__section-desc{margin-bottom:.9rem;color:#e2e8f0d1;line-height:1.75}.project-detail__content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.project-detail__list{display:grid;gap:.72rem;list-style:disc;padding-left:1.2rem}.project-detail__list li{color:#e2e8f0cc;line-height:1.75}.project-detail__groups{display:grid;gap:1rem}.project-detail__group{padding-top:.2rem}.project-detail__group+.project-detail__group{padding-top:1rem;border-top:1px solid rgba(255,255,255,.08)}.project-detail__group h3{margin-bottom:.6rem;color:#d7ecff;font-size:1rem}.project-detail__tags{display:flex;flex-wrap:wrap;gap:.7rem}.project-detail__tags li{padding:.45rem .8rem;border-radius:999px;border:1px solid rgba(124,192,255,.34);background:#56aeff17;color:#e2e8f0e6;font-size:.88rem;font-weight:700}.project-detail__panel--prd{border-color:#56aeff4d}.project-detail__prd-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.project-detail__prd-header h2{margin-bottom:0}.project-detail__prd-header a{flex-shrink:0;color:#d7ecff;font-size:.9rem;font-weight:700}.project-detail__markdown{display:grid;gap:1rem;max-height:820px;overflow:auto;padding:1.05rem;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#020617b8}.project-detail__markdown h2,.project-detail__markdown h3,.project-detail__markdown h4,.project-detail__markdown h5{margin:.4rem 0 .1rem;color:#f8fafc;line-height:1.35}.project-detail__markdown h2{font-size:1.35rem}.project-detail__markdown h3{font-size:1.15rem}.project-detail__markdown h4,.project-detail__markdown h5{font-size:1rem}.project-detail__markdown p,.project-detail__markdown li{color:#e2e8f0db;line-height:1.8}.project-detail__markdown ul,.project-detail__markdown ol{display:grid;gap:.45rem;padding-left:1.35rem}.project-detail__markdown ul{list-style:disc}.project-detail__markdown ol{list-style:decimal}.project-detail__markdown code{padding:.1rem .35rem;border-radius:5px;background:#56aeff21;color:#d7ecff;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.9em}.project-detail__markdown-code{overflow:auto;margin:0;padding:.9rem;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:#0f172af2;color:#e2e8f0e6;font-size:.84rem;line-height:1.65}.project-detail__markdown-code code{padding:0;background:transparent;color:inherit}.project-detail__markdown-table-wrap{overflow-x:auto}.project-detail__markdown table{width:100%;min-width:560px;border-collapse:collapse;overflow:hidden;border-radius:8px}.project-detail__markdown th,.project-detail__markdown td{padding:.75rem;border:1px solid rgba(255,255,255,.1);color:#e2e8f0db;text-align:left;vertical-align:top;line-height:1.6}.project-detail__markdown th{background:#56aeff29;color:#f8fafc;font-weight:800}.project-detail__images{display:flex;flex-direction:column;gap:1.5rem}.project-detail__figure{margin:0;border-radius:16px;overflow:hidden;background:#ffffff05;border:1px solid rgba(255,255,255,.06);box-shadow:0 10px 30px #00000047;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.project-detail__figure img{display:block;width:100%;height:auto}.project-detail__figure:hover{transform:translateY(-4px);box-shadow:0 16px 40px #008cff38;border-color:#008cff80}.project-detail__footer{margin-top:2.5rem;text-align:center}.project-detail__back--bottom{justify-content:center}@media(max-width:760px){.project-detail__meta,.project-detail__content-grid{grid-template-columns:1fr}}.education{margin-top:3rem;--edu-accent: #8ab4ff}.education__container{display:flex;align-items:flex-start;justify-content:center;gap:3rem;flex-wrap:wrap}.education-card{flex:0 1 440px;max-width:460px;padding:2rem 2.1rem;border-radius:28px;position:relative;overflow:hidden;background:#10121a38;backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px);border:1px solid rgba(255,255,255,.12);box-shadow:0 26px 52px #00000073,0 0 0 1px #ffffff0f;transition:transform .35s ease,box-shadow .35s ease}.education-card:hover{transform:scale(1.015)}.education-card:after{content:"";position:absolute;inset:-50px;border-radius:32px;background:radial-gradient(circle at center,#fff3,#38bdf852 40%,#38bdf81f,#38bdf808,#0000);filter:blur(48px);opacity:0;pointer-events:none;transition:opacity .35s ease,transform .85s ease}.education-card:hover:after{opacity:1;transform:scale(1.06);animation:eduFogFloat 5.5s ease-in-out infinite}@keyframes eduFogFloat{0%{transform:translate(0) scale(1)}50%{transform:translate(6px,-4px) scale(1.04)}to{transform:translate(0) scale(1)}}.education-card__header{display:flex;align-items:center;gap:1.1rem;margin-bottom:1.1rem}.education-card__icon{width:2.9rem;height:2.9rem;border-radius:1rem;background:#0f172ad9;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 18px #0009,0 0 0 1px #f8fafc2e;overflow:hidden}.education-card__logo{width:80%;height:80%;object-fit:contain;filter:saturate(1.05) contrast(1.05)}.education-card__school{font-size:1.05rem;font-weight:650;color:#f9fafb}.education-card__major{font-size:.9rem;color:#f9fafbd1}.education-card__time{font-size:.8rem;color:#f9fafba6}.education-card__section{margin-top:.85rem;padding-top:.85rem;border-top:1px solid rgba(255,255,255,.08)}.education-card__section-title{font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;color:#f9fafba6;margin-bottom:.45rem}.education-card__tags{display:flex;flex-wrap:wrap;gap:.45rem}.education-card__tag{font-size:.75rem;padding:.2rem .7rem;border-radius:999px;background:#0f172ae6;border:1px solid rgba(148,163,184,.7);color:#e2e8f0eb;transition:.16s ease-out}.education-card__section--tags .education-card__tag:nth-child(1){border-color:#818cf8e6}.education-card__section--tags .education-card__tag:nth-child(2){border-color:#38bdf8e6}.education-card__section--tags .education-card__tag:nth-child(3){border-color:#2dd4bfe6}.education-card__section--tags .education-card__tag:nth-child(4){border-color:#f4a560e6}.education-card__tag:hover{background:#1e40afe6;border-color:#bfdbfe;color:#f9fafb;transform:translateY(-1px)}.education-card__list{padding:0;margin:0;list-style:none}.education-card__list-item{font-size:.82rem;line-height:1.6;color:#f9fafbdb;margin-bottom:.45rem}.education-card__list--compact .education-card__list-item{line-height:1.5;margin-bottom:.3rem}.education-card__project-name{font-weight:560;color:#f9fafb}.education-card__project-tags{font-size:.76rem;margin-top:.1rem;color:#e2e8f0c7}.education-card__emphasis{font-weight:560;color:var(--edu-accent)}.education-card__meta-text{font-size:.76rem;color:#94a3b8f5}.education-card__awards-summary{list-style:none;cursor:pointer;font-size:.86rem;font-weight:600;color:#f9fafbf2;padding:.3rem .9rem;border-radius:999px;background:#0f172af2;border:1px solid rgba(148,163,184,.7);display:inline-flex;align-items:center;gap:.4rem;transition:.16s ease-out}.education-card__awards-summary::-webkit-details-marker{display:none}.education-card__awards-summary:before{content:"▾";font-size:.7rem;transform-origin:center;transition:.18s ease-out}.education-card__awards[open] .education-card__awards-summary:before{transform:rotate(180deg)}.education-card__awards-summary:hover{background:#1e40aff2;border-color:#818cf8f2;color:#f9fafb;transform:translateY(-1px)}.education-card__awards-group{margin-top:.7rem}.education-card__awards-title{font-size:.8rem;font-weight:600;color:var(--edu-accent);margin-bottom:.3rem}.education-connector{align-self:stretch;display:flex;align-items:center;justify-content:center;min-width:90px;max-width:120px}.education-connector__line{position:relative;width:100%;height:4px;border-radius:999px;background:linear-gradient(90deg,#fff0,#ffffff40,#96b4ff4d,#fff0);overflow:hidden;filter:blur(.2px)}.education-connector__particle{position:absolute;top:50%;width:12px;height:12px;border-radius:999px;transform:translate(-50%,-50%);background:radial-gradient(circle,#fffffff2,#b4c8ffb3 40%,#96b4ff40,#96b4ff00);filter:blur(.5px);opacity:.9;animation:edu-particle-move 7s linear infinite,edu-particle-breathe 3s ease-in-out infinite}.education-connector__particle:nth-child(1){animation-duration:7s,3s}.education-connector__particle:nth-child(2){animation-duration:8s,3.4s;animation-delay:-1.2s}.education-connector__particle:nth-child(3){animation-duration:9s,2.8s;animation-delay:-2.4s}.education-connector__particle:nth-child(4){animation-duration:7.5s,3.2s;animation-delay:-3.6s}.education-connector__particle:nth-child(5){animation-duration:8.5s,2.9s;animation-delay:-.8s}.education-connector__particle:nth-child(6){animation-duration:9.5s,3.6s;animation-delay:-2s}.education-connector__particle:nth-child(7){animation-duration:10s,3.1s;animation-delay:-4s}.education-connector__particle:nth-child(8){animation-duration:8s,2.7s;animation-delay:-5s}@keyframes edu-particle-move{0%{left:0%}to{left:100%}}@keyframes edu-particle-breathe{0%,to{opacity:.45;transform:translate(-50%,-50%) scale(.8)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}}@media screen and (max-width:768px){.education__container{flex-direction:column;align-items:stretch;gap:1.8rem}.education-card{max-width:100%}.education-connector{display:none}}.notes-mini-list{max-width:1200px;margin:1.4rem auto 1.8rem;border-radius:22px;overflow:hidden;background:#0f172a66;border:1px solid rgba(148,163,184,.35);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.notes-mini-item{position:relative;display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.2rem;border-bottom:1px solid rgba(148,163,184,.22);text-decoration:none;transition:background .2s ease,padding-left .25s ease}.notes-mini-item:last-child{border-bottom:none}.notes-mini-title{font-size:.95rem;font-weight:500;color:#e2e8f0f2}.notes-mini-status{font-size:.78rem;padding:.25rem .7rem;border-radius:999px;border:1px solid rgba(148,163,184,.35);color:#e2e8f0cc}.status-active{border-color:#22c55eb3;background:#22c55e2e;color:#86efac}.status-draft{border-color:#fb923cb3;background:#fdba7433;color:#fb923c}.status-planning{border-color:#94a3b873;background:#94a3b82e;color:#cbd5e1}.notes-mini-item:hover{background:#94a3b81a;padding-left:1.45rem}.notes-mini-item:after{content:"";position:absolute;inset:-40px;border-radius:30px;background:radial-gradient(circle at center,#fff3,#38bdf847 40%,#38bdf80f,#0000);filter:blur(38px);opacity:0;transition:opacity .35s ease,transform .75s ease;pointer-events:none}.notes-mini-item:hover:after{opacity:1;transform:scale(1.05);animation:fogFloat 4s ease-in-out infinite}@keyframes fogFloat{0%{transform:scale(1) translate(0)}50%{transform:scale(1.04) translate(6px,-4px)}to{transform:scale(1) translate(0)}}.notes__container{display:flex;flex-direction:column;gap:1.4rem;margin-top:1.6rem}.note-card{position:relative;width:1000px;margin:0 auto;padding:1.8rem 2.2rem;border-radius:28px;background:#0d1323eb;border:1px solid rgba(148,163,184,.45);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 20px 40px #0f172aa6,0 0 0 1px #0f172ae6;display:flex;flex-direction:column}.note-card:hover{transform:translateY(-2px);border-color:#a8beffb3;box-shadow:0 24px 46px #5a78ff73,0 0 12px #5a78ff52,0 0 0 1px #5a78ffb3}.note-card__overlay-link{position:absolute;inset:0;z-index:3}.note-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.9rem;gap:1.2rem}.note-card__title{font-size:1.25rem;font-weight:700;color:#f9fafb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.note-card__status{padding:.28rem .9rem;font-size:.82rem;border-radius:999px;border:1px solid rgba(34,197,94,.7);background:#22c55e2e;color:#86efac}.status--done{border-color:#22c55eb3;background:#22c55e2e;color:#86efac}.status--draft{border-color:#fb923cb3;background:#fdba742e;color:#fb923c}.note-card__summary{font-size:.9rem;line-height:1.75;color:#e2e8f0f2;max-width:85%;margin-bottom:1rem}.note-card__footer{padding-top:.9rem;border-top:1px solid rgba(148,163,184,.45);display:flex;justify-content:space-between;align-items:center;margin-top:auto}.note-card__meta{font-size:.82rem;color:#94a3b8f2}.note-card__tags{display:flex;flex-wrap:wrap;gap:.45rem}.note-card__tag{padding:.2rem .65rem;border-radius:999px;font-size:.78rem;background:#0f172ae6;border:1px solid rgba(148,163,184,.65);color:#e2e8f0eb}.note-detail{margin-top:3rem;margin-bottom:4rem}.note-detail__container{max-width:960px;margin:0 auto}.note-detail__back{display:inline-flex;align-items:center;gap:.25rem;font-size:.85rem;color:#bfdbfef2;margin-bottom:1rem;text-decoration:none}.note-detail__back:hover{text-decoration:underline}.note-detail__card{position:relative;padding:2rem 2.2rem;border-radius:28px;background:#0d1323f2;border:1px solid rgba(148,163,184,.55);backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px);box-shadow:0 28px 60px #0f172ad9,0 0 0 1px #0f172af2;overflow:hidden}.note-detail__card:before{content:"";position:absolute;inset:-40%;background:radial-gradient(circle at top left,rgba(129,140,248,.32),transparent 55%),radial-gradient(circle at bottom right,rgba(56,189,248,.24),transparent 60%);opacity:.55;mix-blend-mode:screen;pointer-events:none}.note-detail__card>*{position:relative;z-index:1}.note-detail__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:1.5rem}.note-detail__title{font-size:1.5rem;font-weight:650;line-height:1.4;color:#f9fafb}.note-detail__subtitle{font-size:.9rem;color:#e2e8f0e6}.note-detail__status{font-size:.8rem;padding:.25rem .8rem;border-radius:999px;background:#22c55e33;border:1px solid rgba(34,197,94,.7);color:#86efac;white-space:nowrap}.note-detail__meta{display:flex;flex-wrap:wrap;gap:1rem 2rem;padding:1rem 0;border-top:1px solid rgba(148,163,184,.45);border-bottom:1px solid rgba(148,163,184,.45);margin-bottom:1.5rem}.note-detail__tags{display:flex;flex-wrap:wrap;gap:.45rem}.note-detail__meta-label{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8f2}.note-detail__meta-value{font-size:.85rem;color:#e2e8f0f2}.note-detail__tag{font-size:.75rem;padding:.18rem .65rem;border-radius:999px;background:#0f172af2;border:1px solid rgba(129,140,248,.9);color:#e2e8f0f2}.note-detail__content{font-size:.9rem;line-height:1.8;color:#e2e8f0f2}.note-detail__content h2{font-size:1.05rem;margin:1.4rem 0 .4rem;color:#e5edff;font-weight:600}.note-detail__content p{margin-bottom:.7rem}.note-detail__content ol,.note-detail__content ul{margin:.4rem 0 .8rem 1.3rem}.note-detail__content li{margin-bottom:.35rem}.note-detail__content pre{overflow-x:auto;margin:.8rem 0 1rem;padding:1rem 1.1rem;border-radius:14px;background:#020617d1;border:1px solid rgba(148,163,184,.18);box-shadow:inset 0 0 0 1px #ffffff05}.note-detail__content code{font-family:SFMono-Regular,ui-monospace,Menlo,Monaco,Consolas,monospace;font-size:.88em}.note-detail__related{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:1.7rem;padding-top:1.4rem;border-top:1px solid rgba(148,163,184,.5)}.note-detail__related-block h3{font-size:.95rem;color:#bfdbfe;margin-bottom:.5rem}.note-detail__related-block li{font-size:.85rem;color:#cbd5e1fa;margin-bottom:.25rem}.note-detail__nav{margin-top:1.4rem;display:flex;justify-content:space-between;font-size:.85rem;color:#94a3b8fa}.note-detail__nav-link{color:#bfdbfefa}.note-detail__nav-link:hover{text-decoration:underline}@media screen and (max-width:768px){.note-card{padding:1.4rem}.note-card__footer,.note-detail__header{flex-direction:column;align-items:flex-start}.note-detail__meta{flex-direction:column;gap:.8rem}.note-detail__nav{flex-direction:column;align-items:flex-start;gap:.4rem}}.note-detail__pdf-wrapper{margin-top:1.2rem}.note-detail__pdf-frame{width:100%;height:min(100vh,960px);border:none;border-radius:18px;background:#020617;box-shadow:0 24px 48px #0f172af2,0 0 0 1px #0f172ae6}@media screen and (max-width:768px){.note-detail__pdf-frame{height:80vh;border-radius:14px}}.note-detail__pdf-wrapper{margin-top:1.6rem}.note-detail__pdf-frame{width:100%;max-width:1400px;height:min(1100px,95vh);border:none;display:block;margin:0 auto;border-radius:18px;background:#000;box-shadow:0 24px 48px #0f172ae6,0 0 0 1px #29334be6}@media screen and (max-width:768px){.note-detail__pdf-frame{height:85vh;max-width:100%;border-radius:12px}}.pdf-viewer__frame{width:100%;height:1400px;border:none;border-radius:12px;background:#000}@media screen and (max-width:768px){.pdf-viewer__frame{height:100vh;border-radius:10px}}.note-detail__hint{font-size:.86rem;color:#94a3b8e6;margin-bottom:.8rem}.pdf-viewer .container{max-width:1800px}.pdf-viewer__frame{width:100%;max-width:1600px;height:1400px;border:none;margin:0 auto;display:block;border-radius:14px;background:#000;box-shadow:0 20px 40px #00000073,0 0 0 1px #ffffff12}@media screen and (max-width:768px){.pdf-viewer .container{max-width:100%}.pdf-viewer__frame{height:90vh;max-width:100%}}.note-detail__pdf iframe{border:none;border-radius:18px;background:#020617;box-shadow:0 20px 40px #0f172ae6,0 0 0 1px #0f172ae6;width:100%}#notes .section__subtitle{max-width:720px;margin:.75rem auto 1.5rem;text-align:center}.notes__more{display:inline-flex;align-items:center;justify-content:center;margin:.5rem auto 0;padding:.85rem 1.35rem;border-radius:999px;background:#0f172ab8;border:1px solid rgba(148,163,184,.32);color:#dbeafe;transition:.25s ease}.notes__more:hover{transform:translateY(-2px);border-color:#56aeff8f;box-shadow:0 12px 28px #0f172a59}:root{--primary-color: #56aeff;--primary-color-alt: #80bfff;--highlight-color: #007bff;--title-color: #f8f9fa;--text-color: #adb5bd;--text-color-light: #6c757d;--body-bg-color: #121212;--container-bg-color: rgba(23, 29, 41, .8);--border-color: #343a40;--box-shadow: 0 5px 20px rgba(0, 0, 0, .2);--bg-overlay-color: rgba(0, 0, 0, .6);--font-primary: "Noto Sans SC", "Poppins", sans-serif;--header-height: 4.5rem;--section-padding: 5rem 0;--normal-font-size: 1rem;--small-font-size: .875rem;--h1-font-size: 3.25rem;--h2-font-size: 2rem;--h3-font-size: 1.35rem;--border-radius: 16px;--transition: all .3s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-primary);font-size:var(--normal-font-size);background-color:var(--body-bg-color);color:var(--text-color);line-height:1.6;padding-top:var(--header-height);transition:background-color .3s,color .3s;background-image:url(/assets/images/background.webp);background-size:cover;background-position:center center;background-attachment:fixed;position:relative;z-index:0}@media(max-width:768px){body{background-attachment:scroll}}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--bg-overlay-color);z-index:-1;transition:var(--transition)}h1,h2,h3{color:var(--title-color);font-weight:700}ul{list-style:none}a{text-decoration:none;color:var(--primary-color);transition:var(--transition)}a:hover{color:var(--primary-color-alt)}button,input,textarea,select{font:inherit}img{max-width:100%;height:auto}main{display:block}.section{padding:var(--section-padding)}.section__title{font-size:var(--h2-font-size);text-align:center;margin-bottom:3rem;position:relative}.section__title:after{content:"";position:absolute;bottom:-.5rem;left:50%;transform:translate(-50%);width:80px;height:4px;background:var(--primary-color);border-radius:2px}.section__subtitle{max-width:720px;margin:-1.5rem auto 0;text-align:center;color:#e2e8f0d1}.container{max-width:1120px;margin-inline:auto;padding-inline:1.5rem}.grid{display:grid;gap:1.5rem}.button{display:inline-block;background:var(--primary-color);color:#fff;padding:.9rem 2rem;border-radius:var(--border-radius);font-weight:600;border:2px solid transparent;transition:var(--transition);cursor:pointer}.nav__actions{display:flex;align-items:center}.button:hover{background:var(--primary-color-alt);transform:translateY(-2px);box-shadow:0 4px 15px #0000001a}.button--ghost{background:transparent;color:var(--primary-color);border-color:var(--primary-color)}.button--ghost:hover{background:var(--primary-color);color:#fff}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:var(--transition)}.modal.active{opacity:1;visibility:visible}.modal__content{background-color:var(--container-bg-color);padding:2.5rem;border-radius:var(--border-radius);box-shadow:var(--box-shadow);text-align:center;position:relative;transform:scale(.9);transition:var(--transition);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.modal.active .modal__content{transform:scale(1)}.modal__content h3{margin-bottom:1rem;font-size:var(--h3-font-size)}.modal__content img{max-width:250px;margin-bottom:1rem}.modal__close{position:absolute;top:1rem;right:1.5rem;font-size:1.5rem;color:var(--text-color-light);cursor:pointer;border:0;background:transparent}.section{padding-top:6rem;padding-bottom:6rem}.notes-index-page .section__title{margin-bottom:1rem}.notes-index__header{margin-bottom:2rem}
