.pap #poulpe-dock {
 position: fixed;
 z-index: 75;
 right: max(20px, env(safe-area-inset-right));
 bottom: max(20px, env(safe-area-inset-bottom));
 display: grid;
 justify-items: end;
 gap: 9px;
 max-width: calc(100vw - 40px);
 font-family: inherit;
}
.pap #poulpe-dock[hidden], .pap .poulpe-dialogue[hidden] { display: none; }
.pap .poulpe-trigger {
 display: inline-flex;
 align-items: center;
 gap: 7px;
 min-height: 50px;
 padding: 3px 14px 3px 5px;
 border: 1px solid #b9d4cc;
 border-radius: 40px;
 background: #fffaf0;
 color: #164e56;
 font-size: 13px;
 font-weight: 750;
 box-shadow: 0 4px 15px #164e562b;
}
.pap .poulpe-trigger-art { width: 47px; height: 42px; display: grid; place-items: center; }
.pap .poulpe-trigger-art img, .pap .poulpe-portrait img, .pap .poulpe-voyage img { width: 100%; height: auto; }
.pap .poulpe-dialogue {
 width: min(370px, calc(100vw - 40px));
 max-width: 100%;
 box-sizing: border-box;
 max-height: min(76dvh, 630px);
 overflow: auto;
 overscroll-behavior: contain;
 padding: 15px;
 border: 1px solid #c8dcd1;
 border-radius: 20px;
 background: #fffaf0;
 color: #153e40;
 box-shadow: 0 15px 55px #173d3e36;
}
.pap .poulpe-dialogue-header {
 display: grid;
 grid-template-columns: 65px minmax(0, 1fr) 39px;
 align-items: center;
 gap: 9px;
 margin-bottom: 9px;
}
.pap .poulpe-dialogue-header p, .pap .poulpe-context {
 margin: 0 0 4px;
 color: #365f5d;
 font-size: 11px;
 font-weight: 750;
 letter-spacing: .04em;
}
.pap .poulpe-dialogue-header h2 { margin: 0; font-size: 27px; line-height: 1.03; }
.pap .poulpe-close {
 min-height: 39px;
 padding: 0;
 border: 1px solid #d5e4da;
 border-radius: 50%;
 background: transparent;
 color: #164e56;
 font-size: 22px;
}
.pap .poulpe-answer {
 padding: 12px;
 border: 1px solid #e5e4d7;
 border-radius: 12px;
 background: #fff;
 overflow-wrap: anywhere;
}
.pap .poulpe-answer h3 { margin: 0 0 5px; font-size: 17px; }
.pap .poulpe-answer p:not(.poulpe-context), .pap .poulpe-answer ul { margin: 0; font-size: 13px; line-height: 1.44; }
.pap .poulpe-answer ul { margin-top: 7px; padding-left: 20px; }
.pap .poulpe-answer li::marker { color: #146c74; }
.pap .poulpe-source { display: block; margin-top: 7px; color: #42645d; font-size: 11px; line-height: 1.5; }
.pap .poulpe-guidance { margin-top: 9px; }
.pap .poulpe-guide-start { width: 100%; min-height: 44px; border: 1px solid #146c74; border-radius: 9px; background: #e1efea; color: #164e56; font-size: 13px; font-weight: 700; }
.pap .poulpe-guide-progress { margin: 0 0 6px; font-size: 12px; font-weight: 750; }
.pap .poulpe-guide-controls { display: flex; flex-wrap: wrap; gap: 5px; }
.pap .poulpe-guide-controls button { min-height: 40px; padding: 6px 9px; border: 1px solid #b9d4cc; border-radius: 8px; background: white; color: #164e56; font-size: 12px; }
.pap .poulpe-guide-controls button:disabled { opacity: .5; }
.pap .poulpe-jump {
 display: inline-flex;
 align-items: center;
 gap: 7px;
 min-height: 38px;
 margin-top: 9px;
 padding: 5px 10px;
 border-radius: 8px;
 background: #146c74;
 color: white;
 font-size: 13px;
 font-weight: 650;
}
.pap .poulpe-questions { display: flex; flex-wrap: wrap; gap: 5px; margin: 9px 0; }
.pap .poulpe-questions button, .pap .poulpe-question-form button {
 min-height: 34px;
 padding: 4px 8px;
 border: 1px solid #c1d8d0;
 border-radius: 8px;
 background: #fffaf0;
 color: #164e56;
 font-size: 12px;
 font-weight: 650;
}
.pap .poulpe-questions button[aria-pressed="true"] { background: #e1efea; border-color: #649991; }
.pap .poulpe-question-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px; }
.pap .poulpe-question-form input { min-width: 0; min-height: 38px; padding: 5px 8px; border-radius: 8px; }
.pap .poulpe-question-form button { background: #164e56; color: white; }
.pap .poulpe-voyage {
 position: fixed;
 z-index: 76;
 width: 72px;
 pointer-events: none;
 filter: drop-shadow(0 3px 3px #164e5635);
}
.pap .poulpe-destination { outline: 3px solid #146c74; outline-offset: 4px; }
.pap:has(#sidebar.open) #poulpe-dock { visibility: hidden; }
@media (max-width: 800px) {
 .pap #poulpe-dock { right: max(20px, env(safe-area-inset-right)); max-width: calc(100% - 40px); }
 .pap:has(.pap-bottom-nav) #poulpe-dock { bottom: calc(67px + env(safe-area-inset-bottom)); }
 .pap .poulpe-dialogue { width: min(370px, calc(100vw - 40px)); max-height: calc(100dvh - 138px - env(safe-area-inset-bottom)); }
 .pap .poulpe-trigger { min-height: 44px; }
 .pap .poulpe-trigger-art { width: 39px; height: 36px; }
 .pap .poulpe-questions button { min-height: 39px; }
 .pap .poulpe-question-form input { font-size: 16px; }
}
@media print { .pap #poulpe-dock, .pap .poulpe-voyage { display: none !important; } }
