.learning-guide-launch { position:fixed; left:12px; bottom:calc(85px + env(safe-area-inset-bottom)); z-index:1100; border:1px solid #56d58a; border-radius:24px; padding:10px 14px; background:#083d32; color:#fff; font:inherit; cursor:pointer; box-shadow:0 4px 16px #0003; }
.learning-guide-tip { position:fixed; z-index:1101; box-sizing:border-box; width:min(310px, calc(100vw - 24px)); padding:16px; border:2px solid #ffd640; border-radius:18px; background:#fffdf0; color:#12372f; box-shadow:0 8px 30px #0004; animation:guide-appear .25s ease-out; }
.learning-guide-tip[hidden] { display:none; }
.learning-guide-tip::before { content:""; position:absolute; left:var(--guide-arrow, 24px); width:12px; height:12px; background:#fffdf0; border:solid #ffd640; transform:rotate(45deg); }
.learning-guide-tip[data-side="below"]::before { top:-8px; border-width:2px 0 0 2px; }
.learning-guide-tip[data-side="above"]::before { bottom:-8px; border-width:0 2px 2px 0; }
#learning-guide-root .learning-guide-tip p { color:#12372f !important; opacity:1; text-shadow:none; -webkit-text-fill-color:#12372f; margin:0 0 12px; font-size:17px; line-height:1.5; font-weight:800; }
.learning-guide-actions { display:flex; flex-wrap:wrap; gap:10px; }
.learning-guide-actions button { padding:7px 10px; border:1px solid #187d4c; border-radius:10px; background:#e5f7e9; color:#12372f; cursor:pointer; font:inherit; font-size:13px; }
.learning-guide-target { outline:3px solid #ffd640 !important; outline-offset:5px; animation:guide-pulse 1s ease-in-out 3; }
.learning-guide-launch:focus-visible, .learning-guide-actions button:focus-visible { outline:3px solid #f3bc00; outline-offset:3px; }
@keyframes guide-appear { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
@keyframes guide-pulse { 50% { outline-offset:9px; } }
@media (prefers-reduced-motion:reduce) { .learning-guide-tip, .learning-guide-target { animation:none; } }

#learning-guide-root .learning-guide-tip { color-scheme:light; }
#learning-guide-root .learning-guide-actions button { color:#12372f !important; font-weight:700; text-shadow:none; }
.learning-guide-tip--detached::before { display:none; }

@media (max-height:420px) { #learning-guide-root .learning-guide-tip { max-height:calc(100dvh - 24px); overflow-y:auto; } }

.page-tour-launch { bottom:calc(140px + env(safe-area-inset-bottom)); }
.page-tour-tip { z-index:1103; width:min(370px, calc(100vw - 24px)); }
.page-tour-target { outline:3px solid #ffd640 !important; outline-offset:4px; }
#learning-guide-root .page-tour-counter { margin-bottom:6px; color:#386354; font-size:13px; font-weight:800; }
#learning-guide-root .page-tour-title { display:block; margin-bottom:8px; color:#12372f !important; font-size:20px; font-weight:900; text-shadow:none; }
#learning-guide-root .page-tour-tip p { font-size:16px; }
#learning-guide-root .page-tour-tip { max-height:calc(100dvh - 24px); }
#learning-guide-root .page-tour-tip .learning-guide-actions button:disabled { opacity:.45; cursor:default; }

.page-tour-audio-launch { bottom:calc(195px + env(safe-area-inset-bottom)); }
#learning-guide-root .guidance-listen { min-width:40px; font-size:20px; line-height:1; }
#learning-guide-root .guidance-listen[aria-pressed="true"], #learning-guide-root button[aria-pressed="true"].page-tour-auto, #learning-guide-root button[aria-pressed="true"].guidance-auto { background:#b6edc6; }
#learning-guide-root .guidance-audio-status { color:#7d2920; font-size:13px; line-height:1.4; margin-top:8px; font-weight:700; }
#learning-guide-root .guidance-audio-status:empty { display:none; }

#learning-guide-root .learning-guide-tip { padding-top:46px; }
#learning-guide-root .guidance-close { position:absolute; top:8px; right:8px; display:grid; place-items:center; width:32px; height:32px; padding:0; border:1px solid #c5dacb; border-radius:50%; background:#e5f7e9; color:#12372f !important; font:700 26px/1 sans-serif; cursor:pointer; text-shadow:none; }
#learning-guide-root .guidance-close:hover { background:#cdeed7; }
#learning-guide-root .guidance-close:focus-visible { outline:3px solid #187d4c; outline-offset:2px; }

/* One launcher for all help actions; menu items never float over page content. */
#learning-guide-root .help-hub { position:fixed; right:max(20px, env(safe-area-inset-right)); bottom:calc(20px + env(safe-area-inset-bottom)); z-index:1100; }
#learning-guide-root .help-hub .global-support-fab { position:relative; inset:auto; padding:0; border:0; background:transparent; display:grid; }
#learning-guide-root .help-hub .global-support-fab-label { display:none; }
#learning-guide-root .help-hub .global-support-fab-icon { display:grid; width:56px; height:56px; place-items:center; border:3px solid white; border-radius:50%; background:linear-gradient(145deg,#19b86b,#08752f); box-shadow:0 0 0 3px #ffc928b8; box-sizing:border-box; }
#learning-guide-root .help-hub svg { width:28px; height:28px; fill:none; stroke:white; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
#learning-guide-root .help-hub-panel { position:absolute; right:0; bottom:calc(100% + 12px); box-sizing:border-box; width:min(290px,calc(100vw - 28px)); max-height:calc(100dvh - 140px); overflow:auto; padding:16px; border:1px solid #56d58a; border-radius:18px; background:#083d32; color:white; box-shadow:0 8px 30px #0004; }
#learning-guide-root .help-hub-panel strong { display:block; color:white; margin-bottom:12px; }
#learning-guide-root .help-hub-actions { display:flex; flex-direction:column; gap:8px; }
#learning-guide-root .help-hub-panel .learning-guide-launch, #learning-guide-root .help-hub-panel .pwa-install-launcher, #learning-guide-root .help-hub-support { position:static; inset:auto; transform:none; width:100%; box-sizing:border-box; display:flex; align-items:center; justify-content:flex-start; gap:8px; margin:0; border:1px solid #56d58a; border-radius:12px; padding:11px 12px; background:#104d3e; color:white; font-family:inherit; font-size:15px; line-height:1.4; font-weight:700; text-decoration:none; box-shadow:none; }
#learning-guide-root .help-hub-panel .page-tour-audio-launch { order:1; }
#learning-guide-root .help-hub-panel .page-tour-launch { order:2; }
#learning-guide-root .help-hub-panel .learning-guide-launch:not(.page-tour-launch):not(.page-tour-audio-launch) { order:3; }
#learning-guide-root .help-hub-panel .pwa-install-launcher { order:4; }
#learning-guide-root .help-hub-support { margin-top:12px; }
#learning-guide-root .help-hub-panel [hidden], #learning-guide-root .help-hub-panel[hidden], #learning-guide-root .help-hub-notice[hidden] { display:none!important; }
#learning-guide-root .help-hub-panel button:hover, #learning-guide-root .help-hub-support:hover { background:#19634d; }
#learning-guide-root .help-hub-notice { position:absolute; right:0; bottom:calc(100% + 12px); display:flex; gap:8px; width:min(255px,calc(100vw - 28px)); padding:10px; box-sizing:border-box; border:1px solid #ffd640; border-radius:14px; background:#fffdf0; box-shadow:0 4px 16px #0003; }
#learning-guide-root .help-hub-notice button { padding:4px; border:0; background:transparent; color:#12372f; font:inherit; cursor:pointer; text-align:left; }
#learning-guide-root .help-hub-dismiss { align-self:flex-start; font-size:24px!important; line-height:1; }
#learning-guide-root .help-hub button:focus-visible, #learning-guide-root .help-hub a:focus-visible { outline:3px solid #ffd640; outline-offset:2px; }
@media(max-width:859px) { #learning-guide-root .help-hub { right:max(14px,env(safe-area-inset-right)); bottom:calc(88px + env(safe-area-inset-bottom)); } #learning-guide-root .help-hub-panel { max-height:calc(100dvh - 185px); } }
@media print { #learning-guide-root .help-hub { display:none; } }
