:root{--bg:#d8c8b4;--bg-soft:#e8dccc;--bg-deep:#c2b09a;--ink:#1a1815;--ink-soft:#3a352e;--paper:#f5ede1;--accent:oklch(92% 0.18 110);--accent-2:oklch(68% 0.18 28);--shadow:rgba(26,24,21,0.15);--serif-en:"DM Serif Display",serif;--serif-cn:"Noto Serif SC",serif;--sans:"Inter","Noto Serif SC",sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace;--cute-cn:"ZCOOL KuaiLe","Ma Shan Zheng","YouYuan","Microsoft YaHei UI",cursive}body[data-vibe=warm]{--bg:#d8c8b4;--bg-soft:#e8dccc;--bg-deep:#c2b09a;--ink:#1a1815;--ink-soft:#3a352e;--paper:#f5ede1}body[data-vibe=midnight]{--bg:#1a1815;--bg-soft:#221f1a;--bg-deep:#0d0c0a;--ink:#f5ede1;--ink-soft:#c2b09a;--paper:#2a2620;--shadow:rgba(0,0,0,0.5)}body[data-vibe=paper]{--bg:#f4ede0;--bg-soft:#faf5ea;--bg-deep:#e8dfd0;--ink:#2a241e;--ink-soft:#6b6055;--paper:#ffffff}body[data-vibe=sticker]{--bg:#ead7be;--bg-soft:#f5e5cd;--bg-deep:#cbb89c;--ink:#1a1815;--ink-soft:#3a352e;--paper:#fef8ec}body[data-accent=chartreuse]{--accent:oklch(92% 0.18 110);--accent-2:oklch(68% 0.18 28)}body[data-accent=tomato]{--accent:oklch(72% 0.20 28);--accent-2:oklch(85% 0.18 100)}body[data-accent=sky]{--accent:oklch(80% 0.13 220);--accent-2:oklch(70% 0.18 30)}body[data-accent=violet]{--accent:oklch(75% 0.18 310);--accent-2:oklch(85% 0.18 100)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--sans);overflow-x:hidden;cursor:none;transition:background .6s ease,color .6s ease}body[data-cursor=off]{cursor:auto}img{display:block;max-width:100%}a{text-decoration:none}a,button{color:inherit}button{font:inherit;background:none;border:none;cursor:none}body[data-cursor=off] button{cursor:pointer}.cursor-dot{width:8px;height:8px;background:var(--ink);border-radius:50%;z-index:10000;transition:transform .12s,width .2s,height .2s,background .2s}.cursor-dot,.cursor-ring{position:fixed;pointer-events:none;transform:translate(-50%,-50%);mix-blend-mode:difference}.cursor-ring{width:36px;height:36px;border:1.5px solid var(--ink);border-radius:50%;z-index:9999;transition:transform .3s cubic-bezier(.16,1,.3,1),width .3s,height .3s,border-color .3s,opacity .2s}.cursor-dot.active{transform:translate(-50%,-50%) scale(2)}.cursor-ring.active{width:70px;height:70px;border-color:var(--accent)}.cursor-trail-dot{position:fixed;pointer-events:none;z-index:9998;width:6px;height:6px;border-radius:50%;background:var(--accent-2);transform:translate(-50%,-50%);mix-blend-mode:difference}body[data-cursor=dotring] .cursor-trail-dot,body[data-cursor=off] .cursor-dot,body[data-cursor=off] .cursor-ring,body[data-cursor=off] .cursor-trail-dot{display:none}.click-particle{position:fixed;pointer-events:none;z-index:9998;font-family:var(--serif-en)}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.6);opacity:.6}}.bubble-menu{left:0;right:0;top:2em;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 2em;pointer-events:none;z-index:99}.bubble-menu.fixed{position:fixed}.bubble-menu.absolute{position:absolute}.bubble-menu .bubble{--bubble-size:48px;width:var(--bubble-size);height:var(--bubble-size);border-radius:50%;background:var(--paper);color:var(--ink);box-shadow:0 4px 16px rgba(0,0,0,.12);display:inline-flex;align-items:center;justify-content:center;pointer-events:auto;transition:background .3s,color .3s,box-shadow .3s}.bubble-menu .logo-bubble,.bubble-menu .toggle-bubble{will-change:transform}.bubble-menu .logo-bubble{width:auto;min-height:var(--bubble-size);height:var(--bubble-size);padding:0 22px;border-radius:calc(var(--bubble-size) / 2);gap:10px;font-family:var(--serif-en);font-size:18px;letter-spacing:.02em;cursor:none;white-space:nowrap;flex-shrink:0}body[data-cursor=off] .bubble-menu .logo-bubble,body[data-cursor=off] .bubble-menu .toggle-bubble{cursor:pointer}.bubble-menu .logo-bubble:hover{transform:translateY(-2px)}.bubble-menu .logo-bubble .pulse{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulse 2.4s ease-in-out infinite;display:inline-block;flex-shrink:0}.bubble-menu .logo-bubble .sep{opacity:.4;font-style:italic;margin:0 4px}.bubble-menu .logo-bubble .cn{font-family:var(--serif-cn);font-weight:700;font-size:17px}.bubble-menu .toggle-bubble{width:var(--bubble-size);height:var(--bubble-size);cursor:none;position:relative;transition:background .3s,transform .3s}.bubble-menu .toggle-bubble:hover{transform:rotate(180deg)}.bubble-menu .toggle-bubble.open{background:var(--ink)}.bubble-menu .toggle-bubble.open:hover{transform:rotate(90deg)}.bubble-menu .menu-line{width:22px;height:2px;background:var(--ink);border-radius:2px;display:block;margin:0 auto;transition:transform .3s ease,opacity .3s ease,background .3s;transform-origin:center}.bubble-menu .menu-line+.menu-line{margin-top:6px}.bubble-menu .toggle-bubble.open .menu-line{background:var(--paper)}.bubble-menu .toggle-bubble.open .menu-line:first-child{transform:translateY(4px) rotate(45deg)}.bubble-menu .toggle-bubble.open .menu-line:last-child{transform:translateY(-4px) rotate(-45deg)}@media (min-width:768px){.bubble-menu .bubble{--bubble-size:56px}.bubble-menu .logo-bubble{padding:0 22px;font-size:20px}}.bubble-menu-items{position:fixed;inset:0;display:none;align-items:center;justify-content:center;pointer-events:none;z-index:98;opacity:0}.bubble-menu-items.open{display:flex;pointer-events:auto;opacity:1;background:rgba(216,200,180,.92)}body[data-vibe=midnight] .bubble-menu-items.open{background:rgba(26,24,21,.92)}body[data-vibe=paper] .bubble-menu-items.open{background:rgba(244,237,224,.95)}body[data-vibe=sticker] .bubble-menu-items.open{background:rgba(234,215,190,.94)}.bubble-menu-items .pill-list{list-style:none;padding:0 24px;display:flex;flex-wrap:wrap;gap:0;row-gap:8px;width:100%;max-width:1600px;margin:0 auto;pointer-events:auto;justify-content:stretch}.bubble-menu-items .pill-list .pill-col{display:flex;justify-content:center;align-items:stretch;flex-grow:0;flex-shrink:0;flex-basis:calc(100% / 3);box-sizing:border-box;padding:0 6px}.bubble-menu-items .pill-link{--pill-bg:var(--paper);--pill-color:var(--ink);--item-rot:0deg;--pill-min-h:200px;--hover-bg:var(--ink);--hover-color:var(--accent);width:100%;min-height:var(--pill-min-h);padding:clamp(1.5rem,3vw,6rem) 0;font-size:clamp(2rem,6vw,6rem);font-family:var(--serif-en);font-weight:400;font-style:italic;line-height:1;border-radius:999px;background:var(--pill-bg);color:var(--pill-color);text-decoration:none;box-shadow:0 14px 40px -10px rgba(26,24,21,.25);display:flex;align-items:center;justify-content:center;position:relative;box-sizing:border-box;white-space:nowrap;overflow:hidden;cursor:none;transform:rotate(var(--item-rot))}body[data-cursor=off] .bubble-menu-items .pill-link{cursor:pointer}.bubble-menu-items.open .pill-link{animation:pill-pop .55s cubic-bezier(.34,1.56,.64,1) both;animation-delay:calc(var(--i, 0) * .07s)}@keyframes pill-pop{0%{transform:scale(.4) rotate(var(--item-rot));opacity:0}to{transform:scale(1) rotate(var(--item-rot));opacity:1}}@media (min-width:900px){.bubble-menu-items .pill-link:hover{transform:rotate(var(--item-rot)) scale(1.06);background:var(--hover-bg);color:var(--hover-color)}.bubble-menu-items .pill-link:active{transform:rotate(var(--item-rot)) scale(.94)}.bubble-menu-items .pill-link.active{background:var(--hover-bg);color:var(--hover-color)}}.bubble-menu-items .pill-link .pill-num{position:absolute;top:18px;left:28px;font-family:var(--mono);font-size:13px;font-style:normal;opacity:.5;letter-spacing:.15em}.bubble-menu-items .pill-link .pill-dot{position:absolute;top:22px;right:28px;width:10px;height:10px;border-radius:50%;background:currentColor;opacity:0;transition:opacity .3s}.bubble-menu-items .pill-link.active .pill-dot{opacity:1}.bubble-menu-items .pill-link .pill-label{display:inline-block;will-change:transform,opacity;height:1.2em;line-height:1.2}.bubble-menu-items .pill-link .pill-sub{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);font-family:var(--serif-cn);font-style:normal;font-weight:300;font-size:13px;letter-spacing:.05em;opacity:.6}@media (max-width:899px){.bubble-menu-items{align-items:flex-start;padding-top:120px}.bubble-menu-items .pill-list{row-gap:16px}.bubble-menu-items .pill-list .pill-col{flex:0 0 100%;margin-left:0!important;overflow:visible}.bubble-menu-items .pill-link{font-size:clamp(1.6rem,5vw,4rem);padding:clamp(1rem,2vw,2rem) 0;min-height:110px;--pill-min-h:110px}.bubble-menu-items .pill-link:hover{transform:scale(1.04);background:var(--hover-bg);color:var(--hover-color)}.bubble-menu-items .pill-link:active{transform:scale(.94)}}.page-indicator{position:fixed;right:32px;top:50%;transform:translateY(-50%);z-index:100;display:flex;flex-direction:column;gap:18px;mix-blend-mode:difference}.page-indicator .dot{width:8px;height:8px;border-radius:50%;background:#f5ede1;opacity:.3;transition:all .4s;cursor:none;position:relative}.page-indicator .dot.active{opacity:1;background:var(--accent);transform:scale(1.5);box-shadow:0 0 0 6px color-mix(in oklch,var(--accent) 25%,transparent)}.page-indicator .dot .label{position:absolute;right:22px;top:50%;transform:translateY(-50%);font-family:var(--mono);font-size:10px;letter-spacing:.15em;color:#f5ede1;white-space:nowrap;opacity:0;transition:opacity .3s;text-transform:uppercase}.page-indicator .dot.active .label,.page-indicator .dot:hover .label{opacity:1}.page{min-height:100vh;position:relative;padding:110px 64px 80px}.section-label{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-soft);display:flex;align-items:center;gap:12px;font-family:var(--mono);font-weight:400}.section-label:before{content:"";width:40px;height:1px;background:currentColor}#page-home{min-height:100vh;height:100vh;padding:110px 64px 80px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;transition:background-color .9s cubic-bezier(.4,0,.2,1)}#page-home,.hero{position:relative}.hero{max-width:1400px;margin:0 auto;width:100%;height:100%}.curved-loop{position:absolute;left:0;right:0;pointer-events:none;z-index:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%;overflow:visible}#curvedTop{top:0}#curvedBottom{bottom:0}.curved-loop-svg{width:100%;aspect-ratio:100/13;overflow:visible;display:block;pointer-events:auto;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.curved-loop-svg:active{cursor:-webkit-grabbing;cursor:grabbing}.curved-loop-text{font-family:var(--serif-en);font-size:7rem;font-weight:700;fill:var(--paper);text-transform:uppercase;line-height:1;letter-spacing:.02em}.curved-loop-text-bot{fill:var(--ink);font-style:italic;font-size:5rem;text-transform:uppercase;letter-spacing:.04em}body[data-vibe=midnight] .curved-loop-text{fill:var(--ink)}body[data-vibe=midnight] .curved-loop-text-bot{fill:var(--accent)}body[data-vibe=paper] .curved-loop-text{fill:var(--ink);opacity:.08}body[data-vibe=paper] .curved-loop-text-bot{fill:var(--ink);opacity:.5}.lanyard-stage{position:absolute;top:47%;left:50%;width:clamp(230px,22vw,340px);min-height:clamp(390px,40vw,545px);margin-left:calc(clamp(230px, 22vw, 340px) / -2);margin-top:calc(clamp(390px, 40vw, 545px) / -2);z-index:2;cursor:none;will-change:transform;transform-style:preserve-3d;perspective:1000px;opacity:0;animation:lanyardEntrance 1.35s cubic-bezier(.16,1,.3,1) .25s forwards;filter:drop-shadow(0 34px 60px rgba(26,24,21,.22));touch-action:none}@keyframes lanyardEntrance{0%{opacity:0;transform:translateY(34px) scale(.92) rotate(-2deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0deg)}}.lanyard-cord{position:absolute;left:50%;top:-118px;width:74%;height:190px;transform:translateX(-50%);pointer-events:none;z-index:0}.lanyard-cord svg{width:100%;height:100%;overflow:visible}.lanyard-cord path{fill:none;stroke-linecap:round}.lanyard-cord .cord-shadow{stroke:color-mix(in oklch,var(--ink) 18%,transparent);stroke-width:18}.lanyard-cord .cord-main{stroke:var(--ink);stroke-width:10}.lanyard-badge{position:absolute;left:0;right:0;top:34px;height:calc(100% - 34px);transform-origin:50% 42px;transform-style:preserve-3d;cursor:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;will-change:transform}.lanyard-clip{position:absolute;top:0;left:50%;width:76px;height:46px;transform:translateX(-50%);border-radius:18px;background:var(--ink);display:grid;place-items:center;z-index:2;box-shadow:0 10px 26px rgba(26,24,21,.18)}.lanyard-clip span{width:36px;height:12px;border-radius:999px;background:var(--paper);opacity:.9}.lanyard-card{position:absolute;left:0;right:0;top:62px;padding:18px 18px 22px;border-radius:24px;background:var(--paper);color:var(--ink);border:1px solid color-mix(in oklch,var(--ink) 12%,transparent);box-shadow:0 30px 80px rgba(26,24,21,.22);overflow:hidden}.lanyard-card:before{content:"";position:absolute;inset:-45% -40% auto auto;width:120%;height:76%;background:radial-gradient(circle,var(--accent) 0,transparent 38%);opacity:.12;pointer-events:none}.lanyard-hole{width:58px;height:11px;margin:0 auto 16px;border-radius:999px;background:color-mix(in oklch,var(--ink) 12%,transparent);box-shadow:inset 0 1px 4px rgba(26,24,21,.12);position:relative;z-index:1}.lanyard-photo{position:relative;z-index:1;aspect-ratio:4/5;border-radius:16px;overflow:hidden;background:#fff;border:1px solid color-mix(in oklch,var(--ink) 12%,transparent)}.lanyard-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 15%;transition:transform .8s cubic-bezier(.16,1,.3,1)}.lanyard-stage:hover .lanyard-photo img{transform:scale(1.035)}.lanyard-meta{position:relative;z-index:1;margin-top:14px;display:grid;grid-gap:5px;gap:5px;text-align:center}.lanyard-meta span{font-family:var(--mono);font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-soft)}.lanyard-meta strong{font-family:var(--serif-en);font-size:clamp(22px,2.1vw,32px);font-weight:400;line-height:1}.lanyard-meta em{font-family:var(--serif-cn);font-size:13px;font-style:normal;color:var(--ink-soft)}.star{position:absolute;width:44px;height:44px;background:var(--ink);border-radius:50%;display:grid;place-items:center;z-index:3;will-change:transform;--px:0px;--py:0px;animation:float 6s ease-in-out infinite;cursor:none}.star svg{width:24px;height:24px;transition:transform .6s}.star:hover svg{transform:rotate(120deg) scale(1.15)}.star.s1{top:18%;left:12%;animation-delay:0s}.star.s2{top:26%;right:12%;animation-delay:-2s}.star.s3{bottom:22%;left:22%;animation-delay:-4s;background:var(--accent)}.star.s3 svg path{fill:var(--ink)}.star.s4{bottom:28%;right:18%;animation-delay:-1s;background:var(--accent)}.star.s4 svg path{fill:var(--ink)}.star.s5{top:52%;left:6%;animation-delay:-3s;width:28px;height:28px;background:var(--accent-2)}.star.s5 svg{width:16px;height:16px}.star.s5 svg path{fill:var(--paper)}.star.s6{top:60%;right:6%;animation-delay:-5s;width:32px;height:32px}.star.s6 svg{width:18px;height:18px}.star.exploded{animation:explode .9s cubic-bezier(.16,1,.3,1) forwards!important}@keyframes explode{0%{transform:var(--initial,none) scale(1);opacity:1}20%{transform:scale(1.6)}to{transform:translate(var(--ex),var(--ey)) scale(0);opacity:0}}@keyframes float{0%,to{transform:translate(var(--px),calc(var(--py) + 0px)) rotate(0deg)}50%{transform:translate(var(--px),calc(var(--py) - 18px)) rotate(8deg)}}body[data-vibe=sticker] .star{width:56px;height:56px;border-radius:14px;transform:rotate(-8deg)}body[data-vibe=sticker] .star svg{width:30px;height:30px}body[data-vibe=sticker] .star.s5{width:38px;height:38px;border-radius:10px}body[data-vibe=sticker] .star.s5 svg{width:22px;height:22px}body[data-vibe=sticker] .star.s6{width:42px;height:42px;border-radius:12px}.scroll-cue{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--ink);opacity:.45;display:flex;flex-direction:column;align-items:center;gap:10px;z-index:1;pointer-events:none;font-family:var(--mono)}.scroll-cue .arrow{width:1px;height:28px;background:color-mix(in oklch,var(--ink) 30%,transparent);position:relative;overflow:hidden}.scroll-cue .arrow:after{content:"";position:absolute;top:0;left:0;width:100%;height:50%;background:var(--accent-2);animation:drop 1.6s ease-in-out infinite}@keyframes drop{0%{transform:translateY(-100%)}to{transform:translateY(200%)}}.hero-footer{left:0;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);opacity:.6}.hero-footer,.hero-social{position:absolute;bottom:30px;font-family:var(--mono)}.hero-social{right:0;display:flex;flex-direction:column;align-items:flex-end;gap:6px;font-size:11px;color:var(--ink);letter-spacing:.1em}#page-about{background:var(--bg-soft);padding:140px 64px 100px;position:relative}.about-layout{display:grid;grid-template-columns:1fr;grid-gap:0;gap:0;max-width:1400px;margin:0 auto}.about-content{display:grid;grid-template-columns:1fr 380px;grid-gap:80px;gap:80px;align-items:start}.about-header{margin-bottom:70px;display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.about-header h2{font-family:var(--serif-en);font-size:clamp(56px,8vw,120px);line-height:.95;letter-spacing:-.02em;margin-top:20px}.about-header h2 em{font-style:italic}.about-meta{font-size:13px;line-height:1.8;color:var(--ink-soft);text-align:right;flex-shrink:0;font-family:var(--mono)}.about-meta .row{display:flex;justify-content:space-between;gap:30px;padding:4px 0;border-bottom:1px dashed var(--ink-soft);min-width:240px}.about-meta .row span:first-child{text-transform:uppercase;letter-spacing:.15em;font-size:10px;opacity:.6}.about-meta .row span:last-child{font-family:var(--sans);font-weight:500}.about-meta .row .status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#4ade80;box-shadow:0 0 8px #4ade80;margin-right:6px;animation:pulse 2.4s infinite}.about-main h3{font-family:var(--serif-en);font-size:32px;margin-bottom:18px;font-style:italic}.about-main h3 .hl{background:linear-gradient(180deg,transparent 60%,var(--accent) 60%);padding:0 6px}.about-main .intro{font-size:17px;line-height:1.85;margin-bottom:56px;color:var(--ink-soft);max-width:640px;font-family:var(--serif-cn);font-weight:300}.about-main .intro strong{color:var(--ink);font-weight:500;background:linear-gradient(180deg,transparent 60%,var(--accent) 60%)}.strengths{display:grid;grid-gap:0;gap:0}.strength{border-top:1px solid var(--ink);padding:26px 0;display:grid;grid-template-columns:64px 1fr 24px;grid-gap:24px;gap:24px;cursor:none;transition:padding .4s,background .4s;position:relative}.strength:last-child{border-bottom:1px solid var(--ink)}.strength.pinned,.strength:hover{padding-left:16px;background:linear-gradient(90deg,var(--accent) 0,transparent 60%)}.strength .num{font-family:var(--serif-en);font-size:36px;line-height:1;font-style:italic}.strength .body h4{font-family:var(--serif-cn);font-size:20px;font-weight:700;margin-bottom:0;transition:margin-bottom .4s}.strength.pinned .body h4,.strength:hover .body h4{margin-bottom:10px}.strength .body .desc{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.16,1,.3,1)}.strength.pinned .body .desc,.strength:hover .body .desc{grid-template-rows:1fr}.strength .body .desc>div{overflow:hidden}.strength .body .desc p{font-size:14px;line-height:1.75;color:var(--ink-soft);font-weight:300;font-family:var(--serif-cn);opacity:0;transform:translateY(4px);transition:opacity .3s .05s,transform .4s .05s}.strength.pinned .body .desc p,.strength:hover .body .desc p{opacity:1;transform:translateY(0)}.strength .body .desc p .hl{background:var(--accent);padding:1px 4px;color:var(--ink);font-weight:500}.strength .body .read-hint{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--ink-soft);opacity:.5;text-transform:uppercase;margin-top:2px;transition:opacity .3s,transform .3s}.strength.pinned .body .read-hint,.strength:hover .body .read-hint{opacity:0;transform:translateY(-4px)}.strength .arrow{align-self:center;opacity:.3;transition:opacity .3s,transform .4s;font-family:var(--serif-en);font-style:italic;font-size:18px}.strength.pinned .arrow,.strength:hover .arrow{opacity:1;transform:translateX(6px) rotate(0deg)}.strength.pinned .arrow{transform:translateX(6px) rotate(90deg)}.agent-slot{position:-webkit-sticky;position:sticky;top:110px;background:var(--paper);border-radius:24px;padding:26px 22px 20px;box-shadow:0 24px 60px -20px var(--shadow);border:1px dashed color-mix(in oklch,var(--ink) 18%,transparent);display:flex;flex-direction:column;overflow:hidden;min-height:560px;max-height:calc(100vh - 140px)}.agent-slot:before{content:"";position:absolute;top:-40%;right:-40%;width:180%;height:180%;background:radial-gradient(circle,var(--accent) 0,transparent 35%);opacity:.16;pointer-events:none;z-index:0}.agent-header{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px dashed color-mix(in oklch,var(--ink) 20%,transparent);margin-bottom:14px;position:relative;z-index:1}.agent-avatar{width:42px;height:42px;background:var(--ink);border-radius:50%;display:grid;place-items:center;position:relative;overflow:hidden;flex-shrink:0}.agent-avatar:before{content:"";position:absolute;inset:0;background:conic-gradient(from 0deg,var(--accent),var(--accent-2),var(--accent));animation:spin 4s linear infinite}.agent-avatar:after{content:"";position:absolute;inset:3px;background:var(--ink);border-radius:50%}.agent-avatar svg{position:relative;z-index:2;width:22px;height:22px}.agent-avatar svg path{fill:var(--accent)}@keyframes spin{to{transform:rotate(1turn)}}.agent-name{font-family:var(--serif-en);font-size:18px;color:var(--ink)}.agent-status{font-size:11px;color:var(--ink-soft);display:flex;align-items:center;gap:6px;margin-top:2px;font-family:var(--mono);letter-spacing:.1em}.agent-status:before{content:"";width:6px;height:6px;background:#4ade80;border-radius:50%;box-shadow:0 0 8px #4ade80}.agent-thread{flex:1 1;overflow-y:auto;padding:4px 4px 4px 0;display:flex;flex-direction:column;gap:10px;min-height:160px;max-height:360px;position:relative;z-index:1;scrollbar-width:thin;scrollbar-color:color-mix(in oklch,var(--ink) 20%,transparent) transparent}.agent-thread::-webkit-scrollbar{width:6px}.agent-thread::-webkit-scrollbar-thumb{background:color-mix(in oklch,var(--ink) 18%,transparent);border-radius:6px}.agent-bubble{background:var(--bg-soft);border-radius:14px 14px 14px 4px;padding:12px 14px;font-size:13px;line-height:1.65;color:var(--ink-soft);font-family:var(--serif-cn);max-width:92%;animation:bubbleIn .4s cubic-bezier(.16,1,.3,1);word-wrap:break-word;white-space:pre-wrap}.agent-bubble.me{background:var(--ink);color:var(--paper);border-radius:14px 14px 4px 14px;align-self:flex-end;margin-left:30px}.agent-bubble.thinking{font-style:italic;color:var(--ink-soft)}.agent-bubble.thinking .dots{display:inline-block;letter-spacing:.25em;animation:dots 1.4s infinite}@keyframes bubbleIn{0%{opacity:0;transform:translateY(6px)}}@keyframes dots{0%,to{opacity:.35}50%{opacity:1}}.agent-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;position:relative;z-index:1}.agent-suggestions .chip{font-size:11px;padding:6px 12px;background:color-mix(in oklch,var(--ink) 6%,transparent);border-radius:100px;color:var(--ink);cursor:none;transition:background .25s,color .25s,transform .25s,border-color .25s,opacity .2s;border:1px dashed transparent;font-family:var(--sans);font-weight:500}body[data-cursor=off] .agent-suggestions .chip{cursor:pointer}.agent-suggestions .chip:hover:not(:disabled){background:var(--accent);border-color:var(--ink);transform:translateY(-2px)}.agent-suggestions .chip:disabled{opacity:.4;cursor:default}.agent-input{margin-top:14px;display:flex;gap:8px;background:var(--bg-soft);border-radius:100px;padding:6px 6px 6px 16px;align-items:center;position:relative;z-index:1}.agent-input input{flex:1 1;border:none;background:transparent;font-size:13px;outline:none;font-family:inherit;color:var(--ink)}.agent-input input::placeholder{color:var(--ink-soft);opacity:.6}.agent-input button{width:32px;height:32px;background:var(--ink);color:var(--paper);border-radius:50%;display:grid;place-items:center;transition:transform .3s,opacity .3s;cursor:none;flex-shrink:0}body[data-cursor=off] .agent-input button{cursor:pointer}.agent-input button:hover:not(:disabled){transform:scale(1.1) rotate(-12deg)}.agent-input button:disabled{opacity:.4}.agent-placeholder-note{position:absolute;top:10px;right:14px;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);opacity:.5;font-family:var(--mono);z-index:2}.skills-block{margin-top:100px;padding-top:40px;border-top:1px solid color-mix(in oklch,var(--ink) 15%,transparent)}.skills-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:40px;gap:40px;margin-top:30px}.skill-cat .cat-name{font-family:var(--serif-en);font-style:italic;font-size:22px;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--ink);display:flex;justify-content:space-between;align-items:baseline}.skill-cat .cat-name .cnt{font-family:var(--mono);font-style:normal;font-size:11px;opacity:.5}.skill-cat .tags{display:flex;flex-wrap:wrap;gap:6px}.skill-cat .tag{font-size:12px;padding:5px 11px;border:1px solid var(--ink);border-radius:100px;transition:all .3s;cursor:none;position:relative;background:transparent;color:var(--ink)}.skill-cat .tag:hover{background:var(--ink);color:var(--paper);transform:translateY(-2px) rotate(-2deg)}.skill-cat .tag:after{content:attr(data-year);position:absolute;bottom:100%;left:50%;transform:translate(-50%,4px);font-family:var(--mono);font-size:9px;background:var(--accent);color:var(--ink);padding:2px 6px;border-radius:4px;opacity:0;transition:opacity .3s,transform .3s;pointer-events:none;white-space:nowrap;margin-bottom:6px}.skill-cat .tag:hover:after{opacity:1;transform:translate(-50%)}#page-works{background:var(--ink);color:var(--paper);padding:140px 64px 100px}body[data-vibe=midnight] #page-works{background:var(--bg)}body[data-vibe=paper] #page-works{background:#2a241e;color:#f4ede0}body[data-vibe=paper] #page-works .section-label{color:#f4ede0;opacity:.6}body[data-vibe=paper] #page-works .section-label:before{background:#f4ede0}#page-works .section-label{color:var(--paper);opacity:.6}#page-works .section-label:before{background:var(--paper)}#page-works .section-label,.contact h3,.edu h3,.footer-block .section-label,.portfolio-strip span,.works-header h2{font-family:var(--cute-cn);font-weight:400;letter-spacing:.08em;text-transform:none;text-shadow:0 1px 0 color-mix(in oklch,currentColor 12%,transparent)}.portfolio-strip{margin:-140px -64px 96px;padding:42px 64px 30px;display:flex;align-items:flex-start;justify-content:space-between;gap:28px;background:var(--paper);color:var(--ink);font-family:var(--mono);text-decoration:none;transition:color .3s,border-color .3s,transform .3s;position:relative}.portfolio-strip:after{content:"";position:absolute;left:64px;right:64px;bottom:0;height:1px;background:color-mix(in oklch,var(--ink) 16%,transparent)}.portfolio-strip span:first-child{font-size:clamp(22px,2.8vw,46px);line-height:1;color:color-mix(in oklch,var(--ink) 62%,transparent)}.portfolio-strip span:last-child{font-family:var(--serif-cn);font-size:clamp(22px,2.2vw,34px);line-height:1;color:var(--ink);white-space:nowrap}.portfolio-strip:hover{color:var(--accent);transform:translateY(-2px)}.portfolio-strip:hover:after{background:color-mix(in oklch,var(--accent) 65%,var(--ink))}.portfolio-strip:hover span:first-child,.portfolio-strip:hover span:last-child{color:var(--ink)}.works-header{max-width:1400px;margin:0 auto 80px}.works-header h2{font-family:var(--serif-en);font-size:clamp(56px,8vw,120px);line-height:.95;letter-spacing:-.02em;margin-top:20px}.works-header h2 em{font-style:italic;color:var(--accent)}.works-header .lede{margin-top:24px;max-width:560px;font-family:var(--serif-cn);font-weight:300;font-size:14px;line-height:1.7;color:color-mix(in oklch,var(--paper) 70%,transparent)}.timeline{max-width:1400px;margin:0 auto;position:relative}.timeline:before{content:"";position:absolute;left:200px;top:0;bottom:0;width:1px;background:color-mix(in oklch,var(--paper) 20%,transparent)}.work-entry{display:grid;grid-template-columns:200px 1fr;grid-gap:60px;gap:60px;padding:50px 0;border-bottom:1px solid color-mix(in oklch,var(--paper) 10%,transparent);position:relative;cursor:none}.work-entry:before{content:"";position:absolute;left:196px;top:60px;width:9px;height:9px;background:var(--accent);border-radius:50%;box-shadow:0 0 0 4px var(--ink),0 0 0 5px var(--accent);transition:transform .4s}.work-entry.expanded:before{transform:scale(1.6);box-shadow:0 0 0 4px var(--ink),0 0 0 5px var(--accent),0 0 20px var(--accent)}.work-date{font-family:var(--serif-en);font-size:18px;line-height:1.4;font-style:italic;transition:transform .4s}.work-entry:hover .work-date{transform:translateX(-8px)}.work-date .year{display:block;font-size:42px;font-style:normal;margin-bottom:4px;transition:color .4s,transform .4s}.work-entry:hover .work-date .year{color:var(--accent)}.work-body{padding-left:60px}.work-company{font-family:var(--mono);font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:color-mix(in oklch,var(--paper) 65%,transparent);margin-bottom:8px;display:flex;align-items:center;gap:12px}.work-company .logo-dot{width:22px;height:22px;border-radius:50%;background:color-mix(in oklch,var(--paper) 12%,transparent);display:grid;place-items:center;font-family:var(--serif-en);font-style:italic;font-size:12px;color:var(--paper)}.work-role{font-family:var(--serif-en);font-size:38px;line-height:1.1;margin-bottom:24px}.work-role em{font-style:italic;color:var(--accent)}.work-role .toggle{font-family:var(--mono);font-style:normal;font-size:12px;color:color-mix(in oklch,var(--paper) 55%,transparent);letter-spacing:.2em;vertical-align:super;margin-left:14px;transition:color .3s}.work-entry:hover .work-role .toggle{color:var(--accent)}.work-overview{font-size:15px;line-height:1.75;color:color-mix(in oklch,var(--paper) 78%,transparent);margin-bottom:28px;font-family:var(--serif-cn);font-weight:300;max-width:720px}.work-collapsible{overflow:hidden;max-height:0;transition:max-height .7s cubic-bezier(.4,0,.2,1),opacity .4s;opacity:0}.work-entry.expanded .work-collapsible{max-height:2000px;opacity:1}.work-achievements{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:1px;gap:1px;background:color-mix(in oklch,var(--paper) 12%,transparent);border:1px solid color-mix(in oklch,var(--paper) 12%,transparent);margin-bottom:28px}.achievement{background:var(--ink);padding:22px;transition:background .3s;cursor:none;position:relative;overflow:hidden}body[data-vibe=midnight] .achievement{background:var(--bg-soft)}.achievement:hover{background:color-mix(in oklch,var(--ink) 80%,var(--paper))}body[data-vibe=midnight] .achievement:hover{background:color-mix(in oklch,var(--bg-soft) 70%,var(--accent))}.achievement .metric{font-family:var(--serif-en);font-size:40px;line-height:1;color:var(--accent);margin-bottom:6px;display:flex;align-items:baseline;gap:4px}.achievement .metric small{font-size:14px;color:color-mix(in oklch,var(--paper) 55%,transparent)}.achievement .desc{font-size:12px;color:color-mix(in oklch,var(--paper) 70%,transparent);line-height:1.55;font-family:var(--serif-cn)}.achievement:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .5s}.achievement:hover:after{transform:scaleX(1)}.work-details{display:grid;grid-gap:14px;gap:14px}.detail-item{display:grid;grid-template-columns:24px 1fr;grid-gap:14px;gap:14px;font-size:14px;line-height:1.75;color:color-mix(in oklch,var(--paper) 85%,transparent);font-weight:300;font-family:var(--serif-cn)}.detail-item .marker{font-family:var(--serif-en);color:var(--accent);font-style:italic}.detail-item strong{color:var(--paper);font-weight:500;background:linear-gradient(180deg,transparent 60%,color-mix(in oklch,var(--accent) 30%,transparent) 60%)}.footer-block{background:var(--paper);color:var(--ink);padding:100px 64px 50px;position:relative;overflow:hidden}.footer-block:before{content:"Get in touch";position:absolute;bottom:-40px;left:50%;transform:translateX(-50%);font-family:var(--serif-en);font-style:italic;font-size:clamp(120px,18vw,280px);color:var(--ink);opacity:.06;white-space:nowrap;pointer-events:none}.footer-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:80px;gap:80px;max-width:1400px;margin:0 auto;position:relative;z-index:1}.contact h3,.edu h3{font-family:var(--serif-en);font-size:32px;margin-top:20px;margin-bottom:24px;font-style:italic}.edu .school{font-family:var(--serif-cn);font-size:22px;font-weight:700;margin-bottom:6px}.edu .major{font-family:var(--mono);font-size:12px;letter-spacing:.05em;color:var(--ink-soft);margin-bottom:24px}.edu .awards{font-size:13px;line-height:1.85;color:var(--ink-soft);font-family:var(--serif-cn);font-weight:300}.edu .awards strong{color:var(--ink);font-weight:500}.edu .award-row{display:grid;grid-template-columns:22px 56px 1fr;grid-gap:10px;gap:10px;padding:6px 0;align-items:baseline;border-bottom:1px dashed color-mix(in oklch,var(--ink) 15%,transparent)}.edu .award-row:last-child{border-bottom:none}.edu .award-row .y{font-family:var(--mono);font-size:11px;color:var(--ink-soft)}.contact-row{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid color-mix(in oklch,var(--ink) 15%,transparent);font-size:14px;cursor:none;position:relative;transition:padding .3s}.contact-row:hover{padding-left:8px}.contact-row span:first-child{text-transform:uppercase;letter-spacing:.15em;font-size:11px;opacity:.6;font-family:var(--mono)}.contact-row .copy-hint{position:absolute;right:0;top:50%;transform:translateY(-50%) translateX(0);font-family:var(--mono);font-size:10px;color:var(--accent-2);opacity:0;pointer-events:none;background:var(--ink);color:var(--paper);padding:4px 8px;border-radius:4px;transition:opacity .3s,transform .3s}.contact-row.copied .copy-hint{opacity:1;transform:translateY(-50%) translateX(-4px)}.contact-cta{margin-top:40px;display:inline-flex;align-items:center;gap:14px;padding:20px 36px;background:var(--ink);color:var(--paper);border-radius:100px;font-size:14px;letter-spacing:.15em;text-transform:uppercase;cursor:none;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s;position:relative;overflow:hidden;font-family:var(--sans);font-weight:500}.contact-cta:after{content:"";position:absolute;inset:0;background:var(--accent);transform:translateX(-101%);transition:transform .5s cubic-bezier(.7,0,.3,1)}.contact-cta:hover:after{transform:translateX(0)}.contact-cta:hover{color:var(--ink)}.contact-cta:hover .arrow{transform:translateX(8px) rotate(0deg)}.contact-cta .arrow,.contact-cta span{position:relative;z-index:1;transition:transform .4s}.footer-bottom{max-width:1400px;margin:80px auto 0;padding-top:30px;border-top:1px solid color-mix(in oklch,var(--ink) 15%,transparent);display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);position:relative;z-index:1}.footer-bottom .ascii{opacity:.4;letter-spacing:.1em}#page-works .section-label,.contact h3,.edu h3,.footer-block .section-label,.portfolio-strip span:first-child,.portfolio-strip span:last-child,.works-header h2,.works-header h2 em{font-family:var(--cute-cn);font-style:normal;font-weight:400;text-transform:none;letter-spacing:.08em;text-shadow:0 1px 0 color-mix(in oklch,currentColor 14%,transparent),0 6px 18px color-mix(in oklch,currentColor 8%,transparent)}.works-header h2{line-height:1.12;letter-spacing:.04em}.portfolio-strip span:first-child{letter-spacing:.2em}#page-works .section-label,.footer-block .section-label{letter-spacing:.14em}.scroll-reveal{will-change:transform;transform-origin:0 60%}.scroll-reveal .word{display:inline-block;opacity:var(--w-opacity,.12);filter:blur(var(--w-blur,4px));transition:opacity .1s linear,filter .1s linear}@media (max-width:1100px){nav.topbar{padding:20px 24px}#page-about,#page-works,.page{padding:100px 28px 60px}.about-content,.about-layout{grid-template-columns:1fr}.about-content{gap:40px}.agent-slot{position:static;width:92vw;max-width:480px;margin:0 auto;max-height:80vh;min-height:auto}.agent-thread{max-height:40vh}.timeline:before{left:12px}.work-entry{grid-template-columns:1fr;gap:20px}.work-entry:before{left:8px;top:8px}.work-body,.work-date{padding-left:40px}.work-date{font-size:14px}.work-date .year{font-size:28px}.footer-grid{grid-template-columns:1fr;gap:50px}.footer-block{padding:80px 28px 40px}.about-header{flex-direction:column;align-items:flex-start}.about-meta{text-align:left}.page-indicator{right:16px}body{cursor:auto}.cursor-dot,.cursor-ring,.cursor-trail-dot{display:none}.achievement,.chip,.contact-cta,.contact-row,.dot,.star,.strength,.tag,.work-entry,a,button{cursor:pointer}}@media (max-width:640px){.portfolio-strip{margin:-100px -28px 54px;padding:32px 28px 20px;align-items:flex-end;gap:18px}.portfolio-strip:after{left:28px;right:28px}.portfolio-strip span:first-child{font-size:16px;letter-spacing:.32em}.portfolio-strip span:last-child{font-size:16px}.star{display:none}.lanyard-stage{position:relative;top:auto;left:auto;width:min(82vw,340px);min-height:500px;margin:28px auto 0;transform:none}.lanyard-cord{top:-86px;height:150px}.lanyard-card{top:54px}.hero{display:flex;flex-direction:column;align-items:center}.hero-footer,.hero-social{position:static;margin-top:20px}}