:root{--awv-accent: #c2410c;--awv-accent-dark: #9a3412;--awv-accent-soft: #fff1e6;--awv-paper: #fffaf5;--awv-paper-2: #f6ede3;--awv-surface: #ffffff;--awv-surface-muted: #fbf6f0;--awv-border: #eadfd3;--awv-border-strong: #d8c6b3;--awv-text-main: #1d1a16;--awv-text-muted: #625a50;--awv-clip: #b91c1c;--awv-clip-soft: #fdecec;--awv-gap: #1d4ed8;--awv-gap-soft: #eaf0fd;--awv-shadow: 0 14px 36px rgba(120, 72, 28, 0.08);--awv-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--primary: var(--awv-accent);--primary-dark: var(--awv-accent-dark);--border: var(--awv-border);--surface: var(--awv-surface);--shadow-soft: var(--awv-shadow);--surface-muted: var(--awv-surface-muted);--text-main: var(--awv-text-main);--text-muted: var(--awv-text-muted);}
.awv-deck{position: relative;margin-bottom: 22px;background: var(--awv-surface);border: 1px solid var(--awv-border);border-radius: 16px;box-shadow: var(--awv-shadow);color: var(--awv-text-main);overflow: hidden;transition: border-color 0.15s ease, box-shadow 0.15s ease;}
.awv-deck.is-drop{border-color: var(--awv-accent);box-shadow: 0 0 0 3px rgba(194, 65, 12, 0.18), var(--awv-shadow);}
.awv-deck.is-busy .awv-stage{opacity: 0.55;}
.awv-deck [hidden]{display: none !important;}
.awv-byline{display: flex;flex-wrap: wrap;align-items: center;gap: 6px 16px;padding: 11px 20px;font-size: 13.5px;color: var(--awv-text-muted);border-bottom: 1px solid var(--awv-border);background: var(--awv-surface-muted);}
.awv-byline-author{font-weight: 500;}
.awv-byline-author .author-link{color: var(--awv-accent);font-weight: 600;text-decoration: none;}
.awv-byline-author .author-link:hover{text-decoration: underline;}
.awv-byline-author .author-link:focus-visible{outline: 2px solid var(--awv-accent);outline-offset: 2px;border-radius: 3px;}
.awv-load{display: grid;grid-template-columns: minmax(0, 1fr) auto;gap: 8px 16px;align-items: center;padding: 16px 20px;}
.awv-file{min-width: 0;}
.awv-file-name{margin: 0;font-weight: 700;font-size: 16px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}
.awv-file-meta{margin: 2px 0 0;font-family: var(--awv-mono);font-size: 12.5px;color: var(--awv-text-muted);}
.awv-load-actions{display: flex;flex-wrap: wrap;gap: 8px;justify-content: flex-end;}
.awv-drop-hint{grid-column: 1 / -1;margin: 0;font-size: 13px;color: var(--awv-text-muted);}
.awv-file-input{position: absolute;width: 1px;height: 1px;opacity: 0;pointer-events: none;}
.awv-btn{display: inline-flex;align-items: center;justify-content: center;gap: 6px;min-height: 38px;padding: 7px 14px;border: 1px solid var(--awv-border-strong);border-radius: 10px;background: var(--awv-surface);color: var(--awv-text-main);font-size: 14px;font-weight: 600;line-height: 1.2;cursor: pointer;transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;}
.awv-btn:hover{border-color: var(--awv-accent);color: var(--awv-accent-dark);}
.awv-btn:focus-visible,.awv-btn:focus-within{outline: 2px solid var(--awv-accent);outline-offset: 2px;}
.awv-btn:disabled{opacity: 0.45;cursor: not-allowed;}
.awv-btn-main{background: var(--awv-accent);border-color: var(--awv-accent);color: #ffffff;}
.awv-btn-main:hover{background: var(--awv-accent-dark);border-color: var(--awv-accent-dark);color: #ffffff;}
.awv-stage{padding: 0 20px;transition: opacity 0.2s ease;}
.awv-wave{display: block;width: 100%;height: 250px;background: var(--awv-paper);border: 1px solid var(--awv-border);border-radius: 10px 10px 0 0;cursor: crosshair;touch-action: pan-y;}
.awv-wave.is-tall{height: 340px;}
.awv-wave.is-drag{cursor: grabbing;}
.awv-wave:focus-visible{outline: 2px solid var(--awv-accent);outline-offset: 2px;}
.awv-ov{display: block;width: 100%;height: 44px;border: 1px solid var(--awv-border);border-top: 0;border-radius: 0 0 10px 10px;cursor: pointer;touch-action: none;}
.awv-transport{display: flex;flex-wrap: wrap;align-items: center;gap: 10px 14px;padding: 12px 20px 0;}
.awv-play{min-width: 84px;}
.awv-time{font-family: var(--awv-mono);font-size: 14px;font-variant-numeric: tabular-nums;color: var(--awv-text-main);}
.awv-cursor{flex: 1 1 220px;min-width: 0;font-family: var(--awv-mono);font-size: 12.5px;color: var(--awv-text-muted);}
.awv-zoom{display: inline-flex;align-items: center;gap: 4px;}
.awv-zoom .awv-btn{min-width: 38px;padding: 7px 10px;}
.awv-zoom output{min-width: 56px;text-align: center;font-family: var(--awv-mono);font-size: 13px;font-variant-numeric: tabular-nums;}
.awv-controls{display: flex;flex-wrap: wrap;align-items: flex-end;gap: 12px 18px;margin: 14px 20px 0;padding: 14px 0 0;border-top: 1px dashed var(--awv-border);}
.awv-field{display: flex;flex-direction: column;gap: 4px;font-size: 12.5px;font-weight: 600;color: var(--awv-text-muted);}
.awv-field select,.awv-field input[type="number"]{min-height: 36px;padding: 5px 10px;border: 1px solid var(--awv-border-strong);border-radius: 8px;background: var(--awv-surface);color: var(--awv-text-main);font-size: 14px;font-weight: 500;}
.awv-field select:focus-visible,.awv-field input:focus-visible{outline: 2px solid var(--awv-accent);outline-offset: 1px;}
.awv-field input[type="color"]{width: 52px;height: 36px;padding: 2px;border: 1px solid var(--awv-border-strong);border-radius: 8px;background: var(--awv-surface);cursor: pointer;}
.awv-check{display: inline-flex;align-items: center;gap: 7px;min-height: 36px;font-size: 14px;color: var(--awv-text-main);cursor: pointer;}
.awv-check input{width: 17px;height: 17px;accent-color: var(--awv-accent);}
.awv-keys{margin: 12px 20px 0;font-size: 12.5px;color: var(--awv-text-muted);}
.awv-keys kbd{padding: 1px 6px;border: 1px solid var(--awv-border-strong);border-bottom-width: 2px;border-radius: 5px;background: var(--awv-surface-muted);color: var(--awv-text-main);font-family: var(--awv-mono);font-size: 11.5px;}
.awv-status{min-height: 20px;margin: 8px 20px 16px;font-size: 13.5px;color: var(--awv-text-muted);}
.awv-status.is-warn{color: var(--awv-clip);font-weight: 600;}
.awv-report{display: grid;grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);gap: 22px;margin-bottom: 22px;}
.awv-card{min-width: 0;background: var(--awv-surface);border: 1px solid var(--awv-border);border-radius: 16px;padding: 20px 22px;color: var(--awv-text-main);}
.awv-card h2{margin: 0 0 14px;font-size: 18px;font-weight: 700;}
.awv-card h3{margin: 0 0 10px;font-size: 15.5px;font-weight: 700;}
.awv-stats{display: grid;grid-template-columns: minmax(0, 1fr);margin: 0;}
.awv-stats div{display: flex;justify-content: space-between;gap: 12px;padding: 9px 0;border-bottom: 1px solid var(--awv-border);}
.awv-stats div:last-child{border-bottom: 0;}
.awv-stats dt{font-size: 13.5px;font-weight: 500;color: var(--awv-text-muted);}
.awv-stats dd{margin: 0;text-align: right;font-family: var(--awv-mono);font-size: 13.5px;font-variant-numeric: tabular-nums;}
.awv-stats div.is-bad dd{color: var(--awv-clip);font-weight: 700;}
.awv-find{display: grid;grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);gap: 20px;}
.awv-find-col{min-width: 0;}
.awv-find-head{display: flex;align-items: center;justify-content: space-between;gap: 8px;margin-bottom: 10px;}
.awv-find-head h3{margin: 0;}
.awv-badge{min-width: 26px;padding: 2px 8px;border-radius: 999px;text-align: center;font-family: var(--awv-mono);font-size: 12px;font-weight: 700;}
.awv-badge-clip{background: var(--awv-clip-soft);color: var(--awv-clip);}
.awv-badge-gap{background: var(--awv-gap-soft);color: var(--awv-gap);}
.awv-gapset{display: flex;flex-wrap: wrap;gap: 10px;margin-bottom: 10px;}
.awv-gapset .awv-field input{width: 104px;}
.awv-hits{list-style: none;margin: 0;padding: 0;max-height: 248px;overflow-y: auto;}
.awv-hits li + li{margin-top: 6px;}
.awv-hit{display: flex;justify-content: space-between;align-items: center;gap: 10px;width: 100%;padding: 8px 10px;border: 1px solid var(--awv-border);border-left-width: 4px;border-radius: 8px;background: var(--awv-surface);text-align: left;font-family: var(--awv-mono);font-size: 12.5px;color: var(--awv-text-main);cursor: pointer;}
.awv-hit b{font-weight: 600;color: var(--awv-text-muted);white-space: nowrap;}
.awv-hit:hover{background: var(--awv-surface-muted);}
.awv-hit:focus-visible{outline: 2px solid var(--awv-accent);outline-offset: 1px;}
#awv-clips .awv-hit{border-left-color: var(--awv-clip);}
#awv-gaps .awv-hit{border-left-color: var(--awv-gap);}
.awv-empty{padding: 8px 0;font-size: 13px;color: var(--awv-text-muted);}
.awv-export{margin-bottom: 30px;}
.awv-exp-grid{display: grid;grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);gap: 24px;}
.awv-exp-col{min-width: 0;}
.awv-exp-col + .awv-exp-col{padding-left: 24px;border-left: 1px dashed var(--awv-border);}
.awv-exp-row{display: flex;flex-wrap: wrap;align-items: flex-end;gap: 10px 14px;margin-bottom: 12px;}
.awv-exp-row .awv-field input[type="number"]{width: 96px;}
.awv-exp-note{margin: 0 0 12px;font-size: 13px;color: var(--awv-text-muted);}
.awv-pre{margin: 0 0 6px;padding: 10px 12px;max-height: 120px;overflow: auto;border: 1px solid var(--awv-border);border-radius: 8px;background: var(--awv-paper);font-family: var(--awv-mono);font-size: 12px;line-height: 1.5;white-space: pre-wrap;word-break: break-all;color: var(--awv-text-main);}
.awv-pk-size{display: block;font-size: 12.5px;color: var(--awv-text-muted);}
.awv-guide{margin-bottom: 30px;color: var(--awv-text-main);}
.awv-guide > section{padding: 26px 0;border-top: 1px solid var(--awv-border);}
.awv-guide > section:first-child{border-top: 0;padding-top: 6px;}
.awv-guide h2{margin: 0 0 12px;font-size: 23px;font-weight: 700;line-height: 1.3;}
.awv-guide h3{margin: 18px 0 8px;font-size: 17px;font-weight: 700;}
.awv-guide p,.awv-guide li{font-size: 15.5px;line-height: 1.72;}
.awv-guide p{margin: 0 0 12px;}
.awv-guide code{padding: 1px 5px;border-radius: 4px;background: var(--awv-paper-2);color: var(--awv-accent-dark);font-family: var(--awv-mono);font-size: 0.88em;}
.awv-timeline{list-style: none;margin: 16px 0 0;padding: 0;border-left: 3px solid var(--awv-border);}
.awv-timeline li{position: relative;padding: 0 0 16px 22px;}
.awv-timeline li:last-child{padding-bottom: 0;}
.awv-timeline li::before{content: "";position: absolute;left: -8px;top: 7px;width: 13px;height: 13px;border-radius: 50%;background: var(--awv-surface);border: 3px solid var(--awv-accent);}
.awv-timeline li.is-gap::before{border-color: var(--awv-gap);}
.awv-timeline li.is-clip::before{border-color: var(--awv-clip);background: var(--awv-clip);}
.awv-stamp{display: inline-block;margin-right: 8px;padding: 1px 8px;border-radius: 6px;background: var(--awv-paper-2);font-family: var(--awv-mono);font-size: 13px;font-weight: 600;}
.awv-table-wrap{overflow-x: auto;margin: 14px 0 14px;border: 1px solid var(--awv-border);border-radius: 12px;}
.awv-table{width: 100%;min-width: 560px;border-collapse: collapse;font-size: 14.5px;}
.awv-table th,.awv-table td{padding: 10px 14px;text-align: left;vertical-align: top;border-bottom: 1px solid var(--awv-border);}
.awv-table thead th{background: var(--awv-surface-muted);font-size: 13px;font-weight: 700;color: var(--awv-text-muted);}
.awv-table tbody tr:last-child td{border-bottom: 0;}
.awv-table td:nth-child(2){font-family: var(--awv-mono);white-space: nowrap;}
.awv-pair{display: grid;grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);gap: 16px;margin-top: 6px;}
.awv-pair > div{padding: 16px 18px;border: 1px solid var(--awv-border);border-radius: 12px;background: var(--awv-surface);}
.awv-pair h3{margin-top: 0;}
.awv-pair p:last-child{margin-bottom: 0;}
.awv-rules{margin: 0 0 12px;padding-left: 20px;}
.awv-rules li{margin-bottom: 8px;}
.awv-code{margin: 12px 0 14px;padding: 14px 16px;overflow-x: auto;border-radius: 10px;background: #221d18;color: #f5e9dc;font-family: var(--awv-mono);font-size: 13px;line-height: 1.6;white-space: pre;}
.awv-limits{list-style: none;margin: 0;padding: 0;display: grid;grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);gap: 12px;}
.awv-limits li{padding: 14px 16px;border: 1px solid var(--awv-border);border-top: 3px solid var(--awv-border-strong);border-radius: 10px;background: var(--awv-surface-muted);font-size: 14.5px;line-height: 1.65;}
.awv-limits strong{display: block;margin-bottom: 3px;font-size: 15px;}
.awv-drop{display: flex;flex-direction: column;align-items: center;gap: 10px;margin: 20px;padding: 40px 20px 34px;border: 2px dashed var(--awv-border-strong);border-radius: 14px;background: var(--awv-paper);text-align: center;cursor: pointer;transition: border-color 0.15s ease, background 0.15s ease;}
.awv-drop:hover,.awv-deck.is-drop .awv-drop{border-color: var(--awv-accent);background: var(--awv-accent-soft);}
.awv-drop:focus-within{outline: 2px solid var(--awv-accent);outline-offset: 2px;}
.awv-file-input:focus-visible + .awv-drop{outline: 2px solid var(--awv-accent);outline-offset: 2px;}
.awv-drop-art{display: flex;align-items: center;gap: 4px;height: 46px;margin-bottom: 4px;}
.awv-drop-art i{display: block;width: 6px;border-radius: 3px;background: var(--awv-accent);opacity: 0.85;}
.awv-drop-art i:nth-child(1),.awv-drop-art i:nth-child(9){height: 12px;}
.awv-drop-art i:nth-child(2),.awv-drop-art i:nth-child(8){height: 22px;}
.awv-drop-art i:nth-child(3),.awv-drop-art i:nth-child(7){height: 34px;}
.awv-drop-art i:nth-child(4),.awv-drop-art i:nth-child(6){height: 26px;}
.awv-drop-art i:nth-child(5){height: 44px;}
.awv-drop-title{font-size: 18px;font-weight: 700;color: var(--awv-text-main);}
.awv-drop-sub{max-width: 52ch;font-size: 14px;color: var(--awv-text-muted);}
.awv-drop .awv-btn{margin-top: 6px;}
.awv-progress{margin: 20px;padding: 20px 22px;border: 1px solid var(--awv-border);border-radius: 14px;background: var(--awv-paper);}
.awv-progress-head{display: flex;justify-content: space-between;align-items: baseline;gap: 12px;margin-bottom: 10px;}
.awv-progress-step{font-size: 15.5px;font-weight: 700;color: var(--awv-text-main);}
.awv-progress-pct{font-family: var(--awv-mono);font-size: 13.5px;font-variant-numeric: tabular-nums;color: var(--awv-text-muted);}
.awv-progress-track{position: relative;height: 10px;overflow: hidden;border-radius: 999px;background: var(--awv-paper-2);}
.awv-progress-bar{position: absolute;left: 0;top: 0;bottom: 0;width: 0;border-radius: 999px;background: var(--awv-accent);transition: width 0.15s linear;}
.awv-progress.is-indeterminate .awv-progress-bar{width: 35%;transition: none;animation: awv-slide 1.1s ease-in-out infinite;}
@keyframes awv-slide{0%{transform: translateX(-100%);}100%{transform: translateX(290%);}}
.awv-progress-file{margin: 10px 0 12px;font-family: var(--awv-mono);font-size: 12.5px;color: var(--awv-text-muted);white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}
.awv-steps{display: flex;gap: 8px;margin: 0;padding: 0;list-style: none;counter-reset: awv-step;}
.awv-steps li{flex: 1 1 0;padding: 6px 10px;border: 1px solid var(--awv-border);border-radius: 8px;background: var(--awv-surface);font-size: 13px;font-weight: 600;color: var(--awv-text-muted);counter-increment: awv-step;}
.awv-steps li::before{content: counter(awv-step) ". ";}
.awv-steps li.is-on{border-color: var(--awv-accent);color: var(--awv-accent-dark);}
.awv-steps li.is-done{background: var(--awv-accent-soft);border-color: var(--awv-accent-soft);color: var(--awv-accent-dark);}
.awv-steps li.is-done::before{content: "\2713  ";}
@media (prefers-reduced-motion: reduce){.awv-progress.is-indeterminate .awv-progress-bar{width: 100%;animation: none;opacity: 0.55;}}
@media (max-width: 991px){.awv-report{grid-template-columns: minmax(0, 1fr);}.awv-exp-grid{grid-template-columns: minmax(0, 1fr);}.awv-exp-col + .awv-exp-col{padding-left: 0;padding-top: 20px;border-left: 0;border-top: 1px dashed var(--awv-border);}}
@media (max-width: 575px){.awv-drop,.awv-progress{margin: 14px;}.awv-drop{padding: 28px 14px 24px;}.awv-load{grid-template-columns: minmax(0, 1fr);padding: 14px 16px;}.awv-load-actions{justify-content: flex-start;}.awv-stage{padding: 0 12px;}.awv-wave{height: 200px;}.awv-wave.is-tall{height: 280px;}.awv-transport,.awv-keys,.awv-status{padding-left: 16px;padding-right: 16px;margin-left: 0;margin-right: 0;}.awv-controls{margin-left: 16px;margin-right: 16px;}.awv-find{grid-template-columns: minmax(0, 1fr);}.awv-pair{grid-template-columns: minmax(0, 1fr);}.awv-limits{grid-template-columns: minmax(0, 1fr);}.awv-card{padding: 16px;}.awv-guide h2{font-size: 20px;}}