@import "https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@500;700&display=swap";@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--green:#3f7519;--green-deep:#315f11;--ink:#f3f5ed;--surface:#fff;--surface-2:#e9eee1;--text:#141915;--muted:#566057;--line:#16301a2e;--yellow:#8b6200;--red:#ad3d2b;--paper:var(--ink);--card:var(--surface);--lime:var(--green);--dark:#111714;--display:"Barlow Condensed","Arial Narrow",sans-serif;--sans:Inter,system-ui,sans-serif;--mono:"JetBrains Mono",monospace}:root[data-theme=dark]{--green:#b9f45d;--green-deep:#8dce32;--ink:#0b0f0d;--surface:#111714;--surface-2:#17201b;--text:#f2f5ee;--muted:#a6b0a8;--line:#dcf0e024;--yellow:#ffd166;--red:#ff705c;--paper:var(--ink);--card:var(--surface);--lime:var(--green);--dark:#111714}*{box-sizing:border-box}body{background:var(--ink);color:var(--text);font:400 16px/1.65 var(--sans);margin:0}.app-footer{color:var(--muted);text-align:center;background:var(--paper);justify-items:center;gap:9px;padding:18px 24px 28px;font-size:12px;display:grid}.app-footer nav{flex-wrap:wrap;justify-content:center;gap:5px 14px;display:flex}.app-footer a,.footer-mode-link{color:var(--green);font-weight:700;text-decoration:none}.app-footer a:hover,.footer-mode-link:hover{text-decoration:underline}.footer-mode-link{font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.app-footer small{font-size:11px}.app-footer small b{color:var(--ink)}button{font:inherit;cursor:pointer}.hero{max-width:1190px;margin:0 auto;padding:72px 40px 60px}.hero-bar{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.hero-content{justify-content:space-between;align-items:flex-start;gap:40px;margin-top:18px;display:flex}.hero-copy{min-width:0}.hero-tools{flex:0 390px;justify-items:end;display:grid}.theme-toggle{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:99px;padding:8px 12px;font-size:12px;font-weight:700}.node-mode-tabs{gap:8px;margin-top:22px;display:flex}.node-mode-tabs button{border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:999px;padding:9px 14px;font-size:13px;font-weight:800}.node-mode-tabs button:hover{border-color:var(--green);color:var(--green)}.node-mode-tabs span{letter-spacing:.06em;text-transform:uppercase;opacity:.8;margin-left:4px;font-size:10px}.repeater-intro{justify-content:space-between;align-items:flex-end;gap:42px;margin-top:31px;display:flex}.repeater-intro h1{margin-top:13px}.repeater-tools{flex:0 390px;gap:12px;display:grid}.repeater-tools .firmware-reminder{max-width:none}.repeater-readiness{color:var(--muted);background:#edf3ea;border:1px solid #b8cab9;border-radius:12px;gap:7px;padding:18px;font-size:13px;line-height:1.45;display:grid}.repeater-readiness b{color:var(--ink);font-size:15px}.repeater-readiness span{color:var(--green);font-weight:800}.repeater-readiness small{font-size:12px}.repeater-workspace{min-height:410px}.repeater-card{background:var(--card);border:1px solid var(--line);border-radius:16px;max-width:760px;margin:0 auto;padding:34px;box-shadow:0 12px 32px #1c362a0a}.repeater-card h2{letter-spacing:-.025em;margin:14px 0;font-family:Georgia,serif;font-size:31px;font-weight:500}.repeater-card p{max-width:650px;color:var(--muted);line-height:1.55}.repeater-settings{gap:14px;margin-top:25px;display:grid}.repeater-section{border:1px solid #b8cab9;border-radius:10px;margin:4px 0;padding:16px}.repeater-section legend{color:var(--green);letter-spacing:.08em;text-transform:uppercase;padding:0 5px;font-size:12px;font-weight:800}.repeater-settings label{color:var(--ink);gap:6px;font-size:13px;font-weight:700;display:grid}.repeater-settings input,.repeater-settings textarea{width:100%;font:inherit;color:var(--ink);background:#fff;border:1px solid #bdc9be;border-radius:8px;padding:11px}.repeater-settings textarea{resize:vertical;min-height:86px}.repeater-coordinate-fields,.repeater-password-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.managed-repeater-settings{background:#c7d5ca;border:1px solid #c7d5ca;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.managed-repeater-settings div{background:#edf3ea;justify-content:space-between;gap:10px;padding:9px 10px;font-size:12px;display:flex}.managed-repeater-settings span{color:var(--muted)}.managed-repeater-settings b{color:var(--dark)}.repeater-standard-note{font-size:12px;margin:12px 0 0!important}.repeater-security-note{font-size:12px}.repeater-security-note b{color:var(--ink)}.repeater-flow{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.repeater-flow span{color:var(--dark);background:#edf3ea;border:1px solid #b8cab9;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:700}.repeater-builder .choices{min-width:0}.repeater-card{max-width:none;box-shadow:none;background:0 0;border:0;border-radius:0;margin:20px 0 0;padding:0}.repeater-card p{max-width:none}.repeater-access-heading{margin-top:15px}.repeater-preview .review:disabled{cursor:not-allowed;opacity:.65}.eyebrow{color:var(--green);letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:8px;font-size:11px;font-weight:800;display:flex}.signal{background:var(--lime);border-radius:100%;width:9px;height:9px;box-shadow:0 0 0 5px #e7f3cc}h1{letter-spacing:-.055em;max-width:700px;margin:0 0 16px;font-family:Georgia,serif;font-size:clamp(46px,7vw,82px);font-weight:500;line-height:.94}.intro{max-width:530px;color:var(--muted);margin:0;font-size:18px;line-height:1.55}.firmware-reminder{max-width:390px;color:var(--muted);text-align:right;background:#edf3ea;border:1px solid #b8cab9;border-radius:10px;margin:0;padding:11px 14px;font-size:13px;line-height:1.45}.firmware-reminder b{color:var(--ink)}.firmware-reminder a{color:var(--green);font-weight:700}:root[data-theme=dark] .firmware-reminder{background:#24362d;border-color:#405249}.choose-area-note{color:var(--muted);margin:37px 0 0;font-size:14px}.preview-empty{color:#b7ccbd;margin:0 0 18px;line-height:1.5}.connection-card{border:1px solid var(--line);background:var(--card);border-radius:16px;justify-content:space-between;align-items:center;gap:20px;min-height:92px;margin-top:38px;padding:18px 18px 18px 22px;display:flex;box-shadow:0 12px 32px #1c362a0a}.connection-copy{align-items:center;gap:14px;display:flex}.connection-copy strong,.connection-copy small{display:block}.connection-copy small{color:var(--muted);margin-top:4px;font-size:13px}.status{background:#babcb6;border-radius:100%;width:11px;height:11px;box-shadow:0 0 0 6px #efefec}.status.connected{background:#36b177;box-shadow:0 0 0 6px #daf3e5}.status.connecting{background:#568ec0;box-shadow:0 0 0 6px #dceaf7}.status.unavailable,.status.error{background:#cd8b42;box-shadow:0 0 0 6px #f8e8d4}.connect-options{justify-items:end;gap:8px;display:grid}.connect-actions{align-items:center;gap:10px;display:flex}.connection-firmware-notes{max-width:430px;color:var(--muted);text-align:right;gap:2px;font-size:12px;line-height:1.35;display:grid}.connection-firmware-notes b{color:var(--ink)}.connection-help{color:var(--green);font:inherit;cursor:pointer;background:0 0;border:0;justify-self:end;padding:2px 0;font-weight:700;text-decoration:underline}.connect,.review{background:var(--dark);color:#fff;white-space:nowrap;border:0;border-radius:9px;padding:13px 18px;font-weight:700}.connect:hover,.review:hover{background:#235749}.connect.secondary{color:var(--dark);border:1px solid var(--line);background:#e9eee8}.connect.secondary:hover{background:#dce7de}.connect.disconnect{background:#70463a}.connect:disabled,.review:disabled{cursor:not-allowed;opacity:.65}.workspace{background:#e7eee6;padding:40px}.stepper,.builder{max-width:1110px;margin:0 auto}.stepper{color:#87928b;align-items:center;font-size:12px;font-weight:700;display:flex}.stepper span{align-items:center;gap:7px;display:flex}.stepper span:first-letter{font-size:11px}.stepper b{font-weight:700}.stepper .done,.stepper .active{color:var(--green)}.stepper i{background:#c7d0c7;width:60px;height:1px;margin:0 13px}.builder{grid-template-columns:minmax(0,1fr) 390px;align-items:start;gap:45px;margin-top:30px;display:grid}.section-heading{align-items:flex-start;gap:16px;display:flex}.section-heading>span{color:var(--green);font-family:Georgia,serif;font-size:23px}.section-heading h2,.preview h2,.modal h2{letter-spacing:-.025em;margin:0;font-family:Georgia,serif;font-size:28px;font-weight:500}.section-heading p{color:var(--muted);margin:5px 0 0;font-size:14px;line-height:1.45}.area-groups{grid-template-columns:1fr 1fr;gap:12px;margin:20px 0 37px;display:grid}.area-group{background:#f0f5ef;border:1px solid #cbd4cb;border-radius:12px;padding:13px}.area-group h3{letter-spacing:.12em;text-transform:uppercase;color:var(--green);margin:0 0 10px;font-size:12px}.area-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.area{text-align:left;color:var(--ink);background:#f7faf5;border:1px solid #cbd4cb;border-radius:10px;padding:13px 11px}.area b,.area small{display:block}.area b{font-family:Georgia,serif;font-size:21px}.area small{color:var(--muted);margin-top:2px;font-size:11px}.area:hover,.area.selected{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green);background:#fafff6}.role-heading{margin-top:2px}.role-options{grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;display:grid}.role-options button{text-align:left;min-height:100px;color:var(--ink);background:#f7faf5;border:1px solid #cbd4cb;border-radius:10px;padding:15px}.role-options button.selected{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green);background:#fafff6}.role-options b,.role-options small{display:block}.role-options b{font-size:14px}.role-options small{color:var(--muted);margin-top:6px;font-size:12px;line-height:1.35}.lock-erc{color:var(--green);background:0 0;border:0;margin-top:10px;padding:4px 0;font-size:12px;font-weight:700;text-decoration:underline}.name-heading{margin-top:37px}.channel-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:18px;display:grid}.channel-capacity{color:var(--muted);grid-column:1/-1;justify-content:space-between;gap:10px;font-size:12px;display:flex}.channel-capacity b{color:var(--green)}.channel-choice{background:#f7faf5;border:1px solid #cbd4cb;border-radius:8px;align-items:flex-start;gap:8px;padding:9px;display:flex}.channel-choice.selected{border-color:var(--green);background:#fafff6}.channel-choice input{accent-color:var(--green);margin:3px 0 0}.channel-choice label{cursor:pointer;flex-direction:column;gap:2px;font-size:13px;display:flex}.channel-choice small{color:var(--muted);font-size:11px}.channel-choice input:disabled+label{cursor:not-allowed;opacity:.6}.node-name-input,.name-fields label{flex-direction:column;gap:6px;margin-top:18px;font-size:13px;font-weight:700;display:flex}.node-name-input input,.name-fields input{font:inherit;color:var(--ink);background:#fff;border:1px solid #bdc9be;border-radius:8px;padding:11px}.name-fields{grid-template-columns:1fr 110px;gap:12px;margin-top:18px;display:grid}.name-fields label{margin:0}.name-preview{background:#edf3ea;border-radius:8px;grid-column:1/-1;padding:11px 13px;font-size:12px}.name-preview span,.name-preview b{display:block}.name-preview span{color:var(--muted);margin-bottom:3px}.name-preview b{font-size:13px}.private-note{color:#b7ccbd;margin:14px 0;font-size:11px;line-height:1.45}.preview{background:var(--dark);color:#fff;border-radius:16px;padding:25px;box-shadow:0 17px 35px #2542362b}.preview-top{letter-spacing:.12em;color:#b7ccbd;justify-content:space-between;font-size:10px;display:flex}.preview-top b{color:var(--lime);font-size:10px}.preview h2{margin:20px 0 25px;font-size:30px}.setting{border-top:1px solid #ffffff2b;justify-content:space-between;gap:12px;padding:13px 0;font-size:13px;display:flex}.setting span,.channels-title span{color:#b7ccbd}.setting b{text-align:right;max-width:220px;line-height:1.35}.channels-title{justify-content:space-between;margin:18px 0 9px;font-size:12px;display:flex}.channels-title small{color:var(--lime)}.channel-list{border-radius:8px;overflow:hidden}.channel{background:#ffffff12;border-bottom:1px solid #ffffff17;grid-template-columns:26px 1fr auto;align-items:center;gap:8px;padding:10px;font-size:13px;display:grid}.channel>span{color:#9fb7aa;font-size:11px}.channel small{color:#daebe0;background:#ffffff1c;border-radius:99px;padding:3px 6px;font-size:10px}.channel small.private{color:#dff2a0;background:#dceea833}.private-note,.review-requirements{color:#b7ccbd;margin:14px 0;font-size:11px;line-height:1.45}.private-note b{color:#fff}.review{background:var(--lime);color:#18352c;justify-content:space-between;width:100%;margin-top:21px;display:flex}.review:hover{background:#d7f47d}.modal-backdrop{z-index:10;background:#102a22a8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:var(--card);border-radius:17px;max-width:500px;max-height:calc(100vh - 48px);padding:31px;position:relative;overflow:auto;box-shadow:0 25px 70px #0005}.modal.completion{max-width:430px}.modal h2{margin:13px 0;font-size:37px;line-height:1.02}.modal p{color:var(--muted);line-height:1.5}.modal a{color:var(--green);font-weight:700}.help-list{gap:8px;margin:18px 0;display:grid}.help-list p{border:1px solid var(--line);background:#edf3ea;border-radius:9px;margin:0;padding:11px 13px}.help-list b,.help-list span{display:block}.help-list span{margin-top:3px;font-size:13px}.close{color:var(--muted);background:0 0;border:0;font-size:28px;position:absolute;top:10px;right:14px}.review-summary,.node-summary{background:#edf3ea;border-radius:9px;flex-direction:column;gap:3px;margin:22px 0;padding:14px;display:flex}.review-summary span,.node-summary span{color:var(--muted);font-size:12px}.channel-order{border:1px solid #b8cab9;border-radius:9px;margin:18px 0;padding:12px}.channel-order legend{padding:0 4px;font-size:13px;font-weight:700}.channel-order p{margin:0 0 9px;font-size:12px}.channel-order label{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:8px 0;font-size:13px;display:flex}.channel-order label:first-of-type{border-top:0}.channel-order label span{flex-direction:column;gap:2px;display:flex}.channel-order label small{color:var(--muted);font-size:11px}.channel-order select{color:var(--ink);font:inherit;background:#fff;border:1px solid #bdc9be;border-radius:7px;padding:6px 8px}.change-list{border:1px solid var(--line);border-radius:9px;margin:18px 0;overflow:hidden}.change{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;gap:3px 12px;padding:11px 13px;font-size:13px;display:grid}.change:last-child{border-bottom:0}.change span{font-size:11px;font-weight:700}.change small{color:var(--muted);grid-column:1/-1;font-size:12px}.change.already-present span{color:#247c58}.change.add span{color:#1a8060}.change.clear span,.change.blocked span,.change.needs-key span{color:#a04e30}.backup{width:100%;color:var(--dark);background:#edf3ea;border:1px solid #b8cab9;border-radius:9px;padding:12px 14px;font-weight:700}.backup:hover{background:#e0ecdf}.backup-choice,.layout-choice{background:#fff;border:1px solid #b8cab9;border-radius:9px;align-items:flex-start;gap:10px;margin-top:11px;padding:12px 13px;display:flex}.backup-choice{background:#fff8f2;border-color:#d6b3a3}.backup-choice input,.layout-choice input{width:16px;height:16px;accent-color:var(--green);margin:3px 0 0}.backup-choice label,.layout-choice label{cursor:pointer;flex-direction:column;gap:3px;font-size:13px;display:flex}.backup-choice small,.layout-choice small{color:var(--muted);font-size:12px;line-height:1.35}.restore-tools{margin-top:11px}.restore-picker{text-align:center;cursor:pointer;display:block}.restore-picker input{display:none}.restore-ready{margin:9px 0 0!important;font-size:12px!important}.backup.restore{color:#713c2f;background:#f4e7e0;border-color:#d6b3a3;margin-top:8px}.backup.restore:hover{background:#ecd7cd}.erc-form{margin-top:20px}.erc-form label{margin-bottom:6px;font-size:13px;font-weight:700;display:block}.erc-form input{width:100%;font:inherit;background:#fff;border:1px solid #bdc9be;border-radius:8px;padding:11px}.erc-form .review{margin-top:14px}.form-error{font-size:13px;color:#9e3d2d!important;margin:10px 0 0!important}.locked-slot{color:var(--muted);padding:6px 0;font-size:12px;font-weight:700}.preview-name{border-top:1px solid #ffffff2b;padding:13px 0}.preview-name>span{color:#b7ccbd;letter-spacing:.1em;margin-bottom:7px;font-size:10px;font-weight:700;display:block}.preview-name label{color:#d6e5dc;flex-direction:column;gap:5px;font-size:11px;font-weight:700;display:flex}.preview-name input{color:#fff;width:100%;font:inherit;background:#ffffff12;border:1px solid #ffffff47;border-radius:7px;padding:9px}.preview-name input::placeholder{color:#b7ccbd}.preview-name-fields{grid-template-columns:1.1fr 1fr 76px;gap:8px;display:grid}.preview-name small{color:#b7ccbd;margin-top:7px;font-size:11px;display:block}:root[data-theme=dark] .workspace{background:#17231e}:root[data-theme=dark] .connection-card{box-shadow:0 12px 32px #0004}:root[data-theme=dark] .signal{box-shadow:0 0 0 5px #273825}:root[data-theme=dark] .status{box-shadow:0 0 0 6px #29342f}:root[data-theme=dark] .status.connected{box-shadow:0 0 0 6px #1a4233}:root[data-theme=dark] .status.connecting{box-shadow:0 0 0 6px #1d3543}:root[data-theme=dark] .status.unavailable,:root[data-theme=dark] .status.error{box-shadow:0 0 0 6px #473222}:root[data-theme=dark] .connect.secondary{color:var(--ink);background:#26352e}:root[data-theme=dark] .connect.secondary:hover{background:#31433a}:root[data-theme=dark] .stepper{color:#93a89e}:root[data-theme=dark] .stepper i{background:#405249}:root[data-theme=dark] .area-group{background:#203029;border-color:#405249}:root[data-theme=dark] .area,:root[data-theme=dark] .role-options button,:root[data-theme=dark] .channel-choice{color:var(--ink);background:#1b2923;border-color:#405249}:root[data-theme=dark] .area:hover,:root[data-theme=dark] .area.selected,:root[data-theme=dark] .role-options button.selected,:root[data-theme=dark] .channel-choice.selected{background:#173328}:root[data-theme=dark] .node-name-input input,:root[data-theme=dark] .name-fields input,:root[data-theme=dark] .channel-order select{color:var(--ink);background:#15211c;border-color:#405249}:root[data-theme=dark] .name-preview,:root[data-theme=dark] .review-summary,:root[data-theme=dark] .node-summary{background:#24362d}:root[data-theme=dark] .channel-order,:root[data-theme=dark] .layout-choice{background:#1b2923;border-color:#405249}:root[data-theme=dark] .backup{color:var(--ink);background:#263a30;border-color:#4b6357}:root[data-theme=dark] .backup:hover{background:#30483c}:root[data-theme=dark] .backup-choice{background:#372a22;border-color:#765443}:root[data-theme=dark] .modal-backdrop{background:#050908b8}:root[data-theme=dark] .preview{box-shadow:0 17px 35px #0007}:root[data-theme=dark] .repeater-readiness,:root[data-theme=dark] .repeater-flow span,:root[data-theme=dark] .managed-repeater-settings div{background:#24362d;border-color:#405249}:root[data-theme=dark] .repeater-card{box-shadow:0 12px 32px #0004}:root[data-theme=dark] .repeater-section,:root[data-theme=dark] .repeater-settings input,:root[data-theme=dark] .repeater-settings textarea{color:var(--ink);background:#15211c;border-color:#405249}:root[data-theme=dark] .managed-repeater-settings{background:#405249;border-color:#405249}:root[data-theme=dark] .managed-repeater-settings b{color:var(--ink)}@media (max-width:760px){.hero{padding:45px 22px}.workspace{padding:24px 22px}.connection-card{flex-direction:column;align-items:stretch}.connect-options{justify-items:stretch}.connect-actions{flex-direction:column;width:100%}.connection-firmware-notes{text-align:left;max-width:none}.connection-help{justify-self:start}.connect{width:100%}.builder{grid-template-columns:1fr;gap:28px}.area-groups,.channel-picker{grid-template-columns:1fr}.area-grid{grid-template-columns:repeat(2,1fr)}.role-options{grid-template-columns:1fr}.stepper{padding-bottom:8px;overflow:auto}.stepper i{width:22px;margin:0 8px}.repeater-coordinate-fields,.repeater-password-fields,.managed-repeater-settings{grid-template-columns:1fr}.stepper b{white-space:nowrap}.preview{order:initial}.repeater-intro{flex-direction:column;align-items:stretch;gap:24px}.repeater-tools,.repeater-readiness{max-width:none}.repeater-card{padding:25px 20px}.hero-content{flex-direction:column;gap:24px}.hero-tools{flex:none;justify-items:stretch;width:100%}.theme-toggle{justify-self:end}.firmware-reminder{text-align:left;max-width:none}}.diagnostics-modal{max-width:720px}.diagnostic-log{border:1px solid var(--line);color:#ecf4d9;white-space:pre-wrap;word-break:break-word;background:#102a22;border-radius:9px;max-height:360px;margin:18px 0;padding:12px;font:12px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:auto}.diagnostic-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.diagnostic-actions .backup{margin:0}:root[data-theme=dark] .diagnostic-log{background:#0d1712;border-color:#405249}@media (max-width:760px){.diagnostic-actions{grid-template-columns:1fr}}:root[data-theme=dark] .help-list p{background:#24362d;border-color:#405249}.admin-page{background:var(--paper);min-height:100vh;color:var(--ink);padding:18px 24px 48px}.admin-card{background:var(--card);border:1px solid var(--line);border-radius:17px;max-width:560px;margin:0 auto;padding:32px;box-shadow:0 12px 32px #1733281a}.admin-card h1{margin:10px 0;font-size:35px;line-height:1.05}.admin-card h2{margin:30px 0 12px;font-size:20px}.admin-card p{color:var(--muted);line-height:1.5}.admin-form{gap:14px;margin-top:24px;display:grid}.admin-form label{gap:6px;font-size:13px;font-weight:700;display:grid}.admin-form input{font:inherit;color:var(--ink);background:#fff;border:1px solid #bdc9be;border-radius:8px;padding:11px}.admin-form .review{margin-top:4px}.admin-dashboard{max-width:800px}.admin-heading{justify-content:space-between;align-items:start;gap:20px;display:flex}.admin-heading .backup{white-space:nowrap;width:auto}.stat-total{background:#edf3ea;border-radius:10px;flex-direction:column;gap:4px;margin:27px 0;padding:18px;display:flex}.stat-total span{color:var(--muted);font-size:13px}.stat-total b{font-size:38px;line-height:1}.stats-table,.events-table{border:1px solid var(--line);border-radius:9px;overflow:hidden}.stats-table div{border-bottom:1px solid var(--line);justify-content:space-between;padding:12px 14px;display:flex}.stats-table div:last-child{border-bottom:0}.events-head,.events-table>div:not(.events-head){border-bottom:1px solid var(--line);grid-template-columns:1.4fr 70px 1fr;gap:12px;padding:11px 14px;font-size:13px;display:grid}.events-table>div:last-child{border-bottom:0}.events-head{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:#edf3ea;font-size:11px;font-weight:700}.empty-stats{border:1px dashed var(--line);border-radius:9px;padding:14px}@media (max-width:600px){.admin-page{padding:18px 14px 24px}.admin-card{padding:24px 18px}.admin-heading{flex-direction:column}.events-head,.events-table>div:not(.events-head){grid-template-columns:1fr 48px 1fr;gap:8px;padding:10px;font-size:12px}}.analytics-breakdowns{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.analytics-breakdowns h2{font-size:16px}.events-table small{color:var(--muted);margin-top:3px;font-size:11px;font-weight:400;display:block}@media (max-width:600px){.analytics-breakdowns{grid-template-columns:1fr}.analytics-breakdowns h2{margin-top:24px}}.stat-pair{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.stat-pair .stat-total{margin:27px 0}@media (max-width:600px){.stat-pair{grid-template-columns:1fr;gap:0}.stat-pair .stat-total{margin:18px 0}}.analytics-filters{grid-template-columns:150px 1fr auto;align-items:end;gap:12px;margin:24px 0;display:grid}.analytics-filters label{gap:5px;font-size:12px;font-weight:700;display:grid}.analytics-filters select,.analytics-filters input{font:inherit;color:var(--ink);background:#fff;border:1px solid #bdc9be;border-radius:8px;padding:10px}.analytics-filters .review{white-space:nowrap;margin:0}.daily-chart{margin:14px 0 30px}.chart-legend{color:var(--muted);gap:14px;font-size:12px;display:flex}.chart-legend span{align-items:center;gap:5px;display:flex}.chart-legend i{border-radius:2px;width:10px;height:10px;display:inline-block}.views-swatch,.views-bar{background:#2f7d63}.configs-swatch,.configs-bar{background:#d58a3a}.chart-bars{border:1px solid var(--line);border-radius:9px;align-items:end;gap:7px;height:210px;margin-top:10px;padding:13px 12px 25px 42px;display:flex;position:relative;overflow-x:auto}.chart-axis{color:var(--muted);flex-direction:column;justify-content:space-between;font-size:11px;display:flex;position:absolute;top:12px;bottom:24px;left:7px}.chart-day{flex-direction:column;justify-content:end;align-items:center;gap:5px;min-width:38px;height:100%;display:flex}.chart-columns{border-bottom:1px solid var(--line);cursor:default;align-items:end;gap:3px;width:25px;height:100%;display:flex}.chart-columns i{border-radius:2px 2px 0 0;flex:1;min-height:0;display:block}.chart-day small{color:var(--muted);white-space:nowrap;font-size:10px}.admin-health code{overflow-wrap:anywhere;color:var(--muted);font-size:11px}@media (max-width:600px){.analytics-filters{grid-template-columns:1fr;align-items:stretch}.analytics-filters .review{width:100%}.chart-bars{gap:5px}.chart-day{min-width:35px}}.admin-top-tabs{border-bottom:1px solid var(--line);gap:8px;margin:26px 0 0;display:flex}.admin-top-tabs button{min-height:46px;color:var(--muted);font:700 .72rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;background:0 0;border:0;border-bottom:3px solid #0000;padding:10px 16px}.admin-top-tabs button:hover{color:var(--green)}.admin-top-tabs button.selected{border-bottom-color:var(--green);color:var(--text)}.admin-preset-catalog{border:1px solid var(--line);background:var(--surface-2);border-radius:9px;margin:22px 0;padding:22px}.admin-preset-catalog h2{margin:0 0 8px}.admin-preset-catalog>p{color:var(--muted);margin:0;font-size:.82rem}.admin-preset-catalog .stats-table{margin-top:14px}.admin-preset-form{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:0}.admin-preset-form .review{justify-self:start}@media (max-width:900px){.admin-preset-form{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-preset-form .review{grid-column:1/-1}}@media (max-width:600px){.admin-top-tabs{overflow:auto}.admin-top-tabs button{white-space:nowrap}.admin-preset-catalog{padding:18px 14px}.admin-preset-form{grid-template-columns:1fr}.admin-preset-form .review{width:100%}}.admin-preset-editor{border-top:1px solid var(--line);margin-top:26px;padding-top:20px}.admin-preset-editor h3,.admin-preset-channels h4{margin:0}.admin-preset-editor>label{gap:5px;max-width:320px;margin-top:12px;font-size:12px;font-weight:700;display:grid}.admin-preset-editor select,.admin-preset-editor input{border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;border-radius:6px;padding:10px}.admin-preset-edit-form{position:relative}.admin-preset-edit-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.admin-preset-edit-fields label{gap:5px;font-size:12px;font-weight:700;display:grid}.admin-preset-visibility{grid-template-columns:auto 1fr;align-items:start;column-gap:7px;max-width:270px;position:absolute;top:-62px;left:340px}.admin-preset-visibility input{width:16px;height:16px;accent-color:var(--green);grid-area:1/1;padding:0}.admin-preset-visibility small{grid-column:2;line-height:1.35}.admin-preset-channels{margin-top:18px}.admin-preset-channels>div:first-child{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.admin-preset-channels .backup{width:auto;min-height:38px;padding:9px 11px}.admin-preset-channel{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) 115px 100px auto;align-items:center;gap:8px;padding:8px 0;display:grid}.admin-preset-channel label{align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.admin-preset-channel label input{width:16px;height:16px;accent-color:var(--green);padding:0}.admin-preset-channel .connect{width:auto;min-height:38px;padding:9px 11px}.admin-preset-edit-form>.review{margin-top:18px}@media (max-width:700px){.admin-preset-edit-fields{grid-template-columns:1fr 1fr}.admin-preset-visibility{max-width:none;position:static}.admin-preset-channel{grid-template-columns:1fr 110px}.admin-preset-channel label,.admin-preset-channel .connect{grid-column:auto}}@media (max-width:460px){.admin-preset-edit-fields,.admin-preset-channel{grid-template-columns:1fr}.admin-preset-channel .connect{width:100%}}.admin-config-tabs{gap:8px;margin:24px 0 -8px;display:flex}.admin-config-tabs button{border:1px solid var(--line);min-height:40px;color:var(--muted);font:700 .7rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;background:0 0;border-radius:5px;padding:9px 15px}.admin-config-tabs button:hover{border-color:var(--green);color:var(--green)}.admin-config-tabs button.selected{border-color:var(--green);background:var(--green);color:var(--ink)}.admin-scope-select{gap:5px;max-width:320px;margin-top:16px;font-size:12px;font-weight:700;display:grid}.admin-scope-select select{border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;border-radius:6px;padding:10px}:root[data-theme=dark] .admin-card,:root[data-theme=dark] .stat-total,:root[data-theme=dark] .events-head{background:#24362d}:root[data-theme=dark] .analytics-filters select,:root[data-theme=dark] .analytics-filters input{color:var(--ink);background:#15211c;border-color:#405249}body{background-color:var(--ink);background-image:radial-gradient(circle at 80% 5%,var(--green),transparent 28rem),linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px)}@supports (color:color-mix(in lab, red, red)){body{background-image:radial-gradient(circle at 80% 5%,color-mix(in srgb,var(--green) 8%,transparent),transparent 28rem),linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px)}}body{background-size:auto,64px 64px,64px 64px;background-attachment:fixed}.site-header{z-index:20;border-bottom:1px solid var(--line);background:var(--ink);min-height:72px;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in srgb,var(--ink) 91%,transparent)}}.site-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.site-header-inner{align-items:center;gap:22px;width:min(1160px,100% - 40px);min-height:72px;margin:0 auto;display:flex}.brand{color:var(--text);align-items:center;gap:12px;min-width:0;text-decoration:none;display:flex}.brand-logo{aspect-ratio:3;object-fit:contain;width:150px;height:auto;display:block}.brand-logo-dark{display:none}.brand span{font:700 .7rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;color:var(--muted)}:root[data-theme=dark] .brand-logo-light{display:none}:root[data-theme=dark] .brand-logo-dark{display:block}.node-mode-tabs{border:1px solid var(--line);border-radius:6px;gap:0;margin:0 0 0 auto;overflow:hidden}.node-mode-tabs button{border:0;border-right:1px solid var(--line);min-height:40px;color:var(--muted);font:700 .68rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;background:0 0;border-radius:0;padding:10px 13px}.node-mode-tabs button:last-child{border-right:0}.node-mode-tabs button:hover{color:var(--green);border-color:var(--line)}.node-mode-tabs button.selected{background:var(--surface-2);border-color:var(--line);color:var(--green)}.node-mode-tabs span{font:700 .58rem/1 var(--mono)}.theme-toggle{min-height:40px;color:var(--text);font:700 .67rem/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;background:0 0;border-radius:5px;padding:10px 12px}.theme-toggle:hover{border-color:var(--green);color:var(--green)}.hero{max-width:1160px;padding:70px 0 52px}.hero-content{gap:80px;margin-top:0}.eyebrow,.preview-top,.repeater-section legend,.area-group h3{font-family:var(--mono);letter-spacing:.14em;font-size:.7rem}.signal{background:var(--green);box-shadow:0 0 0 4px var(--green)}@supports (color:color-mix(in lab, red, red)){.signal{box-shadow:0 0 0 4px color-mix(in srgb,var(--green) 18%,transparent)}}h1,.section-heading h2,.preview h2,.modal h2,.repeater-card h2{font-family:var(--display);text-transform:uppercase;letter-spacing:.01em;font-weight:800;line-height:.86}h1{max-width:620px;margin-bottom:18px;font-size:clamp(2rem,4vw,3.9rem)}h1 em{color:var(--green);font-style:normal}.intro{color:var(--muted);max-width:560px;font-size:1rem;line-height:1.65}.firmware-reminder,.repeater-readiness{border-color:var(--line);background:var(--surface);border-radius:7px}@supports (color:color-mix(in lab, red, red)){.firmware-reminder,.repeater-readiness{background:color-mix(in srgb,var(--surface) 94%,var(--yellow))}}.firmware-reminder,.repeater-readiness{color:var(--muted);text-align:left}.firmware-reminder b,.repeater-readiness b{color:var(--text)}.firmware-reminder a{color:var(--green)}.connection-card,.repeater-card,.area-group,.area,.role-options button,.channel-choice,.modal,.admin-card{border-color:var(--line);background:var(--surface);box-shadow:none;border-radius:7px}.connection-card{margin-top:46px;padding:20px 22px}.connection-copy strong{color:var(--text)}.connect,.review,.backup{border:1px solid var(--green);background:var(--green);min-height:50px;color:var(--ink);font:700 .74rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;border-radius:5px;padding:12px 18px}.connect:hover,.review:hover,.backup:hover{background:var(--green-deep);color:var(--ink);transform:translateY(-2px)}.connect.secondary{color:var(--text);border-color:var(--line);background:0 0}.connect.secondary:hover{background:var(--surface-2);color:var(--green);border-color:var(--green)}.connect.disconnect{color:var(--red);border-color:var(--red);background:0 0}.connect.disconnect:hover{background:var(--red)}@supports (color:color-mix(in lab, red, red)){.connect.disconnect:hover{background:color-mix(in srgb,var(--red) 12%,transparent)}}.connect.disconnect:hover{color:var(--red)}.connection-help{color:var(--green);font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;font-size:.68rem}.workspace{background:var(--surface-2)}@supports (color:color-mix(in lab, red, red)){.workspace{background:color-mix(in srgb,var(--surface-2) 93%,transparent)}}.workspace{padding:48px 20px}.stepper,.builder{max-width:1160px}.stepper{font:700 .68rem/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.stepper .active b{color:var(--text)}.stepper i{background:var(--line)}.builder{gap:64px;margin-top:32px}.section-heading>span{font-family:var(--mono);letter-spacing:.12em;font-size:.75rem}.section-heading h2{font-size:clamp(2rem,3.8vw,3.25rem)}.section-heading p{line-height:1.55}.area-group{padding:17px}.area,.role-options button{background:var(--surface);color:var(--text);border-radius:6px}.area:hover,.area.selected,.role-options button.selected,.channel-choice.selected{border-color:var(--green);background:var(--green)}@supports (color:color-mix(in lab, red, red)){.area:hover,.area.selected,.role-options button.selected,.channel-choice.selected{background:color-mix(in srgb,var(--green) 8%,var(--surface))}}.area:hover,.area.selected,.role-options button.selected,.channel-choice.selected{box-shadow:none}.area b{font-family:var(--display);text-transform:uppercase;letter-spacing:.03em;font-size:1.7rem}.channel-choice{background:var(--surface);border-radius:6px}.node-name-input input,.name-fields input,.repeater-settings input,.repeater-settings textarea,.admin-form input,.analytics-filters select,.analytics-filters input{border-color:var(--line);background:var(--surface);color:var(--text);font-family:var(--sans);border-radius:6px}:is(input:focus,textarea:focus,select:focus,button:focus-visible,a:focus-visible){outline:2px solid var(--green);outline-offset:3px}.preview{border:1px solid var(--line);background:var(--surface);color:var(--text);box-shadow:none;border-radius:7px}.preview-top,.setting span,.channels-title span,.private-note,.review-requirements{color:var(--muted)}.preview-top b,.channels-title small{color:var(--green)}.preview h2{font-size:2.6rem}.setting,.preview-name{border-color:var(--line)}.review{background:var(--green);color:var(--ink)}.modal-backdrop{background:var(--ink)}@supports (color:color-mix(in lab, red, red)){.modal-backdrop{background:color-mix(in srgb,var(--ink) 76%,transparent)}}.modal{background:var(--surface);color:var(--text);border:1px solid var(--line);box-shadow:none}.diagnostic-log{background:var(--ink);border-color:var(--line);color:var(--text);font-family:var(--mono)}.app-footer{background:var(--ink);color:var(--muted);border-top:1px solid var(--line);font-family:var(--mono);letter-spacing:.03em;font-size:.66rem}.app-footer a{color:var(--green)}@media (max-width:860px){.site-header-inner{gap:12px;width:min(100% - 28px,1160px)}.brand-logo{width:125px}.brand span{display:none}.node-mode-tabs{margin-left:auto}.hero{padding:66px 20px 52px}.hero-content{gap:38px}.builder{gap:36px}}@media (max-width:600px){.site-header-inner{flex-wrap:wrap;min-height:64px;padding:10px 0}.brand{margin-right:auto}.node-mode-tabs{order:3;width:100%;margin:0}.node-mode-tabs button{flex:1}.theme-toggle{padding:9px}.hero{padding-top:54px}.connection-card{margin-top:34px}.workspace{padding:46px 14px}.connect-actions{gap:8px}.connect,.review,.backup{min-height:48px}.repeater-coordinate-fields,.repeater-password-fields{gap:10px}}.preview-name label{color:var(--text)}.preview-name input{background:var(--surface-2);border-color:var(--line);color:var(--text)}.preview-name input::placeholder{color:var(--muted);opacity:1}.channel-order select,.channel-order select option{background:var(--surface);border-color:var(--line);color:var(--text)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;transform:none!important}}.repeater-builder .choices{border:1px solid var(--line);background:var(--surface);border-radius:7px;padding:28px}.repeater-settings label,.repeater-security-note b{color:var(--text)}:root[data-theme=dark] .repeater-settings input,:root[data-theme=dark] .repeater-settings textarea{background:var(--surface-2);border-color:var(--line);color:var(--text)}.repeater-settings input::placeholder,.repeater-settings textarea::placeholder{color:var(--muted);opacity:1}.repeater-settings select{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);font:inherit;border-radius:6px;padding:10px}.repeater-settings label>small{color:var(--muted);font-size:.72rem;font-weight:500;line-height:1.35}.repeater-settings,.repeater-settings>*,.repeater-settings label,.repeater-coordinate-fields,.repeater-password-fields,.repeater-advanced-grid,.repeater-settings input,.repeater-settings textarea,.repeater-settings select{min-width:0}.repeater-apply-notice{border:1px solid var(--green);background:var(--green);border-radius:5px;margin:18px 0 0;padding:12px 14px}@supports (color:color-mix(in lab, red, red)){.repeater-apply-notice{background:color-mix(in srgb,var(--green) 12%,var(--surface))}}.repeater-apply-notice{color:var(--text);font-size:.88rem;line-height:1.45}.repeater-apply-notice b{color:var(--green)}.repeater-settings .repeater-toggle{border:1px solid var(--line);background:var(--surface-2);border-radius:6px;margin:0;padding:10px 12px 12px}.repeater-toggle legend{color:var(--text);padding:0 5px;font-size:.9rem;font-weight:700}.repeater-toggle>div{gap:18px;display:flex}.repeater-settings .repeater-toggle label{color:var(--text);align-items:center;gap:7px;font-size:.85rem;font-weight:700;display:flex}.repeater-settings .repeater-toggle input{width:16px;height:16px;accent-color:var(--green);margin:0;padding:0}.repeater-toggle small{color:var(--muted);margin-top:7px;font-size:.78rem;font-weight:500;line-height:1.35;display:block}.advanced-toggle{border:1px solid var(--line);background:var(--surface-2);width:100%;color:var(--text);font:700 .82rem/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;padding:11px 12px;display:flex}.advanced-toggle span{color:var(--green);font-size:1.1rem}.repeater-advanced-settings{border:1px solid var(--line);background:var(--surface-2);border-radius:6px;margin:0;padding:14px}.repeater-advanced-settings legend,.advanced-multi-acks legend{color:var(--text);padding:0 5px;font-size:.86rem;font-weight:700}.repeater-advanced-settings>p{color:var(--muted);margin:0 0 13px;font-size:.78rem;line-height:1.4}.repeater-advanced-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.repeater-settings .repeater-advanced-grid label{gap:6px;display:grid}.repeater-advanced-grid select{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);font:inherit;border-radius:6px;padding:10px}.repeater-advanced-grid small{color:var(--muted);font-size:.72rem;font-weight:500;line-height:1.3}.advanced-multi-acks{border:1px solid var(--line);border-radius:6px;margin:0;padding:8px 10px}.advanced-multi-acks>div{gap:16px;display:flex}.repeater-settings .advanced-multi-acks label{align-items:center;gap:7px;font-size:.82rem;display:flex}.repeater-settings .advanced-multi-acks input{width:16px;height:16px;accent-color:var(--green);margin:0;padding:0}.observer-area-selector{border:1px solid var(--line);background:var(--surface-2);border-radius:6px;margin:0;padding:14px}.observer-area-selector legend{color:var(--text);padding:0 5px;font-size:.86rem;font-weight:700}.observer-area-selector>p{color:var(--muted);margin:0 0 13px;font-size:.78rem;line-height:1.4}.observer-area-groups{grid-template-columns:1fr;gap:10px;margin:0}.observer-area-groups .area-group{padding:11px}.observer-area-groups .area-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.observer-area-groups .area{padding:10px}.observer-area-groups .area b{font-size:1.3rem}.observer-area-groups .area small{font-size:.68rem}.repeater-area-selector .observer-area-groups{margin-bottom:0}.observer-settings>.repeater-advanced-settings:not(.observer-broker-settings)>.repeater-advanced-grid>label:nth-child(-n+2),.observer-settings>.repeater-advanced-settings:not(.observer-broker-settings)>.repeater-advanced-grid>.repeater-coordinate-fields{display:none}.repeater-advanced-grid .repeater-coordinate-fields{grid-column:1/-1}.observer-broker-settings{margin-top:14px}.observer-broker-settings .repeater-advanced-grid{align-items:start}.observer-broker-settings .advanced-toggle{margin-top:14px}.observer-broker-settings input[readonly]{cursor:not-allowed;color:var(--muted)}.observer-slot-lock{color:var(--green);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:4px;margin-left:6px;font-size:11px;font-weight:800;display:inline-flex}.observer-broker-slot{gap:9px;display:grid}.observer-custom-broker-settings{border:1px solid var(--line);background:var(--card);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:10px;display:grid}@supports (color:color-mix(in lab, red, red)){.observer-custom-broker-settings{background:color-mix(in srgb,var(--card) 80%,var(--green) 20%)}}.observer-custom-broker-settings>small{color:var(--muted);grid-column:1/-1;font-size:11px}.observer-custom-broker-settings label{gap:4px;font-size:11px;display:grid}.observer-custom-broker-settings input{min-width:0;padding:8px 9px}.repeater-encrypted-backup{grid-template-columns:auto 1fr;display:grid}.repeater-passphrase-fields{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px;display:grid}.repeater-passphrase-fields label{color:var(--text);gap:5px;font-size:.72rem;font-weight:700;display:grid}.backup-choice .repeater-passphrase-fields input{box-sizing:border-box;border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;height:auto;color:var(--text);font:inherit;border-radius:5px;margin:0;padding:9px 10px;font-size:.78rem}@media (max-width:600px){.repeater-passphrase-fields{grid-template-columns:1fr}}.repeater-review-log{border:1px solid var(--line);border-radius:6px;margin:14px 0;overflow:hidden}.repeater-review-log>div{background:var(--surface-2);justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;font-size:.78rem;display:flex}.repeater-review-log button{color:var(--green);font:700 .7rem/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;text-decoration:underline}.repeater-review-log pre{overscroll-behavior:contain;background:var(--ink);max-height:150px;color:var(--text);font:.7rem/1.4 var(--mono);white-space:pre-wrap;margin:0;padding:10px;overflow:auto}.repeater-connection-card{grid-template-columns:1fr;align-items:stretch;gap:16px;display:grid}.repeater-connection-card .connection-copy{border-bottom:1px solid var(--line);padding:0 0 14px}.repeater-connection-card .connect-options{justify-items:stretch;min-width:0}.repeater-connection-card .connect-actions{grid-template-columns:repeat(7,max-content);justify-content:center;gap:9px;display:grid}.repeater-connection-card .connection-firmware-notes{text-align:center;max-width:none}@media (max-width:1220px){.repeater-connection-card .connect-actions{grid-template-columns:repeat(4,max-content)}}@media (max-width:760px){.repeater-connection-card .connection-copy{padding-bottom:12px}.repeater-connection-card .connect-actions{grid-template-columns:1fr 1fr}.repeater-connection-card .connect{width:100%}.repeater-connection-card .connection-firmware-notes{text-align:left}}.repeater-connection-card .connect-actions:has(>.connect:only-child){justify-content:end}@media (min-width:761px){.repeater-connection-card:has(.connect-actions>.connect:only-child){align-items:center;gap:32px;display:flex}.repeater-connection-card:has(.connect-actions>.connect:only-child) .connection-copy{border:0;flex:1;padding:0}.repeater-connection-card:has(.connect-actions>.connect:only-child) .connect-options{justify-items:end;min-width:430px}.repeater-connection-card:has(.connect-actions>.connect:only-child) .connect-actions{justify-content:end;display:flex}.repeater-connection-card:has(.connect-actions>.connect:only-child) .connection-firmware-notes{text-align:right;max-width:430px}}.observer-write-actions{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:16px;display:grid}.observer-write-actions .review.apply{width:100%;margin:0}.observer-write-actions .observer-review-backup{z-index:auto;width:auto;box-shadow:none;background:0 0;border:0;align-items:center;gap:12px;padding:0;display:flex;position:static;top:auto;left:auto;transform:none}.observer-write-actions .observer-review-backup>div{display:none}.observer-write-actions .observer-review-backup .backup{white-space:nowrap;width:auto;margin:0}.observer-write-actions .observer-review-backup label{white-space:nowrap;align-items:center;gap:7px;font-size:.75rem;font-weight:700;display:flex}.observer-write-actions .observer-review-backup input{width:16px;height:16px;accent-color:var(--green);margin:0}@media (max-width:600px){.observer-write-actions{grid-template-columns:1fr}.observer-write-actions .observer-review-backup{grid-template-columns:1fr;display:grid}.observer-write-actions .observer-review-backup .backup{width:100%}.observer-write-actions .observer-review-backup label{white-space:normal}}.observer-encrypted-backup{border:1px solid var(--line);background:var(--surface-2);border-radius:7px;grid-template-columns:auto 1fr;align-items:start;gap:10px;margin-top:12px;padding:12px 13px;display:grid}.observer-encrypted-backup>div{display:contents}.observer-encrypted-backup input[type=checkbox]{width:16px;height:16px;accent-color:var(--green);margin:3px 0 0}.observer-encrypted-backup>div>label{cursor:pointer;gap:3px;font-size:.78rem;display:grid}.observer-encrypted-backup small{color:var(--muted);font-size:.72rem;line-height:1.35}.observer-passphrase-fields{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:8px;display:grid}.observer-passphrase-fields label{gap:5px;font-size:.72rem;font-weight:700;display:grid}.observer-passphrase-fields input{box-sizing:border-box;border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;color:var(--text);font:inherit;border-radius:5px;padding:9px 10px;font-size:.78rem}.observer-encrypted-backup .form-error{grid-column:1/-1}@media (max-width:600px){.observer-passphrase-fields{grid-template-columns:1fr}}.repeater-review-modal{width:min(1040px,100vw - 32px);max-width:1040px}.repeater-review-modal .change{padding:9px 12px}.repeater-review-modal .change-list{margin:14px 0}.repeater-change-groups{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.repeater-change-groups .change{border-bottom:0}.repeater-change-groups .change:first-child{border-right:1px solid var(--line)}.repeater-standard-review{border:1px solid var(--line);border-radius:7px;grid-template-columns:repeat(4,minmax(0,1fr));margin:14px 0;display:grid;overflow:hidden}.repeater-standard-review .change{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.repeater-standard-review .change:nth-child(4n){border-right:0}.repeater-standard-review .change:nth-last-child(-n+3){border-bottom:0}.repeater-standard-review .change:last-child:nth-child(4n+3){border-right:1px solid var(--line)}.repeater-write-actions{grid-template-columns:1fr 1fr;align-items:stretch;gap:10px;margin-top:14px;display:grid}.repeater-write-actions .review-summary{margin:0}.repeater-write-actions .backup,.repeater-write-actions .review{width:100%;margin:0}.repeater-write-actions .backup-choice{margin:0}.repeater-write-actions .form-error{grid-column:1/-1}@media (max-width:760px){.repeater-review-modal{width:calc(100vw - 28px)}.repeater-standard-review{grid-template-columns:repeat(2,minmax(0,1fr))}.repeater-standard-review .change:nth-child(4n){border-right:1px solid var(--line)}.repeater-standard-review .change:nth-child(2n){border-right:0}.repeater-standard-review .change:nth-last-child(-n+3){border-bottom:1px solid var(--line)}.repeater-standard-review .change:nth-last-child(-n+2){border-bottom:0}.repeater-write-actions{grid-template-columns:1fr}}@media (max-width:600px){.repeater-change-groups,.repeater-standard-review{grid-template-columns:1fr}.repeater-change-groups .change:first-child,.repeater-standard-review .change{border-right:0;border-bottom:1px solid var(--line)}.repeater-standard-review .change:last-child{border-bottom:0}}.repeater-change-groups .change:nth-child(odd){border-right:1px solid var(--line)}@media (max-width:600px){.repeater-advanced-grid{grid-template-columns:1fr}.repeater-change-groups .change:nth-child(odd){border-right:0}.repeater-builder .choices{padding:20px 16px}}.theme-toggle,.app-footer small b,.connection-firmware-notes b,.admin-page,:root[data-theme=dark] .connect.secondary,:root[data-theme=dark] .area,:root[data-theme=dark] .role-options button,:root[data-theme=dark] .channel-choice,:root[data-theme=dark] .node-name-input input,:root[data-theme=dark] .name-fields input,:root[data-theme=dark] .channel-order select,:root[data-theme=dark] .backup,:root[data-theme=dark] .managed-repeater-settings b,:root[data-theme=dark] .analytics-filters select,:root[data-theme=dark] .analytics-filters input{color:var(--text)}.location-picker-button{border:1px solid var(--line);background:var(--surface-2);color:var(--text);font:700 .72rem/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;border-radius:5px;justify-self:start;padding:10px 12px}.location-picker-button:hover{border-color:var(--green);color:var(--green)}.repeater-awaiting{max-width:620px;padding:30px 0}.repeater-awaiting h2{font:700 clamp(2.5rem,5vw,4.4rem)/.9 var(--display);letter-spacing:.01em;text-transform:uppercase;margin:12px 0}.repeater-awaiting p{max-width:560px;color:var(--muted);margin:0;line-height:1.65}.repeater-empty-preview .review{margin-top:24px}.location-picker-modal{width:min(680px,100%);max-width:680px}.location-picker-modal h2{font-size:2.6rem}.map-picker-tools,.modal-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.map-picker-tools{margin:18px 0 10px}.map-picker-tools span{color:var(--muted);font:700 .72rem/1 var(--mono)}.map-picker-tools .connect{min-height:40px;padding:9px 12px}.map-picker-frame{border:1px solid var(--line);background:var(--surface-2);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:6px;height:360px;position:relative;overflow:hidden}.map-picker-frame:active{cursor:grabbing}.map-tiles{pointer-events:none;grid-template-rows:repeat(3,256px);grid-template-columns:repeat(3,256px);width:768px;height:768px;display:grid;position:absolute;top:50%;left:50%}.map-tiles img,.map-tiles span{background:var(--surface-2);image-rendering:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:256px;min-width:0;height:256px}.map-marker{z-index:1;color:var(--green);text-shadow:0 1px 2px var(--ink);pointer-events:none;font-size:2.15rem;line-height:1;position:absolute;transform:translate(-50%,-50%)}.map-zoom-controls{z-index:2;border:1px solid var(--line);border-radius:4px;display:grid;position:absolute;top:10px;left:10px;overflow:hidden;box-shadow:0 1px 3px #0003}.map-zoom-controls button{border:0;border-bottom:1px solid var(--line);background:var(--surface);width:34px;height:32px;color:var(--text);font-size:1.25rem;line-height:1}.map-zoom-controls button:last-child{border-bottom:0}.map-zoom-controls button:hover{background:var(--surface-2);color:var(--green)}.modal-actions{margin-top:18px}.modal-actions .connect{width:auto;margin:0}.map-attribution{color:var(--muted);margin-top:10px;font-size:.67rem;display:block}.map-attribution a{color:var(--green)}.node-mode-choice-modal{width:min(720px,100vw - 32px);max-width:720px}.node-mode-choice-modal h2{font-size:clamp(2.35rem,5vw,3.5rem)}.node-mode-choice-actions{grid-template-columns:1fr 1fr;gap:12px;margin-top:24px;display:grid}.node-mode-choice-actions button{text-align:left;border:1px solid var(--line);background:var(--surface-2);min-height:190px;color:var(--text);border-radius:6px;gap:7px;padding:20px;display:grid}.node-mode-choice-actions button:hover{border-color:var(--green);background:var(--green)}@supports (color:color-mix(in lab, red, red)){.node-mode-choice-actions button:hover{background:color-mix(in srgb,var(--green) 10%,var(--surface))}}.node-mode-choice-actions button:hover{transform:translateY(-2px)}.node-mode-choice-actions b{font:800 2rem/.9 var(--display);letter-spacing:.02em;text-transform:uppercase}.node-mode-choice-actions span{color:var(--green);font:700 .7rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase}.node-mode-choice-actions small{color:var(--muted);font-size:.86rem;line-height:1.4}@media (max-width:600px){.node-mode-choice-actions{grid-template-columns:1fr}.node-mode-choice-actions button{min-height:145px}.location-picker-modal{padding:22px 16px}.map-picker-frame{height:280px}.map-picker-tools{flex-direction:column;align-items:flex-start}.modal-actions .connect{flex:1;padding-left:10px;padding-right:10px}}.observer-memory-note{color:var(--muted);margin:-2px 0 12px;font-size:.72rem;line-height:1.35;display:block}.node-mode-choice-actions .node-mode-icon{border:1px solid var(--green);place-items:center;width:42px;height:42px;display:grid}@supports (color:color-mix(in lab, red, red)){.node-mode-choice-actions .node-mode-icon{border:1px solid color-mix(in srgb,var(--green) 55%,var(--line))}}.node-mode-choice-actions .node-mode-icon{color:var(--green);font:700 1.35rem/1 var(--mono);letter-spacing:-.15em;border-radius:50%;font-style:normal}.node-mode-choice-actions button:hover .node-mode-icon{background:var(--green);color:var(--ink)}.observer-broker-settings .repeater-advanced-grid>label{position:relative}.observer-broker-settings .observer-slot-lock{margin:0;position:absolute;top:0;right:0}.observer-settings .observer-name-note{color:var(--muted);font-size:.72rem;font-weight:500;line-height:1.35}.observer-backup-tools{border:1px solid var(--line);background:var(--surface);border-radius:7px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;max-width:1160px;margin:18px auto 0;padding:14px 16px;display:grid}.observer-backup-tools>div{gap:3px;display:grid}.observer-backup-tools small,.observer-backup-tools>p{color:var(--muted);margin:0;font-size:.75rem;line-height:1.35}.observer-backup-tools>p{grid-column:1/-1}@media (max-width:600px){.observer-backup-tools{grid-template-columns:1fr}.observer-backup-tools .backup{width:100%}}.modal-backdrop:has(+.observer-review-backup) .repeater-review-modal .review.apply{width:42%;margin:20px 0 0}.observer-review-backup{z-index:101;border:1px solid var(--line);background:var(--surface-2);border-radius:7px;grid-template-columns:auto auto;align-items:center;gap:12px;width:min(520px,53vw - 48px);padding:11px 14px;display:grid;position:fixed;top:calc(68% + 24px);left:47%;transform:translateY(-50%);box-shadow:0 8px 20px #0007}.observer-review-backup>div{display:none}.observer-review-backup .backup{white-space:nowrap;width:auto;margin:0}.observer-review-backup label{white-space:nowrap;align-items:center;gap:7px;font-size:.75rem;font-weight:700;display:flex}.observer-review-backup input{width:16px;height:16px;accent-color:var(--green);margin:0}@media (max-width:600px){.modal-backdrop:has(+.observer-review-backup) .repeater-review-modal .review.apply{width:100%;margin-top:16px}.observer-review-backup{grid-template-columns:1fr;gap:10px;width:auto;inset:auto 16px 16px;transform:none}.observer-review-backup .backup{width:100%}.observer-review-backup label{white-space:normal}}.observer-import-connect{justify-content:center;align-items:center;gap:12px;margin:-14px auto 28px;display:flex}.observer-import-connect small{max-width:480px;color:var(--muted);font-size:.75rem;line-height:1.35}@media (max-width:600px){.observer-import-connect{flex-direction:column;align-items:stretch;margin:0 16px 22px}.observer-import-connect .connect{width:100%}}@media (min-width:601px){body:has(.observer-settings) .repeater-preview{align-self:start;position:sticky;top:84px}}body:has(.observer-review-backup input:not(:checked)) .repeater-review-modal .review.apply{pointer-events:none;cursor:not-allowed;opacity:.55}.admin-preset-edit-form>.review:disabled{color:#f3f4f1;cursor:not-allowed;opacity:.65;background:#8d958b;border-color:#8d958b}.admin-preset-scope,.admin-preset-role-defaults{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.admin-preset-scope h4,.admin-preset-role-defaults h4{margin:0}.admin-preset-scope>p,.admin-preset-role-defaults>p{color:var(--muted);margin:6px 0 0;font-size:.78rem;line-height:1.4}.admin-preset-scope .private-note,.admin-preset-role-defaults .private-note{margin-top:10px}.admin-role-defaults{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.admin-role-defaults label{gap:6px;font-size:.8rem;font-weight:700;display:grid}.admin-role-defaults select{border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;border-radius:6px;padding:10px}@media (max-width:600px){.admin-role-defaults{grid-template-columns:1fr}}.mfa-qr{background:#fff;border-radius:8px;width:240px;max-width:100%;height:240px;margin:18px auto;padding:10px;display:block}.mfa-manual{color:var(--muted);margin:12px 0;font-size:.8rem}.mfa-manual p{margin:10px 0}.mfa-activation-code{gap:8px;margin-top:6px;display:flex}.mfa-activation-code input{letter-spacing:.08em;min-width:0;font-family:var(--font-mono)}.mfa-activation-code button{flex:none}.mfa-manual small{margin-top:8px;display:block}.recovery-codes{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0;display:grid}.recovery-codes code{border:1px solid var(--line);background:var(--surface-2);text-align:center;border-radius:6px;padding:10px;font-weight:700}.turnstile-widget{margin-top:14px}@media (max-width:500px){.recovery-codes{grid-template-columns:1fr}.mfa-activation-code{flex-direction:column}.mfa-activation-code button{width:100%}}.mfa-recovery-link{color:var(--green);font:inherit;cursor:pointer;background:0 0;border:0;align-self:start;padding:0;font-size:.82rem;font-weight:700;text-decoration:underline}.admin-utility-bar{justify-content:flex-end;align-items:center;gap:6px;width:min(800px,100%);margin:0 auto 10px;display:flex}.admin-utility-bar .backup{width:auto;min-height:32px;padding:7px 9px;font-size:.62rem}.admin-utility-bar .admin-theme-toggle{place-items:center;width:32px;min-height:32px;padding:0;font-size:.92rem;display:grid}.admin-heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.admin-main-link{color:var(--green);font:700 .72rem/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;text-decoration:underline}@media (max-width:600px){.admin-page{padding-top:18px}.admin-utility-bar{gap:5px;margin-bottom:8px}.admin-utility-bar .backup{min-height:30px;padding:7px 8px;font-size:.58rem}.admin-utility-bar .admin-theme-toggle{width:30px;min-height:30px;font-size:.84rem}.admin-heading{flex-direction:row;gap:12px}.admin-heading>div:first-child{min-width:0}.admin-heading-actions{flex:none;justify-items:stretch;display:grid}.admin-main-link{text-align:right;font-size:.62rem}}.admin-theme-toggle{white-space:nowrap}.admin-mfa-toggle{color:var(--text);align-items:center;gap:8px;margin-top:18px;font-size:.86rem;font-weight:700;display:flex}.admin-mfa-toggle input{width:17px;height:17px;accent-color:var(--green)}.preset-editor-actions{justify-content:center;gap:10px;margin-top:16px;display:flex}.preset-editor-actions .backup{width:auto}.preset-editor-mode.closed~.admin-preset-catalog,.preset-editor-mode~.admin-preset-catalog>h2,.preset-editor-mode~.admin-preset-catalog>p,.preset-editor-mode~.admin-preset-catalog>.stats-table,.preset-editor-mode.add~.admin-preset-catalog .admin-preset-editor,.preset-editor-mode.edit~.admin-preset-catalog .admin-preset-form,.preset-editor-mode.restore~.admin-preset-catalog:not(.preset-history),.preset-editor-mode:not(.restore)~.preset-history{display:none}@media (max-width:500px){.preset-editor-actions{grid-template-columns:1fr;display:grid}.preset-editor-actions .backup{width:100%}}.preset-history>label{gap:6px;max-width:460px;margin-top:16px;font-size:.78rem;font-weight:700;display:grid}.preset-history select{border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;border-radius:6px;padding:10px}.preset-history-preview{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.preset-history-preview h3{margin:0}.preset-restore-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0;display:grid}.preset-restore-option{border:1px solid var(--line);background:var(--surface);border-radius:6px;align-items:flex-start;gap:8px;padding:10px;display:flex}.preset-restore-option input{width:16px;height:16px;accent-color:var(--green);margin:2px 0 0}.preset-restore-option span{gap:2px;font-size:.8rem;display:grid}.preset-restore-option small{color:var(--muted);font-size:.72rem}.preset-history-preview .review{margin-top:4px}@media (max-width:600px){.preset-restore-options{grid-template-columns:1fr}}.admin-preset-form label small,.admin-preset-edit-fields label small{color:var(--muted);font-size:.68rem;font-weight:500}.admin-preset-form input[readonly],.admin-preset-edit-fields input[readonly]{cursor:not-allowed;opacity:.72}.preview .region-scope-setting{grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.preview .region-scope-setting b{max-width:none}.preview .region-scope-setting small{color:var(--muted);text-align:left;grid-column:1/-1;margin-top:7px;font-size:.72rem;line-height:1.4}@media (min-width:761px){.modal.companion-review-modal{width:min(1100px,100vw - 64px);max-width:1100px;padding:24px}.companion-review-modal .channel-order{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;column-gap:20px;display:grid}.companion-review-modal .channel-order legend,.companion-review-modal .channel-order>p{grid-column:1/-1}.companion-review-modal .channel-order label{margin:0}.companion-review-modal .channel-order label:nth-of-type(2){border-top:0}.companion-review-modal .change-list{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.companion-review-modal .change{border-bottom:1px solid var(--line)}.companion-review-modal .change:nth-last-child(-n+2){border-bottom:0}.companion-review-modal .backup-choice,.companion-review-modal .layout-choice{margin-top:8px}.companion-review-modal .review{margin-top:14px}}.admin-preset-channel{cursor:grab;grid-template-columns:26px minmax(0,1fr) 115px 100px auto;position:relative}.admin-preset-channel:before{content:"⠿";color:var(--muted);cursor:grab;align-self:center;font-size:1.15rem;line-height:1}.admin-preset-channel.dragging{opacity:.45}.admin-preset-channel:has(input:focus){cursor:default}.admin-preset-channel:has(select:focus){cursor:default}.admin-preset-channel:has(input:focus):before{cursor:default}.admin-preset-channel:has(select:focus):before{cursor:default}@media (max-width:700px){.admin-preset-channel{grid-template-columns:26px minmax(0,1fr) 110px}.admin-preset-channel label,.admin-preset-channel .connect{grid-column:2/-1}}@media (max-width:460px){.admin-preset-channel{grid-template-columns:26px minmax(0,1fr)}.admin-preset-channel select,.admin-preset-channel label,.admin-preset-channel .connect{grid-column:2}}.name-refresh-note{color:var(--muted);font-size:.72rem;font-weight:400;line-height:1.35}.observer-review-backup{box-shadow:none;background:0 0;border:0;padding:0;top:calc(68% + 43px)}.modal-backdrop:has(+.observer-write-log) .repeater-review-modal{padding-bottom:175px}.observer-write-log{width:min(976px,100vw - 80px);box-shadow:none;z-index:101;border:1px solid var(--line);background:var(--surface-2);border-radius:7px;width:min(940px,100vw - 80px);padding:12px 14px;position:fixed;top:calc(68% + 24px);left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 20px #0007}.observer-write-log>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.observer-write-log b{font-size:.82rem}.observer-write-log button{color:var(--green);font:700 .68rem/1 var(--mono);text-transform:uppercase;background:0 0;border:0;text-decoration:underline}.observer-write-log pre{white-space:pre-wrap;max-height:125px;color:var(--muted);font:.7rem/1.45 var(--mono);margin:9px 0 0;overflow:auto}@media (max-width:600px){.observer-write-log{width:calc(100vw - 28px);top:auto;bottom:16px;transform:translate(-50%)}.observer-write-log pre{max-height:105px}}@media (max-width:760px){.repeater-connection-card .connect-actions:has(>.connect:only-child){grid-template-columns:max-content;justify-content:center}.repeater-connection-card .connect-actions:has(>.connect:only-child)>.connect{width:auto;min-width:285px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
