:root{--white:#fff;--black:#000;--primary-50:#e1f0fa;--primary-100:#b3d9f2;--primary-200:#81c0e9;--primary-300:#4fa7e0;--primary-400:#2994d9;--primary-500:#0381d2;--primary-600:#0379cd;--primary-700:#026ec6;--primary-800:#0264c0;--primary-900:#0151b5;--primary-color:var(--primary-700);--primary-hover:var(--primary-900);--success-50:#e8f5e9;--success-100:#c8e6c9;--success-200:#a5d6a7;--success-300:#81c784;--success-400:#66bb6a;--success-500:#4caf50;--success-600:#43a047;--success-700:#388e3c;--success-800:#2e7d32;--success-900:#1b5e20;--success-color:var(--success-500);--success-bg:var(--success-50);--error-50:#ffebee;--error-100:#ffcdd2;--error-200:#ef9a9a;--error-300:#e57373;--error-400:#ef5350;--error-500:#d32f2f;--error-600:#c62828;--error-700:#b71c1c;--error-800:#a71818;--error-900:#8b0000;--error-color:var(--error-500);--error-hover:var(--error-700);--error-bg:var(--error-200);--warning-50:#fff8e1;--warning-100:#ffecb3;--warning-200:#ffe082;--warning-300:#ffd54f;--warning-400:#ffca28;--warning-500:#ffc107;--warning-600:#ffb300;--warning-700:#ffa000;--warning-800:#ff8f00;--warning-900:#ff6f00;--orange:var(--warning-600);--gray-50:#fafafa;--gray-100:#f5f5f5;--gray-200:#eee;--gray-300:#e0e0e0;--gray-400:#bdbdbd;--gray-500:#9e9e9e;--gray-600:#757575;--gray-700:#616161;--gray-800:#424242;--gray-900:#212121;--gray-950:#1a1a1a;--gray-1000:#121212;--paypal-blue:#003087;--paypal-blue-hover:#003f9e;--github-dark:#24292e;--github-dark-hover:#2f363d;--kofi-blue:#29abe0;--patreon-red:#e02838;--patreon-red-hover:#f03848;--blue:var(--primary-600);--blue-light:var(--primary-50);--green:var(--success-500);--green-dark:var(--success-700);--green-light:var(--success-50);--lime-green:#7cb342;--yellow-light:var(--warning-50);--bg-primary:var(--gray-50);--bg-secondary:var(--gray-200);--bg-tertiary:var(--gray-300);--text-primary:var(--gray-800);--text-secondary:var(--gray-600);--surface-bg:var(--gray-50);--surface-bg-alt:var(--gray-200);--surface-bg-elevated:var(--gray-100);--surface-border:var(--gray-300);--surface-border-hover:var(--gray-500);--surface-text:var(--gray-800);--surface-text-muted:var(--gray-600);--interactive-bg:var(--primary-700);--interactive-bg-hover:var(--primary-900);--interactive-text:var(--gray-50);--interactive-disabled-bg:var(--gray-400);--interactive-disabled-text:var(--gray-50);--button-neutral-bg:var(--gray-500);--button-neutral-bg-hover:var(--gray-600);--button-neutral-text:var(--gray-50);--button-danger-bg:var(--error-color);--button-danger-bg-hover:var(--error-hover);--button-danger-text:var(--gray-50);--donate-button-border:transparent;--message-border-color:transparent;--focus-ring-color:var(--primary-400);--focus-ring-shadow:0 0 0 3px #2994d92e;--number-input-spin-bg:var(--bg-secondary);--number-input-spin-filter:none;--accent:var(--primary-700);--accent-hover:var(--primary-900);--status-success-bg:var(--success-50);--status-error-bg:var(--error-200);--status-warning-bg:var(--warning-50);--status-info-bg:var(--primary-50);--status-success-text:var(--success-700);--status-error-text:var(--error-500);--status-warning-text:var(--warning-800);--status-info-text:var(--primary-700);--state-success-text:var(--success-800);--state-error-text:var(--error-700);--state-warning-text:var(--warning-900);--message-success-bg:var(--success-50);--message-error-bg:var(--error-50);--message-warning-bg:var(--warning-50);--log-info-border:var(--primary-600);--log-info-bg:var(--primary-50);--log-success-border:var(--success-500);--log-success-bg:var(--success-50);--log-warn-border:var(--warning-600);--log-warn-bg:var(--warning-50);--log-error-border:var(--error-500);--log-error-bg:var(--error-200);--log-debug-border:var(--gray-600);--log-debug-bg:var(--gray-100);--font-family:Arial, sans-serif;--font-size-base:14px;--font-size-sm:.833em;--font-size-lg:1.2em;--font-size-xl:1.44em;--spacing-xs:5px;--spacing-sm:8px;--spacing-md:10px;--spacing-lg:15px;--spacing-xl:20px;--max-width:80vw;--box-shadow:0 2px 4px #00000026;--border-radius:4px;--border-color:var(--gray-300);--border-hover:var(--gray-500)}#languageSelector{top:var(--spacing-xl);right:var(--spacing-xl);padding:var(--spacing-xs);border-radius:var(--border-radius);position:absolute}#themeToggle{top:var(--spacing-xl);z-index:1;padding:var(--spacing-xs) var(--spacing-md);border:1px solid var(--surface-border);background-color:var(--surface-bg-elevated);color:var(--surface-text);margin:0;position:absolute;right:120px}#themeToggle:hover{background-color:var(--surface-bg-alt);border-color:var(--surface-border-hover)}[data-i18n]{transition:opacity .3s}a{color:var(--accent)}body{font-family:var(--font-family);font-size:var(--font-size-base);max-width:var(--max-width);padding:var(--spacing-xl);background-color:var(--bg-tertiary);color:var(--text-primary);margin:0 auto}.container{padding:var(--spacing-xl);border-radius:var(--border-radius);width:100%;box-shadow:var(--box-shadow);background-color:var(--bg-primary);margin:0 auto}.dropzone{border:2px dashed;border-color:var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-xl);text-align:center;margin:var(--spacing-xl) 0;background-color:var(--bg-secondary);cursor:pointer;transition:all .3s;position:relative}.dropzone-inner,.dropzone-text{display:block}.dropzone-input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.dropzone:focus-visible,.dropzone:focus-within{outline:3px solid var(--focus-ring-color);outline-offset:3px;border-color:var(--focus-ring-color)}.dropzone.dragover{background-color:var(--status-info-bg);border-color:var(--border-hover)}.dropzone p{margin:0}.dropzone.loading{opacity:.7;pointer-events:none}.status-message{margin:var(--spacing-md) 0;padding:var(--spacing-md);border:1px solid var(--message-border-color);border-radius:var(--border-radius)}.error{color:var(--state-error-text)}.success{color:var(--state-success-text)}.warning{color:var(--state-warning-text)}.info{color:var(--status-info-text)}.status-message.error,.error-message{color:var(--state-error-text);background-color:var(--message-error-bg)}.status-message.success{color:var(--state-success-text);background-color:var(--message-success-bg)}.status-message.warning{color:var(--state-warning-text);background-color:var(--message-warning-bg)}button{background-color:var(--interactive-bg);color:var(--interactive-text);padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--border-radius);cursor:pointer;margin:var(--spacing-xs);border:none;transition:background-color .3s}button:hover{background-color:var(--interactive-bg-hover)}button:disabled{background-color:var(--interactive-disabled-bg);color:var(--interactive-disabled-text);cursor:not-allowed;opacity:.8}.thumbnail{cursor:pointer;transition:opacity .3s}.thumbnail:hover{opacity:.8}.popup{z-index:1000;background:0 0;border:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;position:fixed;top:0;left:0}.popup:not([open]){display:none}.popup::backdrop{background-color:#000000e6}.popup img{max-width:90%;max-height:90%;margin:auto;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.popup-content{box-sizing:border-box;padding:var(--spacing-xl);border:1px solid var(--surface-border);border-radius:var(--border-radius);background-color:var(--surface-bg);max-width:600px;max-height:80%;color:var(--surface-text);box-shadow:var(--box-shadow);margin:5% auto;position:relative;overflow-y:auto}.popup-content::-webkit-scrollbar{width:8px;height:8px}.table-wrapper::-webkit-scrollbar{width:8px;height:8px}.logs-content::-webkit-scrollbar{width:8px;height:8px}.popup-content::-webkit-scrollbar-track{background-color:var(--bg-secondary);border-radius:var(--border-radius)}.table-wrapper::-webkit-scrollbar-track{background-color:var(--bg-secondary);border-radius:var(--border-radius)}.logs-content::-webkit-scrollbar-track{background-color:var(--bg-secondary);border-radius:var(--border-radius)}.popup-content::-webkit-scrollbar-thumb{background-color:var(--gray-500);border-radius:var(--border-radius)}.table-wrapper::-webkit-scrollbar-thumb{background-color:var(--gray-500);border-radius:var(--border-radius)}.logs-content::-webkit-scrollbar-thumb{background-color:var(--gray-500);border-radius:var(--border-radius)}.popup-content::-webkit-scrollbar-thumb:hover{background-color:var(--gray-600)}.table-wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--gray-600)}.logs-content::-webkit-scrollbar-thumb:hover{background-color:var(--gray-600)}.close-btn{top:var(--spacing-lg);right:var(--spacing-lg);color:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:2rem;font-weight:700;line-height:1;position:absolute}.close-btn:focus-visible{outline:3px solid var(--focus-ring-color);outline-offset:4px}.code-link{cursor:pointer;color:var(--accent);text-decoration:underline}.code-link:hover{color:var(--accent-hover)}.combo-box{padding:var(--spacing-sm) var(--spacing-lg);margin:var(--spacing-xs) 0;background-color:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);width:fit-content;min-width:60px;max-width:100%}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{background-color:var(--bg-primary);color:var(--text-primary);border-color:var(--border-color)}.combo-box:hover{border-color:var(--border-hover)}.label{font-weight:700}.measurements-table{border-collapse:collapse;width:100%;margin:var(--spacing-xl) 0}.measurements-table th:first-child{background-color:var(--bg-primary);z-index:1;position:sticky;left:0}.measurements-table th,.measurements-table td{padding:var(--spacing-sm);border:1px solid var(--border-color);text-align:left}.measurements-table th{background-color:var(--bg-secondary);font-weight:700}.measurements-table .warning{background-color:var(--message-warning-bg);color:var(--state-warning-text)}.measurements-table .error{background-color:var(--message-error-bg);color:var(--state-error-text)}.measurements-table .success{background-color:var(--message-success-bg);color:var(--state-success-text)}.measurements-table tr:hover{background-color:var(--bg-secondary)}.table-wrapper{width:100%;overflow-x:auto}.shrinkable-container summary{padding:var(--spacing-md);cursor:pointer}.shrinkable-container summary:hover{background-color:var(--bg-secondary)}.checkbox-container{margin:var(--spacing-md) 0;cursor:pointer;align-items:center;padding-left:25px;display:inline-flex;position:relative}.checkbox-container input{opacity:0;cursor:pointer;width:0;height:0;position:absolute}.checkmark{background-color:var(--bg-primary);border:2px solid var(--border-color);border-radius:3px;width:18px;height:18px;transition:all .2s;position:absolute;left:0}.checkbox-container:hover input~.checkmark{background-color:var(--bg-secondary);border-color:var(--border-hover)}.checkbox-container input:checked~.checkmark{background-color:var(--interactive-bg)}.checkmark:after{content:"";border:solid var(--interactive-text);border-width:0 2px 2px 0;width:3px;height:8px;display:none;position:absolute;top:2px;left:6px;transform:rotate(45deg)}.checkbox-container input:checked~.checkmark:after{animation:.2s ease-in-out checkmark;display:block}.disabled{opacity:.7;cursor:not-allowed}.status-text{white-space:pre-wrap;word-wrap:break-word;margin:var(--spacing-md) 0}@keyframes checkmark{0%{opacity:0;width:0;height:0}to{opacity:1;width:3px;height:8px}}.controls-section{padding:var(--spacing-xl);background-color:var(--bg-secondary);border-radius:8px}.control-group{margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--bg-primary)}.control-group:last-child{margin-bottom:0}.control-group label{margin-bottom:var(--spacing-sm);font-weight:500;display:block}.code-text{font-family:Lucida Console,Monaco,Courier New,monospace;font-size:var(--font-size-sm);color:var(--gray-50);white-space:pre-line;tab-size:1;line-height:1.5}.code-block{background-color:var(--gray-950);border:1px solid var(--gray-600);border-radius:var(--border-radius);margin:var(--spacing-lg) 0;padding:2px 5px;position:relative;overflow-x:visible}.copyright,.credits-text,.version{margin-bottom:var(--spacing-xs)}.copyright{font-size:var(--font-size-sm)}.credits-text{font-size:var(--font-size-base);color:var(--text-primary)}.version{font-size:var(--font-size-sm);color:var(--text-primary)}.credits-content{max-width:1200px;padding:0 var(--spacing-xl);flex-wrap:wrap;justify-content:space-between;align-items:center;margin:0 auto;display:flex}.social-credits{gap:var(--spacing-lg);display:flex}.social-credits a{font-size:var(--spacing-xl);color:var(--surface-text);transition:color .3s}.social-credits a:hover{color:var(--accent)}.donation-section{margin:var(--spacing-lg) 0;text-align:center}.donation-buttons{gap:var(--spacing-md);flex-wrap:wrap;justify-content:center;display:flex}.donate-button{--donate-button-bg:var(--primary-hover);--donate-button-bg-hover:var(--kofi-blue);align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) 16px;font-size:var(--font-size-lg);border:1px solid var(--donate-button-border);background-color:var(--donate-button-bg);color:var(--white);border-radius:20px;font-weight:500;text-decoration:none;transition:all .3s;display:inline-flex;position:relative}.donate-button i{font-size:var(--font-size-xl)}.donate-button.paypal{--donate-button-bg:var(--paypal-blue);--donate-button-bg-hover:var(--paypal-blue-hover)}.donate-button.github{--donate-button-bg:var(--github-dark);--donate-button-bg-hover:var(--github-dark-hover)}.donate-button.kofi{--donate-button-bg:var(--primary-hover);--donate-button-bg-hover:var(--kofi-blue)}.donate-button.patreon{--donate-button-bg:var(--patreon-red);--donate-button-bg-hover:var(--patreon-red-hover)}.donate-button:hover{background-color:var(--donate-button-bg-hover);color:var(--white);box-shadow:var(--box-shadow);transform:translateY(-2px)}@keyframes buttonPop{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.donate-button:active{animation:.3s buttonPop}.donate-button:after,.button:after{content:attr(data-tooltip);padding:var(--spacing-xs) var(--spacing-md);background-color:var(--gray-800);color:var(--white);border-radius:var(--border-radius);font-size:var(--font-size-base);white-space:nowrap;opacity:0;visibility:hidden;transition:all .3s .7s;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.donate-button:hover:after,.donate-button:focus-visible:after,.button:focus-visible:after,.button:hover:after{opacity:1;visibility:visible;bottom:calc(100% + 10px)}.button{cursor:pointer;position:relative}.polling-indicator{transition:color .3s}.polling-indicator.active{color:#0f0;text-shadow:0 0 8px #0f0,0 0 15px #0f0;will-change:text-shadow;animation:1.5s ease-in-out infinite glow-pulse}@keyframes glow-pulse{0%,to{text-shadow:0 0 8px #0f0,0 0 15px #0f0}50%{text-shadow:0 0 12px #0f0,0 0 25px #0f0,0 0 35px #0f0}}.documentation{padding:var(--spacing-xl);font-size:var(--font-size-lg);background-color:var(--bg-secondary);margin:0 auto}.documentation-sidebar{box-sizing:border-box;width:250px;height:100vh;padding:var(--spacing-xl);position:fixed;overflow-y:auto}.documentation-content{padding:var(--spacing-xl);background-color:var(--bg-primary);margin-left:270px}.documentation-nav{font-size:var(--font-size-lg);padding:0;list-style:none}.documentation-nav li{margin:var(--spacing-sm) 0}.documentation-nav a{color:inherit;text-decoration:none}.documentation-nav a:hover,.documentation-nav a.active{color:var(--blue)}.documentation-nav a.active{font-weight:700}.nav-buttons{gap:1rem;margin:.5rem 0;display:flex}.nav-button{border-radius:var(--border-radius);background-color:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-lg);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.5rem 1rem;transition:all .2s;display:flex}.nav-button:hover{background-color:var(--interactive-bg-hover);color:var(--interactive-text);transform:translateY(-1px)}.nav-button.active{background-color:var(--interactive-bg);color:var(--interactive-text)}.nav-button i{font-size:var(--font-size-lg)}.number-input{align-items:center;gap:var(--spacing-sm);display:inline-flex;position:relative}.number-input input[type=number]{text-align:center;width:fit-content;min-width:50px;max-width:100%;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:var(--font-size-base);font-family:var(--font-family);transition:border-color .2s,background-color .2s,box-shadow .2s}.number-input input[type=number]::-webkit-inner-spin-button{opacity:1;cursor:pointer;background:var(--number-input-spin-bg);filter:var(--number-input-spin-filter)}.number-input input[type=number]::-webkit-outer-spin-button{opacity:1;cursor:pointer;background:var(--number-input-spin-bg);filter:var(--number-input-spin-filter)}.number-input input[type=number]:hover{border-color:var(--border-hover);background-color:var(--bg-secondary)}.number-input input[type=number]:focus{border-color:var(--focus-ring-color);box-shadow:var(--focus-ring-shadow);outline:none}.number-input input[type=number]:disabled{background-color:var(--bg-secondary);color:var(--text-secondary);cursor:not-allowed}.resources-grid{gap:var(--spacing-xl);margin:var(--spacing-xl) 0;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.small-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.resource-card{background-color:var(--bg-secondary);box-shadow:var(--box-shadow);padding:var(--spacing-xl);border-radius:8px;transition:transform .3s,box-shadow .3s;display:flex;overflow:hidden}.resource-card:hover{box-shadow:var(--box-shadow);transform:translateY(-5px)}.wide-card{grid-column:1/-1}.small-card{padding:var(--spacing-lg)}.resource-icon{color:var(--accent);margin-right:var(--spacing-xl);justify-content:center;align-items:center;width:60px;font-size:2.5rem;display:flex}.resource-details{flex:1}.resource-details h3,.resource-details h4{margin-top:0;margin-bottom:var(--spacing-md);color:var(--text-primary);font-size:var(--font-size-base)}.resource-details p{margin-bottom:var(--spacing-lg);color:var(--text-secondary);font-size:var(--font-size-sm)}.download-all-container{text-align:center;margin:var(--spacing-xl) 0}.download-button,.download-all-button{--download-button-bg:var(--interactive-bg);--download-button-bg-hover:var(--interactive-bg-hover);--download-button-padding:var(--spacing-sm) var(--spacing-lg);padding:var(--download-button-padding);background-color:var(--download-button-bg);color:var(--download-button-text,var(--white));border-radius:var(--border-radius);font-weight:500;text-decoration:none;transition:background-color .3s;display:inline-block}.download-button{--download-button-bg:var(--interactive-bg);--download-button-bg-hover:var(--interactive-bg-hover);--download-button-text:var(--interactive-text)}.download-all-button{--download-button-bg:var(--green-dark);--download-button-bg-hover:var(--green);--download-button-padding:var(--spacing-md) var(--spacing-xl);--download-button-text:var(--white)}.download-button.small-button{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm)}.download-button:hover,.download-all-button:hover{background-color:var(--download-button-bg-hover);color:var(--download-button-text,var(--white))}.collapsible-section{margin:var(--spacing-xl) 0}.collapsible{background-color:var(--bg-secondary);color:var(--text-primary);cursor:pointer;text-align:left;width:100%;font-size:var(--font-size-xl);border-radius:var(--border-radius);border:none;outline:none;padding:18px;transition:all .4s}.collapsible:hover{background-color:var(--bg-secondary)}.collapsible:after{content:"+";color:var(--text-secondary);float:right;margin-left:var(--spacing-xs);font-weight:700}.collapsible.active:after{content:"−"}.collapsible-content{max-height:0;padding:0 18px;transition:max-height .2s ease-out;overflow:hidden}.collapsible.active+.collapsible-content{max-height:5000px}.download-status{margin-top:var(--spacing-md);padding:var(--spacing-sm) 12px;background-color:var(--bg-primary);border-radius:var(--border-radius);font-size:var(--font-size-sm);text-align:center;transition:all .3s}.download-status i{margin-right:var(--spacing-xs)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fa-spinner{color:inherit;animation:.8s linear infinite spin}button i,.button i{margin-right:6px;font-size:1em}.changelog{max-width:900px;margin:0 auto}.changelog-header{text-align:center;margin-bottom:2rem}.changelog-header h2{font-size:var(--font-size-base);color:var(--text-primary);margin-bottom:var(--spacing-sm)}.changelog-header h2 i{color:var(--accent);margin-right:var(--spacing-sm)}.changelog-header p{color:var(--text-secondary);font-size:var(--font-size-base);margin:0}.changelog-list{margin:0;padding:0;list-style:none;position:relative}.changelog-list:before{content:"";background:linear-gradient(to bottom, var(--accent), var(--primary-400), var(--border-color));border-radius:2px;width:3px;position:absolute;top:0;bottom:0;left:18px}.commit{background-color:var(--bg-primary);box-shadow:var(--box-shadow);border-radius:8px;margin-bottom:1.25rem;margin-left:42px;padding:1.25rem 1.5rem;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative}.commit:before{content:"";background-color:var(--accent);border:3px solid var(--bg-primary);width:12px;height:12px;box-shadow:0 0 0 2px var(--accent);z-index:1;border-radius:50%;position:absolute;top:1.4rem;left:-34px}.commit:hover{border-left-color:var(--primary-500);transform:translate(4px);box-shadow:0 4px 12px #0000001f,0 1px 3px #00000014}.commit-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;display:flex}.commit-title{align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-lg);color:var(--accent);margin:0;font-weight:700;display:inline-flex}.commit-messages{gap:var(--spacing-xs);flex-direction:column;display:flex}.commit-message{color:var(--text-primary);padding:var(--spacing-sm) var(--spacing-md);padding-left:calc(var(--spacing-md) + 10px);background-color:var(--surface-bg-elevated);border-radius:var(--border-radius);line-height:1.6;font-size:var(--font-size-sm);transition:background-color .15s;position:relative}.commit-message:hover{background-color:var(--bg-secondary)}.commit-message:before{content:"";left:var(--spacing-sm);background-color:var(--accent);border-radius:50%;width:5px;height:5px;position:absolute;top:50%;transform:translateY(-50%)}.error-border{background-color:var(--message-error-bg)}.error-message{text-align:center;border-radius:8px;padding:1rem}.filter-controls{flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;display:flex}.search-box{flex-grow:1;max-width:400px;position:relative}.search-box input{background-color:var(--bg-primary);width:100%;color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:var(--font-size-sm);padding:10px 15px 10px 35px}.search-box i{color:var(--text-secondary);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.filter-dropdown{padding:var(--spacing-md) var(--spacing-lg);border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--bg-primary);color:var(--text-primary)}.filter-dropdown:hover{border-color:var(--border-hover)}.logs-container{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);margin:var(--spacing-lg) 0;max-height:400px;box-shadow:var(--box-shadow);flex-direction:column;display:flex}.logs-header{padding:var(--spacing-md) var(--spacing-lg);background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);border-radius:var(--border-radius) var(--border-radius) 0 0;justify-content:space-between;align-items:center;display:flex}.logs-header h3{color:var(--text-primary);font-size:var(--font-size-base);margin:0;font-weight:600}.logs-controls{gap:var(--spacing-md);align-items:center;display:flex}.clear-btn,.export-btn{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius);cursor:pointer;border:none}.logs-content{padding:var(--spacing-sm);background-color:var(--bg-primary);flex:1;max-height:350px;overflow-y:auto}.log-entry{margin-bottom:var(--spacing-xs);padding:var(--spacing-sm);border-radius:var(--border-radius);box-shadow:var(--box-shadow);border-left:4px solid #0000;display:flex}.log-timestamp{color:var(--text-primary);margin-right:var(--spacing-md);min-width:90px;font-size:var(--font-size-lg);font-weight:500}.log-level{margin-right:var(--spacing-md);text-transform:uppercase;min-width:70px;font-weight:700;font-size:var(--font-size-base);text-align:center;border-radius:3px;padding:2px 6px}.log-message{color:var(--text-primary);font-size:var(--font-size-lg);flex:1;font-weight:500}.log-entry.info{border-left-color:var(--log-info-border);background-color:var(--log-info-bg)}.log-entry.success{border-left-color:var(--log-success-border);background-color:var(--log-success-bg)}.log-entry.warn{border-left-color:var(--log-warn-border);background-color:var(--log-warn-bg)}.log-entry.error{border-left-color:var(--log-error-border);background-color:var(--log-error-bg)}.log-entry.debug{border-left-color:var(--log-debug-border);background-color:var(--log-debug-bg)}.log-entry.info .log-level,.log-entry.success .log-level,.log-entry.warn .log-level,.log-entry.error .log-level,.log-entry.debug .log-level{color:var(--white)}.log-entry.info .log-level{background-color:var(--log-info-border)}.log-entry.success .log-level{background-color:var(--log-success-border)}.log-entry.warn .log-level{background-color:var(--log-warn-border)}.log-entry.error .log-level{background-color:var(--log-error-border)}.log-entry.debug .log-level{background-color:var(--log-debug-border)}.column-toggle-dropdown{z-index:1001;display:inline-block;position:relative}.dropdown-content{background-color:var(--bg-primary);min-width:200px;box-shadow:var(--box-shadow);z-index:1002;border:0;border-radius:8px;margin-top:4px;padding:12px;display:none;position:absolute;left:0}.dropdown-content.show{display:block}.dropdown-content label{cursor:pointer;border-radius:var(--border-radius);align-items:center;padding:8px 12px;transition:background .2s;display:flex}.dropdown-content label:hover{background-color:var(--bg-secondary)}.dropdown-content input[type=checkbox]{margin-right:var(--spacing-md)}.room-canvas{margin:var(--spacing-xl) auto;border:none;display:block}.avr-content{padding:var(--spacing-lg)}.avr-content h3{margin:var(--spacing-lg) 0 var(--spacing-md) 0;color:var(--text-primary);font-size:var(--font-size-base);border-bottom:1px solid var(--border-color);padding-bottom:var(--spacing-xs)}.avr-grid{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.avr-item{padding:var(--spacing-sm);background-color:var(--bg-secondary);border-radius:var(--border-radius);justify-content:space-between;font-size:.9em;display:flex}.avr-item .label{color:var(--text-primary);font-weight:600}.avr-item .value{color:var(--text-secondary)}.channel-badge{background-color:var(--interactive-bg);color:var(--interactive-text);font-size:var(--font-size-sm);border-radius:12px;padding:4px 10px;font-weight:500}.output-display{background-color:var(--gray-900);padding:var(--spacing-sm);border-radius:var(--border-radius);margin:var(--spacing-sm) auto;width:fit-content}.output-label{color:var(--gray-200);font-weight:600;font-size:var(--font-size-base);text-align:center;margin-bottom:var(--spacing-xs);letter-spacing:1px;font-family:sans-serif}.channel-map{border-collapse:separate;border-spacing:4px;margin:0 auto}.channel-map td{text-align:center;vertical-align:middle;padding:0}.output-display .channel-badge{background-color:var(--lime-green);color:var(--black);text-align:center;box-shadow:var(--box-shadow);border-radius:3px;width:29px;height:21px;font:700 9px/22px sans-serif;display:inline-block}.frequency-values{margin-top:var(--spacing-sm);justify-content:space-between;font-weight:500;display:flex}body.dark-mode{--surface-bg:var(--gray-950);--surface-bg-alt:var(--gray-900);--surface-bg-elevated:var(--gray-800);--surface-border:var(--gray-800);--surface-border-hover:var(--gray-500);--surface-text:var(--gray-50);--surface-text-muted:var(--gray-200);--bg-primary:var(--surface-bg);--bg-secondary:var(--surface-bg-alt);--bg-tertiary:var(--surface-bg-alt);--text-primary:var(--surface-text);--text-secondary:var(--surface-text-muted);--border-color:var(--surface-border);--border-hover:var(--surface-border-hover);--blue:var(--accent);--interactive-bg:var(--primary-300);--interactive-bg-hover:var(--primary-200);--interactive-text:var(--gray-950);--interactive-disabled-bg:var(--surface-bg-elevated);--interactive-disabled-text:var(--surface-text-muted);--button-neutral-bg:var(--surface-bg-elevated);--button-neutral-bg-hover:var(--gray-600);--button-neutral-text:var(--surface-text);--button-danger-bg:var(--status-error-text);--button-danger-bg-hover:var(--error-100);--button-danger-text:var(--gray-50);--donate-button-border:#ffffff1a;--message-border-color:var(--surface-border);--focus-ring-color:var(--accent);--focus-ring-shadow:0 0 0 3px #81c0e93d;--number-input-spin-bg:var(--surface-bg-elevated);--number-input-spin-filter:invert(1);--accent:var(--primary-200);--accent-hover:var(--primary-100);--status-success-bg:#66bb6a26;--status-error-bg:#ef535040;--status-warning-bg:#ffa72626;--status-info-bg:#64b5f626;--status-success-text:var(--success-400);--status-error-text:var(--error-200);--status-warning-text:var(--warning-500);--status-info-text:var(--primary-200);--state-success-text:var(--status-success-text);--state-error-text:var(--status-error-text);--state-warning-text:var(--status-warning-text);--message-success-bg:var(--status-success-bg);--message-error-bg:var(--status-error-bg);--message-warning-bg:var(--status-warning-bg);--log-info-border:var(--primary-700);--log-info-bg:#64b5f626;--log-success-border:var(--success-800);--log-success-bg:#66bb6a26;--log-warn-border:var(--warning-900);--log-warn-bg:#ffa72626;--log-error-border:var(--error-500);--log-error-bg:#ef535040;--log-debug-border:var(--gray-600);--log-debug-bg:#96969626;background-color:var(--bg-tertiary);color:var(--text-primary)}.confirm-dialog-overlay{z-index:1001;background-color:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}dialog.confirm-dialog-overlay{border:none;max-width:100%;max-height:100%;padding:0}dialog.confirm-dialog-overlay:not([open]){display:none}.confirm-dialog{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-xl);width:90%;max-width:420px;box-shadow:0 4px 20px #0000004d}.confirm-dialog-header{align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color);display:flex}.confirm-dialog-header h3{font-size:var(--font-size-lg);color:var(--text-primary);margin:0}.confirm-dialog-header i{color:var(--warning-600);font-size:var(--font-size-xl)}.confirm-dialog-header.danger i{color:var(--status-error-text)}.confirm-dialog p{margin:0 0 var(--spacing-xl);color:var(--text-secondary);line-height:1.6}.confirm-dialog-buttons{justify-content:flex-end;gap:var(--spacing-md);display:flex}.confirm-dialog .btn-cancel,.confirm-dialog .btn-confirm{padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--border-radius);cursor:pointer;border:none;font-weight:500}.confirm-dialog .btn-cancel{background-color:var(--button-neutral-bg);color:var(--button-neutral-text)}.confirm-dialog .btn-confirm,button.danger,.button.danger{background-color:var(--button-danger-bg);color:var(--button-danger-text)}.confirm-dialog .btn-cancel:hover{background-color:var(--button-neutral-bg-hover)}.confirm-dialog .btn-confirm:hover,button.danger:hover,.button.danger:hover{background-color:var(--button-danger-bg-hover)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.polling-indicator.active{text-shadow:0 0 10px #0f0;animation:none}.fa-spinner{animation:none}}button:focus-visible,.button:focus-visible,.combo-box:focus-visible,.nav-button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--focus-ring-color);outline-offset:2px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--interactive-bg);color:var(--interactive-text);padding:var(--spacing-sm) 16px;z-index:10000;border-radius:0 0 var(--border-radius) 0;text-decoration:none;position:absolute;top:-40px;left:0}.skip-link:focus{top:0}@media (width<=768px){.credits-content{text-align:center;gap:var(--spacing-lg);flex-direction:column}.social-credits{justify-content:center}.donation-buttons{gap:var(--spacing-sm);flex-direction:column}.donate-button{justify-content:center;width:200px;margin:0 auto}.documentation-sidebar{border-right:none;border-bottom:1px solid var(--border-color);width:100%;height:auto;position:static}.documentation-content{margin-left:0}.filter-controls{flex-direction:column}.search-box{max-width:100%}.avr-grid{grid-template-columns:1fr}.channel-map{border-spacing:3px}.output-display .channel-badge{font-size:var(--font-size-sm);width:30px;height:20px;line-height:20px}.changelog-list:before{left:10px}.commit{margin-left:30px;padding:1rem}.commit:before{width:10px;height:10px;left:-28px}}@media (width<=480px){.channel-map{border-spacing:2px}.output-display .channel-badge{font-size:var(--font-size-sm);width:28px;height:18px;line-height:18px}}
