.protocol-layer{padding:22px}.protocol-modal{display:grid;grid-template-rows:auto minmax(0,1fr);width:min(520px,100%);max-height:min(640px,100%);overflow:hidden;border:2px solid var(--line);border-radius:var(--r-md);background:var(--modal-surface);box-shadow:7px 7px 0 var(--line)}.protocol-modal .sheet-header.svelte-1tpvtew{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:var(--s4);padding:22px 22px 18px;border-bottom:2px solid var(--line)}.protocol-modal .sheet-heading.svelte-1tpvtew{display:grid;gap:6px;min-width:0}.protocol-modal .sheet-heading.svelte-1tpvtew h2:where(.svelte-1tpvtew),.protocol-modal .sheet-heading.svelte-1tpvtew p:where(.svelte-1tpvtew),.protocol-modal .protocol-row.svelte-1tpvtew p:where(.svelte-1tpvtew){margin:0}.protocol-modal .sheet-heading.svelte-1tpvtew h2:where(.svelte-1tpvtew){font-size:clamp(1.45rem,3vw,1.85rem);line-height:1.05;letter-spacing:-.025em}.protocol-modal .sheet-heading.svelte-1tpvtew p:where(.svelte-1tpvtew),.protocol-modal .protocol-row.svelte-1tpvtew p:where(.svelte-1tpvtew){color:var(--muted);font-size:.88rem;line-height:1.45}.protocol-modal .sheet-close.svelte-1tpvtew{width:42px;min-height:42px;border:2px solid var(--line);border-radius:var(--r-sm);box-shadow:2px 2px 0 var(--line);transition:transform var(--d-press) var(--e-out)}.protocol-modal .sheet-close.svelte-1tpvtew:active{transform:translate(2px,2px);box-shadow:2px 2px 0 transparent}.protocol-modal .protocol-list.svelte-1tpvtew{overflow:auto;padding:10px 22px max(22px,env(safe-area-inset-bottom))}.protocol-modal .protocol-row.svelte-1tpvtew{display:grid;grid-template-columns:116px minmax(0,1fr);align-items:center;gap:18px;padding:var(--s5) 0;border-bottom:1px solid var(--line)}.protocol-modal .mode-name.svelte-1tpvtew{display:inline-flex;align-items:center;gap:9px;color:var(--ink)}.protocol-modal .mode-name.svelte-1tpvtew span:where(.svelte-1tpvtew){display:grid;gap:2px}.protocol-modal .mode-name.svelte-1tpvtew svg{flex:0 0 auto;color:var(--gold);transition:transform var(--d-fast) var(--e-out)}.protocol-modal .protocol-row.svelte-1tpvtew:hover .mode-name:where(.svelte-1tpvtew) svg{transform:rotate(-5deg) scale(1.06)}.protocol-modal .mode-name.svelte-1tpvtew strong:where(.svelte-1tpvtew){font-size:.98rem;letter-spacing:-.01em}.protocol-modal .mode-name.svelte-1tpvtew small:where(.svelte-1tpvtew){color:var(--muted);font-size:.72rem;font-weight:680}@media(max-width:560px){.protocol-layer{padding:0}.protocol-modal{width:100%;height:100%;max-height:none;border:0;border-radius:0;box-shadow:none}.protocol-modal .sheet-header.svelte-1tpvtew{gap:14px;padding:max(18px,env(safe-area-inset-top)) 18px 18px}.protocol-modal .sheet-heading.svelte-1tpvtew{align-self:center}.protocol-modal .sheet-close.svelte-1tpvtew{grid-column:2}.protocol-modal .protocol-list.svelte-1tpvtew{padding-inline:18px}.protocol-modal .protocol-row.svelte-1tpvtew{grid-template-columns:1fr;gap:10px 12px}}@media(prefers-reduced-motion:reduce){.protocol-modal .sheet-close.svelte-1tpvtew,.protocol-modal .mode-name.svelte-1tpvtew svg{transition:none}.protocol-modal .sheet-close.svelte-1tpvtew:active,.protocol-modal .protocol-row.svelte-1tpvtew:hover .mode-name:where(.svelte-1tpvtew) svg{transform:none}}.composer.svelte-2kg3n0{display:grid;gap:var(--s2)}.composer-row.svelte-2kg3n0{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:var(--s2)}.composer-field.svelte-2kg3n0{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0;min-height:48px;max-height:172px;overflow-y:auto;padding:6px 8px;border:2px solid var(--line);border-radius:var(--r-sm);background:var(--surface-input);box-shadow:inset 0 -2px #0000000d;cursor:text;overscroll-behavior:contain;transition:border-color var(--d-fast) var(--e-out)}.composer-field.svelte-2kg3n0:hover{border-color:var(--line-strong)}.composer-field.svelte-2kg3n0:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.is-disabled.svelte-2kg3n0 .composer-field:where(.svelte-2kg3n0){cursor:default;opacity:.6}.chips.svelte-2kg3n0{display:flex;flex:0 1 auto;flex-wrap:wrap;gap:6px;min-width:0;max-width:100%;margin:0;padding:0;list-style:none}.chips.svelte-2kg3n0:empty{display:none}.chip.svelte-2kg3n0{display:inline-flex;align-items:center;max-width:100%;min-height:30px;border:1px solid var(--line-strong);border-radius:6px;color:var(--ink);background:var(--surface-chip);font-family:var(--font-tech);font-size:var(--t-meta)}.chip[data-status=new].svelte-2kg3n0{border-color:color-mix(in srgb,var(--accent) 72%,var(--line))}.chip[data-status=exists].svelte-2kg3n0,.chip[data-status=covered].svelte-2kg3n0{border-style:dashed;color:var(--muted)}.chip[data-status=invalid].svelte-2kg3n0{border-color:color-mix(in srgb,var(--danger) 72%,var(--line));color:var(--danger);background:var(--danger-soft)}.chip-text.svelte-2kg3n0{min-width:0;max-width:16rem;overflow:hidden;padding:4px 2px 4px 9px;border:0;color:inherit;background:none;font:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.chip-remove.svelte-2kg3n0{position:relative;display:grid;flex:none;place-items:center;width:26px;height:28px;border:0;color:inherit;background:none;opacity:.72;transition:opacity var(--d-fast) var(--e-out)}.chip-remove.svelte-2kg3n0:after{content:"";position:absolute;inset:-6px -2px}.chip-remove.svelte-2kg3n0:hover{opacity:1}.chip-text.svelte-2kg3n0:focus-visible,.chip-remove.svelte-2kg3n0:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:5px}.composer-input.svelte-2kg3n0{flex:1 0 9rem;min-width:0;min-height:32px;padding:4px 6px;border:0;outline:none;color:var(--ink);background:transparent;font:inherit;font-size:1rem}.composer-input.svelte-2kg3n0::-moz-placeholder{color:var(--text-subtle);opacity:1}.composer-input.svelte-2kg3n0::placeholder{color:var(--text-subtle);opacity:1}.composer-row.svelte-2kg3n0 .composer-add:where(.svelte-2kg3n0){min-height:48px;white-space:nowrap}.composer-under.svelte-2kg3n0{min-height:1.1rem}.composer-hint.svelte-2kg3n0,.composer-notes.svelte-2kg3n0{margin:0;color:var(--muted);font-size:var(--t-caption);line-height:1.4}.composer-notes.svelte-2kg3n0{display:grid;gap:2px;padding:0;list-style:none}.composer-notes.svelte-2kg3n0 span:where(.svelte-2kg3n0){font-family:var(--font-tech)}.composer-notes.svelte-2kg3n0 li[data-status=invalid]:where(.svelte-2kg3n0) span:where(.svelte-2kg3n0){color:var(--danger)}@media(max-width:420px){.composer-row.svelte-2kg3n0{grid-template-columns:minmax(0,1fr)}.composer-row.svelte-2kg3n0 .composer-add:where(.svelte-2kg3n0){width:100%}}.rules-layer{padding:22px}.rules-modal{width:min(640px,100%);max-height:min(780px,100%);overflow:hidden;border:2px solid var(--line);border-radius:var(--r-md);background:var(--modal-surface);box-shadow:8px 8px 0 var(--line)}.sheet.svelte-jyeiuc{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;min-height:0;max-height:100%}.sheet-header.svelte-jyeiuc{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:var(--s3);padding:var(--s5) var(--s5) var(--s4);border-bottom:2px solid var(--line)}.sheet-heading.svelte-jyeiuc{display:grid;gap:var(--s1);min-width:0}.sheet-heading.svelte-jyeiuc h2:where(.svelte-jyeiuc),.sheet-heading.svelte-jyeiuc p:where(.svelte-jyeiuc){margin:0}.sheet-heading.svelte-jyeiuc h2:where(.svelte-jyeiuc){font-size:var(--t-title);font-weight:var(--w-display);line-height:1.15;letter-spacing:-.015em}.sheet-heading.svelte-jyeiuc p:where(.svelte-jyeiuc){color:var(--muted);font-size:var(--t-meta);line-height:1.4}.sheet-compose.svelte-jyeiuc{padding:var(--s4) var(--s5) var(--s3);border-bottom:1px solid var(--line)}.sheet-list.svelte-jyeiuc{display:grid;grid-template-rows:auto auto minmax(0,1fr);min-height:0}.list-head.svelte-jyeiuc{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s2) var(--s3);padding:var(--s3) var(--s5) var(--s2)}.list-title.svelte-jyeiuc{display:flex;align-items:baseline;gap:var(--s2);min-width:0}.list-title.svelte-jyeiuc h3:where(.svelte-jyeiuc){margin:0;color:var(--ink);font-size:var(--t-strong);font-weight:var(--w-strong);line-height:1.2}.list-count.svelte-jyeiuc{color:var(--muted);font-size:var(--t-meta);font-variant-numeric:tabular-nums;white-space:nowrap}.list-search.svelte-jyeiuc{display:flex;flex:0 1 14rem;align-items:center;gap:var(--s2);min-width:9rem;min-height:38px;padding:0 var(--s3);border:2px solid var(--line);border-radius:var(--r-sm);color:var(--muted);background:var(--surface-input);transition:border-color var(--d-fast) var(--e-out)}.list-search.svelte-jyeiuc:focus-within{border-color:var(--accent)}.list-search.svelte-jyeiuc input:where(.svelte-jyeiuc){flex:1;min-width:0;padding:5px 0;border:0;outline:none;color:var(--ink);background:transparent;font:inherit;font-size:1rem}.list-fix.svelte-jyeiuc{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s2) var(--s3);margin:0 var(--s5) var(--s2);padding:var(--s2) var(--s3);border:1px solid color-mix(in srgb,var(--danger) 60%,var(--line));border-radius:var(--r-sm);background:var(--danger-soft)}.list-fix.svelte-jyeiuc p:where(.svelte-jyeiuc){margin:0;color:var(--text-soft);font-size:var(--t-meta);line-height:1.4}.list-scroll.svelte-jyeiuc{min-height:0;overflow-y:auto;padding:0 var(--s5) var(--s3);overscroll-behavior:contain;scrollbar-gutter:stable}.rules-list.svelte-jyeiuc{position:relative;margin:0;padding:0;list-style:none}.rule-row.svelte-jyeiuc{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--s3);min-height:52px;padding-block:var(--s1);border-bottom:1px solid var(--line)}.rule-row.svelte-jyeiuc:after{content:"";position:absolute;inset:0 calc(-1 * var(--s2));border-radius:var(--r-sm);background:var(--accent-soft);opacity:0;pointer-events:none}.rule-row.is-fresh.svelte-jyeiuc:after{animation:svelte-jyeiuc-rule-flash 1.4s var(--e-out)}.rule-text.svelte-jyeiuc{display:grid;gap:2px;min-width:0}.rule-value.svelte-jyeiuc{overflow:hidden;color:var(--ink);font-family:var(--font-tech);font-size:var(--t-body);font-weight:var(--w-body);text-overflow:ellipsis;white-space:nowrap}.rule-note.svelte-jyeiuc{color:var(--danger);font-size:var(--t-caption);line-height:1.3}.rule-delete.svelte-jyeiuc{position:relative;display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:var(--r-sm);color:var(--danger);background:transparent;transition:border-color var(--d-fast) var(--e-out),background var(--d-fast) var(--e-out)}.rule-delete.svelte-jyeiuc:after{content:"";position:absolute;inset:-2px}.rule-delete.svelte-jyeiuc:hover{border-color:color-mix(in srgb,var(--danger) 60%,var(--line));background:var(--danger-soft)}.rule-delete.svelte-jyeiuc:focus-visible{outline:2px solid var(--danger);outline-offset:2px}.rule-skeleton.svelte-jyeiuc{position:relative;height:52px;border-bottom:1px solid var(--line)}.rule-skeleton.svelte-jyeiuc:before{content:"";position:absolute;top:50%;left:0;width:42%;height:12px;margin-top:-6px;border-radius:4px;background:var(--surface-chip);animation:svelte-jyeiuc-skeleton-pulse 1.1s ease-in-out infinite alternate}.rule-skeleton.svelte-jyeiuc:nth-child(2):before{width:58%;animation-delay:.15s}.rule-skeleton.svelte-jyeiuc:nth-child(3):before{width:34%;animation-delay:.3s}.list-empty.svelte-jyeiuc{margin:0;padding:var(--s6) var(--s2);color:var(--muted);font-size:var(--t-body);line-height:1.45;text-align:center}.list-empty.is-error.svelte-jyeiuc{display:grid;justify-items:center;gap:var(--s3)}.list-empty.is-error.svelte-jyeiuc p:where(.svelte-jyeiuc){margin:0;color:var(--danger)}.sheet-footer.svelte-jyeiuc{display:grid;gap:var(--s1);padding:var(--s3) var(--s5) max(var(--s3),env(safe-area-inset-bottom));border-top:1px solid var(--line)}.footer-line.svelte-jyeiuc{display:flex;align-items:center;gap:var(--s2);min-width:0}.footer-line.svelte-jyeiuc p:where(.svelte-jyeiuc){flex:1;min-width:0;margin:0;overflow:hidden;color:var(--text-soft);font-size:var(--t-meta);line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.footer-line.is-error.svelte-jyeiuc{align-items:flex-start;color:var(--danger)}.footer-line.is-error.svelte-jyeiuc p:where(.svelte-jyeiuc){color:var(--danger);white-space:normal}.footer-line.svelte-jyeiuc .text-link:where(.svelte-jyeiuc){flex:none;align-items:center;gap:4px}.footer-status.svelte-jyeiuc{display:flex;align-items:center;gap:6px;margin:0;color:var(--muted);font-size:var(--t-caption);line-height:1.4}.footer-status.is-saved.svelte-jyeiuc{color:var(--text-soft)}.footer-status.svelte-jyeiuc svg{flex:none;color:var(--accent)}.footer-note.svelte-jyeiuc{margin:0;color:var(--muted);font-size:var(--t-caption);line-height:1.4}.visually-hidden.svelte-jyeiuc{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@keyframes svelte-jyeiuc-rule-flash{12%{opacity:1}to{opacity:0}}@keyframes svelte-jyeiuc-skeleton-pulse{0%{opacity:.45}to{opacity:1}}@media(max-width:760px){.rules-layer{padding:0}.rules-modal{width:100%;height:100%;max-height:none;border:0;border-radius:0;box-shadow:none}.sheet.svelte-jyeiuc{height:100%}.sheet-header.svelte-jyeiuc{padding:max(var(--s4),env(safe-area-inset-top)) var(--s4) var(--s3)}.sheet-compose.svelte-jyeiuc{padding:var(--s3) var(--s4)}.list-head.svelte-jyeiuc{padding:var(--s3) var(--s4) var(--s2)}.list-search.svelte-jyeiuc{flex-basis:100%}.list-fix.svelte-jyeiuc{margin-inline:var(--s4)}.list-scroll.svelte-jyeiuc{padding:0 var(--s4) var(--s3)}.sheet-footer.svelte-jyeiuc{padding:var(--s3) var(--s4) max(var(--s3),env(safe-area-inset-bottom))}}.settings-layer{padding:22px}.settings-modal{width:min(820px,100%);max-height:100%;overflow:hidden;border:2px solid var(--line);border-radius:var(--r-md);background:var(--modal-surface);box-shadow:8px 8px 0 var(--line)}.sheet.svelte-1c9iu69{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;max-height:100%}.sheet-header.svelte-1c9iu69{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;padding:22px 24px 18px;border-bottom:2px solid var(--line)}.sheet-heading.svelte-1c9iu69{display:grid;gap:6px;min-width:0}.sheet-heading.svelte-1c9iu69 h2:where(.svelte-1c9iu69),.sheet-heading.svelte-1c9iu69 p:where(.svelte-1c9iu69),.band-header.svelte-1c9iu69 h3:where(.svelte-1c9iu69),.band-header.svelte-1c9iu69 p:where(.svelte-1c9iu69),.modal-note.svelte-1c9iu69{margin:0}.sheet-heading.svelte-1c9iu69 h2:where(.svelte-1c9iu69){font-size:var(--t-title);line-height:1.15;letter-spacing:-.015em}.sheet-heading.svelte-1c9iu69 p:where(.svelte-1c9iu69),.band-header.svelte-1c9iu69 p:where(.svelte-1c9iu69),.modal-note.svelte-1c9iu69{color:var(--muted);font-size:.86rem;line-height:1.45}.sheet-close.svelte-1c9iu69{width:42px;min-height:42px;border:2px solid var(--line);border-radius:8px;box-shadow:2px 2px 0 var(--line);transition:transform .12s ease,box-shadow .12s ease}.sheet-close.svelte-1c9iu69:active{transform:translate(2px,2px);box-shadow:none}.modal-empty.svelte-1c9iu69{display:grid;place-items:center;min-height:220px;padding:28px;color:var(--muted)}.wifi-form.svelte-1c9iu69{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0}.sheet-body.svelte-1c9iu69{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow-y:auto;padding:0 24px 24px;overscroll-behavior:contain;scrollbar-gutter:stable}.wifi-band.svelte-1c9iu69{display:grid;align-content:start;gap:20px;padding:24px 24px 24px 0;border-bottom:2px solid var(--line);border-right:1px solid var(--line)}.wifi-band.svelte-1c9iu69:nth-child(2){padding-right:0;padding-left:24px;border-right:0}.band-header.svelte-1c9iu69{display:block}.band-header.svelte-1c9iu69 h3:where(.svelte-1c9iu69){color:var(--ink);font-size:1.05rem;line-height:1.15}.band-header.svelte-1c9iu69 p:where(.svelte-1c9iu69){margin-top:5px}.band-fields.svelte-1c9iu69{display:grid;gap:18px}.field-row.svelte-1c9iu69{display:grid;gap:7px;min-width:0}.field-row.svelte-1c9iu69>span:where(.svelte-1c9iu69),.field-row.svelte-1c9iu69>label:where(.svelte-1c9iu69){color:var(--text-soft);font-size:.82rem;font-weight:760}.band-fields.svelte-1c9iu69 .field-row:where(.svelte-1c9iu69) .input:where(.svelte-1c9iu69){min-height:48px;border-width:2px;border-radius:10px}.password-input.svelte-1c9iu69{position:relative}.password-input.svelte-1c9iu69 .input:where(.svelte-1c9iu69){width:100%;padding-right:54px}.password-toggle.svelte-1c9iu69{position:absolute;top:1px;right:1px;display:grid;place-items:center;width:46px;height:46px;border:0;border-left:2px solid var(--line);border-radius:0 9px 9px 0;color:var(--text-soft);background:transparent;transition:color .14s ease,background .14s ease}.password-toggle.svelte-1c9iu69:hover{color:var(--ink);background:var(--surface-chip)}.password-toggle.svelte-1c9iu69:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}.modal-note.svelte-1c9iu69{grid-column:1 / -1;max-width:58ch;padding:20px 0 0}.status-stack.svelte-1c9iu69{grid-column:1 / -1;display:grid;gap:8px;padding-top:18px}.status-stack.svelte-1c9iu69:empty{display:none}.notice.svelte-1c9iu69{border-radius:10px}.sheet-actions.svelte-1c9iu69{display:flex;justify-content:flex-end;padding:18px 24px max(18px,env(safe-area-inset-bottom));border-top:2px solid var(--line);background:var(--modal-surface)}.sheet-actions.svelte-1c9iu69 .btn.sheet-save:where(.svelte-1c9iu69){min-width:180px;border:2px solid var(--line);border-radius:10px;box-shadow:4px 4px 0 var(--line);transition:transform .12s ease,box-shadow .12s ease,background .14s ease}.sheet-actions.svelte-1c9iu69 .btn.sheet-save:where(.svelte-1c9iu69):active{transform:translate(4px,4px);box-shadow:none}@media(max-width:680px){.settings-layer{padding:0}.settings-modal{width:100%;height:100%;max-height:none;border:0;border-radius:0;box-shadow:none}.sheet.svelte-1c9iu69{height:100%}.sheet-header.svelte-1c9iu69{gap:14px;padding:max(18px,env(safe-area-inset-top)) 18px 18px}.sheet-heading.svelte-1c9iu69{align-self:center}.sheet-close.svelte-1c9iu69{grid-column:2}.sheet-body.svelte-1c9iu69{grid-template-columns:1fr;padding-inline:18px}.wifi-band.svelte-1c9iu69{gap:20px;padding:22px 0;border-right:0}.wifi-band.svelte-1c9iu69:nth-child(2){padding:22px 0}.modal-note.svelte-1c9iu69{padding-left:0}.sheet-actions.svelte-1c9iu69{padding-inline:18px}.sheet-actions.svelte-1c9iu69 .btn.sheet-save:where(.svelte-1c9iu69){width:100%}}@media(prefers-reduced-motion:reduce){.password-toggle.svelte-1c9iu69,.sheet-close.svelte-1c9iu69,.sheet-actions.svelte-1c9iu69 .btn.sheet-save:where(.svelte-1c9iu69){transition:none}.sheet-close.svelte-1c9iu69:hover,.sheet-close.svelte-1c9iu69:active,.sheet-actions.svelte-1c9iu69 .btn.sheet-save:where(.svelte-1c9iu69):hover,.sheet-actions.svelte-1c9iu69 .btn.sheet-save:where(.svelte-1c9iu69):active{transform:none}}
