vanilla-breeze 0.2.0 → 0.3.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 (98) hide show
  1. package/custom-elements.json +11251 -18739
  2. package/dist/cdn/components/icon-wc.js +2 -2
  3. package/dist/cdn/components/manifest.json +2 -146
  4. package/dist/cdn/components/settings-panel.js +3 -3
  5. package/dist/cdn/components/theme-picker.js +12 -12
  6. package/dist/cdn/packs/journal.effects.css +2 -0
  7. package/dist/cdn/packs/journal.full.css +2 -0
  8. package/dist/cdn/packs/manifest.json +11 -21
  9. package/dist/cdn/packs/ui.full.js +4 -4
  10. package/dist/cdn/themes/8bit.tokens.json +1 -1
  11. package/dist/cdn/themes/alpha1999-dark.tokens.json +1 -1
  12. package/dist/cdn/themes/alpha1999.tokens.json +1 -1
  13. package/dist/cdn/themes/anthropic.tokens.json +1 -1
  14. package/dist/cdn/themes/art-deco-dark.tokens.json +1 -1
  15. package/dist/cdn/themes/art-deco.tokens.json +1 -1
  16. package/dist/cdn/themes/bauhaus-dark.tokens.json +1 -1
  17. package/dist/cdn/themes/bauhaus.tokens.json +1 -1
  18. package/dist/cdn/themes/brutalist-dark.tokens.json +1 -1
  19. package/dist/cdn/themes/brutalist.tokens.json +1 -1
  20. package/dist/cdn/themes/catppuccin-frappe.tokens.json +1 -1
  21. package/dist/cdn/themes/catppuccin-latte-dark.tokens.json +1 -1
  22. package/dist/cdn/themes/catppuccin-latte.tokens.json +1 -1
  23. package/dist/cdn/themes/catppuccin-macchiato.tokens.json +1 -1
  24. package/dist/cdn/themes/catppuccin-mocha.tokens.json +1 -1
  25. package/dist/cdn/themes/classic-dark.tokens.json +1 -1
  26. package/dist/cdn/themes/classic.tokens.json +1 -1
  27. package/dist/cdn/themes/claymorphism-dark.tokens.json +1 -1
  28. package/dist/cdn/themes/claymorphism.tokens.json +1 -1
  29. package/dist/cdn/themes/clinical-dark.tokens.json +1 -1
  30. package/dist/cdn/themes/clinical.tokens.json +1 -1
  31. package/dist/cdn/themes/cottagecore-dark.tokens.json +1 -1
  32. package/dist/cdn/themes/cottagecore.tokens.json +1 -1
  33. package/dist/cdn/themes/cyber.tokens.json +1 -1
  34. package/dist/cdn/themes/dawn-dark.tokens.json +1 -1
  35. package/dist/cdn/themes/dawn.tokens.json +1 -1
  36. package/dist/cdn/themes/dracula.tokens.json +1 -1
  37. package/dist/cdn/themes/dusk.tokens.json +1 -1
  38. package/dist/cdn/themes/editorial-dark.tokens.json +1 -1
  39. package/dist/cdn/themes/editorial.tokens.json +1 -1
  40. package/dist/cdn/themes/financial-dark.tokens.json +1 -1
  41. package/dist/cdn/themes/financial.tokens.json +1 -1
  42. package/dist/cdn/themes/genai.tokens.json +1 -1
  43. package/dist/cdn/themes/glassmorphism-dark.tokens.json +1 -1
  44. package/dist/cdn/themes/glassmorphism.tokens.json +1 -1
  45. package/dist/cdn/themes/government-dark.tokens.json +1 -1
  46. package/dist/cdn/themes/government.tokens.json +1 -1
  47. package/dist/cdn/themes/gruvbox-dark.tokens.json +1 -1
  48. package/dist/cdn/themes/gruvbox.tokens.json +1 -1
  49. package/dist/cdn/themes/high-noon-dark.tokens.json +1 -1
  50. package/dist/cdn/themes/high-noon.tokens.json +1 -1
  51. package/dist/cdn/themes/ibm.tokens.json +1 -1
  52. package/dist/cdn/themes/journal-dark.tokens.json +406 -0
  53. package/dist/cdn/themes/journal.css +2 -0
  54. package/dist/cdn/themes/journal.tokens.json +583 -0
  55. package/dist/cdn/themes/kawaii-dark.tokens.json +1 -1
  56. package/dist/cdn/themes/kawaii.tokens.json +1 -1
  57. package/dist/cdn/themes/magna-dark.tokens.json +1 -1
  58. package/dist/cdn/themes/magna.tokens.json +1 -1
  59. package/dist/cdn/themes/manifest.json +7 -0
  60. package/dist/cdn/themes/mcdonalds.tokens.json +1 -1
  61. package/dist/cdn/themes/midnight.tokens.json +1 -1
  62. package/dist/cdn/themes/minimal-dark.tokens.json +1 -1
  63. package/dist/cdn/themes/minimal.tokens.json +1 -1
  64. package/dist/cdn/themes/modern-dark.tokens.json +1 -1
  65. package/dist/cdn/themes/modern.tokens.json +1 -1
  66. package/dist/cdn/themes/nes-dark.tokens.json +1 -1
  67. package/dist/cdn/themes/nes.tokens.json +1 -1
  68. package/dist/cdn/themes/neumorphism-dark.tokens.json +1 -1
  69. package/dist/cdn/themes/neumorphism.tokens.json +1 -1
  70. package/dist/cdn/themes/nord-dark.tokens.json +1 -1
  71. package/dist/cdn/themes/nord.tokens.json +1 -1
  72. package/dist/cdn/themes/organic-dark.tokens.json +1 -1
  73. package/dist/cdn/themes/organic.tokens.json +1 -1
  74. package/dist/cdn/themes/rose-pine-dark.tokens.json +1 -1
  75. package/dist/cdn/themes/rose-pine.tokens.json +1 -1
  76. package/dist/cdn/themes/rough-dark.tokens.json +1 -1
  77. package/dist/cdn/themes/rough.tokens.json +1 -1
  78. package/dist/cdn/themes/solarized-dark.tokens.json +1 -1
  79. package/dist/cdn/themes/solarized.tokens.json +1 -1
  80. package/dist/cdn/themes/starbucks.tokens.json +1 -1
  81. package/dist/cdn/themes/startup-dark.tokens.json +1 -1
  82. package/dist/cdn/themes/startup.tokens.json +1 -1
  83. package/dist/cdn/themes/super2026-dark.tokens.json +1 -1
  84. package/dist/cdn/themes/super2026.tokens.json +1 -1
  85. package/dist/cdn/themes/swiss-dark.tokens.json +1 -1
  86. package/dist/cdn/themes/swiss.tokens.json +1 -1
  87. package/dist/cdn/themes/terminal.tokens.json +1 -1
  88. package/dist/cdn/themes/tokyo-night-dark.tokens.json +1 -1
  89. package/dist/cdn/themes/tokyo-night.tokens.json +1 -1
  90. package/dist/cdn/themes/vaporwave-dark.tokens.json +1 -1
  91. package/dist/cdn/themes/vaporwave.tokens.json +1 -1
  92. package/dist/cdn/themes/win9x-dark.tokens.json +1 -1
  93. package/dist/cdn/themes/win9x.tokens.json +1 -1
  94. package/dist/cdn/vanilla-breeze-core.js +17 -17
  95. package/dist/cdn/vanilla-breeze-extras.js +36 -222
  96. package/dist/cdn/vanilla-breeze.css +1 -1
  97. package/dist/cdn/vanilla-breeze.js +232 -2608
  98. package/package.json +2 -3
@@ -1,6 +1,6 @@
1
- var ce=Object.defineProperty;var le=(t,e)=>()=>(t&&(e=t(t=0)),e);var de=(t,e)=>{for(var a in e)ce(t,a,{get:e[a],enumerable:!0})};var re={};de(re,{SoundManager:()=>we});var ie,N,we,oe=le(()=>{ie="vb-sound",N={enabled:!1,volume:.5},we={_ctx:null,_enabled:!1,_volume:.5,_initialized:!1,init(){if(this._initialized)return this;let t=this._load();return this._enabled=t.enabled,this._volume=t.volume,this._initialized=!0,this},_getContext(){return this._ctx||(this._ctx=new(window.AudioContext||window.webkitAudioContext)),this._ctx.state==="suspended"&&this._ctx.resume(),this._ctx},_load(){try{let t=localStorage.getItem(ie);return t?{...N,...JSON.parse(t)}:{...N}}catch{return{...N}}},_save(t){try{let e=this._load();localStorage.setItem(ie,JSON.stringify({...e,...t}))}catch{}},_playTone(t,e,a="sine"){if(!this._enabled)return;let s=this._getContext(),i=s.createOscillator(),r=s.createGain();i.connect(r),r.connect(s.destination),i.frequency.value=t,i.type=a,r.gain.value=this._volume*.3,i.start(),r.gain.exponentialRampToValueAtTime(.01,s.currentTime+e),i.stop(s.currentTime+e)},enable(){this._enabled=!0,this._save({enabled:!0}),this.play("click")},disable(){this._enabled=!1,this._save({enabled:!1})},toggle(){return this._enabled?this.disable():this.enable(),this._enabled},isEnabled(){return this._enabled},setVolume(t){this._volume=Math.max(0,Math.min(1,t)),this._save({volume:this._volume})},getVolume(){return this._volume},play(t){if(this._enabled)switch(t){case"click":this._playTone(800,.1);break;case"success":this._playTone(523,.1),setTimeout(()=>this._playTone(659,.1),100),setTimeout(()=>this._playTone(784,.15),200);break;case"error":this._playTone(200,.15,"sawtooth"),setTimeout(()=>this._playTone(180,.2,"sawtooth"),150);break;case"notification":this._playTone(880,.1),setTimeout(()=>this._playTone(1100,.15),100);break;case"soft":this._playTone(600,.05);break;case"tick":this._playTone(1200,.02,"square");break}},getState(){return{enabled:this._enabled,volume:this._volume}}}});var Ee=window.matchMedia("(prefers-reduced-motion: reduce)");var J=new Map;function K(t,e,a={}){let s=a.priority??10,i={impl:e,bundle:a.bundle,contract:a.contract,priority:s},r=J.get(t);if(customElements.get(t)){if(!r||r.priority>=s){r&&r.priority===s&&r.impl!==e&&console.warn(`[VB Bundle] Tag <${t}> already registered by "${r.bundle}" (priority ${r.priority}). Skipping "${a.bundle}".`);return}console.warn(`[VB Bundle] Tag <${t}> defined by "${r.bundle}" cannot be replaced (customElements.define is permanent). "${a.bundle}" has higher priority but arrived late.`);return}if(r&&r.priority>=s){r.priority===s&&console.warn(`[VB Bundle] Tag <${t}> already registered by "${r.bundle}". Skipping "${a.bundle}" (first wins at equal priority).`);return}J.set(t,i),customElements.define(t,e)}var B=class extends HTMLElement{#i=[];#t;connectedCallback(){this.hasAttribute("data-upgraded")||this.setup()!==!1&&(this.setAttribute("data-upgraded",""),queueMicrotask(()=>{this.dispatchEvent(new CustomEvent(`${this.localName}:upgraded`,{bubbles:!0}))}))}disconnectedCallback(){for(let e of this.#i)e();this.#i=[],this.removeAttribute("data-upgraded"),this.teardown()}listen(e,a,s,i){e.addEventListener(a,s,i),this.#i.push(()=>e.removeEventListener(a,s,i))}setup(){}teardown(){}setState(e,a){this.#t||(this.#t=this.attachInternals());let s=this.#t.states;try{a?s.add(e):s.delete(e)}catch{let i=`--${e}`;a?s.add(i):s.delete(i)}}_adoptInternals(e){this.#t||(this.#t=e)}};var w=new Map,O=new Map;var Q=null;function Z(){if(typeof window<"u"&&window.__VB_THEME_BASE)return String(window.__VB_THEME_BASE).replace(/\/$/,"");if(Q)return Q;if(typeof document<"u"){let t=document.querySelectorAll('script[src*="vanilla-breeze"]');for(let e of t){let a=e.getAttribute("src");if(a){let s=a.lastIndexOf("/");if(s!==-1)return a.slice(0,s)}}}return"/cdn"}var he=new Set(["default","a11y-high-contrast","a11y-large-text","a11y-dyslexia","modern","minimal","classic"]),me=new Set(["kawaii","memphis"]);function I(t){return me.has(t)}function ue(t,e){return`${e}/themes/${t}.css`}function ee(t,e){if(!I(t))return Promise.resolve();if(O.has(t))return O.get(t);let a=import(`${e}/packs/${t}.full.js`).catch(()=>{});return O.set(t,a),a}function pe(t,e){let a=Z(),s=()=>{(I(e)||t.hasAttribute("data-vb-pack"))&&ee(e,a)};return t.getAttribute("data-vb-theme-state")==="error"?Promise.reject(new Error(`Failed to load theme: ${e}`)):t.getAttribute("data-vb-theme-state")==="ready"||t.sheet?(s(),Promise.resolve()):new Promise((i,r)=>{let n=()=>{t.setAttribute("data-vb-theme-state","ready"),c(),s(),i(void 0)},o=()=>{t.setAttribute("data-vb-theme-state","error"),w.delete(e),c(),r(new Error(`Failed to load theme: ${e}`))},c=()=>{t.removeEventListener("load",n),t.removeEventListener("error",o)};t.addEventListener("load",n,{once:!0}),t.addEventListener("error",o,{once:!0})})}async function k(t){if(!t||he.has(t))return;if(w.has(t))return w.get(t);if(typeof document<"u"){let s=document.querySelector(`link[data-vb-theme="${t}"]`);if(s){let i=pe(s,t);return w.set(t,i),i}}let e=Z(),a=I(t)?fe(t,e):ge(t,e);return w.set(t,a),a}async function ge(t,e){let a=ue(t,e);return new Promise((s,i)=>{let r=document.querySelector(`link[data-vb-theme-preload="${t}"]`);r&&r.remove();let n=document.createElement("link");n.rel="stylesheet",n.href=a,n.setAttribute("data-vb-theme",t),n.setAttribute("data-vb-theme-state","loading"),n.onload=()=>{n.setAttribute("data-vb-theme-state","ready"),s()},n.onerror=()=>{n.setAttribute("data-vb-theme-state","error"),n.remove(),w.delete(t),i(new Error(`Failed to load theme: ${t}`))},document.head.appendChild(n)})}function fe(t,e){let a=`${e}/packs/${t}.theme.css`,s=`${e}/packs/${t}.effects.css`;return new Promise((i,r)=>{let n=document.querySelector(`link[data-vb-theme-preload="${t}"]`);n&&n.remove();let o=document.createElement("link");o.rel="stylesheet",o.href=a,o.setAttribute("data-vb-theme",t),o.setAttribute("data-vb-pack",t),o.setAttribute("data-vb-theme-state","loading"),o.onload=()=>{o.setAttribute("data-vb-theme-state","ready");let c=document.createElement("link");c.rel="stylesheet",c.href=s,c.setAttribute("data-vb-pack-effects",t),document.head.appendChild(c),ee(t,e),i()},o.onerror=()=>{o.setAttribute("data-vb-theme-state","error"),o.remove(),w.delete(t),r(new Error(`Failed to load pack: ${t}`))},document.head.appendChild(o)})}var R=[{id:"auto",name:"Auto",icon:"monitor"},{id:"light",name:"Light",icon:"sun"},{id:"dark",name:"Dark",icon:"moon"}],$=[{id:"default",name:"Default",swatchBg:"#3b82f6",seeds:{}},{id:"ocean",name:"Ocean",swatchBg:"#0891b2",seeds:{"--hue-primary":200,"--hue-secondary":180,"--hue-accent":45,"--lightness-primary":"50%","--chroma-primary":.15,"--lightness-secondary":"45%","--chroma-secondary":.1,"--lightness-accent":"70%","--chroma-accent":.15},seedsDark:{"--lightness-primary":"60%","--chroma-primary":.12}},{id:"forest",name:"Forest",swatchBg:"#059669",seeds:{"--hue-primary":145,"--hue-secondary":90,"--hue-accent":30,"--lightness-primary":"45%","--chroma-primary":.15,"--lightness-secondary":"55%","--chroma-secondary":.12,"--lightness-accent":"65%","--chroma-accent":.16},seedsDark:{"--lightness-primary":"55%","--chroma-primary":.12}},{id:"sunset",name:"Sunset",swatchBg:"#ea580c",seeds:{"--hue-primary":25,"--hue-secondary":0,"--hue-accent":280,"--lightness-primary":"60%","--chroma-primary":.2,"--lightness-secondary":"55%","--chroma-secondary":.18,"--lightness-accent":"55%","--chroma-accent":.18},seedsDark:{"--lightness-primary":"65%","--chroma-primary":.16}},{id:"rose",name:"Rose",swatchBg:"#e11d48",seeds:{"--hue-primary":350,"--hue-secondary":330,"--hue-accent":200,"--lightness-primary":"55%","--chroma-primary":.18,"--lightness-secondary":"50%","--chroma-secondary":.14,"--lightness-accent":"60%","--chroma-accent":.12},seedsDark:{"--lightness-primary":"65%","--chroma-primary":.14}},{id:"lavender",name:"Lavender",swatchBg:"#a855f7",seeds:{"--hue-primary":280,"--hue-secondary":300,"--hue-accent":60,"--lightness-primary":"55%","--chroma-primary":.14,"--lightness-secondary":"50%","--chroma-secondary":.12,"--lightness-accent":"70%","--chroma-accent":.14},seedsDark:{"--lightness-primary":"65%","--chroma-primary":.12}},{id:"coral",name:"Coral",swatchBg:"#f97316",seeds:{"--hue-primary":15,"--hue-secondary":25,"--hue-accent":180,"--lightness-primary":"60%","--chroma-primary":.18,"--lightness-secondary":"55%","--chroma-secondary":.15,"--lightness-accent":"55%","--chroma-accent":.12},seedsDark:{"--lightness-primary":"65%","--chroma-primary":.15}},{id:"slate",name:"Slate",swatchBg:"#64748b",seeds:{"--hue-primary":220,"--hue-secondary":210,"--hue-accent":45,"--lightness-primary":"48%","--chroma-primary":.1,"--lightness-secondary":"45%","--chroma-secondary":.06,"--lightness-accent":"68%","--chroma-accent":.15},seedsDark:{"--lightness-primary":"60%","--chroma-primary":.08}},{id:"emerald",name:"Emerald",swatchBg:"#10b981",seeds:{"--hue-primary":160,"--hue-secondary":140,"--hue-accent":30,"--lightness-primary":"50%","--chroma-primary":.15,"--lightness-secondary":"48%","--chroma-secondary":.12,"--lightness-accent":"65%","--chroma-accent":.16},seedsDark:{"--lightness-primary":"60%","--chroma-primary":.12}},{id:"amber",name:"Amber",swatchBg:"#f59e0b",seeds:{"--hue-primary":45,"--hue-secondary":30,"--hue-accent":240,"--lightness-primary":"60%","--chroma-primary":.16,"--lightness-secondary":"55%","--chroma-secondary":.15,"--lightness-accent":"52%","--chroma-accent":.14},seedsDark:{"--lightness-primary":"68%","--chroma-primary":.14}},{id:"indigo",name:"Indigo",swatchBg:"#6366f1",seeds:{"--hue-primary":250,"--hue-secondary":270,"--hue-accent":35,"--lightness-primary":"48%","--chroma-primary":.18,"--lightness-secondary":"45%","--chroma-secondary":.14,"--lightness-accent":"68%","--chroma-accent":.16},seedsDark:{"--lightness-primary":"62%","--chroma-primary":.14}}],x=[{id:"default",name:"Default",hue:210,shape:"balanced",character:"The default",swatchBg:"#3b82f6",tier:"core"},{id:"modern",name:"Modern",hue:270,shape:"rounded",character:"Vibrant & elevated",swatchBg:"#6366f1",tier:"core"},{id:"minimal",name:"Minimal",hue:240,shape:"sharp",character:"Clean & flat",swatchBg:"#71717a",tier:"core"},{id:"classic",name:"Classic",hue:220,shape:"subtle",character:"Serif & elegant",swatchBg:"#92400e",tier:"core"}],q=[{id:"swiss",name:"Swiss",icon:"grid-3x3",character:"Precision grid",swatchBg:"#ff3e00",swatchFg:"white",tier:"showcase",category:"Design"},{id:"brutalist",name:"Brutalist",icon:"square",character:"Raw, industrial",swatchBg:"#1a1a1a",swatchFg:"#f5f5f5",tier:"showcase",category:"Design"},{id:"art-deco",name:"Art Deco",icon:"crown",character:"1920s luxury",swatchBg:"#1A1A1A",swatchFg:"#C9A84C",tier:"showcase",category:"Design"},{id:"editorial",name:"Editorial",icon:"newspaper",character:"Magazine elegance",swatchBg:"#1a1a1a",swatchFg:"#c9a227",tier:"showcase",category:"Content"},{id:"genai",name:"GenAI",icon:"sparkles",character:"AI aesthetic",swatchBg:"#1a0a2e",swatchFg:"#a855f7",tier:"showcase",category:"Modern"},{id:"glassmorphism",name:"Glass",icon:"glass-water",character:"Frosted surfaces",swatchBg:"#667eea",swatchFg:"#ffffff",tier:"showcase",category:"Modern"},{id:"startup",name:"Startup",icon:"rocket",character:"SaaS energy",swatchBg:"#4f46e5",swatchFg:"#ffffff",tier:"showcase",category:"Modern"},{id:"organic",name:"Organic",icon:"leaf",character:"Natural, handcrafted",swatchBg:"#2d5016",swatchFg:"#faf5e6",tier:"showcase",category:"Creative"},{id:"rough",name:"Rough",icon:"pencil",character:"Hand-drawn sketch",swatchBg:"#f5f0e8",swatchFg:"#3a3a3a",tier:"showcase",category:"Creative"},{id:"cyber",name:"Cyber",icon:"zap",character:"Neon futuristic",swatchBg:"#0a0a1a",swatchFg:"#00ff88",tier:"showcase",category:"Creative"},{id:"vaporwave",name:"Vaporwave",icon:"radio",character:"Neon dreamy",swatchBg:"#2b0040",swatchFg:"#ff6ad5",tier:"showcase",category:"Aesthetic"},{id:"neumorphism",name:"Neumorph",icon:"circle",character:"Soft embossed",swatchBg:"#e0e0e0",swatchFg:"#a0a0a0",tier:"showcase",category:"Aesthetic"},{id:"bauhaus",name:"Bauhaus",icon:"shapes",character:"Geometric",swatchBg:"#F1FAEE",swatchFg:"#E63946",tier:"showcase",category:"Aesthetic"},{id:"claymorphism",name:"Clay",icon:"circle-dot",character:"Puffy 3D",swatchBg:"#f0f0f5",swatchFg:"#FF6B9D",tier:"showcase",category:"Aesthetic"},{id:"alpha1999",name:"Alpha1999",icon:"orbit",character:"Space retro-fi",swatchBg:"#0a0a14",swatchFg:"#d4880f",tier:"showcase",category:"Signature"},{id:"super2026",name:"Super2026",icon:"triangle",character:"Supergraphic bold",swatchBg:"#f5f0e6",swatchFg:"#c23616",tier:"showcase",category:"Signature"},{id:"magna",name:"Magna",icon:"orbit",character:"Odyssey 2 retro",swatchBg:"#0d0b14",swatchFg:"#f97316",tier:"showcase",category:"Signature"},{id:"win9x",name:"Win9x",icon:"monitor",character:"Classic desktop",swatchBg:"#008080",swatchFg:"#c0c0c0",tier:"showcase",category:"OS Styles"},{id:"nes",name:"NES",icon:"joystick",character:"Console pixels",swatchBg:"#bcbcbc",swatchFg:"#e40521",tier:"showcase",category:"OS Styles"},{id:"8bit",name:"8-Bit",icon:"gamepad-2",character:"Retro pixel art",swatchBg:"#000080",swatchFg:"#ffff00",tier:"showcase",category:"OS Styles"}],T=[{id:"nord",name:"Nord",icon:"snowflake",character:"Arctic calm",swatchBg:"#2E3440",swatchFg:"#81A1C1",tier:"community",category:"Editor Palettes"},{id:"solarized",name:"Solarized",icon:"sun-dim",character:"Engineered precision",swatchBg:"#002B36",swatchFg:"#268BD2",tier:"community",category:"Editor Palettes"},{id:"dracula",name:"Dracula",icon:"moon-star",character:"Dark elegance",swatchBg:"#282A36",swatchFg:"#BD93F9",tier:"community",category:"Editor Palettes"},{id:"catppuccin-mocha",name:"Catppuccin",icon:"coffee",character:"Warm pastels",swatchBg:"#1E1E2E",swatchFg:"#CBA6F7",tier:"community",category:"Editor Palettes"},{id:"catppuccin-latte",name:"Ctp Latte",icon:"coffee",character:"Cozy daytime",swatchBg:"#eff1f5",swatchFg:"#8839ef",tier:"community",category:"Editor Palettes"},{id:"catppuccin-frappe",name:"Ctp Frapp\xE9",icon:"coffee",character:"Cool twilight",swatchBg:"#303446",swatchFg:"#ca9ee6",tier:"community",category:"Editor Palettes"},{id:"catppuccin-macchiato",name:"Ctp Macchiato",icon:"coffee",character:"Deep blue",swatchBg:"#24273a",swatchFg:"#c6a0f6",tier:"community",category:"Editor Palettes"},{id:"gruvbox",name:"Gruvbox",icon:"palette",character:"Retro warmth",swatchBg:"#282828",swatchFg:"#ebdbb2",tier:"community",category:"Editor Palettes"},{id:"tokyo-night",name:"Tokyo Night",icon:"moon",character:"Night-owl vibes",swatchBg:"#1a1b26",swatchFg:"#7aa2f7",tier:"community",category:"Editor Palettes"},{id:"rose-pine",name:"Ros\xE9 Pine",icon:"flower-2",character:"Muted elegance",swatchBg:"#191724",swatchFg:"#ebbcba",tier:"community",category:"Editor Palettes"},{id:"cottagecore",name:"Cottagecore",icon:"flower-2",character:"Pastoral",swatchBg:"#fdf8f0",swatchFg:"#7d8c6d",tier:"community",category:"Niche"},{id:"terminal",name:"Terminal",icon:"terminal",character:"Retro CRT",swatchBg:"#0d1117",swatchFg:"#00ff00",tier:"community",category:"Niche"},{id:"clinical",name:"Clinical",icon:"heart-pulse",character:"Sterile precision",swatchBg:"#ffffff",swatchFg:"#0077b6",tier:"community",category:"Industry"},{id:"financial",name:"Financial",icon:"landmark",character:"Navy + gold",swatchBg:"#1b2a4a",swatchFg:"#c9a84c",tier:"community",category:"Industry"},{id:"government",name:"Government",icon:"shield",character:"Official",swatchBg:"#002868",swatchFg:"#bf0a30",tier:"community",category:"Industry"},{id:"dawn",name:"Dawn",icon:"sunrise",character:"Golden morning",swatchBg:"#fef3e2",swatchFg:"#d4a574",tier:"community",category:"Mood/Time"},{id:"dusk",name:"Dusk",icon:"sunset",character:"Twilight",swatchBg:"#1a1b2e",swatchFg:"#e5a858",tier:"community",category:"Mood/Time"},{id:"midnight",name:"Midnight",icon:"moon",character:"Deep night",swatchBg:"#0d1117",swatchFg:"#58a6ff",tier:"community",category:"Mood/Time"},{id:"high-noon",name:"High Noon",icon:"sun",character:"Maximum bright",swatchBg:"#ffffff",swatchFg:"#e63946",tier:"community",category:"Mood/Time"}],te=[{id:"kawaii",name:"Kawaii",icon:"heart",character:"Cute aesthetic",swatchBg:"#ffb7c5",swatchFg:"#ff69b4",tier:"showcase",category:"Packs"},{id:"memphis",name:"Memphis",icon:"star",character:"Bold patterns",swatchBg:"#FFF8F0",swatchFg:"#d03040",tier:"showcase",category:"Packs"}],j=[{id:"",name:"Fixed",icon:"ruler",description:"Static token values"},{id:"default",name:"Fluid",icon:"move-diagonal-2",description:"Smooth viewport scaling"},{id:"compact",name:"Compact",icon:"minimize-2",description:"Tighter fluid range"},{id:"spacious",name:"Spacious",icon:"maximize-2",description:"Generous fluid range"}],H=[{id:"a11y-high-contrast",name:"High Contrast",icon:"contrast",description:"AAA contrast (7:1+)"},{id:"a11y-large-text",name:"Large Text",icon:"type",description:"25% larger fonts"},{id:"a11y-dyslexia",name:"Dyslexia",icon:"book-open",description:"Readable typography"}],V=[{id:"motionFx",name:"Motion Effects",icon:"sparkles",description:"Hover & enter animations"},{id:"sounds",name:"Sound Effects",icon:"volume-2",description:"Audio feedback"}],Te=[...q,...T],Ae=[...x,...q,...T,...te],b=t=>q.filter(e=>e.category===t),z=[{label:"Style",themes:x,tier:"core"},{label:"Design",themes:b("Design"),tier:"showcase"},{label:"Content",themes:b("Content"),tier:"showcase"},{label:"Modern",themes:b("Modern"),tier:"showcase"},{label:"Creative",themes:b("Creative"),tier:"showcase"},{label:"Aesthetic",themes:b("Aesthetic"),tier:"showcase"},{label:"Signature",themes:b("Signature"),tier:"showcase"},{label:"OS Styles",themes:b("OS Styles"),tier:"showcase"},{label:"Packs",themes:te,tier:"showcase"},{label:"More Themes",themes:T,tier:"community"}];function ye(){let t=globalThis.localStorage;if(!t)throw new Error("VBStore: localStorage is not available in this environment");return{async getRaw(e){return t.getItem(e)},async setRaw(e,a){t.setItem(e,a)},async removeRaw(e){t.removeItem(e)},async keys(e){let a=[];for(let s=0;s<t.length;s++){let i=t.key(s);i&&i.startsWith(e)&&a.push(i)}return a}}}var _=null;function g(){return _||(_=ye()),_}function G(t,e){if(typeof t!="string"||!t)throw new TypeError("VBStore: namespace must be a non-empty string");if(typeof e!="string"||!e)throw new TypeError("VBStore: key must be a non-empty string");return`vb:${t}:${e}`}function ae(t){if(typeof t!="string"||!t)throw new TypeError("VBStore: namespace must be a non-empty string");return`vb:${t}:`}function se(t){try{let e=JSON.parse(t);if(e&&typeof e=="object"&&typeof e.timestamp=="number")return e}catch{}return null}var u={configure(t={}){_=t.backend??null},async set(t,e,a){let s={data:a,timestamp:Date.now()};await g().setRaw(G(t,e),JSON.stringify(s))},async get(t,e,a){let s=await g().getRaw(G(t,e));if(s==null)return null;let i=se(s);return!i||a?.maxAge!=null&&Date.now()-i.timestamp>a.maxAge?null:i.data},async remove(t,e){await g().removeRaw(G(t,e))},async list(t){let e=ae(t),a=await g().keys(e),s=[];for(let i of a){let r=await g().getRaw(i);if(r==null)continue;let n=se(r);n&&s.push({key:i.slice(e.length),data:n.data,timestamp:n.timestamp})}return s},async clear(t){let e=ae(t),a=await g().keys(e);for(let s of a)await g().removeRaw(s)},async clearAll(){let t=await g().keys("vb:");for(let e of t)await g().removeRaw(e)},async setMany(t,e){for(let[a,s]of e)await u.set(t,a,s)}};var M="theme",F="current",v={mode:"auto",brand:"default",accent:"default",borderStyle:"",iconSet:"",fluid:"",backdrop:"",backdropChrome:"",pageBgType:"",pageBgColor:"",pageBgGradStart:"",pageBgGradEnd:"",pageBgGradDir:""},ne=["--hue-primary","--hue-secondary","--hue-accent","--lightness-primary","--chroma-primary","--lightness-secondary","--chroma-secondary","--lightness-accent","--chroma-accent"],d=null,h={_initPromise:null,async init(){return this._initPromise?this._initPromise:(this._initPromise=(async()=>{let t=await u.get(M,F);d=t?{...v,...t}:{...v};try{await k(d.brand)}catch{d.brand="default"}return this.apply(d),this._watchSystemPreference(),this._watchRootAttributes(),this._watchCrossDocumentStorage(),d})(),this._initPromise)},_watchCrossDocumentStorage(){typeof window>"u"||window.addEventListener("storage",async t=>{if(t.key!==`vb:${M}:${F}`||!t.newValue)return;let e;try{e=JSON.parse(t.newValue)?.data}catch{return}if(!e||typeof e!="object")return;let a={...v,...d,...e};if(a.brand&&a.brand!==d?.brand)try{await k(a.brand)}catch{a.brand="default"}d=a,this.apply(d||{})})},load(){return d?{...d}:{...v}},save(t){let e={...d??v,...t};return d=e,u.set(M,F,e).catch(()=>{}),e},apply({mode:t="auto",brand:e="default",borderStyle:a="",iconSet:s="",fluid:i="",backdrop:r="",backdropChrome:n="",pageBgType:o="",pageBgColor:c="",pageBgGradStart:p="",pageBgGradEnd:m="",pageBgGradDir:f=""}={}){let l=document.documentElement;l.dataset.mode=t==="auto"?this.getEffectiveMode():t;let S=(l.dataset.theme||"").split(" ").filter(L=>L.startsWith("a11y-")),Y=e!=="default"?[e,...S]:[...S];Y.length?l.dataset.theme=Y.join(" "):delete l.dataset.theme;let A=a||this._readCSSHint("--theme-border-style");A&&A!=="clean"?l.dataset.borderStyle=A:delete l.dataset.borderStyle;let C=s||this._readCSSHint("--theme-icon-set");if(C&&C!=="lucide"?l.dataset.iconSet=C:delete l.dataset.iconSet,i?l.dataset.fluid=i:delete l.dataset.fluid,r?l.dataset.backdrop=r:delete l.dataset.backdrop,n&&n!=="card"?l.dataset.backdropChrome=n:delete l.dataset.backdropChrome,o==="color"&&c)l.style.setProperty("--page-bg-color",c),l.style.removeProperty("--page-bg-gradient");else if(o==="gradient"&&p&&m){let L=f||"to bottom";l.style.setProperty("--page-bg-gradient",`linear-gradient(${L}, ${p}, ${m})`),l.style.removeProperty("--page-bg-color")}else l.style.removeProperty("--page-bg-color"),l.style.removeProperty("--page-bg-gradient");let X=this.load().accent||"default";this._applyAccent(X),window.dispatchEvent(new CustomEvent("vb:theme-change",{detail:{mode:t,brand:e,accent:X,borderStyle:A,iconSet:C,fluid:i,backdrop:r,backdropChrome:n,pageBgType:o,effectiveMode:this.getEffectiveMode()}}))},setMode(t){let e=this.save({mode:t});this.apply(e)},async setBrand(t){try{await k(t)}catch(a){console.warn(`[VB] Theme "${t}" failed to load, using default`,a),t="default"}let e=this.save({brand:t});this.apply(e)},setAccent(t){this.save({accent:t}),this._applyAccent(t),window.dispatchEvent(new CustomEvent("vb:theme-change",{detail:{...this.getState()}}))},setBorderStyle(t){let e=this.save({borderStyle:t});this.apply(e)},setIconSet(t){let e=this.save({iconSet:t});this.apply(e)},setFluid(t){let e=this.save({fluid:t});this.apply(e)},setBackdrop(t){let e=this.save({backdrop:t});this.apply(e)},setBackdropChrome(t){let e=this.save({backdropChrome:t});this.apply(e)},setPageBg({type:t="",color:e="",gradStart:a="",gradEnd:s="",gradDir:i=""}={}){let r=this.save({pageBgType:t,pageBgColor:e,pageBgGradStart:a,pageBgGradEnd:s,pageBgGradDir:i});this.apply(r)},getEffectiveMode(){let{mode:t}=this.load();return t!=="auto"?t:window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"},getState(){let{mode:t,brand:e,accent:a,borderStyle:s,iconSet:i,fluid:r,backdrop:n,backdropChrome:o,pageBgType:c,pageBgColor:p,pageBgGradStart:m,pageBgGradEnd:f,pageBgGradDir:l}=this.load();return{mode:t,brand:e,accent:a,borderStyle:s,iconSet:i,fluid:r,backdrop:n,backdropChrome:o,pageBgType:c,pageBgColor:p,pageBgGradStart:m,pageBgGradEnd:f,pageBgGradDir:l,effectiveMode:this.getEffectiveMode()}},toggleMode(){let e=this.getEffectiveMode()==="dark"?"light":"dark";this.setMode(e)},reset(){d={...v},u.remove(M,F).catch(()=>{});let t=document.documentElement;t.style.removeProperty("--page-bg-color"),t.style.removeProperty("--page-bg-gradient");for(let e of ne)t.style.removeProperty(e);this.apply(v)},_readCSSHint(t){return getComputedStyle(document.documentElement).getPropertyValue(t).trim()},_applyAccent(t){let e=document.documentElement,a=$.find(s=>s.id===t);for(let s of ne)e.style.removeProperty(s);if(!(!a||!a.seeds||Object.keys(a.seeds).length===0)){for(let[s,i]of Object.entries(a.seeds))e.style.setProperty(s,String(i));if(a.seedsDark&&this.getEffectiveMode()==="dark")for(let[s,i]of Object.entries(a.seedsDark))e.style.setProperty(s,String(i))}},_watchRootAttributes(){this._rootObserver||(this._rootObserver=new MutationObserver(t=>{for(let e of t)e.attributeName==="data-theme"?this._syncFromDataTheme():e.attributeName==="data-mode"&&this._syncFromDataMode()}),this._rootObserver.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme","data-mode"]}))},_syncFromDataTheme(){if(!d)return;let a=(document.documentElement.dataset.theme||"").split(/\s+/).filter(Boolean).find(s=>!s.startsWith("a11y-"))||"default";a!==d.brand&&(d.brand=a,k(a).catch(()=>{}),window.dispatchEvent(new CustomEvent("vb:theme-change",{detail:{...this.getState()}})))},_syncFromDataMode(){if(!d)return;let t=document.documentElement.dataset.mode||"auto",e=d.mode==="auto"?this.getEffectiveMode():d.mode;t!==e&&(d.mode=t,window.dispatchEvent(new CustomEvent("vb:theme-change",{detail:{...this.getState()}})))},_watchSystemPreference(){window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",()=>{let e=this.load();e.mode==="auto"&&this.apply(e)})}};var E=null,P="settings",D={motionFx:!0,sounds:!1},U=null;function be(){return U||(U=fetch("/cdn/themes/manifest.json",{credentials:"same-origin"}).then(t=>t.ok?t.json():null).catch(()=>null)),U}var W=class t extends B{static#i=200;#t;#e;#a=!1;#s=!1;#g=!1;#c=null;#f=!1;#l=[];#r={...D};#n=()=>this.#S();setup(){return this.#s=this.getAttribute("variant")==="inline",this.#g=this.hasAttribute("compact"),this.#k(),!0}async#k(){await Promise.all([h.init(),this.#$()]),this.#T(),this.#x(),this.#v(),this.#H(),this.listen(window,"vb:theme-change",this.#j),this.#b(),this.#h()}async#$(){let[e,a]=await Promise.all([u.get(P,"a11y"),u.get(P,"extensions")]);this.#l=Array.isArray(e)?e:[],this.#r={...D,...a??{}}}teardown(){window.removeEventListener("scroll",this.#n,{capture:!0}),window.removeEventListener("resize",this.#n),this.#p()}#T(){this.#s||(this.#t=this.querySelector(":scope > [data-trigger]"),this.#t||(this.#t=this.querySelector(":scope > button")),this.#t||(this.#t=document.createElement("button"),this.#t.setAttribute("data-trigger",""),this.#t.innerHTML=`
1
+ var ce=Object.defineProperty;var le=(t,e)=>()=>(t&&(e=t(t=0)),e);var de=(t,e)=>{for(var a in e)ce(t,a,{get:e[a],enumerable:!0})};var re={};de(re,{SoundManager:()=>be});var ie,N,be,oe=le(()=>{ie="vb-sound",N={enabled:!1,volume:.5},be={_ctx:null,_enabled:!1,_volume:.5,_initialized:!1,init(){if(this._initialized)return this;let t=this._load();return this._enabled=t.enabled,this._volume=t.volume,this._initialized=!0,this},_getContext(){return this._ctx||(this._ctx=new(window.AudioContext||window.webkitAudioContext)),this._ctx.state==="suspended"&&this._ctx.resume(),this._ctx},_load(){try{let t=localStorage.getItem(ie);return t?{...N,...JSON.parse(t)}:{...N}}catch{return{...N}}},_save(t){try{let e=this._load();localStorage.setItem(ie,JSON.stringify({...e,...t}))}catch{}},_playTone(t,e,a="sine"){if(!this._enabled)return;let s=this._getContext(),i=s.createOscillator(),r=s.createGain();i.connect(r),r.connect(s.destination),i.frequency.value=t,i.type=a,r.gain.value=this._volume*.3,i.start(),r.gain.exponentialRampToValueAtTime(.01,s.currentTime+e),i.stop(s.currentTime+e)},enable(){this._enabled=!0,this._save({enabled:!0}),this.play("click")},disable(){this._enabled=!1,this._save({enabled:!1})},toggle(){return this._enabled?this.disable():this.enable(),this._enabled},isEnabled(){return this._enabled},setVolume(t){this._volume=Math.max(0,Math.min(1,t)),this._save({volume:this._volume})},getVolume(){return this._volume},play(t){if(this._enabled)switch(t){case"click":this._playTone(800,.1);break;case"success":this._playTone(523,.1),setTimeout(()=>this._playTone(659,.1),100),setTimeout(()=>this._playTone(784,.15),200);break;case"error":this._playTone(200,.15,"sawtooth"),setTimeout(()=>this._playTone(180,.2,"sawtooth"),150);break;case"notification":this._playTone(880,.1),setTimeout(()=>this._playTone(1100,.15),100);break;case"soft":this._playTone(600,.05);break;case"tick":this._playTone(1200,.02,"square");break}},getState(){return{enabled:this._enabled,volume:this._volume}}}});var Se=window.matchMedia("(prefers-reduced-motion: reduce)");var J=new Map;function K(t,e,a={}){let s=a.priority??10,i={impl:e,bundle:a.bundle,contract:a.contract,priority:s},r=J.get(t);if(customElements.get(t)){if(!r||r.priority>=s){r&&r.priority===s&&r.impl!==e&&console.warn(`[VB Bundle] Tag <${t}> already registered by "${r.bundle}" (priority ${r.priority}). Skipping "${a.bundle}".`);return}console.warn(`[VB Bundle] Tag <${t}> defined by "${r.bundle}" cannot be replaced (customElements.define is permanent). "${a.bundle}" has higher priority but arrived late.`);return}if(r&&r.priority>=s){r.priority===s&&console.warn(`[VB Bundle] Tag <${t}> already registered by "${r.bundle}". Skipping "${a.bundle}" (first wins at equal priority).`);return}J.set(t,i),customElements.define(t,e)}var B=class extends HTMLElement{#i=[];#t;connectedCallback(){this.hasAttribute("data-upgraded")||this.setup()!==!1&&(this.setAttribute("data-upgraded",""),queueMicrotask(()=>{this.dispatchEvent(new CustomEvent(`${this.localName}:upgraded`,{bubbles:!0}))}))}disconnectedCallback(){for(let e of this.#i)e();this.#i=[],this.removeAttribute("data-upgraded"),this.teardown()}listen(e,a,s,i){e.addEventListener(a,s,i),this.#i.push(()=>e.removeEventListener(a,s,i))}setup(){}teardown(){}setState(e,a){this.#t||(this.#t=this.attachInternals());let s=this.#t.states;try{a?s.add(e):s.delete(e)}catch{let i=`--${e}`;a?s.add(i):s.delete(i)}}_adoptInternals(e){this.#t||(this.#t=e)}};var b=new Map,O=new Map;var Q=null;function Z(){if(typeof window<"u"&&window.__VB_THEME_BASE)return String(window.__VB_THEME_BASE).replace(/\/$/,"");if(Q)return Q;if(typeof document<"u"){let t=document.querySelectorAll('script[src*="vanilla-breeze"]');for(let e of t){let a=e.getAttribute("src");if(a){let s=a.lastIndexOf("/");if(s!==-1)return a.slice(0,s)}}}return"/cdn"}var he=new Set(["default","a11y-high-contrast","a11y-large-text","a11y-dyslexia","modern","minimal","classic"]),ue=new Set(["kawaii","memphis"]);function I(t){return ue.has(t)}function me(t,e){return`${e}/themes/${t}.css`}function ee(t,e){if(!I(t))return Promise.resolve();if(O.has(t))return O.get(t);let a=import(`${e}/packs/${t}.full.js`).catch(()=>{});return O.set(t,a),a}function pe(t,e){let a=Z(),s=()=>{(I(e)||t.hasAttribute("data-vb-pack"))&&ee(e,a)};return t.getAttribute("data-vb-theme-state")==="error"?Promise.reject(new Error(`Failed to load theme: ${e}`)):t.getAttribute("data-vb-theme-state")==="ready"||t.sheet?(s(),Promise.resolve()):new Promise((i,r)=>{let n=()=>{t.setAttribute("data-vb-theme-state","ready"),c(),s(),i(void 0)},o=()=>{t.setAttribute("data-vb-theme-state","error"),b.delete(e),c(),r(new Error(`Failed to load theme: ${e}`))},c=()=>{t.removeEventListener("load",n),t.removeEventListener("error",o)};t.addEventListener("load",n,{once:!0}),t.addEventListener("error",o,{once:!0})})}async function k(t){if(!t||he.has(t))return;if(b.has(t))return b.get(t);if(typeof document<"u"){let s=document.querySelector(`link[data-vb-theme="${t}"]`);if(s){let i=pe(s,t);return b.set(t,i),i}}let e=Z(),a=I(t)?fe(t,e):ge(t,e);return b.set(t,a),a}async function ge(t,e){let a=me(t,e);return new Promise((s,i)=>{let r=document.querySelector(`link[data-vb-theme-preload="${t}"]`);r&&r.remove();let n=document.createElement("link");n.rel="stylesheet",n.href=a,n.setAttribute("data-vb-theme",t),n.setAttribute("data-vb-theme-state","loading"),n.onload=()=>{n.setAttribute("data-vb-theme-state","ready"),s()},n.onerror=()=>{n.setAttribute("data-vb-theme-state","error"),n.remove(),b.delete(t),i(new Error(`Failed to load theme: ${t}`))},document.head.appendChild(n)})}function fe(t,e){let a=`${e}/packs/${t}.theme.css`,s=`${e}/packs/${t}.effects.css`;return new Promise((i,r)=>{let n=document.querySelector(`link[data-vb-theme-preload="${t}"]`);n&&n.remove();let o=document.createElement("link");o.rel="stylesheet",o.href=a,o.setAttribute("data-vb-theme",t),o.setAttribute("data-vb-pack",t),o.setAttribute("data-vb-theme-state","loading"),o.onload=()=>{o.setAttribute("data-vb-theme-state","ready");let c=document.createElement("link");c.rel="stylesheet",c.href=s,c.setAttribute("data-vb-pack-effects",t),document.head.appendChild(c),ee(t,e),i()},o.onerror=()=>{o.setAttribute("data-vb-theme-state","error"),o.remove(),b.delete(t),r(new Error(`Failed to load pack: ${t}`))},document.head.appendChild(o)})}var R=[{id:"auto",name:"Auto",icon:"monitor"},{id:"light",name:"Light",icon:"sun"},{id:"dark",name:"Dark",icon:"moon"}],$=[{id:"default",name:"Default",swatchBg:"#3b82f6",seeds:{}},{id:"ocean",name:"Ocean",swatchBg:"#0891b2",seeds:{"--hue-primary":200,"--hue-secondary":180,"--hue-accent":45,"--lightness-primary":"50%","--chroma-primary":.15,"--lightness-secondary":"45%","--chroma-secondary":.1,"--lightness-accent":"70%","--chroma-accent":.15},seedsDark:{"--lightness-primary":"60%","--chroma-primary":.12}},{id:"forest",name:"Forest",swatchBg:"#059669",seeds:{"--hue-primary":145,"--hue-secondary":90,"--hue-accent":30,"--lightness-primary":"45%","--chroma-primary":.15,"--lightness-secondary":"55%","--chroma-secondary":.12,"--lightness-accent":"65%","--chroma-accent":.16},seedsDark:{"--lightness-primary":"55%","--chroma-primary":.12}},{id:"sunset",name:"Sunset",swatchBg:"#ea580c",seeds:{"--hue-primary":25,"--hue-secondary":0,"--hue-accent":280,"--lightness-primary":"60%","--chroma-primary":.2,"--lightness-secondary":"55%","--chroma-secondary":.18,"--lightness-accent":"55%","--chroma-accent":.18},seedsDark:{"--lightness-primary":"65%","--chroma-primary":.16}},{id:"rose",name:"Rose",swatchBg:"#e11d48",seeds:{"--hue-primary":350,"--hue-secondary":330,"--hue-accent":200,"--lightness-primary":"55%","--chroma-primary":.18,"--lightness-secondary":"50%","--chroma-secondary":.14,"--lightness-accent":"60%","--chroma-accent":.12},seedsDark:{"--lightness-primary":"65%","--chroma-primary":.14}},{id:"lavender",name:"Lavender",swatchBg:"#a855f7",seeds:{"--hue-primary":280,"--hue-secondary":300,"--hue-accent":60,"--lightness-primary":"55%","--chroma-primary":.14,"--lightness-secondary":"50%","--chroma-secondary":.12,"--lightness-accent":"70%","--chroma-accent":.14},seedsDark:{"--lightness-primary":"65%","--chroma-primary":.12}},{id:"coral",name:"Coral",swatchBg:"#f97316",seeds:{"--hue-primary":15,"--hue-secondary":25,"--hue-accent":180,"--lightness-primary":"60%","--chroma-primary":.18,"--lightness-secondary":"55%","--chroma-secondary":.15,"--lightness-accent":"55%","--chroma-accent":.12},seedsDark:{"--lightness-primary":"65%","--chroma-primary":.15}},{id:"slate",name:"Slate",swatchBg:"#64748b",seeds:{"--hue-primary":220,"--hue-secondary":210,"--hue-accent":45,"--lightness-primary":"48%","--chroma-primary":.1,"--lightness-secondary":"45%","--chroma-secondary":.06,"--lightness-accent":"68%","--chroma-accent":.15},seedsDark:{"--lightness-primary":"60%","--chroma-primary":.08}},{id:"emerald",name:"Emerald",swatchBg:"#10b981",seeds:{"--hue-primary":160,"--hue-secondary":140,"--hue-accent":30,"--lightness-primary":"50%","--chroma-primary":.15,"--lightness-secondary":"48%","--chroma-secondary":.12,"--lightness-accent":"65%","--chroma-accent":.16},seedsDark:{"--lightness-primary":"60%","--chroma-primary":.12}},{id:"amber",name:"Amber",swatchBg:"#f59e0b",seeds:{"--hue-primary":45,"--hue-secondary":30,"--hue-accent":240,"--lightness-primary":"60%","--chroma-primary":.16,"--lightness-secondary":"55%","--chroma-secondary":.15,"--lightness-accent":"52%","--chroma-accent":.14},seedsDark:{"--lightness-primary":"68%","--chroma-primary":.14}},{id:"indigo",name:"Indigo",swatchBg:"#6366f1",seeds:{"--hue-primary":250,"--hue-secondary":270,"--hue-accent":35,"--lightness-primary":"48%","--chroma-primary":.18,"--lightness-secondary":"45%","--chroma-secondary":.14,"--lightness-accent":"68%","--chroma-accent":.16},seedsDark:{"--lightness-primary":"62%","--chroma-primary":.14}}],x=[{id:"default",name:"Default",hue:210,shape:"balanced",character:"The default",swatchBg:"#3b82f6",tier:"core"},{id:"modern",name:"Modern",hue:270,shape:"rounded",character:"Vibrant & elevated",swatchBg:"#6366f1",tier:"core"},{id:"minimal",name:"Minimal",hue:240,shape:"sharp",character:"Clean & flat",swatchBg:"#71717a",tier:"core"},{id:"classic",name:"Classic",hue:220,shape:"subtle",character:"Serif & elegant",swatchBg:"#92400e",tier:"core"}],j=[{id:"swiss",name:"Swiss",icon:"grid-3x3",character:"Precision grid",swatchBg:"#ff3e00",swatchFg:"white",tier:"showcase",category:"Design"},{id:"brutalist",name:"Brutalist",icon:"square",character:"Raw, industrial",swatchBg:"#1a1a1a",swatchFg:"#f5f5f5",tier:"showcase",category:"Design"},{id:"art-deco",name:"Art Deco",icon:"crown",character:"1920s luxury",swatchBg:"#1A1A1A",swatchFg:"#C9A84C",tier:"showcase",category:"Design"},{id:"editorial",name:"Editorial",icon:"newspaper",character:"Magazine elegance",swatchBg:"#1a1a1a",swatchFg:"#c9a227",tier:"showcase",category:"Content"},{id:"genai",name:"GenAI",icon:"sparkles",character:"AI aesthetic",swatchBg:"#1a0a2e",swatchFg:"#a855f7",tier:"showcase",category:"Modern"},{id:"glassmorphism",name:"Glass",icon:"glass-water",character:"Frosted surfaces",swatchBg:"#667eea",swatchFg:"#ffffff",tier:"showcase",category:"Modern"},{id:"startup",name:"Startup",icon:"rocket",character:"SaaS energy",swatchBg:"#4f46e5",swatchFg:"#ffffff",tier:"showcase",category:"Modern"},{id:"organic",name:"Organic",icon:"leaf",character:"Natural, handcrafted",swatchBg:"#2d5016",swatchFg:"#faf5e6",tier:"showcase",category:"Creative"},{id:"rough",name:"Rough",icon:"pencil",character:"Hand-drawn sketch",swatchBg:"#f5f0e8",swatchFg:"#3a3a3a",tier:"showcase",category:"Creative"},{id:"cyber",name:"Cyber",icon:"zap",character:"Neon futuristic",swatchBg:"#0a0a1a",swatchFg:"#00ff88",tier:"showcase",category:"Creative"},{id:"journal",name:"Journal",icon:"notebook-pen",character:"Dot-grid bullet journal",swatchBg:"#f3ecdc",swatchFg:"#27313f",tier:"showcase",category:"Creative"},{id:"vaporwave",name:"Vaporwave",icon:"radio",character:"Neon dreamy",swatchBg:"#2b0040",swatchFg:"#ff6ad5",tier:"showcase",category:"Aesthetic"},{id:"neumorphism",name:"Neumorph",icon:"circle",character:"Soft embossed",swatchBg:"#e0e0e0",swatchFg:"#a0a0a0",tier:"showcase",category:"Aesthetic"},{id:"bauhaus",name:"Bauhaus",icon:"shapes",character:"Geometric",swatchBg:"#F1FAEE",swatchFg:"#E63946",tier:"showcase",category:"Aesthetic"},{id:"claymorphism",name:"Clay",icon:"circle-dot",character:"Puffy 3D",swatchBg:"#f0f0f5",swatchFg:"#FF6B9D",tier:"showcase",category:"Aesthetic"},{id:"alpha1999",name:"Alpha1999",icon:"orbit",character:"Space retro-fi",swatchBg:"#0a0a14",swatchFg:"#d4880f",tier:"showcase",category:"Signature"},{id:"super2026",name:"Super2026",icon:"triangle",character:"Supergraphic bold",swatchBg:"#f5f0e6",swatchFg:"#c23616",tier:"showcase",category:"Signature"},{id:"magna",name:"Magna",icon:"orbit",character:"Odyssey 2 retro",swatchBg:"#0d0b14",swatchFg:"#f97316",tier:"showcase",category:"Signature"},{id:"win9x",name:"Win9x",icon:"monitor",character:"Classic desktop",swatchBg:"#008080",swatchFg:"#c0c0c0",tier:"showcase",category:"OS Styles"},{id:"nes",name:"NES",icon:"joystick",character:"Console pixels",swatchBg:"#bcbcbc",swatchFg:"#e40521",tier:"showcase",category:"OS Styles"},{id:"8bit",name:"8-Bit",icon:"gamepad-2",character:"Retro pixel art",swatchBg:"#000080",swatchFg:"#ffff00",tier:"showcase",category:"OS Styles"}],T=[{id:"nord",name:"Nord",icon:"snowflake",character:"Arctic calm",swatchBg:"#2E3440",swatchFg:"#81A1C1",tier:"community",category:"Editor Palettes"},{id:"solarized",name:"Solarized",icon:"sun-dim",character:"Engineered precision",swatchBg:"#002B36",swatchFg:"#268BD2",tier:"community",category:"Editor Palettes"},{id:"dracula",name:"Dracula",icon:"moon-star",character:"Dark elegance",swatchBg:"#282A36",swatchFg:"#BD93F9",tier:"community",category:"Editor Palettes"},{id:"catppuccin-mocha",name:"Catppuccin",icon:"coffee",character:"Warm pastels",swatchBg:"#1E1E2E",swatchFg:"#CBA6F7",tier:"community",category:"Editor Palettes"},{id:"catppuccin-latte",name:"Ctp Latte",icon:"coffee",character:"Cozy daytime",swatchBg:"#eff1f5",swatchFg:"#8839ef",tier:"community",category:"Editor Palettes"},{id:"catppuccin-frappe",name:"Ctp Frapp\xE9",icon:"coffee",character:"Cool twilight",swatchBg:"#303446",swatchFg:"#ca9ee6",tier:"community",category:"Editor Palettes"},{id:"catppuccin-macchiato",name:"Ctp Macchiato",icon:"coffee",character:"Deep blue",swatchBg:"#24273a",swatchFg:"#c6a0f6",tier:"community",category:"Editor Palettes"},{id:"gruvbox",name:"Gruvbox",icon:"palette",character:"Retro warmth",swatchBg:"#282828",swatchFg:"#ebdbb2",tier:"community",category:"Editor Palettes"},{id:"tokyo-night",name:"Tokyo Night",icon:"moon",character:"Night-owl vibes",swatchBg:"#1a1b26",swatchFg:"#7aa2f7",tier:"community",category:"Editor Palettes"},{id:"rose-pine",name:"Ros\xE9 Pine",icon:"flower-2",character:"Muted elegance",swatchBg:"#191724",swatchFg:"#ebbcba",tier:"community",category:"Editor Palettes"},{id:"cottagecore",name:"Cottagecore",icon:"flower-2",character:"Pastoral",swatchBg:"#fdf8f0",swatchFg:"#7d8c6d",tier:"community",category:"Niche"},{id:"terminal",name:"Terminal",icon:"terminal",character:"Retro CRT",swatchBg:"#0d1117",swatchFg:"#00ff00",tier:"community",category:"Niche"},{id:"clinical",name:"Clinical",icon:"heart-pulse",character:"Sterile precision",swatchBg:"#ffffff",swatchFg:"#0077b6",tier:"community",category:"Industry"},{id:"financial",name:"Financial",icon:"landmark",character:"Navy + gold",swatchBg:"#1b2a4a",swatchFg:"#c9a84c",tier:"community",category:"Industry"},{id:"government",name:"Government",icon:"shield",character:"Official",swatchBg:"#002868",swatchFg:"#bf0a30",tier:"community",category:"Industry"},{id:"dawn",name:"Dawn",icon:"sunrise",character:"Golden morning",swatchBg:"#fef3e2",swatchFg:"#d4a574",tier:"community",category:"Mood/Time"},{id:"dusk",name:"Dusk",icon:"sunset",character:"Twilight",swatchBg:"#1a1b2e",swatchFg:"#e5a858",tier:"community",category:"Mood/Time"},{id:"midnight",name:"Midnight",icon:"moon",character:"Deep night",swatchBg:"#0d1117",swatchFg:"#58a6ff",tier:"community",category:"Mood/Time"},{id:"high-noon",name:"High Noon",icon:"sun",character:"Maximum bright",swatchBg:"#ffffff",swatchFg:"#e63946",tier:"community",category:"Mood/Time"}],te=[{id:"kawaii",name:"Kawaii",icon:"heart",character:"Cute aesthetic",swatchBg:"#ffb7c5",swatchFg:"#ff69b4",tier:"showcase",category:"Packs"},{id:"memphis",name:"Memphis",icon:"star",character:"Bold patterns",swatchBg:"#FFF8F0",swatchFg:"#d03040",tier:"showcase",category:"Packs"}],q=[{id:"",name:"Fixed",icon:"ruler",description:"Static token values"},{id:"default",name:"Fluid",icon:"move-diagonal-2",description:"Smooth viewport scaling"},{id:"compact",name:"Compact",icon:"minimize-2",description:"Tighter fluid range"},{id:"spacious",name:"Spacious",icon:"maximize-2",description:"Generous fluid range"}],H=[{id:"a11y-high-contrast",name:"High Contrast",icon:"contrast",description:"AAA contrast (7:1+)"},{id:"a11y-large-text",name:"Large Text",icon:"type",description:"25% larger fonts"},{id:"a11y-dyslexia",name:"Dyslexia",icon:"book-open",description:"Readable typography"}],V=[{id:"motionFx",name:"Motion Effects",icon:"sparkles",description:"Hover & enter animations"},{id:"sounds",name:"Sound Effects",icon:"volume-2",description:"Audio feedback"}],Ce=[...j,...T],Ae=[...x,...j,...T,...te],v=t=>j.filter(e=>e.category===t),z=[{label:"Style",themes:x,tier:"core"},{label:"Design",themes:v("Design"),tier:"showcase"},{label:"Content",themes:v("Content"),tier:"showcase"},{label:"Modern",themes:v("Modern"),tier:"showcase"},{label:"Creative",themes:v("Creative"),tier:"showcase"},{label:"Aesthetic",themes:v("Aesthetic"),tier:"showcase"},{label:"Signature",themes:v("Signature"),tier:"showcase"},{label:"OS Styles",themes:v("OS Styles"),tier:"showcase"},{label:"Packs",themes:te,tier:"showcase"},{label:"More Themes",themes:T,tier:"community"}];function ye(){let t=globalThis.localStorage;if(!t)throw new Error("VBStore: localStorage is not available in this environment");return{async getRaw(e){return t.getItem(e)},async setRaw(e,a){t.setItem(e,a)},async removeRaw(e){t.removeItem(e)},async keys(e){let a=[];for(let s=0;s<t.length;s++){let i=t.key(s);i&&i.startsWith(e)&&a.push(i)}return a}}}var _=null;function g(){return _||(_=ye()),_}function G(t,e){if(typeof t!="string"||!t)throw new TypeError("VBStore: namespace must be a non-empty string");if(typeof e!="string"||!e)throw new TypeError("VBStore: key must be a non-empty string");return`vb:${t}:${e}`}function ae(t){if(typeof t!="string"||!t)throw new TypeError("VBStore: namespace must be a non-empty string");return`vb:${t}:`}function se(t){try{let e=JSON.parse(t);if(e&&typeof e=="object"&&typeof e.timestamp=="number")return e}catch{}return null}var m={configure(t={}){_=t.backend??null},async set(t,e,a){let s={data:a,timestamp:Date.now()};await g().setRaw(G(t,e),JSON.stringify(s))},async get(t,e,a){let s=await g().getRaw(G(t,e));if(s==null)return null;let i=se(s);return!i||a?.maxAge!=null&&Date.now()-i.timestamp>a.maxAge?null:i.data},async remove(t,e){await g().removeRaw(G(t,e))},async list(t){let e=ae(t),a=await g().keys(e),s=[];for(let i of a){let r=await g().getRaw(i);if(r==null)continue;let n=se(r);n&&s.push({key:i.slice(e.length),data:n.data,timestamp:n.timestamp})}return s},async clear(t){let e=ae(t),a=await g().keys(e);for(let s of a)await g().removeRaw(s)},async clearAll(){let t=await g().keys("vb:");for(let e of t)await g().removeRaw(e)},async setMany(t,e){for(let[a,s]of e)await m.set(t,a,s)}};var M="theme",F="current",f={mode:"auto",brand:"default",accent:"default",borderStyle:"",iconSet:"",fluid:"",backdrop:"",backdropChrome:"",pageBgType:"",pageBgColor:"",pageBgGradStart:"",pageBgGradEnd:"",pageBgGradDir:""};function we(t,e){return t?t.brand||f.brand:(e||"").split(/\s+/).find(s=>s&&!s.startsWith("a11y-"))||f.brand}var ne=["--hue-primary","--hue-secondary","--hue-accent","--lightness-primary","--chroma-primary","--lightness-secondary","--chroma-secondary","--lightness-accent","--chroma-accent"],d=null,h={_initPromise:null,async init(){return this._initPromise?this._initPromise:(this._initPromise=(async()=>{let t=await m.get(M,F);d=t?{...f,...t}:{...f},d.brand=we(t,document.documentElement.dataset.theme);try{await k(d.brand)}catch{d.brand="default"}return this.apply(d),this._watchSystemPreference(),this._watchRootAttributes(),this._watchCrossDocumentStorage(),d})(),this._initPromise)},_watchCrossDocumentStorage(){typeof window>"u"||window.addEventListener("storage",async t=>{if(t.key!==`vb:${M}:${F}`||!t.newValue)return;let e;try{e=JSON.parse(t.newValue)?.data}catch{return}if(!e||typeof e!="object")return;let a={...f,...d,...e};if(a.brand&&a.brand!==d?.brand)try{await k(a.brand)}catch{a.brand="default"}d=a,this.apply(d||{})})},load(){return d?{...d}:{...f}},save(t){let e={...d??f,...t};return d=e,m.set(M,F,e).catch(()=>{}),e},apply({mode:t="auto",brand:e="default",borderStyle:a="",iconSet:s="",fluid:i="",backdrop:r="",backdropChrome:n="",pageBgType:o="",pageBgColor:c="",pageBgGradStart:p="",pageBgGradEnd:u="",pageBgGradDir:y=""}={}){let l=document.documentElement;l.dataset.mode=t==="auto"?this.getEffectiveMode():t;let S=(l.dataset.theme||"").split(" ").filter(L=>L.startsWith("a11y-")),Y=e!=="default"?[e,...S]:[...S];Y.length?l.dataset.theme=Y.join(" "):delete l.dataset.theme;let C=a||this._readCSSHint("--theme-border-style");C&&C!=="clean"?l.dataset.borderStyle=C:delete l.dataset.borderStyle;let A=s||this._readCSSHint("--theme-icon-set");if(A&&A!=="lucide"?l.dataset.iconSet=A:delete l.dataset.iconSet,i?l.dataset.fluid=i:delete l.dataset.fluid,r?l.dataset.backdrop=r:delete l.dataset.backdrop,n&&n!=="card"?l.dataset.backdropChrome=n:delete l.dataset.backdropChrome,o==="color"&&c)l.style.setProperty("--page-bg-color",c),l.style.removeProperty("--page-bg-gradient");else if(o==="gradient"&&p&&u){let L=y||"to bottom";l.style.setProperty("--page-bg-gradient",`linear-gradient(${L}, ${p}, ${u})`),l.style.removeProperty("--page-bg-color")}else l.style.removeProperty("--page-bg-color"),l.style.removeProperty("--page-bg-gradient");let X=this.load().accent||"default";this._applyAccent(X),window.dispatchEvent(new CustomEvent("vb:theme-change",{detail:{mode:t,brand:e,accent:X,borderStyle:C,iconSet:A,fluid:i,backdrop:r,backdropChrome:n,pageBgType:o,effectiveMode:this.getEffectiveMode()}}))},setMode(t){let e=this.save({mode:t});this.apply(e)},async setBrand(t){try{await k(t)}catch(a){console.warn(`[VB] Theme "${t}" failed to load, using default`,a),t="default"}let e=this.save({brand:t});this.apply(e)},setAccent(t){this.save({accent:t}),this._applyAccent(t),window.dispatchEvent(new CustomEvent("vb:theme-change",{detail:{...this.getState()}}))},setBorderStyle(t){let e=this.save({borderStyle:t});this.apply(e)},setIconSet(t){let e=this.save({iconSet:t});this.apply(e)},setFluid(t){let e=this.save({fluid:t});this.apply(e)},setBackdrop(t){let e=this.save({backdrop:t});this.apply(e)},setBackdropChrome(t){let e=this.save({backdropChrome:t});this.apply(e)},setPageBg({type:t="",color:e="",gradStart:a="",gradEnd:s="",gradDir:i=""}={}){let r=this.save({pageBgType:t,pageBgColor:e,pageBgGradStart:a,pageBgGradEnd:s,pageBgGradDir:i});this.apply(r)},getEffectiveMode(){let{mode:t}=this.load();return t!=="auto"?t:window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"},getState(){let{mode:t,brand:e,accent:a,borderStyle:s,iconSet:i,fluid:r,backdrop:n,backdropChrome:o,pageBgType:c,pageBgColor:p,pageBgGradStart:u,pageBgGradEnd:y,pageBgGradDir:l}=this.load();return{mode:t,brand:e,accent:a,borderStyle:s,iconSet:i,fluid:r,backdrop:n,backdropChrome:o,pageBgType:c,pageBgColor:p,pageBgGradStart:u,pageBgGradEnd:y,pageBgGradDir:l,effectiveMode:this.getEffectiveMode()}},toggleMode(){let e=this.getEffectiveMode()==="dark"?"light":"dark";this.setMode(e)},reset(){d={...f},m.remove(M,F).catch(()=>{});let t=document.documentElement;t.style.removeProperty("--page-bg-color"),t.style.removeProperty("--page-bg-gradient");for(let e of ne)t.style.removeProperty(e);this.apply(f)},_readCSSHint(t){return getComputedStyle(document.documentElement).getPropertyValue(t).trim()},_applyAccent(t){let e=document.documentElement,a=$.find(s=>s.id===t);for(let s of ne)e.style.removeProperty(s);if(!(!a||!a.seeds||Object.keys(a.seeds).length===0)){for(let[s,i]of Object.entries(a.seeds))e.style.setProperty(s,String(i));if(a.seedsDark&&this.getEffectiveMode()==="dark")for(let[s,i]of Object.entries(a.seedsDark))e.style.setProperty(s,String(i))}},_watchRootAttributes(){this._rootObserver||(this._rootObserver=new MutationObserver(t=>{for(let e of t)e.attributeName==="data-theme"?this._syncFromDataTheme():e.attributeName==="data-mode"&&this._syncFromDataMode()}),this._rootObserver.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme","data-mode"]}))},_syncFromDataTheme(){if(!d)return;let a=(document.documentElement.dataset.theme||"").split(/\s+/).filter(Boolean).find(s=>!s.startsWith("a11y-"))||"default";a!==d.brand&&(d.brand=a,k(a).catch(()=>{}),window.dispatchEvent(new CustomEvent("vb:theme-change",{detail:{...this.getState()}})))},_syncFromDataMode(){if(!d)return;let t=document.documentElement.dataset.mode||"auto",e=d.mode==="auto"?this.getEffectiveMode():d.mode;t!==e&&(d.mode=t,window.dispatchEvent(new CustomEvent("vb:theme-change",{detail:{...this.getState()}})))},_watchSystemPreference(){window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",()=>{let e=this.load();e.mode==="auto"&&this.apply(e)})}};var E=null,D="settings",P={motionFx:!0,sounds:!1},U=null;function ve(){return U||(U=fetch("/cdn/themes/manifest.json",{credentials:"same-origin"}).then(t=>t.ok?t.json():null).catch(()=>null)),U}var W=class t extends B{static#i=200;#t;#e;#a=!1;#s=!1;#g=!1;#c=null;#f=!1;#l=[];#r={...P};#n=()=>this.#S();setup(){return this.#s=this.getAttribute("variant")==="inline",this.#g=this.hasAttribute("compact"),this.#k(),!0}async#k(){await Promise.all([h.init(),this.#$()]),this.#T(),this.#x(),this.#v(),this.#H(),this.listen(window,"vb:theme-change",this.#q),this.#b(),this.#h()}async#$(){let[e,a]=await Promise.all([m.get(D,"a11y"),m.get(D,"extensions")]);this.#l=Array.isArray(e)?e:[],this.#r={...P,...a??{}}}teardown(){window.removeEventListener("scroll",this.#n,{capture:!0}),window.removeEventListener("resize",this.#n),this.#p()}#T(){this.#s||(this.#t=this.querySelector(":scope > [data-trigger]"),this.#t||(this.#t=this.querySelector(":scope > button")),this.#t||(this.#t=document.createElement("button"),this.#t.setAttribute("data-trigger",""),this.#t.innerHTML=`
2
2
  <icon-wc name="palette" label="Theme settings"></icon-wc>
3
- `,this.prepend(this.#t)),this.#t.setAttribute("aria-haspopup","dialog"),this.#t.setAttribute("aria-expanded","false")),this.#e=document.createElement("div"),this.#e.className="panel",this.#e.setAttribute("role","dialog"),this.#e.setAttribute("aria-label","Theme settings"),this.#s||(this.#e.id=`theme-panel-${crypto.randomUUID().slice(0,8)}`,this.#t.setAttribute("aria-controls",this.#e.id)),this.#e.innerHTML=this.#A(),this.appendChild(this.#e)}#A(){return this.#g?this.#B():this.#C()}#m(e,a){let s=e.swatchBg,i=e.swatchFg||"white",r=e.icon||"";return`
3
+ `,this.prepend(this.#t)),this.#t.setAttribute("aria-haspopup","dialog"),this.#t.setAttribute("aria-expanded","false")),this.#e=document.createElement("div"),this.#e.className="panel",this.#e.setAttribute("role","dialog"),this.#e.setAttribute("aria-label","Theme settings"),this.#s||(this.#e.id=`theme-panel-${crypto.randomUUID().slice(0,8)}`,this.#t.setAttribute("aria-controls",this.#e.id)),this.#e.innerHTML=this.#C(),this.appendChild(this.#e)}#C(){return this.#g?this.#B():this.#A()}#u(e,a){let s=e.swatchBg,i=e.swatchFg||"white",r=e.icon||"";return`
4
4
  <label class="swatch-cell" title="${e.character?`${e.name} \u2014 ${e.character}`:e.name}">
5
5
  <input
6
6
  type="radio"
@@ -13,7 +13,7 @@ var ce=Object.defineProperty;var le=(t,e)=>()=>(t&&(e=t(t=0)),e);var de=(t,e)=>{
13
13
  <span class="visually-hidden">${e.name}</span>
14
14
  </span>
15
15
  </label>
16
- `}#C(){let{mode:e,brand:a,fluid:s,accent:i}=h.getState(),r=z.filter(n=>n.tier==="showcase");return`
16
+ `}#A(){let{mode:e,brand:a,fluid:s,accent:i}=h.getState(),r=z.filter(n=>n.tier==="showcase");return`
17
17
  <fieldset class="section">
18
18
  <legend>Color Mode</legend>
19
19
  <div class="options" role="radiogroup" aria-label="Color mode">
@@ -50,7 +50,7 @@ var ce=Object.defineProperty;var le=(t,e)=>()=>(t&&(e=t(t=0)),e);var de=(t,e)=>{
50
50
  <fieldset class="section">
51
51
  <legend>Style</legend>
52
52
  <div class="options options--swatch-grid" role="radiogroup" aria-label="Style">
53
- ${x.map(n=>this.#m(n,a)).join("")}
53
+ ${x.map(n=>this.#u(n,a)).join("")}
54
54
  </div>
55
55
  </fieldset>
56
56
 
@@ -60,7 +60,7 @@ var ce=Object.defineProperty;var le=(t,e)=>()=>(t&&(e=t(t=0)),e);var de=(t,e)=>{
60
60
  <div class="theme-category">
61
61
  <span class="category-label">${n.label}</span>
62
62
  <div class="options options--swatch-grid">
63
- ${n.themes.map(o=>this.#m(o,a)).join("")}
63
+ ${n.themes.map(o=>this.#u(o,a)).join("")}
64
64
  </div>
65
65
  </div>
66
66
  `).join("")}
@@ -72,7 +72,7 @@ var ce=Object.defineProperty;var le=(t,e)=>()=>(t&&(e=t(t=0)),e);var de=(t,e)=>{
72
72
  <icon-wc name="chevron-down" class="chevron"></icon-wc>
73
73
  </summary>
74
74
  <div class="options options--swatch-grid">
75
- ${T.map(n=>this.#m(n,a)).join("")}
75
+ ${T.map(n=>this.#u(n,a)).join("")}
76
76
  </div>
77
77
  </details>
78
78
 
@@ -100,7 +100,7 @@ var ce=Object.defineProperty;var le=(t,e)=>()=>(t&&(e=t(t=0)),e);var de=(t,e)=>{
100
100
  <fieldset class="section">
101
101
  <legend>Sizing</legend>
102
102
  <div class="options options--sizing" role="radiogroup" aria-label="Fluid sizing">
103
- ${j.map(n=>`
103
+ ${q.map(n=>`
104
104
  <label class="option option--sizing">
105
105
  <input
106
106
  type="radio"
@@ -127,7 +127,7 @@ var ce=Object.defineProperty;var le=(t,e)=>()=>(t&&(e=t(t=0)),e);var de=(t,e)=>{
127
127
  <icon-wc name="chevron-down" class="chevron"></icon-wc>
128
128
  </summary>
129
129
  <div class="extensions-content">
130
- ${V.map(n=>{let c=this.#u()[n.id]??D[n.id];return`
130
+ ${V.map(n=>{let c=this.#m()[n.id]??P[n.id];return`
131
131
  <label class="extension-toggle">
132
132
  <span class="extension-info">
133
133
  <icon-wc name="${n.icon}"></icon-wc>
@@ -144,7 +144,7 @@ var ce=Object.defineProperty;var le=(t,e)=>()=>(t&&(e=t(t=0)),e);var de=(t,e)=>{
144
144
  `}).join("")}
145
145
  </div>
146
146
  </details>
147
- `}#B(){let{mode:e,brand:a,fluid:s,accent:i}=h.getState(),r=this.#d(),n=this.#u();return`
147
+ `}#B(){let{mode:e,brand:a,fluid:s,accent:i}=h.getState(),r=this.#d(),n=this.#m();return`
148
148
  <fieldset class="section">
149
149
  <legend>Color Mode</legend>
150
150
  <div class="compact-segmented" role="radiogroup" aria-label="Color mode">
@@ -185,7 +185,7 @@ var ce=Object.defineProperty;var le=(t,e)=>()=>(t&&(e=t(t=0)),e);var de=(t,e)=>{
185
185
  <fieldset class="section">
186
186
  <legend>Sizing</legend>
187
187
  <select class="compact-select" name="theme-fluid-select" aria-label="Sizing">
188
- ${j.map(o=>`
188
+ ${q.map(o=>`
189
189
  <option value="${o.id}" ${s===o.id?"selected":""}>${o.name}</option>
190
190
  `).join("")}
191
191
  </select>
@@ -213,10 +213,10 @@ var ce=Object.defineProperty;var le=(t,e)=>()=>(t&&(e=t(t=0)),e);var de=(t,e)=>{
213
213
  <span class="extension-info">
214
214
  <span class="extension-name">${o.name}</span>
215
215
  </span>
216
- <input type="checkbox" name="ext-${o.id}" data-extension="${o.id}" data-switch="sm" ${n[o.id]??D[o.id]?"checked":""} />
216
+ <input type="checkbox" name="ext-${o.id}" data-extension="${o.id}" data-switch="sm" ${n[o.id]??P[o.id]?"checked":""} />
217
217
  </label>
218
218
  `).join("")}
219
219
  </div>
220
220
  </fieldset>
221
- `}#x(){this.#e.querySelectorAll('input[name="theme-mode"]').forEach(r=>{r.addEventListener("change",this.#P)}),this.#e.querySelectorAll('input[name="theme-brand"]').forEach(r=>{r.addEventListener("change",this.#D)});let e=this.#e.querySelector('select[name="theme-brand-select"]');e&&e.addEventListener("change",this.#L),this.#e.querySelectorAll('input[name="theme-fluid"]').forEach(r=>{r.addEventListener("change",this.#y)});let a=this.#e.querySelector('select[name="theme-fluid-select"]');a&&a.addEventListener("change",this.#y),this.#e.querySelectorAll('input[name="theme-accent"]').forEach(r=>{r.addEventListener("change",this.#w)});let s=this.#e.querySelector('select[name="theme-accent-select"]');s&&s.addEventListener("change",this.#w),this.#e.querySelectorAll("input[data-extension]").forEach(r=>{r.addEventListener("change",this.#O)}),this.#e.querySelectorAll("input[data-a11y-theme]").forEach(r=>{r.addEventListener("change",this.#q)}),this.#e.querySelector(".section--extensions")?.addEventListener("toggle",r=>{this.#f=r.target.open}),this.#s||(this.listen(this.#t,"click",this.#_),this.listen(document,"click",this.#M),this.listen(document,"keydown",this.#F))}#_=e=>{e.stopPropagation(),this.toggle()};#M=e=>{this.#a&&!this.contains(e.target)&&this.close()};#F=e=>{e.key==="Escape"&&this.#a&&(e.preventDefault(),this.close(),this.#t?.focus())};#P=e=>{h.setMode(e.target.value),this.#o()};#D=async e=>{let a=e.target.closest(".swatch-cell");a&&a.setAttribute("aria-busy","true");try{await h.setBrand(e.target.value)}catch{console.warn("[VB] Theme load failed, using default")}finally{a&&a.removeAttribute("aria-busy")}this.#h(),this.#o()};#L=async e=>{let a=e.target;a.disabled=!0;try{await h.setBrand(a.value)}catch{console.warn("[VB] Theme load failed, using default")}finally{a.disabled=!1}this.#h(),this.#o()};#y=e=>{h.setFluid(e.target.value),this.#o()};#w=e=>{h.setAccent(e.target.value),this.#o()};#O=e=>{let a=e.target.dataset.extension,s=e.target.checked;this.#I(a,s),this.#b()};#u(){return{...this.#r}}#I(e,a){this.#r={...this.#r,[e]:a},u.set(P,"extensions",this.#r).catch(()=>{})}async#b(){let e=this.#u(),a=document.documentElement;e.motionFx?delete a.dataset.motionReduced:a.dataset.motionReduced="",e.sounds?(E||(E=(await Promise.resolve().then(()=>(oe(),re))).SoundManager),E.init(),E.enable()):E&&E.disable(),window.dispatchEvent(new CustomEvent("vb:extensions-change",{detail:e}))}#d(){return[...this.#l]}#R(e){this.#l=[...e],u.set(P,"a11y",this.#l).catch(()=>{})}#h(){let e=this.#d(),{brand:a}=h.getState(),s=document.documentElement,i=a==="default"?e.join(" "):[a,...e].join(" "),r=s.dataset.theme||"";i!==r&&(i?s.dataset.theme=i:delete s.dataset.theme)}#q=e=>{let a=e.target.dataset.a11yTheme,s=e.target.checked,i=this.#d();if(s&&!i.includes(a))i.push(a);else if(!s&&i.includes(a)){let r=i.indexOf(a);i.splice(r,1)}this.#R(i),this.#h()};#o(){this.#s||(this.#p(),this.#c=setTimeout(()=>{this.close(),this.#t?.focus()},t.#i))}#p(){this.#c&&(clearTimeout(this.#c),this.#c=null)}#j=()=>{this.#v()};#v(){let{mode:e,brand:a,fluid:s,accent:i}=h.getState(),r=this.#e.querySelector(`input[name="theme-mode"][value="${e}"]`);r&&(r.checked=!0);let n=this.#e.querySelector(`input[name="theme-brand"][value="${a}"]`);n&&(n.checked=!0);let o=this.#e.querySelector('select[name="theme-brand-select"]');o&&(o.value=a);let c=this.#e.querySelector(`input[name="theme-fluid"][value="${s}"]`);c&&(c.checked=!0);let p=this.#e.querySelector('select[name="theme-fluid-select"]');p&&(p.value=s);let m=this.#e.querySelector(`input[name="theme-accent"][value="${i||"default"}"]`);m&&(m.checked=!0);let f=this.#e.querySelector('select[name="theme-accent-select"]');f&&(f.value=i||"default"),this.#e.querySelectorAll(".swatch-dtcg").forEach(l=>this.#E(l))}async#H(){let e=await be();if(!(!e||!this.#e?.isConnected))for(let a of this.#e.querySelectorAll('input[name="theme-brand"]')){let s=a.value,i=e[s];if(!i?.dtcg)continue;let r=a.closest(".swatch-cell");if(!r||r.parentElement?.classList.contains("swatch-cell-group"))continue;let n=document.createElement("span");n.className="swatch-cell-group",r.parentNode.insertBefore(n,r),n.appendChild(r);let o=document.createElement("a");o.className="swatch-dtcg",o.dataset.dtcg=i.dtcg,i.dtcgDark&&(o.dataset.dtcgDark=i.dtcgDark),o.setAttribute("download","");let c=r.getAttribute("title")||s;o.setAttribute("aria-label",`Download ${c} as DTCG tokens.json`),o.setAttribute("title",`Download ${c} as DTCG`),o.innerHTML='<icon-wc name="download" size="xs"></icon-wc>',this.#E(o),o.addEventListener("click",()=>{this.dispatchEvent(new CustomEvent("theme-picker:dtcg-download",{bubbles:!0,detail:{themeId:s,href:o.href}}))}),n.appendChild(o)}}#E(e){let a=h.getState().mode,i=(a==="dark"||a==="auto"&&typeof matchMedia=="function"&&matchMedia("(prefers-color-scheme: dark)").matches)&&e.dataset.dtcgDark?e.dataset.dtcgDark:e.dataset.dtcg;e.href=`/cdn/themes/${i}`}open(){this.#s||this.#a||(this.#a=!0,this.setAttribute("open",""),this.#t?.setAttribute("aria-expanded","true"),requestAnimationFrame(()=>{this.#S(),window.addEventListener("scroll",this.#n,{capture:!0,passive:!0}),window.addEventListener("resize",this.#n,{passive:!0}),this.#e.querySelector('input[type="radio"]:checked')?.focus()}),this.dispatchEvent(new CustomEvent("theme-picker:open",{bubbles:!0})))}#S(){if(!this.#t||!this.#e)return;let e=this.#t.getBoundingClientRect(),a=this.#e.getBoundingClientRect(),s=window.visualViewport||{width:window.innerWidth,height:window.innerHeight},i=s.height,r=s.width,n=8,o=16,c=i-e.bottom-o,p=e.top-o,m=e.height+n;c<a.height&&p>c?(m=-a.height-n,this.#e.dataset.position="top"):delete this.#e.dataset.position;let f=r-e.right,l=e.right-a.width;if(this.#e.style.setProperty("--panel-top",`${m}px`),l<o){let y=0,S=e.left+a.width+o;S>r&&(y=r-S),e.left+y<o&&(y=o-e.left),this.#e.style.setProperty("--panel-left",`${y}px`),this.#e.style.setProperty("--panel-right","auto")}else{let y=Math.max(0,o-f);this.#e.style.setProperty("--panel-left","auto"),this.#e.style.setProperty("--panel-right",`${y}px`)}}close(){this.#s||!this.#a||(this.#p(),this.#a=!1,this.removeAttribute("open"),this.#t?.setAttribute("aria-expanded","false"),window.removeEventListener("scroll",this.#n,{capture:!0}),window.removeEventListener("resize",this.#n),this.dispatchEvent(new CustomEvent("theme-picker:close",{bubbles:!0})))}toggle(){this.#a?this.close():this.open()}get isOpen(){return this.#a}};K("theme-picker",W);export{W as ThemePicker};
221
+ `}#x(){this.#e.querySelectorAll('input[name="theme-mode"]').forEach(r=>{r.addEventListener("change",this.#D)}),this.#e.querySelectorAll('input[name="theme-brand"]').forEach(r=>{r.addEventListener("change",this.#P)});let e=this.#e.querySelector('select[name="theme-brand-select"]');e&&e.addEventListener("change",this.#L),this.#e.querySelectorAll('input[name="theme-fluid"]').forEach(r=>{r.addEventListener("change",this.#y)});let a=this.#e.querySelector('select[name="theme-fluid-select"]');a&&a.addEventListener("change",this.#y),this.#e.querySelectorAll('input[name="theme-accent"]').forEach(r=>{r.addEventListener("change",this.#w)});let s=this.#e.querySelector('select[name="theme-accent-select"]');s&&s.addEventListener("change",this.#w),this.#e.querySelectorAll("input[data-extension]").forEach(r=>{r.addEventListener("change",this.#O)}),this.#e.querySelectorAll("input[data-a11y-theme]").forEach(r=>{r.addEventListener("change",this.#j)}),this.#e.querySelector(".section--extensions")?.addEventListener("toggle",r=>{this.#f=r.target.open}),this.#s||(this.listen(this.#t,"click",this.#_),this.listen(document,"click",this.#M),this.listen(document,"keydown",this.#F))}#_=e=>{e.stopPropagation(),this.toggle()};#M=e=>{this.#a&&!this.contains(e.target)&&this.close()};#F=e=>{e.key==="Escape"&&this.#a&&(e.preventDefault(),this.close(),this.#t?.focus())};#D=e=>{h.setMode(e.target.value),this.#o()};#P=async e=>{let a=e.target.closest(".swatch-cell");a&&a.setAttribute("aria-busy","true");try{await h.setBrand(e.target.value)}catch{console.warn("[VB] Theme load failed, using default")}finally{a&&a.removeAttribute("aria-busy")}this.#h(),this.#o()};#L=async e=>{let a=e.target;a.disabled=!0;try{await h.setBrand(a.value)}catch{console.warn("[VB] Theme load failed, using default")}finally{a.disabled=!1}this.#h(),this.#o()};#y=e=>{h.setFluid(e.target.value),this.#o()};#w=e=>{h.setAccent(e.target.value),this.#o()};#O=e=>{let a=e.target.dataset.extension,s=e.target.checked;this.#I(a,s),this.#b()};#m(){return{...this.#r}}#I(e,a){this.#r={...this.#r,[e]:a},m.set(D,"extensions",this.#r).catch(()=>{})}async#b(){let e=this.#m(),a=document.documentElement;e.motionFx?delete a.dataset.motionReduced:a.dataset.motionReduced="",e.sounds?(E||(E=(await Promise.resolve().then(()=>(oe(),re))).SoundManager),E.init(),E.enable()):E&&E.disable(),window.dispatchEvent(new CustomEvent("vb:extensions-change",{detail:e}))}#d(){return[...this.#l]}#R(e){this.#l=[...e],m.set(D,"a11y",this.#l).catch(()=>{})}#h(){let e=this.#d(),{brand:a}=h.getState(),s=document.documentElement,i=a==="default"?e.join(" "):[a,...e].join(" "),r=s.dataset.theme||"";i!==r&&(i?s.dataset.theme=i:delete s.dataset.theme)}#j=e=>{let a=e.target.dataset.a11yTheme,s=e.target.checked,i=this.#d();if(s&&!i.includes(a))i.push(a);else if(!s&&i.includes(a)){let r=i.indexOf(a);i.splice(r,1)}this.#R(i),this.#h()};#o(){this.#s||(this.#p(),this.#c=setTimeout(()=>{this.close(),this.#t?.focus()},t.#i))}#p(){this.#c&&(clearTimeout(this.#c),this.#c=null)}#q=()=>{this.#v()};#v(){let{mode:e,brand:a,fluid:s,accent:i}=h.getState(),r=this.#e.querySelector(`input[name="theme-mode"][value="${e}"]`);r&&(r.checked=!0);let n=this.#e.querySelector(`input[name="theme-brand"][value="${a}"]`);n&&(n.checked=!0);let o=this.#e.querySelector('select[name="theme-brand-select"]');o&&(o.value=a);let c=this.#e.querySelector(`input[name="theme-fluid"][value="${s}"]`);c&&(c.checked=!0);let p=this.#e.querySelector('select[name="theme-fluid-select"]');p&&(p.value=s);let u=this.#e.querySelector(`input[name="theme-accent"][value="${i||"default"}"]`);u&&(u.checked=!0);let y=this.#e.querySelector('select[name="theme-accent-select"]');y&&(y.value=i||"default"),this.#e.querySelectorAll(".swatch-dtcg").forEach(l=>this.#E(l))}async#H(){let e=await ve();if(!(!e||!this.#e?.isConnected))for(let a of this.#e.querySelectorAll('input[name="theme-brand"]')){let s=a.value,i=e[s];if(!i?.dtcg)continue;let r=a.closest(".swatch-cell");if(!r||r.parentElement?.classList.contains("swatch-cell-group"))continue;let n=document.createElement("span");n.className="swatch-cell-group",r.parentNode.insertBefore(n,r),n.appendChild(r);let o=document.createElement("a");o.className="swatch-dtcg",o.dataset.dtcg=i.dtcg,i.dtcgDark&&(o.dataset.dtcgDark=i.dtcgDark),o.setAttribute("download","");let c=r.getAttribute("title")||s;o.setAttribute("aria-label",`Download ${c} as DTCG tokens.json`),o.setAttribute("title",`Download ${c} as DTCG`),o.innerHTML='<icon-wc name="download" size="xs"></icon-wc>',this.#E(o),o.addEventListener("click",()=>{this.dispatchEvent(new CustomEvent("theme-picker:dtcg-download",{bubbles:!0,detail:{themeId:s,href:o.href}}))}),n.appendChild(o)}}#E(e){let a=h.getState().mode,i=(a==="dark"||a==="auto"&&typeof matchMedia=="function"&&matchMedia("(prefers-color-scheme: dark)").matches)&&e.dataset.dtcgDark?e.dataset.dtcgDark:e.dataset.dtcg;e.href=`/cdn/themes/${i}`}open(){this.#s||this.#a||(this.#a=!0,this.setAttribute("open",""),this.#t?.setAttribute("aria-expanded","true"),requestAnimationFrame(()=>{this.#S(),window.addEventListener("scroll",this.#n,{capture:!0,passive:!0}),window.addEventListener("resize",this.#n,{passive:!0}),this.#e.querySelector('input[type="radio"]:checked')?.focus()}),this.dispatchEvent(new CustomEvent("theme-picker:open",{bubbles:!0})))}#S(){if(!this.#t||!this.#e)return;let e=this.#t.getBoundingClientRect(),a=this.#e.getBoundingClientRect(),s=window.visualViewport||{width:window.innerWidth,height:window.innerHeight},i=s.height,r=s.width,n=8,o=16,c=i-e.bottom-o,p=e.top-o,u=e.height+n;c<a.height&&p>c?(u=-a.height-n,this.#e.dataset.position="top"):delete this.#e.dataset.position;let y=r-e.right,l=e.right-a.width;if(this.#e.style.setProperty("--panel-top",`${u}px`),l<o){let w=0,S=e.left+a.width+o;S>r&&(w=r-S),e.left+w<o&&(w=o-e.left),this.#e.style.setProperty("--panel-left",`${w}px`),this.#e.style.setProperty("--panel-right","auto")}else{let w=Math.max(0,o-y);this.#e.style.setProperty("--panel-left","auto"),this.#e.style.setProperty("--panel-right",`${w}px`)}}close(){this.#s||!this.#a||(this.#p(),this.#a=!1,this.removeAttribute("open"),this.#t?.setAttribute("aria-expanded","false"),window.removeEventListener("scroll",this.#n,{capture:!0}),window.removeEventListener("resize",this.#n),this.dispatchEvent(new CustomEvent("theme-picker:close",{bubbles:!0})))}toggle(){this.#a?this.close():this.open()}get isOpen(){return this.#a}};K("theme-picker",W);export{W as ThemePicker};
222
222
  //# sourceMappingURL=theme-picker.js.map
@@ -0,0 +1,2 @@
1
+ @layer bundle-effects{[data-theme~=journal] mark{--_hl: var(--_journal-butter);background:linear-gradient(transparent 8%,var(--_hl) 8% 86%,transparent 86%);color:inherit;mix-blend-mode:multiply;padding:0 .12em;border-radius:2px;-webkit-box-decoration-break:clone;box-decoration-break:clone}[data-theme~=journal] mark[data-tint=mint]{--_hl: var(--_journal-mint)}[data-theme~=journal] mark[data-tint=coral]{--_hl: var(--_journal-coral)}[data-theme~=journal] mark[data-tint=sky]{--_hl: var(--_journal-sky)}[data-theme~=journal] mark[data-tint=lilac]{--_hl: var(--_journal-lilac)}[data-theme~=journal] mark[data-tint=blush]{--_hl: var(--_journal-blush)}[data-theme~=journal] mark[data-tint=butter]{--_hl: var(--_journal-butter)}[data-theme~=journal][data-mode=dark] mark{mix-blend-mode:screen}@media(prefers-color-scheme:dark){[data-theme~=journal]:not([data-mode=light]) mark{mix-blend-mode:screen}}}@layer bundle-effects{[data-theme~=journal] hr[data-ornament=doodle]{border:none;height:24px;margin-block:2rem;background:var(--color-text);opacity:.7;-webkit-mask:center / 300px 24px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='24'%3E%3Cpath d='M4 14 Q40 3 76 14 T148 14 T220 14 T292 14' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E");mask:center / 300px 24px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='24'%3E%3Cpath d='M4 14 Q40 3 76 14 T148 14 T220 14 T292 14' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E")}[data-theme~=journal] hr[data-ornament=doodle]:before{content:""}}@layer bundle-effects{[data-theme~=journal] [data-callout=sticky]{background:linear-gradient(180deg,oklch(1 0 0 / .35),transparent 22%),var(--_journal-butter);color:var(--_journal-ink);font-family:var(--_journal-hand);padding:1.25rem 1.5rem;border:none;border-radius:1px;transform:rotate(-2deg);box-shadow:var(--shadow-lg);position:relative}[data-theme~=journal] [data-callout=sticky]:after{content:"";position:absolute;right:0;bottom:0;width:26px;height:26px;clip-path:polygon(100% 0,100% 100%,0 100%);background:linear-gradient(135deg,#dccb86,#b09d63);box-shadow:-2px -2px 5px #0000002e}}@layer bundle-effects{[data-theme~=journal] [data-journal=photo]{background:#fff;padding:11px 11px 40px;max-width:240px;border:none;border-radius:1px;transform:rotate(2deg);box-shadow:var(--shadow-lg);position:relative;margin:0}[data-theme~=journal] [data-journal=photo] :is(img,svg){display:block;width:100%;height:auto}[data-theme~=journal] [data-journal=photo] figcaption{font-family:var(--_journal-hand);text-align:center;margin-top:8px;color:var(--_journal-ink)}[data-theme~=journal] [data-journal=photo]:before,[data-theme~=journal] [data-journal=photo]:after{content:"";position:absolute;top:-9px;width:62px;height:22px;background:#c7edef8c;mix-blend-mode:multiply;box-shadow:0 1px 2px #00000024}[data-theme~=journal] [data-journal=photo]:before{left:-14px;transform:rotate(-38deg)}[data-theme~=journal] [data-journal=photo]:after{right:-14px;transform:rotate(38deg)}[data-theme~=journal][data-mode=dark] [data-journal=photo]:before,[data-theme~=journal][data-mode=dark] [data-journal=photo]:after{mix-blend-mode:screen}@media(prefers-color-scheme:dark){[data-theme~=journal]:not([data-mode=light]) [data-journal=photo]:before,[data-theme~=journal]:not([data-mode=light]) [data-journal=photo]:after{mix-blend-mode:screen}}}@layer bundle-effects{[data-theme~=journal] [data-journal=rapid-log]{list-style:none;margin:0;padding:0;font-family:var(--_journal-hand)}[data-theme~=journal] [data-journal=rapid-log]>li{display:flex;gap:.6em;align-items:baseline;padding:.3em 0}[data-theme~=journal] [data-journal=rapid-log]>li:before{content:"\2022";flex:none;width:1.1em;text-align:center;color:var(--color-text-muted);font-weight:700}[data-theme~=journal] [data-journal=rapid-log]>li[data-bullet=done]:before{content:"\2713"}[data-theme~=journal] [data-journal=rapid-log]>li[data-bullet=dropped]:before{content:"\2717";color:var(--color-text-subtle)}[data-theme~=journal] [data-journal=rapid-log]>li[data-bullet=migrated]:before{content:"\203a"}[data-theme~=journal] [data-journal=rapid-log]>li[data-bullet=event]:before{content:"\25cb"}[data-theme~=journal] [data-journal=rapid-log]>li[data-bullet=note]:before{content:"\2014"}[data-theme~=journal] [data-journal=rapid-log]>li[data-bullet=done]{color:var(--color-text-muted);text-decoration:line-through;text-decoration-color:var(--_journal-coral);text-decoration-thickness:2px}[data-theme~=journal] [data-journal=rapid-log]>li[data-bullet=dropped]{color:var(--color-text-subtle);text-decoration:line-through}[data-theme~=journal] [data-journal=key]{font-family:var(--font-mono);font-size:.72rem;color:var(--color-text-muted);border-top:1px dashed var(--color-border);padding-top:.6em;margin-top:.8em;display:flex;flex-wrap:wrap;gap:.2em 1em}}@layer bundle-effects{[data-theme~=journal] [data-journal=tracker]{border-collapse:collapse;width:100%;font-family:var(--_journal-hand)}[data-theme~=journal] [data-journal=tracker] th{font-family:var(--font-mono);font-size:.7rem;font-weight:600;color:var(--color-text-muted);letter-spacing:.06em;padding:0 0 .5em}[data-theme~=journal] [data-journal=tracker] td{text-align:center;padding:.25em 0}[data-theme~=journal] [data-journal=tracker] th[scope=row],[data-theme~=journal] [data-journal=tracker] td[data-lab]{text-align:left;color:var(--color-text);padding-right:.5em;white-space:nowrap}[data-theme~=journal] [data-journal=tracker] td[data-mark]:before{content:"";display:inline-block;width:16px;height:16px;border-radius:50%;border:2px solid var(--color-border);vertical-align:middle}[data-theme~=journal] [data-journal=tracker] td[data-mark=done]:before{background:var(--_c, var(--_journal-mint));border-color:transparent}}@layer bundle-effects{[data-theme~=journal] [data-journal=tabs]{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}[data-theme~=journal] [data-journal=tabs] :is(a,button){display:inline-block;font-family:var(--_journal-hand);font-weight:600;font-size:.9rem;color:var(--_journal-ink);text-decoration:none;padding:7px 14px;border:none;border-radius:0 8px 8px 0;box-shadow:2px 2px 5px #00000029;background:var(--_journal-mint);cursor:pointer;transition:transform .15s var(--ease-out)}[data-theme~=journal] [data-journal=tabs] :is(a,button):nth-child(2 of:is(a,button)){background:var(--_journal-sky)}[data-theme~=journal] [data-journal=tabs] :is(a,button):nth-child(3 of:is(a,button)){background:var(--_journal-blush)}[data-theme~=journal] [data-journal=tabs] :is(a,button):nth-child(4 of:is(a,button)){background:var(--_journal-butter)}[data-theme~=journal] [data-journal=tabs] :is(a,button):hover{transform:translate(6px)}@media(prefers-reduced-motion:reduce){[data-theme~=journal] [data-journal=tabs] :is(a,button){transition:none}[data-theme~=journal] [data-journal=tabs] :is(a,button):hover{transform:none}}}@layer bundle-effects{[data-theme~=journal] [data-journal=page]{position:relative;padding:56px 48px 64px 78px;border-radius:4px;background:radial-gradient(circle,var(--_journal-dot) 1.3px,transparent 1.7px) 8px 8px / 22px 22px,var(--_journal-paper);box-shadow:var(--shadow-xl);color:var(--_journal-ink)}[data-theme~=journal] [data-journal=page]:before{content:"";position:absolute;left:62px;top:0;bottom:0;border-left:1.5px solid var(--_journal-margin);opacity:.55}[data-theme~=journal] [data-journal=page]:after{content:"";position:absolute;left:16px;top:30px;bottom:30px;width:12px;background:radial-gradient(circle,oklch(.86 .02 80) 5px,transparent 6px) center top / 12px 60px repeat-y}[data-theme~=journal] [data-journal=ribbon]{position:absolute;top:-6px;right:64px;width:26px;height:96px;background:var(--_journal-coral);clip-path:polygon(0 0,100% 0,100% 100%,50% 84%,0 100%);box-shadow:0 4px 8px #0003}[data-theme~=journal] [data-journal=stamp]{position:absolute;top:12px;right:120px;transform:rotate(-11deg);font-family:var(--font-mono);font-weight:700;font-size:11px;letter-spacing:.12em;color:var(--_journal-margin);border:2px solid var(--_journal-margin);border-radius:6px;padding:6px 10px;opacity:.62;mix-blend-mode:multiply;text-align:center;line-height:1.25}}
2
+ /*# sourceMappingURL=journal.effects.css.map */
@@ -0,0 +1,2 @@
1
+ @layer bundle-effects{[data-theme~=journal] mark{--_hl: var(--_journal-butter);background:linear-gradient(transparent 8%,var(--_hl) 8% 86%,transparent 86%);color:inherit;mix-blend-mode:multiply;padding:0 .12em;border-radius:2px;-webkit-box-decoration-break:clone;box-decoration-break:clone}[data-theme~=journal] mark[data-tint=mint]{--_hl: var(--_journal-mint)}[data-theme~=journal] mark[data-tint=coral]{--_hl: var(--_journal-coral)}[data-theme~=journal] mark[data-tint=sky]{--_hl: var(--_journal-sky)}[data-theme~=journal] mark[data-tint=lilac]{--_hl: var(--_journal-lilac)}[data-theme~=journal] mark[data-tint=blush]{--_hl: var(--_journal-blush)}[data-theme~=journal] mark[data-tint=butter]{--_hl: var(--_journal-butter)}[data-theme~=journal][data-mode=dark] mark{mix-blend-mode:screen}@media(prefers-color-scheme:dark){[data-theme~=journal]:not([data-mode=light]) mark{mix-blend-mode:screen}}}@layer bundle-effects{[data-theme~=journal] hr[data-ornament=doodle]{border:none;height:24px;margin-block:2rem;background:var(--color-text);opacity:.7;-webkit-mask:center / 300px 24px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='24'%3E%3Cpath d='M4 14 Q40 3 76 14 T148 14 T220 14 T292 14' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E");mask:center / 300px 24px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='24'%3E%3Cpath d='M4 14 Q40 3 76 14 T148 14 T220 14 T292 14' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E")}[data-theme~=journal] hr[data-ornament=doodle]:before{content:""}}@layer bundle-effects{[data-theme~=journal] [data-callout=sticky]{background:linear-gradient(180deg,oklch(1 0 0 / .35),transparent 22%),var(--_journal-butter);color:var(--_journal-ink);font-family:var(--_journal-hand);padding:1.25rem 1.5rem;border:none;border-radius:1px;transform:rotate(-2deg);box-shadow:var(--shadow-lg);position:relative}[data-theme~=journal] [data-callout=sticky]:after{content:"";position:absolute;right:0;bottom:0;width:26px;height:26px;clip-path:polygon(100% 0,100% 100%,0 100%);background:linear-gradient(135deg,#dccb86,#b09d63);box-shadow:-2px -2px 5px #0000002e}}@layer bundle-effects{[data-theme~=journal] [data-journal=photo]{background:#fff;padding:11px 11px 40px;max-width:240px;border:none;border-radius:1px;transform:rotate(2deg);box-shadow:var(--shadow-lg);position:relative;margin:0}[data-theme~=journal] [data-journal=photo] :is(img,svg){display:block;width:100%;height:auto}[data-theme~=journal] [data-journal=photo] figcaption{font-family:var(--_journal-hand);text-align:center;margin-top:8px;color:var(--_journal-ink)}[data-theme~=journal] [data-journal=photo]:before,[data-theme~=journal] [data-journal=photo]:after{content:"";position:absolute;top:-9px;width:62px;height:22px;background:#c7edef8c;mix-blend-mode:multiply;box-shadow:0 1px 2px #00000024}[data-theme~=journal] [data-journal=photo]:before{left:-14px;transform:rotate(-38deg)}[data-theme~=journal] [data-journal=photo]:after{right:-14px;transform:rotate(38deg)}[data-theme~=journal][data-mode=dark] [data-journal=photo]:before,[data-theme~=journal][data-mode=dark] [data-journal=photo]:after{mix-blend-mode:screen}@media(prefers-color-scheme:dark){[data-theme~=journal]:not([data-mode=light]) [data-journal=photo]:before,[data-theme~=journal]:not([data-mode=light]) [data-journal=photo]:after{mix-blend-mode:screen}}}@layer bundle-effects{[data-theme~=journal] [data-journal=rapid-log]{list-style:none;margin:0;padding:0;font-family:var(--_journal-hand)}[data-theme~=journal] [data-journal=rapid-log]>li{display:flex;gap:.6em;align-items:baseline;padding:.3em 0}[data-theme~=journal] [data-journal=rapid-log]>li:before{content:"\2022";flex:none;width:1.1em;text-align:center;color:var(--color-text-muted);font-weight:700}[data-theme~=journal] [data-journal=rapid-log]>li[data-bullet=done]:before{content:"\2713"}[data-theme~=journal] [data-journal=rapid-log]>li[data-bullet=dropped]:before{content:"\2717";color:var(--color-text-subtle)}[data-theme~=journal] [data-journal=rapid-log]>li[data-bullet=migrated]:before{content:"\203a"}[data-theme~=journal] [data-journal=rapid-log]>li[data-bullet=event]:before{content:"\25cb"}[data-theme~=journal] [data-journal=rapid-log]>li[data-bullet=note]:before{content:"\2014"}[data-theme~=journal] [data-journal=rapid-log]>li[data-bullet=done]{color:var(--color-text-muted);text-decoration:line-through;text-decoration-color:var(--_journal-coral);text-decoration-thickness:2px}[data-theme~=journal] [data-journal=rapid-log]>li[data-bullet=dropped]{color:var(--color-text-subtle);text-decoration:line-through}[data-theme~=journal] [data-journal=key]{font-family:var(--font-mono);font-size:.72rem;color:var(--color-text-muted);border-top:1px dashed var(--color-border);padding-top:.6em;margin-top:.8em;display:flex;flex-wrap:wrap;gap:.2em 1em}}@layer bundle-effects{[data-theme~=journal] [data-journal=tracker]{border-collapse:collapse;width:100%;font-family:var(--_journal-hand)}[data-theme~=journal] [data-journal=tracker] th{font-family:var(--font-mono);font-size:.7rem;font-weight:600;color:var(--color-text-muted);letter-spacing:.06em;padding:0 0 .5em}[data-theme~=journal] [data-journal=tracker] td{text-align:center;padding:.25em 0}[data-theme~=journal] [data-journal=tracker] th[scope=row],[data-theme~=journal] [data-journal=tracker] td[data-lab]{text-align:left;color:var(--color-text);padding-right:.5em;white-space:nowrap}[data-theme~=journal] [data-journal=tracker] td[data-mark]:before{content:"";display:inline-block;width:16px;height:16px;border-radius:50%;border:2px solid var(--color-border);vertical-align:middle}[data-theme~=journal] [data-journal=tracker] td[data-mark=done]:before{background:var(--_c, var(--_journal-mint));border-color:transparent}}@layer bundle-effects{[data-theme~=journal] [data-journal=tabs]{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}[data-theme~=journal] [data-journal=tabs] :is(a,button){display:inline-block;font-family:var(--_journal-hand);font-weight:600;font-size:.9rem;color:var(--_journal-ink);text-decoration:none;padding:7px 14px;border:none;border-radius:0 8px 8px 0;box-shadow:2px 2px 5px #00000029;background:var(--_journal-mint);cursor:pointer;transition:transform .15s var(--ease-out)}[data-theme~=journal] [data-journal=tabs] :is(a,button):nth-child(2 of:is(a,button)){background:var(--_journal-sky)}[data-theme~=journal] [data-journal=tabs] :is(a,button):nth-child(3 of:is(a,button)){background:var(--_journal-blush)}[data-theme~=journal] [data-journal=tabs] :is(a,button):nth-child(4 of:is(a,button)){background:var(--_journal-butter)}[data-theme~=journal] [data-journal=tabs] :is(a,button):hover{transform:translate(6px)}@media(prefers-reduced-motion:reduce){[data-theme~=journal] [data-journal=tabs] :is(a,button){transition:none}[data-theme~=journal] [data-journal=tabs] :is(a,button):hover{transform:none}}}@layer bundle-effects{[data-theme~=journal] [data-journal=page]{position:relative;padding:56px 48px 64px 78px;border-radius:4px;background:radial-gradient(circle,var(--_journal-dot) 1.3px,transparent 1.7px) 8px 8px / 22px 22px,var(--_journal-paper);box-shadow:var(--shadow-xl);color:var(--_journal-ink)}[data-theme~=journal] [data-journal=page]:before{content:"";position:absolute;left:62px;top:0;bottom:0;border-left:1.5px solid var(--_journal-margin);opacity:.55}[data-theme~=journal] [data-journal=page]:after{content:"";position:absolute;left:16px;top:30px;bottom:30px;width:12px;background:radial-gradient(circle,oklch(.86 .02 80) 5px,transparent 6px) center top / 12px 60px repeat-y}[data-theme~=journal] [data-journal=ribbon]{position:absolute;top:-6px;right:64px;width:26px;height:96px;background:var(--_journal-coral);clip-path:polygon(0 0,100% 0,100% 100%,50% 84%,0 100%);box-shadow:0 4px 8px #0003}[data-theme~=journal] [data-journal=stamp]{position:absolute;top:12px;right:120px;transform:rotate(-11deg);font-family:var(--font-mono);font-weight:700;font-size:11px;letter-spacing:.12em;color:var(--_journal-margin);border:2px solid var(--_journal-margin);border-radius:6px;padding:6px 10px;opacity:.62;mix-blend-mode:multiply;text-align:center;line-height:1.25}}
2
+ /*# sourceMappingURL=journal.effects.css.map */
@@ -1,14 +1,4 @@
1
1
  {
2
- "design-system": {
3
- "fullJs": {
4
- "file": "design-system.full.js",
5
- "size": 57037
6
- },
7
- "fullCss": {
8
- "file": "design-system.full.css",
9
- "size": 8342
10
- }
11
- },
12
2
  "effects": {
13
3
  "fullJs": {
14
4
  "file": "effects.full.js",
@@ -91,6 +81,16 @@
91
81
  "size": 1954
92
82
  }
93
83
  },
84
+ "journal": {
85
+ "effectsCss": {
86
+ "file": "journal.effects.css",
87
+ "size": 8326
88
+ },
89
+ "fullCss": {
90
+ "file": "journal.full.css",
91
+ "size": 8326
92
+ }
93
+ },
94
94
  "kawaii": {
95
95
  "themeCss": {
96
96
  "file": "kawaii.theme.css",
@@ -160,7 +160,7 @@
160
160
  "ui": {
161
161
  "fullJs": {
162
162
  "file": "ui.full.js",
163
- "size": 44327
163
+ "size": 44652
164
164
  },
165
165
  "fullCss": {
166
166
  "file": "ui.full.css",
@@ -170,15 +170,5 @@
170
170
  "file": "ui.pack.js",
171
171
  "size": 288
172
172
  }
173
- },
174
- "ux-planning": {
175
- "fullJs": {
176
- "file": "ux-planning.full.js",
177
- "size": 226651
178
- },
179
- "fullCss": {
180
- "file": "ux-planning.full.css",
181
- "size": 25180
182
- }
183
173
  }
184
174
  }