/* 2026-10-28 다락이 미니 (코덱스 펫처럼: 아래 알약 막대 + 오른쪽 메뉴) */
.resident-cat[hidden]{display:none!important}
.dm-pill{position:absolute;z-index:7;display:flex;align-items:center;gap:2px;padding:4px;border-radius:999px;background:#fff;box-shadow:0 6px 20px rgb(30 25 15/.16),0 1px 2px rgb(0 0 0/.06);pointer-events:auto}
.dm-pill[hidden]{display:none}
.dm-btn{display:grid;place-items:center;width:40px;height:36px;min-height:0!important;min-width:0!important;padding:0!important;border:0!important;border-radius:999px!important;background:transparent!important;color:#2b2925;cursor:pointer}
.dm-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.dm-btn:hover{background:#f3f1ec!important}
.dm-btn:focus-visible,.dm-item:focus-visible,.dm-switch:focus-visible,.dm-size button:focus-visible,.dm-call:focus-visible{outline:3px solid #1d6f78;outline-offset:2px}
.dm-sep{width:1px;height:20px;background:#e3e0d8}
.dm-btn.is-listening{color:#d0573a}
.dm-btn.is-listening svg path{animation:dm-wave .9s ease-in-out infinite;transform-origin:center}
.dm-btn.is-listening svg path:nth-child(2){animation-delay:.15s}.dm-btn.is-listening svg path:nth-child(3){animation-delay:.3s}.dm-btn.is-listening svg path:nth-child(4){animation-delay:.45s}
@keyframes dm-wave{50%{transform:scaleY(.45)}}
.dm-bubble{position:absolute;z-index:8;max-width:260px;margin:0;padding:8px 12px;border-radius:12px;background:#fffdf4;color:#2b2925;font:600 13px/1.45 var(--font-reading,sans-serif);box-shadow:0 6px 20px rgb(30 25 15/.16);pointer-events:none}
.dm-bubble[hidden]{display:none}
.dm-menu{position:absolute;z-index:12;min-width:190px;padding:6px;border:1px solid rgb(0 0 0/.08);border-radius:14px;background:#fff;color:#222;box-shadow:0 12px 32px rgb(30 25 15/.18);pointer-events:auto;font:400 15px/1.4 var(--font-reading,sans-serif)}
.dm-item{display:flex;align-items:center;gap:10px;width:100%;min-height:42px!important;padding:0 12px!important;border:0!important;border-radius:9px!important;background:transparent!important;color:#222!important;font:inherit!important;text-align:left;cursor:pointer}
.dm-item:hover{background:#f3f1ec!important}
.dm-item svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.dm-menu.is-settings{width:240px;padding:12px 14px}
.dm-title{margin:0 0 8px;font-weight:600}
.dm-label{margin:12px 0 6px;font-size:13px;color:#666}
.dm-switch{display:flex;align-items:center;gap:10px;width:100%;min-height:40px!important;padding:0!important;border:0!important;background:none!important;color:#222!important;font:inherit!important;cursor:pointer}
.dm-track{position:relative;flex:none;width:38px;height:22px;border-radius:999px;background:#cfc8ba;transition:background .18s}
.dm-track span{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgb(0 0 0/.25);transition:transform .18s}
.dm-switch[aria-checked=true] .dm-track{background:#df836a}.dm-switch[aria-checked=true] .dm-track span{transform:translateX(16px)}
.dm-size{display:flex;gap:6px}
.dm-size button{flex:1;min-height:36px!important;padding:0!important;border:1px solid #ddd!important;border-radius:8px!important;background:#fff!important;color:#333!important;font:inherit!important;font-size:14px!important;cursor:pointer}
.dm-size button[aria-pressed=true]{border-color:#2b2925!important;background:#2b2925!important;color:#fff!important}
.dm-note{margin:12px 0 0;font-size:12px;line-height:1.5;color:#777}
.dm-call{position:absolute;z-index:8;right:2%;bottom:11%;display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 14px;border:1px solid rgb(0 0 0/.1);border-radius:999px;background:rgb(255 253 246/.94);color:#3a2f22;font:600 14px var(--font-reading,sans-serif);box-shadow:0 2px 8px rgb(40 30 10/.12);cursor:pointer;pointer-events:auto}
.dm-call[hidden]{display:none}
@media(min-width:1024px){.dm-pill,.dm-menu,.dm-call,.dm-bubble{zoom:1.4}}
@media(min-width:851px) and (max-width:1023px){.dm-pill,.dm-menu,.dm-call,.dm-bubble{zoom:1.15}}
@media(max-width:850px){.dm-btn{width:34px;height:30px}.dm-btn svg{width:17px;height:17px}.dm-call{bottom:4%;right:8px;min-height:32px;font-size:12px;padding:0 10px}}
@media(prefers-reduced-motion:reduce){.dm-btn.is-listening svg path{animation:none}.dm-track,.dm-track span{transition:none}}
/* 2026-10-28 코덱스처럼 최소한의 창: 반투명 유리 + 아이콘 위주 */
.dm-pill,.dm-menu,.dm-compose{background:rgb(255 255 255/.74);-webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5);border:1px solid rgb(0 0 0/.07);box-shadow:0 10px 30px rgb(20 15 5/.14),0 1px 2px rgb(0 0 0/.05)}
.dm-menu{border-radius:16px}
.dm-compose{position:absolute;z-index:11;width:300px;padding:8px;border-radius:18px;pointer-events:auto;font:400 14px/1.5 var(--font-reading,sans-serif);color:#222}
.dm-compose[hidden]{display:none}
.dm-x{position:absolute;top:6px;right:6px}
.dm-answer{max-height:150px;overflow:auto;margin:2px 30px 6px 6px}
.dm-answer[hidden]{display:none}
.dm-said{margin:0;font-size:14px;line-height:1.55;color:#333;word-break:keep-all}
.dm-wait{letter-spacing:.2em;color:#999}
.dm-more{margin-top:8px;min-height:32px!important;padding:0 12px!important;border:0!important;border-radius:999px!important;background:#2b2925!important;color:#fff!important;font:inherit!important;font-size:13px!important;cursor:pointer}
.dm-form{display:flex;align-items:flex-end;gap:4px;padding:4px 4px 4px 10px;border-radius:14px;background:rgb(255 255 255/.9);border:1px solid rgb(0 0 0/.06)}
.dm-form textarea{flex:1;min-width:0;min-height:32px;max-height:96px;padding:6px 0;border:0;outline:0;resize:none;background:transparent;font:inherit;font-size:15px;color:#222}
.dm-ico,.dm-send{display:grid;place-items:center;flex:none;width:32px;height:32px;min-height:0!important;min-width:0!important;padding:0!important;border:0!important;border-radius:999px!important;background:transparent!important;color:#666!important;cursor:pointer}
.dm-ico svg,.dm-send svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.dm-ico:hover{background:rgb(0 0 0/.05)!important;color:#222!important}
.dm-send{background:#2b2925!important;color:#fff!important}
.dm-send:disabled{background:#d8d6d0!important;cursor:default}
.dm-compose :focus-visible{outline:2px solid #1d6f78;outline-offset:1px}
@media(min-width:1024px){.dm-compose{zoom:1.4}}
@media(min-width:851px) and (max-width:1023px){.dm-compose{zoom:1.15}}
@media(max-width:850px){.dm-compose{width:min(300px,calc(100% - 16px))}}
.dm-form textarea{overflow:hidden}.dm-form textarea:focus-visible{outline:none!important}.dm-form:focus-within{border-color:#2b2925}
.dm-compose:has(.dm-answer[hidden]) .dm-x{display:none}
/* 막대는 마우스를 올렸을 때만 */
.dm-pill{opacity:0;visibility:hidden;transition:opacity .15s,visibility 0s .15s}
.dm-pill.is-show{opacity:1;visibility:visible;transition:opacity .15s}
@media(prefers-reduced-motion:reduce){.dm-pill,.dm-pill.is-show{transition:none}}
