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

MediaWiki:KuranokaPageTransition.css:修订间差异

MediaWiki界面页面
无编辑摘要
无编辑摘要
第1行: 第1行:
/* Kuranoka Page Transition V4 — EMBER / AURORA
  Load only on /wiki/Kuranoka and /wiki/Kuronata.
  No Citizen.css / Common.css changes. */


/* ============================================================
  KURANOKA PAGE TRANSITION V3 — ASHES / REBIRTH
  MediaWiki:KuranokaPageTransition.css
  Only loaded on /wiki/Kuranoka and /wiki/Kuronata.
  ============================================================ */
/* 原生跨页面无缝衔接 */
@view-transition {
    navigation: auto;
}
::view-transition-old(root),
::view-transition-new(root) {
    animation-duration: 180ms;
    animation-timing-function: ease-out;
    animation-fill-mode: both;
}
/* 切换按钮 */
#kkpt-toggle {
#kkpt-toggle {
     --kkpt-accent: #93dfff;
     --kkpt-tone: #a7e7ff;
    --kkpt-ink: #eefaff;
     --kkpt-panel: rgba(7,28,49,.87);
     --kkpt-panel: rgba(8, 27, 43, .82);
 
     position: fixed;
     position: fixed;
    right: clamp(12px, 2.3vw, 34px);
    bottom: clamp(14px, 3.4vh, 34px);
     z-index: 2147483000;
     z-index: 2147483000;
 
    right: clamp(12px,2.3vw,34px);
    bottom: clamp(14px,3.4vh,34px);
     display: flex;
     display: flex;
     align-items: center;
     align-items: center;
     gap: 11px;
     gap: 10px;
 
    max-width: calc(100vw - 24px);
     box-sizing: border-box;
     box-sizing: border-box;
    max-width: calc(100vw - 24px);
     padding: 12px 17px;
     padding: 12px 17px;
 
     border: 1px solid color-mix(in srgb,var(--kkpt-tone) 60%,transparent);
     color: var(--kkpt-ink) !important;
    border-radius: 999px;
     background: var(--kkpt-panel);
     background: var(--kkpt-panel);
 
     box-shadow: 0 8px 35px #0007,0 0 20px color-mix(in srgb,var(--kkpt-tone) 25%,transparent);
     border: 1px solid color-mix(
     color: #f1fcff !important;
        in srgb,
     font: 650 13px/1.3 system-ui,sans-serif;
        var(--kkpt-accent) 64%,
     letter-spacing: .045em;
        transparent
    );
 
     border-radius: 999px;
     font: 650 13px/1.35 system-ui, sans-serif;
     letter-spacing: .04em;
     text-decoration: none !important;
     text-decoration: none !important;
     cursor: pointer;
     cursor: pointer;
 
     backdrop-filter: blur(18px) saturate(145%);
    box-shadow:
     -webkit-backdrop-filter: blur(18px) saturate(145%);
        0 6px 29px #0006,
     transition: transform .22s,box-shadow .22s,opacity .22s;
        0 0 23px color-mix(
            in srgb,
            var(--kkpt-accent) 20%,
            transparent
        );
 
     backdrop-filter: blur(18px) saturate(135%);
     -webkit-backdrop-filter: blur(18px) saturate(135%);
 
     transition:
        transform .2s,
        opacity .18s,
        box-shadow .2s;
}
}


/* Kuronata 血红主题 */
#kkpt-toggle.kkpt-dark {
body.page-Kuronata #kkpt-toggle {
     --kkpt-tone: #ff6b7e;
    --kkpt-accent: #ff718b;
     --kkpt-panel: rgba(41,4,14,.88);
     --kkpt-ink: #fff1f3;
    color: #fff1f1 !important;
     --kkpt-panel: rgba(46, 2, 13, .86);
}
}


#kkpt-toggle:hover,
#kkpt-toggle:hover,#kkpt-toggle:focus-visible {
#kkpt-toggle:focus-visible {
     transform: translateY(-3px);
     transform: translateY(-3px);
 
     box-shadow: 0 9px 38px #0008,0 0 32px var(--kkpt-tone);
     box-shadow:
        0 8px 34px #0009,
        0 0 36px var(--kkpt-accent);
}
 
#kkpt-toggle:focus-visible {
    outline: 2px solid var(--kkpt-accent);
    outline-offset: 4px;
}
 
#kkpt-toggle .kkpt-icon {
    color: var(--kkpt-accent);
    font-size: 22px;
    text-shadow: 0 0 12px var(--kkpt-accent);
}
 
#kkpt-toggle .kkpt-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
 
#kkpt-toggle .kkpt-sub {
    font-size: 10px;
    opacity: .75;
}
 
#kkpt-toggle.kkpt-loading {
    cursor: wait;
    opacity: .8;
}
}


#kkpt-toggle.kkpt-running {
#kkpt-toggle:focus-visible {outline: 2px solid var(--kkpt-tone);outline-offset: 4px}
    pointer-events: none;
#kkpt-toggle .kkpt-icon {font-size: 23px;color: var(--kkpt-tone);text-shadow: 0 0 13px var(--kkpt-tone)}
}
#kkpt-toggle .kkpt-text {display: flex;flex-direction: column;gap: 2px}
#kkpt-toggle .kkpt-sub {font-size: 10px;opacity: .74}
#kkpt-toggle.kkpt-busy {pointer-events: none}
#kkpt-toggle.kkpt-quiet {opacity: 0;pointer-events: none}


#kkpt-toggle.kkpt-vanish {
/* Real interactive Wiki page, retained after the transition finishes. */
    opacity: 0;
    pointer-events: none;
}
 
/* 预载的真实目标页面 */
#kkpt-preview {
#kkpt-preview {
     position: fixed !important;
     position: fixed !important;
    z-index: 2147481000 !important;
     inset: 0 !important;
     inset: 0 !important;
    z-index: 2147481000 !important;
     display: block !important;
     display: block !important;
     box-sizing: border-box !important;
     box-sizing: border-box !important;
     width: 100vw !important;
     width: 100vw !important;
     height: 100vh !important;
     height: 100vh !important;
     padding: 0 !important;
     padding: 0 !important;
     margin: 0 !important;
     margin: 0 !important;
     border: 0 !important;
     border: 0 !important;
     border-radius: 0 !important;
     border-radius: 0 !important;
     overflow: hidden !important;
     overflow: hidden !important;
    clip-path: inset(0 0 0 100%);
     pointer-events: none !important;
     pointer-events: none !important;
 
    background: #1f0710;
     transform: translateZ(0);
     transform: translateZ(0);
     will-change: clip-path;
     will-change: clip-path;
    background: #22050b;
    clip-path: inset(0 0 0 100%);
}
}


body.page-Kuronata #kkpt-preview {
body.page-Kuronata #kkpt-preview {background: #c0eafe}
    background: #bfeaff;
#kkpt-preview.kkpt-active {pointer-events: auto !important;clip-path: inset(0)}
}


/* Canvas 火焰、烟雾、火星、爆燃 */
/* WebGL volumetric fire / electric aurora; visual only. */
#kkpt-canvas {
#kkpt-vfx {
     position: fixed !important;
     position: fixed !important;
    z-index: 2147482000 !important;
     inset: 0 !important;
     inset: 0 !important;
    z-index: 2147482000 !important;
     display: block !important;
     display: block !important;
     width: 100vw !important;
     width: 100vw !important;
     height: 100vh !important;
     height: 100vh !important;
     pointer-events: none !important;
     pointer-events: none !important;
    transform: translateZ(0);
     transition: opacity 180ms linear;
 
     transition: opacity 160ms linear;
}
}


/* 移动端 */
@media (max-width: 600px) {
@media (max-width: 600px) {
     #kkpt-toggle {
     #kkpt-toggle {padding: 10px 13px;gap: 8px}
        padding: 10px 13px;
     #kkpt-toggle .kkpt-sub {display:none}
        gap: 8px;
    }
 
     #kkpt-toggle .kkpt-sub {
        display: none;
    }
}
}
/* 减少动态效果 */
@media (prefers-reduced-motion: reduce) {
@media (prefers-reduced-motion: reduce) {
     ::view-transition-old(root),
     #kkpt-toggle {transition:none !important}
    ::view-transition-new(root) {
     #kkpt-vfx {display:none !important}
        animation-duration: .01ms !important;
    }
 
     #kkpt-toggle {
        transition: none !important;
    }
}
}
/* 打印时隐藏 */
@media print {
@media print {
     #kkpt-preview,
     #kkpt-toggle,#kkpt-preview,#kkpt-vfx {display:none !important}
    #kkpt-canvas,
    #kkpt-toggle {
        display: none !important;
    }
}
}

2026年10月23日 (五) 12:28的版本

/* Kuranoka Page Transition V4 — EMBER / AURORA
   Load only on /wiki/Kuranoka and /wiki/Kuronata.
   No Citizen.css / Common.css changes. */

#kkpt-toggle {
    --kkpt-tone: #a7e7ff;
    --kkpt-panel: rgba(7,28,49,.87);
    position: fixed;
    z-index: 2147483000;
    right: clamp(12px,2.3vw,34px);
    bottom: clamp(14px,3.4vh,34px);
    display: flex;
    align-items: center;
    gap: 10px;
    max-width: calc(100vw - 24px);
    box-sizing: border-box;
    padding: 12px 17px;
    border: 1px solid color-mix(in srgb,var(--kkpt-tone) 60%,transparent);
    border-radius: 999px;
    background: var(--kkpt-panel);
    box-shadow: 0 8px 35px #0007,0 0 20px color-mix(in srgb,var(--kkpt-tone) 25%,transparent);
    color: #f1fcff !important;
    font: 650 13px/1.3 system-ui,sans-serif;
    letter-spacing: .045em;
    text-decoration: none !important;
    cursor: pointer;
    backdrop-filter: blur(18px) saturate(145%);
    -webkit-backdrop-filter: blur(18px) saturate(145%);
    transition: transform .22s,box-shadow .22s,opacity .22s;
}

#kkpt-toggle.kkpt-dark {
    --kkpt-tone: #ff6b7e;
    --kkpt-panel: rgba(41,4,14,.88);
    color: #fff1f1 !important;
}

#kkpt-toggle:hover,#kkpt-toggle:focus-visible {
    transform: translateY(-3px);
    box-shadow: 0 9px 38px #0008,0 0 32px var(--kkpt-tone);
}

#kkpt-toggle:focus-visible {outline: 2px solid var(--kkpt-tone);outline-offset: 4px}
#kkpt-toggle .kkpt-icon {font-size: 23px;color: var(--kkpt-tone);text-shadow: 0 0 13px var(--kkpt-tone)}
#kkpt-toggle .kkpt-text {display: flex;flex-direction: column;gap: 2px}
#kkpt-toggle .kkpt-sub {font-size: 10px;opacity: .74}
#kkpt-toggle.kkpt-busy {pointer-events: none}
#kkpt-toggle.kkpt-quiet {opacity: 0;pointer-events: none}

/* Real interactive Wiki page, retained after the transition finishes. */
#kkpt-preview {
    position: fixed !important;
    z-index: 2147481000 !important;
    inset: 0 !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 100vw !important;
    height: 100vh !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    clip-path: inset(0 0 0 100%);
    pointer-events: none !important;
    background: #1f0710;
    transform: translateZ(0);
    will-change: clip-path;
}

body.page-Kuronata #kkpt-preview {background: #c0eafe}
#kkpt-preview.kkpt-active {pointer-events: auto !important;clip-path: inset(0)}

/* WebGL volumetric fire / electric aurora; visual only. */
#kkpt-vfx {
    position: fixed !important;
    z-index: 2147482000 !important;
    inset: 0 !important;
    display: block !important;
    width: 100vw !important;
    height: 100vh !important;
    pointer-events: none !important;
    transition: opacity 180ms linear;
}

@media (max-width: 600px) {
    #kkpt-toggle {padding: 10px 13px;gap: 8px}
    #kkpt-toggle .kkpt-sub {display:none}
}
@media (prefers-reduced-motion: reduce) {
    #kkpt-toggle {transition:none !important}
    #kkpt-vfx {display:none !important}
}
@media print {
    #kkpt-toggle,#kkpt-preview,#kkpt-vfx {display:none !important}
}