/* Grafik: styles scoped to the helper, with no effect on portal form actions. */
.portal-help{--ph-ink:#1d3551;--ph-blue:#3566cf;--ph-line:#d6e1ef;--ph-soft:#eff5ff;font-family:system-ui,-apple-system,sans-serif;color:var(--ph-ink);font-size:14px;line-height:1.5;}
.portal-help [hidden],button.portal-help-trigger[hidden]{display:none!important;}
button.portal-help-trigger{display:inline-grid!important;place-items:center!important;vertical-align:middle;width:25px!important;min-width:25px!important;height:25px!important;min-height:25px!important;flex:0 0 25px!important;padding:0!important;margin:4px 6px!important;border:1px solid #8ea9d5!important;border-radius:50%!important;background:#f1f6ff!important;color:#254e98!important;font:700 15px/1 system-ui!important;box-shadow:none!important;cursor:pointer;position:relative;z-index:2;text-transform:none!important;}
button.portal-help-trigger:hover{background:#dae8ff!important;transform:translateY(-1px);}
.portal-help-highlight{outline:2px solid #e6ac2470!important;outline-offset:5px!important;scroll-margin-block:100px;}
.portal-help button{font:inherit;cursor:pointer;box-sizing:border-box;}.portal-help button:focus-visible,button.portal-help-trigger:focus-visible{outline:3px solid #e6ac24!important;outline-offset:3px;}
.portal-help-launcher{position:fixed;right:22px;bottom:18px;z-index:11010;display:flex;align-items:center;gap:2px;padding:4px 14px 4px 2px;border:1px solid #c6d6ed;border-radius:22px;background:#fff;color:var(--ph-ink);box-shadow:0 8px 26px #183b6826;font-weight:750!important;}
.portal-help-launcher>b,.portal-help-launcher span>b{display:inline-grid;place-items:center;width:22px;height:22px;margin-left:4px;border-radius:50%;background:var(--ph-blue);color:#fff;}
.portal-help-avatar{display:block;width:80px;height:84px;flex:none;}.portal-help-avatar svg{width:100%;height:100%;overflow:visible;}.portal-help-avatar--large{width:120px;height:128px;}
.portal-help-dialog{position:fixed;right:22px;bottom:116px;z-index:11011;width:min(390px,calc(100vw - 28px));max-height:min(660px,calc(100dvh - 132px));overflow:auto;overscroll-behavior:contain;background:#fff;border:1px solid var(--ph-line);border-radius:20px;box-shadow:0 18px 65px #122c4a33;text-align:left;}
.portal-help-top{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:16px 18px;background:#f2f6ff;border-bottom:1px solid var(--ph-line);z-index:2;}.portal-help-top strong{display:block;font-size:20px;}.portal-help-top span{font-size:12px;color:#657b98;}
.portal-help button.portal-help-close{width:34px;height:34px;padding:0;border:1px solid var(--ph-line);border-radius:50%;background:#fff;color:var(--ph-ink);font-size:24px;}
.portal-help-intro{display:flex;align-items:center;gap:8px;padding:12px 18px;}.portal-help-intro p{margin:0;}.portal-help-kicker{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#536f95;margin-bottom:5px!important;}
.portal-help-topics{display:grid;gap:7px;padding:0 18px 18px;}.portal-help-topics button{padding:11px 12px;border:1px solid var(--ph-line);border-radius:11px;background:#fff;color:var(--ph-ink);text-align:left;}.portal-help-topics button:hover{background:var(--ph-soft);border-color:#89a9dc;}
.portal-help-guide{padding:16px 18px;}.portal-help button.portal-help-all{padding:0;border:0;background:none;color:var(--ph-blue);font-size:12px;margin-bottom:14px;}.portal-help-counter{font-size:12px;font-weight:700;color:#647c9f;margin:0 0 6px;}.portal-help-title{font-size:19px;line-height:1.3;margin:0 0 10px;color:var(--ph-ink);}.portal-help-body{margin:0;white-space:pre-line;}.portal-help-progress{display:block;width:100%;height:7px;margin:18px 0;accent-color:var(--ph-blue);}
.portal-help-nav{display:flex;justify-content:space-between;gap:10px;margin-top:15px;}.portal-help-nav button{padding:10px 12px;border:1px solid var(--ph-line);border-radius:9px;background:#fff;color:var(--ph-ink);}.portal-help-nav .portal-help-next{background:var(--ph-blue);border-color:var(--ph-blue);color:#fff;}.portal-help button:disabled{opacity:.45;cursor:default;}.portal-help button.portal-help-locate{background:var(--ph-soft);color:#254e98;padding:7px 10px;border:1px solid var(--ph-line);border-radius:7px;font-size:12px;}
.portal-help-preferences{padding:12px 18px;border-top:1px solid var(--ph-line);color:#63758d;font-size:11px;}.portal-help-preferences label{display:flex;align-items:center;gap:7px;}.portal-help-preferences input{width:15px;height:15px;margin:0;}.portal-help-preferences small{display:block;font-size:11px;margin-top:7px;}
.grafik-arm-left{transform-origin:67px 83px;}.grafik-arm-right{transform-origin:115px 88px;}.grafik-body{transform-origin:90px 155px;animation:grafik-breathe 3.4s ease-in-out infinite;}.grafik-eyes{transform-origin:90px 76px;animation:grafik-blink 5.8s infinite;}.grafik-pupils{transform-origin:90px 76px;}
.grafik-glasses{transform-origin:91px 76px;}.grafik-brow-right{transform-origin:105px 55px;}.grafik-shadow{transform-origin:91px 178px;animation:grafik-shadow 3.4s ease-in-out infinite;}
.grafik-leg-left{transform-origin:78px 143px;}.grafik-leg-right{transform-origin:104px 143px;}.grafik-sad-mouth,.grafik-notebook,.grafik-thought,.grafik-star,.grafik-small-pencil{display:none;}
.portal-help[data-gesture=idle] .grafik-arm-left{animation:grafik-idle-wave 12s ease-in-out infinite;}.portal-help[data-gesture=idle] .grafik-pupils{animation:grafik-look-around 9s ease-in-out infinite;}
.portal-help[data-gesture=wave] .grafik-arm-left{animation:grafik-wave 1s ease-in-out 4;}.portal-help[data-gesture=wave] .grafik-body{animation:grafik-greeting 2s ease-in-out 2;}.portal-help[data-gesture=wave] .grafik-glasses{animation:grafik-glasses .9s ease-in-out 4;}
.portal-help[data-gesture=happy] .grafik-body{animation:grafik-hop 1s ease-in-out 3;}.portal-help[data-gesture=happy] .grafik-star{display:block;animation:grafik-spark 1s ease-in-out 3;}.portal-help[data-gesture=happy] .grafik-arm-left{transform:rotate(18deg);}.portal-help[data-gesture=happy] .grafik-arm-right{transform:rotate(-45deg);}.portal-help[data-gesture=happy] .grafik-leg-left{animation:grafik-kick .5s ease-in-out 6;}.portal-help[data-gesture=happy] .grafik-leg-right{animation:grafik-kick .5s ease-in-out .25s 6 reverse;}
.portal-help[data-gesture=sad] .grafik-body{transform:rotate(-6deg) translateY(3px);animation:none;}.portal-help[data-gesture=sad] .grafik-smile{display:none;}.portal-help[data-gesture=sad] .grafik-sad-mouth{display:block;}.portal-help[data-gesture=sad] .grafik-arm-left{transform:rotate(-40deg);}.portal-help[data-gesture=sad] .grafik-arm-right{transform:rotate(40deg);}
.portal-help[data-gesture=thinking] .grafik-thought{display:block;animation:grafik-spark 1.5s ease-in-out infinite;}.portal-help[data-gesture=thinking] .grafik-body{animation:grafik-thinking-body 3s ease-in-out infinite;}.portal-help[data-gesture=thinking] .grafik-arm-right{transform:rotate(142deg);animation:grafik-chin-tap 1.6s ease-in-out infinite;}.portal-help[data-gesture=thinking] .grafik-pupils{animation:grafik-thinking-eyes 3s ease-in-out infinite;}.portal-help[data-gesture=thinking] .grafik-brow-right{transform:translateY(-4px) rotate(-10deg);}
.portal-help[data-gesture=writing] .grafik-notebook,.portal-help[data-gesture=writing] .grafik-small-pencil{display:block;}.portal-help[data-gesture=writing] .grafik-arm-right{transform:rotate(55deg);animation:grafik-write .5s ease-in-out 10 both;}.portal-help[data-gesture=writing] .grafik-pupils{transform:translate(3px,3px);}
.portal-help[data-gesture=point] .grafik-arm-right{transform:rotate(-38deg);animation:grafik-explain 2.2s ease-in-out infinite;}.portal-help[data-gesture=point] .grafik-smile{transform-origin:91px 103px;animation:grafik-talk 1.1s ease-in-out 5;}
@keyframes grafik-breathe{0%,100%{transform:translateY(0) rotate(-1deg);}50%{transform:translateY(-4px) rotate(2deg);}}
@keyframes grafik-blink{0%,40%,44%,72%,76%,100%{transform:scaleY(1);}42%,74%{transform:scaleY(.1);}}
@keyframes grafik-wave{0%,100%{transform:rotate(0);}20%,60%{transform:rotate(36deg);}40%,80%{transform:rotate(-12deg);}}
@keyframes grafik-idle-wave{0%,74%,100%{transform:rotate(0);}78%,86%,94%{transform:rotate(26deg);}82%,90%,98%{transform:rotate(-8deg);}}
@keyframes grafik-look-around{0%,35%,100%{transform:translate(0,0);}45%,65%{transform:translate(3px,-1px);}80%{transform:translate(-2px,0);}}
@keyframes grafik-greeting{0%,100%{transform:rotate(-2deg);}50%{transform:translateY(-5px) rotate(4deg);}}
@keyframes grafik-glasses{50%{transform:translateY(-1.5px) rotate(-2deg);}}
@keyframes grafik-hop{0%,100%{transform:translateY(0);}45%{transform:translateY(-12px) rotate(-4deg);}70%{transform:translateY(0) scaleY(.95);}}
@keyframes grafik-kick{50%{transform:rotate(12deg);}}
@keyframes grafik-spark{0%,100%{opacity:1;}50%{opacity:.3;}}
@keyframes grafik-thinking-body{0%,100%{transform:rotate(-4deg);}50%{transform:translateY(-2px) rotate(1deg);}}
@keyframes grafik-chin-tap{0%,100%{transform:rotate(142deg);}50%{transform:rotate(151deg);}}
@keyframes grafik-thinking-eyes{0%,100%{transform:translate(1px,-2px);}50%{transform:translate(4px,-3px);}}
@keyframes grafik-write{0%,100%{transform:rotate(55deg);}50%{transform:rotate(66deg);}}
@keyframes grafik-explain{0%,100%{transform:rotate(-28deg);}50%{transform:rotate(-47deg);}}
@keyframes grafik-talk{0%,100%{transform:scaleY(.8);}50%{transform:scaleY(1.2);}}
@keyframes grafik-shadow{50%{transform:scaleX(.9);opacity:.1;}}
.portal-help-paused [data-help-avatar] *{animation-play-state:paused!important;}
.portal-help-reduced *{animation:none!important;transition:none!important;}
@media(prefers-reduced-motion:reduce){.portal-help *{animation:none!important;transition:none!important;}button.portal-help-trigger:hover{transform:none;}}
@media(max-width:600px){.portal-help-launcher{right:12px;bottom:12px;}.portal-help-dialog{right:14px;bottom:108px;max-height:calc(100dvh - 128px);}.portal-help-avatar{width:66px;height:70px;}.portal-help-avatar--large{width:100px;height:108px;}}
/* Administrator editor */
.portal-help-admin{max-width:1120px;margin:25px auto;padding:24px;background:#fff;border:1px solid #d6e1ef;border-radius:16px;color:#1d3551;}.portal-help-admin h2,.portal-help-admin h3{color:#1d3551;}.portal-help-admin table{width:100%;border-collapse:collapse;}.portal-help-admin th,.portal-help-admin td{padding:10px;border-bottom:1px solid #d6e1ef;text-align:left;vertical-align:top;}.portal-help-admin label{display:block;margin:12px 0;font-weight:600;}.portal-help-admin input:not([type=checkbox]),.portal-help-admin select,.portal-help-admin textarea{display:block;width:100%;padding:10px;border:1px solid #b9cbe3;border-radius:7px;background:#fff;color:#1d3551;box-sizing:border-box;font:inherit;margin-top:5px;}.portal-help-admin textarea{min-height:90px;}.portal-help-admin button,.portal-help-admin .ph-admin-link{display:inline-block;padding:10px 14px;border:0;border-radius:8px;background:#3566cf;color:#fff;cursor:pointer;text-decoration:none;}.portal-help-admin fieldset{margin:14px 0;padding:14px;border:1px solid #b9cbe3;border-radius:10px;}.portal-help-admin legend{padding:0 8px;font-weight:700;}.ph-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;}.ph-admin-notice{padding:12px;background:#eff5ff;border-radius:8px;}.portal-help-admin small{color:#60728d;}.portal-help-admin [data-help-remove-step]{background:#f4e4e4;color:#873c3c;padding:6px 10px;}.ph-admin-table{overflow:auto;}@media(max-width:700px){.ph-admin-grid{grid-template-columns:1fr;}.portal-help-admin{margin:12px;padding:16px;}}


/* A comet follows the actual viewport bounds without covering or moving the control. */
.portal-help-orbit{max-width:none!important;max-height:none!important;position:fixed;left:0;top:0;z-index:11008;overflow:visible;pointer-events:none!important;contain:layout style;}
.portal-help-orbit *{pointer-events:none!important;}
.portal-help-orbit rect{fill:none;stroke-linecap:round;}
.portal-help-comet-track{stroke:#edb335;stroke-width:1.5;opacity:.42;}
.portal-help-comet-streak{animation:portal-help-comet-lap 2.8s linear infinite;}
.portal-help-comet-tail{stroke:#eba329;stroke-width:3;opacity:.22;}
.portal-help-comet-middle{stroke:#ffc441;stroke-width:3.5;opacity:.5;}
.portal-help-comet-core{stroke:#ffe397;stroke-width:4;opacity:.85;}
.portal-help-comet-head{stroke:#fff9d9;stroke-width:5.5;filter:drop-shadow(0 0 3px #ffba28) drop-shadow(0 0 6px #f2a41d);}
@keyframes portal-help-comet-lap{from{stroke-dashoffset:var(--comet-phase);}to{stroke-dashoffset:calc(var(--comet-phase) - 100px);}}
.portal-help-orbit--reduced .portal-help-comet-streak{display:none;animation:none;}
.portal-help-orbit--reduced .portal-help-comet-track{stroke:#d69a16;stroke-width:2.5;opacity:1;}
@media(prefers-reduced-motion:reduce){.portal-help-orbit .portal-help-comet-streak{display:none;animation:none;}.portal-help-orbit .portal-help-comet-track{stroke:#d69a16;stroke-width:2.5;opacity:1;}}

/* A first-visit invitation never captures focus or blocks the page. */
.portal-help-welcome{position:fixed;right:22px;bottom:116px;z-index:11009;width:min(330px,calc(100vw - 28px));max-height:calc(100dvh - 132px);overflow:auto;box-sizing:border-box;padding:20px;border:1px solid #d2dff0;border-radius:18px;background:#fff;box-shadow:0 14px 45px #173a6429;color:var(--ph-ink);text-align:left;}
.portal-help-welcome-title{display:block;font-size:18px;line-height:1.3;}.portal-help-welcome-copy{margin:9px 0 16px;}.portal-help-welcome>div{display:flex;gap:8px;flex-wrap:wrap;}
.portal-help-welcome button{padding:9px 12px;border:1px solid var(--ph-line);border-radius:9px;background:#fff;color:var(--ph-ink);}
.portal-help-welcome button.portal-help-welcome-start{background:var(--ph-blue);border-color:var(--ph-blue);color:#fff;}.portal-help-welcome small{display:block;margin-top:13px;font-size:11px;color:#647893;}
.portal-help-topics button.portal-help-tour-replay{border-color:#b9cde9;background:#eff5ff;color:#254e98;font-weight:700;}
@media(max-width:600px){.portal-help-welcome{right:14px;bottom:108px;max-height:calc(100dvh - 128px);}}


/* A lightbox-style shade leaves the live target and helper controls unobscured. */
.portal-help-spotlight{position:fixed;left:0;top:0;z-index:11006;box-sizing:border-box;max-width:none;max-height:none;background:transparent;border:0;box-shadow:0 0 0 200vmax rgba(7,14,27,.72);pointer-events:none!important;animation:portal-help-shade-in .2s ease-out both;}
.portal-help-spotlight *{pointer-events:none!important;}

@keyframes portal-help-shade-in{from{opacity:0;}to{opacity:1;}}
.portal-help-spotlight--reduced{animation:none;}
@media(prefers-reduced-motion:reduce){.portal-help-spotlight{animation:none;}}

.portal-support-tabs{display:flex;gap:5px;padding:10px 14px;border-bottom:1px solid var(--ph-line);background:#fff;}
.portal-support-tabs button{flex:1;padding:8px 4px;border:1px solid var(--ph-line);border-radius:8px;background:#fff;color:var(--ph-ink);font-size:12px;}
.portal-support-tabs button[aria-pressed=true]{background:var(--ph-blue);border-color:var(--ph-blue);color:#fff;}
.portal-support{padding:14px 18px;}.portal-support-note{margin:0 0 10px;color:#62758f;font-size:12px;}
.portal-support label{display:block;margin:10px 0;font-size:13px;}.portal-support input,.portal-support select,.portal-support textarea{display:block;width:100%;box-sizing:border-box;border:1px solid var(--ph-line);border-radius:8px;background:#fff;color:var(--ph-ink);padding:9px;font:inherit;margin-top:5px;}
.portal-support textarea{resize:vertical;min-height:72px;}.portal-support button{padding:8px 11px;border:1px solid var(--ph-line);border-radius:8px;background:#eff5ff;color:#254e98;font-size:12px;}
.portal-support form>button{background:var(--ph-blue);color:#fff;}.portal-support form{display:block;}
.portal-support h3{font-size:16px;color:var(--ph-ink);margin:12px 0 4px;}.portal-support-state,.portal-support-status{font-size:12px;color:#526a8a;}.portal-support-status:not(:empty){padding:8px;background:#eff5ff;border-radius:6px;}
.portal-support-messages{max-height:240px;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:8px;margin:10px 0;}
.portal-support-message{padding:10px;border-radius:10px;background:#f0f4fa;border:1px solid #dce5f1;font-size:13px;}.portal-support-message.is-admin{background:#e7f2ec;border-color:#bbd8c8;}
.portal-support-message small{display:block;font-size:10px;color:#62758f;}.portal-support-message p{margin:5px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;}.portal-support>small,.portal-support-context{display:block;font-size:11px;color:#647893;margin:8px 0;}
.support-admin-message{padding:12px;margin:8px 0;border:1px solid #d6e1ef;border-radius:8px;background:#f5f8fc;}.support-admin-message p{white-space:pre-wrap;overflow-wrap:anywhere;}
