.mroot{background:var(--m-bg);color:var(--m-ink);font-family:var(--font);min-height:100%;transition:background .4s,color .4s;padding-bottom:22px}
.mroot .m-hero{background:var(--m-hero);color:#fff;text-align:center;padding:26px 16px 22px;position:relative}
.mroot .m-logo{width:52px;height:52px;margin:0 auto 8px;border-radius:15px;box-shadow:0 8px 20px -8px rgba(0,0,0,.5)}
.mroot .m-logo svg{width:100%;height:100%}
.mroot h4{font-size:21px;line-height:1.3}
.mroot .m-hero small{display:block;font-size:12.5px;opacity:.85}
.mroot .m-tbl{display:inline-block;margin-top:8px;font-size:12px;font-weight:700;background:rgba(255,255,255,.18);border-radius:999px;padding:2px 11px}
.mroot .m-times{display:flex;gap:6px;justify-content:center;padding:12px 10px 4px}
.mroot .m-times button{font-size:12.5px;border:1px solid var(--m-line);border-radius:999px;padding:4px 12px;color:var(--m-mut);background:var(--m-card)}
.mroot .m-times button.on{background:var(--m-acc);border-color:var(--m-acc);color:var(--m-accInk)}
.mroot .m-cats{display:flex;gap:16px;overflow-x:auto;padding:10px 16px;border-bottom:1px solid var(--m-line);position:sticky;top:0;background:var(--m-bg);z-index:2;scrollbar-width:none}
.mroot .m-cats a{font-size:14px;font-weight:700;color:var(--m-mut);white-space:nowrap;padding-bottom:4px;border-bottom:2px solid transparent}
.mroot .m-cats a.on{color:var(--m-acc);border-color:var(--m-acc)}
.mroot h5{font-size:16px;padding:16px 16px 6px;color:var(--m-ink)}
.mroot .m-it{display:flex;gap:12px;align-items:center;margin:0 12px 8px;padding:10px;border-radius:14px;background:var(--m-card);border:1px solid var(--m-line)}
.mroot .m-ph{width:46px;height:46px;border-radius:12px;flex:none;display:grid;place-items:center;color:var(--m-acc);background:color-mix(in srgb,var(--m-acc) 12%,transparent)}
.mroot .m-ph svg{width:24px;height:24px}
.mroot .m-tx{flex:1;min-width:0}
.mroot .m-tx b{display:block;font-size:14.5px;line-height:1.4}
.mroot .m-tx b i{font-style:normal;white-space:nowrap;display:inline-block;font-size:10.5px;font-weight:700;margin-inline-start:6px;color:var(--m-acc);border:1px solid var(--m-acc);border-radius:999px;padding:0 6px;vertical-align:2px}
.mroot .m-tx span{display:block;font-size:12px;color:var(--m-mut);line-height:1.5}
.mroot .m-it em{font-style:normal;font-size:12.5px;font-weight:700;color:var(--m-acc);white-space:nowrap}
/* ---- call the captain ---- */
html.hc-has .mroot{padding-bottom:110px}
html.hc-lock,html.hc-lock body{overflow:hidden}
.hc-dock{position:fixed;inset-inline:0;bottom:0;z-index:40;padding:0 12px calc(12px + env(safe-area-inset-bottom));pointer-events:none;font-family:var(--font)}
.hc-in{pointer-events:auto;max-width:496px;margin:0 auto;display:flex;gap:8px;align-items:stretch;padding:7px;border-radius:24px;background:color-mix(in srgb,var(--m-card) 82%,transparent);backdrop-filter:blur(18px) saturate(1.5);-webkit-backdrop-filter:blur(18px) saturate(1.5);border:1px solid var(--m-line);box-shadow:0 18px 40px -16px rgba(10,15,35,.45)}
.hc-tbl{flex:none;min-width:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:18px;background:color-mix(in srgb,var(--m-acc) 9%,transparent);color:var(--m-ink);line-height:1.1}
.hc-tbl small{font-size:11px;color:var(--m-mut)}
.hc-tbl b{font-size:22px;font-weight:800;color:var(--m-acc)}
.hc-main{flex:1;display:flex;align-items:center;gap:12px;border-radius:18px;padding:9px 14px;background:var(--m-acc);color:var(--m-accInk);text-align:start;transition:transform .15s,background .3s}
.hc-main:active{transform:scale(.98)}
.hc-main.go{background:#0F9D6B;color:#fff}
.hc-ico{position:relative;flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.18)}
.hc-ico svg{width:22px;height:22px;position:relative}
.hc-main:not(.wait):not(.go) .hc-ico svg{animation:hcRing 3.6s ease-in-out infinite;transform-origin:50% 15%}
@keyframes hcRing{0%,72%,100%{transform:rotate(0)}76%{transform:rotate(14deg)}80%{transform:rotate(-12deg)}84%{transform:rotate(9deg)}88%{transform:rotate(-6deg)}92%{transform:rotate(3deg)}}
.hc-pulse{position:absolute;inset:0;border-radius:50%;border:2px solid currentColor;opacity:.6;animation:hcPulse 1.6s ease-out infinite}
@keyframes hcPulse{from{transform:scale(1);opacity:.6}to{transform:scale(1.7);opacity:0}}
.hc-tx{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.hc-tx b{font-size:16.5px;font-weight:800}
.hc-tx small{font-size:12px;opacity:.85}
.hc-hint{position:fixed;z-index:41;bottom:calc(92px + env(safe-area-inset-bottom));inset-inline:16px;max-width:360px;margin:0 auto;padding:11px 15px;border-radius:16px;background:#0B1020;color:#fff;font:600 13.5px/1.6 var(--font);box-shadow:0 14px 30px -12px rgba(0,0,0,.5);opacity:0;transform:translateY(8px);transition:opacity .35s,transform .35s;pointer-events:none}
.hc-hint::after{content:"";position:absolute;bottom:-6px;inset-inline-end:28%;width:12px;height:12px;background:#0B1020;transform:rotate(45deg);border-radius:2px}
.hc-hint.on{opacity:1;transform:none}
.hc-sheet{position:fixed;inset:0;z-index:60;visibility:hidden;font-family:var(--font)}
.hc-sheet.on{visibility:visible}
.hc-scrim{position:absolute;inset:0;background:rgba(6,9,20,.5);opacity:0;transition:opacity .3s}
.hc-sheet.on .hc-scrim{opacity:1}
.hc-panel{position:absolute;inset-inline:0;bottom:0;max-width:520px;margin:0 auto;background:var(--m-bg);color:var(--m-ink);border-radius:28px 28px 0 0;padding:10px 18px calc(22px + env(safe-area-inset-bottom));transform:translateY(105%);transition:transform .38s cubic-bezier(.2,.8,.2,1);box-shadow:0 -20px 50px -20px rgba(0,0,0,.4)}
.hc-sheet.on .hc-panel{transform:none}
.hc-grab{display:block;width:42px;height:5px;border-radius:5px;background:var(--m-line);margin:0 auto 14px}
.hc-body h3{font-size:21px;line-height:1.35;text-align:center}
.hc-p{font-size:14px;color:var(--m-mut);text-align:center;margin:4px 0 16px}
.hc-opts{display:flex;flex-direction:column;gap:9px}
.hc-opt{display:flex;align-items:center;gap:13px;padding:13px;border-radius:18px;background:var(--m-card);border:1px solid var(--m-line);text-align:start;color:var(--m-ink);transition:transform .15s,border-color .2s}
.hc-opt:active{transform:scale(.985);border-color:var(--m-acc)}
.hc-opt:disabled{opacity:.55}
.hc-oi{flex:none;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;color:var(--m-acc);background:color-mix(in srgb,var(--m-acc) 11%,transparent)}
.hc-oi svg{width:24px;height:24px}
.hc-opt span:nth-child(2){flex:1;display:flex;flex-direction:column;line-height:1.35}
.hc-opt b{font-size:16px}
.hc-opt small{font-size:12.5px;color:var(--m-mut)}
.hc-chev{flex:none;width:18px;height:18px;color:var(--m-mut);opacity:.7}
.hc-chev svg{width:100%;height:100%;display:block}
[dir=ltr] .hc-chev svg{transform:scaleX(-1)}
.hc-tnote{text-align:center;font-size:13px;color:var(--m-mut);margin-top:14px}
.hc-tnote b{color:var(--m-acc)}
.hc-state{text-align:center;padding:6px 0 2px}
.hc-rings{position:relative;width:96px;height:96px;margin:6px auto 16px;display:grid;place-items:center}
.hc-rings i{position:absolute;inset:0;border-radius:50%;border:2px solid var(--m-acc);opacity:0;animation:hcWave 2.4s ease-out infinite}
.hc-rings i:nth-child(2){animation-delay:.8s}.hc-rings i:nth-child(3){animation-delay:1.6s}
@keyframes hcWave{from{transform:scale(.55);opacity:.7}to{transform:scale(1.25);opacity:0}}
.hc-rings span{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:var(--m-acc);color:var(--m-accInk);box-shadow:0 12px 26px -10px var(--m-acc)}
.hc-rings svg{width:28px;height:28px}
.hc-done{width:72px;height:72px;margin:10px auto 16px;border-radius:50%;display:grid;place-items:center;background:#0F9D6B;color:#fff;animation:hcPop .45s cubic-bezier(.2,1.4,.4,1)}
.hc-done svg{width:34px;height:34px}
@keyframes hcPop{from{transform:scale(.4);opacity:0}}
.hc-meta{display:flex;justify-content:center;gap:18px;font-size:13.5px;color:var(--m-mut);margin:-6px 0 18px}
.hc-meta b{color:var(--m-ink)}
.hc-acts{display:flex;flex-direction:column;gap:8px}
.hc-btn{border-radius:16px;padding:13px;font-weight:800;font-size:15.5px;background:var(--m-acc);color:var(--m-accInk)}
.hc-btn.ghost{background:transparent;color:var(--m-mut);font-weight:700;font-size:14px;padding:8px}
.hc-err{margin-top:12px;text-align:center;font-size:13px;color:#C2410C}
@media (prefers-reduced-motion:reduce){.hc-main .hc-ico svg,.hc-pulse,.hc-rings i{animation:none!important}}
