:root{
  --paper:#F2F4F8;
  --surface:#FFFFFF;
  --ink:#131C33;
  --muted:#566079;
  --line:#CCD3E0;
  --mark:#FFE14A;
  --mark-ink:#131C33;
  --action:#2242CC;
  --action-ink:#FFFFFF;
  --danger:#B3261E;
  --ok:#17704A;
  --font:"Schibsted Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"Spline Sans Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#0E1424;--surface:#172036;--ink:#E9EDF6;--muted:#9BA6BF;--line:#2F3B57;
    --action:#8EA4FF;--action-ink:#0E1424;--danger:#FF8A80;--ok:#6FD3A3;
  }
}
:root[data-theme="dark"]{
  --paper:#0E1424;--surface:#172036;--ink:#E9EDF6;--muted:#9BA6BF;--line:#2F3B57;
  --action:#8EA4FF;--action-ink:#0E1424;--danger:#FF8A80;--ok:#6FD3A3;
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:env(safe-area-inset-top,0px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:1.0625rem;line-height:1.5}
[hidden]{display:none !important}
.page{max-width:44rem;margin:0 auto;padding:1.25rem 1.25rem 4rem}

/* top bar */
.top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.5rem;padding-bottom:1rem;border-bottom:1.5px solid var(--ink)}
.wordmark{font-family:var(--mono);font-weight:600;font-size:1.0625rem;letter-spacing:-.01em}
.wordmark span{background:var(--mark);color:var(--mark-ink);padding:.1em .35em;border-radius:3px}
.tabs{display:flex;gap:.25rem;flex-wrap:wrap}
.tab{font:inherit;font-size:.9375rem;font-weight:500;color:var(--muted);background:none;border:0;border-radius:6px;padding:.4rem .7rem;cursor:pointer}
.tab:hover{color:var(--ink)}
.tab[aria-current="page"]{color:var(--ink);background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--ink)}

/* headings and copy */
h1{font-size:clamp(1.9rem,6.2vw,2.75rem);line-height:1.08;letter-spacing:-.025em;font-weight:800;margin:2.5rem 0 .75rem;max-width:16ch}
h2{font-size:1.3125rem;line-height:1.25;letter-spacing:-.01em;font-weight:700;margin:0}
.lede{margin:0 0 1.75rem;color:var(--muted);max-width:34rem}
.snip{font-family:var(--mono);font-size:.94em;color:var(--ink)}
mark{background:var(--mark);color:var(--mark-ink);font-family:var(--mono);padding:.12em .4em;border-radius:3px}

/* controls */
.btn{font:inherit;font-size:1rem;font-weight:700;line-height:1.2;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.75rem 1.1rem;border-radius:8px;border:1.5px solid var(--ink);background:var(--surface);color:var(--ink);cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:hover{background:var(--paper)}
.btn.primary{background:var(--action);border-color:var(--action);color:var(--action-ink)}
.btn.primary:hover{filter:brightness(1.08)}
.btn.small{font-size:.875rem;font-weight:500;padding:.4rem .7rem;border-width:1.5px;border-color:var(--line)}
.btn.small:hover{border-color:var(--ink)}
.btn.danger{color:var(--danger)}
.btn[disabled]{opacity:.5;cursor:not-allowed}
:where(button,a,input,textarea,summary):focus-visible{outline:3px solid var(--action);outline-offset:2px}

.phrase-field{display:flex;align-items:center;gap:.5ch;min-width:0;background:var(--surface);border:2px solid var(--ink);border-radius:8px;padding:0 .9rem;font-family:var(--mono);font-size:1rem}
.phrase-field:focus-within{outline:3px solid var(--action);outline-offset:2px}
.phrase-field .prefix{color:var(--muted);white-space:nowrap;cursor:text}
.phrase-field input{flex:1;min-width:0;width:100%;border:0;background:transparent;font:inherit;color:var(--ink);padding:.7rem 0;outline:none}
.phrase-field input::placeholder{color:var(--muted);opacity:.6}
.phrase-field.big{font-size:clamp(1.05rem,3.6vw,1.375rem);padding:0 1.1rem}
.phrase-field.big input{padding:.95rem 0}

.lookup{display:flex;flex-wrap:wrap;gap:.6rem;align-items:stretch}
.lookup .phrase-field{flex:1 1 17rem}
.lookup .btn{flex:0 0 auto}
@media (max-width:30rem){.lookup .btn{flex:1 1 100%}}

.form{display:grid;gap:1.25rem;max-width:34rem}
.row label{display:block;font-weight:700;font-size:.9375rem;margin-bottom:.35rem}
.opt{font-weight:400;color:var(--muted)}
.text{width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1.5px solid var(--line);border-radius:8px;padding:.7rem .85rem}
.text:focus{border-color:var(--ink)}
textarea.text{resize:vertical;min-height:4.2rem}
.with-btn{display:flex;flex-wrap:wrap;gap:.5rem}
.with-btn .phrase-field{flex:1 1 14rem}
.hint{margin:.4rem 0 0;font-size:.875rem;color:var(--muted)}
.hint.ok{color:var(--ok)}
.hint.bad,.error{color:var(--danger)}
.error{margin:0;font-size:.9375rem;font-weight:500}

/* result slip */
#find-out{margin-top:2rem}
.slip{background:var(--surface);border:2px solid var(--ink);border-radius:10px;padding:1.4rem 1.4rem 1.5rem;animation:rise .18s ease-out}
@keyframes rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.slip{animation:none}}
.slip-phrase{margin:0 0 1rem;font-size:.9375rem}
.dest{margin:.5rem 0 0;color:var(--muted)}
.dest strong{color:var(--ink);font-weight:700}
.url{margin:.25rem 0 0;font-family:var(--mono);font-size:.875rem;color:var(--muted);overflow-wrap:anywhere}
.note{margin:1rem 0 0;padding-left:.85rem;border-left:3px solid var(--mark)}
.meta{margin:1rem 0 0;font-size:.875rem;color:var(--muted)}
.actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem}
details{margin-top:1.25rem;font-size:.9375rem}
summary{cursor:pointer;color:var(--muted);width:max-content;max-width:100%;border-radius:4px}
details ul{margin:.6rem 0 0;padding:0;list-style:none;display:grid;gap:.5rem}
details li{font-family:var(--mono);font-size:.8125rem;overflow-wrap:anywhere;color:var(--muted)}
details li span{font-family:var(--font);display:block}
.plain{margin:0}
.plain + .plain{margin-top:.5rem;color:var(--muted)}

/* example comment (empty state) */
.example{margin:0;max-width:34rem}
.example figcaption{font-size:.875rem;color:var(--muted);margin-bottom:.5rem}
.example blockquote{margin:0;padding:.9rem 1rem;background:var(--surface);border:1.5px solid var(--line);border-radius:4px 14px 14px 14px}
.example + p{margin:1rem 0 0;color:var(--muted);max-width:34rem}

/* saved confirmation */
.done{max-width:34rem}
.done h2{margin-bottom:.4rem}
.done p{margin:0 0 1rem;color:var(--muted)}
.paste{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:1rem;background:var(--surface);border:2px solid var(--ink);border-radius:10px;margin-bottom:1.25rem}
.paste mark{font-size:1.125rem;overflow-wrap:anywhere}

/* my links */
.list{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--line)}
.item{padding:1.15rem 0;border-bottom:1.5px solid var(--line)}
.item-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem .75rem}
.item-head mark{font-size:.9375rem}
.status{font-size:.8125rem;font-weight:500;color:var(--muted);border:1.5px solid var(--line);border-radius:99px;padding:.05rem .55rem}
.item h2{font-size:1.0625rem;margin-top:.55rem}
.item .url{margin-top:.15rem}
.item.off mark{background:var(--line);color:var(--ink)}
.item.off h2,.item.off .url{opacity:.6}
.item .actions{margin-top:.85rem}
.editor{display:grid;gap:.9rem;margin-top:1rem;padding:1rem;background:var(--surface);border:1.5px solid var(--line);border-radius:8px}
.confirm{margin:.85rem 0 0;font-size:.9375rem}
.confirm .actions{margin-top:.6rem}
.empty{color:var(--muted);max-width:34rem}
.empty .btn{margin-top:1rem}

.paste .addr{font-family:var(--mono);font-size:1.0625rem;overflow-wrap:anywhere}
.keep{margin:0 0 1.5rem;padding:1rem;border:1.5px dashed var(--line);border-radius:10px}
.keep h3{margin:0 0 .35rem;font-size:1rem}
.keep p{margin:0 0 .85rem;font-size:.9375rem}
.paste{margin-bottom:.75rem}
.paste + .keep{margin-top:1.25rem}

/* report a link */
.report{margin-top:1.25rem;padding-top:1rem;border-top:1.5px solid var(--line);font-size:.9375rem}
.linkish{font:inherit;font-size:.875rem;color:var(--muted);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:.18em;border-radius:4px}
.linkish:hover{color:var(--ink)}
.report fieldset{margin:0 0 1rem;padding:0;border:0;display:grid;gap:.45rem}
.report legend{padding:0;margin-bottom:.5rem;font-weight:700}
.choice{display:flex;align-items:center;gap:.55rem;cursor:pointer}
.choice input{width:1.05rem;height:1.05rem;margin:0;accent-color:var(--action)}
.report .actions{margin-top:.85rem}
.report .error{margin-top:.6rem}

/* review page */
.gate{display:grid;gap:.75rem;max-width:26rem}
.bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;margin:2rem 0 .75rem}
.bar h2{font-size:1.125rem}
.count{margin:.6rem 0 0;font-size:.9375rem}
.reasons{margin:.5rem 0 0;padding:0;list-style:none;display:grid;gap:.35rem;font-size:.875rem;color:var(--muted)}
.reasons strong{color:var(--ink);font-weight:500}
.status.warn{color:var(--danger);border-color:var(--danger)}
a.tab{text-decoration:none}

/* sign in */
.signin{display:grid;gap:.9rem;max-width:26rem}
.who{margin:0 0 1rem;font-size:.9375rem;color:var(--muted);overflow-wrap:anywhere}
.who strong{color:var(--ink);font-weight:500}

/* footer and the terms page */
.foot{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:4rem;padding-top:1rem;border-top:1.5px solid var(--line);font-size:.875rem}
.foot a{color:var(--muted)}
.foot a:hover{color:var(--ink)}
.prose{max-width:36rem}
.prose h2{font-size:1.1875rem;margin:2.25rem 0 .5rem}
.prose p,.prose li{color:var(--ink)}
.prose p{margin:0 0 .85rem}
.prose ul{margin:0 0 .85rem;padding-left:1.2rem}
.prose li{margin-bottom:.35rem}
.prose a{color:var(--action)}
.prose .updated{color:var(--muted);font-size:.875rem}
