@font-face{font-family:FLOS Pixel;font-display:block;src:url(/fonts/flos-pixel.woff2) format("woff2")}:root{--paper: #ffffff;--desk: #ffffff;--ink: #000000;--ink-2: #5a5a5a;--ink-3: #999999;--line: rgba(0, 0, 0, .1);--line-2: rgba(0, 0, 0, .06);--line-strong: rgba(0, 0, 0, .16);--hover: rgba(0, 0, 0, .045);--on-ink-2: rgba(255, 255, 255, .62);--font: "Schibsted Grotesk", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--font-pixel: "FLOS Pixel", var(--font);--font-display: "Michroma", var(--font);--topbar: 36px;--cell: 32px;--r-window: 12px;--r-control: 8px;--r-small: 5px;--ease: cubic-bezier(.22, 1, .36, 1);--shadow-window: 0 1px 2px rgba(0, 0, 0, .04), 0 16px 36px -14px rgba(0, 0, 0, .18);--shadow-window-active: 0 1px 2px rgba(0, 0, 0, .06), 0 32px 64px -20px rgba(0, 0, 0, .32);--shadow-float: 0 1px 2px rgba(0, 0, 0, .06), 0 24px 56px -12px rgba(0, 0, 0, .3);color-scheme:light}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}body{min-width:320px;color:var(--ink);background:var(--desk);font:13px/1.5 var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}button,input,textarea{color:inherit;font:inherit;letter-spacing:inherit}button{padding:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}a{color:inherit;-webkit-tap-highlight-color:transparent}h1,h2,h3,p,ul,ol,dl,dd{margin:0}ul,ol{padding:0;list-style:none}kbd{font:inherit}svg{flex:0 0 auto}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}::selection{color:var(--paper);background:var(--ink)}.desktop-shell{position:relative;width:100%;height:100%;overflow:hidden;background:var(--desk);-webkit-user-select:none;user-select:none}.top-bar{position:absolute;z-index:500;top:0;right:0;left:0;display:flex;height:var(--topbar);align-items:center;justify-content:space-between;padding:0 12px 0 16px;border-bottom:1px solid var(--line);background:var(--paper)}.top-bar-left,.top-bar-right{display:flex;min-width:0;align-items:center}.top-bar-left{gap:10px}.top-bar-divider{display:inline-block;width:6px;color:var(--ink-3);text-align:center}.top-bar-brand+.top-bar-divider{margin-left:-8px}.top-bar-brand,.top-bar-active{font-family:var(--font-pixel);font-size:20px;font-synthesis:none;font-weight:400;letter-spacing:0;line-height:20px}.top-bar-brand{height:26px;margin-left:-8px;padding:0 8px;border-radius:var(--r-small)}.top-bar-active{overflow:hidden;color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap}.top-bar-right{gap:10px}.top-bar-search{display:inline-flex;height:26px;align-items:center;gap:10px;padding:0 4px 0 10px;border-radius:var(--r-small);color:var(--ink-2)}.top-bar-search kbd{display:inline-grid;min-width:22px;height:18px;place-items:center;padding:0 5px;border:1px solid var(--line-strong);border-radius:4px;color:var(--ink-2);background:var(--paper);font-size:11px;font-weight:500;line-height:1}.top-bar-brand:hover,.top-bar-search:hover{background:var(--hover)}.top-bar-search:hover{color:var(--ink)}.top-bar-clock{display:inline-flex;gap:10px;padding:0 4px;font-variant-numeric:tabular-nums;white-space:nowrap}.top-bar-clock span:first-child{color:var(--ink-2)}.desktop-workspace{position:absolute;inset:var(--topbar) 0 0;overflow:clip;background:var(--desk)}.spacetime{position:absolute;inset:0;pointer-events:none}.spacetime canvas{display:block;width:100%;height:100%}.desktop-marquee{position:absolute;z-index:15;border:1px solid rgba(0,0,0,.55);border-radius:3px;background:#0000000a;pointer-events:none}.folder{display:block;width:48px;height:40px;overflow:visible}.folder-back{fill:#111}.folder-shade-top{stop-color:#353535}.folder-shade-bottom{stop-color:#1e1e1e}.folder-sheet{fill:var(--paper)}.folder-sheet-back{fill:#cfcfcf}.folder-lip{stroke:#ffffff2e;stroke-width:1}.desktop-icons{position:absolute;z-index:10;top:var(--cell);display:grid;grid-auto-rows:calc(var(--cell) * 3)}.desktop-icons-primary{left:var(--cell);grid-template-columns:repeat(2,calc(var(--cell) * 3))}.desktop-icons-featured{right:var(--cell);grid-template-columns:calc(var(--cell) * 3)}.desktop-icon{position:relative;display:flex;width:calc(var(--cell) * 3);height:calc(var(--cell) * 3);flex-direction:column;align-items:center;justify-content:center;gap:9px;border-radius:10px;color:var(--ink);cursor:default;touch-action:none;transform:translate3d(var(--icon-x, 0),var(--icon-y, 0),0);transition:transform .22s var(--ease);-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.desktop-icon.is-dragging{z-index:3;transition:none}.desktop-icon>*{position:relative}.desktop-icon:focus-visible{outline-offset:-2px}.desktop-icon-label-clip{display:block;margin-top:-9px;padding-top:9px;overflow:hidden}.desktop-icon-label{display:block;transform:translateY(calc(-100% - 9px));transition:transform .38s var(--ease);max-width:calc(var(--cell) * 3);padding:1px 7px 2px;overflow:hidden;border-radius:4px;font-family:var(--font-display);font-size:10px;font-weight:400;letter-spacing:0;line-height:1.7;text-overflow:ellipsis;white-space:nowrap}.desktop-icon.is-hovered .desktop-icon-label,.desktop-icon.is-dragging .desktop-icon-label{transform:translateY(0)}.window-layer{position:absolute;z-index:20;inset:0;pointer-events:none}.app-window.is-landing{pointer-events:none}.app-window{position:absolute;display:flex;min-width:360px;min-height:260px;overflow:hidden;flex-direction:column;border:1px solid var(--line-strong);border-radius:var(--r-window);color:var(--ink);background:var(--paper);box-shadow:var(--shadow-window);pointer-events:auto;transition:border-radius .36s cubic-bezier(.3,.9,.3,1),box-shadow .36s cubic-bezier(.3,.9,.3,1)}.app-window.is-active{border-color:var(--ink);box-shadow:var(--shadow-window-active)}.app-window.is-maximized{border-width:0;border-radius:0;box-shadow:none}.window-titlebar{position:relative;z-index:2;display:grid;height:40px;flex:0 0 40px;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 14px;border-bottom:1px solid var(--line);background:var(--paper);cursor:grab;touch-action:none}.window-titlebar:active{cursor:grabbing}.window-controls{display:flex;gap:8px}.window-control{display:grid;width:12px;height:12px;place-items:center;border-radius:50%;color:transparent;box-shadow:inset 0 0 0 1px #0000004d;transition:background .12s ease,box-shadow .12s ease}.app-window.is-active .window-control.is-close{background:var(--ink);box-shadow:none}.app-window:not(.is-active) .window-control{box-shadow:inset 0 0 0 1px #00000029}.window-controls:hover .window-control{color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.window-controls:hover .window-control.is-close{color:var(--paper);background:var(--ink)}.window-title{font-family:var(--font-display);font-size:11px;font-weight:400;letter-spacing:0}.app-window:not(.is-active) .window-title{color:var(--ink-3)}.window-content{position:relative;min-width:0;min-height:0;flex:1 1 auto;overflow:hidden;-webkit-user-select:text;user-select:text}.window-content :where(button,a,[role=button],label>span),.mobile-app-body :where(button,a,[role=button],label>span),.command-palette,.context-menu,.toast{-webkit-user-select:none;user-select:none}.window-content :where(input,textarea),.mobile-app-body :where(input,textarea),.command-input input{-webkit-user-select:text;user-select:text}.resize-handle{position:absolute;z-index:30;touch-action:none}.resize-n,.resize-s{right:12px;left:12px;height:7px;cursor:ns-resize}.resize-n{top:-3px}.resize-s{bottom:-3px}.resize-e,.resize-w{top:12px;bottom:12px;width:7px;cursor:ew-resize}.resize-e{right:-3px}.resize-w{left:-3px}.resize-ne,.resize-nw,.resize-se,.resize-sw{width:14px;height:14px}.resize-ne{top:-3px;right:-3px;cursor:nesw-resize}.resize-nw{top:-3px;left:-3px;cursor:nwse-resize}.resize-se{right:-3px;bottom:-3px;cursor:nwse-resize}.resize-sw{left:-3px;bottom:-3px;cursor:nesw-resize}.app{display:flex;height:100%;min-height:0;flex-direction:column}.app-scroll{height:100%;overflow:auto}.app-window,.app-window *{scrollbar-width:none}.app-window ::-webkit-scrollbar{display:none}@property --scroll-fade{syntax: "<length>"; inherits: false; initial-value: 0px;}@keyframes scroll-fade-out{0%{--scroll-fade: 56px}to{--scroll-fade: 0px}}@supports (animation-timeline: scroll()){.app-window :is(.app-scroll,.pdf-pages){animation:scroll-fade-out linear both;animation-timeline:scroll(self block);animation-range:calc(100% - 80px) 100%;-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - var(--scroll-fade)),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - var(--scroll-fade)),transparent)}}.app-pad{padding:32px 36px 40px}:where(.window-content,.mobile-app-body) :is(h1,h2,h3){font-family:var(--font-display);font-synthesis:none}:where(.window-content,.mobile-app-body) h1{font-size:26px;font-weight:400;letter-spacing:-.02em;line-height:1.08;text-wrap:balance}:where(.window-content,.mobile-app-body) h2{font-size:14.5px;font-weight:400;letter-spacing:0;line-height:1.3}:where(.window-content,.mobile-app-body) h3{font-size:11px;font-weight:400;letter-spacing:.01em}.meta{color:var(--ink-3);font-size:12.5px;font-variant-numeric:tabular-nums}.lede{max-width:30ch;margin-top:14px;font-size:21px;letter-spacing:-.025em;line-height:1.32;text-wrap:pretty}.deck{max-width:44ch;margin-top:12px;color:var(--ink-2);font-size:17px;letter-spacing:-.015em;line-height:1.45;text-wrap:pretty}.prose{max-width:62ch;margin-top:18px}.prose p{font-size:14.5px;line-height:1.65;text-wrap:pretty}.prose p+p{margin-top:12px}.about .prose p{color:var(--ink-2)}.btn{display:inline-flex;height:32px;align-items:center;justify-content:center;gap:7px;padding:0 13px;border:1px solid var(--line-strong);border-radius:var(--r-control);color:var(--ink);background:var(--paper);font-size:13px;font-weight:500;line-height:1;text-decoration:none;white-space:nowrap;transition:border-color .12s ease,background .12s ease}.btn:hover{border-color:var(--ink)}.btn:active{background:var(--hover)}.btn-primary{border-color:var(--ink);color:var(--paper);background:var(--ink)}.btn-primary:hover{background:#2a2a2a}.btn-primary:active{background:#3a3a3a}.button-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.link{display:inline-flex;align-items:center;gap:4px;font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.link:hover{text-decoration-thickness:2px}.rows{display:grid}.row{display:grid;grid-template-columns:116px minmax(0,1fr) auto;gap:28px;align-items:start;padding:22px 0;border-top:1px solid var(--line)}.row:first-child{padding-top:0;border-top:0}.row:last-child{padding-bottom:0}.row-meta{display:flex;flex-direction:column;padding-top:2px;color:var(--ink-3);font-size:12.5px;line-height:1.5}.row-meta span:first-child{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}.row-main{min-width:0}.row-main p{max-width:58ch;margin-top:6px;color:var(--ink-2);font-size:14px;line-height:1.55;text-wrap:pretty}.row-main .row-tags{margin-top:10px;color:var(--ink-3);font-size:12.5px}.facts{display:grid;margin-top:28px;border-top:1px solid var(--ink)}.facts>div{display:grid;grid-template-columns:116px minmax(0,1fr);gap:28px;padding:11px 0;border-bottom:1px solid var(--line)}.about .facts>div{grid-template-columns:96px minmax(0,1fr);gap:20px}.facts dt{color:var(--ink-3);font-size:13px;line-height:1.55}.facts dd{font-size:13.5px;line-height:1.55}.row-main .row-authors{margin-top:4px;color:var(--ink);font-size:13.5px}.row-label{margin-right:3px;color:var(--ink);font-weight:600}.row-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.site{display:grid;grid-template-columns:232px minmax(0,1fr);gap:28px;align-items:start;padding:24px 0;border-top:1px solid var(--line)}.site:first-child{padding-top:0;border-top:0}.site:last-child{padding-bottom:0}.site .meta{margin-bottom:2px}.site-preview{position:relative;overflow:hidden;aspect-ratio:16 / 10;border:1px solid var(--line-strong);border-radius:var(--r-control);background:var(--desk);transition:border-color .12s ease}.site-preview:hover{border-color:var(--ink)}.site-preview img,.site-preview iframe{position:absolute;top:0;left:0}.site-preview img{width:100%;height:100%;object-fit:cover;object-position:top}.site-preview iframe{width:1280px;height:800px;border:0;opacity:0;pointer-events:none;transform:scale(var(--preview-scale));transform-origin:0 0;transition:opacity .24s ease}.site-preview.is-live iframe{opacity:1}.site-preview-link{position:absolute;z-index:1;inset:0;border-radius:inherit}.site-preview-link:focus-visible{outline:0;box-shadow:inset 0 0 0 2px var(--ink)}.contact-links{display:grid}.contact-links>*{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:16px;row-gap:2px;padding:16px 0 17px;border-bottom:1px solid var(--line);text-align:left;text-decoration:none}.contact-links>:first-child{padding-top:0}.contact-label{grid-column:1;color:var(--ink-3);font-size:12.5px}.contact-links strong{grid-column:1;overflow:hidden;font-size:21px;font-weight:600;letter-spacing:-.025em;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.contact-action{display:inline-flex;height:30px;grid-column:2;grid-row:1 / span 2;align-items:center;gap:6px;padding:0 11px;border:1px solid var(--line-strong);border-radius:var(--r-control);font-size:12.5px;font-weight:500;transition:border-color .12s ease}.contact-links>*:hover .contact-action{border-color:var(--ink)}.form{display:flex;flex-direction:column;gap:14px;margin-top:36px}.form-head p{margin-top:3px;color:var(--ink-3);font-size:13px}.form label{display:flex;flex-direction:column;gap:6px}.form label>span{color:var(--ink-2);font-size:12.5px;font-weight:500}.form input,.form textarea{width:100%;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--r-control);background:var(--paper);font-size:14px;transition:border-color .12s ease,box-shadow .12s ease}.form input{height:38px}.form textarea{min-height:120px;padding:10px 12px;line-height:1.5;resize:vertical}.form input:hover,.form textarea:hover{border-color:#00000052}.form input:focus,.form textarea:focus{border-color:var(--ink);outline:0;box-shadow:0 0 0 3px #00000014}.form input::placeholder,.form textarea::placeholder{color:var(--ink-3)}.form .btn{align-self:flex-start;margin-top:4px}.form .btn:disabled{cursor:progress;opacity:.6}.form .form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.form-status{color:var(--ink-2);font-size:13px;line-height:1.5}.app-toolbar{display:flex;height:52px;flex:0 0 52px;align-items:center;justify-content:space-between;gap:12px;padding:0 12px;border-bottom:1px solid var(--line)}.app-toolbar .button-row{margin:0}.segmented{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--line-strong);border-radius:10px}.segmented button{height:26px;padding:0 12px;border-radius:7px;color:var(--ink-2);font-size:13px;font-weight:500}.segmented button:hover{color:var(--ink);background:var(--hover)}.segmented button.is-active{color:var(--paper);background:var(--ink)}.cv-frame{display:block;width:100%;min-height:0;flex:1 1 auto;border:0;background:#e8e8e8}.pdf-pages{overflow:auto;overscroll-behavior:contain}.pdf-pages-stack{display:flex;flex-direction:column;align-items:center;gap:16px;padding:16px}.pdf-pages-stack[aria-busy=true]{min-height:100%;justify-content:center}.pdf-pages-stack[aria-busy=true]:before{content:"Loading…";color:var(--ink-2);font-size:13px}.pdf-page{display:block;height:auto;max-width:100%;background:#fff;box-shadow:0 0 0 1px #00000014,0 2px 8px #0000000f}.cv-fallback{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;color:var(--ink-2);text-align:center}.cv-summary{display:grid;grid-template-columns:200px minmax(0,1fr);gap:48px}.cv-summary aside,.cv-summary main{display:grid;gap:26px;align-content:start}.cv-summary section{display:grid;gap:3px;padding-top:12px;border-top:1px solid var(--ink)}.cv-summary h3{margin-bottom:6px}.cv-summary p,.cv-summary a{font-size:13.5px;line-height:1.55;text-decoration:none}.cv-summary main p{max-width:60ch;font-size:14.5px;line-height:1.6}.cv-summary aside p,.cv-summary aside a{color:var(--ink-2)}.cv-summary aside a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.cv-entry{display:flex;align-items:baseline;justify-content:space-between;gap:12px;max-width:60ch;margin-bottom:2px;font-size:14.5px}.paint{display:flex;height:100%;min-height:0;flex-direction:column;background:var(--paper)}.paint-bar{display:flex;min-height:52px;flex:0 0 auto;flex-wrap:wrap;align-items:center;gap:8px 0;padding:8px 12px;border-bottom:1px solid var(--line)}.paint-group{display:flex;align-items:center;gap:4px}.paint-group+.paint-group{margin-left:14px;padding-left:14px;border-left:1px solid var(--line)}.paint-size{display:grid;width:32px;height:32px;place-items:center;border-radius:var(--r-control)}.paint-size i{display:block;border-radius:50%;background:currentColor}.paint-size:hover{background:var(--hover)}.paint-size.is-active{color:var(--paper);background:var(--ink)}.paint-group[aria-label=Color]{gap:8px;padding-right:2px}.paint-swatch{width:22px;height:22px;border-radius:50%;background:var(--swatch);box-shadow:inset 0 0 0 1px #0000002e;transition:box-shadow .12s ease}.paint-swatch.is-active{box-shadow:inset 0 0 0 1px #0000002e,0 0 0 2px var(--paper),0 0 0 3.5px var(--ink)}.paint-actions{margin-left:auto;gap:6px}.paint-actions button{display:inline-flex;height:32px;align-items:center;gap:6px;padding:0 11px;border:1px solid var(--line-strong);border-radius:var(--r-control);font-size:13px;font-weight:500;transition:border-color .12s ease}.paint-actions button:hover:not(:disabled){border-color:var(--ink)}.paint-actions button:disabled{color:var(--ink-3);border-color:var(--line);cursor:default}.paint-canvas-wrap{position:relative;min-height:0;flex:1 1 auto}.paint-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none}.paint-note{padding:10px 14px;border-top:1px solid var(--line);color:var(--ink-2);font-size:12.5px}.command-backdrop{position:fixed;z-index:900;inset:0;display:flex;align-items:flex-start;justify-content:center;padding:min(18vh,160px) 16px 0;background:#00000029}.command-palette{width:min(100%,540px);overflow:hidden;border:1px solid var(--ink);border-radius:14px;background:var(--paper);box-shadow:var(--shadow-float)}.command-input{display:flex;height:56px;align-items:center;gap:12px;padding:0 16px 0 18px;border-bottom:1px solid var(--line)}.command-input input{min-width:0;flex:1;border:0;outline:0;background:none;font-size:17px;letter-spacing:-.015em}.command-input input::placeholder{color:var(--ink-3)}.command-input kbd,.command-results kbd{color:var(--ink-3);font-size:12px;font-variant-numeric:tabular-nums}.command-results{max-height:min(60vh,420px);overflow-y:auto;padding:6px;overscroll-behavior:contain}.command-results button{display:grid;width:100%;height:42px;grid-template-columns:112px minmax(0,1fr) auto;align-items:center;gap:12px;padding:0 12px;border-radius:var(--r-control);text-align:left}.command-name{font-size:14px;font-weight:600;letter-spacing:-.01em}.command-description{overflow:hidden;color:var(--ink-3);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.command-results button.is-highlighted{color:var(--paper);background:var(--ink)}.command-results button.is-highlighted :is(.command-description,kbd){color:var(--on-ink-2)}.command-empty{padding:22px 12px;color:var(--ink-3);text-align:center}.context-menu{position:fixed;z-index:800;min-width:180px;padding:5px;border:1px solid var(--ink);border-radius:10px;background:var(--paper);box-shadow:var(--shadow-float)}.context-menu button{display:flex;width:100%;height:32px;align-items:center;gap:9px;padding:0 10px;border-radius:6px;text-align:left}.context-menu button:hover{color:var(--paper);background:var(--ink)}.toast{position:fixed;z-index:950;bottom:24px;left:50%;display:flex;height:40px;align-items:center;gap:12px;padding:0 6px 0 18px;border-radius:999px;color:var(--paper);background:var(--ink);box-shadow:var(--shadow-float);font-weight:500;translate:-50% 0;white-space:nowrap}.toast button{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;color:var(--on-ink-2)}.toast button:hover{color:var(--paper);background:#ffffff24}@media(max-width:1000px)and (min-width:761px){.row{grid-template-columns:96px minmax(0,1fr);gap:20px}.row>.btn{grid-column:2;justify-self:start}.facts>div{grid-template-columns:96px minmax(0,1fr);gap:20px}.cv-summary{grid-template-columns:1fr;gap:26px}.site{grid-template-columns:180px minmax(0,1fr);gap:20px}}@media(max-width:760px){body{font-size:14px}.mobile-shell{position:fixed;inset:0;width:100%;height:100dvh;overflow:hidden;background:var(--desk);-webkit-user-select:none;user-select:none}.mobile-home{position:absolute;inset:0;overflow:hidden}.mobile-status-bar{position:relative;z-index:2;display:flex;height:calc(32px + env(safe-area-inset-top));align-items:flex-end;justify-content:center;padding:env(safe-area-inset-top) 20px 6px;font-size:13px;font-weight:600}.mobile-home-scroll{position:absolute;inset:calc(32px + env(safe-area-inset-top)) 0 0;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;padding:24px max(16px,env(safe-area-inset-right)) calc(128px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));overscroll-behavior:contain;scrollbar-width:none}.mobile-home-scroll::-webkit-scrollbar{display:none}.mobile-app-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 8px}.mobile-app-icon{display:flex;min-width:0;flex-direction:column;align-items:center;gap:9px;color:var(--ink)}.mobile-app-icon .folder{width:56px;height:46.67px}.mobile-app-icon>span:last-child{max-width:100%;overflow:hidden;font-family:var(--font-display);font-size:10px;font-weight:400;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.mobile-app-icon:active .folder{opacity:.6}.mobile-home-dock{position:absolute;z-index:3;right:max(12px,env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));display:grid;height:78px;grid-template-columns:repeat(4,1fr);align-items:center;padding:0 8px;border:1px solid var(--line-strong);border-radius:26px;background:var(--paper);box-shadow:0 1px 2px #0000000a,0 16px 36px -14px #00000038}.mobile-home-dock button{display:grid;height:100%;place-items:center}.mobile-home-dock .folder{width:52px;height:43.33px}.mobile-home-dock button:active .folder{opacity:.6}.mobile-home-indicator{position:absolute;z-index:40;bottom:calc(6px + env(safe-area-inset-bottom));left:50%;width:36%;max-width:134px;height:5px;border-radius:3px;background:var(--ink);transform:translate(-50%);pointer-events:none}.mobile-app-surface{position:fixed;z-index:500;inset:0;display:flex;min-width:0;min-height:0;overflow:hidden;flex-direction:column;background:var(--paper)}.mobile-app-surface .mobile-status-bar{flex:0 0 calc(32px + env(safe-area-inset-top))}.mobile-app-header{display:grid;height:48px;flex:0 0 48px;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 8px;border-bottom:1px solid var(--line)}.mobile-app-header>button{display:inline-flex;width:max-content;height:36px;align-items:center;gap:2px;padding:0 10px 0 4px;border-radius:var(--r-control);font-size:15px;font-weight:500}.mobile-app-header>button:active{background:var(--hover)}.mobile-app-title{max-width:180px;overflow:hidden;font-family:var(--font-display);font-size:13px;font-weight:400;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.mobile-app-body{min-width:0;min-height:0;flex:1 1 auto;overflow:hidden;padding-bottom:env(safe-area-inset-bottom);-webkit-user-select:text;user-select:text}.mobile-app-body>*{height:100%}.app-pad{padding:24px 20px 48px}.mobile-app-body h1{font-size:23px}.lede{font-size:19px}.form input,.form textarea{font-size:16px}.row{grid-template-columns:1fr;gap:8px}.row-meta{flex-direction:row;gap:8px}.row>.btn{justify-self:start;margin-top:6px}.facts>div,.about .facts>div{grid-template-columns:84px minmax(0,1fr);gap:14px}.site{grid-template-columns:1fr;gap:14px}.contact-links strong{font-size:18px}.app-toolbar{height:auto;flex-wrap:wrap;padding:10px 12px}.cv-summary{grid-template-columns:1fr;gap:26px}.paint-group+.paint-group{margin-left:10px;padding-left:10px}.paint-actions{width:100%;margin-left:0;padding-left:0;border-left:0}.paint-group.paint-actions{margin-left:0;padding-left:0;border-left:0}.toast{bottom:calc(16px + env(safe-area-inset-bottom));max-width:calc(100% - 24px)}.context-menu{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
