.project-state.svelte-1ljghm3{display:grid;min-height:12rem;place-items:center;color:var(--btn-content);font-family:JetBrains Mono Variable,monospace;font-size:.78rem;letter-spacing:.08em}.project-state--error.svelte-1ljghm3{color:#dc2626}.project-section.svelte-1ljghm3+.project-section:where(.svelte-1ljghm3),.stack-section.svelte-1ljghm3{margin-top:3rem}.section-heading.svelte-1ljghm3{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:0 .25rem .85rem;margin-bottom:1rem;border-bottom:1px solid var(--project-accent-line)}.section-heading.svelte-1ljghm3 h2:where(.svelte-1ljghm3){margin:.2rem 0 0;color:color-mix(in srgb,currentColor 92%,transparent);font-size:1.65rem;font-weight:800}.section-kicker.svelte-1ljghm3,.section-count.svelte-1ljghm3,.project-index.svelte-1ljghm3,.project-source.svelte-1ljghm3,.award-label.svelte-1ljghm3,.status-label.svelte-1ljghm3{font-family:JetBrains Mono Variable,monospace;letter-spacing:.08em}.section-kicker.svelte-1ljghm3{color:var(--project-accent);font-size:.65rem;font-weight:800}.section-count.svelte-1ljghm3{padding:.38rem .58rem;color:var(--project-accent-strong);border:1px solid var(--project-accent-line);border-radius:.65rem;background:var(--project-accent-soft);font-size:.7rem;font-weight:800}.representative-grid.svelte-1ljghm3,.involved-grid.svelte-1ljghm3{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.project-card.svelte-1ljghm3{position:relative;overflow:hidden;min-width:0;border:1px solid color-mix(in srgb,var(--project-accent-line) 58%,transparent);border-radius:calc(var(--radius-large) - .15rem);background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--project-accent-soft) 62%,transparent),transparent 42%),linear-gradient(145deg,color-mix(in srgb,var(--project-accent-soft) 24%,transparent),transparent 48%),var(--industrial-surface);transition:border-color var(--motion-signal-fast) ease,box-shadow var(--motion-signal-fast) ease}.dark .project-card.svelte-1ljghm3{background:linear-gradient(180deg,color-mix(in srgb,var(--project-panel-highlight) 42%,transparent),transparent 24%),var(--industrial-surface)}.project-card.svelte-1ljghm3:after{content:"";position:absolute;z-index:25;top:0;right:0;left:0;height:.22rem;pointer-events:none;background:linear-gradient(90deg,var(--project-accent),color-mix(in srgb,var(--project-accent) 22%,transparent));transform:scaleX(0);transform-origin:100% 50%;transition:transform var(--motion-signal-medium) var(--ease-cut)}.project-card.svelte-1ljghm3:hover,.project-card.svelte-1ljghm3:focus-within{border-color:var(--project-accent-line);box-shadow:0 .85rem 2rem var(--project-accent-glow)}.dark .project-card.svelte-1ljghm3:hover,.dark .project-card.svelte-1ljghm3:focus-within{box-shadow:0 .85rem 2rem var(--project-panel-shadow),inset 0 1px 0 var(--project-panel-highlight)}.project-card.svelte-1ljghm3:hover:after,.project-card.svelte-1ljghm3:focus-within:after{transform:scaleX(1);transform-origin:0 50%}.project-card__hit.svelte-1ljghm3{position:absolute;z-index:20;inset:0;border-radius:inherit}.project-card__hit.svelte-1ljghm3:focus-visible{outline:2px solid var(--project-accent);outline-offset:-3px}.project-media.svelte-1ljghm3{position:relative;overflow:hidden;aspect-ratio:16 / 8.6;background:var(--industrial-surface-hover)}.project-image.svelte-1ljghm3{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .34s cubic-bezier(.22,1,.36,1)}.project-card.svelte-1ljghm3:hover .project-image:where(.svelte-1ljghm3),.project-card.svelte-1ljghm3:focus-within .project-image:where(.svelte-1ljghm3){transform:scale(1.035)}.project-index.svelte-1ljghm3{position:absolute;top:.65rem;left:.65rem;padding:.35rem .45rem;color:var(--project-accent-strong);border:1px solid var(--project-accent-line);border-radius:.55rem;background:color-mix(in srgb,var(--project-accent-surface) 88%,transparent);box-shadow:0 .35rem 1.2rem var(--project-accent-glow);backdrop-filter:blur(.45rem);font-size:.64rem;font-weight:800}.dark .project-index.svelte-1ljghm3,.dark .project-source.svelte-1ljghm3{box-shadow:inset 0 1px 0 var(--project-panel-highlight)}.project-source.svelte-1ljghm3{position:absolute;z-index:30;top:.65rem;right:.65rem;display:inline-flex;align-items:center;gap:.28rem;padding:.35rem .48rem;color:var(--project-accent-strong);border:1px solid var(--project-accent-line);border-radius:.55rem;background:color-mix(in srgb,var(--project-accent-surface) 90%,transparent);box-shadow:0 .35rem 1.2rem var(--project-accent-glow);backdrop-filter:blur(.45rem);font-size:.64rem;font-weight:800;transition:color var(--motion-signal-fast) ease,border-color var(--motion-signal-fast) ease,background-color var(--motion-signal-fast) ease,box-shadow var(--motion-signal-fast) ease}.project-source.svelte-1ljghm3 b:where(.svelte-1ljghm3){font-size:.78rem;font-weight:800;transition:transform var(--motion-signal-fast) var(--ease-signal)}.project-source.svelte-1ljghm3:hover,.project-source.svelte-1ljghm3:focus-visible{color:var(--project-accent-strong);border-color:var(--project-accent);background:color-mix(in srgb,var(--project-accent-surface) 78%,var(--card-bg));box-shadow:0 0 0 2px var(--project-accent-soft),0 .45rem 1.35rem var(--project-accent-glow);outline:none}.dark .project-source.svelte-1ljghm3:hover,.dark .project-source.svelte-1ljghm3:focus-visible{box-shadow:0 0 0 1px var(--project-accent-line),inset 0 1px 0 var(--project-panel-highlight)}.project-source.svelte-1ljghm3:is(:where(.svelte-1ljghm3):hover,:where(.svelte-1ljghm3):focus-visible) b:where(.svelte-1ljghm3){transform:translate(.08rem,-.08rem)}.project-content.svelte-1ljghm3{padding:1rem}.project-card--representative.svelte-1ljghm3 .project-content:where(.svelte-1ljghm3){padding:1.25rem}.project-title-row.svelte-1ljghm3{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.project-title-row.svelte-1ljghm3 h3:where(.svelte-1ljghm3){display:-webkit-box;min-width:0;overflow:hidden;margin:0;color:color-mix(in srgb,currentColor 92%,transparent);font-size:1.08rem;font-weight:800;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.project-card--representative.svelte-1ljghm3 .project-title-row:where(.svelte-1ljghm3) h3:where(.svelte-1ljghm3){font-size:1.25rem}.award-label.svelte-1ljghm3,.status-label.svelte-1ljghm3{flex:0 0 auto;padding:.34rem .48rem;border-radius:.55rem;font-size:.6rem;font-weight:800;white-space:nowrap}.award-label.svelte-1ljghm3{display:inline-flex;max-width:48%;align-items:center;gap:.32rem;overflow:hidden;color:var(--project-accent-strong);border:1px solid var(--project-accent-line);text-overflow:ellipsis;background:var(--project-accent-surface);box-shadow:inset 0 0 .8rem color-mix(in srgb,var(--project-accent-glow) 46%,transparent),0 .25rem 1rem color-mix(in srgb,var(--project-accent-glow) 58%,transparent)}.dark .award-label.svelte-1ljghm3{box-shadow:inset 0 1px 0 var(--project-panel-highlight)}.award-label.svelte-1ljghm3 .award-label__icon{width:.85rem;height:.85rem;flex:0 0 auto;filter:drop-shadow(0 0 .32rem var(--project-accent-glow))}.dark .award-label.svelte-1ljghm3 .award-label__icon{filter:none}.award-label.svelte-1ljghm3 span:where(.svelte-1ljghm3){overflow:hidden;text-overflow:ellipsis}.status-label.svelte-1ljghm3{color:var(--btn-content);background:var(--btn-regular-bg)}.status-completed.svelte-1ljghm3{color:#166534;background:#dcfce7}.dark .status-completed.svelte-1ljghm3{color:#86efac;background:#16653457}.status-progress.svelte-1ljghm3{color:var(--project-accent-strong);border:1px solid var(--project-accent-line);background:var(--project-accent-soft)}.project-content.svelte-1ljghm3>p:where(.svelte-1ljghm3){display:-webkit-box;min-height:2.8rem;overflow:hidden;margin:0 0 .85rem;color:color-mix(in srgb,currentColor 62%,transparent);font-size:.86rem;line-height:1.4rem;-webkit-box-orient:vertical;-webkit-line-clamp:2}.tech-list.svelte-1ljghm3,.stack-list.svelte-1ljghm3{display:flex;flex-wrap:wrap;gap:.4rem}.tech-list.svelte-1ljghm3 span:where(.svelte-1ljghm3),.stack-list.svelte-1ljghm3 span:where(.svelte-1ljghm3){padding:.32rem .56rem;color:color-mix(in srgb,var(--project-accent-strong) 78%,currentColor);border:1px solid color-mix(in srgb,var(--project-accent-line) 72%,transparent);border-radius:999px;background:color-mix(in srgb,var(--project-accent-soft) 72%,var(--btn-regular-bg));font-size:.68rem;font-weight:700}.tech-chip.svelte-1ljghm3{--tech-chip-color: #94a3b8}.tech-list.svelte-1ljghm3 .tech-chip:where(.svelte-1ljghm3),.stack-list.svelte-1ljghm3 .tech-chip:where(.svelte-1ljghm3){border-color:color-mix(in srgb,var(--tech-chip-color) 74%,var(--project-accent-line));background:color-mix(in srgb,var(--tech-chip-color) 18%,var(--btn-regular-bg));box-shadow:inset 0 1px color-mix(in srgb,var(--tech-chip-color) 30%,transparent),0 .12rem .45rem color-mix(in srgb,var(--tech-chip-color) 10%,transparent);transition:border-color var(--motion-signal-fast) ease,background-color var(--motion-signal-fast) ease,box-shadow var(--motion-signal-fast) ease}.tech-chip--ai.svelte-1ljghm3{--tech-chip-color: #a78bfa}.tech-chip--frontend.svelte-1ljghm3{--tech-chip-color: #5cc8ff}.tech-chip--backend.svelte-1ljghm3{--tech-chip-color: #3dd6b0}.tech-chip--language.svelte-1ljghm3{--tech-chip-color: #91a8c5}.tech-chip--infra.svelte-1ljghm3{--tech-chip-color: #f0a86b}html:not(.dark)[data-accent-light=gold] .tech-chip--ai.svelte-1ljghm3{--tech-chip-color: #b85bc8}html:not(.dark)[data-accent-light=gold] .tech-chip--frontend.svelte-1ljghm3{--tech-chip-color: #d97732}html:not(.dark)[data-accent-light=gold] .tech-chip--backend.svelte-1ljghm3{--tech-chip-color: #5f78b8}html:not(.dark)[data-accent-light=gold] .tech-chip--language.svelte-1ljghm3{--tech-chip-color: #bd5f4e}html:not(.dark)[data-accent-light=gold] .tech-chip--infra.svelte-1ljghm3{--tech-chip-color: #858172}html:not(.dark)[data-accent-light=gold] .tech-chip--other.svelte-1ljghm3{--tech-chip-color: #8d877b}html.dark[data-accent-dark=gold] .tech-chip--ai.svelte-1ljghm3{--tech-chip-color: #de85ed}html.dark[data-accent-dark=gold] .tech-chip--frontend.svelte-1ljghm3{--tech-chip-color: #f0a05f}html.dark[data-accent-dark=gold] .tech-chip--backend.svelte-1ljghm3{--tech-chip-color: #86a3e6}html.dark[data-accent-dark=gold] .tech-chip--language.svelte-1ljghm3{--tech-chip-color: #e4816f}html.dark[data-accent-dark=gold] .tech-chip--infra.svelte-1ljghm3{--tech-chip-color: #aaa696}html.dark[data-accent-dark=gold] .tech-chip--other.svelte-1ljghm3{--tech-chip-color: #aaa393}.tech-list.svelte-1ljghm3 .tech-chip:where(.svelte-1ljghm3):is(:where(.svelte-1ljghm3):hover,:where(.svelte-1ljghm3):focus-visible),.stack-list.svelte-1ljghm3 .tech-chip:where(.svelte-1ljghm3):is(:where(.svelte-1ljghm3):hover,:where(.svelte-1ljghm3):focus-visible){border-color:color-mix(in srgb,var(--tech-chip-color) 92%,var(--project-accent-line));background:color-mix(in srgb,var(--tech-chip-color) 25%,var(--btn-regular-bg));box-shadow:inset 0 1px color-mix(in srgb,var(--tech-chip-color) 40%,transparent),0 0 .7rem color-mix(in srgb,var(--tech-chip-color) 16%,transparent)}.dark .tech-chip.svelte-1ljghm3{border-color:color-mix(in srgb,var(--tech-chip-color) 62%,var(--project-accent-line));background:color-mix(in srgb,var(--tech-chip-color) 14%,var(--btn-regular-bg));box-shadow:inset 0 1px color-mix(in srgb,var(--tech-chip-color) 28%,transparent)}.dark .tech-chip.svelte-1ljghm3:is(:where(.svelte-1ljghm3):hover,:where(.svelte-1ljghm3):focus-visible){background:color-mix(in srgb,var(--tech-chip-color) 22%,var(--btn-regular-bg));box-shadow:inset 0 1px color-mix(in srgb,var(--tech-chip-color) 44%,transparent),0 0 .8rem color-mix(in srgb,var(--tech-chip-color) 18%,transparent)}.stack-section.svelte-1ljghm3{padding-top:1.75rem;border-top:1px solid color-mix(in srgb,var(--project-accent-line) 55%,transparent)}.section-heading--compact.svelte-1ljghm3{margin-bottom:.85rem;border-bottom:0}.stack-list.svelte-1ljghm3 span:where(.svelte-1ljghm3){position:relative;font-family:JetBrains Mono Variable,monospace;font-size:.72rem;box-shadow:inset 0 0 .7rem color-mix(in srgb,var(--project-accent-glow) 34%,transparent)}.stack-list.svelte-1ljghm3 .tech-chip:where(.svelte-1ljghm3){box-shadow:inset 0 1px color-mix(in srgb,var(--tech-chip-color) 24%,transparent)}.dark .stack-list.svelte-1ljghm3 span:where(.svelte-1ljghm3){box-shadow:inset 0 1px 0 var(--project-panel-highlight)}.dark .stack-list.svelte-1ljghm3 .tech-chip:where(.svelte-1ljghm3){box-shadow:inset 0 1px color-mix(in srgb,var(--tech-chip-color) 28%,transparent)}html.dark[data-accent-dark=gold] .project-card.svelte-1ljghm3 .project-index:where(.svelte-1ljghm3),html.dark[data-accent-dark=gold] .project-card.svelte-1ljghm3 .project-source:where(.svelte-1ljghm3),html.dark[data-accent-dark=gold] .project-card.svelte-1ljghm3 .award-label:where(.svelte-1ljghm3),html.dark[data-accent-dark=gold] .project-card.svelte-1ljghm3 .status-label:where(.svelte-1ljghm3):not(.status-completed){color:color-mix(in srgb,var(--project-accent-strong) 68%,var(--content-meta));border-color:color-mix(in srgb,var(--project-accent-line) 56%,transparent);background:color-mix(in srgb,var(--project-accent-surface) 42%,var(--industrial-surface));box-shadow:inset 0 1px 0 var(--project-panel-highlight)}html.dark[data-accent-dark=gold] .project-card.svelte-1ljghm3 .tech-chip:where(.svelte-1ljghm3),html.dark[data-accent-dark=gold] .stack-list.svelte-1ljghm3 .tech-chip:where(.svelte-1ljghm3){color:color-mix(in srgb,var(--project-accent-strong) 68%,var(--content-meta));border-color:color-mix(in srgb,var(--tech-chip-color) 58%,var(--project-accent-line));background:color-mix(in srgb,var(--tech-chip-color) 12%,var(--industrial-surface));box-shadow:inset 0 1px color-mix(in srgb,var(--tech-chip-color) 28%,transparent)}html.dark[data-accent-dark=gold] .project-card.svelte-1ljghm3 .tech-chip:where(.svelte-1ljghm3):is(:where(.svelte-1ljghm3):hover,:where(.svelte-1ljghm3):focus-visible),html.dark[data-accent-dark=gold] .stack-list.svelte-1ljghm3 .tech-chip:where(.svelte-1ljghm3):is(:where(.svelte-1ljghm3):hover,:where(.svelte-1ljghm3):focus-visible){border-color:color-mix(in srgb,var(--tech-chip-color) 78%,var(--project-accent-line));background:color-mix(in srgb,var(--tech-chip-color) 19%,var(--industrial-surface))}html.dark[data-accent-dark=gold] .project-card.svelte-1ljghm3 .project-source:where(.svelte-1ljghm3):is(:where(.svelte-1ljghm3):hover,:where(.svelte-1ljghm3):focus-visible){border-color:color-mix(in srgb,var(--project-accent-line) 78%,transparent);background:color-mix(in srgb,var(--project-accent-surface) 54%,var(--industrial-surface))}@media(min-width:769px){.representative-grid.svelte-1ljghm3,.involved-grid.svelte-1ljghm3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1180px){.involved-grid.svelte-1ljghm3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.section-heading.svelte-1ljghm3 h2:where(.svelte-1ljghm3){font-size:1.35rem}.award-label.svelte-1ljghm3{max-width:44%}}@media(prefers-reduced-motion:reduce){.project-card.svelte-1ljghm3,.project-card.svelte-1ljghm3:after,.project-image.svelte-1ljghm3{transition:none}}p[data-astro-cid-aid3sr62].page-intro-caption{font:400 1rem/1.75 system-ui,PingFang SC,Microsoft YaHei,sans-serif;letter-spacing:.025em;color:var(--text-secondary);margin-block:.65rem 0}.project-shell[data-astro-cid-aid3sr62]{color:#000000e6}html.dark .project-shell[data-astro-cid-aid3sr62]{color:#ffffffe6}.project-intro[data-astro-cid-aid3sr62]{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;padding-bottom:1.5rem;margin-bottom:1rem;border-bottom:1px solid var(--project-accent-line)}.project-intro__copy[data-astro-cid-aid3sr62] p[data-astro-cid-aid3sr62]{margin:0;color:var(--text-secondary);font-size:1rem}.project-intro__kicker[data-astro-cid-aid3sr62],.project-intro__mark[data-astro-cid-aid3sr62],.project-stat[data-astro-cid-aid3sr62]{font-family:JetBrains Mono Variable,monospace}.project-intro__kicker[data-astro-cid-aid3sr62]{display:block;margin-bottom:.6rem;color:var(--project-accent);font-size:.66rem;font-weight:800;letter-spacing:.12em}.project-intro__mark[data-astro-cid-aid3sr62]{display:grid;width:4.4rem;height:4.4rem;flex:0 0 auto;place-items:center;color:var(--project-accent-strong);border:1px solid var(--project-accent-line);border-radius:1rem;background:var(--project-accent-surface);box-shadow:inset 0 0 1.2rem color-mix(in srgb,var(--project-accent-glow) 58%,transparent),0 .4rem 1.5rem color-mix(in srgb,var(--project-accent-glow) 48%,transparent)}html.dark .project-intro__mark[data-astro-cid-aid3sr62]{box-shadow:inset 0 1px 0 var(--project-panel-highlight),0 .4rem 1.5rem var(--project-panel-shadow)}.project-intro__mark[data-astro-cid-aid3sr62] span[data-astro-cid-aid3sr62]{align-self:end;font-size:1.45rem;font-weight:900;line-height:1}.project-intro__mark[data-astro-cid-aid3sr62] small[data-astro-cid-aid3sr62]{align-self:start;font-size:.54rem;font-weight:800;letter-spacing:.12em}.project-stats[data-astro-cid-aid3sr62]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-bottom:2.5rem}.project-stat[data-astro-cid-aid3sr62]{position:relative;display:grid;min-height:6rem;align-content:space-between;padding:.75rem;overflow:hidden;border:1px solid color-mix(in srgb,var(--project-accent-line) 54%,transparent);border-radius:1rem;background:radial-gradient(circle at 88% 14%,color-mix(in srgb,var(--project-accent-soft) 78%,transparent),transparent 40%),linear-gradient(145deg,color-mix(in srgb,var(--project-accent-surface) 40%,transparent),transparent 56%),var(--industrial-surface);transition:border-color var(--motion-signal-fast) ease,box-shadow var(--motion-signal-fast) ease}html.dark .project-stat[data-astro-cid-aid3sr62]{background:var(--industrial-surface)}.project-stat[data-astro-cid-aid3sr62]>span[data-astro-cid-aid3sr62],.project-stat[data-astro-cid-aid3sr62]>small[data-astro-cid-aid3sr62]{color:var(--text-muted);font-size:.58rem;font-weight:800;letter-spacing:.08em}.project-stat[data-astro-cid-aid3sr62] strong[data-astro-cid-aid3sr62]{width:-moz-fit-content;width:fit-content;min-width:2.5rem;padding:.42rem .72rem;color:var(--project-accent-strong);border:1px solid var(--project-accent-line);border-radius:999px;background:var(--project-accent-surface);box-shadow:inset 0 0 .8rem color-mix(in srgb,var(--project-accent-glow) 42%,transparent);font-size:1.6rem;line-height:1}.project-stat[data-astro-cid-aid3sr62]:hover,.project-stat--signal[data-astro-cid-aid3sr62]{border-color:var(--project-accent-line);box-shadow:0 .55rem 1.5rem color-mix(in srgb,var(--project-accent-glow) 58%,transparent)}html.dark .project-stat[data-astro-cid-aid3sr62] strong[data-astro-cid-aid3sr62]{box-shadow:inset 0 1px 0 var(--project-panel-highlight)}html.dark .project-stat[data-astro-cid-aid3sr62]:hover,html.dark .project-stat--signal[data-astro-cid-aid3sr62]{box-shadow:inset 0 1px 0 var(--project-panel-highlight),0 .55rem 1.5rem var(--project-panel-shadow)}.project-stat--signal[data-astro-cid-aid3sr62]{background:radial-gradient(circle at 88% 20%,var(--project-accent-soft),transparent 42%),color-mix(in srgb,var(--industrial-surface) 82%,var(--project-accent-soft))}@media(prefers-reduced-motion:reduce){.project-stat[data-astro-cid-aid3sr62]{transition:none}}@media(min-width:769px){.project-stats[data-astro-cid-aid3sr62]{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:520px){.project-intro__mark[data-astro-cid-aid3sr62]{display:none}}
