.up-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start;padding-bottom:72px}.up-card{overflow:hidden;padding:0}.drop-zone{position:relative;display:grid;place-items:center;text-align:center;gap:14px;min-height:300px;padding:40px 24px;margin:20px;border-radius:14px;cursor:pointer;border:1.5px dashed rgba(63,242,208,.28);background:radial-gradient(400px 200px at 50% 0%,rgba(63,242,208,.07),transparent 70%),var(--bg-2);transition:border-color .2s,background-color .2s}.drop-zone:hover,.drop-zone.drag-over{border-color:var(--accent);background-color:#08100f}.drop-icon{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}.drop-icon svg{width:26px;height:26px}.drop-title{font-size:26px}.drop-hint{color:var(--text-3);font:400 13px/1.6 var(--mono)}.drop-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.selected-file{display:grid;grid-template-columns:112px 1fr auto;gap:18px;align-items:center;margin:20px;padding:14px;border:1px solid var(--line-2);border-radius:14px;background:var(--bg-2)}.file-preview{width:112px;height:112px;object-fit:contain;border-radius:10px;background:#000}.file-preview.hidden+.selected-file-info{grid-column:1 / 3}.selected-file-info{display:grid;gap:4px;min-width:0}.file-name{font-weight:500;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-meta{font:400 13px/1.4 var(--mono);color:var(--text-3)}.icon-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--line-2);background:none;color:var(--text-2);cursor:pointer;font:inherit}.icon-btn:hover{color:var(--text);border-color:var(--text-3)}.settings-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 20px;border-top:1px solid var(--line)}.settings-toggle{display:inline-flex;align-items:center;gap:10px;height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line-2);background:none;color:var(--text);font:500 14px/1 var(--sans);cursor:pointer}.settings-toggle:hover{border-color:var(--accent)}.settings-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.settings-toggle svg{width:16px;height:16px}.settings-toggle .chev{transition:transform .2s;color:var(--text-3)}.settings-toggle[aria-expanded=true]{border-color:#3ff2d080;background:var(--accent-soft)}.settings-toggle[aria-expanded=true] .chev{transform:rotate(180deg)}.settings-summary{font:400 12.5px/1.4 var(--mono);color:var(--text-3)}.settings-panel{border-top:1px solid var(--line)}.set-group{display:grid;grid-template-columns:200px 1fr;gap:24px;padding:22px 24px;border-bottom:1px solid var(--line)}.set-group h3{font-size:15px}.set-group-intro p{color:var(--text-3);font-size:13px;margin-top:6px;line-height:1.5}.set-body{display:grid;gap:12px;align-content:start}.set-body-tight{gap:0}.set-hint{color:var(--text-3);font-size:13px;line-height:1.5}.set-sub{display:grid;gap:10px;padding-left:14px;border-left:1px solid rgba(63,242,208,.2)}.set-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.set-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;padding:16px 24px}.settings-panel .species-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.settings-panel .species-chip{padding:6px 12px;border-radius:10px;border-color:#3ff2d073;background:var(--accent-soft);color:var(--accent);font:500 13.5px/1 var(--mono)}.settings-panel .periodic-grid{border-color:var(--line);background:var(--bg-2)}.up-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end;padding:16px 20px;border-top:1px solid var(--line);background:#0a0f1299}.up-actions .btn-spinner{width:15px;height:15px;border-color:#02221c4d;border-top-color:var(--accent-ink)}.up-actions #btn-manual .btn-spinner{border-color:#e7f0ee4d;border-top-color:var(--text)}.error-msg{margin-right:auto;color:#ff8a8a;font-size:14px}.up-aside{display:grid;gap:20px;position:sticky;top:88px}.up-aside .list{margin-top:14px}.up-aside p{color:var(--text-2);font-size:14.5px;margin-top:12px}.up-aside a{color:var(--accent)}@media (max-width: 1000px){.up-grid{grid-template-columns:1fr}.up-aside{position:static}}@media (max-width: 760px){.set-group{grid-template-columns:1fr;gap:12px}.selected-file{grid-template-columns:72px 1fr auto;gap:12px;margin:12px}.file-preview{width:72px;height:72px}.drop-zone{margin:12px;min-height:240px}.up-actions .btn{flex:1}.error-msg{width:100%}}
