:root{--nenrin-red:#dc3931;--nenrin-paper:#ebe3d6;--nenrin-ink:#080807;--nenrin-ease:cubic-bezier(.16,.82,.24,1);--nenrin-season:107,145,119;--nenrin-season-warm:178,128,72}
@view-transition{navigation:auto}
::view-transition-old(root){animation:nenrin-page-old .42s var(--nenrin-ease) both}
::view-transition-new(root){animation:nenrin-page-new .72s var(--nenrin-ease) both}
@keyframes nenrin-page-old{to{opacity:0;filter:blur(5px);transform:scale(.992)}}
@keyframes nenrin-page-new{from{opacity:0;clip-path:inset(0 0 0 100%)}to{opacity:1;clip-path:inset(0)}}
html.nenrin-motion{--nenrin-mx:50vw;--nenrin-my:50vh}
html.nenrin-motion body::before{content:"";position:fixed;z-index:-2;inset:0;pointer-events:none;background:radial-gradient(55vw 48vw at var(--nenrin-mx) var(--nenrin-my),rgba(var(--nenrin-season),.075),transparent 72%),radial-gradient(55vw 55vw at 82% 12%,rgba(var(--nenrin-season-warm),.055),transparent 70%);transition:background 1.4s ease}
html[data-nenrin-season="spring"]{--nenrin-season:111,156,124;--nenrin-season-warm:190,142,121}
html[data-nenrin-season="summer"]{--nenrin-season:76,128,92;--nenrin-season-warm:188,143,72}
html[data-nenrin-season="autumn"]{--nenrin-season:155,83,56;--nenrin-season-warm:192,119,57}
html[data-nenrin-season="winter"]{--nenrin-season:112,133,129;--nenrin-season-warm:153,126,104}
html[data-nenrin-light="night"] body::before{opacity:.68}
html[data-nenrin-light="golden"] body::before{opacity:1}
html[data-nenrin-light="day"] body::before{opacity:.82}
html.nenrin-motion ::selection{background:var(--nenrin-red);color:var(--nenrin-ink)}
html.nenrin-motion :focus-visible{outline:1px solid var(--nenrin-red);outline-offset:5px}
.nenrin-grain{position:fixed;z-index:9990;inset:0;pointer-events:none;opacity:.022;mix-blend-mode:screen;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}
.nenrin-progress{position:fixed;z-index:9994;left:0;top:0;width:100%;height:2px;pointer-events:none;transform:scaleX(var(--nenrin-scroll,0));transform-origin:left;background:var(--nenrin-red);box-shadow:0 0 14px rgba(220,57,49,.4)}
.nenrin-cursor,.nenrin-cursor-core{position:fixed;z-index:10020;left:0;top:0;pointer-events:none;border-radius:50%;opacity:0;will-change:translate,width,height,border-color}
.nenrin-cursor{width:36px;height:36px;margin:-18px 0 0 -18px;border:1px solid rgba(220,57,49,.85);transition:width .35s var(--nenrin-ease),height .35s var(--nenrin-ease),margin .35s var(--nenrin-ease),opacity .25s,border-color .25s,background .25s}
.nenrin-cursor::before,.nenrin-cursor::after{content:"";position:absolute;border:1px solid rgba(220,57,49,.17);border-radius:50%}.nenrin-cursor::before{inset:-7px}.nenrin-cursor::after{inset:7px}
.nenrin-cursor-core{width:4px;height:4px;margin:-2px;background:var(--nenrin-red);transition:opacity .25s,transform .25s}
html.nenrin-pointer .nenrin-cursor,html.nenrin-pointer .nenrin-cursor-core{opacity:1}
html.nenrin-hover .nenrin-cursor{width:58px;height:58px;margin:-29px 0 0 -29px;background:rgba(220,57,49,.08);border-color:var(--nenrin-red)}
html.nenrin-hover .nenrin-cursor-core{transform:scale(.5)}
html.nenrin-press .nenrin-cursor{width:24px;height:24px;margin:-12px 0 0 -12px;background:rgba(220,57,49,.18)}
.nenrin-ring-pulse{position:fixed;z-index:10010;width:10px;height:10px;margin:-5px;border:1px solid var(--nenrin-red);border-radius:50%;pointer-events:none;animation:nenrin-pulse .72s var(--nenrin-ease) forwards}
@keyframes nenrin-pulse{to{width:110px;height:110px;margin:-55px;opacity:0;border-color:rgba(220,57,49,0)}}
.nenrin-transition{position:fixed;z-index:10030;inset:0;pointer-events:none;visibility:hidden;background:var(--nenrin-ink);clip-path:inset(0 100% 0 0)}
.nenrin-transition::after{content:"年輪";position:absolute;left:50%;top:50%;translate:-50% -50%;color:rgba(235,227,214,.12);font:400 clamp(70px,14vw,190px)/1 Georgia,serif;letter-spacing:-.08em}
html.nenrin-leaving .nenrin-transition{visibility:visible;animation:nenrin-wipe .58s var(--nenrin-ease) both}
@keyframes nenrin-wipe{to{clip-path:inset(0)}}
.nenrin-reveal{opacity:0;translate:0 28px;filter:blur(4px);transition:opacity .85s var(--nenrin-ease),translate .85s var(--nenrin-ease),filter .85s var(--nenrin-ease)}
.nenrin-reveal.nenrin-in{opacity:1;translate:0 0;filter:none}
.nenrin-magnetic{translate:var(--nenrin-tx,0) var(--nenrin-ty,0);transition:translate .32s var(--nenrin-ease)}
@media(pointer:fine){html.nenrin-motion a,html.nenrin-motion button{cursor:none}}
@media(max-width:760px),(pointer:coarse){.nenrin-cursor,.nenrin-cursor-core{display:none}.nenrin-reveal{translate:0 18px}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}.nenrin-cursor,.nenrin-cursor-core,.nenrin-ring-pulse,.nenrin-transition{display:none!important}.nenrin-reveal{opacity:1;translate:none;filter:none;transition:none}.nenrin-magnetic{translate:none!important;transition:none!important}html.nenrin-motion body::before{transition:none}}
