:root{color-scheme:light;--bg: #ffffff;--bg-2: #f1efea;--ink: #141210;--ink-2: #625d56;--line: rgba(20, 18, 16, .22);--back: #ffffff;--text: #141210;--glow: var(--text);--serif: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif;--latin: "Cormorant Garamond", "Shippori Mincho", Georgia, serif;--sans: "Noto Sans JP", "Hiragino Sans", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html{height:100%}body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.8;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit}:focus-visible{outline:1px solid var(--ink);outline-offset:3px}.atmosphere{position:fixed;inset:0;z-index:-1;background:var(--back);overflow:hidden}.atmosphere:before{content:"";display:none;position:absolute;inset:-40%;background:var(--blur-url) center / cover no-repeat;filter:blur(60px) saturate(1.1);opacity:.55;transform:scale(1.1);animation:drift 60s ease-in-out infinite alternate}.atmosphere:after{content:"";display:none}@keyframes drift{0%{transform:scale(1.1) translate(-2%,-1%)}to{transform:scale(1.18) translate(2%,2%)}}@media(prefers-reduced-motion:reduce){.atmosphere:before{animation:none}}.top{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:22px 0 0}.brand{font-size:11px;letter-spacing:.22em;color:var(--ink-2);line-height:1.6}.brand b{display:block;font-weight:400;color:var(--ink);letter-spacing:.3em}.brand .latin{font-family:var(--latin);font-size:13px;letter-spacing:.12em;font-style:italic}.lang{font-size:11px;letter-spacing:.14em;color:var(--ink-2);display:flex;align-items:center;gap:8px}.lang select{background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--line);padding:4px 2px;font-size:12px;font-family:inherit;letter-spacing:.06em}.eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);margin:0 0 14px;display:flex;gap:12px;align-items:baseline}.eyebrow:after{content:"";flex:1;height:1px;background:var(--line)}.eyebrow-link{min-height:44px;display:inline-flex;align-items:center;border-bottom:1px solid transparent}.eyebrow-link:hover{color:var(--ink)}main.work{max-width:880px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:0 calc(48px + env(safe-area-inset-bottom))}.painting{position:relative;margin:48px auto 0;display:flex;justify-content:center;max-height:72vh}.painting:before{content:none}.painting img{cursor:pointer;transition:transform .8s cubic-bezier(.2,.7,.3,1);max-width:100%;max-height:72vh;width:auto;height:auto;object-fit:contain;box-shadow:0 18px 50px #0000002e,0 2px 6px #0000001f}.painting img:hover{transform:scale(1.01)}.titling{margin:36px 0 0;padding:0 0 22px;border-bottom:1px solid var(--line)}.titling h1{font-family:var(--serif);font-weight:400;font-size:clamp(26px,4vw,38px);letter-spacing:.08em;margin:0;line-height:1.3;text-wrap:balance}.titling h1 .latin{font-family:var(--latin);font-weight:300;font-style:italic;font-size:.85em;letter-spacing:.06em;color:var(--ink-2);margin-left:.6em}.meta{margin:10px 0 0;font-size:12.5px;letter-spacing:.12em;color:var(--ink-2);font-variant-numeric:tabular-nums;display:flex;flex-wrap:wrap;gap:6px 0}.meta>*:not(:last-child):after{content:"·";margin:0 .7em;color:var(--line)}.avail{color:var(--ink)}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:28px 0 56px}.btn{appearance:none;border:1px solid var(--line);background:transparent;color:var(--ink);min-height:46px;padding:0 26px;border-radius:999px;font-size:13px;letter-spacing:.2em;cursor:pointer;transition:border-color .3s,background .3s,color .3s;display:inline-flex;align-items:center}.btn:hover{border-color:var(--ink)}.btn.primary{border-color:var(--ink);padding:0 40px;font-size:14px}.btn.primary:hover{background:var(--ink);color:var(--bg)}.btn.ghost{color:var(--ink-2)}.btn:disabled{opacity:.5;cursor:default}.actions .lang{margin-left:auto}section{margin:0 0 56px}.strip{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 0 10px;scrollbar-width:thin}.room{flex:0 0 min(78%,420px);margin:0;scroll-snap-align:start;min-width:0}.room img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.story p{font-family:var(--serif);font-size:17px;line-height:2.1;letter-spacing:.04em;white-space:pre-line;max-width:36em;margin:0}.other{flex:0 0 132px;scroll-snap-align:start;font-size:11px;letter-spacing:.08em;color:var(--ink-2);min-width:0}.other img{width:100%;aspect-ratio:1;object-fit:cover;display:block;margin-bottom:8px}.other b{display:block;font-family:var(--serif);font-weight:400;color:var(--ink);font-size:13px}footer{margin-top:56px;padding-top:18px;border-top:1px solid var(--line);color:var(--ink-2);font-size:11px;letter-spacing:.1em;display:flex;flex-wrap:wrap;gap:8px 24px}#stage{position:fixed;inset:0;background:#fff;z-index:50}#stage[hidden]{display:none}#stage canvas{display:block;width:100%;height:100%;touch-action:none}.hud{position:fixed;inset:0;pointer-events:none;z-index:60;font-family:var(--sans)}.hud .close{pointer-events:auto;position:absolute;top:calc(14px + env(safe-area-inset-top));right:calc(14px + env(safe-area-inset-right));width:44px;height:44px;border-radius:50%;border:1px solid rgba(28,26,23,.45);background:#f6f4efb8;color:var(--ink);font-size:18px;cursor:pointer}.hud .skip{pointer-events:auto;position:absolute;top:calc(14px + env(safe-area-inset-top));right:calc(68px + env(safe-area-inset-right));height:44px;padding:0 16px;border-radius:22px;border:1px solid rgba(28,26,23,.35);background:#f6f4efb8;color:var(--ink);font-size:12px;letter-spacing:.16em;cursor:pointer}.hud .pausebtn{pointer-events:auto;position:absolute;top:calc(14px + env(safe-area-inset-top));right:calc(150px + env(safe-area-inset-right));width:44px;height:44px;border-radius:50%;border:1px solid rgba(28,26,23,.35);background:#f6f4efb8;color:var(--ink);font-size:11px;cursor:pointer}.hud .title{position:absolute;left:0;right:0;bottom:12%;text-align:center;color:var(--ink);text-shadow:0 0 8px rgba(246,244,239,.9),0 0 2px rgba(246,244,239,.9);font-family:var(--serif);font-size:16px;letter-spacing:.3em;opacity:0;transition:opacity 1.2s}.hud .paused{position:absolute;inset:0;display:grid;place-items:center;color:var(--ink);text-shadow:0 0 8px rgba(246,244,239,.9);font-size:12px;letter-spacing:.3em;opacity:0;transition:opacity .3s}.hud .ending{pointer-events:auto;position:absolute;left:0;right:0;bottom:calc(28px + env(safe-area-inset-bottom));display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding:0 16px;opacity:0;transition:opacity 1.2s}.hud .ending .btn{background:#f6f4efc7;border-color:#1c1a1780;color:var(--ink)}.hud .ending .btn.primary{background:var(--ink);color:#f6f4ef;border-color:var(--ink)}.hud .once{position:absolute;left:0;right:0;bottom:30%;text-align:center;color:var(--ink);text-shadow:0 0 8px rgba(246,244,239,.9),0 0 2px rgba(246,244,239,.9);font-family:var(--serif);font-size:16px;letter-spacing:.12em;opacity:0;transition:opacity 1.2s;padding:0 24px}.hud .caption{position:absolute;left:0;right:0;bottom:calc(96px + env(safe-area-inset-bottom));text-align:center;color:var(--ink);font-family:var(--serif);font-size:15px;letter-spacing:.08em;line-height:1.6;padding:0 24px;opacity:0;transition:opacity 1.2s;text-shadow:0 0 8px rgba(246,244,239,.95),0 0 2px rgba(246,244,239,.95)}.hud .vignette{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 55%,rgba(246,244,239,.85) 100%);opacity:0;transition:opacity .3s}.hud .debug{position:absolute;left:8px;top:8px;font:11px/1.4 monospace;color:#0f0;background:#00000080;padding:4px 6px;white-space:pre}.float-text{font-family:var(--serif)!important}@media(prefers-reduced-motion:reduce){.hud .title,.hud .ending,.hud .once,.hud .caption{transition:none}}.room img[role=button]{cursor:zoom-in}.room figcaption{font-family:var(--serif);font-size:15px;letter-spacing:.06em;color:var(--ink);margin-top:10px;line-height:1.7}.rooms-hint{margin:10px 0 0;font-size:11px;letter-spacing:.1em;color:var(--ink-2);line-height:1.7;display:flex;flex-wrap:wrap;gap:0 1.2em}.lb{position:fixed;inset:0;z-index:80;background:#0f0e0df0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:grid;grid-template-rows:minmax(0,1fr) auto;padding:calc(56px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(16px,env(safe-area-inset-left));animation:lb-in .3s ease-out}@keyframes lb-in{0%{opacity:0}}.lb-media{position:relative;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}.lb-frame{position:relative;flex:none;transform-origin:center;cursor:zoom-in}.lb-media.zoomed .lb-frame{cursor:grab}.lb-img{display:block;width:100%;height:100%;-webkit-user-drag:none}.lb-dims{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;color:var(--ink);opacity:0;transition:opacity .8s ease;filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.55));font-family:var(--sans);font-weight:400;font-variant-numeric:tabular-nums;letter-spacing:.04em}.lb-dims.on{opacity:.8}.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:64px;border:0;background:transparent;color:var(--ink);font-size:30px;font-family:var(--latin);font-weight:300;opacity:.7;cursor:pointer;text-shadow:0 1px 4px rgba(0,0,0,.6)}.lb-nav:hover{opacity:1}.lb-prev{left:0}.lb-next{right:0}.lb-close{position:absolute;top:calc(10px + env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:20px;font-weight:300;cursor:pointer}.lb-close:hover{border-color:var(--ink)}.lb-text{max-height:38vh;overflow-y:auto;padding:18px 4px 22px;max-width:36em;width:100%;justify-self:center}.lb-head{margin:0 0 10px;font-size:11px;letter-spacing:.18em;color:var(--ink-2);font-variant-numeric:tabular-nums}.lb-body p{margin:0;font-family:var(--serif);font-size:14px;line-height:2;letter-spacing:.05em;color:var(--ink-2)}.lb-body .lb-lead{font-size:15px;color:var(--ink)}.lb-body .lb-size{color:var(--ink);font-variant-numeric:tabular-nums}.lb-body .lb-note{font-size:13px}.lb-body .lb-note:first-child{margin-bottom:6px}.lb-tools{display:flex;gap:10px;margin-top:16px}.lb-tool{appearance:none;border:1px solid var(--line);background:transparent;color:var(--ink-2);min-height:34px;padding:0 16px;border-radius:999px;font-size:11px;letter-spacing:.14em;cursor:pointer;font-family:var(--sans)}.lb-tool:hover,.lb-tool[aria-pressed=true]{color:var(--ink);border-color:var(--ink)}@media(orientation:landscape)and (min-width:640px){.lb{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(240px,320px);gap:28px;padding-top:calc(24px + env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom));padding-right:max(64px,env(safe-area-inset-right))}.lb-text{max-height:none;align-self:center;padding:0}}@media(prefers-reduced-motion:reduce){.lb{animation:none}.lb-dims{transition:none}}body.paper{color-scheme:light;--bg: #f6f4ef;--bg-2: #ece8df;--ink: #23201d;--ink-2: #6e675f;--line: rgba(35, 32, 29, .16);background:var(--bg);color:var(--ink)}.paper .lang select{color:var(--ink)}.paper .lang select option{color:#23201d;background:#f6f4ef}body.paper:has(.cg){overflow:hidden;overscroll-behavior:none}@property --cg-host{syntax: "<percentage>"; inherits: true; initial-value: 30%;}.cg{--cg-host: 30%;transition:--cg-host .4s ease;position:fixed;left:0;right:0;top:var(--cg-top, 0px);height:var(--cg-h, 100dvh);display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto var(--cg-host, 30%) minmax(0,1fr) auto;grid-template-areas:"top" "host" "talk" "form";max-width:720px;margin:0 auto;padding:env(safe-area-inset-top) max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left))}.cg-top{grid-area:top;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-top:12px}.cg-title{margin:0;font-family:var(--serif);font-weight:400;font-size:15px;letter-spacing:.14em;line-height:1.5}.cg-title .latin{display:block;font-family:var(--latin);font-style:italic;font-weight:300;font-size:12.5px;letter-spacing:.08em;color:var(--ink-2)}.cg-tools{display:flex;flex-direction:column;align-items:flex-end;gap:0;flex:none}.cg-tools .lang{min-height:32px}.cg-skip{font-size:11px;letter-spacing:.12em;color:var(--ink-2);min-height:32px;display:inline-flex;align-items:center;border-bottom:1px solid var(--line);line-height:1.4}.cg-skip:hover{color:var(--ink);border-bottom-color:var(--ink)}.cg-host{grid-area:host;margin:0 0 6px;min-height:0;display:flex;flex-direction:column;align-items:center;position:relative}.cg-host:before{content:"";position:absolute;left:50%;bottom:0;transform:translate(-50%);width:min(100%,320px);height:100%;background:var(--bg-2);border-radius:18px 18px 6px 6px;border-bottom:1px solid var(--line)}.cg-faces{z-index:1}.cg-faces{position:relative;flex:1;min-height:0;width:100%;transform-origin:50% 100%;animation:cg-breathe 4.5s ease-in-out infinite}.cg-face{position:absolute;inset:0;opacity:0;transition:opacity .3s ease}.cg-face.is-on{opacity:1}.cg-face img{display:block;width:100%;height:100%;object-fit:contain;object-position:50% 100%;user-select:none;-webkit-user-drag:none}@keyframes cg-breathe{0%,to{transform:translateY(2px) scale(1)}50%{transform:translateY(-2px) scale(1.012)}}.cg-name{font-size:11px;letter-spacing:.2em;color:var(--ink-2);padding-top:4px}.cg-talk{grid-area:talk;min-height:0;height:100%;display:flex;flex-direction:column}.cg-thread{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:8px;padding:10px 2px;scrollbar-width:thin}.cg-thread>:first-child{margin-top:auto}.cg:not(.is-talk) .cg-thread>:first-child{margin-top:6px}.cg-line{margin:0;max-width:min(92%,30em);padding:8px 14px;border-radius:16px;font-size:16px;line-height:1.75;letter-spacing:.03em;white-space:pre-line;overflow-wrap:anywhere}.cg-ai{align-self:flex-start;background:#fff;border:1px solid rgba(20,18,16,.3);border-top-left-radius:4px;font-family:var(--serif);color:var(--ink)}.cg-me{align-self:flex-end;background:var(--bg-2);border-top-right-radius:4px;font-family:var(--sans);font-weight:400;color:var(--ink)}.cg-greet{animation:cg-in .6s ease both;animation-delay:var(--d, 0s)}.cg-openers,.cg-choices{display:flex;flex-direction:column;align-items:stretch;gap:6px;margin:2px 0 4px 8px}.cg-openers-cap{font:400 11px/1.6 var(--sans);letter-spacing:.14em;color:var(--ink-2);margin-bottom:2px}.cg-opt{appearance:none;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:6px 12px 6px 14px;border:1.5px solid var(--ink);border-radius:10px;background:#fff;color:var(--ink);font-family:var(--serif);font-size:15px;letter-spacing:.06em;line-height:1.5;text-align:left;cursor:pointer;box-shadow:0 1px #0000000f;transition:background .2s,transform .15s}.cg-opt:after{content:"›";font-family:var(--sans);font-size:18px;line-height:1;color:var(--ink-2);flex:none}.cg-opt:hover{background:var(--bg)}.cg-opt:active{transform:translateY(1px)}.cg-form{grid-area:form;display:flex;gap:8px;align-items:center;padding:8px 0 calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--bg)}.cg-form input{flex:1;min-width:0;min-height:44px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:22px;padding:8px 16px;font:400 16px/1.5 var(--sans);letter-spacing:.02em}.cg-form input:focus{outline:none;border-color:var(--ink)}.cg-form input::placeholder{color:var(--ink-2);opacity:.8}.cg-form button{appearance:none;flex:none;min-width:64px;min-height:44px;padding:0 16px;border:1px solid var(--ink);border-radius:22px;background:var(--ink);color:var(--bg);font-size:13px;letter-spacing:.16em;cursor:pointer}.cg-form button:disabled{opacity:.4;cursor:default}.cg [hidden],.btn[hidden]{display:none!important}@keyframes cg-in{0%{opacity:0;transform:translateY(6px)}}@media(max-height:700px)and (orientation:portrait){.cg{--cg-host: 26%}}.cg.is-talk{--cg-host: 15%}.cg.is-talk.is-kb,.cg.is-kb{--cg-host: 12%}@media(min-width:640px){.cg{max-width:640px;margin:0 auto}.cg{grid-template-rows:auto 220px minmax(0,1fr) auto}.cg.is-talk{grid-template-rows:auto 150px minmax(0,1fr) auto}.cg.is-kb{grid-template-rows:auto 120px minmax(0,1fr) auto}.cg-host{max-height:220px}.cg.is-talk .cg-host{max-height:150px}}@media(prefers-reduced-motion:reduce){.cg,.cg-face{transition:none}.cg-faces,.cg-greet{animation:none}}main.gw{min-height:100dvh;display:flex;flex-direction:column;padding:env(safe-area-inset-top) max(16px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(16px,env(safe-area-inset-left))}.gw-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;max-width:1180px;width:100%;margin:0 auto}.gw-back{font-size:12px;letter-spacing:.14em;color:var(--ink-2);min-height:44px;display:inline-flex;align-items:center}.gw-back:before{content:"←";margin-right:.6em}.gw-back:hover{color:var(--ink)}.gw-title{margin:0;font-family:var(--serif);font-weight:400;font-size:15px;letter-spacing:.2em;display:flex;gap:.8em;align-items:baseline}.gw-title .latin{font-family:var(--latin);font-style:italic;font-weight:300;font-size:13px;letter-spacing:.08em;color:var(--ink-2)}.gw-wall{--k: calc(min(48dvh, 460px) / var(--maxh));position:relative;flex:1;display:flex;align-items:center;gap:clamp(56px,8vw,120px);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:thin;padding:40px max(8vw,48px) 64px;margin:0 calc(-1*max(16px,env(safe-area-inset-left)));background:linear-gradient(to bottom,transparent calc(100% - 28px),var(--line) calc(100% - 28px),var(--line) calc(100% - 27px),transparent calc(100% - 27px))}.gw-wall:focus-visible{outline-offset:-4px}.gw-item{position:relative;flex:none;display:flex;flex-direction:column;scroll-snap-align:center;color:var(--ink-2);width:max(calc(var(--wcm) * var(--k)),96px);transition:transform .6s cubic-bezier(.2,.7,.3,1)}.gw-item:hover{transform:translateY(-4px)}.gw-item img{display:block;width:100%;height:auto;box-shadow:0 1px 2px #23201d2e,0 14px 30px #23201d24;background:var(--bg-2)}.gw-cap{display:block;margin-top:14px;padding-top:8px;border-top:1px solid var(--line);font-size:11px;letter-spacing:.12em;font-variant-numeric:tabular-nums;white-space:nowrap}.gw-cap b{display:block;font-family:var(--serif);font-weight:400;font-size:14px;letter-spacing:.1em;color:var(--ink)}.gw-cap i{display:block;font-family:var(--latin);font-weight:300;font-size:12px;letter-spacing:.06em}.gw-foryou{position:absolute;bottom:calc(100% + 12px);left:0;font-size:11px;letter-spacing:.2em;color:var(--ink);white-space:nowrap}.gw-item.is-for-you:before{content:"";position:absolute;inset:-38% -42% -20%;z-index:-1;background:radial-gradient(closest-side,#fffffff2,#fff0);pointer-events:none}.gw footer{max-width:1180px;width:100%;margin:24px auto 16px}@media(max-width:767.98px){.gw-wall{flex-direction:column;align-items:center;overflow:visible;gap:64px;padding:56px 0 72px;margin:0;background:none}.gw-item{width:100%;scroll-snap-align:none}.gw-cap{white-space:normal}.gw-title .latin,.gw-top .lang>span{display:none}.gw-back{white-space:nowrap}}@media(prefers-reduced-motion:reduce){.gw-item{transition:none}}.via-band{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 16px;margin:0 0 -14px;padding:4px 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:13px;letter-spacing:.16em;color:var(--ink)}.via-links{display:flex;gap:0 18px;font-family:var(--sans);font-size:11.5px;letter-spacing:.12em}.via-links a{min-height:44px;display:inline-flex;align-items:center;color:var(--ink-2)}.via-links a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
