@font-face{font-family:"Schibsted Grotesk";font-style:normal;font-weight:400 800;font-display:swap;src:url(fonts/schibsted-grotesk-latin.woff2) format("woff2")}
:root{--ink:#121117;--soft:#56535f;--faint:#767380;--rule:#e8e6ee;--wash:#f5f4f8;--a:#4f46e5;
--chatgpt:#10b981;--claude:#f97316;--gemini:#6366f1;--grok:#ec4899;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font:400 17px/1.6 "Schibsted Grotesk",system-ui,sans-serif}
::selection{background:#dcd9fb}
a{color:var(--a);text-underline-offset:3px}
:focus-visible{outline:2px solid var(--a);outline-offset:3px;border-radius:4px}
[hidden]{display:none!important}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}

header{position:sticky;top:0;z-index:5;background:#fff;border-bottom:1px solid var(--rule)}
.bar{display:flex;align-items:center;gap:28px;height:60px}
.brand{display:flex;align-items:center;gap:9px;font-weight:700;color:var(--ink);text-decoration:none;margin-right:auto}
.brand img{width:26px;height:26px;border-radius:6px}
.bar nav{display:flex;gap:26px}
.bar nav a{color:var(--soft);text-decoration:none;font-size:15px}.bar nav a:hover{color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--ink);color:#fff;padding:12px 20px;border:0;border-radius:10px;font:500 16px/1.2 inherit;font-family:inherit;text-decoration:none;cursor:pointer;transition:transform .2s var(--ease),background .2s}
.btn:hover{background:#2c2a35;transform:translateY(-1px)}
.btn:disabled{opacity:.45;cursor:default;transform:none}
.btn.small{padding:8px 14px;font-size:14.5px;border-radius:8px}
.btn.ghost{background:none;color:var(--ink);box-shadow:inset 0 0 0 1px #d9d6e2}.btn.ghost:hover{background:var(--wash)}

.top{padding:72px 0 36px;max-width:820px}
h1{font-size:clamp(40px,6.4vw,72px);line-height:.98;font-weight:800;letter-spacing:-.038em;margin:0 0 22px;text-wrap:balance}
.lede{font-size:clamp(18px,2vw,21px);line-height:1.5;color:var(--soft);margin:0;max-width:36em}
h2{font-size:clamp(28px,3.4vw,40px);line-height:1.05;font-weight:800;letter-spacing:-.03em;margin:0 0 16px;text-wrap:balance}
h3{font-size:19px;margin:28px 0 6px}
.soft{color:var(--soft)}
.fine{font-size:14px;color:var(--faint)}

/* Drop zone */
.drop{border:2px dashed #cfcbd9;border-radius:18px;padding:56px 32px;text-align:center;transition:border-color .2s,background .2s}
.drop.over{border-color:var(--a);background:#f7f6ff}
.drop h2{font-size:clamp(24px,3vw,32px);margin-bottom:10px}
.drop .formats{color:var(--soft);margin:0 auto 24px;max-width:38em}
.drop .row{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}
.drop .private{margin:22px auto 0;max-width:40em;font-size:14.5px;color:var(--soft)}
.drop[data-busy] .idle{display:none}
.busy{display:none}.drop[data-busy] .busy{display:block}
progress{width:min(420px,90%);height:8px;margin-top:14px;accent-color:var(--a)}
.status{margin:14px 0 0;padding:12px 14px;border-radius:10px;background:var(--wash);font-size:15px}
.status[data-kind=error]{background:#fdeceb;color:#8a1f17}
.status[data-kind=warn]{background:#fff4e0;color:#6b4300}

/* Workspace */
.work{border:1px solid var(--rule);border-radius:16px;overflow:hidden}
.wbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--rule);background:#fbfafd}
.wbar .name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:32ch}
.wbar .counts{color:var(--soft);font-size:15px;margin-right:auto}
.cols{display:grid;grid-template-columns:380px 1fr;height:min(78vh,760px);min-height:520px}
.listpane{display:flex;flex-direction:column;border-right:1px solid var(--rule);min-height:0}
.filters{padding:12px;border-bottom:1px solid var(--rule);display:grid;gap:8px}
input[type=search],input[type=text],input[type=date],select{font:inherit;font-size:15px;padding:8px 10px;border:1px solid #d9d6e2;border-radius:8px;background:#fff;color:var(--ink);min-width:0;width:100%}
.frow{display:flex;gap:8px}
.frow>*{flex:1}
.frow label{font-size:12.5px;color:var(--faint);display:grid;gap:2px}
.selbar{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--rule);font-size:14px;color:var(--soft)}
.selbar .grow{margin-right:auto}
.list{list-style:none;margin:0;padding:0;overflow:auto;flex:1;min-height:0}
.row{display:flex;align-items:flex-start;border-bottom:1px solid var(--rule)}
.row.on{background:var(--wash);box-shadow:inset 3px 0 0 var(--a)}
.ck{padding:12px 4px 0 12px}
.ck input{width:16px;height:16px;accent-color:var(--a)}
.open{all:unset;box-sizing:border-box;flex:1;min-width:0;padding:10px 12px 11px 8px;cursor:pointer;display:block}
.open:hover{background:var(--wash)}
.open:focus-visible{outline:2px solid var(--a);outline-offset:-2px}
.open .t{display:block;font-weight:500;font-size:15.5px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.open .m{display:block;font-size:13px;color:var(--faint);margin-top:1px}
.open .snip{display:block;font-size:13.5px;color:var(--soft);margin-top:3px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.sq{display:inline-block;width:9px;height:9px;border-radius:2.5px;margin-right:7px;background:var(--faint)}
.sq.chatgpt{background:var(--chatgpt)}.sq.claude{background:var(--claude)}.sq.gemini{background:var(--gemini)}.sq.grok{background:var(--grok)}
.more{margin:12px}
.acts{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--rule);background:#fbfafd}
.acts .btn{flex:1;padding:10px 8px;font-size:14.5px}
.lock{font-size:12px;font-weight:500;opacity:.7}

/* Reader */
.reader{overflow:auto;padding:24px 32px 40px;min-width:0}
.reader .empty{color:var(--faint);margin-top:30vh;text-align:center}
.rhead h2{font-size:26px;letter-spacing:-.02em;margin:0 0 4px}
.rmeta{margin:0 0 12px;color:var(--soft);font-size:14.5px}
.rbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.msg{margin:0 0 6px;padding:14px 0 6px;border-top:1px solid var(--rule)}
.msg .who{display:flex;gap:10px;align-items:baseline;font-size:14px;margin-bottom:6px}
.msg .who b{font-weight:700}.msg .who time{color:var(--faint);font-size:12.5px}
.msg.user .body{background:var(--wash);border-radius:12px;padding:10px 14px}
.msg.tool{opacity:.78}
.body{overflow-wrap:anywhere;font-size:16px}
.body p{margin:0 0 .8em}.body p.h{font-weight:700}
.body ul{margin:0 0 .8em;padding-left:1.3em}
.body pre{background:#15141a;color:#ecebf2;border-radius:10px;padding:14px 16px;overflow:auto;margin:0 0 1em;font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace}
.body code{font:.88em ui-monospace,SFMono-Regular,Menlo,monospace;background:#ebe9f2;border-radius:4px;padding:1px 4px}
.body pre code{background:none;padding:0;font-size:inherit}
mark{background:#fde68a;color:inherit;border-radius:2px}
.att{font-size:13.5px;color:var(--soft);margin:4px 0}

/* Dialogs */
dialog{border:0;border-radius:16px;padding:0;width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 48px);box-shadow:0 30px 80px -20px rgba(18,17,23,.45);color:var(--ink);font:inherit}
dialog::backdrop{background:rgba(18,17,23,.45)}
.dlg{padding:26px 28px 24px}
.dlg h2{font-size:26px;margin-bottom:6px}
.dlg .x{float:right;margin:-6px -8px 0 0}
fieldset{border:0;padding:0;margin:16px 0 0}
legend{font-weight:700;font-size:15px;padding:0;margin-bottom:6px}
.opt{display:block;margin:5px 0;font-size:15.5px}
.opt input{margin-right:8px;accent-color:var(--a)}
.opt input:disabled+*,.opt:has(input:disabled){color:var(--faint)}
.dlg select{width:auto;min-width:12em}
.dlg .go{margin-top:20px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.out{margin:14px 0 0;font-size:15px;color:var(--soft)}
.out[data-kind=error]{color:#8a1f17}.out[data-kind=ok]{color:#0b6b4c}
.err{color:#8a1f17;font-size:14.5px;margin:8px 0 0;min-height:1.2em}
dialog[data-pro="0"] .unlocked,dialog[data-pro="1"] .locked{display:none}
.keyform{display:flex;gap:8px;margin-top:14px}
.keyform input{flex:1}
.buy{font-size:15px;margin:12px 0 0}
.steps{margin:12px 0 0;padding-left:1.2em;font-size:15px;color:var(--soft)}

/* Prose */
section.prose{padding:96px 0 0;max-width:760px}
.prose p,.prose li{color:var(--soft)}
.prose ol,.prose ul{padding-left:1.3em}
.prose li{margin:5px 0}
.cmp{width:100%;border-collapse:collapse;margin:20px 0 0;font-size:16px}
.cmp th,.cmp td{text-align:left;vertical-align:top;padding:12px 16px 12px 0;border-top:1px solid var(--rule)}
.cmp th{width:34%;font-weight:700}
.cmp tr:last-child td,.cmp tr:last-child th{border-bottom:1px solid var(--rule)}
details{border-top:1px solid var(--rule)}details:last-of-type{border-bottom:1px solid var(--rule)}
summary{cursor:pointer;padding:18px 0;font-weight:500;font-size:18px;list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--faint);font-size:22px;line-height:1}details[open] summary::after{content:"−"}
details p{margin:0 0 18px}
.cta{margin:72px 0 0;padding:44px 36px;background:var(--ink);color:#fff;border-radius:20px;max-width:760px}
.cta h2{color:#fff;margin-bottom:10px}.cta p{color:#c9c6d6;margin:0 0 22px}.cta .btn{background:#fff;color:var(--ink)}
code.i{font:.9em ui-monospace,SFMono-Regular,Menlo,monospace;background:#ebe9f2;border-radius:4px;padding:1px 5px}

footer{padding:64px 0 56px;font-size:14px;color:var(--faint)}
footer a{color:var(--soft);text-decoration:none;margin-right:20px}footer a:hover{color:var(--ink)}
footer p{max-width:42em;margin:12px 0}

@media (max-width:860px){
.bar nav{display:none}
.top{padding-top:44px}
.cols{grid-template-columns:1fr;height:auto}
.listpane{border-right:0;border-bottom:1px solid var(--rule);max-height:70vh}
.reader{padding:20px 18px 32px;min-height:50vh}
.reader .empty{margin-top:60px}
.drop{padding:36px 18px}
section.prose{padding-top:64px}
.cta{padding:32px 22px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

select.auto{width:auto}
.brand.foot{margin-bottom:12px}

#tool,section.prose{scroll-margin-top:76px}
