/* Motion behaviors adapted from local Kirameku, rendered in the existing jade palette. */
.is-sections-demo .album-motion-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start; }
.is-sections-demo .album-motion-item { min-width:0;transform-origin:top left; }
.is-sections-demo .album-motion-item[hidden] { display:none; }
.is-sections-demo .album-motion-item.is-open { grid-column:1/-1; }
.is-sections-demo .motion-album { overflow:visible;border-radius:20px; }
.is-sections-demo .album-toggle { display:flex;flex-direction:column;align-items:center;width:100%;padding:34px 24px 25px;border:0;border-radius:20px;background:transparent;color:var(--text);font:inherit; }
.is-sections-demo .album-toggle:focus-visible { outline:2px solid var(--gold);outline-offset:5px; }
.is-sections-demo .album-stack { position:relative;display:block;width:min(240px,85%);height:175px;margin:0 auto 27px; }
.is-sections-demo .album-cover { position:absolute;inset:0;display:block;transform:translateY(var(--rest-y)) rotate(var(--stack-angle)) scale(var(--cover-scale));transition:transform .55s cubic-bezier(.22,1.2,.36,1); }
.is-sections-demo .album-cover img { display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;border:5px solid var(--section-panel);border-radius:9px;box-shadow:0 10px 20px rgba(2,15,25,.22); }
.is-sections-demo .album-toggle:is(:hover,:focus-visible) .album-cover,
.is-sections-demo .is-open .album-cover { transform:translateY(var(--fan-y)) rotate(var(--fan-angle)) scale(.95); }
.is-sections-demo .album-toggle:is(:hover,:focus-visible) .album-cover:nth-child(2),
.is-sections-demo .is-open .album-cover:nth-child(2) { transform:translateY(var(--fan-y)) rotate(0) scale(1); }
.is-sections-demo .album-photo-count { position:absolute;z-index:5;right:-6px;bottom:-12px;padding:4px 12px;border:1px solid var(--section-border);border-radius:20px;background:var(--section-accent-fill);color:var(--section-on-accent);font-size:12px; }
.is-sections-demo .album-name { margin:3px 0 8px;font-family:"Noto Serif SC","Songti SC",serif;font-size:21px;letter-spacing:.1em; }
.is-sections-demo .album-date { color:var(--text-muted);font-size:11px;line-height:1.8; }
.is-sections-demo .album-state-hint { margin-top:10px;color:var(--gold);font-size:12px; }
.is-sections-demo .album-expansion { overflow:hidden; }
.is-sections-demo .album-expansion[hidden] { display:none; }
.is-sections-demo .motion-photo-grid { display:grid;grid-template-columns:repeat(var(--photo-columns,4),minmax(0,1fr));gap:25px;padding:22px 30px 35px;align-items:start; }
.is-sections-demo .motion-photo { position:relative;display:block;min-width:0;padding:0;border:0;background:transparent;transform:rotate(var(--photo-rotation));transition:transform .45s cubic-bezier(.22,1.2,.36,1);color:var(--text-muted); }
.is-sections-demo .motion-photo:is(:hover,:focus-visible) { z-index:6;transform:rotate(0) scale(1.03); }
.is-sections-demo .motion-photo:focus-visible { outline:2px solid var(--gold);outline-offset:5px; }
.is-sections-demo .photo-mount { position:relative;display:block;padding:9px 9px 31px;border:1px solid var(--section-border);border-radius:3px;background:var(--section-panel);box-shadow:0 9px 22px rgba(3,16,25,.2);transition:box-shadow .3s; }
.is-sections-demo .motion-photo:hover .photo-mount { box-shadow:0 15px 32px rgba(3,16,25,.3); }
.is-sections-demo .photo-image-window { display:block;aspect-ratio:4/3;overflow:hidden; }
.is-sections-demo .photo-image-window.is-portrait { aspect-ratio:4/5; }
.is-sections-demo .photo-image-window img { display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s,opacity .3s; }
.is-sections-demo .motion-photo:hover img { transform:scale(1.05); }
.is-sections-demo .photo-handwritten { position:absolute;right:6px;bottom:7px;left:6px;color:var(--text-muted);font-family:"Noto Serif SC","Songti SC",serif;font-size:12px;font-style:italic;line-height:1.5;text-align:center; }
.is-sections-demo .photo-tape { position:absolute;top:-7px;left:12px;width:42px;height:16px;transform:rotate(-6deg);background:rgba(190,177,117,.42);backdrop-filter:blur(2px);border:1px solid rgba(213,202,151,.25);pointer-events:none; }

/* Shared fullscreen lightbox, with a spring-like photo entrance. */
html.demo-modal-lock { overflow:hidden;scrollbar-gutter:stable; }
.is-sections-demo .demo-dialog.is-lightbox { width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;overflow:hidden;border:0;border-radius:0;background:transparent;box-shadow:none; }
.is-sections-demo .demo-dialog.is-lightbox::backdrop { background:rgba(0,0,0,.85);backdrop-filter:blur(5px); }
.is-sections-demo .is-lightbox .dialog-close { position:absolute;top:18px;right:18px;float:none;margin:0;border-color:rgba(255,255,255,.18);color:#fff;background:rgba(255,255,255,.1);z-index:5; }
.is-sections-demo .kira-lightbox-stage { position:relative;display:grid;place-items:center;width:100vw;height:100dvh;padding:48px 60px 66px; }
.is-sections-demo .kira-lightbox-figure { position:relative;margin:0;max-width:90vw;max-height:82dvh;animation:lightbox-spring .46s cubic-bezier(.22,1.2,.36,1) both; }
.is-sections-demo .kira-lightbox-figure img { display:block;width:auto;max-width:100%;height:auto;max-height:78dvh;margin:0 auto;border-radius:8px;object-fit:contain;box-shadow:0 20px 60px rgba(0,0,0,.5); }
.is-sections-demo .kira-lightbox-figure figcaption { position:absolute;right:0;bottom:-30px;left:0;color:rgba(255,255,255,.8);font-family:"Noto Serif SC","Songti SC",serif;font-size:14px;font-style:italic;text-align:center; }
.is-sections-demo .kira-lightbox-prev,
.is-sections-demo .kira-lightbox-next { position:absolute;z-index:5;top:calc(50% - 24px);display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid rgba(255,255,255,.15);border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:32px;line-height:1;transition:background .2s,transform .2s; }
.is-sections-demo .kira-lightbox-prev { left:16px; }
.is-sections-demo .kira-lightbox-next { right:16px; }
.is-sections-demo :is(.kira-lightbox-prev,.kira-lightbox-next):hover { background:rgba(255,255,255,.2);transform:scale(1.05); }
.is-sections-demo .kira-lightbox-count { position:absolute;right:0;bottom:16px;left:0;color:rgba(255,255,255,.65);font-size:13px;text-align:center;font-variant-numeric:tabular-nums; }
@keyframes lightbox-spring { from { opacity:0;transform:scale(.85); } to { opacity:1;transform:scale(1); } }
.is-sections-demo .time-river-viewport { position:relative;overflow-x:auto;overflow-y:hidden;max-width:100%;border-block:1px solid var(--section-border);border-radius:20px;background:linear-gradient(180deg,transparent,var(--section-inset),transparent);touch-action:pan-y;cursor:grab;scrollbar-width:thin;overscroll-behavior-x:contain; }
.is-sections-demo .time-river-viewport.is-dragging { cursor:grabbing;user-select:none; }
.is-sections-demo .time-river-viewport:focus-visible { outline:2px solid var(--gold);outline-offset:5px; }
.is-sections-demo .time-river-track { position:relative;height:680px; }
.is-sections-demo .time-river-art { position:absolute;top:0;left:0;max-width:none;pointer-events:none; }
.is-sections-demo .time-river-line { stroke-dasharray:1;stroke-dashoffset:0;animation:river-draw 1.8s ease-in-out both; }
.is-sections-demo .time-river-glow { opacity:.14;filter:blur(6px); }
.is-sections-demo .river-article { position:absolute;min-width:0;transition:transform .3s; }
.is-sections-demo .river-article.is-above { top:20px; }
.is-sections-demo .river-article.is-below { top:387px; }
.is-sections-demo .river-article:hover { transform:translateY(-5px) scale(1.015); }
.is-sections-demo .river-article a { display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-height:220px;padding:22px;border:1px solid var(--section-border);border-radius:18px;background:var(--section-panel);box-shadow:var(--section-shadow);color:var(--text);text-decoration:none; }
.is-sections-demo .river-article a:focus-visible { outline:2px solid var(--gold);outline-offset:4px; }
.is-sections-demo .river-article time { color:var(--gold);font-family:Georgia,serif;font-size:12px; }
.is-sections-demo .river-article .tag { font-size:10px; }
.is-sections-demo .river-article h3 { margin:0;font-family:"Noto Serif SC","Songti SC",serif;font-size:18px;line-height:1.65;font-weight:500; }
.is-sections-demo .river-article p { margin:0;color:var(--text-muted);font-size:12px;line-height:1.8; }
.is-sections-demo .river-article-stats { color:var(--text-muted);font-size:10px; }
.is-sections-demo .river-bottom-tools { display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:20px;margin-top:20px; }
.is-sections-demo .river-bottom-tools p { color:var(--text-muted);font-size:12px; }
@keyframes river-draw { from { stroke-dashoffset:1; } to { stroke-dashoffset:0; } }
.is-sections-demo .moment-day-list { display:flex;flex-direction:column;gap:34px; }
.is-sections-demo .moment-day-label { display:flex;align-items:center;gap:12px;margin-bottom:18px; }
.is-sections-demo .moment-day-label::after { content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--section-border),transparent); }
.is-sections-demo .moment-day-label h3 { margin:0;color:var(--text);font-size:14px;font-weight:500; }
.is-sections-demo .moment-day-label span { color:var(--text-muted);font-size:11px; }
.is-sections-demo .moment-stack { position:relative;min-height:116px; }
.is-sections-demo .kira-moment-card { position:absolute;right:0;left:0;padding:0;transform:translateX(var(--moment-x)) rotate(var(--moment-rotation));transform-origin:center top;transition:transform .5s cubic-bezier(.22,1.2,.36,1),box-shadow .3s; }
.is-sections-demo .kira-moment-card:not(.is-expanded):hover { transform:translateY(-4px) rotate(0) scale(1.01); }
.is-sections-demo .kira-moment-card.is-expanded { transform:translateX(0) rotate(0);box-shadow:0 28px 80px rgba(2,12,22,.35); }
.is-sections-demo .moment-summary { display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;width:100%;min-height:116px;padding:19px 24px;border:0;border-radius:20px;background:transparent;color:var(--text);text-align:left; }
.is-sections-demo .moment-summary-content { display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:14px;line-height:1.85;white-space:pre-line; }
.is-sections-demo .moment-summary-state { display:none;color:var(--gold);font-size:11px; }
.is-sections-demo .is-expanded .moment-summary { min-height:64px;padding-block:14px;flex-direction:row;align-items:center;justify-content:space-between;border-bottom:1px solid var(--section-border); }
.is-sections-demo .is-expanded .moment-summary-content { display:none; }
.is-sections-demo .is-expanded .moment-summary-state { display:block; }
.is-sections-demo .moment-full { overflow:hidden; }
.is-sections-demo .moment-full-content { padding:24px; }
.is-sections-demo .kira-moment-backdrop { position:fixed;z-index:35;inset:0;background:rgba(0,0,0,.2);backdrop-filter:blur(3px);animation:motion-fade-in .2s both; }
.is-sections-demo .friend-constellation { position:relative;height:560px;overflow:hidden;touch-action:pan-y;background:radial-gradient(ellipse at 50% 95%,var(--section-highlight),transparent 70%);border-radius:18px; }
.is-sections-demo .friend-constellation::before,
.is-sections-demo .friend-constellation::after { content:"";position:absolute;left:12%;right:12%;bottom:10%;height:80px;border:1px solid var(--section-border);border-radius:50%;opacity:.25;pointer-events:none; }
.is-sections-demo .friend-constellation::after { left:22%;right:22%;bottom:15%;height:60px; }
.is-sections-demo .drifting-friend { position:absolute;transform:translate(-50%,-50%); }
.is-sections-demo .friend-constellation .friend-bottle { min-width:100px;min-height:115px;padding:10px 14px;transform:rotate(var(--bottle-rotation)) scale(var(--bottle-scale));animation:bottle-float var(--bottle-duration) ease-in-out var(--bottle-delay) infinite;touch-action:none; }
.is-sections-demo .friend-constellation .friend-bottle img { width:66px;height:86px;transition:transform .3s; }
.is-sections-demo .friend-constellation .friend-bottle:hover img { transform:scale(1.1); }
.is-sections-demo .friend-constellation .friend-bottle span { position:absolute;top:100%;left:50%;padding:5px 12px;border:1px solid var(--section-border);border-radius:18px;background:var(--section-panel);color:var(--text);font-size:12px;white-space:nowrap;opacity:0;transform:translate(-50%,-5px);transition:opacity .25s,transform .25s; }
.is-sections-demo .friend-constellation .friend-bottle:is(:hover,:focus-visible) span { opacity:1;transform:translate(-50%,0); }
.is-sections-demo .drifting-friend:is(.is-dragging,:focus-within) .friend-bottle { animation-play-state:paused; }
.is-sections-demo .drifting-friend.is-dragging { z-index:12; }
.is-sections-demo .friend-water-hint { margin:18px 0 0;color:var(--text-muted);text-align:center;font-size:12px; }
.is-sections-demo .novel-card-link { display:flex;flex:1;align-items:flex-start;gap:20px;min-width:0;color:var(--text);text-decoration:none; }
.is-sections-demo .novel-card-info { min-width:0;padding-right:18px; }
.is-sections-demo .book-sort-handle { position:absolute;z-index:6;top:7px;right:7px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--text-muted);font-size:24px;touch-action:none;cursor:grab; }
.is-sections-demo .book-sort-handle:hover { color:var(--gold);background:var(--section-highlight); }
.is-sections-demo .novel-card.is-sorting { opacity:.3; }
.is-sections-demo .book-drag-ghost { z-index:110;pointer-events:none;box-shadow:0 30px 70px rgba(0,0,0,.35); }
@keyframes bottle-float { 0%,100% { transform:translateY(0) rotate(var(--bottle-rotation)) scale(var(--bottle-scale)); } 50% { transform:translateY(-12px) rotate(calc(var(--bottle-rotation) + 3deg)) scale(var(--bottle-scale)); } }
@keyframes motion-fade-in { from { opacity:0; } to { opacity:1; } }
/* Shared reveal, three-dimensional cards, and the jade route portal. */
.is-sections-demo .jade-route-portal { position:fixed;z-index:190;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:27px;background:rgba(5,19,27,.3);backdrop-filter:blur(5px);pointer-events:none; }
.is-sections-demo .jade-route-portal[hidden] { display:none; }
.is-sections-demo .jade-route-portal p { padding:10px 20px;border:1px solid rgba(222,205,153,.3);border-radius:20px;background:rgba(10,29,35,.8);color:#ede5c9;font-family:"Noto Serif SC","Songti SC",serif;font-size:14px;letter-spacing:.12em;text-align:center; }
.is-sections-demo .portal-rings { position:relative;width:94px;height:94px; }
.is-sections-demo .portal-rings i { position:absolute;inset:0;border:1px solid #b5c7b7;border-top:3px solid #d5bc75;border-radius:50%;animation:jade-orbit 1s linear infinite; }
.is-sections-demo .portal-rings i:nth-child(2) { inset:13px;border-color:#7eb6a3;border-right-color:transparent;animation-direction:reverse;animation-duration:1.4s; }
.is-sections-demo .portal-rings i:nth-child(3) { inset:26px;border-color:#ddc98c;border-bottom-color:transparent;animation-duration:.8s; }
.is-sections-demo .portal-rings b { position:absolute;inset:40px;transform:rotate(45deg);background:#e3d29d;box-shadow:0 0 16px #87ad8e; }
@keyframes jade-orbit { to { transform:rotate(360deg); } }
.is-sections-demo .post-card.has-kira-tilt { position:relative;transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .2s ease-out,box-shadow .3s; }
.is-sections-demo .kira-card-glare { position:absolute;z-index:8;inset:0;border-radius:inherit;background:radial-gradient(circle at var(--glare-x,50%) var(--glare-y,50%),#fff,transparent 60%);opacity:var(--glare-opacity,0);pointer-events:none;transition:opacity .25s; }
.is-sections-demo :is(.post-card,.project-card) { overflow:hidden; }
.is-sections-demo :is(.post-card,.project-card) > a:first-child { display:block;overflow:hidden; }
.is-sections-demo :is(.post-cover,.project-cover) { transition:transform .5s cubic-bezier(.22,1,.36,1); }
.is-sections-demo :is(.post-card,.project-card):hover :is(.post-cover,.project-cover) { transform:scale(1.05); }
.is-sections-demo :is(.project-card,.bookmark-card,.home-article-entry,.home-project-entry) { transition:translate .3s,box-shadow .3s,border-color .3s; }
.is-sections-demo :is(.project-card,.bookmark-card):hover { translate:0 -4px;box-shadow:0 16px 35px rgba(5,20,25,.16); }
.is-sections-demo .bookmark-icon { animation:jade-jelly 2s ease-in-out infinite;transform-origin:50% 70%; }
.is-sections-demo .bookmark-card .tag { transition:scale .2s,color .2s; }
.is-sections-demo .bookmark-card .tag:hover { scale:1.08;color:var(--gold); }
.is-sections-demo .details-contents { overflow:hidden; }
.is-sections-demo :is(#profile-avatar,.profile-stats>div,.about-profile>img,.about-stats>div) { transition:transform .4s cubic-bezier(.22,1.2,.36,1); }
.is-sections-demo :is(#profile-avatar,.about-profile>img):hover { transform:scale(1.08) rotate(6deg); }
.is-sections-demo :is(.profile-stats>div,.about-stats>div):hover { transform:scale(1.1); }
.is-sections-demo .article-toc .is-active { color:var(--gold);font-weight:600; }
@keyframes jade-jelly { 0%,45%,100% { transform:scale(1); } 55% { transform:scale(1.1,.9); } 65% { transform:scale(.94,1.08); } 75% { transform:scale(1.04,.97); } }
/* Keep the approved gallery proportions; crossfade inside each window. */
.is-sections-demo .home-gallery-link { position:absolute;inset:0;display:block;touch-action:pan-y; }
.is-sections-demo .motion-gallery-tile::after { z-index:2; }
.is-sections-demo .home-gallery-caption { z-index:3;bottom:31px; }
.is-sections-demo .home-gallery-dots { position:absolute;z-index:4;right:8px;bottom:6px;left:8px;display:flex;justify-content:center;gap:3px; }
.is-sections-demo .home-gallery-dots button { display:grid;place-items:center;width:23px;height:23px;padding:0;border:0;border-radius:50%;background:transparent; }
.is-sections-demo .home-gallery-dots button::before { content:"";width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.45);transition:width .3s,background .3s; }
.is-sections-demo .home-gallery-dots [aria-pressed="true"]::before { width:14px;border-radius:8px;background:#ecdfb5; }
.is-sections-demo .home-gallery-dots button:focus-visible { outline:1px solid #f1dfac; }
.is-sections-demo .home-chatter-deck { position:relative;min-height:210px;margin:0 12px; }
body.is-sections-demo .home-chatter-card { position:absolute;inset:0 0 auto;min-height:190px;transform:translateY(calc(var(--deck-depth)*8px)) scale(calc(1 - var(--deck-depth)*.04));transform-origin:center bottom;border:1px solid var(--section-border);border-radius:16px;background:var(--section-panel);opacity:calc(1 - var(--deck-depth)*.35);touch-action:pan-y;transition:transform .4s cubic-bezier(.22,1.2,.36,1),opacity .3s; }
.is-sections-demo .home-chatter-card.is-dragging { transition:none;touch-action:none; }
.is-sections-demo .home-deck-tools { display:flex;justify-content:center;align-items:center;gap:14px;padding:5px 14px 15px;color:var(--text-muted);font-size:11px; }
/* Music disc and content-panel transitions share the existing player state. */
.is-sections-demo .music-page-cover { width:180px;max-width:75%;margin:0 auto 24px;border-radius:50%;animation:jade-orbit 8s linear infinite;animation-play-state:paused; }
.is-sections-demo .music-main-player.is-playing .music-page-cover { animation-play-state:running; }
.is-sections-demo :is(.track-list,#page-lyrics) { animation:motion-tab-in .22s ease-out both; }
@keyframes motion-tab-in { from { opacity:0;transform:translateY(10px); } to { opacity:1;transform:none; } }
.is-sections-demo .motion-floating-player { position:fixed;z-index:85;top:0;left:0;display:flex;align-items:center;gap:14px;max-width:calc(100vw - 20px);padding:7px;border:1px solid var(--section-border);border-radius:38px;background:var(--section-panel);box-shadow:0 8px 30px rgba(3,15,25,.23);backdrop-filter:blur(20px); }
.is-sections-demo .motion-floating-player[hidden] { display:none; }
.is-sections-demo .floating-cover { position:relative;flex:none;width:54px;height:54px;padding:0;overflow:hidden;border:2px solid var(--section-border);border-radius:50%;background:var(--section-soft);touch-action:none; }
.is-sections-demo .floating-cover img { width:100%;height:100%;object-fit:cover;animation:jade-orbit 6s linear infinite;animation-play-state:paused;pointer-events:none; }
.is-sections-demo .is-playing .floating-cover img { animation-play-state:running; }
.is-sections-demo .floating-disc-center { position:absolute;inset:21px;border-radius:50%;background:var(--section-panel);border:1px solid var(--section-border);pointer-events:none; }
.is-sections-demo .floating-controls { width:230px;padding:5px 12px 4px 0; }
.is-sections-demo .floating-controls[hidden],.is-sections-demo .floating-track-list[hidden] { display:none; }
.is-sections-demo .floating-song { display:flex;align-items:baseline;gap:9px;white-space:nowrap;overflow:hidden; }
.is-sections-demo .floating-song strong { color:var(--text);font-family:"Noto Serif SC","Songti SC",serif;font-size:15px; }
.is-sections-demo .floating-song small { color:var(--text-muted);font-size:11px; }
.is-sections-demo .floating-main-controls { display:flex;align-items:center;justify-content:space-between;margin:5px 0;gap:3px; }
.is-sections-demo .floating-controls button { min-height:30px;min-width:30px;padding:3px 5px;border:0;border-radius:6px;color:var(--text);background:transparent;font:inherit;font-size:11px; }
.is-sections-demo .floating-controls button:hover { color:var(--gold);background:var(--section-highlight); }
.is-sections-demo .floating-controls input[type="range"] { display:block;width:100%;height:12px;accent-color:var(--gold); }
.is-sections-demo .floating-volume { display:flex;align-items:center;gap:7px;color:var(--text-muted);font-size:9px; }
.is-sections-demo .floating-volume #floating-volume { flex:1;width:40px; }
.is-sections-demo .floating-track-list { position:absolute;right:0;bottom:calc(100% + 12px);width:280px;max-width:calc(100vw - 24px);max-height:260px;overflow:auto;padding:8px;border:1px solid var(--section-border);border-radius:17px;background:var(--section-panel);box-shadow:var(--section-shadow); }
.is-sections-demo .list-below .floating-track-list { top:calc(100% + 12px);bottom:auto; }
.is-sections-demo .floating-track-list button { display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;padding:10px 12px;border:0;border-radius:9px;color:var(--text);background:transparent;text-align:left; }
.is-sections-demo .floating-track-list button:is(:hover,.is-active) { color:var(--gold);background:var(--section-highlight); }
.is-sections-demo .floating-track-list small { color:var(--text-muted); }
/* Read progress, active table of contents, and back-to-top. */
.is-sections-demo .motion-reading-progress { position:fixed;z-index:130;top:0;left:0;right:0;height:3px;pointer-events:none; }
.is-sections-demo .motion-reading-progress span { display:block;height:100%;background:linear-gradient(90deg,#73a291,#d8c38b);box-shadow:0 0 8px #d1bd80; }
.is-sections-demo .motion-reading-tools { position:fixed;z-index:75;right:18px;bottom:220px;display:flex;flex-direction:column;gap:10px; }
.is-sections-demo .motion-reading-tools button { width:45px;height:45px;padding:0;border:1px solid var(--section-border);border-radius:50%;background:var(--section-panel);color:var(--gold);box-shadow:var(--section-shadow);font-size:13px; }
.is-sections-demo .motion-reading-tools [hidden] { display:none; }
.is-sections-demo .motion-floating-toc { position:fixed;z-index:85;right:74px;bottom:180px;width:250px;max-width:calc(100vw - 90px);max-height:50vh;overflow:auto; }
.is-sections-demo .motion-floating-toc button { display:block;width:100%;padding:9px;border:0;border-radius:6px;background:transparent;color:var(--text-muted);font:inherit;font-size:12px;text-align:left; }
.is-sections-demo .motion-floating-toc button:is(:hover,.is-active) { color:var(--gold);background:var(--section-highlight); }
/* Hold-Tab radial navigation, adapted to the jade/bronze artifact icons. */
.is-sections-demo .motion-radial-dialog { position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;overflow:hidden; }
.is-sections-demo .motion-radial-dialog::backdrop { background:rgba(3,15,23,.65);backdrop-filter:blur(7px); }
.is-sections-demo .radial-orbit { position:absolute;width:0;height:0; }
.is-sections-demo .radial-orbit::before { content:"";position:absolute;inset:-140px;width:280px;height:280px;border:1px solid rgba(206,186,125,.25);border-radius:50%;box-shadow:0 0 0 20px rgba(123,158,136,.04),0 0 0 32px rgba(206,186,125,.06);pointer-events:none; }
.is-sections-demo .radial-center { position:absolute;top:-49px;left:-49px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:98px;height:98px;border:1px solid #a99a6c;border-radius:50%;background:rgba(21,49,48,.95);box-shadow:0 0 30px rgba(111,157,129,.25);color:#e7dbb6; }
.is-sections-demo .radial-center strong { font-family:"Noto Serif SC","Songti SC",serif;font-weight:500;font-size:12px; }
.is-sections-demo .radial-center span { font-size:10px;color:#b4c2b6; }
.is-sections-demo .radial-item { position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:62px;height:62px;margin:-31px 0 0 -31px;padding:0;border:1px solid rgba(191,180,134,.3);border-radius:50%;background:rgba(19,41,43,.93);color:#cedbd1;font:inherit;font-size:10px;transition:scale .2s,color .2s,background .2s; }
.is-sections-demo .radial-item svg { width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.5; }
.is-sections-demo .radial-item:is(:hover,:focus-visible,.is-active) { scale:1.13;background:#496450;color:#f0dfab;border-color:#d5be7c;outline:none;box-shadow:0 0 18px rgba(193,175,112,.23); }
.is-sections-demo .radial-tip { position:absolute;right:24px;bottom:28px;left:24px;color:#d5ddce;text-align:center;font-size:12px; }
.is-sections-demo .radial-close { position:absolute;z-index:4;top:20px;right:20px;width:44px;height:44px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(255,255,255,.08);color:#e7dfc8;font-size:24px; }
.is-sections-demo .jade-celebration { position:fixed;z-index:200;inset:0;overflow:hidden;pointer-events:none; }
.is-sections-demo .jade-celebration i { position:absolute;top:-20px;width:6px;height:11px;border-radius:2px;animation:jade-confetti 4s cubic-bezier(.2,.6,.8,.9) both; }
@keyframes jade-confetti { to { transform:translate(var(--confetti-x),110vh) rotate(var(--confetti-turn));opacity:0; } }
body.is-sections-demo.is-motion-paused :is(.album-cover,.motion-photo,.kira-lightbox-figure,.time-river-line,.kira-moment-card,.friend-bottle,.bookmark-icon,.floating-cover img,.music-page-cover,.home-chatter-card) { animation:none!important;transition:none!important; }
body.is-sections-demo.is-motion-paused .post-card.has-kira-tilt { transform:none; }
body.is-sections-demo.is-motion-paused :is(.river-particle,.kira-card-glare) { display:none; }
body.is-sections-demo.is-wallpaper-only :is(.motion-floating-player,.motion-reading-tools,.motion-reading-progress,.motion-floating-toc) { display:none; }
@media(max-width:500px) { .is-sections-demo .radial-orbit::before { inset:-108px;width:216px;height:216px; }.is-sections-demo .radial-item { width:50px;height:50px;margin:-25px 0 0 -25px;gap:1px;font-size:9px; }.is-sections-demo .radial-item svg { width:21px;height:21px; }.is-sections-demo .radial-center { width:84px;height:84px;top:-42px;left:-42px; }.is-sections-demo .floating-controls { width:200px; }.is-sections-demo .home-gallery-dots button { width:20px; } }
@media(prefers-reduced-motion:reduce) { .is-sections-demo :is(.jade-route-portal,.jade-celebration) { display:none; }.is-sections-demo :is(.bookmark-icon,.music-page-cover,.floating-cover img,.track-list,#page-lyrics) { animation:none; }.is-sections-demo .post-card.has-kira-tilt { transform:none; }.is-sections-demo :is(.project-card,.bookmark-card,.post-cover,.project-cover,#profile-avatar,.about-profile>img) { transition:none; } }
@media(max-width:1050px) { .is-sections-demo .album-motion-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.is-sections-demo .motion-photo-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:20px; } }
@media(max-width:640px) { .is-sections-demo .album-motion-grid { grid-template-columns:1fr;gap:20px; }.is-sections-demo .album-stack { height:155px;max-width:220px; }.is-sections-demo .motion-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr));padding:18px 18px 28px;gap:16px; }.is-sections-demo .kira-lightbox-stage { padding-inline:16px; }.is-sections-demo .kira-lightbox-figure { max-width:94vw; }.is-sections-demo :is(.kira-lightbox-prev,.kira-lightbox-next) { top:auto;bottom:13px;width:44px;height:44px; } }
@media(max-width:767px) { .is-sections-demo .friend-constellation { height:400px; }.is-sections-demo .friend-constellation .friend-bottle img { width:51px;height:68px; }.is-sections-demo .novel-card-link { gap:14px; } }
@media(prefers-reduced-motion:reduce) { .is-sections-demo :is(.album-cover,.motion-photo,.photo-image-window img,.kira-lightbox-figure,.time-river-line,.river-article,.kira-moment-card,.friend-constellation .friend-bottle,.kira-moment-backdrop) { animation:none;transition:none; }.is-sections-demo .river-particle { display:none; } }

.is-sections-demo .demo-toast:not([hidden]) { animation:jade-toast-in .25s ease-out both;transition:opacity .2s,translate .2s; }
.is-sections-demo .demo-toast.is-leaving { opacity:0;translate:0 12px; }
@keyframes jade-toast-in { from { opacity:0;translate:0 20px;scale:.95; } to { opacity:1;translate:0 0;scale:1; } }
body.is-sections-demo.is-motion-paused :is(.demo-toast,.track-list,#page-lyrics,.post-cover,.project-cover,#profile-avatar,.about-profile>img,.project-card,.bookmark-card) { animation:none;transition:none; }
@media(prefers-reduced-motion:reduce) { .is-sections-demo .demo-toast:not([hidden]) { animation:none;transition:none; } }

body.is-sections-demo .home-chatter-deck .home-chatter-card::before,body.is-sections-demo .home-chatter-deck .home-chatter-card::after { content:none; }
body.is-sections-demo .home-chatter-deck .home-chatter-card { background:var(--section-panel);border:1px solid var(--section-border); }
