/* Shared theme — single source for every Namegarage site.
   Extracted from styles.css so the sales site and the adult site cannot
   drift apart on color. The build prepends this file to styles.css so the
   browser still fetches one stylesheet; adult pages inline it. */

/* `--notice-*` colors the "not affiliated" notice on domains that resemble
   another brand (liquidate/unaffiliated.py). Saturated yellow separates it
   from standard `--card` panels; `--notice-ink` measures 13.7:1 in light mode
   and 9.9:1 in dark mode. */
/* `--select-chevron` is per-theme because a data URI cannot read
   `var(--muted)`; each theme carries its own SVG stroked in that theme's
   `--muted`. The dark-theme stroke measured 2.56:1 on the light theme's
   white card. */
/* Light text on a dark ground looks heavier than the same weight dark on
   light (irradiation), so the dark theme draws each heavy weight one step
   lighter (owner, 2026-10-31). Site CSS sets weights of 600 and above only
   through these tokens; `--weight-emphasis` is `<b>` and `<strong>`. */
:root{color-scheme:dark;
--weight-semibold:500;--weight-label:550;--weight-bold:600;--weight-display:650;--weight-emphasis:600;
--code-bg:#181825;--code-blue:#89b4fa;--code-green:#a6e3a1;--code-mauve:#cba6f7;--code-overlay0:#6c7086;--code-overlay2:#9399b2;--code-peach:#fab387;--code-pink:#f5c2e7;--code-red:#f38ba8;--code-sky:#89dceb;--code-teal:#94e2d5;--code-text:#cdd6f4;--code-yellow:#f9e2af;
--bg:#0c0e0a;--card:#151810;--ink:#e9ece1;--muted:#9ba594;--line:#272c1f;
--accent:#a6ca84;--accent-rgb:166,202,132;--button:#a6ca84;--button-hover:#b8d79b;--button-ink:#12180a;
--platinum:#e5e4e2;--gold:#d4af37;--silver:#aab2c0;--bronze:#b08d57;--red:#e2533b;--ok:#3fb27f;
--notice-bg:#4a3a00;--notice-border:#f5c518;--notice-ink:#fff3b0;
--header-bg:rgba(12,14,10,.92);--hover:rgba(255,255,255,.04);--accent-soft:rgba(var(--accent-rgb),.12);
--mark-invert:0;
--apple-btn-bg:#fff;--apple-btn-ink:#000;--apple-signin-logo:url("./brand-apple-signin-black.svg");--signin-outline:var(--line);
--google-signin-button:url("./brand-google-signin-light.svg");
--gram-mark:url("./brand-gram-mark.svg");
--select-chevron:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239ba594' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
--font-domain:ui-monospace,"SF Mono","Cascadia Code",Menlo,Consolas,monospace}
/* Latte token colors are darkened from Catppuccin 2.5.0 to exceed 4.5:1
   on its Mantle surface. Mocha keeps the upstream palette. */
:root[data-theme="light"]{color-scheme:light;
--weight-semibold:600;--weight-label:650;--weight-bold:700;--weight-display:750;--weight-emphasis:bolder;
--code-bg:#e6e9ef;--code-blue:#1b5de1;--code-green:#2f751f;--code-mauve:#8437e9;--code-overlay0:#646671;--code-overlay2:#646677;--code-peach:#b04507;--code-pink:#984c84;--code-red:#cc0e37;--code-sky:#026e9a;--code-teal:#127278;--code-text:#4c4f69;--code-yellow:#905b12;
--bg:#f6f7f3;--card:#ffffff;--ink:#1b2016;--muted:#5a6350;--line:#e3e7db;
--accent:#47702c;--accent-rgb:71,112,44;--button:#47702c;--button-hover:#3a5d23;--button-ink:#ffffff;
--platinum:#53606b;--gold:#8a6d1f;--silver:#5e6675;--bronze:#7d5f34;--red:#c5341e;--ok:#147a4a;
--notice-bg:#ffe866;--notice-border:#c99a06;--notice-ink:#1b2016;
--header-bg:rgba(246,247,243,.85);--hover:rgba(0,0,0,.05);--accent-soft:rgba(var(--accent-rgb),.09);
--mark-invert:1;
--apple-btn-bg:#fff;--apple-btn-ink:#000;--apple-signin-logo:url("./brand-apple-signin-black.svg");--signin-outline:var(--ink);
--google-signin-button:url("./brand-google-signin-light.svg");
--select-chevron:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235a6350' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>")}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]){color-scheme:light;
--weight-semibold:600;--weight-label:650;--weight-bold:700;--weight-display:750;--weight-emphasis:bolder;
--code-bg:#e6e9ef;--code-blue:#1b5de1;--code-green:#2f751f;--code-mauve:#8437e9;--code-overlay0:#646671;--code-overlay2:#646677;--code-peach:#b04507;--code-pink:#984c84;--code-red:#cc0e37;--code-sky:#026e9a;--code-teal:#127278;--code-text:#4c4f69;--code-yellow:#905b12;
--bg:#f6f7f3;--card:#ffffff;--ink:#1b2016;--muted:#5a6350;--line:#e3e7db;
--accent:#47702c;--accent-rgb:71,112,44;--button:#47702c;--button-hover:#3a5d23;--button-ink:#ffffff;
--platinum:#53606b;--gold:#8a6d1f;--silver:#5e6675;--bronze:#7d5f34;--red:#c5341e;--ok:#147a4a;
--notice-bg:#ffe866;--notice-border:#c99a06;--notice-ink:#1b2016;
--header-bg:rgba(246,247,243,.85);--hover:rgba(0,0,0,.05);--accent-soft:rgba(var(--accent-rgb),.09);
--mark-invert:1;
--apple-btn-bg:#fff;--apple-btn-ink:#000;--apple-signin-logo:url("./brand-apple-signin-black.svg");--signin-outline:var(--ink);
--google-signin-button:url("./brand-google-signin-light.svg");
--select-chevron:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235a6350' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>")}}

/* intl-tel-input palette hooks. Each variable points to a theme token above,
   so one block serves both themes. Use `:root:root` so specificity beats the
   vendored stylesheet that phone.js appends to <head> lazily: that sheet
   declares the same custom properties on `:root` and loads after this file,
   which otherwise reset the country dropdown to light defaults (near-white
   `--ink` text on a white background in dark mode). */
:root:root{--iti-border-color:var(--line);--iti-country-selector-bg:var(--card);
--iti-icon-color:var(--muted);--iti-hover-color:var(--hover)}

/* The portal build prepends Namegarage's shared theme.css. */
*{box-sizing:border-box}
html{scrollbar-gutter:stable}
body{margin:0;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font:16px/1.5 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
button,input,textarea{font:inherit}
button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;max-width:100%;padding:10px 16px;border:1px solid transparent;border-radius:8px;background:var(--button);color:var(--button-ink);font-size:.95rem;line-height:1.35;font-weight:650;text-align:center;cursor:pointer}
button:hover{background:var(--button-hover)}
button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}
button.secondary:hover{background:var(--hover);border-color:var(--muted)}
button:disabled{opacity:.55;cursor:not-allowed}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
[hidden]{display:none!important}
.skip{position:fixed;top:-5rem;left:16px;z-index:100;padding:10px 16px;border-radius:8px;background:var(--ink);color:var(--bg);font-weight:650}
.skip:focus{top:8px}
header{border-bottom:1px solid var(--line);background:var(--header-bg)}
.header-inner,.footer-inner{width:100%;max-width:1280px;margin:0 auto;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.header-inner{min-height:80px}
.wordmark{display:inline-flex;align-items:center;flex:none;gap:10px;color:var(--ink);text-decoration:none;line-height:1}
.wordmark:hover{text-decoration:none}
.brand-mark{display:block;flex:none;width:32px;height:32px}
.brand-lockup{display:flex;flex-direction:column;gap:5px}
.brand-name{font-size:1.15rem;font-weight:750;letter-spacing:-.015em}
.byline{font-size:.72rem;font-weight:500;line-height:1.2;color:var(--muted)}
nav{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-height:44px;font-size:.9rem}
nav button{white-space:nowrap}
main{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:36px 20px 56px;min-width:0}
h1{margin:0 0 12px;font-size:clamp(1.65rem,1.15rem + 2vw,2.4rem);line-height:1.15;letter-spacing:-.022em;font-weight:750;text-wrap:balance}
h2{margin:0;font-size:1.2rem;line-height:1.3;letter-spacing:-.015em}
h3{margin:0 0 12px;font-size:1rem;line-height:1.4}
p{margin:0 0 16px}
.intro{max-width:70ch;margin:0 0 24px;color:var(--muted);font-size:1.02rem}
.login{max-width:640px;margin:28px 0}
.login .intro{max-width:52ch}
label{display:block;margin:0 0 8px;font-size:.9rem;font-weight:650}
input,textarea{min-width:0;border:1px solid var(--muted);border-radius:8px;background:var(--card);color:var(--ink);padding:11px 12px;font-size:1rem}
input{min-height:46px}
.field-row{display:flex;align-items:stretch;gap:12px}
.field-row input{flex:1;width:100%}
.field-row button{flex:none}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.form-actions{margin-top:16px}
.helper,.muted{color:var(--muted);font-size:.9rem;line-height:1.6}
.helper{margin:20px 0 0;max-width:58ch}
.queue-actions{margin:0 0 24px}
.queue-actions:has(>button[hidden]:first-child):has(>button[hidden]:last-child){display:none}
.account-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}
.account-heading p{margin-bottom:0}
.account-note{max-width:32ch;color:var(--muted);font-size:.9rem}
.lease{margin:0 0 20px;border:1px solid var(--line);border-radius:10px;background:var(--card);overflow:hidden}
.lease-title{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid var(--line)}
.lease-title h2{font-family:var(--font-domain);overflow-wrap:anywhere}
.badge{display:inline-flex;align-items:center;gap:6px;width:fit-content;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.8rem;font-weight:600;line-height:1.4}
.badge.warning{background:var(--notice-bg);border-color:var(--notice-border);color:var(--notice-ink)}
.lease-body{padding:24px}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0 0 24px}
.facts>div{min-width:0}
dt{color:var(--muted);font-size:.85rem}
dd{margin:6px 0 0;font-size:1.3rem;font-weight:650;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.progress{height:6px;margin:0 0 12px;border-radius:999px;overflow:hidden;background:var(--line)}
.progress progress{display:block;width:100%;height:6px;border:0;accent-color:var(--accent)}
.lease-body>.actions{margin:20px 0}
.dns:not(:empty){margin:24px 0;padding:20px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}
.dns p{margin:0 0 12px;overflow-wrap:anywhere}
.dns button{margin-top:4px}
.dns form{margin-top:20px}
textarea{display:block;width:100%;max-width:700px;min-height:120px;margin:0 0 12px;resize:vertical;font-family:var(--font-domain);line-height:1.6}
.notice{margin:0 0 24px;padding:14px 16px;border:1px solid var(--notice-border);border-radius:8px;background:var(--notice-bg);color:var(--notice-ink);font-size:.9rem}
#message:not(:empty){margin:24px 0 0;padding:14px 16px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:8px;background:var(--accent-soft);max-width:780px}
#loading{min-height:24px}
footer{margin-top:auto;border-top:1px solid var(--line);font-size:.85rem;color:var(--muted)}
.footer-inner{padding-top:20px;padding-bottom:20px}
.foot-links{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px 16px;min-height:0}
.public-page{padding-bottom:var(--consent-height,0px)}
.reading{max-width:800px;overflow-wrap:anywhere}
.reading h2{margin:32px 0 12px}
.reading p{max-width:70ch}
.consent{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 24px;padding:14px 20px;background:var(--card);border-top:1px solid var(--line);max-height:80dvh;overflow-y:auto}
.consent-text{margin:0;max-width:62ch;color:var(--muted);font-size:.88rem}
.consent-actions{display:flex;flex-wrap:wrap;gap:10px}
.consent-purpose{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin:0}
.consent-purpose input{width:20px;height:20px;min-height:0;flex:none}
.footer-link{background:none;border:0;padding:0;min-height:32px;font:inherit;color:var(--muted);text-decoration:underline;cursor:pointer}
.footer-link:hover{background:none;color:var(--ink)}
footer p{margin:0}
/* Match Namegarage's full-width operator bar, above the site header. */
.test-session-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 20px;background:var(--ink);color:var(--bg);font-size:.9rem;font-weight:600;position:sticky;top:0;z-index:60}
.test-session-label{flex:1 1 auto}
.test-session-stop{flex:0 0 auto;min-height:36px;padding:6px 14px;border-radius:999px;border:1px solid var(--bg);background:transparent;color:var(--bg);font:inherit;line-height:1.35}
.test-session-stop:hover{background:var(--bg);color:var(--ink)}
.test-session-stop:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.table-wrap{min-width:0}
table{width:100%;border-collapse:collapse;margin:0 0 24px;font-size:.9rem}
caption{text-align:left;padding:0 0 16px;font-size:1rem;font-weight:650}
th{text-align:left;color:var(--muted);font-size:.8rem;font-weight:600}
th,td{padding:16px 12px;border-bottom:1px solid var(--line);vertical-align:top}
th:first-child,td:first-child{padding-left:0}
th:last-child,td:last-child{padding-right:0}
.domain-cell{font-family:var(--font-domain);font-weight:650;overflow-wrap:anywhere}
.registrar-label{display:block;margin-top:6px;color:var(--muted);font:400 .8rem/1.5 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
.cell-label{display:none}
.table-actions{display:flex;align-items:flex-start;flex-wrap:wrap;gap:12px;min-width:185px}
.coverage-status{flex-basis:100%;margin:0;color:var(--muted);font-size:.8rem;font-weight:500;line-height:1.4}
@media(max-width:900px){
 table{display:block}thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}caption{display:block}
 tbody{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:20px 16px;min-width:0;padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--card)}
 td,td:first-child,td:last-child{display:block;min-width:0;padding:0;border:0}
 td:first-child,td:last-child{grid-column:1/-1}
 .cell-label{display:block;margin-bottom:6px;color:var(--muted);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:.78rem;font-weight:500}
 .domain-cell{font-size:1.05rem}.domain-cell>.cell-label{display:none}
 .table-actions{min-width:0;padding-top:16px;border-top:1px solid var(--line)}
}
@media(max-width:650px){
 .header-inner,.footer-inner{padding-left:16px;padding-right:16px}
 .header-inner{min-height:124px;flex-wrap:wrap;align-content:center;gap:12px}
 nav{flex-basis:100%;gap:8px;justify-content:flex-end}
 nav button{font-size:.82rem;padding:10px 12px}
 main{padding:28px 16px 40px}
 h1{font-size:1.75rem}.login{margin:12px 0}.intro{font-size:.95rem}
 .field-row{flex-direction:column}
 .field-row button{align-self:flex-start}
 .account-heading{display:block;margin-bottom:24px}
 .account-note{margin-top:16px;max-width:44ch}
 .lease-title{align-items:flex-start;flex-direction:column;padding:18px}
 .lease-body{padding:18px}.facts{gap:20px 12px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .facts>div:last-child{grid-column:1/-1}dd{font-size:1.2rem}
 .dns:not(:empty){padding:16px}
 .test-session-bar{padding-left:16px;padding-right:16px}.test-session-label{flex-basis:100%;font-size:.82rem}
 tbody{grid-template-columns:1fr}
 .footer-inner{align-items:flex-start;flex-direction:column;gap:12px}
 .foot-links{flex-basis:auto;justify-content:flex-start}
}
@media(max-width:380px){.table-actions{flex-direction:column;align-items:stretch}}
