.ddai{--ddai-panel-width:360px;--ddai-bg:rgba(251,250,246,.66);--ddai-ink:#27312d;--ddai-green:#5f7468;--ddai-line:rgba(220,216,204,.78);--ddai-gold:#aa8d60;font-family:inherit}.ddai *{box-sizing:border-box}.ddai-launcher{position:fixed;left:20px;right:auto;bottom:22px;z-index:100010;border:1px solid rgba(95,116,104,.28);background:rgba(251,250,246,.74);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#27312d;border-radius:999px;padding:10px 15px;box-shadow:0 10px 34px rgba(35,48,42,.18);display:flex;gap:8px;align-items:center;cursor:pointer}.ddai[data-open="1"] .ddai-launcher{opacity:0;pointer-events:none}.ddai-launcher-mark{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#5f7468;color:#fff;font-weight:700}.ddai-backdrop{position:fixed;inset:0;background:rgba(24,30,27,.28);z-index:100015}.ddai-panel{position:fixed;left:20px;right:auto;bottom:22px;width:min(var(--ddai-panel-width),calc(100vw - 40px));height:min(58dvh,610px);min-height:430px;z-index:100020;background:var(--ddai-bg);backdrop-filter:blur(18px) saturate(115%);-webkit-backdrop-filter:blur(18px) saturate(115%);border:1px solid rgba(255,255,255,.62);border-radius:18px;box-shadow:0 22px 60px rgba(27,36,32,.22);display:flex;flex-direction:column;overflow:visible}.ddai[data-page-type="product"] .ddai-panel{left:20px;right:auto}.ddai-panel.is-minimized{width:320px;height:54px;min-height:54px;overflow:hidden}.ddai-panel.is-expanded{height:min(82dvh,860px);min-height:560px}.ddai-panel.is-minimized.is-expanded{height:54px;min-height:54px}.ddai-panel.is-minimized .ddai-status,.ddai-panel.is-minimized .ddai-messages,.ddai-panel.is-minimized .ddai-sources,.ddai-panel.is-minimized .ddai-nav,.ddai-panel.is-minimized .ddai-compare,.ddai-panel.is-minimized .ddai-form,.ddai-panel.is-minimized .ddai-mascot-slot{display:none!important}.ddai-header{padding:12px 14px 10px;border-bottom:1px solid var(--ddai-line);display:flex;justify-content:space-between;align-items:center;gap:10px;background:rgba(251,250,246,.44);border-radius:18px 18px 0 0}.ddai-panel.is-minimized .ddai-header{border-bottom:0;border-radius:18px;padding:9px 12px}.ddai-header strong,.ddai-header small{display:block}.ddai-header strong{font-size:14px}.ddai-header small{margin-top:2px;color:#74766f;font-size:11px}.ddai-panel.is-minimized .ddai-header small{display:none}.ddai-header-actions{display:flex;gap:4px;align-items:center}.ddai-header-actions button{min-width:46px;height:30px;padding:0 8px;border:1px solid transparent;background:rgba(255,255,255,.38);border-radius:999px;font-size:11px;cursor:pointer;color:var(--ddai-ink);white-space:nowrap}.ddai-header-actions button:hover{border-color:rgba(95,116,104,.28);background:rgba(255,255,255,.72)}.ddai-status{position:relative;padding:9px 14px 9px 34px;background:rgba(240,238,230,.68);color:#536057;font-size:12px;border-bottom:1px solid var(--ddai-line)}.ddai-status::before{content:"";position:absolute;left:14px;top:50%;width:10px;height:10px;margin-top:-5px;border:2px solid rgba(95,116,104,.28);border-top-color:#5f7468;border-radius:50%;animation:ddai-spin .8s linear infinite}.ddai-messages{padding:13px;overflow:auto;min-height:0;flex:1 1 auto}.ddai-msg{max-width:86%;margin:0 0 9px;padding:9px 11px;border-radius:14px;white-space:pre-wrap;word-break:break-word;line-height:1.55;font-size:14px}.ddai-msg.user{margin-left:auto;background:rgba(95,116,104,.94);color:#fff;border-bottom-right-radius:5px}.ddai-msg.assistant{background:rgba(255,255,255,.72);border:1px solid rgba(228,224,214,.82);border-bottom-left-radius:5px}.ddai-msg.system{background:rgba(244,241,232,.72);color:#555d58;font-size:12px}.ddai-sources,.ddai-nav,.ddai-compare{padding:0 13px 9px;flex:0 0 auto}.ddai-sources details{border:1px solid var(--ddai-line);border-radius:12px;background:rgba(255,255,255,.67);padding:8px 10px}.ddai-source{display:block;padding:7px 0;border-top:1px solid #eee9df;color:#40544a;text-decoration:none;font-size:12px}.ddai-source:first-of-type{border-top:0}.ddai-source small{display:block;color:#7b7d77}.ddai-nav{display:flex;gap:8px;flex-wrap:wrap}.ddai-nav button{border:1px solid #c9c2b2;background:rgba(255,255,255,.74);border-radius:999px;padding:7px 10px;color:#495a52;cursor:pointer}.ddai-form{border-top:1px solid var(--ddai-line);padding:10px 12px;background:rgba(255,255,255,.62);border-radius:0 0 18px 18px;flex:0 0 auto}.ddai-input-wrap{position:relative}.ddai-form textarea{display:block;padding-right:72px;min-height:58px;max-height:120px}.ddai-send{position:absolute;right:7px;bottom:7px;min-width:54px;height:34px;padding:0 12px;display:grid;place-items:center}.ddai-form textarea{width:100%;resize:none;border:1px solid rgba(216,211,199,.92);background:rgba(255,255,255,.78);border-radius:11px;padding:9px 10px;font:inherit;color:var(--ddai-ink);outline:none}.ddai-form textarea:focus{border-color:#778b80;box-shadow:0 0 0 3px rgba(95,116,104,.12)}.ddai-send{border:0;border-radius:999px;background:#5f7468;color:white;cursor:pointer}.ddai-send.is-stop{background:#8a6359}.ddai-mascot-slot{position:absolute;left:-58px;right:auto;top:18px;bottom:auto;width:64px;height:92px;pointer-events:none;display:grid;align-items:start;justify-items:end;z-index:2}.ddai-mascot-slot img{max-width:60px;max-height:88px;object-fit:contain;filter:drop-shadow(0 7px 12px rgba(0,0,0,.12));transform:translateY(-8px)}.ddai-card{border:1px solid var(--ddai-line);background:rgba(255,255,255,.72);border-radius:14px;padding:10px;margin:8px 0}.ddai-card img{width:100%;max-height:140px;object-fit:cover;border-radius:10px;margin-bottom:8px}.ddai-card-title{font-weight:700}.ddai-card-sub{font-size:12px;color:#73766f;margin-top:4px}.ddai-card-actions{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}.ddai-card-actions a,.ddai-card-actions button{font:inherit;font-size:12px;border:1px solid #cbc5b6;background:rgba(255,255,255,.78);color:#4c5e55;border-radius:999px;padding:6px 9px;text-decoration:none;cursor:pointer}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ddai-highlight{outline:3px solid rgba(170,141,96,.5);outline-offset:5px;border-radius:8px}
@media(min-width:1200px){.ddai[data-page-type="product"] .ddai-panel{left:20px;right:auto}}
@media(max-width:768px){.ddai-launcher{left:auto;right:10px;bottom:calc(var(--phase8-mobile-booking-offset,0px) + 8px);padding:6px 9px;gap:0;font-size:11px;max-width:132px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ddai-launcher-mark{display:none}.ddai[data-open="1"] .ddai-launcher{opacity:0}.ddai-panel,.ddai[data-page-type="product"] .ddai-panel{left:0;right:0;top:auto;bottom:0;width:100%;height:62dvh;min-height:0;max-height:88dvh;border-radius:20px 20px 0 0;border-bottom:0;z-index:100020;background:rgba(251,250,246,.66);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.ddai-panel.is-minimized,.ddai[data-page-type="product"] .ddai-panel.is-minimized{left:auto;right:8px;bottom:calc(var(--phase8-mobile-booking-offset,0px) + env(safe-area-inset-bottom) + 8px);width:38px;height:112px;min-height:112px;max-height:112px;border:1px solid rgba(255,255,255,.72);border-radius:19px;box-shadow:0 7px 20px rgba(27,36,32,.16);overflow:hidden}.ddai-panel.is-minimized .ddai-header{height:112px;padding:8px 4px;gap:4px;flex-direction:column;justify-content:center}.ddai-panel.is-minimized .ddai-header>div:first-child{min-width:0;overflow:visible;display:flex;justify-content:center}.ddai-panel.is-minimized .ddai-header strong{font-size:10px;white-space:nowrap;writing-mode:vertical-rl;text-orientation:upright;letter-spacing:1px}.ddai-panel.is-minimized .ddai-header-actions{flex:0 0 auto}.ddai-panel.is-minimized .ddai-header-actions button{min-width:28px;width:28px;height:28px;padding:0;font-size:0}.ddai-panel.is-minimized .ddai-header-actions button[data-ddai="minimize"]::after{content:"＋";font-size:16px;line-height:1}.ddai-panel.is-expanded,.ddai[data-page-type="product"] .ddai-panel.is-expanded{height:85dvh;max-height:85dvh}.ddai-panel.is-minimized.is-expanded,.ddai[data-page-type="product"] .ddai-panel.is-minimized.is-expanded{height:112px;min-height:112px;max-height:112px}.ddai-backdrop{display:block}.ddai[data-minimized="1"] .ddai-backdrop{display:none!important}.ddai-mascot-slot{display:none!important}.ddai-form{padding-bottom:calc(12px + env(safe-area-inset-bottom))}.ddai-messages{overscroll-behavior:contain}body.ddai-open #mobileBookingBar,body.ddai-open .fixed-left-nav{visibility:hidden!important;pointer-events:none!important}body.ddai-open.ddai-mobile-minimized #mobileBookingBar,body.ddai-open.ddai-mobile-minimized .fixed-left-nav{visibility:visible!important;pointer-events:auto!important}}
@media(prefers-reduced-motion:no-preference){.ddai-panel{transition:height .2s ease,width .2s ease,opacity .2s ease,left .2s ease,right .2s ease}.ddai-launcher{transition:transform .15s ease,opacity .15s ease}.ddai-launcher:hover{transform:translateY(-1px)}}
@keyframes ddai-spin{to{transform:rotate(360deg)}}

/* Stage 2: long-answer reveal / continuation + compare tray */
.ddai-msg-body{min-width:0}.ddai-msg-body.is-collapsed{max-height:16.5em;overflow:hidden;position:relative}.ddai-msg-body.is-collapsed::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3.6em;background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.96));pointer-events:none}.ddai-msg-actions{display:flex;gap:6px;align-items:center;margin-top:8px}.ddai-msg-actions button{font:inherit;font-size:12px;border:1px solid rgba(95,116,104,.3);background:rgba(255,255,255,.82);color:#4c5e55;border-radius:999px;padding:6px 10px;cursor:pointer}.ddai-msg-actions button:hover{background:rgba(255,255,255,.98)}
.ddai-compare-wrap{border:1px solid var(--ddai-line);border-radius:12px;background:rgba(255,255,255,.64);padding:8px 9px}.ddai-compare-head{font-size:11px;color:#6f746f;margin-bottom:6px}.ddai-compare-chips{display:flex;gap:6px;flex-wrap:wrap}.ddai-compare-chip{display:inline-flex;align-items:center;gap:5px;min-width:0;max-width:100%;border:1px solid rgba(95,116,104,.24);background:rgba(246,247,243,.82);border-radius:999px;padding:5px 6px 5px 9px;font-size:11px;color:#495a52}.ddai-compare-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.ddai-compare-chip button{width:20px;height:20px;border:0;border-radius:50%;background:rgba(95,116,104,.1);color:#536057;cursor:pointer;line-height:1}.ddai-compare-actions{display:flex;gap:6px;justify-content:flex-end;margin-top:7px}.ddai-compare-actions button{font:inherit;font-size:11px;border:1px solid rgba(95,116,104,.3);background:rgba(255,255,255,.82);color:#4c5e55;border-radius:999px;padding:6px 9px;cursor:pointer}.ddai-card-actions button:disabled{opacity:.6;cursor:default}
@media(max-width:768px){.ddai-msg-body.is-collapsed{max-height:15em}.ddai-compare-chip>span{max-width:190px}}

/* Stage 2.1: explicit close control; keep minimized capsule visually simple. */
.ddai-header-actions [data-ddai="close"]{min-width:30px;width:30px;padding:0;font-size:16px}
.ddai-panel.is-minimized .ddai-header-actions [data-ddai="close"]{display:none!important}
.ddai-panel[hidden],.ddai-backdrop[hidden]{display:none!important}

/* Stage 2.1.2: consistent mobile vertical controls + desktop window-style controls. */
@media (min-width:769px){
  .ddai-panel.is-expanded,
  .ddai[data-page-type="product"] .ddai-panel.is-expanded{
    width:min(560px,calc(100vw - 40px));
    height:min(82dvh,860px);
    min-height:560px;
  }
  .ddai-header-actions{gap:2px}
  .ddai-header-actions .ddai-window-control{
    position:relative;
    min-width:32px;
    width:32px;
    height:28px;
    padding:0;
    border:0;
    border-radius:6px;
    background:transparent;
  }
  .ddai-header-actions .ddai-window-control:hover{background:rgba(95,116,104,.10);border:0}
  .ddai-header-actions .ddai-window-close:hover{background:rgba(163,72,65,.13)}
  .ddai-window-minimize>span::before{
    content:"";
    position:absolute;
    left:9px;right:9px;bottom:8px;
    height:1.5px;
    background:currentColor;
    border-radius:2px;
  }
  .ddai-window-maximize>span::before,
  .ddai-window-maximize>span::after{
    content:"";
    position:absolute;
    width:10px;height:8px;
    border:1.4px solid currentColor;
    border-radius:1px;
    background:rgba(251,250,246,.92);
  }
  .ddai-window-maximize>span::before{left:9px;top:10px;z-index:2}
  .ddai-window-maximize>span::after{left:12px;top:7px;z-index:1}
  .ddai-window-maximize[data-window-state="restore"]>span::before{left:8px;top:10px}
  .ddai-window-maximize[data-window-state="restore"]>span::after{left:12px;top:7px}
  .ddai-window-close>span{font-size:18px;line-height:26px;font-weight:300}
  .ddai-panel.is-minimized .ddai-header-actions .ddai-window-control{display:none!important}
  .ddai-panel.is-minimized .ddai-header-actions .ddai-window-minimize{display:block!important}
  .ddai-panel.is-minimized .ddai-window-minimize>span::before{display:none}
  .ddai-panel.is-minimized .ddai-window-minimize>span::after{
    content:"＋";
    display:block;
    font-size:17px;
    line-height:28px;
  }
}

@media (max-width:768px){
  /* Closed launcher and minimized state now share the same vertical visual language. */
  .ddai-launcher{
    left:auto;
    right:8px;
    bottom:calc(var(--phase8-mobile-booking-offset,0px) + env(safe-area-inset-bottom) + 8px);
    width:38px;
    min-width:38px;
    height:112px;
    max-width:38px;
    padding:8px 4px;
    border-radius:19px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    white-space:normal;
    text-overflow:clip;
  }
  .ddai-launcher>span:last-child{
    display:block;
    writing-mode:vertical-rl;
    text-orientation:upright;
    font-size:10px;
    line-height:1;
    letter-spacing:1px;
    white-space:nowrap;
  }
  .ddai-launcher-mark{display:none!important}

  /* Open mobile sheet keeps compact window controls; minimized capsule remains vertical. */
  .ddai-header-actions{gap:2px}
  .ddai-header-actions .ddai-window-control{
    position:relative;
    min-width:30px;
    width:30px;
    height:30px;
    padding:0;
    border-radius:8px;
    font-size:0;
  }
  .ddai-window-minimize>span::before{
    content:"";
    position:absolute;
    left:8px;right:8px;bottom:8px;
    height:1.5px;
    background:currentColor;
    border-radius:2px;
  }
  .ddai-window-maximize>span::before,
  .ddai-window-maximize>span::after{
    content:"";
    position:absolute;
    width:9px;height:8px;
    border:1.3px solid currentColor;
    border-radius:1px;
    background:rgba(251,250,246,.92);
  }
  .ddai-window-maximize>span::before{left:8px;top:11px;z-index:2}
  .ddai-window-maximize>span::after{left:11px;top:8px;z-index:1}
  .ddai-window-close>span{font-size:18px;line-height:28px}

  .ddai-panel.is-minimized .ddai-header-actions .ddai-window-control{display:none!important}
  .ddai-panel.is-minimized .ddai-header-actions .ddai-window-minimize{display:block!important}
  .ddai-panel.is-minimized .ddai-window-minimize>span::before{display:none}
  .ddai-panel.is-minimized .ddai-window-minimize>span::after{
    content:"＋";
    display:block;
    font-size:16px;
    line-height:28px;
  }
}
@media (max-width:768px){
  .ddai-panel.is-minimized .ddai-header-actions button[data-ddai="minimize"]::after{content:none!important}
}
