@font-face{font-family:"Beep 16";src:url("/fonts/beep-16.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Beep 16";src:url("/fonts/beep-16-bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Beep 24";src:url("/fonts/beep-24.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Beep 24";src:url("/fonts/beep-24-bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Beep 32";src:url("/fonts/beep-32.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Beep 32";src:url("/fonts/beep-32-bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Beep 40";src:url("/fonts/beep-40.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Beep 40";src:url("/fonts/beep-40-bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Beep 48";src:url("/fonts/beep-48.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Beep 48";src:url("/fonts/beep-48-bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Beep 56";src:url("/fonts/beep-56.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Beep 56";src:url("/fonts/beep-56-bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
:root{--h1:48px;--h2:40px;--h3:40px;--h4:32px;--body:24px;--small:16px;--fallback:'DejaVu Sans Mono','Lucida Console','Courier New',monospace;--p16:'Beep 16',var(--fallback);--p24:'Beep 24',var(--fallback);--p32:'Beep 32',var(--fallback);--p40:'Beep 40',var(--fallback);--p48:'Beep 48',var(--fallback);--p56:'Beep 56',var(--fallback);--h1-face:var(--p48);--h2-face:var(--p40);--h3-face:var(--p40);--h4-face:var(--p32);--body-face:var(--p24);--small-face:var(--p16);font-size:var(--body);font-family:var(--body-face);--ink:#010116;--red:#e85678;--green:#89e079;--yellow:#ffff66;--blue:#5577d0;--pink:#e975b5;--cyan:#45ffff;--text:#ffb1f3;--muted:#d889aa;--purple:#604070;--bright:#d889aa;--panel:#010116;--line:#604070;--mono:var(--body-face);color-scheme:dark;font-family:var(--mono);font-synthesis:none;line-height:1.5;background:var(--ink);color:var(--text)}
/* Beep draws every size on its own pixel grid, one family per size:
   whatever sets a font-size also names that size's family. Multiples of 8 only. */
h1,.editor-title{font-size:var(--h1);font-family:var(--h1-face)}h2,.empty strong,.welcome h1 em{font-size:var(--h2);font-family:var(--h2-face)}h3{font-size:var(--h3);font-family:var(--h3-face)}h4{font-size:var(--h4);font-family:var(--h4-face)}h5,h6{font-size:var(--body);font-family:var(--body-face)}pre,code,kbd,samp{font-family:inherit;font-size:1em}small{font-size:var(--small);font-family:var(--small-face)}
.menubar-note,.menu-right,.taskbar,#window-count,.start-menu-heading,.titlebar,.statusbar,.eyebrow,.welcome-hint,.text-button,.welcome-corner,.desktop-caption,.folder-toolbar,.folder-description,.file-row-meta,.post-meta,.code-label,figcaption,.image-caption,.post-actions,.editor label,.save-indicator,.editor-tools,.button,.editor-footnote,.editor-help,.palette-name,#toast{font-size:var(--small);font-family:var(--small-face)}
*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}button{border:0;background:none}a{color:var(--cyan);text-underline-offset:4px}button:hover{color:var(--bright)}[hidden]{display:none!important}::selection{background:var(--purple);color:var(--yellow)}
.menubar{height:48px;display:flex;align-items:center;padding:0 22px;gap:30px;border-bottom:1px solid var(--line);background:#14101e;position:relative;z-index:10000;box-shadow:0 1px 0 #000}.brand{display:flex;align-items:center;gap:12px;padding:0;color:var(--bright);white-space:nowrap}.brand strong{font-weight:normal}.brand-mark{font-size:32px;font-family:var(--p32);letter-spacing:0;padding-right:4px;font-weight:bold;color:var(--cyan)}.menubar-note{color:var(--muted)}.menu-right{margin-left:auto;display:flex;align-items:center;gap:20px;white-space:nowrap}.online-dot{width:6px;height:6px;background:var(--green);box-shadow:0 0 6px #89e07955}.menu-right time{color:var(--bright);font-variant-numeric:tabular-nums}
#desktop{height:calc(100dvh - 92px);position:relative;overflow:hidden;background-color:#101020;background-image:radial-gradient(#60407050 .65px,transparent .65px);background-size:6px 6px}#desktop-icons{display:grid;grid-template-columns:115px 115px;align-content:start;gap:32px 20px;position:absolute;top:43px;left:30px;z-index:2}.desktop-icon{width:115px;min-height:92px;display:flex;align-items:center;flex-direction:column;gap:10px;padding:8px 0;border:1px solid transparent;text-align:center}.desktop-icon:hover,.desktop-icon:focus-visible{background:#60407033;border:1px dotted var(--muted);color:var(--bright)}.desktop-icon svg{width:59px;height:55px;filter:drop-shadow(3px 4px 0 #0008);image-rendering:pixelated}.desktop-icon span{color:var(--bright);padding:2px 5px;background:#101020}.desktop-icon small{color:var(--muted);margin-top:-8px}.wallpaper-type{position:absolute;bottom:85px;left:46px;display:flex;flex-direction:column;gap:8px;color:#60407088;font-size:48px;font-family:var(--p48);letter-spacing:0;line-height:1.5;pointer-events:none}.wallpaper-type small{letter-spacing:0;margin-top:14px;color:#a17b9f77}.desktop-caption{position:absolute;left:28px;right:28px;bottom:20px;display:flex;align-items:center;gap:10px;color:var(--muted)}.desktop-caption>span:last-child{margin-left:auto}.small-star{color:var(--cyan);font-size:16px;font-family:var(--p16)}
.taskbar{height:44px;display:flex;align-items:center;gap:10px;background:#21182d;border-top:1px solid #84617e;padding:5px 8px;position:relative;z-index:10000;box-shadow:0 -2px 0 #070610}#start-button{display:flex;align-items:center;gap:11px;border:1px solid #80627e;box-shadow:inset 1px 1px #ae8b9f,inset -1px -1px #06030c;background:#302238;padding:5px 12px;color:var(--bright);height:30px}.start-symbol{color:var(--cyan);font-size:16px;font-family:var(--p16)}.up-arrow{font-size:16px;font-family:var(--p16);color:var(--muted)}#tasks{display:flex;gap:5px;flex:1;overflow:auto;scrollbar-width:none}.task{height:28px;min-width:95px;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 12px;text-align:left;border:1px solid #50405b;color:var(--muted)}.task.active{background:#413049;border-color:var(--text);color:var(--bright)}#window-count{white-space:nowrap;color:var(--muted)}#sound-button{border-left:1px solid var(--line);font-size:32px;font-family:var(--p32);padding:0 8px;color:var(--green)}#start-menu{position:fixed;bottom:46px;left:8px;z-index:11000;width:255px;background:var(--panel);border:1px solid var(--text);box-shadow:5px 5px 0 #0008;padding:6px}#start-menu button{display:block;text-align:left;width:100%;padding:12px}#start-menu button:hover{background:var(--purple)}.start-menu-heading{padding:12px;letter-spacing:0;border-bottom:1px solid var(--line);color:var(--cyan)}
#windows{position:absolute;inset:0;pointer-events:none}.window{pointer-events:auto;position:absolute;width:600px;height:460px;display:flex;flex-direction:column;background:var(--panel);border:1px solid #b586a6;box-shadow:inset 1px 1px #f5c0dc55,inset -1px -1px #000,6px 7px 0 #0008;min-width:285px;min-height:220px;max-width:calc(100% - 24px);max-height:calc(100% - 24px);resize:both;overflow:hidden}.window.active{border-color:var(--bright)}.window.minimized{display:none}.titlebar{height:32px;flex-shrink:0;background:#493249;border-bottom:1px solid #010116;padding:4px 6px 4px 10px;display:flex;align-items:center;gap:9px;cursor:grab;touch-action:none;user-select:none;color:#eeb1d1}.active>.titlebar{background:var(--purple);color:#ffd7ed}.titlebar:active{cursor:grabbing}.titlebar>svg{width:18px;height:18px;flex-shrink:0}.window-title{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.titlebar-lines{flex:1;height:12px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 2px,#eeb1d12e 2px,#eeb1d12e 3px);margin:0 4px}.window-controls{display:flex;gap:4px}.window-controls button{width:21px;height:21px;background:#302137;color:var(--bright);border:1px solid #c690ac;box-shadow:inset 1px 1px #ce94b044,inset -1px -1px #000;font-size:16px;font-family:var(--p16);line-height:16px;padding:0}.window-controls button:hover{background:var(--pink);color:var(--ink)}.window-body{flex:1;min-height:0;overflow:auto;scrollbar-color:var(--purple) #110c20;scrollbar-width:thin}.statusbar{height:25px;flex-shrink:0;border-top:1px solid var(--line);display:flex;align-items:center;padding:0 12px;gap:12px;color:var(--muted);background:#1d1528}.statusbar span:last-child{margin-left:auto}.window.maximized{left:12px!important;top:12px!important;width:calc(100% - 24px)!important;height:calc(100% - 24px)!important;resize:none}
.welcome-window{width:680px;height:470px}.welcome{padding:34px 38px 25px}.eyebrow{letter-spacing:0;color:var(--cyan);display:flex;align-items:center;gap:9px;text-transform:uppercase}.eyebrow:before{content:'';display:block;width:6px;height:6px;background:var(--cyan)}.welcome h1{font-weight:bold;line-height:1.5;letter-spacing:0;color:var(--bright);margin:23px 0 15px}.welcome h1 em{font-style:normal;font-weight:normal;color:var(--yellow)}.welcome-intro{line-height:1.5;max-width:460px;color:var(--text)}.welcome-rule{border:0;border-top:1px dashed var(--line);margin:24px 0 19px}.welcome-bottom{display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center}.welcome-hint{line-height:1.5;color:var(--muted)}.welcome-hint strong{color:var(--green);font-weight:normal}.pixel-flower{width:80px;height:90px;image-rendering:pixelated;margin-right:12px}.welcome-links{display:flex;gap:20px;margin-top:17px}.text-button{color:var(--cyan);padding:0;text-decoration:underline;text-underline-offset:4px}.welcome-corner{color:var(--yellow)}
.folder-toolbar{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#1b162a;border-bottom:1px solid var(--line)}.folder-toolbar .path{color:var(--green);flex:1}.folder-toolbar button{border:1px solid var(--line);padding:5px 8px;color:var(--cyan)}.folder-description{padding:20px 22px 10px;line-height:1.5;color:var(--muted)}.file-list{padding:8px 14px 20px}.file-row{display:flex;gap:14px;align-items:center;text-align:left;width:100%;padding:14px 8px;border-bottom:1px dashed #60407077}.file-row:hover{background:#6040702a}.file-row svg{width:33px;height:39px;flex-shrink:0}.file-row-title{display:block;color:var(--bright);line-height:1.5}.file-row-meta{display:block;color:var(--muted);margin-top:6px}.file-row-arrow{margin-left:auto;color:var(--cyan)}.empty{padding:38px 28px;line-height:1.5;color:var(--muted)}.empty strong{display:block;color:var(--bright);font-weight:normal;margin-bottom:12px}.empty-art{white-space:pre;color:var(--green);font-size:16px;font-family:var(--p16);line-height:1.5;margin-bottom:25px}.post-content{padding:25px 30px 40px}.post-meta{color:var(--green);letter-spacing:0;display:flex;flex-wrap:wrap;gap:9px}.post-content h1{line-height:1.5;font-weight:bold;color:var(--bright);letter-spacing:0;margin:18px 0 25px}.prose{line-height:1.5;overflow-wrap:anywhere}.prose p{margin:0 0 20px}.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{color:var(--bright);line-height:1.5;margin:28px 0 16px}.prose pre{font-family:inherit;background:var(--ink);border:1px solid var(--line);padding:15px;overflow:auto;line-height:1.5;white-space:pre;tab-size:4;margin:0 0 22px;overflow-wrap:normal}.prose code{font-family:inherit;color:var(--green)}.prose p code,.prose li code{background:#60407033;padding:2px 5px}.prose pre code{color:inherit}.code-label{text-transform:uppercase;color:var(--muted);background:#241b30;border:1px solid var(--line);border-bottom:0;padding:5px 10px;letter-spacing:0}.prose figure{margin:20px 0}.prose img{max-width:100%;height:auto;border:1px solid var(--line);display:block}.prose figcaption{color:var(--muted);padding-top:6px}.prose blockquote{border-left:3px solid var(--pink);padding:5px 15px;margin:20px 0;color:var(--bright)}.prose hr{border:0;border-top:1px dashed var(--line);margin:25px 0}.post-actions{display:flex;gap:14px;padding:0 30px 25px}.post-actions button{color:var(--cyan);border:1px solid var(--line);padding:7px 10px}
.terminal-window{width:640px;height:430px}.terminal{background:var(--ink);min-height:100%;padding:20px;color:var(--text);line-height:1.5;font-family:var(--mono)}.terminal-banner{color:var(--green);white-space:pre;line-height:1.5;font-size:16px;font-family:var(--p16);margin:0 0 20px}.terminal .dim{color:var(--muted)}.terminal-output{white-space:pre-wrap;overflow-wrap:anywhere}.terminal-entry{margin-bottom:13px}.terminal-line{display:flex;gap:10px;align-items:baseline}.terminal-prompt{color:var(--cyan);white-space:nowrap}.terminal input{width:100%;min-width:0;border:0;outline:0!important;background:transparent;padding:0;color:var(--bright);caret-color:var(--green);border-radius:0}.terminal a,.terminal button{color:var(--green);padding:0}.terminal-list{display:flex;gap:8px 24px;flex-wrap:wrap;padding:5px 0}.terminal-error{color:var(--red)}
.editor-window{width:730px;height:610px}.editor{padding:20px;display:flex;flex-direction:column;gap:14px;min-height:100%}.editor-top{display:flex;align-items:center;gap:12px}.editor label{color:var(--muted)}.editor select{background:#241a30;border:1px solid var(--line);color:var(--green);padding:8px 10px;border-radius:0}.save-indicator{margin-left:auto;color:var(--muted);text-align:right}.save-indicator.error{color:var(--yellow);max-width:330px;line-height:1.5}.editor-title{border:0;border-bottom:1px solid var(--line);padding:10px 0 16px;background:none;color:var(--bright);width:100%;border-radius:0}.editor-title::placeholder{color:var(--purple)}.editor-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.editor-tools button{padding:7px 9px;border:1px solid var(--line)}.editor-tools .selected{background:var(--purple);color:var(--bright)}.editor-tools .spacer{flex:1}.editor textarea{resize:vertical;min-height:245px;width:100%;flex:1;background:#0d0a1b;border:1px solid var(--line);padding:15px;color:var(--text);line-height:1.5;border-radius:0;tab-size:2}.editor-preview{min-height:245px;padding:15px;background:#0d0a1b;border:1px solid var(--line)}.editor-bottom{display:flex;gap:10px;align-items:center;padding-top:2px}.button{border:1px solid var(--text);background:#302238;padding:9px 13px;color:var(--bright);box-shadow:inset 1px 1px #ffb1f322,2px 2px #0008}.button.primary{background:var(--green);color:var(--ink);border-color:#b9f8a8}.button.primary:hover{background:var(--cyan)}.button.danger{color:var(--red);border-color:var(--line)}.editor-footnote{line-height:1.5;color:var(--muted);margin:0}.editor-help{padding:15px;background:#22192d;line-height:1.5;border:1px dashed var(--line)}.draft-badge{color:var(--yellow)}.palette-window{padding:25px}.palette-window h2{color:var(--bright);font-weight:normal}.swatches{display:grid;grid-template-columns:repeat(8,1fr);gap:7px;margin:25px 0}.swatch{height:34px;border:1px solid #ffffff33}.palette-window p{line-height:1.5}.palette-name{color:var(--green)}#toast{position:fixed;bottom:60px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 30px);padding:12px 18px;background:#302238;border:1px solid var(--bright);color:var(--bright);line-height:1.5;box-shadow:4px 4px #0009;z-index:20000;display:none}#toast.visible{display:block}.notice{padding:25px;line-height:1.5}.notice h2{color:var(--bright);font-weight:normal}
@media(min-width:1450px){#desktop-icons{top:55px;left:45px;gap:37px 25px}.welcome-window{width:730px;height:495px}.welcome{padding:38px 42px}}
@media(max-width:800px){.menubar-note{display:none}.menubar{padding:0 14px}.menu-right{gap:12px}#desktop-icons{left:14px;top:22px;grid-template-columns:103px 103px;gap:18px 8px}.desktop-icon{width:103px}.wallpaper-type{left:25px;font-size:32px;font-family:var(--p32)}.window{max-height:calc(100% - 20px);max-width:calc(100% - 20px)}.welcome{padding:27px}.welcome-bottom{gap:10px}.pixel-flower{width:58px;margin:0}}
@media(max-width:560px){.menubar{height:44px;padding:0 11px;gap:8px}.brand{gap:8px}.menu-right{gap:10px}.menu-right button{display:none}.online-dot{width:5px;height:5px}#desktop{height:calc(100dvh - 88px)}#desktop-icons{grid-template-columns:repeat(3,103px);left:50%;transform:translateX(-50%);top:24px;gap:23px 20px}.wallpaper-type{bottom:90px;font-size:32px;font-family:var(--p32)}.desktop-caption{left:15px;right:15px;bottom:17px}.window{left:8px!important;top:9px!important;width:calc(100% - 16px)!important;height:calc(100% - 20px)!important;max-width:none;max-height:none;min-width:0;resize:none;box-shadow:4px 4px #0009}.window.maximized{left:8px!important;top:9px!important;width:calc(100% - 16px)!important;height:calc(100% - 20px)!important}.titlebar{height:38px;padding-left:9px}.window-controls{gap:6px}.window-controls button{width:27px;height:27px;font-size:16px;font-family:var(--p16)}.window-controls .maximize{display:none}.welcome{padding:30px 24px}.welcome h1{margin-top:29px}.welcome-intro{line-height:1.5}.welcome-rule{margin:28px 0 22px}.welcome-links{gap:16px;margin-top:25px}.statusbar{height:25px}.post-content{padding:22px 20px 30px}.post-actions{padding:0 20px 25px}.terminal{padding:15px 12px}.terminal-banner{font-size:16px;font-family:var(--p16)}.terminal-line{gap:7px}.editor{padding:16px 12px;gap:12px}.editor-top{gap:8px}.editor select{max-width:155px}.editor textarea{min-height:230px}.editor-tools button{padding:10px}.editor-bottom{flex-wrap:wrap}.button{padding:12px}.taskbar{gap:5px;padding:5px}#start-button{padding:5px 8px;gap:7px}.task{min-width:80px;max-width:120px;padding:4px 7px}#window-count{display:none}#sound-button{padding:0 5px}.titlebar-lines{margin:0}.folder-toolbar{padding:11px 12px}.folder-description{padding:18px 16px 8px}}
@media(prefers-reduced-motion:no-preference){.window{animation:appear .12s ease-out}@keyframes appear{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}}

/* Flat shapes; the terminal palette supplies the ornament. */
.menubar{background:var(--ink);border-bottom:2px solid var(--purple);box-shadow:none}
.menubar-note,.wallpaper-type,.desktop-caption,.titlebar-lines{display:none}
#desktop{background:var(--ink)}
#desktop-icons{grid-template-columns:126px;left:40px;top:30px;gap:13px}
.desktop-icon{width:126px;gap:9px;min-height:94px}
.desktop-icon svg{width:68px;height:62px;filter:none}
.desktop-icon span{background:var(--ink);color:var(--bright)}
.desktop-icon:hover,.desktop-icon:focus-visible{background:var(--ink);border-color:var(--cyan)}
.window{border:2px solid var(--purple);box-shadow:7px 7px 0 var(--ink),9px 9px 0 var(--purple)}
.window.active{border-color:var(--cyan)}
.titlebar,.active>.titlebar{background:var(--cyan);color:var(--ink);height:34px;border-bottom:2px solid var(--ink)}
.titlebar>svg{display:none}.window-title{flex:1;font-weight:bold}
.window-controls button{background:transparent;border:1px solid var(--ink);color:var(--ink);box-shadow:none}
.window-controls button:hover{background:var(--ink);color:var(--cyan)}
.statusbar{background:var(--ink);border-top:1px solid var(--purple)}
.welcome-window{width:650px;height:380px}
.welcome{padding:35px 40px}.welcome h1{margin:0 0 22px;color:var(--bright);letter-spacing:0}
.welcome h1 em{color:var(--yellow)}.welcome-intro{margin:0 0 30px}
.welcome-bottom{padding-top:8px}.pixel-flower{height:72px;width:64px}
.welcome-hint{color:var(--text)}.welcome-links{margin-top:18px}
.taskbar{background:var(--ink);border-top:2px solid var(--purple);box-shadow:none}
#start-button{background:var(--pink);color:var(--ink);border:0;box-shadow:none;font-weight:bold}
.start-symbol,.up-arrow{color:var(--ink)}
.task{border-color:var(--purple)}.task.active{background:var(--purple);border-color:var(--purple);color:var(--bright)}
.folder-toolbar{background:var(--ink)}.file-row:hover{background:var(--purple)}
.terminal-banner{font-size:16px;font-family:var(--p16);color:var(--green)}.terminal-window.active{border-color:var(--green)}
.terminal-window .titlebar,.terminal-window.active .titlebar{background:var(--green)}
.editor-window.active{border-color:#ff9965}.editor-window .titlebar,.editor-window.active .titlebar{background:#ff9965}
.editor textarea,.editor-preview,.editor select{background:var(--ink)}
.button{box-shadow:none;background:var(--ink)}
#start-menu{background:var(--ink)}
@media(min-width:1450px){.welcome-window{width:680px;height:400px}.welcome{padding:40px 44px}}
@media(max-width:800px){#desktop-icons{left:20px;top:24px}.welcome{padding:30px}}
@media(max-width:560px){#desktop-icons{grid-template-columns:repeat(3,103px);left:50%;top:30px;gap:26px 15px}.desktop-icon{width:103px}.desktop-icon svg{width:62px;height:57px}.titlebar{height:40px}.welcome{padding:35px 24px}.welcome h1{line-height:1.5;margin-bottom:25px}.welcome-intro{line-height:1.5;margin-bottom:40px}.welcome-bottom{align-items:end}.welcome-links{flex-direction:column;align-items:start;gap:18px}.pixel-flower{margin-right:0}.window{border-width:2px}}

.window:focus{outline:none}.custom-icon{width:59px;height:55px;object-fit:contain;image-rendering:pixelated}.desktop-icon .custom-icon{width:68px;height:62px}.titlebar .custom-icon{width:18px;height:18px}

/* A page owns its floats; narrow screens put images back in the reading flow. */
.prose{display:flow-root}
.prose .post-image{display:block;margin:1em 0}
.prose .post-image[style*="float:left"]{max-width:45%;margin:0 1.2em 1em 0}
.prose .post-image[style*="float:right"]{max-width:45%;margin:0 0 1em 1.2em}
.prose .image-caption{display:block;color:var(--muted);padding-top:6px}
.document-page{overflow:auto;height:auto;min-height:100dvh}
.document-page .post-content{max-width:850px;margin:auto}
.page-files .file-row{font-family:var(--mono)}
@media(max-width:560px){.prose .post-image[style*="float:"]{float:none!important;max-width:100%;margin:1em 0}}
.folder-toolbar{flex-wrap:wrap}.folder-toolbar .path{min-width:0;overflow-wrap:anywhere}
.drop-target{outline:2px dashed var(--cyan);outline-offset:-5px}
.terminal-output pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}

/* The welcome copy is Markdown from hello.txt; title changes have no animation. */
.welcome h1 em{display:block;min-height:3em;line-height:1.5}
.welcome h2{line-height:1.5;font-weight:normal;color:var(--bright);margin:0 0 20px}
.welcome h2 em{font-synthesis-style:auto}.welcome h2 strong{font-weight:700}
.welcome>p{line-height:1.5;margin:0 0 24px}
.welcome .pixel-flower{display:block;margin-left:auto}
.word-choice{overflow-wrap:anywhere}
@media(max-width:560px){.welcome h1 em{min-height:4.5em}}
.editor-top{flex-wrap:wrap}.post-date-label{display:flex;align-items:center;gap:6px}
.editor-date{background:var(--ink);border:1px solid var(--line);color:var(--green);padding:7px;max-width:165px}
.tree-row{display:flex;align-items:center;min-width:0}.tree-row .file-row{flex:1;min-width:0}.tree-row .file-row-title{overflow-wrap:anywhere}.tree-toggle,.tree-spacer{flex:0 0 26px;width:26px}.tree-toggle{align-self:stretch;padding:0;color:var(--cyan);font-size:16px;font-family:var(--p16)}.tree-children{margin-left:13px;padding-left:12px;border-left:1px solid var(--line)}.tree-children .empty{padding:14px 8px}
.html-window .window-body{display:flex;flex-direction:column}.html-viewer{display:block;width:100%;flex:1;min-height:0;border:0;background:var(--text)}.html-window .post-actions{flex-shrink:0;flex-wrap:wrap;margin:0;padding:12px}
.image-modal{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--text);overflow:hidden}.image-modal::backdrop{background:var(--text)}.image-modal>img{display:block;width:100%;height:100%;object-fit:contain}.image-close{position:absolute;top:12px;right:12px;width:40px;height:40px;background:var(--ink);color:var(--bright);border:1px solid var(--bright);font-size:32px;font-family:var(--p32)}.prose img[role=button]{cursor:zoom-in}
[data-section]{scroll-margin-top:16px;cursor:pointer}.heading-anchor{color:var(--muted);text-decoration:none;margin-left:.45em;opacity:.35}.heading-anchor::before{content:"#"}[data-section]:hover .heading-anchor,.heading-anchor:focus-visible{opacity:1;color:var(--cyan)}

/* Weight separates each pair; the smallest headings keep body-size pixels. */
h1,h2,h5,.editor-title{font-weight:700}h3,h4,h6{font-weight:400}
h5,h6{text-transform:uppercase;letter-spacing:1px}

/* Larger reading scale: give the desktop controls room without shrinking text. */
.menubar{height:64px}.taskbar{height:56px}
#desktop{height:calc(100dvh - 120px)}
#desktop-icons{grid-template-columns:repeat(2,160px);left:24px;top:24px;gap:24px}
.desktop-icon{width:160px}.desktop-icon span{font-size:var(--small);font-family:var(--small-face)}
.titlebar,.active>.titlebar{height:48px}
.window-controls button{width:32px;height:32px;font-size:24px;font-family:var(--p24);line-height:24px}
.statusbar{height:33px;line-height:32px}
#start-button{height:40px}.task{height:40px;padding:2px 12px}
#start-menu{bottom:60px;width:320px}
.terminal-banner{font-size:var(--small);font-family:var(--small-face)}
.tree-toggle{font-size:24px;font-family:var(--p24)}
.welcome h1 em{min-height:3em}
.editor-date{max-width:240px}
@media(max-width:560px){
  :root{--body:32px;--small:24px;--body-face:var(--p32);--small-face:var(--p24)}
  .menubar{height:56px}.brand strong{display:none}
  #desktop{height:calc(100dvh - 112px)}
  #desktop-icons{left:16px;right:16px;transform:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .desktop-icon{width:100%}
  .titlebar,.active>.titlebar{height:48px}
  .window-controls button{width:32px;height:32px;font-size:24px;font-family:var(--p24)}
  .statusbar{height:33px}
  .welcome{padding:24px 16px}.post-content{padding:24px 16px}
  .welcome h1 em{min-height:3em}
  .post-actions{padding:0 16px 24px;flex-wrap:wrap}
  .editor-top{align-items:flex-start}.editor select{max-width:100%}
  .editor-date{max-width:240px}.save-indicator{margin-left:0}
  #start-button{gap:6px;padding:5px 8px}.task{min-width:72px}
}

h1,h2,h3,h4,h5,h6{overflow-wrap:anywhere}
