[data-ground=tsuchi]{--ground:#3a2d24;--ground-deep:#2f241d;--accent:#c9a46a}[data-ground=fukamidori]{--ground:#252b23;--ground-deep:#1d221c;--accent:#b9a46c}[data-ground=uguisu]{--ground:#34362a;--ground-deep:#2a2c22;--accent:#c2a862}[data-ground=rikyu]{--ground:#38342c;--ground-deep:#2d2a23;--accent:#c69c52}.section-page{--ink:#e6dfce;--ink-soft:#b9b09d;--ink-faint:#8c8574;--hair:#e6dfce21;--text:var(--ink);--text-soft:var(--ink-soft);--text-faint:var(--ink-faint);--rule:var(--hair);--scrim:transparent;min-height:100vh;color:var(--ink);background:linear-gradient(to bottom, var(--ground), var(--ground-deep))}html[data-ground]{background:var(--ground-deep)}.section-page a{text-decoration-color:color-mix(in oklab, var(--accent) 55%, transparent)}.section-page a:hover{text-decoration-color:var(--accent)}.section-page :focus-visible{outline-color:var(--accent)}.section-page .masthead{background:linear-gradient(to bottom, var(--ground) 60%, transparent);padding-bottom:1rem}.masthead-trail{align-items:baseline;gap:.9rem;display:inline-flex}.trail-section{font:400 var(--step--1) / 1 var(--mono);color:var(--ink-soft);text-decoration:none}.trail-section:before{content:"/";color:var(--ink-faint);margin-right:.9rem}.section-page main{padding:clamp(7rem, 18vh, 11rem) var(--gutter) 6rem var(--inset);max-width:64rem}.page-head{margin-bottom:clamp(3.5rem,9vh,6rem)}.label{font:400 var(--step--1) / 1.4 var(--mono);color:var(--ink-faint);margin:0 0 1.8rem}.label a{color:inherit}.page-head h1{font:500 clamp(2.8rem, 1.8rem + 3.6vw, 5.2rem) / 1 var(--sans);letter-spacing:.01em;margin:0}.page-head .lede{max-width:36rem;color:var(--ink-soft);margin:0;font-size:1.05rem;line-height:1.75}.crack-rule{opacity:.6;width:min(100%,30rem);margin:1.8rem 0;display:block}.crack-rule.wide{width:100%}.crack{pointer-events:none;display:block;overflow:visible}.page-foot{padding:2rem var(--gutter) calc(2rem + env(safe-area-inset-bottom)) var(--inset);font:400 .72rem / 1.6 var(--mono);color:var(--ink-faint)}.rows{border-top:1px solid var(--hair);margin:0;padding:0;list-style:none}.rows>li{border-bottom:1px solid var(--hair)}.row{color:inherit;grid-template-columns:10rem minmax(0,1fr) minmax(0,11rem);align-items:baseline;gap:.4rem 2.4rem;padding:1.7rem 0 1.8rem;text-decoration:none;display:grid}.journal-row{grid-template-columns:10rem minmax(0,1fr)}.row .when,.row .where{font:400 .76rem / 1.6 var(--mono);color:var(--ink-faint)}.row .where{text-align:right}.row .title{font:500 clamp(1.2rem, 1.05rem + .6vw, 1.55rem) / 1.3 var(--sans);color:var(--ink);transition:color .4s var(--ease-out);display:block}.row .sub{font:400 .82rem / 1.5 var(--sans);color:var(--accent);opacity:.85;margin-top:.3rem;display:block}.row .sum{max-width:38rem;color:var(--ink-soft);margin-top:.55rem;font-size:.95rem;line-height:1.65;display:block}.row .flag{font:400 .7rem / 1 var(--mono);color:var(--accent);vertical-align:.25em;margin-left:.6rem}.row:hover .title,.row:focus-visible .title{color:var(--accent)}.rows>li:has(.row:hover),.rows>li:has(.row:focus-visible){border-bottom-color:color-mix(in oklab, var(--accent) 45%, transparent)}.row:focus-visible{outline-offset:6px}.semester{margin:0 0 clamp(3.5rem,8vh,5rem)}.semester-head{justify-content:space-between;align-items:baseline;gap:1rem;margin:0 0 1.2rem;display:flex}.semester h2{font:500 clamp(1.6rem, 1.3rem + 1vw, 2.1rem) / 1.1 var(--sans);margin:0}.semester.is-unplaced h2{color:var(--ink-soft)}.count{font:400 .74rem / 1 var(--mono);color:var(--ink-faint)}.courses{border-top:1px solid var(--hair);grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr));column-gap:2.4rem;margin:0;padding:0;list-style:none;display:grid}.courses>li{border-bottom:1px solid var(--hair)}.course{color:inherit;justify-content:space-between;align-items:baseline;gap:1.2rem;padding:1rem 0 1.05rem;text-decoration:none;display:flex}.course .title{font:500 1.05rem / 1.35 var(--sans);transition:color .4s var(--ease-out)}.course .area{font:400 .7rem / 1.4 var(--mono);color:var(--ink-faint);text-align:right;flex:none}.course:hover .title,.course:focus-visible .title{color:var(--accent)}.about-grid{grid-template-columns:minmax(0,1fr) minmax(15rem,19rem);align-items:start;gap:clamp(3rem,7vw,7rem);display:grid}.bio{max-width:34rem;font:400 clamp(1.15rem, 1rem + .5vw, 1.35rem) / 1.7 var(--sans);margin:0 0 3.5rem}.placeholder-note{border-left:1px solid var(--accent);max-width:34rem;font:400 var(--step--1) / 1.6 var(--mono);color:var(--ink-soft);margin:0 0 3.5rem;padding-left:.9rem}.placeholder-note b{color:var(--accent);font-weight:500}.section-title{font:500 1.7rem / 1.1 var(--sans);margin:0 0 1.2rem}.empty{max-width:32rem;color:var(--ink-soft);margin:0;line-height:1.7}.empty code,.placeholder-note code{font:400 .82rem var(--mono)}.glance dl{margin:0}.glance dt{font:400 .72rem / 1.3 var(--mono);color:var(--ink-faint);margin:2rem 0 .6rem}.glance dt:first-child{margin-top:0}.glance dd{color:var(--ink-soft);margin:0 0 .35rem;font-size:.92rem;line-height:1.5}.glance dd span{color:var(--ink-faint)}.glance a{color:var(--ink)}.journal-thumb{opacity:.92;border-radius:2px;max-width:30rem;height:auto;margin-top:1rem;display:block}.entry-head h1{max-width:46rem;font:500 clamp(2.3rem, 1.5rem + 3vw, 4.2rem) / 1.06 var(--sans);letter-spacing:.005em;text-wrap:balance;margin:0}.entry-head .lede{max-width:40rem;color:var(--ink-soft);margin:0;font-size:1.08rem;line-height:1.75}.facts{grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));gap:1.4rem 2.4rem;max-width:50rem;margin:2.6rem 0 0;display:grid}.facts dt{font:400 .72rem / 1.3 var(--mono);color:var(--ink-faint);margin-bottom:.4rem}.facts dd{color:var(--ink-soft);margin:0;font-size:.94rem;line-height:1.55}.facts a{color:var(--ink)}.facts .list{margin:0;padding:0;list-style:none}.entry-cover{max-width:50rem;margin:3.5rem 0 0}.entry-cover img{border-radius:2px;width:100%;height:auto;display:block}.prose{max-width:40rem;color:var(--ink);margin-top:clamp(3rem,7vh,4.5rem);font-size:1.05rem;line-height:1.85}.prose>*+*{margin-top:1.2em}.prose p,.prose ul,.prose ol{margin-bottom:0}.prose h2{font:500 clamp(1.5rem, 1.25rem + .8vw, 1.9rem) / 1.25 var(--sans);margin:2.6em 0 0}.prose h3{font:500 1.02rem / 1.35 var(--sans);color:var(--ink);margin:2.1em 0 0}.prose h2+*,.prose h3+*{margin-top:.7em}.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:.4em}.prose li::marker{color:var(--accent)}.prose blockquote{border-left:1px solid var(--accent);font:400 1.1rem / 1.7 var(--sans);color:var(--ink-soft);margin-left:0;padding-left:1.2rem}.prose code{font:400 .86em var(--mono);background:#e6dfce14;border-radius:3px;padding:.12em .32em}.prose pre{border-radius:3px;padding:1.2rem 1.3rem;font-size:.85rem;line-height:1.65;overflow-x:auto;background:#00000038!important}.prose pre code{background:0 0;padding:0}.prose img{border-radius:2px;max-width:100%;height:auto}.prose figure{margin:2.4em 0}.prose figure img{display:block}.prose figcaption{font:400 .78rem / 1.55 var(--mono);color:var(--ink-faint);margin-top:.8rem}.prose table{border-collapse:collapse;width:100%;font-size:.93rem}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--hair);padding:.55rem .9rem .55rem 0}.prose th{font:400 .74rem / 1.3 var(--mono);color:var(--ink-faint)}.prose hr{background:var(--hair);border:0;height:1px;margin:2.8em 0}.entry-nav{border-top:1px solid var(--hair);grid-template-columns:1fr 1fr;gap:2.4rem;max-width:50rem;margin-top:clamp(4.5rem,12vh,7rem);padding-top:1.6rem;display:grid}.entry-nav a{color:inherit;text-decoration:none}.entry-nav span{font:400 .72rem / 1.4 var(--mono);color:var(--ink-faint);margin-bottom:.4rem;display:block}.entry-nav strong{font:500 1.05rem / 1.35 var(--sans);transition:color .4s var(--ease-out)}.entry-nav a:hover strong,.entry-nav a:focus-visible strong{color:var(--accent)}.entry-nav .next{text-align:right;grid-column:2}.back{font:400 var(--step--1) / 1.4 var(--mono);color:var(--ink-faint);margin-top:2.4rem;display:inline-block}:root[data-motion=off] .row .title,:root[data-motion=off] .course .title,:root[data-motion=off] .entry-nav strong{transition:none}@media (width<=860px){.row{grid-template-columns:1fr;gap:.35rem}.row .where{text-align:left}.about-grid{grid-template-columns:1fr}}@media (width<=560px){.entry-nav{grid-template-columns:1fr;gap:1.6rem}.entry-nav .next{text-align:left;grid-column:1}}@view-transition{navigation:auto}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}
