:root{--ink:#f3f6fa;--dim:#f3f6faad;--line:#f3f6fa70;--night:#101624;--shadow:0 0 22px #080e1cc7, 0 1px 3px #080e1c73;--serif:"Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif;--ease:cubic-bezier(.2, .65, .2, 1)}*,:before,:after{box-sizing:border-box}html{background:var(--night);-webkit-text-size-adjust:100%;height:100%}body{overscroll-behavior:none;touch-action:pinch-zoom;color:var(--ink);font-family:var(--serif);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:linear-gradient(#4a5f85,#7d93b5);margin:0;font-weight:400;position:fixed;inset:0;overflow:hidden}button{font:inherit;color:inherit}.scene{width:100%;height:100%;display:block;position:fixed;inset:0}.no-webgl .scene{display:none}.grain{z-index:1;pointer-events:none;opacity:.2;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");position:fixed;inset:0}.stage{z-index:2;text-align:center;text-shadow:var(--shadow);flex-direction:column;justify-content:center;align-items:center;padding:4.5rem 1.5rem 9rem;display:flex;position:fixed;inset:0}.logo{margin:0;font-weight:500;line-height:1}.logo__ja{letter-spacing:.2em;margin-right:-.2em;font-size:clamp(2.2rem,min(10.2vw,11.5vh),5.2rem);display:block}.logo__ja .ch{display:inline-block}.logo__en{letter-spacing:.62em;text-transform:uppercase;color:var(--dim);margin-top:1.7em;margin-right:-.62em;font-size:clamp(.58rem,2.3vw,.72rem);font-weight:400;display:block}.catch{letter-spacing:.26em;justify-content:center;align-items:center;gap:clamp(.6rem,2.4vw,1.1rem);width:min(100%,46rem);margin:clamp(1.7rem,5.2vh,3rem) 0 0;font-size:clamp(.84rem,3.5vw,1.04rem);line-height:1.6;display:flex}.catch__text{white-space:nowrap;padding-left:.26em}.orn{color:#f3f6facc;filter:drop-shadow(0 0 5px #080e1ca6);flex:1 1 0;align-items:center;min-width:0;max-width:12rem;display:flex}.orn--r{transform:scaleX(-1)}.orn__tip{border:1px solid;flex:none;width:5px;height:5px;transform:rotate(45deg)}.orn__line{transform-origin:100%;background:linear-gradient(90deg,#f3f6fa4d,#f3f6fabf);flex:1;height:1px}.orn__knot{flex:none;width:30px;height:12px;margin-left:3px;overflow:visible}.cta{cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-shadow:0 0 14px #0a101e8c;width:min(19rem,80vw);height:3.6rem;transition:background .6s, border-color .6s, box-shadow .6s, transform .4s var(--ease);background:linear-gradient(#f3f6fa1f,#f3f6fa0d);border:1px solid #f3f6fa9e;border-radius:3px;margin-top:clamp(1.9rem,5.4vh,3.2rem);padding:0;display:block;position:relative;overflow:hidden;box-shadow:0 10px 34px #060a1647,inset 0 0 22px #f3f6fa0d}.cta:before{content:"";background:linear-gradient(105deg,#0000 36%,#ffffff29 50%,#0000 64%);animation:8s ease-in-out 5s infinite shimmer;position:absolute;inset:0;transform:translate(-120%)}.cta:hover{background:linear-gradient(#f3f6fa33,#f3f6fa1a);border-color:#f3f6fae6;box-shadow:0 10px 40px #060a164d,0 0 36px #c8d8ee33,inset 0 0 22px #f3f6fa14}.cta:active{transform:scale(.98)}.cta__frame{pointer-events:none;background:radial-gradient(circle at 3px 3px,#f3f6fabf 0 1px,#0000 1.6px),radial-gradient(circle at calc(100% - 3px) 3px,#f3f6fabf 0 1px,#0000 1.6px),radial-gradient(circle at 3px calc(100% - 3px),#f3f6fabf 0 1px,#0000 1.6px),radial-gradient(circle at calc(100% - 3px) calc(100% - 3px),#f3f6fabf 0 1px,#0000 1.6px);border:1px solid #f3f6fa47;border-radius:1px;position:absolute;inset:4px}.cta__frame:before,.cta__frame:after{content:"";background:#182034b3;border:1px solid #f3f6fabf;width:5px;height:5px;position:absolute;top:50%;transform:translateY(-50%)rotate(45deg)}.cta__frame:before{left:-3.5px}.cta__frame:after{right:-3.5px}.cta.is-press .cta__frame{animation:press .8s var(--ease)}.cta__label{letter-spacing:.52em;text-transform:uppercase;place-items:center;padding-left:.52em;font-size:.8rem;display:grid;position:absolute;inset:0}@keyframes shimmer{0%{transform:translate(-120%)}26%,to{transform:translate(120%)}}@keyframes press{0%{border-color:#f3f6faf2;box-shadow:inset 0 0 20px #f3f6fa52}to{border-color:#f3f6fa47;box-shadow:inset 0 0 20px #f3f6fa00}}.chrome{z-index:3;padding:calc(1.3rem + env(safe-area-inset-top)) calc(1.4rem + env(safe-area-inset-right)) 0 calc(1.4rem + env(safe-area-inset-left));text-shadow:var(--shadow);position:fixed;top:0;left:0;right:0}.stamp{text-align:left;gap:.6rem;margin:0;display:grid}.stamp__date{letter-spacing:.3em;text-transform:uppercase;color:var(--dim);font-size:.64rem}.stamp__line{letter-spacing:.2em;font-size:.78rem}.foot{z-index:3;padding:1.6rem 1rem calc(1.1rem + env(safe-area-inset-bottom));text-shadow:var(--shadow);background:linear-gradient(#0000,#080e1e66);justify-items:center;display:grid;position:fixed;bottom:0;left:0;right:0}.keyword{letter-spacing:.6em;opacity:0;filter:blur(12px);min-height:2.4em;transition:opacity 1.6s var(--ease), filter 1.6s var(--ease), transform 1.6s var(--ease);margin:0;padding-left:.6em;font-size:clamp(.98rem,4vw,1.2rem);font-weight:500;transform:translateY(6px)}.is-unveiled .keyword{opacity:1;filter:none;transition-duration:2.6s;transition-delay:1.5s;transform:none}.say{letter-spacing:.3em;opacity:0;filter:blur(5px);min-height:1.7em;margin:0;padding-left:.3em;font-size:.76rem;transition:opacity 1.1s,filter 1.1s}.say.is-on{opacity:.94;filter:none}.week{gap:clamp(.2rem,2.4vw,1rem);margin:.3rem 0 0;padding:0;list-style:none;display:flex}.day{cursor:pointer;width:2.3rem;height:3.4rem;text-shadow:inherit;background:0 0;border:0;align-content:start;justify-items:center;gap:.6rem;padding:.8rem 0 0;display:grid}.day__mark{border:1px solid #f3f6fa80;border-radius:50%;width:9px;height:9px;transition:border-color .5s,background .5s,box-shadow .5s;position:relative}.day:hover .day__mark{border-color:var(--ink)}.day--open .day__mark{background:var(--ink);border-color:#0000;box-shadow:0 0 12px 2px #dce8f8bf}.is-unveiled .day__mark{transition-duration:1.3s;transition-delay:calc(1.9s + var(--n) * .16s);background:#f3f6faeb;border-color:#0000;box-shadow:0 0 12px 2px #dce8f88c}.day__label{letter-spacing:.12em;min-height:1em;color:var(--dim);white-space:nowrap;padding-left:.12em;font-size:.64rem;line-height:1}.day--open .day__label{color:var(--ink)}.day.is-today .day__mark:after{content:"";border:1px solid #f3f6fa99;border-radius:50%;animation:3.4s ease-out infinite pulse;position:absolute;inset:-7px}.day.is-shy .day__mark{animation:.5s ease-in-out shy}@keyframes pulse{0%{opacity:0;transform:scale(.55)}30%{opacity:.9}to{opacity:0;transform:scale(1.5)}}@keyframes shy{25%{transform:translate(-2px)}50%{transform:translate(2px)}75%{transform:translate(-1px)}}.credit{letter-spacing:.2em;color:var(--dim);margin:.5rem 0 0;font-size:.6rem}:is(.cta,.day):focus-visible{outline:1px solid var(--ink);outline-offset:4px}.words{z-index:2;pointer-events:none;position:fixed;inset:0;overflow:hidden}.word{writing-mode:vertical-rl;letter-spacing:.36em;white-space:nowrap;text-shadow:0 0 18px #080e1cd9,0 1px 3px #080e1c80;margin:0;font-size:clamp(.86rem,3.6vw,1rem);animation:7s linear forwards sink;position:absolute}.word span{opacity:0;display:inline-block}@keyframes sink{to{transform:translateY(16px)}}.loader{z-index:10;transition:opacity 1.9s var(--ease), visibility 0s 1.9s;background:radial-gradient(120% 90% at 50% 42%,#1a2233,#0d121d 70%);place-content:center;justify-items:center;gap:2.4rem;display:grid;position:fixed;inset:0}html:not(.js) .loader{display:none}.loader.is-out{opacity:0;visibility:hidden;pointer-events:none}.loader__glyph{opacity:0;height:1.2em;transition:transform 1.9s var(--ease), filter 1.9s var(--ease);font-size:clamp(3.2rem,15vw,5rem);font-weight:500;line-height:1.2}.loader__glyph.is-flip{animation:.3s ease-out both flip}.loader__glyph.is-moon{animation:moon-in 1.1s var(--ease) both}.loader.is-out .loader__glyph{filter:blur(16px);transform:scale(1.3)}@keyframes flip{0%{opacity:0;filter:blur(8px);transform:translateY(.1em)}to{opacity:.42;filter:none;transform:none}}@keyframes moon-in{0%{opacity:0;filter:blur(10px);text-shadow:none}to{opacity:1;filter:none;text-shadow:0 0 34px #d2e2f88c}}.loader__dots{gap:.75rem;display:flex}.loader__dots i{background:#f3f6fa29;border-radius:50%;width:5px;height:5px;transition:background .5s,box-shadow .8s}.loader__dots i.is-on{background:#f3f6facc}.loader__dots i.is-moon{box-shadow:0 0 10px 2px #dce8f8cc}.js .reveal,.js .logo__ja .ch{opacity:0;filter:blur(12px);transform:translateY(10px)}.js.is-ready .reveal{opacity:1;filter:none;transition:opacity 1.9s var(--ease) var(--d,0s), filter 1.9s var(--ease) var(--d,0s), transform 1.9s var(--ease) var(--d,0s);transform:none}.js.is-ready .logo__ja .ch{opacity:1;filter:none;transition:opacity 2s var(--ease) calc(.5s + var(--i) * .16s), filter 2s var(--ease) calc(.5s + var(--i) * .16s), transform 2s var(--ease) calc(.5s + var(--i) * .16s);transform:none}.js .orn__knot{opacity:0}.js .orn__line{transform:scaleX(0)}.js .orn__tip{opacity:0}.js.is-ready .orn__knot{opacity:1;transition:opacity 1.4s var(--ease) 2.5s}.js.is-ready .orn__line{transition:transform 2s var(--ease) 2.8s;transform:scaleX(1)}.js.is-ready .orn__tip{opacity:1;transition:opacity 1.2s var(--ease) 4.3s}@media (height<=520px){.stage{padding:3rem 1.5rem 5.5rem}.catch{margin-top:1rem}.cta{height:3rem;margin-top:1.2rem}.foot{padding-top:.4rem}.keyword{min-height:0}.credit{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
