@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap);:root{--n-validation-errors:2;--primary-color:#007bff;--primary-hover:#0056b3;--primary-light:#007bff1a;--success-color:#28a745;--success-bg:#d4edda;--success-border:#c3e6cb;--success-text:#155724;--danger-color:#dc3545;--danger-bg:#f8d7da;--danger-border:#f5c6cb;--danger-text:#721c24;--danger-deep-border:#dc35451a;--danger-deep-bg:#dc35451a;--warning-color:#ffc107;--warning-bg:#fff3cd;--warning-border:#ffeaa7;--warning-text:#856404;--gray-100:#f8f9fa;--gray-200:#e9ecef;--gray-300:#dee2e6;--gray-400:#ced4da;--gray-500:#adb5bd;--gray-600:#6c757d;--gray-700:#495057;--gray-800:#343a40;--gray-900:#212529;--white:#fff;--black:#000;--border-color:#ccc;--border-color-focus:var(--primary-color);--border-radius-sm:2px;--border-radius:4px;--border-radius-lg:6px;--border-width:1px;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-xxl:3rem;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-xxl:1.5rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-base:1.5;--line-height-relaxed:1.75;--shadow-sm:0 1px 2px #0000000d;--shadow:0 1px 3px #0000001a;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 10px 15px #0000001a;--shadow-focus:0 0 0 2px #007bff40;--transition-fast:0.15s ease;--transition-base:0.2s ease;--transition-slow:0.3s ease;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal:1040;--z-popover:1050;--z-tooltip:1060}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}@keyframes loginFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .6s ease-in forwards;opacity:0}.loading:after{background:#fffc;content:"";cursor:wait;height:100%;left:0;position:fixed;top:0;width:100%;z-index:1040;z-index:var(--z-modal)}.loading{opacity:.7;pointer-events:none}*,:after,:before{box-sizing:border-box}*{margin:0;padding:0}html{font-size:16px;line-height:var(--line-height-base)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--gray-100);color:var(--gray-800);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.fade-in{animation:none;opacity:1}}canvas,img,picture,svg,video{display:block;height:auto;max-width:100%}button,input,select,textarea{font:inherit}table{border-collapse:collapse;width:100%}.visually-hidden{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.success-message{background-color:var(--success-bg);border:var(--border-width) solid var(--success-color);border-radius:var(--border-radius-lg);color:var(--success-text);margin:var(--spacing-sm) 0}.error-message,.success-message{animation:slideIn var(--transition-slow) ease-out;font-size:var(--font-size-sm);line-height:var(--line-height-base);padding:var(--spacing-sm) var(--spacing-md)}.error-message{background-color:var(--danger-bg);border:none;border-radius:var(--border-radius-lg);color:var(--danger-text);margin:var(--spacing-md) 0;overflow:hidden}.error-message--deep-with-border{background-color:var(--danger-deep-bg);border:var(--border-width) solid var(--danger-deep-border)}.auth-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-form{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:400px;padding:2rem;width:100%}.auth-title{color:#1f2937;font-size:1.875rem;font-weight:700;margin-bottom:.5rem;text-align:center}.auth-subtitle{color:#6b7280;font-size:.875rem;margin-bottom:1.5rem;text-align:center}.form-group{margin-bottom:1rem}.form-label{color:#374151;display:block;font-size:.875rem;font-weight:500;margin-bottom:.25rem}.form-input{border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-size:1rem;padding:.75rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}.form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-hint{color:#6b7280;display:block;font-size:.75rem;margin-top:.25rem}.auth-button{background-color:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem;transition:background-color .15s ease-in-out;width:100%}.auth-button:hover:not(:disabled){background-color:#2563eb}.auth-button:disabled{background-color:#9ca3af;cursor:not-allowed}.auth-links{margin-top:1.5rem;text-align:center}.link-button{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:.875rem;margin:0 .5rem;text-decoration:underline}.link-button:hover{color:#2563eb}.link-button:disabled{color:#9ca3af;cursor:not-allowed}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:20px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f4f6;border-radius:50%;border-top-color:#3b82f6;height:40px;margin-bottom:1rem;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-container{align-items:center;flex-direction:column;min-height:100vh;padding:20px;text-align:center}.error-actions,.error-container{display:flex;justify-content:center}.error-actions{flex-wrap:wrap;gap:1rem;margin-top:2rem}.btn{border:none;border-radius:6px;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .15s ease-in-out}.btn-primary{background-color:#3b82f6;color:#fff}.btn-primary:hover{background-color:#2563eb}.btn-secondary{background-color:#6b7280;color:#fff}.btn-secondary:hover{background-color:#4b5563}.error-details{color:#6b7280;font-size:.875rem;margin-top:1rem}@media (max-width:480px){.auth-container{padding:10px}.auth-form{padding:1.5rem}.auth-title{font-size:1.5rem}.error-actions{align-items:center;flex-direction:column}.btn{max-width:200px;width:100%}}.profile-dropdown{display:inline-block;position:relative}.profile-button{align-items:center;background:none;border:none;border-radius:var(--border-radius);cursor:pointer;display:flex;justify-content:center;padding:var(--spacing-xs);transition:background-color var(--transition-base)}.profile-button:hover{background-color:var(--gray-100)}.profile-button:focus{box-shadow:var(--shadow-focus);outline:none}.profile-icon{color:var(--gray-700);height:28px;width:28px}.dropdown-menu{animation:dropdownFadeIn .15s ease-out;background-color:var(--white);border:var(--border-width) solid var(--gray-300);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);min-width:180px;overflow:hidden;position:absolute;right:0;top:calc(100% + var(--spacing-xs));z-index:var(--z-dropdown)}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{align-items:center;background:none;border:none;color:var(--gray-700);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);text-align:left;transition:background-color var(--transition-base);width:100%}.dropdown-item:hover{background-color:var(--gray-100);color:var(--gray-900)}.dropdown-item:focus{background-color:var(--primary-light);color:var(--primary-color);outline:none}.dropdown-item.user-info{border-bottom:var(--border-width) solid var(--gray-200);color:var(--gray-600);cursor:default;font-weight:var(--font-weight-medium)}.dropdown-item.user-info:hover{background-color:initial;color:var(--gray-600)}.dropdown-item.logout-button{color:var(--danger-color)}.dropdown-item.logout-button:hover{background-color:var(--danger-bg);color:var(--danger-text)}.profile-icon-small{flex-shrink:0;height:20px;margin-right:var(--spacing-sm);width:20px}.email{color:var(--gray-800);font-weight:var(--font-weight-medium)}@media (max-width:768px){.dropdown-menu{min-width:160px;right:var(--spacing-sm)}}.header-bar{background-color:var(--white);border-bottom:var(--border-width) solid var(--gray-300);box-shadow:var(--shadow-sm);justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);position:-webkit-sticky;position:sticky;top:0;width:100%;z-index:var(--z-sticky)}.header-bar,.header-center,.header-left,.header-right{align-items:center;display:flex}.header-left{flex:0 0 auto}.header-center{flex:1 1;gap:var(--spacing-xl);justify-content:center}.header-right{flex:0 0 auto}.train-icon{height:56px;object-fit:contain;width:56px}.tab{align-items:center;background:none;border:none;border-radius:var(--border-radius-lg);color:var(--gray-700);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;transition:all var(--transition-base)}.tab:hover{background-color:var(--gray-100);color:var(--gray-900)}.tab:focus{box-shadow:var(--shadow-focus);outline:none}.tab.active{background-color:var(--primary-color);color:var(--white)}.tab.active:hover{background-color:var(--primary-hover)}@media (max-width:768px){.header-bar{padding:var(--spacing-xs) var(--spacing-sm)}.header-center{gap:var(--spacing-md)}.train-icon{height:40px;width:40px}.tab{font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm)}}.download-zip-container{align-items:center;background-color:var(--white);border-bottom:var(--border-width) solid var(--gray-300);display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md)}.btn-download-zip{background-color:var(--primary-color);border:none;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);color:var(--white);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--transition-base)}.btn-download-zip:hover:not(:disabled){background-color:var(--primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-download-zip:disabled{background-color:var(--gray-400);cursor:not-allowed;opacity:.7}.btn-download-zip:focus{box-shadow:var(--shadow-focus);outline:none}.download-progress-bar{background-color:var(--gray-200);border-radius:var(--border-radius);height:8px;max-width:300px;overflow:hidden;width:100%}.download-progress-fill{background-color:var(--primary-color);height:100%;transition:width var(--transition-base)}.tutorial-link{align-items:center;color:var(--primary-color);display:inline-flex;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);gap:var(--spacing-xs);text-decoration:none;transition:all var(--transition-base)}.tutorial-link:hover{color:var(--primary-hover);text-decoration:underline}.tutorial-link:focus{border-radius:var(--border-radius-sm);outline:2px solid var(--primary-color);outline-offset:2px}@media (max-width:768px){.download-zip-container{padding:var(--spacing-sm)}.btn-download-zip{padding:var(--spacing-xs) var(--spacing-md)}.btn-download-zip,.tutorial-link{font-size:var(--font-size-sm)}}.app-layout{background-color:var(--gray-100);display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;overflow-y:auto}@media print{.app-layout{background-color:var(--white)}.main-content{padding:0}}.table-wrapper{background-color:var(--white);border:var(--border-width) solid var(--gray-200);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);margin-top:var(--spacing-md);max-width:100%;overflow:hidden;width:100%}.sheet-selector{align-items:center;background-color:var(--gray-50);border-bottom:var(--border-width) solid var(--gray-200);display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md)}.sheet-selector-label{color:var(--gray-700);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin:0}.sheet-select{background-color:var(--white);border:var(--border-width) solid var(--gray-300);border-radius:var(--border-radius);color:var(--gray-800);cursor:pointer;font-size:var(--font-size-sm);min-width:120px;padding:var(--spacing-xs) var(--spacing-sm);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.sheet-select:hover{border-color:var(--gray-400)}.sheet-select:focus{border-color:var(--border-color-focus);box-shadow:var(--shadow-focus);outline:none}.table-header{background-color:var(--gray-100);border-bottom:var(--border-width) solid var(--gray-200);padding:var(--spacing-sm) var(--spacing-md)}.table-info{color:var(--gray-600);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.table-container{max-height:400px;max-width:100%;overflow-x:auto;overflow-y:auto;scrollbar-color:var(--gray-400) var(--gray-200);scrollbar-width:thin;width:100%}.table-container::-webkit-scrollbar{height:8px;width:8px}.table-container::-webkit-scrollbar-track{background:var(--gray-200);border-radius:var(--border-radius)}.table-container::-webkit-scrollbar-thumb{background:var(--gray-400);border-radius:var(--border-radius)}.table-container::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}.data-table{border-collapse:collapse;font-size:var(--font-size-sm);min-width:600px;width:100%}.data-table th{background-color:var(--gray-100);border-bottom:var(--border-width) solid var(--gray-300);color:var(--gray-700);font-weight:var(--font-weight-semibold);position:-webkit-sticky;position:sticky;text-align:left;top:0;z-index:10}.data-table td,.data-table th{min-width:100px;padding:var(--spacing-sm) var(--spacing-md);white-space:nowrap}.data-table td{border-bottom:var(--border-width) solid var(--gray-200);color:var(--gray-800);max-width:300px;overflow:hidden;text-overflow:ellipsis;vertical-align:top}.data-table td:hover{word-wrap:break-word;max-width:none;white-space:normal}.data-table tbody tr:hover,.data-table td:hover{background-color:var(--gray-50)}.data-table tbody tr:last-child td{border-bottom:none}.table-footer{background-color:var(--gray-50);border-top:var(--border-width) solid var(--gray-200);padding:var(--spacing-sm) var(--spacing-md);text-align:center}.more-rows-indicator{color:var(--gray-500);font-size:var(--font-size-xs);font-style:italic}.table-empty-state{background-color:var(--gray-50);border-radius:var(--border-radius);color:var(--gray-500);margin-top:var(--spacing-md);padding:var(--spacing-xxl);text-align:center}.empty-icon{display:block;font-size:3rem;margin-bottom:var(--spacing-md)}.table-empty-state p{font-style:italic;margin:0}@media (max-width:768px){.sheet-selector{align-items:flex-start;flex-direction:column;gap:var(--spacing-xs)}.sheet-select{min-width:auto;width:100%}.table-container{max-height:300px;scrollbar-width:auto}.data-table{font-size:var(--font-size-xs);min-width:400px}.data-table td,.data-table th{max-width:150px;min-width:80px;padding:var(--spacing-xs) var(--spacing-sm)}.table-wrapper{margin-top:var(--spacing-sm)}}@media (max-width:480px){.data-table{min-width:320px}.data-table td,.data-table th{font-size:var(--font-size-xs);max-width:120px;min-width:60px}}.file-section{margin-bottom:var(--spacing-lg)}.file-section>label{color:var(--gray-800);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-sm)}.file-input-wrapper{align-items:center;background-color:var(--white);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;display:flex;margin-bottom:var(--spacing-sm);overflow:hidden;transition:all var(--transition-base);width:100%}.file-input-wrapper:hover{background-color:var(--gray-50);border-color:var(--gray-400)}.file-input-wrapper:focus-within{border-color:var(--border-color-focus);box-shadow:var(--shadow-focus)}.file-input-wrapper input[type=file]{height:1px;opacity:0;position:absolute;width:1px}.file-input-wrapper span:first-of-type{background-color:var(--primary-color);color:var(--white);flex-shrink:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--spacing-xs) var(--spacing-sm);transition:background-color var(--transition-base)}.file-input-wrapper:hover span:first-of-type{background-color:var(--primary-hover)}.file-input-wrapper span:last-of-type{color:var(--gray-600);flex:1 1;font-size:var(--font-size-base);min-height:1.5em;overflow:hidden;padding:var(--spacing-xs) var(--spacing-sm);text-overflow:ellipsis;white-space:nowrap}.file-display{align-items:center;background-color:var(--gray-100);border:var(--border-width) solid var(--gray-300);border-radius:var(--border-radius);display:flex;font-size:var(--font-size-sm);justify-content:space-between;margin-top:var(--spacing-sm);padding:var(--spacing-sm)}.file-display-name{color:var(--gray-700);flex:1 1;font-weight:var(--font-weight-medium);margin-right:var(--spacing-sm);word-break:break-all}.remove-button{align-items:center;background-color:var(--danger-color);border:none;border-radius:50%;color:var(--white);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);height:24px;justify-content:center;line-height:1;transition:all var(--transition-base);width:24px}.remove-button:hover{background-color:#c82333;transform:scale(1.1)}.remove-button:active{transform:scale(.95)}@media (max-width:768px){.file-input-wrapper{align-items:stretch;flex-direction:column}.file-input-wrapper span:first-of-type{text-align:center;width:100%}.file-input-wrapper span:last-of-type{border-top:var(--border-width) solid var(--gray-200);padding:var(--spacing-sm);text-align:center}.file-display{align-items:flex-start;flex-direction:column;gap:var(--spacing-sm)}.remove-button{align-self:flex-end}}.parameters-container{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-top:var(--spacing-sm)}.parameter-field{display:flex;flex-direction:column;min-width:120px}.parameter-label{color:var(--gray-700);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-xs)}.parameter-input,.parameter-label{display:block;font-size:var(--font-size-sm)}.parameter-input{border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-sm);transition:border-color var(--transition-base),box-shadow var(--transition-base);width:100px}.parameter-input:focus{border-color:var(--border-color-focus);box-shadow:var(--shadow-focus);outline:none}.parameter-input:disabled{background-color:var(--gray-100);color:var(--gray-600);cursor:not-allowed}@media (max-width:768px){.parameters-container{flex-direction:column;gap:var(--spacing-sm)}.parameter-input{max-width:200px;width:100%}}.error-header{align-items:flex-start;display:flex;gap:var(--spacing-sm);padding:var(--spacing-md)}.error-main{flex-grow:1;min-width:0}.error-title{color:var(--danger-text);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}.error-content{line-height:var(--line-height-base)}.error-line{margin-bottom:var(--spacing-xs)}.error-line:last-child{margin-bottom:0}.error-close-btn{align-items:center;background:none;border:none;border-radius:var(--border-radius);color:var(--danger-text);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--font-size-xl);height:24px;justify-content:center;padding:0;transition:background-color var(--transition-base);width:24px}.error-close-btn:hover{background-color:#721c241a}.error-close-btn:focus{outline:2px solid var(--danger-text);outline-offset:2px}.error-details-toggle{align-items:center;background:none;border:none;color:var(--danger-text);cursor:pointer;display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);text-align:left;transition:background-color var(--transition-base);width:100%}.error-details-toggle:hover{background-color:#dc35451a}.error-details-toggle:focus{outline:2px solid var(--danger-text);outline-offset:-2px}.error-count{font-size:var(--font-size-xs);margin-left:auto;opacity:.8}.error-details-content{border:none;border-radius:var(--border-radius-lg);padding:0 var(--spacing-md) var(--spacing-md) var(--spacing-md)}.validation-errors{display:flex;flex-direction:column;gap:var(--spacing-md);max-height:calc(var(--n-validation-errors)*(120px + var(--spacing-md)) - var(--spacing-md));overflow-y:auto;padding-right:var(--spacing-xs);scrollbar-color:var(--danger-color) #dc35451a;scrollbar-width:thin}.validation-errors::-webkit-scrollbar{width:8px}.validation-errors::-webkit-scrollbar-track{background:#dc35451a;border-radius:4px}.validation-errors::-webkit-scrollbar-thumb{background:var(--danger-color);border-radius:4px;opacity:.7}.validation-errors::-webkit-scrollbar-thumb:hover{background:#dc3545e6}.validation-error-item{background-color:var(--danger-bg);border:var(--border-width) solid var(--danger-border);border-radius:var(--border-radius);font-size:var(--font-size-sm);padding:var(--spacing-sm)}.validation-error-field,.validation-error-input,.validation-error-message,.validation-error-type{margin-bottom:var(--spacing-xs)}.validation-error-field strong,.validation-error-input strong,.validation-error-message strong,.validation-error-type strong{color:var(--danger-text);font-weight:var(--font-weight-semibold)}.validation-error-input code{background-color:var(--gray-100);border-radius:var(--border-radius-sm);color:var(--gray-800);font-family:Monaco,Consolas,Courier New,monospace;font-size:var(--font-size-xs);margin-left:var(--spacing-xs);padding:.125rem var(--spacing-xs)}.error-message--code-status{font-size:var(--font-size-xs);text-align:right}@media (max-width:768px){.error-header{gap:var(--spacing-xs);padding:var(--spacing-sm)}.error-content,.error-title{font-size:var(--font-size-sm)}.error-details-content{padding:0 var(--spacing-sm) var(--spacing-sm) var(--spacing-sm)}.validation-error-item{padding:var(--spacing-xs)}.error-details-toggle{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm)}.validation-errors{max-height:calc(var(--n-validation-errors)*(100px + var(--spacing-md)) - var(--spacing-md))}}.controls{margin-top:var(--spacing-md)}.controls-buttons{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.btn{align-items:center;border:var(--border-width) solid #0000;border-radius:var(--border-radius);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);justify-content:center;min-width:160px;padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;transition:all var(--transition-base);-webkit-user-select:none;user-select:none}.btn:focus{box-shadow:var(--shadow-focus);outline:none}.btn:disabled{cursor:not-allowed;opacity:.6;pointer-events:none}.btn-primary{background-color:var(--primary-color);border-color:var(--primary-color);color:var(--white)}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover);border-color:var(--primary-hover)}.btn-primary:disabled{background-color:var(--gray-500);border-color:var(--gray-500)}.btn-success{background-color:var(--success-color);border-color:var(--success-color);color:var(--white)}.btn-success:hover:not(:disabled){background-color:#218838;border-color:#1e7e34}.btn-exporting{animation:pulse 1.5s infinite;background-color:var(--gray-500);border-color:var(--gray-500);cursor:wait}.btn-exporting:before{content:"⳾ ";margin-right:var(--spacing-xs)}.status-message{animation:slideIn var(--transition-slow) ease-out;border:var(--border-width) solid;border-radius:var(--border-radius);font-size:var(--font-size-sm);margin-top:var(--spacing-sm);max-width:600px;padding:var(--spacing-sm)}.status-success{background-color:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.status-error{background-color:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.help-text{color:var(--gray-600);font-size:var(--font-size-sm);font-style:italic;line-height:var(--line-height-relaxed);margin-top:var(--spacing-sm);max-width:500px}@media (max-width:768px){.controls-buttons{align-items:stretch;flex-direction:column}.btn{min-width:auto;width:100%}}.result-section,.results-container{margin-top:var(--spacing-xl)}.result-section{animation:fadeInUp .5s ease forwards;background-color:var(--white);border:var(--border-width) solid var(--gray-200);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);opacity:0;padding:var(--spacing-lg);transform:translateY(20px)}.result-section:first-child{animation-delay:.1s;margin-top:0}.result-section:nth-child(2){animation-delay:.2s}.result-section:nth-child(3){animation-delay:.3s}.result-title{border-bottom:2px solid var(--primary-color);color:var(--gray-800);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);position:relative}.result-title:before{background-color:var(--primary-color);bottom:-2px;content:"";height:2px;left:0;position:absolute;width:40px}.result-badge{align-items:center;background-color:var(--primary-light);border-radius:var(--border-radius);color:var(--primary-color);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:.5px;margin-left:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);text-transform:uppercase}.no-results{color:var(--gray-500);font-style:italic;padding:var(--spacing-xxl);text-align:center}.no-results p{margin:0}@media (max-width:768px){.result-section{margin-top:var(--spacing-lg);padding:var(--spacing-md)}.result-title{font-size:var(--font-size-lg)}.result-badge{display:block;margin-left:0;margin-top:var(--spacing-xs);width:-webkit-fit-content;width:fit-content}}.tab-page{animation:fadeIn .6s ease-in-out;box-sizing:border-box;color:var(--gray-800);font-family:inherit;line-height:var(--line-height-base);margin:0 auto;max-width:1200px;max-width:100%;overflow-x:hidden;padding:var(--spacing-lg);width:100%}.tab-page h2{border-bottom:3px solid var(--primary-color);color:var(--gray-900);font-size:var(--font-size-xxl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-md);position:relative;text-align:center}.tab-page h2:after{background:linear-gradient(90deg,var(--primary-color),var(--primary-hover));bottom:-3px;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.file-sections{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);max-width:100%;width:100%}.file-sections.one-column{grid-template-columns:1fr}.file-sections.two-columns{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.file-sections.three-columns{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.file-sections.four-columns{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.file-sections>*{max-width:100%;min-width:0;overflow-x:hidden}@media (max-width:768px){.tab-page{max-width:100vw;padding:var(--spacing-md)}.tab-page h2{font-size:var(--font-size-xl);text-align:left}.file-sections,.file-sections.four-columns,.file-sections.one-column,.file-sections.three-columns,.file-sections.two-columns{gap:var(--spacing-md);grid-template-columns:1fr}}@media (max-width:480px){.tab-page{padding:var(--spacing-sm)}.file-sections{gap:var(--spacing-sm)}}
/*# sourceMappingURL=main.915089a4.css.map*/