:root{--desk: #3f7f78;--desk-dark: #36706a;--face: #e9e2d0;--face-light: #fffaf0;--face-shadow: #a59c85;--ink: #1f1a33;--title: #2b2350;--title-2: #5a3f8f;--accent: #f2a541;--paper: #fffdf6;--font-ui: "IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--font-px: "Pixelify Sans", var(--font-ui);--bar: 44px}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--font-ui);font-size:14px;line-height:1.5;color:var(--ink);background-color:var(--desk);background-image:radial-gradient(var(--desk-dark) 1px,transparent 1px);background-size:4px 4px;overflow:hidden}[hidden]{display:none!important}.bevel,.window,.btn,.start,.lang{background:var(--face);border:2px solid var(--ink);box-shadow:inset 2px 2px 0 var(--face-light),inset -2px -2px 0 var(--face-shadow)}.desktop{position:relative;height:calc(100% - var(--bar));overflow:hidden}.icons{position:absolute;inset:16px auto 16px 16px;display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-start;gap:14px;z-index:1}.icon{width:112px;padding:6px 0;display:flex;flex-direction:column;align-items:center;gap:6px;font:inherit;font-size:12px;color:#fff;text-decoration:none;text-align:center;background:none;border:1px dotted transparent;cursor:pointer}.icon-label{padding:0 4px;text-shadow:1px 1px 0 var(--ink);word-break:break-word}.icon:hover .icon-label,.icon:focus-visible .icon-label{background:var(--title);text-shadow:none}.icon:focus-visible{outline:none;border-color:#fff}.glyph{width:40px;height:40px;display:grid;place-items:center;flex:none;font-family:var(--font-px);font-weight:700;font-size:20px;line-height:1;color:#fff;border:2px solid var(--ink);box-shadow:3px 3px #1f1a3373}.glyph-ponti{background:#064844}.glyph-ponti svg{width:36px;height:36px;display:block}.glyph-linkedin{background:#2f6fb5}.glyph-linkedin:before{content:"in"}.glyph-github{background:var(--ink)}.glyph-github:before{content:"</>";font-size:15px}.glyph-email{background:var(--paper);color:var(--ink)}.glyph-email:before{content:"@"}.glyph-file{width:32px;background:linear-gradient(var(--ink),var(--ink)) 6px 10px / 16px 2px no-repeat,linear-gradient(var(--ink),var(--ink)) 6px 17px / 16px 2px no-repeat,linear-gradient(var(--ink),var(--ink)) 6px 24px / 10px 2px no-repeat,var(--paper)}.glyph-folder{height:30px;margin-top:10px;background:var(--accent);position:relative}.glyph-folder:before{content:"";position:absolute;left:-2px;top:-10px;width:20px;height:8px;background:var(--accent);border:2px solid var(--ink);border-bottom:0}.glyph-warn{background:var(--accent);color:var(--ink);box-shadow:none}.glyph-warn:before{content:"!"}.glyph-logo{width:16px;height:16px;border-width:0;box-shadow:none;background:linear-gradient(var(--accent),var(--accent)) 0 0 / 7px 7px no-repeat,linear-gradient(var(--title-2),var(--title-2)) 9px 0 / 7px 7px no-repeat,linear-gradient(var(--desk),var(--desk)) 0 9px / 7px 7px no-repeat,linear-gradient(var(--ink),var(--ink)) 9px 9px / 7px 7px no-repeat}.window{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%);width:min(520px,calc(100% - 32px));z-index:2;box-shadow:inset 2px 2px 0 var(--face-light),inset -2px -2px 0 var(--face-shadow),6px 6px #1f1a3359}.window.note{width:min(340px,calc(100% - 32px))}.window.dialog{--x: 50%;--y: 34%;width:min(340px,calc(100% - 32px));z-index:50}.titlebar{margin:4px;padding:4px 6px 4px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#fff;font-family:var(--font-px);font-size:15px;background:linear-gradient(90deg,var(--title),var(--title-2));cursor:grab;user-select:none;touch-action:none}.titlebar:active{cursor:grabbing}.title{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.controls{display:flex;gap:3px;flex:none}.controls i,.controls button{width:20px;height:18px;display:grid;place-items:center;padding:0;font:600 12px/1 var(--font-ui);font-style:normal;color:var(--ink);background:var(--face);border:1px solid var(--ink);box-shadow:inset 1px 1px 0 var(--face-light),inset -1px -1px 0 var(--face-shadow)}.controls button{cursor:pointer}.body{padding:14px 20px 20px}.eyebrow{margin:0 0 10px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#5b5470}h1{margin:0;font-family:var(--font-px);font-weight:700;font-size:clamp(30px,7vw,44px);line-height:1.05;text-wrap:balance}.headline{display:inline-block;margin:10px 0 16px;padding:2px 10px;font-family:var(--font-px);font-size:20px;background:var(--accent);border:2px solid var(--ink)}.steps{margin:0 0 16px;padding:0;list-style:none;font-size:13px}.steps li{padding-left:26px;position:relative;color:#7d7690}.steps li:before{content:"[ ]";position:absolute;left:0}.steps li.doing{color:var(--ink);font-weight:600}.steps li.doing:before{content:"[>]"}.steps li.done{color:var(--ink)}.steps li.done:before{content:"[x]"}.progress{height:26px;padding:3px;display:grid;grid-template-columns:repeat(20,1fr);gap:2px;background:var(--paper);border:2px solid var(--ink);box-shadow:inset 2px 2px 0 var(--face-shadow)}.progress span{background:transparent}.progress span.on{background:var(--title-2)}.progress span.blink{animation:blink 1s steps(2,jump-none) infinite}.status{margin:8px 0 0;display:flex;justify-content:space-between;gap:12px;font-size:12px;font-variant-numeric:tabular-nums}.paper{margin:0 4px 4px;padding:12px 14px;background:var(--paper);border:2px solid var(--ink);font-size:13px}.paper p{margin:0 0 8px}.paper a{color:var(--title-2);font-weight:600}.paper p:last-child{margin:0}.caret{display:inline-block;width:8px;height:14px;margin-left:3px;vertical-align:-2px;background:var(--ink);animation:blink 1s steps(2,jump-none) infinite}.dialog-body{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center}.dialog-body p{margin:0}.btn{grid-column:1 / -1;justify-self:center;min-width:90px;padding:5px 14px;font:600 13px var(--font-ui);color:var(--ink);cursor:pointer}.btn:active,.lang:active{box-shadow:inset -2px -2px 0 var(--face-light),inset 2px 2px 0 var(--face-shadow)}.btn:focus-visible,.lang:focus-visible{outline:2px dotted var(--ink);outline-offset:-6px}.taskbar{height:var(--bar);padding:5px 8px;display:flex;align-items:center;gap:6px;background:var(--face);border-top:2px solid var(--ink);box-shadow:inset 0 2px 0 var(--face-light);font-size:13px}.start{height:100%;padding:0 10px;display:flex;align-items:center;gap:8px;font-family:var(--font-px);font-weight:700;font-size:15px}.task{height:100%;max-width:160px;padding:0 10px;display:flex;align-items:center;overflow:hidden;white-space:nowrap;border:2px solid var(--ink);background:var(--paper);box-shadow:inset 2px 2px 0 var(--face-shadow)}.spacer{flex:1}.lang{height:100%;padding:0 10px;font:13px var(--font-ui);color:#7d7690;cursor:pointer}.lang b{font-weight:400}.lang b.active{font-weight:600;color:var(--ink)}.clock{height:100%;padding:0 10px;display:flex;align-items:center;border:2px solid var(--ink);box-shadow:inset 2px 2px 0 var(--face-shadow);font-variant-numeric:tabular-nums}@keyframes blink{50%{opacity:0}}@media(max-width:820px){html,body{height:auto}body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;overflow:visible}.desktop{flex:1;height:auto;padding:16px 16px 24px;display:flex;flex-direction:column;gap:20px;overflow:visible}.icons{position:static;order:3;width:100%;max-width:520px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:14px 6px}.icon{width:auto;min-width:0}.icon-label{padding:0 2px;font-size:11px;word-break:normal;overflow-wrap:anywhere}.window,.window.note{position:static;transform:none;width:100%;max-width:520px;margin:0 auto}.window.dialog{position:fixed;left:50%;top:30%;transform:translate(-50%);width:calc(100% - 32px)}.titlebar{cursor:default;touch-action:auto}.taskbar{position:sticky;bottom:0;z-index:20;flex:none;height:calc(var(--bar) + env(safe-area-inset-bottom));padding-bottom:calc(5px + env(safe-area-inset-bottom))}.hide-sm{display:none}}@media(max-width:420px){.task{display:none}}@media(prefers-reduced-motion:reduce){.caret,.progress span.blink{animation:none}}
