/* 酶切位点分析 — Biopython Bio.Restriction 结果渲染 */
:root{--bg:#f8fafc;--cyan:#2563eb;--purple:#8B5CF6;--t1:#F3F4F6;--t2:#6B7280;--card:rgba(7,20,40,.78);--bdr:rgba(37,99,235,.1)}
*{box-sizing:border-box}
.fg label{display:block;font-size:.88rem;color:var(--t2);margin-bottom:6px;font-weight:500}
.fg .req{color:#f87171}
.fg textarea{padding:12px 14px;background:rgba(10,14,23,.8);border:1px solid rgba(48,54,61,.5);border-radius:10px;color:var(--t1);font-size:.82rem;font-family:'SF Mono',Consolas,monospace;width:100%;resize:vertical;min-height:140px;line-height:1.5}
.fg textarea:focus,.fg input[type=text]:focus{outline:none;border-color:rgba(37,99,235,.45)}
.fg input[type=text]{font-size:.9rem;color:var(--t1);background:rgba(10,14,23,.8);border:1px solid rgba(48,54,61,.5);border-radius:8px;padding:8px 10px;width:100%}
.ts{display:inline-flex;align-items:center;gap:8px;padding:12px 32px;background:var(--cyan);color:var(--bg);border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}
.ts:hover{box-shadow:0 0 24px rgba(37,99,235,.25)}
.ts:disabled{opacity:.5;cursor:wait}
.tr{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;background:rgba(255,255,255,.05);color:var(--t2);border:1px solid rgba(255,255,255,.14);border-radius:10px;font-size:.9rem;cursor:pointer;transition:all .2s}
.tr:hover{color:var(--t1);border-color:rgba(37,99,235,.4)}
.example-seq{display:inline-block;color:var(--cyan);cursor:pointer;text-decoration:underline;text-underline-offset:3px;margin:0 4px;font-size:.78rem}
.example-seq:hover{color:#5eead4}
/* 酶切结果 */
table{width:100%;border-collapse:collapse;font-size:.8rem}
th{color:var(--t2);text-align:left;padding:8px;border-bottom:1px solid rgba(48,54,61,.5);font-weight:500;white-space:nowrap}
td{padding:8px;border-bottom:1px solid rgba(48,54,61,.22);color:#D1D5DB}
tr:hover td{background:rgba(37,99,235,.03)}
.re-scroll{overflow-x:auto;background:rgba(10,14,23,.85);border:1px solid rgba(48,54,61,.4);border-radius:10px;padding:6px}
.enz{color:#F3F4F6;font-weight:600;white-space:nowrap}
.site{font-family:'SF Mono',Consolas,monospace;color:#2563eb;font-size:.8rem;white-space:nowrap}
.cut{font-family:'SF Mono',Consolas,monospace;color:#F87171;font-size:.76rem;white-space:nowrap}
.frag{font-family:'SF Mono',Consolas,monospace;color:#8B5CF6;font-size:.76rem;white-space:nowrap}
.oh5{display:inline-block;background:rgba(96,165,250,.12);color:#60A5FA;border:1px solid rgba(96,165,250,.35);padding:1px 8px;border-radius:10px;font-size:.72rem;font-weight:600}
.oh3{display:inline-block;background:rgba(244,114,182,.12);color:#F472B6;border:1px solid rgba(244,114,182,.35);padding:1px 8px;border-radius:10px;font-size:.72rem;font-weight:600}
.ohb{display:inline-block;background:rgba(255,255,255,.08);color:#D1D5DB;border:1px solid rgba(255,255,255,.2);padding:1px 8px;border-radius:10px;font-size:.72rem}
.cnt{font-family:'SF Mono',Consolas,monospace;font-size:.82rem;color:#F59E0B;font-weight:600}
.warn{background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.25);color:#FBBF24;border-radius:8px;padding:10px 14px;font-size:.8rem;margin-bottom:14px;line-height:1.6}
