
html.top-sun:has(body.home), html.top-sun body.home{ background:#3a4650; }
html.top-sun .isl-pre, html.top-sun .isl-fog{ display:none; }
.su{ position:fixed; inset:0; z-index:0; pointer-events:none; opacity:0; transition:opacity .6s ease; }
.su.in{ opacity:1; }
.su canvas, .su img{ position:absolute; left:0; top:0; display:block; }
.su-fg{ transform-origin:0 0; }

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

.su-w{ position:fixed; z-index:1; transform:translate(-50%,-100%); text-align:center; color:#fff; pointer-events:auto; opacity:0; filter:blur(6px);
  transition:opacity 1s ease calc(var(--i) * .25s), filter 1s ease calc(var(--i) * .25s); white-space:nowrap; }
body.su-words .su-w{ opacity:1; filter:none; }
.su-w small{ display:block; font:600 .32em/1 'Inter',sans-serif; letter-spacing:.26em; color:rgba(240,245,248,.8); margin-bottom:.4em; }
.su-w b{ display:block; font:900 1em/1.15 'Noto Sans JP',sans-serif; letter-spacing:.02em; text-shadow:0 2px 14px rgba(14,22,30,.55); }
.su-w i{ display:block; width:42%; height:2px; margin:.32em auto 0; background:rgba(255,255,255,.85); transform:scaleX(0); transition:transform .9s cubic-bezier(.16,.84,.3,1) calc(.6s + var(--i) * .25s); }
body.su-words .su-w i{ transform:none; }
.su-w em{ position:absolute; left:0; right:0; top:100%; font-style:normal; transform:scaleY(-1); transform-origin:50% 0; opacity:.22; filter:blur(1.5px);
  -webkit-mask:linear-gradient(transparent 20%,#000); mask:linear-gradient(transparent 20%,#000); }
.su-w em small{ margin:0 0 .4em; }
.su-w:hover b{ color:#fff; text-shadow:0 0 18px rgba(255,255,255,.7), 0 2px 14px rgba(14,22,30,.55); }
.su-w:hover i{ background:#9fd6e8; }
body.su-leave .su-w{ opacity:0; transition:opacity .4s ease; }

html.top-sun{ --acc:#a8e0f0; --acc-d:#a8e0f0; --acc-rgb:168,224,240; }
html.top-sun body.home .logo{ filter:brightness(0) invert(1) blur(10px); }
html.top-sun body.home.isl-logo .logo{ filter:brightness(0) invert(1) drop-shadow(0 2px 14px rgba(14,22,30,.6)) !important; }
html.top-sun .isl-tag, html.top-sun body.home .quote, html.top-sun body.home .nav-jump a,
html.top-sun body.home .right-list li .label, html.top-sun body.home .right-list li .value,
html.top-sun body.home .bottom-center, html.top-sun body.home .topbar .label, html.top-sun body.home .topbar .breadcrumb a, html.top-sun body.home .topbar .breadcrumb .current{ color:#f4f7f9 !important; text-shadow:0 0 3px rgba(14,22,30,.85), 0 1px 10px rgba(14,22,30,.8) !important; }
html.top-sun body.home .right-list li small{ color:#cdd8e0 !important; text-shadow:0 0 3px rgba(14,22,30,.85), 0 1px 8px rgba(14,22,30,.8) !important; }
html.top-sun body.home .chapter, html.top-sun body.home .right-list li .value .num, html.top-sun body.home .nav-jump a.active, html.top-sun body.home .nav-jump a:hover{ color:#a8e0f0 !important; text-shadow:0 0 3px rgba(14,22,30,.85), 0 1px 10px rgba(14,22,30,.8) !important; }
html.top-sun body.home .right-list li{ border-bottom-color:rgba(255,255,255,.22) !important; }

body.su-cursor, body.su-cursor *{ cursor:none !important; }
.su-cur{ position:fixed; inset:0; z-index:9999; pointer-events:none; }
.su-cur i{ position:absolute; left:0; top:0; display:block; border-radius:50%; }
.su-cur .d{ width:6px; height:6px; margin:-3px 0 0 -3px; background:#fff; box-shadow:0 0 0 1px rgba(14,22,30,.4); transform:translate(var(--mx),var(--my)); }
.su-cur .r{ width:34px; height:34px; margin:-17px 0 0 -17px; border:1px solid rgba(255,255,255,.7); transform:translate(var(--rx),var(--ry)); transition:width .4s, height .4s, margin .4s, opacity .3s; }
.su-cur.is-ground .r{ width:56px; height:16px; margin:-8px 0 0 -28px; }
.su-cur.is-hot .r{ width:54px; height:54px; margin:-27px 0 0 -27px; background:rgba(255,255,255,.1); }
.su-cur.is-out i{ opacity:0; }
body.su-leave .overlay, body.su-leave .nav-jump, body.su-leave .corner, body.su-leave .su-cur, body.su-leave .topbar, body.su-leave .bottom-center{ opacity:0 !important; transition:opacity .35s ease; }
.su-white{ position:fixed; inset:0; z-index:10010; pointer-events:none; background:#f4f7f9; opacity:0; transition:opacity .3s ease; }
.su-white.on{ opacity:1; }
@media (max-width:960px){ .su-w{ pointer-events:none; } }


html.top-sun.isl-t-dawn:has(body.home), html.top-sun.isl-t-dawn body.home{ background:#9aa4ac; }
html.top-sun.isl-t-dusk:has(body.home), html.top-sun.isl-t-dusk body.home{ background:#4a4450; }
html.top-sun.isl-t-night:has(body.home), html.top-sun.isl-t-night body.home{ background:#141c2c; }
html.top-sun.isl-t-dusk body.home .chapter, html.top-sun.isl-t-dusk body.home .right-list li .value .num, html.top-sun.isl-t-dusk body.home .nav-jump a.active{ color:#ffc0b4 !important; }
html.top-sun.isl-t-dusk .su-white{ background:#f6ecea; }
html.top-sun body.home .chapter{ text-shadow:0 0 4px rgba(14,22,30,.95), 0 0 12px rgba(14,22,30,.9) !important; font-weight:600; }
