.site{background:var(--background);min-height:100dvh;color:var(--foreground);font-family:var(--font-body);word-break:keep-all;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased;flex-direction:column;font-size:1rem;line-height:1.7;display:flex}.site main{flex:1}.site ::selection{background:var(--selection);color:var(--foreground)}:where(.site) a{color:inherit;text-decoration:none}.site :focus-visible{outline:2px solid var(--ring);outline-offset:3px;border-radius:4px}.wrap{width:100%;max-width:1200px;margin-inline:auto;padding-inline:clamp(20px,5vw,48px)}.skip{z-index:100;background:var(--wall);color:var(--wall-ink);border-radius:999px;padding:8px 14px;position:absolute;top:-60px;left:12px}.skip:focus{top:12px}.muted{color:var(--muted-foreground)}.mono{font-family:var(--font-mono)}.kicker{font-family:var(--font-mono);letter-spacing:.06em;color:var(--muted-foreground);align-items:center;gap:10px;margin:0 0 14px;font-size:.75rem;display:inline-flex}.kicker:before{content:"";background:currentColor;width:22px;height:1px}.more{border:1px solid var(--rule);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-size:.9rem;font-weight:600;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.more span{transition:transform .25s}.more:hover{background:var(--wall);border-color:var(--wall);color:var(--wall-ink)}.more:hover span{transform:translate(3px)}.status-dot{background:var(--status-open);width:8px;height:8px;box-shadow:0 0 0 4px color-mix(in oklch, var(--status-open) 22%, transparent);vertical-align:1px;border-radius:50%;margin-right:8px;animation:2.4s ease-in-out infinite pulse;display:inline-block}@keyframes pulse{50%{box-shadow:0 0 0 7px color-mix(in oklch, var(--status-open) 0%, transparent)}}.site-header{z-index:40;background:color-mix(in oklch, var(--background) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid #0000;transition:border-color .25s;position:sticky;top:0}.site-header.is-scrolled{border-bottom-color:var(--rule)}.site-header__inner{grid-template-columns:1fr auto auto;grid-template-areas:"brand nav night";align-items:center;gap:12px 28px;min-height:72px;display:grid}.brand{grid-area:brand;align-items:center;gap:12px;min-width:0;display:inline-flex}.brand__mark{background:var(--frame);width:34px;height:40px;box-shadow:0 6px 12px -6px var(--hang-shadow);flex:none;place-items:center;padding:4px;display:grid}.brand__mark span{background:linear-gradient(180deg, var(--spot) 0 18%, var(--wall) 18%);outline:3px solid var(--mat);outline-offset:-3px;width:100%;height:100%}.brand__name{flex-direction:column;min-width:0;line-height:1.25;display:flex}.brand__name>span:first-child{font-family:var(--font-headline);font-size:1.08rem;font-weight:700}.brand__show{color:var(--muted-foreground);font-weight:400}.brand__role{color:var(--muted-foreground);font-size:.75rem}.site-nav{grid-area:nav}.nav{gap:4px;margin:0;padding:0;list-style:none;display:flex}.nav__link{border-radius:999px;align-items:baseline;gap:7px;padding:8px 14px;font-size:.95rem;font-weight:600;transition:background .2s;display:inline-flex}.nav__en{font-family:var(--font-mono);color:var(--muted-foreground);font-size:.68rem;font-weight:400}.nav__link:hover{background:var(--muted)}.nav__link[aria-current=page]{background:var(--wall);color:var(--wall-ink)}.nav__link[aria-current=page] .nav__en{color:var(--wall-ink-soft)}.night{color:var(--foreground);font:inherit;cursor:pointer;background:0 0;border:0;grid-area:night;align-items:center;gap:8px;padding:6px 4px;font-size:.8rem;font-weight:600;display:inline-flex}.night__track{background:var(--muted);width:38px;height:22px;box-shadow:inset 0 0 0 1px var(--rule);border-radius:999px;transition:background .3s;position:relative}.night__knob{background:var(--spot);width:16px;height:16px;box-shadow:0 0 0 1px var(--rule), 0 0 10px var(--spot-glow);border-radius:50%;transition:transform .3s cubic-bezier(.3,1.4,.5,1);position:absolute;top:3px;left:3px}.night[aria-checked=true] .night__track{background:var(--wall)}.night[aria-checked=true] .night__knob{transform:translate(16px)}@media (max-width:720px){.site-header__inner{grid-template-columns:1fr auto;grid-template-areas:"brand night""nav nav";gap:4px 12px;min-height:0;padding-block:10px 8px}.nav{justify-content:space-between;margin-inline:-6px}.nav li{flex:1}.nav__link{justify-content:center;width:100%;padding:8px 6px;font-size:.9rem}}@media (max-width:380px){.nav__en{display:none}}.entrance,.room-hero{--sx:50%;--sy:8%;isolation:isolate;background:var(--wall);color:var(--wall-ink);position:relative;overflow:hidden}.entrance:before,.room-hero:before{content:"";z-index:-1;background:linear-gradient(var(--wall-deep), var(--wall-deep)) top / 100% 6px no-repeat, radial-gradient(ellipse 22% 60% at 18% 0%, var(--spot-glow), var(--spot-faint) 70%), radial-gradient(ellipse 22% 60% at 82% 0%, var(--spot-glow), var(--spot-faint) 70%);opacity:.55;animation:1.6s .15s both lights-on;position:absolute;inset:0}.spot{z-index:-1;pointer-events:none;background:radial-gradient(ellipse 36% 70% at var(--sx) var(--sy), var(--spot-glow), var(--spot-faint) 72%);transition:background-position .2s;animation:1.8s .35s both lights-on;position:absolute;inset:0}@keyframes lights-on{0%{opacity:0}18%{opacity:.8}24%{opacity:.15}40%{opacity:.9}to{opacity:1}}.entrance:before{animation-name:lights-on-dim}@keyframes lights-on-dim{0%{opacity:0}to{opacity:.55}}.entrance__inner{flex-direction:column;justify-content:flex-end;min-height:clamp(480px,74vh,760px);padding-block:clamp(48px,8vw,96px) clamp(40px,6vw,72px);display:flex}.entrance__top{justify-content:space-between;align-items:flex-start;gap:32px;margin-bottom:auto;display:flex}.entrance__hang{display:none}@media (min-width:1100px){.entrance__hang{align-items:flex-start;gap:36px;margin-top:-12px;animation:1.2s .6s both rise;display:flex}.entrance__hang .hang:first-child{width:230px}.entrance__hang .hang:last-child{width:160px;margin-top:56px}.entrance__hang .hang__light{background:var(--wall-deep)}.entrance__hang .frame{padding:7px}.entrance__hang .frame__mat{padding:14px}}.entrance__badge{border:1px solid color-mix(in oklch, var(--wall-ink) 30%, transparent);font-family:var(--font-mono);letter-spacing:.04em;color:var(--wall-ink-soft);border-radius:999px;align-items:center;gap:10px;margin:0;padding:7px 14px;font-size:.75rem;animation:.9s .1s both rise;display:inline-flex}.entrance__dot{background:var(--spot);width:7px;height:7px;box-shadow:0 0 12px var(--spot);border-radius:50%}.entrance__title{max-width:12.5em;font-family:var(--font-headline);letter-spacing:-.025em;text-wrap:balance;margin:clamp(40px,6vw,72px) 0 0;font-size:clamp(2.6rem,7.4vw,6.8rem);font-weight:300;line-height:1.1;animation:1.1s .25s both rise}.entrance__sub{font-family:var(--font-headline);color:var(--wall-ink-soft);align-items:center;gap:16px;margin:clamp(20px,3vw,32px) 0 0;font-size:clamp(1.05rem,1.8vw,1.4rem);font-weight:400;animation:1.1s .45s both rise;display:flex}.entrance__rule{transform-origin:0;background:currentColor;width:clamp(40px,8vw,120px);height:1px;animation:1.2s .7s both draw-x}.entrance__foot{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 40px;margin-top:10px;display:flex}.entrance__index{gap:clamp(20px,4vw,48px);margin:0;padding:0;list-style:none;animation:1.1s .7s both rise;display:flex}.entrance__index li{border-left:1px solid color-mix(in oklch, var(--wall-ink) 30%, transparent);flex-direction:column;padding-left:14px;display:flex}.entrance__index b{font-family:var(--font-headline);font-size:clamp(1.8rem,3.2vw,2.6rem);font-weight:300;line-height:1}.entrance__index span{font-family:var(--font-mono);color:var(--wall-ink-soft);margin-top:6px;font-size:.72rem}.entrance__artist{margin:0;font-size:.95rem;font-weight:700;animation:1.1s .55s both rise}.entrance__artist span{font-family:var(--font-mono);color:var(--wall-ink-soft);margin-left:6px;font-size:.75rem;font-weight:400}.entrance__floor,.room-hero__floor{border-top:8px solid var(--skirting);background:linear-gradient(var(--floor), var(--background));height:clamp(28px,5vw,48px)}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes draw-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.visit{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:clamp(28px,6vw,88px);padding-block:clamp(40px,6vw,72px) 0;display:grid}@media (max-width:820px){.visit{grid-template-columns:minmax(0,1fr)}}.visit__lede{color:var(--ink-soft);margin:0;font-size:clamp(1.1rem,1.7vw,1.35rem);line-height:1.8}.visit__lede strong{color:var(--foreground);box-shadow:inset 0 -.42em 0 var(--spot)}.visit__info{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:0 18px 30px -24px var(--hang-shadow);padding:22px 24px 10px}.visit__head{font-family:var(--font-mono);letter-spacing:.05em;color:var(--muted-foreground);margin:0 0 8px;font-size:.72rem}.visit__info dl{margin:0}.visit__info dl>div{border-top:1px solid var(--rule);grid-template-columns:5.5em minmax(0,1fr);gap:12px;padding:12px 0;display:grid}.visit__info dt{color:var(--muted-foreground);font-size:.85rem}.visit__info dd{margin:0;font-weight:600}.section{padding-block:clamp(64px,9vw,120px) 0}.section__head{margin-bottom:clamp(28px,4vw,48px)}.section__head--row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 32px;display:flex}.section__title{font-family:var(--font-headline);letter-spacing:-.015em;text-wrap:balance;margin:0;font-size:clamp(1.75rem,3.6vw,2.9rem);font-weight:500;line-height:1.2}.section__note{color:var(--muted-foreground);margin:10px 0 0}.plan-wrap{background:var(--card);border:1px solid var(--rule);border-radius:calc(var(--radius) * 2);padding:clamp(12px,2vw,24px)}.plan{width:100%;height:auto;display:block}.plan--tall{display:none}@media (max-width:720px){.plan--wide{display:none}.plan--tall{max-width:440px;margin-inline:auto;display:block}}.plan-ground{fill:var(--floor)}.plan-room__floor{fill:var(--background);transition:fill .25s}.plan-room--gallery .plan-room__floor{fill:color-mix(in oklch, var(--haze) 45%, var(--background))}.plan-room--quiet .plan-room__floor{fill:color-mix(in oklch, var(--spot) 30%, var(--background))}.plan-room__walls{fill:none;stroke:var(--foreground);stroke-width:5px}.plan-hang{stroke:var(--wall);stroke-width:9px}.plan-room__badge{fill:var(--wall)}.plan-room__no{fill:var(--wall-ink);font-family:var(--font-headline);font-size:17px;font-weight:600}.plan-room__name{fill:var(--foreground);font-family:var(--font-headline);font-weight:600}.plan-room__sub{fill:var(--muted-foreground);font-family:var(--font-mono)}.plan-room__arrow{fill:var(--wall);opacity:0;transition:opacity .2s,transform .25s;transform:translate(-8px)}.plan-room{cursor:pointer;outline:none}.plan-room:hover .plan-room__floor,.plan-room:focus-visible .plan-room__floor{fill:var(--spot)}.plan-room:hover .plan-room__arrow,.plan-room:focus-visible .plan-room__arrow{opacity:1;transform:none}.plan-room:focus-visible .plan-room__walls{stroke:var(--ring);stroke-width:8px}.plan-bench rect{fill:var(--muted);stroke:var(--rule);stroke-width:2px}.plan-door{stroke:var(--floor);stroke-width:9px}.plan-entry{fill:var(--muted-foreground);font-family:var(--font-mono);letter-spacing:.04em}.exhibits{flex-direction:column;gap:clamp(56px,8vw,112px);display:flex}.exhibit{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;gap:clamp(28px,5vw,80px);display:grid}.exhibit--flip .hang{order:2}.hang{padding-top:26px;position:relative}.hang__light{background:var(--frame);z-index:2;border-radius:0 0 8px 8px;width:34%;height:9px;position:absolute;top:0;left:50%;translate:-50%}.hang__light:after{content:"";background:radial-gradient(ellipse 50% 100% at 50% 0%, var(--spot-glow), var(--spot-faint) 70%);opacity:.75;pointer-events:none;z-index:3;mix-blend-mode:screen;width:260%;height:220px;transition:opacity .35s;position:absolute;top:6px;left:50%;translate:-50%}.frame{background:var(--frame);box-shadow:0 34px 48px -26px var(--hang-shadow), 0 12px 18px -10px var(--hang-shadow-soft);padding:clamp(8px,1.1vw,14px);transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s;position:relative}.frame__mat{background:var(--mat);box-shadow:inset 0 2px 6px var(--hang-shadow-soft);padding:clamp(14px,2.6vw,34px)}.frame__mat .cover-art{aspect-ratio:4/3;width:100%;height:auto;box-shadow:0 0 0 1px var(--rule);display:block}.hang--lg .frame{padding:clamp(10px,1.4vw,18px)}.hang--lg .frame__mat{padding:clamp(16px,3.4vw,48px)}.exhibit:hover .frame,.exhibit:focus-visible .frame{box-shadow:0 48px 60px -30px var(--hang-shadow), 0 16px 24px -12px var(--hang-shadow-soft);transform:translateY(-6px)}.exhibit:hover .hang__light:after,.exhibit:focus-visible .hang__light:after{opacity:1}.label{background:var(--card);border:1px solid var(--rule);max-width:30rem;box-shadow:0 10px 22px -18px var(--hang-shadow);border-radius:3px;padding:clamp(20px,2.4vw,28px)}.label__acc{font-family:var(--font-mono);letter-spacing:.05em;color:var(--muted-foreground);justify-content:space-between;gap:12px;margin:0 0 14px;font-size:.72rem;display:flex}.label__title{font-family:var(--font-headline);letter-spacing:-.01em;margin:0;font-size:clamp(1.7rem,2.8vw,2.25rem);font-weight:600;line-height:1.2}.label__line{font-family:var(--font-headline);color:var(--ink-soft);margin:6px 0 0;font-style:italic}.label__medium{color:var(--muted-foreground);margin:2px 0 0;font-size:.85rem}.label__text{border-top:1px solid var(--rule);margin:16px 0 0;padding-top:16px;font-size:.98rem;line-height:1.75}.label__tags{flex-wrap:wrap;gap:6px;margin:16px 0 0;padding:0;list-style:none;display:flex}.label__tags li{background:var(--muted);color:var(--muted-foreground);border-radius:999px;padding:3px 10px;font-size:.75rem}.exhibit__label{flex-direction:column;gap:18px;display:flex}.exhibit__go{color:var(--mark);border-bottom:1px solid;align-self:flex-start;align-items:center;gap:8px;padding-bottom:2px;font-size:.92rem;font-weight:700;display:inline-flex}.exhibit__go span{transition:transform .25s}.exhibit:hover .exhibit__go span{transform:translate(4px)}@media (max-width:820px){.exhibit{grid-template-columns:minmax(0,1fr);gap:20px}.exhibit--flip .hang{order:0}.label{max-width:none}}.statement{background:var(--haze);color:var(--secondary-foreground);border-top:8px solid var(--skirting);margin-top:clamp(72px,10vw,136px);padding-block:clamp(64px,9vw,112px)}.ways{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,56px);margin:0;padding:0;list-style:none;display:grid}.way{border-top:2px solid var(--foreground);padding-top:22px}.way__no{font-family:var(--font-headline);color:var(--mark);font-size:clamp(3rem,6vw,4.8rem);font-weight:200;line-height:1;display:block}.way__title{font-family:var(--font-headline);margin:18px 0 8px;font-size:1.4rem;font-weight:600}.way__body{color:var(--ink-soft);margin:0}@media (max-width:820px){.ways{grid-template-columns:minmax(0,1fr)}.way{grid-template-columns:auto minmax(0,1fr);column-gap:20px;display:grid}.way__no{grid-row:span 2;font-size:3rem}.way__title{margin-top:2px}}.catalogue{border-bottom:1px solid var(--rule);margin:0;padding:0;list-style:none}.entry{border-top:1px solid var(--rule);grid-template-columns:3.2rem minmax(0,1fr) auto;align-items:baseline;gap:8px 24px;padding:26px 12px;transition:background .2s;display:grid}.entry:hover{background:var(--card)}.entry__no{font-family:var(--font-headline);color:var(--mark);font-size:1.6rem;font-weight:300;line-height:1}.entry__main{flex-direction:column;gap:6px;min-width:0;display:flex}.entry__title{font-family:var(--font-headline);font-size:clamp(1.2rem,2vw,1.45rem);font-weight:600;line-height:1.35;transition:color .2s}.entry:hover .entry__title{color:var(--mark)}.entry__desc{color:var(--muted-foreground);font-size:.95rem}.entry__meta{font-family:var(--font-mono);color:var(--muted-foreground);white-space:nowrap;flex-direction:column;align-items:flex-end;gap:2px;font-size:.75rem;display:flex}@media (max-width:640px){.entry{grid-template-columns:2.4rem minmax(0,1fr);padding-inline:4px}.entry__meta{flex-direction:row;grid-column:2;align-items:center;gap:12px}}.site-footer{margin-top:clamp(80px,12vw,160px);padding-bottom:40px}.ticket{background:var(--wall);color:var(--wall-ink);border-radius:16px;grid-template-columns:minmax(0,1fr) auto;transition:transform .35s cubic-bezier(.2,.8,.2,1);display:grid;position:relative;overflow:hidden}.ticket:hover{transform:rotate(-.6deg)translateY(-3px)}.ticket:before{content:"";pointer-events:none;background:radial-gradient(ellipse 50% 90% at 20% 0%, var(--spot-glow), var(--spot-faint) 70%);opacity:.6;position:absolute;inset:0}.ticket__main{flex-direction:column;gap:16px;padding:clamp(28px,5vw,56px);display:flex;position:relative}.ticket__kicker{font-family:var(--font-mono);letter-spacing:.06em;color:var(--wall-ink-soft);font-size:.75rem}.ticket__headline{font-family:var(--font-headline);letter-spacing:-.02em;font-size:clamp(1.8rem,4.4vw,3.4rem);font-weight:300;line-height:1.15}.ticket__go{background:var(--wall-ink);color:var(--wall);border-radius:999px;align-self:flex-start;margin-top:6px;padding:10px 18px;font-size:.92rem;font-weight:700}.ticket__stub{border-left:2px dashed color-mix(in oklch, var(--wall-ink) 40%, transparent);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:clamp(110px,16vw,180px);padding:24px;display:flex;position:relative}.ticket__stub:before,.ticket__stub:after{content:"";background:var(--background);border-radius:50%;width:28px;height:28px;position:absolute;left:-15px}.ticket__stub:before{top:-14px}.ticket__stub:after{bottom:-14px}.ticket__stub-k{font-family:var(--font-mono);color:var(--wall-ink-soft);font-size:.72rem}.ticket__stub-n{font-family:var(--font-headline);font-size:clamp(1.6rem,3vw,2.4rem);font-weight:700;line-height:1.1}@media (max-width:560px){.ticket{grid-template-columns:minmax(0,1fr)}.ticket__stub{border-left:0;border-top:2px dashed color-mix(in oklch, var(--wall-ink) 40%, transparent);flex-direction:row;gap:14px;min-width:0;padding:16px}.ticket__stub:before,.ticket__stub:after{top:-15px;bottom:auto}.ticket__stub:before{left:-14px}.ticket__stub:after{left:auto;right:-14px}.ticket__stub-n{font-size:1.3rem}}.colophon{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 32px;margin-top:36px;font-size:.88rem;display:flex}.colophon p{margin:0}.colophon__links{flex-wrap:wrap;gap:6px 20px;margin:0;padding:0;list-style:none;display:flex}.colophon__links a{border-bottom:1px solid var(--rule);transition:border-color .2s}.colophon__links a:hover{border-color:var(--foreground)}.room-hero__inner{padding-block:clamp(48px,7vw,88px) clamp(36px,5vw,56px)}.room-hero .kicker,.room-hero .crumbs{color:var(--wall-ink-soft)}.room-hero__title{max-width:15em;font-family:var(--font-headline);letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:clamp(2.3rem,5.6vw,4.6rem);font-weight:300;line-height:1.12;animation:.9s .1s both rise}.room-hero__lede{max-width:38em;color:var(--wall-ink-soft);margin:20px 0 0;font-size:clamp(1.02rem,1.5vw,1.2rem);animation:.9s .25s both rise}.crumbs{font-family:var(--font-mono);letter-spacing:.04em;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 18px;font-size:.75rem;display:flex}.crumbs a{border-bottom:1px solid}.filters{flex-wrap:wrap;gap:8px;margin:clamp(32px,5vw,56px) 0 clamp(36px,5vw,56px);display:flex}.chip{border:1px solid var(--rule);background:var(--card);color:var(--foreground);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:.88rem;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.chip:hover{border-color:var(--foreground)}.chip[aria-pressed=true]{background:var(--wall);border-color:var(--wall);color:var(--wall-ink)}.chip__n{font-family:var(--font-mono);opacity:.7;font-size:.72rem}.salon{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(48px,6vw,88px) clamp(28px,4vw,56px);display:grid}.salon .exhibit{grid-template-columns:minmax(0,1fr);align-items:start;gap:22px;animation:.6s both rise}.salon .label{max-width:none}@media (max-width:820px){.salon{grid-template-columns:minmax(0,1fr)}}.register{border-collapse:collapse;width:100%;margin-top:clamp(72px,9vw,120px);font-size:.95rem}.register caption{text-align:left;padding-bottom:14px}.register caption h2{font-family:var(--font-headline);margin:0;font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:500}.register th{border-bottom:2px solid var(--foreground);text-align:left;font-family:var(--font-mono);letter-spacing:.05em;color:var(--muted-foreground);padding:10px 12px;font-size:.72rem;font-weight:400}.register td{border-bottom:1px solid var(--rule);vertical-align:baseline;padding:14px 12px}.register tr:hover td{background:var(--card)}.register__title a{font-family:var(--font-headline);border-bottom:1px solid var(--rule);font-size:1.1rem;font-weight:600}.register__title a:hover{border-color:var(--foreground)}@media (max-width:640px){.hide-sm{display:none}.register td,.register th{padding-inline:6px}}.room-stage{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:end;gap:clamp(28px,5vw,72px);padding-block:clamp(24px,4vw,48px) clamp(40px,6vw,72px);display:grid}.room-stage .hang__light{background:var(--wall-deep)}.room-stage .label{color:var(--card-foreground)}.room-stage__side{flex-direction:column;gap:16px;display:flex}@media (max-width:900px){.room-stage{grid-template-columns:minmax(0,1fr)}}.guide{border:1px solid color-mix(in oklch, var(--wall-ink) 30%, transparent);background:color-mix(in oklch, var(--wall-ink) 8%, transparent);color:var(--wall-ink);font:inherit;text-align:left;cursor:pointer;border-radius:999px;align-self:flex-start;align-items:center;gap:12px;padding:8px 18px 8px 8px;transition:background .2s;display:inline-flex}.guide:hover{background:color-mix(in oklch, var(--wall-ink) 16%, transparent)}.guide__no{background:var(--spot);width:38px;height:38px;color:var(--accent-foreground);font-family:var(--font-mono);border-radius:50%;place-items:center;font-size:.85rem;font-weight:500;display:grid}.guide__text{flex-direction:column;line-height:1.3;display:flex}.guide__k{font-family:var(--font-mono);color:var(--wall-ink-soft);font-size:.68rem}.guide__v{font-size:.9rem;font-weight:700}.guide__bars{align-items:flex-end;gap:2px;height:16px;display:inline-flex}.guide__bars span{opacity:.6;background:currentColor;border-radius:2px;width:3px;height:30%}.guide.is-playing .guide__bars span{animation:.9s ease-in-out infinite alternate bars}.guide.is-playing .guide__bars span:nth-child(2){animation-delay:.2s}.guide.is-playing .guide__bars span:nth-child(3){animation-delay:.45s}.guide.is-playing .guide__bars span:nth-child(4){animation-delay:.1s}@keyframes bars{to{height:100%}}.doc{grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:clamp(32px,6vw,96px);padding-top:clamp(48px,7vw,88px);display:grid}.doc__aside{align-self:start;position:sticky;top:96px}@media (max-width:860px){.doc{grid-template-columns:minmax(0,1fr)}.doc__aside{position:static}}.facts{margin:0}.facts>div{border-top:1px solid var(--rule);padding:12px 0}.facts dt{font-family:var(--font-mono);letter-spacing:.05em;color:var(--muted-foreground);font-size:.7rem}.facts dd{margin:2px 0 0;font-size:.95rem;font-weight:600}.facts a{border-bottom:1px solid}.toc{border-left:2px solid var(--rule);margin:28px 0 0;padding:0;list-style:none}.toc a{color:var(--muted-foreground);border-left:2px solid #0000;gap:10px;margin-left:-2px;padding:6px 0 6px 14px;font-size:.92rem;transition:color .2s,border-color .2s;display:flex}.toc a:hover{color:var(--foreground);border-left-color:var(--mark)}.toc span{font-family:var(--font-mono);font-size:.75rem}.prose{max-width:40rem;font-size:1.0625rem;line-height:1.9}.prose>:first-child{margin-top:0}.prose p{margin:0 0 1.3em}.prose h2{border-top:1px solid var(--rule);font-family:var(--font-headline);align-items:baseline;gap:14px;margin:2.4em 0 .8em;padding-top:1.2em;scroll-margin-top:110px;font-size:clamp(1.45rem,2.4vw,1.8rem);font-weight:600;line-height:1.3;display:flex}.md-num{font-family:var(--font-mono);color:var(--mark);font-size:.8rem;font-weight:400}.prose h3{font-family:var(--font-headline);margin:1.8em 0 .6em;font-size:1.2rem}.prose ul,.prose ol{margin:0 0 1.4em;padding-left:1.3em;list-style:outside}.prose ol{list-style:decimal}.prose li{margin-bottom:.5em;padding-left:.3em}.prose li::marker{color:var(--mark)}.prose strong{box-shadow:inset 0 -.38em 0 var(--spot)}.prose blockquote{border-left:3px solid var(--wall);font-family:var(--font-headline);margin:1.6em 0;padding:4px 0 4px 22px;font-size:1.2rem}.prose code{background:var(--muted);font-family:var(--font-mono);border-radius:4px;padding:2px 6px;font-size:.86em}.prose pre{border-radius:var(--radius);background:var(--frame);color:var(--mat);margin:1.6em 0;padding:20px 22px;font-size:.88rem;line-height:1.65;overflow-x:auto}.prose pre code{color:inherit;background:0 0;padding:0}.prose a{border-bottom:1px solid var(--mark)}.end-mark{max-width:40rem;font-family:var(--font-mono);color:var(--muted-foreground);align-items:center;gap:14px;margin:48px 0 0;font-size:.75rem;display:flex}.end-mark:before,.end-mark:after{content:"";background:var(--rule);flex:1;height:1px}.pager{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:clamp(64px,8vw,104px);display:grid}.pager a{border:1px solid var(--rule);border-radius:var(--radius);background:var(--card);flex-direction:column;gap:6px;padding:22px 24px;transition:border-color .2s,transform .3s;display:flex}.pager a:last-child:not(:first-child){text-align:right}.pager a:hover{border-color:var(--foreground);transform:translateY(-2px)}.pager__k{font-family:var(--font-mono);color:var(--muted-foreground);font-size:.72rem}.pager__t{font-family:var(--font-headline);font-size:1.2rem;font-weight:600}@media (max-width:560px){.pager{grid-template-columns:minmax(0,1fr)}.pager a:last-child:not(:first-child){text-align:left}}.progress{z-index:60;background:var(--spot);height:3px;transform:scaleX(var(--p,0));transform-origin:0;position:fixed;inset:0 0 auto}.essay-meta{font-family:var(--font-mono);color:var(--wall-ink-soft);flex-wrap:wrap;gap:8px 22px;margin:26px 0 0;padding:0;font-size:.78rem;list-style:none;animation:.9s .35s both rise;display:flex}.essay{padding-top:clamp(48px,7vw,88px)}.essay .prose{margin-inline:auto}.essay .prose>p:first-of-type:first-letter{float:left;font-family:var(--font-headline);color:var(--mark);margin:.08em .12em 0 0;font-size:3.4em;font-weight:600;line-height:.9}.essay .end-mark{margin-inline:auto}.essay-tags{flex-wrap:wrap;justify-content:center;gap:8px;max-width:40rem;margin:24px auto 0;padding:0;list-style:none;display:flex}.essay-tags li{background:var(--muted);color:var(--muted-foreground);border-radius:999px;padding:4px 12px;font-size:.8rem}.year{grid-template-columns:minmax(0,9rem) minmax(0,1fr);gap:16px 32px;padding-top:clamp(40px,6vw,64px);display:grid}.year__label{font-family:var(--font-headline);color:var(--mark);align-self:start;margin:18px 0 0;font-size:clamp(2.4rem,5vw,3.6rem);font-weight:200;line-height:1;position:sticky;top:96px}@media (max-width:720px){.year{grid-template-columns:minmax(0,1fr)}.year__label{margin:0;position:static}}.guestbook{background:var(--card);border:1px solid var(--rule);box-shadow:0 40px 60px -40px var(--hang-shadow), 0 2px 0 var(--rule), 0 5px 0 -1px var(--card), 0 6px 0 -1px var(--rule);border-radius:6px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);margin-top:clamp(40px,6vw,72px);display:grid}.guestbook__page{padding:clamp(24px,4vw,48px);position:relative}.guestbook__page--left{border-right:1px solid var(--rule);background:linear-gradient(90deg, var(--card) 80%, color-mix(in oklch, var(--foreground) 5%, var(--card)))}.guestbook__page--right{background:linear-gradient(90deg, color-mix(in oklch, var(--foreground) 5%, var(--card)), var(--card) 20%)}.guestbook__title{font-family:var(--font-headline);margin:0 0 6px;font-size:1.6rem;font-weight:600}.guestbook__hint{color:var(--muted-foreground);margin:0 0 24px}.ways-to-reach{margin:0;padding:0;list-style:none}.ways-to-reach li{border-top:1px solid var(--rule);grid-template-columns:5.5em minmax(0,1fr);gap:12px;padding:12px 0;display:grid}.ways-to-reach a{border-bottom:1px solid var(--rule);font-weight:600}.ways-to-reach a:hover{border-color:var(--foreground)}.tip{border-radius:var(--radius);background:color-mix(in oklch, var(--spot) 45%, var(--card));margin-top:28px;padding:18px 20px;font-size:.93rem;line-height:1.75}.tip strong{margin-bottom:4px;display:block}@media (max-width:820px){.guestbook{grid-template-columns:minmax(0,1fr)}.guestbook__page--left{border-right:0;border-bottom:1px dashed var(--rule);background:var(--card)}.guestbook__page--right{background:var(--card)}}.gb-head{font-family:var(--font-mono);letter-spacing:.05em;color:var(--muted-foreground);justify-content:space-between;gap:12px;margin:0 0 20px;font-size:.72rem;display:flex}.gb-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;display:grid}.gb-field{flex-direction:column;gap:2px;padding-top:12px;display:flex}.gb-field--full{grid-column:1/-1}.gb-field label{color:var(--muted-foreground);font-size:.8rem;font-weight:700}.gb-field input,.gb-field textarea{border:0;border-bottom:1.5px solid var(--input);width:100%;color:var(--foreground);font:inherit;background:0 0;border-radius:0;outline:none;padding:8px 0;font-size:1.05rem;transition:border-color .2s}.gb-field input:focus,.gb-field textarea:focus{border-bottom-color:var(--mark)}.gb-field textarea{--line:2.2rem;min-height:calc(var(--line) * 6);line-height:var(--line);resize:vertical;background:repeating-linear-gradient(to bottom, transparent 0, transparent calc(var(--line) - 1px), var(--rule) calc(var(--line) - 1px), var(--rule) var(--line));background-attachment:local;border-bottom:0;padding:0}.gb-field ::placeholder{color:color-mix(in oklch, var(--muted-foreground) 70%, transparent)}.gb-count{font-family:var(--font-mono);color:var(--muted-foreground);justify-content:space-between;margin-top:6px;font-size:.72rem;display:flex}@media (max-width:560px){.gb-fields{grid-template-columns:minmax(0,1fr)}}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.actions{flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:28px;display:flex}.btn{border:1px solid var(--wall);background:var(--wall);color:var(--wall-ink);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:10px;padding:13px 24px;font-weight:700;transition:transform .2s,box-shadow .2s;display:inline-flex}.btn:hover:not(:disabled){box-shadow:0 12px 20px -12px var(--hang-shadow);transform:translateY(-2px)}.btn:disabled{opacity:.6;cursor:progress}.btn--ghost{color:var(--foreground);border-color:var(--rule);background:0 0}.form-status{margin:0;font-size:.88rem}.form-status--error{color:var(--destructive);font-weight:600}.signed{flex-direction:column;align-items:flex-start;gap:10px;padding-block:24px;display:flex}.signed__k{font-family:var(--font-mono);color:var(--muted-foreground);font-size:.75rem}.signed__name{font-family:var(--font-headline);margin:0;font-size:clamp(2.4rem,6vw,3.6rem);font-style:italic;font-weight:300;line-height:1.2;animation:.8s both rise;position:relative}.signed__line{width:min(100%,320px);height:18px;color:var(--mark)}.signed__line path{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;animation:1.1s ease-out .3s forwards sign}@keyframes sign{to{stroke-dashoffset:0}}.signed__title{margin:10px 0 0;font-size:1.15rem;font-weight:700}.admin-auth{grid-template-columns:minmax(0,1fr) minmax(0,26rem);align-items:start;gap:clamp(28px,5vw,72px);padding-top:clamp(40px,6vw,72px);display:grid}.admin-auth__note{color:var(--ink-soft);margin:0;font-size:1.1rem}.auth-card{background:var(--card);border:1px solid var(--rule);box-shadow:0 30px 50px -36px var(--hang-shadow);border-radius:8px;padding:clamp(20px,3vw,32px)}@media (max-width:820px){.admin-auth{grid-template-columns:minmax(0,1fr)}}.inbox-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-block:clamp(32px,5vw,56px) 20px;display:flex}.inbox-bar__stats{gap:28px;display:flex}.inbox-bar__stats span{color:var(--muted-foreground);flex-direction:column;font-size:.8rem;display:flex}.inbox-bar__stats b{font-family:var(--font-headline);color:var(--foreground);font-size:2rem;font-weight:500;line-height:1.1}.inbox{border:1px solid var(--rule);background:var(--card);border-radius:6px;overflow:hidden}.inbox__cols{border-bottom:2px solid var(--foreground);font-family:var(--font-mono);letter-spacing:.05em;color:var(--muted-foreground);grid-template-columns:3rem minmax(0,13rem) minmax(0,1fr);gap:20px;padding:10px 22px;font-size:.7rem;display:grid}.msg{border-bottom:1px solid var(--rule);grid-template-columns:3rem minmax(0,13rem) minmax(0,1fr);gap:8px 20px;padding:22px;display:grid}.msg:last-child{border-bottom:0}.msg__no{font-family:var(--font-headline);color:var(--mark);font-size:1.5rem;font-weight:300;line-height:1.1}.msg__who{flex-direction:column;gap:2px;min-width:0;display:flex}.msg__from{font-family:var(--font-headline);font-size:1.15rem;font-weight:600}.msg__email,.msg__date{color:var(--muted-foreground);font-size:.82rem}.msg__body{white-space:pre-wrap;margin:0}.msg__actions{gap:18px;margin-top:12px;font-size:.85rem;font-weight:700;display:flex}.msg__actions a,.msg__actions button{color:var(--mark);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:0}.msg__actions button{color:var(--muted-foreground)}@media (max-width:720px){.inbox__cols{display:none}.msg{grid-template-columns:2.4rem minmax(0,1fr)}.msg>div:last-child{grid-column:2}}.empty{text-align:center;color:var(--muted-foreground);flex-direction:column;align-items:center;gap:10px;padding:64px 24px;display:flex}.empty__mark{font-family:var(--font-headline);color:var(--mark);font-size:3rem;font-weight:200;line-height:1}.cv-paper,.cv-paper-fill{fill:var(--mat)}.cv-paper-deep{fill:color-mix(in oklch, var(--haze) 70%, var(--mat))}.cv-indigo{fill:var(--wall)}.cv-ink-bg{fill:var(--frame)}.cv-ink-fill{fill:var(--foreground)}.cv-seal{fill:var(--spot);stroke:color-mix(in oklch, var(--spot) 60%, var(--foreground));stroke-width:2px}.cv-grid line{stroke:var(--rule);stroke-width:1px}.cv-grid--on-dark line{stroke:color-mix(in oklch, var(--wall-ink) 14%, transparent)}.cv-stroke,.cv-stroke line,.cv-stroke rect{fill:none;stroke:var(--foreground);stroke-width:3px}.cv-stroke--bold{stroke-width:6px}.cv-dim line{stroke:var(--muted-foreground);stroke-width:2px}.cv-label{fill:var(--muted-foreground);font-family:var(--font-mono);font-size:22px}.cv-wash{fill:color-mix(in oklch, var(--spot) 22%, transparent)}.cv-line-on-dark{fill:none;stroke:var(--spot);stroke-width:5px;stroke-linejoin:round}.cv-seat{fill:color-mix(in oklch, var(--mat) 26%, var(--frame))}.cv-seal-ring{fill:none;stroke:var(--wall);stroke-width:6px}.cv-seal-ring--thin{stroke-width:2px}.cv-stamp{transform-box:fill-box;transform-origin:50%;transform:rotate(-12deg)}.cv-stamp-text{fill:var(--wall);font-family:var(--font-headline);font-size:54px;font-weight:700}.cv-caption{fill:var(--muted-foreground);font-family:var(--font-mono);letter-spacing:.08em;font-size:18px}.cover-art--dark .cv-caption{fill:color-mix(in oklch, var(--wall-ink) 60%, transparent)}.cover-art--ink .cv-caption{fill:color-mix(in oklch, var(--mat) 60%, transparent)}.cv-draw{stroke-dasharray:1;stroke-dashoffset:1px;animation:2.2s ease-out .4s forwards sign}.cv-float{animation:6s ease-in-out infinite float}@keyframes float{50%{transform:translateY(-10px)}}.cv-rain{animation:2.4s ease-in infinite rain}@keyframes rain{0%{opacity:0;transform:translateY(-20px)}30%{opacity:1}to{opacity:0;transform:translateY(60px)}}@media (prefers-reduced-motion:reduce){.site *,.site :before,.site :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.cv-draw,.signed__line path{stroke-dashoffset:0}}.plates{border-top:1px solid var(--rule);max-width:52rem;margin:clamp(56px,8vw,96px) auto 0;padding-top:32px}.plates ul{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:32px 28px;margin:8px 0 0;padding:0;list-style:none;display:grid}.plate{flex-direction:column;gap:14px;display:flex}.plate .hang{padding-top:18px}.plate .frame{padding:7px}.plate .frame__mat{padding:12px}.plate:hover .frame{transform:translateY(-4px)}.plate__cap{flex-direction:column;gap:2px;font-size:.85rem;display:flex}.plate__cap .mono{font-size:.7rem}.plate__cap b{font-family:var(--font-headline);font-size:1.15rem}.dark .cover-art{--foreground:var(--background);--rule:color-mix(in oklch, var(--background) 16%, var(--mat));--muted-foreground:color-mix(in oklch, var(--background) 55%, var(--mat))}.dark .frame{box-shadow:0 0 0 1px var(--rule), 0 34px 48px -26px var(--hang-shadow)}
