:root{--ink:#181713;--paper:#f3efe7;--surface:#f8f5ef;--card:#fff;--cream:#e7ddcb;--muted:#6c665d;--gold:#c9a65c;--rust:#9e4d34;--line:rgba(24,23,19,.13);--shadow:0 22px 70px rgba(38,31,20,.15);--chamfer-stroke:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpolygon points='0.7,0.7 92,0.7 99.3,8 99.3,99.3 8,99.3 0.7,92' fill='none' stroke='%23181713' stroke-width='1' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");color-scheme:light}
:root[data-theme="dark"]{--ink:#eee9df;--paper:#121210;--surface:#1d1c19;--card:#26241f;--cream:#343027;--muted:#aaa398;--gold:#dfbd73;--rust:#d27a5c;--line:rgba(255,255,255,.13);--shadow:0 22px 70px rgba(0,0,0,.45);--chamfer-stroke:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpolygon points='0.7,0.7 92,0.7 99.3,8 99.3,99.3 8,99.3 0.7,92' fill='none' stroke='%23eee9df' stroke-width='1' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;line-height:1.65}
button,a{font:inherit}
button{color:inherit}
a{text-decoration:none}
.modal-open{overflow:hidden}

.intro-sequence{position:fixed;z-index:20000;inset:0;display:grid;place-items:center;overflow:hidden;background:#050608;color:#fff;cursor:crosshair;isolation:isolate;touch-action:none;user-select:none;-webkit-user-select:none}
.intro-sequence::before{content:"";position:absolute;z-index:4;inset:-40%;pointer-events:none;opacity:.5;background:repeating-radial-gradient(circle at 31% 43%,rgba(255,255,255,.22) 0 1px,transparent 1px 4px),repeating-linear-gradient(117deg,transparent 0 5px,rgba(255,255,255,.07) 5px 6px,transparent 6px 11px);background-size:7px 9px,13px 17px;mix-blend-mode:screen;animation:intro-noise .15s steps(2,end) infinite}
.intro-sequence::after{content:"";position:absolute;z-index:5;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.09) 0 1px,transparent 1px 4px),linear-gradient(90deg,rgba(0,225,255,.1),transparent 18% 82%,rgba(255,22,112,.12));mix-blend-mode:screen;animation:intro-scanlines .22s linear infinite}
.intro-scan-beam{position:absolute;z-index:2;left:0;right:0;height:3px;top:-4px;background:#fff;box-shadow:0 0 12px #fff,0 0 30px #5ef5ff;animation:intro-beam 1.5s cubic-bezier(.35,0,.65,1) forwards}
.intro-prompt{position:relative;z-index:3;display:grid;place-items:center;min-width:min(660px,86vw);min-height:190px;opacity:0;transform:scale(.96)}
.intro-ready .intro-prompt{opacity:1;transform:scale(1);transition:opacity .12s steps(2,end),transform .2s steps(3,end)}
.intro-frame{position:absolute;inset:0;background:linear-gradient(#fff,#fff) center/0 2px no-repeat}
.intro-ready .intro-frame{animation:intro-frame 1s steps(12,end) forwards}
.intro-word{position:relative;font:800 clamp(34px,7vw,82px)/1 Inter,sans-serif;letter-spacing:.09em;white-space:nowrap;text-shadow:3px 0 #00eaff,-3px 0 #ff276f}
.intro-word::before,.intro-word::after{content:attr(data-text);position:absolute;inset:0;opacity:0;pointer-events:none}
.intro-prompt small{position:absolute;top:calc(100% + 20px);font-size:11px;letter-spacing:.28em;opacity:.58}
.intro-holding{animation:intro-shake .1s steps(2,end) infinite}
.intro-holding .intro-word{animation:intro-hold-glitch .16s steps(3,end) infinite}
.intro-holding .intro-frame{filter:drop-shadow(8px 0 #00eaff) drop-shadow(-8px 0 #ff276f)}
.intro-resolve .intro-word::before,.intro-resolve .intro-word::after{opacity:.9}
.intro-resolve .intro-word::before{color:#00eaff;animation:intro-split-left .72s steps(6,end) forwards}
.intro-resolve .intro-word::after{color:#ff276f;animation:intro-split-right .72s steps(6,end) forwards}
.intro-title .intro-word,.intro-title .intro-word::before,.intro-title .intro-word::after{animation:intro-rebuild .7s steps(8,end) forwards}
.intro-exit{animation:intro-exit .8s steps(10,end) forwards;pointer-events:none}

.hero{z-index:2;height:78vh;min-height:560px;position:relative;overflow:hidden;isolation:isolate;background:#201d18}
.hero-bg{position:absolute;inset:-8%;background-position:center;background-size:cover;opacity:0;transition:opacity .5s ease;overflow:hidden}
.hero-bg.active{opacity:1}
.hero-pixel-sort.sort-composite{animation:sorted-composite .68s cubic-bezier(.18,.72,.18,1) both;will-change:opacity,scale}
.hero-pixel-sort{position:absolute;z-index:1;inset:0;width:100%;height:100%;opacity:0;pointer-events:none;image-rendering:pixelated}
.hero-pixel-sort.active{opacity:1}
.mouse-grid{position:absolute;left:0;top:0;width:220px;height:220px;pointer-events:none;opacity:0;transition:opacity .16s ease;background-image:linear-gradient(rgba(255,255,255,.32) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.32) 1px,transparent 1px);background-size:52px 52px;-webkit-mask-image:radial-gradient(circle at center,#000 0 34%,rgba(0,0,0,.72) 58%,transparent 100%);mask-image:radial-gradient(circle at center,#000 0 34%,rgba(0,0,0,.72) 58%,transparent 100%);mix-blend-mode:screen;contain:strict;will-change:transform,opacity}
.mouse-grid.visible{opacity:.62}
.hero-mouse-grid{z-index:1}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,12,10,.78),rgba(14,12,10,.18)),linear-gradient(0deg,rgba(14,12,10,.62),transparent 60%)}
.hero-overlay{z-index:2}.hero-content{z-index:3;position:relative;height:100%;display:flex;align-items:center;max-width:1180px;margin:auto;padding:48px;color:#fff}
.hero-inner{max-width:710px}
.hero-kicker,.eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:750;color:var(--gold)}
.hero-title{position:relative;width:max-content;max-width:100%;font-family:Georgia,"Songti SC",serif;font-size:clamp(56px,9vw,108px);line-height:.95;margin:18px 0;text-shadow:.5px 0 rgba(0,235,255,.42),-.5px 0 rgba(255,35,112,.36)}
.hero-title::before,.hero-title::after{content:attr(data-text);position:absolute;inset:0;pointer-events:none;opacity:0}
.hero-title::before{color:#55f4ff;mix-blend-mode:screen;animation:title-glitch-a 3.7s steps(1,end) infinite}
.hero-title::after{color:#ff3b83;mix-blend-mode:screen;animation:title-glitch-b 4.3s steps(1,end) infinite}
.hero:not(.in-view) .hero-title::before,.hero:not(.in-view) .hero-title::after{animation-play-state:paused}
.hero-subtitle{font-size:clamp(18px,2vw,26px);max-width:620px;color:#eee7dc}
.hero-cta{margin-top:24px;padding:13px 22px;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:transparent;color:white;cursor:pointer}

.main-wrap{z-index:3;position:relative;margin-top:-56px;padding:0 24px 130px}
.particle-field{position:fixed;z-index:2;inset:0;width:100vw;height:100vh;pointer-events:none;image-rendering:pixelated;contain:strict;transform:translateZ(0)}
body.intro-particle-front .particle-field{z-index:20001}
.section-backdrop{position:absolute;z-index:0;left:50%;top:56px;width:calc(100vw + 16px);height:calc(100% - 32px);transform:translateX(-50%);background-position:center top;background-size:cover;filter:saturate(.88);opacity:0;transition:background-image .32s ease,opacity .32s ease;pointer-events:none}
.section-backdrop.runtime-blur{filter:blur(8px) saturate(.88)}
.section-backdrop.has-image{opacity:.54}
.background-mouse-grid{z-index:0;background-color:rgba(15,18,22,.1)}
.main-card{position:relative;z-index:1;max-width:1180px;min-height:680px;margin:auto;background:var(--surface);box-shadow:var(--shadow);border-radius:26px;overflow:visible}
.tabbar{position:sticky;top:12px;z-index:10;display:flex;gap:7px;overflow:auto;width:fit-content;max-width:calc(100% - 30px);margin:0 auto;transform:translateY(-50%);padding:9px;background:color-mix(in srgb,var(--surface) 72%,transparent);backdrop-filter:blur(20px) saturate(1.25);border:1px solid var(--line);border-radius:22px;box-shadow:0 12px 30px rgba(0,0,0,.16)}
.tab-button{flex:0 0 auto;min-width:max-content;border:1px solid transparent;border-radius:14px;background:color-mix(in srgb,var(--card) 62%,transparent);color:var(--ink);padding:10px 14px;cursor:pointer}
.tab-button.active{background:var(--ink);color:var(--paper);border-color:color-mix(in srgb,var(--ink) 70%,transparent)}
.tab-panel{padding:clamp(30px,6vw,72px)}
.tab-content{max-width:1020px;margin:auto}
.partial-header{max-width:760px;margin-bottom:38px}
.partial-header h2{font-family:Georgia,"Songti SC",serif;font-size:clamp(34px,5vw,58px);line-height:1.05;margin:10px 0 14px}
.partial-header p{font-size:18px;color:#6c665d;margin:0}

.overview-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:24px}
.overview-lead,.stats{border:1px solid var(--line);border-radius:22px;padding:32px;background:var(--card)}
.overview-lead h3{font-family:Georgia,"Songti SC",serif;font-size:32px;margin:0 0 12px}
.overview-lead p{font-size:18px;color:var(--muted)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.stats div{display:flex;flex-direction:column;justify-content:center}
.stats strong{font-family:Georgia,serif;font-size:42px;color:var(--rust)}
.stats span{font-size:13px;color:#726b62}

.article-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.article-card{display:block;text-align:left;padding:0;border:1px solid var(--line);background:var(--card);border-radius:18px;overflow:hidden;cursor:pointer;transition:.25s;contain:layout style}
.article-card.no-cover{min-height:260px;display:flex;align-items:flex-end}
.article-card.no-cover .article-body{padding-top:46px}
.article-card:hover{transform:translateY(-5px);box-shadow:0 15px 36px rgba(30,25,19,.12)}
.article-cover{aspect-ratio:16/10;overflow:hidden;background:var(--cream)}
.article-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:.5s}
.article-card:hover img{transform:scale(1.035)}
.article-body{padding:22px}
.article-body h3{font-family:Georgia,"Songti SC",serif;font-size:25px;line-height:1.2;margin:8px 0}
.article-body p{color:#6a645b;margin:0 0 18px}
.article-meta{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--rust)}
.card-link{font-weight:700;font-size:13px}

.filter-row{display:flex;gap:8px;margin:-16px 0 28px;flex-wrap:wrap}
.filter{border:1px solid var(--line);border-radius:999px;padding:8px 14px;background:transparent;cursor:pointer}
.filter.active{background:var(--rust);color:#fff;border-color:var(--rust)}
.masonry{columns:3 260px;column-gap:18px}
.art-card{position:relative;width:100%;display:block;break-inside:avoid;margin:0 0 18px;padding:0;border:0;border-radius:16px;overflow:hidden;background:#222;cursor:pointer;contain:layout style}
.art-card img{width:100%;display:block;min-height:230px;object-fit:cover}
.art-card[data-category="pixel"] img,.project-article.category-pixel .gallery-view img{image-rendering:pixelated;image-rendering:crisp-edges}
.art-card span{position:absolute;inset:auto 0 0;padding:44px 18px 16px;text-align:left;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.8))}
.art-card b,.art-card small{display:block}
.art-card small{opacity:.75}

.modal-backdrop,.language-gate{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgba(13,12,10,.66);backdrop-filter:blur(12px)}
.modal-backdrop{isolation:isolate;overflow:hidden}
.modal-backdrop::before,.modal-backdrop::after{content:"";position:absolute;z-index:0;left:50%;top:50%;translate:-50% -50%;width:min(calc(94vw + 56px),1080px,98vw);height:min(calc(92vh + 48px),98vh);pointer-events:none;opacity:.21;mix-blend-mode:screen}
.modal-backdrop::before{background:repeating-linear-gradient(0deg,transparent 0 5vh,rgba(0,235,255,.22) 5vh 7vh,transparent 7vh 12vh);animation:modal-glitch-field-a 2.7s steps(9,end) infinite}
.modal-backdrop::after{background:repeating-linear-gradient(90deg,transparent 0 9vw,rgba(255,38,119,.2) 9vw 13vw,transparent 13vw 19vw);animation:modal-glitch-field-b 3.3s steps(8,end) infinite}
[hidden]{display:none!important}
.modal-shell{position:relative;z-index:2;width:min(1000px,94vw);max-height:92vh;overflow:hidden;border-radius:24px;background:var(--surface);box-shadow:var(--shadow)}
.modal-shell.modal-entering{animation:modal-enter .2s cubic-bezier(.2,.8,.2,1)}
.modal-shell.modal-leaving{animation:modal-leave .2s ease forwards}
.modal-content{max-height:92vh;overflow:auto;padding:0 0 56px}
.modal-close{position:absolute;z-index:3;top:14px;right:14px;width:44px;height:44px;border:0;border-radius:50%;background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 72%,transparent),0 5px 18px rgba(0,0,0,.28);font-size:28px;font-weight:700;cursor:pointer}
.modal-close-lines{position:fixed;z-index:4;pointer-events:none;opacity:0}
.modal-close-lines i{position:absolute;display:block;background:color-mix(in srgb,var(--ink) 84%,transparent)}
.modal-close-lines i:nth-child(1),.modal-close-lines i:nth-child(3){left:0;width:100%;height:1px}.modal-close-lines i:nth-child(1){top:0}.modal-close-lines i:nth-child(3){bottom:0}
.modal-close-lines i:nth-child(2),.modal-close-lines i:nth-child(4){top:0;width:1px;height:100%}.modal-close-lines i:nth-child(2){right:0}.modal-close-lines i:nth-child(4){left:0}
.modal-close-lines.active{opacity:1}.modal-close-lines.active i:nth-child(1){animation:close-line-up .4s ease-out forwards}.modal-close-lines.active i:nth-child(2){animation:close-line-right .36s ease-out forwards}.modal-close-lines.active i:nth-child(3){animation:close-line-down .42s ease-out forwards}.modal-close-lines.active i:nth-child(4){animation:close-line-left .38s ease-out forwards}
.project-article{max-width:820px;margin:auto;padding:0 32px}
.project-hero{width:calc(100% + 64px);height:min(48vh,440px);margin:0 -32px 38px;object-fit:cover}
.project-article h1{font-family:Georgia,"Songti SC",serif;font-size:clamp(38px,6vw,68px);line-height:1.02;margin:10px 0 16px}
.project-deck{font-size:21px;color:#625c53}
.project-article p{max-width:720px}
.lead{font-size:18px}
.project-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.pill-link{padding:10px 15px;border:1px solid var(--line);border-radius:999px}
.pill-link.download{background:var(--ink);color:var(--paper)}
.video-frame{position:relative;aspect-ratio:16/9;margin:30px 0;border-radius:16px;overflow:hidden;background:#111}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.local-video{width:100%;margin:30px 0;border-radius:16px;background:#111}
.gallery-view{display:grid;gap:18px;margin-top:26px}
.gallery-view img{width:100%;border-radius:14px;background:#ddd}
.article-figure{margin:30px 0}
.article-figure img{display:block;width:100%;max-height:68vh;object-fit:contain;border-radius:14px;background:var(--cream)}
.article-figure figcaption{margin-top:9px;color:var(--muted);font-size:14px}
.glitch-text-chunk{display:inline;opacity:0;animation:text-flicker-in .16s steps(2,end) forwards}
.pixel-ripple{position:fixed;z-index:15000;width:54px;height:54px;transform:translate(-50%,-50%);pointer-events:none;background:transparent;image-rendering:pixelated;animation:pixel-ripple .52s steps(7,end) forwards}
.pixel-ripple::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:12px;border:1px solid color-mix(in srgb,var(--ink) 88%,transparent);transform:translate(-50%,-50%);animation:ripple-square .48s steps(6,end) forwards}
.pixel-ripple i{position:absolute;left:50%;top:50%;width:var(--ps);height:var(--ps);background:color-mix(in srgb,var(--ink) 78%,transparent);animation:ripple-pixel .46s steps(5,end) var(--pd) forwards}
.language-card{width:min(620px,92vw);padding:52px;background:var(--surface);border-radius:24px;text-align:center}
.language-card h1{font-family:Georgia,"Songti SC",serif;font-size:42px;line-height:1.2}
.language-card small{font-size:22px;font-weight:400}
.language-actions{display:flex;gap:12px;justify-content:center}
.language-actions button{min-width:150px;padding:13px 20px;border:1px solid var(--line);border-radius:999px;background:white;cursor:pointer}
.language-actions button:first-child{background:var(--ink);color:white}

.floating-footer{position:fixed;z-index:50;bottom:18px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:5px;max-width:calc(100vw - 20px);overflow-x:auto;padding:9px 11px;border-radius:999px;background:rgba(25,23,20,.9);color:#fff;backdrop-filter:blur(14px);box-shadow:0 10px 30px rgba(0,0,0,.2)}
.social-link,.language-switch,.theme-switch{border:0;background:transparent;color:#fff;padding:8px 9px;border-radius:999px;cursor:pointer;font-size:12px;font-weight:700}
.language-switch.active{background:#fff;color:#111}
.card-glitch{animation:card-glitch .34s steps(3,end)}
.interaction-glitch{animation:interaction-glitch .24s steps(3,end)}
body.ui-glitch::after{content:"";position:fixed;z-index:9999;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 9px,rgba(83,241,255,.09) 9px 11px,transparent 11px 19px,rgba(255,58,132,.07) 19px 21px);mix-blend-mode:difference;animation:ui-glitch .34s steps(5,end)}
body.scene-glitch::before,body.scene-glitch::after{content:"";position:fixed;z-index:10000;inset:0;pointer-events:none;contain:strict;will-change:opacity,transform,clip-path}
body.intro-particle-front.scene-glitch::before,body.intro-particle-front.scene-glitch::after{z-index:20002}
body.scene-glitch::before{background:linear-gradient(90deg,#fff 0 18%,#0ff 18% 21%,#fff 21% 48%,#ff327f 48% 52%,#fff 52% 100%);mix-blend-mode:difference;animation:scene-wipe .9s steps(8,end)}
body.scene-glitch::after{background:repeating-linear-gradient(0deg,transparent 0 12px,rgba(255,255,255,.82) 12px 18px,transparent 18px 31px),repeating-linear-gradient(90deg,rgba(0,240,255,.22) 0 7vw,transparent 7vw 13vw,rgba(255,30,120,.2) 13vw 18vw);mix-blend-mode:difference;filter:hue-rotate(120deg) contrast(1.45);animation:scene-blocks .9s steps(7,end)}
.effect-prewarm{position:fixed;z-index:-1;left:-10px;top:-10px;width:2px;height:2px;overflow:hidden;opacity:.001;pointer-events:none;contain:strict}
.effect-prewarm::before,.effect-prewarm::after{content:"";position:absolute;inset:0;will-change:opacity,transform,clip-path}.effect-prewarm::before{animation:scene-wipe .9s steps(8,end)}.effect-prewarm::after{animation:scene-blocks .9s steps(7,end)}.effect-prewarm i{display:block;animation:card-glitch .34s steps(3,end)}

@keyframes modal-enter{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
@keyframes modal-leave{to{opacity:0;transform:scale(.96)}}
@keyframes card-glitch{0%,100%{transform:none;filter:none}18%{transform:translateX(5px);filter:hue-rotate(65deg)}35%{clip-path:inset(12% 0 62% 0);transform:translateX(-7px)}52%{clip-path:inset(55% 0 18% 0);transform:translateX(6px)}72%{clip-path:inset(0);filter:contrast(1.3)}}
@keyframes interaction-glitch{0%,100%{translate:0;filter:none}22%{translate:3px -1px;filter:hue-rotate(75deg)}48%{translate:-3px 1px;filter:contrast(1.35)}72%{translate:2px 0}}
@keyframes ui-glitch{0%,100%{opacity:0;transform:none}15%{opacity:1;transform:translateX(7px)}35%{opacity:.8;transform:translateX(-9px)}58%{opacity:1;transform:translateY(5px)}80%{opacity:.5;transform:translateX(3px)}}
@keyframes scene-wipe{0%{opacity:0;clip-path:inset(0 50%)}12%{opacity:.85;clip-path:inset(0 39%)}28%{clip-path:inset(0 18%);transform:translateX(3vw)}46%{opacity:1;clip-path:inset(0);transform:translateX(-2vw)}66%{opacity:.75;clip-path:polygon(0 0,100% 0,100% 18%,0 18%,0 43%,100% 43%,100% 61%,0 61%,0 78%,100% 78%,100% 100%,0 100%)}100%{opacity:0;clip-path:inset(0);transform:none}}
@keyframes scene-blocks{0%{opacity:0;clip-path:inset(45% 0)}18%{opacity:.8;clip-path:inset(28% 0);transform:translateX(-4vw)}40%{opacity:1;clip-path:inset(0);transform:translateX(3vw)}58%{opacity:.75;clip-path:polygon(0 8%,100% 8%,100% 26%,0 26%,0 52%,100% 52%,100% 72%,0 72%)}82%{opacity:.35;transform:translateX(-2vw)}100%{opacity:0;clip-path:inset(0);transform:none}}
@keyframes intro-noise{0%{transform:translate(0)}25%{transform:translate(3%,-2%)}50%{transform:translate(-2%,3%)}75%{transform:translate(1%,2%)}100%{transform:translate(-3%,-1%)}}
@keyframes intro-scanlines{to{background-position:0 8px,0 0}}
@keyframes intro-beam{0%{top:-4px;opacity:.3}45%{opacity:1}100%{top:100%;opacity:.65}}
@keyframes intro-frame{0%{background-size:0 2px}35%{background-size:100% 2px}36%{background:linear-gradient(#fff,#fff) top/100% 2px no-repeat,linear-gradient(#fff,#fff) bottom/100% 2px no-repeat}68%{background:linear-gradient(#fff,#fff) top/100% 2px no-repeat,linear-gradient(#fff,#fff) bottom/100% 2px no-repeat,linear-gradient(#fff,#fff) left top/2px 100% no-repeat}100%{background:linear-gradient(#fff,#fff) top/100% 2px no-repeat,linear-gradient(#fff,#fff) bottom/100% 2px no-repeat,linear-gradient(#fff,#fff) left/2px 100% no-repeat,linear-gradient(#fff,#fff) right/2px 100% no-repeat}}
@keyframes intro-shake{0%{transform:translate(0)}25%{transform:translate(5px,-3px)}50%{transform:translate(-6px,2px)}75%{transform:translate(3px,5px)}100%{transform:translate(-2px,-4px)}}
@keyframes intro-hold-glitch{0%,100%{clip-path:inset(0);transform:none}30%{clip-path:inset(8% 0 61%);transform:translateX(12px)}60%{clip-path:inset(56% 0 13%);transform:translateX(-10px)}}
@keyframes intro-split-left{0%{transform:none;clip-path:inset(0)}45%{transform:translate(-28px,-7px);clip-path:inset(0 0 48%)}100%{transform:translate(-70px,6px);clip-path:inset(8% 0 38%);opacity:.35}}
@keyframes intro-split-right{0%{transform:none;clip-path:inset(0)}45%{transform:translate(31px,8px);clip-path:inset(48% 0 0)}100%{transform:translate(74px,-5px);clip-path:inset(42% 0 4%);opacity:.35}}
@keyframes intro-rebuild{0%{letter-spacing:.32em;filter:hue-rotate(130deg);transform:scaleX(1.22)}55%{letter-spacing:.02em;filter:contrast(1.8);transform:scaleX(.94)}100%{letter-spacing:.09em;filter:none;transform:none;opacity:1}}
@keyframes intro-exit{0%{opacity:1;clip-path:inset(0)}45%{opacity:.8;clip-path:polygon(0 0,100% 0,100% 19%,0 19%,0 37%,100% 37%,100% 63%,0 63%,0 81%,100% 81%,100% 100%,0 100%)}100%{opacity:0;clip-path:inset(49% 0);visibility:hidden}}
@keyframes title-glitch-a{0%,8%,14%,42%,47%,73%,78%,100%{opacity:0;transform:none;clip-path:inset(0)}9%{opacity:.5;transform:translate(3px,-1px);clip-path:inset(12% 0 68%)}10%{opacity:.35;transform:translate(-2px,1px);clip-path:inset(62% 0 18%)}43%{opacity:.42;transform:translateX(2px);clip-path:inset(35% 0 46%)}74%{opacity:.38;transform:translateX(-3px);clip-path:inset(76% 0 8%)}}
@keyframes title-glitch-b{0%,18%,23%,51%,56%,84%,89%,100%{opacity:0;transform:none;clip-path:inset(0)}19%{opacity:.45;transform:translate(-3px,1px);clip-path:inset(20% 0 61%)}20%{opacity:.32;transform:translate(2px,-1px);clip-path:inset(55% 0 27%)}52%{opacity:.4;transform:translateX(-2px);clip-path:inset(8% 0 74%)}85%{opacity:.36;transform:translateX(3px);clip-path:inset(69% 0 13%)}}
@keyframes sorted-composite{0%{opacity:0;scale:1.13}36%{opacity:.62;scale:1.07}74%{opacity:.94;scale:1.02}100%{opacity:1;scale:1}}
@keyframes text-flicker-in{0%,36%{opacity:0}37%,64%{opacity:.42}65%,82%{opacity:0}83%,100%{opacity:1}}
@keyframes pixel-ripple{0%{opacity:0}15%{opacity:1}72%{opacity:.72}100%{opacity:0}}
@keyframes ripple-square{0%{width:8px;height:8px;opacity:1}70%{width:28px;height:28px;opacity:.75}100%{width:38px;height:38px;opacity:0}}
@keyframes ripple-pixel{0%{opacity:0;transform:translate(0,0) scale(.5)}20%{opacity:1}78%{opacity:.7}100%{opacity:0;transform:translate(var(--px),var(--py)) scale(.75)}}
@keyframes modal-glitch-field-a{0%,100%{transform:translate(0);clip-path:inset(0)}18%{transform:translateX(7vw);clip-path:inset(12% 0 68%)}37%{transform:translateX(-5vw);clip-path:inset(52% 0 19%)}64%{transform:translateY(4vh);clip-path:inset(28% 0 44%)}82%{transform:translate(-3vw,-2vh);clip-path:inset(73% 0 8%)}}
@keyframes modal-glitch-field-b{0%,100%{transform:none;clip-path:inset(0)}22%{transform:translateY(-8vh);clip-path:inset(8% 0 76%)}48%{transform:translate(5vw,6vh);clip-path:inset(61% 0 16%)}71%{transform:translateX(-7vw);clip-path:inset(35% 0 43%)}89%{transform:translateY(3vh);clip-path:inset(80% 0 4%)}}
@keyframes close-line-up{to{transform:translate(34px,-28px) scaleX(.68);opacity:0}}
@keyframes close-line-right{to{transform:translate(31px,22px) scaleY(.62);opacity:0}}
@keyframes close-line-down{to{transform:translate(-26px,30px) scaleX(.74);opacity:0}}
@keyframes close-line-left{to{transform:translate(-30px,-17px) scaleY(.66);opacity:0}}

:where(.main-card,.tabbar,.overview-lead,.stats,.article-card,.art-card,.modal-shell,.language-card,.video-frame,.local-video,.gallery-view img,.article-figure img,.project-hero,.floating-footer,button,.pill-link,.social-link){border-radius:0 12px 0 12px!important;corner-shape:bevel;clip-path:none!important;border:1px solid color-mix(in srgb,var(--ink) 72%,transparent)!important}
:where(.modal-close,.social-link,.language-switch,.theme-switch){border-radius:0 7px 0 7px!important;corner-shape:bevel}

.file-browser{position:relative;padding:8px 0 10px 28px;background:var(--surface);color:var(--ink)}
.file-browser::before{content:"";position:absolute;left:5px;top:0;bottom:0;width:6px;border-left:1px solid var(--ink);border-right:2px solid var(--ink)}
.file-tree{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace}
.tree-node{position:relative}
.tree-row{width:100%;min-height:42px;display:grid;grid-template-columns:18px 25px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 10px;text-align:left;background:var(--surface)!important;color:var(--ink);border:0!important;border-bottom:1px solid var(--ink)!important;border-radius:0!important;corner-shape:initial;clip-path:none!important;cursor:pointer;transition:background-color .18s ease,color .18s ease}
.tree-row:hover{background:var(--ink)!important;color:var(--surface)}
.tree-row small{font-size:10px;color:currentColor}
.tree-twist{font-size:21px;line-height:1;color:currentColor;transform-origin:center;transition:transform .22s ease}
.tree-folder.open>.tree-folder-row .tree-twist{transform:rotate(90deg)}
.tree-children{display:grid;grid-template-rows:0fr;transition:grid-template-rows .26s cubic-bezier(.2,.75,.2,1)}
.tree-children>div{min-height:0;overflow:hidden;margin-left:17px;padding-left:14px;border-left:1px solid var(--ink)}
.tree-folder.open>.tree-children{grid-template-rows:1fr}
.file-icon{position:relative;display:block;width:18px;height:19px;color:var(--ink)}
.folder-icon{height:14px;margin-top:3px;border:1px solid currentColor;background:var(--surface)}
.folder-icon::before{content:"";position:absolute;left:1px;top:-5px;width:8px;height:4px;border:1px solid currentColor;border-bottom:0;background:var(--surface)}
.doc-icon,.file-icon:not(.folder-icon):not(.image-icon){border:1px solid currentColor;background:var(--surface)}
.doc-icon::after{content:"DOC";position:absolute;left:2px;bottom:1px;font-size:5px;font-weight:800;letter-spacing:-.04em}
.image-icon{border:1px solid currentColor;background:linear-gradient(145deg,transparent 45%,currentColor 46% 53%,transparent 54%),linear-gradient(35deg,transparent 46%,currentColor 47% 54%,transparent 55%)}
.image-icon::after{content:"";position:absolute;right:3px;top:3px;width:3px;height:3px;background:currentColor}
.file-icon:not(.folder-icon):not(.doc-icon):not(.image-icon)::after{content:"";position:absolute;right:-1px;top:-1px;border-style:solid;border-width:0 0 6px 6px;border-color:transparent transparent var(--ink) transparent}
.tree-row:hover .folder-icon,.tree-row:hover .folder-icon::before,.tree-row:hover .doc-icon,.tree-row:hover .file-icon:not(.folder-icon):not(.image-icon){background:var(--ink)}
.tree-row:hover .file-icon:not(.folder-icon):not(.doc-icon):not(.image-icon)::after{border-color:transparent transparent var(--surface) transparent}
.file-preview .gallery-view img{max-height:70vh;object-fit:contain}
.footer-divider{width:1px;height:20px;background:rgba(255,255,255,.25)}

@media(max-width:760px){.hero{min-height:520px}
.main-wrap{padding:0 10px 110px}
.section-backdrop{width:calc(100vw + 12px);height:calc(100% - 38px)}
.tab-panel{padding:32px 18px}
.overview-grid,.article-grid{grid-template-columns:1fr}
.stats{padding:22px}
.project-article{padding:0 18px}
.project-hero{width:calc(100% + 36px);margin-left:-18px;margin-right:-18px}
.language-card{padding:34px 20px}
.language-actions{flex-direction:column}
.language-actions button{width:100%}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}
}
