/* Toast, command palette, bunny tour. Logical properties only. z-index: palette 100, tour 96, toast 110. */
.home-toast{position:fixed;inset-inline:0;inset-block-end:64px;margin-inline:auto;inline-size:max-content;max-inline-size:calc(100vw - 32px);z-index:110;background:var(--navy);color:#fff;border-radius:var(--r-pill);padding:10px 18px;font-size:var(--fs-15);font-weight:var(--fw-semibold);box-shadow:var(--shadow-3);opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .25s,transform .25s}
.home-toast.is-on{opacity:1;transform:none}
.home-toast:empty{display:none}

/* palette */
.pal{position:fixed;inset:0;z-index:100;display:grid;justify-items:center;align-items:start;padding:min(14vh,120px) 16px 16px}
.pal[hidden]{display:none}
.pal-back{position:absolute;inset:0;background:rgba(16,42,67,.5);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.pal-box{position:relative;inline-size:min(640px,100%);max-block-size:min(70vh,560px);display:flex;flex-direction:column;background:var(--card);border-radius:var(--r-xl);box-shadow:var(--shadow-3);border:1px solid var(--border);overflow:hidden}
.pal-in{display:flex;align-items:center;gap:10px;padding:10px 12px 10px 16px;border-block-end:1px solid var(--border)}
:root[dir="rtl"] .pal-in{padding:10px 16px 10px 12px}
.pal-in input{flex:1;min-inline-size:0;border:0;outline:0;background:transparent;font:inherit;font-size:var(--fs-18);color:var(--ink);min-block-size:44px}
.pal-in input:focus-visible{outline:0}
.pal-in:focus-within{box-shadow:inset 0 -2px 0 var(--primary)}
.pal-x{min-inline-size:44px;min-block-size:44px;border:0;background:none;cursor:pointer;border-radius:12px}
.pal-x kbd{font:var(--fw-semibold) var(--fs-13)/1 var(--font-sans);border:1px solid var(--border-strong);border-radius:8px;padding:4px 7px;color:var(--muted);background:var(--card-2)}
.pal-x:focus-visible{outline:3px solid var(--primary);outline-offset:-3px}
#pal-list{list-style:none;margin:0;padding:8px;overflow:auto;flex:1}
.pal-g{font-size:var(--fs-13);font-weight:var(--fw-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:10px 10px 4px}
:root[dir="rtl"] .pal-g{letter-spacing:0}
.pal-o{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 12px;min-block-size:44px;border-radius:12px;cursor:pointer;font-size:var(--fs-16);color:var(--ink)}
.pal-o[aria-selected="true"]{background:var(--sky);box-shadow:inset 0 0 0 2px var(--primary-soft)}
.pal-go{color:var(--muted);flex:none}
:root[dir="rtl"] .pal-go{transform:scaleX(-1)}
.pal-empty{padding:20px;text-align:center;color:var(--muted)}
.pal-hint{margin:0;padding:10px 16px;font-size:var(--fs-13);color:var(--muted);border-block-start:1px solid var(--border);background:var(--card-2)}
body.pal-on{overflow:hidden}
.home-nudge img{animation:home-nudge .9s ease-in-out 2}
@keyframes home-nudge{0%,100%{transform:translateY(0)}40%{transform:translateY(-14px) rotate(-4deg)}70%{transform:translateY(-4px)}}

/* tour */
.tour{position:fixed;inset:0;z-index:96}
.tour[hidden]{display:none}
.tour-spot{position:fixed;border-radius:22px;box-shadow:0 0 0 9999px rgba(16,42,67,.62),0 0 0 3px var(--gold);pointer-events:none;transition:inset .35s var(--ease),inline-size .35s var(--ease),block-size .35s var(--ease)}
.tour-card{position:fixed;inset-inline:auto;inset-inline-start:clamp(12px,calc(50vw - 220px),9999px);inline-size:min(440px,calc(100vw - 24px));background:var(--card);border-radius:var(--r-xl);padding:var(--s-5);box-shadow:var(--shadow-3);display:flex;flex-direction:column;gap:var(--s-3);border:1px solid var(--gold-line)}
@media (max-width:699px){.tour-card{inset-inline-start:12px}}
.tour-top{display:flex;align-items:center;gap:var(--s-3)}
.tour-bun{inline-size:64px;block-size:auto;flex:none}
.tour-step{font-size:var(--fs-14);font-weight:var(--fw-semibold);color:var(--muted)}
.tour-h{font-size:var(--fs-24);margin:0}
.tour-b{margin:0;color:var(--ink-2);font-size:var(--fs-16)}
.tour-dots{display:flex;gap:6px}
.tour-dots i{inline-size:22px;block-size:6px;border-radius:6px;background:var(--border)}
.tour-dots i.is-on{background:var(--gold)}
.tour-btns{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tour-sp{flex:1}
@media (prefers-reduced-motion:reduce){.tour-spot,.home-toast{transition:none}}
