/* ON TV base: brand tokens, type, forms. Visual design of pages lives in site.css (owned by the public-site build). */
:root{--bg:#141416;--bg2:#1d1d1f;--panel:#232327;--panel2:#2c2c31;--line:#38383f;--fg:#f1f0f2;--mute:#a09fa8;--dim:#6c6b74;
--tv:#00a2ed;--tv2:#2bb5f2;--s1:#2eb6e8;--s2:#4f80cf;--s3:#6b56bb;--s4:#9e3f9d;--s5:#e03a82;--s6:#f65342;--s7:#f68934;--s8:#fece2c;
--ok:#3fb950;--warn:#e6a23c;--err:#f06a5f;--r:8px;--font:Montserrat,system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace}
*{box-sizing:border-box}html{background:var(--bg);color:var(--fg);font:16px/1.6 var(--font);-webkit-text-size-adjust:100%}body{margin:0}
a{color:var(--tv2)}a:hover{color:#fff}img,video{max-width:100%;display:block}h1,h2,h3,h4{line-height:1.15;margin:0 0 .5em;font-weight:700;letter-spacing:-.01em}
p{margin:0 0 1em}.muted{color:var(--mute)}.mono{font-family:var(--mono)}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}.narrow{max-width:720px;margin:0 auto;padding:0 20px}
.stripes{display:flex;height:6px}.stripes i{flex:1}.stripes i:nth-child(1){background:var(--s1)}.stripes i:nth-child(2){background:var(--s2)}.stripes i:nth-child(3){background:var(--s3)}.stripes i:nth-child(4){background:var(--s4)}.stripes i:nth-child(5){background:var(--s5)}.stripes i:nth-child(6){background:var(--s6)}.stripes i:nth-child(7){background:var(--s7)}.stripes i:nth-child(8){background:var(--s8)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:999px;border:1px solid var(--line);background:var(--panel2);color:var(--fg);font:600 .95rem var(--font);text-decoration:none;cursor:pointer}
.btn:hover{border-color:#5b5b66;color:#fff}.btn-tv{background:var(--tv);border-color:var(--tv);color:#fff}.btn-tv:hover{background:var(--tv2)}.btn-ghost{background:transparent}.btn-block{width:100%}.btn-sm{padding:7px 14px;font-size:.85rem}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:24px}
.form label{display:block;font-weight:600;font-size:.92rem;margin:18px 0 6px}.form .hint{color:var(--mute);font-size:.84rem;margin-top:5px}.form .req{color:var(--s6)}
.form input[type=text],.form input[type=email],.form input[type=password],.form input[type=url],.form input[type=tel],.form input[type=number],.form select,.form textarea{width:100%;background:#18181b;color:var(--fg);border:1px solid var(--line);border-radius:6px;padding:11px 13px;font:inherit}
.form textarea{min-height:120px;resize:vertical}.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid #0b5d86;border-color:var(--tv)}
.form .choice{display:flex;gap:10px;align-items:flex-start;font-weight:400;margin:8px 0;cursor:pointer}.form .choice input{margin-top:5px;accent-color:var(--tv)}
.form .err{color:var(--err);font-size:.86rem;margin-top:5px}.form fieldset{border:1px solid var(--line);border-radius:var(--r);padding:8px 20px 20px;margin:0 0 22px}.form legend{padding:0 8px;font-weight:700;color:var(--tv2)}
.alert{padding:12px 16px;border-radius:6px;border:1px solid;margin:0 0 18px}.alert-ok{background:#16291b;border-color:#2f6b3a;color:#bfe8c6}.alert-err{background:#33191a;border-color:#7a3330;color:#f6c2bd}.alert-info{background:#11253a;border-color:#245b8c;color:#bfdcf6}.alert-warn{background:#33280f;border-color:#6d5520;color:#f0d699}
.badge{display:inline-block;padding:2px 10px;border-radius:999px;font:600 .75rem var(--font);border:1px solid var(--line)}
.otp{font:600 1.6rem var(--mono)!important;letter-spacing:.4em;text-align:center}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
