/* VoicedBook audiobook file checker (on top of site.css + blog.css). Loaded only by /audiobook-checker. */
.tool{max-width:880px;margin:0 auto;padding:64px 24px 8px}
.tool h1{font-size:clamp(36px,5vw,56px);line-height:1.06;max-width:20ch;margin:12px 0 16px}
.ck-drop{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;border:2px dashed var(--line-strong);border-radius:12px;background:var(--surface);padding:36px 20px;cursor:pointer;transition:border-color 120ms,background-color 120ms}
.ck-drop:hover,.ck-drop.over{border-color:var(--accent);background:var(--accent-soft)}
.ck-drop b{font:400 24px/1.2 var(--display);color:var(--ink)}
.ck-drop input{position:absolute;width:1px;height:1px;opacity:0}
.ck-drop:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.ck-private{display:flex;gap:8px;align-items:center;justify-content:center;font-size:13px;color:var(--muted);margin:12px 0 0}
.ck-results{display:grid;gap:16px;margin:24px 0 0}
.ck-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px 20px;min-width:0}
.ck-top{display:flex;gap:12px;align-items:baseline;justify-content:space-between;min-width:0}
.ck-name{font-weight:650;overflow-wrap:anywhere;min-width:0}
.ck-size{font-size:13px;color:var(--muted);flex:none}
.ck-sum{margin:6px 0 0;font-size:15px;color:var(--ink-2)}
.ck-sum.pass{color:var(--ok);font-weight:650}.ck-sum.close{color:var(--warn);font-weight:650}.ck-sum.fail{color:var(--clay);font-weight:650}
.ck-progress{height:6px;border-radius:99px;background:var(--surface-2);overflow:hidden;margin:12px 0 4px}
.ck-progress span{display:block;height:100%;width:0;background:var(--accent);transition:width 200ms}
.ck-scroll{overflow-x:auto;margin:14px 0 0}
.ck-table{width:100%;border-collapse:collapse;font-size:14px}
.ck-need-m{display:none}
.ck-table th,.ck-table td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.ck-table th{font-weight:650;color:var(--muted);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.ck-table .ck-label{font-weight:600}
.ck-table .ck-val{font-variant-numeric:tabular-nums}
.ck-table .ck-need{color:var(--muted)}
.ck-table tr.ck-hint-row td{border-bottom:1px solid var(--line);padding-top:0;color:var(--ink-2);font-size:13px}
.ck-table tr.st-fail+tr.ck-hint-row td,.ck-table tr.st-close+tr.ck-hint-row td{padding-left:10px}
.ck-table tr.st-fail:has(+tr.ck-hint-row) td,.ck-table tr.st-close:has(+tr.ck-hint-row) td{border-bottom:0}
.ck-badge{display:inline-block;border-radius:99px;padding:2px 10px;font-size:12px;font-weight:650}
.ck-badge.pass{background:var(--ok-soft);color:var(--ok)}
.ck-badge.close{background:var(--warn-soft);color:var(--warn)}
.ck-badge.fail{background:var(--clay-soft);color:var(--clay)}
.ck-extra{font-size:13px;color:var(--ink-2);margin:10px 0 0}
.ck-book{margin:16px 0 0}
.ck-book ul{margin:6px 0 0;padding-left:20px}
.spec-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin:0 0 22px}
.spec-grid .card{padding:16px 18px}
.spec-grid b{display:block;font:400 26px/1.15 var(--display);margin:2px 0}
.spec-grid span{font-size:13px;color:var(--muted)}
#checker-after{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin:20px 0 0}
#checker-after[hidden],.ck-book[hidden]{display:none}
@media (max-width:640px){.tool{padding:40px 20px 8px}.ck-drop{padding:28px 16px}.ck-card{padding:16px 14px}.ck-table th:nth-child(3),.ck-table td.ck-need{display:none}.ck-need-m{display:block;font-size:12px;color:var(--muted);margin-top:2px}.ck-table th,.ck-table td{padding:8px 6px}}
