:root{--font-jp:"Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;--font-jp2:"Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;--font-en:"Cormorant Garamond", "Times New Roman", serif;--shadow:#0000001a 0px 10px 15px -3px, #0000000d 0px 4px 6px -2px}body{font-family:var(--font-jp2)}.section-title{font-family:var(--font-en)}@media (prefers-color-scheme:dark){:root{--text:#9ca3af}}.bubble-canvas{z-index:0;pointer-events:none;filter:blur(.6px)saturate(1.05);opacity:.95;width:100%;height:100%;position:fixed;inset:0}@media (prefers-reduced-motion:reduce){.bubble-canvas{display:none}}.section-title{align-items:center;gap:24px;margin-top:96px;padding-bottom:12px;display:flex}.section-number{font-size:var(--font-size-5xl);color:var(--color-primary-deep);opacity:.9;font-weight:700}.section-text h2{font-size:var(--font-size-3xl);font-size:var(--font-size-heading-sm);font-size:var(--font-size-heading-md);letter-spacing:8px}.subtitle{color:var(--color-text-soft);font-size:var(--font-size-sm);margin-top:6px;font-family:Allura,cursive;font-style:italic}.social-glass{color:#fff;-webkit-backdrop-filter:blur(4px);background:linear-gradient(135deg,#183465d1 0%,#23457dc7 55%,#4b6fa6ad 100%);border:1px solid #d2e6f847;border-radius:22px;align-items:center;gap:24px;width:min(100%,520px);padding:24px 30px;text-decoration:none;transition:transform .45s,box-shadow .45s;display:flex;position:relative;overflow:hidden;box-shadow:0 14px 40px #18346529,inset 0 1px #ffffff4d,inset 0 -1px #0a1e4133}.social-glass:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#bedcf8cc,#ffffff80,#0000);height:1px;position:absolute;top:0;left:8%;right:8%}.social-glass:after{content:"";pointer-events:none;background:radial-gradient(#97c5eb2e,#0000 65%);width:65%;height:150%;position:absolute;top:-60%;right:-10%}.social-glass:hover,.social-glass:focus-visible{background:linear-gradient(135deg,#183465c7 0%,#23457dbd 55%,#567eb5b8 100%);transform:translateY(-3px);box-shadow:0 18px 46px #1834653d,0 4px 16px #4b6fa61f,inset 0 1px #ffffff61,inset 0 -1px #0a1e412e}.social-glass:focus-visible{outline-offset:6px;outline:2px solid #97bee1d9}.social-glass-icon{color:#fff;font-family:Cormorant Garamond,serif;font-size:var(--font-size-6xl);flex-shrink:0;align-items:center;font-weight:400;display:flex}.social-glass-divider{background:#fff;width:1px;height:52px}.social-glass-content{flex-direction:column;min-width:0;display:flex}.social-glass-name,.social-glass-account,.social-glass-arrow{font-family:Cormorant Garamond,serif}.social-glass-name{font-size:var(--font-size-xl);letter-spacing:.06em}.social-glass-account{font-size:var(--font-size-md);margin-top:3px;font-style:italic}.social-glass-arrow{font-size:var(--font-size-3xl);margin-left:auto;transition:transform .4s}.social-glass:hover .social-glass-arrow,.social-glass:focus-visible .social-glass-arrow{transform:translate(5px)}@media (width<=768px){.social-glass{gap:16px;width:min(90%,520px);padding:18px 20px}.social-glass-divider{height:40px}.social-glass-name{font-size:var(--font-size-lg)}.social-glass-account{font-size:var(--font-size-sm)}}@media (prefers-reduced-motion:reduce){.social-glass,.social-glass-arrow{transition:none}}.social-section{padding:6rem 0 5rem}.social-body{flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;margin-top:2.2rem;display:flex}.social-description{color:var(--color-text-soft);font-size:var(--font-size-lg);letter-spacing:.02em;line-height:1.9;font-family:var(--font-jp2);margin:0 0 1.4rem}@media (width<=768px){.social-section{padding:4rem 0 4.5rem}.social-body{width:100%;max-width:100%}}.site-header{z-index:60;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:0 0;width:100%;padding:12px 0;transition:background .24s,border-bottom .24s;position:fixed;top:0}.header-inner{justify-content:space-between;align-items:center;gap:12px;display:flex}.logo{align-items:center;height:44px;display:flex;overflow:hidden}.logo-head-image{border-radius:8px;flex:none;width:160px;margin-right:8px}.nav{justify-content:flex-end;align-items:center;gap:16px;display:flex}.nav a{color:var(--color-text);letter-spacing:2px;font-size:var(--font-size-2xl);margin-left:20px;font-weight:700;text-decoration:none}.hamburger-shape{fill:currentColor;stroke:#0000}.hamburger-icon.is-open .hamburger-shape{fill:#0000;stroke:currentColor;stroke-width:18px;stroke-linejoin:round;stroke-linecap:round}.menu-toggle{color:#374b75;cursor:pointer;background:0 0;border:none;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;margin-left:auto;padding:0;transition:opacity .2s,transform .2s;display:none;position:relative}.menu-toggle:hover,.menu-toggle:focus-visible{opacity:.8;transform:translateY(-1px)}.menu-toggle img{object-fit:contain;height:42px;display:block}.menu-text{color:#fff;letter-spacing:.6px;font-size:8px;font-weight:700;font-family:var(--font-jp);position:absolute;bottom:2.4px;right:50%;transform:translate(50%)}.mobile-menu-overlay{background-color:var(--color-text);z-index:120;opacity:0;visibility:hidden;-webkit-backdrop-filter:blur();backdrop-filter:blur();justify-content:center;align-items:center;transition:opacity .5s,visibility .5s,transform .5s;display:flex;position:fixed;inset:0;transform:scale(1.01)}.mobile-menu-overlay.is-open{opacity:1;visibility:visible;transform:scale(1)}.mobile-menu-panel{justify-content:center;align-items:center;width:min(72vw,700px);min-height:min(72vh,900px);padding:clamp(32px,8vw,52px) clamp(20px,6vw,40px);display:flex;position:relative}.mobile-menu-overlay{pointer-events:none}.mobile-menu-overlay.is-open{pointer-events:auto}.menu-close{cursor:pointer;z-index:130;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;width:42px;height:42px;padding:0;display:inline-flex;position:fixed;top:14px;right:20px}.menu-close img{object-fit:contain;width:42px;height:42px;display:block}.mobile-menu-nav{flex-direction:column;justify-content:center;align-items:center;gap:clamp(32px,4vw,38px);width:100%;display:flex}.menu-link{color:#fff;letter-spacing:.32em;font-size:var(--font-size-heading-md);font-family:var(--font-en);opacity:0;font-weight:600;text-decoration:none;transition:opacity .45s 80ms,transform .45s 80ms;transform:translateY(8px)}.mobile-menu-overlay.is-open .menu-link{opacity:1;transform:translateY(0)}.menu-link:nth-of-type(2){transition-delay:.12s}.menu-link:nth-of-type(3){transition-delay:.16s}.menu-link:hover,.menu-link:focus-visible{opacity:.7}.menu-socials{opacity:0;justify-content:center;align-items:center;gap:18px;margin-top:14px;transition:opacity .45s .2s,transform .45s .2s;display:flex;transform:translateY(8px)}.mobile-menu-overlay.is-open .menu-socials{opacity:1;transform:translateY(0)}.menu-social-link{color:#fff;background:#ffffff05;border:1px solid #ffffff40;border-radius:50%;justify-content:center;align-items:center;width:clamp(48px,7vw,52px);height:clamp(48px,7vw,52px);transition:opacity .2s,transform .2s,border-color .2s;display:inline-flex}.menu-social-link:hover,.menu-social-link:focus-visible{opacity:.75;border-color:#ffffff80;transform:translateY(-1px)}.menu-social-link svg{width:28px;height:24px}.logo{opacity:0;transition:transform .56s cubic-bezier(.2,.9,.3,1),opacity .56s cubic-bezier(.2,.9,.3,1);transform:translateY(-6px)}.site-header.show-logo .logo{opacity:1;transform:translateY(0)}.hamburger-icon{background-color:currentColor;width:32px;height:32px;display:block;-webkit-mask:url(/images/hamburger.svg) 50%/contain no-repeat;mask:url(/images/hamburger.svg) 50%/contain no-repeat}.menu-toggle{color:#374b75}.menu-toggle:hover{color:#67799c}@media (width<=768px){.nav{display:none}.header-inner{padding-right:max(8px, env(safe-area-inset-right));padding-left:max(8px, env(safe-area-inset-left))}.logo-head-image{width:140px}.menu-toggle{width:42px;height:42px;display:inline-flex}}@media (prefers-reduced-motion:reduce){.logo,.site-header.show-logo .logo,.mobile-menu-overlay,.menu-link,.menu-socials{opacity:1!important;transition:none!important;transform:none!important}}.hero{background-image:url(/images/character/sou-hero-bg.png);background-position:100%;background-repeat:no-repeat;background-size:cover;align-items:flex-end;min-height:100svh;display:flex;position:relative}.hero-sentinel{pointer-events:none;opacity:0;height:1px;position:absolute;bottom:0;left:0;right:0}.hero-inner{z-index:2;align-items:center;gap:48px;width:100%;display:flex;position:relative}.hero-left{flex:1;margin-bottom:72px}.logo-large{font-size:var(--font-size-3xl);color:var(--color-primary-deep);font-weight:700}.logo-image{width:30%;min-width:240px;max-width:360px;height:auto;display:block}.hero-title{font-size:var(--font-size-4xl);color:var(--color-text-soft);margin-top:24px;line-height:1.05}.hero-sub{color:var(--color-text-soft);margin-top:12px}.hero:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(90deg,#ffffffd9 0%,#fff9 0%,#fff0 50%);position:absolute;inset:0}@media (width<=768px){.hero{padding:calc(var(--space-lg) + 4px) 0;background-image:url(/images/character/sou-hero-bg-sp.png);background-position:top;background-size:cover}.hero-inner{flex-direction:column;align-items:flex-start}.hero-title{font-size:var(--font-size-4xl)}}@media (width<=768px) and (orientation:landscape){.hero{background-image:url(/images/character/sou-hero-bg.png);background-position:100%}}.profile-section{padding:120px 0;position:relative}.profile-inner{align-items:start;gap:40px;min-height:700px;display:flex}.profile-image{width:360px;height:360px;box-shadow:var(--shadow);border-radius:12px}.profile-character{object-fit:contain;z-index:1;width:min(72vw,1100px);height:auto;position:absolute;bottom:0;right:-2%}.profile-body{flex:1}.lead{color:var(--color-text-soft);line-height:1.8}.profile-info-item-list>dl~dl{margin-top:12px}.profile-info-item-list>dl{flex-flow:row;align-items:baseline;gap:24px;display:flex}.profile-info-item-list>dl dt{min-width:120px;font-family:var(--font-en);font-size:var(--font-size-sm);letter-spacing:.12em;text-transform:uppercase}.profile-info-item-list>dl dd{font-family:var(--font-jp);letter-spacing:.12em;margin:0}.profile-info-item-list>dl dd span{font-size:var(--font-size-sm)}@media (width<=768px){.profile-inner{flex-direction:column;min-height:920px}.profile-image{width:80%;height:260px}.profile-info-item-list>dl dt{min-width:100px}.profile-character{width:auto}.profile-info-item-list{padding-bottom:100px}}@media (width<=480px){.profile-inner{min-height:800px}}.video-section{padding:5rem 0 6rem}.video-state{margin-top:2.5rem}.video-loading{min-height:18rem}.video-skeleton-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem 2.25rem;display:grid}.video-skeleton-item{flex-direction:column;gap:.9rem;display:flex}.video-skeleton-thumb,.video-skeleton-line{background:linear-gradient(90deg,#9fc9dc47,#9fc9dc66,#9fc9dc47) 0 0/200% 100%;animation:1.6s ease-in-out infinite shimmer}.video-skeleton-thumb{aspect-ratio:16/9;border-radius:6px;width:100%}.video-skeleton-line{border-radius:999px;height:.9rem}.video-skeleton-line.short{width:82%}.video-error{color:var(--color-text-soft);padding:1.2rem 0}.video-list{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:2rem 2.25rem;margin-top:2.4rem;display:grid}.video-item{display:flex}.video-link{width:100%;color:inherit;text-decoration:none}.video-thumb-wrap{aspect-ratio:16/9;background:#ffffff80;border-radius:6px;width:100%;position:relative;overflow:hidden;box-shadow:0 18px 30px #365b8414}.video-thumb{object-fit:cover;width:100%;height:100%;transition:transform .5s,opacity .45s;display:block}.video-link:hover .video-thumb,.video-link:focus-visible .video-thumb{opacity:.95;transform:scale(1.04)}.play-badge{width:52px;height:52px;color:var(--color-primary-deep);font-size:var(--font-size-xl);opacity:0;background:#ffffffb8;border:1px solid #749bba73;border-radius:50%;place-items:center;transition:opacity .45s,transform .45s;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.video-link:hover .play-badge,.video-link:focus-visible .play-badge{opacity:1;transform:translate(-50%,-50%)scale(1.04)}.video-content{padding-top:1rem}.video-content h3{color:var(--color-text);font-size:var(--font-size-heading-xs);letter-spacing:.02em;margin:0;font-weight:500;line-height:1.7}.video-date{color:var(--color-text-soft);font-size:var(--font-size-heading-xs);margin-top:.5rem;font-family:Cormorant Garamond,serif;font-style:italic}.video-more{text-align:right;margin-top:2.2rem}.video-more a{color:var(--color-primary-deep);font-family:Cormorant Garamond,serif;font-size:var(--font-size-heading-sm);letter-spacing:.04em;font-style:italic;text-decoration:none;transition:opacity .3s}.video-more a:hover,.video-more a:focus-visible{opacity:.8}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (width<=1024px){.video-list,.video-skeleton-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.video-section{padding:4rem 0 5rem}.video-list,.video-skeleton-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.video-thumb,.play-badge,.video-more a,.video-skeleton-thumb,.video-skeleton-line{transition:none;animation:none}}.contact-text{letter-spacing:.06em;margin-top:2.4rem;line-height:2.1}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{vertical-align:baseline;border:0;margin:0;padding:0}html,body,#root{height:100%}ol,ul{list-style:none}img{max-width:100%;height:auto;display:block}button{font:inherit}:root{--color-bg:#f8fcff;--color-bg-blue:#eef7fc;--color-bg-blue-deep:#dceef7;--color-primary-light:#cfe8f3;--color-primary:#9fc9dc;--color-primary-deep:#76a9c1;--color-text:#23457d;--color-text-soft:#6f8591;--color-white:#fff;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.75rem;--font-size-4xl:2rem;--font-size-5xl:2.25rem;--font-size-6xl:2.5rem;--font-size-heading-xs:clamp(1.25rem, 1.5vw, 1.5rem);--font-size-heading-sm:clamp(1.5rem, 2vw, 2rem);--font-size-heading-md:clamp(1.75rem, 3vw, 3rem);--font-size-heading-lg:clamp(2.25rem, 4vw, 4rem);--font-size-heading-xl:clamp(2.7rem, 5vw, 5rem);--space-lg:6rem;--space-md:3rem;--space-sm:1.5rem;--max-width:1200px}@media (prefers-reduced-motion:reduce){:root{--motion-duration:0s}}html,body{background-color:var(--color-bg-blue-deep);color:var(--color-text);font-family:var(--font-jp2);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh}#app-root{position:relative;overflow-x:hidden}main{z-index:2;position:relative}.container{max-width:var(--max-width);margin:0 auto;padding:0 20px}.visually-hidden{clip:rect(1px, 1px, 1px, 1px);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.gradientText{color:#0000;-webkit-text-fill-color:transparent;background:linear-gradient(110deg,#9bc8f2 0%,#5f8fc8 18%,#284f91 40%,#173b78 58%,#315f9f 78%,#8ebce8 100%);-webkit-background-clip:text;background-clip:text}@media (width<=768px){:root{--space-lg:3rem}}.gallery-page{min-height:100vh;font-family:var(--font-en);padding:154px 0 110px}.gallery-header{justify-content:center;align-items:center;margin-bottom:1.75rem;display:flex}.gallery-title{color:var(--color-text);font-size:var(--font-size-heading-xl);letter-spacing:.18em;text-align:center;margin:0;font-weight:500;line-height:1}.gallery-tabs{justify-content:center;align-items:flex-end;gap:var(--font-size-heading-md);border-bottom:1px solid #23457d38;max-width:760px;margin:0 auto;display:flex}.gallery-tab{color:#23457dbf;font-family:var(--font-en);font-size:var(--font-size-heading-xs);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;padding:.2rem 0 .9rem;transition:color .22s;position:relative}.gallery-tab:hover,.gallery-tab:focus-visible,.gallery-tab.is-active{color:var(--color-text)}.gallery-tab.is-active:after{content:"";background:#23457db3;height:1px;position:absolute;bottom:-1px;left:0;right:0}.gallery-panel{width:min(100%,1180px);margin:0 auto;padding-top:2.2rem;animation:.36s galleryPanelFade}.gallery-carousel{flex-direction:column;align-items:center;display:flex}.gallery-viewport-wrap{justify-content:center;align-items:center;gap:1rem;width:min(100%,1100px);display:flex}.embla{touch-action:pan-y pinch-zoom;overflow:hidden}.gallery-viewport{width:min(100%,920px)}.embla__container{align-items:center;display:flex}.gallery-visual{min-height:500px}.embla__slide{z-index:0;flex:0 0 28%;min-width:0;padding:0 .75rem}.gallery-card{opacity:.38;filter:saturate(.7);background:0 0;border:none;border-radius:28px;justify-content:center;align-items:center;width:100%;padding:0;display:flex;overflow:hidden;transform:scale(.9);box-shadow:0 18px 38px #3d5a851f}.gallery-card.is-active{opacity:1;filter:saturate();transform:scale(1)}.gallery-carousel.is-transitioning .embla__slide:not(.is-active){z-index:1}.gallery-carousel.is-transitioning .embla__slide.is-active{z-index:0}.gallery-card-button{cursor:pointer;background:0 0;border:none;width:100%;padding:0}.gallery-card-button img{object-fit:cover;background:#fff6;border-radius:28px;width:100%;height:auto;display:block}.embla__slide:not(.is-active) .gallery-card-button img{opacity:.82}.gallery-nav{width:3.1rem;height:3.1rem;color:var(--color-text);cursor:pointer;background:#ffffff1a;border:1px solid #23457d1a;border-radius:8px;justify-content:center;align-items:center;transition:transform .22s,background-color .22s,border-color .22s;display:inline-flex;box-shadow:0 10px 22px #2e4b761a}.gallery-nav:hover,.gallery-nav:focus-visible{background:#fff9;transform:translateY(-1px)}.gallery-counter{color:var(--color-text);font-size:var(--font-size-sm);letter-spacing:.2em;text-transform:uppercase;margin:1.5rem 0 0}.gallery-thumbnails{scrollbar-width:thin;justify-content:center;gap:.65rem;width:min(100%,760px);margin-top:1.2rem;padding-top:2px;padding-bottom:.25rem;display:flex;overflow-x:auto}.gallery-thumbnail{cursor:pointer;background:#ffffff40;border:1px solid #23457d1a;border-radius:14px;flex:none;width:68px;height:68px;padding:0;transition:border-color .22s,transform .22s;overflow:hidden}.gallery-thumbnail img{object-fit:cover;width:100%;height:100%;display:block}.gallery-thumbnail.is-active{border-color:#23457db3;transform:translateY(-1px)}.gallery-download-block{flex-direction:column;justify-content:center;align-items:center;gap:.7rem;margin-top:2.1rem;display:flex}.gallery-download-link{width:min(100%,420px);min-height:3.5rem;color:var(--color-text);background:#ffffff2e;border:1px solid #23457d5c;border-radius:999px;justify-content:center;align-items:center;gap:.75rem;padding:.8rem 1.35rem;text-decoration:none;transition:background-color .22s,transform .22s;display:inline-flex;box-shadow:0 12px 26px #2c486e14}.gallery-download-link:hover,.gallery-download-link:focus-visible{background:#ffffff4d;transform:translateY(-1px)}.gallery-download-arrow{font-size:var(--font-size-2xl);line-height:1}.gallery-download-label{font-family:var(--font-en);font-size:var(--font-size-heading-xs);letter-spacing:.12em;text-transform:uppercase}.gallery-download-meta{color:#23457dcc;letter-spacing:.05em;font-size:var(--font-size-xs);margin:0}.calendar-selector{flex-direction:column;align-items:center;gap:1.2rem;margin-top:.8rem;display:flex}.calendar-year-switcher{color:var(--color-text);justify-content:center;align-items:center;gap:1rem;display:flex}.calendar-year-button{width:2.25rem;height:2.25rem;color:var(--color-text);font-size:var(--font-size-3xl);background:#fff3;border:1px solid #23457d3d;border-radius:999px;line-height:1}.calendar-year-label{font-size:var(--font-size-heading-sm);letter-spacing:.12em;text-transform:uppercase;font-family:var(--font-en)}.calendar-month-grid{grid-template-columns:repeat(6,minmax(82px,1fr));gap:.7rem .8rem;width:min(100%,760px);display:grid}.calendar-month-button{color:#23457dbf;min-height:2.8rem;font-size:var(--font-size-xs);letter-spacing:.1em;font-family:var(--font-en);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;transition:background-color .22s,color .22s,border-color .22s}.calendar-month-button:hover,.calendar-month-button:focus-visible{border-color:#23457d33}.calendar-month-button.is-selected{color:var(--color-white);background:#23457de6}.calendar-month-button:disabled{opacity:.5;cursor:not-allowed}.gallery-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#142037cc;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.gallery-modal{justify-content:center;align-items:center;gap:1rem;width:min(92vw,1000px);min-height:min(82vh,760px);padding:2rem 1rem 1rem;display:flex;position:relative}.gallery-modal-viewport{touch-action:pan-y pinch-zoom;width:min(90vw,820px);overflow:hidden}.gallery-modal-container{align-items:center;min-height:min(72vh,660px);display:flex}.gallery-modal-viewport .gallery-modal-slide{flex:0 0 100%;justify-content:center;align-items:center;min-width:0;display:flex}.gallery-modal-image{object-fit:contain;border-radius:20px;width:auto;max-width:min(90vw,820px);height:auto;max-height:min(68vh,620px);display:block;box-shadow:0 26px 48px #0c121f40}.gallery-modal-close{width:2.8rem;height:2.8rem;color:var(--color-white);cursor:pointer;background:#ffffff14;border:1px solid #ffffff40;border-radius:8px;justify-content:center;align-items:center;display:flex;position:absolute;top:.4rem;right:.4rem}.gallery-modal-nav{width:3.2rem;height:3.2rem;color:var(--color-white);cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.gallery-nav svg,.gallery-modal-close svg,.gallery-modal-nav svg{stroke-width:1.5px}@keyframes galleryPanelFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=1024px){.gallery-page{padding-top:138px}.embla__slide{flex-basis:34%}}@media (width<=768px){.gallery-page{padding-top:100px}.gallery-header{margin-bottom:1.2rem}.gallery-tabs{gap:1.2rem}.gallery-viewport-wrap{gap:.4rem}.gallery-viewport{width:min(100%,520px)}.gallery-visual{min-height:360px}.embla__slide{flex-basis:54%;padding:0 .4rem}.gallery-card{opacity:.26;transform:scale(.9)}.gallery-card.is-active{opacity:1;transform:scale(1)}.gallery-nav{width:2.7rem;height:2.7rem}.gallery-thumbnails{justify-content:flex-start;width:100%;padding-bottom:.35rem}.gallery-thumbnail{width:60px;height:60px}.gallery-download-link{width:min(80%,360px)}.calendar-month-grid{grid-template-columns:repeat(3,minmax(72px,1fr))}.gallery-modal{box-sizing:border-box;gap:0;width:100%;height:100dvh;min-height:0;padding:4rem .5rem 1rem}.gallery-modal-overlay{padding:0}.gallery-modal-viewport{flex:auto;width:100%;min-width:0}.gallery-modal-container{min-height:calc(100dvh - 8rem)}.gallery-modal-image{max-width:calc(100vw - 6rem);max-height:calc(100dvh - 8rem)}.gallery-modal-nav{z-index:1;width:2.8rem;height:2.8rem;position:absolute;top:50%}.gallery-modal-nav--prev{left:.5rem}.gallery-modal-nav--next{right:.5rem}}@media (prefers-reduced-motion:reduce){.gallery-panel,.gallery-card,.gallery-nav,.gallery-download-link,.gallery-thumbnail,.calendar-month-button,.embla__slide{transition:none!important;animation:none!important}}.voice-card{background:#ffffff7a;border:1px solid #23457d1f;border-radius:20px;min-width:0;padding:1.35rem 1.5rem 1.1rem;box-shadow:0 8px 22px #2e4b760b}.voice-card-heading{min-width:0;margin-bottom:1.1rem}.voice-date{color:var(--color-text-soft);font-family:var(--font-en);font-size:var(--font-size-xs);letter-spacing:.12em;margin-bottom:.45rem;display:block}.voice-card-title{color:var(--color-text);font-family:var(--font-jp2);font-size:var(--font-size-lg);overflow-wrap:anywhere;font-weight:500;line-height:1.55}.voice-player{grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:1rem;display:grid}.voice-control-button{width:48px;height:48px;color:var(--color-text);cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffffad;border:1px solid #23457d33;border-radius:50%;justify-content:center;align-items:center;padding:0;text-decoration:none;transition:background-color .18s,border-color .18s,transform .18s;display:inline-flex}.voice-control-button:hover:not(:disabled),.voice-control-button:focus-visible{background:#fffffff2;border-color:#23457d6b;transform:translateY(-1px)}.voice-control-button:focus-visible,.voice-seek:focus-visible{outline-offset:3px;outline:3px solid #76a9c194}.voice-control-button:disabled{opacity:.45;cursor:not-allowed}.voice-timeline{min-width:0}.voice-seek{width:100%;height:28px;accent-color:var(--color-primary-deep);cursor:pointer;touch-action:pan-x;margin:0;display:block}.voice-seek:disabled{opacity:.5;cursor:not-allowed}.voice-time-labels{color:var(--color-text-soft);font-family:var(--font-en);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;letter-spacing:.04em;justify-content:space-between;display:flex}.voice-status{color:var(--color-text-soft);font-family:var(--font-jp2);font-size:var(--font-size-xs);margin-top:.75rem;line-height:1.6}@media (width<=768px){.voice-card{padding:1.2rem 1.1rem 1rem}.voice-player{grid-template-columns:48px minmax(0,1fr) 48px;gap:.7rem}}@media (width<=380px){.voice-card{padding-left:.85rem;padding-right:.85rem}.voice-player{gap:.5rem}}.voice-page{font-family:var(--font-en);padding:154px 0 80px}.voice-header{border-bottom:1px solid #23457d38;justify-content:center;align-items:center;max-width:760px;margin:0 auto;padding-bottom:1.1rem;display:flex}.voice-title{color:var(--color-text);font-size:var(--font-size-heading-xl);letter-spacing:.18em;text-align:center;margin:0;font-weight:500;line-height:1}.voice-subtitle{color:var(--color-text-soft);font-family:Allura,cursive;font-size:var(--font-size-heading-xs);text-align:center;margin:1rem 0 0}.voice-list{gap:1rem;width:100%;max-width:720px;margin:2.6rem auto 0;display:grid}@media (width<=1024px){.voice-page{padding-top:100px}}@media (width<=768px){.voice-list{margin-top:2rem}}.site-footer{color:var(--color-text-soft);text-align:center;padding:60px 0}.halloween-game-launcher{z-index:100;cursor:pointer;background:0 0;border:none;border-radius:18px;width:64px;height:64px;padding:0;transition:transform .2s,box-shadow .2s;display:none;position:fixed;bottom:14px;right:14px}.halloween-game-launcher:hover,.halloween-game-launcher:focus-visible{transform:translateY(-2px)scale(1.02);box-shadow:0 18px 40px #0d0e1e59}.halloween-game-launcher:active{transform:scale(.97)}.halloween-game-launcher img{object-fit:cover;border-radius:18px;width:100%;display:block}.halloween-game-modal-overlay{z-index:5000;background:#0b0a10b8;justify-content:center;align-items:center;height:100dvh;display:flex;position:fixed;inset:0 0 auto}.halloween-game-modal-panel{width:100%;height:100%;position:relative;overflow:hidden}.halloween-game-close-button{top:max(18px, env(safe-area-inset-top));right:max(18px, env(safe-area-inset-right));color:#fff;cursor:pointer;z-index:20;background:#00000052;border:1px solid #ffffff6b;border-radius:999px;width:40px;height:40px;font-size:1.5rem;line-height:1;position:absolute}.halloween-game-phase{isolation:isolate;background-color:#120d20;width:100%;height:100%;position:relative;overflow:hidden}.halloween-game-phase:before{content:"";z-index:-1;background-position:top;background-repeat:no-repeat;background-size:cover;background-image:linear-gradient(180deg, #11132233, #110b2880), var(--halloween-bg-image);opacity:0;transition:opacity .6s;position:absolute;inset:0}.halloween-game-phase.is-background-loaded:before{opacity:1}.halloween-game-ending:before{background-image:linear-gradient(180deg, #100d1a40, #100d1a80), var(--halloween-bg-image)}.halloween-game-intro,.halloween-game-ending,.halloween-game-area{min-height:100dvh}.halloween-game-area:before{background-image:linear-gradient(180deg, #27132433, #1519348c), var(--halloween-bg-image)}.halloween-game-start-button,.halloween-game-action-button{cursor:pointer;border:none;border-radius:999px;font-weight:700;transition:transform .2s,opacity .2s}.halloween-game-start-button{left:50%;bottom:max(26px, calc(env(safe-area-inset-bottom,0px) + 18px));color:#23152e;background:#ffffffe6;width:min(74vw,220px);min-width:120px;padding:.9rem 1.7rem;position:absolute;transform:translate(-50%);box-shadow:0 20px 40px #1b0f2c4d}.halloween-game-start-button:hover,.halloween-game-start-button:focus-visible{transform:translate(-50%)translateY(-1px)}.halloween-game-action-button:hover,.halloween-game-action-button:focus-visible{transform:translateY(-1px)}.halloween-game-ending-actions{left:50%;bottom:max(26px, calc(env(safe-area-inset-bottom,0px) + 18px));flex-wrap:wrap;justify-content:center;gap:.7rem;width:min(90vw,520px);display:flex;position:absolute;transform:translate(-50%)}.halloween-game-action-button{width:min(74vw,220px);min-width:140px;padding:.95rem 1.6rem;font-size:1rem}.halloween-game-action-button.primary{color:#1b1830;background:#ffffffeb}.halloween-game-action-button.secondary{color:#fff;background:#10111975;border:1px solid #ffffff47}.halloween-game-area{display:block}.halloween-game-scoreboard{color:#fff;letter-spacing:.08em;z-index:5;background:#0d0f166b;border:1px solid #ffffff3d;border-radius:999px;justify-content:center;align-items:center;min-width:170px;padding:.7rem 1.2rem;font-size:1rem;font-weight:700;display:inline-flex;position:absolute;top:18px;left:50%;transform:translate(-50%)}.halloween-game-candy{cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;z-index:3;background-color:#0000;background-position:50%;background-repeat:no-repeat;background-size:contain;border:none;border-radius:0;animation-name:halloween-candy-fall;animation-timing-function:linear;animation-fill-mode:forwards;display:block;position:absolute;top:-32px}.halloween-game-candy:active{transform:scale(.92)}@keyframes halloween-candy-fall{0%{opacity:1;transform:translate(-50%)translateY(0)rotate(0)}to{transform:translateX(-50%) translateY(var(--halloween-drop-distance)) rotate(12deg);opacity:.94}}@media (width<=768px){.halloween-game-launcher{display:block}}@media (prefers-reduced-motion:reduce){.halloween-game-phase:before{transition:none}}
