*,*:before,*:after{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body{min-height:100vh;margin:0;overflow-x:hidden;color:#2e3338;background:#f8fafc;font-family:Nunito Sans,Helvetica Neue,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:3px solid rgb(30 167 253 / .32);outline-offset:2px}.app-root{--page-gutter: 1.5rem;min-height:100vh;background:var(--brand-slate-50);color:var(--brand-slate-800);font-family:var(--brand-font-sans)}.skip-link{position:fixed;top:.75rem;left:.75rem;z-index:10;transform:translateY(-150%);border-radius:5px;background:var(--brand-blue-600);color:var(--brand-white);font-weight:700;padding:.625rem .875rem;text-decoration:none;transition:transform .15s ease-out}.skip-link:focus{transform:translateY(0)}.site-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:72px;padding:0 var(--page-gutter);background:var(--brand-white);border-bottom:1px solid var(--brand-border)}.brand-link{display:inline-flex;align-items:center;min-width:0;color:inherit;text-decoration:none}.brand-link svg{max-width:100%}.site-nav{display:flex;align-items:center;gap:.75rem}.app-container{width:100%;max-width:1168px;margin:0 auto;padding:4rem var(--page-gutter) 5rem}.intro{max-width:700px;margin-bottom:2rem}.eyebrow{margin:0 0 .625rem;color:var(--brand-orange-500);font-size:.875rem;font-weight:800}.app-title{margin:0;color:var(--brand-slate-800);font-size:2.5rem;font-weight:800;line-height:1.12}.app-subtitle{max-width:42rem;margin:.875rem 0 0;color:var(--brand-slate-600);font-size:1.125rem;line-height:1.6}.tool-panel{max-width:100%;background:var(--brand-white);border:1px solid var(--brand-border);border-radius:6px;box-shadow:0 1px 3px #0000000d}.pattern-panel{padding:1.5rem;margin-bottom:1.25rem}.workspace-grid{display:grid;grid-template-columns:minmax(18rem,.85fr) minmax(0,1.45fr);gap:1.25rem;align-items:start}.editor-panel,.results-panel{min-width:0;padding:1.5rem}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.panel-heading h2{margin:0;color:var(--brand-slate-800);font-size:1rem;font-weight:800;line-height:1.35}.panel-heading p{margin:.25rem 0 0;color:var(--brand-slate-600);font-size:.875rem;line-height:1.45}.panel-count{flex:0 0 auto;border-radius:4px;background:var(--brand-slate-100);color:var(--brand-slate-600);font-size:.75rem;font-weight:800;line-height:1;padding:.375rem .5rem}.field-group{display:grid;gap:.5rem}.field-label,.preset-label{display:block;color:var(--brand-slate-700);font-size:.875rem;font-weight:800}.field-help,.field-error{margin:0;color:var(--brand-slate-600);font-size:.8125rem;line-height:1.5}.field-error{color:var(--brand-red-600);font-weight:700}.glob-input-wrap{display:flex;align-items:stretch;min-width:0;min-height:48px;overflow:hidden;background:var(--brand-white);border:1px solid var(--brand-slate-300);border-radius:5px;transition:border-color .15s ease-out,box-shadow .15s ease-out}.glob-input-wrap:focus-within{border-color:var(--brand-blue-500);box-shadow:0 0 0 3px #1ea7fd2e}.glob-prefix{display:inline-flex;align-items:center;padding:0 .875rem;background:var(--brand-slate-100);border-right:1px solid var(--brand-slate-300);color:var(--brand-slate-600);font-family:var(--brand-font-mono);font-size:.8125rem;font-weight:700;-webkit-user-select:none;user-select:none}.glob-input{flex:1;min-width:0;border:0;outline:0;padding:.75rem .875rem;color:var(--brand-slate-800);font-family:var(--brand-font-mono);font-size:.9375rem;line-height:1.4}.glob-input::placeholder,.file-textarea::placeholder{color:var(--brand-slate-500)}.preset-group{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem}.preset-label{margin-right:.25rem}.preset-button{min-width:0;min-height:34px;border:1px solid var(--brand-border);border-radius:5px;background:var(--brand-white);color:var(--brand-slate-700);font-size:.8125rem;font-weight:700;line-height:1;padding:0 .75rem;transition:background .15s ease-out,border-color .15s ease-out,color .15s ease-out,transform .15s ease-out}.preset-button:hover{border-color:var(--brand-blue-500);color:var(--brand-blue-700);transform:translateY(-1px)}.preset-button:active{transform:translateY(0)}.preset-button.is-active{border-color:var(--brand-blue-500);background:var(--brand-blue-50);color:var(--brand-blue-700)}.file-textarea{display:block;width:100%;min-width:0;min-height:22rem;overflow-x:auto;resize:none;white-space:pre;border:1px solid var(--brand-slate-300);border-radius:5px;outline:0;background:var(--brand-white);color:var(--brand-slate-800);font-family:var(--brand-font-mono);font-size:.875rem;line-height:1.65;padding:.875rem 1rem;transition:border-color .15s ease-out,box-shadow .15s ease-out}.file-textarea:focus{border-color:var(--brand-blue-500);box-shadow:0 0 0 3px #1ea7fd2e}.editor-panel .field-help{margin-top:.75rem}.results-heading{align-items:center}.match-summary{display:grid;min-width:5rem;justify-items:end;color:var(--brand-slate-600);font-size:.75rem;line-height:1.2}.match-summary strong{color:var(--brand-green-600);font-family:var(--brand-font-mono);font-size:1.25rem;font-weight:800}.results-list{display:grid;gap:.375rem;margin:0;padding:0;list-style:none}.result-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.625rem;min-height:38px;border:1px solid transparent;border-radius:5px;background:var(--brand-slate-50);color:var(--brand-slate-700);font-family:var(--brand-font-mono);font-size:.8125rem;padding:.5rem .75rem}.result-item.match{border-color:#66bf3c38;background:var(--brand-green-50)}.result-item.no-match{color:var(--brand-slate-500)}.status-dot{width:.5rem;height:.5rem;border-radius:999px;background:var(--brand-red-600)}.result-item.match .status-dot{background:var(--brand-green-600)}.result-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-state{color:var(--brand-slate-600);font-family:var(--brand-font-sans);font-size:.75rem;font-weight:800}.result-item.match .result-state{color:var(--brand-green-600)}.results-footer{display:flex;align-items:center;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--brand-border)}.results-bar{flex:1;height:.375rem;overflow:hidden;border-radius:999px;background:var(--brand-slate-200)}.results-bar-fill{height:100%;border-radius:inherit;background:var(--brand-green-600);transition:width .2s ease-out}.results-pct{color:var(--brand-slate-600);font-family:var(--brand-font-mono);font-size:.8125rem;font-weight:700;white-space:nowrap}.empty-state{display:grid;min-height:14rem;place-items:center;border:1px dashed var(--brand-slate-300);border-radius:5px;background:var(--brand-slate-50);color:var(--brand-slate-600);font-size:.9375rem;font-weight:700;padding:1.5rem;text-align:center}.empty-state.is-error{border-color:#dd420959;background:var(--brand-red-50);color:var(--brand-red-600)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}@media(max-width:800px){.app-root{--page-gutter: 1rem}.site-header{min-height:64px}.app-container{padding:2.5rem var(--page-gutter) 3rem}.app-title{font-size:2rem}.app-subtitle{font-size:1rem}.pattern-panel,.editor-panel,.results-panel{padding:1rem}.workspace-grid{grid-template-columns:1fr}.file-textarea{min-height:18rem}}@media(max-width:520px){.panel-heading,.results-heading{display:grid}.panel-count,.match-summary{justify-self:start}.preset-label{width:100%}.preset-button{flex:1 1 calc(50% - .25rem)}.result-item{grid-template-columns:auto minmax(0,1fr)}.result-state{grid-column:2}}
