.shokax-mascot{position:fixed;width:var(--mascot-width, 300px);height:var(--mascot-height, 420px);z-index:9998;touch-action:none;user-select:none;filter:drop-shadow(0 14px 28px rgba(54,34,48,.24));transition:filter .18s ease,transform .18s ease}.shokax-mascot.is-dragging{cursor:grabbing;filter:drop-shadow(0 18px 34px rgba(54,34,48,.32));transition:none}.shokax-mascot.is-active{animation:shokax-mascot-pop .32s ease}.shokax-mascot__stage{position:absolute;inset:0;overflow:hidden;border-radius:1.2rem;cursor:grab}.shokax-mascot.is-configuring .shokax-mascot__stage{outline:2px dashed rgba(233,84,107,.9);outline-offset:-2px;box-shadow:inset 0 0 0 1px #fffafcb8}html[data-theme=dark] .shokax-mascot.is-configuring .shokax-mascot__stage{outline-color:#fffafce6;box-shadow:inset 0 0 0 1px #241c23b8}.shokax-mascot__canvas{width:100%;height:100%;display:block}.shokax-mascot__controls{position:absolute;right:.45rem;top:.45rem;display:flex;flex-direction:column;gap:.4rem;align-items:flex-end;opacity:0;transform:translateY(-.25rem);transition:opacity .18s ease,transform .18s ease;pointer-events:none;touch-action:manipulation}.shokax-mascot:hover .shokax-mascot__controls,.shokax-mascot:focus-within .shokax-mascot__controls,.shokax-mascot.is-configuring .shokax-mascot__controls,.shokax-mascot.is-dragging .shokax-mascot__controls{opacity:1;transform:translateY(0);pointer-events:auto}.shokax-mascot__settings-toggle,.shokax-mascot__button,.shokax-mascot__select{height:1.9rem;border:1px solid rgba(122,61,88,.42);border-radius:999px;color:#7a3d58e6;background:transparent;box-shadow:none;backdrop-filter:none}.shokax-mascot__settings-toggle,.shokax-mascot__button{min-width:1.9rem;padding:0 .55rem;line-height:1;cursor:pointer}.shokax-mascot__settings-toggle{font-size:1rem}.shokax-mascot__settings-panel,.shokax-mascot__confirm-dialog{--mascot-panel-bg: rgba(36, 28, 35, .94);--mascot-panel-fg: rgba(255, 250, 252, .96);--mascot-panel-border: rgba(255, 250, 252, .42);--mascot-panel-hover: #ff9aac;border:1px solid var(--mascot-panel-border);color:var(--mascot-panel-fg);background:var(--mascot-panel-bg);box-shadow:0 .75rem 1.8rem #100c0f38}.shokax-mascot__settings-panel{position:fixed;z-index:9999;display:flex;min-width:4.8rem;max-width:min(8rem,calc(100vw - 1rem));flex-direction:column;align-items:stretch;gap:.35rem;padding:.35rem;border-radius:1rem;pointer-events:auto}.shokax-mascot__settings-panel[hidden]{display:none}html[data-theme=dark] .shokax-mascot__settings-panel,html[data-theme=dark] .shokax-mascot__confirm-dialog{--mascot-panel-bg: rgba(255, 250, 252, .94);--mascot-panel-fg: rgba(36, 28, 35, .96);--mascot-panel-border: rgba(36, 28, 35, .34);--mascot-panel-hover: #c73f58;box-shadow:0 .75rem 1.8rem #fffafc29}@media(prefers-color-scheme:dark){html:not([data-theme]) .shokax-mascot__settings-panel,html:not([data-theme]) .shokax-mascot__confirm-dialog{--mascot-panel-bg: rgba(255, 250, 252, .94);--mascot-panel-fg: rgba(36, 28, 35, .96);--mascot-panel-border: rgba(36, 28, 35, .34);--mascot-panel-hover: #c73f58;box-shadow:0 .75rem 1.8rem #fffafc29}}.shokax-mascot__settings-panel .shokax-mascot__button,.shokax-mascot__settings-panel .shokax-mascot__select,.shokax-mascot__confirm-dialog .shokax-mascot__button{color:var(--mascot-panel-fg);border-color:var(--mascot-panel-border)}.shokax-mascot__settings-panel .shokax-mascot__button:hover,.shokax-mascot__settings-panel .shokax-mascot__select:hover,.shokax-mascot__settings-panel .shokax-mascot__button:focus-visible,.shokax-mascot__settings-panel .shokax-mascot__select:focus-visible,.shokax-mascot__confirm-dialog .shokax-mascot__button:hover,.shokax-mascot__confirm-dialog .shokax-mascot__button:focus-visible{color:var(--mascot-panel-hover);border-color:var(--mascot-panel-hover)}.shokax-mascot__control-pair{display:flex;height:1.9rem;overflow:hidden;border:1px solid var(--mascot-panel-border, rgba(122, 61, 88, .42));border-radius:999px;background:transparent}.shokax-mascot__pair-button{flex:1 1 0;min-width:0;height:100%;border:0;border-radius:0;padding:0 .45rem}.shokax-mascot__pair-button+.shokax-mascot__pair-button{border-left:1px solid var(--mascot-panel-border, rgba(122, 61, 88, .28))}.shokax-mascot__control-pair:hover,.shokax-mascot__control-pair:focus-within{border-color:var(--mascot-panel-hover, rgba(233, 84, 107, .68))}.shokax-mascot__confirm{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:1.25rem;background:radial-gradient(circle at 50% 45%,rgba(255,154,172,.18),transparent 22rem),#140e1247;backdrop-filter:blur(.6rem);pointer-events:auto}html[data-theme=dark] .shokax-mascot__confirm{background:radial-gradient(circle at 50% 45%,rgba(199,63,88,.16),transparent 22rem),#fffafc2e}@media(prefers-color-scheme:dark){html:not([data-theme]) .shokax-mascot__confirm{background:radial-gradient(circle at 50% 45%,rgba(199,63,88,.16),transparent 22rem),#fffafc2e}}.shokax-mascot__confirm[hidden]{display:none}.shokax-mascot__confirm-dialog{position:relative;width:min(24rem,calc(100vw - 2rem));border-radius:1.35rem;padding:1.2rem;overflow:hidden;pointer-events:auto}.shokax-mascot__confirm-dialog:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.14),transparent 42%),radial-gradient(circle at 100% 0,color-mix(in srgb,var(--mascot-panel-hover) 30%,transparent),transparent 9rem);opacity:.85;pointer-events:none}.shokax-mascot__confirm-title,.shokax-mascot__confirm-message,.shokax-mascot__confirm-actions{position:relative}.shokax-mascot__confirm-title{font-size:1.08rem;font-weight:800;line-height:1.35;letter-spacing:.02em}.shokax-mascot__confirm-message{margin-top:.6rem;font-size:.86rem;line-height:1.65;opacity:.86}.shokax-mascot__confirm-actions{display:flex;justify-content:flex-end;gap:.7rem;margin-top:1.1rem}.shokax-mascot__confirm-actions .shokax-mascot__button{min-width:5.2rem;height:2.25rem;padding:0 .9rem;font-size:.84rem}.shokax-mascot__confirm-ok{color:var(--mascot-panel-bg)!important;border-color:var(--mascot-panel-hover)!important;background:var(--mascot-panel-hover)!important;box-shadow:0 .45rem 1rem color-mix(in srgb,var(--mascot-panel-hover) 34%,transparent);transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.shokax-mascot__confirm-ok:hover,.shokax-mascot__confirm-ok:focus-visible{transform:translateY(-1px);filter:brightness(1.08);box-shadow:0 .65rem 1.25rem color-mix(in srgb,var(--mascot-panel-hover) 44%,transparent)}.shokax-mascot__confirm-ok:active{transform:translateY(0);filter:brightness(.98)}.shokax-mascot__select{max-width:8rem;padding:0 .65rem;font-size:.78rem}.shokax-mascot__settings-toggle:hover,.shokax-mascot__button:hover,.shokax-mascot__select:hover,.shokax-mascot__settings-toggle:focus-visible,.shokax-mascot__button:focus-visible,.shokax-mascot__select:focus-visible{color:#e9546b;border-color:#e9546bad;outline:none}.shokax-mascot__loading,.shokax-mascot__speech{position:absolute;left:.65rem;right:.65rem;border-radius:.85rem;color:#7a3d58;background:#ffffffd1;box-shadow:0 .5rem 1.2rem #36223029;backdrop-filter:blur(.75rem);pointer-events:none}.shokax-mascot__loading{top:.75rem;padding:.55rem .75rem;font-size:.78rem;text-align:center}.shokax-mascot__loading:empty{display:none}.shokax-mascot__speech{top:-.35rem;width:max-content;max-width:min(18rem,calc(100vw - 2rem));right:auto;padding:.5rem .75rem;font-size:.8rem;line-height:1.45;opacity:0;transform:translateY(.35rem);transition:opacity .2s ease,transform .2s ease}.shokax-mascot__speech.is-visible{opacity:1;transform:translateY(-100%)}@media(max-width:820px){.shokax-mascot{filter:drop-shadow(0 10px 18px rgba(54,34,48,.22))}.shokax-mascot__controls{right:.2rem;top:.2rem;gap:.25rem}.shokax-mascot__settings-toggle,.shokax-mascot__button,.shokax-mascot__select{height:1.65rem;font-size:.72rem}.shokax-mascot__settings-toggle,.shokax-mascot__button{min-width:1.65rem;padding:0 .42rem}.shokax-mascot__settings-panel{min-width:4.2rem;max-width:min(7rem,calc(100vw - 1rem));gap:.25rem;padding:.25rem}.shokax-mascot__control-pair{height:1.65rem}.shokax-mascot__select{max-width:5.8rem}.shokax-mascot__speech{font-size:.72rem}}@media(hover:none){.shokax-mascot__controls{opacity:.42;pointer-events:auto}.shokax-mascot.is-configuring .shokax-mascot__controls{opacity:1}}@media(prefers-reduced-motion:reduce){.shokax-mascot,.shokax-mascot__controls,.shokax-mascot__speech{transition:none;animation:none}}@keyframes shokax-mascot-pop{0%{transform:scale(1)}45%{transform:scale(1.035)}to{transform:scale(1)}}
