/* タイプ切替を、名前だけの表示ではなく選択ボタンとして見せる。 */
.sw-me { gap: 6px; min-height: 48px; padding: 4px 10px 4px 4px; border: 1px solid rgba(185,255,240,.65); border-radius: 14px; background: linear-gradient(125deg, rgba(138,108,255,.5), rgba(52,224,189,.16)), #1d1935; box-shadow: 0 0 0 2px rgba(138,108,255,.15); }
.sw-me .type-art, .sw-me-q { width: 38px; height: 38px; }
.sw-me-text { display: grid; gap: 1px; text-align: left; }
.sw-me-text small { color: #b9fff0; font-size: 10px; font-weight: 750; white-space: nowrap; }
.sw-me-text b { font-size: 13px; line-height: 1.3; }
.sw-me-caret { opacity: 1; font-size: 15px; margin-left: 2px; color: #b9fff0; }
.sw-me:hover, .sw-me[aria-expanded="true"] { border-color: var(--accent-2); background-color: #35304c; }
.sw-me:focus-visible { outline: 2px solid var(--accent-2); outline-offset: 3px; }
.sw-top .sw-cats { min-width: 0; }
.sw-prompt-mute { margin-top: 14px; min-height: 44px; }

.sw-storage-note { position: absolute; z-index: 6; left: 14px; right: 14px; top: 74px; padding: 10px 12px; border: 1px solid #ff889f; border-radius: 10px; background: #23121b; color: #fff; font-size: 13px; }
.sw-like-status { margin: 8px 0 0; color: #ffb6c7; font-size: 12px; }

/* カードは実タグを6つまで出し、残りは作品を覆い続けない折り畳みへ。 */
.sw-card-tags { position: relative; width: fit-content; margin: 0 0 6px; pointer-events: auto; }
.sw-card-tags > summary { min-height: 28px; padding: 3px 8px; border-radius: 8px; color: #b9fff0; background: rgba(0,0,0,.45); font-size: 12px; font-weight: 750; cursor: pointer; }
.sw-card-tag-list { position: absolute; z-index: 4; left: 0; bottom: calc(100% + 6px); width: min(280px, calc(100vw - 100px)); max-height: 180px; overflow-y: auto; overscroll-behavior: contain; display: flex; flex-wrap: wrap; gap: 6px; padding: 12px; border: 1px solid rgba(52,224,189,.5); border-radius: 12px; background: #17142a; box-shadow: 0 8px 30px rgba(0,0,0,.4); touch-action: pan-y pinch-zoom; }
.sw-card-tags:not([open]) .sw-card-tag-list { display: none; }
.sw-card-tag-list .sw-tag { min-height: 36px; max-width: 100%; overflow-wrap: anywhere; text-align: left; }
.sw-card-tags > summary:focus-visible, .sw-card-tag-list .sw-tag:focus-visible { outline: 2px solid var(--accent-2); outline-offset: 2px; }
.sw-tag-search-label { display: block; margin: 10px 0 6px; font-size: 13px; font-weight: 750; }
.sw-tag-search { box-sizing: border-box; width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--bg); color: var(--text); font: inherit; }
.sw-tag-search:focus-visible { outline: 2px solid var(--accent-2); outline-offset: 2px; }
.sw-tag-search-status { margin: 8px 0; color: var(--muted); font-size: 12px; }
