:root{
  --bg:#050604;--fg:#f2efe3;--muted:#9b9688;--line:rgba(242,239,227,.13);
  --panel:rgba(12,13,10,.62);--panel2:rgba(242,239,227,.075);
  --yellow:#cfff0a;--blue:#42d8ff;--red:#ff527d;--purple:#a57cff;--green:#53f0b0;
  --grid:rgba(242,239,227,.026);--shadow:rgba(0,0,0,.9);--ease:cubic-bezier(.16,1,.3,1);
}
body.light{
  --bg:#fbf8f0;--fg:#171713;--muted:#756f63;--line:rgba(23,23,19,.12);
  --panel:rgba(255,255,250,.66);--panel2:rgba(23,23,19,.055);
  --yellow:#817f00;--blue:#1d63c8;--red:#c93b58;--purple:#6d45b9;--green:#1d7355;
  --grid:rgba(23,23,19,.035);--shadow:rgba(251,248,240,.9);
}
body.prism{
  --bg:#050010;--fg:#fffdf5;--muted:#bcb4d6;--line:rgba(255,255,255,.24);
  --panel:rgba(255,255,255,.085);--panel2:rgba(255,255,255,.14);
  --yellow:#fff200;--blue:#00e5ff;--red:#ff2f93;--purple:#b86cff;--green:#40ffc8;
  --grid:rgba(255,255,255,.055);--shadow:rgba(0,0,0,.88);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;min-height:100vh;color:var(--fg);font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif;
  background:
    linear-gradient(var(--grid) 1px,transparent 1px),
    linear-gradient(90deg,var(--grid) 1px,transparent 1px),
    radial-gradient(circle at 78% 12%,color-mix(in srgb,var(--yellow) 22%,transparent),transparent 27%),
    radial-gradient(circle at 12% 80%,color-mix(in srgb,var(--blue) 16%,transparent),transparent 34%),
    radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--red) 9%,transparent),transparent 38%),
    var(--bg);
  background-size:48px 48px,48px 48px,auto,auto,auto;
  overflow-x:hidden;transition:color .7s var(--ease),background-color .7s var(--ease);
}
body:before{content:"";position:fixed;inset:-25%;z-index:-5;pointer-events:none;background:conic-gradient(from 180deg,transparent,color-mix(in srgb,var(--yellow) 12%,transparent),transparent,color-mix(in srgb,var(--blue) 12%,transparent),transparent,color-mix(in srgb,var(--red) 10%,transparent),transparent);filter:blur(80px);opacity:.75;animation:aurora 20s linear infinite}
body.prism:before{background:conic-gradient(from 0deg,color-mix(in srgb,var(--yellow) 30%,transparent),color-mix(in srgb,var(--blue) 24%,transparent),color-mix(in srgb,var(--red) 28%,transparent),color-mix(in srgb,var(--green) 24%,transparent),color-mix(in srgb,var(--purple) 30%,transparent),color-mix(in srgb,var(--yellow) 30%,transparent));opacity:1;filter:blur(72px);animation:aurora 9s linear infinite}
@keyframes aurora{to{transform:rotate(360deg)}}
button,a{font:inherit;color:inherit}
button:focus-visible,a:focus-visible,.work:focus-visible,.zh:focus-visible,.fallen-title-piece:focus-visible{outline:2px solid var(--yellow);outline-offset:4px}
canvas#field{position:fixed;inset:0;z-index:-2;width:100%;height:100%;pointer-events:none;opacity:.75;mix-blend-mode:screen}
body.light canvas#field{opacity:.32;mix-blend-mode:multiply}
body.prism canvas#field{opacity:.9;mix-blend-mode:screen}
.noise{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}
.cursor{position:fixed;left:0;top:0;z-index:100;width:16px;height:16px;border:1px solid var(--yellow);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);mix-blend-mode:difference;transition:width .25s var(--ease),height .25s var(--ease)}
.cursor:after{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--fg)}
.cursor.hover{width:52px;height:52px}
.top-actions{position:fixed;top:max(24px,env(safe-area-inset-top));right:max(28px,env(safe-area-inset-right));z-index:60;display:flex;gap:10px;max-width:calc(100vw - 48px);flex-wrap:wrap;justify-content:flex-end}
.top-actions[inert]{opacity:.62;pointer-events:none}
.pill{border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:blur(16px);padding:11px 15px;font-size:11px;letter-spacing:.1em;text-decoration:none;cursor:pointer;transition:transform .35s var(--ease),border-color .35s,background-color .7s var(--ease)}
.pill:hover{transform:translateY(-2px);border-color:var(--yellow)}
.pill:disabled,.viewer-nav:disabled{opacity:.34;cursor:not-allowed;transform:none!important;filter:saturate(.4)}
.admin-link{color:var(--muted)}
.sound-toggle{position:relative;overflow:hidden;color:var(--muted)}
.sound-toggle:after{content:"";position:absolute;left:15px;right:15px;bottom:7px;height:1px;background:var(--yellow);opacity:0;transform:scaleX(.2);transition:opacity .28s var(--ease),transform .28s var(--ease)}
.sound-toggle.active{color:var(--fg);border-color:color-mix(in srgb,var(--yellow) 74%,var(--line));box-shadow:0 0 22px color-mix(in srgb,var(--yellow) 12%,transparent),inset 0 0 14px color-mix(in srgb,var(--yellow) 5%,transparent)}
.sound-toggle.active:after{opacity:.8;transform:scaleX(1)}
.wipe{position:fixed;inset:-3%;z-index:85;display:grid;grid-template-columns:repeat(9,1fr);pointer-events:none;opacity:0;perspective:900px;isolation:isolate}
.wipe.active{opacity:1}.wipe:before{content:"";position:absolute;left:50%;top:50%;z-index:3;width:30vmax;height:30vmax;border:1px solid color-mix(in srgb,var(--fg) 72%,transparent);border-radius:50%;box-shadow:0 0 0 4vmax color-mix(in srgb,var(--yellow) 11%,transparent),0 0 90px color-mix(in srgb,var(--blue) 28%,transparent),inset 0 0 60px color-mix(in srgb,var(--red) 22%,transparent);opacity:0;mix-blend-mode:difference;transform:translate(-50%,-50%) scale(.08) rotate(0deg)}
.wipe:after{content:"";position:absolute;left:-28%;right:-28%;top:50%;z-index:4;height:3px;background:linear-gradient(90deg,transparent,var(--yellow),var(--fg),var(--blue),transparent);box-shadow:0 0 34px color-mix(in srgb,var(--fg) 72%,transparent);opacity:0;transform:translateY(-50%) rotate(-11deg) scaleX(0)}
.wipe.active:before{animation:portalImpact 1.34s var(--ease) both}.wipe.active:after{animation:slash 1.34s var(--ease) both}
.burst{position:absolute;left:50%;top:50%;z-index:2;width:112vmax;height:112vmax;border-radius:50%;pointer-events:none;opacity:0;background:repeating-conic-gradient(from -8deg,transparent 0deg 8deg,color-mix(in srgb,var(--yellow) 78%,transparent) 8deg 9deg,transparent 9deg 18deg,color-mix(in srgb,var(--blue) 60%,transparent) 18deg 19deg,transparent 19deg 31deg,color-mix(in srgb,var(--fg) 66%,transparent) 31deg 32deg,transparent 32deg 42deg);mask-image:radial-gradient(circle,transparent 0 8%,#000 9% 56%,transparent 68%);-webkit-mask-image:radial-gradient(circle,transparent 0 8%,#000 9% 56%,transparent 68%);mix-blend-mode:screen;transform:translate(-50%,-50%) scale(.04) rotate(0deg)}
.wipe.active .burst{animation:burstRays 1.34s cubic-bezier(.12,.9,.12,1) both}.wipe i{display:block;min-height:106vh;clip-path:polygon(0 0,100% 7%,100% 100%,0 93%);background:linear-gradient(180deg,color-mix(in srgb,var(--c,var(--fg)) 55%,transparent),var(--fg) 58%,color-mix(in srgb,var(--bg) 35%,transparent));transform:translateY(-118%) skewY(-8deg) rotateX(58deg);transform-origin:top}
.wipe.active i{animation:panelFlip 1.22s var(--ease) both}.wipe i:nth-child(2){--c:var(--yellow);animation-delay:.035s}.wipe i:nth-child(4){--c:var(--blue);animation-delay:.105s}.wipe i:nth-child(6){--c:var(--red);animation-delay:.175s}.wipe i:nth-child(8){--c:var(--purple);animation-delay:.245s}
body.theme-switching main{animation:impactShake 1.34s var(--ease) both;transform-origin:center}
@keyframes panelFlip{0%{transform:translateY(-118%) skewY(-8deg) rotateX(58deg)}38%{transform:translateY(0) skewY(-8deg) rotateX(0deg)}58%{transform:translateY(0) skewY(7deg) rotateX(0deg)}100%{transform:translateY(118%) skewY(7deg) rotateX(-58deg)}}
@keyframes portalImpact{0%{opacity:0;transform:translate(-50%,-50%) scale(.08) rotate(0deg)}8%{opacity:1;transform:translate(calc(-50% + 5px),calc(-50% - 4px)) scale(.38) rotate(32deg)}28%{opacity:1;transform:translate(calc(-50% + 3px),calc(-50% + 5px)) scale(1.08) rotate(132deg)}48%{opacity:.92;transform:translate(-50%,-50%) scale(1.42) rotate(218deg)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.86) rotate(390deg)}}
@keyframes burstRays{0%{opacity:0;transform:translate(-50%,-50%) scale(.04) rotate(0deg)}8%{opacity:.95;transform:translate(calc(-50% + 5px),calc(-50% - 4px)) scale(.28) rotate(12deg)}24%{opacity:.88;transform:translate(calc(-50% - 4px),calc(-50% + 3px)) scale(.82) rotate(42deg)}48%{opacity:.36;transform:translate(-50%,-50%) scale(1.18) rotate(78deg)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.45) rotate(112deg)}}
@keyframes slash{0%,18%{opacity:0;transform:translateY(-50%) rotate(-11deg) scaleX(0)}45%{opacity:1;transform:translateY(-50%) rotate(-11deg) scaleX(1)}100%{opacity:0;transform:translateY(-50%) rotate(-11deg) scaleX(.2) translateX(32%)}}
@keyframes impactShake{0%{filter:none;transform:none}6%{filter:saturate(1.45) contrast(1.15);transform:translate3d(5px,-4px,0) scale(1.006) rotate(.22deg)}12%{transform:translate3d(-7px,3px,0) scale(.996) rotate(-.28deg)}20%{filter:saturate(1.8) contrast(1.32);transform:translate3d(4px,5px,0) scale(1.014) rotate(.18deg)}56%{filter:saturate(1.5) contrast(1.18);transform:scale(.997)}100%{filter:none;transform:none}}
body.prism-switching .wipe{filter:saturate(1.6) contrast(1.2)}
body.prism-switching .wipe:before{width:22vmax;height:22vmax;border-width:2px;border-color:#fff;box-shadow:0 0 0 2vmax color-mix(in srgb,var(--yellow) 26%,transparent),0 0 0 5vmax color-mix(in srgb,var(--blue) 20%,transparent),0 0 0 8vmax color-mix(in srgb,var(--red) 16%,transparent),0 0 120px #fff;animation:prismCore 1.55s cubic-bezier(.12,.9,.12,1) both}
body.prism-switching .wipe:after{height:5px;background:linear-gradient(90deg,transparent,#fff200,#00e5ff,#ff2f93,#40ffc8,#fff,transparent);animation:prismSlash 1.55s cubic-bezier(.12,.9,.12,1) both}
body.prism-switching .wipe.active .burst{background:repeating-conic-gradient(from 0deg,#fff200 0deg 1deg,transparent 1deg 7deg,#00e5ff 7deg 8deg,transparent 8deg 15deg,#ff2f93 15deg 16deg,transparent 16deg 25deg,#40ffc8 25deg 26deg,transparent 26deg 36deg);mask-image:radial-gradient(circle,transparent 0 6%,#000 7% 68%,transparent 76%);-webkit-mask-image:radial-gradient(circle,transparent 0 6%,#000 7% 68%,transparent 76%);animation:prismRays 1.55s cubic-bezier(.12,.9,.12,1) both}
body.prism-switching .wipe i{background:linear-gradient(180deg,color-mix(in srgb,var(--c,var(--fg)) 72%,transparent),#fff 50%,color-mix(in srgb,var(--bg) 24%,transparent));mix-blend-mode:screen}
body.prism-switching .wipe.active i{animation:prismPanel 1.38s cubic-bezier(.12,.9,.12,1) both}
body.prism-switching main{animation:prismKick 1.55s cubic-bezier(.12,.9,.12,1) both;transform-origin:center}
@keyframes prismCore{0%{opacity:0;transform:translate(-50%,-50%) scale(.04) rotate(0deg)}10%{opacity:1;transform:translate(calc(-50% + 8px),calc(-50% - 6px)) scale(.46) rotate(80deg)}24%{transform:translate(calc(-50% - 7px),calc(-50% + 5px)) scale(1.04) rotate(180deg)}52%{opacity:.96;transform:translate(-50%,-50%) scale(1.58) rotate(340deg)}100%{opacity:0;transform:translate(-50%,-50%) scale(2.1) rotate(620deg)}}
@keyframes prismRays{0%{opacity:0;transform:translate(-50%,-50%) scale(.04) rotate(0deg)}8%{opacity:1;transform:translate(calc(-50% + 8px),calc(-50% - 6px)) scale(.35) rotate(24deg)}32%{opacity:.9;transform:translate(calc(-50% - 7px),calc(-50% + 5px)) scale(1.05) rotate(84deg)}58%{opacity:.44;transform:translate(-50%,-50%) scale(1.42) rotate(132deg)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.72) rotate(190deg)}}
@keyframes prismSlash{0%,10%{opacity:0;transform:translateY(-50%) rotate(18deg) scaleX(0)}32%{opacity:1;transform:translateY(-50%) rotate(18deg) scaleX(1.1)}100%{opacity:0;transform:translateY(-50%) rotate(18deg) scaleX(.25) translateX(-30%)}}
@keyframes prismPanel{0%{transform:translateY(-120%) skewY(12deg) rotateX(68deg) scaleX(.8)}32%{transform:translateY(0) skewY(-12deg) rotateX(0deg) scaleX(1.08)}56%{transform:translateY(0) skewY(9deg) rotateX(0deg) scaleX(1)}100%{transform:translateY(120%) skewY(-14deg) rotateX(-68deg) scaleX(.85)}}
@keyframes prismKick{0%,100%{filter:none;transform:none}6%{filter:hue-rotate(45deg) saturate(2.3) contrast(1.35);transform:translate3d(9px,-6px,0) scale(1.018) rotate(.42deg)}14%{transform:translate3d(-10px,7px,0) scale(.99) rotate(-.48deg)}26%{filter:hue-rotate(-65deg) saturate(2.7) contrast(1.5);transform:translate3d(6px,5px,0) scale(1.024) rotate(.3deg)}48%{filter:hue-rotate(120deg) saturate(2.1) contrast(1.24);transform:scale(.992) rotate(-.16deg)}}
.landing{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:18px;padding:24px;transition:opacity .48s var(--ease),transform .56s var(--ease);will-change:opacity,transform;backface-visibility:hidden}
body.archive-open .landing{opacity:0;transform:translate3d(0,-18px,0) scale(.985);pointer-events:none;position:fixed;inset:0}
.panel{position:relative;overflow:hidden;border:1px solid var(--line);background:linear-gradient(135deg,color-mix(in srgb,var(--fg) 8%,transparent),transparent 42%),var(--panel);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 30px 120px rgba(0,0,0,.22);transition:border-radius .7s var(--ease),border-color .35s,background-color .7s var(--ease)}
body.prism .panel{box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 30px 120px rgba(0,0,0,.3),0 0 36px color-mix(in srgb,var(--blue) 12%,transparent)}
body.prism .pill{border-color:color-mix(in srgb,var(--fg) 28%,var(--purple));background:color-mix(in srgb,var(--bg) 48%,transparent);box-shadow:0 0 24px color-mix(in srgb,var(--blue) 13%,transparent),inset 0 0 18px color-mix(in srgb,var(--red) 8%,transparent)}
body.prism .title-line{color:transparent;background:linear-gradient(90deg,#fff200,#00e5ff,#ff2f93,#40ffc8,#fff200);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none;animation:prismText 6s linear infinite}
body.prism .zh{text-shadow:0 0 28px color-mix(in srgb,var(--blue) 34%,transparent),0 0 44px color-mix(in srgb,var(--red) 24%,transparent)}
body.prism .intro{background:radial-gradient(circle at 78% 20%,color-mix(in srgb,var(--yellow) 23%,transparent),transparent 26%),radial-gradient(circle at 22% 82%,color-mix(in srgb,var(--blue) 20%,transparent),transparent 34%),linear-gradient(135deg,color-mix(in srgb,var(--purple) 18%,transparent),transparent 46%),var(--panel)}
body.prism .year-card,body.prism .work{backdrop-filter:blur(18px) saturate(1.35)}
body.prism .accent{animation:pulse 5s var(--ease) infinite,prismHue 8s linear infinite}
body.prism .panel,body.prism .main,body.prism .tags,body.prism .side,body.prism .year-card,body.prism .work{background:linear-gradient(145deg,color-mix(in srgb,var(--c,var(--active,var(--blue))) 12%,transparent),rgba(5,0,16,.66) 54%,rgba(5,0,16,.82));border-color:rgba(255,255,255,.34)}
body.prism .intro,body.prism .year-intro{background:radial-gradient(circle at 78% 20%,rgba(255,242,0,.18),transparent 28%),radial-gradient(circle at 18% 82%,rgba(0,229,255,.16),transparent 34%),linear-gradient(145deg,rgba(255,255,255,.1),rgba(5,0,16,.62) 58%,rgba(5,0,16,.72))}
body.prism .kicker,body.prism .intro-text,body.prism .thought,body.prism .year-intro p,body.prism .era-label,body.prism .year-desc,body.prism .archive-desc,body.prism .archive-room,body.prism .tag,body.prism .size-label,body.prism .view-btn,body.prism .size-btn,body.prism .wd,body.prism .wtag,body.prism .wnote,body.prism .viewer-info p{color:rgba(255,253,245,.9);text-shadow:0 1px 12px rgba(5,0,16,.86),0 0 2px rgba(5,0,16,.9)}
body.prism .kicker{font-weight:800;color:#fffdf5}
body.prism .year-intro h2,body.prism .year-title,body.prism .archive-title,body.prism .wt{color:#fffdf5;text-shadow:0 2px 18px rgba(5,0,16,.84),0 0 20px rgba(0,229,255,.16)}
body[data-year-mood="break"] .side{background:linear-gradient(145deg,color-mix(in srgb,var(--active) 18%,transparent),transparent 45%),repeating-linear-gradient(118deg,transparent 0 16px,color-mix(in srgb,var(--fg) 4%,transparent) 16px 18px),var(--panel)}
body[data-year-mood="training"] .main{background:linear-gradient(90deg,color-mix(in srgb,var(--green) 7%,transparent) 1px,transparent 1px),color-mix(in srgb,var(--bg) 72%,transparent);background-size:22px 22px}
body[data-year-mood="dark"] .work{filter:contrast(1.05) saturate(.9)}
body[data-year-mood="unknown"] .archive-room{filter:blur(.15px);letter-spacing:.04em}
body[data-year-mood="love"] .accent{border-radius:58% 42% 55% 45%;animation:pulse 4.6s var(--ease) infinite}
body[data-year-mood="road"] .side:after{content:"";position:absolute;left:30px;right:30px;bottom:198px;height:1px;background:linear-gradient(90deg,transparent,var(--active),transparent);opacity:.65}
@keyframes prismText{to{background-position:220% 0}}
@keyframes prismHue{to{filter:hue-rotate(360deg) saturate(1.3)}}
.intro{min-height:calc(100vh - 48px);border-radius:52px 52px 52px 190px;padding:clamp(30px,5vw,66px);display:flex;flex-direction:column;justify-content:space-between;animation:in .9s var(--ease) both}
.intro:hover{border-radius:98px 48px 178px 48px;border-color:var(--yellow)}.intro:before{content:"";position:absolute;right:-18vw;top:-18vw;width:58vw;height:58vw;min-width:460px;min-height:460px;border:1px solid var(--line);border-radius:50%;background:radial-gradient(circle,transparent 58%,color-mix(in srgb,var(--yellow) 12%,transparent) 59%,transparent 62%);animation:aurora 18s linear infinite}
.glow{position:absolute;right:-12%;bottom:-18%;width:48vw;height:48vw;min-width:360px;min-height:360px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--yellow) 22%,transparent),transparent 58%);filter:blur(14px);animation:float 9s var(--ease) infinite}
@keyframes in{from{opacity:0;transform:translateY(24px) scale(.985)}to{opacity:1;transform:none}}@keyframes float{50%{transform:translate3d(-8%,-5%,0) scale(1.08)}}@keyframes pulse{50%{transform:rotate(-7deg) scale(1.08);border-radius:48% 52% 62% 38%}}
.kicker{position:relative;z-index:2;display:inline-flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;letter-spacing:.18em;text-transform:uppercase}.kicker:before{content:"";width:42px;height:1px;background:var(--yellow);box-shadow:0 0 18px var(--yellow)}
h1{position:relative;z-index:2;margin:34px 0 0;font-size:clamp(76px,12vw,188px);line-height:.82;letter-spacing:-.085em;text-transform:uppercase}.title-line{display:inline-block;text-shadow:0 0 28px color-mix(in srgb,var(--yellow) 14%,transparent),0 18px 70px rgba(0,0,0,.25)}.zh{display:block;margin-top:24px;font-size:clamp(44px,6.4vw,96px);letter-spacing:.02em;color:var(--fg)}
.intro-text{position:relative;z-index:2;max-width:790px;margin-top:34px;color:color-mix(in srgb,var(--fg) 82%,var(--muted));font-size:17px;line-height:2}
.intro-text p{margin:0}.intro-text p+p{margin-top:4px}
.bili-button{position:relative;display:inline-flex;align-items:center;gap:12px;min-width:58px;height:58px;margin-top:22px;padding:4px 18px 4px 4px;border:1px solid color-mix(in srgb,var(--blue) 46%,var(--line));border-radius:999px;overflow:hidden;text-decoration:none;background:color-mix(in srgb,var(--bg) 58%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--fg) 7%,transparent),0 16px 46px rgba(0,0,0,.22),0 0 26px color-mix(in srgb,var(--blue) 10%,transparent);transition:transform .42s var(--ease),border-color .35s,box-shadow .42s var(--ease),filter .42s var(--ease)}
.bili-button:before{content:"";position:absolute;inset:-1px;border-radius:inherit;background:conic-gradient(from 120deg,var(--blue),var(--yellow),var(--red),var(--blue));opacity:.32;transform:scale(.82);filter:blur(8px);transition:opacity .42s var(--ease),transform .42s var(--ease)}
.bili-button img{position:relative;z-index:1;width:48px;height:48px;flex:0 0 48px;object-fit:cover;border-radius:50%;transform:scale(1.02);transition:transform .42s var(--ease),filter .42s var(--ease)}
.bili-label{position:relative;z-index:1;color:color-mix(in srgb,var(--fg) 76%,var(--muted));font-size:13px;font-weight:800;letter-spacing:.08em;white-space:nowrap;transition:color .35s var(--ease),transform .42s var(--ease)}
.bili-button:hover{transform:translateY(-4px) rotate(-3deg);border-color:var(--blue);box-shadow:0 18px 56px rgba(0,0,0,.28),0 0 34px color-mix(in srgb,var(--blue) 26%,transparent)}
.bili-button:hover:before{opacity:.72;transform:scale(1.14)}.bili-button:hover img{transform:scale(1.09);filter:saturate(1.08) contrast(1.04)}.bili-button:hover .bili-label{color:var(--fg);transform:translateX(2px)}
.thought{position:relative;z-index:2;width:min(560px,100%);margin-top:28px;color:color-mix(in srgb,var(--fg) 58%,var(--muted));font-size:14px;line-height:1.9;transition:color .35s var(--ease)}.thought:hover{color:color-mix(in srgb,var(--fg) 78%,var(--muted))}
.thought-text{display:block;transition:opacity 1.12s var(--ease),filter 1.12s var(--ease),transform 1.12s var(--ease)}.thought-text.fade-out{opacity:0;filter:blur(8px);transform:translateY(-5px)}.thought-text.fade-in{animation:thoughtIn 1.38s var(--ease) both}
.thought-particles{position:absolute;inset:-18px 0;pointer-events:none;overflow:hidden}.thought-particle{position:absolute;left:var(--x);top:var(--y);width:3px;height:3px;border-radius:50%;background:color-mix(in srgb,var(--fg) 72%,var(--yellow));box-shadow:0 0 10px color-mix(in srgb,var(--yellow) 28%,transparent);opacity:0;animation:thoughtDust 2.1s cubic-bezier(.12,.9,.2,1) forwards;animation-delay:var(--d)}
@keyframes thoughtDust{0%{opacity:0;transform:translate3d(0,0,0) scale(.45)}18%{opacity:.46}100%{opacity:0;transform:translate3d(var(--dx),var(--dy),0) scale(.08)}}@keyframes thoughtIn{0%{opacity:0;filter:blur(7px);transform:translateY(5px)}100%{opacity:1;filter:blur(0);transform:none}}
.years{min-height:calc(100vh - 48px);display:flex;flex-direction:column;gap:18px;animation:in .9s var(--ease) .08s both}.year-intro{border-radius:170px 48px 48px 48px;min-height:190px;padding:34px;display:flex;flex-direction:column;justify-content:flex-end;background:radial-gradient(circle at 80% 20%,color-mix(in srgb,var(--yellow) 16%,transparent),transparent 30%),var(--panel)}.year-intro h2{margin:0;font-size:clamp(42px,5vw,72px);line-height:.92;letter-spacing:-.06em}.year-intro p{margin:18px 0 0;color:var(--muted);line-height:1.8}
.era{display:grid;gap:14px}.era-label{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px;letter-spacing:.16em;text-transform:uppercase}.era-label:after{content:"";height:1px;flex:1;background:var(--line)}
.year-card{--tx:0;--ty:0;--px:0;--py:0;position:relative;overflow:hidden;width:100%;min-height:132px;border:1px solid var(--line);border-radius:42px;background:linear-gradient(135deg,color-mix(in srgb,var(--c) 11%,transparent),transparent 50%),var(--panel);padding:22px 24px;text-align:left;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;contain:layout paint;transform:perspective(900px) translate3d(calc(var(--px)*1px),calc(var(--py)*1px),0) rotateX(calc(var(--ty)*-.42deg)) rotateY(calc(var(--tx)*.42deg));transform-style:preserve-3d;will-change:transform;transition:transform .18s var(--ease),border-radius .48s var(--ease),border-color .35s,box-shadow .42s var(--ease)}
.year-card:before{content:"";position:absolute;right:-96px;bottom:-126px;width:262px;height:262px;border-radius:50%;background:var(--c);opacity:.14;transition:.55s var(--ease)}.year-card:after{content:"";position:absolute;inset:0;opacity:0;pointer-events:none;transition:.45s var(--ease)}.year-card:hover{border-color:var(--c);box-shadow:0 24px 80px rgba(0,0,0,.22),0 0 42px color-mix(in srgb,var(--c) 20%,transparent)}.year-card:hover:before{transform:scale(1.35);opacity:.34}
.year-preview{position:absolute;right:-18%;top:-12%;bottom:-12%;z-index:1;width:42%;border-radius:999px 42px 42px 999px;overflow:hidden;opacity:.72;transform:translateZ(10px);mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 100%);pointer-events:none}.year-preview:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--bg) 82%,transparent),transparent 42%),radial-gradient(circle at 84% 50%,transparent 46%,color-mix(in srgb,var(--fg) 14%,transparent) 47%,transparent 51%);mix-blend-mode:overlay}.year-preview-frame{position:absolute;inset:0;opacity:0;background:radial-gradient(circle at 68% 42%,color-mix(in srgb,var(--a,var(--c)) 64%,transparent),transparent 28%),radial-gradient(circle at 30% 72%,color-mix(in srgb,var(--a,var(--c)) 32%,transparent),transparent 32%),linear-gradient(135deg,color-mix(in srgb,var(--a,var(--c)) 22%,var(--panel)),transparent);transform:translate3d(var(--drift,0),0,0) scale(1.08);transition:opacity 1.7s var(--ease),transform 2.4s var(--ease);will-change:opacity,transform}.year-preview-frame.active{opacity:1;transform:translate3d(calc(var(--drift,0) * -1),0,0) scale(1.02)}.year-preview-frame img{width:100%;height:100%;object-fit:cover;filter:saturate(.95) contrast(1.05);transform:translateZ(0)}.preview-fallback{position:absolute;inset:0;display:grid;place-items:center;color:color-mix(in srgb,var(--fg) 28%,transparent);font-size:clamp(30px,4vw,66px);font-weight:900;letter-spacing:-.08em;transform:rotate(-10deg) translateX(12%);text-align:center}.preview-fallback:before,.preview-fallback:after{content:"";position:absolute;border:1px solid color-mix(in srgb,var(--fg) 20%,transparent);border-radius:50%;inset:18%;transform:rotate(-18deg)}.preview-fallback:after{inset:38% 12%;border-radius:999px;background:color-mix(in srgb,var(--fg) 52%,transparent);mix-blend-mode:difference}
.num,.year-copy,.mark{position:relative;z-index:3}.num{font-size:clamp(46px,5vw,76px);font-weight:900;letter-spacing:-.08em;transform:translateZ(28px)}.year-copy{max-width:min(390px,74%)}.year-title{font-weight:900;font-size:18px}.year-desc{margin-top:8px;color:var(--muted);font-size:13px;line-height:1.7}.mark{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--line);border-radius:50%;transform:translateZ(34px);background:color-mix(in srgb,var(--bg) 18%,transparent);backdrop-filter:blur(8px)}
.fx-future:hover{border-radius:98px 34px}.fx-create:hover{border-radius:38px 92px}.fx-break:hover{border-radius:30px;animation:fracture .42s steps(2,end) infinite}.fx-love:hover{border-radius:72px}.fx-training:hover{border-radius:34px 120px}.fx-road:hover{border-radius:120px 34px}.fx-dark:hover{filter:contrast(1.2)}.fx-unknown:hover{border-radius:120px 44px}
@keyframes fracture{50%{transform:perspective(900px) translate3d(calc(var(--px)*1px - 3px),calc(var(--py)*1px + 2px),0) rotateX(calc(var(--ty)*-.42deg)) rotateY(calc(var(--tx)*.42deg))}}
.archive{min-height:100vh;padding:24px;opacity:0;transform:translate3d(0,24px,0) scale(.992);pointer-events:none;transition:opacity .58s var(--ease),transform .62s var(--ease);will-change:opacity,transform;backface-visibility:hidden}body.archive-open .archive{opacity:1;transform:none;pointer-events:auto}.archive-shell{min-height:calc(100vh - 48px);display:grid;grid-template-columns:360px 1fr;gap:18px}
.side{position:sticky;top:24px;height:calc(100vh - 48px);border-radius:52px 52px 156px 52px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(145deg,color-mix(in srgb,var(--active) 12%,transparent),transparent 48%),var(--panel)}.back{align-self:flex-start}.archive-year{margin-top:42px;font-size:clamp(72px,9vw,126px);font-weight:900;line-height:.8;letter-spacing:-.08em}.archive-title{margin-top:24px;font-size:26px;font-weight:900}.archive-desc{margin-top:16px;color:color-mix(in srgb,var(--fg) 78%,var(--muted));font-size:14px;line-height:1.9}.archive-room{margin:22px 0 0;padding:16px 0 0;border-top:1px solid var(--line);color:color-mix(in srgb,var(--fg) 58%,var(--muted));font-size:13px;line-height:1.9}.accent{width:132px;height:132px;border-radius:45% 55% 65% 35%;background:var(--active);box-shadow:0 0 60px color-mix(in srgb,var(--active) 45%,transparent);animation:pulse 7s var(--ease) infinite}
.archive-year-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:18px}.archive-year-chip{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--bg) 62%,transparent);color:var(--muted);min-height:42px;padding:9px 6px;cursor:pointer;transition:transform .3s var(--ease),border-color .3s,background-color .3s,color .3s}.archive-year-chip:before{content:"";position:absolute;inset:auto 10px 7px;height:2px;border-radius:999px;background:var(--c);opacity:.35;transform:scaleX(.34);transition:transform .3s var(--ease),opacity .3s}.archive-year-chip span{position:relative;z-index:1;font-size:13px;font-weight:900;letter-spacing:-.03em}.archive-year-chip:hover{border-color:var(--c);color:var(--fg);transform:translateY(-2px)}.archive-year-chip:hover:before,.archive-year-chip.active:before{opacity:1;transform:scaleX(1)}.archive-year-chip.active{background:var(--active);border-color:var(--active);color:var(--bg);box-shadow:0 14px 36px color-mix(in srgb,var(--active) 22%,transparent)}
.main{border-radius:52px;min-height:calc(100vh - 48px);padding:22px;background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:blur(12px)}.tags{position:sticky;top:24px;z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px;border:1px solid var(--line);border-radius:34px;background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:blur(16px);margin-bottom:18px}.tag{border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);padding:10px 14px;font-size:12px;letter-spacing:.08em;cursor:pointer;transition:.3s}.tag:hover,.tag.active{color:var(--bg);background:var(--fg);border-color:var(--fg);transform:translateY(-2px)}.size-switch{margin-left:auto;display:flex;align-items:center;gap:6px;padding:4px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--bg) 66%,transparent)}.size-label{padding:0 8px;color:var(--muted);font-size:11px;letter-spacing:.12em}.size-btn{min-width:46px;border:0;border-radius:999px;background:transparent;color:var(--muted);padding:8px 10px;font-size:12px;letter-spacing:.06em;cursor:pointer;transition:.3s}.size-btn:hover,.size-btn.active{color:var(--bg);background:var(--fg);transform:translateY(-1px)}
.tag-filters{display:flex;flex:1 1 440px;flex-wrap:wrap;gap:10px}.view-switch{margin-left:auto;display:flex;align-items:center;gap:6px;padding:4px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--bg) 66%,transparent)}.view-switch+.size-switch{margin-left:0}.view-btn{min-width:46px;border:0;border-radius:999px;background:transparent;color:var(--muted);padding:8px 10px;font-size:12px;letter-spacing:.06em;cursor:pointer;transition:.3s}.view-btn:hover,.view-btn.active{color:var(--bg);background:var(--fg);transform:translateY(-1px)}
.masonry{column-count:3;column-gap:18px;contain:layout style}.masonry[data-size="medium"]{column-count:4;column-gap:16px}.masonry[data-size="compact"]{column-count:5;column-gap:14px}.work{position:relative;display:inline-block;width:100%;margin:0 0 18px;overflow:hidden;border:1px solid var(--line);border-radius:44px;background:var(--panel);break-inside:avoid;isolation:isolate;contain:layout paint style;cursor:zoom-in;transition:opacity .42s var(--ease),transform .42s var(--ease),border-color .35s,border-radius .42s var(--ease),box-shadow .42s var(--ease)}.masonry[data-size="medium"] .work{margin-bottom:16px;border-radius:34px}.masonry[data-size="compact"] .work{margin-bottom:14px;border-radius:28px}.work.hidden{display:none}.work.enter{animation:workIn .62s var(--ease) both}@keyframes workIn{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}.work:hover{transform:translateY(-7px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));border-color:var(--a);border-radius:92px 34px;box-shadow:0 24px 80px rgba(0,0,0,.24),0 0 42px color-mix(in srgb,var(--a) 18%,transparent)}
.masonry[data-view="wall"]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;column-count:auto;align-items:start}.masonry[data-view="wall"][data-size="medium"]{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.masonry[data-view="wall"][data-size="compact"]{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.masonry[data-view="wall"] .work{display:block;margin:0;break-inside:auto;border-radius:18px;transform:rotate(var(--tilt));box-shadow:0 16px 54px rgba(0,0,0,.18)}.masonry[data-view="wall"] .work:hover{transform:translateY(-8px) rotate(var(--tilt)) scale(1.015);border-radius:26px;box-shadow:0 28px 90px rgba(0,0,0,.28),0 0 34px color-mix(in srgb,var(--a) 18%,transparent)}.masonry[data-view="wall"] .art{height:auto;min-height:0;aspect-ratio:4/5}.masonry[data-view="wall"] .info{min-height:0;padding:16px 16px 18px}.masonry[data-view="wall"] .wnote{background:color-mix(in srgb,var(--a) 11%,transparent);border:1px solid color-mix(in srgb,var(--a) 20%,var(--line));border-radius:14px;padding:11px 12px}.masonry[data-view="wall"] .wt{font-size:20px}.masonry[data-view="wall"][data-size="medium"] .info{padding:13px 13px 14px}.masonry[data-view="wall"][data-size="medium"] .id{font-size:10px}.masonry[data-view="wall"][data-size="medium"] .wt{font-size:17px;line-height:1.25}.masonry[data-view="wall"][data-size="medium"] .wd,.masonry[data-view="wall"][data-size="medium"] .wnote{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.masonry[data-view="wall"][data-size="medium"] .wd{font-size:12px}.masonry[data-view="wall"][data-size="medium"] .wtag{margin-top:9px;font-size:10px}.masonry[data-view="wall"][data-size="medium"] .wnote{margin-top:10px;padding:9px 10px;font-size:12px;line-height:1.55}
.masonry.empty,.masonry[data-view="wall"].empty{display:block;column-count:auto}.empty-work{min-height:360px;display:flex;flex-direction:column;justify-content:flex-end;border:1px dashed color-mix(in srgb,var(--active,var(--yellow)) 44%,var(--line));border-radius:40px;padding:28px;background:radial-gradient(circle at 78% 20%,color-mix(in srgb,var(--active,var(--yellow)) 16%,transparent),transparent 28%),color-mix(in srgb,var(--bg) 68%,transparent)}.empty-year{color:var(--active,var(--yellow));font-size:clamp(54px,8vw,112px);font-weight:900;line-height:.85;letter-spacing:-.08em}.empty-title{margin-top:18px;font-size:24px;font-weight:900}.empty-work p{max-width:520px;margin:12px 0 0;color:var(--muted);line-height:1.8}
.loading-panel{min-height:calc(100vh - 48px);opacity:.86}.loading-panel:after{content:"";position:absolute;left:34px;right:34px;bottom:34px;height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,var(--yellow),transparent);animation:loadingSweep 1.5s var(--ease) infinite}.loading-panel h2,.loading-panel p{position:relative;z-index:1}@keyframes loadingSweep{0%{transform:translateX(-18%) scaleX(.22);opacity:.15}48%{opacity:.8}100%{transform:translateX(18%) scaleX(1);opacity:.18}}
.art{position:relative;height:var(--h);min-height:260px;margin:0;overflow:hidden;background:radial-gradient(circle at 76% 24%,color-mix(in srgb,var(--a) 76%,transparent),transparent 16%),radial-gradient(circle at 24% 70%,color-mix(in srgb,var(--a) 36%,transparent),transparent 22%),linear-gradient(135deg,color-mix(in srgb,var(--fg) 22%,transparent),transparent 46%),linear-gradient(42deg,transparent 36%,color-mix(in srgb,var(--fg) 82%,transparent) 36% 44%,transparent 44%),linear-gradient(160deg,color-mix(in srgb,var(--a) 18%,transparent),transparent 58%);opacity:.78;transition:.7s var(--ease)}.art img{display:block;width:100%;height:100%;object-fit:cover;transform:translateZ(0)}.art.has-image{opacity:1;background:var(--panel)}.art.has-image:before,.art.has-image:after{display:none}.art:before{content:"";position:absolute;inset:12%;border:1px solid color-mix(in srgb,var(--fg) 24%,transparent);border-radius:50%;transform:rotate(-16deg)}.art:after{content:"";position:absolute;left:14%;right:12%;bottom:18%;height:22%;border-radius:999px;background:var(--fg);mix-blend-mode:difference;transform:rotate(-12deg);opacity:.86}.work:hover .art{transform:scale(1.08) rotate(-2deg);opacity:1}
.info{padding:20px 20px 22px;background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 88%,transparent),color-mix(in srgb,var(--bg) 58%,transparent));position:relative;min-height:122px}.id{color:var(--a);font-size:11px;letter-spacing:.15em}.wt{margin-top:10px;font-size:23px;font-weight:900}.wd{margin-top:8px;color:color-mix(in srgb,var(--fg) 82%,var(--muted));font-size:13px;line-height:1.7}.wtag{margin-top:12px;color:var(--muted);font-size:11px;letter-spacing:.08em}.wnote{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);color:color-mix(in srgb,var(--fg) 86%,var(--muted));font-size:13px;line-height:1.9}
.masonry[data-view="masonry"][data-size="medium"] .art{height:var(--h-mid);min-height:210px}.masonry[data-view="masonry"][data-size="compact"] .art{height:var(--h-small);min-height:145px}.masonry[data-view="masonry"][data-size="medium"] .info{padding:18px;min-height:108px}.masonry[data-view="masonry"][data-size="medium"] .wt{font-size:20px}.masonry[data-size="compact"] .info{padding:14px;min-height:0}.masonry[data-size="compact"] .id{font-size:10px}.masonry[data-size="compact"] .wt{font-size:17px;line-height:1.2}.masonry[data-size="compact"] .wd,.masonry[data-size="compact"] .wnote{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.masonry[data-size="compact"] .wd{font-size:12px}.masonry[data-size="compact"] .wtag{margin-top:9px;font-size:10px}.masonry[data-size="compact"] .wnote{margin-top:10px;padding-top:10px;font-size:12px;line-height:1.55}
.masonry[data-size="compact"] .wnote:hover,.masonry[data-size="compact"] .wnote:focus-within,.masonry[data-size="compact"] .wnote.note-open{position:relative;z-index:8;display:block!important;-webkit-line-clamp:unset!important;-webkit-box-orient:initial!important;overflow:visible!important;max-height:none;height:auto;white-space:normal;background:color-mix(in srgb,var(--bg) 86%,var(--a) 14%);box-shadow:0 18px 54px rgba(0,0,0,.28),0 0 28px color-mix(in srgb,var(--a) 18%,transparent);transform:translateY(-2px)}
.masonry[data-view="wall"] .wnote:hover,.masonry[data-view="wall"] .wnote:focus-within,.masonry[data-view="wall"] .wnote.note-open{position:relative;z-index:9;display:block!important;-webkit-line-clamp:unset!important;-webkit-box-orient:initial!important;overflow:visible!important;max-height:none;height:auto;white-space:normal;background:color-mix(in srgb,var(--bg) 86%,var(--a) 14%);box-shadow:0 20px 64px rgba(0,0,0,.3),0 0 28px color-mix(in srgb,var(--a) 18%,transparent);transform:translateY(-3px) scale(1.015)}
.viewer{position:fixed;inset:0;z-index:74;display:grid;place-items:center;padding:24px;background:rgba(0,0,0,.58);opacity:0;pointer-events:none;transition:opacity .28s var(--ease);will-change:opacity;contain:layout paint style}
.viewer.open{opacity:1;pointer-events:auto}.viewer-shell{position:relative;width:min(1180px,100%);height:min(820px,calc(100vh - 48px));display:grid;grid-template-rows:minmax(0,1fr) auto;gap:14px}.viewer-stage{min-height:0;overflow:hidden;display:grid;place-items:center;border:1px solid var(--line);border-radius:44px;background:color-mix(in srgb,var(--bg) 78%,transparent);box-shadow:0 30px 120px rgba(0,0,0,.42);cursor:grab;touch-action:none;user-select:none}
.viewer-stage.dragging{cursor:grabbing}.viewer-stage.dragging .viewer-art{transition:none}
.viewer-art{--zoom:1;--pan-x:0px;--pan-y:0px;--slide-x:0px;--fade-scale:1;--viewer-art-opacity:1;--viewer-art-filter:none;--a:var(--yellow);width:min(980px,88vw);height:min(650px,66vh);margin:0;overflow:hidden;border-radius:34px;background:radial-gradient(circle at 76% 24%,color-mix(in srgb,var(--a) 76%,transparent),transparent 16%),radial-gradient(circle at 24% 70%,color-mix(in srgb,var(--a) 36%,transparent),transparent 22%),linear-gradient(135deg,color-mix(in srgb,var(--fg) 22%,transparent),transparent 46%),linear-gradient(42deg,transparent 36%,color-mix(in srgb,var(--fg) 82%,transparent) 36% 44%,transparent 44%),linear-gradient(160deg,color-mix(in srgb,var(--a) 18%,transparent),transparent 58%);opacity:var(--viewer-art-opacity);filter:var(--viewer-art-filter);transform:translate3d(calc(var(--pan-x) + var(--slide-x)),var(--pan-y),0) scale(var(--zoom)) scale(var(--fade-scale));transform-origin:center;transition:transform .24s var(--ease),opacity .2s var(--ease),filter .2s var(--ease),border-radius .36s var(--ease);will-change:transform,opacity,filter}
.viewer-art.has-image{background:transparent;border-radius:18px}.viewer-art img{display:none;width:100%;height:100%;object-fit:contain;background:rgba(0,0,0,.12);pointer-events:none;-webkit-user-drag:none;user-select:none}.viewer-art.has-image img{display:block}
.viewer-info{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:end;border:1px solid var(--line);border-radius:34px;padding:18px 20px;background:color-mix(in srgb,var(--bg) 74%,transparent);backdrop-filter:blur(16px)}.viewer-info h2{margin:6px 0 0;font-size:clamp(28px,4vw,54px);line-height:.95;letter-spacing:-.06em}.viewer-meta{color:var(--yellow);font-size:11px;letter-spacing:.16em}.viewer-info p{margin:12px 0 0;color:color-mix(in srgb,var(--fg) 82%,var(--muted));line-height:1.8}.viewer-note{border-top:1px solid var(--line);padding-top:10px;font-size:13px}.viewer-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.viewer-close{position:absolute;right:18px;top:18px;z-index:4}.viewer-nav{position:absolute;top:42%;z-index:4;width:54px;height:54px;border-radius:50%;border:1px solid var(--line);background:color-mix(in srgb,var(--bg) 62%,transparent);backdrop-filter:blur(12px);font-size:38px;line-height:1;cursor:pointer}.viewer-prev{left:18px}.viewer-next{right:18px}.viewer-nav:hover{border-color:var(--yellow)}
main{transition:filter .28s var(--ease),transform .28s var(--ease)}
body.viewer-open main{filter:brightness(.62) saturate(.82);transform:scale(.997);pointer-events:none}
body.viewer-open{overflow:hidden}
.ripple{position:fixed;width:12px;height:12px;border-radius:50%;border:1px solid var(--yellow);pointer-events:none;z-index:95;animation:ripple .7s var(--ease) forwards}@keyframes ripple{to{transform:scale(9);opacity:0}}
body:after{content:"";position:fixed;inset:-10%;z-index:73;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 52%,color-mix(in srgb,var(--fg) 18%,transparent),transparent 18%),linear-gradient(115deg,transparent 0 28%,color-mix(in srgb,var(--yellow) 30%,transparent) 40%,color-mix(in srgb,var(--blue) 22%,transparent) 51%,transparent 66%);mix-blend-mode:screen;transform:translate3d(-8%,4%,0) scale(.985);will-change:opacity,transform;contain:paint}
body.route-switching:after{animation:routeVeil .72s cubic-bezier(.16,1,.3,1) both}
body.route-switching main{pointer-events:none;animation:routeContent .72s cubic-bezier(.16,1,.3,1) both}
body.route-switching .landing,body.route-switching .archive{will-change:opacity,transform}
body.content-switching .tags,body.content-switching .archive-year-nav{pointer-events:none}
@keyframes routeVeil{0%{opacity:0;transform:translate3d(-8%,4%,0) scale(.985)}34%{opacity:.72;transform:translate3d(0,0,0) scale(1.012)}58%{opacity:.52;transform:translate3d(3%,-1%,0) scale(1.02)}100%{opacity:0;transform:translate3d(9%,-4%,0) scale(1.035)}}
@keyframes routeContent{0%,100%{opacity:1;transform:none}30%{opacity:.84;transform:translate3d(0,8px,0) scale(.992)}58%{opacity:.92;transform:translate3d(0,-2px,0) scale(1.002)}}
.swap-exit{opacity:.08!important;transform:translate3d(0,16px,0) scale(.992)!important;pointer-events:none;transition:opacity .16s var(--ease),transform .2s var(--ease)}
.swap-enter{animation:contentArrive .58s var(--ease) both}
@keyframes contentArrive{0%{opacity:0;transform:translate3d(0,18px,0) scale(.99)}58%{opacity:1;transform:translate3d(0,-3px,0) scale(1.002)}100%{opacity:1;transform:none}}
.viewer-shell{opacity:0;transform:translate3d(0,18px,0) scale(.982);transition:opacity .28s var(--ease),transform .3s var(--ease);will-change:opacity,transform}
.viewer.open .viewer-shell{opacity:1;filter:none;transform:none}
.viewer.closing{opacity:0;pointer-events:none}
.viewer.closing .viewer-shell{opacity:0;transform:translate3d(0,10px,0) scale(.988)}
.viewer.swap-next{--swap-x:38px}
.viewer.swap-prev{--swap-x:-38px}
.viewer.viewer-swap-out .viewer-art{--slide-x:var(--swap-x);--fade-scale:.985;--viewer-art-opacity:0;--viewer-art-filter:blur(7px)}
.viewer.viewer-swap-in .viewer-art{animation:viewerArtArrive .43s var(--ease) both}
.viewer-info{transition:opacity .22s var(--ease),transform .24s var(--ease),filter .24s var(--ease)}
.viewer.viewer-swap-out .viewer-info{opacity:.15;filter:blur(6px);transform:translateY(8px)}
.viewer.viewer-swap-in .viewer-info{animation:viewerInfoArrive .43s var(--ease) both}
@keyframes viewerArtArrive{0%{opacity:0;filter:blur(7px);transform:translate3d(calc(var(--pan-x) - var(--swap-x)),var(--pan-y),0) scale(var(--zoom)) scale(.985)}100%{opacity:1;filter:none;transform:translate3d(var(--pan-x),var(--pan-y),0) scale(var(--zoom))}}
@keyframes viewerInfoArrive{0%{opacity:0;filter:blur(7px);transform:translateY(10px)}100%{opacity:1;filter:none;transform:none}}

body{background:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px),radial-gradient(circle at 78% 12%,color-mix(in srgb,var(--yellow) 12%,transparent),transparent 29%),radial-gradient(circle at 8% 80%,color-mix(in srgb,var(--blue) 9%,transparent),transparent 34%),radial-gradient(circle at 54% 54%,color-mix(in srgb,var(--red) 6%,transparent),transparent 42%),var(--bg)}
body:before{opacity:.32;filter:blur(116px) saturate(.78)}
body.light:before{opacity:.16;filter:blur(130px) saturate(.62)}
canvas#field{opacity:.36}
body.prism canvas#field{opacity:.72}
.noise{opacity:.052}
.panel{background:linear-gradient(150deg,color-mix(in srgb,var(--fg) 6%,transparent),transparent 38%),linear-gradient(180deg,color-mix(in srgb,var(--bg) 54%,transparent),color-mix(in srgb,var(--bg) 78%,transparent));box-shadow:inset 0 1px 0 color-mix(in srgb,var(--fg) 8%,transparent),0 26px 90px rgba(0,0,0,.28)}
body.light .panel{background:linear-gradient(150deg,color-mix(in srgb,var(--fg) 5%,transparent),transparent 42%),linear-gradient(180deg,rgba(255,255,252,.82),rgba(246,244,236,.64));box-shadow:inset 0 1px 0 rgba(255,255,255,.76),0 22px 72px rgba(44,40,30,.08)}
.intro{border-radius:34px 34px 34px 118px}
.intro:hover{border-radius:52px 30px 104px 34px}
.intro:before{opacity:.36;border-color:color-mix(in srgb,var(--fg) 10%,transparent);background:repeating-conic-gradient(from 18deg,color-mix(in srgb,var(--yellow) 9%,transparent) 0deg 1deg,transparent 1deg 16deg)}
.glow{left:36px;right:auto;bottom:34px;width:min(420px,70%);height:1px;min-width:0;min-height:0;border-radius:0;background:linear-gradient(90deg,transparent,var(--yellow),transparent);filter:blur(1px);opacity:.55;animation:none}
h1{letter-spacing:-.058em}.title-line{text-shadow:0 12px 46px rgba(0,0,0,.38)}.zh{margin-top:18px;cursor:pointer;user-select:none;transform-origin:left 54%;transition:color .45s var(--ease),text-shadow .45s var(--ease),font-size .45s var(--ease),letter-spacing .45s var(--ease)}
.zh.title-hit{animation:titleKnock .24s cubic-bezier(.16,1,.3,1) both}
.zh.title-ripped{max-width:min(880px,100%);font-size:clamp(30px,4vw,58px);line-height:1.05;letter-spacing:0;text-wrap:balance;animation:titleRipName .82s cubic-bezier(.16,1,.3,1) both}
@keyframes titleKnock{0%,100%{transform:none}28%{transform:translate3d(-2px,-2px,0) rotate(-1.2deg) scale(1.015)}62%{transform:translate3d(2px,2px,0) rotate(.9deg)}}
@keyframes titleRipName{0%{opacity:.28;transform:translate3d(0,10px,0) scale(.92) skewX(-10deg);filter:blur(5px)}58%{opacity:1;transform:translate3d(0,-4px,0) scale(1.03) skewX(2deg);filter:blur(0)}100%{opacity:1;transform:none;filter:none}}
.year-intro{border-radius:92px 30px 30px 30px;background:linear-gradient(150deg,color-mix(in srgb,var(--fg) 7%,transparent),transparent 46%),var(--panel)}
.year-card{border-radius:30px;background:linear-gradient(142deg,color-mix(in srgb,var(--c) 7%,transparent),transparent 44%),color-mix(in srgb,var(--bg) 58%,transparent);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--fg) 6%,transparent)}
.year-card:before{right:-28px;bottom:-18px;width:48%;height:74%;border-radius:28px;background:linear-gradient(145deg,var(--c),transparent 72%);opacity:.09;transform:skewX(-14deg)}
.year-card:hover:before{opacity:.2;transform:skewX(-14deg) scale(1.08)}
.year-preview{right:-8%;width:36%;border-radius:36px;opacity:.52;mask-image:linear-gradient(90deg,transparent 0,#000 34%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 34%,#000 100%)}
.year-preview:after{background:linear-gradient(90deg,color-mix(in srgb,var(--bg) 80%,transparent),transparent 54%);mix-blend-mode:normal}
.preview-fallback{color:color-mix(in srgb,var(--fg) 18%,transparent);font-size:clamp(24px,3vw,54px)}
.mark{background:color-mix(in srgb,var(--bg) 48%,transparent)}
.side{border-radius:34px 34px 104px 34px;background:linear-gradient(155deg,color-mix(in srgb,var(--active) 9%,transparent),transparent 48%),var(--panel)}
.accent{width:min(230px,76%);height:56px;border-radius:18px;background:linear-gradient(90deg,var(--active),color-mix(in srgb,var(--active) 32%,transparent));box-shadow:0 18px 50px color-mix(in srgb,var(--active) 20%,transparent);animation:none;transform:skewX(-10deg) rotate(-4deg)}
.archive-year-chip{border-radius:13px;background:color-mix(in srgb,var(--bg) 70%,transparent)}
.archive-year-chip.active{background:color-mix(in srgb,var(--active) 22%,var(--bg));border-color:color-mix(in srgb,var(--active) 70%,var(--line));color:var(--fg);box-shadow:0 12px 34px color-mix(in srgb,var(--active) 18%,transparent)}
.main{border-radius:34px;background:color-mix(in srgb,var(--bg) 80%,transparent)}
.tags{border-radius:24px;background:color-mix(in srgb,var(--bg) 84%,transparent);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--fg) 5%,transparent)}
.tag,.view-btn,.size-btn{letter-spacing:.04em}
.work{border-radius:24px;background:color-mix(in srgb,var(--bg) 62%,transparent)}
.work:hover{transform:translateY(-4px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));border-radius:32px;box-shadow:0 18px 58px rgba(0,0,0,.26),0 0 30px color-mix(in srgb,var(--a) 11%,transparent)}
.art{background:linear-gradient(145deg,color-mix(in srgb,var(--a) 20%,#111),color-mix(in srgb,var(--bg) 92%,#111)),repeating-linear-gradient(135deg,transparent 0 20px,color-mix(in srgb,var(--fg) 4%,transparent) 20px 21px);opacity:.9}
.art:before{inset:15%;border-radius:22px;border-color:color-mix(in srgb,var(--fg) 18%,transparent);transform:rotate(-8deg)}
.art:after{left:18%;right:18%;bottom:22%;height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--fg) 62%,transparent),transparent);mix-blend-mode:normal;transform:rotate(-10deg);opacity:.58}
.work:hover .art{transform:scale(1.04);opacity:1}
.info{background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 90%,transparent),color-mix(in srgb,var(--bg) 68%,transparent))}
.viewer-stage{border-radius:30px}.viewer-info{border-radius:24px}.viewer-art{border-radius:24px}.viewer-stage.zoomed{cursor:grab}.viewer-stage.dragging,.viewer-stage.dragging *{cursor:grabbing}.viewer-stage.dragging .viewer-art{transition:none}
.year-card:hover .year-preview{opacity:.76}
.year-preview-frame.has-image{background:color-mix(in srgb,var(--bg) 88%,#000)}
.year-preview-frame.has-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--bg) 88%,transparent),transparent 38%,color-mix(in srgb,var(--bg) 24%,transparent)),radial-gradient(circle at 70% 50%,transparent 30%,color-mix(in srgb,var(--bg) 54%,transparent) 78%);pointer-events:none}
.year-preview-frame.has-image img{opacity:.46;filter:grayscale(.16) saturate(.78) contrast(1.18) brightness(.66);mix-blend-mode:screen;transform:translateZ(0) scale(1.08);transition:opacity .6s var(--ease),filter .6s var(--ease),transform 2.4s var(--ease)}
.year-preview-frame.has-image.active img{transform:translate3d(calc(var(--drift,0) * -1),0,0) scale(1.02)}
.year-card:hover .year-preview-frame.has-image img{opacity:.62;filter:grayscale(.06) saturate(.9) contrast(1.12) brightness(.76)}

body.poop-mode{
  --bg:#6b5608;--fg:#fff2a6;--muted:#e0c56a;--line:rgba(255,238,149,.2);
  --panel:rgba(72,52,4,.64);--panel2:rgba(255,224,87,.11);
  --yellow:#ffd84a;--blue:#c59b19;--red:#9e6812;--purple:#8c7110;--green:#d9bd35;
  --grid:rgba(255,224,82,.055);--shadow:rgba(37,26,0,.92);
  background:
    linear-gradient(var(--grid) 1px,transparent 1px),
    linear-gradient(90deg,var(--grid) 1px,transparent 1px),
    radial-gradient(circle at 18% 18%,rgba(255,214,64,.26),transparent 32%),
    radial-gradient(circle at 82% 72%,rgba(103,74,0,.58),transparent 42%),
    linear-gradient(150deg,#4f3a03,#8a7110 44%,#5b4304);
}
body.poop-mode:before{background:conic-gradient(from 35deg,rgba(255,209,40,.22),rgba(92,59,0,.42),rgba(255,236,132,.18),rgba(116,80,0,.45),rgba(255,209,40,.22));opacity:.9;filter:blur(92px) saturate(.8)}
body.poop-mode .noise{opacity:.09;mix-blend-mode:multiply}
body.poop-mode .panel,body.poop-mode .year-card,body.poop-mode .work{background:linear-gradient(145deg,rgba(255,225,80,.1),transparent 44%),rgba(56,39,2,.62);border-color:rgba(255,225,103,.22);box-shadow:inset 0 1px 0 rgba(255,246,179,.11),0 28px 90px rgba(37,25,0,.34)}
body.poop-mode .title-line{color:#ffe87a;background:none;-webkit-text-fill-color:currentColor;text-shadow:0 0 18px rgba(255,229,79,.22),0 18px 64px rgba(53,33,0,.46);animation:none}
body.poop-mode .zh{color:#fff6b8;text-shadow:0 0 12px rgba(255,242,110,.6),0 0 38px rgba(255,205,28,.34),0 18px 72px rgba(58,36,0,.56)}
body.poop-mode .intro{background:radial-gradient(circle at 78% 18%,rgba(255,220,70,.2),transparent 28%),radial-gradient(circle at 12% 90%,rgba(72,43,0,.46),transparent 40%),rgba(60,42,2,.66)}
body.poop-mode .glow{background:linear-gradient(90deg,transparent,#ffe252,transparent);opacity:.78}
body.poop-mode .thought{color:rgba(255,239,165,.72)}
.fallen-title-layer{position:fixed;inset:0;z-index:98;pointer-events:none;overflow:hidden;contain:layout style paint}
.fallen-title-piece{position:fixed;left:0;top:0;display:inline-grid;place-items:center;white-space:nowrap;padding:.05em .22em .1em;border:1px solid rgba(255,236,136,.34);border-radius:.34em .22em .4em .2em;background:radial-gradient(circle at 22% 18%,rgba(255,248,182,.4),transparent 28%),radial-gradient(circle at 82% 80%,rgba(88,55,0,.45),transparent 38%),linear-gradient(145deg,rgba(100,64,0,.96),rgba(255,203,41,.82));color:#fff8bd;font-weight:900;line-height:.94;letter-spacing:.02em;text-shadow:0 0 14px rgba(255,244,151,.72),0 8px 26px rgba(42,25,0,.68);box-shadow:0 24px 72px rgba(54,34,0,.46),inset 0 1px 0 rgba(255,255,210,.34),inset 0 -10px 22px rgba(77,45,0,.34);cursor:grab;user-select:none;touch-action:none;pointer-events:auto;will-change:transform;transform-origin:center;transition:border-radius .16s var(--ease),box-shadow .16s var(--ease),filter .16s var(--ease)}
.fallen-title-piece:after{content:"";position:absolute;left:12%;right:12%;bottom:.08em;height:.08em;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,245,151,.62),transparent);opacity:.7;pointer-events:none}
.fallen-title-piece.dragging{cursor:grabbing;border-radius:.18em .42em .22em .36em;filter:saturate(1.2) brightness(1.08);box-shadow:0 32px 92px rgba(54,34,0,.58),0 0 36px rgba(255,229,84,.32),inset 0 1px 0 rgba(255,255,218,.42),inset 0 -12px 24px rgba(77,45,0,.38)}
.poop-spray-layer{position:fixed;inset:0;z-index:97;pointer-events:none;overflow:hidden;contain:layout style paint}
.poop-blob{position:fixed;left:0;top:0;display:block;border-radius:58% 42% 51% 49%;background:radial-gradient(circle at 29% 18%,rgba(169,100,30,.36),transparent 19%),radial-gradient(circle at 72% 76%,rgba(22,12,1,.54),transparent 45%),linear-gradient(145deg,hsl(28 66% calc(var(--brown) + 7%)),hsl(25 64% var(--brown)) 54%,#251100);box-shadow:0 9px 18px rgba(24,13,0,.46),inset 0 1px 0 rgba(206,140,48,.2),inset -8px -10px 16px rgba(27,12,0,.46);will-change:transform;transform-origin:center;opacity:.98}
.poop-blob:before,.poop-blob:after{content:"";position:absolute;border-radius:50%;background:inherit;box-shadow:inherit;pointer-events:none}
.poop-blob:before{left:-18%;top:19%;width:62%;height:66%;transform:rotate(-18deg) scale(.9)}
.poop-blob:after{right:-17%;top:3%;width:56%;height:60%;transform:rotate(24deg) scale(.78)}
.poop-blob.long{border-radius:72% 28% 70% 30%;filter:saturate(.92) contrast(1.08)}
.poop-blob.corn{background:radial-gradient(circle at 24% 30%,#c58d1d 0 8%,transparent 9%),radial-gradient(circle at 70% 62%,rgba(24,13,0,.55),transparent 44%),linear-gradient(145deg,#674008,#2a1300 70%)}
.poop-blob.settled{filter:saturate(.88) brightness(.82);border-radius:66% 34% 54% 46%;box-shadow:0 6px 14px rgba(22,12,0,.54),inset 0 1px 0 rgba(170,112,40,.14),inset -7px -8px 16px rgba(22,10,0,.5)}

@media(max-width:1120px){.landing,.archive-shell{grid-template-columns:1fr}.intro,.years{min-height:auto}.side{position:relative;top:auto;height:auto;min-height:360px}.masonry{column-count:2}.masonry[data-size="medium"],.masonry[data-size="compact"]{column-count:3}}
@media(max-width:1120px){.masonry[data-view="wall"]{grid-template-columns:repeat(3,minmax(0,1fr))}.masonry[data-view="wall"][data-size="medium"]{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.masonry[data-view="wall"][data-size="compact"]{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}}
@media(max-width:720px){.cursor{display:none}.top-actions{top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));max-width:calc(100vw - 24px)}.pill{padding:9px 12px;font-size:10px}.landing,.archive{padding:12px}.archive{padding-top:68px}.intro{padding:76px 24px 28px;border-radius:34px 34px 34px 96px}h1{font-size:clamp(48px,16vw,88px);letter-spacing:-.065em}.zh{font-size:clamp(36px,12vw,64px)}.intro-text{font-size:15px;line-height:1.8}.thought{margin-top:22px;font-size:13px}.year-intro{border-radius:96px 34px 34px 34px;padding:28px}.year-card{grid-template-columns:1fr auto;min-height:132px;padding:20px}.num{grid-column:1/-1}.main,.side{border-radius:34px;padding:16px}.tags{position:relative;top:auto;border-radius:26px}.tag{padding:9px 12px}.size-switch{width:100%;margin-left:0;justify-content:flex-end}.size-label{margin-right:auto}.masonry,.masonry[data-size="medium"]{column-count:1}.masonry[data-size="compact"]{column-count:2;column-gap:10px}.masonry[data-size="compact"] .work{border-radius:20px;margin-bottom:10px}.masonry[data-size="compact"] .art{min-height:120px}.masonry[data-size="compact"] .info{padding:12px}.masonry[data-size="compact"] .wd,.masonry[data-size="compact"] .wnote{display:none}.viewer{padding:12px}.viewer-shell{height:calc(100vh - 24px)}.viewer-stage{border-radius:28px}.viewer-info{grid-template-columns:1fr;border-radius:26px}.viewer-tools{justify-content:flex-start}.viewer-art{width:86vw;height:48vh}.viewer-nav{top:36%;width:44px;height:44px;font-size:30px}.viewer-prev{left:10px}.viewer-next{right:10px}.viewer-close{right:10px;top:10px}}
@media(max-width:720px){body.poop-mode .zh.title-ripped{font-size:clamp(25px,8vw,40px);line-height:1.14}.fallen-title-piece{border-radius:.28em .18em .36em .2em}}
@media(max-width:720px){body.archive-open .top-actions{position:absolute}body.archive-open.viewer-open .top-actions{position:fixed}}
@media(max-width:720px){canvas#field{display:none}.tag-filters{gap:7px}.tag{padding:8px 11px;font-size:11px}.view-switch,.size-switch{gap:5px}.view-btn,.size-btn{min-height:34px;padding:7px 9px;font-size:11px}.tags{gap:8px;padding:12px}}
@media(max-width:720px){.year-preview{right:-34%;width:64%;opacity:.46}.year-copy{max-width:76%}.mark{background:color-mix(in srgb,var(--bg) 36%,transparent)}}
@media(max-width:720px){.tag-filters{flex-basis:100%}.view-switch,.size-switch{width:100%;margin-left:0;justify-content:flex-end}.masonry[data-view="wall"],.masonry[data-view="wall"][data-size="medium"]{grid-template-columns:1fr}.masonry[data-view="wall"][data-size="compact"]{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
.year-card:has(.year-preview-frame.has-image):before{opacity:.025}
.year-card:has(.year-preview-frame.has-image):hover:before{opacity:.05}
.year-card:has(.year-preview-frame.has-image) .year-preview{right:-2%;width:46%;opacity:.86;mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 100%)}
.year-card:has(.year-preview-frame.has-image) .year-preview:after{background:linear-gradient(90deg,color-mix(in srgb,var(--bg) 78%,transparent),transparent 28%,color-mix(in srgb,var(--bg) 18%,transparent) 72%,color-mix(in srgb,var(--bg) 44%,transparent)),radial-gradient(circle at 70% 52%,transparent 24%,color-mix(in srgb,var(--bg) 34%,transparent) 82%)}
.year-preview-frame.has-image img{opacity:.72;filter:grayscale(.08) saturate(.96) contrast(1.05) brightness(.82);mix-blend-mode:normal}
.year-card:hover .year-preview-frame.has-image img{opacity:.86;filter:grayscale(0) saturate(1.04) contrast(1.04) brightness(.9)}
@media(max-width:720px){.year-card:has(.year-preview-frame.has-image) .year-preview{right:-3%;width:52%;opacity:.9}.year-preview-frame.has-image img{opacity:.8;filter:grayscale(.06) saturate(1) contrast(1.05) brightness(.86)}.year-card:has(.year-preview-frame.has-image) .year-preview:after{background:linear-gradient(90deg,color-mix(in srgb,var(--bg) 82%,transparent),transparent 30%,color-mix(in srgb,var(--bg) 18%,transparent) 72%,color-mix(in srgb,var(--bg) 38%,transparent))}}
@media(hover:none){.cursor{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cursor{display:none}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
