.personal-websites-container{margin-bottom:3rem}.websites-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:1.5rem}.website-card{position:relative;border-radius:12px;overflow:hidden;transition:all .3s ease;text-decoration:none;display:block;cursor:pointer}.website-card:hover{transform:translateY(-5px)}.tall-card{height:280px;background:linear-gradient(135deg,#1f2937,#111827);border:2px solid transparent}.tall-card.glowing{background:linear-gradient(135deg,#064e3b,#022c22);border:2px solid #10b981;box-shadow:0 0 30px #10b98199}.tall-card.glowing:hover{box-shadow:0 0 40px #10b981cc}.square-card{height:200px;background:linear-gradient(135deg,#374151,#1f2937);border:1px solid #4b5563;opacity:.8}.square-card.shaded{box-shadow:0 4px 12px #0003}.square-card:hover{opacity:1;border-color:#6b7280}.website-text{padding:.75rem 1.5rem;background:#1a1a1a;border-radius:8px;text-align:center;font-size:.875rem;color:#4b5563;border:1px solid #2a2a2a;transition:all .3s ease}.website-text.darkened{opacity:.5}.website-text:hover{opacity:.7;border-color:#4b5563}.card-content{padding:2rem;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative;z-index:1}.card-content h4{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:#f3f4f6}.tall-card.glowing .card-content h4{color:#10b981;text-shadow:0 0 20px rgba(16,185,129,.8)}.card-content p{font-size:.875rem;color:#9ca3af}.card-glow{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(16,185,129,.2) 0%,transparent 70%);opacity:0;transition:opacity .3s ease;animation:pulse-glow 3s ease-in-out infinite}.glowing:hover .card-glow{opacity:1}@keyframes pulse-glow{0%,to{transform:scale(.8)}50%{transform:scale(1.2)}}.artifacts-container{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-bottom:3rem;max-width:800px}.artifact-card{position:relative;height:180px;background:linear-gradient(135deg,#1e3a8a,#1e1b4b);border:2px solid #3b82f6;border-radius:12px;overflow:hidden;transition:all .3s ease;cursor:pointer}.artifact-card.glowing{box-shadow:0 0 30px #3b82f699}.artifact-card:hover{transform:translateY(-5px);box-shadow:0 0 40px #3b82f6cc}.artifact-card .card-content h4{color:#3b82f6;text-shadow:0 0 20px rgba(59,130,246,.8)}.artifact-card .card-glow{background:radial-gradient(circle,rgba(59,130,246,.2) 0%,transparent 70%)}@media (max-width: 968px){.websites-row{grid-template-columns:1fr;gap:1rem}.tall-card{height:200px}.square-card{height:150px}.artifacts-container{grid-template-columns:1fr;gap:1rem}.artifact-card{height:150px}}@media (max-width: 640px){.card-content h4{font-size:1.25rem}.card-content p{font-size:.75rem}}.project-folder-section{margin-top:1.5rem;margin-bottom:3rem;padding:1.5rem;background:linear-gradient(135deg,#1f1418,#1a0f14);border:1px solid #4a1e34;border-radius:12px;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.875rem;line-height:1.6;white-space:pre;overflow-x:auto;max-height:600px;overflow-y:auto;box-shadow:0 0 20px #db277726,inset 0 0 20px #db27770d;position:relative;color:#e5e7eb}.project-folder-section .domain-name{color:#10b981;font-weight:600;text-shadow:0 0 8px rgba(16,185,129,.3)}.project-folder-section .domain-url{color:#3b82f6;font-weight:500;text-shadow:0 0 6px rgba(59,130,246,.3)}.project-folder-section .domain-comment{color:#6b7280;font-style:italic;opacity:.8}.project-folder-section .domain-priority{color:#f59e0b;font-weight:500;text-shadow:0 0 6px rgba(245,158,11,.3)}.project-folder-section:hover .domain-name{color:#34d399;text-shadow:0 0 12px rgba(16,185,129,.5)}.project-folder-section:hover .domain-url{color:#60a5fa;text-shadow:0 0 10px rgba(59,130,246,.5)}.project-folder-section:before{content:"";position:absolute;inset:-2px;background:linear-gradient(45deg,#831843,#be185d,#db2777,#ec4899);border-radius:12px;opacity:.3;z-index:-1;filter:blur(8px);animation:glow-pulse 4s ease-in-out infinite}@keyframes glow-pulse{0%,to{opacity:.2;transform:scale(.98)}50%{opacity:.4;transform:scale(1)}}.project-folder-section::-webkit-scrollbar{width:8px;height:8px}.project-folder-section::-webkit-scrollbar-track{background:#1a0f14;border-radius:4px}.project-folder-section::-webkit-scrollbar-thumb{background:#4a1e34;border-radius:4px}.project-folder-section::-webkit-scrollbar-thumb:hover{background:#5a2e44}.cyber-header-container{display:flex;justify-content:space-between;align-items:center;width:100%;position:relative}.cyber-header{font-family:Courier New,monospace;font-size:2.5rem;font-weight:700;text-align:left;margin:0;color:#0f0;background-color:#0a0a0a;padding:1.5rem;border-radius:8px;box-shadow:0 0 20px #00ff004d;letter-spacing:2px;position:relative;overflow:hidden;flex:1;margin-right:1rem}.cyber-header.app-page{font-size:2rem;padding:.9rem;letter-spacing:1.25px}.cyber-header.app-page.nested{font-size:1.5rem;padding:.75rem;letter-spacing:1px}.cyber-header:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,255,0,.1),transparent);animation:scan 4s linear infinite}@keyframes scan{0%{left:-100%}to{left:100%}}.cyber-slash{color:#f2ff00;font-weight:700;animation:blink 2s ease-in-out infinite;text-shadow:0 0 10px rgba(238,255,0,.8)}.cyber-rory{color:#0ff;font-weight:700;text-shadow:0 0 10px rgba(0,255,255,.8)}.cyber-root{color:#ff1493;font-style:italic;text-shadow:0 0 10px rgba(255,20,147,.8)}.cyber-percent{color:#d3a200;animation:blink 2s ease-in-out infinite;text-shadow:0 0 10px rgba(148,0,211,.8)}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}.cyber-cursor{animation:cursor-blink .5s ease-in-out infinite;color:#9400d3;margin-left:2px}@keyframes cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}.cyber-back-button{background:transparent;border:2px solid #ff8c00;color:#ff8c00;font-size:1.5rem;font-weight:700;padding:1rem 1.5rem;border-radius:8px;cursor:pointer;transition:all .3s ease;animation:neon-blink 2s ease-in-out infinite;text-shadow:0 0 10px rgba(255,140,0,.8);box-shadow:0 0 20px #ff8c004d;font-family:Courier New,monospace;letter-spacing:1px}.cyber-back-button:hover{background:#ff8c001a;box-shadow:0 0 30px #ff8c0099;transform:scale(1.05)}@keyframes neon-blink{0%,to{border-color:#ff8c00;color:#ff8c00;text-shadow:0 0 10px rgba(255,140,0,.8);box-shadow:0 0 20px #ff8c004d}50%{border-color:orange;color:orange;text-shadow:0 0 20px rgba(255,165,0,1);box-shadow:0 0 30px #ffa50099}}@media (max-width: 1024px){.cyber-header{font-size:1.75rem}.cyber-header.app-page{font-size:1.375rem}.cyber-header.app-page.nested{font-size:1.125rem}}@media (max-width: 768px){.cyber-header-container{flex-direction:column;gap:.75rem}.cyber-header{font-size:1.25rem;padding:.75rem;letter-spacing:.75px;margin-right:0;text-align:center}.cyber-header.app-page{font-size:1.125rem;padding:.625rem}.cyber-header.app-page.nested{font-size:1rem;padding:.5rem}.cyber-back-button{font-size:1rem;padding:.5rem .875rem}}@media (max-width: 480px){.cyber-header{font-size:1.125rem;padding:.625rem;letter-spacing:.5px}.cyber-header.app-page{font-size:1rem;padding:.5rem}.cyber-header.app-page.nested{font-size:.875rem;padding:.375rem}.cyber-back-button{font-size:.875rem;padding:.375rem .75rem}}:root{--primary-color: #3b82f6;--primary-hover: #2563eb;--secondary-color: #64748b;--accent-color: #8b5cf6;--success-color: #10b981;--warning-color: #f59e0b;--danger-color: #ef4444;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--bg-dark: #1e293b;--text-primary: #1e293b;--text-secondary: #64748b;--text-muted: #94a3b8;--text-inverse: #ffffff;--border-color: #e2e8f0;--border-hover: #cbd5e1;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--transition-fast: .15s ease-in-out;--transition-normal: .25s ease-in-out;--transition-slow: .35s ease-in-out}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:var(--bg-secondary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;display:flex;flex-direction:column}a{color:var(--primary-color);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-hover);text-decoration:underline}button{cursor:pointer;font-family:inherit}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.app-header{background-color:var(--bg-primary);border-bottom:1px solid var(--border-color);padding:var(--spacing-md) 0;box-shadow:var(--shadow-sm)}.app-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.app-main{flex:1;padding:var(--spacing-xl) 0}.app-footer{background-color:var(--bg-primary);border-top:1px solid var(--border-color);padding:var(--spacing-md) 0;text-align:center;color:var(--text-secondary);font-size:.875rem}.card{background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.card-title{font-size:1.25rem;font-weight:600;margin-bottom:var(--spacing-md);color:var(--text-primary)}.card-content{color:var(--text-secondary)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-weight:500;transition:all var(--transition-fast);border:none;outline:none}.btn-primary{background-color:var(--primary-color);color:var(--text-inverse)}.btn-primary:hover{background-color:var(--primary-hover)}.btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary)}.btn-secondary:hover{background-color:var(--border-color)}.tree-container{width:100%;height:500px;border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;background-color:var(--bg-primary)}.tree-view-container{width:100%;height:600px;position:relative}.tree-view-container svg{cursor:grab}.tree-view-container svg:active{cursor:grabbing}.tree-node{cursor:pointer;transition:all var(--transition-fast)}.tree-node:hover{filter:brightness(1.1)}.tree-node-label{font-size:.875rem;font-weight:500}.app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-xl)}.app-page{padding:var(--spacing-xl);background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-top:var(--spacing-xl)}.app-page-title{font-size:1.75rem;font-weight:700;margin-bottom:var(--spacing-lg);color:var(--text-primary);border-bottom:2px solid var(--primary-color);padding-bottom:var(--spacing-sm);display:inline-block}.back-link{display:inline-flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-md);color:var(--secondary-color);font-weight:500}.back-link:hover{color:var(--primary-color)}@media (max-width: 768px){.app-grid{grid-template-columns:1fr}}:root{--cyber-green: #00ff00;--cyber-cyan: #00ffff;--cyber-pink: #ff1493;--cyber-purple: #9400d3;--cyber-orange: #ff8c00;--cyber-yellow: #ffd700;--cyber-red: #ff0040;--cyber-bg-primary: #0a0a0a;--cyber-bg-secondary: #141414;--cyber-bg-tertiary: #1a1a1a;--glow-green: 0 0 20px rgba(0, 255, 0, .3);--glow-cyan: 0 0 20px rgba(0, 255, 255, .3);--glow-pink: 0 0 20px rgba(255, 20, 147, .3);--glow-purple: 0 0 20px rgba(148, 0, 211, .3);--glow-orange: 0 0 20px rgba(255, 140, 0, .3);--anim-fast: .3s;--anim-medium: .6s;--anim-slow: 1.2s;--anim-pulse: 2s;--fs-hero: clamp(2rem, 5vw, 3rem);--fs-title: clamp(1.5rem, 4vw, 2.5rem);--fs-heading: clamp(1.25rem, 3vw, 2rem);--fs-subheading: clamp(1.125rem, 2.5vw, 1.5rem);--fs-body: clamp(.875rem, 2vw, 1rem);--fs-small: clamp(.75rem, 1.5vw, .875rem)}body{font-family:Courier New,Consolas,Monaco,monospace;background-color:var(--cyber-bg-primary);color:var(--cyber-green)}.cyber-text{color:var(--cyber-green);text-shadow:0 0 10px rgba(0,255,0,.8);letter-spacing:.05em}.cyber-glow{animation:cyber-glow var(--anim-pulse) ease-in-out infinite}@keyframes cyber-glow{0%,to{filter:brightness(1) drop-shadow(0 0 5px currentColor)}50%{filter:brightness(1.2) drop-shadow(0 0 15px currentColor)}}.cyber-btn{background:transparent;border:2px solid var(--cyber-green);color:var(--cyber-green);padding:.75rem 1.5rem;font-size:var(--fs-body);font-weight:700;border-radius:4px;cursor:pointer;transition:all var(--anim-fast) ease;text-transform:uppercase;letter-spacing:.1em;position:relative;overflow:hidden}.cyber-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,255,0,.2),transparent);transition:left var(--anim-medium) ease}.cyber-btn:hover:before{left:100%}.cyber-btn:hover{background:#00ff001a;box-shadow:var(--glow-green);transform:translateY(-2px)}.cyber-card{background:var(--cyber-bg-secondary);border:1px solid rgba(0,255,0,.3);border-radius:8px;padding:1.5rem;position:relative;overflow:hidden;transition:all var(--anim-fast) ease}.cyber-card:before{content:"";position:absolute;inset:-2px;background:linear-gradient(45deg,var(--cyber-green),var(--cyber-cyan),var(--cyber-purple),var(--cyber-pink));border-radius:8px;opacity:0;transition:opacity var(--anim-fast) ease;z-index:-1}.cyber-card:hover:before{opacity:.3}.cyber-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0f03}.cyber-input{background:var(--cyber-bg-tertiary);border:2px solid rgba(0,255,0,.3);color:var(--cyber-green);padding:.75rem 1rem;font-size:var(--fs-body);border-radius:4px;transition:all var(--anim-fast) ease;font-family:inherit}.cyber-input:focus{outline:none;border-color:var(--cyber-green);box-shadow:var(--glow-green)}.cyber-panel{background:#0a0a0af2;border:1px solid rgba(0,255,0,.2);border-radius:8px;padding:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 16px #00000080}.cyber-fade-in{animation:cyber-fade-in var(--anim-medium) ease-out}@keyframes cyber-fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.cyber-slide-in{animation:cyber-slide-in var(--anim-medium) ease-out}@keyframes cyber-slide-in{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}.cyber-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}@media (max-width: 768px){:root{--fs-hero: 1.75rem;--fs-title: 1.5rem;--fs-heading: 1.25rem;--fs-subheading: 1.125rem;--fs-body: .875rem;--fs-small: .75rem}.cyber-card,.cyber-panel{padding:1rem}.cyber-grid{gap:1rem;grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-color-scheme: dark){:root{--cyber-bg-primary: #000000;--cyber-bg-secondary: #0a0a0a;--cyber-bg-tertiary: #141414}}@media (prefers-contrast: high){.cyber-card,.cyber-panel,.cyber-btn,.cyber-input{border-width:2px}.cyber-text{text-shadow:none;font-weight:700}}@media (max-width: 768px){*{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}p,h1,h2,h3,h4,h5,h6,span,div{-webkit-user-select:text;user-select:text}button,a,input,select,textarea{min-height:44px;min-width:44px}html{font-size:16px;line-height:1.4}body{font-size:14px;line-height:1.5;-webkit-text-size-adjust:100%;text-size-adjust:100%}}@media (max-width: 480px){.container{padding:0 12px;margin:0 auto;max-width:100%}.app-header{padding:8px 0}.cyber-header{font-size:1.25rem!important;padding:.75rem!important;letter-spacing:1px!important;margin-right:.5rem!important}.cyber-back-button{font-size:1rem!important;padding:.5rem .75rem!important;min-width:36px;min-height:36px}.app-main{padding:8px 0}.app-grid{grid-template-columns:1fr!important;gap:16px!important}.websites-row{grid-template-columns:1fr!important;gap:12px!important}.artifacts-container{grid-template-columns:1fr!important;gap:16px!important}.website-card{height:auto!important;min-height:120px}.tall-card{height:160px!important}.square-card,.artifact-card{height:120px!important}h1{font-size:1.5rem!important;margin-bottom:.75rem!important}h2{font-size:1.25rem!important;margin-bottom:.5rem!important}h3{font-size:1.125rem!important;margin-bottom:.5rem!important}p{font-size:.875rem!important;margin-bottom:.75rem!important}.btn,button{padding:.75rem 1rem!important;font-size:.875rem!important;border-radius:8px!important}input,textarea,select{font-size:16px!important;padding:.75rem!important;border-radius:8px!important}.stage-nav{flex-direction:column!important;gap:12px!important;align-items:stretch!important}.stage-nav-btn{text-align:center!important;padding:.75rem!important}.tree-view-container{height:400px!important}.project-folder-section{font-size:.75rem!important;padding:1rem!important;max-height:400px!important}.legend-controls{padding:1rem!important;margin:1rem auto!important}.controls-grid{grid-template-columns:1fr!important;gap:1rem!important}.control-section h3{font-size:1rem!important}.node-input{font-size:16px!important;padding:.75rem!important}}@media (min-width: 481px) and (max-width: 768px){.container{padding:0 16px}.cyber-header{font-size:1.5rem!important;padding:1rem!important}.cyber-back-button{font-size:1.125rem!important;padding:.75rem 1rem!important}.app-grid{grid-template-columns:repeat(2,1fr)!important;gap:20px!important}.websites-row{grid-template-columns:repeat(2,1fr)!important;gap:16px!important}.artifacts-container{grid-template-columns:repeat(2,1fr)!important;gap:20px!important}.tall-card{height:200px!important}.square-card{height:160px!important}.artifact-card{height:150px!important}h1{font-size:1.75rem!important}h2{font-size:1.5rem!important}h3{font-size:1.25rem!important}}@media (min-width: 769px) and (max-width: 1024px){.container{padding:0 24px}.cyber-header{font-size:1.75rem!important}.app-grid{grid-template-columns:repeat(2,1fr)!important}.websites-row{grid-template-columns:repeat(3,1fr)!important}.artifacts-container{grid-template-columns:repeat(2,1fr)!important}}@media (hover: none) and (pointer: coarse){button:hover,a:hover{transform:none!important}button:active,a:active{transform:scale(.98)!important}.node circle{r:20!important}.stage-card{padding:20px!important}.project-folder-section{-webkit-overflow-scrolling:touch;overflow-scrolling:touch}}@media (orientation: landscape) and (max-height: 500px){.cyber-header{font-size:1.25rem!important;padding:.5rem!important}.cyber-back-button{font-size:1rem!important;padding:.5rem .75rem!important}.app-main{padding:4px 0}.stage-container{padding:1rem!important}.stage-header{margin-bottom:1rem!important}.stage-header h1{font-size:1.25rem!important}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.cyber-header:before,.cyber-cursor,.cyber-percent,.cyber-back-button{animation:none!important}}@media (prefers-contrast: high){.cyber-header{border:2px solid #00ff00!important}.cyber-back-button{border:2px solid #ff8c00!important;background:#ff8c001a!important}.website-card,.artifact-card{border:2px solid currentColor!important}}@media (prefers-color-scheme: dark){.cyber-header{background-color:#000!important}.ui-panel{background:#000000e6!important;color:#fff!important}}@media (max-width: 768px){.cyber-header:before{animation-duration:12s!important}.cyber-cursor{animation-duration:1.5s!important}.cyber-percent{animation-duration:2s!important}.cyber-back-button{animation-duration:3s!important}.website-card:hover,.artifact-card:hover,.cyber-card:hover{transform:translateY(-2px)!important}.cyber-header{box-shadow:0 0 10px #0f03!important}.cyber-back-button{box-shadow:0 0 10px #ff8c0033!important}.cyber-btn:before{animation:none!important}.cyber-card:before{display:none!important}.cyber-glow{animation-duration:3s!important}}@supports (padding: max(0px)){.app-header,.app-main{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.app-footer{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));padding-bottom:max(12px,env(safe-area-inset-bottom))}}
