|
|
:root{ |
|
|
--bg:#0b1020; |
|
|
--card:#111a33; |
|
|
--card2:#0f1730; |
|
|
--text:#e9eefc; |
|
|
--muted:#a8b3d6; |
|
|
--accent:#7aa2ff; |
|
|
--ok:#57d39b; |
|
|
--err:#ff6b6b; |
|
|
--border:rgba(255,255,255,.08); |
|
|
} |
|
|
|
|
|
*{box-sizing:border-box} |
|
|
body{ |
|
|
margin:0; |
|
|
font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial; |
|
|
background: radial-gradient(1200px 600px at 50% -10%, rgba(122,162,255,.25), transparent 70%), |
|
|
var(--bg); |
|
|
color:var(--text); |
|
|
} |
|
|
|
|
|
.page{max-width:1100px;margin:0 auto;padding:28px 18px 40px} |
|
|
.header h1{margin:0 0 8px;font-size:40px;letter-spacing:.2px} |
|
|
.header p{margin:0;color:var(--muted)} |
|
|
|
|
|
.card{ |
|
|
margin-top:18px; |
|
|
background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02)); |
|
|
border:1px solid var(--border); |
|
|
border-radius:18px; |
|
|
padding:18px; |
|
|
box-shadow: 0 20px 60px rgba(0,0,0,.35); |
|
|
} |
|
|
|
|
|
.controls{ |
|
|
display:flex; |
|
|
align-items:center; |
|
|
gap:12px; |
|
|
flex-wrap:wrap; |
|
|
margin-bottom:14px; |
|
|
} |
|
|
|
|
|
.file{ |
|
|
display:inline-flex; |
|
|
align-items:center; |
|
|
gap:10px; |
|
|
background:var(--card2); |
|
|
border:1px solid var(--border); |
|
|
border-radius:12px; |
|
|
padding:10px 12px; |
|
|
cursor:pointer; |
|
|
} |
|
|
.file input{display:none} |
|
|
.file span{color:var(--text);font-weight:600} |
|
|
|
|
|
.btn{ |
|
|
background:var(--accent); |
|
|
border:none; |
|
|
color:#0b1020; |
|
|
font-weight:800; |
|
|
padding:10px 14px; |
|
|
border-radius:12px; |
|
|
cursor:pointer; |
|
|
} |
|
|
.btn:disabled{opacity:.5;cursor:not-allowed} |
|
|
|
|
|
.btn.secondary{ |
|
|
background:transparent; |
|
|
color:var(--text); |
|
|
border:1px solid var(--border); |
|
|
font-weight:700; |
|
|
} |
|
|
|
|
|
.status{color:var(--muted);font-weight:600} |
|
|
.status.loading{color:var(--accent)} |
|
|
.status.ok{color:var(--ok)} |
|
|
.status.err{color:var(--err)} |
|
|
|
|
|
.grid{ |
|
|
display:grid; |
|
|
grid-template-columns: 1.1fr .9fr; |
|
|
gap:14px; |
|
|
} |
|
|
@media (max-width: 900px){ |
|
|
.grid{grid-template-columns:1fr} |
|
|
} |
|
|
|
|
|
.panel{ |
|
|
background:rgba(17,26,51,.65); |
|
|
border:1px solid var(--border); |
|
|
border-radius:16px; |
|
|
padding:14px; |
|
|
} |
|
|
|
|
|
.panel h2{margin:0 0 12px;font-size:20px} |
|
|
.panel h3{margin:14px 0 8px;font-size:16px;color:var(--muted)} |
|
|
|
|
|
.preview{ |
|
|
position:relative; |
|
|
min-height:280px; |
|
|
border-radius:14px; |
|
|
overflow:hidden; |
|
|
border:1px dashed rgba(255,255,255,.15); |
|
|
background:rgba(0,0,0,.12); |
|
|
display:flex; |
|
|
align-items:center; |
|
|
justify-content:center; |
|
|
} |
|
|
.preview img{ |
|
|
max-width:100%; |
|
|
max-height:420px; |
|
|
display:none; |
|
|
} |
|
|
.placeholder{ |
|
|
color:var(--muted); |
|
|
padding:12px; |
|
|
text-align:center; |
|
|
} |
|
|
|
|
|
.result-card{ |
|
|
background:rgba(15,23,48,.55); |
|
|
border:1px solid var(--border); |
|
|
border-radius:14px; |
|
|
padding:12px; |
|
|
} |
|
|
|
|
|
.result-main{ |
|
|
display:flex; |
|
|
justify-content:space-between; |
|
|
gap:12px; |
|
|
align-items:flex-end; |
|
|
} |
|
|
.label{color:var(--muted);font-size:12px;font-weight:700} |
|
|
.pred-class{font-size:26px;font-weight:900;letter-spacing:.3px} |
|
|
.pred-conf{font-size:20px;font-weight:900} |
|
|
|
|
|
.bar-wrap{display:flex;align-items:center;gap:10px;margin:12px 0} |
|
|
.bar{ |
|
|
flex:1; |
|
|
height:10px; |
|
|
border-radius:999px; |
|
|
background:rgba(255,255,255,.1); |
|
|
overflow:hidden; |
|
|
} |
|
|
.bar-fill{ |
|
|
height:100%; |
|
|
background:linear-gradient(90deg, var(--accent), rgba(122,162,255,.4)); |
|
|
border-radius:999px; |
|
|
width:0%; |
|
|
} |
|
|
.bar-text{color:var(--muted);font-weight:800} |
|
|
|
|
|
.table{ |
|
|
width:100%; |
|
|
border-collapse:collapse; |
|
|
margin-top:6px; |
|
|
} |
|
|
.table th,.table td{ |
|
|
text-align:left; |
|
|
padding:10px 8px; |
|
|
border-bottom:1px solid rgba(255,255,255,.08); |
|
|
} |
|
|
.table th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.8px} |
|
|
|
|
|
.json{ |
|
|
margin-top:10px; |
|
|
max-height:260px; |
|
|
overflow:auto; |
|
|
background:rgba(0,0,0,.28); |
|
|
border:1px solid rgba(255,255,255,.08); |
|
|
border-radius:12px; |
|
|
padding:10px; |
|
|
font-size:12px; |
|
|
line-height:1.35; |
|
|
} |
|
|
|
|
|
.empty{color:var(--muted);padding:8px 2px} |
|
|
|
|
|
.links{ |
|
|
margin-top:12px; |
|
|
display:flex; |
|
|
gap:12px; |
|
|
} |
|
|
.links a{ |
|
|
color:var(--accent); |
|
|
text-decoration:none; |
|
|
font-weight:700; |
|
|
} |
|
|
.links a:hover{text-decoration:underline} |
|
|
|
|
|
.footer{margin-top:14px;color:var(--muted)} |
|
|
.hidden{display:none !important} |
|
|
|