.hero{gap:var(--sp-7);padding-block:var(--sp-8) var(--sp-7);grid-template-columns:minmax(0,1fr) 250px;align-items:center;display:grid}.hero h1{margin-top:var(--sp-4);font-size:clamp(2.6rem,6vw,4rem)}.hero .accent{color:var(--primary)}.hero-p{margin-top:var(--sp-4);max-width:56ch;font-size:1.15rem}.hero-p+.hero-p{color:var(--text-muted);font-size:var(--text-base)}.hero-chips{gap:var(--sp-2);margin-top:var(--sp-5);flex-wrap:wrap;padding:0;list-style:none;display:flex}.rise{animation:card-in .42s var(--ease-out) var(--d,0s) backwards}.hero-art{justify-self:center}.mini-graph .mg-main{fill:none;stroke:var(--primary);stroke-width:3px;stroke-linecap:round;animation:draw-path .7s var(--ease-out) var(--d) backwards}.mini-graph .mg-branch{fill:none;stroke-width:2.5px;stroke-linecap:round;animation:draw-path .62s var(--ease-out) var(--d) backwards}.mini-graph .mg-edu{stroke:var(--c-education)}.mini-graph .mg-research{stroke:var(--c-research)}.mini-graph .mg-dot{fill:var(--primary);transform-box:fill-box;transform-origin:50%;animation:node-pop .26s var(--ease-spring) var(--d) backwards}.mini-graph .mg-node{fill:var(--bg);stroke-width:2.5px;transform-box:fill-box;transform-origin:50%;animation:node-pop .3s var(--ease-spring) var(--d) backwards}.mini-graph .mg-main-node{stroke:var(--primary)}.mini-graph .mg-edu-node{stroke:var(--c-education)}.mini-graph .mg-research-node{stroke:var(--c-research)}.mini-graph .mg-pulse{fill:none;stroke:var(--accent);stroke-width:2px;transform-box:fill-box;transform-origin:50%;animation:head-pulse 2.8s var(--ease-out) 1.4s infinite}.about-sec{margin-top:var(--sp-8)}.about-sec h2{margin-top:var(--sp-4)}.about-sec .intro{margin-top:var(--sp-2);color:var(--text-muted)}.tag-list{margin-top:var(--sp-5);gap:var(--sp-4) var(--sp-7);grid-template-columns:repeat(2,minmax(0,1fr));padding:0;list-style:none;display:grid}.tag-row{gap:var(--sp-4);padding-block:var(--sp-3);border-bottom:1px dashed var(--border);align-items:baseline;display:flex}.tag-chip{font-family:var(--font-mono);font-size:var(--text-mono-small);color:var(--primary);background:color-mix(in srgb, var(--primary) 10%, transparent);border:1px solid color-mix(in srgb, var(--primary) 35%, transparent);border-radius:var(--radius-s);white-space:nowrap;padding:3px 8px}.tag-row strong{font-weight:700}.tag-detail{color:var(--text-muted);font-size:var(--text-small);margin-top:2px}@media (width<=760px){.tag-list{gap:var(--sp-1);grid-template-columns:1fr}}.hobby-log{margin:var(--sp-6) 0 0 var(--sp-2);padding:0;list-style:none;position:relative}.hobby-log:before{content:"";background:var(--primary);opacity:.55;border-radius:2px;width:2.5px;position:absolute;top:18px;bottom:18px;left:6px}.hobby-log>li{gap:var(--sp-4) var(--sp-7);padding:var(--sp-5) 0 var(--sp-5) var(--sp-7);grid-template-columns:minmax(0,1fr);align-items:center;display:grid;position:relative}.hobby-log>li.has-photo{grid-template-columns:minmax(0,1fr) 320px}.hl-node{background:var(--bg);border:3px solid var(--branch-color);width:14px;height:14px;box-shadow:0 0 0 4px color-mix(in srgb, var(--branch-color) 14%, transparent);transition:transform var(--dur-quick) var(--ease-spring);border-radius:50%;position:absolute;top:50%;left:0;transform:translateY(-50%)}.hobby-log>li:hover .hl-node{transform:translateY(-50%)scale(1.2)}.hl-head{align-items:baseline;gap:var(--sp-3);flex-wrap:wrap;display:flex}.hl-head h3{font-size:1.35rem}.hl-hash{color:var(--text-dim);font-size:var(--text-mono-small)}.hl-desc{margin-top:var(--sp-2);color:var(--text-muted);max-width:54ch}.hl-photo{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);padding:var(--sp-2);transition:transform var(--dur-slow) var(--ease-spring), box-shadow var(--dur-slow) var(--ease-out);margin:0;transform:rotate(.8deg)}.hobby-log>li:nth-child(2n) .hl-photo{transform:rotate(-.8deg)}.hl-photo:hover{box-shadow:var(--shadow-panel);transform:rotate(0)translateY(-4px)}.hl-photo img{aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius-s);width:100%}.hl-photo.is-quad{gap:var(--sp-2);grid-template-columns:1fr 1fr;display:grid}.hl-photo.is-quad img{aspect-ratio:1}@media (width<=899px){.hero{padding-block:var(--sp-7) var(--sp-6);grid-template-columns:1fr}.hero-art{display:none}.hobby-log>li.has-photo{grid-template-columns:minmax(0,1fr)}.hl-photo{max-width:400px}}
