html,body,#root{width:100%;min-height:100%;margin:0}[data-theme=cyberpunk],[data-theme=cyberpunk] *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cline x1='16' y1='2' x2='16' y2='13' stroke='%2300F5FF' stroke-width='1.5'/%3E%3Cline x1='16' y1='19' x2='16' y2='30' stroke='%2300F5FF' stroke-width='1.5'/%3E%3Cline x1='2' y1='16' x2='13' y2='16' stroke='%2300F5FF' stroke-width='1.5'/%3E%3Cline x1='19' y1='16' x2='30' y2='16' stroke='%2300F5FF' stroke-width='1.5'/%3E%3Ccircle cx='16' cy='16' r='3.5' fill='none' stroke='%2300F5FF' stroke-width='1.5'/%3E%3Ccircle cx='16' cy='16' r='1' fill='%2300F5FF'/%3E%3C/svg%3E") 16 16,crosshair!important}[data-theme=cyberpunk] a,[data-theme=cyberpunk] button{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpolygon points='4,2 4,26 11,19 16,30 19,29 14,18 23,18' fill='%2300F5FF' opacity='0.95'/%3E%3Cpolygon points='4,2 4,26 11,19 16,30 19,29 14,18 23,18' fill='none' stroke='%23000' stroke-width='0.5'/%3E%3C/svg%3E") 4 2,pointer!important}[data-theme=matrix],[data-theme=matrix] *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect x='12' y='4' width='8' height='11' fill='%2300FF41' opacity='0.9'/%3E%3Crect x='10' y='17' width='12' height='2' fill='%2300FF41' opacity='0.6'/%3E%3Cline x1='16' y1='21' x2='16' y2='28' stroke='%2300FF41' stroke-width='1.5' opacity='0.7'/%3E%3Cline x1='10' y1='28' x2='22' y2='28' stroke='%2300FF41' stroke-width='1.5' opacity='0.7'/%3E%3C/svg%3E") 16 4,text!important}[data-theme=matrix] a,[data-theme=matrix] button{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpolygon points='4,2 4,26 11,19 16,30 19,29 14,18 23,18' fill='%2300FF41' opacity='0.95'/%3E%3C/svg%3E") 4 2,pointer!important}[data-theme=dracula],[data-theme=dracula] *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpolygon points='16,2 28,14 16,26 4,14' fill='none' stroke='%23BD93F9' stroke-width='1.5'/%3E%3Cpolygon points='16,7 23,14 16,21 9,14' fill='%23BD93F9' opacity='0.4'/%3E%3Ccircle cx='16' cy='14' r='2' fill='%23FF79C6'/%3E%3C/svg%3E") 16 14,default!important}[data-theme=dracula] a,[data-theme=dracula] button{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpolygon points='4,2 4,26 11,19 16,30 19,29 14,18 23,18' fill='%23BD93F9' opacity='0.95'/%3E%3C/svg%3E") 4 2,pointer!important}[data-theme=nord],[data-theme=nord] *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cline x1='16' y1='3' x2='16' y2='29' stroke='%2388C0D0' stroke-width='1.5'/%3E%3Cline x1='3' y1='16' x2='29' y2='16' stroke='%2388C0D0' stroke-width='1.5'/%3E%3Cline x1='7' y1='7' x2='25' y2='25' stroke='%2388C0D0' stroke-width='1' opacity='0.5'/%3E%3Cline x1='25' y1='7' x2='7' y2='25' stroke='%2388C0D0' stroke-width='1' opacity='0.5'/%3E%3Ccircle cx='16' cy='16' r='3' fill='none' stroke='%23A3BE8C' stroke-width='1.5'/%3E%3Ccircle cx='16' cy='16' r='1' fill='%2388C0D0'/%3E%3C/svg%3E") 16 16,crosshair!important}[data-theme=nord] a,[data-theme=nord] button{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpolygon points='4,2 4,26 11,19 16,30 19,29 14,18 23,18' fill='%2388C0D0' opacity='0.95'/%3E%3C/svg%3E") 4 2,pointer!important}[data-theme=amber],[data-theme=amber] *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='12' fill='none' stroke='%23FFB300' stroke-width='1.5'/%3E%3Ccircle cx='16' cy='16' r='6' fill='none' stroke='%23FFB300' stroke-width='1' opacity='0.6'/%3E%3Cline x1='16' y1='3' x2='16' y2='10' stroke='%23FFB300' stroke-width='1.5'/%3E%3Cline x1='16' y1='22' x2='16' y2='29' stroke='%23FFB300' stroke-width='1.5'/%3E%3Cline x1='3' y1='16' x2='10' y2='16' stroke='%23FFB300' stroke-width='1.5'/%3E%3Cline x1='22' y1='16' x2='29' y2='16' stroke='%23FFB300' stroke-width='1.5'/%3E%3Ccircle cx='16' cy='16' r='1.5' fill='%23FF6D00'/%3E%3C/svg%3E") 16 16,crosshair!important}[data-theme=amber] a,[data-theme=amber] button{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpolygon points='4,2 4,26 11,19 16,30 19,29 14,18 23,18' fill='%23FFB300' opacity='0.95'/%3E%3C/svg%3E") 4 2,pointer!important}[data-theme=minimal],[data-theme=minimal] *{cursor:default!important}[data-theme=minimal] a,[data-theme=minimal] button{cursor:pointer!important}.crt-static{pointer-events:none;z-index:9000;background:linear-gradient(#12101000 50%,#00000014 50%) 0 0/100% 3px,linear-gradient(90deg,#ff000005,#00ff0003,#0000ff05) 0 0/3px 100%;width:100vw;height:100vh;position:fixed;top:0;left:0}.crt-scanline{background:linear-gradient(0deg, #0000 0%, var(--color-scanline) 50%, #0000 100%);pointer-events:none;z-index:9001;width:100%;height:200px;animation:6s linear infinite scanline-move;position:fixed;left:0}@keyframes scanline-move{0%{top:-200px}to{top:100vh}}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:5000;background:#000000d9;justify-content:center;align-items:center;padding:24px;animation:.2s backdrop-in;display:flex;position:fixed;inset:0}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.modal-window{background:var(--color-card);scrollbar-width:thin;border:1px solid;width:100%;max-width:780px;max-height:90vh;animation:.3s cubic-bezier(.175,.885,.32,1.275) modal-in;overflow-y:auto}@keyframes modal-in{0%{opacity:0;transform:scale(.85)translateY(40px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-window.minimal{border-radius:12px;overflow:hidden}.modal-titlebar{z-index:10;border-bottom:1px solid;justify-content:space-between;align-items:center;padding:10px 16px;display:flex;position:sticky;top:0}.modal-close{cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:14px;line-height:1;transition:all .2s}.modal-close:hover{transform:scale(1.2);color:var(--color-primary)!important}.modal-hero{aspect-ratio:16/7;position:relative;overflow:hidden}.modal-hero img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.modal-hero:hover img{transform:scale(1.03)}.modal-hero-overlay{position:absolute;inset:0}.modal-hero-badge{letter-spacing:.05em;border:1px solid;padding:4px 12px;font-family:Roboto Mono,monospace;font-size:11px;position:absolute;bottom:16px;left:16px}.modal-content{padding:28px}.modal-window::-webkit-scrollbar{width:4px}.modal-window::-webkit-scrollbar-track{background:0 0}.modal-window::-webkit-scrollbar-thumb{background:var(--color-primary)}.minimized-screen{z-index:9999;background:#000;animation:.4s cubic-bezier(.25,.46,.45,.94) minimize-in;position:fixed;inset:0;overflow:hidden}@keyframes minimize-in{0%{opacity:0;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.minimal-wallpaper{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 40%,#0f3460 70%,#e94560 100%) 0 0/400% 400%;animation:8s infinite gradient-shift;position:absolute;inset:0}@keyframes gradient-shift{0%,to{background-position:0%}50%{background-position:100%}}.minimized-overlay{flex-direction:column;justify-content:center;align-items:center;gap:20px;display:flex;position:absolute;inset:0}.minimized-clock{letter-spacing:-.02em;text-align:center;font-family:Roboto Mono,monospace;font-size:clamp(48px,12vw,120px);font-weight:300;line-height:1}.minimized-date{letter-spacing:.3em;text-transform:uppercase;margin-top:12px;font-size:clamp(12px,2vw,18px);font-weight:400}.minimized-status{letter-spacing:.3em;text-transform:uppercase;opacity:.7;align-items:center;gap:8px;font-family:Roboto Mono,monospace;font-size:11px;display:flex}.status-dot{border-radius:50%;width:8px;height:8px;animation:2s infinite pulse;display:inline-block}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.dock{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#00000080;border:1px solid #ffffff1a;border-radius:20px;gap:16px;padding:12px 20px;display:flex;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.dock-icon{cursor:pointer;background:#ffffff0d;border:1px solid;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:12px 16px;transition:all .2s;animation:2s ease-in-out infinite dock-bounce;display:flex;position:relative}.dock-icon:hover{background:#ffffff1a;transform:translateY(-8px)scale(1.1)}@keyframes dock-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.dock-icon-symbol{font-size:28px;line-height:1}.dock-icon-label{letter-spacing:.1em;text-transform:uppercase;font-family:Roboto Mono,monospace;font-size:10px}.dock-icon:after{content:"Click to restore";color:#fff;white-space:nowrap;opacity:0;pointer-events:none;background:#000c;border-radius:4px;padding:4px 10px;font-family:Roboto Mono,monospace;font-size:10px;transition:opacity .2s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.dock-icon:hover:after{opacity:1}.loading-screen{z-index:99999;background-color:#000;background-image:linear-gradient(#12101000 50%,#0000001f 50%),linear-gradient(90deg,#ff000005,#00ff0003,#0000ff05);background-position:0 0;background-repeat:repeat;background-size:100% 3px,3px 100%;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;justify-content:center;align-items:center;transition:opacity .5s;display:flex;position:fixed;inset:0}.loading-screen.fade-out{opacity:0;pointer-events:none}.loading-content{width:100%;max-width:560px;padding:0 24px}.loading-ascii{color:var(--color-primary,#00f5ff);text-shadow:0 0 20px var(--color-glow,#00f5ff80);white-space:pre;margin:0 0 24px;font-family:Roboto Mono,monospace;font-size:clamp(7px,1.4vw,13px);line-height:1.2;animation:2s ease-in-out infinite alternate ascii-glow}@keyframes ascii-glow{0%{text-shadow:0 0 10px var(--color-glow,#00f5ff66)}to{text-shadow:0 0 30px var(--color-glow,#00f5ffcc)}}.loading-terminal{margin-bottom:24px}.loading-line{font-family:Roboto Mono,monospace;font-size:12px;line-height:1.8;animation:.15s line-in}@keyframes line-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.loading-line.big{color:var(--color-primary,#00f5ff);text-shadow:0 0 10px var(--color-glow,#00f5ff80);letter-spacing:.05em;font-size:14px;font-weight:700}.line-primary{color:var(--color-primary,#00f5ff)}.line-normal{color:#ccc}.line-dim{color:#555}.loading-suffix{color:var(--color-primary,#00f5ff);opacity:.8}.loading-ready{color:var(--color-primary,#00f5ff);text-shadow:0 0 15px var(--color-glow,#00f5ff99);letter-spacing:.05em;margin-top:8px;font-family:Roboto Mono,monospace;font-size:13px;font-weight:700;animation:.8s infinite alternate pulse-text}@keyframes pulse-text{0%{opacity:.7}to{opacity:1}}.loading-progress-wrap{background:#ffffff14;height:2px;margin-bottom:8px;overflow:hidden}.loading-progress-bar{background:var(--color-primary,#00f5ff);height:100%;box-shadow:0 0 8px var(--color-glow,#00f5ff99);transition:width .25s}.loading-progress-label{color:var(--color-primary,#00f5ff);letter-spacing:.05em;opacity:.7;font-family:Roboto Mono,monospace;font-size:11px}:root{--color-primary:#00f5ff;--color-secondary:#f0f;--color-bg:#000;--color-surface:#0a0a0f;--color-card:#0d0d1a;--color-text:#e0e0e0;--color-text-dim:#889;--color-border:#00f5ff33;--color-border-hover:#00f5ff99;--color-glow:#00f5ff66;--color-glow-secondary:#ff00ff4d;--color-scanline:#00f5ff0f;--radius-sm:12px;--radius-md:20px;--radius-lg:30px;--space-section-y:88px;--space-page-x:24px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--color-bg);color:var(--color-text);background-image:linear-gradient(#12101000 50%,#0000000f 50%),linear-gradient(90deg,#ff000004,#00ff0003,#0000ff04);background-size:100% 3px,3px 100%;min-height:100vh;font-family:Roboto Mono,monospace;line-height:1.55;transition:background-color .4s,color .4s;animation:8s infinite flicker;position:relative;overflow-x:hidden}main{max-width:1400px;margin:0 auto}@keyframes flicker{0%{opacity:1}94%{opacity:1}95%{opacity:.97}96%{opacity:1}97%{opacity:.98}98%{opacity:1}to{opacity:1}}.blinking-cursor:after{content:"█";color:var(--color-primary);margin-left:2px;animation:1s step-start infinite blink}@keyframes blink{50%{opacity:0}}*,:before,:after{transition-property:background-color,border-color,color,box-shadow,text-shadow;transition-duration:.35s;transition-timing-function:ease}.blinking-cursor:after,.crt-scanline{transition:none!important}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-primary);opacity:.5}::-webkit-scrollbar-thumb:hover{background:var(--color-secondary)}::selection{background:var(--color-primary);color:var(--color-bg)}body{cursor:crosshair}a,button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}@keyframes fadeUpDown{0%,to{opacity:.5;transform:translateY(0)}50%{opacity:1;transform:translateY(6px)}}.portfolio-restore{animation:.6s cubic-bezier(.175,.885,.32,1.275) restore-in}@keyframes restore-in{0%{opacity:0;filter:blur(4px);transform:scale(.92)translateY(20px)}60%{opacity:1;filter:blur()}to{opacity:1;transform:scale(1)translateY(0)}}body.theme-minimal{cursor:default!important;background-image:none!important;animation:none!important}body.theme-minimal a,body.theme-minimal button{cursor:pointer!important}body.theme-minimal .blinking-cursor:after{opacity:1;animation:none!important}body.theme-liquidglass{--glass-blur:34px;--glass-surface:linear-gradient(132deg, #ffffffd1 0%, #f1f7ff94 38%, #e2eeff75 100%);--glass-edge:#a5bad685;--glass-inner-edge:#ffffffbd;--glass-shadow:0 26px 56px #5376a047, inset 0 1px 0 #ffffffe6, inset 0 -1px 0 #bdd1ef8c;--glass-specular:linear-gradient(178deg, #ffffffe6 0%, #ffffff6b 26%, #ffffff14 54%, #fff0 74%);background-image:radial-gradient(circle at 14% 18%,#b3e2ff75,#0000 38%),radial-gradient(circle at 85% 26%,#c6dbff75,#0000 40%),radial-gradient(circle at 62% 82%,#d8cdff6b,#0000 46%),linear-gradient(160deg,#fbfdff 0%,#eef4fb 38%,#e8f1fc 64%,#f8fbff 100%);background-attachment:fixed;animation:none}body.theme-liquidglass:before,body.theme-liquidglass:after{content:"";pointer-events:none;z-index:-1;position:fixed;inset:-12%}body.theme-liquidglass:before{filter:blur(64px)saturate(165%);opacity:.92;background:radial-gradient(34% 34% at 20% 24%,#ffffffbd,#0000 70%),radial-gradient(38% 38% at 74% 32%,#abd9ff8a,#0000 72%),radial-gradient(32% 32% at 54% 70%,#c5b5ff85,#0000 72%);animation:16s ease-in-out infinite alternate liquid-drift-a}body.theme-liquidglass:after{filter:blur(70px)saturate(150%);mix-blend-mode:soft-light;opacity:.56;background:conic-gradient(from 210deg at 42% 34%,#ffffff8f,#aad2ff33,#ffffff85,#bcaeff2e,#ffffff8f);animation:19s ease-in-out infinite alternate liquid-drift-b}body.theme-liquidglass main:before{content:"";pointer-events:none;z-index:-1;filter:blur(12px);opacity:.92;background:radial-gradient(380px 160px at 18% 22%,#ffffffc2,#fff0),radial-gradient(320px 130px at 74% 26%,#d2ebff9e,#fff0),radial-gradient(260px 110px at 44% 74%,#e2d6ff85,#fff0);animation:11s ease-in-out infinite alternate refract-sweep;position:fixed;inset:0}@keyframes refract-sweep{0%{transform:translate(-1%)scale(1)}to{transform:translate(1.2%,-1.2%)scale(1.04)}}@keyframes liquid-drift-a{0%{transform:translate(-2%)scale(1)}to{transform:translate(2%,-1.5%)scale(1.06)}}@keyframes liquid-drift-b{0%{transform:translateY(2%)rotate(0)scale(1)}to{transform:translate(-1.5%,-2%)rotate(8deg)scale(1.08)}}.liquid-glass-panel{background:var(--glass-surface);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(175%);position:relative;overflow:hidden}.liquid-glass-panel:before{content:"";border-radius:inherit;border:1px solid var(--glass-inner-edge);background:var(--glass-specular);pointer-events:none;position:absolute;inset:0}body.reduce-motion,body.reduce-motion *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}@media (width<=980px){:root{--space-section-y:72px;--space-page-x:18px}}
