.projects-section-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.projects-section-header .spec-title{margin-bottom:8px}.projects-intro{color:var(--文字次色);font-size:.9rem}.projects-back,.projects-view-all{color:var(--文字色);text-decoration:none;font-size:.9rem;white-space:nowrap}.projects-view-all{display:inline-flex;align-items:center;gap:10px;color:var(--主色)}.projects-back:hover,.projects-view-all:hover{color:#fff}.project-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.project-preview,.project-work{min-width:0;padding:24px;border:1px solid var(--玻璃邊框);border-radius:20px;background:rgba(255,255,255,.025);transition:border-color .3s,background .3s,transform .3s}.project-preview{display:flex;flex-direction:column;color:var(--文字色);text-decoration:none}.project-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.project-icon{display:inline-flex;justify-content:center;align-items:center;width:48px;height:48px;border-radius:14px;color:var(--主色);background:rgba(0,162,255,.1);font-size:1.3rem}.project-status{display:inline-flex;align-items:center;gap:7px;padding:3px 10px;border:1px solid rgba(251,191,36,.25);border-radius:50px;background:rgba(251,191,36,.07);color:#fbbf24;font-size:.75rem;white-space:nowrap}.project-status::before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}.project-category{color:var(--主色);font-size:.75rem;letter-spacing:1px;margin-bottom:4px}.project-preview h3,.project-work h2{color:#f1f5f9;font-size:1.15rem;line-height:1.5;margin-bottom:10px;overflow-wrap:anywhere}.project-description{color:var(--文字次色);font-size:.9rem;line-height:1.8;margin-bottom:20px}.project-preview-more{margin-top:auto;color:var(--主色);font-size:.85rem;display:flex;align-items:center;gap:10px}.project-link:focus-visible,.project-preview:focus-visible,.projects-back:focus-visible,.projects-view-all:focus-visible{outline:2px solid var(--主色);outline-offset:5px}.projects-page{background-image:radial-gradient(ellipse at 50% 0,rgba(0,162,255,.1),transparent 60%)}.projects-page .nav-inner{gap:16px}.projects-page-header{padding:64px 0 40px}.projects-eyebrow{color:var(--主色);font-size:.75rem;letter-spacing:4px;margin-bottom:12px}.projects-page-header h1{color:#fff;font-size:clamp(2rem, 6vw, 3rem);line-height:1.4;margin-bottom:12px}.projects-page-intro{color:var(--文字色);font-size:1.05rem}.projects-page-note{display:flex;align-items:center;flex-wrap:wrap;gap:12px;color:var(--文字次色);font-size:.85rem;margin-top:20px}.project-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.project-work{display:flex;flex-direction:column;scroll-margin-top:95px;padding:28px;background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.015))}.project-work:target{border-color:var(--主色);box-shadow:0 0 20px rgba(0,162,255,.12)}.project-domain{color:var(--文字次色);font-size:.75rem;overflow-wrap:anywhere;margin-top:auto;padding-bottom:18px}.project-actions{display:flex;gap:10px;flex-wrap:wrap;padding-top:18px;border-top:1px solid var(--玻璃邊框)}.project-link{display:inline-flex;align-items:center;gap:8px;color:var(--文字色);text-decoration:none;font-size:.85rem}.project-link:hover{color:var(--主色)}.project-link i{font-size:.7rem}.project-unpublished{display:inline-flex;align-items:center;gap:8px;color:var(--文字次色);font-size:.85rem}.projects-footer{text-align:center;padding:50px 20px;color:var(--文字次色);font-size:.85rem}@media (max-width:900px){.project-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.projects-section-header{flex-direction:column;align-items:flex-start;gap:14px}.project-preview-grid{grid-template-columns:1fr}.project-preview{padding:22px}.projects-page-header{padding:40px 0 28px}}@media (max-width:580px){.project-work-grid{grid-template-columns:1fr;gap:16px}.project-work{padding:24px}.projects-page .brand{gap:8px;font-size:.9rem}.projects-back{font-size:.8rem}}@media (prefers-reduced-motion:reduce){.project-preview,.project-work{transition:none}}.section-open{margin-bottom:48px;padding:12px 0}.project-thumbnail{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:top;border-radius:12px;margin-bottom:22px;background:#101b2b;border:1px solid rgba(255,255,255,.08)}.project-category{color:var(--文字次色);letter-spacing:.5px}.project-preview:hover,.project-work:hover{transform:translateY(-4px);transform:none;background:rgba(255,255,255,.045);border-color:rgba(0,162,255,.3)}.project-link{color:var(--主色);min-height:44px}.projects-back,.projects-view-all{min-height:44px;display:inline-flex;align-items:center}@media (max-width:768px){.container{padding:0 22px}.section-open{margin-bottom:42px;padding:8px 0}.project-preview-grid,.project-work-grid{grid-template-columns:1fr;gap:24px}.project-preview,.project-work{padding:22px;border-radius:18px}.project-description{line-height:1.9}.card{margin-bottom:28px}.hero{padding:44px 22px}.title{font-size:clamp(1.7rem, 8vw, 3rem)}}.project-search{margin-bottom:32px;max-width:640px}.project-search label{display:block;color:var(--文字色);margin-bottom:10px;font-size:.95rem}.project-search-controls{display:flex;gap:12px}.project-search input{min-width:0;flex:1;min-height:48px;padding:12px 16px;font:inherit;color:var(--文字色);background:rgba(255,255,255,.035);border:1px solid var(--玻璃邊框);border-radius:12px}.project-search input::placeholder{color:var(--文字次色)}.project-search button{min-height:48px;padding:10px 18px;font:inherit;color:var(--主色);background:0 0;border:1px solid rgba(0,162,255,.3);border-radius:12px;cursor:pointer}.project-search button:disabled{opacity:.45;cursor:default}.project-search button:focus-visible,.project-search input:focus-visible{outline:2px solid var(--主色);outline-offset:3px}#project-search-status{margin-top:12px;color:var(--文字次色);font-size:.85rem}#project-search-empty{margin-top:20px;color:var(--文字色)}.project-search[hidden],.project-work[hidden]{display:none}.status-updating{color:#a6cfe4;border-color:rgba(113,199,246,.22);background:rgba(113,199,246,.05)}.status-unpublished{color:var(--文字次色);border-color:rgba(148,163,184,.25);background:rgba(148,163,184,.05)}#projects-section+.experience-section{position:relative;padding-top:36px}#projects-section+.experience-section::before{content:"";position:absolute;top:0;left:0;width:120px;height:12px;background:url("../assets/illustrations/wave-divider.svg") center/contain no-repeat}.project-feature-button{display:flex;justify-content:center;align-items:center;gap:12px;width:100%;min-height:54px;padding:14px 18px;margin-bottom:18px;border-radius:12px;background:var(--主色);color:#fff;text-decoration:none;font-size:1rem;font-weight:700;transition:background .2s}.project-feature-button:hover{background:#078ddd;color:#fff}.project-feature-button:focus-visible{outline:2px solid var(--主色);outline-offset:4px}