@tailwind base;@tailwind components;@tailwind utilities;@font-face{font-family:tsumugi;src:url(/media/tsumugi-s.p.3sv0w0ovz7-ef.ttf) format("truetype");font-display:swap}:root{--background:#fff;--foreground:#0a0a0a}html[data-mode=katana]{--background:#0a0a0a;--foreground:#ededed}body{background:var(--background);color:var(--foreground);font-family:tsumugi,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.awakening-anchor{position:fixed;bottom:24px;right:24px;z-index:1200}.awakening-button{display:flex;align-items:center;gap:10px;background:hsla(0,0%,8%,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid hsla(0,0%,100%,.15);padding:8px 14px;border-radius:9999px;color:#fff;font-size:12px;letter-spacing:.05em;box-shadow:0 10px 25px -5px rgba(0,0,0,.3);transition:all .25s ease}html[data-mode=light] .awakening-button{background:hsla(0,0%,100%,.9);border:1px solid rgba(0,0,0,.1);color:#111}.awakening-button:hover{transform:scale(1.05)}.awakening-emblem{width:34px;height:34px;object-fit:contain}@media (min-width:641px){.awakening-emblem{width:42px;height:42px}}html[data-mode=light],html[data-mode=light] *{cursor:url(/cursor/cursor-default.webp) 2 2,auto}html[data-mode=katana],html[data-mode=katana] *{cursor:url(/cursor/dark/cursor-default.webp) 2 2,auto}html.katana-cursor-ready,html.katana-cursor-ready *{cursor:none!important}.katana-cursor{z-index:12000;pointer-events:none;opacity:0;transition:opacity .15s ease;position:fixed;inset:0;overflow:visible}.katana-cursor[data-visible=true]{opacity:1}.katana-blade{width:0;height:0;transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0;z-index:2}.katana-cursor-img{display:block;position:absolute;top:-4px;left:-4px;width:48px;height:48px;object-fit:contain;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none;transition:transform .12s cubic-bezier(.16,1,.3,1)}.katana-cursor[data-state=hover] .katana-cursor-img,.katana-cursor[data-state=link] .katana-cursor-img{transform:scale(1.15) rotate(-3deg)}.katana-cursor[data-state=click] .katana-cursor-img{transform:scale(.9) rotate(-10deg)}.katana-cursor[data-state=text] .katana-cursor-img{transform:scale(1.05)}.katana-cursor[data-state=move] .katana-cursor-img{transform:scale(1.1)}.katana-cursor[data-state=unavailable] .katana-cursor-img{opacity:.75}@media (max-width:1280px){.katana-cursor-img{width:42px;height:42px}}.falling-leaves{z-index:4;pointer-events:none;position:absolute;inset:0;overflow:hidden}.falling-leaf{top:var(--leaf-start-y);left:var(--leaf-x);width:var(--leaf-size);aspect-ratio:1670/942;opacity:0;animation:leaf-fall var(--leaf-duration) linear var(--leaf-delay) infinite;will-change:transform,opacity;background-position:50%;background-repeat:no-repeat;background-size:contain;position:absolute}html[data-mode=light] .falling-leaf{background-image:url(/images/leaf.webp);--leaf-opacity:0.6}html[data-mode=katana] .falling-leaf{background-image:url(/images/dark/crimson-petal-small.webp);--leaf-opacity:0.85}@keyframes leaf-fall{0%{opacity:0;transform:translate3d(0,-12vh,0) rotate(var(--leaf-start-rotation,0deg))}12%{opacity:var(--leaf-opacity,.6)}82%{opacity:var(--leaf-opacity,.6)}to{opacity:0;transform:translate3d(var(--leaf-drift,0),118vh,0) rotate(var(--leaf-end-rotation,1turn))}}html[data-mode=light]{--shatter-slash-color:#080808}html[data-mode=katana]{--shatter-slash-color:#f60407}.shatter-card[data-state=revealed] .shatter-overlay{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease .7s,visibility 0s linear .9s}.shatter-card[data-state=default] .shatter-content{opacity:0;visibility:hidden}.shatter-card[data-state=revealed] .shatter-content,.shatter-card[data-state=shattering] .shatter-content{opacity:1;visibility:visible}.shatter-fragment{animation-duration:.65s!important}.shatter-strike{left:var(--impact-x,50%);top:var(--impact-y,50%);width:clamp(90px,55%,230px);height:46px;position:absolute;transform:translate(-50%,-50%) rotate(-18deg) scaleX(.35);transform-origin:50% 50%;pointer-events:none;z-index:10;background:var(--shatter-slash-color,#080808)!important;-webkit-mask-image:var(--shatter-slash-image);mask-image:var(--shatter-slash-image);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;opacity:0;animation:shatter-strike-flash .33s ease-out 90ms both!important}@keyframes shatter-strike-flash{0%{opacity:0;transform:translate(-50%,-50%) rotate(-18deg) scaleX(.25)}30%{opacity:.6;transform:translate(-50%,-50%) rotate(-18deg) scaleX(.45)}to{opacity:0;transform:translate(-50%,-50%) rotate(-18deg) scaleX(1)}}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.katana-cursor[data-state=text] .katana-cursor-img{transform:scale(.68)!important}.katana-cursor-dot{position:absolute;width:5px;height:5px;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);will-change:transform,opacity;z-index:1}html[data-mode=light] .katana-cursor-dot{background:hsla(0,0%,6%,.45);box-shadow:0 0 4px rgba(0,0,0,.15)}html[data-mode=katana] .katana-cursor-dot{background:rgba(246,4,7,.75);box-shadow:0 0 6px rgba(246,4,7,.5)}.katana-click-impact{position:fixed;width:44px;height:44px;transform:translate(-50%,-50%) scale(.5) rotate(0deg);pointer-events:none;z-index:12001;opacity:1;animation:clickImpactAnim .38s cubic-bezier(.16,1,.3,1) forwards}.katana-click-impact img{width:100%;height:100%;object-fit:contain;display:block}@keyframes clickImpactAnim{0%{transform:translate(-50%,-50%) scale(.5) rotate(-5deg);opacity:1}60%{opacity:.85;transform:translate(-50%,-50%) scale(1.15) rotate(12deg)}to{transform:translate(-50%,-50%) scale(1.35) rotate(22deg);opacity:0}}.section-transition-overlay{position:fixed;inset:0;z-index:10000;background:hsla(0,0%,100%,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease;pointer-events:none}html[data-mode=katana] .section-transition-overlay{background:hsla(0,0%,4%,.96)}.section-transition-overlay.is-active{opacity:1;visibility:visible;pointer-events:auto}.section-transition-content{display:flex;flex-direction:column;align-items:center;justify-content:center;transform:scale(.9);opacity:0}.section-transition-overlay.is-active .section-transition-content{animation:transitionContentSpread 1.1s cubic-bezier(.16,1,.3,1) forwards}.section-transition-img{max-width:min(92vw,720px);max-height:min(65vh,420px);object-fit:contain;display:block;filter:drop-shadow(0 20px 30px rgba(0,0,0,.25))}html[data-mode=katana] .section-transition-img{filter:drop-shadow(0 20px 30px rgba(0,0,0,.85)) invert(1) brightness(1.25) contrast(1.1)}@keyframes transitionContentSpread{0%{opacity:0;transform:scale(.9)}25%{opacity:1;transform:scale(1)}75%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.05)}}