.os{--teal:teal;--chrome:silver;--navy:navy;--gray:gray;--white:#fff;--lite:#dfdfdf;--black:#000;--accent:#f0f;--raise:inset 1px 1px 0 var(--white),inset -1px -1px 0 var(--black),inset 2px 2px 0 var(--lite),inset -2px -2px 0 var(--gray);--press:inset 1px 1px 0 var(--black),inset -1px -1px 0 var(--white),inset 2px 2px 0 var(--gray),inset -2px -2px 0 var(--lite);--hard:1px 1px 0 var(--black);--ui:Tahoma,"MS Sans Serif","Segoe UI",Arial,sans-serif;--doc:"Courier New","IBM Plex Mono",monospace;font-family:var(--ui);font-size:12px;line-height:1.5;color:var(--black);-webkit-font-smoothing:none;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.os *,.os :after,.os :before{border-radius:0!important;box-sizing:border-box}.os button,.os input,.os select,.os textarea{font:inherit;color:inherit}.os-raised{background:var(--chrome);box-shadow:var(--raise)}.os-sunken{background:var(--white);box-shadow:var(--press)}.os-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:24px;padding:2px 12px;background:var(--chrome);box-shadow:var(--raise);border:0;cursor:pointer;white-space:nowrap}.os-btn.is-on,.os-btn:active,.os-btn[aria-pressed=true]{box-shadow:var(--press);padding:3px 11px 1px 13px}.os-btn:focus-visible{outline:1px dotted var(--black);outline-offset:-4px}.os .os-link,.os a{color:var(--navy);text-decoration:underline;cursor:pointer}.os ::-moz-selection{background:var(--navy);color:var(--white)}.os ::selection{background:var(--navy);color:var(--white)}.os-window{position:absolute;display:flex;flex-direction:column;background:var(--chrome);box-shadow:var(--raise),var(--hard);min-width:180px;min-height:120px}.os-titlebar{touch-action:none;display:flex;align-items:center;gap:4px;height:22px;margin:3px;padding:0 2px 0 6px;background:var(--navy);color:var(--white);font-weight:700;cursor:grab}.os-titlebar.is-inactive{background:var(--gray)}.os-titlebar:active{cursor:grabbing}.os-titlebar__text{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.os-titlebar .os-btn{min-height:16px;height:16px;width:18px;padding:0;font-size:10px;font-weight:700;line-height:1}.os-window__body{flex:1;margin:0 3px 3px;overflow:auto;background:var(--chrome);min-height:0}.os-window__body--doc{background:var(--white);box-shadow:var(--press);font-family:var(--doc);font-size:13px;-webkit-user-select:text;-moz-user-select:text;user-select:text;cursor:text}.os-resize{touch-action:none;position:absolute;inset-block-end:2px;inset-inline-end:2px;width:14px;height:14px;cursor:nwse-resize;background:repeating-linear-gradient(135deg,transparent 0 2px,var(--gray) 2px 3px,var(--white) 3px 4px)}.os-menu{position:absolute;z-index:9000;min-width:160px;background:var(--chrome);box-shadow:var(--raise),var(--hard);padding:2px}.os-menu a,.os-menu button{display:flex;width:100%;align-items:center;gap:8px;padding:4px 16px 4px 8px;background:transparent;border:0;box-shadow:none;text-align:start;cursor:pointer;text-decoration:none;color:var(--black)}.os-menu a:focus-visible,.os-menu a:hover,.os-menu button:focus-visible,.os-menu button:hover{background:var(--navy);color:var(--white);outline:none}.os-menu hr{border:0;border-top:1px solid var(--gray);border-bottom:1px solid var(--white);margin:2px 1px}.os-field{background:var(--white);box-shadow:var(--press);border:0;padding:3px 6px;min-height:24px;cursor:text;-webkit-user-select:text;-moz-user-select:text;user-select:text}.os-field:focus{outline:1px dotted var(--black);outline-offset:-3px}.os-progress{height:16px;box-shadow:var(--press);background:var(--white);overflow:hidden}.os-progress>i{display:block;height:100%;background:linear-gradient(90deg,var(--navy),var(--teal))}.os .anim{transition-timing-function:linear;transition-duration:.1s}@media(prefers-reduced-motion:reduce){.os *,.os :after,.os :before{animation:none!important;transition:none!important}}.os-iconlabel{color:var(--white);text-shadow:1px 1px 0 var(--black);text-align:center}.os-iconlabel.is-selected{background:var(--navy);outline:1px dotted var(--white)}@media(prefers-reduced-motion:no-preference){.os-window.is-buzzing{animation:os-buzz .12s steps(2,jump-none) 3}}@keyframes os-buzz{0%{translate:-4px 0}to{translate:4px 2px}}.os-zoomrect{position:fixed;z-index:9999;border:1px solid var(--lite);pointer-events:none;transition:left .11s linear,top .11s linear,width .11s linear,height .11s linear}.os-scanlines{background-image:repeating-linear-gradient(180deg,rgba(0,0,0,.22) 0 1px,transparent 1px 3px)}
