@layer base,layout,components,utilities;:root{color-scheme:light dark;--font-ui: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Mono", "JetBrains Mono", Menlo, Consolas, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-md: 1rem;--text-lg: 1.25rem;--text-xl: 1.625rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--radius: .375rem;--content-width: 76rem;--bg: light-dark(oklch(98.4% .004 215), oklch(17.5% .01 220));--surface: light-dark(oklch(100% 0 0), oklch(21.5% .012 220));--surface-sunken: light-dark(oklch(96% .006 215), oklch(15.5% .01 220));--fg: light-dark(oklch(23% .015 225), oklch(93% .008 215));--fg-muted: light-dark(oklch(47% .015 220), oklch(72% .012 215));--line: light-dark(oklch(89% .008 215), oklch(30% .012 220));--control-line: light-dark(oklch(58% .012 220), oklch(56% .012 215));--accent: light-dark(oklch(45% .085 210), oklch(78% .085 205));--accent-fg: light-dark(oklch(99% 0 0), oklch(18% .02 215));--accent-soft: light-dark(oklch(94% .025 210), oklch(28% .04 210));--focus: light-dark(oklch(50% .16 255), oklch(75% .13 255));--ok: light-dark(oklch(46% .11 150), oklch(80% .12 150));--ok-soft: light-dark(oklch(94% .04 150), oklch(27% .045 150));--warn: light-dark(oklch(48% .1 70), oklch(83% .11 80));--warn-soft: light-dark(oklch(95% .05 85), oklch(28% .045 75));--danger: light-dark(oklch(50% .17 25), oklch(76% .13 25));--danger-soft: light-dark(oklch(95% .03 25), oklch(28% .05 25))}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-ui);font-size:var(--text-md);line-height:1.5}@layer base{[hidden]:not([hidden=until-found]){display:none!important}:where(html){-webkit-text-size-adjust:none;text-size-adjust:none}:where(body,main,header,footer,section,div,form,fieldset,input,select,textarea,button,table,dialog,pre){box-sizing:border-box}h1,h2,h3{line-height:1.2;text-wrap:balance;margin:0}h1{font-size:var(--text-xl);font-weight:650}h2{font-size:var(--text-lg);font-weight:620}h3{font-size:var(--text-md);font-weight:620}p{margin:0;max-inline-size:68ch;text-wrap:pretty}a{color:var(--accent);text-underline-offset:.2em}code,kbd,samp,pre{font-family:var(--font-mono);font-size:.9em}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}input,select,textarea,button{font:inherit;font-size:max(1rem,1em);color:inherit}::selection{background:var(--accent-soft)}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}}@layer layout{.app-header{position:sticky;inset-block-start:env(safe-area-inset-top,0px);z-index:5;background:var(--surface);border-block-end:1px solid var(--line)}.app-header-inner{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-5);max-inline-size:var(--content-width);margin-inline:auto;padding-block:var(--space-3);padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.brand{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--fg);font-weight:700;text-decoration:none;letter-spacing:-.01em}.brand svg{color:var(--accent)}.main-nav ul{display:flex;flex-wrap:wrap;gap:var(--space-1);margin:0;padding:0;list-style:none}.main-nav a,.account-nav a{display:block;padding:var(--space-2) var(--space-3);border-radius:var(--radius);color:var(--fg-muted);text-decoration:none}.main-nav a:hover,.account-nav a:hover{color:var(--fg);background:var(--surface-sunken)}.main-nav a[aria-current=page]{color:var(--fg);font-weight:600;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:.45em}.account-nav{display:flex;align-items:center;gap:var(--space-2);margin-inline-start:auto}.page{display:grid;gap:var(--space-6);max-inline-size:var(--content-width);margin-inline:auto;padding-block:var(--space-6) var(--space-7);padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.page>*{min-inline-size:0}.page-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:var(--space-4)}.page-head>div:first-child{display:grid;gap:var(--space-2)}.section{display:grid;gap:var(--space-4)}.section-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.auth{display:grid;place-items:start center;min-block-size:100dvh;padding-block:clamp(var(--space-5),10vh,6rem) var(--space-6);padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.auth-card{display:grid;gap:var(--space-5);inline-size:min(100%,26rem)}.auth-card.wide{inline-size:min(100%,34rem)}.auth-card>header{display:grid;gap:var(--space-2)}.mockup-note{max-inline-size:var(--content-width);margin-inline:auto;padding-block:0 var(--space-6);padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));color:var(--fg-muted);font-size:var(--text-sm)}}@layer components{.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-block-size:2.5rem;padding:var(--space-2) var(--space-4);border:1px solid var(--control-line);border-radius:var(--radius);background:var(--surface);color:var(--fg);font-weight:550;line-height:1.2;text-decoration:none;cursor:pointer;white-space:nowrap;&:hover:not(:disabled){background:var(--surface-sunken)}&.primary{border-color:var(--accent);background:var(--accent);color:var(--accent-fg);&:hover:not(:disabled){background:color-mix(in oklab,var(--accent),var(--fg) 15%)}}&.danger{border-color:var(--danger);color:var(--danger);&:hover:not(:disabled){background:var(--danger-soft)}}&.quiet{border-color:transparent;background:transparent;color:var(--fg-muted);&:hover:not(:disabled){color:var(--fg);background:var(--surface-sunken)}}&.small{min-block-size:2rem;padding:var(--space-1) var(--space-3);font-size:var(--text-sm)}&:disabled{opacity:.55;cursor:not-allowed}}@media (pointer: coarse){.button{min-block-size:3rem}.button.small{min-block-size:2.75rem}}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.muted{color:var(--fg-muted)}.mono{font-family:var(--font-mono)}:not(h1,h2,h3).mono{font-size:.92em}.nums{font-variant-numeric:tabular-nums}.pill{display:inline-flex;align-items:center;gap:.35em;padding:.1em .6em;border:1px solid currentColor;border-radius:999px;font-size:var(--text-xs);font-weight:600;line-height:1.6;white-space:nowrap;color:var(--fg-muted);&:before{content:"";inline-size:.5em;block-size:.5em;border-radius:50%;background:currentColor}&[data-state=ok]{color:var(--ok);background:var(--ok-soft)}&[data-state=warn]{color:var(--warn);background:var(--warn-soft)}&[data-state=danger]{color:var(--danger);background:var(--danger-soft)}&[data-state=accent]{color:var(--accent);background:var(--accent-soft)}}.facts{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);margin:0;>div{display:grid;gap:.1rem}& dt{color:var(--fg-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em}& dd{margin:0}}.nodes{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:var(--space-3);margin:0;padding:0;list-style:none;& li{display:grid;gap:var(--space-1);padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.node-name{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);font-weight:600}}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}table.data{inline-size:100%;border-collapse:separate;border-spacing:0;font-size:var(--text-sm);& caption{padding:var(--space-3) var(--space-4);text-align:start;color:var(--fg-muted);caption-side:bottom;border-block-start:1px solid var(--line)}& th,td{padding:var(--space-2) var(--space-4);text-align:start;vertical-align:top}& thead th{position:sticky;inset-block-start:0;background:var(--surface-sunken);color:var(--fg-muted);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border-block-end:1px solid var(--line)}& tbody tr:not(:last-child)>*{border-block-end:1px solid var(--line)}& tbody th{font-weight:600}& td.end,th.end{text-align:end}.cell-actions{display:flex;justify-content:end;gap:var(--space-1)}}.zone-preview{white-space:pre-wrap;overflow-wrap:anywhere}.zone-history{min-inline-size:0;& details{min-inline-size:0}& pre{white-space:pre-wrap;overflow-wrap:anywhere}}table.records{min-inline-size:44rem;.rdata{min-inline-size:18rem}.name,.rdata{font-family:var(--font-mono);font-size:.95em}.name .origin{color:var(--fg-muted)}.type{font-family:var(--font-mono);font-weight:650}.rdata ul{margin:0;padding:0;list-style:none}.rdata li{overflow-wrap:anywhere}.rdata .note{display:block;margin-block-start:var(--space-1);color:var(--fg-muted);font-family:var(--font-ui);font-size:var(--text-xs)}& tr.managed td,tr.managed th{color:var(--fg-muted)}& tr[data-change]>:first-child{border-inline-start:3px solid var(--warn)}& tr[data-change=new]>:first-child{border-inline-start-color:var(--ok)}& tr[data-change=deleted]>:first-child{border-inline-start-color:var(--danger)}& tr[data-change=deleted] :is(.name,.type,.ttl,.rdata){text-decoration:line-through;color:var(--fg-muted)}& tr[data-change]{background:color-mix(in oklab,var(--surface),var(--warn-soft) 60%)}& tr[data-change=new]{background:color-mix(in oklab,var(--surface),var(--ok-soft) 60%)}& tr[data-change=deleted]{background:color-mix(in oklab,var(--surface),var(--danger-soft) 60%)}}.change-label{margin-inline-start:var(--space-2);vertical-align:.1em}tr:not([data-change]) .change-label{display:none}.toolbar{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:var(--space-3)}.search-field{display:grid;flex:1 1 14rem;max-inline-size:22rem}.toolbar .actions{flex:0 1 32rem;justify-content:end}.field{display:grid;gap:var(--space-1);min-inline-size:0;>label,>.label{font-weight:600;font-size:var(--text-sm)}.hint{color:var(--fg-muted);font-size:var(--text-sm)}.error{display:none;color:var(--danger);font-size:var(--text-sm)}&:has(:user-invalid) .error{display:block}}.input,select.input,textarea.input{inline-size:100%;min-block-size:2.75rem;padding:var(--space-2) var(--space-3);border:1px solid var(--control-line);border-radius:var(--radius);background:var(--surface);&:user-invalid{border-color:var(--danger)}&:disabled{cursor:not-allowed;background:var(--surface-sunken);color:var(--fg-muted)}&[readonly]{background:var(--surface-sunken);color:var(--fg-muted)}}textarea.input{min-block-size:6rem;resize:vertical;font-family:var(--font-mono)}.input.code{font-family:var(--font-mono);font-size:var(--text-lg);letter-spacing:.3em;text-align:center}.input-group{display:flex;align-items:stretch;.input{border-start-end-radius:0;border-end-end-radius:0;min-inline-size:0}.suffix{display:flex;align-items:center;padding-inline:var(--space-3);border:1px solid var(--control-line);border-inline-start:0;border-start-end-radius:var(--radius);border-end-end-radius:var(--radius);background:var(--surface-sunken);color:var(--fg-muted);font-family:var(--font-mono);font-size:var(--text-sm);white-space:nowrap}}.form{display:grid;gap:var(--space-4)}.form-row{display:grid;align-items:start;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:var(--space-4)}fieldset.choices{display:grid;gap:var(--space-2);margin:0;padding:0;border:0;min-inline-size:0;& legend{padding:0;margin-block-end:var(--space-1);font-weight:600;font-size:var(--text-sm)}& label{display:flex;align-items:start;gap:var(--space-2)}& label input{margin-block-start:.3em}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:var(--space-2) var(--space-4)}}.password-field{position:relative;.input{padding-inline-end:4.5rem}.toggle{position:absolute;inset-block:.3rem;inset-inline-end:.3rem}}.callout{display:grid;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--line);border-inline-start:4px solid var(--accent);border-radius:var(--radius);background:var(--surface);&[data-state=warn]{border-inline-start-color:var(--warn);background:var(--warn-soft)}&[data-state=ok]{border-inline-start-color:var(--ok);background:var(--ok-soft)}&[data-state=danger]{border-inline-start-color:var(--danger);background:var(--danger-soft)}& strong:first-child{display:block}}.secret{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-4);border:1px dashed var(--control-line);border-radius:var(--radius);background:var(--surface-sunken);& code{flex:1 1 16rem;min-inline-size:0;overflow-wrap:anywhere;font-size:var(--text-md)}}pre.block{margin:0;padding:var(--space-3) var(--space-4);overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-sunken);font-size:var(--text-sm);line-height:1.6}.codes{display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:var(--space-2) var(--space-4);margin:0;padding:var(--space-4);border:1px dashed var(--control-line);border-radius:var(--radius);background:var(--surface-sunken);list-style:none;font-family:var(--font-mono);font-size:var(--text-md);font-variant-numeric:tabular-nums}.qr{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:var(--space-5);& svg{inline-size:10rem;max-inline-size:100%;block-size:auto;padding:var(--space-2);border-radius:var(--radius);background:#fff;color:#000}}@media (width < 30rem){.qr{grid-template-columns:1fr;justify-items:start}}.steps{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin:0;padding:0;list-style:none;font-size:var(--text-sm);color:var(--fg-muted);counter-reset:step;& li{counter-increment:step;display:flex;align-items:center;gap:var(--space-2)}& li:before{content:counter(step);display:inline-grid;place-items:center;inline-size:1.5rem;block-size:1.5rem;border:1px solid currentColor;border-radius:50%;font-size:var(--text-xs);font-weight:650}& li.done:before{content:"\2713";color:var(--ok)}& li[aria-current=step]{color:var(--fg);font-weight:600}& li[aria-current=step]:before{border-color:var(--accent);background:var(--accent);color:var(--accent-fg)}}.edit-bar{position:sticky;inset-block-end:max(var(--space-3),env(safe-area-inset-bottom,0px));z-index:4;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--warn);border-radius:var(--radius);background:var(--warn-soft);box-shadow:0 .5rem 1.5rem -.75rem #00000059}dialog{inline-size:min(calc(100% - 2rem),36rem);max-block-size:calc(100dvh - 2rem);padding:0;border:1px solid var(--line);border-radius:calc(var(--radius) * 2);background:var(--surface);color:var(--fg);box-shadow:0 1.5rem 3rem -1rem #0006;&:modal{overscroll-behavior:contain}&::backdrop{overflow:hidden;overscroll-behavior:contain;background:#070c0e80}>form,>.dialog-body{display:grid;gap:var(--space-4);padding:var(--space-5)}.dialog-actions{display:flex;flex-wrap:wrap;justify-content:end;gap:var(--space-2);padding-block-start:var(--space-2)}}.diff{margin:0;padding:0;list-style:none;display:grid;gap:var(--space-3);& li{display:grid;gap:var(--space-1)}& pre{margin:0;padding:var(--space-2) var(--space-3);overflow-x:auto;border-radius:var(--radius);font-size:var(--text-sm)}.del{background:var(--danger-soft)}.add{background:var(--ok-soft)}}.toast{position:fixed;inset-block-end:calc(var(--space-5) + env(safe-area-inset-bottom,0px));inset-inline:max(16px,env(safe-area-inset-left,0px)) max(16px,env(safe-area-inset-right,0px));z-index:20;justify-self:center;margin-inline:auto;inline-size:fit-content;max-inline-size:36rem;padding:var(--space-3) var(--space-4);border:1px solid var(--ok);border-radius:var(--radius);background:var(--ok-soft);color:var(--fg)}.field-error{display:grid;color:var(--danger);font-size:var(--text-sm)}.field:has([aria-invalid=true]) .input{border-color:var(--danger)}label.checkbox{display:flex;align-items:start;gap:var(--space-2)}label.checkbox input{margin-block-start:.3em}.flash-group{position:fixed;inset-block-start:calc(var(--space-4) + env(safe-area-inset-top,0px));inset-inline-end:max(16px,env(safe-area-inset-right,0px));z-index:30;display:grid;gap:var(--space-2);inline-size:min(calc(100% - 32px),24rem)}.flash{display:flex;align-items:start;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--ok);border-radius:var(--radius);background:var(--ok-soft);box-shadow:0 .5rem 1.5rem -.75rem #00000059;&[data-kind=error]{border-color:var(--danger);background:var(--danger-soft)}& strong{display:block}}.visually-hidden{position:absolute;clip-path:inset(50%);overflow:hidden;inline-size:1px;block-size:1px;margin:-1px;padding:0;border:0;white-space:nowrap}.mockup-index{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:var(--space-3);margin:0;padding:0;list-style:none;& a{display:grid;gap:var(--space-1);block-size:100%;box-sizing:border-box;padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--fg);text-decoration:none}& a:hover{border-color:var(--accent)}& a strong{color:var(--accent)}& a span{color:var(--fg-muted);font-size:var(--text-sm)}}}@layer utilities{.stack{display:grid;gap:var(--space-3)}.wrap-anywhere{overflow-wrap:anywhere}.narrow{max-inline-size:26rem}}@media (forced-colors: active){.pill,.callout,.edit-bar{border-color:CanvasText}table.records tr[data-change]>:first-child{border-inline-start-color:Highlight}}@media (prefers-reduced-motion: no-preference){dialog[open]{animation:dialog-in .14s ease-out}@keyframes dialog-in{0%{opacity:0;translate:0 .5rem}}}
