*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;height:100vh;overflow:hidden;background:var(--primary-bg)!important;color:var(--primary-text)!important;font-family:Px437 IBM BIOS,Consolas,Monaco,JetBrains Mono,Courier New,monospace;scroll-behavior:smooth;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}@font-face{font-family:Px437 IBM BIOS;src:url(/fonts/Px437_IBM_BIOS.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--ascii-scale:1;--primary-bg:#000;--secondary-bg:#111;--tertiary-bg:#333;--primary-text:#fff;--secondary-text:#888;--accent-text:#ccc;--border-color:#666;--system-accent:#0f0;--error-color:#f44;--ascii-color:#888;--menu-hover:#ccc;--button-bg:#333;--button-hover-bg:#fff;--button-hover-text:#000;--modal-bg:#000;--modal-border:#666;--tech-tag-bg:#333;--tech-tag-border:#666;--image-bg:#111;--image-border:#666;--placeholder-text:#666;--social-text:#888;--social-hover:#fff}html.color-scheme-monochrome{--primary-bg:#000;--secondary-bg:#111;--tertiary-bg:#333;--primary-text:#fff;--secondary-text:#888;--accent-text:#ccc;--border-color:#666;--system-accent:#0f0;--error-color:#f44;--ascii-color:#888;--menu-hover:#ccc;--button-bg:#333;--button-hover-bg:#fff;--button-hover-text:#000;--modal-bg:#000;--modal-border:#888;--tech-tag-bg:#333;--tech-tag-border:#888;--image-bg:#111;--image-border:#888;--placeholder-text:#666;--social-text:#888;--social-hover:#fff;--selected-bg:#666;--selected-text:#000}html.color-scheme-bios-blue{--primary-bg:navy;--secondary-bg:#006;--tertiary-bg:#00a;--primary-text:#fff;--secondary-text:#888;--accent-text:#888;--border-color:#888;--system-accent:#888;--error-color:#f44;--ascii-color:#888;--menu-hover:#888;--button-bg:#00a;--button-hover-bg:#888;--button-hover-text:navy;--modal-bg:navy;--modal-border:#888;--tech-tag-bg:#00a;--tech-tag-border:#888;--image-bg:#006;--image-border:#888;--placeholder-text:#00a;--social-text:#888;--social-hover:#888;--selected-bg:#666;--selected-text:navy}html.color-scheme-matrix-green{--primary-bg:#000;--secondary-bg:#010;--tertiary-bg:#030;--primary-text:#0f0;--secondary-text:#0a0;--accent-text:#afa;--border-color:#0a0;--system-accent:#0f0;--error-color:#f44;--ascii-color:#0f0;--menu-hover:#afa;--button-bg:#030;--button-hover-bg:#0f0;--button-hover-text:#000;--modal-bg:#000;--modal-border:#0a0;--tech-tag-bg:#030;--tech-tag-border:#0a0;--image-bg:#010;--image-border:#0a0;--placeholder-text:#0a0;--social-text:#0f0;--social-hover:#afa;--selected-bg:#333;--selected-text:#0f0}html.color-scheme-inverted{--primary-bg:#fff;--secondary-bg:#f5f5f5;--tertiary-bg:#e0e0e0;--primary-text:#000;--secondary-text:#444;--accent-text:#222;--border-color:#ccc;--system-accent:#000;--error-color:#c00;--ascii-color:#444;--menu-hover:#000;--button-bg:#e0e0e0;--button-hover-bg:#000;--button-hover-text:#fff;--modal-bg:#fff;--modal-border:#444;--tech-tag-bg:#e0e0e0;--tech-tag-border:#444;--image-bg:#f5f5f5;--image-border:#444;--placeholder-text:#999;--social-text:#444;--social-hover:#000;--selected-bg:#000;--selected-text:#fff}@media (max-width:1920px) and (max-height:1080px){:root{--ascii-scale:0.468}}@media (min-width:1921px) and (min-height:1081px) and (max-width:2560px) and (max-height:1440px){:root{--ascii-scale:0.506}}@media (min-width:2561px) or (min-height:1441px){:root{--ascii-scale:0.632}}.main-container{position:relative;width:100vw;height:100vh;overflow:hidden}@media (max-width:768px){.main-container{width:100vw;height:100vh;overflow:hidden;max-width:100vw}body,html{overflow-x:hidden;max-width:100vw}}.hero-section{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1;overflow:hidden}.video-container{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--primary-bg);overflow:hidden}.main-video{width:100%;height:100%;object-fit:cover}@media (max-width:768px){.main-video{width:100vw;height:100vh;object-fit:cover;object-position:center;max-width:100vw;max-height:100vh;position:absolute;top:0;left:0}.video-container{overflow:hidden;position:relative;width:100vw;height:100vh}.hero-section{overflow:hidden}}@media (max-width:480px){.main-video{width:100vw;height:100vh;object-fit:cover;object-position:center;max-width:100vw;max-height:100vh}}.system-info{position:absolute;top:20px;left:20px;background:var(--primary-bg);padding:15px;border:1px solid var(--tertiary-bg);font-family:Courier New,monospace;color:var(--system-accent);z-index:10;min-width:280px;font-size:13px;line-height:1.2}.system-header{color:var(--system-accent);font-weight:700;margin-bottom:5px}.divider{height:1px;background:var(--tertiary-bg);margin:8px 0}.info-line{display:flex;justify-content:space-between;margin:3px 0;white-space:nowrap}.info-line span:first-child{color:var(--secondary-text)}.info-line span:last-child{color:var(--system-accent);font-weight:700}.info-line.error span{color:var(--error-color)}.simple-controls{position:absolute;top:20px;right:20px;display:flex;flex-direction:column;gap:15px;z-index:10}.ascii-toggle-button{background:var(--button-bg);color:var(--primary-text);border:2px solid var(--primary-text);padding:12px 24px;border-radius:5px;cursor:pointer;font-family:Courier New,monospace;font-weight:700;font-size:14px;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.ascii-toggle-button:hover:not(:disabled){background:var(--button-hover-bg);color:var(--button-hover-text);transform:scale(1.05)}.ascii-toggle-button:disabled{background:var(--border-color);cursor:not-allowed;opacity:.5}.ascii-display{position:fixed;top:-60px;left:0;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:var(--primary-bg);z-index:5;overflow:hidden;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.ascii-text{font-size:calc(.55vw + .35vh);line-height:1;color:var(--ascii-color)!important;white-space:pre;text-align:left;margin:0;padding:0;text-shadow:0 0 10px hsla(0,0%,53%,.3);width:-moz-fit-content;width:fit-content;letter-spacing:.5px;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;transform:scale(var(--ascii-scale,1));transform-origin:center}.ascii-text,.error-message,.loading-message{font-family:Px437 IBM BIOS,Consolas,Monaco,JetBrains Mono,Courier New,monospace}.error-message,.loading-message{text-align:center;color:var(--primary-text);font-size:18px;line-height:1.5}.error-message{color:var(--error-color)}.three-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;opacity:.1}.video-controls{position:fixed;top:20px;right:20px;z-index:1000;display:flex;flex-direction:column;gap:15px}.settings-button{background:#333;color:#fff;border:2px solid #fff;padding:12px 24px;border-radius:5px;cursor:pointer;font-family:Courier New,monospace;font-weight:700;font-size:14px;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.settings-button:hover{background:#fff;color:#000;transform:scale(1.05)}.play-button{background:#fff;color:#000;border:none;padding:12px 24px;border-radius:5px;cursor:pointer;font-family:Courier New,monospace;font-weight:700;font-size:14px;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.play-button:hover:not(:disabled){background:#ccc;transform:scale(1.05)}.play-button:disabled{background:#666;cursor:not-allowed;opacity:.5}.file-upload-button{background:#333;color:#fff;padding:12px 24px;border-radius:5px;border:2px solid #fff;cursor:pointer;font-family:Courier New,monospace;font-weight:700;font-size:14px;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;text-align:center;display:block}.file-upload-button:hover{background:#fff;color:#000;transform:scale(1.05)}.file-input{display:none}.loading{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-family:Courier New,monospace;font-size:24px;color:var(--primary-text);z-index:1000;text-align:center}@media (max-width:1024px){.ascii-text{font-size:calc(.4vw + .3vh)}.system-info{min-width:240px;padding:12px;font-size:12px}.bios-menu{font-size:14px}.social-buttons{gap:clamp(15px,2.5vw,30px)}.social-button{font-size:clamp(10px,1vw,16px);padding:clamp(6px,.8vh,12px) clamp(10px,1.5vw,20px)}}@media (max-width:768px){.ascii-text{font-size:calc(.35vw + .25vh);letter-spacing:.3px}.system-info{top:15px;left:15px;min-width:200px;padding:10px;font-size:11px}.system-header{font-size:12px;margin-bottom:4px}.info-line{margin:2px 0}.bios-menu{top:15px;left:15px;font-size:13px}.bios-menu-item{padding:10px 0;font-size:13px}.social-buttons{bottom:4vh;gap:clamp(12px,2vw,25px)}.social-button{font-size:clamp(9px,.9vw,14px);padding:clamp(5px,.7vh,10px) clamp(8px,1.2vw,16px)}.heart-button-container{bottom:4vh;left:15px;padding-left:15px}.heart-button{font-size:clamp(9px,.9vw,14px);padding:clamp(5px,.7vh,10px) clamp(8px,1.2vw,16px);min-width:70px}.system-monitor{top:15px;right:15px;min-width:160px;padding:10px;font-size:10px}.monitor-header{font-size:9px}.monitor-line .label,.monitor-line .value{font-size:10px}}@media (max-width:480px){.ascii-text{font-size:calc(.3vw + .2vh);letter-spacing:.2px}.system-info{top:10px;left:10px;min-width:160px;padding:8px;font-size:10px}.system-header{font-size:11px;margin-bottom:3px}.info-line{margin:1px 0}.bios-menu{top:10px;left:10px;font-size:12px}.bios-menu-item{padding:8px 0;font-size:12px}.social-buttons{bottom:3vh;gap:clamp(8px,1.5vw,20px);flex-wrap:wrap;justify-content:center}.social-button{font-size:clamp(8px,.8vw,12px);padding:clamp(4px,.6vh,8px) clamp(6px,1vw,12px)}.heart-button-container{bottom:3vh;left:10px;padding-left:10px}.heart-button{font-size:clamp(8px,.8vw,12px);padding:clamp(4px,.6vh,8px) clamp(6px,1vw,12px);min-width:60px}.system-monitor{top:10px;right:10px;min-width:140px;padding:8px;font-size:9px}.monitor-header{font-size:8px}.monitor-line .label,.monitor-line .value{font-size:9px}}@media (max-width:360px){.ascii-text{font-size:calc(.25vw + .15vh);letter-spacing:.1px}.system-info{min-width:140px;padding:6px;font-size:9px}.bios-menu{font-size:11px}.bios-menu-item{padding:6px 0;font-size:11px}.social-buttons{gap:clamp(6px,1vw,15px)}.heart-button,.social-button{font-size:clamp(7px,.7vw,10px);padding:clamp(3px,.5vh,6px) clamp(4px,.8vw,10px)}.heart-button{min-width:50px}.system-monitor{min-width:120px;padding:6px;font-size:8px}.monitor-header{font-size:7px}.monitor-line .label,.monitor-line .value{font-size:8px}}@media (max-width:768px) and (orientation:landscape){.ascii-text{font-size:calc(.3vw + .2vh)}.system-info{top:5px;left:5px;min-width:140px;padding:6px;font-size:9px}.bios-menu{top:5px;left:5px;font-size:11px}.bios-menu-item{padding:4px 0;font-size:11px}.social-buttons{bottom:2vh;gap:clamp(8px,1.5vw,20px)}.heart-button-container{bottom:2vh;left:5px;padding-left:5px}.system-monitor{top:5px;right:5px;min-width:120px;padding:6px;font-size:8px}}@media (max-width:768px) and (orientation:portrait){.ascii-text{font-size:calc(.35vw + .25vh)}.social-buttons{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:clamp(12px,2vw,25px)}.heart-button-container{position:fixed;bottom:4vh;left:50%;transform:translateX(-50%);padding-left:0}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--primary-bg)}::-webkit-scrollbar-thumb{background:var(--tertiary-bg);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-color)}.controls-panel{position:fixed;top:20px;left:20px;z-index:1000;background:rgba(0,0,0,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid hsla(0,0%,100%,.2);border-radius:10px;padding:20px;max-width:300px;max-height:80vh;overflow-y:auto;font-family:Courier New,monospace;color:var(--primary-text)}.controls-panel h3{margin:0 0 20px;font-size:18px;text-align:center;text-transform:uppercase;letter-spacing:2px;border-bottom:1px solid hsla(0,0%,100%,.3);padding-bottom:10px}.control-group{margin-bottom:20px}.control-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:1px}.control-group small{display:block;margin-top:5px;font-size:11px;opacity:.7;font-style:italic}.slider{width:100%;height:6px;border-radius:3px;background:hsla(0,0%,100%,.2);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;cursor:pointer;border:2px solid #000;box-shadow:0 2px 6px rgba(0,0,0,.3)}.slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fff;cursor:pointer;border:2px solid #000;box-shadow:0 2px 6px rgba(0,0,0,.3)}.char-select{width:100%;padding:8px 12px;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.3);border-radius:5px;color:var(--primary-text);font-family:Courier New,monospace;font-size:12px;outline:none}.char-select:focus{border-color:#fff;background:hsla(0,0%,100%,.2)}.manual-input{width:100%;padding:8px 12px;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.3);border-radius:5px;color:var(--primary-text);font-family:Courier New,monospace;font-size:12px;outline:none;margin-bottom:8px}.manual-input:focus{border-color:#fff;background:hsla(0,0%,100%,.2)}.manual-number-input{width:60px;padding:4px 8px;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.3);border-radius:3px;color:var(--primary-text);font-family:Courier New,monospace;font-size:11px;outline:none;margin-right:8px}.manual-number-input:focus{border-color:#fff;background:hsla(0,0%,100%,.2)}.apply-manual-btn{background:rgba(0,255,0,.1);color:#0f0;border:1px solid #0f0;padding:4px 8px;border-radius:3px;cursor:pointer;font-family:Courier New,monospace;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;transition:all .3s ease;margin-left:4px}.apply-manual-btn:hover{background:rgba(0,255,0,.2);color:var(--primary-text)}.checkbox-label{display:flex;align-items:center;cursor:pointer;font-size:14px}.checkbox{margin-right:10px;width:16px;height:16px;accent-color:#fff}.preset-buttons{display:flex;flex-direction:column;gap:10px;margin-top:20px;padding-top:20px;border-top:1px solid hsla(0,0%,100%,.3)}.preset-btn{background:hsla(0,0%,100%,.1);color:var(--primary-text);border:1px solid hsla(0,0%,100%,.3);padding:10px 15px;border-radius:5px;cursor:pointer;font-family:Courier New,monospace;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;transition:all .3s ease}.preset-btn:hover{background:hsla(0,0%,100%,.2);border-color:#fff;transform:translateY(-2px)}.static-preset{background:rgba(0,255,0,.1)!important;border-color:#0f0!important;color:#0f0!important}.static-preset:hover{background:rgba(0,255,0,.2)!important;border-color:#0f0!important;color:var(--primary-text)!important}.static-match{background:rgba(255,165,0,.1)!important;border-color:orange!important;color:orange!important}.static-match:hover{background:rgba(255,165,0,.2)!important;border-color:orange!important;color:var(--primary-text)!important}.system-monitor{position:fixed;top:20px;right:20px;background:var(--primary-bg);border:1px solid var(--border-color);padding:12px;font-family:Px437 IBM BIOS,Consolas,Monaco,JetBrains Mono,Courier New,monospace;font-size:11px;color:var(--accent-text);z-index:20;min-width:180px}.monitor-header{color:var(--primary-text);font-weight:700;text-align:center;margin-bottom:8px;border-bottom:1px solid var(--border-color);padding-bottom:4px;text-transform:uppercase;letter-spacing:.5px;font-size:10px}.monitor-line{display:flex;justify-content:space-between;margin-bottom:2px;line-height:1.1}.monitor-line .label{color:var(--secondary-text);font-weight:400;min-width:50px;font-size:11px}.monitor-line .value{color:var(--accent-text);text-align:right;flex:1 1;font-size:11px}.bios-menu{position:fixed;top:20px;left:20px;background:transparent;padding:0;font-family:Px437 IBM BIOS,Consolas,Monaco,JetBrains Mono,Courier New,monospace;font-size:16px;color:#888;z-index:20;min-width:200px}.bios-menu-item{display:block;color:var(--secondary-text);text-decoration:none;padding:12px 0;margin:8px 0;transition:all .3s ease;cursor:pointer;position:relative;text-transform:uppercase;letter-spacing:1px;font-weight:900;font-size:16px;-webkit-tap-highlight-color:transparent;touch-action:manipulation;min-height:44px;display:flex;align-items:center}.bios-menu-item:hover{color:var(--menu-hover);transform:translateX(5px)}.bios-menu-item:before{content:"> ";opacity:0;transition:opacity .3s ease}.bios-menu-item:hover:before{opacity:1}.bios-menu-item.active{color:var(--menu-hover)}.bios-menu-item.active:before{content:"> ";opacity:1}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-window{background:var(--modal-bg);border:4px solid var(--modal-border);border-radius:0;max-width:80vw;max-height:80vh;width:600px;height:500px;display:flex;flex-direction:column;box-shadow:0 0 20px rgba(0,0,0,.9);font-family:Px437 IBM BIOS,Consolas,Monaco,JetBrains Mono,Courier New,monospace;opacity:1}.modal-window:has(.work-modal-content){width:1800px;height:1200px;max-width:98vw;max-height:98vh}@media (max-width:768px){.modal-window{max-width:95vw;max-height:90vh;width:95vw;height:90vh;border:2px solid var(--modal-border)}.modal-window:has(.work-modal-content){width:95vw;height:90vh;max-width:95vw;max-height:90vh}.modal-header{padding:8px 12px}.modal-title{font-size:12px}.modal-close{font-size:16px;padding:0 4px}}@media (max-width:480px){.modal-window{max-width:98vw;max-height:95vh;width:98vw;height:95vh;border:1px solid var(--modal-border)}.modal-window:has(.work-modal-content){width:98vw;height:95vh;max-width:98vw;max-height:95vh}.modal-header{padding:6px 10px}.modal-title{font-size:11px}.modal-close{font-size:14px;padding:0 2px}}.modal-header{background:var(--secondary-bg);border-bottom:4px solid var(--modal-border);padding:12px 16px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.modal-title{font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:1px}.modal-title,html.color-scheme-bios-blue .modal-title,html.color-scheme-inverted .modal-title,html.color-scheme-matrix-green .modal-title,html.color-scheme-monochrome .modal-title{color:var(--primary-text)!important}.modal-close{color:var(--secondary-text);font-size:20px;font-weight:700;cursor:pointer;padding:0 8px;transition:color .3s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.modal-close:hover{color:var(--primary-text)}.modal-content{flex:1 1;padding:0;overflow:hidden;background:var(--modal-bg);height:100%}.modal-text{color:var(--accent-text);font-family:Px437 IBM BIOS,Consolas,Monaco,JetBrains Mono,Courier New,monospace;font-size:12px;line-height:1.4;margin:0;white-space:pre-wrap;word-wrap:break-word}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#111}.modal-content::-webkit-scrollbar-thumb{background:#666;border-radius:0}.modal-content::-webkit-scrollbar-thumb:hover{background:#888}.work-modal-content{display:flex;height:100%;gap:0}.project-menu{width:300px;background:var(--modal-bg);border-right:4px solid var(--modal-border);padding:20px;overflow-y:auto;flex-shrink:0;height:100%;box-sizing:border-box}@media (max-width:768px){.work-modal-content{flex-direction:column;height:100%}.project-menu{width:100%;height:auto;max-height:40vh;border-right:none;border-bottom:2px solid var(--modal-border);padding:15px;overflow-y:auto}.project-menu-item{padding:8px 0;font-size:12px;text-align:center}.project-content{flex:1 1;padding:12px;overflow-y:auto}.project-title{font-size:14px}.project-year{font-size:11px}.tech-label{font-size:10px}.tech-tag{font-size:9px;padding:3px 6px}.images-grid{grid-template-columns:1fr;gap:12px}.image-container{min-height:120px}}@media (max-width:480px){.project-menu{max-height:35vh;padding:10px}.project-menu-item{padding:6px 0;font-size:11px}.project-content{padding:8px}.project-title{font-size:13px}.project-year{font-size:10px}.tech-label{font-size:9px}.tech-tag{font-size:8px;padding:2px 4px}.images-grid{gap:8px}.image-container{min-height:100px}.image-text{font-size:9px}.image-path{font-size:8px}}.project-menu-item{padding:10px 0;color:var(--secondary-text);cursor:pointer;font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:2px;transition:all .3s ease;font-family:Px437 IBM BIOS,Consolas,Monaco,JetBrains Mono,Courier New,monospace;text-shadow:1px 1px 0 rgba(0,0,0,.8);-webkit-font-smoothing:none;-moz-osx-font-smoothing:auto;font-smooth:never}.project-menu-item:hover{color:var(--menu-hover)}.project-menu-item.active{background:var(--selected-bg);color:var(--selected-text);padding:10px 12px;margin:0 -12px;border-radius:0;font-weight:900;font-family:Px437 IBM BIOS,Consolas,Monaco,JetBrains Mono,Courier New,monospace;text-shadow:none;-webkit-font-smoothing:none;-moz-osx-font-smoothing:auto;font-smooth:never}html.color-scheme-matrix-green .project-menu-item.active{background:#0f0!important;color:#000!important}html.color-scheme-monochrome .project-menu-item.active{background:#666!important;color:#000!important}html.color-scheme-bios-blue .project-menu-item.active{background:#888!important;color:navy!important}html.color-scheme-inverted .project-menu-item.active{background:#000!important;color:#fff!important}.project-content{flex:1 1;padding:16px;overflow-y:auto;background:var(--modal-bg);height:100%}.project-details{color:var(--accent-text);font-family:Px437 IBM BIOS,Consolas,Monaco,JetBrains Mono,Courier New,monospace;font-size:12px;line-height:1.4}.project-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.project-title{font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin:0}.project-title,html.color-scheme-bios-blue .project-title,html.color-scheme-inverted .project-title,html.color-scheme-matrix-green .project-title,html.color-scheme-monochrome .project-title{color:var(--primary-text)!important}.project-year{color:var(--secondary-text);font-size:12px;font-weight:700}.project-technologies{margin-bottom:20px}.tech-label{color:var(--primary-text)!important;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.tech-list{display:flex;flex-wrap:wrap;gap:8px}.tech-tag{background:var(--tech-tag-bg);color:var(--accent-text);padding:4px 8px;border:1px solid var(--tech-tag-border);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.project-images{margin-top:20px}.images-label{color:var(--primary-text)!important;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}.images-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:16px;gap:16px}.image-container{position:relative;background:var(--image-bg);border:1px solid var(--image-border);min-height:150px;overflow:hidden;opacity:1}.project-image{display:block}.project-image,.project-image video{width:100%;height:100%;object-fit:cover;opacity:1}.image-placeholder{background:var(--image-bg);border:1px solid var(--image-border);padding:20px;text-align:center;min-height:150px;display:flex;flex-direction:column;justify-content:center;align-items:center;position:absolute;top:0;left:0;right:0;bottom:0}.image-text{color:var(--secondary-text);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}.image-path{color:var(--placeholder-text);font-size:9px;font-family:Courier New,monospace}.project-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:var(--placeholder-text)}.placeholder-text{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:1px;text-align:center}.project-menu::-webkit-scrollbar{width:6px}.project-menu::-webkit-scrollbar-track{background:#111}.project-menu::-webkit-scrollbar-thumb{background:#666;border-radius:0}.project-menu::-webkit-scrollbar-thumb:hover{background:#888}.social-buttons{position:fixed;bottom:5vh;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:clamp(20px,3vw,40px);z-index:10;white-space:nowrap}.social-button{background:transparent!important;color:var(--social-text)!important;border:none!important;padding:clamp(8px,1vh,16px) clamp(12px,2vw,24px);font-family:Px437 IBM BIOS,Consolas,Monaco,JetBrains Mono,Courier New,monospace;font-size:clamp(12px,1.2vw,18px);font-weight:400!important;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:all .2s ease;text-align:center;text-decoration:none!important;display:inline-block;vertical-align:middle;outline:none!important;box-shadow:none!important;-webkit-tap-highlight-color:transparent;touch-action:manipulation;min-height:44px;display:flex;align-items:center;justify-content:center}.social-button:hover{color:var(--social-hover)!important;transform:scale(1.02)}.social-button:active,.social-button:link,.social-button:visited{color:var(--social-text)!important}.social-button:active{transform:scale(.98)}.social-button:focus{color:var(--social-text)!important;outline:none!important}a.social-button,a.social-button:active,a.social-button:focus,a.social-button:link,a.social-button:visited{color:var(--social-text)!important;text-decoration:none!important;background:transparent!important;border:none!important;outline:none!important}a.social-button:hover{color:var(--social-hover)!important}a.social-button:visited{color:var(--social-text)!important;text-decoration:none!important}.heart-button-container{position:fixed;bottom:5vh;left:20px;z-index:10;display:flex;align-items:center;padding-left:20px}.heart-button{background:transparent;color:var(--social-text);border:none;padding:clamp(8px,1vh,16px) clamp(12px,2vw,24px);border-radius:0;cursor:pointer;font-family:Px437 IBM BIOS,Consolas,Monaco,JetBrains Mono,Courier New,monospace;font-weight:400;font-size:clamp(12px,1.2vw,18px);transition:all .2s ease;text-transform:uppercase;letter-spacing:1px;text-align:center;text-decoration:none;display:flex;align-items:center;gap:8px;min-width:80px;justify-content:center;outline:none;box-shadow:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;min-height:44px}.heart-button:hover:not(:disabled){color:var(--social-hover);transform:scale(1.02)}.heart-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.heart-button.liked{background:transparent;color:var(--social-hover);padding:clamp(8px,1vh,16px) clamp(12px,2vw,24px);margin:0;border-radius:0;font-weight:400;font-family:Px437 IBM BIOS,Consolas,Monaco,JetBrains Mono,Courier New,monospace;text-shadow:none;-webkit-font-smoothing:none;-moz-osx-font-smoothing:auto;font-smooth:never}.heart-button.liked .heart-icon{color:#f44}.heart-button.loading{opacity:.7;cursor:wait}.heart-icon{font-size:16px;transition:transform .2s ease}.heart-button:hover:not(:disabled) .heart-icon{transform:scale(1.2)}.heart-button.liked .heart-icon{animation:heartbeat .6s ease-in-out}@keyframes heartbeat{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.like-count{font-weight:700;min-width:20px;text-align:center}@media (max-width:768px){.bios-menu-item:hover,.heart-button:hover:not(:disabled),.social-button:hover{transform:none}.ascii-text{will-change:auto;transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.modal-overlay{-webkit-backdrop-filter:none;backdrop-filter:none}.main-video,.project-image{will-change:auto}.bios-menu-item,.heart-button,.modal-close,.project-menu-item,.social-button{-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.ascii-display,.modal-window,.project-content{touch-action:manipulation}}