*,*:before,*:after{box-sizing:border-box}:root{--primary-color: #2b296b;--secondary-color: #be1e2d;--bg-color: #f4f7f9;--form-bg-color: #ffffff;--text-color: #333;--text-light-color: #fff;--label-color: #555;--border-color: #ddd;--focus-shadow-color: rgba(43, 41, 107, .1);--card-shadow: 0 4px 15px rgba(0, 0, 0, .08);--error-bg-color: #ffebee;--table-row-even-bg: #f9f9f9;--theme-transition: background-color .3s ease, color .3s ease, border-color .3s ease}body.dark-mode{--primary-color: #6a67d0;--secondary-color: #e57373;--bg-color: #121212;--form-bg-color: #1e1e1e;--text-color: #e0e0e0;--text-light-color: #121212;--label-color: #bbb;--border-color: #444;--focus-shadow-color: rgba(106, 103, 208, .2);--card-shadow: 0 4px 20px rgba(0, 0, 0, .4);--error-bg-color: #3e2723;--table-row-even-bg: #2a2a2a}body{margin:0;font-family:Roboto,sans-serif;background-color:var(--bg-color);color:var(--text-color);padding:3rem 1rem;transition:var(--theme-transition)}.container{width:100%;max-width:600px;margin:0 auto}.theme-toggle-button{position:fixed;top:20px;right:20px;background-color:var(--form-bg-color);border:1px solid var(--border-color);color:var(--text-color);width:50px;height:50px;border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--card-shadow);transition:transform .2s ease,var(--theme-transition);z-index:1000}.theme-toggle-button:hover{transform:scale(1.1)}h1{font-family:Poppins,sans-serif;font-weight:700;font-size:2.5rem;text-align:center;color:var(--primary-color);margin-top:0;margin-bottom:2.5rem;transition:var(--theme-transition)}h1 span{font-family:Poppins,sans-serif;font-weight:600;font-style:italic;color:var(--secondary-color)}#testForm{background:var(--form-bg-color);padding:2.5rem;border-radius:8px;box-shadow:var(--card-shadow);border-top:4px solid var(--primary-color);transition:var(--theme-transition)}.source-input{margin-bottom:1.25rem}.source-input label{display:flex;justify-content:space-between;font-weight:700;margin-bottom:.5rem;color:var(--label-color)}.source-input input,.source-input select{width:100%;padding:12px;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;background-color:var(--bg-color);color:var(--text-color);transition:var(--theme-transition)}.source-input input:focus,.source-input select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--focus-shadow-color)}button{width:100%;padding:15px;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:background-color .3s,transform .2s;letter-spacing:.5px}button:disabled{background-color:#999;cursor:not-allowed}button[type=submit]{background-color:var(--primary-color);color:var(--text-light-color);margin-top:1rem}button[type=submit]:hover:not(:disabled){transform:translateY(-2px)}#toggleButton{background-color:transparent;color:var(--primary-color);border:1px solid var(--border-color);margin-bottom:1rem}#allergenTable{width:100%;border-collapse:collapse;margin-bottom:1rem;font-size:.9rem;table-layout:auto}#allergenTable td{text-align:left;border:1px solid var(--border-color);padding:10px}#allergenTable tr:nth-child(2n){background-color:var(--table-row-even-bg)}#result-container{margin-top:2rem;padding:2.5rem;background:var(--form-bg-color);border-radius:8px;box-shadow:var(--card-shadow);text-align:left;border-left:4px solid var(--secondary-color);border-top:none;transition:var(--theme-transition)}.error-message{color:var(--secondary-color);background-color:var(--error-bg-color);border:1px solid var(--secondary-color);padding:1rem;border-radius:8px;margin-top:1.5rem;text-align:center}@media (max-width: 600px){body{padding:1rem .5rem}h1{font-size:2rem}#testForm,#result-container{padding:1.5rem}#allergenTable td{word-break:break-word;font-size:12px}}
