:root{--bg:#fff;--ink:#101010;--muted:#62625e;--line:#d8d8d3;--nav:rgba(255,255,255,.9)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}body{margin:0;background:var(--bg);color:var(--ink);font-family:"DM Mono","Noto Sans TC",sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.shell{min-height:100svh}.topbar{height:76px;padding:0 3vw;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:28px;position:sticky;top:0;z-index:30;background:var(--nav);backdrop-filter:blur(14px);transition:transform .35s ease,background .7s,color .7s}.topbar.is-hidden{transform:translateY(-101%)}.brand{font-weight:700;letter-spacing:-.05em}.site-nav{display:flex;gap:clamp(18px,2.4vw,38px)}.site-nav a{position:relative;padding:12px 0;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}.site-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:7px;height:1px;background:currentColor;transition:right .25s}.site-nav a:hover:after,.site-nav a:focus-visible:after{right:0}.nav-actions{display:flex;align-items:center;gap:10px}.theme-toggle,.menu-toggle{width:46px;height:46px;border:1px solid var(--line);border-radius:50%;background:var(--bg);color:var(--ink);cursor:pointer}.theme-toggle{position:relative;overflow:hidden}.theme-toggle span{position:absolute;inset:0;display:grid;place-items:center;font-size:1.25rem;transition:transform .65s cubic-bezier(.22,1,.36,1),opacity .4s}.moon{opacity:0;transform:rotate(-70deg) scale(.45)}.theme-toggle:hover{box-shadow:0 0 0 5px rgba(0,0,0,.05)}.menu-toggle{display:none;padding:11px}.menu-toggle span{display:block;height:1px;margin:4px 0;background:currentColor;transition:.3s}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
.hero{height:calc(100svh - 76px);min-height:560px;position:relative;display:grid;place-items:center;overflow:hidden;isolation:isolate}.headline{z-index:4;margin:0;width:min(88vw,1100px);text-align:center;font-family:"Noto Serif TC",Georgia,serif;font-size:clamp(3.8rem,8vw,8rem);font-weight:400;line-height:.92;letter-spacing:-.065em;pointer-events:none}.headline span{display:block;margin-top:30px;font-family:"DM Mono",sans-serif;font-size:.105em;letter-spacing:.2em;line-height:1.5}.hero-note{position:absolute;bottom:28px;z-index:5;margin:0;font-size:.75rem;letter-spacing:.12em}.orbit-line{position:absolute;left:50%;top:48%;z-index:0;border:1px solid #e2e2dc;border-radius:50%;transform:translate(-50%,-50%) rotate(-8deg)}.orbit-a{width:min(82vw,1120px);height:min(64vh,620px)}.orbit-b{width:min(64vw,820px);height:min(84vh,760px);transform:translate(-50%,-50%) rotate(34deg)}.particle-canvas{position:absolute;inset:0;z-index:2;width:100%;height:100%;touch-action:pan-y}
.content-section{padding:clamp(84px,10vw,150px) 5vw;border-top:1px solid var(--line);background:var(--bg);scroll-margin-top:76px}.section-kicker{margin:0 0 54px;font-size:.78rem;letter-spacing:.15em;text-transform:uppercase}.section-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8vw;align-items:start}.section-grid>h2{margin:0;font-family:"Noto Serif TC",Georgia,serif;font-size:clamp(2.6rem,5vw,5.6rem);font-weight:400;line-height:1.08;letter-spacing:-.055em}.about-copy p{margin:0 0 1.2em;font-family:"Noto Serif TC",serif;font-size:clamp(1.2rem,1.8vw,1.65rem);line-height:1.75}.item-list{border-top:1px solid currentColor}.item-list>a{display:grid;grid-template-columns:46px 1fr 36px;gap:20px;padding:26px 0;border-bottom:1px solid var(--line);transition:padding .25s}.item-list>a:hover{padding-left:10px}.item-list span{font-size:.72rem;letter-spacing:.12em}.item-list h3,.project-card h3{margin:0;font-size:1.08rem}.item-list p,.project-card p{margin:8px 0 0;color:var(--muted);line-height:1.65}.item-list b{font-size:1.25rem;font-weight:400}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.project-card{min-height:310px;padding:24px;border:1px solid #111;display:flex;flex-direction:column;justify-content:flex-end;color:#111;transition:transform .25s}.project-card:hover{transform:translateY(-6px)}.project-card>span{margin-bottom:auto;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.project-card p{color:#242424}.coral{background:#ff7257}.blue{background:#5bbcff}.lime{background:#c7ff45}footer{padding:28px 5vw;display:flex;justify-content:space-between;border-top:1px solid var(--line);font-size:.72rem;letter-spacing:.08em}
html[data-theme=dark]{--bg:#070b0a;--ink:#f5f7f4;--muted:#b9c5bf;--line:#26332d;--nav:rgba(7,11,10,.9)}html[data-theme=dark] .hero{background:radial-gradient(circle at 50% 48%,#101a16 0,#070b0a 58%)}html[data-theme=dark] .orbit-line{border-color:#26332d}html[data-theme=dark] .theme-toggle{background:#111814}html[data-theme=dark] .sun{opacity:0;transform:rotate(70deg) scale(.45)}html[data-theme=dark] .moon{opacity:1;transform:rotate(0) scale(1)}html[data-theme=dark] .theme-toggle:hover{box-shadow:0 0 0 5px rgba(255,255,255,.08)}.shell,.hero,.content-section,.theme-toggle{transition:background-color .7s cubic-bezier(.22,1,.36,1),color .7s,border-color .7s}
@media(max-width:960px){html{scroll-padding-top:64px}.topbar{height:64px;padding:0 18px;grid-template-columns:1fr auto;gap:12px}.nav-actions{grid-column:2}.menu-toggle{display:block}.site-nav{position:absolute;top:64px;left:0;right:0;display:grid;gap:0;padding:0 18px;background:var(--nav);border-bottom:1px solid var(--line);max-height:0;overflow:hidden;opacity:0;visibility:hidden;transition:max-height .4s,opacity .25s,visibility .4s}.site-nav.is-open{max-height:260px;padding-top:10px;padding-bottom:10px;opacity:1;visibility:visible}.site-nav a{padding:13px 2px;border-bottom:1px solid var(--line)}.hero{height:calc(100svh - 64px);min-height:520px}.headline{font-size:clamp(2.8rem,12.5vw,5rem);line-height:.95}.headline span{font-size:.13em;letter-spacing:.12em;margin-top:22px}.hero-note{display:none}.orbit-a{width:88vw;height:72vh}.orbit-b{width:70vw;height:86vh}.content-section{padding:78px 22px;scroll-margin-top:64px}.section-kicker{margin-bottom:36px}.section-grid{grid-template-columns:1fr;gap:42px}.card-grid{grid-template-columns:1fr}.project-card{min-height:220px}footer{padding:24px 22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.particle-canvas{opacity:.55}.project-card,.topbar{transition:none}}
