jaml-ui 0.27.0 → 0.29.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.
Files changed (68) hide show
  1. package/README.md +13 -17
  2. package/dist/assets/{searchPoolWorker-CejAnH4a.js → searchPoolWorker-C4xj1WA_.js} +9 -4
  3. package/dist/assets/searchPoolWorker-C4xj1WA_.js.map +1 -0
  4. package/dist/chunks/{Layer-BBPJFHfs.js → Layer-Ckd_T6Fw.js} +1 -1
  5. package/dist/chunks/{Layer-BBPJFHfs.js.map → Layer-Ckd_T6Fw.js.map} +1 -1
  6. package/dist/chunks/{assets-RWUiFSTc.js → assets-D80i9sMq.js} +1 -1
  7. package/dist/chunks/{assets-RWUiFSTc.js.map → assets-D80i9sMq.js.map} +1 -1
  8. package/dist/chunks/runtime-C-It0krH.js +10 -0
  9. package/dist/chunks/runtime-C-It0krH.js.map +1 -0
  10. package/dist/chunks/{searchPoolWorker-CTtPOuxF.js → searchPoolWorker-hVVM49SD.js} +2 -2
  11. package/dist/chunks/searchPoolWorker-hVVM49SD.js.map +1 -0
  12. package/dist/chunks/{spriteMapper-CFjN0_TV.js → spriteMapper-C4_5G1Z6.js} +10 -6
  13. package/dist/chunks/spriteMapper-C4_5G1Z6.js.map +1 -0
  14. package/dist/chunks/{tokens-B65Fzble.js → tokens-Qrhlekc4.js} +1 -1
  15. package/dist/chunks/{tokens-B65Fzble.js.map → tokens-Qrhlekc4.js.map} +1 -1
  16. package/dist/chunks/ui-D_9HO9OO.js +3127 -0
  17. package/dist/chunks/ui-D_9HO9OO.js.map +1 -0
  18. package/dist/components/JamlAestheticSelector.d.ts +2 -3
  19. package/dist/components/JamlIdeToolbar.d.ts +3 -1
  20. package/dist/components/JamlSeedInput.d.ts +14 -4
  21. package/dist/components/JamlSeedSpinner.d.ts +7 -0
  22. package/dist/components/Jamlyzer.d.ts +5 -1
  23. package/dist/components/PaginatedFilterBrowser.d.ts +3 -0
  24. package/dist/components/RunConfigModal.d.ts +1 -1
  25. package/dist/components/jamlSeedUtils.d.ts +1 -0
  26. package/dist/config.d.ts +7 -4
  27. package/dist/core.js +8 -8
  28. package/dist/core.js.map +1 -1
  29. package/dist/decode/motelyItemFormats.d.ts +3124 -0
  30. package/dist/hooks/useAnalyzer.d.ts +0 -11
  31. package/dist/hooks/useIntersectionObserver.d.ts +1 -1
  32. package/dist/hooks/useMotelyRuntime.d.ts +2 -2
  33. package/dist/hooks/useSearch.d.ts +3 -3
  34. package/dist/index.d.ts +3 -7
  35. package/dist/index.js +3590 -4352
  36. package/dist/index.js.map +1 -1
  37. package/dist/lib/hooks/useDragScroll.d.ts +1 -1
  38. package/dist/lib/motely/runtime.d.ts +3 -0
  39. package/dist/motely.d.ts +3 -2
  40. package/dist/motely.js +2101 -24
  41. package/dist/motely.js.map +1 -1
  42. package/dist/providers/MotelyProvider.d.ts +11 -0
  43. package/dist/r3f.js +4 -4
  44. package/dist/r3f.js.map +1 -1
  45. package/dist/ui/JimboBadge.d.ts +2 -3
  46. package/dist/ui/JimboPanelSpinner.d.ts +15 -0
  47. package/dist/ui/JimboTextInput.d.ts +5 -0
  48. package/dist/ui/PanelSplitter.d.ts +2 -1
  49. package/dist/ui/footer.d.ts +7 -1
  50. package/dist/ui/hooks.d.ts +2 -3
  51. package/dist/ui/jimbo.css +1 -1
  52. package/dist/ui/panel.d.ts +2 -4
  53. package/dist/ui.d.ts +3 -0
  54. package/dist/ui.js +3 -3
  55. package/jaml.schema.json +341 -287
  56. package/package.json +20 -24
  57. package/DESIGN.md +0 -236
  58. package/dist/assets/searchPoolWorker-CejAnH4a.js.map +0 -1
  59. package/dist/chunks/motelyItemDecoder-CRhfNIGU.js +0 -219
  60. package/dist/chunks/motelyItemDecoder-CRhfNIGU.js.map +0 -1
  61. package/dist/chunks/searchPoolWorker-CTtPOuxF.js.map +0 -1
  62. package/dist/chunks/spriteMapper-CFjN0_TV.js.map +0 -1
  63. package/dist/chunks/ui-BBUfR6RM.js +0 -1386
  64. package/dist/chunks/ui-BBUfR6RM.js.map +0 -1
  65. package/dist/components/AnalyzerExplorer.d.ts +0 -47
  66. package/dist/motelyBoot.d.ts +0 -15
  67. package/dist/ui/ide/DeckSprite.d.ts +0 -1
  68. package/dist/ui/ide/RegexTool.d.ts +0 -3
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}*{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", "Courier New", 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-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-panel{background-color:var(--j-dark-grey);border:2px solid var(--j-border-silver);border-bottom-color:var(--j-border-south);border-radius:var(--j-radius-md);padding:var(--j-space-lg);flex-direction:column;align-items:stretch;display:flex;position:relative;overflow:visible;box-shadow:0 3px #0000008c,inset 0 0 0 1px #ffffff0a}.j-panel__body{flex:1;overflow:auto}.j-panel__back{margin-top:var(--j-space-lg);padding-top:var(--j-space-md);flex-shrink:0}.j-back-btn .j-btn__face{padding-top:8px;padding-bottom:8px}.j-inner-panel{background-color:var(--j-inner-border);border:2px solid var(--j-panel-edge);border-radius:var(--j-radius-md);padding:var(--j-space-lg)}.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 var(--j-press-y) 0 0 #0009;transition:transform var(--j-press-speed) linear, box-shadow var(--j-press-speed) linear;position:relative;transform:translate(0)}.j-btn[data-pressed=true] .j-btn__face,.j-btn:active:not(:disabled):not(.j-btn--disabled) .j-btn__face{transform:translateY(var(--j-press-y));box-shadow:0 0 #0009}.j-btn:not(.j-btn--disabled):hover .j-btn__face{filter:brightness(1.1)}.j-btn--xs .j-btn__face{padding:4px 8px;font-size:11px}.j-btn--sm .j-btn__face{padding:6px 12px;font-size:13px}.j-btn--md .j-btn__face{padding:10px 18px;font-size:16px}.j-btn--lg .j-btn__face{padding:8px 18px;font-size:20px}.j-btn--orange{--j-btn-face-color:var(--j-orange)}.j-btn--red{--j-btn-face-color:var(--j-red)}.j-btn--blue{--j-btn-face-color:var(--j-blue)}.j-btn--green{--j-btn-face-color:var(--j-green)}.j-btn--tarot{--j-btn-face-color:var(--j-tarot-btn)}.j-btn--planet{--j-btn-face-color:var(--j-planet-btn)}.j-btn--spectral{--j-btn-face-color:var(--j-spectral-btn)}.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-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;border:none;outline:none;padding:6px 14px;transition:filter 80ms linear,opacity 80ms linear;box-shadow:0 3px #0009}.j-tab__btn[data-active=true]{opacity:1}.j-tab__btn[data-active=true]:hover{background:var(--j-red)}.j-tab__btn[data-active=false]:hover{background:var(--j-red);filter:brightness(1.08)}@keyframes jimbo-bounce{0%,15%{transform:translateY(0)}50%{transform:translateY(-3px)}85%,to{transform:translateY(0)}}.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:2px 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: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:2px 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:2px 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%)}.j-flank{justify-content:center;align-items:center;gap:var(--j-space-md);width:100%;display:flex}.j-flank__content{flex:1;justify-content:center;display:flex}.j-flank__btn{background:var(--j-red);color:var(--j-white);border-radius:var(--j-radius-sm);padding:var(--j-space-sm) var(--j-space-xs);cursor:pointer;box-shadow:0 var(--j-press-y) 0 var(--j-dark-grey);border:none;justify-content:center;align-items:center;transition:transform 50ms,box-shadow 50ms,opacity .2s;display:flex}.j-flank__btn[data-pressed=true]{transform:translateY(var(--j-press-y));box-shadow:0 0 0 var(--j-dark-grey)}.j-flank__btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:0 var(--j-press-y) 0 var(--j-dark-grey);transform:none}@keyframes jimbo-modal-in{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}.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-footer{z-index:9998;pointer-events:auto;width:100%;position:fixed;bottom:0;left:0;right:0}.j-footer__bar{text-align:center;background:linear-gradient(#0000 0%,#0006 40%,#000c 100%);width:100%;padding:12px 1rem 4px}.j-footer__text{font-family:var(--j-font);color:#fff;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 .5rem;margin:0;font-size:clamp(11px,.8vw + 8px,14px);display:flex}.j-footer__link{color:var(--j-gold);text-decoration:none}.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-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:375px;max-width:375px;height:667px;max-height:667px;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:2px 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:2px 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:2px solid #0000;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:2px 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-seed-input{gap:var(--j-space-sm);flex-direction:column;display:flex}.j-seed-input__field{border-radius:var(--j-radius-md);border:2px solid var(--j-panel-edge);background:var(--j-darkest);width:100%;color:var(--j-gold-text);font-size:18px;font-family:var(--j-font);letter-spacing:.12em;text-shadow:var(--j-text-shadow);box-sizing:border-box;outline:none;padding:8px 12px;font-weight:400;transition:border-color .1s}.j-seed-input__field::placeholder{color:var(--j-grey);opacity:.6;letter-spacing:.06em;font-size:12px}.j-seed-input__field:focus{border-color:var(--j-gold)}.j-seed-input__field[data-valid=true]{border-color:var(--j-green)}.j-seed-input__field[data-valid=false]{border-color:var(--j-red)}.j-seed-input__field[data-valid=partial]{border-color:var(--j-panel-edge)}.j-seed-input__hint{font-family:var(--j-font);letter-spacing:.08em;color:var(--j-grey);text-shadow:var(--j-text-shadow);font-size:9px}.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-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:scale(1.05)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:.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)}
2
2
  /*$vite$:1*/
@@ -8,17 +8,15 @@ export declare const JimboPanel: React.MemoExoticComponent<({ children, classNam
8
8
  export type JimboInnerPanelProps = React.HTMLAttributes<HTMLDivElement>;
9
9
  export declare const JimboInnerPanel: React.MemoExoticComponent<({ children, className, style, ...props }: JimboInnerPanelProps) => import("react/jsx-runtime").JSX.Element>;
10
10
  export type JimboTone = 'orange' | 'red' | 'blue' | 'green' | 'tarot' | 'planet' | 'spectral' | 'grey';
11
- export interface JimboButtonProps {
11
+ export interface JimboButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'onClick'> {
12
12
  tone?: JimboTone;
13
13
  size?: 'xs' | 'sm' | 'md' | 'lg';
14
14
  fullWidth?: boolean;
15
15
  disabled?: boolean;
16
16
  onClick?: () => void;
17
- style?: React.CSSProperties;
18
- className?: string;
19
17
  children?: React.ReactNode;
20
18
  }
21
- export declare function JimboButton({ tone, size, fullWidth, disabled, onClick, style, className, children, }: JimboButtonProps): import("react/jsx-runtime").JSX.Element;
19
+ export declare function JimboButton({ tone, size, fullWidth, disabled, onClick, style, className, children, ...buttonProps }: JimboButtonProps): import("react/jsx-runtime").JSX.Element;
22
20
  export declare function JimboBackButton({ onClick }: {
23
21
  onClick?: () => void;
24
22
  }): import("react/jsx-runtime").JSX.Element;
package/dist/ui.d.ts CHANGED
@@ -21,7 +21,10 @@ export * from './ui/jimboSectionHeader.js';
21
21
  export * from './ui/jimboInfoCard.js';
22
22
  export * from './ui/jimboInset.js';
23
23
  export * from './ui/ide/JamlEditor.js';
24
+ export { default as JamlEditor } from './ui/ide/JamlEditor.js';
24
25
  export * from './ui/JimboIconButton.js';
25
26
  export * from './ui/JimboInputModal.js';
27
+ export * from './ui/JimboTextInput.js';
28
+ export * from './ui/JimboPanelSpinner.js';
26
29
  export * from './ui/JimboSelect.js';
27
30
  export * from './ui/PanelSplitter.js';
package/dist/ui.js CHANGED
@@ -1,3 +1,3 @@
1
- import { A as e, C as t, D as n, E as r, F as i, I as a, L as o, M as s, N as c, O as l, P as u, R as d, S as f, T as p, _ as m, a as h, b as g, c as _, d as v, f as y, g as b, h as x, i as S, j as C, k as w, l as T, m as E, n as D, o as O, p as k, r as A, s as j, t as M, u as N, v as P, w as F, x as I, y as L } from "./chunks/ui-BBUfR6RM.js";
2
- import { n as R, r as z, t as B } from "./chunks/tokens-B65Fzble.js";
3
- export { a as DeckSprite, B as JIMBO_ANIMATIONS, b as JimboApp, m as JimboAppFooter, P as JimboAppScroll, e as JimboBackButton, I as JimboBackground, F as JimboBadge, f as JimboBalatroFooter, C as JimboButton, L as JimboCodeBlock, R as JimboColorOption, _ as JimboCopyRow, t as JimboFilterBar, n as JimboFlankNav, r as JimboFloating, S as JimboIconButton, N as JimboInfoCard, v as JimboInfoCardAside, y as JimboInfoCardBody, k as JimboInfoCardSub, E as JimboInfoCardTitle, s as JimboInnerPanel, A as JimboInputModal, h as JimboInset, c as JimboModal, u as JimboPanel, x as JimboSectionHeader, D as JimboSelect, o as JimboSprite, O as JimboStatGrid, l as JimboTabs, i as JimboText, p as JimboToggleList, g as JimboTooltip, w as JimboVerticalTabs, j as JimboWordmark, M as PanelSplitter, T as Showcase, d as StakeSprite, z as withAlpha };
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 };