/* NPC 互動與村莊共用深色石墨、霧金操作與細分隔線。只作用於 NPC sheet。 */
#town-interaction-container {
    background: var(--ed-surface);
    border-color: var(--ed-line);
    border-radius: 0;
    box-shadow: 0 -18px 45px rgba(3, 8, 9, .42);
}
#town-sheet-grab { background: #65746e; }
#town-sheet-head {
    align-items: center;
    padding: 10px 16px 13px;
    background: var(--ed-field);
    border-bottom: 1px solid var(--ed-line);
}
.npc-sheet-kicker {
    margin-bottom: 6px;
    color: var(--ed-gold-light);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .16em;
}
.npc-sheet-kicker span { margin-left: 5px; color: var(--ed-quiet); letter-spacing: .06em; }
#town-sheet-head .ttl { align-items: baseline; gap: 9px; }
#interaction-npc-name { color: var(--ed-text); font-size: 19px; letter-spacing: .035em; }
#interaction-npc-title,
#interaction-npc-title::before { color: var(--ed-muted); }
#interaction-npc-desc { margin: 4px 0 0; color: var(--ed-muted); line-height: 1.5; }
#town-sheet-x { margin: 0 -7px 0 0; color: var(--ed-muted); }
#town-sheet-x:hover,
#town-sheet-x:focus-visible { color: var(--ed-gold-light); }
body[data-mnpc] #hunt-ctl { visibility: hidden; pointer-events: none; }

#interaction-content {
    padding: 11px 12px 15px;
    background: var(--ed-surface);
    scrollbar-color: var(--ed-line) var(--ed-surface);
}
#interaction-content .list-item {
    background: #1a2628 !important;
    border: 1px solid var(--ed-line-soft) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
#interaction-content .list-item:hover { background: #202e2e !important; border-color: var(--ed-line) !important; }
#interaction-content .list-item .w-12,
#interaction-content .list-item .w-10,
#interaction-content .craft-ic {
    background: var(--ed-field) !important;
    border-color: var(--ed-line-soft) !important;
    border-radius: 0;
}
#interaction-content .shop-desc { color: var(--ed-muted); }
#interaction-content .text-slate-300 { color: #ccd6cd; }
#interaction-content .text-slate-400,
#interaction-content .text-slate-500 { color: var(--ed-muted); }
#interaction-content .text-yellow-400,
#interaction-content .text-amber-300 { color: var(--ed-gold-light); }
#interaction-content .text-green-400 { color: #a5d5b7; }
#interaction-content .text-red-400 { color: #d69186; }

#interaction-content .craft-row { border-left: 2px solid #8d815f !important; }
#interaction-content .craft-main { min-width: 0; }
#interaction-content .craft-y { color: var(--ed-gold-light); }
#interaction-content .craft-req { color: var(--ed-muted); font-variant-numeric: tabular-nums; }
#interaction-content .craft-req .ok { color: #a5d5b7; }
#interaction-content .craft-req .no { color: #d69186; }
#interaction-content .craft-plus { color: #697b75; }
#interaction-content .craft-empty { color: var(--ed-muted); }

#interaction-content input[type="number"] {
    background: var(--ed-field) !important;
    border: 1px solid var(--ed-line) !important;
    border-radius: 0 !important;
    box-shadow: none;
    color: var(--ed-text);
    font-variant-numeric: tabular-nums;
}
#interaction-content input[type="number"]:focus-visible {
    border-color: var(--ed-gold) !important;
    outline: 1px solid var(--ed-gold);
    outline-offset: 1px;
}
#interaction-content button { border-radius: 0 !important; box-shadow: none !important; }
#interaction-content button.bg-blue-700:not(:disabled),
#interaction-content button.bg-blue-800:not(:disabled),
#interaction-content button.bg-blue-600:not(:disabled) {
    background: var(--ed-gold) !important;
    border-color: var(--ed-gold) !important;
    color: #101719 !important;
}
#interaction-content button.bg-blue-700:hover:not(:disabled),
#interaction-content button.bg-blue-800:hover:not(:disabled),
#interaction-content button.bg-blue-600:hover:not(:disabled) {
    background: var(--ed-gold-light) !important;
    border-color: var(--ed-gold-light) !important;
}
#interaction-content button:disabled { opacity: .55; cursor: not-allowed; }
#interaction-content .bg-slate-800,
#interaction-content .bg-slate-900 {
    background-color: #1a2628 !important;
    border-color: var(--ed-line-soft);
    border-radius: 0;
}

@media (min-width: 1280px) {
    #town-sheet-head { padding: 18px 24px 19px; }
    #interaction-npc-name { font-size: 23px; }
    #interaction-npc-desc { font-size: 12px; }
    #interaction-content { padding: 17px 22px 22px; }
    #interaction-content .craft-nm { font-size: 15px; }
    #interaction-content .craft-req { font-size: 12px; line-height: 1.45; }
}

@media (max-width: 767px) {
    #town-sheet-head { padding: 8px 12px 11px; }
    .npc-sheet-kicker { font-size: 9px; margin-bottom: 4px; }
    #interaction-npc-name { font-size: 17px; }
    #interaction-content { padding: 8px 9px 10px; }
}
