:root,[data-theme="dark"]{--bg:#0e1117;--surface:#161c2a;--card:#1e2a3a;--accent:#8b5cf6;--accent-hover:#a78bfa;--text:#e2e8f0;--muted:#94a3b8;--border:#263244;--input-bg:#0a0f1a;--success:#22c55e;--danger:#ef4444;--code-text:#c4b5fd;--header-bg:rgba(14,17,23,.96);--tab-active-bg:rgba(139,92,246,.12);--shadow:0 4px 24px rgba(0,0,0,.5)}[data-theme="light"]{--bg:#f0f4f8;--surface:#fff;--card:#e8f0fe;--accent:#2563eb;--accent-hover:#1d4ed8;--text:#1a1a2e;--muted:#64748b;--border:#cbd5e1;--input-bg:#fff;--success:#16a34a;--danger:#dc2626;--code-text:#166534;--header-bg:rgba(255,255,255,.92);--tab-active-bg:rgba(37,99,235,.08);--shadow:0 4px 24px rgba(0,0,0,.1)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.6;background-color:var(--bg);color:var(--text);min-height:100vh;transition:background-color .2s,color .2s}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;color:var(--accent-hover)}.app-header{position:fixed;top:0;left:0;right:0;height:60px;background:var(--header-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border);z-index:1000}.header-inner{max-width:1100px;margin:0 auto;height:100%;display:flex;align-items:center;gap:24px;padding:0 20px}.app-brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:1.1rem;color:var(--text);text-decoration:none;white-space:nowrap;flex-shrink:0}.app-brand:hover{color:var(--accent);text-decoration:none}.brand-icon{font-size:1.25rem;line-height:1}.app-nav{flex:1}.nav-list{display:flex;list-style:none;gap:4px;align-items:center}.nav-list .nav-link{color:var(--muted);text-decoration:none;padding:6px 12px;border-radius:6px;font-size:.9rem;font-weight:500;transition:color .15s,background .15s}.nav-list .nav-link:hover{color:var(--text);background:var(--tab-active-bg);text-decoration:none}.nav-hamburger{display:none;flex-direction:column;justify-content:space-between;width:28px;height:20px;background:none;border:0;cursor:pointer;padding:0;flex-shrink:0;margin-left:auto}.nav-hamburger span{display:block;height:2px;background:var(--text);border-radius:2px;transition:transform .2s,opacity .2s}.theme-toggle-btn{background:none;border:1px solid var(--border);border-radius:8px;width:36px;height:36px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:transform .3s,background .2s;flex-shrink:0}.theme-toggle-btn:hover{transform:rotate(20deg);background:var(--tab-active-bg)}main{padding-top:60px;min-height:calc(100vh - 60px - 100px)}.app-footer{background:var(--surface);border-top:1px solid var(--border);padding:16px 20px;margin-top:40px}.footer-inner{max-width:1100px;margin:0 auto;display:flex;justify-content:center}.footer-copy{color:var(--muted);font-size:.8rem;text-align:center;width:100%}.generator-container{max-width:1100px;margin:0 auto;padding:32px 20px 48px}.generator-header{text-align:center;margin-bottom:32px}.generator-header h1{font-size:2rem;font-weight:700;margin-bottom:8px}.generator-subtitle{color:var(--muted);font-size:1rem}.terms-content{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:8px}.terms-section{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px 28px}.terms-section h2{font-size:1rem;font-weight:600;color:var(--text);margin-bottom:12px}.terms-section p{color:var(--muted);font-size:.9rem;line-height:1.7;margin-bottom:10px}.terms-section p:last-child{margin-bottom:0}.terms-section ul{color:var(--muted);font-size:.9rem;line-height:1.7;padding-left:20px;margin:8px 0 10px}.terms-section strong{color:var(--text);font-weight:600}.tab-bar{display:flex;gap:4px;background:var(--input-bg);border:1px solid var(--border);border-radius:10px;padding:4px;margin-bottom:28px}.tab-btn{background:transparent;border:0;padding:10px 22px;font-size:.95rem;font-weight:500;color:var(--muted);cursor:pointer;transition:color .15s,background .15s,box-shadow .15s;border-radius:7px;font-family:inherit;flex:1;text-align:center;letter-spacing:.01em}.tab-btn:hover{color:var(--text);background:rgba(255,255,255,.07)}.tab-btn.active{background:var(--accent);color:#fff;font-weight:600;box-shadow:0 2px 8px rgba(139,92,246,.4)}[data-theme="light"] .tab-btn.active{color:#fff;box-shadow:0 2px 8px rgba(37,99,235,.3)}[data-theme="light"] .tab-btn:hover{background:rgba(0,0,0,.05)}.tab-content{animation:fadeIn .15s ease}@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.form-and-output{display:grid;grid-template-columns:1fr;gap:24px}.rule-form{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.8rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.form-group input[type="text"],.form-group select,.form-group textarea{background:var(--input-bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:inherit;font-size:.9rem;padding:8px 12px;transition:border-color .15s,box-shadow .15s;outline:0;appearance:none;-webkit-appearance:none}.form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23a0a0b0' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px;cursor:pointer}.form-group input[type="text"]:focus,.form-group select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(139,92,246,.15)}[data-theme="light"] .form-group input[type="text"]:focus,[data-theme="light"] .form-group select:focus{box-shadow:0 0 0 3px rgba(37,99,235,.15)}.form-group input[type="text"]::placeholder{color:var(--muted);opacity:.7}.states-group{margin-top:16px;grid-column:1/-1}.checkbox-group{display:flex;flex-wrap:wrap;gap:12px;margin-top:2px}.checkbox-label{display:flex;align-items:center;gap:6px;font-size:.9rem;font-weight:400;color:var(--text);text-transform:none;letter-spacing:0;cursor:pointer}.checkbox-label input[type="checkbox"]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.checkbox-inline{justify-content:center;flex-direction:row;align-items:center;padding-top:20px}.output-section{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.output-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--card)}.output-title{font-size:.85rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.code-block{margin:0;padding:20px 16px;font-family:'Cascadia Code','Fira Code','Consolas','Monaco',monospace;font-size:.9rem;line-height:1.7;color:var(--code-text);white-space:pre-wrap;word-break:break-all;min-height:80px;flex:1}.copy-btn{background:transparent;color:var(--muted);border:1px solid var(--border);border-radius:6px;padding:5px 14px;font-size:.8rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s,border-color .15s,transform .1s;font-family:inherit}.copy-btn:hover{background:var(--card);color:var(--text);border-color:var(--muted)}.copy-btn:active{transform:scale(.96)}.copy-btn.copied{background:var(--success);color:#fff;border-color:var(--success)}.examples-section{margin-top:36px;background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.examples-section h3{padding:16px 20px;font-size:1rem;font-weight:600;border-bottom:1px solid var(--border);background:var(--card)}.examples-table{width:100%;border-collapse:collapse;font-size:.875rem}.examples-table th{text-align:left;padding:10px 16px;background:var(--card);color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border)}.examples-table td{padding:10px 16px;border-bottom:1px solid var(--border);vertical-align:top}.examples-table tr:last-child td{border-bottom:0}.examples-docs-footer{display:flex;align-items:center;gap:8px;padding:12px 20px;border-top:1px solid var(--border);background:var(--card);font-size:.8rem;color:var(--muted)}.examples-docs-footer a{display:inline-flex;align-items:center;gap:5px;color:var(--accent);font-weight:500;text-decoration:none;transition:color .15s}.examples-docs-footer a:hover{color:var(--accent-hover);text-decoration:underline}.examples-table tr:nth-child(even) td{background:rgba(255,255,255,.02)}[data-theme="light"] .examples-table tr:nth-child(even) td{background:rgba(0,0,0,.02)}.examples-table td:first-child{color:var(--muted);white-space:nowrap;width:280px}.examples-table code{font-family:'Cascadia Code','Fira Code','Consolas','Monaco',monospace;font-size:.8rem;color:#79c0ff;background:var(--input-bg);padding:2px 6px;border-radius:4px;word-break:break-all}[data-theme="light"] .examples-table code{color:#0969da}#blazor-error-ui{background:var(--danger);color:#fff;bottom:0;box-shadow:0 -2px 8px rgba(0,0,0,.3);box-sizing:border-box;display:none;left:0;padding:12px 20px;position:fixed;width:100%;z-index:9999;font-size:.9rem;display:flex;align-items:center;gap:12px}#blazor-error-ui a.reload{color:#fff;font-weight:700;text-decoration:underline}#blazor-error-ui .dismiss{cursor:pointer;margin-left:auto;font-size:1.1rem}#blazor-error-ui{display:none}@media(min-width:768px){.form-and-output{grid-template-columns:1fr 1fr}.output-section{position:sticky;top:80px;align-self:start;max-height:calc(100vh - 100px);overflow-y:auto}}@media(max-width:767px){.generator-header h1{font-size:1.5rem}.nav-hamburger{display:flex}.app-nav{position:absolute;top:60px;left:0;right:0;background:var(--surface);border-bottom:1px solid var(--border);padding:12px 20px;display:none}.app-nav.open{display:block}.nav-list{flex-direction:column;align-items:flex-start;gap:4px}.theme-toggle-btn{margin-left:0}.header-inner{gap:12px}.examples-table td:first-child{width:auto;white-space:normal}}@media(max-width:480px){.form-grid{grid-template-columns:1fr}.tab-btn{padding:8px 12px;font-size:.85rem}}