@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Share+Tech+Mono&display=swap";@import "https://fonts.googleapis.com/css2?family=VT323&display=swap";@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:host,:root{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.\@container{container-type:inline-size}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.block{display:block}.flex{display:flex}.hidden{display:none}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#080b0c;--panel:#0c1011;--panel-2:#101516;--panel-3:#151b1c;--line:#273031;--line-soft:#1b2324;--text:#d6dddc;--muted:#7f8b8a;--dim:#55605f;--accent:#72e09c;--accent-bright:#92f3b5;--accent-soft:#72e09c1a;--danger:#ff8e8e;font-synthesis:none;font-family:JetBrains Mono,JetBrains Mono Fallback\: SFMono-Regular,JetBrains Mono Fallback\: Menlo,JetBrains Mono Fallback\: Consolas,JetBrains Mono Fallback\: Courier New,JetBrains Mono Fallback\: Roboto Mono,JetBrains Mono Fallback\: Noto Sans Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}:root[data-theme=retrowave]{--bg:#0d0517;--panel:#120a20;--panel-2:#170d28;--panel-3:#1d1233;--line:#3a2450;--line-soft:#2a1a3d;--text:#ece1ff;--muted:#a78fc9;--dim:#6f5b91;--accent:#ff4fd8;--accent-bright:#ff8ce9;--accent-soft:#ff4fd81f;--danger:#ff6b5f;font-family:Share Tech Mono,Share Tech Mono Fallback\: Courier New,Share Tech Mono Fallback\: Roboto Mono,Share Tech Mono Fallback\: Noto Sans Mono}:root[data-theme=hacker]{--bg:#050505;--panel:#0a0505;--panel-2:#0e0808;--panel-3:#140a0a;--line:#331414;--line-soft:#240d0d;--text:#ffe3e3;--muted:#c26a6a;--dim:#8a4141;--accent:#ff2a2a;--accent-bright:#ff5c5c;--accent-soft:#ff2a2a1f;--danger:#ffb3b3;font-family:"Exo 2","Exo 2 Fallback: Segoe UI","Exo 2 Fallback: Helvetica Neue","Exo 2 Fallback: Arial","Exo 2 Fallback: Noto Sans",sans-serif}*{box-sizing:border-box}#root,body,html{min-width:320px;min-height:100%;margin:0}[data-theme=default]{text-shadow:-1px -1px #ea36af50,1px 1px 1px #4b7bff}[data-theme=retrowave]{text-shadow:0 2px 2px #75fa6950,1px 1px 1px #4b7bff}[data-theme=hacker]{text-shadow:0 2px 2px #75fa6920,1px 1px 1px #4b7bff70}body{background:var(--bg);color:var(--text);overflow-x:hidden}button,input{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{color:var(--bg);background:var(--accent)}.app-shell{isolation:isolate;grid-template:"terminal side"minmax(0,1fr)/2fr 1fr;gap:10px;height:100dvh;padding:10px;display:grid;position:relative;overflow:hidden}.app-shell:after{content:"";opacity:.1;background-color:#0000;background:repeating-linear-gradient(135deg,#101010 0,#101010 20px,var(--accent) 20px,var(--accent) 2px,#101010 22px,#101010 22px,var(--line) 12px,var(--line) 1px);position:absolute}.ambient-grid,.app-shell:after{pointer-events:none;z-index:-1;inset:0}.ambient-grid{opacity:.18;background-image:linear-gradient(#72e09c14 1px,#0000 0),linear-gradient(90deg,#72e09c0f 1px,#0000 0);background-size:48px 48px;position:fixed;-webkit-mask-image:radial-gradient(circle at 50% 30%,#000,#0000 75%);mask-image:radial-gradient(circle at 50% 30%,#000,#0000 75%)}.terminal-window{border:1px solid var(--line);background:#0c1011f7;border-radius:10px;flex-direction:column;grid-area:terminal;min-width:0;min-height:0;display:flex;overflow:hidden;box-shadow:0 28px 80px #00000073,inset 0 0 0 1px #ffffff04}.side-column{grid-area:side;grid-template-rows:1fr 1fr;gap:10px;min-width:0;min-height:0;display:grid}.title-bar{border-bottom:1px solid var(--line);min-height:40px;color:var(--muted);-webkit-user-select:none;user-select:none;background:#121718;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 14px;font-size:11px;display:grid;position:relative}.window-controls{gap:7px;display:flex}.window-controls span{background:#222929;border:1px solid #4a5554;border-radius:50%;width:9px;height:9px}.window-controls span:first-child{background:#493333;border-color:#775a5a}.window-title{color:#9aa5a4;align-items:center;gap:8px;display:flex}.terminal-icon{color:var(--accent);font-weight:700}.connection-state{justify-self:end;align-items:center;gap:6px;display:flex}.connection-state i{background:var(--accent);width:6px;height:6px;box-shadow:0 0 8px var(--accent);border-radius:50%}.identity-panel{border:1px solid var(--line);background:#0c1011f7;border-radius:10px;flex-direction:column;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 50px #0006,inset 0 0 0 1px #ffffff04}.identity-panel .section-heading{border-bottom:1px solid var(--line-soft);margin:0;padding:10px 16px}.identity-panel-body{scrollbar-color:var(--line) transparent;flex-direction:column;flex:1;gap:16px;min-height:0;padding:18px;display:flex;overflow-y:auto}.identity-headline{align-items:center;gap:16px;display:flex}.identity-panel .identity-mark{flex:none;width:62px;height:62px;font-size:19px}.identity-panel .eyebrow{color:var(--accent);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:9px}.identity-copy h1{letter-spacing:-.03em;margin:4px 0 5px;font-size:calc(clamp(18px,1.6vw,24px));line-height:1.1}.identity-copy p{color:var(--muted);margin:0;font-size:11px}.ascii-frame{border:1px dashed var(--accent);background:radial-gradient(circle at 50% 0,var(--accent-soft),transparent 70%),var(--panel-2);border-radius:.5rem;flex:1;justify-content:space-between;align-items:center;margin:0;padding:1rem;display:flex;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.ascii-frame{border:1px dashed color-mix(in srgb,var(--accent) 30%,var(--line))}}.ascii-info{flex-direction:column;justify-content:center;align-self:center;gap:1rem;width:50%;min-width:50%;height:100%;margin:0;padding-left:8px;list-style:none;display:flex}.ascii-info li{min-width:0;color:var(--muted);align-items:center;gap:8px;font-size:10px;display:flex}.ascii-info .iconify,.ascii-info svg{width:12px;height:12px;color:var(--accent);flex:none}.ascii-info a{color:var(--muted);overflow-wrap:anywhere;text-decoration:none}.ascii-info a:hover{color:var(--accent-bright);text-underline-offset:3px;text-decoration:underline}.ascii-photo{-o-object-fit:contain;object-fit:contain;opacity:.85;flex:none;width:auto;min-width:0;max-width:50%;height:100%;min-height:0;max-height:100%}.identity-facts{border-top:1px solid var(--line-soft);flex-direction:column;gap:1rem;margin:0;padding:13px 0 0;font-size:10px;list-style:none;display:flex}.identity-facts li{color:var(--muted);align-items:center;gap:.5rem;display:flex}.identity-facts span{color:var(--dim);letter-spacing:.12em}.identity-status{color:var(--accent);margin:auto 0 0;font-size:10px}.hacker-panel,.matrix-panel,.sunset-panel{border:1px solid var(--line);background:#0c1011f7;border-radius:10px;flex-direction:column;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden;box-shadow:0 14px 40px #00000059,inset 0 0 0 1px #ffffff04}.hacker-panel .section-heading,.matrix-panel .section-heading,.sunset-panel .section-heading{border-bottom:1px solid var(--line-soft);margin:0;padding:10px 14px}.matrix-canvas-wrap{flex:1;min-height:0;position:relative}.matrix-canvas{opacity:.9}.matrix-canvas,.sunset-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.sunset-canvas{image-rendering:pixelated}.canvas-fallback-wrap{flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.canvas-fallback-art{color:var(--accent);letter-spacing:.35em;-webkit-user-select:none;user-select:none;opacity:.28;margin:0;font-size:10px;line-height:1.15;overflow:hidden}.side-canvas-fallback--sunset .canvas-fallback-art{color:#ff8f5e;letter-spacing:.3em;opacity:.34}.canvas-fallback-text{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:7px;margin:0;font-size:9px;display:flex}.side-canvas-fallback--sunset .canvas-fallback-text{color:#ffb0d2}.canvas-fallback-cursor{background:var(--accent-bright,var(--accent));width:6px;height:12px;animation:1.1s step-end infinite blink}.matrix-stats{z-index:1;color:#fff;letter-spacing:.12em;text-transform:uppercase;background:#000;flex-wrap:wrap;gap:4px 14px;padding:4px 10px;font-size:8px;display:flex;position:absolute;bottom:0;left:0;right:0}.matrix-stats b{color:var(--accent);font-weight:500}.matrix-stats .live{color:var(--accent);align-items:center;display:flex}.matrix-stats .live i{background:var(--accent);width:6px;height:6px;box-shadow:0 0 8px var(--accent);border-radius:50%;margin-right:5px;animation:1.1s step-end infinite blink}.view-switcher{display:none}.identity-mark{border:1px solid var(--accent);background:var(--accent-soft);width:54px;height:54px;color:var(--accent-bright);letter-spacing:-1px;--corner:10px;--inset:1px;clip-path:polygon(0 0,var(--corner) 0,var(--corner) var(--inset),calc(100% - var(--corner)) var(--inset),calc(100% - var(--corner)) 0,100% 0,100% var(--corner),calc(100% - var(--inset)) var(--corner),calc(100% - var(--inset)) calc(100% - var(--corner)),100% calc(100% - var(--corner)),100% 100%,calc(100% - var(--corner)) 100%,calc(100% - var(--corner)) calc(100% - var(--inset)),var(--corner) calc(100% - var(--inset)),var(--corner) 100%,0 100%,0 calc(100% - var(--corner)),var(--inset) calc(100% - var(--corner)),var(--inset) var(--corner),0 var(--corner));place-items:center;font-size:17px;font-weight:700;display:grid}@supports (color:color-mix(in lab,red,red)){.identity-mark{border:1px solid color-mix(in srgb,var(--accent) 55%,transparent)}}.quick-actions{border-bottom:1px solid var(--line);background:var(--panel-2);flex:none;align-items:stretch;min-height:49px;display:flex;overflow:hidden}.quick-label{border-right:1px solid var(--line);width:55px;color:var(--dim);letter-spacing:.18em;flex:none;place-items:center;font-size:9px;display:grid}.quick-scroll{scrollbar-width:none;width:100%;display:flex;overflow-x:auto}.quick-scroll::-webkit-scrollbar{display:none}.quick-scroll button{border:0;border-right:1px solid var(--line-soft);color:#aab3b2;cursor:pointer;background:0 0;min-width:max-content;min-height:48px;padding:0 16px;font-size:11px;transition:color .12s,background .12s}.quick-scroll button span{color:var(--accent);margin-right:4px}.quick-scroll button:hover{color:var(--accent-bright);background:var(--accent-soft)}.terminal-body{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.output{overscroll-behavior:contain;scrollbar-color:var(--line) transparent;background:#000;flex:1;min-height:0;padding:24px calc(clamp(18px,3vw,34px)) 40px;overflow-y:auto}.output-entry+.output-entry{margin-top:26px}.command-echo{color:#98a2a1;overflow-wrap:anywhere;margin-bottom:12px;font-size:12px}.command-echo span,.input-line label span{color:var(--accent)}.welcome-block{border-left:1px solid var(--line);color:#aab4b3;padding-left:14px;font-size:12px;line-height:1.75}.welcome-block p{margin:0}.welcome-block .success{color:var(--accent)}.welcome-block .welcome-main{color:var(--text);margin-top:7px;font-size:13px}.welcome-main button{border:0;border-bottom:1px solid var(--accent);color:var(--accent-bright);cursor:pointer;background:0 0;padding:0 3px}.welcome-art{color:var(--accent);margin:2px 0 18px;font-size:calc(clamp(6.5px,1.9vw,13px));line-height:1.4;overflow-x:auto}.boot-header{margin-bottom:10px}.boot-header p{color:var(--text);margin:0;font-size:12px}.boot-header .boot-meta{color:var(--muted);margin-top:3px;font-size:10px}.boot-log{margin:12px 0 14px;font-size:11px;line-height:1.8;overflow-x:auto}.boot-log p{margin:0}.boot-status{color:var(--accent)}.muted{color:var(--dim)}.result-section{max-width:890px;animation:.18s ease-out both output-in}.section-heading{color:#bec7c6;align-items:center;gap:9px;margin-bottom:17px;font-size:12px;font-weight:600;display:flex}.heading-marker{color:var(--accent);font-size:9px}.lead-copy{color:#b2bcbb;max-width:700px;margin:0;font-size:13px;line-height:1.75}.key-values{grid-template-columns:max-content 1fr;gap:9px 20px;margin-top:20px;font-size:11px;display:grid}.key-values>span{color:var(--dim)}.key-values strong{color:#b8c2c1;font-weight:400}.bio-blocks{border-top:1px solid var(--line);margin-top:22px;display:grid}.bio-block{border-bottom:1px solid var(--line-soft);max-width:760px;padding:13px 0}.bio-block h3{color:var(--accent);margin:0 0 5px;font-size:11px;font-weight:500}.bio-block p{line-height:1.65}.bio-block p,.bio-block ul{color:#9ba5a4;margin:0;font-size:11px}.bio-block ul{padding-left:13px;line-height:1.75}.cert-group{max-width:820px;margin-top:26px}.cert-group-title{color:#bec7c6;margin:0 0 10px;font-size:12px;font-weight:600}.cert-group-title:before{color:var(--accent);content:"◆ ";margin-right:9px;font-size:9px}.cert-progress{border-top:1px solid var(--line);margin:0;list-style:none}.cert-progress li{border-bottom:1px solid var(--line-soft);color:#b8c2c1;padding:11px 0;font-size:11px}.cert-progress li:before{color:var(--accent);content:"▸ "}.findings-summary{color:var(--accent-bright);flex:none;margin:14px 0 0;font-size:10px}.project-card .tag-row{margin-top:auto}.contact-email-locked{color:var(--dim);grid-template-columns:72px 1fr;gap:4px 15px;display:grid}.contact-email-locked span:last-child,.next-label{color:var(--dim)}.status-value{align-items:center;gap:8px;display:flex}.status-value i{background:var(--accent);width:6px;height:6px;box-shadow:0 0 7px var(--accent);border-radius:50%}.action-chips{flex-wrap:wrap;align-items:center;gap:7px;margin-top:22px;display:flex}.next-label{margin-right:2px;font-size:10px}.action-chips button{border:1px solid var(--line);color:#9ba6a5;background:var(--panel-2);cursor:pointer;border-radius:3px;min-height:34px;padding:0 11px;font-size:10px}.action-chips button:before{content:"$ ";color:var(--accent)}.action-chips button:hover{border-color:var(--accent);color:var(--accent-bright)}@supports (color:color-mix(in lab,red,red)){.action-chips button:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}}.timeline{max-width:820px;position:relative}.timeline:before{background:var(--line);content:"";width:1px;position:absolute;top:22px;bottom:22px;left:7px}.project-card,.timeline details,.tree-glyph{position:relative}.timeline summary{cursor:pointer;grid-template-columns:42px 1fr auto;align-items:start;min-height:48px;padding:8px 4px 8px 0;list-style:none;display:grid}.timeline summary::-webkit-details-marker{display:none}.tree-glyph{z-index:1;color:var(--accent);background:var(--panel)}.timeline-title,.tree-glyph{font-size:11px;line-height:18px}.timeline-title{grid-template-columns:118px minmax(160px,1fr) minmax(140px,.8fr);align-items:baseline;gap:14px;min-width:0;display:grid}.timeline-date{color:var(--muted)}.timeline-title strong{color:#cbd2d1;font-weight:600}.timeline-org{color:var(--muted)}.disclosure{width:24px;color:var(--dim);text-align:center}.timeline details[open] .disclosure{color:var(--accent);transform:rotate(45deg)}.timeline-detail{border-left:1px dashed var(--line);margin:0 0 9px 42px;padding:0 20px 11px 132px}.timeline-detail p{color:#929d9c;margin:0 0 6px;font-size:11px;line-height:1.6}.timeline-detail p span{color:var(--accent)}.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.project-card{border:1px solid var(--line);background:linear-gradient(145deg,var(--panel-2),var(--panel));border-radius:4px;flex-direction:column;gap:.5rem;min-height:230px;padding:19px;display:flex;overflow:hidden}.project-card:before{background:var(--accent);content:"";width:40px;height:1px;position:absolute;top:0;left:0}.project-index{color:var(--dim);letter-spacing:.15em;font-size:9px}.project-card h3{color:#cdd5d4;margin:9px 0 10px;font-size:14px}.project-card p{color:#879291;flex:1;margin:0;font-size:10px;line-height:1.65}.tag-row{flex-wrap:wrap;gap:5px;display:flex}.tag-row span{border:1px solid var(--line);color:#8f9998;background:#0a0e0f;border-radius:2px;padding:3px 6px;font-size:8px}.project-links{gap:14px;margin-top:14px;display:flex}.project-links a{color:var(--accent);font-size:9px;text-decoration:none}.contact-links a:hover,.project-links a:hover{color:var(--accent-bright);text-underline-offset:3px;text-decoration:underline}.skills-list{border-top:1px solid var(--line);max-width:760px;display:grid}.skill-group{border-bottom:1px solid var(--line-soft);grid-template-columns:145px 1fr;gap:20px;padding:13px 0;display:grid}.skill-group h3,.skill-group p{margin:0;font-size:11px;line-height:1.6}.skill-group h3{color:var(--accent);font-weight:500}.skill-group p{color:#9ba5a4}.contact-links{border-top:1px solid var(--line);max-width:650px;margin-top:18px;display:grid}.contact-links a{border-bottom:1px solid var(--line);color:#adb7b6;grid-template-columns:100px 1fr auto;gap:15px;padding:13px 5px;font-size:11px;text-decoration:none;display:grid}.contact-links a span{color:var(--dim)}.contact-links a b{color:var(--accent);font-weight:400}.file-list,.help-output{max-width:720px}.help-row{border-bottom:1px solid var(--line-soft);grid-template-columns:110px 1fr;gap:18px;padding:9px 0;font-size:11px;display:grid}.help-row>span{color:var(--muted)}.help-row code{color:#b7c0bf;white-space:pre-wrap}.hint{color:var(--dim);margin:15px 0 0;font-size:10px}kbd{border:1px solid var(--line);color:#aeb8b7;background:var(--panel-2);font:inherit;border-bottom-width:2px;border-radius:3px;padding:2px 5px}.error-message,.text-message{color:#aab4b3;margin:0;font-size:11px;line-height:1.6}.error-message{color:var(--danger)}.error-message span{border:1px solid var(--danger);border-radius:50%;place-items:center;width:17px;height:17px;margin-right:5px;font-size:9px;display:inline-grid}@supports (color:color-mix(in lab,red,red)){.error-message span{border:1px solid color-mix(in srgb,var(--danger) 50%,transparent)}}.history-output p{color:#a5afae;margin:3px 0;font-size:11px}.history-output p span{width:28px;color:var(--dim);text-align:right;display:inline-block}.file-list{flex-wrap:wrap;gap:8px 24px;display:flex}.file-list button{color:#adb7b6;cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:11px}.file-list button:before{content:"· ";color:var(--accent)}.file-list button:hover{color:var(--accent-bright);text-decoration:underline}.long-listing{color:#aab4b3;margin:0;font-size:11px;line-height:1.8;overflow-x:auto}.long-listing p{margin:0}.long-listing .listing-total{color:var(--dim)}.long-listing .row-directory{color:var(--accent-bright)}.input-dock{z-index:4;border-top:1px solid var(--line);background:#0c1011fa;flex:none}.input-line{grid-template-columns:auto 1fr auto;align-items:center;min-height:55px;padding:0 calc(clamp(18px,3vw,34px));font-size:12px;display:grid}.input-line label{color:#8f9998;white-space:nowrap}.input-wrap{min-width:0;margin-left:8px;position:relative}.input-wrap input{width:100%;color:var(--accent);caret-color:#0000;background:0 0;border:0;outline:0;padding:10px 0;font-size:12px}.fake-cursor{background:var(--accent);pointer-events:none;width:7px;height:15px;animation:1.1s step-end infinite blink;position:absolute;top:50%;left:0;transform:translateY(-50%)}.run-button{border:1px solid var(--line);width:40px;height:40px;color:var(--accent);background:var(--panel-2);border-radius:3px;display:none}.status-bar{border-top:1px solid var(--line-soft);height:24px;color:var(--dim);letter-spacing:.05em;text-transform:uppercase;background:#0a0d0e;align-items:center;gap:18px;padding:0 calc(clamp(18px,3vw,34px));font-size:8px;display:flex}.status-bar>span:first-child{color:var(--accent)}.status-path{margin-left:auto}.mobile-keys{display:none}@keyframes blink{0%,52%{opacity:1}53%,to{opacity:0}}@keyframes output-in{0%{opacity:0;transform:translateY(4px)}}:root[data-theme=retrowave] .terminal-window{background:#120a20f7;box-shadow:0 28px 80px #0000008c,0 0 42px #ff4fd829}:root[data-theme=retrowave] .title-bar{background:#150b26}:root[data-theme=retrowave] .status-bar{background:#0f0719}:root[data-theme=retrowave] .input-dock{background:#120a20fa}:root[data-theme=retrowave] .tag-row span{background:#140a24}:root[data-theme=retrowave] .ambient-grid{opacity:.3;background-image:linear-gradient(#ff4fd817 1px,#0000 0),linear-gradient(90deg,#2de2e612 1px,#0000 0)}:root[data-theme=retrowave] .ascii-photo{filter:hue-rotate(180deg)}:root[data-theme=hacker] .terminal-window{background:#0a0505f7;box-shadow:0 28px 80px #0000008c,0 0 34px #ff2a2a1f}:root[data-theme=hacker] .title-bar{background:#0d0606}:root[data-theme=hacker] .status-bar{background:#080404}:root[data-theme=hacker] .input-dock{background:#0a0505fa}:root[data-theme=hacker] .tag-row span{background:#0b0505}:root[data-theme=hacker] .ambient-grid{background-image:linear-gradient(#ff2a2a14 1px,#0000 0),linear-gradient(90deg,#ff2a2a0f 1px,#0000 0)}:root[data-theme=hacker] .ascii-photo{filter:hue-rotate(200deg)}:root[data-theme=retrowave] .hacker-panel,:root[data-theme=retrowave] .identity-panel,:root[data-theme=retrowave] .matrix-panel,:root[data-theme=retrowave] .sunset-panel{background:#120a20f7}:root[data-theme=hacker] .hacker-panel,:root[data-theme=hacker] .identity-panel,:root[data-theme=hacker] .matrix-panel,:root[data-theme=hacker] .sunset-panel{background:#0a0505f7}.theme-picker{max-width:720px}.theme-list{border-top:1px solid var(--line);display:grid}.theme-option{border:0;border-bottom:1px solid var(--line);color:#adb7b6;text-align:left;cursor:pointer;background:0 0;grid-template-columns:46px 118px 1fr auto;grid-template-areas:"swatch name description state";align-items:center;gap:14px;min-height:52px;padding:8px 6px;font-size:12px;transition:color .12s,background .12s;display:grid}.theme-option:hover{color:var(--accent-bright);background:var(--accent-soft)}.theme-swatch{grid-area:swatch;gap:4px;display:flex}.theme-swatch i{border:1px solid var(--line);border-radius:50%;width:13px;height:13px}.theme-name{color:#cbd2d1;grid-area:name}.theme-option.active .theme-name{color:var(--accent-bright)}.theme-description{color:var(--muted);grid-area:description}.theme-state{color:var(--dim);grid-area:state}.theme-option.active .theme-state{color:var(--accent)}@media (width<=767px){.app-shell{flex-direction:column;gap:0;height:100dvh;padding:0;display:flex}.ascii-frame{flex-direction:column;flex:none;align-items:stretch}.ascii-photo{-o-object-fit:contain;object-fit:contain;order:-1;max-width:100%;height:50%}.view-switcher{border:0;border-bottom:1px solid var(--line);width:100%;min-height:42px;color:var(--muted);background:var(--panel-2);font:inherit;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;flex:none;align-items:center;gap:10px;padding:0 14px;font-size:10px;display:flex}.view-switcher:hover{color:var(--accent-bright);background:var(--accent-soft)}.view-chevron{color:var(--accent);font-size:14px;line-height:1}.view-label{text-align:left}.view-dots{gap:5px;margin-left:auto;display:flex}.view-dots i{border:1px solid var(--line);border-radius:50%;width:5px;height:5px}.view-dots i.on{border-color:var(--accent);background:var(--accent);box-shadow:0 0 6px var(--accent)}.side-column{display:contents}.terminal-window{display:none}.terminal-window.is-active{border:0;border-radius:0;flex:1;min-height:0;display:flex}.hacker-panel,.identity-panel,.matrix-panel,.sunset-panel{display:none}.hacker-panel.is-active,.identity-panel.is-active,.matrix-panel.is-active,.sunset-panel.is-active{border:0;border-radius:0;flex:1;min-height:0;display:flex}.title-bar{min-height:38px;padding:0 12px}.window-title{font-size:9px}.connection-state{font-size:0}.identity-panel-body{padding:14px 16px}.ascii-info{gap:8px;width:100%}.ascii-info li{font-size:14px}.identity-panel .identity-mark{width:46px;height:46px;font-size:14px}.quick-label{display:none}.quick-scroll button{min-height:48px;padding:0 15px}.output{padding:19px 16px 28px}.output-entry+.output-entry{margin-top:23px}.projects-grid{grid-template-columns:1fr}.project-card{min-height:205px}.timeline summary{grid-template-columns:38px 1fr auto;padding:7px 0}.timeline-title{grid-template-columns:1fr;gap:0}.timeline-date{font-size:9px}.timeline-detail{margin-left:38px;padding:2px 8px 12px 13px}.timeline details:not([open]) .timeline-title{padding-bottom:5px}.skill-group{grid-template-columns:1fr;gap:5px}.contact-links a{overflow-wrap:anywhere;grid-template-columns:72px minmax(0,1fr) auto;gap:8px}.help-row{grid-template-columns:1fr;gap:4px}.help-row code{line-height:1.8}.mobile-keys{border-bottom:1px solid var(--line-soft);gap:6px;height:45px;padding:.25rem;display:flex}.mobile-keys button{border:1px solid var(--line);color:#9fa9a8;background:var(--panel-2);border-radius:3px 3px 0 0;padding:0 13px;font-size:11px}.input-line{min-height:54px;padding:0 12px;font-size:10px}.input-wrap input{font-size:11px}.run-button{display:block}.status-bar{display:none}.theme-option{grid-template-columns:40px 1fr auto;grid-template-areas:"swatch name state""swatch description description";gap:4px 12px;padding:10px 4px}.boot-log,.long-listing{font-size:10px}}@media (width<=390px){.input-line label{font-size:0}.input-line label span{font-size:10px}.input-line label span:after{color:#8f9998;content:":~$"}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.debug-toggle{z-index:100000;border:1px solid var(--line);min-height:30px;color:var(--accent);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:#0c1011f2;border-radius:3px;align-items:center;gap:6px;padding:0 10px;font-size:10px;display:flex;position:relative}.debug-toggle i{background:var(--accent);width:6px;height:6px;box-shadow:0 0 7px var(--accent);border-radius:50%;animation:1.1s step-end infinite blink}.debug-toggle.is-open,.debug-toggle:hover{border-color:var(--accent);background:var(--accent-soft)}@supports (color:color-mix(in lab,red,red)){.debug-toggle.is-open,.debug-toggle:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}}.debug-overlay{z-index:100000;border:1px solid var(--line);background:#080b0cf7;border-radius:6px;width:240px;position:absolute;top:44px;right:10px;overflow:hidden;box-shadow:0 18px 50px #00000073}.debug-overlay-head{border-bottom:1px solid var(--line-soft);color:var(--accent);letter-spacing:.16em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:7px 10px;font-size:9px;display:flex}.debug-overlay-head button{border:1px solid var(--line);min-height:18px;color:var(--muted);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:2px;padding:0 7px;font-size:8px}.debug-overlay-head button:hover{border-color:var(--accent);color:var(--accent-bright)}@supports (color:color-mix(in lab,red,red)){.debug-overlay-head button:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}}.debug-rows{scrollbar-color:var(--line) transparent;max-height:46vh;display:grid;overflow-y:auto}.debug-row{border-bottom:1px solid var(--line-soft);grid-template-columns:92px 1fr;align-items:baseline;gap:8px;padding:4px 10px;font-size:9px;display:grid}.debug-row:last-child{border-bottom:0}.debug-row span{color:var(--dim);letter-spacing:.1em;text-transform:uppercase}.debug-row b{color:var(--accent-bright);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}.crt[data-v-e5080047]{--crt-radius:.5rem / .5rem;--crt-vignette:#000;--crt-bezel:var(--bg,#080b0c);z-index:9999;pointer-events:none;filter:brightness();mix-blend-mode:screen;background:radial-gradient(ellipse at center,transparent 85%,var(--crt-vignette) 100%);position:absolute;inset:0;overflow:hidden;box-shadow:inset 0 0 5rem 1rem #00000073}.crt[data-theme=default][data-v-e5080047]{background:repeating-linear-gradient(90deg,#ff00000d 0 1px,#00ff001a 0 2px,#0050ff1a 0 3px)}.crt[data-theme=retrowave][data-v-e5080047]{background:repeating-linear-gradient(90deg,#ff00001a 0 1px,#00ff001a 0 2px,#0050ff1a 0 3px)}.crt[data-theme=hacker][data-v-e5080047]{background:repeating-linear-gradient(90deg,#ff00001a 0 1px,#00ff000d 0 2px,#0050ff33 0 3px)}.crt--fixed[data-v-e5080047]{position:fixed}@media (prefers-reduced-motion:reduce){.crt[data-v-e5080047]:before{animation:none;display:none}}@media (width<=767px){.crt[data-v-e5080047]{display:none}}.noise[data-v-abc33496]{z-index:9999;opacity:.5;mix-blend-mode:saturation;pointer-events:none;will-change:transform;background-repeat:repeat;background-size:256px 256px;animation:.8s step-end infinite noise-shift-abc33496;position:fixed;inset:-200px}@keyframes noise-shift-abc33496{0%{transform:translate(0)}12%{transform:translate(-80px,-140px)}25%{transform:translate(-160px,60px)}37%{transform:translate(100px,-100px)}50%{transform:translate(-60px,160px)}62%{transform:translate(140px,20px)}75%{transform:translate(-130px,120px)}87%{transform:translate(40px,-170px)}to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){.noise[data-v-abc33496]{animation:none}}.Vignette[data-v-18b86ca0]{z-index:9999;pointer-events:none;position:fixed;inset:0}.Vignette[data-v-18b86ca0]:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 85px #000}.boot[data-v-52c022b1]{z-index:10000;background:var(--bg);color:var(--muted);cursor:pointer;flex-direction:column;padding:calc(clamp(1rem,5vw,5rem));display:flex;position:fixed;inset:0;overflow:hidden}.boot[data-v-52c022b1]:after{content:"";z-index:2;pointer-events:none;background:repeating-linear-gradient(#0000 0 2px,#00000040 0 3px);position:absolute;inset:0}.boot__log[data-v-52c022b1]{z-index:1;flex-direction:column;flex:1;justify-content:flex-end;min-height:0;font-size:calc(clamp(8px,2.4vw,12px));line-height:1.8;display:flex;position:relative;overflow:hidden}.boot__log[data-v-52c022b1]:before{content:"";pointer-events:none;background:linear-gradient(var(--bg),transparent);height:3em;position:absolute;top:0;left:0;right:0}.boot__log p[data-v-52c022b1]{white-space:pre;margin:0}.boot__tag--ok[data-v-52c022b1]{color:var(--accent)}.boot__tag--warn[data-v-52c022b1]{color:#ffb454;text-shadow:0 0 6px #ffb45466}.boot__tag--info[data-v-52c022b1]{color:var(--muted)}.boot__tag--fail[data-v-52c022b1]{color:var(--danger)}.boot__log p.boot__line--final[data-v-52c022b1]{color:var(--accent-bright);text-shadow:0 0 12px color-mix(in srgb,var(--accent-bright) 60%,transparent);margin-top:.75rem}.boot__cursor[data-v-52c022b1]{background:var(--accent);vertical-align:-.15em;width:7px;height:1em;animation:1.1s step-end infinite boot-blink-52c022b1;display:inline-block}.boot__foot[data-v-52c022b1]{flex:none;align-items:center;gap:14px;display:flex}.boot__bar[data-v-52c022b1]{background:var(--accent-soft);width:calc(min(420px,60vw));height:4px}.boot__bar-fill[data-v-52c022b1]{background:var(--accent);height:100%;box-shadow:0 0 8px var(--accent);transition:width .2s linear}.boot__hint[data-v-52c022b1]{color:var(--dim);letter-spacing:.14em;text-transform:uppercase;font-size:10px}@keyframes boot-blink-52c022b1{50%{opacity:0}}.App[data-v-b66b12de]:after{content:"";z-index:9999;opacity:.2;pointer-events:none;background:radial-gradient(circle,#0000 80%,#00000050);animation:9s ease-in-out infinite pulseGradient-b66b12de;position:fixed;inset:0}@keyframes pulseGradient-b66b12de{0%,to{opacity:.12}50%{opacity:.26}}html.is-booting{overflow:hidden}.boot-fade-leave-active{pointer-events:none;transition:opacity .6s,filter .6s}.boot-fade-leave-to{opacity:0;filter:brightness(2)blur(2px)}
