.ab-tool .ab-layout{align-items: flex-start;row-gap: 16px}.ab-book-panel,.ab-lib-panel{min-width: 0}.ab-panel-header{display: flex;flex-wrap: wrap;align-items: flex-start;gap: 4px 12px}.ab-panel-header>span:first-child{flex: 0 0 auto;white-space: nowrap}.ab-panel-header i{margin-right: 6px}.ab-status{flex: 1 1 100%;min-width: 0;color: var(--text-3);font-size: 12.5px;font-weight: 500;line-height: 1.5;text-align: left}.ab-lib-panel .ab-status{flex: 1 1 auto;text-align: right}.ab-book-body,.ab-lib-body{display: flex;flex-direction: column;gap: 14px}.ab-field{display: flex;flex-direction: column;gap: 6px;min-width: 0;margin: 0;color: var(--text-2);font-size: 13.5px;font-weight: 600}.ab-field .form-control{width: 100%;min-width: 0;padding-top: 8px;padding-bottom: 8px;font-size: 14px}.ab-field small,.ab-set-note{color: var(--text-3);font-size: 12px;font-weight: 500;line-height: 1.55}.ab-field small code,.ab-set-note code{padding: 1px 4px;border-radius: 4px;background: var(--bg-soft);color: var(--text-2);font-size: 11.5px}.ab-book{position: relative;min-height: 168px;padding: 6px;border-radius: var(--radius-lg);background: var(--bg-soft);perspective: 900px}.ab-page{position: relative;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 10px;min-height: 156px;padding: 20px 18px;border: 1px solid var(--border);border-radius: var(--radius);background: var(--bg);box-shadow: var(--shadow-sm);text-align: center;transform-origin: left center;transition: transform .28s ease,opacity .2s ease}.ab-page::before{content: '';position: absolute;top: 6px;right: -6px;bottom: -6px;left: 6px;z-index: -1;border: 1px solid var(--border);border-radius: var(--radius);background: var(--bg-soft)}.ab-ask{margin: 0;max-width: 100%;color: var(--text-3);font-size: 13px;font-weight: 500;line-height: 1.6;overflow-wrap: break-word}.ab-answer{margin: 0;max-width: 100%;color: var(--text-3);font-size: 21px;font-weight: 700;line-height: 1.6;letter-spacing: .01em;overflow-wrap: break-word}.ab-answer.is-drawn{color: var(--text)}.ab-tagline{margin: 0;color: var(--text-3);font-size: 12px;line-height: 1.6;text-align: center}.ab-ask,.ab-answer,.ab-tagline{transition: opacity .16s ease-out}.ab-turn{position: absolute;top: -1px;right: -1px;bottom: -1px;left: -1px;z-index: 1;transform: rotateY(-180deg);transform-origin: left center;transform-style: preserve-3d;opacity: 0;pointer-events: none}.ab-turn::before,.ab-turn::after{content: '';position: absolute;top: 0;right: 0;bottom: 0;left: 0;border-radius: var(--radius);backface-visibility: hidden}.ab-turn::before{background: linear-gradient(105deg,#fff 0%,#f6f9fe 45%,#e6eefb 100%);box-shadow: 0 8px 18px rgba(15,23,42,.14)}.ab-turn::after{transform: rotateY(180deg);background: linear-gradient(255deg,#eaf1fb 0%,#f8fafd 55%,#fff 100%);box-shadow: -8px 0 18px rgba(15,23,42,.12)}.ab-book.is-rolling .ab-turn{animation: ab-flip .85s cubic-bezier(.42,.04,.58,.96) infinite}@keyframes ab-flip{0%{transform: rotateY(0deg);opacity: 1}78%{transform: rotateY(-168deg);opacity: 1}100%{transform: rotateY(-180deg);opacity: 0}}.ab-book.is-rolling .ab-page{animation: ab-turn .62s ease-in-out infinite}@keyframes ab-turn{0%,100%{transform: rotateY(0deg)}50%{transform: rotateY(-7deg)}}.ab-book.is-rolling .ab-ask,.ab-book.is-rolling .ab-answer,.ab-book.is-rolling .ab-tagline{opacity: 0}.ab-book:not(.is-rolling) .ab-answer.is-drawn{animation: ab-land .34s ease-out}@keyframes ab-land{from{opacity: 0;transform: translateY(6px)}to{opacity: 1;transform: none}}.ab-rolling{position: absolute;top: 0;right: 0;bottom: 0;left: 0;z-index: 2;display: flex;align-items: center;justify-content: center;gap: 8px;margin: 0;color: var(--text-3);font-size: 13px}.ab-spinner{display: inline-block;width: 13px;height: 13px;margin-right: 6px;border: 2px solid var(--border-strong);border-top-color: var(--primary);border-radius: 50%;vertical-align: -2px;animation: ab-spin .9s linear infinite}@keyframes ab-spin{to{transform: rotate(360deg)}}.ab-set{display: flex;flex-direction: column;gap: 7px;min-width: 0}.ab-set-title{display: flex;flex-wrap: wrap;align-items: center;gap: 8px;color: var(--text-3);font-size: 12.5px;font-weight: 600}.ab-set-title i{margin-right: 5px;color: var(--primary)}.ab-set-list{display: flex;flex-wrap: wrap;gap: 6px}.ab-item{display: inline-flex;align-items: center;gap: 4px;max-width: 100%;padding: 5px 11px;border: 1px solid var(--border);border-radius: 999px;background: var(--bg);color: var(--text-2);font-size: 12.5px;font-weight: 600;line-height: 1.5;cursor: pointer;transition: border-color .15s,background .15s,color .15s}.ab-item em{font-style: normal;color: var(--text-3);font-size: 11.5px}.ab-item:hover{border-color: var(--primary);color: var(--primary)}.ab-item.is-active{border-color: var(--primary);background: var(--primary);color: #fff}.ab-item.is-active em{color: rgba(255,255,255,.78)}.ab-item-ghost{padding: 2px 9px;font-size: 11.5px}.ab-message{padding: 8px 10px;border: 1px solid var(--toast-error-border);border-radius: 8px;background: var(--toast-error-bg);color: var(--toast-error-text);font-size: 12.5px;line-height: 1.6}.ab-empty{padding: 18px 12px;border: 1px dashed var(--border-strong);border-radius: var(--radius);color: var(--text-3);font-size: 13px;text-align: center}.ab-note{margin: 6px 0 0;color: var(--text-3);font-size: 12px;line-height: 1.55}.ab-history-wrap{display: flex;flex-direction: column;gap: 6px}.ab-history{display: flex;flex-direction: column;margin: 0;padding: 0;list-style: none}.ab-hitem{display: grid;grid-template-columns: 74px minmax(0,1fr) auto;align-items: baseline;gap: 4px 10px;padding: 6px 8px;border-bottom: 1px solid var(--border);border-radius: 6px;cursor: pointer;transition: background .12s}.ab-hitem:last-child{border-bottom: 0}.ab-hitem:hover{background: var(--bg-soft)}.ab-hwhen{color: var(--text-3);font-family: var(--mono);font-size: 11px}.ab-hbody{display: flex;flex-direction: column;gap: 1px;min-width: 0}.ab-hask{color: var(--text-3);font-size: 11.5px;line-height: 1.45;overflow-wrap: break-word}.ab-http{color: var(--text);font-size: 13.5px;font-weight: 600;line-height: 1.5;overflow-wrap: break-word}.ab-hverdict{color: var(--text-3);font-size: 11.5px;white-space: nowrap}.ab-groups{display: flex;flex-direction: column;gap: 16px;min-width: 0}.ab-group{min-width: 0}.ab-group-head{display: flex;flex-wrap: wrap;align-items: baseline;gap: 4px 8px;padding: 0 2px 6px;border-bottom: 1px solid var(--border);color: var(--text);font-size: 13.5px;font-weight: 700}.ab-group-count{color: var(--text-3);font-size: 11.5px;font-weight: 600}.ab-group-hint{color: var(--text-3);font-size: 11.5px;font-weight: 500}.ab-list{display: flex;flex-direction: column;margin: 0;padding: 0;list-style: none}.ab-row{display: grid;grid-template-columns: minmax(0,1fr) auto auto;align-items: center;gap: 4px 12px;padding: 7px 8px;border-bottom: 1px solid var(--border);border-radius: 6px;cursor: pointer;transition: background .12s}.ab-row:last-child{border-bottom: 0}.ab-row:hover{background: var(--bg-soft)}.ab-row.is-hit{background: var(--primary-soft)}.ab-what{display: flex;flex-direction: column;gap: 1px;min-width: 0}.ab-text{color: var(--text);font-size: 13.5px;font-weight: 600;line-height: 1.5;overflow-wrap: break-word}.ab-old{color: var(--text-3);font-size: 11.5px;line-height: 1.45;overflow-wrap: break-word}.ab-verdict{padding: 1px 8px;border-radius: 999px;background: var(--bg-soft);color: var(--text-2);font-size: 11px;font-weight: 700;white-space: nowrap}.ab-row[data-verdict="yes"] .ab-verdict{background: var(--success-soft);color: var(--success)}.ab-row[data-verdict="act"] .ab-verdict{background: var(--primary-soft);color: var(--primary)}.ab-row[data-verdict="wait"] .ab-verdict{background: var(--info-soft);color: var(--info)}.ab-row[data-verdict="no"] .ab-verdict{background: var(--danger-soft);color: var(--danger)}.ab-row[data-verdict="warn"] .ab-verdict{background: var(--warning-soft);color: var(--warning)}.ab-row[data-verdict="reframe"] .ab-verdict{background: rgba(124,58,237,.13);color: #7c3aed}.ab-toolbar{display: flex;flex-wrap: wrap;align-items: center;gap: 8px}.ab-toolbar .btn{min-width: 92px}.ab-toolbar .ab-toolbar-end{margin-left: auto}.ab-toolbar-end{cursor: default}.ab-toolbar-end:hover{border-color: var(--border);color: var(--text-2)}.ab-copy{display: inline-flex;align-items: center;justify-content: center;width: 28px;height: 28px;padding: 0;border: 1px solid var(--border);border-radius: 7px;background: var(--bg);color: var(--text-3);font-size: 13px;cursor: pointer;opacity: 0;transition: opacity .12s,border-color .12s,color .12s}.ab-row:hover .ab-copy,.ab-copy:focus-visible{opacity: 1}.ab-copy:hover{border-color: var(--primary);color: var(--primary)}.ab-block{margin: 0 0 16px;padding: 14px 16px;border: 1px solid var(--border);border-radius: var(--radius);background: var(--bg-soft)}.ab-block-head{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 8px;margin-bottom: 10px;font-size: 13.5px}.ab-block-head i{margin-right: 5px;color: var(--primary)}.ab-block p{margin: 0;color: var(--text-2);font-size: 13px;line-height: 1.75}.ab-block code{padding: 1px 5px;border-radius: 4px;background: var(--bg);color: var(--text);font-family: var(--mono);font-size: 11.5px}@media (max-width: 991px){.ab-hitem{grid-template-columns: minmax(0,1fr) auto}.ab-hwhen{grid-column: 1 / -1;order: -1}}@media (max-width: 640px){.ab-toolbar .btn{flex: 1 1 auto;min-width: 0}.ab-copy{opacity: 1}.ab-answer{font-size: 19px}.ab-hitem{grid-template-columns: minmax(0,1fr)}.ab-hverdict{justify-self: start}}:root[data-theme="dark"] .ab-item.is-active{background: var(--primary-soft);color: var(--primary)}:root[data-theme="dark"] .ab-row[data-verdict="reframe"] .ab-verdict{color: #b794f4}:root[data-theme="dark"] .ab-item.is-active em{color: var(--text-3)}:root[data-theme="dark"] .ab-page{background: #23272e}:root[data-theme="dark"] .ab-turn::before{background: linear-gradient(105deg,#2d333b 0%,#272d36 45%,#202a3a 100%);box-shadow: 0 8px 18px rgba(0,0,0,.5)}:root[data-theme="dark"] .ab-turn::after{background: linear-gradient(255deg,#202a3a 0%,#272d36 55%,#2d333b 100%);box-shadow: -8px 0 18px rgba(0,0,0,.45)}:root[data-theme="dark"] .ab-page::before{border-color: var(--border);background: #1b2331}:root[data-theme="dark"] .ab-row:hover{background: var(--bg-soft)}:root[data-theme="dark"] .ab-copy{background: #23272e}:root[data-theme="dark"] .ab-block code{background: #23272e}