
:root{--paper:#f7f1df;--paper-dim:#eee4cc;--dim:#eee4cc;--line:#d9cdb6}
body{background-color:var(--paper);background-image:radial-gradient(rgba(115,91,43,.075) .55px,transparent .7px),radial-gradient(rgba(255,255,255,.6) .55px,transparent .75px);background-position:0 0,5px 7px;background-size:11px 11px,13px 13px;font-family:"Noto Sans JP",sans-serif}
h1,h2,h3,.serif,.logo,.poster-title,.ftitle,.review-text{font-family:"Noto Serif JP",serif!important}
img{max-width:100%}section[id],main[id]{scroll-margin-top:90px}
.k-header{position:sticky;top:0;z-index:30;background:rgba(247,241,223,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(6px)}
.k-bar{width:min(1000px,calc(100% - 48px));margin:auto;min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.k-logo{display:block;flex-shrink:0;color:#1c1b19;text-decoration:none;font:800 24px/1.1 "Noto Serif JP",serif;letter-spacing:-.05em}
.k-logo small{display:block;margin-top:5px;color:#5b574f;font:500 9px/1.4 "Noto Sans JP",sans-serif;letter-spacing:.12em}
.k-menu{display:flex;gap:22px;align-items:center}.k-menu a{color:#1c1b19;text-decoration:none;font-size:13px;font-weight:500;white-space:nowrap;padding:8px 0}.k-menu a:hover,.k-menu a[aria-current=page]{color:#a91f2c}
.k-toggle{display:none}.k-header a:focus-visible,.k-toggle:focus-visible{outline:2px solid #a91f2c;outline-offset:4px}
.film-card.is-pending,.editor-row.is-pending{cursor:default}.film-card.is-pending:hover .art{transform:none;box-shadow:none}
.reveal{opacity:1;transform:none}
@media(max-width:820px){.k-bar{width:calc(100% - 32px);position:relative;gap:16px}.k-toggle{display:block;padding:8px 12px;border:1px solid var(--line);background:transparent;color:#1c1b19;font:500 12px "Noto Sans JP",sans-serif}.k-menu{display:none;position:absolute;top:68px;left:0;right:0;grid-template-columns:1fr 1fr;gap:0;background:var(--paper);border:1px solid var(--line);box-shadow:0 10px 18px rgba(28,27,25,.08)}.k-menu.is-open{display:grid}.k-menu a{padding:14px 12px;border-bottom:1px solid var(--line);white-space:normal}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important}}

img[width][height]{height:auto}.poster-block img,.art img{height:100%}

/* Shared work-page facts layout: keep release date, genre, and runtime on one line. */
.hero-copy>.work-facts{display:table!important;width:100%;table-layout:fixed!important}
.hero-copy>.work-facts div{display:table-cell!important;min-width:0!important;padding-right:18px!important}
.hero-copy>.work-facts div:nth-child(1){width:38%!important}
.hero-copy>.work-facts div:nth-child(2){width:42%!important}
.hero-copy>.work-facts div:nth-child(3){width:20%!important}
.hero-copy>.work-facts dd{font-size:14px!important;white-space:nowrap!important}

@media(max-width:560px){
  .hero-copy>.work-facts{display:block!important}
  .hero-copy>.work-facts div{display:block!important;width:auto!important;padding-right:0!important}
  .hero-copy>.work-facts dd{white-space:normal!important}
}

/* Shared page effects mirrored from index.html */
.scroll-progress{position:fixed;top:0;left:0;z-index:60;width:0;height:3px;background:linear-gradient(90deg,#9c7f42,#a91f2c);box-shadow:0 0 8px rgba(169,31,44,.5);transition:width .12s linear}
.k-header{transition:box-shadow .3s ease}.k-bar{transition:min-height .25s ease}.k-header.is-scrolled{box-shadow:0 8px 22px rgba(28,27,25,.1)}.k-header.is-scrolled .k-bar{min-height:54px}
.k-logo{position:relative;overflow:hidden}.k-logo::before{content:"";position:absolute;top:0;left:-160%;width:55%;height:100%;background:linear-gradient(115deg,transparent,rgba(169,31,44,.4),transparent);transform:skewX(-18deg);transition:left .65s ease}.k-logo:hover::before{left:160%}
.k-menu a{position:relative;transition:color .2s ease}.k-menu a::after{content:"";position:absolute;left:0;right:0;bottom:3px;height:1.5px;background:#a91f2c;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.k-menu a:hover::after,.k-menu a.is-active::after{transform:scaleX(1)}.k-menu a.is-active{color:#a91f2c}
.k-toggle{transition:background .2s ease,color .2s ease,border-color .2s ease}.k-toggle[aria-expanded="true"]{background:#1c1b19;color:#f7f1df;border-color:#1c1b19}
@media(max-width:820px){.k-menu.is-open{animation:menuDrop .28s ease both}}@keyframes menuDrop{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
main:not(#top)>:first-child h1,main:not(#top)>:first-child .page-head h1{background:linear-gradient(100deg,#1c1b19 42%,#a91f2c 50%,#1c1b19 58%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:titleShine 2.6s ease-in-out .35s 1}@keyframes titleShine{0%{background-position:220% 0}100%{background-position:-60% 0}}
.poster-block{perspective:800px}.poster-block img,.art img{transition:transform .5s ease}.film-card:hover .art img{transform:scale(1.07)}
.genre-item{transition:transform .25s ease,background .2s ease}.genre-item:hover{transform:translateY(-4px)}.editor-row{transition:padding-left .25s ease,background .2s ease}.editor-row:not(.is-pending):hover{padding-left:10px;background:var(--paper-dim)}
.btn,.hero-action,.carousel-arrow,.dialog-action,.action,.button{position:relative;overflow:hidden}.k-ripple{position:absolute;border-radius:50%;transform:scale(0);background:rgba(255,255,255,.55);animation:rippleAnim .6s ease-out;pointer-events:none}@keyframes rippleAnim{to{transform:scale(2.8);opacity:0}}
.reveal{transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1)}.js-reveal-ready .reveal{opacity:0;transform:translateY(26px)}.js-reveal-ready .reveal.is-visible{opacity:1;transform:none}
.to-top{position:fixed;right:20px;bottom:20px;z-index:40;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:var(--paper);color:#1c1b19;font-size:18px;box-shadow:0 8px 20px rgba(28,27,25,.16);opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .3s ease,transform .3s ease,visibility .3s,background .2s ease,color .2s ease,border-color .2s ease;cursor:pointer}.to-top.is-visible{opacity:1;visibility:visible;transform:none}.to-top:hover{background:#1c1b19;color:var(--paper);border-color:#1c1b19}
@media(prefers-reduced-motion:reduce){.scroll-progress,.k-logo::before,.k-menu a::after,.poster-block img,.art img,.genre-item,.editor-row,.to-top{transition:none!important;animation:none!important}main:not(#top)>:first-child h1{animation:none!important;-webkit-background-clip:unset;background-clip:unset;color:#1c1b19!important;background:none!important}.js-reveal-ready .reveal{opacity:1!important;transform:none!important}}
