:root{--tandy-beige:#e6d6c4;--tandy-dark-beige:#d1c1b0;--tandy-plastic:#f0e6d2;--tandy-black:#1a1a1a;--monitor-grey:#555;--phosphor-green:#3f3;--led-red:#f33}body{color:#fff;background-color:#222;margin:0;font-family:Courier New,Courier,monospace}.tandy-lab-wrapper{box-sizing:border-box;flex-direction:column;align-items:center;width:100%;padding:40px;display:flex}@media (width<=600px){.tandy-lab-wrapper{padding:10px}}.tandy-frame{box-shadow:none;background:0 0;border:none;flex-direction:column;align-items:center;gap:20px;padding:0;display:flex}.monitor-unit{background-color:var(--tandy-beige);border:4px solid var(--tandy-dark-beige);border-bottom:15px solid var(--tandy-dark-beige);border-radius:10px;padding:20px;position:relative;box-shadow:5px 5px 15px #0000004d}.monitor-bezel{background-color:var(--tandy-beige);border:4px solid var(--tandy-dark-beige);border-radius:15px;padding:20px;box-shadow:inset 0 0 10px #0000001a}.monitor-label{background:#111;border:1px solid #555;border-radius:2px;padding:3px;position:absolute;bottom:12px;left:20px}.monitor-label-inner{color:silver;border:1px solid silver;align-items:center;gap:8px;padding:3px 6px;font-family:Arial,sans-serif;font-size:.6rem;font-weight:700;display:flex}.tandy-colors{gap:2px;display:flex}.color-bar{width:8px;height:4px}.color-bar.red{background:#f33}.color-bar.blue{background:#33f}.color-bar.green{background:#3f3}.crt-screen{background-color:#000;border:10px solid #333;border-radius:15px;width:640px;height:400px;position:relative;overflow:hidden}.crt-screen.active{box-shadow:0 0 40px #33ff331a}.crt-overlay{pointer-events:none;z-index:10;background:linear-gradient(#12101000 50%,#0000001a 50%) 0 0/100% 4px,linear-gradient(90deg,#ff000008,#00ff0003,#0000ff08) 0 0/6px 100%;width:100%;height:100%;position:absolute;top:0;left:0}.dos-content{color:var(--phosphor-green);text-shadow:0 0 10px var(--phosphor-green);padding:20px;font-size:1.2rem;line-height:1.4}.dos-prompt{animation:1s infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.system-unit{background-color:var(--tandy-beige);border:4px solid var(--tandy-dark-beige);flex-direction:column;width:880px;height:320px;display:flex;position:relative;box-shadow:5px 10px 20px #0006}.system-top{flex:1;justify-content:space-between;align-items:flex-start;padding:25px 40px;display:flex}.system-bottom-ledge{background-color:var(--tandy-dark-beige);border-top:3px solid #999;align-items:flex-end;gap:15px;height:80px;padding:0 40px 10px 20px;display:flex}.ledge-group{flex-direction:column;align-items:center;gap:5px;display:flex}.ledge-label{color:#666;text-transform:uppercase;font-family:Arial,sans-serif;font-size:.5rem;font-weight:700}.ledge-port{background:#333;border:4px solid #999;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex;position:relative;box-shadow:inset 0 0 8px #000}.port-pins{border:1px solid #555;border-radius:50%;width:18px;height:18px;position:relative}.pin{background:#111;border-radius:50%;width:3px;height:3px;position:absolute}.vent-grill{flex:1;gap:4px;height:45px;margin-right:-20px;padding-left:20px;display:flex;position:relative}.vent-slat{background:#333;border-radius:2px;width:4px;height:100%;box-shadow:inset 1px 1px 2px #000}.system-top-left{flex-direction:column;align-items:flex-start;gap:10px;margin-right:auto;display:flex}.badge{background:#111;border:2px solid #555;border-radius:2px;padding:4px}.badge-inner{color:silver;letter-spacing:1px;border:1px solid silver;padding:6px 12px;font-family:Arial,sans-serif;font-size:1.1rem;font-weight:700}.badge .small-caps{font-variant:small-caps;color:silver;font-size:.8rem}.badge .sx{color:#f33}.wendys-sticker{color:#c00;z-index:10;background:#eee;border:1px solid #ccc;border-radius:2px;padding:2px 8px;font-family:Comic Sans MS,cursive,sans-serif;font-size:14px;font-weight:700;position:absolute;top:-10px;right:40px;transform:rotate(-3deg);box-shadow:1px 1px 3px #0006}.wendys-sticker .play-d{color:#333;font-size:10px;display:inline-block;transform:translateY(-1px)}.drive-bay-area{background:0 0;flex-direction:column;padding:0;display:flex}.floppy-drive{background:#f5f0e0;border:1px solid #999;flex-direction:column;justify-content:center;width:320px;height:100px;padding:0 20px;display:flex;position:relative}.drive-slot-wrapper{background:#000;width:100%;height:6px;position:relative}.drive-lever{background:#eee;border:1px solid #999;border-radius:4px;width:45px;height:15px;position:absolute;top:40px;right:25px}.drive-led{background:#200;border-radius:1px;width:12px;height:6px;position:absolute;top:25px;left:20px}.drive-led.active{background:red;box-shadow:0 0 8px red}.controls{align-items:center;gap:15px;display:flex}.power-switch{cursor:pointer;background:#800;border:3px solid #400;border-radius:50%;width:32px;height:32px;box-shadow:0 2px #200}.power-switch.on{background:#f33;box-shadow:inset 0 0 10px #00000080}.earphone-jack{background:#111;border:3px solid #999;border-radius:50%;width:14px;height:14px;box-shadow:inset 0 0 3px #000}.reset-btn{cursor:pointer;background:#ccc;border:1px solid #999;padding:5px}.cabinet-panel{background:var(--tandy-beige);border:4px solid var(--tandy-dark-beige);z-index:100;flex-direction:column;gap:15px;width:180px;padding:15px;display:flex;position:fixed;top:50%;left:20px;transform:translateY(-50%);box-shadow:5px 5px 15px #00000080}.cabinet-title{color:#333;text-align:center;border-bottom:2px solid #999;padding-bottom:5px;font-size:.8rem;font-weight:700}.game-cartridge{color:#fff;text-align:center;cursor:pointer;background:#333;border:2px solid #555;padding:10px;font-size:.7rem;transition:all .1s}.game-cartridge:hover{background:#555;transform:scale(1.05)}.game-cartridge.deskmate{border-color:#0c0}.game-cartridge.deskmate.active{color:#000;background:#0c0;box-shadow:0 0 10px #00cc0080}@media (width<=1150px){.cabinet-panel{box-sizing:border-box;flex-flow:wrap;justify-content:center;width:100%;max-width:880px;margin-bottom:20px;position:static;transform:none}.game-cartridge{flex:1;min-width:150px}}.game-cartridge.active{background:#444;border:2px solid #f33;box-shadow:0 0 10px #ff333380}.game-screen{color:#fff;background:#000;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;font-family:Courier New,monospace;display:flex;position:relative}.game-title{text-shadow:2px 2px #f0f;margin-bottom:20px;font-size:1.5rem;font-weight:700}.game-status{color:#aaa;font-size:.8rem}.exit-game{color:#fff;cursor:pointer;z-index:1000;background:#f33;border:1px solid #fff;padding:5px 10px;font-size:.6rem;position:absolute;bottom:10px;right:10px}.dm-bar{color:#fff;text-align:center;background:#800;width:100%;padding:5px;font-size:.9rem;font-weight:700;position:absolute;top:0}.dm-desktop{grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px;display:grid}.dm-icon{color:#000;background:#ccc;border:2px solid #555;justify-content:center;align-items:center;width:80px;height:60px;font-size:.7rem;display:flex}.crt-screen canvas,.crt-screen>canvas,.crt-screen>div>canvas,.crt-screen iframe,#jsdos-canvas{object-fit:fill!important;width:100%!important;height:100%!important;display:block!important;position:absolute!important;top:0!important;left:0!important}.tandy-terminal-strip{color:#0e0;text-shadow:0 0 4px #0c0;background:#050a05;border:1px solid #1a3a1a;border-radius:2px;min-height:36px;max-height:54px;padding:4px 8px;font-family:Courier New,monospace;font-size:.65rem;overflow:hidden}.tandy-terminal-strip.floppy-shape{background:#111;border:1px solid #333;border-bottom:4px solid #0a0a0a;border-radius:4px 4px 2px 2px;width:320px;height:100px;max-height:100px;position:relative;box-shadow:inset 0 0 10px #000}.tandy-terminal-strip .terminal-line{white-space:nowrap;text-overflow:ellipsis;line-height:1.35;overflow:hidden}.app-footer{text-align:center;color:#ccc;width:100%;max-width:880px;margin-top:80px;font-family:Courier New,monospace;font-size:14px}.app-footer .footer-desc{background:#111;border:1px solid #333;border-radius:8px;margin-bottom:20px;padding:15px;line-height:1.5}.app-footer .footer-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;display:flex}.app-footer a,.app-footer button{color:#39ff14;cursor:pointer;background:#1a1a1a;border:1px solid #39ff14;border-radius:4px;padding:8px 16px;font-family:inherit;font-size:14px;font-weight:700;text-decoration:none}.app-footer a:hover,.app-footer button:hover{color:#000;background:#39ff14}.maze{background:#000;border:4px solid #00f;width:100%;height:100%;position:relative}.pac-dot{background:#ff0;border-radius:50%;width:20px;height:20px;transition:all .1s linear;position:absolute}
