:root{--ink:#20231d;--paper:#edeee8;--milk:#f4f5ed;--blaze:#536517;--lime:#d2ff00;--rule:#20231d29;--muted:#20231d9e;--milk-rule:#f4f5ed47;--milk-muted:#f4f5ed9e}*{box-sizing:border-box}html{color:var(--ink);font-family:var(--font-schibsted), Arial, sans-serif;background-color:#d9dbd1;background-image:radial-gradient(#20231d29 .6px,#0000 .7px),radial-gradient(#20231d14 .5px,#0000 .6px);background-position:0 0,3px 4px;background-repeat:repeat;background-size:7px 7px,11px 11px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box}body{margin:0}::selection{background:var(--lime);color:var(--ink)}a{color:inherit;text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}a:focus-visible,button:focus-visible{outline:3px solid var(--blaze);outline-offset:3px;border-radius:4px}.mono{font-family:var(--font-martian), monospace}.toolbar{justify-content:space-between;align-items:center;gap:1rem;max-width:210mm;margin:1.25rem auto;display:flex}.toolbar a,.toolbar button{cursor:pointer;font-family:var(--font-martian), monospace;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-items:center;min-height:2.6rem;padding:.6rem 1.25rem;font-size:.66rem;font-weight:600;display:inline-flex}.toolbar a:hover{text-decoration:none}.back{border:2px solid var(--ink)}.back:hover{background:var(--ink);color:var(--paper)}.download{background:var(--ink);color:var(--paper);border:0}.download:hover{background:var(--lime);color:var(--ink)}.download:disabled{cursor:progress;opacity:.75}.sheet{background-color:var(--paper);background-image:radial-gradient(#20231d1a .6px,#0000 .7px),radial-gradient(#20231d0d .5px,#0000 .6px);background-position:0 0,3px 4px;background-size:7px 7px,11px 11px;flex-direction:column;width:210mm;min-height:297mm;margin:0 auto 2rem;padding:12mm;display:flex}.masthead{background-color:var(--ink);color:var(--milk);background-image:radial-gradient(#f4f5ed21 .6px,#0000 .7px),radial-gradient(#f4f5ed12 .5px,#0000 .6px);background-position:0 0,3px 4px;background-size:7px 7px,11px 11px;border-radius:6mm;grid-template-columns:1fr 58mm;gap:8mm;padding:9mm 10mm;display:grid}h1{font-family:var(--font-unbounded), Arial, sans-serif;letter-spacing:-.015em;margin:0;font-size:21pt;font-weight:700;line-height:1.04}.role{color:var(--milk-muted);font-family:var(--font-martian), monospace;letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:2.4mm;margin:4mm 0 0;font-size:6.8pt;display:flex}.role:before{background:var(--lime);content:"";border-radius:50%;flex:none;width:2.4mm;height:2.4mm;box-shadow:0 0 0 1mm #d2ff004d}.contact{border-left:1px solid var(--milk-rule);font-family:var(--font-martian), monospace;align-content:center;gap:2.2mm;padding-left:6mm;font-size:6.6pt;line-height:1.45;display:grid}.contact a:hover{-webkit-text-decoration-color:var(--lime);text-decoration-color:var(--lime)}.contact span{color:var(--milk-muted);letter-spacing:.08em;text-transform:uppercase;width:16mm;display:inline-block}h2{font-family:var(--font-martian), monospace;letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:2.6mm;margin:0 0 4mm;font-size:7pt;font-weight:600;display:flex}h2:before{background:var(--blaze);content:"";border-radius:50%;flex:none;width:2.6mm;height:2.6mm;box-shadow:0 0 0 1mm #d2ff004d}h2:after{background:var(--rule);content:"";flex:1;height:1px}section{margin-top:7mm}.intro{max-width:168mm;margin:0;font-size:9.5pt;line-height:1.55}.metrics{border-bottom:1px solid var(--rule);border-top:1px solid var(--rule);grid-template-columns:repeat(4,1fr);margin-top:6mm;padding:3.6mm 0;display:grid}.metric+.metric{border-left:1px solid var(--rule);padding-left:4.5mm}.metric strong{font-size:11.5pt;font-weight:700;display:block}.metric span,.label{color:var(--muted);font-family:var(--font-martian), monospace;letter-spacing:.1em;text-transform:uppercase;font-size:6.2pt}.layout{grid-template-columns:1.6fr .8fr;gap:0 10mm;display:grid}.entry{break-inside:avoid;grid-template-columns:28mm 1fr;gap:4mm;padding-bottom:4.6mm;display:grid}.entry time,.side-entry .label{color:var(--muted);font-family:var(--font-martian), monospace;letter-spacing:.06em;text-transform:uppercase;font-size:6.2pt;line-height:1.55}h3{margin:0 0 1.4mm;font-size:9.5pt;font-weight:600;line-height:1.3}p{margin:0;font-size:8.5pt;line-height:1.5}.entry .label{margin-bottom:1.4mm;display:block}.side-entry{break-inside:avoid;border-top:1px solid var(--rule);padding:3.4mm 0}.side-entry:first-of-type{border-top:0;padding-top:0}.side-entry .label{margin-bottom:1.4mm;display:block}.side-entry h3{font-size:8.5pt}.side-entry p{color:var(--muted);font-size:7.8pt}.folio{border-top:2px solid var(--ink);font-family:var(--font-martian), monospace;letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;margin-top:auto;padding-top:3mm;font-size:6pt;display:flex}.page-head{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:baseline;margin-bottom:7mm;padding-bottom:3.4mm;display:flex}.page-head strong{font-family:var(--font-unbounded), Arial, sans-serif;letter-spacing:-.015em;font-size:10pt}.page-head span{color:var(--muted);font-family:var(--font-martian), monospace;letter-spacing:.14em;text-transform:uppercase;font-size:6.4pt}.project-grid{grid-template-columns:1fr 1fr;gap:5mm;display:grid}.project{border:1.5px solid var(--rule);break-inside:avoid;border-radius:4.5mm;align-content:start;gap:2.6mm;padding:5.5mm 6mm;display:grid}.project .label{display:block}.project h3{margin:0;font-size:10.5pt}.project p{color:var(--muted)}.deps{flex-wrap:wrap;gap:1.6mm;margin:1mm 0 0;padding:0;list-style:none;display:flex}.deps li{border:1px solid var(--rule);font-family:var(--font-martian), monospace;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:1.1mm 2.8mm;font-size:5.8pt}.demo{font-family:var(--font-martian), monospace;letter-spacing:.08em;text-transform:uppercase;margin-top:.6mm;font-size:6.4pt;font-weight:600}.demo span{color:var(--blaze)}.languages{gap:8mm;display:flex}.languages p{border-top:1px solid var(--rule);flex:1;padding-top:2.8mm;font-size:8.5pt}.languages strong{margin-bottom:1mm;display:block}@media screen and (max-width:820px){.toolbar{flex-wrap:wrap;margin-inline:1rem}.sheet{width:100%;min-height:0;padding:1.5rem}.masthead,.layout,.project-grid{grid-template-columns:1fr}.contact{border-left:0;border-top:1px solid var(--milk-rule);padding-top:5mm;padding-left:0}.metrics{grid-template-columns:repeat(2,1fr);row-gap:1rem}.metric:nth-child(3){border-left:0;padding-left:0}.folio{margin-top:2rem}}@page{margin:0;size:A4}@media print{html,body{background:var(--paper);-webkit-print-color-adjust:exact;print-color-adjust:exact}.toolbar{display:none}.sheet{break-after:page;min-height:297mm;margin:0}.sheet:last-child{break-after:auto}}
