/* shared styles for minimalVNC subpages (imprint, privacy, support, contact) */
:root{
  --smoke:#0e1014; --surface:#141821; --line:#232a33; --fg:#e9edf1;
  --muted:#8b95a1; --teal:#2bb39a;
  --mono:"Martian Mono","SF Mono",ui-monospace,Menlo,monospace;
  --sys:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",system-ui,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--smoke);color:var(--fg);font:16px/1.7 var(--sys);
  -webkit-font-smoothing:antialiased}
a{color:var(--teal);text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:4px}
.wrap{max-width:760px;margin:0 auto;padding:0 24px}
.top{display:flex;align-items:center;justify-content:space-between;padding:26px 0;
  max-width:1080px;margin:0 auto;padding-inline:24px}
.brand{display:flex;align-items:center;gap:11px;font:800 15px/1 var(--mono);color:var(--fg)}
.brand img{width:30px;height:30px;border-radius:7px}
.top nav{display:flex;gap:22px;flex-wrap:wrap}
.top nav a{font:500 12px/1 var(--mono);color:var(--muted)}
.top nav a:hover{color:var(--fg);text-decoration:none}
main{padding:44px 0 80px}
.eyebrow{font:500 11px/1 var(--mono);letter-spacing:.08em;color:var(--teal);margin:0 0 14px}
h1{font:800 clamp(26px,4vw,38px)/1.2 var(--mono);letter-spacing:-.01em;margin:0 0 8px}
.sub{color:var(--muted);margin:0 0 40px}
h2{font:700 15px/1.4 var(--mono);letter-spacing:.02em;margin:38px 0 10px;color:var(--fg)}
p,li{color:var(--muted);font-size:15.5px}
p strong,li strong{color:var(--fg);font-weight:600}
ul{padding-left:22px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;
  padding:24px 26px;margin:0 0 18px}
.card p{margin:6px 0}
.mono{font:400 13px/1.9 var(--mono)}
.em{font:400 14px/1 var(--mono);color:var(--fg);user-select:all}
footer{border-top:1px solid var(--line);padding:34px 0 44px;color:var(--muted);font-size:14px}
footer .wrap{max-width:1080px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
footer a{color:var(--muted)}
footer a:hover{color:var(--fg)}
/* form */
form{display:grid;gap:16px;max-width:560px}
label{font:500 11px/1 var(--mono);letter-spacing:.06em;color:var(--muted);display:block;margin-bottom:8px}
input,textarea{width:100%;background:var(--surface);border:1px solid var(--line);
  border-radius:10px;color:var(--fg);font:15px/1.5 var(--sys);padding:12px 14px}
input:focus,textarea:focus{outline:none;border-color:var(--teal)}
textarea{min-height:170px;resize:vertical}
button{background:var(--teal);color:#06120f;border:0;border-radius:10px;
  font:600 15px/1 var(--sys);padding:14px 26px;cursor:pointer;justify-self:start}
button:hover{filter:brightness(1.1)}
button:disabled{opacity:.55;cursor:default}
.note{font:400 12.5px/1.7 var(--mono);color:var(--muted)}
.msg{font:500 13px/1.6 var(--mono);border-radius:10px;padding:14px 16px;display:none}
.msg.ok{display:block;color:var(--teal);border:1px solid var(--teal);background:rgba(43,179,154,.07)}
.msg.err{display:block;color:#e08585;border:1px solid #7a3c3c;background:rgba(224,133,133,.06)}
.hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
@media (max-width:720px){
  .top{flex-direction:column;align-items:flex-start;gap:14px}
  footer .wrap{flex-direction:column;align-items:flex-start;gap:8px}
}
