跳转到内容
打开/关闭菜单
  • 450 条目
  • 803 文件
  • 22 用户
  • 9031 编辑
Blockland Wiki
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

MediaWiki:KuranokaFX.css:修订间差异

MediaWiki界面页面
无编辑摘要
标签:已被回退
无编辑摘要
 
(未显示同一用户的4个中间版本)
第1行: 第1行:
/* ================================================================
/* STORMBREAK XV — Kuranoka only. Requires JS to add kk-stormbreak-v4 class.
  KURANOKA / STORMBREAK XIII — LOST CONNECTION
   Does NOT change article typography, colors, font sizes, heading layouts, or Citizen components. */
  Append to the END of existing Kuranoka Stormbreak XII CSS.
html.kk-stormbreak-v4 #kk4-pressure,
  Keep the original storm styles. Scope: html.kk-stormbreak-v4 only.
html.kk-stormbreak-v4 #kk4-sky,
   ================================================================ */
html.kk-stormbreak-v4 #kk4-rain,
 
html.kk-stormbreak-v4 #kk6-fracture {
/* Gray out the page as a collection of existing site-root nodes,
  NOT the body element (the colored Canvas layers are body siblings). */
html.kk-stormbreak-v4.kk-sb-afterlink .kk-sb-world {
  filter: grayscale(var(--kk-sb-gray, 1)) brightness(var(--kk-sb-dim, .72)) contrast(1.06);
  transition: filter .7s ease;
}
 
/* The interruption is a deliberate, click-to-continue scene, not a timer. */
html.kk-stormbreak-v4 #kk-sb-gate {
   position: fixed !important;
   position: fixed !important;
   inset: 0 !important;
   top: 0 !important;
   z-index: 2147482950 !important;
   left: 0 !important;
   display: grid;
   width: 100vw !important;
   place-items: center;
   height: 100vh !important;
   margin: 0 !important;
   margin: 0 !important;
   padding: 24px !important;
   padding: 0 !important;
   box-sizing: border-box;
   border: 0 !important;
   color: #e8eff7;
  pointer-events: none !important;
   background:
   user-select: none !important;
    radial-gradient(ellipse 72% 75% at 50% 47%, rgba(17,30,49,.92), rgba(1,4,12,.985) 82%),
   overflow: hidden !important;
    #02050a;
   visibility: hidden;
   font-family: system-ui, -apple-system, 'Segoe UI', sans-serif;
   transform-origin: center center;
   text-align: center;
   contain: strict;
   isolation: isolate;
}
}
html.kk-stormbreak-v4 #kk-sb-gate[hidden] {display:none !important;}
html.kk-stormbreak-v4 #kk4-pressure {z-index: 408; background: radial-gradient(ellipse 81% 78% at 51% 47%, transparent 27%, rgba(1,6,15,.17) 49%, rgba(0,2,8,.86) 96%), linear-gradient(180deg,rgba(0,5,18,.9),rgba(7,15,29,.07) 56%,rgba(1,5,14,.76));}
html.kk-stormbreak-v4 #kk-sb-gate::before {
html.kk-stormbreak-v4 #kk4-sky {z-index: 409; will-change: transform;}
  content: '';
html.kk-stormbreak-v4 #kk4-rain {z-index: 410; will-change: transform;}
  position: absolute;
html.kk-stormbreak-v4 #kk6-fracture {z-index: 411; will-change: transform; opacity:.95;}
  inset: 0;
html.kk-stormbreak-v4.kk-v4-on #kk4-pressure,
  opacity: .19;
html.kk-stormbreak-v4.kk-v4-on #kk4-sky,
  pointer-events: none;
html.kk-stormbreak-v4.kk-v4-on #kk4-rain,
   background: repeating-linear-gradient(0deg, rgba(182,210,229,.16) 0 1px, transparent 1px 7px);
html.kk-stormbreak-v4.kk-v4-on #kk6-fracture {visibility: visible;}
   mask-image: linear-gradient(to bottom, transparent, black 25%, black 75%, transparent);
/* Protect the central copy without painting over or altering its actual text. */
html.kk-stormbreak-v4 #kk4-sky {
   -webkit-mask-image: radial-gradient(ellipse 62% 61% at 49% 50%, rgba(0,0,0,.12) 3%, rgba(0,0,0,.44) 55%, #000 99%);
   mask-image: radial-gradient(ellipse 62% 61% at 49% 50%, rgba(0,0,0,.12) 3%, rgba(0,0,0,.44) 55%, #000 99%);
}
}
html.kk-stormbreak-v4 .kk-sb-gate-inner {
/* Defeat lingering V2/V3 visual widgets if the browser was previously caching old sheets. */
  position: relative;
html.kk-stormbreak-v4 #kk-stormbreak-controls,
  z-index: 1;
html.kk-stormbreak-v4 #kk-stormbreak-canvas,
  width: min(100%, 540px);
html.kk-stormbreak-v4 #kk-stormbreak-atmosphere,
   box-sizing: border-box;
html.kk-stormbreak-v4 #kk-sb3-sky,
  padding: clamp(22px,5vw,48px);
html.kk-stormbreak-v4 #kk-sb3-glass,
  border: 1px solid rgba(175,208,231,.23);
html.kk-stormbreak-v4 #kk-sb3-choke {display:none!important;}
  border-radius: 4px;
@media (max-width:680px){
  background: rgba(2,8,19,.55);
   html.kk-stormbreak-v4 #kk4-sky {
  box-shadow: 0 0 100px rgba(30,83,110,.16), inset 0 0 1px rgba(236,249,255,.25);
    -webkit-mask-image:radial-gradient(ellipse 70% 68% at 49% 49%,rgba(0,0,0,.12) 5%,rgba(0,0,0,.43) 58%,#000 100%);
    mask-image:radial-gradient(ellipse 70% 68% at 49% 49%,rgba(0,0,0,.12) 5%,rgba(0,0,0,.43) 58%,#000 100%);
  }
}
}
html.kk-stormbreak-v4 .kk-sb-gate-icon {
@media (prefers-reduced-motion:reduce){
   display: block;
  html.kk-stormbreak-v4 #kk4-pressure,
   margin-bottom: 22px;
  html.kk-stormbreak-v4 #kk4-sky,
  font-size: 23px;
   html.kk-stormbreak-v4 #kk4-rain,
  letter-spacing: .24em;
   html.kk-stormbreak-v4 #kk6-fracture {display:none!important;}
  color: #a2e8f2;
}
}
html.kk-stormbreak-v4 .kk-sb-gate-code {
@media print{
   font: 500 12px/1.8 ui-monospace, 'Consolas', monospace;
  html.kk-stormbreak-v4 #kk4-pressure,
   color: #7fa4b5;
  html.kk-stormbreak-v4 #kk4-sky,
  letter-spacing: .21em;
   html.kk-stormbreak-v4 #kk4-rain,
   html.kk-stormbreak-v4 #kk6-fracture {display:none!important;}
}
}
html.kk-stormbreak-v4 #kk-sb-gate h2 {
 
   margin: 12px 0 23px !important;
html.kk-stormbreak-v4 #kk4-rain {
   padding: 0 !important;
   /* Uniform full-width rainfall, with only a slight central readability cutout. */
  border: 0 !important;
   -webkit-mask-image:radial-gradient(ellipse 95% 83% at 50% 48%,rgba(0,0,0,.83),#000 95%);
  background: none !important;
   mask-image:radial-gradient(ellipse 95% 83% at 50% 48%,rgba(0,0,0,.83),#000 95%);
  color: #f0f7fa !important;
   font: 750 clamp(25px,5.6vw,42px)/1.13 ui-monospace, 'Consolas', monospace !important;
  letter-spacing: .07em;
  overflow-wrap: anywhere;
}
}
html.kk-stormbreak-v4 #kk-sb-gate p {
 
  margin: 0 auto 10px !important;
/* Fragment layer is separate from article text; no text or Citizen styles changed. */
  color: #d4e0e9 !important;
html.kk-stormbreak-v4 #kk6-fracture {mix-blend-mode:normal;}
  font-size: 15px !important;
 
  line-height: 1.7 !important;
/* Persistent local faults; no global attack envelope. Real viewport fragments. Never intercept selection, links, or scrolling. */
html.kk-stormbreak-v4 #kk7-replicas {
position:fixed!important;inset:0!important;z-index:412;pointer-events:none!important;
overflow:hidden;contain:strict;visibility:hidden;user-select:none;
}
}
html.kk-stormbreak-v4 #kk-sb-gate .kk-sb-gate-sub {
html.kk-stormbreak-v4 .kk7-plate {
  margin: 14px auto 27px !important;
position:absolute;inset:0;pointer-events:none!important;transform-origin:50% 50%;
  color: #9daebb !important;
contain:strict;will-change:transform;overflow:hidden;
  font-size: 12px !important;
}
}
html.kk-stormbreak-v4 .kk-sb-gate-actions {
html.kk-stormbreak-v4 .kk7-copy {position:absolute;inset:0;pointer-events:none!important;}
  display: flex;
html.kk-stormbreak-v4 #kk7-replicas * {pointer-events:none!important;user-select:none!important;}
  gap: 12px;
@media(prefers-reduced-motion:reduce){html.kk-stormbreak-v4 #kk7-replicas{display:none!important;}}
  align-items: center;
@media print{html.kk-stormbreak-v4 #kk7-replicas{display:none!important;}}
  justify-content: center;
 
  flex-wrap: wrap;
/* Floating shards use an independent Canvas. */
 
/* Small moving mirror faces invert the real page underneath, only inside each shard. */
html.kk-stormbreak-v4 #kk10-negative {
position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;
pointer-events:none!important;user-select:none!important;z-index:413;
margin:0!important;padding:0!important;border:0!important;
visibility:hidden;mix-blend-mode:difference;contain:strict;
}
}
html.kk-stormbreak-v4 #kk-sb-gate button {
@media(prefers-reduced-motion:reduce){html.kk-stormbreak-v4 #kk10-negative{display:none!important;}}
  border-radius: 3px !important;
@media print{html.kk-stormbreak-v4 #kk10-negative{display:none!important;}}
  padding: 12px 19px !important;
 
  min-height: 44px;
/* Optional narrative anchor only; adds no visible control or layout height. */
  border: 1px solid rgba(169,214,232,.5) !important;
html.kk-stormbreak-v4 .kk-fx-outburst {display:inline-block;width:0;height:0;overflow:hidden;}
  background: rgba(34,82,100,.27) !important;
 
  color: #e3f8ff !important;
/* Pixel overscan is sized from the maximum camera displacement, including narrow screens. */
  font: 500 14px/1.3 system-ui, sans-serif !important;
html.kk-stormbreak-v4 #kk4-sky,
  cursor: pointer;
html.kk-stormbreak-v4 #kk4-rain,
  transition: background .18s ease, border-color .18s ease;
html.kk-stormbreak-v4 #kk6-fracture,
html.kk-stormbreak-v4 #kk10-negative {
top:calc(-1 * var(--kk-bleed,96px))!important;
left:calc(-1 * var(--kk-bleed,96px))!important;
right:auto!important;bottom:auto!important;
width:calc(100vw + 2 * var(--kk-bleed,96px))!important;
height:calc(100vh + 2 * var(--kk-bleed,96px))!important;
}
}
html.kk-stormbreak-v4 #kk-sb-gate button:hover,
html.kk-stormbreak-v4 #kk12-inversion {
html.kk-stormbreak-v4 #kk-sb-gate button:focus-visible {
position:fixed!important;inset:0!important;z-index:2147483000;
  background: rgba(70,139,162,.43) !important;
pointer-events:none!important;user-select:none!important;
  border-color: #d6f8ff !important;
background:#fff!important;mix-blend-mode:difference;
  outline: 2px solid #7ecbe1;
margin:0!important;border:0!important;padding:0!important;
  outline-offset: 3px;
opacity:0;will-change:opacity;
}
}
html.kk-stormbreak-v4 #kk-sb-gate .kk-sb-skip {
@media(prefers-reduced-motion:reduce){html.kk-stormbreak-v4 #kk12-inversion{display:none!important;}}
   color: #a2b0bc !important;
@media print{html.kk-stormbreak-v4 #kk12-inversion{display:none!important;}}
 
/* KURANOKA / STORMBREAK XV — RECONNECTION / MODERN AERO UI OS26.2
  Complete replacement stylesheet: base effects and compatibility styles are included.
  MediaWiki:Kuranoka.css remains untouched: specifically preserving:
  - body.skin-citizen.page-Kuranoka fixed thunderstorm photo (desktop) / scroll (mobile)
  - #bodyContent glass variable + blur(6px), translucent surface, padding, borders
  - #firstHeading / #siteSub white text
  - #citizen-toc presentation / hidden scrollbar
  Everything is namespaced #kk14-* and never overrides those selectors.
*/
 
/* Glass compatibility:
  The original #bodyContent uses backdrop-filter: blur(6px) !important.
  Do not put filter:grayscale(...) on that node, #mw-content-text, body, or
  .citizen-body-container: those would recolor WebGL overlays or introduce
  new stacking/containing blocks. The full-viewport, pointer-transparent
  overlay BELOW storm canvases (z 408–413) works over the fixed photo and
  the article glass in Chromium, preserving colorful storm/rain/shards.
  CSS used here does not change title, TOC, text, or glass settings. */
html.kk-stormbreak-v4 #kk14-tone {
   position: fixed !important;
  inset: 0 !important;
  z-index: 407 !important;
  box-sizing: border-box !important;
  pointer-events: none !important;
  user-select: none !important;
  opacity: 0;
  margin: 0 !important;
  padding: 0 !important;
   background: transparent !important;
   background: transparent !important;
   border-color: rgba(153,169,185,.18) !important;
   -webkit-backdrop-filter: grayscale(var(--kk14-gray, .96)) brightness(var(--kk14-bright, .85));
  backdrop-filter: grayscale(var(--kk14-gray, .96)) brightness(var(--kk14-bright, .85));
  transition: opacity .8s ease;
  contain: layout style;
}
}


/* Chapter III: quieter suspended rain and weak colored atmospheric residue. */
/* Stage three: very faint drifting rainfall, separate from XII's original rain. */
html.kk-stormbreak-v4 #kk13-aftermath {
html.kk-stormbreak-v4 #kk14-aftermath {
   position: fixed !important;
   position: fixed !important;
   inset: 0 !important;
   inset: 0 !important;
   z-index: 414 !important;
   z-index: 414 !important;
   width: 100vw;
  display: block;
   height: 100vh;
   width: 100vw !important;
   height: 100vh !important;
  visibility: hidden;
  opacity: 0;
   pointer-events: none !important;
   pointer-events: none !important;
   visibility: hidden;
   user-select: none !important;
   contain: strict;
   contain: strict;
  user-select: none;
}
}


/* Drifting, freely draggable shards. Only their clipped polygons intercept
/* Interactive shards. Keep the original XII canvas fractures AS THEY WERE.
   pointer events; the rest of the wiki is still scrollable/selectable. */
   These are just a few extra tiny translucent reading windows. */
html.kk-stormbreak-v4 #kk-sb-peeks {
html.kk-stormbreak-v4 #kk14-peeks {
   position: fixed !important;
   position: fixed !important;
   inset: 0 !important;
   inset: 0 !important;
   z-index: 416 !important;
   z-index: 416 !important;
   width: 100vw !important;
   overflow: hidden !important;
  height: 100vh !important;
  overflow: hidden;
   pointer-events: none !important;
   pointer-events: none !important;
   visibility: hidden;
   visibility: hidden;
   user-select: none;
   user-select: none !important;
   contain: strict;
   contain: strict;
}
}
html.kk-stormbreak-v4 .kk-sb-peek {
html.kk-stormbreak-v4 #kk14-peeks .kk14-peek {
   position: absolute;
   position: absolute !important;
   top: 0;
   top: 0;
   left: 0;
   left: 0;
   box-sizing: border-box;
   box-sizing: border-box !important;
   overflow: hidden;
   overflow: hidden !important;
   pointer-events: auto !important;
   pointer-events: auto !important;
   touch-action: none;
   touch-action: none;
第153行: 第191行:
   user-select: none !important;
   user-select: none !important;
   background:
   background:
     linear-gradient(126deg, rgba(193,229,244,.39), rgba(14,37,53,.65) 36%, rgba(69,111,144,.47) 74%, rgba(225,239,250,.46)),
     linear-gradient(119deg,rgba(209,238,246,.26),rgba(36,58,77,.23) 52%,rgba(193,224,242,.19)),
     rgba(26,43,62,.43);
     rgba(35,69,89,.12);
   box-shadow: inset 0 0 2px 1px rgba(204,236,255,.64), inset 0 0 36px rgba(60,125,151,.34);
   box-shadow: inset 0 0 1px 1px rgba(218,241,250,.50);
   will-change: transform;
   will-change: transform;
}
}
html.kk-stormbreak-v4 .kk-sb-peek:nth-child(4n) {
html.kk-stormbreak-v4 #kk14-peeks .kk14-peek:nth-child(4n) {
   background:
   background: linear-gradient(133deg,rgba(210,81,103,.28),rgba(48,13,28,.27),rgba(219,161,180,.18));
    linear-gradient(130deg, rgba(242,191,210,.35), rgba(65,11,26,.72) 43%, rgba(149,43,67,.45)),
    rgba(49,12,23,.5);
}
}
html.kk-stormbreak-v4 .kk-sb-peek-grabbed {cursor: grabbing;}
html.kk-stormbreak-v4 #kk14-peeks .kk14-dragging {cursor:grabbing;}
html.kk-stormbreak-v4 .kk-sb-peek-mirror {
html.kk-stormbreak-v4 #kk14-peeks .kk14-peek-mirror {
   position: absolute !important;
   position: absolute !important;
   top: 0;
   top: 0;
第170行: 第206行:
   width: 100vw;
   width: 100vw;
   height: 100vh;
   height: 100vh;
  box-sizing: border-box;
   overflow: visible;
   overflow: visible;
   pointer-events: none !important;
   pointer-events: none !important;
   user-select: none !important;
   user-select: none !important;
}
}
html.kk-stormbreak-v4 .kk-sb-peek-clone,
html.kk-stormbreak-v4 #kk14-peeks .kk14-peek-clone,
html.kk-stormbreak-v4 .kk-sb-peek-clone * {
html.kk-stormbreak-v4 #kk14-peeks .kk14-peek-clone * {
   pointer-events: none !important;
   pointer-events: none !important;
   user-select: none !important;
   user-select: none !important;
  text-decoration-color: currentColor;
}
}
/* This is the genuine template black curtain: don't reveal the DOM behind
/* This unlocks text inside a shard CLONE only; original {{黑幕}} stays opaque. */
  it globally; reveal an accurate local copy *inside shard windows only*. */
html.kk-stormbreak-v4 #kk14-peeks .kk14-peek-clone .heimu,
html.kk-stormbreak-v4 #kk-sb-peeks .kk-sb-peek-clone .heimu,
html.kk-stormbreak-v4 #kk14-peeks .kk14-peek-clone .heimu *,
html.kk-stormbreak-v4 #kk-sb-peeks .kk-sb-peek-clone .heimu *,
html.kk-stormbreak-v4 #kk14-peeks .kk14-peek-clone .blackout,
html.kk-stormbreak-v4 #kk-sb-peeks .kk-sb-peek-clone .blackout,
html.kk-stormbreak-v4 #kk14-peeks .kk14-peek-clone .blackout *,
html.kk-stormbreak-v4 #kk-sb-peeks .kk-sb-peek-clone .blackout *,
html.kk-stormbreak-v4 #kk14-peeks .kk14-peek-clone .spoiler,
html.kk-stormbreak-v4 #kk-sb-peeks .kk-sb-peek-clone .spoiler,
html.kk-stormbreak-v4 #kk14-peeks .kk14-peek-clone .spoiler * {
html.kk-stormbreak-v4 #kk-sb-peeks .kk-sb-peek-clone .spoiler * {
   color: #f5f9fc !important;
   color: #f4fbff !important;
  -webkit-text-fill-color: #f5f9fc !important;
   background: transparent !important;
   background: transparent !important;
   text-shadow: 0 1px 2px rgba(0,0,0,.75) !important;
  background-color: transparent !important;
   text-shadow: 0 1px 2px rgba(0,0,0,.70) !important;
   opacity: 1 !important;
   opacity: 1 !important;
   -webkit-text-fill-color: #f4fbff !important;
   filter: none !important;
}
}
html.kk-stormbreak-v4 #kk-sb-peeks .kk-sb-peek-clone {
html.kk-stormbreak-v4 #kk14-peeks .kk14-peek-clone {
   background: transparent !important;
   max-width:none !important;
   max-width: none !important;
   background:transparent !important;
   transform: none !important;
   transform:none !important;
   filter: none !important;
   filter:none !important;
}
}


@media (max-width:680px) {
/* Isolated narrative pause is a Shadow DOM component created by JS.
  html.kk-stormbreak-v4 #kk-sb-gate {padding: 15px !important;}
  Page CSS rules for h2, buttons, infoboxes or Citizen do not enter it. */
  html.kk-stormbreak-v4 .kk-sb-gate-actions {flex-direction:column;}
/* Older browsers without backdrop-filter receive a quiet dimming layer.
  html.kk-stormbreak-v4 .kk-sb-gate-actions button {width:100%;}
  It deliberately does not filter or restyle any Citizen content. */
}
@supports not ((backdrop-filter: grayscale(1)) or (-webkit-backdrop-filter: grayscale(1))) {
@media (prefers-reduced-motion:reduce) {
   html.kk-stormbreak-v4 #kk14-tone {
   html.kk-stormbreak-v4 #kk-sb-gate,
    background: rgba(9, 14, 20, .22) !important;
  html.kk-stormbreak-v4 #kk13-aftermath,
   }
  html.kk-stormbreak-v4 #kk-sb-peeks {display:none !important;}
   html.kk-stormbreak-v4.kk-sb-afterlink .kk-sb-world {filter:none !important;}
}
}
@media print {
@media (prefers-reduced-motion: reduce), print {
   html.kk-stormbreak-v4 #kk-sb-gate,
   html.kk-stormbreak-v4 #kk14-tone,
   html.kk-stormbreak-v4 #kk13-aftermath,
   html.kk-stormbreak-v4 #kk14-aftermath,
   html.kk-stormbreak-v4 #kk-sb-peeks {display:none !important;}
   html.kk-stormbreak-v4 #kk14-peeks,
   html.kk-stormbreak-v4.kk-sb-afterlink .kk-sb-world {filter:none !important;}
   html.kk-stormbreak-v4 #kk14-interruption {display:none !important;}
}
}

2026年10月21日 (三) 20:46的最新版本

/* STORMBREAK XV — Kuranoka only. Requires JS to add kk-stormbreak-v4 class.
   Does NOT change article typography, colors, font sizes, heading layouts, or Citizen components. */
html.kk-stormbreak-v4 #kk4-pressure,
html.kk-stormbreak-v4 #kk4-sky,
html.kk-stormbreak-v4 #kk4-rain,
html.kk-stormbreak-v4 #kk6-fracture {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  pointer-events: none !important;
  user-select: none !important;
  overflow: hidden !important;
  visibility: hidden;
  transform-origin: center center;
  contain: strict;
}
html.kk-stormbreak-v4 #kk4-pressure {z-index: 408; background: radial-gradient(ellipse 81% 78% at 51% 47%, transparent 27%, rgba(1,6,15,.17) 49%, rgba(0,2,8,.86) 96%), linear-gradient(180deg,rgba(0,5,18,.9),rgba(7,15,29,.07) 56%,rgba(1,5,14,.76));}
html.kk-stormbreak-v4 #kk4-sky {z-index: 409; will-change: transform;}
html.kk-stormbreak-v4 #kk4-rain {z-index: 410; will-change: transform;}
html.kk-stormbreak-v4 #kk6-fracture {z-index: 411; will-change: transform; opacity:.95;}
html.kk-stormbreak-v4.kk-v4-on #kk4-pressure,
html.kk-stormbreak-v4.kk-v4-on #kk4-sky,
html.kk-stormbreak-v4.kk-v4-on #kk4-rain,
html.kk-stormbreak-v4.kk-v4-on #kk6-fracture {visibility: visible;}
/* Protect the central copy without painting over or altering its actual text. */
html.kk-stormbreak-v4 #kk4-sky {
  -webkit-mask-image: radial-gradient(ellipse 62% 61% at 49% 50%, rgba(0,0,0,.12) 3%, rgba(0,0,0,.44) 55%, #000 99%);
  mask-image: radial-gradient(ellipse 62% 61% at 49% 50%, rgba(0,0,0,.12) 3%, rgba(0,0,0,.44) 55%, #000 99%);
}
/* Defeat lingering V2/V3 visual widgets if the browser was previously caching old sheets. */
html.kk-stormbreak-v4 #kk-stormbreak-controls,
html.kk-stormbreak-v4 #kk-stormbreak-canvas,
html.kk-stormbreak-v4 #kk-stormbreak-atmosphere,
html.kk-stormbreak-v4 #kk-sb3-sky,
html.kk-stormbreak-v4 #kk-sb3-glass,
html.kk-stormbreak-v4 #kk-sb3-choke {display:none!important;}
@media (max-width:680px){
  html.kk-stormbreak-v4 #kk4-sky {
    -webkit-mask-image:radial-gradient(ellipse 70% 68% at 49% 49%,rgba(0,0,0,.12) 5%,rgba(0,0,0,.43) 58%,#000 100%);
    mask-image:radial-gradient(ellipse 70% 68% at 49% 49%,rgba(0,0,0,.12) 5%,rgba(0,0,0,.43) 58%,#000 100%);
  }
}
@media (prefers-reduced-motion:reduce){
  html.kk-stormbreak-v4 #kk4-pressure,
  html.kk-stormbreak-v4 #kk4-sky,
  html.kk-stormbreak-v4 #kk4-rain,
  html.kk-stormbreak-v4 #kk6-fracture {display:none!important;}
}
@media print{
  html.kk-stormbreak-v4 #kk4-pressure,
  html.kk-stormbreak-v4 #kk4-sky,
  html.kk-stormbreak-v4 #kk4-rain,
  html.kk-stormbreak-v4 #kk6-fracture {display:none!important;}
}

html.kk-stormbreak-v4 #kk4-rain {
  /* Uniform full-width rainfall, with only a slight central readability cutout. */
  -webkit-mask-image:radial-gradient(ellipse 95% 83% at 50% 48%,rgba(0,0,0,.83),#000 95%);
  mask-image:radial-gradient(ellipse 95% 83% at 50% 48%,rgba(0,0,0,.83),#000 95%);
}

/* Fragment layer is separate from article text; no text or Citizen styles changed. */
html.kk-stormbreak-v4 #kk6-fracture {mix-blend-mode:normal;}

/* Persistent local faults; no global attack envelope. Real viewport fragments. Never intercept selection, links, or scrolling. */
html.kk-stormbreak-v4 #kk7-replicas {
 position:fixed!important;inset:0!important;z-index:412;pointer-events:none!important;
 overflow:hidden;contain:strict;visibility:hidden;user-select:none;
}
html.kk-stormbreak-v4 .kk7-plate {
 position:absolute;inset:0;pointer-events:none!important;transform-origin:50% 50%;
 contain:strict;will-change:transform;overflow:hidden;
}
html.kk-stormbreak-v4 .kk7-copy {position:absolute;inset:0;pointer-events:none!important;}
html.kk-stormbreak-v4 #kk7-replicas * {pointer-events:none!important;user-select:none!important;}
@media(prefers-reduced-motion:reduce){html.kk-stormbreak-v4 #kk7-replicas{display:none!important;}}
@media print{html.kk-stormbreak-v4 #kk7-replicas{display:none!important;}}

/* Floating shards use an independent Canvas. */

/* Small moving mirror faces invert the real page underneath, only inside each shard. */
html.kk-stormbreak-v4 #kk10-negative {
 position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;
 pointer-events:none!important;user-select:none!important;z-index:413;
 margin:0!important;padding:0!important;border:0!important;
 visibility:hidden;mix-blend-mode:difference;contain:strict;
}
@media(prefers-reduced-motion:reduce){html.kk-stormbreak-v4 #kk10-negative{display:none!important;}}
@media print{html.kk-stormbreak-v4 #kk10-negative{display:none!important;}}

/* Optional narrative anchor only; adds no visible control or layout height. */
html.kk-stormbreak-v4 .kk-fx-outburst {display:inline-block;width:0;height:0;overflow:hidden;}

/* Pixel overscan is sized from the maximum camera displacement, including narrow screens. */
html.kk-stormbreak-v4 #kk4-sky,
html.kk-stormbreak-v4 #kk4-rain,
html.kk-stormbreak-v4 #kk6-fracture,
html.kk-stormbreak-v4 #kk10-negative {
 top:calc(-1 * var(--kk-bleed,96px))!important;
 left:calc(-1 * var(--kk-bleed,96px))!important;
 right:auto!important;bottom:auto!important;
 width:calc(100vw + 2 * var(--kk-bleed,96px))!important;
 height:calc(100vh + 2 * var(--kk-bleed,96px))!important;
}
html.kk-stormbreak-v4 #kk12-inversion {
 position:fixed!important;inset:0!important;z-index:2147483000;
 pointer-events:none!important;user-select:none!important;
 background:#fff!important;mix-blend-mode:difference;
 margin:0!important;border:0!important;padding:0!important;
 opacity:0;will-change:opacity;
}
@media(prefers-reduced-motion:reduce){html.kk-stormbreak-v4 #kk12-inversion{display:none!important;}}
@media print{html.kk-stormbreak-v4 #kk12-inversion{display:none!important;}}

/* KURANOKA / STORMBREAK XV — RECONNECTION / MODERN AERO UI OS26.2
   Complete replacement stylesheet: base effects and compatibility styles are included.
   MediaWiki:Kuranoka.css remains untouched: specifically preserving:
   - body.skin-citizen.page-Kuranoka fixed thunderstorm photo (desktop) / scroll (mobile)
   - #bodyContent glass variable + blur(6px), translucent surface, padding, borders
   - #firstHeading / #siteSub white text
   - #citizen-toc presentation / hidden scrollbar
   Everything is namespaced #kk14-* and never overrides those selectors.
*/

/* Glass compatibility:
   The original #bodyContent uses backdrop-filter: blur(6px) !important.
   Do not put filter:grayscale(...) on that node, #mw-content-text, body, or
   .citizen-body-container: those would recolor WebGL overlays or introduce
   new stacking/containing blocks. The full-viewport, pointer-transparent
   overlay BELOW storm canvases (z 408–413) works over the fixed photo and
   the article glass in Chromium, preserving colorful storm/rain/shards.
   CSS used here does not change title, TOC, text, or glass settings. */
html.kk-stormbreak-v4 #kk14-tone {
  position: fixed !important;
  inset: 0 !important;
  z-index: 407 !important;
  box-sizing: border-box !important;
  pointer-events: none !important;
  user-select: none !important;
  opacity: 0;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  -webkit-backdrop-filter: grayscale(var(--kk14-gray, .96)) brightness(var(--kk14-bright, .85));
  backdrop-filter: grayscale(var(--kk14-gray, .96)) brightness(var(--kk14-bright, .85));
  transition: opacity .8s ease;
  contain: layout style;
}

/* Stage three: very faint drifting rainfall, separate from XII's original rain. */
html.kk-stormbreak-v4 #kk14-aftermath {
  position: fixed !important;
  inset: 0 !important;
  z-index: 414 !important;
  display: block;
  width: 100vw !important;
  height: 100vh !important;
  visibility: hidden;
  opacity: 0;
  pointer-events: none !important;
  user-select: none !important;
  contain: strict;
}

/* Interactive shards. Keep the original XII canvas fractures AS THEY WERE.
   These are just a few extra tiny translucent reading windows. */
html.kk-stormbreak-v4 #kk14-peeks {
  position: fixed !important;
  inset: 0 !important;
  z-index: 416 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  visibility: hidden;
  user-select: none !important;
  contain: strict;
}
html.kk-stormbreak-v4 #kk14-peeks .kk14-peek {
  position: absolute !important;
  top: 0;
  left: 0;
  box-sizing: border-box !important;
  overflow: hidden !important;
  pointer-events: auto !important;
  touch-action: none;
  cursor: grab;
  user-select: none !important;
  background:
    linear-gradient(119deg,rgba(209,238,246,.26),rgba(36,58,77,.23) 52%,rgba(193,224,242,.19)),
    rgba(35,69,89,.12);
  box-shadow: inset 0 0 1px 1px rgba(218,241,250,.50);
  will-change: transform;
}
html.kk-stormbreak-v4 #kk14-peeks .kk14-peek:nth-child(4n) {
  background: linear-gradient(133deg,rgba(210,81,103,.28),rgba(48,13,28,.27),rgba(219,161,180,.18));
}
html.kk-stormbreak-v4 #kk14-peeks .kk14-dragging {cursor:grabbing;}
html.kk-stormbreak-v4 #kk14-peeks .kk14-peek-mirror {
  position: absolute !important;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  overflow: visible;
  pointer-events: none !important;
  user-select: none !important;
}
html.kk-stormbreak-v4 #kk14-peeks .kk14-peek-clone,
html.kk-stormbreak-v4 #kk14-peeks .kk14-peek-clone * {
  pointer-events: none !important;
  user-select: none !important;
}
/* This unlocks text inside a shard CLONE only; original {{黑幕}} stays opaque. */
html.kk-stormbreak-v4 #kk14-peeks .kk14-peek-clone .heimu,
html.kk-stormbreak-v4 #kk14-peeks .kk14-peek-clone .heimu *,
html.kk-stormbreak-v4 #kk14-peeks .kk14-peek-clone .blackout,
html.kk-stormbreak-v4 #kk14-peeks .kk14-peek-clone .blackout *,
html.kk-stormbreak-v4 #kk14-peeks .kk14-peek-clone .spoiler,
html.kk-stormbreak-v4 #kk14-peeks .kk14-peek-clone .spoiler * {
  color: #f5f9fc !important;
  -webkit-text-fill-color: #f5f9fc !important;
  background: transparent !important;
  background-color: transparent !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.70) !important;
  opacity: 1 !important;
  filter: none !important;
}
html.kk-stormbreak-v4 #kk14-peeks .kk14-peek-clone {
  max-width:none !important;
  background:transparent !important;
  transform:none !important;
  filter:none !important;
}

/* Isolated narrative pause is a Shadow DOM component created by JS.
   Page CSS rules for h2, buttons, infoboxes or Citizen do not enter it. */
/* Older browsers without backdrop-filter receive a quiet dimming layer.
   It deliberately does not filter or restyle any Citizen content. */
@supports not ((backdrop-filter: grayscale(1)) or (-webkit-backdrop-filter: grayscale(1))) {
  html.kk-stormbreak-v4 #kk14-tone {
    background: rgba(9, 14, 20, .22) !important;
  }
}
@media (prefers-reduced-motion: reduce), print {
  html.kk-stormbreak-v4 #kk14-tone,
  html.kk-stormbreak-v4 #kk14-aftermath,
  html.kk-stormbreak-v4 #kk14-peeks,
  html.kk-stormbreak-v4 #kk14-interruption {display:none !important;}
}