*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:200px){.container{max-width:200px}}@media (min-width:576px){.container{max-width:576px}}@media (min-width:701px){.container{max-width:701px}}@media (min-width:1001px){.container{max-width:1001px}}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.inline{display:inline}.table{display:table}.grid{display:grid}.contents{display:contents}.font-dejavu{font-family:dejavu}.italic{font-style:italic}.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)}.\[-\:\|\\s\]{-:|\s}@font-face{font-family:dejavu;src:url(/static/media/DejaVu%20Sans%20Mono%20Book.7d9acac6f488f5323bb3.ttf)}.app-root{background:#0d0d0d;height:100vh;overflow:hidden;width:100vw}.terminal{background-color:#0d0d0d;border:1px solid #222;border-radius:8px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;font-family:Courier New,monospace;height:100%;overflow:hidden;width:100%}.terminal.terminal-fullscreen{border:none;border-radius:0;box-shadow:none}.terminal-header{align-items:center;background:linear-gradient(180deg,#2a2a2a,#1f1f1f);border-bottom:1px solid #111;display:flex;justify-content:space-between;padding:8px 14px;-webkit-user-select:none;user-select:none}.terminal-title{color:#aaa;font-size:13px;font-weight:700}.terminal-buttons{display:flex;gap:8px}.terminal-button{border-radius:50%;display:inline-block;height:12px;width:12px}.terminal-button.minimize{background-color:#f4bf4f}.terminal-button.maximize{background-color:#27c93f}.terminal-button.close{background-color:#f25056}.terminal-output{color:#e0e0e0;flex:1 1;font-size:13px;line-height:1.55;overflow-y:auto;padding:14px}.terminal-output::-webkit-scrollbar{width:8px}.terminal-output::-webkit-scrollbar-track{background:#0d0d0d}.terminal-output::-webkit-scrollbar-thumb{background:#333;border-radius:4px}.terminal-output::-webkit-scrollbar-thumb:hover{background:#444}.terminal-line{word-wrap:break-word;align-items:baseline;display:flex;flex-wrap:wrap;min-height:20px;white-space:pre-wrap}.terminal-error,.terminal-text{word-wrap:break-word;color:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;padding:0;white-space:pre-wrap;width:100%}.terminal-error{color:#ff6b6b}.terminal-link{color:#64e986;text-decoration:underline}.terminal-link:hover{color:#8af0a3}.terminal-banner{color:#64e986;font-family:Courier New,monospace;font-size:8px;line-height:1.1;margin:0 0 8px;overflow-x:auto;white-space:pre}@media (min-width:768px){.terminal-banner{font-size:10px}}.terminal-prompt{align-items:baseline;display:inline-flex;flex-shrink:0;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;padding:0;white-space:pre}.prompt-user{color:#64e986;font-weight:700}.prompt-sep{color:#e0e0e0}.prompt-path{color:#4ea1ff}.terminal-command{word-wrap:break-word;color:#e0e0e0;margin:0;padding:0;white-space:pre-wrap}.terminal-input-row{align-items:baseline}.terminal-input{background-color:initial;border:none;caret-color:#64e986;color:#e0e0e0;flex:1 1;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;min-width:0;outline:none;padding:0}.terminal-input::placeholder{color:#555}.terminal-input:focus{outline:none}@media (max-width:768px){.terminal-output{font-size:12px;padding:10px}}.terminal-view{background-color:#0d0d0d;height:100vh;overflow:hidden;width:100vw}.terminal-view .terminal{background-color:#0d0d0d;border:none;border-radius:0;box-shadow:none;height:100%;width:100%}.terminal-view .terminal-output{font-size:14px;padding:24px}.terminal-view .terminal-banner{color:#64e986;font-family:Courier New,monospace;font-size:10px;line-height:1.1;margin:0 0 12px;overflow-x:auto;text-shadow:0 0 4px #64e98666}@media (min-width:768px){.terminal-view .terminal-banner{font-size:12px}}.window{background-color:#16213e;border:1px solid #1a3a52;border-radius:6px;box-shadow:0 8px 32px #0006;display:flex;flex-direction:column;overflow:hidden;position:absolute;transition:box-shadow .2s ease}.window:not(.minimized){box-shadow:0 12px 40px #00000080}.window.minimized{display:none}.window-title-bar{align-items:center;background:linear-gradient(90deg,#0f3460,#1a4d6d);border-bottom:1px solid #1a3a52;cursor:move;display:flex;flex-shrink:0;height:32px;justify-content:space-between;padding:8px 12px;-webkit-user-select:none;user-select:none}.window-title-bar:active{background:linear-gradient(90deg,#0a2847,#15405f)}.window-title{color:#e0e0e0;flex:1 1;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.window-controls{display:flex;flex-shrink:0;gap:4px}.window-btn{align-items:center;background-color:initial;border:none;border-radius:3px;color:#999;cursor:pointer;display:flex;font-size:14px;height:24px;justify-content:center;transition:all .2s ease;width:24px}.window-btn:hover{background-color:#ffffff1a;color:#e0e0e0}.window-btn:active{background-color:#fff3}.close-btn:hover{background-color:#d32f2f;color:#fff}.close-btn:active{background-color:#b71c1c}.minimize-btn:hover{background-color:#3a86ff4d;color:#3a86ff}.window-content{background-color:#0f2d47;display:flex;flex:1 1;flex-direction:column;overflow:auto;padding:12px}.window-content::-webkit-scrollbar{height:8px;width:8px}.window-content::-webkit-scrollbar-track{background:#16213e;border-radius:4px}.window-content::-webkit-scrollbar-thumb{background:#1a4d6d;border-radius:4px}.window-content::-webkit-scrollbar-thumb:hover{background:#2a6d9f}.window-resize-handle{background:linear-gradient(135deg,#0000,#0000 50%,#3a86ff66 0,#3a86ff66);border-radius:0 0 6px 0;bottom:0;cursor:nwse-resize;height:20px;position:absolute;right:0;width:20px}.window-resize-handle:hover{background:linear-gradient(135deg,#0000,#0000 50%,#3a86ffb3 0,#3a86ffb3)}@media (max-width:768px){.window{border-radius:0;height:100%!important;left:0!important;top:0!important;width:100%!important}.window-resize-handle{display:none}.desktop-menu{flex-wrap:wrap}}.pdf-viewer{background:#1a1a1a;display:flex;flex-direction:column;height:100%}.pdf-toolbar{align-items:center;background:#2a2a2a;border-bottom:1px solid #333;display:flex;flex-shrink:0;justify-content:space-between;padding:8px 12px}.pdf-title{color:#e0e0e0;font-family:Courier New,monospace;font-size:13px}.pdf-download{border:1px solid #64e986;border-radius:3px;color:#64e986;font-size:12px;padding:4px 10px;text-decoration:none;transition:background .2s}.pdf-download:hover{background:#64e98626}.pdf-frame{background:#fff;border:0;flex:1 1;height:100%;width:100%}.file-explorer{background-color:#1a1a1a;color:#e0e0e0;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;height:100%;width:100%}.explorer-header{align-items:center;background-color:#2a2a2a;border-bottom:1px solid #333;display:flex;flex-shrink:0;gap:10px;min-height:36px;padding:8px 14px}.up-button{background-color:#1f1f1f;border:1px solid #444;border-radius:3px;color:#e0e0e0;cursor:pointer;flex-shrink:0;font-size:14px;font-weight:700;padding:4px 10px;transition:background-color .15s,border-color .15s}.up-button:hover:not(:disabled){background-color:#333;border-color:#555}.up-button:disabled{cursor:not-allowed;opacity:.4}.current-path{color:#bbb;flex:1 1;font-family:Courier New,monospace;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-list{flex:1 1;overflow-x:hidden;overflow-y:auto;padding:6px 0}.file-item{align-items:center;background:#0000;border:0;border-left:3px solid #0000;color:inherit;cursor:pointer;display:flex;font-family:inherit;font-size:13px;gap:10px;padding:8px 14px;text-align:left;-webkit-user-select:none;user-select:none;width:100%}.file-item:hover{background-color:#2a2a2a;border-left-color:#64e986}.file-item.dir .item-name{color:#64a8ff;font-weight:600}.file-item.file .item-name{color:#e0e0e0}.item-icon{flex-shrink:0;font-size:16px}.item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-directory{color:#777;font-size:13px;font-style:italic;padding:20px 14px;text-align:center}.file-viewer{background-color:#f5f5f5;color:#333;display:flex;flex-direction:column;height:100%;width:100%}.file-info{background-color:#f0f0f0;border-bottom:1px solid #ddd;padding:10px 15px}.file-path{color:#555;font-size:.85rem}.file-content,.file-path{font-family:Courier New,monospace}.file-content{word-wrap:break-word;background-color:#f5f5f5;color:#333;flex:1 1;font-size:.9rem;line-height:1.5;margin:0;overflow:auto;padding:15px;white-space:pre-wrap}.projects-container{background:linear-gradient(135deg,#1e1e1e,#2d2d2d);height:100%;overflow-y:auto;padding:30px 20px;width:100%}.projects-title{color:#64e986;font-size:1.8rem;font-weight:700;margin:0 0 6px;text-align:center;text-shadow:0 0 20px #64e9864d}.projects-subtitle{color:#999;font-size:.9rem;margin:0 0 28px;text-align:center}.projects-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin:0 auto;max-width:1200px}.project-card{background:linear-gradient(135deg,#2a2a2a,#1f1f1f);border:1px solid #444;border-radius:8px;display:flex;flex-direction:column;padding:18px;position:relative;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.project-card:hover{border-color:#64e986;box-shadow:0 12px 28px #0006;transform:translateY(-4px)}.project-card.status-in-progress{border-left:3px solid #f4bf4f}.project-card.status-done{border-left:3px solid #64e986}.project-card.status-discontinued{border-left:3px solid #777;opacity:.85}.project-card-header{align-items:baseline;display:flex;gap:8px;justify-content:space-between;margin-bottom:8px}.project-name{color:#fff;font-size:1.15rem;font-weight:700;margin:0;word-break:break-word}.project-status{border:1px solid;border-radius:10px;font-size:10px;letter-spacing:.05em;padding:2px 8px;text-transform:uppercase;white-space:nowrap}.project-status.status-done{border-color:#64e986;color:#64e986}.project-status.status-in-progress{border-color:#f4bf4f;color:#f4bf4f}.project-status.status-discontinued{border-color:#777;color:#999}.project-highlight{color:#cfcfcf;font-size:.9rem;font-style:italic;margin:0 0 10px}.project-description{color:#999;flex-grow:1;font-size:.85rem;line-height:1.5;margin:0 0 12px}.project-stack{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.stack-tag{background:#64a8ff1f;border:1px solid #64a8ff4d;border-radius:4px;color:#8ec1ff;font-size:11px;padding:3px 8px}.project-footer{align-items:center;border-top:1px solid #ffffff0f;display:flex;justify-content:space-between;margin-top:auto;padding-top:10px}.project-stars{color:#f4bf4f;font-size:.85rem;font-weight:600}.project-link{border:1px solid #64e986;border-radius:4px;color:#64e986;font-size:.8rem;font-weight:600;padding:6px 12px;text-decoration:none;transition:all .2s ease}.project-link:hover{background:#64e986;color:#1e1e1e}.project-link.disabled{border-color:#555;color:#777;cursor:not-allowed}@media (max-width:768px){.projects-grid{grid-template-columns:1fr}}.desktop{background:linear-gradient(135deg,#1a1a2e,#16213e);display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh;overflow:hidden;-webkit-user-select:none;user-select:none;width:100%}.desktop-header{background-color:#0f3460;border-bottom:1px solid #16213e;box-shadow:0 2px 8px #0000004d;padding:10px 14px;z-index:1000}.desktop-menu{display:flex;flex-wrap:wrap;gap:8px}.menu-btn{background-color:#16213e;border:1px solid #1a3a52;border-radius:4px;color:#e0e0e0;cursor:pointer;font-size:13px;font-weight:500;padding:7px 14px;transition:all .15s ease}.menu-btn:hover{background-color:#1a4d6d;border-color:#2a5a7f}.menu-btn:active{background-color:#0f3460;transform:scale(.98)}.menu-btn-accent{border-color:#64e986;color:#64e986}.menu-btn-accent:hover{background-color:#64e98626}.desktop-area{background:linear-gradient(135deg,#1a1a2e,#16213e);flex:1 1;overflow:hidden;position:relative}.desktop-icons{grid-gap:6px;align-content:start;display:grid;gap:6px;grid-template-columns:repeat(auto-fill,92px);left:16px;max-height:calc(100% - 32px);position:absolute;top:16px;z-index:1}.desktop-icon{align-items:center;background:#0000;border:1px solid #0000;border-radius:6px;color:#e0e0e0;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;justify-content:flex-start;padding:8px 4px;text-align:center;transition:background .15s,border-color .15s;width:92px}.desktop-icon:focus,.desktop-icon:hover{background:#ffffff14;border-color:#ffffff26;outline:none}.desktop-icon-emoji{filter:drop-shadow(0 1px 2px rgba(0,0,0,.4));font-size:38px;line-height:1;margin-bottom:6px}.desktop-icon-label{color:#f0f0f0;font-size:12px;text-shadow:0 1px 2px #0009;word-break:break-word}.taskbar{background-color:#0f3460;border-top:1px solid #16213e;box-shadow:0 -2px 8px #0000004d;display:flex;gap:6px;overflow-x:auto;padding:8px 12px;z-index:999}.taskbar::-webkit-scrollbar{height:6px}.taskbar::-webkit-scrollbar-track{background:#0f3460}.taskbar::-webkit-scrollbar-thumb{background:#16213e;border-radius:3px}.taskbar::-webkit-scrollbar-thumb:hover{background:#1a4d6d}.taskbar-item{background-color:#16213e;border:1px solid #1a3a52;border-radius:4px;color:#e0e0e0;cursor:pointer;flex-shrink:0;font-size:12px;padding:6px 12px;transition:all .15s ease;white-space:nowrap}.taskbar-item:hover{background-color:#1a4d6d;border-color:#2a5a7f}.taskbar-item.minimized{opacity:.6}@media (max-width:768px){.desktop-icons{grid-template-columns:repeat(auto-fill,80px);left:8px;top:8px}.desktop-icon{width:80px}.desktop-icon-emoji{font-size:30px}.desktop-icon-label{font-size:11px}}
/*# sourceMappingURL=main.0d2fca2d.css.map*/