:root{--color-bg: #fbfbf8;--color-surface: #ffffff;--color-surface-soft: #f4f7f4;--color-surface-card: #ffffff;--color-primary: #2d5a3f;--color-primary-hover: #234832;--color-primary-light: #e8f1eb;--color-accent-pink: #e27d8d;--color-accent-pink-soft: #faedf0;--color-text-main: #1f2922;--color-text-muted: #5e6d62;--color-text-light: #8e9c91;--color-border: #e3eae4;--color-border-hover: #c4d4c7;--color-success: #2e7d32;--color-danger: #c62828;--shadow-subtle: 0 2px 8px rgba(35, 72, 50, .05);--shadow-card: 0 4px 16px rgba(35, 72, 50, .07);--shadow-card-hover: 0 6px 20px rgba(35, 72, 50, .1);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--font-family: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--color-bg);color:var(--color-text-main);line-height:1.6;-webkit-font-smoothing:antialiased}.app-container{min-height:100vh;display:flex;flex-direction:column}.header{position:sticky;top:0;z-index:100;background-color:#fbfbf8f2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border)}.header-inner{max-width:1080px;margin:0 auto;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--color-primary)}.brand-icon{font-size:1.5rem;line-height:1}.brand-name{font-size:1.35rem;font-weight:700;letter-spacing:-.02em;color:var(--color-primary)}.nav-links{display:flex;gap:1.5rem}.nav-link{color:var(--color-text-muted);text-decoration:none;font-size:.95rem;font-weight:500;transition:color .15s ease}.nav-link:hover{color:var(--color-primary)}.main-content{flex:1;max-width:1080px;width:100%;margin:0 auto;padding:2.5rem 1.5rem;display:flex;flex-direction:column;gap:3.5rem}.hero-section{text-align:center;padding:2rem 1rem 1.5rem}.badge-tag{display:inline-block;padding:.25rem .85rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;background-color:var(--color-accent-pink-soft);color:var(--color-accent-pink);border-radius:999px;margin-bottom:1rem}.hero-title{font-size:2.5rem;font-weight:700;line-height:1.2;letter-spacing:-.03em;color:var(--color-primary);margin-bottom:.75rem}.hero-subtitle{font-size:1.15rem;color:var(--color-text-muted);max-width:620px;margin:0 auto 1.75rem}.classes-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:2rem}.class-pill{padding:.35rem .9rem;font-size:.85rem;font-weight:500;background-color:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-muted)}.hero-cta{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.75rem;font-size:1rem;font-weight:600;color:#fff;background-color:var(--color-primary);border:none;border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-subtle);transition:background-color .15s ease,transform .1s ease;text-decoration:none}.hero-cta:hover{background-color:var(--color-primary-hover);transform:translateY(-1px)}.classifier-section{display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width: 768px){.classifier-section{grid-template-columns:1fr 1fr}}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.75rem;box-shadow:var(--shadow-card)}.card-title{font-size:1.25rem;font-weight:600;color:var(--color-primary);margin-bottom:.5rem}.card-desc{font-size:.9rem;color:var(--color-text-muted);margin-bottom:1.25rem}.dropzone{border:2px dashed var(--color-border);border-radius:var(--radius-md);padding:2rem 1.5rem;text-align:center;background-color:var(--color-surface-soft);cursor:pointer;transition:border-color .15s ease,background-color .15s ease;position:relative}.dropzone:hover,.dropzone.drag-active{border-color:var(--color-primary);background-color:var(--color-primary-light)}.dropzone-icon{font-size:2rem;margin-bottom:.5rem;display:block}.dropzone-text{font-size:.95rem;font-weight:500;color:var(--color-text-main);margin-bottom:.25rem}.dropzone-subtext{font-size:.8rem;color:var(--color-text-light)}.file-input-hidden{display:none}.preview-container{margin-top:1.25rem;display:flex;flex-direction:column;gap:.75rem}.preview-image-wrapper{position:relative;width:100%;height:240px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border);background:#eee}.preview-image{width:100%;height:100%;object-fit:cover}.file-meta-bar{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--color-text-muted)}.action-buttons{display:flex;gap:.75rem;margin-top:1rem}.btn-primary{flex:1;padding:.75rem 1.25rem;font-size:.95rem;font-weight:600;background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color .15s ease}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-outline{padding:.75rem 1.25rem;font-size:.95rem;font-weight:500;background-color:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:background-color .15s ease,color .15s ease}.btn-outline:hover{background-color:var(--color-surface-soft);color:var(--color-text-main)}.results-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:280px;color:var(--color-text-light);text-align:center;padding:2rem;border:1px dashed var(--color-border);border-radius:var(--radius-md)}.results-placeholder-icon{font-size:2.2rem;margin-bottom:.75rem;opacity:.7}.primary-result{background-color:var(--color-primary-light);border:1px solid #d3e2d7;border-radius:var(--radius-md);padding:1.25rem;margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center}.primary-result-label{font-size:.8rem;text-transform:uppercase;font-weight:600;letter-spacing:.05em;color:var(--color-primary)}.primary-result-class{font-size:1.75rem;font-weight:700;color:var(--color-primary);text-transform:capitalize}.primary-result-confidence{text-align:right}.confidence-val{font-size:1.75rem;font-weight:700;color:var(--color-primary)}.confidence-label{font-size:.8rem;color:var(--color-text-muted)}.probabilities-list{display:flex;flex-direction:column;gap:.85rem}.prob-item{display:flex;flex-direction:column;gap:.25rem}.prob-header{display:flex;justify-content:space-between;font-size:.85rem;font-weight:500}.prob-class-name{text-transform:capitalize;color:var(--color-text-main)}.prob-percentage{color:var(--color-text-muted);font-weight:600}.prob-bar-track{width:100%;height:8px;background-color:var(--color-surface-soft);border-radius:999px;overflow:hidden;border:1px solid var(--color-border)}.prob-bar-fill{height:100%;background-color:var(--color-primary);border-radius:999px;transition:width .3s ease-out}.prob-bar-fill.accent{background-color:var(--color-accent-pink)}.error-banner{background-color:#fde8e8;color:var(--color-danger);border:1px solid #f8b4b4;border-radius:var(--radius-md);padding:.75rem 1rem;font-size:.9rem;margin-top:1rem;display:flex;align-items:center;gap:.5rem}.info-section{display:flex;flex-direction:column;gap:1.5rem}.section-header-row{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1rem}.section-title{font-size:1.6rem;font-weight:700;color:var(--color-primary);letter-spacing:-.02em}.section-subtitle{font-size:.95rem;color:var(--color-text-muted)}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.metric-stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.25rem;box-shadow:var(--shadow-subtle)}.stat-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-light);margin-bottom:.25rem}.stat-value{font-size:1.6rem;font-weight:700;color:var(--color-primary)}.stat-sub{font-size:.75rem;color:var(--color-text-muted)}.table-container{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.metrics-table{width:100%;border-collapse:collapse;font-size:.9rem;text-align:left}.metrics-table th,.metrics-table td{padding:.85rem 1rem;border-bottom:1px solid var(--color-border)}.metrics-table th{background-color:var(--color-surface-soft);color:var(--color-text-muted);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.metrics-table tr:last-child td{border-bottom:none}.highlight-row{background-color:var(--color-primary-light);font-weight:600}.highlight-badge{display:inline-block;background-color:var(--color-primary);color:#fff;font-size:.7rem;padding:.15rem .45rem;border-radius:999px;margin-left:.5rem;vertical-align:middle}.footer{background-color:var(--color-surface-soft);border-top:1px solid var(--color-border);padding:2.5rem 1.5rem;margin-top:auto}.footer-inner{max-width:1080px;margin:0 auto;display:flex;flex-direction:column;gap:1.25rem;align-items:center;text-align:center;font-size:.85rem;color:var(--color-text-muted)}@media (min-width: 768px){.footer-inner{flex-direction:row;justify-content:space-between;text-align:left}}.footer-brand{font-weight:600;color:var(--color-primary)}.footer-tech{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}.tech-tag{background:var(--color-surface);border:1px solid var(--color-border);padding:.2rem .6rem;border-radius:var(--radius-sm);font-size:.75rem}
