.ac-site-main:has(.ab-nest-page) { padding: 0 !important; }
body:has(.ab-nest-page),
.ac-site-main:has(.ab-nest-page) { background: #14080a; }
body:has(.ab-nest-page) footer {
    margin-top: 0;
    background: #14080a;
    border-top: 0;
    color: #fbbf24;
}
.ab-nest-page {
    position: relative;
    overflow-x: hidden;
    min-height: calc(100dvh - 4.75rem);
    padding: 1rem clamp(0.8rem, 3vw, 2.4rem) 2.4rem;
    color: #fff7ed;
    background:
        radial-gradient(900px 280px at 8% -8%, rgba(248, 113, 113, 0.28), transparent 55%),
        radial-gradient(820px 260px at 94% 8%, rgba(251, 191, 36, 0.22), transparent 52%),
        radial-gradient(640px 220px at 50% 108%, rgba(14, 165, 233, 0.14), transparent 46%),
        #14080a;
}
.ab-nest-hero { text-align: center; margin-bottom: 1.1rem; }
.ab-kicker {
    display: inline-flex; align-items: center; gap: 0.4rem;
    font-size: 0.64rem; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; color: #fbbf24;
}
.ab-kicker i {
    width: 0.5rem; height: 0.5rem; border-radius: 50%; background: #f97316;
    box-shadow: 0 0 12px #fb923c;
}
.ab-nest-hero h1 {
    font-size: clamp(1.5rem, 3vw, 2.15rem); font-weight: 900; margin: 0.25rem 0 0.4rem;
    background: linear-gradient(90deg, #fff, #fbbf24 42%, #f87171 88%);
    -webkit-background-clip: text; background-clip: text; color: transparent;
}
.ab-nest-hero p { max-width: 40rem; margin: 0 auto; color: #fdba74; }
.ab-nest-tools {
    display: flex; flex-wrap: wrap; gap: 0.7rem; justify-content: center;
    max-width: 72rem; margin: 0 auto 1rem;
}
.ab-search {
    min-width: min(100%, 22rem);
    border: 1px solid rgba(251, 191, 36, 0.35);
    background: rgba(20, 8, 10, 0.72);
    color: #fff7ed;
    border-radius: 999px;
    padding: 0.5rem 0.95rem;
    outline: none;
}
.ab-search:focus { border-color: #fbbf24; box-shadow: 0 0 0 3px rgba(251, 191, 36, 0.18); }
.ab-drag-hint { color: #fdba74; font-size: 0.82rem; align-self: center; }
.ab-add {
    max-width: 72rem; margin: 0 auto 1.1rem;
    border-radius: 1.2rem;
    padding: 1rem 1.05rem;
    background: rgba(28, 10, 12, 0.82);
    border: 1px solid rgba(248, 113, 113, 0.35);
    box-shadow: 0 16px 36px rgba(2, 6, 23, 0.35);
}
.ab-add-grid {
    display: grid;
    grid-template-columns: 1.5fr 0.8fr 1.2fr 0.7fr;
    gap: 0.65rem;
    align-items: end;
}
.ab-add-grid > label:nth-child(2) { grid-column: 1 / -1; }
.ab-add label, .ab-edit-box label {
    display: grid; gap: 0.28rem; margin: 0;
    font-size: 0.72rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; color: #fdba74;
}
.ab-add input, .ab-add select, .ab-edit-box input, .ab-edit-box select {
    background: rgba(15, 6, 8, 0.75);
    border: 1px solid rgba(251, 191, 36, 0.28);
    color: #fff7ed;
    border-radius: 0.7rem;
    padding: 0.45rem 0.6rem;
}
.ab-diff-picks {
    display: flex; flex-wrap: wrap; gap: 0.28rem;
}
.ab-diff-picks label {
    text-transform: none; letter-spacing: 0; cursor: pointer;
}
.ab-diff-picks input { position: absolute; opacity: 0; pointer-events: none; }
.ab-diff-picks img {
    width: 28px; height: 28px; object-fit: contain;
    border-radius: 0.45rem;
    padding: 2px;
    border: 2px solid transparent;
    background: rgba(15, 6, 8, 0.5);
}
.ab-diff-picks input:checked + img,
.ab-diff-picks input:focus + img {
    border-color: #fbbf24;
    box-shadow: 0 0 0 3px rgba(251, 191, 36, 0.25);
}
.ab-btn {
    border: 0; border-radius: 0.8rem; font-weight: 800;
    padding: 0.55rem 0.9rem; cursor: pointer;
}
.ab-btn-add { background: linear-gradient(90deg, #f97316, #ef4444); color: #1c0a0c; }
.ab-btn-save { background: #4ade80; color: #052e16; }
.ab-btn-ghost {
    background: transparent; color: #fdba74;
    border: 1px solid rgba(251, 191, 36, 0.35);
}
.ab-btn-danger { background: #7f1d1d; color: #fecaca; }
.ab-list { max-width: 72rem; margin: 0 auto; display: grid; gap: 0.65rem; }
.ab-card {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 0.75rem;
    align-items: center;
    border-radius: 1.05rem;
    padding: 0.8rem 0.9rem;
    background: rgba(28, 10, 12, 0.78);
    border: 1px solid rgba(251, 191, 36, 0.22);
    box-shadow: 0 10px 24px rgba(2, 6, 23, 0.28);
}
.ab-card.is-dragging { opacity: 0.45; }
.ab-card.is-dragover { outline: 2px dashed #fbbf24; }
.ab-rank-col { display: flex; align-items: center; gap: 0.4rem; }
.ab-grip {
    cursor: grab; color: #fdba74; font-size: 1.05rem; line-height: 1; user-select: none;
    padding: 0.15rem 0.2rem;
}
.ab-grip:active { cursor: grabbing; }
.ab-rank {
    min-width: 2.1rem; text-align: center;
    font-weight: 900; font-size: 1.15rem; color: #fbbf24;
}
.ab-move { display: grid; gap: 0.2rem; }
.ab-move button {
    border: 1px solid rgba(251, 191, 36, 0.3);
    background: rgba(15, 6, 8, 0.6);
    color: #fff7ed;
    border-radius: 0.4rem;
    line-height: 1;
    padding: 0.1rem 0.35rem;
    font-size: 0.72rem;
}
.ab-card-main { display: flex; align-items: center; gap: 0.7rem; min-width: 0; }
.ab-card-main img { width: 32px; height: 32px; object-fit: contain; flex-shrink: 0; }
.ab-card-title { font-weight: 800; color: #fff7ed; word-break: break-word; }
.ab-card-sub { color: #fdba74; font-size: 0.82rem; }
.ab-card-actions { display: flex; flex-wrap: wrap; gap: 0.35rem; justify-content: flex-end; }
.ab-jump {
    display: flex; align-items: center; gap: 0.25rem;
    color: #fdba74; font-size: 0.72rem; font-weight: 700;
}
.ab-jump input {
    width: 3.4rem; background: rgba(15, 6, 8, 0.75);
    border: 1px solid rgba(251, 191, 36, 0.28);
    color: #fff7ed; border-radius: 0.45rem; padding: 0.2rem 0.3rem;
}
.ab-edit-box {
    grid-column: 1 / -1;
    border-top: 1px dashed rgba(251, 191, 36, 0.25);
    padding-top: 0.7rem;
}
.ab-edit-grid {
    display: grid;
    grid-template-columns: 1.5fr 0.8fr 0.8fr 1.1fr auto;
    gap: 0.5rem;
    align-items: end;
}
.ab-empty { text-align: center; color: #fdba74; padding: 1.4rem 0; }
.ab-modal {
    position: fixed; inset: 0; z-index: 1500;
    display: none; align-items: center; justify-content: center;
    background: rgba(2, 6, 23, 0.72);
    padding: 1rem;
}
.ab-modal.is-open { display: flex; }
.ab-modal-card {
    width: min(28rem, 100%);
    background: #1c0a0c;
    border: 1px solid rgba(248, 113, 113, 0.45);
    border-radius: 1rem;
    padding: 1.1rem 1.15rem 1rem;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45);
    color: #fff7ed;
}
.ab-modal-card h3 { font-size: 1.05rem; font-weight: 900; margin: 0 0 0.4rem; }
.ab-modal-card p { color: #fdba74; margin: 0 0 1rem; }
.ab-modal-actions { display: flex; gap: 0.5rem; justify-content: flex-end; }
@media (max-width: 900px) {
    .ab-add-grid, .ab-edit-grid { grid-template-columns: 1fr 1fr; }
    .ab-card { grid-template-columns: 1fr; }
    .ab-card-actions { justify-content: flex-start; }
}
html[data-theme="light"] .ab-nest-page { color: #431407; }
html[data-theme="light"] body:has(.ab-nest-page),
html[data-theme="light"] .ac-site-main:has(.ab-nest-page) { background: #fff7ed; }
html[data-theme="light"] .ab-nest-page {
    background:
        radial-gradient(900px 280px at 8% -8%, rgba(248, 113, 113, 0.18), transparent 55%),
        radial-gradient(820px 260px at 94% 8%, rgba(251, 191, 36, 0.2), transparent 52%),
        #fff7ed;
}
html[data-theme="light"] .ab-nest-hero h1 { background: linear-gradient(90deg, #7c2d12, #ea580c 50%, #b91c1c); -webkit-background-clip: text; background-clip: text; }
html[data-theme="light"] .ab-nest-hero p,
html[data-theme="light"] .ab-card-sub,
html[data-theme="light"] .ab-drag-hint,
html[data-theme="light"] .ab-empty { color: #9a3412; }
html[data-theme="light"] .ab-add,
html[data-theme="light"] .ab-card,
html[data-theme="light"] .ab-modal-card { background: #fffbeb; color: #431407; }
html[data-theme="light"] .ab-card-title { color: #431407; }
html[data-theme="light"] .ab-add input, html[data-theme="light"] .ab-add select,
html[data-theme="light"] .ab-edit-box input, html[data-theme="light"] .ab-edit-box select,
html[data-theme="light"] .ab-jump input, html[data-theme="light"] .ab-search {
    background: #fff; color: #431407; border-color: rgba(180, 83, 9, 0.35);
}
