@font-face{font-family:Schibsted Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/assets/schibsted-grotesk-latin-ext-wght-normal-hsMS0n0O.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Schibsted Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/assets/schibsted-grotesk-latin-wght-normal-Bb8VGrTG.woff2)format("woff2-variations");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}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f2f5f3;--surface:#fff;--ink:#14201b;--muted:#5b6a63;--line:#d7e0db;--accent:#0a7a5a;--accent-soft:#e1f2ea;--accent-ink:#fff;--danger:#a8281b;--danger-soft:#fdf1ef;--danger-line:#f1c9c3;--radius:14px;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:Schibsted Grotesk Variable,system-ui,sans-serif;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0d1411;--surface:#141d19;--ink:#e4ede8;--muted:#93a39b;--line:#25322c;--accent:#3dcc9b;--accent-soft:#173a2e;--accent-ink:#06140f;--danger:#ff9585;--danger-soft:#2a1613;--danger-line:#5c2a23}}*,:before,:after{box-sizing:border-box}body{min-height:100vh;margin:0}h1,h2,p,dl,dd{margin:0}button,input{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.topbar{border-bottom:1px solid var(--line);background:var(--surface);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:1rem 1.5rem;display:flex}.brand{letter-spacing:-.01em;color:inherit;margin-right:auto;font-weight:700;text-decoration:none}.dashboard{max-width:64rem;margin:0 auto;padding:2.5rem 1.5rem 4rem}.dashboard-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem;margin-bottom:1.25rem;display:flex}.dashboard-heading h1{letter-spacing:-.02em;font-size:1.75rem;font-weight:700;line-height:1.15}.count,.loading,.empty{color:var(--muted)}.empty{margin-bottom:1rem}.load-error{border:1px solid var(--danger-line);border-radius:var(--radius);background:var(--danger-soft);color:var(--danger);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;padding:1rem 1.25rem;display:flex}.load-error p{overflow-wrap:anywhere;max-width:60ch}.load-error button{border:1px solid var(--danger-line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:10px;padding:.5rem 1rem;font-weight:600}.project-grid{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.project-grid>li{display:grid}.project-box{min-width:0;color:inherit;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);align-content:start;gap:.85rem;padding:1.25rem;text-decoration:none;display:grid}.project-box:hover{border-color:var(--accent)}.project-name{overflow-wrap:anywhere;font-size:1.0625rem;font-weight:600;line-height:1.3}.project-details{grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:.3rem .75rem;display:grid}.project-details dt{color:var(--muted);font-size:.875rem}.project-details dd{overflow-wrap:anywhere;font-weight:500}.project-url{color:var(--accent)}.create-box{border:1.5px dashed var(--line);border-radius:var(--radius)}.create-box:hover{border-color:var(--accent)}.create-box:has(.create-form){border-style:solid;border-color:var(--accent);background:var(--surface);grid-column:1/-1}.create-button{border-radius:inherit;width:100%;height:100%;min-height:6.5rem;color:var(--accent);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1.25rem;font-weight:600;display:flex}.create-button:hover{background:var(--accent-soft)}.plus{border:1.5px dashed;border-radius:50%;place-items:center;width:2.25rem;height:2.25rem;font-size:1.25rem;line-height:1;display:inline-grid}.create-form{gap:.9rem;max-width:34rem;padding:1.25rem;display:grid}.create-form label{font-weight:600}.create-form input{border:1px solid var(--line);background:var(--bg);border-radius:10px;width:100%;padding:.7rem .85rem}.url-preview{gap:.1rem;display:grid}.url-label{color:var(--muted);font-size:.875rem}.url-value{letter-spacing:-.015em;color:var(--accent);overflow-wrap:anywhere;font-size:1.5rem;font-weight:650;line-height:1.2}.url-value.is-empty{letter-spacing:0;color:var(--muted);font-size:1rem;font-weight:500}.hint{max-width:60ch;color:var(--muted);font-size:.875rem}.form-actions{flex-wrap:wrap;gap:.5rem;display:flex}.form-actions button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;padding:.6rem 1.1rem;font-weight:600}.form-actions .primary{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.form-actions .primary:disabled{opacity:.5;cursor:default}@media (prefers-reduced-motion:no-preference){.create-form{animation:.16s ease-out reveal}.project-box.is-new{animation:1.6s ease-out arrive}}@keyframes reveal{0%{opacity:0;transform:translateY(-4px)}}@keyframes arrive{0%{background:var(--accent-soft)}}.account{align-items:center;gap:.75rem;min-width:0;display:flex}.who{color:var(--muted);overflow-wrap:anywhere}.account button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;padding:.4rem .9rem;font-weight:600}.auth-page{justify-items:center;padding:4rem 1.5rem;display:grid}.auth-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:1rem;width:min(100%,24rem);padding:1.75rem;display:grid}.auth-heading{gap:.35rem;display:grid}.auth-heading h1{letter-spacing:-.02em;font-size:1.5rem;font-weight:700;line-height:1.2}.auth-heading p,.auth-switch,.field-hint{color:var(--muted)}.auth-card label{gap:.35rem;font-weight:600;display:grid}.auth-card input{border:1px solid var(--line);background:var(--bg);border-radius:10px;width:100%;padding:.65rem .8rem;font-weight:400}.field-hint{font-size:.875rem;font-weight:400}.auth-card .form-actions .primary{flex:1}.auth-switch{text-align:center}.auth-switch a{color:var(--accent);font-weight:600}@media (width<=480px){.auth-page{padding:2rem 1rem}.dashboard{padding:1.75rem 1rem 3rem}.project-page{padding:1.5rem 1rem 3rem}.project-box,.create-form{padding:1rem}}.error{color:var(--danger)}.success{color:var(--accent)}.slug-status{color:var(--muted);font-size:.875rem}.slug-status.is-available{color:var(--accent)}.project-page{gap:1.5rem;max-width:64rem;margin:0 auto;padding:2rem 1.5rem 4rem;display:grid}.back-link{color:var(--accent);justify-self:start;font-weight:600;text-decoration:none}.back-link:hover{text-decoration:underline}.project-header{gap:.6rem;display:grid}.project-header h1{letter-spacing:-.02em;overflow-wrap:anywhere;font-size:1.75rem;font-weight:700;line-height:1.15}.files-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.files-header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;padding:.85rem 1rem;display:flex}.files-title{gap:.15rem;min-width:0;display:grid}.files-title h2{font-size:1.125rem;font-weight:650;line-height:1.3}.files-status{color:var(--muted);overflow-wrap:anywhere;font-size:.875rem}.files-status.is-done{color:var(--accent)}.files-status.is-error{color:var(--danger)}.files-panel>.loading,.files-panel>.empty{text-align:left;margin:0;padding:1.5rem 1rem}.primary-button{border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);cursor:pointer;border-radius:10px;padding:.5rem 1.1rem;font-weight:600}.primary-button:disabled{opacity:.5;cursor:default}.upload-menu{display:inline-flex}.menu{z-index:20;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:.35rem;display:grid;position:fixed;box-shadow:0 10px 28px #00000024}.menu button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:.5rem .75rem;font-weight:500}.menu button:hover,.menu button:focus-visible{background:var(--accent-soft)}.file-browser{grid-template-columns:minmax(12rem,17rem) minmax(0,1fr);min-height:24rem;display:grid}.file-tree{border-right:1px solid var(--line);max-height:36rem;padding:.6rem .5rem;overflow:auto}.tree{margin:0;padding:0 0 0 .85rem;list-style:none}.file-tree>.tree{padding-left:0}.tree-folder{align-items:center;gap:.25rem;display:flex}.tree-folder-name{text-align:left;overflow-wrap:anywhere;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:1;align-items:center;gap:.35rem;min-width:0;padding:.25rem .5rem;font-weight:600;display:flex}.chevron{width:.75rem;color:var(--muted);flex:none}.tree-upload{width:1.75rem;height:1.75rem;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex:none;place-items:center;font-size:1.05rem;line-height:1;display:grid}.tree-upload:hover,.tree-upload[aria-expanded=true]{border-color:var(--line);color:var(--accent)}.tree-upload:disabled{opacity:.4;cursor:default}.tree-folder-name:hover,.tree-file:hover{background:var(--accent-soft)}.tree-file{text-align:left;overflow-wrap:anywhere;cursor:pointer;background:0 0;border:0;border-radius:6px;width:100%;padding:.25rem .5rem}.tree-file.is-selected,.tree-file.is-selected:hover{background:var(--accent);color:var(--accent-ink)}.file-preview{grid-template-rows:auto 1fr;align-content:start;min-width:0;display:grid}.preview-header{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:.25rem 1rem;padding:.75rem 1rem;display:flex}.preview-path{overflow-wrap:anywhere;font-weight:600}.preview-meta{color:var(--muted);flex-wrap:wrap;gap:.25rem .9rem;font-size:.875rem;display:flex}.file-preview>.loading,.file-preview>.empty,.file-preview>.error,.preview-note{text-align:left;margin:0;padding:1rem}.code{counter-reset:line;background:var(--bg);max-height:36rem;margin:0;padding:.75rem 0;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.8125rem;line-height:1.55;overflow:auto}.code-line{white-space:pre;padding-right:1rem;display:block}.code-line:before{counter-increment:line;content:counter(line);text-align:right;width:3.25rem;color:var(--muted);-webkit-user-select:none;user-select:none;padding-right:1rem;display:inline-block}.image-preview{background:var(--bg);place-items:center;padding:1.5rem;display:grid}.image-preview img{max-width:100%;max-height:32rem}@media (width<=720px){.file-browser{grid-template-columns:1fr}.file-tree{border-right:0;border-bottom:1px solid var(--line);max-height:16rem}}
