/* W95FA: recreación abierta de la tipografía de sistema de Windows 95. */
@font-face{font-family:W95FA;src:url('../assets/w95fa.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{--font-ui:W95FA,Tahoma,"MS Sans Serif",Arial,sans-serif;--font-body:var(--font-ui);--font-display:var(--font-ui);--ink:#171717;--paper:#e5e5e2;--accent:#000080;--chrome:#c0c0c0;--control-border:#808080;--control-shadow:inset 1px 1px #fff,inset -1px -1px #808080;--crt-strength:.55;--desktop-bg:#b4b8b6;--desktop-ink:#101010}
:root[data-wallpaper=blue]{--desktop-bg:#244674;--desktop-ink:#fff}:root[data-wallpaper=forest]{--desktop-bg:#006b60;--desktop-ink:#fff}
body{font-size:16px}button,input,textarea,select,summary,output{font-family:var(--font-ui)}
button,summary,.window-title,.desktop-icon span,.grid-icon,.system-status,.system-launcher strong,.file-info strong,.app-launcher>button,.contact-content label{font-weight:400}
.screen{border:1px solid #303030;box-shadow:inset 1px 1px #f8f8f8;border-radius:7px;background:var(--desktop-bg)}
.texture:before,.texture:after{display:none}.desktop{background-image:none}
.system-bar{background:#c0c0c0;border-bottom:1px solid #808080;box-shadow:inset 0 1px #fff;padding-left:9px;padding-right:12px;gap:10px}.system-status{margin-left:auto;color:#111}
.system-launcher{box-shadow:var(--control-shadow);border:1px solid #808080;background:#c0c0c0;border-radius:0;padding:4px 7px;min-height:30px;font-size:14px}.system-launcher img{width:22px;height:22px;filter:none}.system-launcher:hover,.arrange-menu summary:hover{background:#d5d5d5}.system-launcher strong{font-size:14px}
.arrange-menu summary{border-radius:0;font-size:14px;padding:7px 10px}.arrange-menu[open] summary{background:#000080;color:white}.active-app{font-size:14px;color:#414141}
.desktop-icon img,:root:not([data-wallpaper=paper]) .desktop-icon img{filter:none;mix-blend-mode:normal;width:48px;height:48px;image-rendering:auto}
.desktop-icon span{font-size:14px;line-height:1.25;padding:3px 5px;border-radius:0;text-shadow:none}.desktop-icon:hover span,.desktop-icon:focus-visible span{background:#000080;color:#fff;outline:1px dotted #fff;outline-offset:-2px}
:root:not([data-wallpaper=paper]) .desktop-icon span{text-shadow:1px 1px #0008}
.window,.window.is-front{border:1px solid #303030;border-radius:0;padding:3px;background:#c0c0c0;box-shadow:inset 1px 1px #fff,inset -1px -1px #808080,3px 4px #0005}
.window-bar{height:32px;min-height:32px;padding:3px 4px 3px 7px;gap:7px;border:0;background:#808080;color:#e6e6e6}
.window.is-front .window-bar{background:#000080;color:#fff;border:0}.window-bar>img,.window.is-front .window-bar>img{filter:none;width:18px;height:18px}.window-title{font-size:16px;line-height:1}
.window-controls{gap:3px}.window-controls button{border:1px solid #303030;box-shadow:var(--control-shadow);background:#c0c0c0;border-radius:0;min-width:23px;width:23px;height:23px;min-height:23px;font:18px/1 var(--font-ui);color:#000}
.window-controls .close-window{font-size:23px;padding:0}.window-controls button:hover,.window-controls .close-window:hover{background:#dedede;color:#000;border-color:#303030}.window-controls button:active{box-shadow:inset 1px 1px #555}
.window-scroll,.project-description-pane{background:#ededeb}.window-status{margin-top:3px;border:1px solid #808080;box-shadow:inset 1px 1px #fff;background:#c0c0c0;color:#333;font-size:13px;min-height:28px;padding:5px 9px}
.window-status button{font-size:13px;font-weight:400}.resize-se{background:repeating-linear-gradient(135deg,transparent 0 2px,#fff 2px 3px,#808080 3px 4px)}
.explorer-toolbar,.explorer-path,.document-toolbar,.paint-toolbar{background:#c0c0c0;border-color:#919191;font-size:14px}.explorer-toolbar{padding:10px 12px}.explorer-path{padding:7px 12px;color:#3c3c3c}.project-files{background:#f7f7f5;margin-top:3px;border:1px inset #fff;padding:17px;gap:15px}
.project-file{border:1px solid #989898;border-radius:0;background:#f9f9f7}.project-file:hover{border-color:#000080;box-shadow:1px 1px #000080;transform:none}.file-cover{border-color:#aaa}.file-info strong{font-size:18px}.file-technologies{font-size:14px;color:#555}.file-arrow{color:#000080}
.project-files[data-view=list] .project-file:hover{background:#e5e7ef}.project-files[data-view=list] .file-info strong{font-size:16px}.project-description-pane h2,.readme-content h2{font:400 30px/1.15 var(--font-ui);letter-spacing:0}.project-description-pane .project-subtitle{font:400 18px/1.35 var(--font-ui)}
.readme-content .readme-signature{font:400 22px var(--font-ui)}.file-kicker{font:400 13px var(--font-ui)!important;letter-spacing:1px!important}.readme-content>p,.project-description-pane .project-description{font-size:18px;line-height:1.45}.contact-content h2,.settings-content h2{font:400 26px/1.15 var(--font-ui);letter-spacing:0}.readme-note p,.field-note{font-size:14px;color:#494949}.tech-tags span{font-size:14px;border:1px solid #929292;border-radius:0;color:#333;background:#dadada}
.empty-state button,.readme-actions button,.settings-content button,.contact-content button,.paint-toolbar button,.button-link,.cv-viewer button,.view-switch button,.zoom-controls button,.window-task,.system-select,.palette-custom button,.cv-button{
  font:400 16px/1.2 var(--font-ui);border:1px solid #333;border-radius:0;box-shadow:var(--control-shadow);background:#c0c0c0;color:#111;min-height:32px;
}
.primary-action{background:#c0c0c0!important;color:#111!important;border:1px solid #111!important;box-shadow:var(--control-shadow),0 0 0 1px #111!important;border-radius:0!important;font:400 16px/1.2 var(--font-ui)!important}.primary-action:hover{background:#dedede!important}
.view-switch button[aria-pressed=true],.paint-toolbar button[aria-pressed=true],.window-task[aria-pressed=true]{background:#dedede;color:#000;border-color:#333;box-shadow:inset 1px 1px #666,inset -1px -1px #fff}
.taskbar{background:#c0c0c0;border:1px solid #303030;border-radius:0;box-shadow:var(--control-shadow);height:43px;padding:4px;gap:5px}.window-task{font-size:14px;min-height:30px}.window-task img,.window-task[aria-pressed=true] img,.task-home img{filter:none}.shutdown{border-radius:0;font:400 14px var(--font-ui);color:#111}
.app-launcher{background:#c0c0c0;border:1px solid #333;border-radius:0;box-shadow:var(--control-shadow),3px 4px #0005}.launcher-heading{background:#d2d2d2;border-bottom:1px solid #888;padding:12px}.launcher-heading strong{font:400 20px var(--font-ui)}.launcher-heading span{font-size:14px}.app-launcher>button{font-size:16px;border-radius:0}.app-launcher>button img,.app-launcher>button:hover img,.app-launcher>button:focus-visible img{filter:none}
input[type=search],input[type=text],input:not([type]),textarea{background:white;border:1px solid #333;border-radius:0;box-shadow:inset 1px 1px #808080;font:400 16px/1.35 var(--font-ui)}
.technology-filter,.contact-content label,.check-setting,.range-setting,.wallpaper-options legend,.paint-toolbar label,.paint-color-control{font-size:16px}.setting-section h3{font:400 18px var(--font-ui);letter-spacing:0}.range-setting output,.wallpaper-options label{font-size:14px}
.system-popover{background:#c0c0c0;border:1px solid #333;border-radius:0;box-shadow:var(--control-shadow),3px 4px #0005;font:400 16px/1.2 var(--font-ui)}.system-option{border-radius:0;font-weight:400}.system-option[aria-selected=true]{font-weight:400}.system-option:hover,.system-option.is-highlighted{background:#000080;color:#fff}.menu-popover.system-popover button{font:400 16px/1.25 var(--font-ui);border-radius:0}.menu-popover.system-popover kbd{font:400 14px var(--font-ui)}
.color-palette>strong{font:400 16px var(--font-ui)}.palette-custom label{font:400 16px var(--font-ui)}.palette-grid button{border-radius:0}.wallpaper-swatch{border-radius:0}.wallpaper-swatch.paper{background:#b4b8b6}.wallpaper-swatch.blue{background:#244674}.wallpaper-swatch.forest{background:#006b60}
input[type=checkbox],input[type=radio]{border-color:#555;box-shadow:inset 1px 1px #808080}input[type=checkbox]:checked{background:#fff;border-color:#555;box-shadow:inset 1px 1px #808080}input[type=checkbox]:checked:after{border-color:#111}input[type=radio]:checked{background:radial-gradient(circle,#111 0 4px,#fff 4.5px)}
input[type=range]::-webkit-slider-runnable-track{height:4px;background:#999;border:1px solid #666;box-shadow:0 1px white;border-radius:0}input[type=range]::-webkit-slider-thumb{background:#c0c0c0;border:1px solid #555;border-radius:0;box-shadow:var(--control-shadow);margin-top:-7px}
input[type=range]::-moz-range-track{height:3px;background:#999;border-color:#666;border-radius:0}input[type=range]::-moz-range-progress{background:#777;height:3px}input[type=range]::-moz-range-thumb{background:#c0c0c0;border:1px solid #555;border-radius:0;box-shadow:var(--control-shadow)}
.terminal-content{background:#111;color:#d8d8d8}.terminal-content input{color:#efefef;background:none;box-shadow:none;font-family:Consolas,monospace}.terminal-echo{color:#9b9b9b}.terminal-content label span{color:#c0c0c0}.terminal-content form{border-color:#555}.terminal-content button{color:#ddd;border-color:#777}
/* Cristal final. Ninguna ventana se dibuja fuera de esta superficie. */
.crt-glass{position:absolute;inset:0;z-index:2147483000;pointer-events:none!important;overflow:hidden;border-radius:10px;opacity:var(--crt-strength,.55);isolation:isolate;contain:paint}
.crt-glass>*{position:absolute;inset:0;pointer-events:none!important}.crt-glass .ambient{z-index:1;object-fit:cover;width:100%;height:100%;opacity:.10!important;mix-blend-mode:soft-light}
.crt-scanlines{z-index:2;background:repeating-linear-gradient(0deg,#0508122b 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,#ff191909 0 1px,#1fff1806 1px 2px,#201aff09 2px 3px);mix-blend-mode:multiply}
.crt-vignette{z-index:3;border:2px solid #080d17b3;border-radius:10px;background:radial-gradient(ellipse at center,transparent 48%,#06101c1c 70%,#020711bf 100%);box-shadow:inset 0 0 22px 7px #030b14a1,inset 0 0 90px #03080d40}
.crt-scratches{z-index:4;background:linear-gradient(112deg,transparent 48.8%,#ffffff2e 49%,#1827371f 49.2%,transparent 49.4%) right 7% top 9%/140px 45px no-repeat,linear-gradient(79deg,transparent 49.1%,#e9f5ff25 49.5%,transparent 50%) left 3% bottom 17%/50px 140px no-repeat,linear-gradient(102deg,transparent 49.4%,#f5fcff26 49.6%,transparent 49.9%) right 4% bottom 3%/260px 50px no-repeat,linear-gradient(115deg,#fff2,transparent 16% 82%,#e6f3ff09);opacity:.7}
.crt-roll{z-index:5;inset:-23% 0 auto;height:22%;background:linear-gradient(transparent,#d2e9ff0e,transparent);animation:crt-roll 19s linear infinite}
.crt-tear{z-index:6;inset:46% -2px auto;height:7px;opacity:0;background:#cfefe21a;border-top:1px solid #d9fff24d;border-bottom:1px solid #0e12332e;backdrop-filter:brightness(1.14) contrast(1.12) blur(.25px);animation:crt-sync 31s steps(1,end) infinite}
@keyframes crt-roll{to{transform:translateY(580%)}}
@keyframes crt-sync{0%,88%,88.5%,100%{opacity:0;transform:translateX(0)}88.1%{opacity:.6;transform:translateX(2px)}}
.crt-glass[data-running=false] .crt-roll,.crt-glass[data-running=false] .crt-tear{display:none;animation-play-state:paused}
/* Pistas ligadas al objeto, nunca un panel de botones sobre la habitación. */
.boot-header{justify-content:flex-end}.boot-skip{font:400 14px/1.3 var(--font-ui);border-radius:0}.boot-footer{gap:9px}.boot-hint{background:none;text-shadow:0 1px 3px #fff,0 0 12px #fff;color:#29323a;font:400 14px var(--font-ui);padding:0}
.boot-power{border-radius:2px;font:400 16px/1.2 var(--font-ui);background:#c0c0c0;color:#111;border:1px solid #555;box-shadow:var(--control-shadow),0 6px 20px #0003}.boot-power svg{width:18px;height:18px;stroke:#262626;stroke-width:1.6}
.power-led{width:6px;height:6px;border-radius:50%;background:#bd4c38;box-shadow:0 0 6px 1px #c7523a77,inset 0 1px #ffb298;animation:power-breathe 3.4s ease-in-out infinite}.is-starting .power-led{background:#82bb53;box-shadow:0 0 8px #8edb59;animation:none}
@keyframes power-breathe{50%{box-shadow:0 0 8px 2px #c7523a99,inset 0 1px #ffb298;opacity:.78}}
.desk-hotspots{position:absolute;inset:0;z-index:3;pointer-events:none}.desk-hotspot{position:absolute;left:-100px;top:-100px;width:44px;height:44px;transform:translate(-50%,-50%);border:0;background:transparent;opacity:0;padding:0;pointer-events:none;outline:none;border-radius:3px}
.desk-hotspot span{position:absolute;left:50%;bottom:calc(100% + 13px);transform:translateX(-50%);white-space:nowrap;background:#f4f2df;color:#292b26;border:1px solid #7d8375;padding:5px 9px;font:400 14px var(--font-ui)}
.desk-hotspot:focus-visible{opacity:1;outline:1px solid #d0d7a8;box-shadow:0 0 8px #e5efc766}.boot-scene.is-starting .desk-hotspots,.boot-scene.is-returning .desk-hotspots{display:none}
.desk-tooltip{background:#f4f2dfed;border:1px solid #7d8375;border-radius:0;box-shadow:1px 2px #20282033;padding:5px 9px;font:400 14px var(--font-ui)}.scene-sound{font:400 14px var(--font-ui);border-radius:0;background:#d9d9d2d9;padding:6px 9px}
@media(pointer:coarse){.desk-hotspot{pointer-events:auto}}
@media(max-width:767px){.screen{border-radius:5px}.window-title{font-size:15px}.window-bar{height:33px;min-height:33px}.window-controls button{width:27px;height:25px}.desktop-icon span{font-size:14px}.desktop-icon img{width:44px;height:44px}.system-launcher strong{font-size:14px}.system-status{font-size:14px}.readme-content h2{font-size:28px}.readme-content>p{font-size:17px}.technology-filter{font-size:14px}.system-select{min-width:120px}.paint-toolbar label,.paint-color-control{font-size:14px}.paint-toolbar button{font-size:14px}.boot-skip{font-size:14px}.scene-sound{top:68px}.crt-vignette{box-shadow:inset 0 0 16px 4px #030b1499,inset 0 0 60px #03080d30}.window-status{font-size:12px}.taskbar{height:44px}}
@media(prefers-reduced-motion:reduce){.crt-roll,.crt-tear{display:none}.power-led{animation:none}}
.motion-off .crt-roll,.motion-off .crt-tear{display:none}.motion-off .power-led{animation:none}
@media print{.crt-glass{display:none!important}}
/* Luz de trabajo nocturna: el ordenador y la lámpara dominan el encuadre. */
.boot-scene{background:#141210;color:#e7dcc6}.boot-scene:after{background:radial-gradient(ellipse at 48% 44%,transparent 38%,#08070550 100%)}
.boot-skip{color:#e2d7c2;background:#24221de0;border-color:#887e6859;box-shadow:inset 0 1px #c9b58b14}.boot-skip:hover{color:#fff4db;background:#353126}
.boot-power{color:#eee2c9;background:#282720e8;border-color:#95897070;box-shadow:inset 0 1px #e8d0a027,0 5px 18px #0006}.boot-power svg{stroke:#dbceb2}.boot-power:hover:not(:disabled){color:#fff0d5;background:#3c392e;border-color:#b3a385}
.boot-hint{color:#b7ac96;text-shadow:0 1px 3px #000;background:none}.scene-sound{color:#d8cdb9;background:#24221ddd;border-color:#887e6859;box-shadow:none}.scene-sound img{filter:invert(1);opacity:.8}
@media(max-width:767px){.boot-scene:after{background:radial-gradient(ellipse at 50% 43%,transparent 37%,#08070555 100%)}}
