/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@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}.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}.table{display:table}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--ink:#15231e;--muted:#64746d;--paper:#f5f2ea;--card:#fffdf8;--line:#dcd8cd;--green:#1a8060;--lime:#c7e866;--dark:#163d34}:root[data-theme=dark]{--ink:#edf5f0;--muted:#a7b9b0;--paper:#111916;--card:#1a2520;--line:#3a4c43;--green:#59c99c;--lime:#d6ee83;--dark:#0b2921}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}.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{color:var(--green);font-weight:700;text-decoration:none}.app-footer a:hover{text-decoration:underline}.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:center;gap:18px;display:flex}.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}.theme-toggle:hover{border-color:var(--green);color:var(--green)}.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:18px 0 16px;font-family:Georgia,serif;font-size:clamp(46px,7vw,82px);font-weight:500;line-height:.94}h1 em{color:var(--green);font-style:italic}.intro{max-width:530px;color:var(--muted);margin:0;font-size:18px;line-height:1.55}.firmware-reminder{max-width:760px;color:var(--muted);background:#edf3ea;border:1px solid #b8cab9;border-radius:10px;margin:18px 0 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.disconnect:hover{background:#8a5849}.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 .active b{color:var(--ink)}.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}@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}.stepper b{white-space:nowrap}.preview{order:initial}}
