/* Bitek: stały asystent lekcji. Znaczki ? przy miejscach, róg ekranu z awatarem i dymek z podpowiedzią. */
.bitek-slot{position:relative;display:inline-block;width:0;height:0;line-height:0;font-size:inherit;letter-spacing:0;text-transform:none;vertical-align:baseline}
.bitek-slot>.bitek-question{position:absolute;left:0;top:calc(-.3em - 12px);margin:0 0 0 10px;font-size:inherit}
.bitek-question span{font:700 14px/1 system-ui}
.bitek-question{display:inline-flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;min-width:24px;margin:0 0 0 10px;padding:0;border:1px solid #a98bd0;border-radius:50%;background:#39274e;color:#eedfff;font:inherit;line-height:1;letter-spacing:0;text-transform:none;cursor:pointer;box-shadow:none}
.bitek-question:hover,.bitek-question:focus-visible{background:#77509e;border-color:#b9f0dc;color:#fff}
.bitek-question-row{position:relative}
.bitek-question-row>button[data-run]{width:100%;min-width:0}
.bitek-question-row>button.bitek-question{position:absolute;top:8px;right:8px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;min-width:24px;min-height:0;margin:0;padding:0;border:1px solid #a98bd0;border-radius:50%;background:#39274e;color:#eedfff;font-size:14px}
.bitek-question-row>button.bitek-question:hover{background:#77509e;border-color:#b9f0dc;color:#fff}
.bitek-help-focus{outline:2px solid #91e6cf!important;outline-offset:4px;border-radius:6px;animation:bitek-pulse 1.6s ease-out 2}
.bitek-help-code-focus{background:#8be2c62b;box-shadow:0 0 0 2px #8be2c688;color:inherit;border-radius:3px}
@keyframes bitek-pulse{0%{outline-color:#91e6cf}50%{outline-color:#91e6cf00}100%{outline-color:#91e6cf}}
.lp #lab:has(.bitek-question) .sb-grid,.lp #lab:has(.bitek-question) .sb-cmds,.lp #lab:has(.bitek-question) .sb-grid>div{min-width:0;max-width:100%;width:100%}.lp #lab .bitek-question-row code{overflow-wrap:anywhere;white-space:pre-wrap}@media(max-width:720px){.lp #lab:has(.bitek-question) .sb-grid,.lp #lab:has(.bitek-question) .sb-cmds{grid-template-columns:minmax(0,1fr)}}

.bitek-dock{position:fixed;right:14px;bottom:14px;z-index:1400;width:112px;font-family:inherit;transition-property:transform;transition-duration:.3s;transition-timing-function:ease-in-out;will-change:transform}
.bitek-dock[hidden],.bitek-sleeper[hidden]{display:none}
.bitek-avatar{position:relative;display:block;width:112px;height:176px;padding:0;border:0;border-radius:18px;background:transparent;cursor:pointer}
.bitek-avatar img{position:absolute;left:0;bottom:0;width:112px;height:auto;filter:drop-shadow(0 6px 10px #0008);transition:transform .2s}
.bitek-avatar:hover img,.bitek-avatar:focus-visible img{transform:translateY(-3px) scale(1.04)}
.bitek-avatar canvas{display:block;width:100%;height:100%}
.bitek-avatar:focus-visible{outline:3px solid #88e3cb;outline-offset:3px}
.bitek-badge{position:absolute;top:2px;right:0;min-width:24px;height:24px;padding:0 6px;border-radius:12px;background:#77509e;border:2px solid #d9c3f0;color:#fff;font:700 13px/20px system-ui;text-align:center;box-sizing:border-box}
.bitek-hello{position:absolute;right:calc(100% + 6px);bottom:56px;width:min(260px,calc(100vw - 130px));margin:0;padding:12px 14px;border:1px solid #aa8bc4;border-radius:16px 16px 4px 16px;background:linear-gradient(140deg,#34253f,#1c2932);color:#f3eafa;font-size:14px;line-height:1.5;box-shadow:0 10px 30px #0006}
.bitek-sleeper{position:fixed;right:14px;bottom:14px;z-index:1400;padding:9px 14px;border:1px solid #a98bd0;border-radius:999px;background:#39274e;color:#eedfff;font:700 14px system-ui;cursor:pointer}
.bitek-sleeper:hover{background:#77509e}

.bitek-bubble{--tail:50%;position:absolute;right:calc(100% + 12px);bottom:0;width:min(300px,calc(100vw - 150px));padding:13px 15px 10px;border:1px solid #aa8bc4;border-radius:16px;background:linear-gradient(140deg,#34253f,#1c2932);box-shadow:0 10px 30px #0006;color:#f2eafa;text-align:left;transition:opacity .35s ease,transform .35s ease}
.bitek-bubble[hidden]{display:none}
.bitek-bubble.is-fading{opacity:0;transform:translateY(4px)}
.bitek-bubble::after{content:"";position:absolute;top:var(--tail);right:-8px;width:14px;height:14px;margin-top:-7px;background:#2a2735;border-top:1px solid #aa8bc4;border-right:1px solid #aa8bc4;transform:rotate(45deg)}
.bitek-bubble-right .bitek-bubble{right:auto;left:calc(100% + 12px)}
.bitek-bubble-right .bitek-bubble::after{right:auto;left:-8px;transform:rotate(-135deg)}
.bitek-x{position:absolute;top:5px;right:6px;width:22px;height:22px;border:0;border-radius:50%;background:transparent;color:#cbbcd8;font-size:17px;line-height:1;cursor:pointer;padding:0}
.bitek-x:hover{background:#ffffff1f;color:#fff}
.bitek-topic-title{margin:0 22px 6px 0;font-size:13px;font-weight:700;line-height:1.3;color:#91e0cf}
.bitek-text{font-size:13.5px;line-height:1.55;color:#f3eafa;white-space:pre-wrap;max-height:min(32vh,230px);overflow:auto}
.bitek-text.is-code{font:12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;color:#bcebdc;background:#0e151b;border-radius:8px;padding:8px 10px;overflow:auto}
.bitek-more,.bitek-steps{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}
.bitek-more[hidden],.bitek-steps[hidden]{display:none}
.bitek-more button{font:inherit;font-size:12px;padding:2px 8px;border:0;border-radius:999px;background:#ffffff14;color:#cdbfe0;cursor:pointer}
.bitek-steps button{font:inherit;font-size:11px;min-width:26px;padding:3px 7px;border:1px solid #786187;border-radius:7px;background:transparent;color:#d5c5e1;cursor:pointer}
.bitek-steps button[aria-pressed=true]{background:#694880;color:#fff;border-color:#bd9ad7}
.bitek-more button:hover,.bitek-steps button:hover{background:#5a3f72;color:#fff}
.bitek-nav{display:flex;align-items:center;gap:6px;margin-top:10px;padding-top:7px;border-top:1px solid #ffffff1a}
.bitek-where{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;color:#9a8aab}
.bitek-nav button{font:inherit;font-size:15px;line-height:1;min-width:24px;height:24px;padding:0 6px;border:0;border-radius:6px;background:transparent;color:#cdbfe0;cursor:pointer}
.bitek-nav .bitek-min{font-size:10.5px;color:#9a8aab}
.bitek-nav button:hover:not(:disabled){background:#ffffff1f;color:#fff}
.bitek-nav button:disabled{opacity:.3;cursor:default}
.bitek-bubble button:focus-visible,.bitek-sleeper:focus-visible{outline:3px solid #88e3cb;outline-offset:2px}
@media(max-width:700px){
  .bitek-dock{right:8px;bottom:8px;width:80px;will-change:auto}
  .bitek-avatar{width:80px;height:126px}.bitek-avatar img{width:80px}
  .bitek-bubble{position:fixed;left:8px;right:8px;bottom:140px;top:auto;width:auto;max-height:44vh}
  .bitek-bubble-right .bitek-bubble{left:8px;right:8px;top:auto!important;bottom:140px}
  .bitek-bubble::after,.bitek-bubble-right .bitek-bubble::after{display:none}
  .bitek-hello{position:fixed;left:8px;right:8px;bottom:140px;width:auto}
  .bitek-question{width:30px;height:30px;min-width:30px}
  }
@media(prefers-reduced-motion:reduce){.bitek-dock,.bitek-avatar img{transition:none!important}.bitek-help-focus{animation:none}}

.bitek-walking .bitek-bubble{visibility:hidden}
.bitek-bubble[data-mode=game]>:not(.bitek-x):not(.bitek-game){display:none}
.bitek-game[hidden]{display:none}
.bitek-game-status{margin:0 0 12px;font-size:15px;font-weight:700;color:#fff;min-height:22px}
.bitek-board{display:grid;grid-template-columns:repeat(3,60px);grid-auto-rows:60px;gap:6px;justify-content:center;margin:0 auto 12px}
.bitek-board button{border:1px solid #786187;border-radius:12px;background:#241a31;color:#f3eafa;font:700 34px/1 system-ui;cursor:pointer;transition:background .15s}
.bitek-board button:hover:not(:disabled){background:#4a3361}
.bitek-board button:disabled{cursor:default;color:#f3eafa}
.bitek-board button.is-win{background:#2e6b5a;border-color:#91e6cf;color:#fff}
.bitek-game-score{margin:0 0 12px;text-align:center;font-size:12px;color:#bbaaca}
.bitek-game-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.bitek-game-actions button{font:inherit;font-size:12px;padding:7px 11px;border:1px solid #786187;border-radius:8px;background:transparent;color:#d5c5e1;cursor:pointer}
.bitek-game-actions button:hover{background:#5a3f72;color:#fff}
@media(max-width:700px){.bitek-board{grid-template-columns:repeat(3,64px);grid-auto-rows:64px}}

.bitek-dock[data-sleep] .bitek-avatar::before{content:"z  z  Z";position:absolute;right:6px;top:22px;font:700 17px/1 system-ui;letter-spacing:3px;color:#cdbfe0;animation:bitek-zzz 3s ease-in-out infinite;pointer-events:none}
.bitek-dock[data-sleep] canvas,.bitek-dock[data-sleep] img{filter:brightness(.82)}
@keyframes bitek-zzz{0%{opacity:0;transform:translate(0,12px)}30%{opacity:1}100%{opacity:0;transform:translate(8px,-14px)}}
@media(prefers-reduced-motion:reduce){.bitek-dock[data-sleep] .bitek-avatar::before{animation:none;opacity:.9}}
