:root{--silver:#c0c0c0;--light:#fff;--mid:#808080;--dark:#000;--navy:#000080;--taskbar-height:44px;--cloud-energy:0;color-scheme:light;font-family:"MS Sans Serif",Tahoma,Arial,sans-serif;font-size:13px}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{background:#465767;color:#080808}button,input{font:inherit;color:inherit}button{cursor:default}button:disabled{color:#777;text-shadow:1px 1px white}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:1px dotted currentColor;outline-offset:-5px}button::-moz-focus-inner{border:0}button{border-radius:0}button:active{transform:none}[hidden]{display:none!important}.bevel{background:var(--silver);border:2px solid;border-color:#fff #202020 #202020 #fff;box-shadow:inset -1px -1px #808080,inset 1px 1px #dfdfdf}.bevel:active,.bevel.pressed{border-color:#202020 #fff #fff #202020;box-shadow:inset 1px 1px #808080}.inset{border:2px solid;border-color:#808080 #fff #fff #808080;box-shadow:inset 1px 1px #454545}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-70px;left:10px;z-index:99999;background:#fff;padding:12px;color:#000080}.skip-link:focus{top:8px}#desktop{position:absolute;inset:0 0 var(--taskbar-height);isolation:isolate;overflow:hidden}#landscape{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}#scene{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:100%;height:100%}#wallpaper,#storm-light{position:absolute;inset:0;width:100%;height:100%;display:block}#wallpaper{object-fit:cover}#storm-light{pointer-events:none}
#desktop-icons{position:absolute;inset:30px auto 12px 20px;display:grid;grid-auto-flow:column;grid-template-rows:repeat(5,100px);grid-auto-columns:126px;align-content:start;gap:7px 8px;max-height:calc(100% - 42px)}.desktop-icon{width:126px;height:100px;border:1px solid transparent;background:transparent;color:white;padding:3px 2px;display:flex;align-items:center;justify-content:flex-start;flex-direction:column;gap:6px;text-align:center;user-select:none;-webkit-tap-highlight-color:transparent}.desktop-icon .icon-art{width:70px;height:57px;display:flex;align-items:center;justify-content:center;flex:none}.desktop-icon[data-app="about"] .icon-art{width:116px}.desktop-icon .icon-art svg{width:52px;height:52px;filter:drop-shadow(1px 1px 0 #222)}.desktop-icon .icon-label{max-width:122px;line-height:1.13;font-weight:bold;font-size:15px;letter-spacing:.1px;text-shadow:1px 1px #141414,-1px -1px #141414,1px -1px #141414,-1px 1px #141414,0 2px 1px #141414;padding:1px 3px}.desktop-icon:focus-visible,.desktop-icon.selected{border:1px dotted rgba(255,255,255,.85);background:rgba(0,0,128,.12);outline:none}.desktop-icon.selected .icon-label{background:#000080}.about-cloud{width:116px;height:auto;image-rendering:auto;filter:drop-shadow(1px 1px 0 #222) brightness(calc(1 + var(--cloud-energy)*.23))}.pat-art{width:67px;height:56px;object-fit:contain}.pat-canvas{width:70px;height:56px;display:block}.small-icon{display:block;width:18px;height:18px;object-fit:contain}.small-icon.cloud{width:25px;height:16px}.small-icon.pat-canvas{width:21px;height:18px}.pixel-art{shape-rendering:crispEdges}
#taskbar{position:fixed;bottom:0;left:0;right:0;height:var(--taskbar-height);display:flex;align-items:center;gap:6px;padding:4px;background:var(--silver);border-top:2px solid #fff;box-shadow:0 -1px #808080;z-index:10000}#start-button{height:34px;min-width:89px;display:flex;align-items:center;justify-content:center;gap:6px;padding:2px 10px;font-size:17px}#start-icon svg{display:block;width:24px;height:24px}.taskbar-divider{height:30px;width:3px;border-left:1px solid #808080;border-right:1px solid white;margin:0 2px}#task-buttons{display:flex;flex:1;gap:4px;min-width:0;overflow-x:auto;scrollbar-width:none;height:32px}.task-button{height:32px;min-width:50px;max-width:178px;flex:1;display:flex;align-items:center;gap:5px;padding:3px 8px;text-align:left;white-space:nowrap;overflow:hidden}.task-button span:last-child{overflow:hidden;text-overflow:ellipsis}.task-button.active{font-weight:bold;background:repeating-conic-gradient(#ddd 0 25%,#c0c0c0 0 50%) 0 0/2px 2px;border-color:#202020 #fff #fff #202020;box-shadow:inset 1px 1px #808080}.system-tray{height:34px;display:flex;align-items:center;padding:1px 4px;gap:3px;flex:none}.system-tray button{border:0;background:none;padding:0}#sound-button{width:30px;height:28px}#sound-button svg{width:22px;height:22px}#clock-button{min-width:76px;height:28px;font-size:12px;display:flex;flex-direction:column;justify-content:center;line-height:1.12;padding:1px 3px;letter-spacing:.1px}
.popup{position:fixed;z-index:20000;padding:3px;min-width:190px}.popup button{width:100%;min-height:33px;display:flex;align-items:center;gap:10px;border:0;background:none;text-align:left;padding:6px 12px}.popup button:hover,.popup button:focus{background:var(--navy);color:white;outline:none}.popup button:disabled:hover{background:transparent;color:#777}.popup .menu-divider{height:2px;border-top:1px solid #808080;border-bottom:1px solid white;margin:4px 2px}.popup .menu-hint{margin-left:auto;font-size:11px;color:#555}.popup button:hover .menu-hint,.popup button:focus .menu-hint{color:white}#start-menu{bottom:var(--taskbar-height);left:4px;display:flex;min-width:260px;padding:3px}.start-rail{width:31px;background:#808080;color:#c0c0c0;position:relative;flex:none;overflow:hidden}.start-rail span{position:absolute;bottom:9px;left:5px;writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;letter-spacing:1.4px;font-size:17px}.start-rail b{color:#fff;font-weight:normal}.start-items{flex:1;padding:0 2px}.start-items button{min-height:39px;padding:5px 10px}.start-items .menu-icon{width:30px;display:flex;align-items:center;justify-content:center}.start-items .menu-icon svg{width:25px;height:25px}.start-items .small-icon{width:28px;height:25px}
#windows{position:absolute;inset:0;pointer-events:none}.window{position:absolute;pointer-events:auto;min-width:270px;width:520px;max-width:calc(100% - 24px);max-height:calc(100% - 24px);display:flex;flex-direction:column;padding:3px;background:var(--silver);border:2px solid;border-color:#fff #202020 #202020 #fff;box-shadow:inset -1px -1px #808080,inset 1px 1px #dfdfdf,3px 3px 0 rgba(0,0,0,.18)}.window.maximized{left:0!important;top:0!important;width:100%!important;max-width:none;height:100%;max-height:none}.titlebar{height:26px;flex:none;background:#808080;color:#eee;display:flex;align-items:center;padding:3px 3px 3px 5px;gap:5px;user-select:none;touch-action:none}.window.active .titlebar{background:var(--navy);color:#fff}.window-title{font-size:13px;font-weight:bold;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.titlebar .title-icon svg{width:17px;height:17px;display:block}.titlebar .title-icon img{max-width:21px;max-height:16px}.window-controls{display:flex;gap:2px;flex:none}.window-controls button{height:19px;width:21px;position:relative;padding:0;display:flex;align-items:center;justify-content:center;color:black;font:16px Arial;line-height:1}.window-controls .minimize:before{content:"";width:8px;height:2px;background:#000;position:absolute;bottom:4px}.window-controls .maximize:before{content:"";width:10px;height:9px;border:1px solid #000;border-top-width:3px}.window-controls .close:before,.window-controls .close:after{content:"";width:12px;height:2px;background:#000;position:absolute;transform:rotate(45deg)}.window-controls .close:after{transform:rotate(-45deg)}.window-controls .close{margin-left:2px}.window-menu{display:flex;gap:3px;flex:none;min-height:25px;border-bottom:1px solid #808080;margin:0 1px;padding:2px}.window-menu button{border:0;background:none;padding:3px 7px;font-size:12px}.window-menu button:hover,.window-menu button:focus-visible{background:var(--navy);color:#fff}.window-content{overflow:auto;padding:19px 23px 23px;min-height:0;scrollbar-color:#c0c0c0 #dfdfdf}.window-status{border:1px solid;border-color:#808080 #fff #fff #808080;min-height:22px;margin:0 1px 1px;padding:3px 6px;font-size:11px;flex:none;color:#303030}.window h2{font-size:23px;line-height:1.12;font-weight:bold;margin:12px 0 13px;letter-spacing:-.65px}.window p{font-size:14px;line-height:1.55;margin:0 0 14px}.window .eyebrow{font:11px "Courier New",monospace;text-transform:uppercase;letter-spacing:1.5px;color:#505050;display:block}.draft-note{font-size:11px!important;color:#555;padding-top:13px;border-top:1px solid #909090;margin:19px 0 0!important}.brand-lockup{display:flex;align-items:center;gap:17px;padding:8px 0 11px;border-bottom:1px solid #909090}.brand-lockup img{width:127px}.brand-lockup .pat-canvas{width:68px;height:56px}.brand-lockup .version-tag{margin-left:auto;border:1px solid #808080;padding:3px 5px;font:10px "Courier New",monospace;white-space:nowrap}.window .action-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:19px}.classic-button{min-height:30px;min-width:91px;padding:5px 13px}.status-line{display:flex;align-items:center;gap:8px;font-size:12px;margin:16px 0;padding:10px 12px;background:#d6d6d6;border:1px solid;border-color:#808080 #fff #fff #808080}.status-dot{width:7px;height:7px;background:#808000;border:1px solid #3d3d00}.empty-state{text-align:center;padding:13px 3px 12px}.empty-state .empty-art{margin:0 auto 15px;width:53px;height:53px}.empty-state .empty-art svg{width:100%;height:100%}.empty-state h2{letter-spacing:0}.empty-state p{max-width:325px;margin:0 auto 12px;color:inherit}.empty-state .small-note{font:11px "Courier New",monospace;margin-top:19px;color:#555}.help-list{font-size:13px;line-height:1.5;margin:0;padding-left:19px}.help-list li{margin-bottom:8px}.help-list kbd{font:11px "Courier New",monospace;border:1px solid;border-color:#fff #808080 #808080 #fff;background:#ddd;padding:1px 4px}.no-script{position:absolute;left:170px;top:40px;max-width:420px;background:#c0c0c0;padding:20px}.no-script h1{font-size:22px}.no-script p{line-height:1.5}
@media(max-height:640px) and (min-width:561px){#desktop-icons{top:14px;grid-template-rows:repeat(5,82px);gap:3px}.desktop-icon{height:82px}.desktop-icon .icon-art{height:45px}.desktop-icon .icon-art svg{width:43px;height:43px}.desktop-icon .about-cloud{width:104px}.desktop-icon .icon-label{font-size:13px}.desktop-icon .pat-canvas{width:57px;height:45px}}
@media(max-height:465px) and (min-width:561px){#desktop-icons{grid-template-rows:repeat(3,82px)}}
@media(max-width:560px){:root{--taskbar-height:52px}#taskbar{padding-bottom:calc(4px + env(safe-area-inset-bottom,0px));height:calc(var(--taskbar-height) + env(safe-area-inset-bottom,0px))}#desktop{bottom:calc(var(--taskbar-height) + env(safe-area-inset-bottom,0px))}#desktop-icons{left:12px;top:21px;grid-auto-columns:108px;grid-template-rows:repeat(5,88px);gap:5px}.desktop-icon{width:108px;height:88px;gap:4px}.desktop-icon .icon-art{height:50px}.desktop-icon[data-app="about"] .icon-art{width:105px}.desktop-icon .about-cloud{width:105px}.desktop-icon .icon-label{font-size:13px;max-width:106px}.desktop-icon .icon-art svg{width:43px;height:43px}.desktop-icon .pat-canvas{width:61px;height:49px}#start-button{min-width:75px;height:38px;font-size:16px;padding:3px 7px}#task-buttons{height:38px;gap:3px}.task-button{height:38px;min-width:38px;padding:3px 6px}.task-button span:last-child{display:none}.task-button .small-icon{margin:auto}.system-tray{height:38px;padding:1px 2px;gap:0}#sound-button{width:32px;height:34px}#clock-button{min-width:69px;font-size:11px;height:34px}.taskbar-divider{margin:0;width:2px}#taskbar{gap:4px}#start-menu{bottom:calc(var(--taskbar-height) + env(safe-area-inset-bottom,0px))}.popup button{min-height:42px}.window{left:9px!important;top:12px!important;width:calc(100% - 18px)!important;max-width:calc(100% - 18px);max-height:calc(100% - 24px);min-width:0}.titlebar{height:34px}.window-controls button{width:28px;height:26px}.window-menu{min-height:31px}.window-menu button{padding:5px 9px}.window-content{padding:17px}.window h2{font-size:23px}.window p{font-size:13px}.no-script{left:10px;right:10px;top:12px}.start-items button{min-height:43px}}
@media(max-width:560px) and (max-height:620px){#desktop-icons{grid-template-rows:repeat(3,86px)}}
.small-icon>svg{width:100%;height:100%;display:block}.title-icon .pat-canvas{width:21px;height:17px}
.detailed-icon{shape-rendering:geometricPrecision}.desktop-icon .icon-art .detailed-icon{width:58px;height:58px;filter:none}.desktop-icon .about-cloud{filter:drop-shadow(1px 1px 0 #2d2d2d) brightness(calc(1 + var(--cloud-energy)*.38))}.desktop-icon .pat-canvas{image-rendering:auto}.empty-state .detailed-icon{shape-rendering:geometricPrecision}
.window-brand-artwork{display:flex;align-items:center;justify-content:flex-start;background:transparent;border:0;padding:0;margin:0;min-height:0}.window-brand-artwork img{display:block;width:auto;max-width:100%;height:auto;max-height:170px;object-fit:contain}.window-brand-artwork.pat-wordmark img{max-height:120px}.app-page{width:100%;margin:0 auto}.window .status-line{max-width:300px}
@media(min-width:561px){.primary-window .window-content{padding:clamp(23px,3.5vw,48px)}.primary-window .app-page{max-width:890px}.primary-window h2{font-size:30px;line-height:1.15;margin:20px 0 17px}.primary-window p{font-size:16px;line-height:1.6;max-width:76ch}.primary-window .window-brand-artwork img{max-height:180px}.primary-window .window-brand-artwork.pat-wordmark img{max-height:140px}.primary-window .empty-state{padding:clamp(35px,8vh,105px) 0}.primary-window .empty-state .empty-art{width:76px;height:76px}.primary-window .empty-state p{max-width:440px}.primary-window .action-row{margin-top:26px}.primary-window .classic-button{min-height:34px}}
.window-content{background:var(--silver);color:#202020}.window .app-page{max-width:1060px}.window h3{font-size:20px;line-height:1.25;font-weight:600;letter-spacing:-.2px;margin:11px 0 12px}.company-hero{display:flex;flex-wrap:wrap;align-items:center;gap:35px;padding:8px 0 33px;border-bottom:1px solid #909090;margin-bottom:29px}.company-hero>.window-brand-artwork{flex:1 1 255px;max-width:380px}.company-hero>.hero-copy{flex:1.5 1 340px}.window p.lead{margin-bottom:0}.editorial-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:35px}.section-index{font:11px "Courier New",monospace;letter-spacing:1.5px;color:#505050}.editorial-section{padding-top:26px;margin-top:13px;border-top:1px solid #909090}.editorial-footer{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;margin-top:27px;padding-top:24px;border-top:1px solid #909090}.window .editorial-footer p{font-size:14px;margin:0;max-width:42ch;color:#444}.editorial-footer .action-row{align-items:center;margin:0;gap:12px}.project-status{display:inline-flex;align-items:center;gap:8px;font:11px "Courier New",monospace;letter-spacing:1.2px;color:#404040;text-transform:uppercase}.project-status .status-dot{background:#aaa05c;border-color:#736d44}.window .editorial-introduction{max-width:78ch;margin-bottom:12px}.training-step{display:grid;grid-template-columns:31px minmax(0,1fr);gap:17px;padding:21px 0;border-top:1px solid #909090}.training-step .section-index{padding-top:13px}.training-step h3{margin-top:7px}.training-step p{margin-bottom:0}.demo-footer{margin-top:10px}.demo-footer h3{margin:9px 0 8px}.coming-soon{font:11px "Courier New",monospace;color:#444;white-space:nowrap}.demo-footer .action-row{gap:11px 15px}
@media(max-height:640px) and (min-width:561px){.desktop-icon .icon-art .detailed-icon{width:48px;height:48px}}
@media(max-width:560px){.desktop-icon .icon-art .detailed-icon{width:49px;height:49px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.window[data-app="weather"]{height:min(760px,calc(100% - 24px))}.window[data-app="weather"]>.window-content{padding:0;display:flex;flex:1;min-width:0;min-height:0;overflow:hidden;background:#d4d0c8}.weather-frame{display:block;width:100%;height:100%;min-width:0;min-height:0;flex:1;border:0;background:#d4d0c8}

.contact-page{max-width:720px}.contact-form{display:flex;flex-direction:column;gap:8px;margin-top:25px}.contact-form label{font-weight:bold;margin-top:10px}.contact-form input,.contact-form textarea{width:100%;min-width:0;padding:10px;background:#fff;border:2px solid;border-color:#808080 #fff #fff #808080;box-shadow:inset 1px 1px #454545;font:inherit;color:#202020;border-radius:0}.contact-form textarea{resize:vertical;min-height:150px;max-height:420px}.contact-form input{min-height:42px}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid #000080;outline-offset:1px}.window .contact-form .form-status{font-size:13px;line-height:1.5;margin:12px 0 4px;color:#444}.contact-form .classic-button{align-self:flex-start;min-width:130px}

/* Let the vertical wordmark contribute to menu height instead of clipping it. */
#start-menu {
  max-height: calc(100dvh - var(--taskbar-height) - 12px);
  overflow-y: auto;
  overscroll-behavior: contain;
}
.start-rail {
  display: flex;
  align-items: flex-end;
  min-height: max-content;
  padding: 9px 5px;
  overflow: visible;
}
.start-rail span {
  position: static;
  display: block;
  flex-shrink: 0;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  white-space: nowrap;
}
@media (max-height: 360px) {
  .start-rail span { font-size: 14px; letter-spacing: .8px; }
}

/* Give the supplied square artwork room while keeping its complete canvas. */
.window[data-app="about"] img[src="assets/heavyweather-about.png"] {
  max-height: 280px;
  max-width: 100%;
  width: auto;
}
@media (max-width: 700px) {
  .window[data-app="about"] img[src="assets/heavyweather-about.png"] {
    max-height: 220px;
  }
}
@media (min-width: 701px) {
  .window[data-app="bug"] { height: min(720px, calc(100% - 24px)); }
}

/* Grid-positioned desktop icons and the classic drag-selection rectangle. */
.window[data-app="paint"] { height: min(800px, calc(100% - 24px)); }
.window[data-app="paint"] > .window-menu { display: none; }
.window[data-app="paint"] > .window-content {
  padding: 0; display: flex; flex: 1; min-width: 0; min-height: 0;
  overflow: hidden; background: #c0c0c0;
}
.paint-frame { display: block; width: 100%; height: 100%; flex: 1; min-width: 0; min-height: 0; border: 0; background: #c0c0c0; }
@media (min-width: 701px) {
  #desktop-icons.free-icons {
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-height: none;
    pointer-events: none;
    z-index: 1;
  }
  #desktop-icons.free-icons .desktop-icon {
    position: absolute;
    pointer-events: auto;
    touch-action: none;
  }
  #desktop-icons.free-icons .desktop-icon.is-dragging-icon { z-index: 1; }
  .desktop-selection-box {
    position: absolute;
    z-index: 2;
    pointer-events: none;
    border: 1px dotted #fff;
    outline: 1px dotted #000080;
    background: rgba(0, 0, 128, .14);
  }
  .window.is-moving, #desktop.is-selecting, #desktop.is-dragging-icons { user-select: none; }
  .window.is-moving .titlebar { cursor: move; }
  .window.is-moving iframe { pointer-events: none; }
}
@media (max-width: 700px) {
  .desktop-selection-box { display: none; }
  .window[data-app="paint"], .task-button[data-app="paint"], .start-items [data-control="paint"] { display: none !important; }
}
