@font-face{font-family:Schibsted Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/481eac7be1c268b7-s.p.0kh2es0tesdch.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Schibsted Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/31a9145ccb84606d-s.p.10_fo~wllb4ek.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Schibsted Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/481eac7be1c268b7-s.p.0kh2es0tesdch.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Schibsted Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/31a9145ccb84606d-s.p.10_fo~wllb4ek.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Schibsted Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/481eac7be1c268b7-s.p.0kh2es0tesdch.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Schibsted Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/31a9145ccb84606d-s.p.10_fo~wllb4ek.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Schibsted Grotesk;font-style:normal;font-weight:800;font-display:swap;src:url(../media/481eac7be1c268b7-s.p.0kh2es0tesdch.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Schibsted Grotesk;font-style:normal;font-weight:800;font-display:swap;src:url(../media/31a9145ccb84606d-s.p.10_fo~wllb4ek.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Schibsted Grotesk Fallback;src:local(Arial);ascent-override:93.46%;descent-override:24.67%;line-gap-override:0.0%;size-adjust:104.49%}.schibsted_grotesk_d6001ea0-module__7DjA7q__className{font-family:Schibsted Grotesk,Schibsted Grotesk Fallback;font-style:normal}.schibsted_grotesk_d6001ea0-module__7DjA7q__variable{--font-sans:"Schibsted Grotesk", "Schibsted Grotesk Fallback"}
@font-face{font-family:Fragment Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d203b9464cfa0970-s.147ba2py75iol.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Fragment Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a69e508140118fbc-s.p.0hkjmibcr3b27.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fragment Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a9a434ecf764164f-s.p.02-b298654doz.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fragment Mono Fallback;src:local(Arial);ascent-override:68.53%;descent-override:18.03%;line-gap-override:0.0%;size-adjust:138.63%}.fragment_mono_c82b6ded-module__FOgcbq__className{font-family:Fragment Mono,Fragment Mono Fallback;font-style:normal;font-weight:400}.fragment_mono_c82b6ded-module__FOgcbq__variable{--font-mono:"Fragment Mono", "Fragment Mono Fallback"}
:root{--bg:#0e0d12;--fg:#edebf2;--accent:#b49cff;--muted:#a19dad;--dim:#8c8898;--line:#2a2733;--line-strong:#34303f;--surface:#16141c;--surface-2:#121117;--text-soft:#cfcbd9;--danger:#f2958a;--ease:cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box}html{background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans), system-ui, sans-serif;margin:0}a{color:var(--fg)}a:hover{color:var(--accent)}.mono{font-family:var(--font-mono), ui-monospace, monospace}@keyframes up{0%{transform:translateY(105%)}to{transform:none}}@keyframes fade{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes drop{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@keyframes pulse{0%{box-shadow:0 0 #b49cff8c}to{box-shadow:0 0 0 10px #b49cff00}}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.fade{animation:fade .9s var(--ease) both}.drop{animation:drop .4s var(--ease) both}@supports (animation-timeline:view()){.reveal{animation:linear both fade;animation-timeline:view();animation-range:entry entry 70%}}.u{transition:background-size .45s var(--ease), color .2s;background:linear-gradient(currentColor,currentColor) 0 100%/0% 2px no-repeat;text-decoration:none}.u:hover{background-size:100% 2px}.logo{letter-spacing:-.02em;color:var(--fg);font-size:19px;font-weight:800;text-decoration:none}.logo span{color:var(--accent)}.soon{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:40px;min-height:100dvh;padding:24px;display:flex}.soon h1{letter-spacing:-.06em;margin:0;font-size:clamp(88px,19vw,280px);font-weight:800;line-height:.86}.soon-line{letter-spacing:-.01em;color:var(--muted);align-items:center;gap:14px;margin:0;font-size:clamp(18px,2.4vw,26px);animation-delay:.45s;display:flex}.soon-line strong{color:var(--accent);font-weight:700}.site{min-height:100vh;font-size:17px;line-height:1.55}.wrap{max-width:1240px;margin:0 auto;padding-left:24px;padding-right:24px}.site-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:24px;display:flex}.site-nav{flex-wrap:wrap;align-items:center;gap:4px 20px;font-size:15px;display:flex}.site-nav a{padding:10px 0}.hero{flex-direction:column;gap:56px;padding-top:96px;padding-bottom:120px;display:flex}.hero h1{letter-spacing:-.06em;margin:0;font-size:clamp(96px,19vw,280px);font-weight:800;line-height:.86}.mask{padding-bottom:.04em;display:block;overflow:hidden}.mask>span{animation:up 1.1s var(--ease) .1s both;display:inline-block}.hero-row{flex-wrap:wrap;align-items:flex-start;gap:40px 72px;display:flex}.hero-lead{letter-spacing:-.01em;flex:2 420px;max-width:620px;margin:0;font-size:26px;line-height:1.35;animation-delay:.45s}.facts{flex:260px;grid-template-columns:auto 1fr;gap:12px 24px;margin:0;font-size:15px;animation-delay:.6s;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0}.facts .status{align-items:center;gap:10px;display:flex}.dot{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.8s ease-out infinite pulse}.section{border-top:1px solid var(--line)}.section-inner{flex-direction:column;gap:40px;padding-top:96px;padding-bottom:96px;display:flex}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 48px;display:flex}.h2{letter-spacing:-.03em;margin:0;font-size:48px;font-weight:800;line-height:1}.scale{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 24px;font-size:14px;display:flex}.scale .mono{color:var(--accent)}.bento{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.tile{transition:transform .45s var(--ease), border-color .3s;border:1px solid;border-radius:14px;flex-direction:column;justify-content:space-between;padding:22px 24px;display:flex;position:relative;overflow:hidden}.tile:hover{transform:translateY(-4px)}.tile-top{justify-content:space-between;align-items:center;gap:12px;display:flex;position:relative}.tile-ext{font-size:13px}.tile-level{font-size:15px}.tile-level span{opacity:.6}.ghost{pointer-events:none;transition:transform .6s var(--ease);line-height:1;position:absolute;bottom:-28px;right:-6px}.tile:hover .ghost{transform:translate(-10px,-8px)}.tile-body{flex-direction:column;gap:14px;display:flex;position:relative}.tile-name{letter-spacing:-.03em;font-weight:800;line-height:1}.meter{gap:4px;max-width:160px;display:flex}.seg{transform-origin:0;height:4px;animation:grow .6s var(--ease) both;border-radius:2px;flex:1}.tools{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tools-label{color:var(--muted);margin-right:6px;font-size:14px}.chip{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:14px;transition:border-color .2s,color .2s}.chip:hover{border-color:var(--accent);color:var(--accent)}.count{color:var(--dim);letter-spacing:0;vertical-align:super;font-size:16px;font-weight:400}.filters{flex-wrap:wrap;gap:4px 24px;display:flex}.tab{min-height:44px;color:var(--dim);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:0;font-size:15px;transition:color .2s,border-color .2s}.tab[aria-pressed=true]{color:var(--fg);border-bottom-color:var(--accent)}.project-list{border-top:1px solid var(--line)}.project{border-bottom:1px solid var(--line)}.row{width:100%;color:var(--fg);font:inherit;text-align:left;cursor:pointer;background-color:#0000;border:0;grid-template-columns:48px minmax(0,1fr) auto auto 32px;align-items:center;gap:24px;padding:28px 8px;transition:background-color .25s;display:grid}.row:hover{background-color:var(--surface)}.row-num,.row-year{color:var(--dim);font-size:13px}.row-title{letter-spacing:-.02em;font-size:30px;font-weight:700}.row-cat{color:var(--muted);font-size:14px}.arr{color:var(--accent);transition:transform .35s var(--ease);font-size:22px;display:inline-block}.row:hover .arr{transform:translate(6px)}.row[aria-expanded=true] .arr{transform:rotate(90deg)}.project-detail{flex-wrap:wrap;gap:24px 48px;padding:0 8px 32px 80px;animation-duration:.5s;display:flex}.project-detail p{color:var(--text-soft);flex:2 360px;max-width:560px;margin:0}.project-meta{flex-direction:column;flex:220px;gap:14px;display:flex}.project-tags{color:var(--muted);font-size:13px}.project-links{gap:24px;font-size:15px;display:flex}.project-links a{color:var(--accent);padding:6px 0}.empty{color:var(--dim);margin:0;padding:28px 8px}.about{flex-wrap:wrap;gap:40px 72px;padding-top:96px;padding-bottom:96px;display:flex}.about .h2{flex:260px}.about-text{color:var(--text-soft);flex-direction:column;flex:3 600px;gap:20px;max-width:760px;font-size:22px;line-height:1.45;display:flex}.about-text p{white-space:pre-line;margin:0}.contact{flex-direction:column;gap:32px;padding-top:120px;padding-bottom:96px;display:flex}.contact-lead{color:var(--muted);font-size:18px}.contact-mail{letter-spacing:-.04em;max-width:100%;color:var(--accent);overflow-wrap:anywhere;align-self:flex-start;font-size:clamp(40px,7vw,104px);font-weight:800;line-height:1.05}.contact-links{flex-wrap:wrap;gap:8px 32px;font-size:16px;display:flex}.contact-links>*{padding:10px 0}.contact-links span{color:var(--muted)}.site-footer .wrap{color:var(--dim);flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:24px;padding-bottom:24px;font-size:14px;display:flex}.site-footer a{color:var(--dim);padding:6px 0}@media (max-width:760px){.bento{grid-template-columns:repeat(2,minmax(0,1fr))}.bento>*{grid-column:span 1!important}.hero{padding-top:56px;padding-bottom:80px}.h2{font-size:36px}.row{grid-template-columns:28px minmax(0,1fr) 24px;gap:12px;padding:22px 4px}.row-cat,.row-year{display:none}.row-title{font-size:22px}.project-detail{padding:0 4px 28px 44px}.about-text{font-size:19px}}.admin{min-height:100vh;font-size:16px;line-height:1.5}.admin .fade{animation-duration:.6s}.login{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login form{flex-direction:column;gap:20px;width:100%;max-width:380px;display:flex}.login h1{margin:0 0 8px}.login .back{color:var(--dim);padding:8px 0;font-size:14px}.h1{letter-spacing:-.03em;margin:0;font-size:40px;font-weight:800;line-height:1}.sub{color:var(--muted);margin:8px 0 0}.field{color:var(--muted);flex-direction:column;gap:6px;font-size:14px;display:flex}.input{border:1px solid var(--line-strong);background:var(--surface);min-height:44px;color:var(--fg);font:inherit;border-radius:6px;padding:0 12px;font-size:16px;transition:border-color .2s}.input:focus{border-color:var(--accent);outline:none}.input--lg{min-height:48px;padding:0 14px}.input--deep{background:var(--bg)}textarea.input{resize:vertical;padding:10px 12px}.btn{min-height:44px;font:inherit;cursor:pointer;border:0;border-radius:6px;transition:background-color .2s,color .2s,border-color .2s,transform .15s,opacity .2s}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.6;cursor:progress}.btn-primary{background:var(--accent);color:var(--bg);padding:0 18px;font-weight:700}.btn-lg{min-height:48px}.btn-ghost{border:1px solid var(--line-strong);color:var(--fg);background:0 0;padding:0 16px}.btn-text{color:var(--fg);background:0 0;padding:0 12px;font-size:14px}.btn-danger{color:var(--danger)}.form-error{color:var(--danger);margin:0;font-size:14px}.admin-layout{flex-wrap:wrap;min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--line);flex-direction:column;flex:220px;gap:32px;max-width:100%;padding:28px 20px;display:flex}.side-nav{flex-direction:column;gap:2px;display:flex}.side-tab{text-align:left;min-height:44px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-left:2px solid #0000;padding:0 12px;font-weight:500;transition:color .2s,border-color .2s}.side-tab[aria-current=page]{color:var(--fg);border-left-color:var(--accent)}.side-foot{flex-direction:column;gap:2px;margin-top:auto;font-size:14px;display:flex}.side-foot a{color:var(--muted);padding:10px 14px}.side-foot form{display:contents}.side-foot button{text-align:left;min-height:44px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 14px}.side-foot button:hover{color:var(--accent)}.main{flex:999 560px;min-width:0;padding:48px}.alert{color:var(--danger);background:#2a1215;border:1px solid #5c2b2e;border-radius:6px;margin:0 0 24px;padding:12px 16px;font-size:14px}.panel{flex-direction:column;gap:28px;display:flex}.panel--narrow{max-width:760px}.panel--form{gap:18px;max-width:680px}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.editor{border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;flex-direction:column;gap:18px;padding:28px;display:flex}.editor-title{font-size:20px;font-weight:700}.fields{flex-wrap:wrap;gap:16px;display:flex}.actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.table{border-top:1px solid var(--line);overflow-x:auto}.table-inner{min-width:620px}.line{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,3fr) minmax(0,1fr) minmax(0,1.2fr) auto;align-items:center;gap:16px;padding:8px;transition:background-color .2s;display:grid}.line:hover{background-color:var(--surface)}.line-title{letter-spacing:-.01em;font-size:18px;font-weight:700}.line-cat{color:var(--muted);font-size:14px}.line-actions{justify-content:flex-end;gap:4px;display:flex}.vis{min-height:44px;color:var(--dim);font:inherit;cursor:pointer;background:0 0;border:0;justify-self:start;align-items:center;gap:8px;padding:0;font-size:14px;display:flex}.vis-dot{border-radius:50%;width:8px;height:8px;box-shadow:inset 0 0 0 1px}.vis[aria-pressed=true]{color:var(--accent)}.vis[aria-pressed=true] .vis-dot{background:var(--accent)}.add-row{flex-wrap:wrap;gap:10px;display:flex}.add-row .field{flex:260px}.add-row .btn{align-self:flex-end}.skill-list{border-top:1px solid var(--line)}.skill{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px 20px;padding:8px;transition:background-color .2s;display:flex}.skill:hover{background-color:var(--surface)}.skill-name{flex:160px;font-size:18px;font-weight:700}.skill-ext{color:var(--dim);margin-left:10px;font-size:13px;font-weight:400}.levels{border:1px solid var(--line-strong);border-radius:6px;display:flex;overflow:hidden}.level{width:44px;min-height:44px;color:var(--dim);font-family:var(--font-mono), ui-monospace, monospace;cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;transition:background-color .2s,color .2s}.level[data-filled=true]{color:#d4c6ff;background:#2b2440}.level[aria-pressed=true]{background:var(--accent);color:var(--bg)}.chips{flex-wrap:wrap;gap:10px;display:flex}.chip-remove{background:var(--surface);border:1px solid var(--line);min-height:44px;color:var(--fg);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 8px 0 14px;font-size:14px;transition:border-color .2s,color .2s;display:inline-flex}.chip-remove span{width:24px;height:24px;color:var(--dim);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.chip-remove:hover{border-color:var(--danger)}.chip-remove:hover span{color:var(--danger)}.h3{letter-spacing:-.01em;margin:0;font-size:22px;font-weight:700}.checkbox{align-items:center;gap:10px;min-height:44px;font-size:15px;display:flex}.checkbox input{width:20px;height:20px;accent-color:var(--accent)}.save-row{align-items:center;gap:16px;display:flex}.saved{color:var(--accent);font-size:14px}@media (max-width:760px){.sidebar{border-right:0;border-bottom:1px solid var(--line);gap:16px}.main{padding:28px 16px}.editor{padding:20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}html{scroll-behavior:auto}}
