
html.top-sat:has(body.home), html.top-sat body.home{ background:#000; }
html.top-sat .isl-pre, html.top-sat .isl-fog{ display:none; }
.st{ position:fixed; inset:0; z-index:0; pointer-events:none; opacity:0; transition:opacity .6s ease; }
.st.in{ opacity:1; }
.st canvas{ display:block; }

.st-word{ position:absolute; margin:0; pointer-events:auto; font:700 1em/.98 'Inter','Noto Sans JP',sans-serif; letter-spacing:-.01em; color:#fff; }
.st-word b{ display:block; font-weight:700; opacity:0; transform:translateY(.4em); transition:opacity .9s ease, transform 1.1s cubic-bezier(.16,.84,.3,1); transition-delay:calc(1.6s + var(--i) * .12s); }
.st.in .st-word b{ opacity:1; transform:none; }
.st.still .st-word b{ transition:none; }
body.st-leave .st-word b{ opacity:0; transform:translateY(-.3em); transition:opacity .4s ease, transform .5s ease; transition-delay:0s; }

html.top-sat body.home .three-container, html.top-sat body.home.isl-logo .three-container{ opacity:0 !important; visibility:hidden !important; }

html.top-sat{ --acc:#ff8a60; --acc-d:#ff8a60; --acc-rgb:255,138,96; }
html.top-sat body.home .logo{ filter:brightness(0) invert(1) blur(10px); }
html.top-sat body.home.isl-logo .logo{ filter:brightness(0) invert(1) drop-shadow(0 0 18px rgba(0,0,0,.8)) !important; }
html.top-sat .isl-tag, html.top-sat body.home .quote, html.top-sat body.home .nav-jump a,
html.top-sat body.home .right-list li .label, html.top-sat body.home .right-list li .value{ color:#f4f6f8 !important; text-shadow:0 1px 8px rgba(0,0,0,.9) !important; }
html.top-sat body.home .right-list li small{ color:#aebdc6 !important; text-shadow:0 1px 6px rgba(0,0,0,.9) !important; }
html.top-sat body.home .chapter, html.top-sat body.home .right-list li .value .num, html.top-sat body.home .nav-jump a.active, html.top-sat body.home .nav-jump a:hover{ color:#ff8a60 !important; text-shadow:0 1px 8px rgba(0,0,0,.9) !important; }
html.top-sat body.home .right-list li{ border-bottom-color:rgba(120,214,226,.22) !important; }
html.top-sat body.home .bottom-center{ color:rgba(220,240,248,.6) !important; }
html.top-sat body.home .topbar .label, html.top-sat body.home .topbar .breadcrumb a, html.top-sat body.home .topbar .breadcrumb .current{ color:#f4f6f8; text-shadow:none; }
html.top-sat body.home .corner{ border-color:rgba(255,255,255,.35); }

body.st-cursor, body.st-cursor *{ cursor:none !important; }
.st-cur{ position:fixed; inset:0; z-index:9999; pointer-events:none; }
.st-cur i{ position:absolute; left:0; top:0; display:block; }
.st-cur .d{ width:5px; height:5px; margin:-2.5px 0 0 -2.5px; background:#78d6e2; transform:translate(var(--mx),var(--my)); }
.st-cur .r{ width:30px; height:30px; margin:-15px 0 0 -15px; transform:translate(var(--rx),var(--ry)); transition:width .4s, height .4s, margin .4s, opacity .3s;
  background:linear-gradient(rgba(220,240,248,.6),rgba(220,240,248,.6)) center / 100% 1px no-repeat, linear-gradient(rgba(220,240,248,.6),rgba(220,240,248,.6)) center / 1px 100% no-repeat; }
.st-cur.is-hot .r{ width:50px; height:50px; margin:-25px 0 0 -25px; }
.st-cur.is-hot .d{ background:#ff8a60; }
.st-cur.is-out i{ opacity:0; }
body.st-leave .overlay, body.st-leave .nav-jump, body.st-leave .corner, body.st-leave .st-cur, body.st-leave .topbar, body.st-leave .bottom-center{ opacity:0 !important; transition:opacity .35s ease; }
.st-white{ position:fixed; inset:0; z-index:10010; pointer-events:none; background:#fff; opacity:0; transition:opacity .3s ease; }
.st-white.on{ opacity:1; }


.st-word b{ position:relative; cursor:default; }
.st-word b::after{ content:attr(data-t); position:absolute; left:0; right:0; top:0; bottom:0; opacity:0; transition:opacity .45s ease;
  background-image:var(--st-img); background-size:300% auto; background-position:70% 40%; background-repeat:no-repeat;
  -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.35); }
.st-word b:hover{ color:rgba(255,255,255,.14); transition:color .45s ease; }
.st-word b:hover::after{ opacity:1; animation:st-flow 6s linear infinite; }
@keyframes st-flow{ from{ background-position:70% 30%; } to{ background-position:30% 70%; } }

html.top-sat.isl-t-dawn:has(body.home), html.top-sat.isl-t-dawn body.home{ background:#020a1f; }
html.top-sat.isl-t-dusk:has(body.home), html.top-sat.isl-t-dusk body.home{ background:#160305; }
html.top-sat.isl-t-dawn{ --acc:#ff968a; } html.top-sat.isl-t-dusk{ --acc:#ff7a5c; } html.top-sat.isl-t-night{ --acc:#6ed7ff; }
html.top-sat.isl-t-dawn body.home .chapter, html.top-sat.isl-t-dawn body.home .right-list li .value .num, html.top-sat.isl-t-dawn body.home .nav-jump a.active{ color:#ff968a !important; }
html.top-sat.isl-t-dusk body.home .chapter, html.top-sat.isl-t-dusk body.home .right-list li .value .num, html.top-sat.isl-t-dusk body.home .nav-jump a.active{ color:#ff7a5c !important; }
html.top-sat.isl-t-night body.home .chapter, html.top-sat.isl-t-night body.home .right-list li .value .num, html.top-sat.isl-t-night body.home .nav-jump a.active{ color:#6ed7ff !important; }
html.top-sat.isl-t-night .st-cur .d{ background:#6ed7ff; } html.top-sat.isl-t-night .st-cur.is-hot .d{ background:#fff; }
@media (prefers-reduced-motion:reduce){ .st-word b:hover::after{ animation:none; } }
html.top-sat .isl-tag{ text-shadow:0 0 6px rgba(0,0,0,.95), 0 0 14px rgba(0,0,0,.9) !important; }
html.top-sat body.home .right-list{ -webkit-mask-image:linear-gradient(to bottom,transparent 0,transparent 30px,#000 90px,#000 90%,transparent 100%) !important; mask-image:linear-gradient(to bottom,transparent 0,transparent 30px,#000 90px,#000 90%,transparent 100%) !important; }
@media (max-width:960px){ html.top-sat body.home .right-list{ -webkit-mask-image:linear-gradient(to bottom,transparent 0,transparent 34px,#000 84px,#000 calc(100% - 84px),transparent calc(100% - 34px)) !important; mask-image:linear-gradient(to bottom,transparent 0,transparent 34px,#000 84px,#000 calc(100% - 84px),transparent calc(100% - 34px)) !important; } }
