/* SecretLink — delt designsystem for index.html og view.html.
   Retning: "kryptert terminal/hvelv" i stedet for generisk SaaS-kort-med-skygge —
   monospace som gjennomgående uttrykk (ikke bare for hemmeligheten selv), flate
   flater med hårfine linjer i stedet for avrundede kort+skygge, én bevisst
   aksentfarge (ember) i stedet for indigo/teal, ingen ikon-i-sirkel-badges. */

:root{
  --bg:#F3F1EC;
  --surface:#FFFFFF;
  --surface-2:#EBE8E1;
  --ink:#16181B;
  --ink-muted:#5C6169;
  --ink-faint:#8A8F96;
  --line:rgba(22,24,27,0.12);
  --line-strong:rgba(22,24,27,0.28);
  --accent:#D9530A;
  --accent-strong:#B84600;
  --accent-contrast:#FFFFFF;
  --danger:#B3261E;
  --danger-soft:rgba(179,38,30,0.08);
  --term-bg:#16181B;
  --term-ink:#EDEEF0;
  --term-accent:#FF8A4C;
  --focus:#D9530A;
  --font-mono: ui-monospace, "SF Mono", "Cascadia Mono", "Roboto Mono", Consolas, monospace;
  --font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

@media (prefers-color-scheme: dark){
  :root{
    --bg:#0A0B0D; --surface:#121417; --surface-2:#1A1D21;
    --ink:#EDEEF0; --ink-muted:#9CA1A8; --ink-faint:#5C6169;
    --line:rgba(237,238,240,0.10); --line-strong:rgba(237,238,240,0.24);
    --accent:#FF7A33; --accent-strong:#FF9558; --accent-contrast:#0A0B0D;
    --danger:#FF7A6E; --danger-soft:rgba(255,122,110,0.12);
    --term-bg:#000000; --term-ink:#EDEEF0; --term-accent:#FF8A4C;
    --focus:#FF7A33;
  }
}
:root[data-theme="dark"]{
  --bg:#0A0B0D; --surface:#121417; --surface-2:#1A1D21;
  --ink:#EDEEF0; --ink-muted:#9CA1A8; --ink-faint:#5C6169;
  --line:rgba(237,238,240,0.10); --line-strong:rgba(237,238,240,0.24);
  --accent:#FF7A33; --accent-strong:#FF9558; --accent-contrast:#0A0B0D;
  --danger:#FF7A6E; --danger-soft:rgba(255,122,110,0.12);
  --term-bg:#000000; --term-ink:#EDEEF0; --term-accent:#FF8A4C;
  --focus:#FF7A33;
}
:root[data-theme="light"]{
  --bg:#F3F1EC; --surface:#FFFFFF; --surface-2:#EBE8E1;
  --ink:#16181B; --ink-muted:#5C6169; --ink-faint:#8A8F96;
  --line:rgba(22,24,27,0.12); --line-strong:rgba(22,24,27,0.28);
  --accent:#D9530A; --accent-strong:#B84600; --accent-contrast:#FFFFFF;
  --danger:#B3261E; --danger-soft:rgba(179,38,30,0.08);
  --term-bg:#16181B; --term-ink:#EDEEF0; --term-accent:#FF8A4C;
  --focus:#D9530A;
}

*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font-body);
  min-height:100vh;
  position:relative;
}

/* Svært lavkontrast punktrutenett i bakgrunnen — teknisk tekstur uten å gå på lesbarhet */
body::before{
  content:"";
  position:fixed; inset:0; z-index:0; pointer-events:none;
  background-image:radial-gradient(circle, var(--line) 1px, transparent 1px);
  background-size:22px 22px;
  opacity:0.5;
}

.page{
  position:relative; z-index:1;
  max-width:640px;
  margin:0 auto;
  padding:40px 24px 56px;
  min-height:100vh;
  display:flex;
  flex-direction:column;
}

header.masthead{
  display:flex; align-items:center; justify-content:space-between;
  padding-bottom:20px; margin-bottom:32px;
  border-bottom:1px solid var(--line);
}
.brand{ display:flex; align-items:center; gap:10px; }
.brand-mark{ width:20px; height:20px; flex:none; color:var(--accent); }
.brand-name{
  font-family:var(--font-mono); font-weight:700; font-size:0.92rem;
  letter-spacing:0.02em; text-transform:uppercase;
}
.brand-name .cursor{
  display:inline-block; margin-left:2px; color:var(--accent);
  animation:blink 1.1s steps(1) infinite;
}
@keyframes blink{ 50%{ opacity:0; } }
@media (prefers-reduced-motion:reduce){ .brand-name .cursor{ animation:none; } }
.brand-tag{
  font-family:var(--font-mono); font-size:0.68rem; color:var(--ink-faint);
  text-transform:uppercase; letter-spacing:0.08em;
}

main{ flex:1; }

h1{
  font-family:var(--font-mono); font-weight:700; font-size:1.5rem;
  line-height:1.25; letter-spacing:-0.01em; margin:0 0 12px; text-wrap:balance;
}
p{ font-size:0.95rem; line-height:1.6; color:var(--ink-muted); margin:0 0 16px; max-width:52ch; }

/* --- "Spec sheet": erstatter ikon-kort med et teknisk, informasjonstett format --- */
.spec-sheet{
  border-top:1px solid var(--line);
  margin:24px 0 28px;
  font-family:var(--font-mono);
  font-size:0.8rem;
}
.spec-row{
  display:flex; gap:18px; padding:11px 0;
  border-bottom:1px solid var(--line);
}
.spec-label{
  flex:0 0 132px;
  color:var(--ink-faint);
  text-transform:uppercase; letter-spacing:0.06em;
}
.spec-value{ color:var(--ink); }

/* --- Skjemaelementer --- */
.field{ margin-bottom:20px; }
.field-label{
  display:block; font-family:var(--font-mono); font-size:0.72rem; font-weight:700;
  text-transform:uppercase; letter-spacing:0.07em; color:var(--ink-faint);
  margin-bottom:8px;
}
textarea, select{
  width:100%; font-family:var(--font-mono); font-size:0.92rem; color:var(--ink);
  background:var(--surface); border:1.5px solid var(--line-strong); border-radius:6px;
  padding:12px 13px;
}
textarea{ resize:vertical; min-height:120px; line-height:1.5; }
textarea:focus, select:focus, input:focus{
  outline:none; border-color:var(--focus); box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 18%, transparent);
}
.help-text{ font-family:var(--font-mono); font-size:0.72rem; color:var(--ink-faint); margin-top:7px; }

.checkbox-row{ display:flex; gap:10px; align-items:flex-start; font-size:0.88rem; }
.checkbox-row input{ margin-top:3px; width:17px; height:17px; flex:none; accent-color:var(--accent); }
.checkbox-row .checkbox-label{ font-family:var(--font-mono); font-weight:700; font-size:0.82rem; }
.checkbox-row .checkbox-sub{ display:block; font-weight:400; color:var(--ink-muted); font-size:0.82rem; margin-top:3px; }

/* --- Knapper: flate, monospace, ingen skygge --- */
.btn{
  font-family:var(--font-mono); font-size:0.78rem; font-weight:700;
  text-transform:uppercase; letter-spacing:0.06em;
  border-radius:6px; padding:14px 18px; border:1.5px solid transparent; cursor:pointer;
  width:100%; display:flex; align-items:center; justify-content:center; gap:8px;
  transition:background .12s ease, border-color .12s ease, opacity .12s ease;
}
.btn:disabled{ opacity:0.5; cursor:not-allowed; }
.btn-primary{ background:var(--accent); color:var(--accent-contrast); }
.btn-primary:hover:not(:disabled){ background:var(--accent-strong); }
.btn-outline{ background:transparent; color:var(--ink); border-color:var(--line-strong); }
.btn-outline:hover:not(:disabled){ border-color:var(--accent); color:var(--accent); }
.btn:focus-visible{ outline:2px solid var(--focus); outline-offset:2px; }

/* --- "Terminal"-blokk: for delt lenke og avslørt hemmelighet --- */
.term{
  background:var(--term-bg); border-radius:6px; padding:4px 6px;
  display:flex; align-items:center; gap:8px; margin-bottom:10px;
}
.term .prompt{
  font-family:var(--font-mono); color:var(--term-accent); font-size:0.85rem;
  padding-left:10px; flex:none;
}
.term input, .term textarea{
  flex:1; min-width:0; background:none; border:none; color:var(--term-ink);
  font-family:var(--font-mono); font-size:0.85rem; padding:10px 4px;
}
.term textarea{ resize:vertical; min-height:56px; line-height:1.5; }
.term input:focus, .term textarea:focus{ outline:none; box-shadow:none; }
.term .btn{ width:auto; flex:none; margin:4px; padding:9px 14px; }

.status-line{
  font-family:var(--font-mono); font-size:0.78rem; color:var(--accent);
  min-height:1.4em; margin-bottom:18px;
}

.callout{
  display:flex; gap:10px; align-items:flex-start; font-family:var(--font-mono);
  font-size:0.78rem; color:var(--ink-muted); background:var(--surface-2);
  border-left:3px solid var(--accent); border-radius:4px; padding:11px 13px; margin-bottom:20px;
}
.callout[hidden]{ display:none; }

.error-text{
  font-family:var(--font-mono); font-size:0.8rem; color:var(--danger);
  background:var(--danger-soft); border-left:3px solid var(--danger); border-radius:4px;
  padding:11px 13px; margin-bottom:18px;
}
.error-text[hidden]{ display:none; }

.center{ text-align:center; }

.section-title{
  font-family:var(--font-mono); font-weight:700; font-size:0.72rem;
  text-transform:uppercase; letter-spacing:0.08em; color:var(--ink-faint);
  margin:32px 0 4px;
}
.spec-value{ word-break:break-word; }

footer.fine-print{
  margin-top:40px; padding-top:18px; border-top:1px solid var(--line);
  font-family:var(--font-mono); font-size:0.7rem; color:var(--ink-faint); line-height:1.7;
}

@media (max-width:480px){
  .page{ padding:28px 18px 44px; }
  .spec-label{ flex-basis:104px; }
}
