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

MediaWiki:KuranokaPageTransition.css:修订间差异

MediaWiki界面页面
无编辑摘要
无编辑摘要
第1行: 第1行:
/* Kuranoka Page Transition v2 — standalone page-scoped stylesheet.
  REPLACE MediaWiki:KuranokaPageTransition.css with this file.
  No @view-transition and NO Citizen.css changes required. */


/* ============================================================
  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: #95dfff;
     --kkpt-accent: #93dfff;
    --kkpt-ink: #eefaff;
    --kkpt-panel: rgba(8, 27, 43, .82);
 
     position: fixed;
     position: fixed;
     right: clamp(14px, 2.5vw, 32px);
     right: clamp(12px, 2.3vw, 34px);
     bottom: clamp(16px, 3vh, 34px);
     bottom: clamp(14px, 3.4vh, 34px);
     z-index: 2147481000;
     z-index: 2147483000;
 
     display: flex;
     display: flex;
     align-items: center;
     align-items: center;
     gap: 11px;
     gap: 11px;
     max-width: calc(100vw - 32px);
 
    box-sizing: border-box;
     max-width: calc(100vw - 24px);
     padding: 12px 17px;
     padding: 12px 17px;
     border: 1px solid var(--kkpt-accent);
 
    color: var(--kkpt-ink) !important;
    background: var(--kkpt-panel);
 
     border: 1px solid color-mix(
        in srgb,
        var(--kkpt-accent) 64%,
        transparent
    );
 
     border-radius: 999px;
     border-radius: 999px;
    background: rgba(9, 27, 46, .84);
     font: 650 13px/1.35 system-ui, sans-serif;
    color: #ecfaff !important;
     font: 700 13px/1.3 system-ui, sans-serif;
     letter-spacing: .04em;
     letter-spacing: .04em;
     text-decoration: none !important;
     text-decoration: none !important;
     box-shadow: 0 8px 28px #071b3055, 0 0 20px #5cc8ff33;
    cursor: pointer;
     -webkit-backdrop-filter: blur(14px);
 
     backdrop-filter: blur(14px);
     box-shadow:
     transition: transform .2s, box-shadow .2s, opacity .2s;
        0 6px 29px #0006,
        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 血红主题 */
body.page-Kuronata #kkpt-toggle {
body.page-Kuronata #kkpt-toggle {
     --kkpt-accent: #ff667c;
     --kkpt-accent: #ff718b;
     background: rgba(55, 6, 17, .89);
     --kkpt-ink: #fff1f3;
    color: #fff4f5 !important;
    --kkpt-panel: rgba(46, 2, 13, .86);
    box-shadow: 0 8px 28px #21030877, 0 0 24px #e41f4438;
}
}
#kkpt-toggle:hover, #kkpt-toggle:focus-visible {
 
#kkpt-toggle:hover,
#kkpt-toggle:focus-visible {
     transform: translateY(-3px);
     transform: translateY(-3px);
     box-shadow: 0 8px 35px #0006, 0 0 27px var(--kkpt-accent);
 
     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 {
    pointer-events: none;
}
 
#kkpt-toggle.kkpt-vanish {
    opacity: 0;
    pointer-events: none;
}
}
#kkpt-toggle:focus-visible { outline: 2px solid var(--kkpt-accent); outline-offset: 4px; }
#kkpt-toggle.kkpt-loading { opacity: .7; pointer-events: none; }
#kkpt-toggle .kkpt-icon { color: var(--kkpt-accent); font-size: 21px; }
#kkpt-toggle .kkpt-text { display: flex; flex-direction: column; gap: 3px; }
#kkpt-toggle .kkpt-sub { font-size: 10px; font-weight: 500; opacity: .72; }


/* The target Wiki page is visible through an animated polygon mask. */
/* 预载的真实目标页面 */
#kkpt-preview {
#kkpt-preview {
     position: fixed !important;
     position: fixed !important;
     inset: 0 !important;
     inset: 0 !important;
    z-index: 2147481000 !important;
    display: block !important;
    box-sizing: border-box !important;
     width: 100vw !important;
     width: 100vw !important;
     height: 100vh !important;
     height: 100vh !important;
    padding: 0 !important;
     margin: 0 !important;
     margin: 0 !important;
    padding: 0 !important;
     border: 0 !important;
     border: 0 !important;
     z-index: 2147481100 !important;
     border-radius: 0 !important;
 
    overflow: hidden !important;
     pointer-events: none !important;
     pointer-events: none !important;
    display: block !important;
 
     background: #3b0613;
     transform: translateZ(0);
     will-change: clip-path;
     will-change: clip-path;
     contain: paint;
 
     background: #22050b;
    clip-path: inset(0 0 0 100%);
}
}
#kkpt-preview.kkpt-sky { background: #bce9ff; }


body.page-Kuronata #kkpt-preview {
    background: #bfeaff;
}
/* Canvas 火焰、烟雾、火星、爆燃 */
#kkpt-canvas {
#kkpt-canvas {
     position: fixed !important;
     position: fixed !important;
     inset: 0 !important;
     inset: 0 !important;
    z-index: 2147482000 !important;
    display: block !important;
     width: 100vw !important;
     width: 100vw !important;
     height: 100vh !important;
     height: 100vh !important;
    z-index: 2147481200 !important;
 
     pointer-events: none !important;
     pointer-events: none !important;
    transform: translateZ(0);
    transition: opacity 160ms linear;
}
}


#kkpt-handoff {
/* 移动端 */
    position: fixed !important;
@media (max-width: 600px) {
    inset: 0 !important;
    #kkpt-toggle {
     z-index: 2147481300 !important;
        padding: 10px 13px;
     pointer-events: all !important;
        gap: 8px;
    opacity: 0;
     }
    transition: opacity .16s linear;
 
     background: #39050f;
     #kkpt-toggle .kkpt-sub {
        display: none;
     }
}
}
#kkpt-handoff.kkpt-sky {
 
    background: #e5f7ff;
/* 减少动态效果 */
@media (prefers-reduced-motion: reduce) {
    ::view-transition-old(root),
    ::view-transition-new(root) {
        animation-duration: .01ms !important;
    }
 
    #kkpt-toggle {
        transition: none !important;
    }
}
}


@media (max-width: 600px) {
/* 打印时隐藏 */
    #kkpt-toggle { padding: 10px 13px; gap: 8px; }
    #kkpt-toggle .kkpt-sub { display: none; }
}
@media print {
@media print {
     #kkpt-toggle, #kkpt-preview, #kkpt-canvas, #kkpt-handoff { display: none !important; }
     #kkpt-preview,
    #kkpt-canvas,
    #kkpt-toggle {
        display: none !important;
    }
}
}

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


/* ============================================================
   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-accent: #93dfff;
    --kkpt-ink: #eefaff;
    --kkpt-panel: rgba(8, 27, 43, .82);

    position: fixed;
    right: clamp(12px, 2.3vw, 34px);
    bottom: clamp(14px, 3.4vh, 34px);
    z-index: 2147483000;

    display: flex;
    align-items: center;
    gap: 11px;

    box-sizing: border-box;
    max-width: calc(100vw - 24px);
    padding: 12px 17px;

    color: var(--kkpt-ink) !important;
    background: var(--kkpt-panel);

    border: 1px solid color-mix(
        in srgb,
        var(--kkpt-accent) 64%,
        transparent
    );

    border-radius: 999px;
    font: 650 13px/1.35 system-ui, sans-serif;
    letter-spacing: .04em;
    text-decoration: none !important;
    cursor: pointer;

    box-shadow:
        0 6px 29px #0006,
        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 血红主题 */
body.page-Kuronata #kkpt-toggle {
    --kkpt-accent: #ff718b;
    --kkpt-ink: #fff1f3;
    --kkpt-panel: rgba(46, 2, 13, .86);
}

#kkpt-toggle:hover,
#kkpt-toggle:focus-visible {
    transform: translateY(-3px);

    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 {
    pointer-events: none;
}

#kkpt-toggle.kkpt-vanish {
    opacity: 0;
    pointer-events: none;
}

/* 预载的真实目标页面 */
#kkpt-preview {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147481000 !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;
    pointer-events: none !important;

    transform: translateZ(0);
    will-change: clip-path;

    background: #22050b;
    clip-path: inset(0 0 0 100%);
}

body.page-Kuronata #kkpt-preview {
    background: #bfeaff;
}

/* Canvas 火焰、烟雾、火星、爆燃 */
#kkpt-canvas {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147482000 !important;

    display: block !important;
    width: 100vw !important;
    height: 100vh !important;

    pointer-events: none !important;
    transform: translateZ(0);

    transition: opacity 160ms linear;
}

/* 移动端 */
@media (max-width: 600px) {
    #kkpt-toggle {
        padding: 10px 13px;
        gap: 8px;
    }

    #kkpt-toggle .kkpt-sub {
        display: none;
    }
}

/* 减少动态效果 */
@media (prefers-reduced-motion: reduce) {
    ::view-transition-old(root),
    ::view-transition-new(root) {
        animation-duration: .01ms !important;
    }

    #kkpt-toggle {
        transition: none !important;
    }
}

/* 打印时隐藏 */
@media print {
    #kkpt-preview,
    #kkpt-canvas,
    #kkpt-toggle {
        display: none !important;
    }
}