:root{--bg: #111111;--fg: #f0ece4;--accent: #ffe500;--muted: #444444;--border: #222222;--font: "DM Mono", "Courier New", monospace}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg);color:var(--fg);font-family:var(--font);font-size:16px;-webkit-font-smoothing:antialiased}body{min-height:100vh;display:flex;flex-direction:column}#root{display:flex;flex-direction:column;min-height:100vh}a{color:inherit;text-decoration:none}.site-footer{width:100%;display:flex;align-items:center;gap:32px;padding:28px 48px;border-top:1px solid var(--border);font-size:.75rem;letter-spacing:.06em;margin-top:auto;background:var(--bg);z-index:10;position:relative}.footer-link{color:var(--muted);transition:color .1s}.footer-link:hover{color:var(--fg)!important}.footer-muted{color:var(--muted);margin-left:auto;font-style:italic}@media (max-width: 600px){nav{padding:20px 24px!important}main{padding:48px 24px 40px!important}footer{padding:24px!important;gap:20px!important;flex-wrap:wrap}}@media (max-width: 640px){.detail-grid{grid-template-columns:1fr!important}.detail-grid>*[style*="span 2"]{grid-column:span 1!important}}.cursor{animation:blink 1.1s steps(1) infinite;margin-left:1px;color:var(--accent);font-weight:700;letter-spacing:0}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}button{background:none;border:none;font:inherit;color:inherit;cursor:pointer;padding:0}.app-root{display:flex;flex-direction:column;min-height:100vh}.split-layout{display:flex;flex:1;overflow:hidden}.left-panel{width:45%;min-width:0;overflow:hidden;display:flex;flex-direction:column}.right-panel-wrap{width:55%;min-width:0;position:relative;height:auto;overflow:hidden}.image-grid-container{position:relative;width:100%;height:100%;overflow:hidden}.glitch-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;mix-blend-mode:screen;animation-duration:.42s;animation-timing-function:steps(1);animation-fill-mode:forwards}.glitch-red{filter:saturate(3) hue-rotate(300deg) brightness(1.5);animation-name:glitch-rgb-r;opacity:.5}.glitch-blue{filter:saturate(3) hue-rotate(180deg) brightness(1.5);animation-name:glitch-rgb-b;opacity:.5}.glitch-scanlines{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(to bottom,transparent 0px,transparent 3px,rgba(0,0,0,.35) 3px,rgba(0,0,0,.35) 4px);animation:scanline-flash .42s steps(1) forwards;z-index:20}@keyframes glitch-jitter{0%{transform:translate(0)}10%{transform:translate(-3px,1px)}20%{transform:translate(3px,-2px)}30%{transform:translate(-2px,3px)}40%{transform:translate(4px,-1px)}50%{transform:translate(-1px,2px)}60%{transform:translate(2px,-3px)}70%{transform:translate(-4px,1px)}80%{transform:translate(1px,-2px)}90%{transform:translate(-2px,2px)}to{transform:translate(0)}}@keyframes glitch-rgb-r{0%{transform:translate(0);clip-path:inset(0 0 100% 0)}10%{transform:translate(-6px);clip-path:inset(20% 0 60% 0)}20%{transform:translate(4px);clip-path:inset(5% 0 80% 0)}30%{transform:translate(-4px);clip-path:inset(55% 0 20% 0)}40%{transform:translate(8px);clip-path:inset(30% 0 40% 0)}50%{transform:translate(-6px);clip-path:inset(70% 0 10% 0)}60%{transform:translate(3px);clip-path:inset(10% 0 70% 0)}70%{transform:translate(-8px);clip-path:inset(45% 0 30% 0)}80%{transform:translate(5px);clip-path:inset(80% 0 5% 0)}90%{transform:translate(-3px);clip-path:inset(15% 0 65% 0)}to{transform:translate(0);clip-path:inset(0 0 100% 0)}}@keyframes glitch-rgb-b{0%{transform:translate(0);clip-path:inset(0 0 100% 0)}10%{transform:translate(5px);clip-path:inset(60% 0 15% 0)}20%{transform:translate(-3px);clip-path:inset(10% 0 75% 0)}30%{transform:translate(6px);clip-path:inset(40% 0 35% 0)}40%{transform:translate(-5px);clip-path:inset(75% 0 8% 0)}50%{transform:translate(3px);clip-path:inset(25% 0 55% 0)}60%{transform:translate(-7px);clip-path:inset(50% 0 25% 0)}70%{transform:translate(4px);clip-path:inset(85% 0 3% 0)}80%{transform:translate(-5px);clip-path:inset(35% 0 45% 0)}90%{transform:translate(2px);clip-path:inset(65% 0 18% 0)}to{transform:translate(0);clip-path:inset(0 0 100% 0)}}@keyframes scanline-flash{0%{opacity:0}10%{opacity:1}30%{opacity:.6}50%{opacity:1}70%{opacity:.4}90%{opacity:.8}to{opacity:0}}@media (max-width: 640px){.split-layout{flex-direction:column}.left-panel{width:100%;border-right:none;border-bottom:1px solid var(--border)}.right-panel-wrap{width:100%;position:relative;height:auto;min-height:56vw}.image-grid-container{min-height:56vw}}
