jaml-ui 0.30.0 → 0.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,17 @@
1
+ import { default as React } from 'react';
2
+ export type JimboDualChipTone = 'blue' | 'red' | 'green' | 'gold' | 'dark';
3
+ export interface JimboDualChipHalf {
4
+ value: React.ReactNode;
5
+ tone: JimboDualChipTone;
6
+ label?: string;
7
+ }
8
+ export interface JimboDualChipProps {
9
+ left: JimboDualChipHalf;
10
+ right: JimboDualChipHalf;
11
+ className?: string;
12
+ }
13
+ /**
14
+ * Two stat halves joined into one pill. Used for the `0 × 0` Hands × Discards
15
+ * chip on Balatro's run-info side panel.
16
+ */
17
+ export declare function JimboDualChip({ left, right, className }: JimboDualChipProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,11 @@
1
+ export interface JimboSliderProps {
2
+ value: number;
3
+ min?: number;
4
+ max?: number;
5
+ step?: number;
6
+ label?: string;
7
+ onChange?: (value: number) => void;
8
+ className?: string;
9
+ id?: string;
10
+ }
11
+ export declare function JimboSlider({ value, min, max, step, label, onChange, className, id, }: JimboSliderProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,10 @@
1
+ export interface JimboStepperProps {
2
+ value: string | number;
3
+ label?: string;
4
+ onPrev?: () => void;
5
+ onNext?: () => void;
6
+ canPrev?: boolean;
7
+ canNext?: boolean;
8
+ className?: string;
9
+ }
10
+ export declare function JimboStepper({ value, label, onPrev, onNext, canPrev, canNext, className, }: JimboStepperProps): import("react/jsx-runtime").JSX.Element;
@@ -7,5 +7,6 @@ export interface JimboToggleListProps {
7
7
  items: ToggleItem[];
8
8
  onToggle: (id: string) => void;
9
9
  title?: string;
10
+ variant?: 'row' | 'stacked';
10
11
  }
11
- export declare function JimboToggleList({ items, onToggle, title }: JimboToggleListProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare function JimboToggleList({ items, onToggle, title, variant }: JimboToggleListProps): import("react/jsx-runtime").JSX.Element;
package/dist/ui/jimbo.css CHANGED
@@ -1,2 +1,2 @@
1
- @font-face{font-family:m6x11plus;src:url(/fonts/m6x11plus.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:m6x11;src:url(/fonts/m6x11plus.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}*{scrollbar-width:none!important;-ms-overflow-style:none!important}::-webkit-scrollbar{display:none!important}:root{--j-red:#fe5148;--j-blue:#0093ff;--j-green:#429f79;--j-orange:#ff9800;--j-gold:#e4b643;--j-purple:#9e74ce;--j-dark-red:#a02721;--j-dark-blue:#0057a1;--j-dark-orange:#a05b00;--j-dark-green:#215f46;--j-dark-purple:#5e437e;--j-dark-grey:#3a5055;--j-darkest:#1e2b2d;--j-grey:#708386;--j-teal-grey:#404c4e;--j-panel-edge:#1e2e32;--j-inner-border:#334461;--j-border-silver:#b9c2d2;--j-border-south:#777e89;--j-gold-text:#e4b643;--j-green-text:#35bd86;--j-orange-text:#ff8f00;--j-white:#fff;--j-black:#000;--j-tarot-btn:#9e74ce;--j-planet-btn:#00a7ca;--j-spectral-btn:#2e76fd;--j-tarot-btn-dark:#5e437e;--j-planet-btn-dark:#00657c;--j-spectral-btn-dark:#14449e;--j-font:"m6x11plus", "m6x11", monospace;--j-font-code:"JetBrains Mono", "Cascadia Code", "Fira Code", "SF Mono", SFMono-Regular, Menlo, Consolas, ui-monospace, "Courier New", monospace;--j-text-shadow:1px 1px 0 #000c;--j-space-xs:2px;--j-space-sm:4px;--j-space-md:8px;--j-space-lg:12px;--j-space-xl:16px;--j-radius-sm:4px;--j-radius-md:6px;--j-radius-lg:8px;--j-radius-pill:10px;--j-ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--j-press-y:3px;--j-press-speed:55ms;--j-panel-border-width:3px;--j-panel-south-edge-width:calc(var(--j-panel-border-width) / 2);--j-panel-border-width-heavy:6px;--j-surface-shadow-depth:4px;--j-idle-sheen-duration:5.6s;--j-idle-bob-duration:3.4s}.j-text{font-family:var(--j-font);text-shadow:var(--j-text-shadow);color:var(--j-white);font-weight:400;line-height:1.2}.j-text--no-shadow{text-shadow:none}.j-text--upper{letter-spacing:.08em}.j-text--dance-container{white-space:pre-wrap;display:inline-block}@keyframes j-font-dance{0%{transform:translateY(0)}25%{transform:translateY(-1px)}50%{transform:translateY(0)}75%{transform:translateY(1px)}to{transform:translateY(0)}}.j-text--display{letter-spacing:.04em;font-size:26px;line-height:1}.j-text--xl{letter-spacing:.04em;font-size:24px}.j-text--lg{letter-spacing:.04em;font-size:18px}.j-text--heading{letter-spacing:.08em;font-size:14px;line-height:1.2}.j-text--md{font-size:14px}.j-text--sm{font-size:12px}.j-text--body{letter-spacing:.05em;font-size:11px;line-height:1.3}.j-text--xs{font-size:10px}.j-text--label{letter-spacing:.1em;font-size:9px;line-height:1}.j-text--micro{letter-spacing:.08em;font-size:8px;line-height:1}.j-text--default{color:var(--j-white)}.j-text--mult,.j-text--red{color:var(--j-red)}.j-text--chips,.j-text--blue{color:var(--j-blue)}.j-text--gold{color:var(--j-gold-text)}.j-text--green{color:var(--j-green-text)}.j-text--orange{color:var(--j-orange-text)}.j-text--purple{color:var(--j-purple)}.j-text--grey{color:var(--j-grey)}.j-text--white{color:var(--j-white)}.j-panel{background-color:var(--j-dark-grey);border:var(--j-panel-border-width) solid var(--j-border-silver);border-radius:var(--j-radius-md);box-shadow:0 var(--j-panel-south-edge-width) 0 0 var(--j-border-south), 0 calc(var(--j-surface-shadow-depth) + var(--j-panel-south-edge-width)) 0 0 #0000008c, inset 0 0 0 1px #ffffff0a;padding:var(--j-space-lg);isolation:isolate;flex-direction:column;align-items:stretch;display:flex;position:relative;overflow:hidden}.j-panel:before{content:"";border-radius:inherit;opacity:.75;pointer-events:none;z-index:0;animation:j-surface-sheen var(--j-idle-sheen-duration) ease-in-out infinite;background:radial-gradient(circle at 18% 12%,#ffffff24,#0000 34%) 0 0/160% 160%,linear-gradient(125deg,#0000 0%,#ffffff12 26%,#0000 52%,#ffffff0d 74%,#0000 100%) 12% 18%/220% 220%;position:absolute;inset:0}.j-panel__body{z-index:1;flex:1;position:relative;overflow:auto}.j-panel__back{margin-top:var(--j-space-md);padding-top:var(--j-space-sm);z-index:1;flex-shrink:0;position:relative}.j-back-btn .j-btn__face{padding-top:5px;padding-bottom:5px}.j-back-btn-wrap{padding:0}.j-inner-panel{background-color:var(--j-inner-border);border:var(--j-panel-border-width) solid var(--j-panel-edge);border-radius:var(--j-radius-md);padding:var(--j-space-lg);isolation:isolate;position:relative;overflow:hidden}.j-inner-panel:before{content:"";border-radius:inherit;opacity:.7;pointer-events:none;z-index:0;animation:j-surface-sheen calc(var(--j-idle-sheen-duration) + .8s) ease-in-out infinite reverse;background:radial-gradient(circle at 16% 10%,#ffffff1f,#0000 28%) 0 0/180% 180%,linear-gradient(145deg,#0000 0%,#ffffff0f 30%,#0000 58%,#ffffff0a 84%,#0000 100%) 0 0/230% 230%;position:absolute;inset:0}.j-inner-panel>*{z-index:1;position:relative}.j-btn{appearance:none;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;padding:0;display:inline-block;position:relative}.j-btn:after{content:"";z-index:10;background:0 0;position:absolute;inset:0}.j-btn--full{width:100%}.j-btn--disabled{opacity:.55;cursor:not-allowed}.j-btn__face{border-radius:var(--j-radius-md);background:var(--j-btn-face-color,var(--j-orange));text-align:center;text-shadow:1px 1px #000c;box-shadow:0 calc(var(--j-press-y) + 2px) 0 0 #000c;transition:transform var(--j-press-speed) linear, box-shadow var(--j-press-speed) linear, background-color var(--j-press-speed) linear;isolation:isolate;position:relative;overflow:hidden;transform:translate(0)}.j-btn__face:before{content:none}.j-btn__face>*{z-index:1;position:relative}.j-btn[data-pressed=true] .j-btn__face,.j-btn:active:not(:disabled):not(.j-btn--disabled) .j-btn__face{background:var(--j-btn-shadow-color,var(--j-dark-orange));transform:translateY(var(--j-press-y));box-shadow:none}.j-btn:not(.j-btn--disabled):hover .j-btn__face{background:var(--j-btn-shadow-color,var(--j-dark-orange))}.j-btn--xs .j-btn__face{padding:6px 8px 3px;font-size:11px}.j-btn--sm .j-btn__face{padding:6px 12px 5px;font-size:13px}.j-btn--md .j-btn__face{padding:6px 18px 9px;font-size:16px}.j-btn--lg .j-btn__face{padding:6px 18px 11px;font-size:20px}.j-btn--orange{--j-btn-face-color:var(--j-orange);--j-btn-shadow-color:var(--j-dark-orange)}.j-btn--red{--j-btn-face-color:var(--j-red);--j-btn-shadow-color:var(--j-dark-red)}.j-btn--blue{--j-btn-face-color:var(--j-blue);--j-btn-shadow-color:var(--j-dark-blue)}.j-btn--green{--j-btn-face-color:var(--j-green);--j-btn-shadow-color:var(--j-dark-green)}.j-btn--tarot{--j-btn-face-color:var(--j-tarot-btn);--j-btn-shadow-color:var(--j-tarot-btn-dark)}.j-btn--planet{--j-btn-face-color:var(--j-planet-btn);--j-btn-shadow-color:var(--j-planet-btn-dark)}.j-btn--spectral{--j-btn-face-color:var(--j-spectral-btn);--j-btn-shadow-color:var(--j-spectral-btn-dark)}.j-btn--grey{--j-btn-face-color:var(--j-grey);--j-btn-shadow-color:var(--j-dark-grey)}.j-badge{border-radius:var(--j-radius-sm);font-family:var(--j-font);letter-spacing:.04em;white-space:nowrap;text-shadow:1px 1px #000c;border:none;align-items:center;font-weight:400;display:inline-flex}.j-badge--sm{padding:2px 6px;font-size:10px}.j-badge--md{padding:4px 8px;font-size:12px}.j-badge--dark{background:var(--j-darkest);color:var(--j-white)}.j-badge--blue{background:var(--j-blue);color:var(--j-white)}.j-badge--red{background:var(--j-red);color:var(--j-white)}.j-badge--green{background:var(--j-green);color:var(--j-white)}.j-badge--orange{background:var(--j-orange);color:var(--j-white)}.j-badge--purple{background:var(--j-purple);color:var(--j-white)}.j-badge--grey{background:var(--j-teal-grey);color:var(--j-white)}.j-tabs{gap:var(--j-space-sm);scrollbar-width:none;flex-wrap:nowrap;justify-content:center;align-items:flex-end;width:100%;display:flex;overflow-x:auto}.j-tabs::-webkit-scrollbar{display:none}.j-tab{flex-direction:column;flex:none;align-items:center;display:flex;position:relative}.j-tab__indicator{justify-content:center;align-items:flex-end;height:10px;margin-bottom:3px;display:flex}.j-tab__indicator svg{fill:var(--j-red);display:block}.j-tab__indicator[data-active=true]{animation:.6s linear infinite jimbo-bounce}.j-tab__indicator[data-active=false]{visibility:hidden}.j-tab__btn{appearance:none;cursor:pointer;border-radius:var(--j-radius-md);background:var(--j-red);min-height:28px;color:var(--j-white);text-align:center;text-shadow:1px 1px #000c;isolation:isolate;border:none;outline:none;padding:6px 14px;transition:filter 80ms linear,opacity 80ms linear;position:relative;overflow:hidden;box-shadow:0 5px #0009}.j-tab__btn:before{content:none}.j-tab__btn>*{z-index:1;position:relative}.j-tab__btn[data-active=true]{opacity:1;animation:j-idle-bob var(--j-idle-bob-duration) ease-in-out infinite}.j-tab__btn[data-active=true]:hover{background:var(--j-red)}.j-tab__btn[data-active=false]:hover{background:var(--j-red);background:var(--j-dark-red)}@keyframes jimbo-bounce{0%,15%{transform:translateY(0)}50%{transform:translateY(-3px)}85%,to{transform:translateY(0)}}@keyframes j-surface-sheen{0%,to{opacity:.52;background-position:0 0,10% 20%}50%{opacity:.8;background-position:100% 100%,88% 74%}}@keyframes j-idle-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-1px)}}.j-vtabs{gap:var(--j-space-sm);flex-direction:column;display:flex}.j-vtab{cursor:pointer;writing-mode:vertical-rl;text-orientation:mixed;background-color:#0000;border:none;border-radius:8px 0 0 8px;padding:16px 8px;transition:none;transform:rotate(180deg)}.j-vtab[data-active=true]{background-color:var(--j-gold,#e4b643);color:var(--j-black,#000)}.j-toggle-list{gap:var(--j-space-sm);flex-direction:column;display:flex}.j-toggle-list__title{font-family:var(--j-font);color:var(--j-grey);letter-spacing:.04em;margin-bottom:var(--j-space-sm);font-size:12px}.j-toggle-item{align-items:center;gap:var(--j-space-md);border-radius:var(--j-radius-sm);cursor:pointer;font-family:var(--j-font);color:var(--j-white);letter-spacing:.04em;text-align:left;background:#ffffff0d;border:1px solid #0003;justify-content:flex-start;padding:6px 8px;display:flex}.j-toggle-check{border:1px solid var(--j-dark-grey);flex-shrink:0;width:10px;height:10px;box-shadow:inset 0 1px 2px #00000080}.j-toggle-check[data-on=true]{background:var(--j-orange)}.j-toggle-check[data-on=false]{background:var(--j-darkest)}.j-tooltip{border-radius:var(--j-radius-md);background:var(--j-darkest);border:var(--j-panel-border-width) solid var(--j-border-silver);max-width:280px;color:var(--j-white);pointer-events:none;z-index:9999;padding:6px 10px;transition:opacity .12s;position:fixed;box-shadow:0 2px #000c}.j-items-start{align-items:flex-start}.j-justify-between{justify-content:space-between}.j-h-full{height:100%}.j-flank{justify-content:center;align-items:stretch;gap:var(--j-space-md);width:100%;display:flex;position:relative}.j-flank__content{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.j-flank__btn{width:40px;margin:var(--j-press-y) 0;border-radius:var(--j-radius-lg);cursor:pointer;background-color:var(--j-red);color:var(--j-white);text-shadow:1px 1px #000c;box-shadow:0 var(--j-press-y) 0 0 var(--j-dark-red);transition:transform var(--j-press-speed) ease, box-shadow var(--j-press-speed) ease, background-color var(--j-press-speed) ease;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.j-flank__btn[data-pressed=true]{transform:translateY(var(--j-press-y));box-shadow:none}.j-flank__btn:disabled{background-color:var(--j-dark-red);cursor:default;box-shadow:none}.j-copy-row{gap:var(--j-space-sm);flex-direction:column;display:flex}.j-copy-row__field{align-items:center;gap:var(--j-space-md);display:flex}.j-copy-row__value{background:var(--j-darkest);border:var(--j-panel-border-width) solid var(--j-panel-edge);border-radius:var(--j-radius-sm);word-break:break-all;flex:1;padding:6px 10px}.j-copy-row__btn{font-family:var(--j-font);letter-spacing:.08em;border-radius:var(--j-radius-sm);cursor:pointer;flex-shrink:0;padding:4px 12px;font-size:11px;transition:color .15s,background .15s,border-color .15s}.j-copy-row__btn[data-copied=false]{color:var(--j-gold-text);border:1px solid var(--j-gold-text);background:#e4b6431f}.j-copy-row__btn[data-copied=true]{color:var(--j-green-text);border:1px solid var(--j-green-text);background:#35bd861f}.j-code-block{background-color:var(--j-darkest);border:var(--j-panel-border-width) solid var(--j-panel-edge);border-radius:var(--j-radius-lg);flex-direction:column;display:flex;overflow:hidden;box-shadow:0 3px #00000080}.j-code-block__header{border-bottom:1px solid var(--j-inner-border);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.j-code-block__meta{align-items:center;gap:8px;display:flex}.j-code-block__filename{opacity:.6;font-size:10px}.j-code-block__lang{color:#60a5fa;background:#0006;border-radius:3px;padding:1px 6px;font-size:9px}.j-code-block__copy{cursor:pointer;background:0 0;border:none;padding:4px;display:flex}.j-code-block__copy[data-copied=false]{color:#ffffff80}.j-code-block__copy[data-copied=true]{color:#4ade80}.j-code-block__pre{font-family:var(--j-font-code);color:#f6f0d5;margin:0;padding:12px;font-size:.875rem;line-height:1.6;overflow-x:auto}.j-filter-bar{padding:var(--j-space-xl);background-color:var(--j-dark-grey);border:4px solid var(--j-border-silver);box-shadow:0 3px 0 0 var(--j-border-south);border-radius:var(--j-radius-lg);flex-wrap:wrap;gap:24px;display:flex;position:relative}.j-filter-bar__field{flex:1;min-width:200px;margin-top:10px;position:relative}.j-filter-bar__pill{background-color:var(--j-red);border:2px solid var(--j-dark-red);border-radius:var(--j-radius-md);z-index:2;padding:4px 12px;position:absolute;top:-14px;left:16px}.j-filter-bar__input{background-color:var(--j-darkest);border:none;border-bottom:4px solid var(--j-panel-edge);border-radius:var(--j-radius-lg);width:100%;color:var(--j-white);font-family:var(--j-font);letter-spacing:.08em;outline:none;padding:14px 16px 14px 48px;font-size:20px}.j-filter-bar__search-icon{pointer-events:none;width:48px;color:var(--j-blue);z-index:1;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0}.j-filter-bar__select{appearance:none;background-color:var(--j-orange);color:var(--j-white);border:none;border-bottom:4px solid var(--j-dark-orange);border-radius:var(--j-radius-lg);cursor:pointer;font-family:var(--j-font);letter-spacing:.08em;text-align:center;outline:none;min-width:200px;padding:14px 48px 14px 24px;font-size:18px}.j-filter-bar__sort-icon{pointer-events:none;color:var(--j-white);opacity:.85;position:absolute;top:50%;right:16px;transform:translateY(-50%)}@keyframes jimbo-modal-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.j-modal-overlay{z-index:1000;padding:var(--j-space-md);background:#000000d1;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.j-modal{border-radius:12px;flex-direction:column;width:100%;max-width:345px;max-height:calc(100% - 32px);animation:.14s cubic-bezier(.2,0,.2,1.4) both jimbo-modal-in;display:flex;overflow:hidden}.j-modal .j-panel__body{min-height:0;overflow-y:auto}.j-modal__title{text-align:center;margin:0 0 var(--j-space-xl);flex-shrink:0}.j-input-modal__message{margin-bottom:var(--j-space-md);display:block}.j-text-input{background:var(--j-darkest);width:100%;color:var(--j-white);border:1px solid var(--j-panel-edge);border-radius:var(--j-radius-sm);font-size:13px;font-family:var(--j-font);letter-spacing:1px;box-sizing:border-box;outline:none;padding:8px 10px}.j-text-input[aria-invalid=true],.j-text-input[data-invalid=true]{border-color:var(--j-red)}.j-input-modal__error{margin-top:6px;display:block}.j-input-modal__actions{justify-content:flex-end;gap:var(--j-space-md);margin-top:14px;display:flex}.j-footer{z-index:9998;pointer-events:auto;width:100%;position:fixed;bottom:0;left:0;right:0}.j-footer__bar{background:var(--j-black);border-top:var(--j-panel-border-width) solid var(--j-panel-edge);text-align:center;width:100%;padding:4px 8px 5px}.j-footer__line{font-family:var(--j-font);color:#fff;z-index:1;margin:0;font-size:10px;line-height:1;position:relative}.j-footer__line--wrap{flex-wrap:wrap;justify-content:center;align-items:center;gap:.25rem;display:flex}.j-footer__chunk{white-space:nowrap}.j-footer__chunk--credit{gap:.25rem;display:inline-flex}.j-footer__sep{color:var(--j-grey)}.j-footer__link{color:var(--j-gold);text-decoration:none}.j-footer__extra{align-items:center;margin-left:.25rem;display:inline-flex}@media (width<=320px){.j-footer__bar{padding:4px 6px 5px}.j-footer__line,.j-footer__line--wrap{font-size:9px}}.j-floating{z-index:20;position:absolute}.j-glow--must{box-shadow:0 0 0 2px var(--j-blue), 0 0 10px var(--j-blue);animation:1.6s ease-in-out infinite j-glow-pulse}.j-glow--should{box-shadow:0 0 0 2px var(--j-gold), 0 0 10px var(--j-gold);animation:1.6s ease-in-out infinite j-glow-pulse}.j-glow--match{box-shadow:0 0 0 2px var(--j-green-text), 0 0 18px var(--j-green-text), 0 0 36px var(--j-green-text);animation:1.6s ease-in-out infinite j-glow-pulse}@keyframes j-glow-pulse{0%,to{opacity:.55}50%{opacity:1}}.j-flex{display:flex}.j-flex-col{flex-direction:column;display:flex}.j-flex-wrap{flex-wrap:wrap}.j-items-center{align-items:center}.j-justify-center{justify-content:center}.j-gap-xs{gap:var(--j-space-xs)}.j-gap-sm{gap:var(--j-space-sm)}.j-gap-md{gap:var(--j-space-md)}.j-gap-lg{gap:var(--j-space-lg)}.j-gap-xl{gap:var(--j-space-xl)}.j-mt-sm{margin-top:var(--j-space-sm)}.j-w-full{width:100%}.j-shrink-0{flex-shrink:0}.j-flex-1{flex:1}.j-min-w-0{min-width:0}.j-text-center{text-align:center}.j-overflow-hidden{overflow:hidden}.j-overflow-auto{overflow:auto}.j-relative{position:relative}.j-border--red{border-color:var(--j-red)}.j-border--blue{border-color:var(--j-blue)}.j-border--green{border-color:var(--j-green)}.j-border--gold{border-color:var(--j-gold)}.j-border--orange{border-color:var(--j-orange)}.j-border--purple{border-color:var(--j-purple)}.j-bg--red{background-color:var(--j-red)}.j-bg--blue{background-color:var(--j-blue)}.j-bg--green{background-color:var(--j-green)}.j-bg--gold{background-color:var(--j-gold)}.j-bg--orange{background-color:var(--j-orange)}.j-bg--purple{background-color:var(--j-purple)}.j-bg--dark-grey{background-color:var(--j-dark-grey)}.j-bg--darkest{background-color:var(--j-darkest)}.j-app{background:var(--j-darkest);width:min(100%,320px);max-width:320px;height:min(568px,100dvh);max-height:568px;font-family:var(--j-font);color:var(--j-white);flex-direction:column;margin:0 auto;display:flex;position:relative;overflow:hidden;container:jimbo/inline-size}.j-app--fluid{width:100%;max-width:750px;height:auto;min-height:400px;max-height:none}.j-app__content{min-height:0;padding:var(--j-space-lg) var(--j-space-lg) var(--j-space-md);flex-direction:column;flex:1;display:flex;overflow:hidden}.j-app__scroll{min-height:0;padding:var(--j-space-lg) var(--j-space-lg) var(--j-space-md);scrollbar-width:none;-ms-overflow-style:none;flex:1;overflow:hidden auto}.j-app__scroll::-webkit-scrollbar{display:none}.j-app__footer{padding:var(--j-space-md) var(--j-space-lg) var(--j-space-md);border-top:var(--j-panel-border-width) solid var(--j-black);background:var(--j-dark-grey);gap:var(--j-space-sm);flex-direction:column;flex-shrink:0;display:flex}@container jimbo (width>=401px){.j-app__content,.j-app__scroll{padding:var(--j-space-xl) var(--j-space-xl) var(--j-space-lg)}.j-app__footer{padding:var(--j-space-md) var(--j-space-xl) var(--j-space-lg)}.j-stat-grid__value{font-size:20px}.j-info-card{padding:var(--j-space-md) var(--j-space-lg)}.j-info-card__title{font-size:14px}.j-section-header__tag{font-size:12px}}.j-section-header{align-items:center;gap:var(--j-space-md);margin-bottom:var(--j-space-md);display:flex}.j-section-header__tag{font-family:var(--j-font);letter-spacing:2px;color:var(--j-white);text-shadow:var(--j-text-shadow);border-radius:3px;flex-shrink:0;padding:2px 8px;font-size:11px}.j-section-header__rule{opacity:.33;border-radius:1px;flex:1;height:2px}.j-stat-grid{background:var(--j-dark-grey);border-radius:var(--j-radius-md);padding:var(--j-space-md);border:var(--j-panel-border-width) solid var(--j-panel-edge);box-shadow:0 2px 0 var(--j-black);gap:var(--j-space-md);text-align:center;grid-template-columns:1fr 1fr 1fr;display:grid}.j-stat-grid__value{font-family:var(--j-font);color:var(--j-gold-text);text-shadow:var(--j-text-shadow);font-size:16px}.j-stat-grid__label{font-family:var(--j-font);color:var(--j-grey);letter-spacing:2px;margin-top:2px;font-size:9px}.j-info-card{background:var(--j-dark-grey);border-radius:var(--j-radius-md);padding:var(--j-space-md);box-shadow:0 2px 0 var(--j-black);align-items:center;gap:var(--j-space-md);cursor:pointer;border:var(--j-panel-border-width) solid transparent;display:flex}.j-info-card:hover{filter:brightness(1.08)}.j-info-card__body{flex:1;min-width:0}.j-info-card__title{font-family:var(--j-font);color:var(--j-white);letter-spacing:1px;text-shadow:var(--j-text-shadow);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.j-info-card__sub{font-family:var(--j-font);color:var(--j-gold-text);letter-spacing:1px;margin-top:2px;font-size:9px}.j-info-card__aside{text-align:right;flex-shrink:0}.j-inset{background:var(--j-dark-grey);border-radius:var(--j-radius-md);padding:var(--j-space-md) var(--j-space-md);border:var(--j-panel-border-width) solid var(--j-panel-edge);box-shadow:0 2px 0 var(--j-black);font-family:var(--j-font);color:var(--j-grey);letter-spacing:1px;font-size:11px;line-height:1.7}.j-wordmark{text-align:center;margin-bottom:var(--j-space-xl)}.j-wordmark__title{font-family:var(--j-font);letter-spacing:3px;color:var(--j-gold-text);text-shadow:2px 2px #000c;font-size:32px;line-height:1}.j-wordmark__sub{font-family:var(--j-font);letter-spacing:4px;color:var(--j-grey);text-shadow:var(--j-text-shadow);margin-top:4px;font-size:14px}.j-game-card{width:var(--j-card-width,71px)}.j-card-renderer{--j-card-aspect:.75;--j-card-glare-x:50%;--j-card-glare-y:50%;aspect-ratio:var(--j-card-aspect);perspective:900px;-webkit-user-select:none;user-select:none;width:100%;display:flex;position:relative}.j-card-renderer__canvas{border-radius:var(--j-radius-md);width:100%;height:100%;image-rendering:pixelated;pointer-events:none;transform-origin:50%;transform-style:preserve-3d;will-change:transform;box-shadow:0 3px 8px #00000052}.j-card-renderer[data-hover-tilt=true]:before{content:"";border-radius:var(--j-radius-md);background:radial-gradient(circle at var(--j-card-glare-x) var(--j-card-glare-y), #ffffff47, transparent 32%), linear-gradient(135deg, transparent 0%, #ffffff14 42%, transparent 68%);opacity:0;pointer-events:none;z-index:2;mix-blend-mode:screen;transition:opacity .12s linear;position:absolute;inset:0}.j-card-renderer[data-hover-tilt=true][data-hovered=true]:before{opacity:.72}.j-card-renderer[data-hover-tilt=true][data-hovered=true] .j-card-renderer__canvas{box-shadow:0 8px 16px #0000006b}.j-card-renderer__hit{z-index:3;position:absolute;inset:0}.j-card-renderer[data-hover-tilt=true] .j-card-renderer__hit{cursor:pointer}.j-panel-spinner{gap:var(--j-space-xs);flex-direction:column;width:min(100%,320px);max-width:320px;display:flex}.j-panel-spinner__label{align-items:center;display:flex}.j-panel-spinner__row{align-items:stretch;gap:var(--j-space-sm);grid-template-columns:30px minmax(0,1fr) 30px;width:100%;display:grid}.j-panel-spinner__arrow{align-self:stretch;width:30px;min-height:92px}.j-panel-spinner__arrow .j-btn__face{height:100%;min-height:92px;box-shadow:0 var(--j-panel-border-width-heavy) 0 0 #000c;justify-content:center;align-items:center;padding:0;display:flex}.j-panel-spinner__arrow--left,.j-panel-spinner__arrow--right{border-radius:var(--j-radius-md)}.j-panel-spinner__panel{justify-content:center;align-items:center;gap:var(--j-space-xs);background:var(--j-darkest);border:var(--j-panel-border-width) solid var(--j-panel-edge);border-radius:var(--j-radius-md);text-align:center;min-width:0;min-height:92px;box-shadow:0 var(--j-panel-border-width-heavy) 0 0 var(--j-black);box-sizing:border-box;flex-direction:column;padding:8px 10px;display:flex}.j-panel-spinner__media{justify-content:center;align-items:center;min-height:60px;display:flex}.j-panel-spinner__title,.j-panel-spinner__meta,.j-panel-spinner__description{width:100%;min-width:0}.j-panel-spinner__description .j-text{white-space:pre-line;overflow-wrap:anywhere;display:block}.j-ide{overscroll-behavior-x:none;border-radius:var(--j-radius-lg);border:var(--j-panel-border-width) solid var(--j-border-silver);background:var(--j-darkest);max-width:100%;min-height:420px;color:var(--j-white);box-shadow:0 var(--j-panel-south-edge-width) 0 0 var(--j-border-south), 0 calc(var(--j-surface-shadow-depth) + var(--j-panel-south-edge-width)) 0 0 #0000008c;flex-direction:column;display:flex;overflow:clip hidden}.j-ide__header{border-bottom:var(--j-panel-border-width) solid var(--j-panel-edge);background:var(--j-darkest);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.j-ide__header--compact{gap:8px;padding:8px 10px}.j-ide__header-copy{min-width:0}.j-ide__title{font-family:var(--j-font);color:var(--j-gold-text);text-shadow:var(--j-text-shadow);font-size:16px}.j-ide__subtitle{font-family:var(--j-font);color:var(--j-grey);text-shadow:var(--j-text-shadow);margin-top:2px;font-size:11px}.j-ide__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.j-ide-toolbar{border-bottom:var(--j-panel-border-width) solid var(--j-panel-edge);background:var(--j-dark-grey);align-items:center;gap:6px;min-width:0;padding:8px 4px 6px;display:flex}.j-ide-toolbar__tabs{flex:1;min-width:0;padding-bottom:3px;overflow:hidden}.j-ide-toolbar__action{flex-shrink:0}.j-ide__body{background:var(--j-darkest);flex:1;min-height:0;overflow:auto}.j-ide__body--map{overflow:hidden}.j-ide__results{padding:12px}.j-seed-input{gap:var(--j-space-xs);flex-direction:column;width:fit-content;max-width:100%;display:flex}.j-seed-input--normal{--j-seed-shell-bg:var(--j-dark-grey);--j-seed-shell-border:var(--j-border-silver);--j-seed-shell-border-bottom:var(--j-border-south);--j-seed-field-bg:var(--j-darkest)}.j-seed-input--dark{--j-seed-shell-bg:var(--j-darkest);--j-seed-shell-border:var(--j-panel-edge);--j-seed-shell-border-bottom:var(--j-black);--j-seed-field-bg:var(--j-darkest)}.j-seed-input--alt{--j-seed-shell-bg:var(--j-teal-grey);--j-seed-shell-border:var(--j-border-silver);--j-seed-shell-border-bottom:var(--j-panel-edge);--j-seed-field-bg:var(--j-dark-grey)}.j-seed-input__shell{border-radius:var(--j-radius-md);border:var(--j-panel-border-width) solid var(--j-seed-shell-border);background:var(--j-seed-shell-bg);width:fit-content;max-width:100%;box-shadow:0 var(--j-panel-border-width-heavy) 0 0 var(--j-seed-shell-border-bottom), 0 calc(var(--j-surface-shadow-depth) + var(--j-panel-border-width-heavy)) 0 0 #0000008c;cursor:text;padding:3px}.j-seed-input__shell[data-valid=true]{border-color:var(--j-green);border-bottom-color:var(--j-dark-green)}.j-seed-input__field{border-radius:calc(var(--j-radius-md) - 2px);border:var(--j-panel-border-width) solid var(--j-panel-edge);background:var(--j-seed-field-bg);width:calc(8ch + 16px);min-width:calc(8ch + 16px);max-width:calc(8ch + 16px);color:var(--j-gold-text);font-size:18px;font-family:var(--j-font);letter-spacing:.08em;text-align:center;text-shadow:var(--j-text-shadow);box-sizing:border-box;outline:none;padding:6px 8px 8px;font-weight:400}.j-seed-input__field::placeholder{color:var(--j-grey);letter-spacing:.08em;opacity:1;font-size:18px}.j-seed-input__field:focus{border-color:var(--j-gold)}.j-seed-spinner{gap:var(--j-space-xs);flex-direction:column;width:100%;max-width:100%;display:flex}.j-seed-spinner__meta{justify-content:space-between;align-items:center;gap:var(--j-space-sm);display:flex}.j-seed-spinner__label{font-family:var(--j-font);letter-spacing:.08em;color:var(--j-grey);text-shadow:var(--j-text-shadow);font-size:10px}.j-seed-spinner__row{align-items:end;gap:var(--j-space-sm);grid-template-columns:28px minmax(0,1fr) auto 28px;display:grid}.j-seed-spinner__row .j-seed-input{width:100%}.j-seed-spinner__row .j-seed-input__shell,.j-seed-spinner__row .j-seed-input__field{width:100%;min-width:0;max-width:none}.j-seed-spinner__arrow{align-self:stretch;width:28px;min-height:44px}.j-seed-spinner__arrow .j-btn__face{justify-content:center;align-items:center;height:100%;min-height:44px;padding:0;display:flex}.j-seed-spinner__copy{align-items:center;gap:4px;display:inline-flex}@media (prefers-reduced-motion:reduce){.j-panel:before,.j-inner-panel:before,.j-btn__face:before,.j-tab__btn:before,.j-footer__bar:before,.j-seed-input__shell:before,.j-tab__btn[data-active=true]{animation:none}}.j-aesthetic-selector{gap:var(--j-space-sm);flex-direction:column;display:flex}.j-aesthetic-selector__list{gap:var(--j-space-sm);flex-wrap:wrap;display:flex}.j-aesthetic-pill{border-radius:var(--j-radius-md);border:2px solid var(--j-panel-edge);background:var(--j-darkest);color:var(--j-grey);cursor:pointer;font-size:11px;font-family:var(--j-font);letter-spacing:.04em;text-shadow:var(--j-text-shadow);padding:4px 10px;font-weight:400;transition:border-color .1s,background .1s,color .1s;box-shadow:0 2px #0000004d}.j-aesthetic-pill:hover{border-color:var(--j-gold);color:var(--j-gold-text)}.j-aesthetic-pill[data-active=true]{border-color:var(--j-gold);color:var(--j-gold-text);box-shadow:0 0 0 1px var(--j-gold), 0 2px 0 0 #0000004d;background:#e4b64321}.j-showcase{background:var(--j-darkest);width:100%;height:100%;font-family:var(--j-font);color:var(--j-white);flex-direction:column;display:flex;overflow:hidden}.j-showcase__scroll{flex:1;min-height:0;padding:18px 14px 10px;overflow-y:auto}.j-showcase__wordmark{text-align:center;margin-bottom:18px}.j-showcase__wordmark-title{letter-spacing:3px;color:var(--j-gold-text);text-shadow:2px 2px #000c;font-size:32px;line-height:1}.j-showcase__wordmark-sub{letter-spacing:4px;color:var(--j-grey);text-shadow:var(--j-text-shadow);margin-top:4px;font-size:14px}.j-showcase__stats{background:var(--j-dark-grey);border-radius:var(--j-radius-md);border:2px solid var(--j-panel-edge);box-shadow:0 2px 0 var(--j-black);gap:var(--j-space-md);text-align:center;margin-bottom:var(--j-space-xl);grid-template-columns:1fr 1fr 1fr;padding:10px;display:grid}.j-showcase__stat-value{color:var(--j-gold-text);text-shadow:var(--j-text-shadow);font-size:16px}.j-showcase__stat-label{color:var(--j-grey);letter-spacing:2px;margin-top:2px;font-size:9px}.j-showcase__section-header{align-items:center;gap:var(--j-space-md);margin-bottom:var(--j-space-md);display:flex}.j-showcase__section-tag{letter-spacing:2px;color:var(--j-white);text-shadow:var(--j-text-shadow);border-radius:3px;padding:2px 8px;font-size:11px}.j-showcase__section-rule{border-radius:1px;flex:1;height:2px}.j-showcase__filter-list{gap:var(--j-space-md);margin-bottom:var(--j-space-xl);flex-direction:column;display:flex}.j-showcase__filter-card{background:var(--j-dark-grey);border-radius:var(--j-radius-md);box-shadow:0 2px 0 var(--j-black);cursor:pointer;align-items:center;gap:10px;padding:10px;display:flex}.j-showcase__filter-sprites{gap:2px;display:flex}.j-showcase__filter-sprite{justify-content:center;align-items:center;width:30px;height:40px;display:flex}.j-showcase__filter-info{flex:1;min-width:0}.j-showcase__filter-name{color:var(--j-white);letter-spacing:1px;text-shadow:var(--j-text-shadow);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.j-showcase__filter-author{color:var(--j-gold-text);letter-spacing:1px;margin-top:2px;font-size:9px}.j-showcase__filter-hits{text-align:right}.j-showcase__filter-hits-value{text-shadow:var(--j-text-shadow);font-size:14px}.j-showcase__filter-hits-label{color:var(--j-grey);letter-spacing:1px;font-size:8px}.j-showcase__recent{background:var(--j-dark-grey);border-radius:var(--j-radius-md);border:2px solid var(--j-panel-edge);box-shadow:0 2px 0 var(--j-black);color:var(--j-grey);letter-spacing:1px;padding:8px 10px;font-size:11px;line-height:1.7}.j-showcase__actions{border-top:2px solid var(--j-black);background:var(--j-dark-grey);flex-direction:column;gap:6px;padding:8px 10px 10px;display:flex}.j-footer__suits{align-items:center;display:inline-flex}.j-footer__suit-stage{vertical-align:middle;width:1.5em;height:1em;display:inline-block;position:relative}.j-footer__suit-char{opacity:0;justify-content:center;align-items:center;animation-duration:5s;animation-timing-function:ease-out;animation-iteration-count:infinite;animation-delay:0s;display:inline-flex;position:absolute;inset:0}.j-copy-row__label{letter-spacing:2px}.j-motely-badge{align-items:center;gap:6px;display:inline-flex}.j-motely-badge--chip{border-radius:var(--j-radius-sm);background:var(--j-darkest);border:1px solid var(--j-panel-edge);padding:3px 8px}.j-jamlyzer{gap:var(--j-space-md);padding:var(--j-space-md) 0;flex-direction:column;display:flex}.j-jamlyzer__control{align-items:end;gap:var(--j-space-md);grid-template-columns:minmax(0,1fr) auto;display:grid}.j-jamlyzer__result{text-align:center}.j-jamlyzer__result--match{background:var(--j-dark-green)}.j-jamlyzer__seed{margin-bottom:var(--j-space-sm);letter-spacing:3px;display:block}.j-filter-browser{box-sizing:border-box;gap:var(--j-space-md);grid-template-rows:minmax(0,1fr) auto;width:100%;height:100%;display:grid;overflow:hidden}.j-filter-browser__list-panel{min-height:0}.j-filter-browser__list-panel .j-panel__body{flex-direction:column;min-height:0;display:flex}.j-filter-browser__list{gap:var(--j-space-sm);flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.j-filter-browser__item{border-radius:var(--j-radius-md);background:var(--j-darkest);width:100%;color:var(--j-white);box-shadow:0 var(--j-press-y) 0 var(--j-black);cursor:pointer;padding:var(--j-space-sm) var(--j-space-md);gap:var(--j-space-xs);text-align:left;border:none;grid-template-columns:minmax(0,1fr);display:grid}.j-filter-browser__item[data-active=true],.j-filter-browser__item:hover{background:var(--j-dark-red);box-shadow:0 var(--j-press-y) 0 var(--j-darkest)}.j-filter-browser__item-main{min-width:0}.j-filter-browser__deck-stake,.j-filter-browser__name{overflow-wrap:anywhere;display:block}.j-filter-browser__targets{gap:var(--j-space-xs);flex-wrap:wrap;display:flex}.j-filter-browser__target{border-radius:var(--j-radius-sm);background:var(--j-teal-grey);color:var(--j-white);font-family:var(--j-font);text-shadow:var(--j-text-shadow);padding:2px 5px;font-size:10px;display:inline-flex}.j-filter-browser__pager{padding-top:var(--j-space-md);flex-shrink:0;justify-content:center;display:flex}.j-filter-browser__page-chip{border-radius:var(--j-radius-md);background:var(--j-teal-grey);min-width:96px;padding:8px 16px}.j-filter-browser__details{flex-shrink:0;justify-content:center;min-height:160px}.j-filter-browser__details-body,.j-filter-browser__meta,.j-filter-browser__actions{align-items:center;gap:var(--j-space-sm);flex-direction:column;width:100%;display:flex}.j-filter-browser__targets--details{flex-flow:wrap;justify-content:center}.j-filter-browser__actions .j-btn{width:100%}.j-filter-browser__meta{opacity:.78;gap:var(--j-space-xs)}.j-picker{flex-direction:column;max-height:80vh;display:flex}.j-picker__section{border-bottom:1px solid var(--j-panel-edge);padding:8px 10px 6px}.j-picker__section-title{margin-bottom:var(--j-space-md);display:block}.j-picker__search{padding:6px 10px 4px}.j-picker__search-field{text-transform:none;letter-spacing:.04em;width:100%;min-width:0;max-width:none;padding:6px 10px;font-size:13px}.j-picker__hint{margin:4px 10px 6px;padding:6px 10px}.j-picker__grid{gap:var(--j-space-sm);flex:1;grid-template-columns:repeat(5,minmax(0,1fr));align-content:start;padding:12px 8px 18px;scroll-padding:12px 0 18px;display:grid;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000 0,#000 12px calc(100% - 18px),#0000 100%);mask-image:linear-gradient(#0000 0,#000 12px calc(100% - 18px),#0000 100%)}.j-picker__grid--legendary{padding:0;overflow:visible;-webkit-mask-image:none;mask-image:none}.j-picker__item{border-radius:var(--j-radius-sm);cursor:pointer;flex-direction:column;align-items:center;gap:3px;padding:3px;display:flex;position:relative}.j-picker__item[data-muted=true]{opacity:.35}.j-picker__item-label{width:100%;color:var(--j-white);text-align:center;overflow-wrap:anywhere;line-height:1.05}.j-picker__pair{gap:var(--j-space-sm);flex-direction:column;display:flex}.j-picker__empty{padding:var(--j-space-xl);text-align:center;grid-column:1/-1}.j-story-phone{width:320px;height:568px}.j-story-panel-grid{width:320px}.j-story-card-grid{gap:var(--j-space-md);grid-template-columns:repeat(5,minmax(0,1fr));justify-items:center;display:grid}.j-panel-splitter{all:unset;touch-action:none;-webkit-user-select:none;user-select:none;background:var(--j-teal-grey);flex:none;display:block;position:relative}.j-panel-splitter:before{content:"";pointer-events:none;background:#ffffff4d;border-radius:50%;width:4px;height:4px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.j-panel-splitter[data-orientation=vertical]{cursor:col-resize;width:8px}.j-panel-splitter[data-orientation=vertical]:before{box-shadow:0 -8px #ffffff4d,0 8px #ffffff4d}.j-panel-splitter[data-orientation=horizontal]{cursor:row-resize;height:8px}.j-panel-splitter[data-orientation=horizontal]:before{box-shadow:-8px 0 #ffffff4d,8px 0 #ffffff4d}.j-panel-splitter:focus-visible{outline:2px solid var(--j-gold);outline-offset:2px}.j-panel-splitter-story{display:flex}.j-panel-splitter-story__shell{width:100%}.j-panel-splitter-story__shell .j-panel__body{gap:var(--j-space-md);flex-direction:column;min-height:0;display:flex}.j-panel-splitter-story__header{justify-content:space-between;align-items:center;gap:var(--j-space-md);display:flex}.j-panel-splitter-story__body{border-radius:var(--j-radius-md);background:var(--j-darkest);height:430px;min-height:0;display:flex;overflow:hidden}.j-panel-splitter-story__pane{min-width:0;padding:var(--j-space-md);flex:1 1 0;overflow:auto}.j-panel-splitter-story__pane--results{gap:var(--j-space-sm);flex-direction:column;display:flex}.j-panel-splitter-story__label{margin-bottom:var(--j-space-sm);display:block}.j-panel-splitter-story__result-row{justify-content:space-between;align-items:center;gap:var(--j-space-sm);padding:var(--j-space-sm) var(--j-space-md);border-radius:var(--j-radius-sm);background:var(--j-teal-grey);display:flex}.j-text--dance-container{display:inline-flex}.j-font-dance-char{animation:3s ease-in-out infinite j-font-dance;display:inline-block}.hide-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbar::-webkit-scrollbar{display:none}.j-juice-hover{transition:transform .2s cubic-bezier(.175,.885,.32,1.275)}.j-juice-hover:hover{z-index:5;transform:translateY(-2px)}
1
+ @font-face{font-family:m6x11plus;src:url(/fonts/m6x11plus.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:m6x11;src:url(/fonts/m6x11plus.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}*{scrollbar-width:none!important;-ms-overflow-style:none!important}::-webkit-scrollbar{display:none!important}:root{--j-red:#fe5148;--j-blue:#0093ff;--j-green:#429f79;--j-orange:#ff9800;--j-gold:#e4b643;--j-purple:#9e74ce;--j-dark-red:#a02721;--j-dark-blue:#0057a1;--j-dark-orange:#a05b00;--j-dark-green:#215f46;--j-dark-purple:#5e437e;--j-dark-grey:#3a5055;--j-darkest:#1e2b2d;--j-grey:#708386;--j-teal-grey:#404c4e;--j-panel-edge:#1e2e32;--j-inner-border:#334461;--j-border-silver:#b9c2d2;--j-border-south:#777e89;--j-gold-text:#e4b643;--j-green-text:#35bd86;--j-orange-text:#ff8f00;--j-white:#fff;--j-black:#000;--j-tarot-btn:#9e74ce;--j-planet-btn:#00a7ca;--j-spectral-btn:#2e76fd;--j-tarot-btn-dark:#5e437e;--j-planet-btn-dark:#00657c;--j-spectral-btn-dark:#14449e;--j-font:"m6x11plus", "m6x11", monospace;--j-font-code:"JetBrains Mono", "Cascadia Code", "Fira Code", "SF Mono", SFMono-Regular, Menlo, Consolas, ui-monospace, "Courier New", monospace;--j-text-shadow:1px 1px 0 #000c;--j-space-xs:2px;--j-space-sm:4px;--j-space-md:8px;--j-space-lg:12px;--j-space-xl:16px;--j-radius-sm:4px;--j-radius-md:6px;--j-radius-lg:8px;--j-radius-pill:10px;--j-ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--j-press-y:3px;--j-press-speed:55ms;--j-panel-border-width:3px;--j-panel-south-edge-width:calc(var(--j-panel-border-width) / 2);--j-panel-border-width-heavy:6px;--j-surface-shadow-depth:4px;--j-idle-sheen-duration:5.6s;--j-idle-bob-duration:3.4s}.j-text{font-family:var(--j-font);text-shadow:var(--j-text-shadow);color:var(--j-white);font-weight:400;line-height:1.2}.j-text--no-shadow{text-shadow:none}.j-text--upper{letter-spacing:.08em}.j-text--dance-container{white-space:pre-wrap;display:inline-block}@keyframes j-font-dance{0%{transform:translateY(0)}25%{transform:translateY(-1px)}50%{transform:translateY(0)}75%{transform:translateY(1px)}to{transform:translateY(0)}}.j-text--display{letter-spacing:.04em;font-size:26px;line-height:1}.j-text--xl{letter-spacing:.04em;font-size:24px}.j-text--lg{letter-spacing:.04em;font-size:18px}.j-text--heading{letter-spacing:.08em;font-size:14px;line-height:1.2}.j-text--md{font-size:14px}.j-text--sm{font-size:12px}.j-text--body{letter-spacing:.05em;font-size:11px;line-height:1.3}.j-text--xs{font-size:10px}.j-text--label{letter-spacing:.04em;font-size:9px;line-height:1}.j-text--micro{letter-spacing:.04em;font-size:8px;line-height:1}.j-text--default{color:var(--j-white)}.j-text--mult,.j-text--red{color:var(--j-red)}.j-text--chips,.j-text--blue{color:var(--j-blue)}.j-text--gold{color:var(--j-gold-text)}.j-text--green{color:var(--j-green-text)}.j-text--orange{color:var(--j-orange-text)}.j-text--purple{color:var(--j-purple)}.j-text--grey{color:var(--j-grey)}.j-text--white{color:var(--j-white)}.j-panel{background-color:var(--j-dark-grey);border:var(--j-panel-border-width) solid var(--j-border-silver);border-radius:var(--j-radius-md);box-shadow:0 var(--j-panel-south-edge-width) 0 0 var(--j-border-south), 0 calc(var(--j-surface-shadow-depth) + var(--j-panel-south-edge-width)) 0 0 #0000008c, inset 0 0 0 1px #ffffff0a;padding:var(--j-space-lg);isolation:isolate;flex-direction:column;align-items:stretch;display:flex;position:relative;overflow:hidden}.j-panel:before{content:"";border-radius:inherit;opacity:.75;pointer-events:none;z-index:0;animation:j-surface-sheen var(--j-idle-sheen-duration) ease-in-out infinite;background:radial-gradient(circle at 18% 12%,#ffffff24,#0000 34%) 0 0/160% 160%,linear-gradient(125deg,#0000 0%,#ffffff12 26%,#0000 52%,#ffffff0d 74%,#0000 100%) 12% 18%/220% 220%;position:absolute;inset:0}.j-panel__body{z-index:1;flex:1;position:relative;overflow:auto}.j-panel__back{margin-top:var(--j-space-md);padding-top:var(--j-space-sm);z-index:1;flex-shrink:0;position:relative}.j-back-btn .j-btn__face{padding-top:5px;padding-bottom:5px}.j-back-btn-wrap{padding:0}.j-inner-panel{background-color:var(--j-inner-border);border:var(--j-panel-border-width) solid var(--j-panel-edge);border-radius:var(--j-radius-md);padding:var(--j-space-lg);isolation:isolate;position:relative;overflow:hidden}.j-inner-panel:before{content:"";border-radius:inherit;opacity:.7;pointer-events:none;z-index:0;animation:j-surface-sheen calc(var(--j-idle-sheen-duration) + .8s) ease-in-out infinite reverse;background:radial-gradient(circle at 16% 10%,#ffffff1f,#0000 28%) 0 0/180% 180%,linear-gradient(145deg,#0000 0%,#ffffff0f 30%,#0000 58%,#ffffff0a 84%,#0000 100%) 0 0/230% 230%;position:absolute;inset:0}.j-inner-panel>*{z-index:1;position:relative}.j-btn{appearance:none;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;padding:0;display:inline-block;position:relative}.j-btn:after{content:"";z-index:10;background:0 0;position:absolute;inset:0}.j-btn--full{width:100%}.j-btn--disabled{opacity:.55;cursor:not-allowed}.j-btn__face{border-radius:var(--j-radius-md);background:var(--j-btn-face-color,var(--j-orange));text-align:center;text-shadow:1px 1px #000c;box-shadow:0 calc(var(--j-press-y) + 2px) 0 0 #000c;transition:transform var(--j-press-speed) linear, box-shadow var(--j-press-speed) linear, background-color var(--j-press-speed) linear;isolation:isolate;position:relative;overflow:hidden;transform:translate(0)}.j-btn__face:before{content:none}.j-btn__face>*{z-index:1;position:relative}.j-btn[data-pressed=true] .j-btn__face,.j-btn:active:not(:disabled):not(.j-btn--disabled) .j-btn__face{background:var(--j-btn-shadow-color,var(--j-dark-orange));transform:translateY(var(--j-press-y));box-shadow:none}.j-btn:not(.j-btn--disabled):hover .j-btn__face{background:var(--j-btn-shadow-color,var(--j-dark-orange))}.j-btn--xs .j-btn__face{padding:6px 8px 3px;font-size:11px}.j-btn--sm .j-btn__face{padding:6px 12px 5px;font-size:13px}.j-btn--md .j-btn__face{padding:6px 18px 9px;font-size:16px}.j-btn--lg .j-btn__face{padding:6px 18px 11px;font-size:20px}.j-btn--orange{--j-btn-face-color:var(--j-orange);--j-btn-shadow-color:var(--j-dark-orange)}.j-btn--red{--j-btn-face-color:var(--j-red);--j-btn-shadow-color:var(--j-dark-red)}.j-btn--blue{--j-btn-face-color:var(--j-blue);--j-btn-shadow-color:var(--j-dark-blue)}.j-btn--green{--j-btn-face-color:var(--j-green);--j-btn-shadow-color:var(--j-dark-green)}.j-btn--tarot{--j-btn-face-color:var(--j-tarot-btn);--j-btn-shadow-color:var(--j-tarot-btn-dark)}.j-btn--planet{--j-btn-face-color:var(--j-planet-btn);--j-btn-shadow-color:var(--j-planet-btn-dark)}.j-btn--spectral{--j-btn-face-color:var(--j-spectral-btn);--j-btn-shadow-color:var(--j-spectral-btn-dark)}.j-btn--grey{--j-btn-face-color:var(--j-grey);--j-btn-shadow-color:var(--j-dark-grey)}.j-badge{border-radius:var(--j-radius-sm);font-family:var(--j-font);letter-spacing:.04em;white-space:nowrap;text-shadow:1px 1px #000c;border:none;align-items:center;font-weight:400;display:inline-flex}.j-badge--sm{padding:2px 6px;font-size:10px}.j-badge--md{padding:4px 8px;font-size:12px}.j-badge--dark{background:var(--j-darkest);color:var(--j-white)}.j-badge--blue{background:var(--j-blue);color:var(--j-white)}.j-badge--red{background:var(--j-red);color:var(--j-white)}.j-badge--green{background:var(--j-green);color:var(--j-white)}.j-badge--orange{background:var(--j-orange);color:var(--j-white)}.j-badge--purple{background:var(--j-purple);color:var(--j-white)}.j-badge--grey{background:var(--j-teal-grey);color:var(--j-white)}.j-tabs{gap:var(--j-space-sm);scrollbar-width:none;flex-wrap:nowrap;justify-content:center;align-items:flex-end;width:100%;display:flex;overflow-x:auto}.j-tabs::-webkit-scrollbar{display:none}.j-tab{flex-direction:column;flex:none;align-items:center;display:flex;position:relative}.j-tab__indicator{justify-content:center;align-items:flex-end;height:10px;margin-bottom:3px;display:flex}.j-tab__indicator svg{fill:var(--j-red);display:block}.j-tab__indicator[data-active=true]{animation:.6s linear infinite jimbo-bounce}.j-tab__indicator[data-active=false]{visibility:hidden}.j-tab__btn{appearance:none;cursor:pointer;border-radius:var(--j-radius-md);background:var(--j-red);min-height:28px;color:var(--j-white);text-align:center;text-shadow:1px 1px #000c;isolation:isolate;border:none;outline:none;padding:6px 14px;transition:filter 80ms linear,opacity 80ms linear;position:relative;overflow:hidden;box-shadow:0 5px #0009}.j-tab__btn:before{content:none}.j-tab__btn>*{z-index:1;position:relative}.j-tab__btn[data-active=true]{opacity:1;animation:j-idle-bob var(--j-idle-bob-duration) ease-in-out infinite}.j-tab__btn[data-active=true]:hover{background:var(--j-red)}.j-tab__btn[data-active=false]:hover{background:var(--j-red);background:var(--j-dark-red)}@keyframes jimbo-bounce{0%,15%{transform:translateY(0)}50%{transform:translateY(-3px)}85%,to{transform:translateY(0)}}@keyframes j-surface-sheen{0%,to{opacity:.52;background-position:0 0,10% 20%}50%{opacity:.8;background-position:100% 100%,88% 74%}}@keyframes j-idle-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-1px)}}.j-vtabs{gap:var(--j-space-sm);flex-direction:column;display:flex}.j-vtab{cursor:pointer;writing-mode:vertical-rl;text-orientation:mixed;background-color:#0000;border:none;border-radius:8px 0 0 8px;padding:16px 8px;transition:none;transform:rotate(180deg)}.j-vtab[data-active=true]{background-color:var(--j-gold,#e4b643);color:var(--j-black,#000)}.j-toggle-list{gap:var(--j-space-sm);flex-direction:column;display:flex}.j-toggle-list__title{font-family:var(--j-font);color:var(--j-grey);letter-spacing:.04em;margin-bottom:var(--j-space-sm);font-size:12px}.j-toggle-item{align-items:center;gap:var(--j-space-md);border-radius:var(--j-radius-sm);cursor:pointer;font-family:var(--j-font);color:var(--j-white);background:#ffffff0d;border:1px solid #0003;padding:6px 8px;display:flex}.j-toggle-item[data-variant=stacked]{justify-content:center;gap:var(--j-space-xs);background:0 0;border:none;flex-direction:column;padding:4px 0}.j-toggle-item[data-variant=stacked] .j-toggle-item__label{text-align:center;letter-spacing:.04em;text-align:left;justify-content:flex-start}.j-toggle-check{border:2px solid var(--j-dark-red);background:var(--j-darkest);border-radius:3px;flex-shrink:0;width:20px;height:20px;position:relative;box-shadow:inset 0 1px 2px #00000080}.j-toggle-check[data-on=true]:after{content:"";background:var(--j-red);background:var(--j-white);border-radius:2px;position:absolute;inset:1px;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><polyline points='3,9 7,13 13,4' stroke='white' stroke-width='3' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>") 50%/80% 80% no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><polyline points='3,9 7,13 13,4' stroke='white' stroke-width='3' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>") 50%/80% 80% no-repeat}.j-tooltip{border-radius:var(--j-radius-md);background:var(--j-darkest);border:var(--j-panel-border-width) solid var(--j-border-silver);max-width:280px;color:var(--j-white);pointer-events:none;z-index:9999;flex-direction:column;align-items:center;gap:4px;padding:6px 10px;transition:opacity .12s;display:flex;position:fixed;box-shadow:0 2px #000c}.j-tooltip--dark{background:var(--j-darkest);color:var(--j-white)}.j-tooltip--card{background:var(--j-white);color:var(--j-darkest);border-color:var(--j-border-silver);text-shadow:none}.j-tooltip__body{text-align:center;width:100%;font-family:var(--j-font)}.j-tooltip--card .j-tooltip__body{color:var(--j-darkest)}.j-tooltip__badge{border-radius:var(--j-radius-sm);font-family:var(--j-font);color:var(--j-white);text-shadow:var(--j-text-shadow);letter-spacing:1px;margin-bottom:-2px;padding:2px 10px;font-size:11px;display:inline-block}.j-items-start{align-items:flex-start}.j-justify-between{justify-content:space-between}.j-h-full{height:100%}.j-flank{justify-content:center;align-items:stretch;gap:var(--j-space-md);width:100%;display:flex;position:relative}.j-flank__content{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.j-flank__btn{width:40px;margin:var(--j-press-y) 0;border-radius:var(--j-radius-lg);cursor:pointer;background-color:var(--j-red);color:var(--j-white);text-shadow:1px 1px #000c;box-shadow:0 var(--j-press-y) 0 0 var(--j-dark-red);transition:transform var(--j-press-speed) ease, box-shadow var(--j-press-speed) ease, background-color var(--j-press-speed) ease;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.j-flank__btn[data-pressed=true]{transform:translateY(var(--j-press-y));box-shadow:none}.j-flank__btn:disabled{background-color:var(--j-dark-red);cursor:default;box-shadow:none}.j-copy-row{gap:var(--j-space-sm);flex-direction:column;display:flex}.j-copy-row__field{align-items:center;gap:var(--j-space-md);display:flex}.j-copy-row__value{background:var(--j-darkest);border:var(--j-panel-border-width) solid var(--j-panel-edge);border-radius:var(--j-radius-sm);word-break:break-all;flex:1;padding:6px 10px}.j-copy-row__btn{font-family:var(--j-font);letter-spacing:.08em;border-radius:var(--j-radius-sm);cursor:pointer;flex-shrink:0;padding:4px 12px;font-size:11px;transition:color .15s,background .15s,border-color .15s}.j-copy-row__btn[data-copied=false]{color:var(--j-gold-text);border:1px solid var(--j-gold-text);background:#e4b6431f}.j-copy-row__btn[data-copied=true]{color:var(--j-green-text);border:1px solid var(--j-green-text);background:#35bd861f}.j-code-block{background-color:var(--j-darkest);border:var(--j-panel-border-width) solid var(--j-panel-edge);border-radius:var(--j-radius-lg);flex-direction:column;display:flex;overflow:hidden;box-shadow:0 3px #00000080}.j-code-block__header{border-bottom:1px solid var(--j-inner-border);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.j-code-block__meta{align-items:center;gap:8px;display:flex}.j-code-block__filename{opacity:.6;font-size:10px}.j-code-block__lang{color:#60a5fa;background:#0006;border-radius:3px;padding:1px 6px;font-size:9px}.j-code-block__copy{cursor:pointer;background:0 0;border:none;padding:4px;display:flex}.j-code-block__copy[data-copied=false]{color:#ffffff80}.j-code-block__copy[data-copied=true]{color:#4ade80}.j-code-block__pre{font-family:var(--j-font-code);color:#f6f0d5;margin:0;padding:12px;font-size:.875rem;line-height:1.6;overflow-x:auto}.j-filter-bar{padding:var(--j-space-xl);background-color:var(--j-dark-grey);border:4px solid var(--j-border-silver);box-shadow:0 3px 0 0 var(--j-border-south);border-radius:var(--j-radius-lg);flex-wrap:wrap;gap:24px;display:flex;position:relative}.j-filter-bar__field{flex:1;min-width:200px;margin-top:10px;position:relative}.j-filter-bar__pill{background-color:var(--j-red);border:2px solid var(--j-dark-red);border-radius:var(--j-radius-md);z-index:2;padding:4px 12px;position:absolute;top:-14px;left:16px}.j-filter-bar__input{background-color:var(--j-darkest);border:none;border-bottom:4px solid var(--j-panel-edge);border-radius:var(--j-radius-lg);width:100%;color:var(--j-white);font-family:var(--j-font);letter-spacing:.08em;outline:none;padding:14px 16px 14px 48px;font-size:20px}.j-filter-bar__search-icon{pointer-events:none;width:48px;color:var(--j-blue);z-index:1;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0}.j-filter-bar__select{appearance:none;background-color:var(--j-orange);color:var(--j-white);border:none;border-bottom:4px solid var(--j-dark-orange);border-radius:var(--j-radius-lg);cursor:pointer;font-family:var(--j-font);letter-spacing:.08em;text-align:center;outline:none;min-width:200px;padding:14px 48px 14px 24px;font-size:18px}.j-filter-bar__sort-icon{pointer-events:none;color:var(--j-white);opacity:.85;position:absolute;top:50%;right:16px;transform:translateY(-50%)}@keyframes jimbo-modal-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.j-modal-overlay{z-index:1000;padding:var(--j-space-md);background:#0812168c;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.j-modal{border-radius:var(--j-radius-lg);flex-direction:column;width:100%;max-width:345px;max-height:calc(100% - 32px);animation:.14s cubic-bezier(.2,0,.2,1.4) both jimbo-modal-in;display:flex;overflow:hidden}.j-modal .j-panel__body{min-height:0;overflow-y:auto}.j-modal__title-wrap{margin:calc(var(--j-space-md) * -1) 0 var(--j-space-md);flex-shrink:0;justify-content:center;display:flex}.j-modal__title{text-align:center;background:var(--j-darkest);border:2px solid var(--j-panel-edge);border-radius:var(--j-radius-md);box-shadow:0 2px 0 var(--j-black);color:var(--j-red);margin:0;padding:4px 14px;display:inline-block}.j-input-modal__message{margin-bottom:var(--j-space-md);display:block}.j-text-input{background:var(--j-darkest);width:100%;color:var(--j-white);border:1px solid var(--j-panel-edge);border-radius:var(--j-radius-sm);font-size:13px;font-family:var(--j-font);letter-spacing:1px;box-sizing:border-box;outline:none;padding:8px 10px}.j-text-input[aria-invalid=true],.j-text-input[data-invalid=true]{border-color:var(--j-red)}.j-input-modal__error{margin-top:6px;display:block}.j-input-modal__actions{justify-content:flex-end;gap:var(--j-space-md);margin-top:14px;display:flex}.j-footer{z-index:9998;pointer-events:auto;width:100%;position:fixed;bottom:0;left:0;right:0}.j-footer__bar{background:var(--j-black);border-top:var(--j-panel-border-width) solid var(--j-panel-edge);text-align:center;width:100%;padding:4px 8px 5px}.j-footer__line{font-family:var(--j-font);color:#fff;z-index:1;margin:0;font-size:10px;line-height:1;position:relative}.j-footer__line--wrap{flex-wrap:wrap;justify-content:center;align-items:center;gap:.25rem;display:flex}.j-footer__chunk{white-space:nowrap}.j-footer__chunk--credit{gap:.25rem;display:inline-flex}.j-footer__sep{color:var(--j-grey)}.j-footer__link{color:var(--j-gold);text-decoration:none}.j-footer__extra{align-items:center;margin-left:.25rem;display:inline-flex}@media (width<=320px){.j-footer__bar{padding:4px 6px 5px}.j-footer__line,.j-footer__line--wrap{font-size:9px}}.j-floating{z-index:20;position:absolute}.j-glow--must{box-shadow:0 0 0 2px var(--j-blue), 0 0 10px var(--j-blue);animation:1.6s ease-in-out infinite j-glow-pulse}.j-glow--should{box-shadow:0 0 0 2px var(--j-gold), 0 0 10px var(--j-gold);animation:1.6s ease-in-out infinite j-glow-pulse}.j-glow--match{box-shadow:0 0 0 2px var(--j-green-text), 0 0 18px var(--j-green-text), 0 0 36px var(--j-green-text);animation:1.6s ease-in-out infinite j-glow-pulse}@keyframes j-glow-pulse{0%,to{opacity:.55}50%{opacity:1}}.j-flex{display:flex}.j-flex-col{flex-direction:column;display:flex}.j-flex-wrap{flex-wrap:wrap}.j-items-center{align-items:center}.j-justify-center{justify-content:center}.j-gap-xs{gap:var(--j-space-xs)}.j-gap-sm{gap:var(--j-space-sm)}.j-gap-md{gap:var(--j-space-md)}.j-gap-lg{gap:var(--j-space-lg)}.j-gap-xl{gap:var(--j-space-xl)}.j-mt-sm{margin-top:var(--j-space-sm)}.j-w-full{width:100%}.j-shrink-0{flex-shrink:0}.j-flex-1{flex:1}.j-min-w-0{min-width:0}.j-text-center{text-align:center}.j-overflow-hidden{overflow:hidden}.j-overflow-auto{overflow:auto}.j-relative{position:relative}.j-border--red{border-color:var(--j-red)}.j-border--blue{border-color:var(--j-blue)}.j-border--green{border-color:var(--j-green)}.j-border--gold{border-color:var(--j-gold)}.j-border--orange{border-color:var(--j-orange)}.j-border--purple{border-color:var(--j-purple)}.j-bg--red{background-color:var(--j-red)}.j-bg--blue{background-color:var(--j-blue)}.j-bg--green{background-color:var(--j-green)}.j-bg--gold{background-color:var(--j-gold)}.j-bg--orange{background-color:var(--j-orange)}.j-bg--purple{background-color:var(--j-purple)}.j-bg--dark-grey{background-color:var(--j-dark-grey)}.j-bg--darkest{background-color:var(--j-darkest)}.j-app{background:var(--j-darkest);width:min(100%,320px);max-width:320px;height:min(568px,100dvh);max-height:568px;font-family:var(--j-font);color:var(--j-white);flex-direction:column;margin:0 auto;display:flex;position:relative;overflow:hidden;container:jimbo/inline-size}.j-app--fluid{width:100%;max-width:750px;height:auto;min-height:400px;max-height:none}.j-app__content{min-height:0;padding:var(--j-space-lg) var(--j-space-lg) var(--j-space-md);flex-direction:column;flex:1;display:flex;overflow:hidden}.j-app__scroll{min-height:0;padding:var(--j-space-lg) var(--j-space-lg) var(--j-space-md);scrollbar-width:none;-ms-overflow-style:none;flex:1;overflow:hidden auto}.j-app__scroll::-webkit-scrollbar{display:none}.j-app__footer{padding:var(--j-space-md) var(--j-space-lg) var(--j-space-md);border-top:var(--j-panel-border-width) solid var(--j-black);background:var(--j-dark-grey);gap:var(--j-space-sm);flex-direction:column;flex-shrink:0;display:flex}@container jimbo (width>=401px){.j-app__content,.j-app__scroll{padding:var(--j-space-xl) var(--j-space-xl) var(--j-space-lg)}.j-app__footer{padding:var(--j-space-md) var(--j-space-xl) var(--j-space-lg)}.j-stat-grid__value{font-size:20px}.j-info-card{padding:var(--j-space-md) var(--j-space-lg)}.j-info-card__title{font-size:14px}.j-section-header__tag{font-size:12px}}.j-section-header{align-items:center;gap:var(--j-space-md);margin-bottom:var(--j-space-md);display:flex}.j-section-header__tag{font-family:var(--j-font);letter-spacing:2px;color:var(--j-white);text-shadow:var(--j-text-shadow);border-radius:3px;flex-shrink:0;padding:2px 8px;font-size:11px}.j-section-header__rule{opacity:.33;border-radius:1px;flex:1;height:2px}.j-stepper-wrap{align-items:center;gap:var(--j-space-xs);flex-direction:column;display:flex}.j-stepper__label{text-align:center}.j-stepper{align-items:stretch;gap:var(--j-space-sm);display:inline-flex}.j-stepper__value{background:var(--j-red);border-radius:var(--j-radius-md);min-width:96px;box-shadow:0 3px 0 var(--j-dark-red);justify-content:center;align-items:center;padding:4px 12px;display:flex}.j-slider-wrap{align-items:stretch;gap:var(--j-space-xs);flex-direction:column;width:100%;display:flex}.j-slider__label{text-align:center}.j-slider{align-items:center;gap:var(--j-space-sm);height:22px;display:flex;position:relative}.j-slider__track{background:var(--j-red);border-radius:var(--j-radius-pill);height:14px;box-shadow:inset 0 2px 0 var(--j-dark-red);flex:1;position:relative;overflow:hidden}.j-slider__fill{background:var(--j-dark-red);border-radius:var(--j-radius-pill) 0 0 var(--j-radius-pill);position:absolute;inset:0 auto 0 0}.j-slider__input{opacity:0;cursor:pointer;width:calc(100% - 64px);height:100%;margin:0;position:absolute;inset:0 64px 0 0}.j-slider__value{background:var(--j-dark-red);border-radius:var(--j-radius-md);min-width:48px;box-shadow:0 2px 0 var(--j-black);justify-content:center;align-items:center;padding:2px 8px;display:flex}.j-dual-chip{border-radius:var(--j-radius-md);box-shadow:0 2px 0 var(--j-black);align-items:stretch;display:inline-flex;overflow:hidden}.j-dual-chip__half{min-width:40px;color:var(--j-white);justify-content:center;align-items:center;padding:6px 14px;display:flex}.j-dual-chip__half--left{border-right:1px solid var(--j-black)}.j-dual-chip__half--blue{background:var(--j-blue)}.j-dual-chip__half--red{background:var(--j-red)}.j-dual-chip__half--green{background:var(--j-green)}.j-dual-chip__half--gold{background:var(--j-gold);color:var(--j-black)}.j-dual-chip__half--dark{background:var(--j-darkest)}.j-stat-grid{background:var(--j-dark-grey);border-radius:var(--j-radius-md);padding:var(--j-space-md);border:var(--j-panel-border-width) solid var(--j-panel-edge);box-shadow:0 2px 0 var(--j-black);gap:var(--j-space-md);text-align:center;grid-template-columns:1fr 1fr 1fr;display:grid}.j-stat-grid__value{font-family:var(--j-font);color:var(--j-gold-text);text-shadow:var(--j-text-shadow);font-size:16px}.j-stat-grid__label{font-family:var(--j-font);color:var(--j-white);letter-spacing:1px;opacity:.85;margin-top:2px;font-size:10px}.j-info-card{background:var(--j-dark-grey);border-radius:var(--j-radius-md);padding:var(--j-space-md);box-shadow:0 2px 0 var(--j-black);align-items:center;gap:var(--j-space-md);cursor:pointer;border:var(--j-panel-border-width) solid transparent;display:flex}.j-info-card:hover{filter:brightness(1.08)}.j-info-card__body{flex:1;min-width:0}.j-info-card__title{font-family:var(--j-font);color:var(--j-white);letter-spacing:1px;text-shadow:var(--j-text-shadow);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.j-info-card__sub{font-family:var(--j-font);color:var(--j-gold-text);letter-spacing:1px;margin-top:2px;font-size:9px}.j-info-card__aside{text-align:right;flex-shrink:0}.j-inset{background:var(--j-dark-grey);border-radius:var(--j-radius-md);padding:var(--j-space-md) var(--j-space-md);border:var(--j-panel-border-width) solid var(--j-panel-edge);box-shadow:0 2px 0 var(--j-black);font-family:var(--j-font);color:var(--j-grey);letter-spacing:1px;font-size:11px;line-height:1.7}.j-wordmark{text-align:center;margin-bottom:var(--j-space-xl)}.j-wordmark__title{font-family:var(--j-font);letter-spacing:3px;color:var(--j-gold-text);text-shadow:2px 2px #000c;font-size:32px;line-height:1}.j-wordmark__sub{font-family:var(--j-font);letter-spacing:4px;color:var(--j-grey);text-shadow:var(--j-text-shadow);margin-top:4px;font-size:14px}.j-game-card{width:var(--j-card-width,71px)}.j-card-renderer{--j-card-aspect:.75;--j-card-glare-x:50%;--j-card-glare-y:50%;aspect-ratio:var(--j-card-aspect);perspective:900px;-webkit-user-select:none;user-select:none;width:100%;display:flex;position:relative}.j-card-renderer__canvas{border-radius:var(--j-radius-md);width:100%;height:100%;image-rendering:pixelated;pointer-events:none;transform-origin:50%;transform-style:preserve-3d;will-change:transform;box-shadow:0 3px 8px #00000052}.j-card-renderer[data-hover-tilt=true]:before{content:"";border-radius:var(--j-radius-md);background:radial-gradient(circle at var(--j-card-glare-x) var(--j-card-glare-y), #ffffff47, transparent 32%), linear-gradient(135deg, transparent 0%, #ffffff14 42%, transparent 68%);opacity:0;pointer-events:none;z-index:2;mix-blend-mode:screen;transition:opacity .12s linear;position:absolute;inset:0}.j-card-renderer[data-hover-tilt=true][data-hovered=true]:before{opacity:.72}.j-card-renderer[data-hover-tilt=true][data-hovered=true] .j-card-renderer__canvas{box-shadow:0 8px 16px #0000006b}.j-card-renderer__hit{z-index:3;position:absolute;inset:0}.j-card-renderer[data-hover-tilt=true] .j-card-renderer__hit{cursor:pointer}.j-panel-spinner{gap:var(--j-space-xs);flex-direction:column;width:min(100%,320px);max-width:320px;display:flex}.j-panel-spinner__label{align-items:center;display:flex}.j-panel-spinner__row{align-items:stretch;gap:var(--j-space-sm);grid-template-columns:30px minmax(0,1fr) 30px;width:100%;display:grid}.j-panel-spinner__arrow{align-self:stretch;width:30px;min-height:92px}.j-panel-spinner__arrow .j-btn__face{height:100%;min-height:92px;box-shadow:0 var(--j-panel-border-width-heavy) 0 0 #000c;justify-content:center;align-items:center;padding:0;display:flex}.j-panel-spinner__arrow--left,.j-panel-spinner__arrow--right{border-radius:var(--j-radius-md)}.j-panel-spinner__panel{justify-content:center;align-items:center;gap:var(--j-space-xs);background:var(--j-darkest);border:var(--j-panel-border-width) solid var(--j-panel-edge);border-radius:var(--j-radius-md);text-align:center;min-width:0;min-height:92px;box-shadow:0 var(--j-panel-border-width-heavy) 0 0 var(--j-black);box-sizing:border-box;flex-direction:column;padding:8px 10px;display:flex}.j-panel-spinner__media{justify-content:center;align-items:center;min-height:60px;display:flex}.j-panel-spinner__title,.j-panel-spinner__meta,.j-panel-spinner__description{width:100%;min-width:0}.j-panel-spinner__description .j-text{white-space:pre-line;overflow-wrap:anywhere;display:block}.j-ide{overscroll-behavior-x:none;border-radius:var(--j-radius-lg);border:var(--j-panel-border-width) solid var(--j-border-silver);background:var(--j-darkest);max-width:100%;min-height:420px;color:var(--j-white);box-shadow:0 var(--j-panel-south-edge-width) 0 0 var(--j-border-south), 0 calc(var(--j-surface-shadow-depth) + var(--j-panel-south-edge-width)) 0 0 #0000008c;flex-direction:column;display:flex;overflow:clip hidden}.j-ide__header{border-bottom:var(--j-panel-border-width) solid var(--j-panel-edge);background:var(--j-darkest);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.j-ide__header--compact{gap:8px;padding:8px 10px}.j-ide__header-copy{min-width:0}.j-ide__title{font-family:var(--j-font);color:var(--j-gold-text);text-shadow:var(--j-text-shadow);font-size:16px}.j-ide__subtitle{font-family:var(--j-font);color:var(--j-grey);text-shadow:var(--j-text-shadow);margin-top:2px;font-size:11px}.j-ide__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.j-ide-toolbar{border-bottom:var(--j-panel-border-width) solid var(--j-panel-edge);background:var(--j-dark-grey);align-items:center;gap:6px;min-width:0;padding:8px 4px 6px;display:flex}.j-ide-toolbar__tabs{flex:1;min-width:0;padding-bottom:3px;overflow:hidden}.j-ide-toolbar__action{flex-shrink:0}.j-ide__body{background:var(--j-darkest);flex:1;min-height:0;overflow:auto}.j-ide__body--map{overflow:hidden}.j-ide__results{padding:12px}.j-seed-input{gap:var(--j-space-xs);flex-direction:column;width:fit-content;max-width:100%;display:flex}.j-seed-input--normal{--j-seed-shell-bg:var(--j-dark-grey);--j-seed-shell-border:var(--j-border-silver);--j-seed-shell-border-bottom:var(--j-border-south);--j-seed-field-bg:var(--j-darkest)}.j-seed-input--dark{--j-seed-shell-bg:var(--j-darkest);--j-seed-shell-border:var(--j-panel-edge);--j-seed-shell-border-bottom:var(--j-black);--j-seed-field-bg:var(--j-darkest)}.j-seed-input--alt{--j-seed-shell-bg:var(--j-teal-grey);--j-seed-shell-border:var(--j-border-silver);--j-seed-shell-border-bottom:var(--j-panel-edge);--j-seed-field-bg:var(--j-dark-grey)}.j-seed-input__shell{border-radius:var(--j-radius-md);border:var(--j-panel-border-width) solid var(--j-seed-shell-border);background:var(--j-seed-shell-bg);width:fit-content;max-width:100%;box-shadow:0 var(--j-panel-border-width-heavy) 0 0 var(--j-seed-shell-border-bottom), 0 calc(var(--j-surface-shadow-depth) + var(--j-panel-border-width-heavy)) 0 0 #0000008c;cursor:text;padding:3px}.j-seed-input__shell[data-valid=true]{border-color:var(--j-green);border-bottom-color:var(--j-dark-green)}.j-seed-input__field{border-radius:calc(var(--j-radius-md) - 2px);border:var(--j-panel-border-width) solid var(--j-panel-edge);background:var(--j-seed-field-bg);width:calc(8ch + 16px);min-width:calc(8ch + 16px);max-width:calc(8ch + 16px);color:var(--j-gold-text);font-size:18px;font-family:var(--j-font);letter-spacing:.08em;text-align:center;text-shadow:var(--j-text-shadow);box-sizing:border-box;outline:none;padding:6px 8px 8px;font-weight:400}.j-seed-input__field::placeholder{color:var(--j-grey);letter-spacing:.08em;opacity:1;font-size:18px}.j-seed-input__field:focus{border-color:var(--j-gold)}.j-seed-spinner{gap:var(--j-space-xs);flex-direction:column;width:100%;max-width:100%;display:flex}.j-seed-spinner__meta{justify-content:space-between;align-items:center;gap:var(--j-space-sm);display:flex}.j-seed-spinner__label{font-family:var(--j-font);letter-spacing:.08em;color:var(--j-grey);text-shadow:var(--j-text-shadow);font-size:10px}.j-seed-spinner__row{align-items:end;gap:var(--j-space-sm);grid-template-columns:28px minmax(0,1fr) auto 28px;display:grid}.j-seed-spinner__row .j-seed-input{width:100%}.j-seed-spinner__row .j-seed-input__shell,.j-seed-spinner__row .j-seed-input__field{width:100%;min-width:0;max-width:none}.j-seed-spinner__arrow{align-self:stretch;width:28px;min-height:44px}.j-seed-spinner__arrow .j-btn__face{justify-content:center;align-items:center;height:100%;min-height:44px;padding:0;display:flex}.j-seed-spinner__copy{align-items:center;gap:4px;display:inline-flex}@media (prefers-reduced-motion:reduce){.j-panel:before,.j-inner-panel:before,.j-btn__face:before,.j-tab__btn:before,.j-footer__bar:before,.j-seed-input__shell:before,.j-tab__btn[data-active=true]{animation:none}}.j-aesthetic-selector{gap:var(--j-space-sm);flex-direction:column;display:flex}.j-aesthetic-selector__list{gap:var(--j-space-sm);flex-wrap:wrap;display:flex}.j-aesthetic-pill{border-radius:var(--j-radius-md);border:2px solid var(--j-panel-edge);background:var(--j-darkest);color:var(--j-grey);cursor:pointer;font-size:11px;font-family:var(--j-font);letter-spacing:.04em;text-shadow:var(--j-text-shadow);padding:4px 10px;font-weight:400;transition:border-color .1s,background .1s,color .1s;box-shadow:0 2px #0000004d}.j-aesthetic-pill:hover{border-color:var(--j-gold);color:var(--j-gold-text)}.j-aesthetic-pill[data-active=true]{border-color:var(--j-gold);color:var(--j-gold-text);box-shadow:0 0 0 1px var(--j-gold), 0 2px 0 0 #0000004d;background:#e4b64321}.j-showcase{background:var(--j-darkest);width:100%;height:100%;font-family:var(--j-font);color:var(--j-white);flex-direction:column;display:flex;overflow:hidden}.j-showcase__scroll{flex:1;min-height:0;padding:18px 14px 10px;overflow-y:auto}.j-showcase__wordmark{text-align:center;margin-bottom:18px}.j-showcase__wordmark-title{letter-spacing:3px;color:var(--j-gold-text);text-shadow:2px 2px #000c;font-size:32px;line-height:1}.j-showcase__wordmark-sub{letter-spacing:4px;color:var(--j-grey);text-shadow:var(--j-text-shadow);margin-top:4px;font-size:14px}.j-showcase__stats{background:var(--j-dark-grey);border-radius:var(--j-radius-md);border:2px solid var(--j-panel-edge);box-shadow:0 2px 0 var(--j-black);gap:var(--j-space-md);text-align:center;margin-bottom:var(--j-space-xl);grid-template-columns:1fr 1fr 1fr;padding:10px;display:grid}.j-showcase__stat-value{color:var(--j-gold-text);text-shadow:var(--j-text-shadow);font-size:16px}.j-showcase__stat-label{color:var(--j-grey);letter-spacing:2px;margin-top:2px;font-size:9px}.j-showcase__section-header{align-items:center;gap:var(--j-space-md);margin-bottom:var(--j-space-md);display:flex}.j-showcase__section-tag{letter-spacing:2px;color:var(--j-white);text-shadow:var(--j-text-shadow);border-radius:3px;padding:2px 8px;font-size:11px}.j-showcase__section-rule{border-radius:1px;flex:1;height:2px}.j-showcase__filter-list{gap:var(--j-space-md);margin-bottom:var(--j-space-xl);flex-direction:column;display:flex}.j-showcase__filter-card{background:var(--j-dark-grey);border-radius:var(--j-radius-md);box-shadow:0 2px 0 var(--j-black);cursor:pointer;align-items:center;gap:10px;padding:10px;display:flex}.j-showcase__filter-sprites{gap:2px;display:flex}.j-showcase__filter-sprite{justify-content:center;align-items:center;width:30px;height:40px;display:flex}.j-showcase__filter-info{flex:1;min-width:0}.j-showcase__filter-name{color:var(--j-white);letter-spacing:1px;text-shadow:var(--j-text-shadow);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.j-showcase__filter-author{color:var(--j-gold-text);letter-spacing:1px;margin-top:2px;font-size:9px}.j-showcase__filter-hits{text-align:right}.j-showcase__filter-hits-value{text-shadow:var(--j-text-shadow);font-size:14px}.j-showcase__filter-hits-label{color:var(--j-grey);letter-spacing:1px;font-size:8px}.j-showcase__recent{background:var(--j-dark-grey);border-radius:var(--j-radius-md);border:2px solid var(--j-panel-edge);box-shadow:0 2px 0 var(--j-black);color:var(--j-grey);letter-spacing:1px;padding:8px 10px;font-size:11px;line-height:1.7}.j-showcase__actions{border-top:2px solid var(--j-black);background:var(--j-dark-grey);flex-direction:column;gap:6px;padding:8px 10px 10px;display:flex}.j-footer__suits{align-items:center;display:inline-flex}.j-footer__suit-stage{vertical-align:middle;width:1.5em;height:1em;display:inline-block;position:relative}.j-footer__suit-char{opacity:0;justify-content:center;align-items:center;animation-duration:5s;animation-timing-function:ease-out;animation-iteration-count:infinite;animation-delay:0s;display:inline-flex;position:absolute;inset:0}.j-copy-row__label{letter-spacing:2px}.j-motely-badge{align-items:center;gap:6px;display:inline-flex}.j-motely-badge--chip{border-radius:var(--j-radius-sm);background:var(--j-darkest);border:1px solid var(--j-panel-edge);padding:3px 8px}.j-jamlyzer{gap:var(--j-space-md);padding:var(--j-space-md) 0;flex-direction:column;display:flex}.j-jamlyzer__control{align-items:end;gap:var(--j-space-md);grid-template-columns:minmax(0,1fr) auto;display:grid}.j-jamlyzer__result{text-align:center}.j-jamlyzer__result--match{background:var(--j-dark-green)}.j-jamlyzer__seed{margin-bottom:var(--j-space-sm);letter-spacing:3px;display:block}.j-filter-browser{box-sizing:border-box;gap:var(--j-space-md);grid-template-rows:minmax(0,1fr) auto;width:100%;height:100%;display:grid;overflow:hidden}.j-filter-browser__list-panel{min-height:0}.j-filter-browser__list-panel .j-panel__body{flex-direction:column;min-height:0;display:flex}.j-filter-browser__list{gap:var(--j-space-sm);flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.j-filter-browser__item{border-radius:var(--j-radius-md);background:var(--j-darkest);width:100%;color:var(--j-white);box-shadow:0 var(--j-press-y) 0 var(--j-black);cursor:pointer;padding:var(--j-space-sm) var(--j-space-md);gap:var(--j-space-xs);text-align:left;border:none;grid-template-columns:minmax(0,1fr);display:grid}.j-filter-browser__item[data-active=true],.j-filter-browser__item:hover{background:var(--j-dark-red);box-shadow:0 var(--j-press-y) 0 var(--j-darkest)}.j-filter-browser__item-main{min-width:0}.j-filter-browser__deck-stake,.j-filter-browser__name{overflow-wrap:anywhere;display:block}.j-filter-browser__targets{gap:var(--j-space-xs);flex-wrap:wrap;display:flex}.j-filter-browser__target{border-radius:var(--j-radius-sm);background:var(--j-teal-grey);color:var(--j-white);font-family:var(--j-font);text-shadow:var(--j-text-shadow);padding:2px 5px;font-size:10px;display:inline-flex}.j-filter-browser__pager{padding-top:var(--j-space-md);flex-shrink:0;justify-content:center;display:flex}.j-filter-browser__page-chip{border-radius:var(--j-radius-md);background:var(--j-red);min-width:110px;box-shadow:0 3px 0 var(--j-dark-red);text-align:center;padding:6px 16px}.j-filter-browser__details{flex-shrink:0;justify-content:center;min-height:160px}.j-filter-browser__details-body,.j-filter-browser__meta,.j-filter-browser__actions{align-items:center;gap:var(--j-space-sm);flex-direction:column;width:100%;display:flex}.j-filter-browser__targets--details{flex-flow:wrap;justify-content:center}.j-filter-browser__actions .j-btn{width:100%}.j-filter-browser__meta{opacity:.78;gap:var(--j-space-xs)}.j-picker{flex-direction:column;max-height:80vh;display:flex}.j-picker__section{border-bottom:1px solid var(--j-panel-edge);padding:8px 10px 6px}.j-picker__section-title{margin-bottom:var(--j-space-md);display:block}.j-picker__search{padding:6px 10px 4px}.j-picker__search-field{text-transform:none;letter-spacing:.04em;width:100%;min-width:0;max-width:none;padding:6px 10px;font-size:13px}.j-picker__hint{margin:4px 10px 6px;padding:6px 10px}.j-picker__grid{gap:var(--j-space-sm);flex:1;grid-template-columns:repeat(5,minmax(0,1fr));align-content:start;padding:12px 8px 18px;scroll-padding:12px 0 18px;display:grid;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000 0,#000 12px calc(100% - 18px),#0000 100%);mask-image:linear-gradient(#0000 0,#000 12px calc(100% - 18px),#0000 100%)}.j-picker__grid--legendary{padding:0;overflow:visible;-webkit-mask-image:none;mask-image:none}.j-picker__item{border-radius:var(--j-radius-sm);cursor:pointer;flex-direction:column;align-items:center;gap:3px;padding:3px;display:flex;position:relative}.j-picker__item[data-muted=true]{opacity:.35}.j-picker__item-label{width:100%;color:var(--j-white);text-align:center;overflow-wrap:anywhere;line-height:1.05}.j-picker__pair{gap:var(--j-space-sm);flex-direction:column;display:flex}.j-picker__empty{padding:var(--j-space-xl);text-align:center;grid-column:1/-1}.j-story-phone{width:320px;height:568px}.j-story-panel-grid{width:320px}.j-story-card-grid{gap:var(--j-space-md);grid-template-columns:repeat(5,minmax(0,1fr));justify-items:center;display:grid}.j-panel-splitter{all:unset;touch-action:none;-webkit-user-select:none;user-select:none;background:var(--j-teal-grey);flex:none;display:block;position:relative}.j-panel-splitter:before{content:"";pointer-events:none;background:#ffffff4d;border-radius:50%;width:4px;height:4px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.j-panel-splitter[data-orientation=vertical]{cursor:col-resize;width:8px}.j-panel-splitter[data-orientation=vertical]:before{box-shadow:0 -8px #ffffff4d,0 8px #ffffff4d}.j-panel-splitter[data-orientation=horizontal]{cursor:row-resize;height:8px}.j-panel-splitter[data-orientation=horizontal]:before{box-shadow:-8px 0 #ffffff4d,8px 0 #ffffff4d}.j-panel-splitter:focus-visible{outline:2px solid var(--j-gold);outline-offset:2px}.j-panel-splitter-story{display:flex}.j-panel-splitter-story__shell{width:100%}.j-panel-splitter-story__shell .j-panel__body{gap:var(--j-space-md);flex-direction:column;min-height:0;display:flex}.j-panel-splitter-story__header{justify-content:space-between;align-items:center;gap:var(--j-space-md);display:flex}.j-panel-splitter-story__body{border-radius:var(--j-radius-md);background:var(--j-darkest);height:430px;min-height:0;display:flex;overflow:hidden}.j-panel-splitter-story__pane{min-width:0;padding:var(--j-space-md);flex:1 1 0;overflow:auto}.j-panel-splitter-story__pane--results{gap:var(--j-space-sm);flex-direction:column;display:flex}.j-panel-splitter-story__label{margin-bottom:var(--j-space-sm);display:block}.j-panel-splitter-story__result-row{justify-content:space-between;align-items:center;gap:var(--j-space-sm);padding:var(--j-space-sm) var(--j-space-md);border-radius:var(--j-radius-sm);background:var(--j-teal-grey);display:flex}.j-text--dance-container{display:inline-flex}.j-font-dance-char{animation:3s ease-in-out infinite j-font-dance;display:inline-block}.hide-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbar::-webkit-scrollbar{display:none}.j-juice-hover{transition:transform .2s cubic-bezier(.175,.885,.32,1.275)}.j-juice-hover:hover{z-index:5;transform:translateY(-2px)}
2
2
  /*$vite$:1*/
@@ -1,8 +1,17 @@
1
1
  import { default as React } from 'react';
2
2
  import { JimboTooltipMode, JimboTooltipPlacement } from './hooks.js';
3
+ export type JimboTooltipBadgeTone = 'red' | 'blue' | 'green' | 'gold' | 'orange' | 'purple' | 'dark';
4
+ export interface JimboTooltipBadge {
5
+ tone: JimboTooltipBadgeTone;
6
+ label: string;
7
+ }
3
8
  export interface JimboTooltipProps {
4
9
  /** Content rendered inside the tooltip panel. Typically a card's ability text, joker description, etc. */
5
10
  content: React.ReactNode;
11
+ /** Optional colored chip pinned to the bottom of the tooltip — Balatro card label pattern (Bonus Card, Mult Card, etc.). */
12
+ badge?: JimboTooltipBadge;
13
+ /** Tooltip surface style. `dark` (default) — silver-bordered dark panel. `card` — white card with dark text, used for in-game card descriptions. */
14
+ variant?: 'dark' | 'card';
6
15
  /** The target element the tooltip anchors to. */
7
16
  children: React.ReactElement;
8
17
  /** `snap` (default): tooltip sits above/below the target's bounding rect.
@@ -21,4 +30,4 @@ export interface JimboTooltipProps {
21
30
  * Canonical Balatro-style tooltip: dark panel, silver border, pixel font.
22
31
  * Wrap any target to get a hover/focus popover.
23
32
  */
24
- export declare function JimboTooltip({ content, children, mode, placement, delay, maxWidth, disabled, }: JimboTooltipProps): import("react/jsx-runtime").JSX.Element;
33
+ export declare function JimboTooltip({ content, badge, variant, children, mode, placement, delay, maxWidth, disabled, }: JimboTooltipProps): import("react/jsx-runtime").JSX.Element;
@@ -17,8 +17,9 @@ export interface JimboButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLBu
17
17
  children?: React.ReactNode;
18
18
  }
19
19
  export declare function JimboButton({ tone, size, fullWidth, disabled, onClick, style, className, children, ...buttonProps }: JimboButtonProps): import("react/jsx-runtime").JSX.Element;
20
- export declare function JimboBackButton({ onClick }: {
20
+ export declare function JimboBackButton({ onClick, size }: {
21
21
  onClick?: () => void;
22
+ size?: 'sm' | 'md' | 'lg';
22
23
  }): import("react/jsx-runtime").JSX.Element;
23
24
  export interface JimboModalProps {
24
25
  children: React.ReactNode;
package/dist/ui.d.ts CHANGED
@@ -27,4 +27,7 @@ export * from './ui/JimboInputModal.js';
27
27
  export * from './ui/JimboTextInput.js';
28
28
  export * from './ui/JimboPanelSpinner.js';
29
29
  export * from './ui/JimboSelect.js';
30
+ export * from './ui/JimboStepper.js';
31
+ export * from './ui/JimboSlider.js';
32
+ export * from './ui/JimboDualChip.js';
30
33
  export * from './ui/PanelSplitter.js';
package/dist/ui.js CHANGED
@@ -1,3 +1,3 @@
1
- import { A as e, B as t, C as n, D as r, E as i, F as a, I as o, L as s, M as c, N as l, O as u, P as d, R as f, S as p, T as m, V as h, _ as g, a as _, b as v, c as y, d as b, f as x, g as S, h as C, i as w, j as T, k as E, l as D, m as O, n as k, o as A, p as j, r as M, s as N, t as P, u as F, v as I, w as L, x as R, y as z, z as B } from "./chunks/ui-D_9HO9OO.js";
2
- import { n as V, r as H, t as U } from "./chunks/tokens-Qrhlekc4.js";
3
- export { B as DeckSprite, U as JIMBO_ANIMATIONS, N as JamlEditor, z as JimboApp, v as JimboAppFooter, R as JimboAppScroll, l as JimboBackButton, L as JimboBackground, e as JimboBadge, m as JimboBalatroFooter, d as JimboButton, p as JimboCodeBlock, V as JimboColorOption, b as JimboCopyRow, i as JimboFilterBar, E as JimboFlankNav, u as JimboFloating, A as JimboIconButton, j as JimboInfoCard, O as JimboInfoCardAside, C as JimboInfoCardBody, S as JimboInfoCardSub, g as JimboInfoCardTitle, a as JimboInnerPanel, w as JimboInputModal, y as JimboInset, o as JimboModal, s as JimboPanel, M as JimboPanelSpinner, I as JimboSectionHeader, k as JimboSelect, t as JimboSprite, D as JimboStatGrid, T as JimboTabs, f as JimboText, _ as JimboTextInput, r as JimboToggleList, n as JimboTooltip, c as JimboVerticalTabs, F as JimboWordmark, P as PanelSplitter, x as Showcase, h as StakeSprite, H as withAlpha };
1
+ import { A as e, B as t, C as n, D as r, E as i, F as a, H as o, I as s, L as c, M as l, N as u, O as d, P as f, R as p, S as m, T as h, U as g, V as _, W as v, _ as y, a as b, b as x, c as S, d as C, f as w, g as T, h as E, i as D, j as O, k, l as A, m as j, n as M, o as N, p as P, r as F, s as I, t as L, u as R, v as z, w as B, x as V, y as H, z as U } from "./chunks/ui-DRov81qO.js";
2
+ import { n as W, r as G, t as K } from "./chunks/tokens-Qrhlekc4.js";
3
+ export { o as DeckSprite, K as JIMBO_ANIMATIONS, R as JamlEditor, m as JimboApp, n as JimboAppFooter, B as JimboAppScroll, s as JimboBackButton, r as JimboBackground, u as JimboBadge, d as JimboBalatroFooter, c as JimboButton, h as JimboCodeBlock, W as JimboColorOption, j as JimboCopyRow, M as JimboDualChip, k as JimboFilterBar, l as JimboFlankNav, O as JimboFloating, A as JimboIconButton, T as JimboInfoCard, y as JimboInfoCardAside, z as JimboInfoCardBody, H as JimboInfoCardSub, x as JimboInfoCardTitle, p as JimboInnerPanel, I as JimboInputModal, C as JimboInset, U as JimboModal, t as JimboPanel, N as JimboPanelSpinner, V as JimboSectionHeader, b as JimboSelect, F as JimboSlider, g as JimboSprite, w as JimboStatGrid, D as JimboStepper, f as JimboTabs, _ as JimboText, S as JimboTextInput, e as JimboToggleList, i as JimboTooltip, a as JimboVerticalTabs, P as JimboWordmark, L as PanelSplitter, E as Showcase, v as StakeSprite, G as withAlpha };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jaml-ui",
3
- "version": "0.30.0",
3
+ "version": "0.31.0",
4
4
  "description": "Balatro rendering components, sprite metadata, and optional Motely helpers for React apps.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -87,7 +87,7 @@
87
87
  "@react-spring/three": ">=9.0.0",
88
88
  "@react-three/drei": ">=9.0.0",
89
89
  "@react-three/fiber": ">=8.0.0",
90
- "motely-wasm": ">=17.0.0",
90
+ "motely-wasm": ">=18.1.0",
91
91
  "react": "^18.2.0 || ^19.0.0",
92
92
  "react-dom": "^18.2.0 || ^19.0.0",
93
93
  "react-icons": ">=5.0.0",
@@ -144,7 +144,7 @@
144
144
  "typescript-eslint": "^8.59.3",
145
145
  "vite": "^8.0.13",
146
146
  "vite-plugin-dts": "^5.0.0",
147
- "motely-wasm": "^17.7.0",
147
+ "motely-wasm": "^18.1.0",
148
148
  "vitest": "^4.1.6"
149
149
  },
150
150
  "dependencies": {