/* MyBlog V1.01 — combined stylesheet. Original cascade order intentionally preserved. */
/* block 1 */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700&display=swap');
:root{
  --glass:.20;--blur:24px;--radius:10px;--text:#f5f7fa;--muted:rgba(245,247,250,.68);
  --line:rgba(255,255,255,.18);--bg:#11161c;--accent:#b9d9ff;
  --ease:cubic-bezier(.18,.78,.24,1);--motion-scale:1;
  --font:'Noto Sans SC',system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth}
body{margin:0;color:var(--text);font-family:var(--font);background:#11161c;overflow-x:hidden}
body.modal-open{overflow:hidden}
button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit}
img{display:block;max-width:100%}
::selection{background:rgba(190,220,255,.35)}
::-webkit-scrollbar{width:9px}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:20px}
#ambient{position:fixed;inset:0;z-index:-3;background-size:cover;background-position:center;transition:background-image 1s ease}
#ambient:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,9,13,.08),rgba(5,9,13,.56) 58%,#11161c 100%)}
#noise{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.glass{
 background:linear-gradient(135deg,rgba(255,255,255,var(--glass)),rgba(255,255,255,.07));
 border:1px solid var(--line);box-shadow:0 22px 58px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.30),inset 0 -1px 0 rgba(0,0,0,.12);
 backdrop-filter:blur(var(--blur)) saturate(125%);-webkit-backdrop-filter:blur(var(--blur)) saturate(125%);
 position:relative;overflow:hidden;border-radius:var(--radius)
}
.glass:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.18),transparent 28%,transparent 72%,rgba(255,255,255,.04));opacity:.65}
.glass>*{position:relative;z-index:1}
.glass:after{content:"";position:absolute;inset:-30%;pointer-events:none;background:linear-gradient(112deg,transparent 32%,rgba(255,255,255,.16) 45%,rgba(255,255,255,.035) 51%,transparent 63%);transform:translateX(-75%) rotate(5deg);transition:transform calc(.9s * var(--motion-scale)) var(--ease);opacity:0}
.glass:hover:after{transform:translateX(75%) rotate(5deg);opacity:.7}
#menuBtn{position:fixed;left:22px;top:22px;z-index:1000;width:52px;height:52px;border-radius:12px;background:rgba(20,25,31,.45);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(18px);box-shadow:0 12px 35px rgba(0,0,0,.3);display:grid;place-items:center;transition:.35s var(--ease)}
#menuBtn:hover{transform:translateY(-2px);background:rgba(255,255,255,.15)}
.hamb{width:21px;height:14px;position:relative}.hamb i{position:absolute;left:0;width:100%;height:2px;background:#fff;border-radius:5px;transition:.35s}.hamb i:nth-child(1){top:0}.hamb i:nth-child(2){top:6px}.hamb i:nth-child(3){top:12px}
body.menu-open .hamb i:nth-child(1){top:6px;transform:rotate(45deg)}body.menu-open .hamb i:nth-child(2){opacity:0}body.menu-open .hamb i:nth-child(3){top:6px;transform:rotate(-45deg)}
#side{position:fixed;z-index:900;left:0;top:0;bottom:0;width:min(360px,88vw);padding:92px 18px 20px;transform:translateX(-105%);transition:transform .55s var(--ease);background:rgba(10,14,19,.5);border-right:1px solid rgba(255,255,255,.13);backdrop-filter:blur(28px)}
body.menu-open #side{transform:none;box-shadow:22px 0 70px rgba(0,0,0,.28)}
.side-inner{height:100%;overflow:auto;padding-right:4px}
.side-search{padding:0;margin:0 0 14px}.side-search input{width:100%;height:48px;border:1px solid rgba(255,255,255,.19);outline:0;color:#fff;padding:0 15px;border-radius:8px;background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.055));box-shadow:0 12px 30px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.24);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.side-search input:focus{border-color:rgba(210,232,255,.42);box-shadow:0 16px 38px rgba(0,0,0,.2),0 0 0 3px rgba(190,220,255,.07)}
.search-results{display:grid;gap:7px;margin-top:9px;max-height:230px;overflow:auto}.result{padding:10px 12px;border:1px solid rgba(255,255,255,.09);border-radius:8px;background:rgba(255,255,255,.055);font-size:13px;cursor:pointer}.result small{display:block;color:var(--muted);margin-top:3px}.result:hover{background:rgba(255,255,255,.1);transform:translateX(3px)}
.nav-btn{width:100%;padding:14px 15px;margin-top:7px;border:1px solid transparent;background:transparent;text-align:left;border-radius:10px;color:var(--muted);display:flex;gap:12px;align-items:center;transition:.3s var(--ease)}.nav-btn:hover,.nav-btn.active{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.12);color:#fff;transform:translateX(3px)}.icon{width:24px;text-align:center}
main{min-height:100vh}.hero{height:88vh;min-height:580px;position:relative;display:flex;align-items:flex-end;padding:clamp(28px,6vw,88px);overflow:hidden}.hero-content{max-width:900px}.eyebrow{letter-spacing:.18em;text-transform:uppercase;font-size:12px;color:var(--muted);margin-bottom:14px}.hero h1{font-size:clamp(58px,10vw,124px);line-height:.94;margin:0 0 20px;font-weight:600;letter-spacing:-.055em;text-shadow:0 5px 28px rgba(0,0,0,.25)}.hero p{font-size:clamp(15px,1.7vw,20px);color:rgba(255,255,255,.78);max-width:650px;line-height:1.8;margin:0}.hero-meta{margin-top:22px;display:flex;gap:9px;flex-wrap:wrap}.pill{padding:7px 11px;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.09);border-radius:999px;font-size:12px;color:var(--muted);backdrop-filter:blur(12px)}.scroll-hint{position:absolute;right:7%;bottom:35px;color:rgba(255,255,255,.5);font-size:11px;writing-mode:vertical-rl;letter-spacing:.16em}
.section{padding:88px clamp(20px,5vw,78px);position:relative}.section+ .section{padding-top:76px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.section-title{font-size:clamp(26px,4vw,46px);margin:0;letter-spacing:-.035em;text-shadow:0 8px 28px rgba(0,0,0,.16)}.section-desc{color:var(--muted);font-size:13px;margin-top:7px}
.more,.tool-action,.tool-copy,.comment-submit,.admin-btn{border:1px solid rgba(255,255,255,.16);background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.045));color:rgba(255,255,255,.9);border-radius:9px;padding:10px 14px;box-shadow:0 8px 22px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.18);transition:.3s var(--ease)}.more:hover,.tool-action:hover,.tool-copy:hover,.comment-submit:hover,.admin-btn:hover{background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.07));color:#fff;transform:translateY(-2px)}
.track{display:flex;gap:16px;overflow-x:auto;padding:16px 8px 42px;margin:-1px -8px -18px;scroll-snap-type:x mandatory;scrollbar-width:none;isolation:isolate}.track::-webkit-scrollbar{display:none}
.article-card{min-width:min(390px,78vw);height:250px;padding:24px;scroll-snap-align:start;display:flex;flex-direction:column;justify-content:flex-end}.article-card h3{font-size:22px;margin:0 0 9px}.article-card p{color:var(--muted);font-size:13px;line-height:1.65;margin:0}.article-card time{font-size:11px;color:rgba(255,255,255,.48);margin-top:15px}.card-tag{font-size:11px;color:var(--muted);margin-bottom:10px}
.photo-card{min-width:min(430px,72vw);aspect-ratio:16/9;scroll-snap-align:start;overflow:hidden;cursor:pointer}.photo-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease),filter .5s}.photo-card:hover img{transform:scale(1.035);filter:saturate(1.08)}.photo-caption{position:absolute;left:15px;right:15px;bottom:13px;padding:8px 10px;border-radius:8px;background:rgba(0,0,0,.25);backdrop-filter:blur(10px);font-size:12px}
.card-stats{position:absolute;left:15px;bottom:13px;font-size:10px;color:rgba(255,255,255,.6);z-index:5}.card-engagement{position:absolute;right:12px;bottom:10px;z-index:20}.engagement{display:flex;gap:3px;align-items:center;padding:4px 6px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(7,11,15,.28);box-shadow:0 8px 22px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.15);backdrop-filter:blur(14px)}.engagement button{border:0;background:transparent;color:rgba(255,255,255,.7);padding:2px 5px;font-size:11px;border-radius:999px}.engagement button:hover,.engagement button.liked{background:rgba(255,255,255,.1);color:#fff}
.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tool-card{min-height:260px;padding:28px;cursor:pointer;transition:.55s var(--ease)}.tool-card h3{font-size:28px;margin:75px 0 8px}.tool-card p{color:var(--muted);font-size:13px;max-width:430px;line-height:1.7}.tool-symbol{position:absolute;right:25px;top:22px;font-size:46px;opacity:.2}
.info{padding:55px clamp(20px,5vw,78px) 70px;border-top:1px solid rgba(255,255,255,.1);background:rgba(7,10,14,.55)}.info-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px}.info h3{margin:0 0 12px}.info p,.info li{font-size:13px;line-height:1.8;color:var(--muted)}.info ul{padding:0;list-style:none}.copyright{margin-top:40px;font-size:11px;color:rgba(255,255,255,.35)}
body:not(.home-active) .info{display:none}
.page{display:none;min-height:100vh;padding:100px clamp(18px,5vw,70px) 70px;background:linear-gradient(#121820cc,#11161c 70%);opacity:1;transform:none;filter:none}.page.active{display:block;}.page-title{font-size:clamp(34px,6vw,72px);margin:0 0 30px;letter-spacing:-.05em}.back{margin-bottom:18px;border:0;background:transparent;color:var(--muted);padding:7px 10px;border-radius:999px}.back:hover{color:#fff;background:rgba(255,255,255,.07);transform:translateX(-2px)}
.article-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.article-full{padding:25px;min-height:240px;cursor:pointer}.article-full h3{font-size:23px;margin:10px 0}.article-full p{color:var(--muted);line-height:1.8;font-size:13px}.article-full .card-stats{left:25px;bottom:15px}.article-full .card-engagement{bottom:12px}
.reader{max-width:860px;margin:auto}.reader-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.reader-card{padding:clamp(24px,5vw,55px);min-height:65vh}.reader-card h1{font-size:clamp(30px,5vw,58px);margin:0 0 13px;letter-spacing:-.04em}.reader-meta{color:var(--muted);font-size:12px;margin-bottom:18px;display:flex;gap:10px;flex-wrap:wrap}.reader-stats{font-size:11px;color:var(--muted);margin-bottom:24px}.reader-engagement{display:flex;justify-content:flex-end;margin-bottom:22px}.reader-content{font-size:16px;line-height:2;color:rgba(255,255,255,.9)}.reader-content p{margin:0 0 1.4em}.reader-content img{width:auto;max-width:100%;margin:24px auto 8px;border-radius:8px}.reader-content figure{margin:25px 0}.reader-content figcaption{text-align:center;color:var(--muted);font-size:12px}.reader-content blockquote{margin:1.5em 0;padding:12px 16px;border-left:2px solid rgba(255,255,255,.28);color:rgba(255,255,255,.72);background:rgba(255,255,255,.035);border-radius:0 7px 7px 0}.reader-comment-link{display:flex;justify-content:center;margin:35px 0 5px}.reader-nav{position:fixed;inset:0;pointer-events:none;z-index:70}.arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:80px;border:0;background:rgba(0,0,0,.16);backdrop-filter:blur(14px);color:#fff;font-size:30px;pointer-events:auto;opacity:.45;border-radius:12px;transition:.3s var(--ease)}.arrow:hover{opacity:1;transform:translateY(-50%) scale(1.05)}.arrow.left{left:8px}.arrow.right{right:8px}
.gallery-toolbar{position:fixed;right:76px;top:50%;transform:translateY(-50%);z-index:72;display:grid;gap:9px;padding:9px 7px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(8,12,17,.16);backdrop-filter:blur(16px);box-shadow:0 12px 28px rgba(0,0,0,.17)}.view-dot{width:10px;height:10px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.2);transition:.3s var(--ease)}.view-dot.active,.view-dot:hover{transform:scale(1.25);background:#fff}
.gallery-mode{display:none}.gallery-mode.active{display:block;}.gallery-years-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.year-card{aspect-ratio:4/3;overflow:hidden;cursor:pointer}.year-card img{width:100%;height:100%;object-fit:cover;transition:.7s var(--ease)}.year-card:hover img{transform:scale(1.04)}.year-overlay{position:absolute;inset:auto 14px 14px 14px;padding:10px 12px;border-radius:8px;background:rgba(0,0,0,.28);backdrop-filter:blur(10px)}.year-overlay strong{font-size:22px}.year-overlay small{display:block;color:var(--muted);margin-top:3px}
.timeline{position:relative;max-width:1050px;margin:auto;padding:10px 0 50px}.timeline:before{content:"";position:absolute;left:105px;top:0;bottom:0;width:1px;background:rgba(255,255,255,.16)}.timeline-year{position:relative;padding-left:145px;margin:0 0 44px}.timeline-year-title{position:absolute;left:0;top:0;font-size:30px;font-weight:600;letter-spacing:-.04em}.timeline-date{position:relative;margin:0 0 24px;padding-left:34px}.timeline-date:before{content:"";position:absolute;left:-4px;top:8px;width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.8);box-shadow:0 0 0 5px rgba(255,255,255,.06)}.timeline-date h3{margin:0 0 12px;font-size:15px;color:rgba(255,255,255,.78)}.timeline-photos{display:flex;gap:12px;overflow-x:auto;padding:3px 3px 15px;scrollbar-width:none}.timeline-photos::-webkit-scrollbar{display:none}.timeline-photo{flex:0 0 min(300px,60vw);aspect-ratio:16/9;overflow:hidden;cursor:pointer}.timeline-photo img{width:100%;height:100%;object-fit:cover;transition:.7s var(--ease)}.timeline-photo:hover img{transform:scale(1.035)}.timeline-photo .photo-caption{bottom:8px;left:9px;right:9px}
.gallery-full-mode{min-height:calc(100vh - 175px)}.full-photo-stage{position:relative;height:calc(100vh - 175px);min-height:430px;display:grid;place-items:center;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.065),transparent 42%),linear-gradient(180deg,rgba(3,6,9,.22),rgba(3,6,9,.68));overflow:hidden}.full-photo-stage img{width:100%;height:100%;object-fit:contain;background:#080b0f;}.full-photo-caption{position:absolute;left:30px;bottom:25px;max-width:calc(100% - 60px);padding:9px 12px;border-radius:8px;background:rgba(0,0,0,.35);backdrop-filter:blur(10px);font-size:13px}.gallery-engagement{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);z-index:5}
.tools-page-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.big-tool{padding:30px;min-height:360px}.tool-ui{margin-top:22px;padding:15px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(0,0,0,.13)}
.tool-carousel-wrap{position:relative;margin:0 -8px;padding:10px 8px 52px}.tool-carousel{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:8px 0 18px;touch-action:pan-x;cursor:grab}.tool-carousel::-webkit-scrollbar{display:none}.tool-carousel:active{cursor:grabbing}.tool-tile{position:relative;flex:0 0 min(380px,76vw);aspect-ratio:16/10;scroll-snap-align:start;overflow:hidden;cursor:pointer;display:flex;align-items:flex-end;padding:24px;background-size:cover;background-position:center;transition:.55s var(--ease)}.tool-tile:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,8,12,.03),rgba(5,8,12,.68)),linear-gradient(120deg,rgba(255,255,255,.13),transparent 34%)}.tool-tile h3{position:relative;margin:0;font-size:28px;letter-spacing:-.03em;text-shadow:0 5px 22px rgba(0,0,0,.35)}.tool-tile:hover{transform:translateY(-5px) scale(1.008);box-shadow:0 27px 50px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.3)}.tool-tile .card-engagement{right:12px;bottom:11px}
.tool-viewer{position:fixed;inset:0;z-index:2500;display:none;align-items:center;justify-content:center}.tool-viewer.open{display:flex}.tool-viewer-backdrop{position:absolute;inset:0;background:rgba(3,6,10,.68);backdrop-filter:blur(18px) saturate(115%)}.tool-viewer-panel{position:relative;width:min(1120px,94vw);max-height:90vh;overflow:auto;padding:clamp(22px,4vw,42px);border:1px solid rgba(255,255,255,.17);border-radius:10px;background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(10,14,19,.64));box-shadow:0 35px 90px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.25);backdrop-filter:blur(28px) saturate(130%);}.tool-viewer-close{position:absolute;right:18px;top:15px;width:38px;height:38px;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:rgba(255,255,255,.07);font-size:24px;display:grid;place-items:center}.tool-viewer-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding-right:48px;margin-bottom:25px}.tool-viewer-kicker{font-size:10px;letter-spacing:.2em;color:var(--muted);margin-bottom:8px}.tool-viewer-head h2{margin:0;font-size:clamp(30px,5vw,54px);letter-spacing:-.04em}.tool-viewer-head p{margin:8px 0 0;color:var(--muted);font-size:13px;max-width:650px}.tool-viewer-content #toolViewerBody{max-width:900px;margin:auto}
.utility-stage{padding:18px;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:rgba(0,0,0,.12)}.utility-stage input,.utility-stage textarea,.utility-stage select{width:100%;padding:11px 12px;margin-bottom:10px;border:1px solid rgba(255,255,255,.13);border-radius:7px;background:rgba(0,0,0,.19);color:#fff;outline:0}.utility-actions{display:flex;gap:8px;flex-wrap:wrap}.utility-note{color:var(--muted);font-size:12px;line-height:1.7}.utility-copyline{margin-top:14px;padding:12px;border-radius:8px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.035);white-space:pre-wrap}.phrase-result{font-size:20px;line-height:1.45;color:#fff;min-height:38px}
.draw-stage{min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}.draw-deck{width:96px;height:142px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.18) 0 1px,transparent 2px),linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.025));box-shadow:0 20px 45px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.25);position:relative}.draw-deck:before,.draw-deck:after{content:"";position:absolute;inset:12px;border:1px solid rgba(255,255,255,.18);border-radius:7px}.draw-deck:after{inset:23px;transform:rotate(45deg)}.draw-deck.shuffling{animation:deckShuffle .72s var(--ease) infinite alternate}@keyframes deckShuffle{from{transform:translateX(-9px) rotate(-3deg)}to{transform:translateX(9px) rotate(3deg)}}.draw-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:14px;width:100%}.draw-cards.spread-1{grid-template-columns:minmax(130px,170px);justify-content:center}.draw-cards.spread-3{grid-template-columns:repeat(3,minmax(110px,1fr))}.draw-cards.spread-5{grid-template-columns:repeat(5,minmax(95px,1fr))}.draw-cards.spread-9{grid-template-columns:repeat(3,minmax(90px,1fr));max-width:620px}.oracle-card-wrap{display:flex;flex-direction:column;align-items:center;gap:8px}.oracle-card{width:100%;max-width:145px;aspect-ratio:2/3;perspective:900px}.oracle-card-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .75s var(--ease)}.oracle-card.flipped .oracle-card-inner{transform:rotateY(180deg)}.oracle-face{position:absolute;inset:0;backface-visibility:hidden;border-radius:9px;border:1px solid rgba(255,255,255,.2);overflow:hidden;box-shadow:0 16px 34px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.22)}.oracle-back{background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.12) 0 2px,transparent 3px),repeating-linear-gradient(45deg,rgba(255,255,255,.045) 0 2px,transparent 2px 9px),linear-gradient(135deg,#25303b,#0d1319)}.oracle-back:after{content:"";position:absolute;inset:15%;border:1px solid rgba(255,255,255,.22);transform:rotate(45deg);border-radius:5px}.oracle-front{transform:rotateY(180deg);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px;text-align:center;background:radial-gradient(circle at 50% 32%,rgba(255,255,255,.18),transparent 35%),linear-gradient(145deg,rgba(255,255,255,.17),rgba(255,255,255,.045))}.oracle-symbol{width:58px;height:72px;margin-bottom:10px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:8px;background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.03));font-size:25px}.oracle-name{font-weight:600;font-size:14px}.oracle-meaning{font-size:11px;color:var(--muted);line-height:1.55;margin-top:5px}.oracle-label{font-size:11px;color:var(--muted);text-align:center;min-height:18px}.draw-status{min-height:20px;color:var(--muted);font-size:12px;text-align:center}.draw-stage.drawing .oracle-card-wrap{opacity:0;transform:translateY(20px) scale(.97)}.draw-stage.revealed .oracle-card-wrap{opacity:1;transform:none;transition:opacity .45s var(--ease),transform .55s var(--ease)}.draw-stage.revealed .oracle-card-wrap:nth-child(2){transition-delay:.08s}.draw-stage.revealed .oracle-card-wrap:nth-child(3){transition-delay:.16s}.draw-stage.revealed .oracle-card-wrap:nth-child(4){transition-delay:.24s}.draw-stage.revealed .oracle-card-wrap:nth-child(5){transition-delay:.32s}.draw-stage.revealed .oracle-card-wrap:nth-child(6){transition-delay:.40s}.draw-stage.revealed .oracle-card-wrap:nth-child(7){transition-delay:.48s}.draw-stage.revealed .oracle-card-wrap:nth-child(8){transition-delay:.56s}.draw-stage.revealed .oracle-card-wrap:nth-child(9){transition-delay:.64s}
.site-comments{margin-top:48px;padding-top:34px;border-top:1px solid rgba(255,255,255,.09)}.site-comments-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.site-comments-head h3{margin:0 0 4px}.site-comments-head p{margin:0;color:var(--muted);font-size:12px}.comment-compose{display:grid;gap:8px;margin-top:15px}.comment-compose textarea,.comment-compose input{width:100%;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);color:#fff;outline:0;padding:10px 12px;border-radius:8px;backdrop-filter:blur(12px)}.comment-compose textarea{min-height:90px;resize:vertical}.comment-submit{justify-self:end}.site-comments-list,.comment-modal-list{display:grid;gap:8px;margin-top:15px}.comment-item{padding:11px 13px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);border-radius:8px}.comment-item-head{display:flex;justify-content:space-between;gap:12px;color:rgba(255,255,255,.72);font-size:11px}.comment-item-text{margin-top:6px;color:rgba(255,255,255,.86);font-size:13px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
.modal{position:fixed;inset:0;z-index:3000;background:rgba(0,0,0,.58);backdrop-filter:blur(10px);display:none;align-items:center;justify-content:center;padding:20px}.modal.open{display:flex}.modal-box{width:min(920px,100%);max-height:90vh;overflow:auto;padding:25px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.close{border:0;background:transparent;font-size:26px}.admin-tabs{display:flex;gap:7px;overflow:auto;margin-bottom:15px}.admin-tabs button{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);padding:8px 12px;border-radius:8px;white-space:nowrap;color:#fff}.admin-tabs button.active{background:rgba(255,255,255,.16)}.admin-panel{display:none}.admin-panel.active{display:block}.field{margin-bottom:12px}.field label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}.field input,.field textarea,.field select{width:100%;border:1px solid rgba(255,255,255,.15);background:rgba(0,0,0,.16);color:#fff;border-radius:8px;padding:10px;outline:0}.field textarea{min-height:110px;resize:vertical}.admin-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-list{display:grid;gap:8px;margin-top:15px}.admin-item{padding:11px;border-radius:8px;background:rgba(255,255,255,.06);display:flex;justify-content:space-between;gap:10px;align-items:center}.danger{background:rgba(160,50,50,.28)!important}.success{color:#ccefd5;font-size:12px}.editor{min-height:260px;border:1px solid rgba(255,255,255,.15);background:rgba(0,0,0,.13);padding:15px;border-radius:8px;outline:0;line-height:1.8}.toolbar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.toolbar button{padding:6px 9px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07);border-radius:6px;color:#fff}.tool-admin-row{padding:12px;border:1px solid rgba(255,255,255,.09);border-radius:8px;background:rgba(255,255,255,.035)}.tool-admin-row+.tool-admin-row{margin-top:9px}.tool-admin-preview{width:100%;height:70px;border-radius:7px;background-size:cover;background-position:center;margin-bottom:10px;border:1px solid rgba(255,255,255,.1)}.tool-admin-actions{display:flex;gap:6px;align-items:center;justify-content:space-between}
#toast{position:fixed;z-index:4000;left:50%;bottom:25px;transform:translate(-50%,20px);opacity:0;padding:11px 15px;border:1px solid rgba(255,255,255,.17);background:rgba(15,19,24,.72);backdrop-filter:blur(18px);border-radius:9px;color:#fff;font-size:13px;transition:.3s var(--ease)}.toast-show{opacity:1!important;transform:translate(-50%,0)!important}
@media(max-width:760px){
 .tool-grid,.info-grid,.admin-row{grid-template-columns:1fr}.hero{height:82vh}.section{padding-top:65px;padding-bottom:65px}.tool-card h3{margin-top:80px}.arrow{width:40px}.gallery-toolbar{right:58px}.full-photo-stage{height:calc(100vh - 128px);min-height:360px}.timeline:before{left:22px}.timeline-year{padding-left:48px}.timeline-year-title{position:relative;left:auto;margin-bottom:20px}.timeline-date{padding-left:24px}.timeline-date:before{left:-4px}.draw-cards.spread-5{grid-template-columns:repeat(2,minmax(105px,1fr))}.draw-cards.spread-9{grid-template-columns:repeat(3,minmax(76px,1fr))}.tool-tile{flex-basis:82vw}.tool-viewer-panel{width:96vw;max-height:92vh;padding:20px}.tool-viewer-head{display:block}.tool-viewer-head>div:last-child{margin-top:12px}.photo-caption{bottom:52px}.card-stats{bottom:13px}.gallery-engagement{bottom:12px}
}

/* V1.0 interaction / visual enhancement layer */

/* Distinct oracle spreads */
.draw-cards.spread-1{display:grid;grid-template-columns:170px;justify-content:center}
.draw-cards.spread-3{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));max-width:720px}
.draw-cards.spread-5{display:grid;grid-template-columns:repeat(3,minmax(105px,1fr));grid-template-rows:repeat(3,minmax(150px,1fr));max-width:660px;align-items:center;justify-items:center}
.draw-cards.spread-5 .oracle-card-wrap:nth-child(1){grid-column:2;grid-row:2}
.draw-cards.spread-5 .oracle-card-wrap:nth-child(2){grid-column:2;grid-row:1}
.draw-cards.spread-5 .oracle-card-wrap:nth-child(3){grid-column:2;grid-row:3}
.draw-cards.spread-5 .oracle-card-wrap:nth-child(4){grid-column:1;grid-row:2}
.draw-cards.spread-5 .oracle-card-wrap:nth-child(5){grid-column:3;grid-row:2}
.draw-cards.spread-9{display:grid;grid-template-columns:repeat(3,minmax(90px,1fr));max-width:660px}
.draw-cards.spread-9 .oracle-card-wrap{min-width:0}
@media(max-width:760px){.draw-cards.spread-3{grid-template-columns:repeat(3,minmax(82px,1fr));gap:8px}.draw-cards.spread-5{grid-template-columns:repeat(3,minmax(78px,1fr));grid-template-rows:repeat(3,minmax(120px,1fr));gap:6px}.draw-cards.spread-9{grid-template-columns:repeat(3,minmax(72px,1fr));gap:7px}}

body{transition:background .7s var(--ease),color .5s var(--ease)}
body.page-leave{pointer-events:none}
#sideShade{position:fixed;inset:0;z-index:850;background:rgba(2,5,8,.28);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .45s var(--ease)}
body.menu-open #sideShade{opacity:1;pointer-events:auto}
#side{will-change:transform;box-shadow:none}
body.menu-open #side{box-shadow:24px 0 80px rgba(0,0,0,.36)}
.nav-btn,.more,.back,.tool-action,.tool-copy,.comment-submit,.admin-btn,.view-dot,.carousel-arrow{will-change:transform,background,box-shadow}
.nav-btn:active,.more:active,.back:active,.tool-action:active,.tool-copy:active,.comment-submit:active,.carousel-arrow:active{transform:translateY(1px) scale(.985)}
.section.revealable{transition:opacity .8s var(--ease),transform .8s var(--ease)}
.section.revealable:hover .section-title{transform:translateX(2px);transition:transform .55s var(--ease)}
.tool-carousel-wrap{padding-left:56px;padding-right:56px}
.tool-carousel{scroll-behavior:smooth;overscroll-behavior-x:contain;padding-left:2px;padding-right:2px}
.tool-tile{isolation:isolate}
.tool-tile:after{content:"";position:absolute;inset:-30%;z-index:0;pointer-events:none;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.13) 48%,transparent 58%);transform:translateX(-70%) rotate(4deg);transition:transform 1.1s var(--ease)}
.tool-tile:hover:after{transform:translateX(70%) rotate(4deg)}
.tool-tile h3,.tool-tile .card-stats,.tool-tile .card-engagement{z-index:3}
.carousel-arrow{position:absolute;top:50%;z-index:12;width:42px;height:42px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(10,14,19,.46);backdrop-filter:blur(16px);box-shadow:0 12px 30px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.2);display:grid;place-items:center;color:#fff;font-size:24px;transform:translateY(-50%);transition:.35s var(--ease)}
.carousel-arrow:hover{background:rgba(255,255,255,.14);transform:translateY(-50%) scale(1.08)}
.carousel-arrow.left{left:8px}.carousel-arrow.right{right:8px}
.engagement{gap:2px;padding:5px 7px}
.engagement button{font-size:11px;min-width:28px}
.engagement .engagement-views{padding:2px 6px;color:rgba(255,255,255,.56);font-size:10px;border-left:1px solid rgba(255,255,255,.12);margin-left:2px;white-space:nowrap}
.stats-meta{display:flex;align-items:center;gap:10px;position:absolute;right:12px;bottom:12px;z-index:21}
.stats-meta .card-stats{position:static;font-size:10px}
.stats-meta .card-engagement{position:static}
.card-engagement{right:12px;bottom:10px}
.card-stats{display:none}
.full-photo-stage .stats-meta{left:50%;right:auto;bottom:24px;transform:translateX(-50%)}
.full-photo-stage .full-photo-caption{bottom:76px}
.site-comments-head .site-comment-actions{display:flex;align-items:center;gap:8px}
.comment-modal-box{max-width:720px}
.comment-modal-meta{color:var(--muted);font-size:12px;margin-top:5px}
select{color-scheme:dark}
.utility-stage select option,.field select option{background:#151a20;color:#f5f7fa}
.draw-select{position:relative;min-width:270px}
.draw-select select{margin:0!important;background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.035));border-color:rgba(255,255,255,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 8px 22px rgba(0,0,0,.12)}
/* Original geometric oracle artwork: deliberately abstract, not a borrowed deck. */
.oracle-face{background:#10161d}
.oracle-back{background:
 radial-gradient(circle at 50% 50%,rgba(255,255,255,.13) 0 1px,transparent 2px),
 repeating-conic-gradient(from 45deg,rgba(184,217,255,.13) 0 8deg,transparent 8deg 22deg),
 linear-gradient(135deg,#253444,#0a1017)!important}
.oracle-back:before{content:"";position:absolute;inset:11%;border:1px solid rgba(214,232,255,.38);transform:rotate(45deg);border-radius:8px;box-shadow:inset 0 0 0 7px rgba(255,255,255,.025),0 0 35px rgba(150,200,255,.08)}
.oracle-back:after{inset:24%!important;border:1px solid rgba(214,232,255,.24)!important;transform:rotate(45deg) scale(.8)!important;border-radius:50%!important;box-shadow:0 0 0 7px rgba(255,255,255,.025),0 0 0 15px rgba(255,255,255,.018)}
.oracle-front{background:linear-gradient(145deg,#263542,#0d141b)!important}
.oracle-art{width:82px;height:96px;position:relative;margin-bottom:8px;border-radius:42% 42% 46% 46%;overflow:hidden;border:1px solid rgba(235,244,255,.3);background:radial-gradient(circle at 50% 36%,rgba(255,255,255,.2),transparent 24%),linear-gradient(160deg,rgba(190,220,255,.18),rgba(255,255,255,.025));box-shadow:inset 0 0 28px rgba(150,200,255,.07),0 8px 22px rgba(0,0,0,.2)}
.oracle-art:before{content:"";position:absolute;width:34px;height:34px;left:24px;top:12px;border:1px solid rgba(230,241,255,.48);border-radius:50%;box-shadow:0 0 0 8px rgba(255,255,255,.035),0 0 0 17px rgba(255,255,255,.02)}
.oracle-art:after{content:"";position:absolute;left:12px;right:12px;bottom:13px;height:28px;border-top:1px solid rgba(230,241,255,.36);border-radius:50% 50% 0 0;box-shadow:0 -9px 0 -8px rgba(230,241,255,.3),0 8px 0 -7px rgba(230,241,255,.22)}
.oracle-art.tone-1{filter:hue-rotate(15deg)}.oracle-art.tone-2{filter:hue-rotate(42deg)}.oracle-art.tone-3{filter:hue-rotate(75deg)}.oracle-art.tone-4{filter:hue-rotate(120deg)}.oracle-art.tone-5{filter:hue-rotate(165deg)}.oracle-art.tone-6{filter:hue-rotate(210deg)}.oracle-art.tone-7{filter:hue-rotate(260deg)}.oracle-art.tone-8{filter:hue-rotate(310deg)}
.oracle-number{position:absolute;top:7px;left:9px;font-size:9px;color:rgba(255,255,255,.45);letter-spacing:.12em}
.oracle-mini-lines{position:absolute;left:16px;right:16px;bottom:18px;height:1px;background:rgba(255,255,255,.24);box-shadow:0 -6px 0 rgba(255,255,255,.1),0 6px 0 rgba(255,255,255,.08)}
@media(max-width:760px){.tool-carousel-wrap{padding-left:46px;padding-right:46px}.carousel-arrow{width:38px;height:38px}.draw-select{min-width:0;flex:1}.full-photo-stage .stats-meta{bottom:12px}.full-photo-stage .full-photo-caption{bottom:62px}}

@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}


/* V1.1 layout / motion refinement */
.section-view-switch{position:fixed;right:76px;top:50%;transform:translateY(-50%);z-index:90;display:grid;gap:10px;padding:10px 7px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(8,12,17,.34);backdrop-filter:blur(20px) saturate(130%);box-shadow:0 18px 40px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.18)}
.section-dot{width:11px;height:11px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.16);transition:transform .28s cubic-bezier(.16,1,.3,1),background .28s,box-shadow .28s}.section-dot:hover,.section-dot.active{transform:scale(1.35);background:#fff;box-shadow:0 0 16px rgba(255,255,255,.35)}
.section-view{display:none}.section-view.active{display:block;}.gallery-toolbar{right:76px;top:50%;position:fixed;transform:translateY(-50%)}
.reader-nav .arrow,.carousel-arrow{will-change:transform,opacity;backface-visibility:hidden}.arrow{position:fixed!important;top:50%!important}.back{position:fixed;left:clamp(24px,5vw,78px);top:112px;z-index:85;margin:0!important;background:rgba(8,12,17,.28);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(16px);box-shadow:0 12px 30px rgba(0,0,0,.18);padding:9px 14px}
.timeline{max-width:1120px}.timeline-year{margin-bottom:54px}.timeline-month{margin:0 0 25px}.timeline-month-title{font-size:13px;letter-spacing:.12em;color:rgba(255,255,255,.46);margin:0 0 10px 0}.timeline-date{margin-bottom:20px}.timeline-date h3{font-size:14px}.timeline-photo{flex-basis:min(340px,60vw)}
.tool-tiles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.tool-tiles-grid .tool-tile{flex-basis:auto;width:auto}.tool-list{display:grid;gap:10px}.tool-list-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 20px;min-height:76px;cursor:pointer;transition:transform .25s cubic-bezier(.16,1,.3,1),background .25s}.tool-list-row:hover{transform:translateX(5px);background:rgba(255,255,255,.09)}.tool-list-row h3{margin:0;font-size:17px}.tool-list-row p{margin:5px 0 0;color:var(--muted);font-size:12px}.download-list-view{margin-top:24px}.download-item{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 17px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(255,255,255,.035);color:#fff;text-decoration:none;transition:.25s cubic-bezier(.16,1,.3,1)}.download-item:hover{transform:translateX(4px);background:rgba(255,255,255,.08)}
.article-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.article-type-group{padding:18px}.article-type-group h3{margin:0 0 12px}.article-mini{padding:14px 0;border-top:1px solid rgba(255,255,255,.09);cursor:pointer}.article-mini:first-of-type{border-top:0}.article-mini time{font-size:11px;color:var(--muted)}.article-timeline{max-width:1000px;margin:auto}.article-year{position:relative;padding-left:120px;margin-bottom:40px}.article-year>strong{position:absolute;left:0;top:0;font-size:28px}.article-timeline-item{padding:16px 18px;margin:0 0 10px;cursor:pointer}.article-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.article-detail-card{padding:24px;min-height:210px;cursor:pointer}.article-detail-card h3{font-size:24px;margin:20px 0 10px}.article-detail-card p{color:var(--muted);line-height:1.75}
.full-photo-stage{height:calc(100vh - 135px);min-height:480px}.gallery-full-mode{min-height:calc(100vh - 135px)}
.draw-stage{min-height:420px}.draw-cards{min-height:330px;align-content:center}.oracle-card{max-width:190px}.oracle-card-wrap{min-width:0}.oracle-symbol{width:76px;height:76px}.oracle-card .oracle-face{font-size:1.05em}
.tool-viewer-panel{scrollbar-gutter:stable;overscroll-behavior:contain}.tool-viewer-panel .draw-stage{padding-bottom:35px}
@media(max-width:900px){.section-view-switch{right:22px}.gallery-toolbar{right:22px}.tool-tiles-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-year{padding-left:90px}}
@media(max-width:600px){.section-view-switch,.gallery-toolbar{right:14px}.tool-tiles-grid{grid-template-columns:1fr}.back{left:18px;top:92px}.page{padding-top:150px}.full-photo-stage{height:calc(100vh - 170px)}.oracle-card{max-width:155px}}.tool-tile,.glass,.arrow,.carousel-arrow,.section-dot,.view-dot{backface-visibility:hidden}
.tool-tile{will-change:transform}.oracle-card-inner{will-change:transform}.full-photo-stage img{will-change:transform,opacity}
.draw-cards.spread-3{grid-template-columns:repeat(3,minmax(145px,1fr));max-width:760px}.draw-cards.spread-5{grid-template-columns:repeat(3,minmax(130px,1fr));grid-template-rows:repeat(3,minmax(175px,1fr));max-width:760px}.draw-cards.spread-9{grid-template-columns:repeat(3,minmax(135px,1fr));max-width:760px}.oracle-card{max-width:190px}.oracle-art{width:104px;height:122px}
.oracle-back{background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.16) 0 2px,transparent 3px),repeating-radial-gradient(circle at 50% 50%,transparent 0 12px,rgba(255,255,255,.08) 13px 14px),linear-gradient(135deg,#293744,#0b1117)}.oracle-back:before{content:"";position:absolute;inset:17%;border:1px solid rgba(255,255,255,.26);transform:rotate(45deg);border-radius:8px;box-shadow:0 0 0 10px rgba(255,255,255,.025),inset 0 0 20px rgba(170,210,255,.08)}.oracle-back:after{inset:26%;transform:rotate(0);border-radius:50%;border-color:rgba(255,255,255,.22)}
.oracle-art.tone-1{background:radial-gradient(circle at 50% 38%,rgba(255,255,255,.24),transparent 25%),linear-gradient(160deg,rgba(150,200,255,.22),rgba(255,255,255,.035))}.oracle-art.tone-2{background:radial-gradient(circle at 50% 38%,rgba(255,220,170,.24),transparent 25%),linear-gradient(160deg,rgba(255,190,120,.18),rgba(255,255,255,.035))}.oracle-art.tone-3{background:radial-gradient(circle at 50% 38%,rgba(190,255,220,.22),transparent 25%),linear-gradient(160deg,rgba(110,220,170,.16),rgba(255,255,255,.035))}.oracle-art.tone-4{background:radial-gradient(circle at 50% 38%,rgba(220,190,255,.24),transparent 25%),linear-gradient(160deg,rgba(180,130,255,.18),rgba(255,255,255,.035))}.oracle-art.tone-5{background:radial-gradient(circle at 50% 38%,rgba(255,225,150,.24),transparent 25%),linear-gradient(160deg,rgba(235,185,90,.17),rgba(255,255,255,.035))}.oracle-art.tone-6{background:radial-gradient(circle at 50% 38%,rgba(180,230,255,.23),transparent 25%),linear-gradient(160deg,rgba(100,180,235,.17),rgba(255,255,255,.035))}.oracle-art.tone-7{background:radial-gradient(circle at 50% 38%,rgba(255,190,200,.23),transparent 25%),linear-gradient(160deg,rgba(225,110,140,.16),rgba(255,255,255,.035))}.oracle-art.tone-8{background:radial-gradient(circle at 50% 38%,rgba(205,205,255,.23),transparent 25%),linear-gradient(160deg,rgba(135,135,235,.17),rgba(255,255,255,.035))}
@media(max-width:900px){.draw-cards.spread-3{grid-template-columns:repeat(3,minmax(110px,1fr))}.draw-cards.spread-5{grid-template-columns:repeat(3,minmax(105px,1fr));grid-template-rows:repeat(3,minmax(145px,1fr))}.draw-cards.spread-9{grid-template-columns:repeat(3,minmax(105px,1fr))}.oracle-card{max-width:155px}.oracle-art{width:88px;height:105px}}
@media(prefers-reduced-motion:reduce){.tool-tile,.arrow,.carousel-arrow{transition:none!important}}

/* V1.2 unified floating layer / clarity / performance correction */
:root{--float-z:1001;--overlay-z:940}

/* Pages must be crisp after entering: the old base filter was left on by the animation override. */
.page{filter:none!important;transform:none;will-change:auto}
/* One consistent floating control plane, independent of page scroll. */
.back,.gallery-toolbar,.section-view-switch,.reader-nav,.carousel-arrow{z-index:var(--float-z)!important}
.back{position:fixed!important;left:clamp(82px,5vw,96px)!important;top:24px!important;margin:0!important}
.page{padding-top:150px!important}
.gallery-toolbar,.section-view-switch{top:50%!important;transform:translateY(-50%)!important}
.reader-nav{position:fixed!important;inset:0!important;pointer-events:none!important}
.reader-nav .arrow{position:fixed!important;top:50%!important}

/* Full-photo mode is a real viewport overlay, not a tall page that requires scrolling. */
.gallery-full-mode.active{position:fixed!important;inset:0!important;z-index:var(--overlay-z)!important;min-height:100vh!important;height:100vh!important;padding:0!important;background:rgba(3,6,9,.94)}
.gallery-full-mode.active .full-photo-stage{height:100vh!important;min-height:0!important;width:100vw!important}
.gallery-full-mode.active .full-photo-stage img{max-width:100vw;max-height:100vh;width:100%;height:100%;object-fit:contain;background:transparent}

/* Photographs keep their native proportions. Empty space is intentional; no stretch or crop. */
.photo-card img,.timeline-photo img,.year-card img{width:100%;height:100%;object-fit:contain!important;background:#080b0f}
.photo-card,.timeline-photo,.year-card{background:#080b0f}
.full-photo-stage img{will-change:opacity,transform;filter:none!important}
.tool-viewer-backdrop{backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important}
.tool-viewer-panel{backdrop-filter:blur(14px) saturate(120%)!important;-webkit-backdrop-filter:blur(14px) saturate(120%)!important;}
/* Five-card cross: large cards, generous spacing, centered around the core. */
.draw-cards.spread-5{grid-template-columns:repeat(3,190px)!important;grid-template-rows:repeat(3,285px)!important;gap:0!important;max-width:630px!important;min-height:855px!important;align-items:center!important;justify-items:center!important;margin:0 auto!important}
.draw-cards.spread-5 .oracle-card-wrap:nth-child(1){grid-column:2!important;grid-row:2!important}
.draw-cards.spread-5 .oracle-card-wrap:nth-child(2){grid-column:2!important;grid-row:1!important}
.draw-cards.spread-5 .oracle-card-wrap:nth-child(3){grid-column:2!important;grid-row:3!important}
.draw-cards.spread-5 .oracle-card-wrap:nth-child(4){grid-column:1!important;grid-row:2!important}
.draw-cards.spread-5 .oracle-card-wrap:nth-child(5){grid-column:3!important;grid-row:2!important}
.draw-cards.spread-5 .oracle-card{width:190px!important;max-width:190px!important}
.draw-cards.spread-3 .oracle-card,.draw-cards.spread-9 .oracle-card{width:175px;max-width:175px}
.draw-cards.spread-9{grid-template-columns:repeat(3,175px)!important;max-width:560px!important;justify-content:center!important}
.draw-cards.spread-3{grid-template-columns:repeat(3,175px)!important;max-width:560px!important;justify-content:center!important}

@media(max-width:900px){
 .back{left:76px!important}
 .draw-cards.spread-5{grid-template-columns:repeat(3,150px)!important;grid-template-rows:repeat(3,235px)!important;min-height:705px!important}
 .draw-cards.spread-5 .oracle-card{width:145px!important;max-width:145px!important}
 .draw-cards.spread-3{grid-template-columns:repeat(3,130px)!important}.draw-cards.spread-3 .oracle-card{width:130px;max-width:130px}
 .draw-cards.spread-9{grid-template-columns:repeat(3,125px)!important}.draw-cards.spread-9 .oracle-card{width:125px;max-width:125px}
}
@media(max-width:600px){
 .back{left:72px!important;top:22px!important}
 .page{padding-top:112px!important}
 .draw-cards.spread-5{grid-template-columns:repeat(3,105px)!important;grid-template-rows:repeat(3,175px)!important;min-height:525px!important}
 .draw-cards.spread-5 .oracle-card{width:100px!important;max-width:100px!important}
 .draw-cards.spread-3{grid-template-columns:repeat(3,95px)!important}.draw-cards.spread-3 .oracle-card{width:95px;max-width:95px}
 .draw-cards.spread-9{grid-template-columns:repeat(3,92px)!important}.draw-cards.spread-9 .oracle-card{width:92px;max-width:92px}
}


/* V1.2 final visual language */
.glass,.tool-tile,.photo-card,.year-card,.article-type-card,.article-detail-card,.article-timeline-item{
  transition:transform .32s cubic-bezier(.16,1,.3,1),border-color .32s ease,box-shadow .32s ease,background .32s ease;
}
.glass:hover,.tool-tile:hover,.photo-card:hover,.year-card:hover,.article-type-card:hover,.article-detail-card:hover,.article-timeline-item:hover{
  transform:translate3d(0,-3px,0);
  border-color:rgba(255,255,255,.25);
  box-shadow:0 24px 60px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.28);
}
.tool-tile:after,.photo-card:after,.year-card:after{
  content:"";position:absolute;inset:-30%;pointer-events:none;
  background:linear-gradient(110deg,transparent 42%,rgba(255,255,255,.10) 49%,transparent 56%);
  transform:translate3d(-70%,0,0);transition:transform .9s cubic-bezier(.16,1,.3,1);
}
.tool-tile:hover:after,.photo-card:hover:after,.year-card:hover:after{transform:translate3d(70%,0,0)}

/* Fixed floating controls get the same glass language as the hamburger button. */
.back,.gallery-toolbar,.section-view-switch,.arrow,.carousel-arrow{
  background:rgba(12,17,23,.58)!important;
  border-color:rgba(255,255,255,.18)!important;
  box-shadow:0 14px 38px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.16);
  -webkit-backdrop-filter:blur(12px) saturate(120%)!important;
  backdrop-filter:blur(12px) saturate(120%)!important;
}
.back:hover,.arrow:hover,.carousel-arrow:hover{background:rgba(255,255,255,.12)!important}

/* Explicit card dimensions prevent the five-card spread from collapsing visually. */
.draw-cards.spread-5 .oracle-card{width:190px!important;height:285px!important;max-width:none!important;aspect-ratio:auto!important}
.draw-cards.spread-3 .oracle-card,.draw-cards.spread-9 .oracle-card{width:175px!important;height:262px!important;max-width:none!important;aspect-ratio:auto!important}
@media(max-width:900px){
 .draw-cards.spread-5 .oracle-card{width:145px!important;height:218px!important}
 .draw-cards.spread-3 .oracle-card,.draw-cards.spread-9 .oracle-card{width:125px!important;height:188px!important}
}
@media(max-width:600px){
 .draw-cards.spread-5 .oracle-card{width:100px!important;height:150px!important}
 .draw-cards.spread-3 .oracle-card,.draw-cards.spread-9 .oracle-card{width:92px!important;height:138px!important}
}

/* Static ambient depth instead of expensive continuously animated blur. */
body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(circle at 15% 18%,rgba(155,190,220,.055),transparent 30%),radial-gradient(circle at 84% 78%,rgba(110,145,190,.045),transparent 34%)}
@media(prefers-reduced-motion:reduce){.tool-tile:after,.photo-card:after,.year-card:after{display:none}.glass:hover,.tool-tile:hover,.photo-card:hover,.year-card:hover,.article-type-card:hover,.article-detail-card:hover,.article-timeline-item:hover{transform:none}}


/* MyBlogV0.39 repair layer: correct 9-card Lenormand spatial mapping. */
.draw-cards.spread-9 .oracle-card-wrap:nth-child(1){grid-column:2!important;grid-row:2!important}
.draw-cards.spread-9 .oracle-card-wrap:nth-child(2){grid-column:2!important;grid-row:1!important}
.draw-cards.spread-9 .oracle-card-wrap:nth-child(3){grid-column:2!important;grid-row:3!important}
.draw-cards.spread-9 .oracle-card-wrap:nth-child(4){grid-column:1!important;grid-row:2!important}
.draw-cards.spread-9 .oracle-card-wrap:nth-child(5){grid-column:3!important;grid-row:2!important}
.draw-cards.spread-9 .oracle-card-wrap:nth-child(6){grid-column:1!important;grid-row:1!important}
.draw-cards.spread-9 .oracle-card-wrap:nth-child(7){grid-column:3!important;grid-row:1!important}
.draw-cards.spread-9 .oracle-card-wrap:nth-child(8){grid-column:1!important;grid-row:3!important}
.draw-cards.spread-9 .oracle-card-wrap:nth-child(9){grid-column:3!important;grid-row:3!important}
/* Compact countdown controls and maintain a clear primary/secondary hierarchy. */
#toolViewer .countdown-controls{display:grid!important;grid-template-columns:minmax(78px,100px) minmax(78px,100px) auto!important;align-items:end!important;gap:12px!important}
#toolViewer .timer-field{flex:initial!important;min-width:0!important}
#toolViewer .timer-field input{width:100%!important;min-height:40px!important;height:40px!important;padding:0 10px!important;text-align:center!important;font-size:16px!important}
#toolViewer .countdown-actions{display:flex!important;flex-wrap:wrap;gap:8px!important}
#toolViewer .countdown-actions .tool-action{min-height:40px!important;padding:0 13px!important}
#toolViewer .countdown-actions .timer-primary{background:linear-gradient(135deg,rgba(166,205,249,.95),rgba(112,163,222,.95))!important;color:#101b28!important;border-color:rgba(210,232,255,.45)!important}
@media(max-width:650px){#toolViewer .countdown-controls{grid-template-columns:1fr 1fr!important}#toolViewer .countdown-actions{grid-column:1/-1;width:100%}#toolViewer .countdown-actions .tool-action{flex:1}}
/* Clearer non-nested card treatment: keep one outer card frame. */
.oracle-card{border:1px solid rgba(223,231,239,.28);box-shadow:0 12px 25px rgba(0,0,0,.24)!important}
.oracle-art:before{border-radius:50%;box-shadow:0 0 0 8px rgba(225,236,247,.02)!important}
/* Explicit deployment and security caveats: this remains a client-side prototype. */

.privacy-toggle{display:flex;align-items:center;gap:9px;margin:0 0 14px;color:var(--muted);font-size:13px}.privacy-toggle input{width:auto!important;accent-color:#a6cdf8}

/* ===== Extracted style block %02d ===== */
/* block 2 */
/* V1.3 — floating controls, non-cropping previews, robust tool-card layout */

/* Fixed controls must never inherit a transformed page containing block. */
.page.active{
  
  
  filter:none!important;
}
/* One true floating control plane. */
.back,
.gallery-toolbar,
.section-view-switch,
.reader-nav,
.carousel-arrow{
  position:fixed!important;
  z-index:1001!important;
}

/* Return controls sit beside the global hamburger button. */
.back{
  left:96px!important;
  top:24px!important;
  margin:0!important;
  min-height:52px;
  padding:0 18px!important;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:28px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.045))!important;
  box-shadow:0 14px 32px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.20)!important;
  backdrop-filter:blur(18px) saturate(125%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(125%)!important;
  color:#fff!important;
}
.back:hover{
  background:linear-gradient(135deg,rgba(255,255,255,.20),rgba(255,255,255,.07))!important;
  transform:translateY(-1px)!important;
}

/* The three-dot selectors share the same floating layer and visual language. */
.gallery-toolbar,
.section-view-switch{
  right:24px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  padding:9px 7px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.035))!important;
  box-shadow:0 18px 38px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.18)!important;
  backdrop-filter:blur(18px) saturate(125%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(125%)!important;
}

/* Arrows are also part of the same fixed interaction plane. */
.reader-nav{
  inset:0!important;
  pointer-events:none!important;
}
.reader-nav .arrow,
.carousel-arrow{
  pointer-events:auto!important;
  background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.035))!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:0 16px 36px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.18)!important;
  backdrop-filter:blur(18px) saturate(125%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(125%)!important;
}

/* Tool tiles: title and description are stacked, never side-by-side. */
.tool-tile{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-end!important;
  gap:8px!important;
  min-height:250px!important;
  padding:26px!important;
}
.tool-tile h3{
  position:relative!important;
  margin:0!important;
  max-width:calc(100% - 8px);
  line-height:1.15!important;
  overflow-wrap:anywhere;
}
.tool-tile .tool-tile-desc{
  position:relative!important;
  margin:0!important;
  max-width:92%!important;
  color:rgba(245,247,250,.70)!important;
  font-size:13px!important;
  line-height:1.65!important;
  overflow-wrap:anywhere;
  padding-bottom:34px;
}
.tool-tile .card-engagement{
  right:12px!important;
  bottom:11px!important;
}

/* Photo previews: preserve the complete original image in every view.
   The card itself follows the image's natural aspect ratio instead of forcing 16:9. */
.photo-card,
.timeline-photo,
.year-card{
  aspect-ratio:auto!important;
  height:auto!important;
  overflow:hidden!important;
  background:#080b0f!important;
}
.photo-card img,
.timeline-photo img,
.year-card img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#080b0f!important;
  transform:none!important;
}
.photo-card:hover img,
.timeline-photo:hover img,
.year-card:hover img{
  transform:none!important;
  filter:saturate(1.05)!important;
}

/* Keep captions on the actual image area. */
.photo-card .photo-caption,
.timeline-photo .photo-caption{
  bottom:10px!important;
}

/* Year cards should still feel like cards without cropping their cover image. */
.gallery-years-grid{
  align-items:start;
}
.year-card{
  position:relative;
}

/* Timeline thumbnails use a natural-height column, so portrait photos remain portrait. */
.timeline-photos{
  align-items:flex-start!important;
}
.timeline-photo{
  flex:0 0 min(340px,60vw)!important;
}

/* Home photo track follows the same rule. */
.track .photo-card{
  flex:0 0 min(430px,72vw)!important;
}

/* Remove any remaining blur from gallery/view transitions. */
.gallery-mode.active,
.section-view.active{
  
  filter:none!important;
}
/* Avoid expensive animated filters on tool viewer. */
.tool-viewer-panel{
  filter:none!important;
  
}
/* Responsive floating controls. */
@media(max-width:760px){
  .back{
    left:76px!important;
    top:18px!important;
    min-height:46px;
    padding:0 14px!important;
  }
  .gallery-toolbar,
  .section-view-switch{
    right:14px!important;
  }
}

/* ===== Extracted style block %02d ===== */
/* block 3 */
/* V1.4 — unified floating controls + direct detail/use semantics */

/* The hamburger, return, dots and arrows share one glass control language. */
:root{--ui-z:1100;--ui-glass:rgba(20,25,31,.52);--ui-border:rgba(255,255,255,.20)}
#menuBtn,.back,.gallery-toolbar,.section-view-switch,.reader-nav,.carousel-arrow{
  z-index:var(--ui-z)!important;
}
#menuBtn{
  background:var(--ui-glass)!important;
  border:1px solid var(--ui-border)!important;
  box-shadow:0 12px 35px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.16)!important;
  backdrop-filter:blur(18px) saturate(120%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(120%)!important;
}
.back{
  left:86px!important;
  top:22px!important;
  width:52px!important;
  height:52px!important;
  min-height:52px!important;
  padding:0!important;
  border-radius:12px!important;
  background:var(--ui-glass)!important;
  border:1px solid var(--ui-border)!important;
  box-shadow:0 12px 35px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.16)!important;
  backdrop-filter:blur(18px) saturate(120%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(120%)!important;
  color:#fff!important;
  font-size:0!important;
}
.back::first-letter{font-size:0}
.back::after{
  content:"←";
  font-size:25px;
  line-height:1;
}
.back[data-page="articles"]::after{content:"←"}
.back:hover,#menuBtn:hover{
  transform:translateY(-2px)!important;
  background:rgba(255,255,255,.14)!important;
}

/* Put floating dots safely inside the same right-side control rail,
   while arrows occupy the outermost edge. */
.gallery-toolbar,.section-view-switch{
  right:82px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:var(--ui-z)!important;
}
.reader-nav{
  position:fixed!important;
  inset:0!important;
  pointer-events:none!important;
  z-index:var(--ui-z)!important;
}
.reader-nav .arrow,.carousel-arrow{
  z-index:var(--ui-z)!important;
  pointer-events:auto!important;
}
.reader-nav .arrow.right,.carousel-arrow.right{right:14px!important}
.reader-nav .arrow.left,.carousel-arrow.left{left:14px!important}

/* Oracle controls get their own row and breathing room. */
.utility-stage .utility-actions:first-child{
  position:relative;
  z-index:5;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin-bottom:26px!important;
}
.utility-stage .draw-stage{
  position:relative;
  z-index:1;
  margin-top:0!important;
  padding-top:10px!important;
  min-height:380px!important;
}
.utility-stage .draw-deck{flex:0 0 auto}
.utility-stage .draw-status{margin-top:4px}

/* Keep the viewer itself above the page, but never cover its own controls. */
#toolViewer{z-index:1200!important}
.tool-viewer-panel{position:relative!important;z-index:1201!important}
.tool-viewer-close{z-index:10!important}
.tool-viewer-head{position:relative;z-index:6}

/* Direct-use/detail semantics:
   first two views are navigation; the third is the concrete content view.
   Clicking a card from the first two jumps to the third view and opens it. */
.article-type-card,.article-timeline-item,.tool-tile,.tool-list-row{
  cursor:pointer;
}
.section-view-switch .section-dot,
.gallery-toolbar .view-dot{
  position:relative;
}

/* Make the active third view feel like the "content" state. */
#articleDetailView.active,
#toolCarouselView.active{
  min-height:120px;
}

/* The carousel is the concrete/use state for tools. */
#toolCarouselView .tool-tile{
  cursor:pointer;
}

/* Keep direct-use overlay responsive. */
@media(max-width:760px){
  .back{left:80px!important;top:18px!important}
  .gallery-toolbar,.section-view-switch{right:66px!important}
  .reader-nav .arrow.right,.carousel-arrow.right{right:8px!important}
  .reader-nav .arrow.left,.carousel-arrow.left{left:8px!important}
  .utility-stage .draw-stage{min-height:340px!important}
}

/* ===== Extracted style block %02d ===== */
/* block 4 */
/* Unified control language */
#menuBtn,.back,.section-view-switch,.gallery-toolbar,.reader-nav .arrow,.carousel-arrow,
.tool-viewer-close,.tool-action,.comment-submit,.more{
  font-family:inherit;
}
.back{
  width:52px!important;height:52px!important;min-height:52px!important;
  padding:0!important;border-radius:14px!important;
  font-size:0!important;left:92px!important;top:18px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.105),rgba(255,255,255,.035))!important;
  border:1px solid rgba(255,255,255,.17)!important;
  box-shadow:0 12px 32px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.17)!important;
  color:#fff!important;
}
.back::after{content:"←"!important;font-size:28px!important;line-height:1!important}
.back:hover{transform:translateY(-1px)!important;background:rgba(255,255,255,.15)!important}
#menuBtn{
  width:64px!important;height:64px!important;border-radius:16px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,.025))!important;
  border:1px solid rgba(255,255,255,.17)!important;
  box-shadow:0 12px 32px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.17)!important;
}
.hero-meta{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important}
.hero-search{
  display:flex;align-items:center;height:42px;min-width:min(340px,55vw);
  border:1px solid rgba(255,255,255,.16);border-radius:999px;
  background:rgba(10,14,19,.34);backdrop-filter:blur(18px) saturate(125%);
  box-shadow:0 10px 28px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.13);
  overflow:hidden;
}
.hero-search input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;color:#fff;padding:0 15px;font:inherit}
.hero-search input::placeholder{color:rgba(255,255,255,.52)}
.hero-search button{width:42px;height:100%;border:0;border-left:1px solid rgba(255,255,255,.1);background:transparent;color:#fff;font-size:21px;cursor:pointer}
.hero-search:focus-within{border-color:rgba(210,232,255,.4);box-shadow:0 14px 32px rgba(0,0,0,.22),0 0 0 3px rgba(190,220,255,.06)}
.tool-tiles-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}
.tool-tile h3{font-size:clamp(22px,2.2vw,30px)!important}
.tool-tile-desc{min-height:44px}
.utility-stage{scrollbar-width:thin}
.network-readout,.clock-readout{
  padding:24px;border:1px solid rgba(255,255,255,.12);border-radius:16px;
  background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1);
}
.clock-digital{font-size:clamp(42px,8vw,82px);letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.timer-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.timer-row input{width:110px}
.quote-admin textarea{min-height:150px}
@media(max-width:760px){
  .back{left:76px!important;top:14px!important}
  #menuBtn{width:58px!important;height:58px!important}
  .hero-search{min-width:100%;order:3}
}

/* ===== Extracted style block %02d ===== */
/* block 5 */
/* =========================================================
   V1.13 — Unified Navigation / View-State System
   One floating control layer owns all non-home navigation.
   ========================================================= */
:root{--vg-nav-z:12000}

/* Existing controls are legacy presentation only. */
body.vg-unified-controls .back,
body.vg-unified-controls .section-view-switch,
body.vg-unified-controls .gallery-toolbar,
body.vg-unified-controls .reader-nav,
body.vg-unified-controls .tool-viewer-close,
body.vg-unified-controls .tool-viewer-nav,
body.vg-unified-controls .tool-detail-switch,
body.vg-unified-controls .tool-carousel-wrap>.carousel-arrow{
  display:none!important;
}

/* The hamburger is the single permanent navigation entry point. */
#menuBtn{
  position:fixed!important;
  left:22px!important;top:22px!important;
  z-index:12010!important;
  width:64px!important;height:64px!important;
  min-width:64px!important;min-height:64px!important;
  display:grid!important;place-items:center!important;
  box-sizing:border-box!important;
  margin:0!important;
}

/* One floating navigation layer for every section/detail state. */
#vgGlobalNav{
  position:fixed;
  inset:0;
  z-index:12000;
  pointer-events:none;
}
#vgGlobalNav .vg-back,
#vgGlobalNav .vg-arrow,
#vgGlobalNav .vg-dot-rail{
  pointer-events:auto;
}
.vg-back{
  position:fixed;
  left:98px;top:22px;
  width:64px;height:64px;
  min-width:64px;min-height:64px;
  padding:0;margin:0;
  display:grid;
  place-items:center;
  box-sizing:border-box;
  border:1px solid rgba(255,255,255,.16);
  border-radius:16px;
  background:rgba(20,27,36,.60);
  color:#f5f7fa;
  box-shadow:0 12px 30px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.12);
  backdrop-filter:blur(18px) saturate(130%);
  -webkit-backdrop-filter:blur(18px) saturate(130%);
  cursor:pointer;
  font-size:0;
  transition:transform .18s ease,background .18s ease,border-color .18s ease;
}
.vg-back::before{
  content:"←";
  display:block;
  width:30px;height:30px;
  font-size:30px;line-height:30px;
  text-align:center;
  transform:translateY(-1px);
}
.vg-back:hover{transform:translateY(-2px);background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28)}
.vg-dot-rail{
  position:fixed;
  right:96px;top:50%;
  transform:translateY(-50%);
  display:grid;
  gap:10px;
  padding:10px 7px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(8,12,17,.50);
  box-shadow:0 18px 42px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.16);
  backdrop-filter:blur(18px) saturate(135%);
  -webkit-backdrop-filter:blur(18px) saturate(135%);
}
.vg-dot{
  width:11px;height:11px;
  padding:0;margin:0;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.45);
  background:rgba(255,255,255,.10);
  cursor:pointer;
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease;
}
.vg-dot:hover{transform:scale(1.12)}
.vg-dot.active{
  background:#fff;
  box-shadow:0 0 0 4px rgba(255,255,255,.08),0 0 18px rgba(255,255,255,.18);
}
.vg-arrow{
  position:fixed;
  top:50%;
  width:58px;height:58px;
  min-width:58px;min-height:58px;
  padding:0;margin:0;
  transform:translateY(-50%);
  display:grid;place-items:center;
  box-sizing:border-box;
  border:1px solid rgba(255,255,255,.16);
  border-radius:17px;
  background:rgba(15,21,28,.52);
  color:#fff;
  box-shadow:0 16px 38px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.10);
  backdrop-filter:blur(18px) saturate(135%);
  -webkit-backdrop-filter:blur(18px) saturate(135%);
  cursor:pointer;
  font-size:40px;line-height:1;
  transition:transform .18s ease,background .18s ease;
}
.vg-arrow:hover{transform:translateY(-50%) scale(1.05);background:rgba(255,255,255,.12)}
.vg-arrow.left{left:24px}
.vg-arrow.right{right:24px}
#vgGlobalNav[data-section="tools"] .vg-arrow.right{right:24px}
#vgGlobalNav[hidden]{display:none!important}
#vgGlobalNav .vg-arrow[hidden]{display:none!important}

/* Tool concrete state is a full page, never a modal card. */
#toolViewer{
  position:fixed!important;
  inset:0!important;
  z-index:8000!important;
  display:none!important;
  background:
    radial-gradient(circle at 50% 8%,rgba(255,255,255,.045),transparent 34%),
    linear-gradient(180deg,#0d141d,#080c12)!important;
}
#toolViewer.open{display:block!important}
#toolViewer .tool-viewer-backdrop{display:none!important}
#toolViewer .tool-viewer-panel{
  position:absolute!important;
  inset:0!important;
  width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;
  margin:0!important;
  padding:118px 0 90px!important;
  overflow:auto!important;
  border:0!important;border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
#toolViewer .tool-viewer-content{
  width:min(1180px,78vw)!important;
  max-width:none!important;
  margin:0 auto!important;
}
#toolViewer .tool-viewer-head{
  width:100%!important;
  margin:0 0 42px!important;
  padding:0!important;
}
#toolViewer #toolViewerBody{
  width:100%!important;
  margin:0!important;
}
#toolViewer .utility-stage{
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#toolViewer .clock-readout,
#toolViewer .network-readout,
#toolViewer .utility-copyline{
  width:100%;
  box-sizing:border-box;
}
#toolViewer #v20Sw,
#toolViewer #v20Cd,
#toolViewer #vgSw,
#toolViewer #vgCd{
  font-size:64px!important;
  line-height:1.05!important;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.025em;
  min-height:1.15em;
  display:flex;
  align-items:center;
}
#toolViewer .clock-digital{
  font-size:92px!important;
  line-height:1!important;
  font-variant-numeric:tabular-nums;
}
#toolViewer .timer-row{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}
#toolViewer .tool-action{min-height:54px}

/* Concrete file content follows the exact same page language. */
.vg-file-page{
  width:100%;
  padding:28px 0 80px;
}
.vg-file-card{
  width:100%;
  box-sizing:border-box;
  padding:34px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:rgba(255,255,255,.035);
  box-shadow:0 20px 60px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.08);
}
.vg-file-card h3{margin:0 0 12px;font-size:30px}
.vg-file-card p{color:var(--muted);line-height:1.8}
.vg-file-download{display:inline-flex;align-items:center;gap:10px;margin-top:20px;padding:14px 20px;border-radius:14px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;text-decoration:none}

/* Mobile geometry remains the same language. */
@media(max-width:760px){
  #menuBtn{left:14px!important;top:14px!important}
  .vg-back{left:86px;top:14px}
  .vg-dot-rail{right:76px}
  .vg-arrow.left{left:10px}
  .vg-arrow.right{right:10px}
  #toolViewer .tool-viewer-content{width:calc(100vw - 36px)!important}
  #toolViewer .clock-digital,#toolViewer .timer-display{font-size:58px!important}
  #toolViewer .phrase-result{font-size:clamp(24px,7vw,34px)!important;min-height:92px!important;padding:18px 16px!important}
}

/* ===== Extracted style block %02d ===== */
/* block 6 */
/* Concrete tools are pages, visually equivalent to the gallery's full-photo state. */
#toolViewer{
  position:fixed!important;
  inset:0!important;
  z-index:2500!important;
  display:none!important;
  align-items:stretch!important;
  justify-content:stretch!important;
  background:var(--bg,#0b1016)!important;
}
#toolViewer.open{display:block!important}
#toolViewer .tool-viewer-backdrop{display:none!important}
#toolViewer .tool-viewer-panel{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  max-width:none!important;
  max-height:none!important;
  height:100%!important;
  overflow:auto!important;
  margin:0!important;
  padding:110px clamp(24px,7vw,110px) 80px!important;
  border:0!important;
  border-radius:0!important;
  background:
    radial-gradient(circle at 50% 15%,rgba(255,255,255,.055),transparent 34%),
    linear-gradient(180deg,rgba(13,19,27,.98),rgba(8,12,17,.99))!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  
}
#toolViewer .tool-viewer-head{
  width:min(1180px,100%);
  margin:0 auto 34px!important;
  padding-right:90px!important;
}
#toolViewer .tool-viewer-content{
  width:min(1180px,100%);
  margin:0 auto!important;
}
#toolViewer .tool-viewer-close{
  position:fixed!important;
  left:98px!important;
  top:22px!important;
  right:auto!important;
  z-index:2608!important;
  width:64px!important;height:64px!important;
  border-radius:16px!important;
  font-size:0!important;
}
#toolViewer .tool-viewer-close::after{
  content:"←";
  display:grid;
  place-items:center;
  width:100%;height:100%;
  font-size:30px;
}
body.modal-open{overflow:hidden!important}
@media(max-width:760px){
  #toolViewer .tool-viewer-panel{padding:96px 18px 60px!important}
  #toolViewer .tool-viewer-close{left:86px!important;top:14px!important}
  #toolViewer .tool-viewer-head{padding-right:70px!important}
}

/* ===== Extracted style block %02d ===== */
/* block 7 */
/* Concrete utility pages: no inner glass frame; controls float above content. */
#toolViewer{position:fixed!important;inset:0!important;z-index:2500!important;display:none!important;background:#090e14!important}
#toolViewer.open{display:block!important}
#toolViewer .tool-viewer-panel{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;padding:108px clamp(24px,8vw,120px) 80px!important;overflow:auto!important;border:0!important;border-radius:0!important;background:radial-gradient(circle at 50% 10%,rgba(255,255,255,.045),transparent 36%),linear-gradient(180deg,#0d141d,#080c12)!important;box-shadow:none!important;backdrop-filter:none!important}
#toolViewer .tool-viewer-content{width:min(1240px,100%)!important;max-width:none!important;margin:0 auto!important}
#toolViewer .tool-viewer-head{padding:0 90px 0 0!important;margin:0 auto 38px!important}
#toolViewer #toolViewerBody{max-width:none!important;margin:0!important}
#toolViewer #toolViewerBody>.utility-stage{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;max-width:none!important}
#toolViewer .tool-viewer-close{position:fixed!important;left:114px!important;top:20px!important;right:auto!important;z-index:2610!important;width:64px!important;height:64px!important;min-width:64px!important;border-radius:16px!important;font-size:0!important;display:grid!important;place-items:center!important;line-height:1!important}
#toolViewer .tool-viewer-close::after{content:"←"!important;display:grid!important;place-items:center!important;width:100%!important;height:100%!important;font-size:30px!important;line-height:1!important;transform:none!important}
#toolViewer .tool-viewer-nav{position:fixed!important;top:50%!important;z-index:2610!important;width:58px!important;height:58px!important;border-radius:17px!important;transform:translateY(-50%)!important}
#toolViewer .tool-viewer-nav.tool-prev{left:26px!important}
#toolViewer .tool-viewer-nav.tool-next{right:26px!important}
#toolViewer .tool-viewer-nav:hover{transform:translateY(-50%) scale(1.04)!important}
#toolViewer .tool-detail-switch{position:fixed!important;right:28px!important;top:50%!important;transform:translateY(-50%)!important;z-index:2611!important;display:grid!important;gap:10px!important;padding:10px 7px!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:999px!important;background:rgba(8,12,17,.46)!important;backdrop-filter:blur(18px) saturate(125%)!important;box-shadow:0 18px 40px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.18)!important}
#toolViewer .tool-detail-switch .section-dot{width:11px!important;height:11px!important;border-radius:50%!important;padding:0!important}
#toolViewer .tool-detail-switch .section-dot.active{background:#fff!important;box-shadow:0 0 16px rgba(255,255,255,.35)!important}
#toolViewer .utility-actions{align-items:center}
@media(max-width:760px){#toolViewer .tool-viewer-panel{padding:94px 18px 60px!important}#toolViewer .tool-viewer-close{left:88px!important;top:14px!important}#toolViewer .tool-viewer-nav.tool-prev{left:10px!important}#toolViewer .tool-viewer-nav.tool-next{right:10px!important}#toolViewer .tool-detail-switch{right:12px!important}}

/* ===== Extracted style block %02d ===== */
/* block 8 */
/* One site-wide photographic backdrop, visible through every section. */
html,body{width:100%;max-width:100%;overflow-x:clip!important}
body{position:relative;background:transparent!important;isolation:isolate}
#ambient{position:fixed!important;inset:0!important;width:100%!important;height:100dvh!important;z-index:-2!important;background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important;pointer-events:none!important;transform:translateZ(0)}
#ambient:after{background:linear-gradient(180deg,rgba(5,9,13,.40),rgba(5,9,13,.60) 52%,rgba(8,12,17,.82) 100%)!important}
#noise{z-index:-1!important}
#home,.page{background:transparent!important}
.page{width:100%;max-width:100vw;min-width:0;overflow-x:clip;background:linear-gradient(180deg,rgba(9,14,21,.68),rgba(9,14,21,.80))!important}
#pageTools,#pageArticles,#pageGallery,#pageReader{background:linear-gradient(180deg,rgba(9,14,21,.58),rgba(9,14,21,.76))!important}
#toolViewer{max-width:100vw!important;overflow-x:clip!important;background:transparent!important}
#toolViewer .tool-viewer-panel{background:linear-gradient(180deg,rgba(9,14,21,.62),rgba(9,14,21,.82))!important;max-width:100vw!important;overflow-x:clip!important}
#toolTilesView,#toolListView,#toolCarouselView,.tool-tiles-grid,.tool-list{max-width:100%;min-width:0}
#toolCarouselView{display:none!important}
.tool-tile,.tool-list-row,.article-full,.article-detail-card{min-width:0;max-width:100%}
img{max-width:100%}
@media(max-width:760px){
 .page{padding-left:18px!important;padding-right:18px!important}
 #toolViewer .tool-viewer-panel{padding-left:18px!important;padding-right:18px!important}
 #toolViewer .tool-viewer-content,#toolViewer .tool-viewer-head{width:100%!important;max-width:100%!important;min-width:0!important}
}
@media(prefers-reduced-motion:reduce){#ambient{transition:none!important}}

/* ===== Extracted style block %02d ===== */
/* block 9 */
/* Menu and back are the same component skin; only their glyph differs. */
#menuBtn,#vgGlobalNav .vg-back{
  width:64px!important;height:64px!important;min-width:64px!important;min-height:64px!important;
  padding:0!important;margin:0!important;border-radius:18px!important;
  border:1px solid rgba(255,255,255,.19)!important;
  background:rgba(20,27,36,.68)!important;color:#f5f7fa!important;
  box-shadow:0 12px 30px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.13)!important;
  backdrop-filter:blur(18px) saturate(130%)!important;-webkit-backdrop-filter:blur(18px) saturate(130%)!important;
  display:grid!important;place-items:center!important;
  transition:transform .18s ease,background .18s ease,border-color .18s ease!important;
}
#menuBtn{left:22px!important;top:22px!important;z-index:12001!important}
#vgGlobalNav .vg-back{left:98px!important;top:22px!important;z-index:12001!important}
#menuBtn:hover,#vgGlobalNav .vg-back:hover{transform:translateY(-2px)!important;background:rgba(38,48,61,.82)!important;border-color:rgba(255,255,255,.3)!important}
#menuBtn .hamb{width:21px!important;height:14px!important}
#vgGlobalNav .vg-back::before{font-size:30px!important;line-height:1!important;width:auto!important;height:auto!important;transform:translateY(-1px)!important}
@media(max-width:760px){#menuBtn{left:14px!important;top:14px!important}#vgGlobalNav .vg-back{left:86px!important;top:14px!important}}
/* One card frame only. Illustration is text/symbol based and never requests images. */
.oracle-card{border:1px solid rgba(223,231,239,.28);border-radius:13px;overflow:hidden;background:#151e27;box-shadow:0 12px 25px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.08)}
.oracle-face{border:0!important;border-radius:0!important;box-shadow:none!important;overflow:hidden}
.oracle-back{background:radial-gradient(circle at 50% 45%,rgba(205,225,245,.12),transparent 38%),linear-gradient(145deg,#202d39,#111820)!important}
.oracle-back:before{content:"";position:absolute;inset:22%;border:1px solid rgba(216,232,247,.22);transform:rotate(45deg);border-radius:50%}
.oracle-back:after{content:"✦";position:absolute;inset:0!important;display:grid;place-items:center;border:0!important;transform:none!important;font-size:26px;color:rgba(222,236,249,.65)}
.oracle-back-mark{display:none}
.oracle-front{background:linear-gradient(160deg,#20303d,#111820)!important;padding:23px 12px 15px!important;gap:0}
.oracle-number{position:absolute;top:10px;left:12px;color:rgba(238,244,249,.66);font-size:10px;letter-spacing:.12em;z-index:3}
.oracle-art{width:100%!important;height:112px!important;min-height:0!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;margin:0 0 10px!important;border:0!important;border-radius:0!important;overflow:visible!important;background:transparent!important;box-shadow:none!important;position:relative!important;filter:none!important}
.oracle-art:before{content:"";position:absolute;width:74px;height:74px;left:50%;top:50%;transform:translate(-50%,-55%);border:1px solid rgba(225,236,247,.15);border-radius:50%;box-shadow:0 0 0 9px rgba(225,236,247,.025),0 0 0 18px rgba(225,236,247,.018)}
.oracle-art:after{content:"";position:absolute;width:54px;height:1px;left:50%;bottom:8px;transform:translateX(-50%);background:rgba(225,236,247,.23);box-shadow:0 -6px 0 rgba(225,236,247,.08),0 6px 0 rgba(225,236,247,.08)}
.oracle-art-symbol{font-family:Georgia,"Times New Roman",serif;font-size:54px;line-height:1;color:#e0e9ef;text-shadow:0 2px 12px rgba(210,232,255,.12);position:relative;z-index:1}
.oracle-art-ornament{font-size:9px;letter-spacing:.22em;color:rgba(225,236,247,.48);z-index:1}
.oracle-name{position:relative;z-index:2;font-size:15px!important;font-weight:650!important;line-height:1.4!important;text-align:center;margin:0!important;color:#f4f7fa}
.oracle-meaning{position:relative;z-index:2;font-size:11px!important;line-height:1.65!important;margin-top:5px!important;text-align:center;color:rgba(235,241,247,.66)!important;max-width:100%}
.oracle-direction{position:absolute;top:8px;right:9px;display:flex;align-items:center;gap:3px;font-size:17px;line-height:1;color:#dbe9d8;z-index:4}
.oracle-direction small{font-size:9px;letter-spacing:.05em;opacity:.72}
.oracle-card-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:20px 9px 10px;text-align:center;transform-origin:center;transition:none}
.oracle-card.is-reversed .oracle-art{transform:rotate(180deg)}
.oracle-card.is-reversed .oracle-art{transform-origin:center;transition:transform .18s ease}
.oracle-card.is-reversed .oracle-name::after{content:" · 逆位";color:#d8c7a5;font-weight:500}
.oracle-card.is-reversed .oracle-name{ }
.countdown-panel{margin-top:22px;padding:clamp(16px,2.2vw,26px);border:1px solid rgba(190,213,239,.17);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.countdown-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.countdown-heading strong{font-size:20px;font-weight:650;display:block;margin-bottom:4px}
.countdown-presets{display:flex;flex-wrap:wrap;gap:7px}
.timer-preset{border:1px solid rgba(198,218,240,.2);border-radius:999px;padding:8px 13px;background:rgba(177,205,237,.075);color:#dceafa;font-size:13px;transition:background .16s ease,border-color .16s ease}
.timer-preset:hover,.timer-preset:focus-visible{background:rgba(141,187,239,.19);border-color:rgba(172,209,255,.45);outline:none}
.countdown-controls{display:flex;align-items:flex-end;gap:12px;margin:0 0 15px!important}
.timer-field{display:flex;flex:1 1 125px;min-width:100px;flex-direction:column;gap:7px;color:rgba(238,244,250,.68);font-size:12px}
#toolViewer .timer-field input{width:100%!important;min-height:48px;border:1px solid rgba(205,222,241,.19);border-radius:10px;background:rgba(5,10,16,.48);color:#f5f8fc;padding:0 14px;font-variant-numeric:tabular-nums;outline:none}
#toolViewer .timer-field input:focus{border-color:rgba(157,199,248,.62);box-shadow:0 0 0 3px rgba(119,174,239,.12)}
#toolViewer .timer-field input:disabled{opacity:.55}
.countdown-actions{display:flex;gap:9px;flex:0 0 auto}
#toolViewer .countdown-actions .tool-action{min-height:48px;padding:0 17px;border-radius:11px;font-size:14px}
#toolViewer .countdown-actions .timer-primary{background:linear-gradient(135deg,#8ab9ef,#588fd1)!important;border:1px solid rgba(210,232,255,.6)!important;color:#081523!important;box-shadow:0 7px 18px rgba(70,130,200,.2),inset 0 1px 0 rgba(255,255,255,.38)!important;font-weight:650}
#toolViewer .countdown-actions .timer-primary:hover{background:linear-gradient(135deg,#a6ccf8,#73a6e8)!important;transform:translateY(-1px)}
#toolViewer .countdown-actions #vgCdReset{background:rgba(255,255,255,.045)!important;box-shadow:none!important}
.countdown-status{text-align:center;min-height:20px;margin-top:10px;font-size:12px;color:rgba(224,235,247,.62)}
#toolViewer .countdown-display{background:transparent!important;border:1px solid rgba(167,202,241,.13);color:#f4f8ff}
.timer-preset:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:650px){.countdown-heading{align-items:flex-start}.countdown-presets{width:100%}.countdown-controls{align-items:stretch;flex-wrap:wrap}.timer-field{flex:1 1 calc(50% - 8px)}.countdown-actions{width:100%}.countdown-actions .tool-action{flex:1}.oracle-art{height:92px!important}.oracle-art-symbol{font-size:44px}}
@media(prefers-reduced-motion:reduce){#menuBtn,#vgGlobalNav .vg-back,.timer-preset{transition:none!important}}

/* ===== Extracted style block %02d ===== */
/* block 10 */
/* Mobile touch UX: controls move to the bottom, content keeps the full viewport width. */
@media (max-width: 760px), (pointer: coarse) {
  :root { --mobile-control-size: 48px; }
  .page {
    padding-bottom: calc(100px + env(safe-area-inset-bottom, 0px)) !important;
  }

  /* Replace mid-screen vertical dot rails with an accessible bottom dock. */
  .gallery-toolbar,
  .section-view-switch {
    position: fixed !important;
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: calc(14px + env(safe-area-inset-bottom, 0px)) !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: max-content !important;
    max-width: calc(100vw - 28px) !important;
    padding: 7px 10px !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    border-radius: 999px !important;
    background: rgba(13,18,25,.72) !important;
    box-shadow: 0 10px 28px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.12) !important;
    -webkit-backdrop-filter: blur(18px) saturate(125%) !important;
    backdrop-filter: blur(18px) saturate(125%) !important;
    z-index: 9003 !important;
  }
  .gallery-toolbar .view-dot,
  .section-view-switch .section-dot {
    position: relative !important;
    flex: 0 0 var(--mobile-control-size) !important;
    width: var(--mobile-control-size) !important;
    height: var(--mobile-control-size) !important;
    min-width: var(--mobile-control-size) !important;
    min-height: var(--mobile-control-size) !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 50% !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    touch-action: manipulation;
  }
  .gallery-toolbar .view-dot::before,
  .section-view-switch .section-dot::before {
    content: "";
    position: absolute;
    width: 11px;
    height: 11px;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    border-radius: 50%;
    background: rgba(255,255,255,.48);
    transition: width .2s ease, height .2s ease, background-color .2s ease, box-shadow .2s ease;
  }
  .gallery-toolbar .view-dot.active::before,
  .section-view-switch .section-dot.active::before {
    width: 15px;
    height: 15px;
    background: #fff;
    box-shadow: 0 0 12px rgba(255,255,255,.38);
  }
  .gallery-toolbar .view-dot:focus-visible,
  .section-view-switch .section-dot:focus-visible {
    outline: 2px solid rgba(255,255,255,.88);
    outline-offset: 1px;
  }

  /* Swiping replaces large arrows over photos and article content. */
  #pageReader .reader-nav .arrow,
  #pageGallery .reader-nav .arrow,
  #toolViewer .tool-viewer-nav,
  #toolCarouselView .carousel-arrow {
    display: none !important;
  }
  #pageReader .reader,
  #pageReader .reader-card,
  #pageGallery .full-photo-stage,
  #toolViewer .tool-viewer-content {
    touch-action: pan-y pinch-zoom;
    -webkit-user-select: none;
    user-select: text;
  }
  #pageGallery .full-photo-stage img {
    -webkit-user-drag: none;
    user-select: none;
  }

  /* Keep content clear of the bottom dock and device gesture area. */
  #pageReader .reader,
  #pageGallery .gallery-mode,
  #pageTools .section-view {
    scroll-margin-bottom: calc(92px + env(safe-area-inset-bottom, 0px));
  }
  .full-photo-stage .full-photo-caption {
    max-width: calc(100% - 34px);
    left: 17px;
    bottom: calc(24px + env(safe-area-inset-bottom, 0px));
  }
  .full-photo-stage .gallery-engagement {
    bottom: calc(68px + env(safe-area-inset-bottom, 0px));
  }
  #toolViewer .tool-viewer-content {
    padding-bottom: calc(30px + env(safe-area-inset-bottom, 0px)) !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .gallery-toolbar .view-dot::before,
  .section-view-switch .section-dot::before {
    transition: none !important;
  }
}

/* ===== Extracted style block %02d ===== */
/* block 11 */
/* Same-size glass controls everywhere. */
#menuBtn,.back{width:64px!important;height:64px!important;min-width:64px!important;min-height:64px!important;border-radius:16px!important;box-sizing:border-box!important}
#menuBtn{left:22px!important;top:22px!important}
.back{left:92px!important;top:22px!important;margin:0!important;padding:0!important;display:grid!important;place-items:center!important;font-size:0!important}
.back::after{font-size:30px!important;content:"←"!important}
/* Put Bing on the far right. */
.hero-meta{justify-content:flex-start!important}
.hero-search{order:3!important;margin-left:auto!important}
/* Prevent the first tool view from overlapping cards. */
#toolTilesView .tool-tiles-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch!important;gap:18px!important}
#toolTilesView .tool-tiles-grid .tool-tile{width:auto!important;min-width:0!important;flex:none!important;aspect-ratio:16/10!important;position:relative!important;transform:none!important}
#toolTilesView .tool-tiles-grid .tool-tile:hover{transform:translateY(-4px)!important}
@media(max-width:980px){#toolTilesView .tool-tiles-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){#toolTilesView .tool-tiles-grid{grid-template-columns:1fr!important}}
.tool-viewer-nav{position:fixed;z-index:3;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:16px;border:1px solid rgba(255,255,255,.17);background:rgba(15,20,26,.48);color:#fff;font-size:38px;line-height:1;display:grid;place-items:center;backdrop-filter:blur(18px);box-shadow:0 12px 30px rgba(0,0,0,.25);cursor:pointer}
.tool-viewer-nav:hover{background:rgba(255,255,255,.13);transform:translateY(-50%) scale(1.04)}
.tool-prev{left:24px}.tool-next{right:24px}
@media(max-width:760px){.back{left:94px!important;top:14px!important}.tool-prev{left:10px}.tool-next{right:10px}.hero-search{order:3!important;margin-left:0!important;min-width:100%!important}}

/* ===== Extracted style block %02d ===== */
/* block 12 */
#menuBtn{position:fixed!important;left:22px!important;top:22px!important;z-index:7005!important;width:64px!important;height:64px!important;min-width:64px!important;min-height:64px!important;display:grid!important;place-items:center!important;box-sizing:border-box!important}
#sideShade{z-index:7090!important}#side{z-index:7100!important}
.back{position:fixed!important;left:98px!important;top:22px!important;z-index:7004!important;width:64px!important;height:64px!important;min-width:64px!important;min-height:64px!important;margin:0!important;padding:0!important;box-sizing:border-box!important;display:block!important;font-size:0!important;line-height:0!important;border-radius:16px!important}
.back::before{content:"←"!important;position:absolute!important;left:50%!important;top:50%!important;width:1em!important;height:1em!important;display:block!important;margin:0!important;padding:0!important;font-size:30px!important;line-height:1!important;text-align:center!important;transform:translate(-50%,-53%)!important;pointer-events:none!important}
.back::after{content:none!important}
.section-view-switch,.gallery-toolbar{right:28px!important;z-index:7003!important}
.reader-nav,.reader-nav .arrow,.carousel-arrow{z-index:7002!important}
.reader-view-switch{position:fixed!important;right:96px!important;top:50%!important;transform:translateY(-50%)!important;z-index:7003!important;display:grid!important;gap:10px!important;padding:10px 7px!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:999px!important;background:rgba(8,12,17,.46)!important;backdrop-filter:blur(18px)!important;box-shadow:0 18px 40px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.18)!important}
.reader-view-switch .section-dot{width:11px!important;height:11px!important;padding:0!important}
#toolViewer{z-index:6000!important}
#toolViewer .tool-viewer-panel{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;padding:118px 0 90px!important;overflow:auto!important;border:0!important;border-radius:0!important;background:radial-gradient(circle at 50% 8%,rgba(255,255,255,.045),transparent 34%),linear-gradient(180deg,#0d141d,#080c12)!important;box-shadow:none!important;backdrop-filter:none!important}
#toolViewer .tool-viewer-content{width:78%!important;max-width:none!important;margin:0 auto!important}
#toolViewer .tool-viewer-head{width:100%!important;margin:0 0 42px!important;padding:0!important;display:flex!important;justify-content:space-between!important;align-items:flex-start!important}
#toolViewer #toolViewerBody{width:100%!important;max-width:none!important;margin:0!important}
#toolViewer #toolViewerBody>.utility-stage{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
#toolViewer .tool-viewer-close{position:fixed!important;left:98px!important;top:22px!important;right:auto!important;z-index:7004!important;width:64px!important;height:64px!important;min-width:64px!important;min-height:64px!important;border-radius:16px!important;display:block!important;box-sizing:border-box!important;padding:0!important;font-size:0!important;line-height:0!important}
#toolViewer .tool-viewer-close::before{content:"←"!important;position:absolute!important;left:50%!important;top:50%!important;font-size:30px!important;line-height:1!important;transform:translate(-50%,-53%)!important}
#toolViewer .tool-viewer-close::after{content:none!important}
#toolViewer .tool-viewer-nav{position:fixed!important;top:50%!important;z-index:7002!important;width:58px!important;height:58px!important;min-width:58px!important;min-height:58px!important;border-radius:17px!important;transform:translateY(-50%)!important;display:grid!important;place-items:center!important}
#toolViewer .tool-viewer-nav.tool-prev{left:24px!important}#toolViewer .tool-viewer-nav.tool-next{right:24px!important}
#toolViewer .tool-detail-switch{position:fixed!important;right:96px!important;top:50%!important;transform:translateY(-50%)!important;z-index:7003!important;display:grid!important;gap:10px!important;padding:10px 7px!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:999px!important;background:rgba(8,12,17,.46)!important;backdrop-filter:blur(18px)!important;box-shadow:0 18px 40px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.18)!important}
#toolViewer .tool-detail-switch .section-dot{width:11px!important;height:11px!important;padding:0!important}
#toolViewer .timer-row,#toolViewer .utility-actions{position:relative!important}
#pageReader .reader{width:78%!important;max-width:none!important;margin:0 auto!important}
@media(max-width:760px){#menuBtn{left:14px!important;top:14px!important}.back{left:86px!important;top:14px!important}.section-view-switch,.gallery-toolbar{right:14px!important}.reader-view-switch,#toolViewer .tool-detail-switch{right:76px!important}#toolViewer .tool-viewer-close{left:86px!important;top:14px!important}#toolViewer .tool-viewer-nav.tool-prev{left:10px!important}#toolViewer .tool-viewer-nav.tool-next{right:10px!important}#toolViewer .tool-viewer-content,#pageReader .reader{width:calc(100% - 36px)!important}}

/* ===== Extracted style block %02d ===== */
/* block 13 */
/* Final authoritative control geometry — intentionally last in document. */
#menuBtn{z-index:9005!important}
#sideShade{z-index:9090!important}
#side{z-index:9100!important}
.back{z-index:9004!important;left:98px!important;top:22px!important;width:64px!important;height:64px!important;min-width:64px!important;min-height:64px!important;padding:0!important;font-size:0!important;line-height:0!important;display:block!important}
.back::before{content:"←"!important;position:absolute!important;left:50%!important;top:50%!important;width:30px!important;height:30px!important;margin:0!important;font-size:30px!important;line-height:30px!important;text-align:center!important;transform:translate(-50%,-50%)!important}
.back::after{display:none!important;content:none!important}

.reader-view-switch{right:96px!important;z-index:9003!important}
.reader-nav,.reader-nav .arrow,.carousel-arrow{z-index:9002!important}
#toolViewer{z-index:8000!important}
#toolViewer .tool-viewer-close{z-index:9004!important;left:98px!important;top:22px!important;width:64px!important;height:64px!important;min-width:64px!important;min-height:64px!important}
#toolViewer .tool-viewer-close::before{left:50%!important;top:50%!important;width:30px!important;height:30px!important;margin:0!important;font-size:30px!important;line-height:30px!important;transform:translate(-50%,-50%)!important}
#toolViewer .tool-viewer-nav{z-index:9002!important}
#toolViewer .tool-viewer-nav.tool-prev{left:24px!important}
#toolViewer .tool-viewer-nav.tool-next{right:24px!important}
#toolViewer .tool-detail-switch{right:96px!important;z-index:9003!important}
#toolViewer .tool-viewer-content{width:78%!important;margin:0 auto!important}
#toolViewer .tool-viewer-head,#toolViewer #toolViewerBody{width:100%!important}
#toolViewer .tool-viewer-panel{padding-top:118px!important}
@media(max-width:760px){
  #menuBtn{left:14px!important;top:14px!important}
  .back,#toolViewer .tool-viewer-close{left:86px!important;top:14px!important}
  .reader-view-switch,#toolViewer .tool-detail-switch{right:76px!important}
  #toolViewer .tool-viewer-nav.tool-prev{left:10px!important}
  #toolViewer .tool-viewer-nav.tool-next{right:10px!important}
  #toolViewer .tool-viewer-content{width:calc(100% - 36px)!important}
}

/* ===== Extracted style block %02d ===== */
/* block 14 */
/* Single visual system: content, controls and cards share the same rhythm. */
:root{
  --ui-gap:12px;
  --ui-gap-lg:18px;
  --ui-control-h:48px;
  --ui-radius:12px;
  --ui-shadow:0 16px 42px rgba(0,0,0,.20);
}
.glass,
.utility-stage,
.tool-list-row,
.article-full,
.article-detail-card,
.article-timeline-item,
.tool-tile,
.year-card,
.timeline-photo,
.photo-card{
  border-radius:var(--ui-radius)!important;
}
.more,.tool-action,.tool-copy,.comment-submit,.admin-btn{
  min-height:var(--ui-control-h);
  border-radius:var(--ui-radius)!important;
  transition:transform .22s var(--ease),background .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.more:hover,.tool-action:hover,.tool-copy:hover,.comment-submit:hover,.admin-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(0,0,0,.18);
}
/* Never animate expensive blur/filter continuously. */
.glass:after,.tool-tile:after{transition:opacity .28s ease,transform .55s var(--ease)!important}
.photo-card img,.timeline-photo img,.year-card img{transition:transform .45s var(--ease)!important}
.tool-tile{transition:transform .28s var(--ease),box-shadow .28s ease,background .28s ease!important}
/* Article cards with covers remain readable. */
#recentArticles .article-card,
#articleTypeView .article-full,
#articleDetailView .article-detail-card,
#articleTimelineView .article-timeline-item{
  background-repeat:no-repeat!important;
}
/* The third tool view is the concrete detail state; the old carousel is not a navigation layer. */
#toolCarouselView{display:none!important}
#toolTilesView .tool-tiles-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media(max-width:900px){#toolTilesView .tool-tiles-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){#toolTilesView .tool-tiles-grid{grid-template-columns:1fr!important}}
/* Strong suppression of the obsolete page-scroll control plane. */
body.vg-unified-controls .page>.back,
body.vg-unified-controls .page>.reader-nav,
body.vg-unified-controls .page>.section-view-switch,
body.vg-unified-controls .page>.gallery-toolbar,
body.vg-unified-controls #toolViewer .tool-viewer-close,
body.vg-unified-controls #toolViewer .tool-viewer-nav,
body.vg-unified-controls #toolViewer .tool-detail-switch,
body.vg-unified-controls #toolCarouselView .carousel-arrow{display:none!important}
#toolViewer .tool-viewer-content{padding-bottom:30px}
#toolViewer .tool-viewer-head h2{font-size:var(--ds-title-size)!important;line-height:1.04!important}
#toolViewer .tool-viewer-head p{font-size:var(--ds-body-size)!important;line-height:1.65!important}

/* ===== Extracted style block %02d ===== */
/* block 15 */
/* V0.42: detail controls must never cover the open drawer. */
body.menu-open .back,
body.menu-open .reader-view-switch,
body.menu-open .reader-nav,
body.menu-open .reader-nav .arrow,
body.menu-open .section-view-switch,
body.menu-open .gallery-toolbar,
body.menu-open .carousel-arrow,
body.menu-open #toolViewer .tool-viewer-close,
body.menu-open #toolViewer .tool-viewer-nav,
body.menu-open #toolViewer .tool-detail-switch,
body.menu-open .tool-detail-switch { visibility:hidden!important; pointer-events:none!important; }
#menuBtn{z-index:15020!important;isolation:isolate}
#sideShade{z-index:15000!important}
#side{z-index:15010!important;overscroll-behavior:contain}
#adminModal{z-index:16000!important}
#adminModal.open{pointer-events:auto!important;isolation:isolate}
#adminModal .modal-box{position:relative;z-index:1}
#adminModal #adminLogin{position:relative;z-index:2}
#adminModal #tokenStatus{position:relative;z-index:3;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
/* Keep the glass aesthetic while reducing the cost of full-screen blur layers. */
#side{-webkit-backdrop-filter:blur(16px) saturate(115%)!important;backdrop-filter:blur(16px) saturate(115%)!important}
#sideShade{-webkit-backdrop-filter:blur(1px)!important;backdrop-filter:blur(1px)!important}
#toolViewer .tool-viewer-panel{contain:layout style}
.article-detail-card,.article-timeline-item,.photo-card,.year-card,.tool-tile,.tool-list-row{
  backface-visibility:hidden;
}
/* Prefer compositor-friendly animation; retain hover sheen and transitions. */
.glass,.tool-tile,.photo-card,.year-card,.article-detail-card,.article-timeline-item,
#menuBtn,.back,.tool-viewer-close,.tool-viewer-nav,.carousel-arrow{
  -webkit-tap-highlight-color:transparent;
}
@media (hover:none){
  .glass:hover,.tool-tile:hover,.photo-card:hover,.year-card:hover,.article-type-card:hover,.article-detail-card:hover,.article-timeline-item:hover{transform:none!important;filter:none!important}
}
@media(prefers-reduced-motion:reduce){
  #side,#sideShade,#menuBtn,.back,.tool-viewer-close,.tool-viewer-nav{transition-duration:.01ms!important}
}

/* ===== Extracted style block %02d ===== */
/* block 16 */
#articleTypeView .article-tag-filter{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 22px;padding:4px 0 12px;align-items:center}
#articleTypeView .article-tag-chip{appearance:none;border:1px solid rgba(255,255,255,.16);background:rgba(20,27,36,.58);color:rgba(255,255,255,.82);border-radius:999px;padding:8px 13px;font:inherit;font-size:13px;line-height:1.3;cursor:pointer;transition:background .18s,border-color .18s,color .18s}
#articleTypeView .article-tag-chip span{opacity:.62;font-size:11px;margin-left:4px}
#articleTypeView .article-tag-chip:hover,#articleTypeView .article-tag-chip.active{background:rgba(222,232,245,.17);border-color:rgba(235,242,250,.48);color:#fff}
#articleTypeView .article-flat-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
#articleTypeView .article-flat-grid [data-article][hidden]{display:none!important}
#articleTypeView .article-detail-card{min-width:0;box-sizing:border-box}
@media(max-width:1100px){#articleTypeView .article-flat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){#articleTypeView .article-flat-grid{grid-template-columns:minmax(0,1fr)}#articleTypeView .article-detail-card{padding:18px}}

/* ===== Extracted style block %02d ===== */
/* block 17 */
/* V0.57 — corrected adult chicken facing direction: beak outward from head, tail behind body. */
#adminCode{-webkit-text-security:none!important;text-security:none!important}
#adminModal #tokenStatus:empty{display:none!important}
#mc-easter-layer{position:fixed;inset:0;z-index:700;pointer-events:none;overflow:hidden;contain:layout paint style;isolation:isolate}
.mc-mob{position:absolute;left:0;bottom:-1px;width:76px;height:100px;transform:translate3d(-160px,0,0);transform-origin:50% 100%;user-select:none;pointer-events:none;will-change:transform;}
.mc-mob::before{content:"";position:absolute;z-index:-1;left:13%;right:13%;bottom:1px;height:7px;border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.55),rgba(0,0,0,0) 72%);opacity:.78;transform:scaleX(1)}
.mc-mob.mc-chicken{width:76px;height:74px}
.mc-mob.mc-chick{width:61px;height:61px}
/* Sprite artwork reaches the viewBox baseline; keep the shadow and feet on the same ground plane. */
.mc-mob.mc-chick::before{left:17%;right:17%;bottom:1px;height:5px;opacity:.62}
.mc-sprite{display:block;width:100%;height:100%;overflow:visible;shape-rendering:crispEdges;image-rendering:pixelated;filter:drop-shadow(0 3px 2px rgba(0,0,0,.45));transform-origin:50% 100%}
.mc-sprite .mc-limb,.mc-sprite .mc-head,.mc-sprite .mc-wing{transform-box:fill-box;transform-origin:50% 0%}
.mc-rear-head{opacity:0}
.mc-face-beak,.mc-face-wattle,.mc-eye,.mc-eye-highlight{transition:opacity 70ms steps(2,end)}
.mc-mob.mc-facing-side .mc-eye-far{opacity:0}
.mc-mob.mc-facing-back .mc-rear-head{opacity:1}
.mc-mob.mc-facing-back .mc-face-beak,.mc-mob.mc-facing-back .mc-face-wattle,.mc-mob.mc-facing-back .mc-eye,.mc-mob.mc-facing-back .mc-eye-highlight{opacity:0}
.mc-mob.mc-turning .mc-sprite{animation:mc-turn-pivot 180ms steps(3,end) both}
.mc-mob.mc-walking .mc-sprite{animation:mc-body-step .46s steps(2,end) infinite}
.mc-mob.mc-idle .mc-sprite{animation:mc-body-idle 2.1s ease-in-out infinite}
.mc-mob.mc-creeper.mc-walking .mc-gait-a{animation:mc-creeper-gait-a .46s steps(2,end) infinite;transform-origin:50% 4%}
.mc-mob.mc-creeper.mc-walking .mc-gait-b{animation:mc-creeper-gait-b .46s steps(2,end) infinite;transform-origin:50% 4%}
.mc-mob.mc-creeper.mc-idle .mc-creeper-head{animation:mc-creeper-look 3s ease-in-out infinite;transform-origin:50% 98%}
.mc-mob.mc-chicken.mc-walking .mc-gait-a,.mc-mob.mc-chick.mc-walking .mc-gait-a{animation:mc-chicken-gait-a .34s steps(2,end) infinite;transform-origin:50% 0%}
.mc-mob.mc-chicken.mc-walking .mc-gait-b,.mc-mob.mc-chick.mc-walking .mc-gait-b{animation:mc-chicken-gait-b .34s steps(2,end) infinite;transform-origin:50% 0%}
.mc-mob.mc-chicken.mc-walking .mc-wing-near,.mc-mob.mc-chick.mc-walking .mc-wing-near{animation:mc-wing-walk .34s steps(2,end) infinite;transform-origin:18% 24%}
.mc-mob.mc-chicken.mc-idle .mc-chicken-head{animation:mc-adult-head-bob 2.8s ease-in-out infinite;transform-origin:50% 100%}
.mc-mob.mc-chick.mc-idle .mc-chicken-head{animation:none;transform-origin:50% 100%}
.mc-mob.mc-chicken.mc-idle .mc-wing-near,.mc-mob.mc-chick.mc-idle .mc-wing-near{animation:mc-wing-idle 2.8s ease-in-out infinite;transform-origin:18% 24%}
.mc-mob.mc-flapping .mc-wing{animation:mc-wing-flap .22s steps(2,end) 6!important;transform-origin:20% 22%}
.mc-mob.mc-flapping .mc-chicken-head{animation:none!important}
.mc-mob.mc-leaving .mc-sprite{animation-duration:.24s!important}
.mc-mob.mc-leaving .mc-gait-a,.mc-mob.mc-leaving .mc-gait-b{animation-duration:.24s!important}
.mc-mob.mc-primed .mc-sprite{animation:mc-prime-pulse .34s steps(2,end) infinite;filter:drop-shadow(0 0 7px rgba(245,255,224,.9)) drop-shadow(0 0 16px rgba(120,255,110,.6))}
.mc-mob.mc-primed::before{animation:mc-prime-shadow .34s steps(2,end) infinite}
.mc-mob.mc-exploding{animation:mc-mob-pop .3s ease-out forwards}
.mc-mob.mc-exploding .mc-sprite{animation:mc-sprite-burst .3s ease-out forwards}
.mc-dust{position:absolute;width:4px;height:4px;background:#c4cbc5;opacity:.62;image-rendering:pixelated;animation:mc-dust-drift .48s ease-out forwards}
.mc-fuse-spark{position:absolute;width:3px;height:3px;background:#f4ffd4;box-shadow:0 0 7px rgba(226,255,181,.95);image-rendering:pixelated;animation:mc-fuse-spark-rise .48s ease-out forwards}
.mc-particle{position:absolute;width:6px;height:6px;background:var(--particle-color,#a8d99a);box-shadow:0 0 3px color-mix(in srgb,var(--particle-color,#a8d99a) 40%,transparent);image-rendering:pixelated;animation:mc-particle-burst .76s cubic-bezier(.12,.65,.25,1) forwards}
.mc-smoke{position:absolute;width:13px;height:13px;background:rgba(111,121,120,.84);box-shadow:3px -2px 0 rgba(142,148,143,.55),-4px 3px 0 rgba(68,78,79,.66);image-rendering:pixelated;animation:mc-smoke-rise 1.08s ease-out forwards}
.mc-explosion-flash{position:absolute;width:156px;height:156px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,232,.88) 0,rgba(225,255,181,.42) 20%,rgba(151,255,111,.13) 45%,transparent 72%);mix-blend-mode:screen;animation:mc-explosion-glow .42s ease-out forwards}
.mc-blast-wave{position:absolute;width:12px;height:12px;border:4px solid rgba(235,255,205,.88);border-radius:50%;box-shadow:0 0 10px rgba(180,255,140,.48);animation:mc-blast-expand .48s cubic-bezier(.08,.68,.23,1) forwards}
.mc-celestial{position:absolute;left:var(--celestial-x,50%);bottom:-132px;width:94px;height:94px;opacity:0;transform:translateX(-50%);animation:mc-celestial-rise 6.1s cubic-bezier(.2,.66,.24,1) both;will-change:transform,opacity;pointer-events:none}
.mc-celestial::before{content:"";position:absolute;inset:-80%;border-radius:50%;background:radial-gradient(circle,var(--celestial-glow,rgba(255,216,114,.34)) 0,var(--celestial-mid-glow,rgba(255,216,114,.13)) 32%,transparent 68%);animation:mc-celestial-aura 1.8s ease-in-out infinite alternate}
.mc-celestial.mc-moon{--celestial-glow:rgba(153,201,255,.4);--celestial-mid-glow:rgba(153,201,255,.18)}
.mc-celestial svg{position:relative;z-index:1;display:block;width:100%;height:100%;overflow:visible;shape-rendering:crispEdges;image-rendering:pixelated;filter:drop-shadow(0 0 8px var(--celestial-glow,rgba(255,222,123,.8))) drop-shadow(0 0 22px var(--celestial-glow,rgba(255,222,123,.42)))}
.mc-celestial-star{position:absolute;z-index:2;width:4px;height:4px;background:var(--star-color,#f5e9bd);box-shadow:0 0 9px currentColor;animation:mc-star-rise var(--star-duration,1.35s) ease-out var(--star-delay,0s) infinite alternate}
@keyframes mc-body-step{0%,100%{transform:translateY(0)}25%{transform:translateY(-1px)}50%{transform:translateY(0)}75%{transform:translateY(-1px)}}
@keyframes mc-turn-pivot{0%{transform:scaleX(1) scale(.98)}50%{transform:scaleX(.72) scale(.96)}100%{transform:scaleX(1) scale(1)}}
@keyframes mc-body-idle{0%,100%{transform:translateY(0)}50%{transform:translateY(-1px)}}
@keyframes mc-creeper-gait-a{0%,100%{transform:translateY(0) rotate(-7deg)}50%{transform:translateY(-1px) rotate(7deg)}}
@keyframes mc-creeper-gait-b{0%,100%{transform:translateY(-1px) rotate(7deg)}50%{transform:translateY(0) rotate(-7deg)}}
@keyframes mc-chicken-gait-a{0%,100%{transform:translate(0,0) rotate(-13deg)}25%{transform:translate(1px,1px) rotate(2deg)}50%{transform:translate(2px,0) rotate(12deg)}75%{transform:translate(1px,-1px) rotate(1deg)}}
@keyframes mc-chicken-gait-b{0%,100%{transform:translate(1px,1px) rotate(12deg)}25%{transform:translate(0,0) rotate(1deg)}50%{transform:translate(-1px,0) rotate(-13deg)}75%{transform:translate(0,-1px) rotate(1deg)}}
@keyframes mc-wing-walk{0%,100%{transform:rotate(0deg) translateY(0)}50%{transform:rotate(-4deg) translateY(-1px)}}
@keyframes mc-wing-idle{0%,80%,100%{transform:rotate(0)}87%{transform:rotate(-7deg)}94%{transform:rotate(3deg)}}
@keyframes mc-wing-flap{0%,100%{transform:rotate(0)}50%{transform:rotate(-42deg) translateY(-2px)}}
/* Keep the adult chicken's head upright; idle motion is a small vertical bob, never a neck twist. */
@keyframes mc-adult-head-bob{0%,100%{transform:translateY(0)}45%,58%{transform:translateY(1px)}}

@keyframes mc-creeper-look{0%,100%{transform:rotate(0)}40%{transform:rotate(1.5deg)}53%{transform:rotate(-1.5deg)}70%{transform:rotate(0)}}
@keyframes mc-prime-pulse{0%,100%{opacity:1;transform:scale(1);filter:brightness(1.15) saturate(1.1)}50%{opacity:.48;transform:scale(1.035);filter:brightness(2.05) saturate(.25)}}
@keyframes mc-prime-shadow{0%,100%{opacity:.9;transform:scaleX(1)}50%{opacity:.35;transform:scaleX(.74)}}
@keyframes mc-mob-pop{to{opacity:0;transform:var(--mob-position,translate3d(0,0,0)) translateY(-4px) scale(.82)}}
@keyframes mc-sprite-burst{to{opacity:.05;transform:scale(1.15);filter:brightness(2.2)}}
@keyframes mc-particle-burst{0%{opacity:1;transform:translate3d(0,0,0) rotate(0) scale(1)}75%{opacity:.9}100%{opacity:0;transform:translate3d(var(--dx,0),var(--dy,-80px),0) rotate(var(--spin,120deg)) scale(.55)}}
@keyframes mc-smoke-rise{0%{opacity:.78;transform:translate3d(0,0,0) scale(.45)}100%{opacity:0;transform:translate3d(var(--dx,0),var(--dy,-80px),0) scale(1.7)}}
@keyframes mc-dust-drift{to{opacity:0;transform:translate3d(var(--dx,16px),-5px,0) scale(.4)}}
@keyframes mc-fuse-spark-rise{to{opacity:0;transform:translate3d(var(--dx,0),var(--dy,-12px),0) scale(.25)}}
@keyframes mc-explosion-glow{0%{opacity:0;transform:translate(-50%,50%) scale(.18)}25%{opacity:1}100%{opacity:0;transform:translate(-50%,50%) scale(1.18)}}
@keyframes mc-blast-expand{0%{opacity:.95;transform:translate(-50%,50%) scale(.12)}100%{opacity:0;transform:translate(-50%,50%) scale(7.2)}}
@keyframes mc-celestial-rise{0%{opacity:0;transform:translate(-50%,0) scale(.72)}13%{opacity:1;transform:translate(-50%,-5vh) scale(.88)}40%{opacity:1;transform:translate(-50%,-32vh) scale(1)}76%{opacity:1;transform:translate(-50%,-65vh) scale(1.04)}100%{opacity:0;transform:translate(-50%,-79vh) scale(1.09)}}
@keyframes mc-celestial-aura{from{opacity:.62;transform:scale(.88)}to{opacity:1;transform:scale(1.08)}}
@keyframes mc-star-rise{from{opacity:.2;transform:translateY(8px) scale(.65)}to{opacity:1;transform:translateY(-14px) scale(1.15)}}
@media(max-width:600px){.mc-mob{transform-origin:50% 100%}.mc-mob.mc-creeper{width:67px;height:90px}.mc-mob.mc-chicken{width:68px;height:67px}.mc-mob.mc-chick{width:55px;height:55px}.mc-celestial{width:76px;height:76px}}
@media(prefers-reduced-motion:reduce){.mc-mob .mc-sprite,.mc-mob::before,.mc-celestial::before{animation-duration:1.3s!important}.mc-particle,.mc-smoke,.mc-blast-wave,.mc-explosion-flash{animation-duration:.24s!important}.mc-celestial{animation-duration:3s!important}}
/* V0.52 motion system: shared easing, restrained distances, and consistent interaction feedback. */
:root{--motion-ease:cubic-bezier(.18,.78,.24,1);--motion-ease-out:cubic-bezier(.16,1,.3,1);--motion-ease-in:cubic-bezier(.4,0,1,1);--motion-ease-standard:cubic-bezier(.4,0,.2,1);--motion-ease-inout:cubic-bezier(.65,0,.35,1);--motion-fast:160ms;--motion-base:240ms;--motion-enter:380ms;--motion-exit:220ms;--motion-nav:420ms;--motion-distance:7px}
#menuBtn,#side,#sideShade,.nav-btn,button,.glass,.tool-card,.article-card,.article-full,.article-detail-card,.article-timeline-item,.photo-card,.year-card,.timeline-photo,.tool-tile,.tool-list-row,.section-dot,.view-dot,.more,.tool-action,.tool-copy,.comment-submit,.admin-btn,input,select,textarea,.carousel-arrow,.arrow,.back,.tool-viewer-close,.tool-viewer-nav{
 transition-property:transform,opacity,background-color,background,border-color,box-shadow,color,filter;
 transition-duration:var(--motion-base);transition-timing-function:var(--motion-ease-standard);
}
button,input,select,textarea{ -webkit-tap-highlight-color:transparent }
button:active,.more:active,.tool-action:active,.tool-copy:active,.comment-submit:active,.admin-btn:active{transform:translateY(0) scale(.985)}
.glass,.article-card,.article-full,.article-detail-card,.article-timeline-item,.photo-card,.year-card,.timeline-photo,.tool-card,.tool-tile,.tool-list-row{transform-origin:center;}
.glass:hover,.article-card:hover,.article-detail-card:hover,.article-timeline-item:hover,.year-card:hover,.photo-card:hover,.timeline-photo:hover,.tool-card:hover{transform:translateY(-2px)}
/* Modern discrete-display transitions let inactive views fade/settle out before display:none. */




#menuBtn .hamb i{transition:transform var(--motion-base) var(--motion-ease),top var(--motion-base) var(--motion-ease),opacity var(--motion-fast) ease}
body.menu-open #menuBtn .hamb i:nth-child(1){top:6px;transform:rotate(45deg)}
body.menu-open #menuBtn .hamb i:nth-child(2){opacity:0;transform:scaleX(.3)}
body.menu-open #menuBtn .hamb i:nth-child(3){top:6px;transform:rotate(-45deg)}
#side{transition:transform var(--motion-enter) var(--motion-ease),box-shadow var(--motion-base) var(--motion-ease)!important}
#sideShade{transition:opacity var(--motion-enter) var(--motion-ease)!important}
@media(hover:none){.glass:hover,.article-card:hover,.article-detail-card:hover,.article-timeline-item:hover,.year-card:hover,.photo-card:hover,.timeline-photo:hover,.tool-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){:root{--motion-fast:1ms;--motion-base:1ms;--motion-enter:1ms;--motion-distance:0px}#menuBtn .hamb i{transition:none!important}}

/* ===== Extracted style block %02d ===== */
/* block 18 */
/* Correct the active unified navigation controls on mobile. */
@media (max-width: 760px), (pointer: coarse) {
  :root { --mobile-dock-size:48px; --mobile-dock-bottom:calc(14px + env(safe-area-inset-bottom, 0px)); }

  #vgGlobalNav .vg-dot-rail {
    position:fixed!important; left:50%!important; right:auto!important;
    top:auto!important; bottom:var(--mobile-dock-bottom)!important;
    transform:translateX(-50%)!important; display:flex!important;
    flex-direction:row!important; align-items:center!important; justify-content:center!important;
    gap:12px!important; width:auto!important; min-width:0!important;
    max-width:calc(100vw - 32px)!important; padding:8px 12px!important;
    border-radius:999px!important; box-sizing:border-box!important; z-index:12020!important;
  }
  #vgGlobalNav .vg-dot {
    flex:0 0 var(--mobile-dock-size)!important; width:var(--mobile-dock-size)!important;
    height:var(--mobile-dock-size)!important; min-width:var(--mobile-dock-size)!important;
    min-height:var(--mobile-dock-size)!important; display:grid!important; place-items:center!important;
    border-radius:50%!important; border:1px solid rgba(255,255,255,.22)!important;
    background:rgba(255,255,255,.09)!important; box-shadow:none!important;
    transform:none!important; position:relative!important;
  }
  #vgGlobalNav .vg-dot::after {
    content:""; width:9px; height:9px; border-radius:50%;
    background:rgba(255,255,255,.48);
    transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease;
  }
  #vgGlobalNav .vg-dot.active { background:rgba(255,255,255,.17)!important; border-color:rgba(255,255,255,.48)!important; }
  #vgGlobalNav .vg-dot.active::after { background:#fff; transform:scale(1.18); box-shadow:0 0 12px rgba(255,255,255,.36); }

  /* Keep explicit previous/next controls available on touch devices as well as swipe gestures. */
  #vgGlobalNav .vg-arrow {
    display:grid!important; visibility:visible!important; pointer-events:auto!important;
    width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;
    font-size:30px!important;border-radius:14px!important;
  }
  #vgGlobalNav .vg-arrow.left { left:10px!important; }
  #vgGlobalNav .vg-arrow.right { right:10px!important; }

  .page, #pageReader, #pageGallery, #pageTools,
  #toolViewer .tool-viewer-panel {
    padding-bottom:calc(92px + env(safe-area-inset-bottom, 0px))!important;
  }

  /* Put tool tile content and engagement modules in normal document flow. */
  #toolTilesView .tool-tile, #toolCarouselView .tool-tile, #toolCarousel .tool-tile {
    display:flex!important; flex-direction:column!important; align-items:stretch!important;
    justify-content:flex-end!important; gap:9px!important; aspect-ratio:auto!important;
    min-height:190px!important; height:auto!important; padding:18px!important; box-sizing:border-box!important;
  }
  #toolTilesView .tool-tile h3, #toolCarouselView .tool-tile h3, #toolCarousel .tool-tile h3,
  #toolTilesView .tool-tile .tool-tile-desc, #toolCarouselView .tool-tile .tool-tile-desc,
  #toolCarousel .tool-tile .tool-tile-desc {
    position:relative!important; inset:auto!important; margin:0!important; max-width:100%!important;
    overflow-wrap:anywhere!important;
  }
  #toolTilesView .tool-tile .card-stats, #toolTilesView .tool-tile .card-engagement,
  #toolCarouselView .tool-tile .card-stats, #toolCarouselView .tool-tile .card-engagement,
  #toolCarousel .tool-tile .card-stats, #toolCarousel .tool-tile .card-engagement {
    position:relative!important; inset:auto!important; align-self:flex-start!important;
    max-width:100%!important; margin:0!important; transform:none!important; z-index:1!important;
  }

  #toolListView .tool-list-row {
    display:grid!important; grid-template-columns:minmax(0,1fr)!important;
    align-items:start!important; justify-content:stretch!important; gap:10px!important;
    padding:17px!important; min-height:0!important;
  }
  #toolListView .tool-list-row > div:first-child, #toolListView .tool-list-row h3,
  #toolListView .tool-list-row p {
    min-width:0!important; max-width:100%!important; overflow-wrap:anywhere!important;
  }
  #toolListView .tool-list-row .card-stats, #toolListView .tool-list-row .card-engagement {
    position:relative!important; inset:auto!important; justify-self:start!important; align-self:start!important;
    width:max-content!important; max-width:100%!important; margin:0!important; transform:none!important; z-index:1!important;
  }

  .engagement { display:inline-flex!important; flex-wrap:wrap!important; align-items:center!important;
    gap:3px!important; max-width:100%!important; box-sizing:border-box!important; }
  .engagement button { min-height:30px!important; padding:5px 6px!important; white-space:nowrap!important; }

  #toolViewer .tool-viewer-head {
    display:flex!important; flex-direction:column!important; align-items:stretch!important;
    gap:12px!important; padding-right:0!important;
  }
  #toolViewer #toolViewerEngagement {
    position:relative!important; inset:auto!important; align-self:flex-start!important; max-width:100%!important;
  }
}
@media (prefers-reduced-motion:reduce) {
  #vgGlobalNav .vg-dot, #vgGlobalNav .vg-dot::after { transition:none!important; }
}

/* ===== Extracted style block %02d ===== */
/* block 19 */
/* One motion authority: views fade once; nested cards move without a second opacity animation. */
:root {
  --motion-ease: cubic-bezier(.18,.78,.24,1);
  --motion-ease-out: cubic-bezier(.16,1,.3,1);
  --motion-ease-in: cubic-bezier(.4,0,1,1);
  --motion-ease-standard: cubic-bezier(.4,0,.2,1);
  --motion-ease-inout: cubic-bezier(.65,0,.35,1);
  --motion-fast: 160ms;
  --motion-base: 240ms;
  --motion-enter: 380ms;
  --motion-exit: 220ms;
  --motion-nav: 360ms;
  --motion-distance: 7px;
}

/* Home and detail pages share one visibility lifecycle. */
#home {
  opacity: 0;
  transform: translate3d(0,var(--motion-distance),0) scale(.998);
  transition: opacity var(--motion-enter) var(--motion-ease-out),
              transform var(--motion-enter) var(--motion-ease-out) !important;
}
body.home-active #home { opacity: 1; transform: translate3d(0,0,0) scale(1); pointer-events: auto; }
body:not(.home-active) #home {
  opacity: 0;
  transform: translate3d(0,var(--motion-distance),0) scale(.998);
  pointer-events: none;
  transition-duration: var(--motion-exit) !important;
  transition-timing-function: var(--motion-ease-in) !important;
}
body.home-active #home { transition-timing-function: var(--motion-ease-out) !important; }
@starting-style { body.home-active #home { opacity: 0; transform: translate3d(0,var(--motion-distance),0) scale(.998); } }

/* Native display transitions make entering and leaving states symmetrical. */
.page,
.section-view,
.gallery-mode {
  transition: opacity var(--motion-enter) var(--motion-ease-out),
              transform var(--motion-enter) var(--motion-ease),
              display var(--motion-enter) allow-discrete !important;
  will-change: auto;
}
.page:not(.active),
.section-view:not(.active),
.gallery-mode:not(.active) {
  opacity: 0;
  transform: translate3d(0,var(--motion-distance),0) scale(.998);
  pointer-events: none;
  transition-duration: var(--motion-exit) !important;
  transition-timing-function: var(--motion-ease-in) !important;
}
.page.active,
.section-view.active,
.gallery-mode.active {
  opacity: 1;
  transform: translate3d(0,0,0) scale(1);
  filter: none !important;
  transition-timing-function: var(--motion-ease-out) !important;
}
/* Avoid nested opacity fades: inner views use a short positional settle only. */
.section-view,
.gallery-mode {
  transition: transform var(--motion-enter) var(--motion-ease),
              display var(--motion-enter) allow-discrete !important;
}
.section-view:not(.active),
.gallery-mode:not(.active) {
  opacity: 1;
  transform: translate3d(0,var(--motion-distance),0) scale(.998);
  transition-duration: var(--motion-exit) !important;
}
@starting-style {
  .page.active { opacity: 0; transform: translate3d(0,var(--motion-distance),0) scale(.998); }
  .section-view.active,
  .gallery-mode.active { transform: translate3d(0,var(--motion-distance),0) scale(.998); }
}

/* Cards enter with movement, not opacity: translucent glass no longer compounds fades. */
.article-card,
.article-full,
.article-detail-card,
.article-timeline-item,
.photo-card,
.year-card,
.timeline-photo,
.tool-card,
.tool-tile,
.tool-list-row {
  transition: transform var(--motion-base) var(--motion-ease-out),
              box-shadow var(--motion-base) var(--motion-ease-standard),
              border-color var(--motion-base) var(--motion-ease-standard),
              background-color var(--motion-base) var(--motion-ease-standard);
}
.article-card,
.article-full,
.article-detail-card,
.article-timeline-item,
.photo-card,
.year-card,
.timeline-photo,
.tool-card,
.tool-tile,
.tool-list-row {
  animation: myblog-card-settle var(--motion-enter) var(--motion-ease) both;
}
@keyframes myblog-card-settle {
  from { translate: 0 7px; scale: .995; }
  to   { translate: 0 0; scale: 1; }
}

/* Full-photo changes animate position only; the gallery/page owns opacity. */
.full-photo-stage img { animation: none !important; will-change: auto !important; }
.full-photo-stage img.full-refresh { animation: myblog-photo-settle var(--motion-base) var(--motion-ease) both !important; }
@keyframes myblog-photo-settle {
  from { translate: 12px 0; scale: .998; }
  to   { translate: 0 0; scale: 1; }
}

/* Unified tool-detail entrance and exit. */
#toolViewer {
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--motion-base) var(--motion-ease-standard),
              display var(--motion-base) allow-discrete !important;
}
#toolViewer.open { opacity: 1; pointer-events: auto; }
#toolViewer:not(.open) { transition-duration: var(--motion-exit) !important; transition-timing-function: var(--motion-ease-in) !important; }
#toolViewer .tool-viewer-panel {
  translate: 0 10px;
  scale: .995;
  transition: translate var(--motion-enter) var(--motion-ease-out), scale var(--motion-enter) var(--motion-ease-out) !important;
  animation: none !important;
}
#toolViewer.open .tool-viewer-panel { translate: 0 0; scale: 1; }
@starting-style {
  #toolViewer.open { opacity: 0; }
  #toolViewer.open .tool-viewer-panel { translate: 0 10px; scale: .995; }
}

/* Modal backdrop fades while its contents settle; no nested opacity animation. */
.modal {
  opacity: 0;
  transition: opacity var(--motion-base) var(--motion-ease-standard),
              display var(--motion-base) allow-discrete !important;
}
.modal.open { opacity: 1; }
.modal:not(.open) { transition-duration: var(--motion-exit) !important; transition-timing-function: var(--motion-ease-in) !important; }
.modal .modal-box {
  translate: 0 10px;
  scale: .99;
  transition: translate var(--motion-enter) var(--motion-ease-out), scale var(--motion-enter) var(--motion-ease-out) !important;
  animation: none !important;
}
.modal.open .modal-box { translate: 0 0; scale: 1; }
@starting-style {
  .modal.open { opacity: 0; }
  .modal.open .modal-box { translate: 0 10px; scale: .99; }
}

/* Consistent tactile feedback across controls; preserve component-specific colors. */
#menuBtn,
#vgGlobalNav .vg-back,
.more,
.tool-action,
.tool-copy,
.comment-submit,
.admin-btn,
.timer-preset,
.close,
.carousel-arrow,
.arrow,
.tool-viewer-close,
.tool-viewer-nav {
  transition-duration: var(--motion-base) !important;
  transition-timing-function: var(--motion-ease) !important;
}
button:active:not(:disabled) { transform: scale(.985); }
button:disabled { cursor: not-allowed; }

/* The unified navigation layer and its arrows enter/leave with the same lifecycle. */
#vgGlobalNav {
  opacity: 0;
  transition: opacity var(--motion-enter) var(--motion-ease-out),
              display var(--motion-enter) allow-discrete !important;
}
#vgGlobalNav:not([hidden]) { opacity: 1; }
#vgGlobalNav[hidden] {
  opacity: 0;
  pointer-events: none !important;
  transition-duration: var(--motion-exit) !important;
  transition-timing-function: var(--motion-ease-in) !important;
}
#vgGlobalNav[hidden] .vg-back,
#vgGlobalNav[hidden] .vg-arrow,
#vgGlobalNav[hidden] .vg-dot-rail { pointer-events: none !important; }
#vgGlobalNav .vg-arrow {
  transition: opacity var(--motion-base) var(--motion-ease-standard),
              transform var(--motion-base) var(--motion-ease),
              display var(--motion-base) allow-discrete !important;
}
#vgGlobalNav .vg-arrow[hidden] {
  opacity: 0;
  pointer-events: none !important;
  transition-duration: var(--motion-exit) !important;
}
@starting-style { #vgGlobalNav:not([hidden]) { opacity: 0; } }

/* Sliding indicator for the unified three-dot navigator. */
#vgGlobalNav .vg-dot-rail { position: fixed; isolation: isolate; }
#vgGlobalNav .vg-dot-rail::before {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
  left: 7px;
  top: 10px;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 4px rgba(255,255,255,.08), 0 0 18px rgba(255,255,255,.2);
  transform: translateY(calc(var(--vg-dot-index,0) * 21px));
  transition: transform var(--motion-nav) var(--motion-ease-inout);
}
#vgGlobalNav .vg-dot { position: relative; z-index: 1; background: rgba(255,255,255,.10); border-color: rgba(255,255,255,.42); box-shadow: none; }
#vgGlobalNav .vg-dot.active { background: transparent; border-color: transparent; box-shadow: none; }
#vgGlobalNav .vg-dot:hover { transform: scale(1.08); }

@media (max-width:760px), (pointer:coarse) {
  #vgGlobalNav .vg-dot-rail::before {
    left: 12px;
    top: 8px;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(255,255,255,.22);
    background: rgba(255,255,255,.11);
    box-shadow: 0 0 18px rgba(255,255,255,.07), inset 0 1px 0 rgba(255,255,255,.10);
    transform: translateX(calc(var(--vg-dot-index,0) * 60px));
  }
  #vgGlobalNav .vg-dot,
  #vgGlobalNav .vg-dot.active {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
  }
  #vgGlobalNav .vg-dot:hover { transform: none; }
}

/* Tag-filtered cards fade and slide out before their display state changes. */
#articleTypeView .article-flat-grid [data-article] {
  transition: opacity var(--motion-base) var(--motion-ease-standard),
              translate var(--motion-base) var(--motion-ease),
              display var(--motion-base) allow-discrete;
}
#articleTypeView .article-flat-grid [data-article][hidden] {
  opacity: 0;
  translate: 0 5px;
  pointer-events: none;
  transition-duration: var(--motion-exit);
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 1ms !important;
  }
  #vgGlobalNav .vg-dot-rail::before { transition: none !important; }
}

/* ===== Extracted style block %02d ===== */
/* block 20 */
/* V1.01: motion is differentiated by intent, not one generic easing curve. */
:root {
  --motion-ease: cubic-bezier(.18,.78,.24,1);
  --motion-ease-out: cubic-bezier(.16,1,.3,1);
  --motion-ease-in: cubic-bezier(.4,0,1,1);
  --motion-ease-standard: cubic-bezier(.4,0,.2,1);
  --motion-ease-inout: cubic-bezier(.65,0,.35,1);
}
/* Route entrances settle gently; route exits accelerate away without a hard stop. */
#home, .page, .section-view, .gallery-mode, #toolViewer, .modal, #vgGlobalNav {
  transition-behavior: allow-discrete;
}
body.home-active #home, .page.active, .section-view.active, .gallery-mode.active,
#toolViewer.open, .modal.open, #vgGlobalNav:not([hidden]) {
  transition-timing-function: var(--motion-ease-out) !important;
}
body:not(.home-active) #home, .page:not(.active), .section-view:not(.active),
.gallery-mode:not(.active), #toolViewer:not(.open), .modal:not(.open), #vgGlobalNav[hidden] {
  transition-timing-function: var(--motion-ease-in) !important;
}
#vgGlobalNav .vg-dot-rail::before {
  transition: transform var(--motion-nav) var(--motion-ease-inout) !important;
}
/* Small controls respond quickly; large surfaces move with a more deliberate ease-out. */
button, input, select, textarea, .more, .tool-action, .tool-copy, .comment-submit,
.admin-btn, .timer-preset, .close, .carousel-arrow, .arrow, .tool-viewer-close,
.tool-viewer-nav, .nav-btn {
  transition-timing-function: var(--motion-ease-standard) !important;
}
button:hover:not(:disabled), .more:hover, .tool-action:hover, .tool-copy:hover,
.comment-submit:hover, .admin-btn:hover, .nav-btn:hover {
  transition-timing-function: var(--motion-ease-out) !important;
}
button:active:not(:disabled), .more:active, .tool-action:active, .tool-copy:active,
.comment-submit:active, .admin-btn:active {
  transition-duration: var(--motion-fast) !important;
  transition-timing-function: var(--motion-ease-in) !important;
}
.glass, .article-card, .article-full, .article-detail-card, .article-timeline-item,
.photo-card, .year-card, .timeline-photo, .tool-card, .tool-tile, .tool-list-row {
  transition-timing-function: var(--motion-ease-out);
}
.photo-card img, .year-card img, .timeline-photo img {
  transition-timing-function: var(--motion-ease-out);
}
@media (prefers-reduced-motion: reduce) {
  #vgGlobalNav .vg-dot-rail::before { transition: none !important; }
}


/* V1.1 follow-up: keep modal geometry inside the viewport and scroll within the panel. */
.modal {
  box-sizing: border-box !important;
  padding: clamp(10px, 2.5vw, 24px) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  align-items: center !important;
}
.modal .modal-box {
  box-sizing: border-box !important;
  width: min(920px, 100%) !important;
  min-width: 0 !important;
  max-width: 100% !important;
  max-height: calc(100vh - 48px) !important;
  max-height: calc(100dvh - 48px) !important;
  min-height: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
#adminModal .modal-box {
  width: min(1120px, 100%) !important;
  max-height: calc(100vh - 48px) !important;
  max-height: calc(100dvh - 48px) !important;
}
#adminModal #adminCode {
  min-width: 0;
}
@media (max-width: 680px) {
  .modal { padding: 10px !important; align-items: flex-start !important; }
  .modal .modal-box, #adminModal .modal-box {
    width: 100% !important;
    max-height: calc(100vh - 20px) !important;
    max-height: calc(100dvh - 20px) !important;
    padding: 16px !important;
    margin-block: auto;
  }
  .admin-row { grid-template-columns: minmax(0, 1fr) !important; }
}


/* V1.1.1 — content-console usability pass */
#adminModal{padding:clamp(8px,2vw,22px);align-items:center;overscroll-behavior:contain}
#adminModal .modal-box{width:min(1080px,100%);max-height:calc(100dvh - 24px);height:auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:clamp(15px,2.3vw,28px);box-sizing:border-box;scrollbar-gutter:stable}
#adminModal .modal-head{position:sticky;top:calc(-1 * clamp(15px,2.3vw,28px));z-index:8;padding:8px 0 12px;margin-bottom:14px;background:rgba(18,23,30,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.09)}
.admin-console-intro{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:8px 0 18px}
.admin-console-intro h3,.admin-section-heading h3,.admin-editor-head h3{margin:0 0 5px;font-size:clamp(19px,2.3vw,25px);letter-spacing:-.025em}
.admin-console-intro p,.admin-section-heading p,.admin-editor-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}
.admin-eyebrow{font-size:10px!important;letter-spacing:.16em;color:#b7c8d9!important;margin:0 0 5px!important}
.admin-console-status{white-space:nowrap;font-size:11px;color:var(--muted);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:7px 10px}
.admin-console-status i{display:inline-block;width:6px;height:6px;background:#92d7a5;border-radius:50%;margin-right:5px}
#adminModal .admin-tabs{display:flex;gap:5px;overflow-x:auto;overscroll-behavior-x:contain;padding:5px;margin:0 0 20px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.14);border-radius:12px;scrollbar-width:thin}
#adminModal .admin-tabs button{flex:0 0 auto;border:1px solid transparent;background:transparent;color:rgba(255,255,255,.66);padding:10px 14px;border-radius:8px;font-size:13px;transition:background .18s,border-color .18s,color .18s}
#adminModal .admin-tabs button:hover{background:rgba(255,255,255,.06);color:#fff}
#adminModal .admin-tabs button.active{background:rgba(220,232,245,.15);border-color:rgba(220,232,245,.18);color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.admin-section-heading,.admin-list-heading,.admin-editor-head{display:flex;justify-content:space-between;align-items:center;gap:14px}
.admin-section-heading{margin:4px 0 18px}
.admin-list-heading{padding:12px 2px 8px;border-bottom:1px solid rgba(255,255,255,.09);font-size:12px}
.admin-list-heading span{color:var(--muted);font-size:11px}
.admin-editor-workspace{margin-top:18px;padding:clamp(14px,2vw,22px);border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(0,0,0,.14);scroll-margin-top:15px}
.admin-editor-workspace[hidden]{display:none!important}
.admin-editor-head{padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid rgba(255,255,255,.09)}
.admin-editor-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px}
.admin-primary{background:rgba(219,231,244,.19)!important;border-color:rgba(220,232,245,.28)!important;color:#fff!important}
#adminModal .admin-btn{min-height:34px;padding:8px 12px;font-size:12px;border-radius:8px;white-space:nowrap}
#adminModal .admin-item{padding:12px 13px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.035);border-radius:11px;align-items:center}
#adminModal .admin-item:hover{border-color:rgba(255,255,255,.15);background:rgba(255,255,255,.055)}
.admin-article-summary{display:flex;align-items:center;gap:11px;min-width:0}
.admin-article-mark{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:10px;background:rgba(220,232,245,.1);color:rgba(255,255,255,.78);font-size:13px}
.admin-article-copy{display:grid;gap:5px;min-width:0}
.admin-article-copy strong{font-size:13px;font-weight:600;overflow-wrap:anywhere}
.admin-article-copy small{font-size:11px;color:var(--muted)}
.admin-item-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
.admin-empty-state{display:grid;justify-items:center;text-align:center;gap:7px;padding:38px 15px;border:1px dashed rgba(255,255,255,.14);border-radius:12px;color:var(--muted)}
.admin-empty-state>span{font-size:25px;color:rgba(255,255,255,.55)}
.admin-empty-state strong{font-size:13px;color:rgba(255,255,255,.8)}
.admin-empty-state p{font-size:12px;margin:0}
#adminModal .admin-panel h3{font-size:16px}
#adminModal .field input,#adminModal .field textarea,#adminModal .field select{box-sizing:border-box;min-height:39px}
#adminModal .editor{min-height:280px;max-height:none;overflow:auto}
#adminModal .admin-list{gap:7px}
@media(max-width:650px){
 #adminModal{padding:7px;align-items:flex-start}
 #adminModal .modal-box{max-height:calc(100dvh - 14px);width:100%;padding:14px;border-radius:14px}
 #adminModal .modal-head{top:-14px;margin-bottom:10px}
 .admin-console-intro{align-items:flex-start;padding-bottom:13px}
 .admin-console-status{font-size:10px;padding:6px 8px}
 #adminModal .admin-tabs{margin-bottom:15px}
 #adminModal .admin-tabs button{padding:9px 11px;font-size:12px}
 .admin-section-heading{align-items:flex-start}
 .admin-item-actions{flex-wrap:wrap;justify-content:flex-end}
 #adminModal .admin-item{align-items:flex-start}
 .admin-editor-head{align-items:flex-start}
 .admin-editor-actions{align-items:stretch}
 .admin-editor-actions .admin-btn{flex:1}
}

/* V1.1.2 — separate token/login panel scrolling from the admin workspace.
   Keep the dialog title fixed; only the active body region may scroll. */
#adminModal.modal{align-items:center;justify-content:center;overflow:hidden}
#adminModal .modal-box{display:flex;flex-direction:column;overflow:hidden!important;max-height:calc(100dvh - 32px)!important;height:auto;min-height:0;padding:clamp(14px,2vw,24px)}
#adminModal .modal-head{position:relative!important;top:auto!important;flex:0 0 auto;margin:0 0 14px!important;padding:8px 0 12px!important;background:rgba(18,23,30,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.09)}
#adminModal #adminLogin{display:block;flex:0 1 auto;min-height:0;max-height:calc(100dvh - 120px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;padding:0 2px 4px}
#adminModal #adminApp{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:2px}
#adminModal #adminCode{box-sizing:border-box;width:100%;min-height:48px;font-size:14px}
@media(max-width:650px){
 #adminModal.modal{align-items:center!important;padding:8px!important}
 #adminModal .modal-box{width:100%!important;max-height:calc(100dvh - 16px)!important;padding:14px!important}
 #adminModal .modal-head{top:auto!important;margin-bottom:12px!important}
 #adminModal #adminLogin{max-height:calc(100dvh - 100px)}
}

/* V1.1.3 visual refinement from preview screenshots.
   Keep the token dialog header visually transparent; soften card elevation. */
#adminModal .modal-head {
  background: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  border-bottom-color: rgba(255,255,255,.07) !important;
  box-shadow: none !important;
}
#adminModal .modal-head h2,
#adminModal .modal-head h3,
#adminModal .modal-head .modal-title {
  background: transparent !important;
  box-shadow: none !important;
}
#adminModal #adminLogin {
  max-height: none !important;
  overflow: visible !important;
  scrollbar-gutter: auto !important;
}
#adminModal #adminLogin .field,
#adminModal #adminLogin p,
#adminModal #adminLogin button {
  max-width: 100%;
}
.article-card,
.photo-card,
#recentArticles .article-card,
#recentPhotos .photo-card {
  box-shadow: 0 8px 24px rgba(0,0,0,.13), inset 0 1px 0 rgba(255,255,255,.13) !important;
  filter: none !important;
}
.article-card:hover,
.photo-card:hover,
#recentArticles .article-card:hover,
#recentPhotos .photo-card:hover {
  box-shadow: 0 12px 30px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.17) !important;
}
@media (max-width: 680px) {
  #adminModal #adminLogin { max-height: none !important; overflow: visible !important; }
}


/* V1.1 Gallery image geometry fix — stable boxes without letterboxing */
#pageGallery { overflow-anchor: none; }
#recentPhotos .photo-card { display:flex!important; flex-direction:column!important; align-self:stretch!important; height:auto!important; min-height:0!important; overflow:hidden!important; }
#recentPhotos .photo-card > img { display:block!important; width:100%!important; height:clamp(190px,20vw,270px)!important; flex:0 0 clamp(190px,20vw,270px)!important; object-fit:cover!important; object-position:center!important; background:transparent!important; }
#recentPhotos .photo-card .photo-caption { position:relative!important; left:auto!important; right:auto!important; bottom:auto!important; flex:0 0 auto!important; margin:0!important; }
#galleryYears .photo-mosaic-grid { display:block!important; column-width:clamp(220px,24vw,340px)!important; column-gap:14px!important; column-fill:balance!important; }
#galleryYears .photo-mosaic-card { display:inline-flex!important; flex-direction:column!important; width:100%!important; min-width:0!important; height:auto!important; aspect-ratio:auto!important; margin:0 0 14px!important; padding:0!important; overflow:hidden!important; break-inside:avoid!important; -webkit-column-break-inside:avoid!important; vertical-align:top!important; cursor:pointer!important; }
#galleryYears .photo-mosaic-card > img { display:block!important; width:100%!important; height:auto!important; max-width:100%!important; max-height:none!important; min-height:0!important; margin:0!important; object-fit:initial!important; object-position:center!important; background:transparent!important; }
#galleryYears .photo-mosaic-caption { display:flex!important; flex-direction:column!important; gap:3px!important; padding:10px 12px!important; overflow-wrap:anywhere!important; font-size:.9rem!important; }
#galleryYears .photo-mosaic-caption small { opacity:.72!important; font-size:.78rem!important; }
#galleryTimeline .timeline-photos { align-items:flex-start!important; }
#galleryTimeline .timeline-photo { flex:0 0 auto!important; width:fit-content!important; max-width:min(360px,82vw)!important; height:auto!important; min-height:0!important; overflow:hidden!important; align-self:flex-start!important; }
#galleryTimeline .timeline-photo > img { display:block!important; width:auto!important; height:auto!important; max-width:min(360px,82vw)!important; max-height:360px!important; object-fit:initial!important; object-position:center!important; background:transparent!important; }
#galleryTimeline .timeline-photo .photo-caption { left:9px!important; right:9px!important; bottom:8px!important; }
@media(max-width:680px){
 #recentPhotos .photo-card > img{height:190px!important;flex-basis:190px!important}
 #galleryYears .photo-mosaic-grid{column-width:calc(50vw - 28px)!important;column-gap:10px!important}
 #galleryYears .photo-mosaic-card{margin-bottom:10px!important}
 #galleryTimeline .timeline-photo{max-width:min(82vw,360px)!important}
 #galleryTimeline .timeline-photo > img{max-width:min(82vw,360px)!important;max-height:300px!important}
}

/* Gallery dot switching: keep the page geometry stationary; transition opacity only. */
#pageGallery .gallery-mode {
  transition: opacity 160ms var(--motion-ease-out), display 160ms allow-discrete !important;
  transform: none !important;
}
#pageGallery .gallery-mode:not(.active) {
  transform: none !important;
}
#pageGallery .gallery-mode.active {
  transform: none !important;
}


/* Final motion polish: gentle lift on pointer devices; never animate for reduced-motion users. */
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .glass:hover, .article-card:hover, .article-full:hover, .article-detail-card:hover,
  .article-timeline-item:hover, .photo-card:hover, .year-card:hover,
  .timeline-photo:hover, .tool-card:hover, .tool-tile:hover, .tool-list-row:hover {
    transform: translate3d(0,-3px,0) scale(1.006);
  }
}
#vgGlobalNav .vg-arrow { touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
#vgGlobalNav .vg-arrow:focus-visible, #vgGlobalNav .vg-back:focus-visible,
#vgGlobalNav .vg-dot:focus-visible { outline: 2px solid rgba(255,255,255,.9); outline-offset: 3px; }
