:root{--desktop:#008080;--gray:#c0c0c0;--navy:#000080;--bar:40px}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:var(--desktop);color:#111;font:13px Tahoma,'MS Sans Serif',Arial,sans-serif}button,input,select{font:inherit}button{color:inherit;cursor:pointer;background:var(--gray);border:2px solid;border-color:#fff #404040 #404040 #fff;border-radius:0;padding:5px 10px}button:active,.pressed{border-color:#404040 #fff #fff #404040!important}button:focus-visible,a:focus-visible{outline:1px dotted currentColor;outline-offset:-4px}button img{vertical-align:middle;image-rendering:pixelated}button:disabled{color:#777;cursor:default}input{border:2px solid;border-color:#808080 #fff #fff #808080;padding:6px;background:white;color:#111;min-width:0}a{color:#000080}img{max-width:100%}[hidden]{display:none!important}.raised,.window{background:var(--gray);border:2px solid;border-color:#fff #202020 #202020 #fff;box-shadow:1px 1px #000}#desktop{position:absolute;inset:0 0 var(--bar);overflow:hidden}.wallpaper{position:absolute;left:50%;top:51%;transform:translate(-50%,-50%);width:480px;max-width:55vw;pointer-events:none;text-align:center}.wallpaper img{width:100%;image-rendering:pixelated}.wallpaper div{font:10px 'Courier New',monospace;letter-spacing:3px;color:#fff;margin-top:25px;opacity:.7}.desktop-note{position:absolute;right:22px;bottom:20px;color:#c6e2df;font:11px 'Courier New',monospace}.desktop-icon{position:absolute;width:90px;min-height:84px;padding:8px 2px;background:none;border:1px solid transparent;color:#fff;display:flex;align-items:center;flex-direction:column;gap:8px;touch-action:none;user-select:none;-webkit-user-select:none}.desktop-icon img{width:32px;height:32px;pointer-events:none;image-rendering:pixelated}.desktop-icon span{padding:2px 4px;max-width:100%;font-size:12px;line-height:15px;overflow-wrap:anywhere;text-shadow:1px 1px #00504f}.desktop-icon:hover{background:#ffffff0c}.desktop-icon:focus{outline:1px dotted #fff;outline-offset:-3px}.desktop-icon:focus span{background:#000080}.desktop-icon.dragging{z-index:9000;opacity:.8}.desktop-icon.drop-target{background:#00008066;border:1px dotted white}.taskbar{position:fixed;z-index:10000;bottom:0;left:0;right:0;display:flex;align-items:center;gap:5px;height:var(--bar);padding:4px;background:var(--gray);border-top:2px solid #fff}.taskbar button{height:29px;padding:2px 8px;white-space:nowrap}.taskbar #start{font-size:14px;display:flex;gap:4px;align-items:center}.task-divider{height:25px;border-left:1px solid #808080;border-right:1px solid white;margin:0 2px}#tasks{display:flex;flex:1;gap:4px;overflow:auto}#tasks button{width:155px;flex-shrink:1;text-align:left;overflow:hidden;text-overflow:ellipsis;min-width:65px}#tasks button.active{background:#dfdfdf;border-color:#404040 #fff #fff #404040;font-weight:bold}#clock{padding:5px 10px;border:1px solid;border-color:#808080 #fff #fff #808080;font-size:12px}#start-menu{position:fixed;bottom:var(--bar);left:3px;z-index:10001;display:flex;width:260px;padding:3px}.brand-strip{writing-mode:vertical-rl;transform:rotate(180deg);background:#808080;color:#d5d5d5;padding:10px 6px;font-size:21px;letter-spacing:1px}.brand-strip b{color:#fff}#start-items{flex:1;min-width:0}.menu-item{display:flex;gap:10px;align-items:center;text-align:left;width:100%;min-height:36px;border:0;padding:7px 10px;background:transparent}.menu-item img{width:16px;height:16px}.menu-item:hover,.menu-item:focus-visible{background:#000080;color:#fff;outline:0}.menu-item .arrow{margin-left:auto}.separator{border-top:1px solid #808080;border-bottom:1px solid white;margin:4px 2px}.submenu{position:absolute;left:100%;top:0;width:210px;padding:3px}.submenu-heading{font-weight:bold;padding:6px 9px;border-bottom:1px solid #888}#context{position:fixed;z-index:11000;width:195px;padding:3px}.window{position:absolute;width:590px;max-width:calc(100vw - 24px);height:430px;max-height:calc(100dvh - var(--bar) - 20px);padding:3px;display:flex;flex-direction:column}.titlebar{height:25px;flex-shrink:0;background:#808080;color:#fff;display:flex;align-items:center;padding:2px 3px;gap:5px;user-select:none;touch-action:none}.window.active .titlebar{background:#000080}.titlebar>img{width:16px;height:16px;image-rendering:pixelated}.titlebar strong{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px}.titlebar button{width:21px;height:20px;line-height:12px;padding:0;color:#111;font-weight:bold}.window.maximized{left:4px!important;top:4px!important;width:calc(100vw - 8px);height:calc(100dvh - var(--bar) - 8px);max-width:none;max-height:none}.window-menu{display:flex;gap:2px;padding:2px 0;flex-shrink:0;border-bottom:1px solid #888}.window-menu button{background:none;border:0;padding:4px 8px}.window-menu button:hover{background:#000080;color:white}.content{overflow:auto;flex:1;min-height:0;padding:16px}.statusbar{display:flex;gap:4px;padding-top:3px;font-size:11px;flex-shrink:0}.statusbar span{padding:3px 6px;border:1px solid;border-color:#808080 #fff #fff #808080;flex:1}.explorer{background:#fff;border:2px solid;border-color:#808080 #fff #fff #808080;min-height:200px;height:100%;padding:14px}.file-grid{display:flex;flex-wrap:wrap;align-content:flex-start;gap:15px}.file{display:flex;flex-direction:column;align-items:center;width:100px;gap:8px;background:transparent;border:1px solid transparent;padding:8px 2px;overflow-wrap:anywhere}.file img{width:32px;height:32px;image-rendering:pixelated}.file:hover,.file:focus{background:#000080;color:white}.address{display:flex;align-items:center;gap:10px;padding:6px 2px;flex-shrink:0}.address code{background:white;border:1px solid #808080;padding:4px;flex:1}.empty{padding:35px 15px;text-align:center;color:#707070;font-size:12px}.empty img{width:32px;image-rendering:pixelated;opacity:.55}.tabs{display:flex;border-bottom:1px solid #808080;padding-top:3px}.tabs button{padding:6px 13px;border-bottom:0}.tabs button.selected{background:#ddd;font-weight:bold}.about-layout{display:grid;grid-template-columns:150px 1fr;gap:25px;align-items:center;min-height:235px}.portrait{width:150px;max-height:240px;object-fit:contain}.about-layout h1{font-size:23px;line-height:1.1;margin:8px 0}.eyebrow{font-size:10px;letter-spacing:2px;color:#555}.about-layout p{line-height:1.6}.spec{border-top:1px solid #888;padding-top:12px;font:12px/1.8 'Courier New',monospace}.photo-view{text-align:center;background:#ddd;height:100%;display:grid;place-items:center}.photo-view img{max-height:260px;object-fit:contain}.photo-view p{margin:5px}.actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}.terminal{background:#080b0a;color:#ddd;font:14px/1.5 'Courier New',monospace;padding:12px;height:100%;overflow:auto;cursor:text}.terminal pre{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.terminal form{display:flex;gap:6px}.terminal input{font:inherit;padding:0;border:0;outline:none;background:transparent;color:#fff;flex:1;width:30px}.window.dos .content{padding:2px}.settings-row{padding:12px 0;border-bottom:1px solid #999;display:flex;gap:12px;align-items:center}.settings-row input{accent-color:#000080}.run-form{display:flex;gap:8px;margin:20px 0}.run-form input{flex:1}#toast{position:fixed;right:14px;bottom:54px;z-index:15000;padding:12px;background:#ffffdf;border:1px solid #111;max-width:290px;font-size:12px}#screen{position:fixed;inset:0;z-index:20000;background:#000;color:#ccc;font:15px/1.6 'Courier New',monospace;padding:28px;overflow:hidden}#screen pre{white-space:pre-wrap;font:inherit}#screen.crt{padding:0;background:#000}#screen.crt:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,#008080 0 3px,#123f3e 3px 5px);animation:collapse .65s steps(8,end) forwards}#screen.crt:after{content:'';position:absolute;left:0;right:0;top:50%;height:2px;background:white;animation:spark .8s steps(6,end) forwards}@keyframes collapse{0%{transform:scale(1);filter:brightness(1)}25%{transform:translateX(5px) scaleY(.98)}55%{transform:scaleY(.015);filter:brightness(2)}80%,100%{transform:scale(0);opacity:0}}@keyframes spark{0%,40%{opacity:0}55%{opacity:1;transform:scaleX(.9)}80%{opacity:1;transform:scaleX(.015)}100%{opacity:0;transform:scaleX(0)}}.boot{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#008080;color:#fff;text-align:center;margin:-28px;width:calc(100% + 56px);height:calc(100% + 56px)}.boot img{width:360px;max-width:75vw;image-rendering:pixelated}.boot h1{font:700 26px Tahoma,Arial,sans-serif;letter-spacing:1px;margin:28px 0 5px}.boot p{font-size:11px;letter-spacing:2px}.boot-progress{width:240px;height:19px;border:2px solid;border-color:#004f4f #8fcaca #8fcaca #004f4f;padding:2px;margin-top:30px}.boot-progress div{height:100%;background:repeating-linear-gradient(90deg,#fff 0 10px,transparent 10px 13px);animation:load 1.8s steps(18) forwards}@keyframes load{from{width:0}to{width:100%}}.shutdown{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;text-align:center;color:#e6a056}.shutdown button{font:13px 'Courier New',monospace;background:#000;color:#e6a056;border:1px solid #e6a056;padding:8px 18px}.recover-skip{position:absolute;right:20px;bottom:20px;background:#000;color:#aaa;border:1px solid #666;font:12px 'Courier New',monospace}
@media(max-width:600px), (hover:none) and (pointer:coarse) and (max-width:1000px){:root{--bar:46px}.wallpaper{width:240px;max-width:70vw;top:72%;left:50%}.wallpaper div{font-size:8px;letter-spacing:1.5px;margin-top:16px}.desktop-icon{width:88px;min-height:86px}.desktop-note{display:none}.window{left:4px!important;top:5px!important;width:calc(100vw - 8px)!important;height:calc(100dvh - var(--bar) - 10px)!important;max-width:none;max-height:none}.titlebar{height:33px}.titlebar button{width:29px;height:27px}.titlebar button[data-action=max]{display:none}.window-menu button{min-height:32px}.content{padding:10px}.about-layout{grid-template-columns:95px 1fr;gap:14px}.portrait{width:95px}.about-layout h1{font-size:20px}.taskbar{padding-bottom:max(4px,env(safe-area-inset-bottom))}#tasks button{width:100px;min-width:48px;font-size:11px}#desktop-button{display:none}#clock{padding:5px}#start-menu{width:250px;max-height:calc(100dvh - 60px)}.menu-item{min-height:40px}.submenu{left:33px;top:4px;width:210px;bottom:3px;overflow:auto;z-index:2}#context .menu-item{min-height:43px}.terminal{font-size:13px}.photo-view img{max-height:45vh}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important}.crt:before,.crt:after{display:none}}
.mail-link{display:inline-block;padding:8px 14px;color:#111;background:#c0c0c0;border:2px solid;border-color:#fff #404040 #404040 #fff;text-decoration:none}.about-layout{align-items:start;padding-top:22px}.about-layout p{line-height:1.55}.about-layout .portrait{margin-top:18px}
/* Spatial pixel identity, revision 2. */
#start>img{width:20px;height:20px;image-rendering:pixelated}.boot .boot-logo{width:480px;max-width:88vw;height:auto}.desktop-icon img{filter:none}
/* Short shutdown phase, then warm CRT phosphor lettering. */
#screen.powering-down{background:#008080;display:grid;place-items:center}
.shutdown-progress{text-align:center;width:min(560px,100%);color:#fff}
.shutdown-progress>img{width:280px;max-width:70vw;image-rendering:pixelated;margin-bottom:22px}
.shutdown-progress h1{font:700 clamp(19px,3vw,26px)/1.5 Tahoma,Arial,sans-serif;margin:0 0 18px}
.shutdown-progress>p{font:12px/1.5 Tahoma,Arial,sans-serif;color:#daece9}
.shutdown-dots{display:inline-block;width:1.8em;text-align:left;clip-path:inset(0 100% 0 0);animation:shutdown-dots 1.2s steps(4,end) infinite}
.shutdown-meter{width:min(280px,80%);height:21px;border:2px solid;border-color:#004d4d #a0cece #a0cece #004d4d;margin:26px auto 12px;padding:3px;text-align:left}
.shutdown-meter div{height:100%;background:repeating-linear-gradient(90deg,#e3f0ed 0 10px,transparent 10px 13px);transition:width .35s steps(7,end)}
.shutdown-status{min-height:2em}
@keyframes shutdown-dots{to{clip-path:inset(0 0 0 0)}}
#screen.power-off{background:#050403}
.power-off .shutdown{gap:44px}
.shutdown-message{margin:0;font:900 clamp(18px,3.4vw,42px)/1.38 'Arial Black',Tahoma,Arial,sans-serif;letter-spacing:.015em;color:#ffad27;position:relative;filter:drop-shadow(0 0 2px #ffab2866) drop-shadow(0 0 8px #ff87002b)}
.shutdown-message span{display:block;background-color:#ffad27;background-image:repeating-linear-gradient(90deg,transparent 0 2px,#69340035 2px 3px),repeating-linear-gradient(0deg,transparent 0 2px,#381b0029 2px 3px);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.power-off .shutdown button{color:#bf873b;border-color:#775529;font-size:12px;box-shadow:none;padding:7px 17px}
.power-off .shutdown button:hover{color:#ffc166;border-color:#d99b49}
.power-off .shutdown button:focus-visible{outline:1px dotted #ce9a56;outline-offset:5px}
.reduce-effects .shutdown-dots{animation:none;clip-path:none}.reduce-effects .shutdown-meter div{transition:none}
@media(prefers-reduced-motion:reduce){.shutdown-dots{animation:none;clip-path:none}.shutdown-meter div{transition:none}}
@media(max-width:600px), (hover:none) and (pointer:coarse) and (max-width:1000px){#screen.power-off{padding:16px}.shutdown-message{font-size:clamp(17px,4.6vw,27px)}.power-off .shutdown{gap:34px}}
/* Trash: single selection and a fixed restore action below the file area. */
.window.trash .content{display:flex;flex-direction:column;overflow:hidden;gap:0}
.trash .address{flex:none}
.trash .trash-files{flex:1;min-height:0;height:auto;overflow:auto}
.trash-actions{flex:none;display:flex;justify-content:flex-end;padding:12px 0 2px}
.trash-actions>button{min-width:140px;min-height:32px}
.trash-actions>button:disabled{color:#808080;text-shadow:1px 1px #fff}
.trash-files .file:hover{background:#e8e8ef;color:#111}
.trash-files .file:focus{background:transparent;color:#111;outline:1px dotted #333;outline-offset:-3px}
.trash-files .file.selected,.trash-files .file.selected:focus,.trash-files .file.selected:hover{background:#000080;color:#fff}
@media(max-width:600px), (hover:none) and (pointer:coarse) and (max-width:1000px){.trash-actions>button{min-height:40px}}
/* Desktop artwork is shown at an exact 2× scale; menus retain 16px icons. */
.desktop-icon{width:112px;min-height:120px;gap:8px;padding:8px 2px}
.desktop-icon img{width:64px;height:64px;image-rendering:pixelated}
.desktop-icon span{font-size:12px;line-height:15px}
@media(max-width:600px), (hover:none) and (pointer:coarse) and (max-width:1000px){.wallpaper{top:auto;bottom:22px;width:200px;transform:translateX(-50%)}}

/* True bitmap lettering with a slow, warm phosphor pulse. */
.shutdown-message{width:100%;max-width:640px;min-width:0;filter:drop-shadow(0 0 2px #ffac2870) drop-shadow(0 0 8px #ff870045);animation:shutdown-glow 5s ease-in-out infinite}
.shutdown-message img{display:block;width:100%;height:auto;image-rendering:pixelated}
@keyframes shutdown-glow{0%,100%{filter:drop-shadow(0 0 2px #ffac2870) drop-shadow(0 0 7px #ff870038)}50%{filter:drop-shadow(0 0 3px #ffb344b0) drop-shadow(0 0 15px #ff810085)}}
.reduce-effects .shutdown-message{animation:none}
@media(prefers-reduced-motion:reduce){.shutdown-message{animation:none}}

.power-off .shutdown{width:100%;min-width:0}.shutdown-message img{max-width:100%;min-width:0}

.boot img.taco-boot{width:160px;height:160px;max-width:50vw;object-fit:contain;image-rendering:pixelated}.about-mascot{width:48px;height:48px;vertical-align:middle;image-rendering:pixelated;margin-right:8px}

/* Windows 95 inspired cloud boot composition. */
.boot.boot95{position:relative;display:block;isolation:isolate;background:#78aed0 url('boot-clouds.svg') center/cover no-repeat;overflow:hidden;color:#000}
.boot95 img.boot-signature{position:absolute;top:2%;right:3%;width:23%;max-width:170px;height:auto;image-rendering:pixelated}
.boot95-center{position:absolute;inset:14% 5% 12%;display:flex;align-items:center;justify-content:center;flex-direction:column}
.boot95 img.boot95-cat{width:min(44vh,300px);max-width:66vw;height:auto;filter:drop-shadow(7px 9px 2px #35547550);image-rendering:auto;transform:rotate(-8deg);margin-bottom:4px}
.boot95 h1.boot95-title{font-family:Arial,Helvetica,sans-serif;text-align:left;margin:0;letter-spacing:-.06em;line-height:.85;font-size:clamp(48px,10vw,88px);font-weight:900}
.boot95-der{display:block;font-size:.49em;line-height:1;color:#fff;font-weight:400;letter-spacing:-.035em;margin-left:-.28em}
.boot95-name{display:block}.boot95-year{color:#fff;font-weight:200;letter-spacing:-.08em;margin-left:.015em}
.boot95-loader{position:absolute;bottom:0;left:0;right:0;height:15px;overflow:hidden;background:repeating-linear-gradient(90deg,#668fad 0 8px,#82acc5 8px 16px,#a7c6d5 16px 24px,#bbd3de 24px 32px);image-rendering:pixelated}
.boot95-loader div{position:absolute;inset:0 auto 0 -40%;width:40%;background:repeating-linear-gradient(90deg,#89b5d3 0 8px,#accfdf 8px 16px,#d9e6e9 16px 24px,#f3f4eb 24px 32px,#aecbd8 32px 40px);animation:boot95-sweep 1.8s steps(40,end) infinite}
@keyframes boot95-sweep{to{left:100%}}
@media(max-width:600px), (hover:none) and (pointer:coarse) and (max-width:1000px){.boot95-center{inset:18% 5% 16%}.boot95 img.boot-signature{width:30%;top:3%}.boot95 img.boot95-cat{width:68vw;max-width:280px}.boot95 h1.boot95-title{font-size:clamp(44px,13vw,78px)}}
@media(prefers-reduced-motion:reduce){.boot95-loader div{animation:none;left:30%}}

.window.mail{width:min(880px,calc(100vw - 24px));height:min(620px,calc(100dvh - 100px));left:clamp(8px,8vw,120px)!important;top:32px!important}
.window.mail .content{padding:0;overflow:hidden}.mail-client{display:grid;grid-template-columns:250px minmax(0,1fr);height:100%;min-height:0}.mail-list{background:#dadada;border-right:2px solid #808080;overflow:auto;padding:8px}.mail-new{width:100%;font-weight:bold;text-align:left;margin-bottom:8px}.mail-count{font-size:11px;padding:4px 2px 10px}.mail-item{display:block;width:100%;background:white;border:0;border-bottom:1px solid #aaa;text-align:left;padding:12px 9px}.mail-item span,.mail-item strong{display:block}.mail-from{font-size:11px;margin-bottom:5px}.mail-subject{font-weight:normal;font-size:13px;line-height:1.3}.mail-item.unread .mail-subject{font-weight:bold}.mail-item.unread .mail-from:before{content:'● ';color:#000080}.mail-preview{font-size:11px;color:#555;margin-top:6px;line-height:1.4;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mail-selected{background:#000080;color:#fff}.mail-selected .mail-preview,.mail-selected.unread .mail-from:before{color:#fff}.mail-reader{background:white;padding:18px;overflow:auto;min-width:0}.mail-reader h2{font-size:19px;margin:0 0 16px}.mail-fiction{font-size:10px;color:#666;margin-bottom:12px}.mail-body{white-space:pre-wrap;line-height:1.65;border-top:1px solid #aaa;padding-top:16px}.mail-compose{display:flex;flex-direction:column;gap:10px}.mail-compose label{display:flex;flex-direction:column;gap:4px;font-size:12px}.mail-compose input,.mail-compose textarea{width:100%;font:13px Tahoma,Arial,sans-serif}.mail-compose textarea{resize:vertical;min-height:110px;padding:8px;border:2px inset #ddd}.mail-compose .mail-human{flex-direction:row;align-items:center;gap:8px}.mail-human input{width:auto}.mail-send-row{display:flex;gap:12px;align-items:center}.mail-send-status{font-size:12px;line-height:1.4}.mail-send-row button{min-width:85px}@media(max-width:600px), (hover:none) and (pointer:coarse) and (max-width:1000px){.window.mail{left:4px!important;top:4px!important;width:calc(100vw - 8px);height:calc(100dvh - 48px)}.mail-client{grid-template-columns:1fr;grid-template-rows:155px minmax(0,1fr)}.mail-list{border-right:0;border-bottom:2px solid #808080}.mail-items{display:flex;gap:3px}.mail-item{min-width:200px;max-width:230px}.mail-list{overflow:auto}.mail-reader{padding:12px}.mail-count{padding:0 0 5px}.mail-new{padding:4px 8px;margin-bottom:4px}}

.mail-compose .mail-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

/* Classic column-first desktop, with room for the six main icons. */
.desktop-icon{min-height:100px;gap:3px;padding:4px 2px}

.window.image-viewer{width:min(820px,calc(100vw - 24px));height:min(660px,calc(100dvh - 80px))}.image-viewer .content{padding:4px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#808080}.image-viewer .content>img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.mail-attachment{text-align:left;background:#f2f2f2}

/* Larger, readable desktop controls on both desktop and touch screens. */
:root{--bar:50px}body{font-size:16px}.desktop-icon{width:132px;min-height:120px;gap:5px;padding:5px 2px}.desktop-icon img{width:80px;height:80px}.desktop-icon span{font-size:14px;line-height:18px}
.taskbar button{height:37px;font-size:16px}.taskbar #start{font-size:17px}#start>img{width:24px;height:24px}.task-divider{height:31px}#clock{font-size:14px}#tasks button{width:186px}
.window{width:708px;height:516px}.titlebar{min-height:32px;font-size:16px}.titlebar>img{width:20px;height:20px}.titlebar button{min-width:25px;min-height:24px}.window-menu button{font-size:15px;padding:6px 10px}.statusbar{font-size:13px;min-height:24px}.content{font-size:16px}.content button,.content input,.content select{font-size:16px}.address{font-size:15px}.file{font-size:15px}.file img{width:40px;height:40px}
#start-menu{font-size:16px}#start-items button,.submenu button,#context button{font-size:16px;min-height:38px}#start-items img,.submenu img{width:20px;height:20px}.terminal,.terminal pre,.terminal input{font-size:16px!important;line-height:1.4}
.mail-client{grid-template-columns:280px minmax(0,1fr)}.mail-count,.mail-from,.mail-preview{font-size:13px}.mail-subject{font-size:16px}.mail-reader h2{font-size:23px}.mail-compose label,.mail-send-status{font-size:14px}.mail-compose input,.mail-compose textarea{font-size:16px}.mail-body{font-size:16px}.mail-fiction{font-size:12px}.mail-compose .mail-human input{width:19px;height:19px}.mail-new{font-size:16px}
@media(max-width:600px), (hover:none) and (pointer:coarse) and (max-width:1000px){:root{--bar:54px}.window.mail{height:calc(100dvh - 62px)}.mail-client{grid-template-columns:1fr;grid-template-rows:185px minmax(0,1fr)}.mail-item{min-width:230px;max-width:250px}.content{padding:12px}.window.mail .content{padding:0}.window.image-viewer .content{padding:4px}.wallpaper{width:240px}.taskbar button{min-width:38px}.window-menu button{min-height:36px}.titlebar{min-height:36px}}

/* Mobile is a single visible workspace, including when the keyboard is open. */
.mail-mobile-toolbar{display:none}
.reset-system{display:flex;align-items:center;justify-content:center;gap:16px;width:100%;min-height:80px;font-size:19px!important}
.reset-system>span{display:grid;place-items:center;background:#b40000;color:white;font:bold 32px Georgia,serif;width:42px;height:42px;border:2px solid #fff;box-shadow:2px 2px #600}
.browser-info{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px;background:#ddd;border:2px inset #eee}.browser-info dt{font-weight:bold}.browser-info dd{margin:0;overflow-wrap:anywhere}
.titlebar strong{font-size:15px}
.window.dos .content{overflow:hidden}.terminal{display:flex;flex-direction:column;overflow:hidden;padding:8px}.terminal pre{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.terminal form{flex:none;min-height:32px;align-items:center}.terminal label{max-width:60%;overflow-wrap:anywhere}.terminal input{min-height:32px}
@media(max-width:600px), (hover:none) and (pointer:coarse) and (max-width:1000px){
 :root{--bar:52px}
 html,body{overscroll-behavior:none}
 #desktop{position:fixed;top:var(--visible-top,0px);bottom:auto;height:calc(var(--visible-height,100dvh) - var(--bar));width:100%}
 .window,.window.mail,.window.maximized{position:fixed;top:calc(var(--visible-top,0px) + 3px)!important;left:3px!important;width:calc(100vw - 6px)!important;height:calc(var(--visible-height,100dvh) - var(--bar) - 6px)!important;max-height:none;min-height:0}
 .titlebar{height:42px;min-height:42px}.titlebar button{width:36px;height:34px;min-width:36px;font-size:22px}
 .window .statusbar{display:none}
 .window.dos .window-menu,.window.mail .window-menu{display:none}
 .taskbar{top:calc(var(--visible-top,0px) + var(--visible-height,100dvh) - var(--bar));bottom:auto;height:var(--bar);padding:4px;gap:4px}
 .taskbar button{height:42px;flex-shrink:0}#desktop-button{display:block;width:44px;font-size:24px}#tasks{min-width:0}#tasks button{min-width:42px;width:120px;font-size:13px}.task-divider{display:none}#clock{font-size:12px;padding:4px}
 #start-menu{top:auto;bottom:calc(100% - var(--visible-top,0px) - var(--visible-height,100dvh) + var(--bar));max-height:calc(var(--visible-height,100dvh) - var(--bar) - 6px);overflow:auto}
 #start-items button{min-height:44px}
 .content{overscroll-behavior:contain;overflow-x:hidden}
 .mail-client{display:flex;flex-direction:column;overflow:hidden}
 .mail-mobile-toolbar{display:flex;gap:8px;padding:6px;border-bottom:2px groove #fff;flex:none;background:#c0c0c0}
 .mail-mobile-toolbar button{min-height:44px;flex:1;font-weight:bold}
 .mail-list{display:flex;flex-direction:column;flex:1;min-height:0;padding:0;border:0;overflow:hidden}
 .mail-list>.mail-new{display:none}.mail-count{padding:10px;flex:none}
 .mail-items{display:block;overflow-y:auto;overflow-x:hidden;min-height:0;overscroll-behavior:contain}
 .mail-item{min-width:0;max-width:none;width:100%;padding:16px 12px;min-height:100px}
 .mail-client[data-view=reader] .mail-list{display:none}
 .mail-client[data-view=list] .mail-reader{display:none}
 .mail-reader{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:14px}
 .mail-reader h2{font-size:21px;overflow-wrap:anywhere}.mail-reader p{overflow-wrap:anywhere}
 .mail-compose textarea{resize:none}.mail-compose input{min-height:44px}.mail-send-row{flex-wrap:wrap}.mail-send-row button{min-height:44px}
 .terminal{padding:5px}.terminal form{min-height:36px}.terminal input{min-height:36px}
 .explorer{min-height:0}.address code{min-width:0;overflow-wrap:anywhere}
 .about-layout{grid-template-columns:1fr}.about-layout .portrait{width:110px;margin:0 auto}.tabs button{padding:8px}
 #toast{top:calc(var(--visible-top,0px) + 55px);bottom:auto;pointer-events:none}
}

@media(min-width:1001px), (min-width:601px) and (hover:hover){.window.mail{left:8px!important;max-width:calc(100vw - 16px)}}
/* Locally synthesized retro audio, without a scrubber. */
.dos-player{flex:none;border-top:1px solid #555;padding:6px 0;color:#ddd}
.dos-meter{height:20px;display:flex;gap:3px;align-items:end;margin:2px 0 6px}
.dos-meter i{display:block;flex:1;height:3px;background:#aaa}
.dos-player.playing i{animation:dos-level .55s steps(3,end) infinite alternate}
.dos-player.playing i:nth-child(3n){animation-delay:-.3s}.dos-player.playing i:nth-child(2n){animation-delay:-.15s}
@keyframes dos-level{to{height:19px;background:#ddd}}
.dos-player-buttons{display:flex;gap:6px}.dos-player-buttons button{font:inherit;color:#ddd;background:#111;border:1px solid #888;flex:1;min-height:36px;padding:4px}
@media(max-width:600px), (hover:none) and (pointer:coarse){.dos-player-buttons button{min-height:44px}.dos-meter{height:14px;margin-bottom:4px}}

.dos-output{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}
.dos-output .dos-player{white-space:normal;max-width:320px;border:1px solid #555;padding:8px;margin:8px 0 12px}
.dos-player-buttons button{display:grid;place-items:center;min-width:44px;min-height:44px}.dos-player-buttons svg{display:block;width:20px;height:20px}

.window.photo .photo-view{display:flex;flex-direction:column;justify-content:center;gap:8px;min-height:0}.window.photo .photo-view img{max-height:calc(100% - 40px);min-height:0;max-width:100%;object-fit:contain}.file img[data-icon=photo],.desktop-icon img[data-icon=photo]{object-fit:contain}

.legal-link{color:#111;font-size:12px;padding:8px 4px;flex-shrink:0}.window.legal address{font-style:normal;line-height:1.6}.window.legal .content{overflow:auto}.window.legal a{overflow-wrap:anywhere}@media(max-width:600px){.legal-link{font-size:11px;padding:12px 3px}#clock{display:none}}

.privacy-link{color:#111;font-size:12px;padding:8px 4px;flex-shrink:0}.window.privacy .content{overflow:auto;line-height:1.5}.window.privacy a{overflow-wrap:anywhere}.mail-privacy{margin:4px 0;font-size:14px}.mail-privacy a{display:inline-block;padding:8px 0}@media(max-width:600px){.legal-link,.privacy-link{font-size:11px;padding:12px 2px}#tasks{min-width:0}#tasks button{min-width:32px}}

.legal-link,.privacy-link{display:inline-flex;align-items:center;gap:3px}.legal-link img,.privacy-link img{flex:none;image-rendering:pixelated}@media(max-width:600px){.legal-link,.privacy-link{gap:2px;font-size:10px}}

.trash-files .file{touch-action:none;-webkit-user-select:none;user-select:none}.trash-files .file img{pointer-events:none;-webkit-user-drag:none}.trash-drag-ghost{position:fixed;z-index:100000;pointer-events:none;display:flex;align-items:center;flex-direction:column;width:100px;color:white;font-size:13px;text-shadow:1px 1px #000;opacity:.8}.trash-drag-ghost img{width:64px;height:64px;object-fit:contain;image-rendering:pixelated}.trash-drag-ghost.can-restore{opacity:1;filter:drop-shadow(0 0 3px white)}#windows.trash-drag-desktop{visibility:hidden}

.mail-compose-actions{display:flex;flex-direction:column;gap:8px}
@media(max-width:600px), (hover:none) and (pointer:coarse) and (max-width:1000px){
 .mail-reader.composing{padding:6px;overflow:hidden;display:flex;flex-direction:column}
 .mail-client[data-view=list] .mail-reader.composing{display:none}
 .mail-reader.composing>h2,.mail-compose .mail-recipient{display:none}
 .mail-compose{height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);grid-template-rows:44px minmax(32px,1fr) auto;gap:5px}
 .mail-compose .mail-name,.mail-compose .mail-email{min-width:0}
 .mail-compose .mail-subject-field,.mail-compose .mail-message-label,.mail-compose-actions{grid-column:1/-1;min-height:0}
 .mail-compose label>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .mail-compose input,.mail-compose textarea{font-size:16px!important;min-height:0;height:100%;margin:0}
 .mail-compose textarea{width:100%;min-height:0;resize:none;padding:6px;overflow:auto}
 .mail-compose-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 8px;border-top:2px groove white;background:#c0c0c0;padding:3px 6px}
 .mail-compose-actions .mail-human{grid-column:1;grid-row:1;min-height:44px;font-size:13px;gap:6px}
 .mail-compose-actions .mail-human input{width:22px;height:22px;flex:none}
 .mail-compose-actions .mail-send-row{display:contents}
 .mail-send-row button{grid-column:2;grid-row:1;min-height:44px;padding:4px 10px}
 .mail-privacy{grid-column:1;grid-row:2;margin:0;font-size:11px}
 .mail-privacy a{padding:2px 0}
 .mail-send-status{grid-column:1/-1;font-size:12px;max-height:42px;overflow:auto}
 .mail-send-status:empty{display:none}
 .short-viewport .mail-client.is-composing[data-view=reader] .mail-mobile-toolbar{padding:2px 4px;gap:4px}
 .short-viewport .mail-client.is-composing[data-view=reader] .mail-mobile-toolbar button{min-height:32px;padding:2px 8px}
 .short-viewport .mail-compose{grid-template-rows:36px minmax(28px,1fr) auto;gap:3px}
 .short-viewport .mail-reader.composing{padding:3px}
}
@media(max-width:600px), (hover:none) and (pointer:coarse) and (max-width:1000px){
 .short-viewport .window.mail .titlebar{height:36px;min-height:36px}
 .short-viewport .window.mail .titlebar button{height:30px;min-height:30px}
 .short-viewport .mail-compose-actions{padding:0 4px}
}
/* A little pixel gold for the compose action. */
.mail-new,.mail-mobile-new{position:relative;isolation:isolate;overflow:hidden!important;color:#382300!important;background:linear-gradient(125deg,#fff1a0 0%,#e5a51b 30%,#ffe88a 52%,#c68a0c 76%,#ffe296 100%)!important;border:2px solid!important;border-color:#fff7c7 #895700 #895700 #fff7c7!important;text-shadow:0 1px #fff2af;font-weight:bold;box-shadow:inset 0 0 0 1px #efbe4d}
.mail-new::before,.mail-mobile-new::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(110deg,transparent 30%,#fffbd9cc 47%,#ffffffef 50%,#fffbd9cc 53%,transparent 70%);transform:translateX(-150%);animation:mail-gold-shine 4.8s ease-in-out infinite}
.mail-new::after,.mail-mobile-new::after{content:"";position:absolute;right:10px;top:9px;width:3px;height:3px;background:#fffde7;pointer-events:none;box-shadow:-3px 0 #fffde7,3px 0 #fffde7,0 -3px #fffde7,0 3px #fffde7,-13px 13px #fff4b0,9px 20px #fffde7;animation:mail-gold-sparkle 1.9s steps(3,end) infinite;filter:drop-shadow(0 0 2px #fff5b1)}
.mail-mobile-new::after{animation-delay:.5s}.mail-new:focus-visible,.mail-mobile-new:focus-visible{outline:2px dotted #382300;outline-offset:-5px}
@keyframes mail-gold-shine{0%,40%{transform:translateX(-150%)}75%,100%{transform:translateX(150%)}}
@keyframes mail-gold-sparkle{0%,100%{opacity:.2}35%{opacity:1}65%{opacity:.45}}
@media(prefers-reduced-motion:reduce){.mail-new::before,.mail-mobile-new::before{animation:none;display:none}.mail-new::after,.mail-mobile-new::after{animation:none;opacity:.85}}

.mail-compose .mail-recipient input[readonly]{background:#e1e1e1;color:#666;border-color:#aaa #fff #fff #aaa;cursor:default}.mail-body a{overflow-wrap:anywhere}

/* Keep mobile navigation tappable without squeezing app buttons out. */
@media(max-width:600px), (hover:none) and (pointer:coarse) and (max-width:1000px){
 :root{--bar:80px}
 .taskbar{display:grid;grid-template-columns:auto minmax(0,1fr) 44px;grid-template-rows:44px 24px;gap:2px 4px;padding:4px}
 .taskbar #start{grid-column:1;grid-row:1;height:44px}
 #tasks{grid-column:2;grid-row:1;overflow-x:auto;width:100%}
 #tasks button{height:44px;flex:0 0 100px}
 #desktop-button{grid-column:3;grid-row:1;height:44px!important}
 .taskbar .legal-link,.taskbar .privacy-link{grid-row:2;padding:3px 6px;font-size:12px;min-height:24px;justify-content:center}
 .taskbar .legal-link{grid-column:1}.taskbar .privacy-link{grid-column:2 / 4;justify-self:end}
 #clock{display:none}
 .wallpaper{top:auto;bottom:20px;transform:translateX(-50%);width:200px;max-width:48vw;opacity:.8}
}

@media(max-width:600px), (hover:none) and (pointer:coarse) and (max-width:1000px){#desktop{overflow-y:auto;overflow-x:hidden}}

@media(max-width:600px), (hover:none) and (pointer:coarse) and (max-width:1000px){.desktop-icon{min-height:114px}}

/* Legal pages remain available in Start; keep the mobile taskbar compact. */
@media(max-width:600px), (hover:none) and (pointer:coarse) and (max-width:1000px){
 :root{--bar:54px}
 .taskbar{grid-template-rows:44px}
 .taskbar .legal-link,.taskbar .privacy-link{display:none}
}

.about-photo{display:flex;flex-direction:column;align-items:center;gap:6px}.linkedin-profile{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}.linkedin-profile img{width:32px;height:32px;image-rendering:pixelated}.linkedin-profile:hover{background:#ffffff40}

.game-link{text-decoration:none;color:#111;font:inherit;min-height:88px}.game-link:focus-visible{outline:1px dotted currentColor}
