:root{--bg-void:#080b14;--bg-surface:#0d1117;--bg-elevated:#161b27;--bg-overlay:#0d1117e0;--cyan:#00f5ff;--cyan-dim:#007a80;--pink:#ff2d78;--pink-dim:#80163c;--purple:#b44bff;--purple-dim:#5a257f;--green:#00ff9d;--green-dim:#007a4c;--amber:#ffb800;--text-primary:#e8eaf0;--text-secondary:#8892a4;--text-muted:#4a5568;--text-inverse:#080b14;--term-bg:#080b14f2;--term-prompt:var(--cyan);--term-command:var(--text-primary);--term-response:#b0bec5;--term-error:var(--pink);--term-success:var(--green);--term-system:var(--purple);--win-border:var(--cyan-dim);--win-titlebar:#0a0e18;--win-shadow:0 0 0 1px var(--cyan-dim), 0 20px 60px #00f5ff14, 0 4px 20px #0009;--win-shadow-focused:0 0 0 1px var(--cyan), 0 20px 60px #00f5ff2e, 0 0 40px #00f5ff0f;--taskbar-h:48px;--taskbar-bg:#080b14f5;--taskbar-border:var(--cyan-dim);--font-mono:"JetBrains Mono", "Cascadia Code", "Fira Code", monospace;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease;--radius-sm:3px;--radius-md:6px;--radius-lg:12px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}body{font-family:var(--font-mono);background:var(--bg-void);color:var(--text-primary);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;font-size:13px;line-height:1.6}::selection{color:var(--cyan);background:#00f5ff40}.desktop{background-color:var(--bg-void);background-image:repeating-linear-gradient(0deg,#0000,#0000 2px,#00f5ff03 2px 4px),repeating-linear-gradient(90deg,#0000,#0000 39px,#00f5ff0a 39px 40px),repeating-linear-gradient(0deg,#0000,#0000 39px,#00f5ff0a 39px 40px);width:100vw;height:100vh;position:relative;overflow:hidden}.desktop:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(80% 80%,#0000 40%,#080b14b3 100%);position:absolute;inset:0}.desktop:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(120% 120%,#0000 60%,#080b1480 100%);position:absolute;inset:0}.desktop-icons{z-index:10;flex-direction:column;gap:16px;display:flex;position:absolute;top:20px;left:20px}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--cyan-dim);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--cyan)}@media (width<=640px) and (orientation:portrait){body{font-size:12px}.terminal{font-size:11px}.terminal-input-row{padding:6px 10px 8px}.terminal-output{padding:8px 10px 2px}.window-titlebar{height:32px;padding:0 8px}.window-titlebar-title{font-size:10px}.cmd-ascii{font-size:6px;line-height:1.2}.taskbar-brand-name{display:none}}.window{background:var(--bg-surface);border:1px solid var(--win-border);border-radius:var(--radius-md);box-shadow:var(--win-shadow);transition:box-shadow var(--transition-fast), opacity var(--transition-base);flex-direction:column;min-width:400px;min-height:280px;display:flex;position:absolute;overflow:hidden}.window.focused{box-shadow:var(--win-shadow-focused)}.window.minimized{opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;transform:scale(.85)translateY(60px)}.window.dragging{box-shadow:0 0 0 1px var(--cyan), 0 30px 80px #00f5ff40, 0 0 60px #00f5ff1a;transition:none}.window-titlebar{background:var(--win-titlebar);border-bottom:1px solid var(--win-border);cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;gap:8px;height:36px;padding:0 12px;display:flex}.window-titlebar:active{cursor:grabbing}.window-titlebar-title{color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:11px;overflow:hidden}.window-titlebar-title span{color:var(--cyan)}.window-controls{flex-shrink:0;align-items:center;gap:6px;display:flex}.win-btn{cursor:pointer;width:12px;height:12px;transition:filter var(--transition-fast), transform var(--transition-fast);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.win-btn:hover{filter:brightness(1.3);transform:scale(1.15)}.win-btn-close{background:#ff5f57}.win-btn-min{background:#febc2e}.win-btn-max{background:#28c840}.win-btn-close:after,.win-btn-min:after,.win-btn-max:after{content:"";opacity:0;transition:opacity var(--transition-fast);display:block}.window-controls:hover .win-btn:after{opacity:1}.win-btn-close:after{background:#00000080;width:6px;height:1px;transform:rotate(45deg);box-shadow:0 0 0 1px #0006}.window-body{flex-direction:column;flex:1;display:flex;overflow:hidden}.resize-handle{z-index:10;position:absolute}.resize-handle[data-dir=n]{cursor:n-resize;height:8px;top:-4px;left:8px;right:8px}.resize-handle[data-dir=s]{cursor:s-resize;height:8px;bottom:-4px;left:8px;right:8px}.resize-handle[data-dir=e]{cursor:e-resize;width:8px;top:8px;bottom:8px;right:-4px}.resize-handle[data-dir=w]{cursor:w-resize;width:8px;top:8px;bottom:8px;left:-4px}.resize-handle[data-dir=ne]{cursor:ne-resize;width:12px;height:12px;top:-4px;right:-4px}.resize-handle[data-dir=nw]{cursor:nw-resize;width:12px;height:12px;top:-4px;left:-4px}.resize-handle[data-dir=se]{cursor:se-resize;width:12px;height:12px;bottom:-4px;right:-4px}.resize-handle[data-dir=sw]{cursor:sw-resize;width:12px;height:12px;bottom:-4px;left:-4px}@media (width<=768px){.window{border-radius:var(--radius-sm);min-width:unset;width:calc(100vw - 8px)!important;height:calc(100vh - var(--taskbar-h) - 12px)!important;top:4px!important;left:4px!important}.resize-handle{display:none}}@media (width<=640px) and (orientation:portrait){.window{border-top:none;border-left:none;border-right:none;border-radius:0;width:100vw!important;height:calc(100vh - var(--taskbar-h))!important;top:0!important;left:0!important}}.terminal{background:var(--term-bg);height:100%;font-family:var(--font-mono);background-image:repeating-linear-gradient(0deg,#0000,#0000 1px,#00000014 1px 2px);flex-direction:column;font-size:13px;line-height:1.7;display:flex}.terminal-output{flex-direction:column;flex:1;gap:2px;padding:12px 16px 4px;display:flex;overflow-y:auto}.terminal-output::-webkit-scrollbar{width:4px}.terminal-output::-webkit-scrollbar-thumb{background:var(--cyan-dim);border-radius:99px}.terminal-output::-webkit-scrollbar-thumb:hover{background:var(--cyan)}.cmd-line{align-items:baseline;gap:6px;margin-top:6px;display:flex}.cmd-prompt{color:var(--term-prompt);text-shadow:0 0 8px var(--cyan);flex-shrink:0}.cmd-text{color:var(--text-primary)}.cmd-response{color:var(--term-response);white-space:pre-wrap;word-break:break-word;padding-left:2px}.cmd-response a{color:var(--cyan);text-decoration:none}.cmd-response a:hover{text-shadow:0 0 6px var(--cyan);text-decoration:underline}.cmd-error{color:var(--term-error);text-shadow:0 0 6px var(--pink)}.cmd-success{color:var(--term-success);text-shadow:0 0 6px var(--green)}.cmd-system{color:var(--term-system);opacity:.9}.cmd-ascii{color:var(--cyan);text-shadow:0 0 10px var(--cyan);white-space:pre;margin-bottom:6px;font-size:11px;line-height:1.3}.term-table{border-collapse:collapse;width:100%;margin:6px 0;font-size:12px}.term-table th{color:var(--cyan);text-align:left;border-bottom:1px solid var(--cyan-dim);text-transform:uppercase;letter-spacing:.08em;padding:2px 14px 2px 0;font-size:10px;font-weight:700}.term-table td{color:var(--term-response);vertical-align:top;border-bottom:1px solid #007a8026;padding:4px 14px 4px 0}.term-table tr:last-child td{border-bottom:none}.term-table .col-accent{color:var(--cyan)}.term-table .col-tech{color:var(--purple);font-size:11px}.term-table .col-link{color:var(--pink)}.term-table .col-dim{color:var(--text-muted);font-size:11px}.skills-section{margin:4px 0 8px}.skills-section-title{color:var(--cyan);text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--cyan-dim);margin-bottom:6px;padding-bottom:3px;font-size:10px}.skills-grid{flex-wrap:wrap;gap:6px;display:flex}.skill-tag{border:1px solid var(--cyan-dim);color:var(--cyan);transition:background var(--transition-fast), border-color var(--transition-fast);background:#00f5ff0d;border-radius:3px;padding:2px 8px;font-size:11px}.skill-tag:hover{border-color:var(--cyan);background:#00f5ff1f}.skill-tag.purple{color:var(--purple);border-color:var(--purple-dim);background:#b44bff0d}.skill-tag.green{color:var(--green);border-color:var(--green-dim);background:#00ff9d0d}.skill-tag.pink{color:var(--pink);border-color:var(--pink-dim);background:#ff2d780d}.help-row{grid-template-columns:150px 1fr;gap:6px;padding:0;line-height:1.5;display:grid}.help-cmd{color:var(--amber);font-size:12px}.help-desc{color:var(--text-secondary);font-size:11px}.terminal-input-row{border-top:1px solid #007a8033;flex-shrink:0;align-items:center;gap:6px;padding:8px 16px 12px;display:flex}.terminal-input-prompt{color:var(--term-prompt);text-shadow:0 0 8px var(--cyan);flex-shrink:0}.terminal-input{color:var(--text-primary);font-family:var(--font-mono);caret-color:var(--cyan);background:0 0;border:none;outline:none;flex:1;font-size:13px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.terminal-line-anim{animation:.15s forwards fadeInUp}@keyframes cursor-blink{0%,49%{border-right-color:var(--cyan)}50%,to{border-right-color:#0000}}.welcome-msg{color:var(--text-secondary);margin-top:4px;font-size:12px}.welcome-msg .highlight{color:var(--cyan)}.welcome-msg .version{color:var(--purple)}.taskbar{height:var(--taskbar-h);background:var(--taskbar-bg);border-top:1px solid var(--taskbar-border);z-index:1000;-webkit-backdrop-filter:blur(12px);align-items:center;gap:8px;padding:0 16px;display:flex;position:fixed;bottom:0;left:0;right:0}.taskbar-brand{border-right:1px solid var(--cyan-dim);align-items:center;gap:6px;margin-right:8px;padding-right:12px;display:flex}.taskbar-brand-icon{background:linear-gradient(135deg, var(--cyan), var(--purple));width:20px;height:20px;color:var(--bg-void);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}.taskbar-brand-name{color:var(--cyan);letter-spacing:.12em;text-transform:uppercase;text-shadow:0 0 8px var(--cyan);white-space:nowrap;font-size:11px;font-weight:700}.taskbar-apps{flex:1;align-items:center;gap:4px;display:flex;overflow:auto hidden}.taskbar-apps::-webkit-scrollbar{display:none}.taskbar-app-btn{border-radius:var(--radius-sm);height:32px;color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:0 10px;font-size:11px;display:flex;position:relative}.taskbar-app-btn:hover{border-color:var(--cyan-dim);color:var(--text-primary);background:#00f5ff0f}.taskbar-app-btn.active{border-color:var(--cyan-dim);color:var(--cyan);background:#00f5ff1a}.taskbar-app-btn.active:after{content:"";background:var(--cyan);width:4px;height:4px;box-shadow:0 0 4px var(--cyan);border-radius:50%;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.taskbar-app-btn.minimized{opacity:.5}.taskbar-app-btn.minimized:hover{opacity:1}.taskbar-right{border-left:1px solid var(--cyan-dim);flex-shrink:0;align-items:center;gap:12px;padding-left:12px;display:flex}.taskbar-time{color:var(--text-secondary);font-variant-numeric:tabular-nums;text-align:right;min-width:44px;font-size:12px}.taskbar-date{color:var(--text-muted);font-size:10px}.taskbar-status-icons{color:var(--text-muted);align-items:center;gap:8px;font-size:11px;display:flex}.taskbar-status-icons span{cursor:pointer;transition:color var(--transition-fast);align-items:center;gap:3px;display:flex}.taskbar-status-icons span:hover{color:var(--cyan)}.status-dot{background:var(--green);width:6px;height:6px;box-shadow:0 0 4px var(--green);border-radius:50%;animation:2s infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.85)}}.boot-screen{background:var(--bg-void);z-index:9000;font-family:var(--font-mono);flex-direction:column;justify-content:center;align-items:center;gap:24px;display:flex;position:fixed;inset:0}.boot-logo{color:var(--cyan);text-shadow:0 0 20px var(--cyan), 0 0 40px #00f5ff66;letter-spacing:.15em;font-size:32px;font-weight:700;animation:1.5s infinite glow-pulse}.boot-subtitle{color:var(--text-muted);letter-spacing:.3em;text-transform:uppercase;font-size:12px}.boot-progress-track{background:#00f5ff1a;border-radius:99px;width:280px;height:2px;overflow:hidden}.boot-progress-bar{background:linear-gradient(90deg, var(--cyan), var(--purple));height:100%;box-shadow:0 0 8px var(--cyan);border-radius:99px;transition:width .1s linear}.boot-log{color:var(--text-muted);letter-spacing:.05em;height:16px;font-size:10px;animation:.2s fadeIn}@keyframes glow-pulse{0%,to{text-shadow:0 0 20px var(--cyan), 0 0 40px #00f5ff4d}50%{text-shadow:0 0 30px var(--cyan), 0 0 60px #00f5ff80}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.boot-screen.exit{animation:.4s forwards boot-exit}@keyframes boot-exit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.04)}}.app-icon{cursor:pointer;border-radius:var(--radius-sm);width:68px;transition:background var(--transition-fast);flex-direction:column;align-items:center;gap:5px;padding:8px 4px;display:flex;position:relative}.app-icon:hover{background:#00f5ff0f}.app-icon:active{background:#00f5ff1f}.app-icon-img{border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--win-border);width:44px;height:44px;transition:box-shadow var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;font-size:22px;display:flex}.app-icon:hover .app-icon-img{box-shadow:0 0 12px var(--cyan), 0 0 20px #00f5ff26;transform:translateY(-2px)}.app-icon-label{color:var(--text-secondary);text-align:center;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 3px #000000e6;width:100%;font-size:10px;overflow:hidden}.matrix-canvas{z-index:5;pointer-events:none;opacity:0;transition:opacity .6s;position:fixed;inset:0}.matrix-canvas.visible{opacity:.65}.toast-container{z-index:9500;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;top:16px;right:16px}.toast{background:var(--bg-elevated);border:1px solid var(--win-border);border-radius:var(--radius-sm);font-size:12px;font-family:var(--font-mono);pointer-events:auto;align-items:center;gap:10px;min-width:220px;max-width:320px;padding:10px 14px;animation:.22s forwards toast-in;display:flex;box-shadow:0 4px 20px #00000080}.toast.exiting{animation:.18s forwards toast-out}.toast-icon{flex-shrink:0;font-size:14px}.toast-msg{color:var(--text-primary);flex:1}.toast.success{border-color:var(--green-dim)}.toast.success .toast-icon{color:var(--green)}.toast.error{border-color:var(--pink-dim)}.toast.error .toast-icon{color:var(--pink)}.toast.info{border-color:var(--cyan-dim)}.toast.info .toast-icon{color:var(--cyan)}.toast.warning{border-color:var(--amber)}.toast.warning .toast-icon{color:var(--amber)}@keyframes toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(20px)}}.glitch{position:relative}.glitch:before,.glitch:after{content:attr(data-text);pointer-events:none;position:absolute;inset:0}.glitch:before{color:var(--pink);clip-path:polygon(0 30%,100% 30%,100% 50%,0 50%);opacity:0;animation:3s infinite glitch-1}.glitch:after{color:var(--cyan);clip-path:polygon(0 55%,100% 55%,100% 75%,0 75%);opacity:0;animation:3s infinite glitch-2}@keyframes glitch-1{0%,94%,to{opacity:0;transform:translate(0)}95%{opacity:.7;transform:translate(-2px,1px)}97%{opacity:.4;transform:translate(2px,-1px)}}@keyframes glitch-2{0%,92%,to{opacity:0;transform:translate(0)}93%{opacity:.6;transform:translate(2px,-1px)}96%{opacity:.3;transform:translate(-1px,1px)}}.hack-line{color:var(--green);text-shadow:0 0 6px var(--green);animation:.1s forwards hack-flicker}@keyframes hack-flicker{0%{opacity:0}20%{opacity:1}40%{opacity:.6}to{opacity:1}}
