.code-protection{overflow:hidden;border:1px solid #cbd8c0;border-radius:.75rem;background:#fffef9;margin-bottom:2rem}
.protection-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem;border-bottom:1px solid #dae3cf;background:#edf4e5}
.protection-heading h2{font:650 1.375rem/1.4 system-ui,sans-serif;margin:.5rem 0}
.protection-heading p{font-size:.9375rem;line-height:1.65;color:#53674c;margin:0}
.protection-local{flex-shrink:0;padding:.5rem .75rem;border:1px solid #c6d7b6;border-radius:2rem;background:#f9fcf3;font-size:.75rem;color:#48663b}
.protection-toolbar,.protection-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 1.25rem;flex-wrap:wrap}
.protection-toolbar p{font-size:.75rem;color:#637657;margin:0}
.protection-file-actions,.protection-actions>div{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.code-protection button{min-height:2.75rem;border:1px solid #b6c8a8;border-radius:.4375rem;padding:.625rem .875rem;background:#f4f8ed;color:#355a31;font-size:.875rem;font-weight:600;cursor:pointer}
.code-protection button.button{background:#285c38;border-color:#285c38;color:#fff}
.code-protection button:hover:not(:disabled){filter:brightness(.97)}
.code-protection button:disabled{opacity:.45;cursor:default}
.code-protection [hidden]{display:none}
.protection-editors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:0 1.25rem}
.protection-pane{min-width:0;border:1px solid #bacaaf;border-radius:.5rem;overflow:hidden;background:#f6f9f1}
.protection-pane-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem .875rem;border-bottom:1px solid #d2ddc7}
.protection-pane label{font-size:.875rem;font-weight:650;color:#355332}
.protection-pane-heading span{font-size:.75rem;color:#647a54}
.protection-pane textarea{display:block;width:100%;height:22rem;min-height:12rem;max-height:45rem;resize:vertical;border:0;margin:0;padding:1rem;font:.8125rem/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;color:#e6efd9;background:#1b3027;tab-size:4;white-space:pre;overflow:auto;overflow-wrap:normal;color-scheme:dark}
.protection-pane textarea::placeholder{color:#a0b49d;opacity:1}
.protection-pane textarea:focus-visible{outline:.1875rem solid #a7cf7e;outline-offset:-.1875rem}
.protection-input-help{font-size:.8125rem;line-height:1.75;color:#627655;padding:0 1.25rem;margin:.875rem 0}
.protection-options{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.25rem;margin:1rem 1.25rem;padding:1rem;border:1px solid #d4dfc8;border-radius:.5rem;background:#f7f9f0}
.protection-options legend{font-size:.8125rem;font-weight:650;padding:0 .375rem;color:#526b45}
.protection-options label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;line-height:1.6;min-height:2.75rem}
.protection-options input{width:1.0625rem;height:1.0625rem;accent-color:#386338}
.protection-layout-label{margin-left:auto;flex-wrap:wrap}
.protection-options select{min-height:2.75rem;padding:.5rem;border:1px solid #bacbad;border-radius:.375rem;background:white;font-size:.875rem;color:#385632;max-width:100%}
.protection-actions{border-top:1px solid #dce5d2}
.protection-status{font-size:.875rem;line-height:1.75;padding:0 1.25rem;margin:.25rem 0 1rem;color:#3c6635;overflow-wrap:anywhere}
.protection-status[data-state="error"]{color:#a43c31}
.protection-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1rem 1.25rem;padding:1rem;background:#edf4e4;border:1px solid #d2e0c2;border-radius:.5rem}
.protection-metrics div{min-width:0}.protection-metrics dt{font-size:.75rem;color:#60784e;line-height:1.5}.protection-metrics dd{font-size:1.0625rem;font-weight:650;margin:.5rem 0 0;overflow-wrap:anywhere;color:#355d31}
.protection-note{font-size:.8125rem;line-height:1.75;color:#657a57;padding:0 1.25rem;margin:1rem 0 1.25rem}.protection-note a{text-decoration:underline;text-underline-offset:.1875rem}
.protection-guide{max-width:78ch;margin-inline:auto}
@media(max-width:1000px){.protection-editors{grid-template-columns:minmax(0,1fr)}.protection-pane textarea{height:17rem}.protection-heading{align-items:flex-start;flex-direction:column}.protection-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.protection-heading,.protection-toolbar,.protection-actions{padding:1rem}.protection-editors{padding:0 1rem}.protection-options{margin:1rem;align-items:flex-start;flex-direction:column;gap:.5rem}.protection-layout-label{margin-left:0}.protection-actions{align-items:stretch}.protection-actions>div{width:100%}.protection-actions button{flex:1}.protection-local{font-size:.6875rem}}
