*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#fafaf8;--bg-rgb:250,250,248;--text:#1a1a1a;--muted:#888;--accent:#2a5caa;--glow:rgba(42,92,170,0.4);--mono:"Courier New",Courier,monospace}@media(prefers-color-scheme:dark){:root{--bg:#080808;--bg-rgb:8,8,8;--text:#e8e8e4;--muted:#444;--accent:#6a9fd8;--glow:rgba(106,159,216,0.6)}}html{scroll-behavior:smooth;background-color:var(--bg)}body{background-color:var(--bg);color:var(--text);font-family:var(--mono);font-size:14px;line-height:1.7;overflow-x:hidden}#rain-canvas{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:0;pointer-events:none}.hero{position:relative;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:2}.hero .co{font-size:clamp(26px,6vw,36px);font-weight:bold;letter-spacing:8px;margin-bottom:16px;text-transform:uppercase}.hero .sq{font-size:clamp(14px,2.8vw,18px);color:var(--text);font-weight:bold;letter-spacing:1px;text-shadow:0 0 15px var(--glow);white-space:nowrap;overflow:hidden;border-right:3px solid var(--accent);width:0;animation:typing 3s steps(30,end) forwards,blink 0.8s step-end infinite}@keyframes typing{from{width:0}to{width:100%}}@keyframes blink{from,to{border-color:transparent}50%{border-color:var(--accent)}}.scroll-hint{position:absolute;bottom:50px;font-size:11px;color:var(--accent);letter-spacing:4px;text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:12px;animation:bounce 2.5s infinite;cursor:pointer;z-index:5;font-weight:bold}.scroll-hint span{font-size:22px}@keyframes bounce{0%,20%,50%,80%,100%{transform:translateY(0);opacity:0.7}40%{transform:translateY(-10px);opacity:1}}.transition-fog{position:relative;max-width:680px;margin:-180px auto 0 auto;height:180px;background:linear-gradient(to bottom,rgba(var(--bg-rgb),0),rgba(var(--bg-rgb),1));z-index:3;pointer-events:none}.content-wrapper{position:relative;max-width:680px;margin:0 auto;padding:0 40px 120px 40px;z-index:4;background-color:var(--bg)}.block{white-space:pre-wrap;font-family:var(--mono)}.key{color:var(--text)}.str{color:var(--accent)}.dash{color:var(--muted)}.head{color:var(--text);font-weight:bold}a{color:var(--accent);text-decoration:none;transition:0.3s}a:hover{text-decoration:underline}footer{margin-top:100px;color:var(--muted);font-size:11px;text-align:center}