/* Gleiche Gestaltungssprache wie die App — dieselben Tokens, damit sich Kauf,
   Konto und Werkzeug nicht wie drei verschiedene Produkte anfuehlen. */
:root{
  --bg:#141414; --bg-deep:#0d0d0d; --bg-raise:#1a1a1a;
  --fg:#E2F2E6; --fg-60:rgba(226,242,230,.6); --fg-30:rgba(226,242,230,.3);
  --rule:rgba(226,242,230,.18); --rule-soft:rgba(226,242,230,.09);
  --label:0.22em; --radius:10px; --ease:cubic-bezier(0.16,1,0.3,1);
  --warn:#ffb26b;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);
  font:14px/1.55 "Archivo",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.wrap{max-width:640px;margin:0 auto;padding:clamp(28px,7vh,72px) clamp(18px,4vw,28px)}
.brand{font-size:11px;letter-spacing:var(--label);text-transform:uppercase;color:var(--fg-60);
  margin-bottom:38px}
h1{font-size:clamp(21px,3.4vw,27px);font-weight:600;letter-spacing:-.01em;margin:0 0 10px}
.lede{color:var(--fg-60);margin:0 0 30px;max-width:52ch}
.card{background:var(--bg-raise);border:1px solid var(--rule-soft);border-radius:var(--radius);
  padding:20px 22px;margin-bottom:14px}
label{display:block;font-size:10.5px;letter-spacing:var(--label);text-transform:uppercase;
  color:var(--fg-60);margin-bottom:8px}
input{width:100%;background:transparent;border:1px solid var(--rule);border-radius:6px;
  color:var(--fg);font:14px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;
  padding:12px 13px}
input:focus{outline:none;border-color:var(--fg-30)}
.row{display:flex;gap:10px;align-items:flex-end}
.row>div{flex:1}
button{background:var(--fg);color:var(--bg);border:0;border-radius:6px;font:inherit;
  font-size:12px;letter-spacing:.06em;font-weight:600;padding:12px 20px;cursor:pointer;
  transition:opacity .25s var(--ease)}
button:hover{opacity:.85}
button:disabled{opacity:.4;cursor:default}
button.ghost{background:none;color:var(--fg-60);border:1px solid var(--rule);font-weight:400}
.key{font:16px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;
  padding:16px 18px;border:1px dashed var(--rule);border-radius:8px;text-align:center;
  user-select:all;background:var(--bg-deep)}
.geraet{display:flex;justify-content:space-between;align-items:center;gap:14px;
  padding:13px 0;border-bottom:1px solid var(--rule-soft)}
.geraet:last-child{border-bottom:0}
.geraet .meta{font-size:11.5px;color:var(--fg-60)}
.geraet.frei{opacity:.42}
.msg{min-height:20px;font-size:12.5px;margin-top:12px}
.msg.warn{color:var(--warn)}
.hint{font-size:11.5px;color:var(--fg-30);margin-top:26px;line-height:1.7}
