.snowflake{color:#fff;text-shadow:0 0 5px #000;font-family:Arial,sans-serif;font-size:1em}@keyframes snowflakes-fall{0%{top:-10%}to{top:100%}}@keyframes snowflakes-shake{0%,to{transform:translate(0)}50%{transform:translate(80px)}}.snowflake{z-index:9999;-webkit-user-select:none;user-select:none;cursor:default;animation-name:snowflakes-fall,snowflakes-shake;animation-duration:10s,3s;animation-timing-function:linear,ease-in-out;animation-iteration-count:infinite,infinite;animation-play-state:running,running;position:fixed;top:-10%}.snowflake:nth-of-type(0){animation-delay:0s,0s;left:1%}.snowflake:first-of-type{animation-delay:1s,1s;left:10%}.snowflake:nth-of-type(2){animation-delay:6s,.5s;left:20%}.snowflake:nth-of-type(3){animation-delay:4s,2s;left:30%}.snowflake:nth-of-type(4){animation-delay:2s,2s;left:40%}.snowflake:nth-of-type(5){animation-delay:8s,3s;left:50%}.snowflake:nth-of-type(6){animation-delay:6s,2s;left:60%}.snowflake:nth-of-type(7){animation-delay:2.5s,1s;left:70%}.snowflake:nth-of-type(8){animation-delay:1s,0s;left:80%}.snowflake:nth-of-type(9){animation-delay:3s,1.5s;left:90%}.snowflake:nth-of-type(10){animation-delay:2s,0s;left:25%}.snowflake:nth-of-type(11){animation-delay:4s,2.5s;left:65%}.halloween-bg{object-fit:cover;object-position:top;opacity:.5;filter:saturate(1.5)brightness(1.2);width:100vw;height:100vh;position:fixed;top:0;overflow:hidden}body.halloween .terminal .terminal__body{backdrop-filter:blur(5px);background:#00000036;box-shadow:0 4px 30px #0000001a}body:not(.dark-mode) .halloween-bg{opacity:.8}#santa{z-index:1;width:150px;position:absolute;top:50px;right:-200px}:root{--primary:#00ff41;--primary-dim:#0c3;--primary-glow:#00ff414d;--accent-2:#00d4ff;--accent-2-glow:#00d4ff40;--accent-3:#c77dff;--text-color:#d0ffd0;--text-muted:#6b9e6b;--link-color:var(--accent-2);--bg-body:#050c05;--bg-body-2:#020602;--terminal-bg:#020a02f0;--terminal-header-bg:#0c160c;--terminal-border:#00ff4159;--terminal-glow:0 0 20px #00ff411f, 0 0 60px #00ff410f, 0 20px 60px #000000b3;--username-color:var(--accent-2);--code-color:var(--primary);--scrollbar-color:var(--primary-dim);--matrix-rgb:0, 255, 65;--error-color:#ff5f57}body.light-mode{--primary:#d63384;--primary-dim:#b02a6f;--primary-glow:#d6338459;--accent-2:#8b5cf6;--accent-2-glow:#8b5cf64d;--accent-3:#ec4899;--text-color:#4a1c4a;--text-muted:#9d6e9d;--link-color:#8b5cf6;--bg-body:#fdf2f8;--bg-body-2:#fce7f3;--terminal-bg:#fff0faf2;--terminal-header-bg:#f5d4e8;--terminal-border:#d633844d;--terminal-glow:0 0 30px #d6338426, 0 0 80px #8b5cf61a, 0 20px 60px #d6338433;--username-color:#8b5cf6;--code-color:#d63384;--scrollbar-color:#d63384;--matrix-rgb:214, 51, 132;--error-color:#ef4444}body.synthwave-mode{--primary:#ff006e;--primary-dim:#d10058;--primary-glow:#ff006e66;--accent-2:#8338ec;--accent-2-glow:#8338ec59;--accent-3:#ffbe0b;--text-color:#ffd6ff;--text-muted:#c77dff;--link-color:#ffbe0b;--bg-body:#0d0221;--bg-body-2:#1a0033;--terminal-bg:#0d0221eb;--terminal-header-bg:#1f0744;--terminal-border:#ff006e66;--terminal-glow:0 0 40px #ff006e33, 0 0 80px #8338ec26, 0 20px 60px #000c;--username-color:#ffbe0b;--code-color:#ff006e;--scrollbar-color:#ff006e;--matrix-rgb:255, 0, 110}*{box-sizing:border-box}body{background:var(--bg-body);justify-content:center;align-items:center;height:100vh;margin:0;font-family:JetBrains Mono,Ubuntu Mono,monospace;transition:background .4s;display:flex;overflow:hidden}#matrix-canvas{z-index:0;opacity:.18;pointer-events:none;width:100%;height:100%;transition:opacity .5s;position:fixed;top:0;left:0}body.light-mode #matrix-canvas{opacity:.1}body.matrix-intense #matrix-canvas{opacity:.45}.scanlines{z-index:1;pointer-events:none;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#00000014 2px 4px);width:100%;height:100%;animation:8s linear infinite scanlines-move;position:fixed;top:0;left:0}body.light-mode .scanlines{background:repeating-linear-gradient(0deg,#0000,#0000 3px,#d633840a 3px 4px)}@keyframes scanlines-move{0%{background-position:0 0}to{background-position:0 100px}}.sparkles{z-index:2;pointer-events:none;display:none;position:fixed;inset:0}body.light-mode .sparkles{background-color:#0000;background-image:radial-gradient(2px 2px at 20% 30%,#d6338499,#0000),radial-gradient(1px 1px at 60% 70%,#8b5cf680,#0000),radial-gradient(2px 2px at 80% 20%,#ec489980,#0000),radial-gradient(1px 1px at 40% 80%,#d6338466,#0000),radial-gradient(2px 2px at 90% 60%,#8b5cf680,#0000),radial-gradient(1px 1px at 10%,#ec489966,#0000);background-position:0 0,0 0,0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat,repeat,repeat;background-size:600px 600px;background-attachment:scroll,scroll,scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box,border-box;animation:30s linear infinite sparkle-float;display:block}@keyframes sparkle-float{0%{background-position:0 0,0 0,0 0,0 0,0 0,0 0}to{background-position:600px 600px,-600px 600px,600px -600px,-600px -600px,300px 300px,-300px -300px}}.terminal{resize:both;z-index:10;border:1px solid var(--terminal-border);width:min(1000px,92vw);height:580px;box-shadow:var(--terminal-glow);backdrop-filter:blur(4px);border-radius:6px;transition:box-shadow .4s,border .4s;animation:8s ease-in-out infinite terminal-flicker;position:absolute;overflow:hidden}.terminal::-webkit-resizer{background:0 0}.terminal:before{content:"";background:linear-gradient(135deg, var(--primary-glow), transparent 50%, var(--accent-2-glow));opacity:0;pointer-events:none;z-index:0;border-radius:6px;animation:4s ease-in-out infinite border-glow;position:absolute;inset:-1px}.terminal .terminal__header{background-color:var(--terminal-header-bg);cursor:move;border-bottom:1px solid var(--terminal-border);z-index:1;border-top-left-radius:6px;border-top-right-radius:6px;align-items:center;gap:2px;height:30px;padding:0 12px;display:flex;position:relative}.terminal .terminal__header .fake-button{cursor:pointer;border-radius:50%;width:12px;height:12px;transition:filter .2s,transform .2s;display:inline-block;position:relative}.terminal .terminal__header .fake-button:hover{filter:brightness(1.3);transform:scale(1.15)}.terminal .terminal__header .fake-button.fake-close{background-color:#ff5f57;border:1px solid #e0443e;margin-right:2px}.terminal .terminal__header .fake-button.fake-minimize{background-color:#febc2e;border:1px solid #d4a017;margin-right:2px}.terminal .terminal__header .fake-button.fake-zoom{background-color:#28c840;border:1px solid #1aaa2f;margin-right:8px}.terminal .terminal__header .terminal__title{color:var(--text-muted);letter-spacing:.05em;opacity:.8;font-family:JetBrains Mono,monospace;font-size:11px}.terminal .terminal__header .terminal__theme-btn{border:1px solid var(--terminal-border);color:var(--text-muted);cursor:pointer;letter-spacing:.05em;background:0 0;border-radius:3px;margin-left:auto;padding:2px 8px;font-family:inherit;font-size:10px;transition:all .2s}.terminal .terminal__header .terminal__theme-btn:hover{color:var(--primary);border-color:var(--primary);box-shadow:0 0 8px var(--primary-glow)}.terminal .terminal__body{background:var(--terminal-bg);color:var(--text-color);border-bottom-right-radius:6px;border-bottom-left-radius:6px;height:calc(100% - 30px);padding:12px 16px;font-family:JetBrains Mono,Ubuntu Mono,monospace;transition:background .4s,color .4s;position:relative;overflow:hidden scroll}.terminal .terminal__body::-webkit-scrollbar{width:4px}.terminal .terminal__body::-webkit-scrollbar-track{background:0 0}.terminal .terminal__body::-webkit-scrollbar-thumb{background:var(--scrollbar-color);opacity:.5;border-radius:2px}.terminal .terminal__body code{color:var(--code-color);text-shadow:0 0 6px var(--primary-glow);font-family:inherit;font-size:13px}.terminal .terminal__body em{color:var(--text-muted);font-style:normal}.terminal .terminal__body a{color:var(--link-color);text-decoration:none;transition:color .2s,text-shadow .2s}.terminal .terminal__body a:hover{text-shadow:0 0 8px var(--accent-2-glow);text-decoration:underline}.terminal .terminal__body strong{color:var(--text-color);font-weight:700}.terminal .terminal__body .terminal__banner{flex-direction:column;margin-bottom:8px;display:flex}.terminal .terminal__body .terminal__banner .banner-art{color:var(--primary);text-shadow:0 0 10px var(--primary-glow), 0 0 20px var(--primary-glow);white-space:pre;margin:0;font-size:11px;line-height:1.2;animation:3s ease-in-out infinite text-glow;overflow-x:auto}.terminal .terminal__body .terminal__banner .banner-sub{color:var(--accent-2);text-shadow:0 0 10px var(--accent-2-glow);white-space:pre;margin:0 0 4px;font-size:11px;line-height:1.2;overflow-x:auto}.terminal .terminal__body .terminal__banner .terminal__author{text-align:right;color:var(--text-muted);letter-spacing:.15em;margin-top:2px;font-size:11px}.terminal .terminal__body .terminal__banner .banner-welcome{color:var(--text-muted);border-left:2px solid var(--primary);margin:8px 0 4px;padding-left:10px;font-size:13px;line-height:1.6}.terminal .terminal__body .boot-sequence{color:var(--text-muted);margin:4px 0;font-size:12px;line-height:1.5}.terminal .terminal__body .boot-sequence .boot-line{opacity:0;animation:50ms forwards fade-in}.terminal .terminal__body .boot-sequence .boot-line .ok{color:var(--primary);font-weight:700}.terminal .terminal__body .boot-sequence .boot-line .info{color:var(--accent-2)}.terminal .terminal__body .boot-sequence .boot-line .warn{color:#ffbe0b}.terminal .terminal__body .terminal__line{align-items:center;margin-bottom:4px;display:flex}.terminal .terminal__body .terminal__line:before{content:"raphael@cv:~$ ";color:var(--username-color);white-space:nowrap;text-shadow:0 0 8px var(--accent-2-glow);flex-shrink:0;font-size:13px;font-weight:700}.terminal .terminal__body .terminal__line input[type=text]{color:var(--primary);caret-color:var(--primary);text-shadow:0 0 6px var(--primary-glow);background:0 0;border:none;outline:none;flex:1;font-family:JetBrains Mono,Ubuntu Mono,monospace;font-size:13px}.terminal .terminal__body .terminal__response{margin:4px 0 16px;font-size:13px;line-height:1.7;animation:.2s ease-out fade-in}.terminal .terminal__body .terminal__response ul{margin:0;padding:0;list-style:none}.terminal .terminal__body .terminal__response ul li{padding:2px 0}.terminal .terminal__body .terminal__response ul li:before{content:"  "}.terminal .terminal__body .terminal__response pre{color:var(--primary);background:rgba(var(--matrix-rgb), .04);border:1px solid rgba(var(--matrix-rgb), .18);text-shadow:0 0 6px var(--primary-glow);border-radius:4px;margin:0;padding:12px 16px;font-family:inherit;font-size:12px;line-height:1.6;overflow-x:auto}.terminal .terminal__body .terminal__response .bar{letter-spacing:0;font-family:inherit}.terminal .terminal__body .terminal__response .bar-primary{color:var(--primary);text-shadow:0 0 6px var(--primary-glow)}.terminal .terminal__body .terminal__response .bar-accent{color:var(--accent-2);text-shadow:0 0 6px var(--accent-2-glow)}.terminal .terminal__body .terminal__response .tag{border:1px solid var(--terminal-border);color:var(--accent-2);background:rgba(var(--matrix-rgb), .05);cursor:default;border-radius:3px;margin:2px 3px;padding:2px 8px;font-size:11px;transition:all .2s;display:inline-block}.terminal .terminal__body .terminal__response .tag:hover{border-color:var(--primary);color:var(--primary);box-shadow:0 0 8px var(--primary-glow);transform:translateY(-1px)}.terminal .terminal__body .terminal__response .counter{color:var(--primary);text-shadow:0 0 8px var(--primary-glow);font-size:1.15em;font-weight:700}.terminal .terminal__body .terminal__response table{border:1px solid rgba(var(--matrix-rgb), .2);border-collapse:collapse;width:100%;padding:0;font-size:12px}.terminal .terminal__body .terminal__response table a{color:var(--accent-2);text-decoration:none}.terminal .terminal__body .terminal__response table a:hover{color:var(--primary)}.terminal .terminal__body .terminal__response table thead th{color:var(--accent-2);border-bottom:1px solid rgba(var(--matrix-rgb), .3);text-align:left;letter-spacing:.05em;text-transform:uppercase;background:rgba(var(--matrix-rgb), .05);padding:8px 12px;font-size:11px;font-weight:700}.terminal .terminal__body .terminal__response table tbody td{vertical-align:top;border-bottom:1px solid rgba(var(--matrix-rgb), .08);padding:8px 12px;line-height:1.6}.terminal .terminal__body .terminal__response table tbody tr:last-child td{border-bottom:none}.terminal .terminal__body .terminal__response table tbody tr:hover td{background:rgba(var(--matrix-rgb), .04)}@keyframes text-glow{0%,to{text-shadow:0 0 8px var(--primary-glow), 0 0 16px var(--primary-glow)}50%{text-shadow:0 0 14px var(--primary-glow), 0 0 30px var(--primary-glow)}}@keyframes border-glow{0%,to{opacity:0}50%{opacity:.4}}@keyframes terminal-flicker{0%,98%,to{opacity:1}99%{opacity:.96}}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.shake{animation:.4s shake}@keyframes rainbow{0%{filter:hue-rotate()}to{filter:hue-rotate(360deg)}}.rainbow-mode{animation:4s linear infinite rainbow}.glitch{animation:1s linear infinite alternate-reverse glitch-skew;position:relative}.glitch:before,.glitch:after{content:attr(data-text);width:100%;height:100%;position:absolute;top:0;left:0}.glitch:before{color:var(--accent-2);z-index:-1;animation:5s linear infinite alternate-reverse glitch-anim}.glitch:after{color:var(--primary);z-index:-2;animation:1s linear infinite alternate-reverse glitch-anim2}@keyframes glitch-anim{0%{clip-path:inset(40% 0 61%);transform:translate(-2px)}20%{clip-path:inset(92% 0 1%);transform:translate(2px)}40%{clip-path:inset(43% 0 1%);transform:translate(-3px)}60%{clip-path:inset(25% 0 58%);transform:translate(3px)}80%{clip-path:inset(54% 0 7%);transform:translate(-1px)}to{clip-path:inset(58% 0 43%);transform:translate(1px)}}@keyframes glitch-anim2{0%{clip-path:inset(15% 0 65%);transform:translate(2px)}to{clip-path:inset(75% 0 15%);transform:translate(-2px)}}@keyframes glitch-skew{0%{transform:skew(0deg)}to{transform:skew(.5deg)}}.socials{z-index:10;gap:12px;display:flex;position:absolute;bottom:20px;right:20px}.socials a{background:rgba(var(--matrix-rgb), .08);border:1px solid rgba(var(--matrix-rgb), .3);backdrop-filter:blur(8px);border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;text-decoration:none;transition:all .25s;display:flex}.socials a i{color:var(--primary);font-size:1.1em}.socials a:hover{background:rgba(var(--matrix-rgb), .18);border-color:var(--primary);box-shadow:0 0 16px var(--primary-glow);transform:translateY(-3px)scale(1.05)}.coffee-cup{z-index:50;pointer-events:none;filter:drop-shadow(0 0 20px var(--primary-glow));font-size:80px;animation:4s ease-out forwards coffee-float;position:fixed;bottom:-100px;left:50%;transform:translate(-50%)}@keyframes coffee-float{0%{opacity:0;bottom:-100px;transform:translate(-50%)rotate(-15deg)}20%{opacity:1}to{opacity:0;bottom:110vh;transform:translate(-50%)rotate(15deg)}}.halloween-bg{object-fit:cover;z-index:-1;opacity:.6;width:100%;height:100%;position:fixed;top:0;left:0}@media (width<=880px){.terminal .terminal__body .banner-art,.terminal .terminal__body .banner-sub{font-size:7px}}@media (width<=640px){body{flex-direction:column;justify-content:space-evenly;align-items:center}canvas{z-index:-1;position:fixed;inset:0}.terminal{position:unset;width:unset;height:unset;resize:none;z-index:2}.terminal .terminal__body{width:92vw;height:72vh}.terminal .terminal__body .banner-art,.terminal .terminal__body .banner-sub{font-size:5px}.socials{bottom:unset;right:unset;font-size:12px;position:relative}}