:root{--desktop:teal;--face:silver;--hl:#fff;--hl2:#dfdfdf;--sh:gray;--sh2:#000;--title:navy;--title-end:#1084d0;--title-idle:gray;--title-idle-end:#b5b5b5;--text:#000;--font:Tahoma, "MS Sans Serif", "Segoe UI", Geneva, Verdana, sans-serif;--mono:"Lucida Console", ui-monospace, "Cascadia Mono", "Consolas", monospace}*,:before,:after{box-sizing:border-box}html,body{background:var(--desktop);height:100%;margin:0}body{font:12px/1.35 var(--font);color:var(--text)}button,input,a{font:inherit}[hidden]{display:none!important}.skip{position:absolute;top:8px;left:-999px}.skip:focus{z-index:10000;color:#fff;background:#000;padding:6px 10px;left:8px}.pix{flex-shrink:0;width:32px;height:32px;display:block}.pix-sm{width:32px;height:32px}.desktop{background:var(--desktop);-webkit-user-select:none;user-select:none;height:100dvh;display:none;position:relative;overflow:hidden}.desk-icons{position:absolute;inset:0 0 28px}.desk-icon{color:#fff;cursor:default;text-shadow:1px 1px #000;background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;width:76px;padding:4px 2px;text-decoration:none;display:flex;position:absolute}.desk-icon:focus{outline:none}.desk-icon:focus-visible .desk-label,.desk-icon:focus .desk-label{background:navy;outline:1px dotted #fff}.desk-label{text-align:center;max-width:72px;padding:1px 4px}.desk-windows{pointer-events:none;position:absolute;inset:0 0 28px}.desk-windows>*{pointer-events:auto}.os-window{background:var(--face);box-shadow:inset 1px 1px 0 var(--hl), inset 2px 2px 0 var(--hl2), inset -1px -1px 0 var(--sh2), inset -2px -2px 0 var(--sh);flex-direction:column;padding:3px;display:flex;position:absolute;overflow:hidden}.os-window.focused{z-index:50}.titlebar{background:linear-gradient(to right, var(--title-idle), var(--title-idle-end));color:#fff;cursor:grab;touch-action:none;align-items:center;gap:4px;height:20px;padding:2px 2px 2px 3px;font-size:11px;font-weight:700;display:flex}.os-window.focused .titlebar{background:linear-gradient(to right, var(--title), var(--title-end))}.titlebar-icon .pix,.titlebar-icon svg{width:14px;height:14px}.titlebar-label{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.titlebar-btns{flex-shrink:0;gap:2px;display:flex}.wbtn{background:var(--face);width:16px;height:14px;box-shadow:inset 1px 1px 0 var(--hl), inset 2px 2px 0 var(--hl2), inset -1px -1px 0 var(--sh2), inset -2px -2px 0 var(--sh);cursor:default;border:none;place-items:center;padding:0;display:grid}.wbtn svg{display:block}.wbtn:active{box-shadow:inset 1px 1px 0 var(--sh2), inset -1px -1px 0 var(--hl)}.wbtn[data-close]{margin-left:2px}.win-body{flex:1;min-height:0;margin-top:2px;overflow:auto}.sunken{box-shadow:inset 1px 1px 0 var(--sh2), inset 2px 2px 0 var(--sh), inset -1px -1px 0 var(--hl), inset -2px -2px 0 var(--hl2);background:#fff}.os-btn{background:var(--face);min-width:74px;box-shadow:inset 1px 1px 0 var(--hl), inset 2px 2px 0 var(--hl2), inset -1px -1px 0 var(--sh2), inset -2px -2px 0 var(--sh);cursor:default;border:none;padding:4px 12px}.os-btn:focus-visible{outline-offset:-4px;outline:1px dotted #000}.os-btn:active{box-shadow:inset 1px 1px 0 var(--sh2), inset 2px 2px 0 var(--sh), inset -1px -1px 0 var(--hl)}.about-body{flex-direction:column;gap:12px;padding:12px 14px 10px;display:flex}.about-row{align-items:center;gap:12px;display:flex}.about-name{margin:0 0 4px;font-weight:700}.about-body p{margin:0}.contact{flex-wrap:wrap;gap:8px 14px;margin:0;padding:0;list-style:none;display:flex}.contact a,.project-links a{color:navy}.dlg-actions{justify-content:flex-end;margin-top:auto;display:flex}.projects-body{padding:0}.project-row{border-bottom:1px solid var(--face);gap:10px;padding:10px 12px;display:flex}.project-row:last-child{border-bottom:none}.project-icon{flex-shrink:0}.project-icon img{object-fit:cover;background:var(--face);width:40px;height:40px;box-shadow:inset 1px 1px 0 var(--sh), inset -1px -1px 0 var(--hl)}.project-meta h2{margin:0 0 2px;font-size:12px}.project-meta p{margin:0}.project-links{margin-top:4px!important}.empty{color:#404040;margin:16px}.term{color:silver;font:12px/1.4 var(--mono);cursor:text;-webkit-user-select:text;user-select:text;background:#000;flex-direction:column;padding:6px 8px;display:flex;overflow:hidden}.term-log{flex:1;min-height:0;overflow:auto}.term-banner,.term-out,.term-echo{white-space:pre-wrap;word-break:break-word;margin:0 0 4px}.term-log pre{font:inherit;margin:0 0 4px}.term-line{align-items:baseline;gap:6px;display:flex}.term-prompt{color:silver;flex-shrink:0}.term-input{color:#fff;caret-color:#fff;background:0 0;border:0;outline:none;flex:1;min-width:0;padding:0}.taskbar{background:var(--face);height:28px;box-shadow:inset 0 1px 0 var(--hl);z-index:10000;align-items:center;gap:4px;padding:2px 4px;display:flex;position:absolute;bottom:0;left:0;right:0}.start-btn{background:var(--face);height:22px;box-shadow:inset 1px 1px 0 var(--hl), inset 2px 2px 0 var(--hl2), inset -1px -1px 0 var(--sh2), inset -2px -2px 0 var(--sh);border:none;align-items:center;gap:4px;padding:0 8px 0 4px;font-weight:700;display:flex}.start-btn.pressed,.start-btn:active{box-shadow:inset 1px 1px 0 var(--sh2), inset 2px 2px 0 var(--sh), inset -1px -1px 0 var(--hl)}.start-logo{background-color:#0000;background-image:linear-gradient(#e03c3c 50%,#3c78e0 50%),linear-gradient(#3cce3c 50%,#e6c83c 50%);background-position:0 0,100% 0;background-repeat:no-repeat;background-size:50% 100%,50% 100%;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;width:16px;height:16px;box-shadow:inset 0 0 0 1px #000}.task-list{flex:1;gap:3px;min-width:0;display:flex;overflow:hidden}.task-btn{background:var(--face);min-width:0;max-width:160px;height:22px;box-shadow:inset 1px 1px 0 var(--hl), inset -1px -1px 0 var(--sh2);border:none;align-items:center;gap:6px;padding:0 8px 0 4px;display:flex;overflow:hidden}.task-btn .pix,.task-btn svg{width:16px;height:16px}.task-btn span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.task-btn.active{box-shadow:inset 1px 1px 0 var(--sh2), inset 2px 2px 0 var(--sh), inset -1px -1px 0 var(--hl);background:#e0e0e0;font-weight:700}.tray{min-width:72px;height:22px;box-shadow:inset 1px 1px 0 var(--sh), inset -1px -1px 0 var(--hl);font-variant-numeric:tabular-nums;place-items:center;padding:0 8px;display:grid}.start-menu{background:var(--face);z-index:10001;min-width:180px;box-shadow:inset 1px 1px 0 var(--hl), inset 2px 2px 0 var(--hl2), inset -1px -1px 0 var(--sh2), inset -2px -2px 0 var(--sh);display:flex;position:absolute;bottom:28px;left:2px}.start-menu[hidden]{display:none}.start-side{color:#fff;letter-spacing:1px;background:linear-gradient(navy,#1084d0);justify-content:center;align-items:flex-end;width:22px;padding:8px 0;font-size:14px;font-weight:700;display:flex}.start-side span{writing-mode:vertical-rl;transform:rotate(180deg)}.start-items{flex-direction:column;flex:1;padding:2px 0;display:flex}.start-items button,.start-link{width:100%;color:inherit;text-align:left;cursor:default;background:0 0;border:none;align-items:center;gap:8px;padding:6px 16px 6px 8px;text-decoration:none;display:flex}.start-items button:hover,.start-items button:focus-visible,.start-link:hover,.start-link:focus-visible{color:#fff;background:navy;outline:none}.start-items button .pix,.start-link .pix{width:24px;height:24px}.start-items hr{border:0;border-top:1px solid var(--sh);border-bottom:1px solid var(--hl);margin:4px 2px}.shutdown{z-index:10010;color:#ff8000;text-align:center;cursor:default;background:#000;place-items:center;font:28px/1.3 Times New Roman,Times,serif;display:grid;position:absolute;inset:0}.shutdown[hidden]{display:none}.shutdown-hint{color:gray;font:12px var(--font)}.mobile{color:#161616;background:#f4f1ea;min-height:100dvh;padding:0 0 48px;display:block}.m-top{background:var(--desktop);color:#fff;padding:28px 20px 24px}.m-top h1{font:700 28px/1.1 var(--font);margin:0 0 8px}.m-top p{max-width:28rem;margin:0}.m-contact{flex-wrap:wrap;gap:8px 16px;margin-top:16px;display:flex}.m-contact a,.m-lab a,.m-links a{color:inherit}.m-contact a{color:#fff}.mobile section{padding:24px 20px 0}.mobile section>h2{letter-spacing:.08em;text-transform:uppercase;color:#4a4a4a;margin:0 0 12px;font-size:13px}.m-project{border-bottom:1px solid #ddd6c8;gap:12px;padding:14px 0;display:flex}.m-project h2{margin:0 0 4px;font-size:18px}.m-project p{margin:0}.m-links{margin-top:6px!important}.m-lab{margin:0;padding:24px 20px 0;font-size:18px}@media (min-width:721px){.mobile,.skip{display:none}.desktop{display:block}}@media (max-width:720px){.desktop{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
