.descent{--status-h:2.75rem}@media (width>=64rem){.descent{--status-h:2rem}}body:has(.descent){background-image:none}.dmap{pointer-events:none;position:fixed;inset:0}.dmap-svg,.dveil,.dmap-overlay{width:100%;height:100%;position:absolute;inset:0}.dmap-overlay>*{position:absolute;top:0;left:0}.dveil{--veil:color-mix(in srgb, var(--color-paper) 72%, transparent);background:linear-gradient(90deg, var(--veil) 0, var(--veil) var(--veil-x,0px), transparent calc(var(--veil-x,0px) + 14rem))}.descent[data-fit=full] .dveil{background:color-mix(in srgb, var(--color-paper) 58%, transparent)}.descent[data-fit=full] .dmap-mark{display:none}.descent[data-fit=full] .dmap-overlay{opacity:.55}.dmap-level{fill:none;stroke:var(--color-cobalt);stroke-width:.6px;vector-effect:non-scaling-stroke;opacity:calc(.15 * (.4 + var(--depth)))}.dmap-level.is-major{stroke-width:1px;opacity:calc(.36 * (.4 + var(--depth)))}.dmap-route-todo,.dmap-route-done{fill:none;stroke-linecap:round;stroke-linejoin:round}.dmap-route-todo{stroke:var(--color-ink-muted);opacity:.75}.dmap-route-done{stroke:var(--color-shu)}.dmap-mark{color:var(--color-cobalt);text-decoration:none;display:block}.descent[data-fit=side] .dmap-mark{pointer-events:auto}.dmap-mark-box{background:var(--color-paper);width:8px;height:8px;transition:background-color .2s var(--ease-out-strong), transform .12s var(--ease-out-strong);border:1.25px solid;position:absolute;top:-4px;left:-4px}.dmap-mark-label{font-family:var(--font-mono);white-space:nowrap;background:color-mix(in srgb, var(--color-paper) 80%, transparent);padding:2px 3px;font-size:11px;line-height:1;position:absolute;top:-19px;left:9px}.descent[data-fit=full] .dmap-mark-label{display:none}.dmap-mark.is-flip .dmap-mark-label{left:auto;right:9px}.dmap-mark.is-done{color:var(--color-shu)}.dmap-mark.is-done .dmap-mark-box{background:currentColor}@media (hover:hover){.dmap-mark:hover .dmap-mark-box{transform:scale(1.35)}.dmap-mark:hover .dmap-mark-label{text-underline-offset:2px;text-decoration:underline}}.dmap-here{width:0;height:0}.dmap-here:before{content:"";background:var(--color-shu);width:11px;height:11px;box-shadow:0 0 0 4px color-mix(in srgb, var(--color-shu) 18%, transparent);border-radius:50%;position:absolute;top:-5.5px;left:-5.5px}.dmap-star:before,.dmap-star:after{content:"";background:var(--color-ink-muted);position:absolute}.dmap-star:before{width:14px;height:1px;top:-.5px;left:-7px}.dmap-star:after{width:1px;height:14px;top:-7px;left:-.5px}.dmap-pulse{border:2px solid var(--color-shu);opacity:0;border-radius:50%;width:20px;height:20px;position:absolute;top:-10px;left:-10px}.dmap-star.is-pulsing .dmap-pulse{animation:1.2s cubic-bezier(.16,1,.3,1) both descent-pulse}@keyframes descent-pulse{0%{opacity:0;transform:scale(.5)}12%{opacity:.9}to{opacity:0;transform:scale(5)}}.dmap-caption{display:none}.descent[data-fit=side] .dmap-caption{right:1.5rem;bottom:calc(var(--status-h) + 1rem);text-align:right;max-width:22rem;color:var(--color-ink-muted);margin:0;font-size:.75rem;line-height:1.6;display:block;position:absolute}.dmap-caption .font-mono{color:var(--color-ink);margin-right:.5em}.dstatus{z-index:40;height:calc(var(--status-h) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);--bar-bg:light-dark(#1f2e3a,#172029);--bar-fg:#dbe4ec;background:var(--bar-bg);color:var(--bar-fg);border-top:1px solid var(--color-line);font-family:var(--font-mono);white-space:nowrap;font-variant-numeric:tabular-nums;align-items:stretch;font-size:12px;display:flex;position:fixed;bottom:0;left:0;right:0}.dstatus-session{background:var(--color-shu);color:light-dark(#fff,#0e151c);align-items:center;padding:0 .75rem;font-weight:500;display:none}.dstatus ol{scrollbar-width:none;min-width:0;margin:0;padding:0 .25rem;list-style:none;display:flex;overflow-x:auto}.dstatus a{height:100%;color:inherit;opacity:.72;transition:opacity .12s var(--ease-out-strong), background-color .12s var(--ease-out-strong);align-items:center;padding:0 .625rem;text-decoration:none;display:flex}@media (hover:hover){.dstatus a:hover{opacity:1}}.dstatus a[aria-current]{opacity:1;background:var(--bar-fg);color:#1f2e3a}.dstatus a:focus-visible{outline:2px solid var(--color-cobalt);outline-offset:-2px;opacity:1}.dstatus-loss{align-items:center;gap:.75rem;margin-left:auto;padding:0 .75rem;display:none}.dstatus-loss b{font-weight:500}.dstatus-loss [data-loss]{color:light-dark(#f59a7c,#f0693f)}.dstatus-spark,.dstatus-name,.dstatus-step,.dstatus-state{display:none}.dstatus-spark{width:9rem;height:1.25rem;overflow:visible}.dstatus-spark .all{fill:none;stroke:currentColor;stroke-width:1px;opacity:.35}.dstatus-spark .done{fill:none;stroke:light-dark(#f59a7c,#f0693f);stroke-width:1.5px}.dstatus-spark .cur{fill:light-dark(#f59a7c,#f0693f)}.dstatus-state{opacity:.72;transition:opacity .6s var(--ease-out-strong);align-items:center;gap:.5em}.dstatus-state:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}[data-converged] .dstatus-state{opacity:1}[data-converged] .dstatus-state:before{background:light-dark(#f59a7c,#f0693f)}@media (width>=30rem){.dstatus-loss{display:flex}}@media (width>=64rem){.dstatus-session,.dstatus-state{display:flex}.dstatus-spark,.dstatus-name,.dstatus-step{display:block}}.descent:lang(ja) :is(p,dd,li,h1,h2,h3){word-break:auto-phrase}.dlog{gap:3.5rem;padding:2.5rem 1rem 5rem;display:grid;position:relative}@media (width>=40rem){.dlog{padding-inline:2rem}}@media (width>=64rem){.dlog{gap:4.5rem;padding:4rem clamp(2.5rem,7vw,7.5rem) 7rem}}.dlog>*{max-width:40rem}.epoch{scroll-margin-top:4.5rem}.epoch-meta{font-family:var(--font-mono);color:var(--color-ink-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:.25rem 1rem;font-size:12px;line-height:1.5;display:flex}.epoch-no{color:var(--color-ink);transition:color .2s var(--ease-out-strong)}.epoch-bar{gap:3px;display:inline-flex}.epoch-bar>span{background:var(--color-line);width:12px;height:4px}.epoch-bar>.is-on{background:var(--color-ink-muted)}.epoch[data-current] .epoch-no,.epoch[data-current] .epoch-loss{color:var(--color-shu)}.epoch[data-current] .epoch-bar>.is-here{background:var(--color-shu)}.epoch-title{letter-spacing:.01em;margin-top:.375rem;font-size:1.5rem;font-weight:700;line-height:1.35}.epoch-out{border-left:1px solid var(--color-line);transition:border-color .28s var(--ease-out-strong);margin-top:1.25rem;padding-left:1.25rem}.epoch[data-current] .epoch-out{border-left-color:var(--color-shu)}.prompt{font-family:var(--font-mono);color:var(--color-ink-muted);overflow-wrap:anywhere;margin-top:1.25rem;font-size:13px;line-height:1.5}.hero-name{letter-spacing:-.02em;margin-top:.75rem;font-size:clamp(2.75rem,1.5rem + 4.4vw,4.75rem);font-weight:700;line-height:1.05}.hero-sub{color:var(--color-ink-muted);letter-spacing:0;margin-top:.625rem;font-size:1.125rem;line-height:1.4}.hero-title{margin-top:2rem;font-size:1.125rem;font-weight:600;line-height:1.5}.hero-domain{color:var(--color-ink-muted);font-size:1rem;line-height:1.6}.hero-intro{max-width:34em;font-size:.9375rem;line-height:var(--leading-article);margin-top:1rem}.contacts{flex-wrap:wrap;gap:.5rem;margin-top:1.75rem;display:flex}.contact{border:1px solid var(--color-line);background:var(--color-surface);min-height:2.75rem;color:var(--color-ink);transition:border-color .12s var(--ease-out-strong), background-color .12s var(--ease-out-strong), transform .12s var(--ease-out-strong);border-radius:2px;align-items:center;gap:.5rem;padding:0 .875rem;font-size:.875rem;text-decoration:none;display:inline-flex}.contact svg{color:var(--color-ink-muted)}.contact-label{font-weight:600}.contact.is-primary{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-paper)}.contact.is-primary svg{color:color-mix(in srgb, var(--color-paper) 72%, transparent)}@media (hover:hover){.contact:hover{border-color:var(--color-ink)}.contact.is-primary:hover{background:color-mix(in srgb, var(--color-ink) 86%, var(--color-cobalt))}}.contact:active{transform:scale(.97)}.contact:focus-visible{outline:2px solid var(--color-cobalt);outline-offset:2px}.config{background:var(--color-surface);border:1px solid var(--color-line);font-family:var(--font-mono);overflow-wrap:anywhere;margin-top:1.75rem;padding:.875rem 1.125rem;font-size:13px;line-height:1.75}.config p{text-indent:-2ch;padding-left:2ch}.rows{gap:.875rem;display:grid}.row{font-size:.9375rem;line-height:var(--leading-list);gap:.125rem;display:grid}@media (width>=40rem){.row{grid-template-columns:10rem minmax(0,1fr);align-items:baseline;gap:1.25rem}}.row dt{font-weight:600}.items{color:var(--color-ink-muted);flex-wrap:wrap;gap:.125rem 0;display:flex}.items li:not(:last-child):after{content:"·";color:var(--color-line);padding:0 .6em}.row-key{font-family:var(--font-mono);color:var(--color-ink-muted);font-variant-numeric:tabular-nums;font-size:.75rem}.sub-label{color:var(--color-ink-muted);margin:1.75rem 0 .75rem;font-size:.8125rem;font-weight:600}.updated{font-family:var(--font-mono);color:var(--color-ink-muted);margin-top:1.75rem;font-size:.75rem}.projects{gap:1.75rem;display:grid}.project-head{flex-wrap:wrap;align-items:baseline;gap:.25rem .875rem;display:flex}.project-name{font-size:1.125rem;font-weight:700}.project-repo{font-family:var(--font-mono);color:var(--color-ink-muted);font-size:.75rem}.project-desc{font-size:.9375rem;line-height:var(--leading-list);margin-top:.25rem}.project-stack{font-family:var(--font-mono);color:var(--color-ink-muted);margin-top:.25rem;font-size:.75rem}.posts{gap:.75rem;display:grid}.post-row{flex-wrap:wrap;align-items:baseline;gap:.25rem 1rem;display:flex}.post-title{font-weight:600}.post-note{color:var(--color-ink-muted);margin-top:.25rem;font-size:.875rem}.converged{font-family:var(--font-mono);color:var(--color-ink-muted);transition:color .6s var(--ease-out-strong);flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;margin-top:2.25rem;font-size:.8125rem;display:flex}.converged-mark{transition:color .6s var(--ease-out-strong), transform .6s cubic-bezier(.34, 1.56, .64, 1);display:inline-block}.converged-stat{font-size:.75rem}[data-converged] .converged{color:var(--color-ink)}[data-converged] .converged-mark{color:var(--color-shu);transform:scale(1.25)}@media print{.dmap,.dstatus{display:none}.dlog{padding:0}}
