#ps-guide{font-family:Roboto,Arial,sans-serif;--psg-green:#155c45;color:#172820;text-align:left;position:relative;z-index:99998}
#ps-guide [hidden]{display:none!important}
#ps-guide *{box-sizing:border-box}
#ps-guide button,#ps-guide textarea{font:inherit;letter-spacing:normal;text-transform:none}
#ps-guide button{cursor:pointer}
#ps-guide button:focus-visible,#ps-guide a:focus-visible,#ps-guide textarea:focus-visible,#ps-guide input:focus-visible{outline:2px solid #155c45;outline-offset:3px}
#ps-guide .psg-launch{position:fixed;right:20px;bottom:94px;display:flex;align-items:center;gap:9px;border:1px solid #155c45;border-radius:30px;padding:13px 18px;background:var(--psg-green);color:#fff;box-shadow:0 5px 24px #123c3426;font-size:14px;font-weight:600;min-height:48px}
#ps-guide .psg-panel{position:fixed;right:20px;bottom:154px;width:410px;height:590px;max-height:calc(100dvh - 175px);display:flex;flex-direction:column;border:1px solid #d4dfd9;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 16px 60px #132e3229}
#ps-guide .psg-head{display:flex;justify-content:space-between;align-items:center;background:#f0f7f3;padding:16px 18px;border-bottom:1px solid #dce7e0;flex-shrink:0}
#ps-guide .psg-head strong{font-size:17px;display:block;color:#173b2e}
#ps-guide .psg-head span{display:block;font-size:12px;margin-top:3px;color:#59675f}
#ps-guide .psg-close{width:36px;height:36px;background:transparent;border:1px solid #d4dfd9;border-radius:50%;font-size:25px;line-height:1;color:#244d3c}
#ps-guide .psg-intro{font-size:11px;color:#66736b;padding:8px 18px;border-bottom:1px solid #eef1ef;flex-shrink:0}
#ps-guide .psg-log{flex:1;min-height:70px;overflow-y:auto;padding:16px;overscroll-behavior:contain}
#ps-guide .psg-turn{margin-bottom:15px;max-width:95%}
#ps-guide .psg-turn.psg-user{margin-left:auto}
#ps-guide .psg-who{font-size:10px;font-weight:600;color:#67736c;display:block;margin-bottom:4px}
#ps-guide .psg-user .psg-who{text-align:right}
#ps-guide .psg-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.6;border:1px solid #e3e9e5;background:#f7f9f8;padding:11px 13px;border-radius:12px}
#ps-guide .psg-user .psg-text{background:#eaf4ed;border-color:#d7e8dc}
#ps-guide .psg-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
#ps-guide .psg-links a{display:inline-block;font-size:12px;color:#155c45;text-decoration:none;font-weight:600;background:#fff;border:1px solid #c7dcd0;padding:7px 10px;border-radius:8px}
#ps-guide .psg-starters{display:flex;gap:6px;padding:0 14px 10px;flex-wrap:wrap;flex-shrink:0}
#ps-guide .psg-starters button{border:1px solid #dbe4df;border-radius:18px;background:#fff;color:#345443;font-size:11px;padding:7px 10px}
#ps-guide .psg-form{border-top:1px solid #e7ede9;padding:12px 14px;background:#fff;flex-shrink:0}
#ps-guide .psg-consent{display:flex;gap:7px;align-items:flex-start;font-size:10px;line-height:1.45;color:#657369;margin-bottom:8px;font-weight:400}
#ps-guide .psg-consent input{width:15px;height:15px;margin:2px 0 0;flex-shrink:0;accent-color:var(--psg-green)}
#ps-guide .psg-input-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#ps-guide .psg-compose{display:flex;gap:8px;align-items:stretch}
#ps-guide textarea{resize:vertical;min-height:48px;max-height:100px;width:100%;border:1px solid #cbd9d0;border-radius:10px;background:#fff;padding:10px;font-size:16px;line-height:1.4;color:#172820;box-shadow:none}
#ps-guide .psg-send{background:var(--psg-green);color:#fff;border:0;border-radius:10px;padding:0 13px;font-size:13px}
#ps-guide button:disabled{opacity:.55;cursor:wait}
#ps-guide .psg-status{font-size:11px;color:#7c4d20;line-height:1.5;margin-top:5px;min-height:16px}
#ps-guide .psg-tools{display:flex;gap:8px;align-items:center;justify-content:space-between;font-size:9px;color:#778279}
#ps-guide .psg-tools button{padding:3px 0;background:none;border:0;color:#46614e;font-size:11px;text-decoration:underline;white-space:nowrap}
@media(max-width:600px){#ps-guide .psg-launch{right:12px;bottom:84px;padding:11px 14px;font-size:12px}#ps-guide .psg-panel{right:10px;bottom:142px;width:calc(100vw - 20px);height:560px;max-height:calc(100dvh - 152px);border-radius:14px}#ps-guide .psg-head{padding:12px 14px}#ps-guide .psg-log{padding:12px}#ps-guide .psg-consent{font-size:10px}}

/* PSG SEND BUTTON WIDTH V2 */
#ps-guide .psg-compose textarea {
    flex: 1 1 0;
    min-width: 0;
    width: auto;
}
#ps-guide .psg-compose .psg-send {
    flex: 0 0 76px;
    width: 76px;
    min-width: 76px;
    min-height: 48px;
    padding: 0 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}

/* PSG REMOVE OUTER INPUT RING */
#ps-guide #psg-input:focus,
#ps-guide #psg-input:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

/* Wider rectangular Send button */
#ps-guide .psg-compose .psg-send {
    flex: 0 0 94px;
    width: 94px;
    min-width: 94px;
    height: 46px;
    min-height: 46px;
    align-self: center;
    border-radius: 9px;
}

/* PSG SEND INSIDE INPUT V1 */
#ps-guide .psg-compose {
    position: relative;
    display: block;
}
#ps-guide .psg-compose #psg-input {
    display: block;
    width: 100%;
    min-width: 0;
    min-height: 76px;
    max-height: 150px;
    padding: 13px 108px 13px 12px;
    border-radius: 12px;
    resize: none;
}
#ps-guide .psg-compose .psg-send {
    position: absolute;
    right: 8px;
    bottom: 8px;
    width: 88px;
    min-width: 88px;
    height: 38px;
    min-height: 38px;
    padding: 0 12px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* PSG SEND VERTICAL CENTER */
#ps-guide .psg-compose .psg-send {
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
}

/* PSG PREMIUM TUTOR CARDS V1 */
#ps-guide .psg-tutor-cards{display:grid;gap:10px;margin-top:10px}
#ps-guide .psg-tutor-card{padding:13px;background:#fff;border:1px solid #dce5df;border-radius:14px;box-shadow:0 3px 12px rgba(26,62,43,.045);overflow:hidden}
#ps-guide .psg-tutor-top{display:flex;gap:11px;align-items:center}
#ps-guide .psg-tutor-avatar{position:relative;flex:0 0 46px;width:46px;height:46px;border-radius:12px;overflow:hidden;background:#edf4ee;display:flex;align-items:center;justify-content:center;color:#28593f;font-weight:700;font-size:15px;border:1px solid #e0e9e2}
#ps-guide .psg-tutor-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#ps-guide .psg-tutor-info{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px}
#ps-guide .psg-tutor-name{font-size:14px;line-height:1.35;font-weight:700;color:#192b20;overflow-wrap:anywhere}
#ps-guide .psg-tutor-verified{display:inline-flex;font-size:10px;line-height:1.4;font-weight:500;color:#182d20;background:#edf6ef;border:1px solid #d9eadd;padding:2px 6px;border-radius:5px}
#ps-guide .psg-tutor-meta{font-size:11px;line-height:1.5;font-weight:600;color:#335c43;margin:10px 0 5px;overflow-wrap:anywhere}
#ps-guide .psg-tutor-bio{font-size:12px;line-height:1.55;color:#66716a;margin:0 0 8px;overflow-wrap:anywhere}
#ps-guide .psg-tutor-availability{font-size:10px;line-height:1.5;color:#5e7365;margin:0 0 11px}
#ps-guide .psg-tutor-buttons{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
#ps-guide .psg-tutor-buttons a{display:flex;align-items:center;justify-content:center;min-height:38px;padding:8px 5px;border-radius:8px;font-size:11px;line-height:1.35;font-weight:600;text-decoration:none!important;text-align:center;transition:background .15s ease}
#ps-guide .psg-tutor-view{border:1px solid #cbd9cf;background:#fff;color:#244e35!important}
#ps-guide .psg-tutor-view:hover{background:#f3f7f4}
#ps-guide .psg-tutor-book{border:1px solid #155c45;background:#155c45;color:#fff!important}
#ps-guide .psg-tutor-book:hover{background:#104b38}
#ps-guide-book-session{scroll-margin-top:110px}
@media(max-width:360px){#ps-guide .psg-tutor-card{padding:11px}#ps-guide .psg-tutor-buttons{gap:6px}#ps-guide .psg-tutor-buttons a{font-size:10px}}

/* PSG CARD BORDERS AND PINK BUTTON V2 */
#ps-guide .psg-tutor-card {
    border: 1px solid #000 !important;
}
#ps-guide .psg-tutor-buttons .psg-tutor-view {
    border: 1px solid #000 !important;
    background: #fff !important;
    color: #000 !important;
}
#ps-guide .psg-tutor-buttons .psg-tutor-book,
#ps-guide .psg-tutor-buttons .psg-tutor-book:hover {
    background: #FF8A9D !important;
    border: 1px solid #000 !important;
    color: #000 !important;
}
#ps-guide .psg-tutor-avatar img {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* PSG TUTOR PHOTO 72PX */
#ps-guide .psg-tutor-avatar {
    flex: 0 0 72px;
    width: 72px;
    height: 72px;
    border-radius: 15px;
}

/* PSG EDUCATION ABOVE VERIFIED V1 */
#ps-guide .psg-tutor-education {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    max-width: 100%;
    font-size: 11px;
    line-height: 1.45;
    font-weight: 500;
    color: #526258;
    overflow-wrap: anywhere;
}

/* PSG PINK HEADER V1 */
#ps-guide .psg-head {
    background: #FF8A9D !important;
    color: #000 !important;
    width: 100%;
    box-sizing: border-box;
    border-bottom: 1px solid #000;
}
#ps-guide .psg-head strong,
#ps-guide .psg-head span,
#ps-guide .psg-head button {
    color: #000 !important;
}

/* PSG DARK HEADER V1 */
#ps-guide .psg-head {
    background: #061A1F !important;
    color: #fff !important;
    border-bottom: 1px solid #061A1F !important;
}
#ps-guide .psg-head strong,
#ps-guide .psg-head span,
#ps-guide .psg-head button {
    color: #fff !important;
}

/* PSG REMOVE OUTER BORDER V1 */
#ps-guide .psg-panel {
    border: 0 !important;
    outline: none !important;
}

/* PSG HIDE HEADER CLOSE V1 */
#ps-guide .psg-head .psg-close {
    display: none !important;
}

/* PSG INPUT BORDER AND SEND PINK V1 */
#ps-guide #psg-input,
#ps-guide #psg-input:focus,
#ps-guide #psg-input:focus-visible {
    border: 2px solid #000 !important;
    box-sizing: border-box;
    outline: none !important;
    box-shadow: none !important;
}
#ps-guide .psg-compose .psg-send,
#ps-guide .psg-compose .psg-send:hover,
#ps-guide .psg-compose .psg-send:focus {
    background: #E89EB8 !important;
    color: #000 !important;
}

/* PSG SEND BLACK BORDER V1 */
#ps-guide .psg-compose .psg-send {
    border: 1px solid #000 !important;
    box-sizing: border-box;
}

/* PSG THINKING WAVE V1 */
#ps-guide .psg-thinking {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #061A1F;
    font-size: 12px;
    line-height: 1.5;
}
#ps-guide .psg-thinking-dots {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    height: 16px;
}
#ps-guide .psg-thinking-dots i {
    display: block;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #061A1F;
    animation: psg-thinking-wave 1.1s ease-in-out infinite;
}
#ps-guide .psg-thinking-dots i:nth-child(2) { animation-delay: .15s; }
#ps-guide .psg-thinking-dots i:nth-child(3) { animation-delay: .3s; }
@keyframes psg-thinking-wave {
    0%, 60%, 100% { transform: translateY(0); opacity: .4; }
    30% { transform: translateY(-4px); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
    #ps-guide .psg-thinking-dots i { animation: none; opacity: 1; }
}

/* PSG CLEAN MESSAGES AND FOUR DOTS V1 */
#ps-guide,
#ps-guide .psg-panel * {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
    -webkit-font-smoothing: antialiased;
}
#ps-guide .psg-log .psg-who {
    display: none !important;
}
#ps-guide .psg-log .psg-text {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.65;
    letter-spacing: normal;
}
#ps-guide .psg-log .psg-user .psg-text {
    background: #F1F1F1 !important;
    border-color: #E5E5E5 !important;
    color: #111 !important;
}
#ps-guide .psg-typing-turn .psg-text {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 12px 16px;
    background: #F1F1F1;
    border: 0;
}
#ps-guide .psg-thinking-dots i:nth-child(4) {
    animation-delay: .45s;
}

/* PSG SUPPORT HEADER AND RIGHT BUBBLES V1 */
#ps-guide,
#ps-guide .psg-panel * {
    font-family: Arial, Helvetica, sans-serif !important;
}
#ps-guide .psg-head strong {
    font-size: 16px;
    font-weight: 600;
}
#ps-guide .psg-head .psg-online {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 400;
    color: #fff !important;
}
#ps-guide .psg-online-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border-radius: 50%;
    background: #22C55E;
}
#ps-guide .psg-log {
    display: flex;
    flex-direction: column;
    align-items: stretch;
}
#ps-guide .psg-log .psg-turn {
    flex: 0 0 auto;
}
#ps-guide .psg-log .psg-turn.psg-user {
    width: fit-content;
    max-width: 85%;
    align-self: flex-end;
    margin-left: auto !important;
    margin-right: 0 !important;
}
#ps-guide .psg-log .psg-turn.psg-assistant {
    align-self: flex-start;
    margin-left: 0 !important;
    margin-right: auto !important;
    max-width: 95%;
}
#ps-guide .psg-log .psg-text {
    font-size: 15px;
    line-height: 1.5;
    font-weight: 400;
    letter-spacing: normal;
    text-align: left;
}
#ps-guide .psg-log .psg-user .psg-text {
    background: #EAEAEA !important;
    color: #111 !important;
    border: 0 !important;
    border-radius: 20px 20px 4px 20px;
    padding: 10px 14px;
}
#ps-guide .psg-log .psg-assistant .psg-text {
    background: #F5F5F5;
    border: 0;
    border-radius: 18px 18px 18px 4px;
}


/* PSG_COORDINATOR_IMAGE_LAUNCHER_V1 */

/* Preserve the original launcher and its JS click handler. */
#ps-guide .psg-launch.psg-coordinator-launch {
    position: fixed !important;
    right: 18px !important;
    bottom: 82px !important;
    width: 168px !important;
    height: auto !important;
    min-height: 0 !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    line-height: 0 !important;
    color: #36454f !important;
    z-index: 2;
    cursor: pointer;
    animation: psgCoordinatorFloat 4s ease-in-out infinite;
}

#ps-guide .psg-coordinator-image {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 5px 9px rgba(0,0,0,.12));
    transition: transform .2s ease;
}

#ps-guide .psg-coordinator-launch:hover .psg-coordinator-image {
    transform: scale(1.045);
}

/* The existing JS uses the same button to close the chat.
   Make it compact while the chat is open. */
#ps-guide .psg-coordinator-launch[aria-expanded="true"] {
    width: auto !important;
    min-width: 105px !important;
    min-height: 44px !important;
    right: 20px !important;
    bottom: 94px !important;
    padding: 11px 15px !important;
    border-radius: 25px !important;
    background: #36454f !important;
    color: #fff !important;
    box-shadow: 0 4px 16px rgba(0,0,0,.15) !important;
    line-height: 1.3 !important;
    animation: none !important;
}

#ps-guide .psg-coordinator-launch[aria-expanded="true"] img {
    display: none;
}

#ps-guide .psg-coordinator-launch[aria-expanded="true"]::after {
    content: "Close chat";
    display: block;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
}

@keyframes psgCoordinatorFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-7px); }
}

@media (max-width: 600px) {
    #ps-guide .psg-launch.psg-coordinator-launch {
        width: 112px !important;
        right: 10px !important;
        bottom: 77px !important;
    }

    #ps-guide .psg-coordinator-launch[aria-expanded="true"] {
        width: auto !important;
        right: 12px !important;
        bottom: 84px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    #ps-guide .psg-launch.psg-coordinator-launch {
        animation: none !important;
    }

    #ps-guide .psg-coordinator-image {
        transition: none;
    }
}
