@font-face{font-family:TempleOS;src:url(/fonts/templeos.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}*{margin:0;padding:0;box-sizing:border-box}body,html{height:100%;overflow:hidden}.tos-desktop{height:100vh;background:#0aa;font-family:TempleOS,Courier New,monospace;font-size:16px;color:#000;display:flex;flex-direction:column;position:relative;overflow:hidden;image-rendering:pixelated;image-rendering:crisp-edges}.tos-desktop:before{content:"";z-index:9998;background-image:linear-gradient(rgba(0,0,0,.03) 1px,transparent 0),linear-gradient(90deg,rgba(0,0,0,.03) 1px,transparent 0);background-size:2px 2px}.tos-desktop:before,.tos-scanlines{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none}.tos-scanlines{z-index:9999;background:repeating-linear-gradient(0deg,rgba(0,0,0,.1),rgba(0,0,0,.1) 1px,transparent 0,transparent 3px);animation:scanline-flicker .1s infinite}.tos-scanlines:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at center,transparent 0,rgba(0,0,0,.2) 90%,rgba(0,0,0,.4) 100%)}@keyframes scanline-flicker{0%{opacity:.95}50%{opacity:1}to{opacity:.97}}.tos-menu{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;background:#00a;border-bottom:2px solid #000;flex-shrink:0;position:relative}.tos-menu:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:2px;background:repeating-linear-gradient(90deg,#000000,#000000 2px,transparent 0,transparent 4px)}.tos-menu-left{display:flex;align-items:center;gap:4px}.tos-brand{color:#ff5;font-weight:700;padding:4px 12px;margin-right:8px;font-size:18px;text-shadow:2px 2px 0 #000;animation:text-glow 2s ease-in-out infinite}@keyframes text-glow{0%,to{text-shadow:2px 2px 0 #000}50%{text-shadow:2px 2px 0 #000,0 0 8px #ff5}}.tos-menu button{background:#aaa;border-color:#fff #555 #555 #fff;border-style:solid;border-width:2px;padding:4px 12px;font-family:inherit;font-size:14px;cursor:pointer;color:#000;transition:none;position:relative}.tos-menu button:hover{background:#fff;animation:pixel-hover .3s steps(3)}.tos-menu button:active{border-color:#555 #fff #fff #555;transform:translate(1px,1px)}@keyframes pixel-hover{0%{background:#aaa}33%{background:#5ff}66%{background:#fff}to{background:#fff}}.tos-menu-right{display:flex;align-items:center}.tos-clock{color:#5f5;font-size:14px;padding:4px 8px;background:#000;border:1px solid #5f5;animation:clock-blink 1s steps(1) infinite}@keyframes clock-blink{0%,to{border-color:#5f5}50%{border-color:#0a0}}.tos-windows{flex:1 1;display:flex;flex-wrap:wrap;gap:16px;padding:16px;overflow-y:auto;align-content:flex-start}.tos-window{background:#fff;border:3px solid #000;box-shadow:4px 4px 0 #000,inset -1px -1px 0 #555,inset 1px 1px 0 #fff;width:350px;display:flex;flex-direction:column;max-height:calc(100vh - 150px);animation:window-open .2s steps(4);position:relative}.tos-window.tos-window-lg{width:480px}.tos-window.tos-window-music{width:380px}.tos-window.tos-window-terminal{width:520px;height:320px}@keyframes window-open{0%{transform:scale(.8);opacity:0}25%{transform:scale(.9);opacity:.5}50%{transform:scale(.95);opacity:.75}to{transform:scale(1);opacity:1}}.tos-window-header{background:linear-gradient(180deg,#5555FF,#0000AA 50%,#5555FF);color:#fff;padding:4px 8px;display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:14px;border-bottom:2px solid #000;flex-shrink:0;text-shadow:1px 1px 0 #000;position:relative}.tos-window-header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAEklEQVQIW2NkYGD4z8DAwMgAABJuAQXqAnyMAAAAAElFTkSuQmCC");opacity:.1;pointer-events:none}.tos-window-header button{background:#aaa;border-color:#fff #555 #555 #fff;border-style:solid;border-width:2px;color:#000;cursor:pointer;font-family:inherit;font-size:12px;padding:2px 6px;font-weight:700}.tos-window-header button:hover{background:#f55;color:#fff;animation:close-btn-hover .2s steps(2)}.tos-window-header button:active{border-color:#555 #fff #fff #555}@keyframes close-btn-hover{0%{background:#aaa}50%{background:#a00}to{background:#f55}}.tos-window-body{padding:12px;font-size:14px;line-height:1.6;overflow-y:auto;flex:1 1;background:linear-gradient(90deg,rgba(0,0,0,.02) 50%,transparent 0),linear-gradient(rgba(0,0,0,.02) 50%,transparent 0);background-size:4px 4px}.tos-window-body hr{border:none;border-top:2px dashed #555;margin:12px 0}.tos-window-body p{margin-bottom:8px}.tos-ascii-art{font-size:8px;line-height:1;color:#00a;white-space:pre;text-align:center;margin-bottom:16px;animation:ascii-glitch 5s infinite;letter-spacing:0}@keyframes ascii-glitch{0%,95%,to{transform:translateX(0);text-shadow:none}96%{transform:translateX(-2px);text-shadow:2px 0 #f55}97%{transform:translateX(2px);text-shadow:-2px 0 #5ff}98%{transform:translateX(-1px);text-shadow:1px 0 #5f5}}.tos-filelist{list-style:none}.tos-filelist li{padding:6px 8px;cursor:pointer;display:flex;align-items:center;gap:8px;border:1px solid rgba(0,0,0,0);transition:none}.tos-filelist li:hover{background:#00a;color:#fff;animation:list-select .1s steps(2)}.tos-filelist li.tos-file-folder{color:#00a;font-weight:700}.tos-filelist li.tos-file-folder:hover{color:#ff5}@keyframes list-select{0%{background:#0aa}50%{background:#55f}to{background:#00a}}.tos-comment{color:#555;font-style:italic}.tos-music-display{background:#000;padding:12px;margin-bottom:12px;border:2px solid #5f5;position:relative;overflow:hidden}.tos-music-display:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,255,0,.03) 0,rgba(0,255,0,.03) 4px);pointer-events:none;animation:display-scroll .5s linear infinite}@keyframes display-scroll{0%{transform:translateY(0)}to{transform:translateY(4px)}}.tos-music-visualizer{display:flex;justify-content:center;align-items:flex-end;height:50px;gap:3px;margin-bottom:8px}.tos-bar{width:10px;height:8px;background:#5f5;transition:none;image-rendering:pixelated}.tos-bar.tos-bar-active{animation:visualizer .3s steps(4) infinite}@keyframes visualizer{0%{height:8px;background:#0a0}25%{height:20px;background:#5f5}50%{height:35px;background:#ff5}75%{height:25px;background:#5f5}to{height:45px;background:#f55}}.tos-bar:first-child{animation-delay:.05s}.tos-bar:nth-child(2){animation-delay:.1s}.tos-bar:nth-child(3){animation-delay:.15s}.tos-bar:nth-child(4){animation-delay:.2s}.tos-bar:nth-child(5){animation-delay:.25s}.tos-bar:nth-child(6){animation-delay:.3s}.tos-bar:nth-child(7){animation-delay:.35s}.tos-bar:nth-child(8){animation-delay:.4s}.tos-bar:nth-child(9){animation-delay:.45s}.tos-bar:nth-child(10){animation-delay:.5s}.tos-bar:nth-child(11){animation-delay:.55s}.tos-bar:nth-child(12){animation-delay:.6s}.tos-bar:nth-child(13){animation-delay:.65s}.tos-bar:nth-child(14){animation-delay:.7s}.tos-bar:nth-child(15){animation-delay:.75s}.tos-bar:nth-child(16){animation-delay:.8s}.tos-track-name{color:#5f5;font-size:12px;margin:0;text-align:center;animation:text-scroll 10s linear infinite;white-space:nowrap}@keyframes text-scroll{0%,20%{transform:translateX(0)}80%,to{transform:translateX(-50%)}}.tos-music-controls{display:flex;justify-content:center;gap:8px;margin-bottom:12px}.tos-music-controls button{background:#aaa;border-color:#fff #555 #555 #fff;border-style:solid;border-width:3px;padding:8px 16px;font-family:inherit;font-size:16px;cursor:pointer;color:#000;min-width:55px}.tos-music-controls button:hover{background:#5ff}.tos-music-controls button:active{border-color:#555 #fff #fff #555;transform:translate(2px,2px)}.tos-music-controls button.tos-play-btn{background:#5f5;color:#000;font-size:18px;animation:play-pulse 1s steps(2) infinite}.tos-music-controls button.tos-play-btn:hover{background:#0a0;animation:none}@keyframes play-pulse{0%,to{box-shadow:0 0 0 0 rgba(85,255,85,.5)}50%{box-shadow:0 0 0 4px rgba(85,255,85,.3)}}.tos-volume{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:12px}.tos-volume span{min-width:40px;color:#555}.tos-volume-slider{flex:1 1;height:12px;-webkit-appearance:none;background:#000;border:2px solid #555}.tos-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:20px;background:#5f5;cursor:pointer;border:2px solid #fff;image-rendering:pixelated}.tos-volume-slider::-webkit-slider-runnable-track{background:linear-gradient(90deg,#00AA00,#FFFF55 50%,#FF5555);height:8px}.tos-playlist{border-top:2px dashed #555;padding-top:8px}.tos-playlist-item{padding:4px 8px;cursor:pointer;font-size:12px}.tos-playlist-item:hover{background:#0aa}.tos-playlist-item.active{background:#00a;color:#fff;animation:playlist-active .5s steps(2) infinite}@keyframes playlist-active{0%,to{background:#00a}50%{background:#55f}}.tos-terminal-body{background:#000;color:#5f5;font-size:14px;display:flex;flex-direction:column;position:relative}.tos-terminal-body:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(0deg,transparent,transparent 1px,rgba(0,255,0,.02) 0,rgba(0,255,0,.02) 2px);pointer-events:none;animation:terminal-flicker .05s infinite}@keyframes terminal-flicker{0%{opacity:.98}50%{opacity:1}to{opacity:.99}}.tos-terminal-output{flex:1 1;overflow-y:auto;white-space:pre-wrap;word-break:break-all;text-shadow:0 0 5px #0a0}.tos-terminal-input-line{display:flex;align-items:center;margin-top:4px}.tos-terminal-input{flex:1 1;background:rgba(0,0,0,0);border:none;color:#5f5;font-family:inherit;font-size:14px;outline:none;caret-color:#5f5;text-shadow:0 0 5px #0a0}.tos-cursor{display:inline-block;width:10px;height:16px;background:#5f5;animation:cursor-blink .5s steps(1) infinite;margin-left:2px;vertical-align:middle}@keyframes cursor-blink{0%,50%{opacity:1}51%,to{opacity:0}}.tos-games-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin-top:12px}.tos-game{background:#aaa;border-color:#fff #555 #555 #fff;border-style:solid;border-width:3px;padding:12px 8px;text-align:center;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;overflow:hidden}.tos-game:before{content:"";position:absolute;top:-100%;left:-100%;width:50%;height:200%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transform:rotate(45deg);transition:none}.tos-game:hover{background:#5ff;animation:game-hover .3s steps(3)}.tos-game:hover:before{animation:shine .5s steps(5)}.tos-game:active{border-color:#555 #fff #fff #555;transform:translate(2px,2px)}.tos-game .tos-game-icon{font-size:28px;filter:contrast(1.2)}.tos-game span:last-child{font-size:11px;font-weight:700}@keyframes game-hover{0%{background:#aaa}33%{background:#0aa}66%{background:#fff}to{background:#5ff}}@keyframes shine{0%{left:-100%}to{left:200%}}.tos-taskbar{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;background:#aaa;border-color:currentcolor #555 #555 #fff;border-top:3px solid #fff;flex-shrink:0;position:relative}.tos-taskbar:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:#fff}.tos-taskbar-windows{display:flex;gap:4px}.tos-taskbar-btn{background:#aaa;border-color:#555 #fff #fff #555;border-style:solid;border-width:2px;padding:4px 14px;font-family:inherit;font-size:12px;cursor:pointer;color:#000;text-transform:capitalize;position:relative}.tos-taskbar-btn:after{content:"";position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:4px;height:4px;background:#00a;animation:taskbar-indicator 1s steps(1) infinite}.tos-taskbar-btn:hover{background:#fff}@keyframes taskbar-indicator{0%,to{background:#00a}50%{background:#55f}}.tos-taskbar-tray{display:flex;align-items:center;gap:8px;padding:2px 8px;background:#fff;border-color:#555 #fff #fff #555;border-style:solid;border-width:2px}.tos-tray-icon{color:#00a;animation:tray-bounce .5s steps(3) infinite;font-size:14px}@keyframes tray-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.tos-tray-time{font-size:12px;font-weight:700;color:#000}.tos-pixel-rain{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:1;overflow:hidden}.tos-pixel{position:absolute;width:4px;height:4px;background:rgba(0,170,0,.5);animation:pixel-fall linear infinite}@keyframes pixel-fall{0%{transform:translateY(-10px);opacity:1}to{transform:translateY(100vh);opacity:0}}.tos-glitch{position:relative}.tos-glitch:after,.tos-glitch:before{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%}.tos-glitch:before{color:#f55;animation:glitch-1 .3s steps(2) infinite;-webkit-clip-path:polygon(0 0,100% 0,100% 35%,0 35%);clip-path:polygon(0 0,100% 0,100% 35%,0 35%)}.tos-glitch:after{color:#5ff;animation:glitch-2 .3s steps(2) infinite;-webkit-clip-path:polygon(0 65%,100% 65%,100% 100%,0 100%);clip-path:polygon(0 65%,100% 65%,100% 100%,0 100%)}@keyframes glitch-1{0%,to{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(2px,-2px)}60%{transform:translate(-1px,1px)}80%{transform:translate(1px,-1px)}}@keyframes glitch-2{0%,to{transform:translate(0)}20%{transform:translate(2px,-2px)}40%{transform:translate(-2px,2px)}60%{transform:translate(1px,-1px)}80%{transform:translate(-1px,1px)}}@media(max-width:768px){.tos-window{width:100%!important;max-width:none}.tos-games-grid{grid-template-columns:repeat(2,1fr)}.tos-ascii-art{font-size:5px}.tos-menu-left{flex-wrap:wrap}.tos-menu button{font-size:11px;padding:3px 8px}}