vanilla-breeze 0.1.3 → 0.2.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.
- package/custom-elements.json +25084 -6649
- package/dist/cdn/components/accessibility-specimen.js +11 -0
- package/dist/cdn/components/accordion-wc.js +1 -1
- package/dist/cdn/components/activity-feed.js +2 -0
- package/dist/cdn/components/adr-wc.js +17 -17
- package/dist/cdn/components/ai-chat.js +28 -0
- package/dist/cdn/components/ai-summary.js +10 -0
- package/dist/cdn/components/analytics-panel.js +5 -5
- package/dist/cdn/components/audio-player.js +3 -3
- package/dist/cdn/components/audio-visualizer.js +2 -2
- package/dist/cdn/components/author-index.js +2 -2
- package/dist/cdn/components/brand-mark.js +1 -1
- package/dist/cdn/components/bread-crumb.js +2 -0
- package/dist/cdn/components/breakpoint-specimen.js +26 -0
- package/dist/cdn/components/burndown-chart.js +2 -0
- package/dist/cdn/components/calendar-wc.js +2 -2
- package/dist/cdn/components/capacity-plan.js +25 -0
- package/dist/cdn/components/card-list.js +1 -1
- package/dist/cdn/components/carousel-wc.js +1 -1
- package/dist/cdn/components/change-set.js +2 -2
- package/dist/cdn/components/chart-wc.js +58 -36
- package/dist/cdn/components/chat-input.js +1 -1
- package/dist/cdn/components/chat-window.js +1 -1
- package/dist/cdn/components/color-palette.js +9 -9
- package/dist/cdn/components/color-picker.js +1 -1
- package/dist/cdn/components/combo-box.js +1 -1
- package/dist/cdn/components/command-palette.js +1 -1
- package/dist/cdn/components/comment-box.js +60 -0
- package/dist/cdn/components/comment-thread.js +60 -0
- package/dist/cdn/components/comment-wc.js +1 -1
- package/dist/cdn/components/compare-surface.js +1 -1
- package/dist/cdn/components/component-sampler.js +2 -2
- package/dist/cdn/components/consent-banner.js +1 -1
- package/dist/cdn/components/content-lens.js +1 -1
- package/dist/cdn/components/content-swap.js +1 -1
- package/dist/cdn/components/context-menu.js +1 -1
- package/dist/cdn/components/data-table.js +1 -1
- package/dist/cdn/components/date-picker.js +1 -1
- package/dist/cdn/components/day-view.js +1 -1
- package/dist/cdn/components/diagram-wc.js +3 -0
- package/dist/cdn/components/drag-surface.js +1 -1
- package/dist/cdn/components/drop-down.js +1 -1
- package/dist/cdn/components/emoji-picker.js +1 -1
- package/dist/cdn/components/empathy-map.js +41 -43
- package/dist/cdn/components/flow-diagram.js +1 -1
- package/dist/cdn/components/font-pairer.js +81 -81
- package/dist/cdn/components/foot-notes.js +1 -1
- package/dist/cdn/components/form-field.js +1 -1
- package/dist/cdn/components/gantt-chart.js +1 -1
- package/dist/cdn/components/geo-map.js +25 -23
- package/dist/cdn/components/glossary-index.js +1 -1
- package/dist/cdn/components/glossary-wc.js +1 -1
- package/dist/cdn/components/gradient-builder.js +29 -29
- package/dist/cdn/components/heading-links.js +1 -1
- package/dist/cdn/components/highlight-wc.js +2 -2
- package/dist/cdn/components/icon-wc.js +4 -4
- package/dist/cdn/components/image-gallery.js +1 -1
- package/dist/cdn/components/image-map.js +1 -1
- package/dist/cdn/components/impact-effort.js +1 -1
- package/dist/cdn/components/include-file.js +1 -1
- package/dist/cdn/components/iron-triangle.js +2 -0
- package/dist/cdn/components/kanban-board.js +1 -1
- package/dist/cdn/components/layout-specimen.js +35 -0
- package/dist/cdn/components/manifest.json +227 -103
- package/dist/cdn/components/markdown-editor.js +1 -1
- package/dist/cdn/components/markdown-viewer.js +12 -12
- package/dist/cdn/components/motion-specimen.js +12 -12
- package/dist/cdn/components/nav-bar.js +2 -0
- package/dist/cdn/components/note-wc.js +2 -2
- package/dist/cdn/components/notification-wc.js +4 -4
- package/dist/cdn/components/page-info.js +4 -4
- package/dist/cdn/components/page-stats.js +1 -1
- package/dist/cdn/components/page-toc.js +1 -1
- package/dist/cdn/components/page-tools.js +1 -1
- package/dist/cdn/components/page-tour.js +6 -6
- package/dist/cdn/components/pager-wc.js +2 -0
- package/dist/cdn/components/palette-generator.js +11 -11
- package/dist/cdn/components/poll-wc.js +2 -0
- package/dist/cdn/components/pop-over.js +2 -0
- package/dist/cdn/components/popularity-index.js +2 -2
- package/dist/cdn/components/print-page.js +1 -1
- package/dist/cdn/components/product-roadmap.js +3 -0
- package/dist/cdn/components/progress-tracker.js +2 -0
- package/dist/cdn/components/qr-code.js +1 -1
- package/dist/cdn/components/quadrant-grid.js +3 -0
- package/dist/cdn/components/quality-target.js +12 -0
- package/dist/cdn/components/reaction-bar.js +2 -0
- package/dist/cdn/components/reader-view.js +3 -3
- package/dist/cdn/components/reading-progress.js +2 -0
- package/dist/cdn/components/recently-visited.js +10 -10
- package/dist/cdn/components/requirement-card.js +122 -0
- package/dist/cdn/components/review-surface.js +34 -40
- package/dist/cdn/components/risk-register.js +25 -0
- package/dist/cdn/components/roadmap.js +3 -0
- package/dist/cdn/components/score-card.js +197 -0
- package/dist/cdn/components/selection-menu.js +1 -1
- package/dist/cdn/components/semantic-palette.js +15 -15
- package/dist/cdn/components/settings-panel.js +12 -12
- package/dist/cdn/components/share-wc.js +2 -2
- package/dist/cdn/components/short-cuts.js +1 -1
- package/dist/cdn/components/site-index.js +4 -4
- package/dist/cdn/components/site-map-wc.js +1 -1
- package/dist/cdn/components/site-map.js +1 -1
- package/dist/cdn/components/site-search.js +9 -9
- package/dist/cdn/components/slide-accept.js +1 -1
- package/dist/cdn/components/social-embed.js +1 -1
- package/dist/cdn/components/spacing-specimen.js +5 -5
- package/dist/cdn/components/split-surface.js +1 -1
- package/dist/cdn/components/star-rating.js +1 -1
- package/dist/cdn/components/status-wc.js +2 -0
- package/dist/cdn/components/stepper-wc.js +2 -0
- package/dist/cdn/components/story-map.js +1 -1
- package/dist/cdn/components/tab-set.js +1 -1
- package/dist/cdn/components/text-reader.js +2 -2
- package/dist/cdn/components/theme-catalog.js +28 -0
- package/dist/cdn/components/theme-export.js +20 -12
- package/dist/cdn/components/theme-import.js +44 -0
- package/dist/cdn/components/theme-picker.js +29 -26
- package/dist/cdn/components/time-index.js +2 -2
- package/dist/cdn/components/time-picker.js +1 -1
- package/dist/cdn/components/toast-msg.js +3 -3
- package/dist/cdn/components/token-specimen.js +14 -14
- package/dist/cdn/components/tool-tip.js +1 -1
- package/dist/cdn/components/topic-map.js +3 -3
- package/dist/cdn/components/traceability-matrix.js +3 -0
- package/dist/cdn/components/trust-filter.js +3 -3
- package/dist/cdn/components/type-specimen.js +15 -15
- package/dist/cdn/components/user-journey.js +63 -70
- package/dist/cdn/components/user-persona.js +75 -13
- package/dist/cdn/components/user-story.js +12 -11
- package/dist/cdn/components/version-switcher.js +17 -0
- package/dist/cdn/components/video-player.js +3 -3
- package/dist/cdn/components/watch-wc.js +2 -2
- package/dist/cdn/components/week-view.js +1 -1
- package/dist/cdn/components/work-item.js +29 -28
- package/dist/cdn/components/youtube-player.js +1 -1
- package/dist/cdn/icons/bold.css +17 -0
- package/dist/cdn/icons/bold.json +1 -0
- package/dist/cdn/icons/custom.css +6 -0
- package/dist/cdn/icons/custom.json +1 -0
- package/dist/cdn/icons/lucide.css +1914 -0
- package/dist/cdn/icons/lucide.json +1 -0
- package/dist/cdn/icons/mage.css +17 -0
- package/dist/cdn/icons/mage.json +1 -0
- package/dist/cdn/icons/phosphor.css +17 -0
- package/dist/cdn/icons/phosphor.json +1 -0
- package/dist/cdn/icons/tabler.css +17 -0
- package/dist/cdn/icons/tabler.json +1 -0
- package/dist/cdn/packs/design-system.full.js +59 -51
- package/dist/cdn/packs/effects.full.js +1 -1
- package/dist/cdn/packs/icons.effects.js +1 -1
- package/dist/cdn/packs/icons.full.js +1 -1
- package/dist/cdn/packs/kawaii.full.css +1 -1
- package/dist/cdn/packs/kawaii.full.js +6 -6
- package/dist/cdn/packs/kawaii.theme.css +1 -1
- package/dist/cdn/packs/manifest.json +11 -11
- package/dist/cdn/packs/ui.full.css +1 -1
- package/dist/cdn/packs/ui.full.js +54 -51
- package/dist/cdn/packs/ux-planning.full.css +1 -1
- package/dist/cdn/packs/ux-planning.full.js +318 -243
- package/dist/cdn/themes/8bit.css +1 -1
- package/dist/cdn/themes/8bit.tokens.json +662 -0
- package/dist/cdn/themes/alpha1999-dark.tokens.json +693 -0
- package/dist/cdn/themes/alpha1999.css +1 -1
- package/dist/cdn/themes/alpha1999.tokens.json +869 -0
- package/dist/cdn/themes/anthropic.css +2 -0
- package/dist/cdn/themes/anthropic.tokens.json +564 -0
- package/dist/cdn/themes/art-deco-dark.tokens.json +407 -0
- package/dist/cdn/themes/art-deco.css +1 -1
- package/dist/cdn/themes/art-deco.tokens.json +581 -0
- package/dist/cdn/themes/bauhaus-dark.tokens.json +260 -0
- package/dist/cdn/themes/bauhaus.css +1 -1
- package/dist/cdn/themes/bauhaus.tokens.json +589 -0
- package/dist/cdn/themes/brutalist-dark.tokens.json +503 -0
- package/dist/cdn/themes/brutalist.tokens.json +677 -0
- package/dist/cdn/themes/catalog/atlassian.tokens.json +303 -0
- package/dist/cdn/themes/catalog/bootstrap.tokens.json +304 -0
- package/dist/cdn/themes/catalog/carbon.tokens.json +301 -0
- package/dist/cdn/themes/catalog/catppuccin-mocha.tokens.json +301 -0
- package/dist/cdn/themes/catalog/govuk.tokens.json +301 -0
- package/dist/cdn/themes/catalog/manifest.json +132 -0
- package/dist/cdn/themes/catalog/material.tokens.json +289 -0
- package/dist/cdn/themes/catalog/salesforce.tokens.json +301 -0
- package/dist/cdn/themes/catalog/tailwind.tokens.json +302 -0
- package/dist/cdn/themes/catppuccin-frappe.css +1 -1
- package/dist/cdn/themes/catppuccin-frappe.tokens.json +608 -0
- package/dist/cdn/themes/catppuccin-latte-dark.tokens.json +472 -0
- package/dist/cdn/themes/catppuccin-latte.css +1 -1
- package/dist/cdn/themes/catppuccin-latte.tokens.json +608 -0
- package/dist/cdn/themes/catppuccin-macchiato.css +1 -1
- package/dist/cdn/themes/catppuccin-macchiato.tokens.json +608 -0
- package/dist/cdn/themes/catppuccin-mocha.tokens.json +608 -0
- package/dist/cdn/themes/classic-dark.tokens.json +503 -0
- package/dist/cdn/themes/classic.tokens.json +640 -0
- package/dist/cdn/themes/claymorphism-dark.tokens.json +493 -0
- package/dist/cdn/themes/claymorphism.css +1 -1
- package/dist/cdn/themes/claymorphism.tokens.json +626 -0
- package/dist/cdn/themes/clinical-dark.tokens.json +472 -0
- package/dist/cdn/themes/clinical.tokens.json +608 -0
- package/dist/cdn/themes/cottagecore-dark.tokens.json +412 -0
- package/dist/cdn/themes/cottagecore.css +1 -1
- package/dist/cdn/themes/cottagecore.tokens.json +544 -0
- package/dist/cdn/themes/cyber.tokens.json +668 -0
- package/dist/cdn/themes/dawn-dark.tokens.json +472 -0
- package/dist/cdn/themes/dawn.css +1 -1
- package/dist/cdn/themes/dawn.tokens.json +608 -0
- package/dist/cdn/themes/dracula.tokens.json +534 -0
- package/dist/cdn/themes/dusk.tokens.json +533 -0
- package/dist/cdn/themes/editorial-dark.tokens.json +400 -0
- package/dist/cdn/themes/editorial.tokens.json +690 -0
- package/dist/cdn/themes/financial-dark.tokens.json +472 -0
- package/dist/cdn/themes/financial.css +1 -1
- package/dist/cdn/themes/financial.tokens.json +607 -0
- package/dist/cdn/themes/genai.tokens.json +534 -0
- package/dist/cdn/themes/glassmorphism-dark.tokens.json +489 -0
- package/dist/cdn/themes/glassmorphism.css +1 -1
- package/dist/cdn/themes/glassmorphism.tokens.json +632 -0
- package/dist/cdn/themes/government-dark.tokens.json +472 -0
- package/dist/cdn/themes/government.tokens.json +608 -0
- package/dist/cdn/themes/gruvbox-dark.tokens.json +472 -0
- package/dist/cdn/themes/gruvbox.tokens.json +608 -0
- package/dist/cdn/themes/high-noon-dark.tokens.json +397 -0
- package/dist/cdn/themes/high-noon.tokens.json +533 -0
- package/dist/cdn/themes/ibm.css +2 -0
- package/dist/cdn/themes/ibm.tokens.json +568 -0
- package/dist/cdn/themes/kawaii-dark.tokens.json +549 -0
- package/dist/cdn/themes/kawaii.css +1 -1
- package/dist/cdn/themes/kawaii.tokens.json +641 -0
- package/dist/cdn/themes/magna-dark.tokens.json +482 -0
- package/dist/cdn/themes/magna.css +1 -1
- package/dist/cdn/themes/magna.tokens.json +632 -0
- package/dist/cdn/themes/manifest.json +162 -62
- package/dist/cdn/themes/mcdonalds.css +2 -0
- package/dist/cdn/themes/mcdonalds.tokens.json +533 -0
- package/dist/cdn/themes/midnight.tokens.json +534 -0
- package/dist/cdn/themes/minimal-dark.tokens.json +294 -0
- package/dist/cdn/themes/minimal.tokens.json +494 -0
- package/dist/cdn/themes/modern-dark.tokens.json +490 -0
- package/dist/cdn/themes/modern.tokens.json +573 -0
- package/dist/cdn/themes/nes-dark.tokens.json +564 -0
- package/dist/cdn/themes/nes.css +1 -1
- package/dist/cdn/themes/nes.tokens.json +687 -0
- package/dist/cdn/themes/neumorphism-dark.tokens.json +471 -0
- package/dist/cdn/themes/neumorphism.css +1 -1
- package/dist/cdn/themes/neumorphism.tokens.json +589 -0
- package/dist/cdn/themes/nord-dark.tokens.json +484 -0
- package/dist/cdn/themes/nord.tokens.json +619 -0
- package/dist/cdn/themes/organic-dark.tokens.json +532 -0
- package/dist/cdn/themes/organic.tokens.json +685 -0
- package/dist/cdn/themes/rose-pine-dark.tokens.json +472 -0
- package/dist/cdn/themes/rose-pine.tokens.json +608 -0
- package/dist/cdn/themes/rough-dark.tokens.json +515 -0
- package/dist/cdn/themes/rough.css +1 -1
- package/dist/cdn/themes/rough.tokens.json +650 -0
- package/dist/cdn/themes/solarized-dark.tokens.json +397 -0
- package/dist/cdn/themes/solarized.tokens.json +532 -0
- package/dist/cdn/themes/starbucks.css +2 -0
- package/dist/cdn/themes/starbucks.tokens.json +593 -0
- package/dist/cdn/themes/startup-dark.tokens.json +522 -0
- package/dist/cdn/themes/startup.css +1 -1
- package/dist/cdn/themes/startup.tokens.json +607 -0
- package/dist/cdn/themes/super2026-dark.tokens.json +667 -0
- package/dist/cdn/themes/super2026.tokens.json +863 -0
- package/dist/cdn/themes/swiss-dark.tokens.json +390 -0
- package/dist/cdn/themes/swiss.tokens.json +750 -0
- package/dist/cdn/themes/terminal.css +1 -1
- package/dist/cdn/themes/terminal.tokens.json +689 -0
- package/dist/cdn/themes/tokyo-night-dark.tokens.json +472 -0
- package/dist/cdn/themes/tokyo-night.tokens.json +608 -0
- package/dist/cdn/themes/vaporwave-dark.tokens.json +413 -0
- package/dist/cdn/themes/vaporwave.tokens.json +549 -0
- package/dist/cdn/themes/win9x-dark.tokens.json +563 -0
- package/dist/cdn/themes/win9x.tokens.json +700 -0
- package/dist/cdn/vanilla-breeze-charts.css +1 -1
- package/dist/cdn/vanilla-breeze-charts.js +58 -36
- package/dist/cdn/vanilla-breeze-core.css +1 -1
- package/dist/cdn/vanilla-breeze-core.js +246 -51
- package/dist/cdn/vanilla-breeze-dev.js +1 -1
- package/dist/cdn/vanilla-breeze-extras.js +90 -80
- package/dist/cdn/vanilla-breeze.css +1 -1
- package/dist/cdn/vanilla-breeze.js +1370 -405
- package/package.json +12 -4
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
var me=Object.defineProperty;var pe=(e,t)=>()=>(e&&(t=e(e=0)),t);var fe=(e,t)=>{for(var a in t)me(e,a,{get:t[a],enumerable:!0})};var ce={};fe(ce,{SoundManager:()=>_e});var oe,N,_e,le=pe(()=>{oe="vb-sound",N={enabled:!1,volume:.5},_e={_ctx:null,_enabled:!1,_volume:.5,_initialized:!1,init(){if(this._initialized)return this;let e=this._load();return this._enabled=e.enabled,this._volume=e.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 e=localStorage.getItem(oe);return e?{...N,...JSON.parse(e)}:{...N}}catch{return{...N}}},_save(e){try{let t=this._load();localStorage.setItem(oe,JSON.stringify({...t,...e}))}catch{}},_playTone(e,t,a="sine"){if(!this._enabled)return;let s=this._getContext(),r=s.createOscillator(),n=s.createGain();r.connect(n),n.connect(s.destination),r.frequency.value=e,r.type=a,n.gain.value=this._volume*.3,r.start(),n.gain.exponentialRampToValueAtTime(.01,s.currentTime+t),r.stop(s.currentTime+t)},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(e){this._volume=Math.max(0,Math.min(1,e)),this._save({volume:this._volume})},getVolume(){return this._volume},play(e){if(this._enabled)switch(e){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 ke=window.matchMedia("(prefers-reduced-motion: reduce)");var Q=new Map;function Z(e,t,a={}){let s=a.priority??10,r={impl:t,bundle:a.bundle,contract:a.contract,priority:s},n=Q.get(e);if(customElements.get(e)){if(!n||n.priority>=s){n&&n.priority===s&&n.impl!==t&&console.warn(`[VB Bundle] Tag <${e}> already registered by "${n.bundle}" (priority ${n.priority}). Skipping "${a.bundle}".`);return}console.warn(`[VB Bundle] Tag <${e}> defined by "${n.bundle}" cannot be replaced (customElements.define is permanent). "${a.bundle}" has higher priority but arrived late.`);return}if(n&&n.priority>=s){n.priority===s&&console.warn(`[VB Bundle] Tag <${e}> already registered by "${n.bundle}". Skipping "${a.bundle}" (first wins at equal priority).`);return}Q.set(e,r),customElements.define(e,t)}var A=class extends HTMLElement{#n=[];connectedCallback(){this.hasAttribute("data-upgraded")||this.setup()!==!1&&(this.setAttribute("data-upgraded",""),this.dispatchEvent(new CustomEvent(`${this.localName}:upgraded`,{bubbles:!0})))}disconnectedCallback(){for(let t of this.#n)t();this.#n=[],this.removeAttribute("data-upgraded"),this.teardown()}listen(t,a,s,r){t.addEventListener(a,s,r),this.#n.push(()=>t.removeEventListener(a,s,r))}setup(){}teardown(){}};var w=new Map,O=new Map;var ee=null;function te(){if(typeof window<"u"&&window.__VB_THEME_BASE)return String(window.__VB_THEME_BASE).replace(/\/$/,"");if(ee)return ee;if(typeof document<"u"){let e=document.querySelectorAll('script[src*="vanilla-breeze"]');for(let t of e){let a=t.getAttribute("src");if(a){let s=a.lastIndexOf("/");if(s!==-1)return a.slice(0,s)}}}return"/cdn"}var ge=new Set(["default","a11y-high-contrast","a11y-large-text","a11y-dyslexia","modern","minimal","classic"]),ye=new Set(["kawaii","memphis"]);function D(e){return ye.has(e)}function we(e,t){return`${t}/themes/${e}.css`}function ae(e,t){if(!D(e))return Promise.resolve();if(O.has(e))return O.get(e);let a=import(`${t}/packs/${e}.full.js`).catch(()=>{});return O.set(e,a),a}function be(e,t){let a=te(),s=()=>{(D(t)||e.hasAttribute("data-vb-pack"))&&ae(t,a)};return e.getAttribute("data-vb-theme-state")==="error"?Promise.reject(new Error(`Failed to load theme: ${t}`)):e.getAttribute("data-vb-theme-state")==="ready"||e.sheet?(s(),Promise.resolve()):new Promise((r,n)=>{let i=()=>{e.setAttribute("data-vb-theme-state","ready"),c(),s(),r()},o=()=>{e.setAttribute("data-vb-theme-state","error"),w.delete(t),c(),n(new Error(`Failed to load theme: ${t}`))},c=()=>{e.removeEventListener("load",i),e.removeEventListener("error",o)};e.addEventListener("load",i,{once:!0}),e.addEventListener("error",o,{once:!0})})}async function B(e){if(!e||ge.has(e))return;if(w.has(e))return w.get(e);if(typeof document<"u"){let s=document.querySelector(`link[data-vb-theme="${e}"]`);if(s){let r=be(s,e);return w.set(e,r),r}}let t=te(),a=D(e)?Ee(e,t):ve(e,t);return w.set(e,a),a}async function ve(e,t){let a=we(e,t);return new Promise((s,r)=>{let n=document.querySelector(`link[data-vb-theme-preload="${e}"]`);n&&n.remove();let i=document.createElement("link");i.rel="stylesheet",i.href=a,i.setAttribute("data-vb-theme",e),i.setAttribute("data-vb-theme-state","loading"),i.onload=()=>{i.setAttribute("data-vb-theme-state","ready"),s()},i.onerror=()=>{i.setAttribute("data-vb-theme-state","error"),i.remove(),w.delete(e),r(new Error(`Failed to load theme: ${e}`))},document.head.appendChild(i)})}function Ee(e,t){let a=`${t}/packs/${e}.theme.css`,s=`${t}/packs/${e}.effects.css`;return new Promise((r,n)=>{let i=document.querySelector(`link[data-vb-theme-preload="${e}"]`);i&&i.remove();let o=document.createElement("link");o.rel="stylesheet",o.href=a,o.setAttribute("data-vb-theme",e),o.setAttribute("data-vb-pack",e),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",e),document.head.appendChild(c),ae(e,t),r()},o.onerror=()=>{o.setAttribute("data-vb-theme-state","error"),o.remove(),w.delete(e),n(new Error(`Failed to load pack: ${e}`))},document.head.appendChild(o)})}var L=[{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}}],C=[{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"}],R=[{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"}],se=[{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"}],H=[{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"}],I=[{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"}],q=[{id:"motionFx",name:"Motion Effects",icon:"sparkles",description:"Hover & enter animations"},{id:"sounds",name:"Sound Effects",icon:"volume-2",description:"Audio feedback"}],xe=[...R,...T],Me=[...C,...R,...T,...se],b=e=>R.filter(t=>t.category===e),j=[{label:"Style",themes:C,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:se,tier:"showcase"},{label:"More Themes",themes:T,tier:"community"}];function Se(){let e=globalThis.localStorage;if(!e)throw new Error("VBStore: localStorage is not available in this environment");return{async getRaw(t){return e.getItem(t)},async setRaw(t,a){e.setItem(t,a)},async removeRaw(t){e.removeItem(t)},async keys(t){let a=[];for(let s=0;s<e.length;s++){let r=e.key(s);r&&r.startsWith(t)&&a.push(r)}return a}}}var x=null;function g(){return x||(x=Se()),x}function V(e,t){if(typeof e!="string"||!e)throw new TypeError("VBStore: namespace must be a non-empty string");if(typeof t!="string"||!t)throw new TypeError("VBStore: key must be a non-empty string");return`vb:${e}:${t}`}function ie(e){if(typeof e!="string"||!e)throw new TypeError("VBStore: namespace must be a non-empty string");return`vb:${e}:`}function ne(e){try{let t=JSON.parse(e);if(t&&typeof t=="object"&&typeof t.timestamp=="number")return t}catch{}return null}var h={configure(e={}){x=e.backend??null},async set(e,t,a){let s={data:a,timestamp:Date.now()};await g().setRaw(V(e,t),JSON.stringify(s))},async get(e,t,a){let s=await g().getRaw(V(e,t));if(s==null)return null;let r=ne(s);return!r||a?.maxAge!=null&&Date.now()-r.timestamp>a.maxAge?null:r.data},async remove(e,t){await g().removeRaw(V(e,t))},async list(e){let t=ie(e),a=await g().keys(t),s=[];for(let r of a){let n=await g().getRaw(r);if(n==null)continue;let i=ne(n);i&&s.push({key:r.slice(t.length),data:i.data,timestamp:i.timestamp})}return s},async clear(e){let t=ie(e),a=await g().keys(t);for(let s of a)await g().removeRaw(s)},async clearAll(){let e=await g().keys("vb:");for(let t of e)await g().removeRaw(t)},async setMany(e,t){for(let[a,s]of t)await h.set(e,a,s)}};var z="theme",G="current",E={mode:"auto",brand:"default",accent:"default",borderStyle:"",iconSet:"",fluid:"",backdrop:"",backdropChrome:"",pageBgType:"",pageBgColor:"",pageBgGradStart:"",pageBgGradEnd:"",pageBgGradDir:""},re=["--hue-primary","--hue-secondary","--hue-accent","--lightness-primary","--chroma-primary","--lightness-secondary","--chroma-secondary","--lightness-accent","--chroma-accent"],d=null,m={_initPromise:null,async init(){return this._initPromise?this._initPromise:(this._initPromise=(async()=>{let e=await h.get(z,G);d=e?{...E,...e}:{...E};try{await B(d.brand)}catch{d.brand="default"}return this.apply(d),this._watchSystemPreference(),this._watchRootAttributes(),d})(),this._initPromise)},load(){return d?{...d}:{...E}},save(e){let t={...d??E,...e};return d=t,h.set(z,G,t).catch(()=>{}),t},apply({mode:e="auto",brand:t="default",borderStyle:a="",iconSet:s="",fluid:r="",backdrop:n="",backdropChrome:i="",pageBgType:o="",pageBgColor:c="",pageBgGradStart:f="",pageBgGradEnd:p="",pageBgGradDir:u=""}={}){let l=document.documentElement;l.dataset.mode=e==="auto"?this.getEffectiveMode():e;let X=(l.dataset.theme||"").split(" ").filter(P=>P.startsWith("a11y-")),K=t!=="default"?[t,...X]:[...X];K.length?l.dataset.theme=K.join(" "):delete l.dataset.theme;let $=a||this._readCSSHint("--theme-border-style");$&&$!=="clean"?l.dataset.borderStyle=$:delete l.dataset.borderStyle;let k=s||this._readCSSHint("--theme-icon-set");if(k&&k!=="lucide"?l.dataset.iconSet=k:delete l.dataset.iconSet,r?l.dataset.fluid=r:delete l.dataset.fluid,n?l.dataset.backdrop=n:delete l.dataset.backdrop,i&&i!=="card"?l.dataset.backdropChrome=i:delete l.dataset.backdropChrome,o==="color"&&c)l.style.setProperty("--page-bg-color",c),l.style.removeProperty("--page-bg-gradient");else if(o==="gradient"&&f&&p){let P=u||"to bottom";l.style.setProperty("--page-bg-gradient",`linear-gradient(${P}, ${f}, ${p})`),l.style.removeProperty("--page-bg-color")}else l.style.removeProperty("--page-bg-color"),l.style.removeProperty("--page-bg-gradient");let J=this.load().accent||"default";this._applyAccent(J),window.dispatchEvent(new CustomEvent("vb:theme-change",{detail:{mode:e,brand:t,accent:J,borderStyle:$,iconSet:k,fluid:r,backdrop:n,backdropChrome:i,pageBgType:o,effectiveMode:this.getEffectiveMode()}}))},setMode(e){let t=this.save({mode:e});this.apply(t)},async setBrand(e){try{await B(e)}catch(a){console.warn(`[VB] Theme "${e}" failed to load, using default`,a),e="default"}let t=this.save({brand:e});this.apply(t)},setAccent(e){this.save({accent:e}),this._applyAccent(e),window.dispatchEvent(new CustomEvent("vb:theme-change",{detail:{...this.getState()}}))},setBorderStyle(e){let t=this.save({borderStyle:e});this.apply(t)},setIconSet(e){let t=this.save({iconSet:e});this.apply(t)},setFluid(e){let t=this.save({fluid:e});this.apply(t)},setBackdrop(e){let t=this.save({backdrop:e});this.apply(t)},setBackdropChrome(e){let t=this.save({backdropChrome:e});this.apply(t)},setPageBg({type:e="",color:t="",gradStart:a="",gradEnd:s="",gradDir:r=""}={}){let n=this.save({pageBgType:e,pageBgColor:t,pageBgGradStart:a,pageBgGradEnd:s,pageBgGradDir:r});this.apply(n)},getEffectiveMode(){let{mode:e}=this.load();return e!=="auto"?e:window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"},getState(){let{mode:e,brand:t,accent:a,borderStyle:s,iconSet:r,fluid:n,backdrop:i,backdropChrome:o,pageBgType:c,pageBgColor:f,pageBgGradStart:p,pageBgGradEnd:u,pageBgGradDir:l}=this.load();return{mode:e,brand:t,accent:a,borderStyle:s,iconSet:r,fluid:n,backdrop:i,backdropChrome:o,pageBgType:c,pageBgColor:f,pageBgGradStart:p,pageBgGradEnd:u,pageBgGradDir:l,effectiveMode:this.getEffectiveMode()}},toggleMode(){let t=this.getEffectiveMode()==="dark"?"light":"dark";this.setMode(t)},reset(){d={...E},h.remove(z,G).catch(()=>{});let e=document.documentElement;e.style.removeProperty("--page-bg-color"),e.style.removeProperty("--page-bg-gradient");for(let t of re)e.style.removeProperty(t);this.apply(E)},_readCSSHint(e){return getComputedStyle(document.documentElement).getPropertyValue(e).trim()},_applyAccent(e){let t=document.documentElement,a=_.find(s=>s.id===e);for(let s of re)t.style.removeProperty(s);if(!(!a||!a.seeds||Object.keys(a.seeds).length===0)){for(let[s,r]of Object.entries(a.seeds))t.style.setProperty(s,String(r));if(a.seedsDark&&this.getEffectiveMode()==="dark")for(let[s,r]of Object.entries(a.seedsDark))t.style.setProperty(s,String(r))}},_watchRootAttributes(){this._rootObserver||(this._rootObserver=new MutationObserver(e=>{for(let t of e)t.attributeName==="data-theme"?this._syncFromDataTheme():t.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,B(a).catch(()=>{}),window.dispatchEvent(new CustomEvent("vb:theme-change",{detail:{...this.getState()}})))},_syncFromDataMode(){if(!d)return;let e=document.documentElement.dataset.mode||"auto",t=d.mode==="auto"?this.getEffectiveMode():d.mode;e!==t&&(d.mode=e,window.dispatchEvent(new CustomEvent("vb:theme-change",{detail:{...this.getState()}})))},_watchSystemPreference(){window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",()=>{let t=this.load();t.mode==="auto"&&this.apply(t)})}};var S=null,M="settings",F={motionFx:!0,sounds:!1},U=class e extends A{static#n=200;#t;#e;#a=!1;#s=!1;#f=!1;#c=null;#g=!1;#l=[];#r={...F};#i=()=>this.#E();async setup(){this.#s=this.getAttribute("variant")==="inline",this.#f=this.hasAttribute("compact"),await Promise.all([m.init(),this.#S()]),this.#_(),this.#A(),this.#v(),this.listen(window,"vb:theme-change",this.#H),this.#b(),this.#h()}async#S(){let[t,a]=await Promise.all([h.get(M,"a11y"),h.get(M,"extensions")]);this.#l=Array.isArray(t)?t:[],this.#r={...F,...a??{}}}teardown(){window.removeEventListener("scroll",this.#i,{capture:!0}),window.removeEventListener("resize",this.#i),this.#p()}#_(){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 pe=Object.defineProperty;var fe=(t,e)=>()=>(t&&(e=t(t=0)),e);var ge=(t,e)=>{for(var a in e)pe(t,a,{get:e[a],enumerable:!0})};var le={};ge(le,{SoundManager:()=>ke});var ce,Y,ke,de=fe(()=>{ce="vb-sound",Y={enabled:!1,volume:.5},ke={_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(ce);return t?{...Y,...JSON.parse(t)}:{...Y}}catch{return{...Y}}},_save(t){try{let e=this._load();localStorage.setItem(ce,JSON.stringify({...e,...t}))}catch{}},_playTone(t,e,a="sine"){if(!this._enabled)return;let s=this._getContext(),r=s.createOscillator(),i=s.createGain();r.connect(i),i.connect(s.destination),r.frequency.value=t,r.type=a,i.gain.value=this._volume*.3,r.start(),i.gain.exponentialRampToValueAtTime(.01,s.currentTime+e),r.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 Be=window.matchMedia("(prefers-reduced-motion: reduce)");var Z=new Map;function ee(t,e,a={}){let s=a.priority??10,r={impl:e,bundle:a.bundle,contract:a.contract,priority:s},i=Z.get(t);if(customElements.get(t)){if(!i||i.priority>=s){i&&i.priority===s&&i.impl!==e&&console.warn(`[VB Bundle] Tag <${t}> already registered by "${i.bundle}" (priority ${i.priority}). Skipping "${a.bundle}".`);return}console.warn(`[VB Bundle] Tag <${t}> defined by "${i.bundle}" cannot be replaced (customElements.define is permanent). "${a.bundle}" has higher priority but arrived late.`);return}if(i&&i.priority>=s){i.priority===s&&console.warn(`[VB Bundle] Tag <${t}> already registered by "${i.bundle}". Skipping "${a.bundle}" (first wins at equal priority).`);return}Z.set(t,r),customElements.define(t,e)}var x=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,r){e.addEventListener(a,s,r),this.#i.push(()=>e.removeEventListener(a,s,r))}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 r=`--${e}`;a?s.add(r):s.delete(r)}}_adoptInternals(e){this.#t||(this.#t=e)}};var b=new Map,R=new Map;var te=null;function ae(){if(typeof window<"u"&&window.__VB_THEME_BASE)return String(window.__VB_THEME_BASE).replace(/\/$/,"");if(te)return te;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 ye=new Set(["default","a11y-high-contrast","a11y-large-text","a11y-dyslexia","modern","minimal","classic"]),we=new Set(["kawaii","memphis"]);function H(t){return we.has(t)}function be(t,e){return`${e}/themes/${t}.css`}function se(t,e){if(!H(t))return Promise.resolve();if(R.has(t))return R.get(t);let a=import(`${e}/packs/${t}.full.js`).catch(()=>{});return R.set(t,a),a}function ve(t,e){let a=ae(),s=()=>{(H(e)||t.hasAttribute("data-vb-pack"))&&se(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((r,i)=>{let n=()=>{t.setAttribute("data-vb-theme-state","ready"),c(),s(),r(void 0)},o=()=>{t.setAttribute("data-vb-theme-state","error"),b.delete(e),c(),i(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 $(t){if(!t||ye.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 r=ve(s,t);return b.set(t,r),r}}let e=ae(),a=H(t)?Se(t,e):Ee(t,e);return b.set(t,a),a}async function Ee(t,e){let a=be(t,e);return new Promise((s,r)=>{let i=document.querySelector(`link[data-vb-theme-preload="${t}"]`);i&&i.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),r(new Error(`Failed to load theme: ${t}`))},document.head.appendChild(n)})}function Se(t,e){let a=`${e}/packs/${t}.theme.css`,s=`${e}/packs/${t}.effects.css`;return new Promise((r,i)=>{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),se(t,e),r()},o.onerror=()=>{o.setAttribute("data-vb-theme-state","error"),o.remove(),b.delete(t),i(new Error(`Failed to load pack: ${t}`))},document.head.appendChild(o)})}var q=[{id:"auto",name:"Auto",icon:"monitor"},{id:"light",name:"Light",icon:"sun"},{id:"dark",name:"Dark",icon:"moon"}],T=[{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}}],M=[{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:"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"}],A=[{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"}],ne=[{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"}],V=[{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"}],z=[{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"}],G=[{id:"motionFx",name:"Motion Effects",icon:"sparkles",description:"Hover & enter animations"},{id:"sounds",name:"Sound Effects",icon:"volume-2",description:"Audio feedback"}],Fe=[...j,...A],Pe=[...M,...j,...A,...ne],v=t=>j.filter(e=>e.category===t),N=[{label:"Style",themes:M,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:ne,tier:"showcase"},{label:"More Themes",themes:A,tier:"community"}];function _e(){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 r=t.key(s);r&&r.startsWith(e)&&a.push(r)}return a}}}var F=null;function f(){return F||(F=_e()),F}function U(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 ie(t){if(typeof t!="string"||!t)throw new TypeError("VBStore: namespace must be a non-empty string");return`vb:${t}:`}function re(t){try{let e=JSON.parse(t);if(e&&typeof e=="object"&&typeof e.timestamp=="number")return e}catch{}return null}var h={configure(t={}){F=t.backend??null},async set(t,e,a){let s={data:a,timestamp:Date.now()};await f().setRaw(U(t,e),JSON.stringify(s))},async get(t,e,a){let s=await f().getRaw(U(t,e));if(s==null)return null;let r=re(s);return!r||a?.maxAge!=null&&Date.now()-r.timestamp>a.maxAge?null:r.data},async remove(t,e){await f().removeRaw(U(t,e))},async list(t){let e=ie(t),a=await f().keys(e),s=[];for(let r of a){let i=await f().getRaw(r);if(i==null)continue;let n=re(i);n&&s.push({key:r.slice(e.length),data:n.data,timestamp:n.timestamp})}return s},async clear(t){let e=ie(t),a=await f().keys(e);for(let s of a)await f().removeRaw(s)},async clearAll(){let t=await f().keys("vb:");for(let e of t)await f().removeRaw(e)},async setMany(t,e){for(let[a,s]of e)await h.set(t,a,s)}};var P="theme",D="current",E={mode:"auto",brand:"default",accent:"default",borderStyle:"",iconSet:"",fluid:"",backdrop:"",backdropChrome:"",pageBgType:"",pageBgColor:"",pageBgGradStart:"",pageBgGradEnd:"",pageBgGradDir:""},oe=["--hue-primary","--hue-secondary","--hue-accent","--lightness-primary","--chroma-primary","--lightness-secondary","--chroma-secondary","--lightness-accent","--chroma-accent"],d=null,u={_initPromise:null,async init(){return this._initPromise?this._initPromise:(this._initPromise=(async()=>{let t=await h.get(P,D);d=t?{...E,...t}:{...E};try{await $(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:${P}:${D}`||!t.newValue)return;let e;try{e=JSON.parse(t.newValue)?.data}catch{return}if(!e||typeof e!="object")return;let a={...E,...d,...e};if(a.brand&&a.brand!==d?.brand)try{await $(a.brand)}catch{a.brand="default"}d=a,this.apply(d||{})})},load(){return d?{...d}:{...E}},save(t){let e={...d??E,...t};return d=e,h.set(P,D,e).catch(()=>{}),e},apply({mode:t="auto",brand:e="default",borderStyle:a="",iconSet:s="",fluid:r="",backdrop:i="",backdropChrome:n="",pageBgType:o="",pageBgColor:c="",pageBgGradStart:p="",pageBgGradEnd:m="",pageBgGradDir:g=""}={}){let l=document.documentElement;l.dataset.mode=t==="auto"?this.getEffectiveMode():t;let k=(l.dataset.theme||"").split(" ").filter(I=>I.startsWith("a11y-")),J=e!=="default"?[e,...k]:[...k];J.length?l.dataset.theme=J.join(" "):delete l.dataset.theme;let B=a||this._readCSSHint("--theme-border-style");B&&B!=="clean"?l.dataset.borderStyle=B:delete l.dataset.borderStyle;let C=s||this._readCSSHint("--theme-icon-set");if(C&&C!=="lucide"?l.dataset.iconSet=C:delete l.dataset.iconSet,r?l.dataset.fluid=r:delete l.dataset.fluid,i?l.dataset.backdrop=i: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 I=g||"to bottom";l.style.setProperty("--page-bg-gradient",`linear-gradient(${I}, ${p}, ${m})`),l.style.removeProperty("--page-bg-color")}else l.style.removeProperty("--page-bg-color"),l.style.removeProperty("--page-bg-gradient");let Q=this.load().accent||"default";this._applyAccent(Q),window.dispatchEvent(new CustomEvent("vb:theme-change",{detail:{mode:t,brand:e,accent:Q,borderStyle:B,iconSet:C,fluid:r,backdrop:i,backdropChrome:n,pageBgType:o,effectiveMode:this.getEffectiveMode()}}))},setMode(t){let e=this.save({mode:t});this.apply(e)},async setBrand(t){try{await $(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:r=""}={}){let i=this.save({pageBgType:t,pageBgColor:e,pageBgGradStart:a,pageBgGradEnd:s,pageBgGradDir:r});this.apply(i)},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:r,fluid:i,backdrop:n,backdropChrome:o,pageBgType:c,pageBgColor:p,pageBgGradStart:m,pageBgGradEnd:g,pageBgGradDir:l}=this.load();return{mode:t,brand:e,accent:a,borderStyle:s,iconSet:r,fluid:i,backdrop:n,backdropChrome:o,pageBgType:c,pageBgColor:p,pageBgGradStart:m,pageBgGradEnd:g,pageBgGradDir:l,effectiveMode:this.getEffectiveMode()}},toggleMode(){let e=this.getEffectiveMode()==="dark"?"light":"dark";this.setMode(e)},reset(){d={...E},h.remove(P,D).catch(()=>{});let t=document.documentElement;t.style.removeProperty("--page-bg-color"),t.style.removeProperty("--page-bg-gradient");for(let e of oe)t.style.removeProperty(e);this.apply(E)},_readCSSHint(t){return getComputedStyle(document.documentElement).getPropertyValue(t).trim()},_applyAccent(t){let e=document.documentElement,a=T.find(s=>s.id===t);for(let s of oe)e.style.removeProperty(s);if(!(!a||!a.seeds||Object.keys(a.seeds).length===0)){for(let[s,r]of Object.entries(a.seeds))e.style.setProperty(s,String(r));if(a.seedsDark&&this.getEffectiveMode()==="dark")for(let[s,r]of Object.entries(a.seedsDark))e.style.setProperty(s,String(r))}},_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,$(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 _=null,O="settings",L={motionFx:!0,sounds:!1},W=null;function $e(){return W||(W=fetch("/cdn/themes/manifest.json",{credentials:"same-origin"}).then(t=>t.ok?t.json():null).catch(()=>null)),W}var X=class t extends x{static#i=200;#t;#e;#a=!1;#s=!1;#f=!1;#c=null;#g=!1;#l=[];#r={...L};#n=()=>this.#S();setup(){return this.#s=this.getAttribute("variant")==="inline",this.#f=this.hasAttribute("compact"),this.#_(),!0}async#_(){await Promise.all([u.init(),this.#k()]),this.#$(),this.#C(),this.#v(),this.#j(),this.listen(window,"vb:theme-change",this.#q),this.#b(),this.#h()}async#k(){let[e,a]=await Promise.all([h.get(O,"a11y"),h.get(O,"extensions")]);this.#l=Array.isArray(e)?e:[],this.#r={...L,...a??{}}}teardown(){window.removeEventListener("scroll",this.#n,{capture:!0}),window.removeEventListener("resize",this.#n),this.#p()}#$(){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.#T(),this.appendChild(this.#e)}#T(){return this.#f?this.#
|
|
4
|
-
<label class="swatch-cell" title="${
|
|
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.#T(),this.appendChild(this.#e)}#T(){return this.#f?this.#B():this.#A()}#u(e,a){let s=e.swatchBg,r=e.swatchFg||"white",i=e.icon||"";return`
|
|
4
|
+
<label class="swatch-cell" title="${e.character?`${e.name} \u2014 ${e.character}`:e.name}">
|
|
5
5
|
<input
|
|
6
6
|
type="radio"
|
|
7
7
|
name="theme-brand"
|
|
8
|
-
value="${
|
|
9
|
-
${a===
|
|
8
|
+
value="${e.id}"
|
|
9
|
+
${a===e.id?"checked":""}
|
|
10
10
|
/>
|
|
11
11
|
<span class="swatch-visual" style="--swatch-bg: ${s}; --swatch-fg: ${r}">
|
|
12
|
-
${
|
|
13
|
-
<span class="visually-hidden">${
|
|
12
|
+
${i?`<icon-wc name="${i}"></icon-wc>`:""}
|
|
13
|
+
<span class="visually-hidden">${e.name}</span>
|
|
14
14
|
</span>
|
|
15
15
|
</label>
|
|
16
|
-
`}
|
|
16
|
+
`}#A(){let{mode:e,brand:a,fluid:s,accent:r}=u.getState(),i=N.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">
|
|
20
|
-
${
|
|
20
|
+
${q.map(n=>`
|
|
21
21
|
<label class="option">
|
|
22
22
|
<input
|
|
23
23
|
type="radio"
|
|
24
24
|
name="theme-mode"
|
|
25
|
-
value="${
|
|
26
|
-
${
|
|
25
|
+
value="${n.id}"
|
|
26
|
+
${e===n.id?"checked":""}
|
|
27
27
|
/>
|
|
28
28
|
<span class="option-content">
|
|
29
|
-
<icon-wc name="${
|
|
30
|
-
<span>${
|
|
29
|
+
<icon-wc name="${n.icon}"></icon-wc>
|
|
30
|
+
<span>${n.name}</span>
|
|
31
31
|
</span>
|
|
32
32
|
</label>
|
|
33
33
|
`).join("")}
|
|
@@ -37,11 +37,11 @@ var me=Object.defineProperty;var pe=(e,t)=>()=>(e&&(t=e(e=0)),t);var fe=(e,t)=>{
|
|
|
37
37
|
<fieldset class="section">
|
|
38
38
|
<legend>Color Accent</legend>
|
|
39
39
|
<div class="options options--accent-dots" role="radiogroup" aria-label="Color accent">
|
|
40
|
-
${
|
|
41
|
-
<label class="accent-dot" title="${
|
|
42
|
-
<input type="radio" name="theme-accent" value="${
|
|
43
|
-
<span class="accent-dot-visual" style="background: ${
|
|
44
|
-
<span class="visually-hidden">${
|
|
40
|
+
${T.map(n=>`
|
|
41
|
+
<label class="accent-dot" title="${n.name}">
|
|
42
|
+
<input type="radio" name="theme-accent" value="${n.id}" ${r===n.id?"checked":""} />
|
|
43
|
+
<span class="accent-dot-visual" style="background: ${n.swatchBg}"></span>
|
|
44
|
+
<span class="visually-hidden">${n.name}</span>
|
|
45
45
|
</label>
|
|
46
46
|
`).join("")}
|
|
47
47
|
</div>
|
|
@@ -50,17 +50,17 @@ var me=Object.defineProperty;var pe=(e,t)=>()=>(e&&(t=e(e=0)),t);var fe=(e,t)=>{
|
|
|
50
50
|
<fieldset class="section">
|
|
51
51
|
<legend>Style</legend>
|
|
52
52
|
<div class="options options--swatch-grid" role="radiogroup" aria-label="Style">
|
|
53
|
-
${
|
|
53
|
+
${M.map(n=>this.#u(n,a)).join("")}
|
|
54
54
|
</div>
|
|
55
55
|
</fieldset>
|
|
56
56
|
|
|
57
57
|
<fieldset class="section">
|
|
58
58
|
<legend>Featured</legend>
|
|
59
|
-
${
|
|
59
|
+
${i.map(n=>`
|
|
60
60
|
<div class="theme-category">
|
|
61
|
-
<span class="category-label">${
|
|
61
|
+
<span class="category-label">${n.label}</span>
|
|
62
62
|
<div class="options options--swatch-grid">
|
|
63
|
-
${
|
|
63
|
+
${n.themes.map(o=>this.#u(o,a)).join("")}
|
|
64
64
|
</div>
|
|
65
65
|
</div>
|
|
66
66
|
`).join("")}
|
|
@@ -72,25 +72,25 @@ var me=Object.defineProperty;var pe=(e,t)=>()=>(e&&(t=e(e=0)),t);var fe=(e,t)=>{
|
|
|
72
72
|
<icon-wc name="chevron-down" class="chevron"></icon-wc>
|
|
73
73
|
</summary>
|
|
74
74
|
<div class="options options--swatch-grid">
|
|
75
|
-
${
|
|
75
|
+
${A.map(n=>this.#u(n,a)).join("")}
|
|
76
76
|
</div>
|
|
77
77
|
</details>
|
|
78
78
|
|
|
79
79
|
<fieldset class="section section--a11y">
|
|
80
80
|
<legend>Accessibility</legend>
|
|
81
81
|
<div class="options options--a11y" aria-label="Accessibility themes">
|
|
82
|
-
${
|
|
82
|
+
${z.map(n=>{let c=this.#d().includes(n.id);return`
|
|
83
83
|
<label class="option option--a11y">
|
|
84
84
|
<input
|
|
85
85
|
type="checkbox"
|
|
86
86
|
name="a11y-theme"
|
|
87
|
-
value="${
|
|
88
|
-
data-a11y-theme="${
|
|
87
|
+
value="${n.id}"
|
|
88
|
+
data-a11y-theme="${n.id}"
|
|
89
89
|
${c?"checked":""}
|
|
90
90
|
/>
|
|
91
91
|
<span class="option-content">
|
|
92
|
-
<icon-wc name="${
|
|
93
|
-
<span class="option-label">${
|
|
92
|
+
<icon-wc name="${n.icon}"></icon-wc>
|
|
93
|
+
<span class="option-label">${n.name}</span>
|
|
94
94
|
</span>
|
|
95
95
|
</label>
|
|
96
96
|
`}).join("")}
|
|
@@ -100,19 +100,19 @@ var me=Object.defineProperty;var pe=(e,t)=>()=>(e&&(t=e(e=0)),t);var fe=(e,t)=>{
|
|
|
100
100
|
<fieldset class="section">
|
|
101
101
|
<legend>Sizing</legend>
|
|
102
102
|
<div class="options options--sizing" role="radiogroup" aria-label="Fluid sizing">
|
|
103
|
-
${
|
|
103
|
+
${V.map(n=>`
|
|
104
104
|
<label class="option option--sizing">
|
|
105
105
|
<input
|
|
106
106
|
type="radio"
|
|
107
107
|
name="theme-fluid"
|
|
108
|
-
value="${
|
|
109
|
-
${s===
|
|
108
|
+
value="${n.id}"
|
|
109
|
+
${s===n.id?"checked":""}
|
|
110
110
|
/>
|
|
111
111
|
<span class="option-content">
|
|
112
|
-
<icon-wc name="${
|
|
112
|
+
<icon-wc name="${n.icon}"></icon-wc>
|
|
113
113
|
<span class="option-text">
|
|
114
|
-
<span>${
|
|
115
|
-
<small>${
|
|
114
|
+
<span>${n.name}</span>
|
|
115
|
+
<small>${n.description}</small>
|
|
116
116
|
</span>
|
|
117
117
|
</span>
|
|
118
118
|
</label>
|
|
@@ -127,16 +127,16 @@ var me=Object.defineProperty;var pe=(e,t)=>()=>(e&&(t=e(e=0)),t);var fe=(e,t)=>{
|
|
|
127
127
|
<icon-wc name="chevron-down" class="chevron"></icon-wc>
|
|
128
128
|
</summary>
|
|
129
129
|
<div class="extensions-content">
|
|
130
|
-
${
|
|
130
|
+
${G.map(n=>{let c=this.#m()[n.id]??L[n.id];return`
|
|
131
131
|
<label class="extension-toggle">
|
|
132
132
|
<span class="extension-info">
|
|
133
|
-
<icon-wc name="${
|
|
134
|
-
<span class="extension-name">${
|
|
133
|
+
<icon-wc name="${n.icon}"></icon-wc>
|
|
134
|
+
<span class="extension-name">${n.name}</span>
|
|
135
135
|
</span>
|
|
136
136
|
<input
|
|
137
137
|
type="checkbox"
|
|
138
|
-
name="ext-${
|
|
139
|
-
data-extension="${
|
|
138
|
+
name="ext-${n.id}"
|
|
139
|
+
data-extension="${n.id}"
|
|
140
140
|
data-switch="sm"
|
|
141
141
|
${c?"checked":""}
|
|
142
142
|
/>
|
|
@@ -144,14 +144,17 @@ var me=Object.defineProperty;var pe=(e,t)=>()=>(e&&(t=e(e=0)),t);var fe=(e,t)=>{
|
|
|
144
144
|
`}).join("")}
|
|
145
145
|
</div>
|
|
146
146
|
</details>
|
|
147
|
-
`}#
|
|
147
|
+
`}#B(){let{mode:e,brand:a,fluid:s,accent:r}=u.getState(),i=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">
|
|
151
|
-
${
|
|
151
|
+
${q.map(o=>`
|
|
152
152
|
<label class="compact-seg">
|
|
153
|
-
<input type="radio" name="theme-mode" value="${o.id}" ${
|
|
154
|
-
<span
|
|
153
|
+
<input type="radio" name="theme-mode" value="${o.id}" ${e===o.id?"checked":""} />
|
|
154
|
+
<span class="compact-seg-visual">
|
|
155
|
+
<icon-wc name="${o.icon}" size="xs"></icon-wc>
|
|
156
|
+
<span class="compact-seg-label">${o.name}</span>
|
|
157
|
+
</span>
|
|
155
158
|
</label>
|
|
156
159
|
`).join("")}
|
|
157
160
|
</div>
|
|
@@ -160,7 +163,7 @@ var me=Object.defineProperty;var pe=(e,t)=>()=>(e&&(t=e(e=0)),t);var fe=(e,t)=>{
|
|
|
160
163
|
<fieldset class="section">
|
|
161
164
|
<legend>Color Accent</legend>
|
|
162
165
|
<select class="compact-select" name="theme-accent-select" aria-label="Color accent">
|
|
163
|
-
${
|
|
166
|
+
${T.map(o=>`
|
|
164
167
|
<option value="${o.id}" ${r===o.id?"selected":""}>${o.name}</option>
|
|
165
168
|
`).join("")}
|
|
166
169
|
</select>
|
|
@@ -169,7 +172,7 @@ var me=Object.defineProperty;var pe=(e,t)=>()=>(e&&(t=e(e=0)),t);var fe=(e,t)=>{
|
|
|
169
172
|
<fieldset class="section">
|
|
170
173
|
<legend>Theme</legend>
|
|
171
174
|
<select class="compact-select" name="theme-brand-select" aria-label="Theme">
|
|
172
|
-
${
|
|
175
|
+
${N.map(o=>`
|
|
173
176
|
<optgroup label="${o.label}">
|
|
174
177
|
${o.themes.map(c=>`
|
|
175
178
|
<option value="${c.id}" ${a===c.id?"selected":""}>${c.name}</option>
|
|
@@ -182,7 +185,7 @@ var me=Object.defineProperty;var pe=(e,t)=>()=>(e&&(t=e(e=0)),t);var fe=(e,t)=>{
|
|
|
182
185
|
<fieldset class="section">
|
|
183
186
|
<legend>Sizing</legend>
|
|
184
187
|
<select class="compact-select" name="theme-fluid-select" aria-label="Sizing">
|
|
185
|
-
${
|
|
188
|
+
${V.map(o=>`
|
|
186
189
|
<option value="${o.id}" ${s===o.id?"selected":""}>${o.name}</option>
|
|
187
190
|
`).join("")}
|
|
188
191
|
</select>
|
|
@@ -191,12 +194,12 @@ var me=Object.defineProperty;var pe=(e,t)=>()=>(e&&(t=e(e=0)),t);var fe=(e,t)=>{
|
|
|
191
194
|
<fieldset class="section">
|
|
192
195
|
<legend>Accessibility</legend>
|
|
193
196
|
<div class="compact-toggles">
|
|
194
|
-
${
|
|
197
|
+
${z.map(o=>`
|
|
195
198
|
<label class="extension-toggle">
|
|
196
199
|
<span class="extension-info">
|
|
197
200
|
<span class="extension-name">${o.name}</span>
|
|
198
201
|
</span>
|
|
199
|
-
<input type="checkbox" name="a11y-theme" value="${o.id}" data-a11y-theme="${o.id}" data-switch="sm" ${
|
|
202
|
+
<input type="checkbox" name="a11y-theme" value="${o.id}" data-a11y-theme="${o.id}" data-switch="sm" ${i.includes(o.id)?"checked":""} />
|
|
200
203
|
</label>
|
|
201
204
|
`).join("")}
|
|
202
205
|
</div>
|
|
@@ -205,15 +208,15 @@ var me=Object.defineProperty;var pe=(e,t)=>()=>(e&&(t=e(e=0)),t);var fe=(e,t)=>{
|
|
|
205
208
|
<fieldset class="section">
|
|
206
209
|
<legend>Extensions</legend>
|
|
207
210
|
<div class="compact-toggles">
|
|
208
|
-
${
|
|
211
|
+
${G.map(o=>`
|
|
209
212
|
<label class="extension-toggle">
|
|
210
213
|
<span class="extension-info">
|
|
211
214
|
<span class="extension-name">${o.name}</span>
|
|
212
215
|
</span>
|
|
213
|
-
<input type="checkbox" name="ext-${o.id}" data-extension="${o.id}" data-switch="sm" ${
|
|
216
|
+
<input type="checkbox" name="ext-${o.id}" data-extension="${o.id}" data-switch="sm" ${n[o.id]??L[o.id]?"checked":""} />
|
|
214
217
|
</label>
|
|
215
218
|
`).join("")}
|
|
216
219
|
</div>
|
|
217
220
|
</fieldset>
|
|
218
|
-
`}#
|
|
221
|
+
`}#C(){this.#e.querySelectorAll('input[name="theme-mode"]').forEach(i=>{i.addEventListener("change",this.#P)}),this.#e.querySelectorAll('input[name="theme-brand"]').forEach(i=>{i.addEventListener("change",this.#D)});let e=this.#e.querySelector('select[name="theme-brand-select"]');e&&e.addEventListener("change",this.#O),this.#e.querySelectorAll('input[name="theme-fluid"]').forEach(i=>{i.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(i=>{i.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(i=>{i.addEventListener("change",this.#L)}),this.#e.querySelectorAll("input[data-a11y-theme]").forEach(i=>{i.addEventListener("change",this.#H)}),this.#e.querySelector(".section--extensions")?.addEventListener("toggle",i=>{this.#g=i.target.open}),this.#s||(this.listen(this.#t,"click",this.#x),this.listen(document,"click",this.#M),this.listen(document,"keydown",this.#F))}#x=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=>{u.setMode(e.target.value),this.#o()};#D=async e=>{let a=e.target.closest(".swatch-cell");a&&a.setAttribute("aria-busy","true");try{await u.setBrand(e.target.value)}catch{console.warn("[VB] Theme load failed, using default")}finally{a&&a.removeAttribute("aria-busy")}this.#h(),this.#o()};#O=async e=>{let a=e.target;a.disabled=!0;try{await u.setBrand(a.value)}catch{console.warn("[VB] Theme load failed, using default")}finally{a.disabled=!1}this.#h(),this.#o()};#y=e=>{u.setFluid(e.target.value),this.#o()};#w=e=>{u.setAccent(e.target.value),this.#o()};#L=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},h.set(O,"extensions",this.#r).catch(()=>{})}async#b(){let e=this.#m(),a=document.documentElement;e.motionFx?delete a.dataset.motionReduced:a.dataset.motionReduced="",e.sounds?(_||(_=(await Promise.resolve().then(()=>(de(),le))).SoundManager),_.init(),_.enable()):_&&_.disable(),window.dispatchEvent(new CustomEvent("vb:extensions-change",{detail:e}))}#d(){return[...this.#l]}#R(e){this.#l=[...e],h.set(O,"a11y",this.#l).catch(()=>{})}#h(){let e=this.#d(),{brand:a}=u.getState(),s=document.documentElement,r=a==="default"?e.join(" "):[a,...e].join(" "),i=s.dataset.theme||"";r!==i&&(r?s.dataset.theme=r:delete s.dataset.theme)}#H=e=>{let a=e.target.dataset.a11yTheme,s=e.target.checked,r=this.#d();if(s&&!r.includes(a))r.push(a);else if(!s&&r.includes(a)){let i=r.indexOf(a);r.splice(i,1)}this.#R(r),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:r}=u.getState(),i=this.#e.querySelector(`input[name="theme-mode"][value="${e}"]`);i&&(i.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="${r||"default"}"]`);m&&(m.checked=!0);let g=this.#e.querySelector('select[name="theme-accent-select"]');g&&(g.value=r||"default"),this.#e.querySelectorAll(".swatch-dtcg").forEach(l=>this.#E(l))}async#j(){let e=await $e();if(!(!e||!this.#e?.isConnected))for(let a of this.#e.querySelectorAll('input[name="theme-brand"]')){let s=a.value,r=e[s];if(!r?.dtcg)continue;let i=a.closest(".swatch-cell");if(!i||i.parentElement?.classList.contains("swatch-cell-group"))continue;let n=document.createElement("span");n.className="swatch-cell-group",i.parentNode.insertBefore(n,i),n.appendChild(i);let o=document.createElement("a");o.className="swatch-dtcg",o.dataset.dtcg=r.dtcg,r.dtcgDark&&(o.dataset.dtcgDark=r.dtcgDark),o.setAttribute("download","");let c=i.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=u.getState().mode,r=(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/${r}`}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},r=s.height,i=s.width,n=8,o=16,c=r-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 g=i-e.right,l=e.right-a.width;if(this.#e.style.setProperty("--panel-top",`${m}px`),l<o){let w=0,k=e.left+a.width+o;k>i&&(w=i-k),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-g);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}};ee("theme-picker",X);var he="environment",ue="preferences",K={timeOfDay:!1,seasonal:!1},Te=900*1e3,y={...K};function S(t,e,a){return t+(e-t)*Math.min(1,Math.max(0,a))}var me={_timer:null,_baseHues:null,_timeOverride:null,_monthOverride:null,async init(){let t=await h.get(he,ue);y=t?{...K,...t}:{...K},(y.timeOfDay||y.seasonal)&&(this._captureBaseHues(),this._update(),this._startLoop()),window.addEventListener("vb:theme-change",()=>{this._hasActiveSource()&&requestAnimationFrame(()=>{this._captureBaseHues(),this._update()})})},load(){return{...y}},save(t){return y={...y,...t},h.set(he,ue,y).catch(()=>{}),{...y}},setTimeOverride(t){this._timeOverride=t,this._hasActiveSource()&&this._update()},setMonthOverride(t){this._monthOverride=t,this._hasActiveSource()&&this._update()},setSource(t,e){let a=this.save({[t]:e});e?(this._captureBaseHues(),this._update(),this._startLoop()):this._hasActiveSource(a)?this._update():(this._clearModifiers(),this._stopLoop())},_hasActiveSource(t){let e=t||this.load();return e.timeOfDay||e.seasonal},_captureBaseHues(){let t=document.documentElement;t.style.removeProperty("--hue-primary"),t.style.removeProperty("--hue-secondary"),t.style.removeProperty("--hue-accent");let e=t.getAttribute("data-theme");if(e){let a=`[data-theme~="${e}"]`;for(let s of document.styleSheets)try{for(let r=0;r<s.cssRules.length;r++){let i=s.cssRules[r];if(i.selectorText?.includes(a)&&!i.selectorText.includes("dark")){let n=i.style?.getPropertyValue("--hue-primary");if(n){this._baseHues={primary:parseFloat(n)||260,secondary:parseFloat(i.style.getPropertyValue("--hue-secondary"))||200,accent:parseFloat(i.style.getPropertyValue("--hue-accent"))||30};return}}}}catch{}}this._baseHues={primary:260,secondary:200,accent:30}},_update(){let t=this.load(),e=0;t.timeOfDay&&(e+=this._getTimeOfDayOffset()),t.seasonal&&(e+=this._getSeasonalOffset());let a=document.documentElement;e!==0&&this._baseHues?(a.style.setProperty("--hue-primary",String(this._baseHues.primary+e)),a.style.setProperty("--hue-secondary",String(this._baseHues.secondary+e)),a.style.setProperty("--hue-accent",String(this._baseHues.accent+e*.5))):e===0&&this._clearModifiers()},_clearModifiers(){let t=document.documentElement;t.style.removeProperty("--hue-primary"),t.style.removeProperty("--hue-secondary"),t.style.removeProperty("--hue-accent")},_getTimeOfDayOffset(){let t=this._timeOverride??new Date().getHours()+new Date().getMinutes()/60;return t<5?-20:t<7?S(-20,20,(t-5)/2):t<10?S(20,5,(t-7)/3):t<14?S(5,0,(t-10)/4):t<17?S(0,-5,(t-14)/3):t<19?S(-5,15,(t-17)/2):t<21?S(15,-10,(t-19)/2):S(-10,-20,(t-21)/8)},_getHemisphere(){return window.__VB_ENV_LOCATION?.hemisphere||"north"},_getSeasonalOffset(){let t=this._monthOverride??new Date().getMonth(),a=this._getHemisphere()==="south"?(t+6)%12:t;return a>=2&&a<=4?5:a>=5&&a<=7?10:a>=8&&a<=10?-5:-10},_startLoop(){this._timer||(this._timer=setInterval(()=>this._update(),Te))},_stopLoop(){this._timer&&clearInterval(this._timer),this._timer=null}};me.init();
|
|
219
222
|
//# sourceMappingURL=ui.full.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
impact-effort{display:block;container-type:inline-size}impact-effort:not(:defined){display:block}.ie-wrapper{display:flex;align-items:stretch}.ie-y-label{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.7rem;font-weight:600;color:var(--color-text-muted, #666);text-align:center;padding:0 var(--size-xs, 8px);display:flex;align-items:center;justify-content:center;user-select:none}.ie-x-label{font-size:.7rem;font-weight:600;color:var(--color-text-muted, #666);text-align:center;padding:var(--size-xs, 8px) 0;user-select:none}.ie-grid{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:1px;background:var(--color-border, #e0e0e0);border:1px solid var(--color-border, #e0e0e0);border-radius:var(--radius-l, .75rem);overflow:hidden;min-height:24rem;display:grid;flex:1}.ie-quadrant{background:var(--color-surface, #fff);padding:var(--size-m, 16px);display:flex;flex-direction:column;gap:var(--size-xs, 8px)}.ie-quadrant-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted, #666);margin-bottom:var(--size-xs, 8px)}.ie-quadrant-desc{font-size:.65rem;font-weight:400;text-transform:none;letter-spacing:normal;color:var(--color-text-muted, #999);display:block}[data-quadrant-zone=quick-wins]{background:color-mix(in oklch,var(--color-success, #22c55e) 6%,var(--color-surface, #fff))}[data-quadrant-zone=big-bets]{background:color-mix(in oklch,var(--color-warning, #f59e0b) 6%,var(--color-surface, #fff))}[data-quadrant-zone=fill-ins]{background:color-mix(in oklch,var(--color-info, #3b82f6) 6%,var(--color-surface, #fff))}[data-quadrant-zone=money-pit]{background:color-mix(in oklch,var(--color-error, #ef4444) 6%,var(--color-surface, #fff))}impact-effort drag-surface{min-block-size:6rem;flex:1}.ie-live-region{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;padding:0;margin:-1px}impact-effort[compact] .ie-grid{min-height:16rem}impact-effort[compact] .ie-quadrant{padding:var(--size-xs, 8px);gap:var(--size-2xs, 4px)}impact-effort[compact] .ie-quadrant-label{font-size:.65rem;margin-bottom:var(--size-2xs, 4px)}impact-effort[compact] .ie-quadrant-desc{font-size:.6rem}impact-effort[compact] drag-surface{min-block-size:4rem}impact-effort[compact] .ie-y-label,impact-effort[compact] .ie-x-label{font-size:.6rem}@container (max-width: 30rem){.ie-grid{grid-template-columns:1fr;grid-template-rows:auto}}@media(prefers-reduced-motion:reduce){impact-effort,impact-effort *{transition:none}}@media print{.ie-grid{border:1px solid #ccc;gap:0;min-height:auto}.ie-quadrant{border:.5pt solid #ccc;break-inside:avoid}impact-effort drag-surface{min-block-size:auto}impact-effort [draggable]{cursor:default}}kanban-board{display:block;container-type:inline-size}kanban-board:not(:defined){display:block}.kb-columns{display:flex;gap:1px;background:var(--color-border, #e0e0e0);border:1px solid var(--color-border, #e0e0e0);border-radius:var(--radius-l, .75rem);overflow:hidden;flex-wrap:wrap}.kb-column{min-inline-size:14rem;flex:1 1 14rem;display:flex;flex-direction:column;background:var(--color-surface, #fff)}.kb-column-header{position:sticky;inset-block-start:0;z-index:2;padding:var(--size-s, 12px) var(--size-m, 16px);background:var(--color-surface-raised, #f8f9fa);border-block-end:2px solid var(--color-border, #e0e0e0)}.kb-column-header h3{margin:0;font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text, #1a1a1a);display:flex;align-items:center;gap:.25em}.kb-count{font-size:.7rem;font-weight:600;color:var(--color-text-muted, #666);background:var(--color-border, #e0e0e0);border-radius:var(--radius-full, 9999px);padding:1px 8px;margin-inline-start:4px}.kb-wip{font-size:.65rem;font-weight:400;color:var(--color-text-muted, #999)}[data-wip-exceeded] .kb-column-header{border-block-end-color:var(--color-error, #ef4444)}[data-wip-exceeded] .kb-count{background:color-mix(in oklch,var(--color-error, #ef4444) 15%,var(--color-surface, #fff));color:var(--color-error, #ef4444)}[data-column-tint=success]{background:color-mix(in oklch,var(--color-success, #22c55e) 6%,var(--color-surface, #fff))}[data-column-tint=warning]{background:color-mix(in oklch,var(--color-warning, #f59e0b) 6%,var(--color-surface, #fff))}[data-column-tint=error]{background:color-mix(in oklch,var(--color-error, #ef4444) 6%,var(--color-surface, #fff))}[data-column-tint=info]{background:color-mix(in oklch,var(--color-info, #3b82f6) 6%,var(--color-surface, #fff))}[data-column-tint=interactive]{background:color-mix(in oklch,var(--color-interactive, #3b82f6) 6%,var(--color-surface, #fff))}kanban-board drag-surface{padding:var(--size-s, 12px);min-block-size:6rem;flex:1}kanban-board .kb-card{background:var(--color-surface, #fff);border:var(--border-width-thin, 1px) solid var(--color-border, #e0e0e0);border-radius:var(--radius-s, .375rem);padding:var(--size-xs, 8px) var(--size-s, 12px);cursor:grab;font-size:var(--font-size-s, .875rem);line-height:1.4}kanban-board .kb-card:active{cursor:grabbing}.kb-empty{color:var(--color-text-muted, #888);font-size:.8rem;font-style:italic;padding:var(--size-s, 12px);margin:0}.kb-title{margin-block-end:var(--size-s, 12px)}.kb-live-region{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;padding:0;margin:-1px}kanban-board[compact] .kb-column{min-inline-size:11rem;flex:1 1 11rem}kanban-board[compact] .kb-column-header{padding:var(--size-xs, 8px) var(--size-s, 12px)}kanban-board[compact] .kb-column-header h3{font-size:.75rem}kanban-board[compact] drag-surface{padding:var(--size-xs, 8px);min-block-size:4rem}kanban-board[compact] .kb-count{font-size:.6rem}@container (max-width: 30rem){.kb-columns{flex-direction:column}.kb-column{min-inline-size:unset}}@media(prefers-reduced-motion:reduce){kanban-board,kanban-board *{transition:none}}@media print{.kb-columns{flex-wrap:wrap;border:.5pt solid #ccc;gap:0}.kb-column{border:.5pt solid #ccc;break-inside:avoid}.kb-column-header{position:static}kanban-board drag-surface{min-block-size:auto}kanban-board [draggable]{cursor:default}}story-map{display:block;container-type:inline-size}story-map:not(:defined){display:block}.sm-scroll{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch}.sm-columns{display:flex;gap:1px;background:var(--color-border, #e0e0e0);min-inline-size:min-content;border:1px solid var(--color-border, #e0e0e0);border-radius:var(--radius-l, .75rem);overflow:hidden}.sm-column{min-inline-size:14rem;max-inline-size:22rem;flex:1 0 14rem;display:flex;flex-direction:column;background:var(--color-surface, #fff)}.sm-activity-header{position:sticky;inset-block-start:0;z-index:2;padding:var(--size-s, 12px) var(--size-m, 16px);background:var(--color-surface-raised, #f8f9fa);border-block-end:2px solid var(--color-border, #e0e0e0)}.sm-activity-header h3{margin:0;font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text, #1a1a1a)}.sm-activity-count{font-size:.7rem;font-weight:600;color:var(--color-text-muted, #666);background:var(--color-border, #e0e0e0);border-radius:var(--radius-full, 9999px);padding:1px 8px;margin-inline-start:8px}story-map drag-surface{padding:var(--size-s, 12px);min-block-size:8rem;flex:1}story-map drag-surface>*{margin-block-end:var(--size-xs, 8px)}story-map drag-surface>*:last-child{margin-block-end:0}.sm-empty{color:var(--color-text-muted, #888);font-size:.8rem;font-style:italic;padding:var(--size-s, 12px);margin:0}.sm-live-region{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}story-map[compact] .sm-column{min-inline-size:11rem;flex:1 0 11rem}story-map[compact] .sm-activity-header{padding:var(--size-xs, 8px) var(--size-s, 12px)}story-map[compact] .sm-activity-header h3{font-size:.75rem}story-map[compact] drag-surface{padding:var(--size-xs, 8px)}@container (max-width: 30rem){.sm-columns{flex-direction:column}.sm-column{max-inline-size:none}}@media(prefers-reduced-motion:reduce){.sm-scroll{scroll-behavior:auto}}@media print{.sm-scroll{overflow:visible}.sm-activity-header{position:static}.sm-columns{flex-wrap:wrap}.sm-column{break-inside:avoid}}gantt-chart{display:block;container-type:inline-size;font-family:var(--font-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);line-height:1.5;color:var(--color-text, #1a1a1a)}gantt-chart:not([data-upgraded])>table{width:100%}.gc-title{font-size:var(--font-size-xl, 1.25rem);font-weight:700;margin-block-end:var(--size-s, .75rem)}.gc-container{border:1px solid var(--color-border, #e0e0e0);border-radius:var(--radius-m, .5rem);overflow:hidden;background:var(--color-surface, #ffffff)}.gc-timeline-header{display:flex;position:relative;border-block-end:1px solid var(--color-border, #e0e0e0);background:var(--color-surface-raised, #f8f9fa);min-height:32px}.gc-timeline-spacer{flex:0 0 var(--gc-task-width, 180px);border-inline-end:1px solid var(--color-border, #e0e0e0)}.gc-timeline-dates{flex:1;position:relative;min-height:32px}.gc-date-label{position:absolute;top:0;bottom:0;display:flex;align-items:center;font-size:11px;font-weight:600;color:var(--color-text-muted, #666666);padding-inline-start:6px;white-space:nowrap;border-inline-start:1px solid var(--color-border, #e0e0e0)}.gc-date-label:first-child{border-inline-start:none}.gc-body{display:flex;min-height:0}.gc-task-list{flex:0 0 var(--gc-task-width, 180px);border-inline-end:1px solid var(--color-border, #e0e0e0);overflow:hidden}.gc-task-row{display:flex;align-items:center;gap:6px;height:var(--gc-row-height, 36px);padding-inline:12px;border-block-end:1px solid color-mix(in srgb,var(--color-border, #e0e0e0) 50%,transparent);font-size:var(--font-size-sm, .875rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gc-task-row:last-child{border-block-end:none}.gc-task-name{overflow:hidden;text-overflow:ellipsis}.gc-task-dates{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.gc-group-header{display:flex;align-items:center;height:28px;padding-inline:12px;background:var(--color-surface-raised, #f8f9fa);border-block-end:1px solid var(--color-border, #e0e0e0)}.gc-group-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted, #666666)}.gc-group-spacer{height:28px;background:var(--color-surface-raised, #f8f9fa);border-block-end:1px solid var(--color-border, #e0e0e0)}.gc-bars{flex:1;position:relative;min-width:0;overflow-x:auto}.gc-grid-lines{position:absolute;inset:0;pointer-events:none}.gc-grid-line{position:absolute;top:0;bottom:0;width:1px;background:color-mix(in srgb,var(--color-border, #e0e0e0) 50%,transparent)}.gc-bar-row{position:relative;height:var(--gc-row-height, 36px);border-block-end:1px solid color-mix(in srgb,var(--color-border, #e0e0e0) 50%,transparent)}.gc-bar-row:last-child{border-block-end:none}.gc-bar{position:absolute;top:6px;bottom:6px;border-radius:var(--radius-s, 4px);background:var(--gc-bar-color, var(--color-interactive, #0066cc));cursor:pointer;min-width:4px;display:flex;align-items:center;overflow:hidden;transition:filter .15s ease}.gc-bar:hover{filter:brightness(1.1)}.gc-bar:focus-visible{outline:2px solid var(--color-interactive, #0066cc);outline-offset:2px}.gc-bar-fill{height:100%;border-radius:inherit;background:color-mix(in srgb,var(--gc-bar-color, var(--color-interactive, #0066cc)) 65%,white);pointer-events:none}.gc-bar-label{position:absolute;inset:0;display:flex;align-items:center;padding-inline:6px;font-size:11px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.gc-bar[data-status=done]{--gc-bar-color: var(--color-success, #16a34a)}.gc-bar[data-status=blocked]{--gc-bar-color: var(--color-error, #dc2626)}.gc-bar[data-status=not-started]{--gc-bar-color: var(--color-text-muted, #666666);opacity:.6}.gc-milestone{position:absolute;top:50%;width:14px;height:14px;transform:translate(-50%,-50%) rotate(45deg);background:var(--gc-bar-color, var(--color-interactive, #0066cc));border:2px solid var(--color-surface, #ffffff);cursor:pointer}.gc-milestone:focus-visible{outline:2px solid var(--color-interactive, #0066cc);outline-offset:3px}.gc-milestone[data-status=done]{--gc-bar-color: var(--color-success, #16a34a)}.gc-today-line{position:absolute;top:0;bottom:0;width:2px;background:var(--color-error, #dc2626);z-index:5;pointer-events:none}.gc-today-label{position:absolute;top:-22px;left:50%;transform:translate(-50%);font-size:10px;font-weight:700;color:var(--color-error, #dc2626);white-space:nowrap}.gc-deps{position:absolute;inset:0;pointer-events:none;overflow:visible}.gc-dep-line{fill:none;stroke:var(--color-text-muted, #666666);stroke-width:1.5;marker-end:url(#gc-arrowhead)}.gc-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}gantt-chart[compact]{--gc-row-height: 28px;--gc-task-width: 140px}gantt-chart[compact] .gc-task-row{font-size:12px;padding-inline:8px}gantt-chart[compact] .gc-bar{top:5px;bottom:5px}gantt-chart[compact] .gc-group-header{height:24px}gantt-chart[compact] .gc-group-spacer{height:24px}@container (max-width: 30rem){.gc-body{flex-direction:column}.gc-task-list{flex:none;border-inline-end:none;border-block-end:1px solid var(--color-border, #e0e0e0)}.gc-task-row{height:auto;padding-block:4px}.gc-timeline-spacer{display:none}}@media(prefers-reduced-motion:reduce){.gc-bar{transition:none}}@media print{gantt-chart[data-upgraded] .gc-container,gantt-chart[data-upgraded] .gc-title{display:none}gantt-chart[data-upgraded] .gc-sr-only{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}}glossary-wc{display:block;container-type:inline-size}glossary-wc:not(:defined){display:block}.gloss-title{margin-block-end:var(--size-s, 12px);display:flex;align-items:center;gap:.5em}.gloss-count{font-size:.7rem;font-weight:600;color:var(--color-text-muted, #666);background:var(--color-border, #e0e0e0);border-radius:var(--radius-full, 9999px);padding:1px 8px}.gloss-search{margin-block-end:var(--size-m, 16px)}.gloss-search-input{width:100%;padding:var(--size-xs, 8px) var(--size-s, 12px);border:var(--border-width-thin, 1px) solid var(--color-border, #e0e0e0);border-radius:var(--radius-m, .5rem);font:inherit;font-size:var(--font-size-s, .875rem);background:var(--color-surface, #fff);color:var(--color-text, #1a1a1a)}.gloss-search-input::placeholder{color:var(--color-text-muted, #888)}.gloss-search-input:focus{outline:2px solid var(--color-interactive, #3b82f6);outline-offset:-1px;border-color:var(--color-interactive, #3b82f6)}.gloss-jump-bar{display:flex;flex-wrap:wrap;gap:2px;margin-block-end:var(--size-m, 16px);padding:var(--size-xs, 8px);background:var(--color-surface-raised, #f8f9fa);border:var(--border-width-thin, 1px) solid var(--color-border, #e0e0e0);border-radius:var(--radius-m, .5rem)}.gloss-jump-letter{display:inline-flex;align-items:center;justify-content:center;min-inline-size:1.75em;min-block-size:1.75em;font-size:.75rem;font-weight:600;text-decoration:none;border-radius:var(--radius-s, .375rem);color:var(--color-text-muted, #888);transition:background .15s,color .15s}.gloss-jump-letter[data-active]{color:var(--color-interactive, #3b82f6);cursor:pointer}.gloss-jump-letter[data-active]:hover{background:color-mix(in oklch,var(--color-interactive, #3b82f6) 10%,transparent)}.gloss-jump-letter[data-active]:focus-visible{outline:2px solid var(--color-interactive, #3b82f6);outline-offset:-1px}.gloss-jump-letter[aria-disabled=true]{opacity:.35;cursor:default}.gloss-categories{display:flex;flex-direction:column;gap:var(--size-m, 16px)}.gloss-category{border:var(--border-width-thin, 1px) solid var(--color-border, #e0e0e0);border-radius:var(--radius-l, .75rem);overflow:hidden}.gloss-category-header{position:sticky;inset-block-start:0;z-index:2;background:var(--color-surface-raised, #f8f9fa);border-block-end:var(--border-width-thin, 1px) solid var(--color-border, #e0e0e0)}.gloss-category-toggle{display:flex;align-items:center;gap:.5em;width:100%;padding:var(--size-s, 12px) var(--size-m, 16px);border:none;background:transparent;font:inherit;font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text, #1a1a1a);cursor:pointer;text-align:start}.gloss-category-toggle:hover{background:color-mix(in oklch,var(--color-border, #e0e0e0) 30%,transparent)}.gloss-category-toggle:focus-visible{outline:2px solid var(--color-interactive, #3b82f6);outline-offset:-2px}.gloss-category-count{font-size:.65rem;font-weight:600;color:var(--color-text-muted, #666);background:var(--color-border, #e0e0e0);border-radius:var(--radius-full, 9999px);padding:1px 6px;text-transform:none;letter-spacing:normal}.gloss-chevron{margin-inline-start:auto;display:inline-block;width:.5em;height:.5em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s}[aria-expanded=false] .gloss-chevron{transform:rotate(-45deg)}.gloss-term-list{margin:0;padding:0}.gloss-letter-anchor{display:block;scroll-margin-block-start:4rem}.gloss-term{padding:var(--size-s, 12px) var(--size-m, 16px);border-block-end:var(--border-width-thin, 1px) solid color-mix(in oklch,var(--color-border, #e0e0e0) 50%,transparent);scroll-margin-block-start:4rem}.gloss-term:last-child{border-block-end:none}.gloss-term:target{background:color-mix(in oklch,var(--color-interactive, #3b82f6) 8%,transparent)}.gloss-term dt{font-weight:700;font-size:var(--font-size-s, .875rem);color:var(--color-text, #1a1a1a);margin-block-end:.25em}.gloss-term dd{margin:0;font-size:var(--font-size-s, .875rem);line-height:1.5;color:var(--color-text-muted, #555)}.gloss-term dd a{color:var(--color-interactive, #3b82f6);text-decoration:underline;text-underline-offset:2px}.gloss-term dd a:hover{text-decoration-thickness:2px}glossary-wc[compact] .gloss-category-toggle{padding:var(--size-xs, 8px) var(--size-s, 12px);font-size:.75rem}glossary-wc[compact] .gloss-term{padding:var(--size-xs, 8px) var(--size-s, 12px)}glossary-wc[compact] .gloss-term dt{font-size:.8rem}glossary-wc[compact] .gloss-term dd{font-size:.8rem}glossary-wc[compact] .gloss-jump-bar{padding:var(--size-2xs, 4px)}glossary-wc[compact] .gloss-jump-letter{min-inline-size:1.5em;min-block-size:1.5em;font-size:.65rem}.gloss-live-region{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;padding:0;margin:-1px}@container (max-width: 30rem){.gloss-jump-bar{gap:1px}.gloss-jump-letter{min-inline-size:1.5em;min-block-size:1.5em;font-size:.65rem}}@media(prefers-reduced-motion:reduce){glossary-wc,glossary-wc *{transition:none}}@media print{.gloss-search,.gloss-jump-bar{display:none}.gloss-category{break-inside:avoid;border:.5pt solid #ccc}.gloss-category-header{position:static}.gloss-category-toggle .gloss-chevron{display:none}.gloss-term-list{display:block!important}.gloss-term:target{background:none}}site-map-wc{display:block;container-type:inline-size}site-map-wc:not(:defined){display:block}.sm-header{display:flex;align-items:baseline;gap:var(--size-s, 12px);flex-wrap:wrap;margin-block-end:var(--size-m, 16px)}.sm-title{margin:0;font-size:1.25rem;font-weight:700;color:var(--color-text, #1a1a1a)}.sm-summary{font-size:.8rem;color:var(--color-text-muted, #666)}.sm-toggle-all{margin-inline-start:auto;font-size:.75rem;padding:4px 10px;border:1px solid var(--color-border, #e0e0e0);border-radius:var(--radius-s, .375rem);background:var(--color-surface, #fff);color:var(--color-text-muted, #666);cursor:pointer;transition:background .15s,color .15s}.sm-toggle-all:hover{background:var(--color-surface-raised, #f8f9fa);color:var(--color-text, #1a1a1a)}.sm-tree{--sm-indent: 1.5rem}.sm-tree ul{list-style:none;margin:0;padding:0}.sm-tree>ul{padding-inline-start:0}.sm-subtree{padding-inline-start:var(--sm-indent);border-inline-start:1px solid var(--color-border, #e0e0e0);margin-inline-start:.5rem}.sm-collapsed{display:none}.sm-tree li[role=treeitem]{position:relative;margin:0;padding:0}.sm-tree li[role=treeitem]:focus{outline:none}.sm-tree li[role=treeitem]:focus>.sm-node-content{outline:2px solid var(--color-interactive, #3b82f6);outline-offset:1px;border-radius:var(--radius-xs, .25rem)}.sm-node-content{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .375rem;border-radius:var(--radius-xs, .25rem);line-height:1.5;min-block-size:1.75rem}.sm-node-content:hover{background:color-mix(in oklch,var(--color-interactive, #3b82f6) 6%,transparent)}.sm-toggle{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;padding:0;margin:0;border:none;background:none;color:var(--color-text-muted, #888);font-size:.75rem;cursor:pointer;border-radius:var(--radius-xs, .25rem);flex-shrink:0;transition:background .15s,color .15s}.sm-toggle:hover{background:var(--color-border, #e0e0e0);color:var(--color-text, #1a1a1a)}.sm-leaf-marker{display:inline-block;width:1.25rem;flex-shrink:0}.sm-node-content a{color:var(--color-text, #1a1a1a);text-decoration:none;font-size:.875rem;font-weight:500}.sm-node-content a:hover{color:var(--color-interactive, #3b82f6);text-decoration:underline}.sm-badge{display:inline-block;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:var(--radius-full, 9999px);line-height:1.4;white-space:nowrap;flex-shrink:0}.sm-badge--layout{background:color-mix(in oklch,#8b5cf6 15%,var(--color-surface, #fff));color:#7c3aed}.sm-badge--section{background:color-mix(in oklch,#3b82f6 15%,var(--color-surface, #fff));color:#2563eb}.sm-badge--dashboard{background:color-mix(in oklch,#22c55e 15%,var(--color-surface, #fff));color:#16a34a}.sm-badge--page{background:color-mix(in oklch,#94a3b8 20%,var(--color-surface, #fff));color:#64748b}.sm-badge--modal{background:color-mix(in oklch,#f59e0b 15%,var(--color-surface, #fff));color:#d97706}.sm-badge--redirect{background:color-mix(in oklch,#ef4444 15%,var(--color-surface, #fff));color:#dc2626}.sm-badge--template{background:transparent;border:1px solid var(--color-border, #e0e0e0);color:var(--color-text-muted, #888);font-weight:400;font-size:.6rem;text-transform:none}.sm-status-dot{display:inline-block;width:.5rem;height:.5rem;border-radius:var(--radius-full, 9999px);flex-shrink:0}.sm-status--draft{background:#94a3b8}.sm-status--ready{background:#f59e0b}.sm-status--live{background:#22c55e}.sm-status--deprecated{background:#ef4444}site-map-wc[compact] .sm-tree{--sm-indent: 1rem}site-map-wc[compact] .sm-node-content{padding:.125rem .25rem;gap:.25rem;min-block-size:1.375rem}site-map-wc[compact] .sm-node-content a{font-size:.8rem}site-map-wc[compact] .sm-badge{font-size:.55rem;padding:0 5px}site-map-wc[compact] .sm-badge--template{font-size:.5rem}site-map-wc[compact] .sm-toggle{width:1rem;height:1rem;font-size:.65rem}site-map-wc[compact] .sm-leaf-marker{width:1rem}site-map-wc[compact] .sm-subtree{margin-inline-start:.375rem}site-map-wc[compact] .sm-header{margin-block-end:var(--size-s, 12px)}site-map-wc[compact] .sm-title{font-size:1rem}@container (max-width: 24rem){.sm-tree{--sm-indent: 1rem}.sm-badge--template{display:none}.sm-node-content a{font-size:.8rem}}.sm-visual{background:var(--color-surface, #ffffff);border:1px solid var(--color-border, #e0e0e0);border-radius:var(--radius-m, .5rem);overflow:auto;padding:0;max-height:80vh;position:relative}.sm-visual svg{touch-action:none;user-select:none;outline:none}.sm-visual svg:focus-visible{outline:2px solid var(--color-interactive, #3b82f6);outline-offset:-2px;border-radius:var(--radius-s, .25rem)}.sm-visual-zoom{position:relative;overflow:visible}.sm-visual-zoom svg{display:block}.sm-visual-summary{font-size:.75rem;color:var(--color-text-muted, #666);text-align:center;padding:var(--size-xs, .5rem)}.sm-vtoolbar{display:flex;align-items:center;gap:var(--size-2xs, .25rem);padding:var(--size-xs, .5rem);border-block-end:1px solid var(--color-border, #e0e0e0);background:var(--color-surface-raised, #f8f9fa);border-radius:var(--radius-m, .5rem) var(--radius-m, .5rem) 0 0;flex-wrap:wrap}.sm-vtoolbar-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--color-border, #e0e0e0);border-radius:var(--radius-s, .25rem);background:var(--color-surface, #fff);color:var(--color-text-muted, #666);cursor:pointer;padding:0;transition:background .15s,color .15s}.sm-vtoolbar-btn:hover{background:var(--color-border, #e0e0e0);color:var(--color-text, #1a1a1a)}.sm-vtoolbar-btn svg{width:16px;height:16px}.sm-vtoolbar-sep{width:1px;height:20px;background:var(--color-border, #e0e0e0);margin-inline:var(--size-2xs, .25rem)}.sm-vtoolbar-detail{display:flex;align-items:center;gap:var(--size-2xs, .25rem);font-size:.75rem;color:var(--color-text-muted, #666);margin-inline-start:auto;cursor:default}.sm-vtoolbar-slider{width:80px;accent-color:var(--color-interactive, #0066cc)}.sm-vtoolbar-detail-label{font-size:.65rem;font-weight:600;color:var(--color-text-muted, #888);min-width:70px}@media(prefers-reduced-motion:reduce){site-map-wc,site-map-wc *{transition:none}}@media print{.sm-tree{--sm-indent: 1.25rem}.sm-collapsed{display:block}.sm-toggle,.sm-toggle-all{display:none}.sm-subtree{border-inline-start:.5pt solid #ccc}.sm-node-content a{color:#000}.sm-badge{border:.5pt solid #ccc;background:transparent}}flow-diagram{display:block;container-type:inline-size;font-family:var(--font-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);color:var(--color-text, #1a1a1a)}flow-diagram:not([data-upgraded])>ol{padding-inline-start:1.5em}.fd-title{font-size:var(--font-size-xl, 1.25rem);font-weight:700;margin-block-end:var(--size-s, .75rem)}.fd-container{display:flex;flex-direction:column;align-items:center;gap:0;padding:var(--size-m, 1rem);background:var(--color-surface, #ffffff);border:1px solid var(--color-border, #e0e0e0);border-radius:var(--radius-m, .5rem);overflow-x:auto}flow-diagram[data-direction=horizontal] .fd-container{flex-direction:row}.fd-node{display:flex;flex-direction:column;align-items:center;gap:var(--size-2xs, .25rem);position:relative}.fd-node-shape{display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--size-xs, .5rem) var(--size-m, 1rem);font-size:var(--font-size-sm, .875rem);font-weight:500;line-height:1.4;min-width:120px;max-width:220px;cursor:default;transition:box-shadow .15s ease;border:2px solid}.fd-node-shape:hover{box-shadow:0 2px 8px #0000001a}.fd-node-shape:focus-visible{outline:2px solid var(--color-interactive, #0066cc);outline-offset:2px}.fd-node[data-type=start] .fd-node-shape{border-radius:9999px;background:#22c55e1a;border-color:#22c55e;color:#15803d}.fd-node[data-type=end] .fd-node-shape{border-radius:9999px;background:#dc26261a;border-color:#dc2626;color:#b91c1c}.fd-node[data-type=action] .fd-node-shape{border-radius:var(--radius-m, .5rem);background:#3b82f61a;border-color:#3b82f6;color:#1d4ed8}.fd-node[data-type=decision] .fd-node-shape{border-radius:var(--radius-s, .25rem);background:#f59e0b1a;border-color:#f59e0b;color:#b45309;min-width:140px;padding:var(--size-s, .75rem) var(--size-m, 1rem)}.fd-node[data-type=decision]:before{content:"";position:absolute;top:-1px;left:50%;transform:translate(-50%) rotate(45deg);width:10px;height:10px;background:#f59e0b;border-radius:2px}.fd-node[data-type=process] .fd-node-shape{border-radius:var(--radius-s, .25rem);background:#8b5cf61a;border-color:#8b5cf6;color:#6d28d9}.fd-node[data-type=wait] .fd-node-shape{border-radius:var(--radius-m, .5rem);background:#6b72800d;border-color:#6b7280;border-style:dashed;color:#4b5563}.fd-annotation{font-size:11px;color:var(--color-text-muted, #666);font-style:italic;max-width:180px;text-align:center}.fd-connector{display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--color-border, #e0e0e0);flex-shrink:0}.fd-connector-line{width:2px;height:24px;background:var(--color-border, #e0e0e0)}flow-diagram[data-direction=horizontal] .fd-connector-line{width:24px;height:2px}.fd-connector-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--color-border, #e0e0e0)}flow-diagram[data-direction=horizontal] .fd-connector-arrow{border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:6px solid var(--color-border, #e0e0e0);border-right:none}.fd-connector-label{font-size:10px;font-weight:600;color:var(--color-text-muted, #666);padding:1px 6px;background:var(--color-surface, #ffffff);border-radius:var(--radius-s, .25rem);border:1px solid var(--color-border, #e0e0e0)}.fd-branches{display:flex;flex-direction:column;align-items:center;width:100%;position:relative}.fd-split-line{width:2px;height:12px;background:var(--color-border, #e0e0e0)}.fd-branch-columns{display:flex;gap:var(--size-l, 1.5rem);align-items:flex-start;justify-content:center;width:100%;position:relative}.fd-branch-columns:before{content:"";position:absolute;top:0;left:var(--fd-inset, 25%);right:var(--fd-inset, 25%);height:2px;background:var(--color-border, #e0e0e0);pointer-events:none}.fd-branch{display:flex;flex-direction:column;align-items:center;gap:0;min-width:140px;flex:1}.fd-branch-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:var(--radius-full, 9999px);margin-block-end:var(--size-2xs, .25rem)}.fd-branch-label[data-branch=yes]{color:#22c55e;background:#22c55e1a}.fd-branch-label[data-branch=no]{color:#dc2626;background:#dc26261a}.fd-summary{font-size:var(--font-size-xs, .75rem);color:var(--color-text-muted, #666);margin-block-start:var(--size-xs, .5rem);text-align:center}.fd-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}flow-diagram[compact] .fd-node-shape{min-width:100px;max-width:180px;padding:var(--size-2xs, .25rem) var(--size-xs, .5rem);font-size:12px}flow-diagram[compact] .fd-connector-line{height:16px}flow-diagram[compact][data-direction=horizontal] .fd-connector-line{width:16px;height:2px}@container (max-width: 30rem){.fd-branch-columns{flex-direction:column;align-items:center}.fd-split-line{display:none}}@media(prefers-reduced-motion:reduce){.fd-node-shape{transition:none}}@media print{flow-diagram[data-upgraded] .fd-container{border-color:#ccc;box-shadow:none}}
|
|
1
|
+
impact-effort{display:block;container-type:inline-size}impact-effort:not(:defined){display:block}.ie-wrapper{display:flex;align-items:stretch}.ie-y-label{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.7rem;font-weight:600;color:var(--color-text-muted, #666);text-align:center;padding:0 var(--size-xs, 8px);display:flex;align-items:center;justify-content:center;user-select:none}.ie-x-label{font-size:.7rem;font-weight:600;color:var(--color-text-muted, #666);text-align:center;padding:var(--size-xs, 8px) 0;user-select:none}.ie-grid{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:1px;background:var(--color-border, #e0e0e0);border:1px solid var(--color-border, #e0e0e0);border-radius:var(--radius-l, .75rem);overflow:hidden;min-height:24rem;display:grid;flex:1}.ie-quadrant{background:var(--color-surface, #fff);padding:var(--size-m, 16px);display:flex;flex-direction:column;gap:var(--size-xs, 8px)}.ie-quadrant-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted, #666);margin-bottom:var(--size-xs, 8px)}.ie-quadrant-desc{font-size:.65rem;font-weight:400;text-transform:none;letter-spacing:normal;color:var(--color-text-muted, #999);display:block}[data-quadrant-zone=quick-wins]{background:color-mix(in oklch,var(--color-success, #22c55e) 6%,var(--color-surface, #fff))}[data-quadrant-zone=big-bets]{background:color-mix(in oklch,var(--color-warning, #f59e0b) 6%,var(--color-surface, #fff))}[data-quadrant-zone=fill-ins]{background:color-mix(in oklch,var(--color-info, #3b82f6) 6%,var(--color-surface, #fff))}[data-quadrant-zone=money-pit]{background:color-mix(in oklch,var(--color-error, #ef4444) 6%,var(--color-surface, #fff))}impact-effort drag-surface{min-block-size:6rem;flex:1}.ie-live-region{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;padding:0;margin:-1px}impact-effort[compact] .ie-grid{min-height:16rem}impact-effort[compact] .ie-quadrant{padding:var(--size-xs, 8px);gap:var(--size-2xs, 4px)}impact-effort[compact] .ie-quadrant-label{font-size:.65rem;margin-bottom:var(--size-2xs, 4px)}impact-effort[compact] .ie-quadrant-desc{font-size:.6rem}impact-effort[compact] drag-surface{min-block-size:4rem}impact-effort[compact] .ie-y-label,impact-effort[compact] .ie-x-label{font-size:.6rem}@container (max-width: 30rem){.ie-grid{grid-template-columns:1fr;grid-template-rows:auto}}@media(prefers-reduced-motion:reduce){impact-effort,impact-effort *{transition:none}}@media print{.ie-grid{border:1px solid #ccc;gap:0;min-height:auto}.ie-quadrant{border:.5pt solid #ccc;break-inside:avoid}impact-effort drag-surface{min-block-size:auto}impact-effort [draggable]{cursor:default}}quadrant-grid:not(:defined){display:block}quadrant-grid{display:block;font-family:var(--font-sans, system-ui);color:var(--color-text, #1a1a1a)}@scope(quadrant-grid){.qg-wrapper{display:grid;grid-template-columns:max-content max-content 1fr;grid-template-rows:max-content 1fr max-content max-content;grid-template-areas:"y-label . ." "y-scale grid grid" ". x-scale x-scale" ". x-label x-label";gap:var(--size-2xs, .25rem);margin:0}.qg-y-label{grid-area:y-label;font-size:var(--font-size-xs, .75rem);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted, #666);text-align:start;padding-inline-end:var(--size-xs, .5rem)}.qg-x-label{grid-area:x-label;font-size:var(--font-size-xs, .75rem);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted, #666);text-align:end}.qg-y-scale{grid-area:y-scale;display:flex;flex-direction:column;justify-content:space-between;padding-block:var(--size-2xs, .25rem);font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--font-size-xs, .75rem);color:var(--color-text-muted, #666);text-align:end;padding-inline-end:var(--size-xs, .5rem);min-inline-size:3rem}.qg-x-scale{grid-area:x-scale;display:flex;justify-content:space-between;font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--font-size-xs, .75rem);color:var(--color-text-muted, #666);padding-block-start:var(--size-2xs, .25rem)}.qg-grid{grid-area:grid;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:var(--size-2xs, .25rem);min-block-size:var(--qg-min-size, 24rem);background:var(--color-border, oklch(85% 0 0));padding:1px;border-radius:var(--radius-m, .5rem)}.qg-quadrant{position:relative;background:var(--color-surface, #fff);padding:var(--size-s, .75rem);display:flex;flex-direction:column;gap:var(--size-xs, .5rem);overflow:hidden}.qg-quadrant[data-quadrant-zone="0"]{grid-row:1;grid-column:2;border-radius:0 var(--radius-m, .5rem) 0 0}.qg-quadrant[data-quadrant-zone="1"]{grid-row:1;grid-column:1;border-radius:var(--radius-m, .5rem) 0 0 0}.qg-quadrant[data-quadrant-zone="2"]{grid-row:2;grid-column:1;border-radius:0 0 0 var(--radius-m, .5rem)}.qg-quadrant[data-quadrant-zone="3"]{grid-row:2;grid-column:2;border-radius:0 0 var(--radius-m, .5rem) 0}.qg-quadrant-label{font-size:var(--font-size-xs, .75rem);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted, #666);margin:0}.qg-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--size-2xs, .25rem)}.qg-items>li{background:var(--color-surface-raised, oklch(96% 0 0));padding:var(--size-2xs, .25rem) var(--size-xs, .5rem);border-radius:var(--radius-s, .25rem);font-size:var(--font-size-sm, .875rem)}.qg-pinned{position:absolute;inline-size:max-content;max-inline-size:calc(100% - var(--size-xs, .5rem));padding:var(--size-3xs, .125rem) var(--size-xs, .5rem);background:var(--color-accent, oklch(45% .18 260));color:var(--color-text-on-primary, #fff);border-radius:var(--radius-s, .25rem);font-size:var(--font-size-xs, .75rem);inset-inline-start:clamp(var(--qg-pin-half-w, 1.5rem),calc(var(--qg-local-x, .5) * 100%),calc(100% - var(--qg-pin-half-w, 1.5rem)));inset-block-end:clamp(var(--qg-pin-half-h, .75rem),calc(var(--qg-local-y, .5) * 100%),calc(100% - var(--qg-pin-half-h, .75rem)));transform:translate(calc(-50% + var(--qg-fan-x, 0px)),calc(50% + var(--qg-fan-y, 0px)));box-shadow:0 1px 3px #00000026;filter:hue-rotate(var(--qg-pin-hue, 0deg));transition:transform .18s ease,box-shadow .18s ease,z-index 0s}.qg-quadrant:hover .qg-pinned.qg-clustered,.qg-quadrant:focus-within .qg-pinned.qg-clustered{--qg-fan-angle: calc((var(--qg-cluster-i, 0) / var(--qg-cluster-n, 1)) * 360deg);--qg-fan-radius: calc(var(--qg-pin-half-w, 1.5rem) * 1.4);--qg-fan-x: calc(cos(var(--qg-fan-angle)) * var(--qg-fan-radius));--qg-fan-y: calc(sin(var(--qg-fan-angle)) * var(--qg-fan-radius) * -1)}.qg-pinned.qg-clustered:hover,.qg-pinned.qg-clustered:focus-visible{z-index:2;box-shadow:0 4px 12px #00000040}}@media(prefers-reduced-motion:reduce){quadrant-grid *{transition:none!important}}@media print{quadrant-grid .qg-y-label,quadrant-grid .qg-x-label,quadrant-grid .qg-y-scale,quadrant-grid .qg-x-scale{color:#000}}risk-register:not(:defined){display:block}risk-register{display:block;font-family:var(--font-sans, system-ui);color:var(--color-text, #1a1a1a)}@scope(risk-register){.rr-label{display:block;font-size:var(--font-size-xs, .75rem);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted, #666);margin-block-end:var(--size-s, .75rem)}.rr-layout{display:grid;grid-template-columns:1fr;gap:var(--size-l, 1.5rem)}@media(width>=64rem){.rr-layout{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start}}}traceability-matrix:not(:defined){display:block}traceability-matrix{display:block;font-family:var(--font-sans, system-ui);color:var(--color-text, #1a1a1a)}@scope(traceability-matrix){.tm-label{display:block;font-size:var(--font-size-xs, .75rem);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted, #666);margin-block-end:var(--size-s, .75rem)}.tm-empty{color:var(--color-text-muted, #666);font-style:italic}td[data-linked]{background:#d7f5d78c;text-align:center;font-weight:600;color:var(--color-accent, oklch(45% .18 260))}td:not([data-linked]){color:var(--color-text-muted, #666);text-align:center}th[scope=row]{text-align:start;font-weight:600;background:var(--color-surface-raised, oklch(96% 0 0));white-space:nowrap}tr[data-state-highlighted]{outline:2px solid var(--color-accent, oklch(45% .18 260));outline-offset:-2px}td[data-state-highlighted],th[data-state-highlighted]{background:#9be39db3}tr[data-orphan] th[scope=row]:after,th[data-orphan]:after{content:" \26a0";color:var(--color-warning, oklch(60% .15 60));font-weight:700}td,th{padding:var(--size-2xs, .25rem) var(--size-s, .75rem);border-block-end:var(--border-width-thin, 1px) solid var(--color-border, oklch(85% 0 0));cursor:default}td[data-linked]{cursor:pointer}}[data-state-highlighted]:not(traceability-matrix *){outline:2px solid var(--color-accent, oklch(45% .18 260));outline-offset:2px;scroll-margin-block:var(--size-l, 1.5rem)}@media print{traceability-matrix td[data-state-highlighted],traceability-matrix tr[data-state-highlighted]{outline:none;background:none}}burndown-chart:not(:defined){display:block}burndown-chart{display:block;font-family:var(--font-sans, system-ui);color:var(--color-text, #1a1a1a)}@scope(burndown-chart){.bdc-label{display:block;font-size:var(--font-size-xs, .75rem);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted, #666);margin-block-end:var(--size-s, .75rem)}chart-wc{display:block;min-block-size:var(--burndown-min-height, 18rem)}.bdc-scope-changes{margin-block-start:var(--size-m, 1rem);padding:var(--size-s, .75rem) var(--size-m, 1rem);background:var(--color-surface-raised, oklch(96% 0 0));border-inline-start:var(--border-width-medium, 3px) solid var(--color-warning, oklch(70% .15 60));border-radius:var(--radius-s, .25rem);font-size:var(--font-size-sm, .875rem)}.bdc-scope-changes h4{margin:0 0 var(--size-2xs, .25rem);font-size:var(--font-size-xs, .75rem);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted, #666)}.bdc-scope-changes ul{margin:0;padding-inline-start:var(--size-m, 1rem)}.bdc-scope-changes li{margin-block:var(--size-3xs, .125rem)}.bdc-scope-changes time{font-family:var(--font-mono, ui-monospace, monospace);color:var(--color-text-muted, #666)}}product-roadmap:not(:defined){display:block}product-roadmap{display:block;font-family:var(--font-sans, system-ui);color:var(--color-text, #1a1a1a)}product-roadmap>section[data-lane]{display:none}@scope(product-roadmap){.rm-wrapper{display:grid;grid-template-columns:minmax(8rem,max-content) 1fr;gap:var(--size-2xs, .25rem)}.rm-axis{grid-column:2;position:relative;block-size:var(--size-l, 1.5rem);border-block-end:var(--border-width-thin, 1px) solid var(--color-border, oklch(85% 0 0));margin-block-end:var(--size-2xs, .25rem)}.rm-tick{position:absolute;inset-block:0;inset-inline-start:calc(var(--rm-x) * 100%);inline-size:calc(var(--rm-w) * 100%);border-inline-end:var(--border-width-thin, 1px) dashed var(--color-border, oklch(85% 0 0));padding-inline:var(--size-2xs, .25rem);font-size:var(--font-size-xs, .75rem);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted, #666);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.rm-lanes{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;gap:var(--size-2xs, .25rem);position:relative}.rm-lane{display:contents}.rm-lane-label{grid-column:1;font-size:var(--font-size-sm, .875rem);font-weight:600;color:var(--color-text, currentColor);padding:var(--size-xs, .5rem) var(--size-s, .75rem);background:var(--color-surface-raised, oklch(96% 0 0));border-radius:var(--radius-s, .25rem);align-self:stretch;display:flex;align-items:center}.rm-track{grid-column:2;position:relative;min-block-size:var(--size-2xl, 3rem);background:repeating-linear-gradient(to right,var(--color-surface, transparent),var(--color-surface, transparent) calc(var(--rm-tick-w, 25%) - 1px),var(--color-border, oklch(85% 0 0 / .4)) calc(var(--rm-tick-w, 25%) - 1px),var(--color-border, oklch(85% 0 0 / .4)) var(--rm-tick-w, 25%));border-radius:var(--radius-s, .25rem)}.rm-bar{position:absolute;inset-block:var(--size-2xs, .25rem);inset-inline-start:calc(var(--rm-x) * 100%);inline-size:calc(var(--rm-w) * 100%);background:var(--color-accent, oklch(45% .18 260));color:var(--color-text-on-primary, #fff);border-radius:var(--radius-s, .25rem);padding:var(--size-2xs, .25rem) var(--size-s, .75rem);font-size:var(--font-size-sm, .875rem);line-height:1.2;overflow:hidden;box-shadow:0 1px 2px #00000026;cursor:grab;user-select:none;display:flex;align-items:center;gap:var(--size-2xs, .25rem)}.rm-bar:active{cursor:grabbing}.rm-bar-title{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.rm-bar-handle{position:absolute;inset-block:0;inset-inline-end:0;inline-size:var(--size-xs, .5rem);background:#ffffff40;cursor:ew-resize;border-start-end-radius:var(--radius-s, .25rem);border-end-end-radius:var(--radius-s, .25rem)}.rm-bar[data-status=planned]{background:var(--color-info, oklch(60% .12 240))}.rm-bar[data-status=in-progress]{background:var(--color-accent, oklch(50% .16 260))}.rm-bar[data-status=at-risk]{background:var(--color-warning, oklch(65% .16 60));color:var(--color-text, #1a1a1a)}.rm-bar[data-status=shipped]{background:var(--color-success, oklch(55% .14 145))}.rm-bar[data-status=blocked]{background:var(--color-danger, oklch(55% .18 25))}.rm-today{position:absolute;inset-block:0;inset-inline-start:calc(var(--rm-x) * 100%);inline-size:0;border-inline-start:var(--border-width-medium, 2px) solid var(--color-warning, oklch(60% .18 60));pointer-events:none;z-index:2;transform:translate(0)}}product-roadmap:not([editable]) .rm-bar{cursor:default}product-roadmap:not([editable]) .rm-bar-handle{display:none}@media(prefers-reduced-motion:reduce){product-roadmap .rm-bar{transition:none}}kanban-board{display:block;container-type:inline-size}kanban-board:not(:defined){display:block}.kb-columns{display:flex;gap:1px;background:var(--color-border, #e0e0e0);border:1px solid var(--color-border, #e0e0e0);border-radius:var(--radius-l, .75rem);overflow:hidden;flex-wrap:wrap}.kb-column{min-inline-size:14rem;flex:1 1 14rem;display:flex;flex-direction:column;background:var(--color-surface, #fff);margin-block:0!important;padding-block-start:0!important;border-block-start:0!important}.kb-column-header{position:sticky;inset-block-start:0;z-index:2;padding:var(--size-s, 12px) var(--size-m, 16px);background:var(--color-surface-raised, #f8f9fa);border-block-end:2px solid var(--color-border, #e0e0e0)}.kb-column-header h3{margin:0;font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text, #1a1a1a);display:flex;align-items:center;gap:.25em}.kb-count{font-size:.7rem;font-weight:600;color:var(--color-text-muted, #666);background:var(--color-border, #e0e0e0);border-radius:var(--radius-full, 9999px);padding:1px 8px;margin-inline-start:4px}.kb-wip{font-size:.65rem;font-weight:400;color:var(--color-text-muted, #999)}[data-wip-exceeded] .kb-column-header{border-block-end-color:var(--color-error, #ef4444)}[data-wip-exceeded] .kb-count{background:color-mix(in oklch,var(--color-error, #ef4444) 15%,var(--color-surface, #fff));color:var(--color-error, #ef4444)}[data-column-tint=success]{background:color-mix(in oklch,var(--color-success, #22c55e) 6%,var(--color-surface, #fff))}[data-column-tint=warning]{background:color-mix(in oklch,var(--color-warning, #f59e0b) 6%,var(--color-surface, #fff))}[data-column-tint=error]{background:color-mix(in oklch,var(--color-error, #ef4444) 6%,var(--color-surface, #fff))}[data-column-tint=info]{background:color-mix(in oklch,var(--color-info, #3b82f6) 6%,var(--color-surface, #fff))}[data-column-tint=interactive]{background:color-mix(in oklch,var(--color-interactive, #3b82f6) 6%,var(--color-surface, #fff))}kanban-board drag-surface{padding:var(--size-s, 12px);min-block-size:6rem;flex:1}kanban-board .kb-card{background:var(--color-surface, #fff);border:var(--border-width-thin, 1px) solid var(--color-border, #e0e0e0);border-radius:var(--radius-s, .375rem);padding:var(--size-xs, 8px) var(--size-s, 12px);cursor:grab;font-size:var(--font-size-s, .875rem);line-height:1.4}kanban-board .kb-card:active{cursor:grabbing}.kb-empty{color:var(--color-text-muted, #888);font-size:.8rem;font-style:italic;padding:var(--size-s, 12px);margin:0}.kb-title{margin-block-end:var(--size-s, 12px)}.kb-live-region{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;padding:0;margin:-1px}kanban-board[compact] .kb-column{min-inline-size:11rem;flex:1 1 11rem}kanban-board[compact] .kb-column-header{padding:var(--size-xs, 8px) var(--size-s, 12px)}kanban-board[compact] .kb-column-header h3{font-size:.75rem}kanban-board[compact] drag-surface{padding:var(--size-xs, 8px);min-block-size:4rem}kanban-board[compact] .kb-count{font-size:.6rem}@container (max-width: 30rem){.kb-columns{flex-direction:column}.kb-column{min-inline-size:unset}}@media(prefers-reduced-motion:reduce){kanban-board,kanban-board *{transition:none}}@media print{.kb-columns{flex-wrap:wrap;border:.5pt solid #ccc;gap:0}.kb-column{border:.5pt solid #ccc;break-inside:avoid}.kb-column-header{position:static}kanban-board drag-surface{min-block-size:auto}kanban-board [draggable]{cursor:default}}story-map{display:block;container-type:inline-size}story-map:not(:defined){display:block}.sm-scroll{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch}.sm-columns{display:flex;gap:1px;background:var(--color-border, #e0e0e0);min-inline-size:min-content;border:1px solid var(--color-border, #e0e0e0);border-radius:var(--radius-l, .75rem);overflow:hidden}.sm-column{min-inline-size:14rem;max-inline-size:22rem;flex:1 0 14rem;display:flex;flex-direction:column;background:var(--color-surface, #fff)}.sm-activity-header{position:sticky;inset-block-start:0;z-index:2;padding:var(--size-s, 12px) var(--size-m, 16px);background:var(--color-surface-raised, #f8f9fa);border-block-end:2px solid var(--color-border, #e0e0e0)}.sm-activity-header h3{margin:0;font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text, #1a1a1a)}.sm-activity-count{font-size:.7rem;font-weight:600;color:var(--color-text-muted, #666);background:var(--color-border, #e0e0e0);border-radius:var(--radius-full, 9999px);padding:1px 8px;margin-inline-start:8px}story-map drag-surface{padding:var(--size-s, 12px);min-block-size:8rem;flex:1}story-map drag-surface>*{margin-block-end:var(--size-xs, 8px)}story-map drag-surface>*:last-child{margin-block-end:0}.sm-empty{color:var(--color-text-muted, #888);font-size:.8rem;font-style:italic;padding:var(--size-s, 12px);margin:0}.sm-live-region{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}story-map[compact] .sm-column{min-inline-size:11rem;flex:1 0 11rem}story-map[compact] .sm-activity-header{padding:var(--size-xs, 8px) var(--size-s, 12px)}story-map[compact] .sm-activity-header h3{font-size:.75rem}story-map[compact] drag-surface{padding:var(--size-xs, 8px)}@container (max-width: 30rem){.sm-columns{flex-direction:column}.sm-column{max-inline-size:none}}@media(prefers-reduced-motion:reduce){.sm-scroll{scroll-behavior:auto}}@media print{.sm-scroll{overflow:visible}.sm-activity-header{position:static}.sm-columns{flex-wrap:wrap}.sm-column{break-inside:avoid}}gantt-chart{display:block;container-type:inline-size;font-family:var(--font-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);line-height:1.5;color:var(--color-text, #1a1a1a)}gantt-chart:not([data-upgraded])>table{width:100%}.gc-title{font-size:var(--font-size-xl, 1.25rem);font-weight:700;margin-block-end:var(--size-s, .75rem)}.gc-container{border:1px solid var(--color-border, #e0e0e0);border-radius:var(--radius-m, .5rem);overflow:hidden;background:var(--color-surface, #ffffff)}.gc-timeline-header{display:flex;position:relative;border-block-end:1px solid var(--color-border, #e0e0e0);background:var(--color-surface-raised, #f8f9fa);min-height:32px}.gc-timeline-spacer{flex:0 0 var(--gc-task-width, 180px);border-inline-end:1px solid var(--color-border, #e0e0e0)}.gc-timeline-dates{flex:1;position:relative;min-height:32px}.gc-date-label{position:absolute;top:0;bottom:0;display:flex;align-items:center;font-size:11px;font-weight:600;color:var(--color-text-muted, #666666);padding-inline-start:6px;white-space:nowrap;border-inline-start:1px solid var(--color-border, #e0e0e0)}.gc-date-label:first-child{border-inline-start:none}.gc-body{display:flex;min-height:0}.gc-task-list{flex:0 0 var(--gc-task-width, 180px);border-inline-end:1px solid var(--color-border, #e0e0e0);overflow:hidden}.gc-task-row{display:flex;align-items:center;gap:6px;height:var(--gc-row-height, 36px);padding-inline:12px;border-block-end:1px solid color-mix(in srgb,var(--color-border, #e0e0e0) 50%,transparent);font-size:var(--font-size-sm, .875rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gc-task-row:last-child{border-block-end:none}.gc-task-name{overflow:hidden;text-overflow:ellipsis}.gc-task-dates{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.gc-group-header{display:flex;align-items:center;height:28px;padding-inline:12px;background:var(--color-surface-raised, #f8f9fa);border-block-end:1px solid var(--color-border, #e0e0e0)}.gc-group-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted, #666666)}.gc-group-spacer{height:28px;background:var(--color-surface-raised, #f8f9fa);border-block-end:1px solid var(--color-border, #e0e0e0)}.gc-bars{flex:1;position:relative;min-width:0;overflow-x:auto}.gc-grid-lines{position:absolute;inset:0;pointer-events:none}.gc-grid-line{position:absolute;top:0;bottom:0;width:1px;background:color-mix(in srgb,var(--color-border, #e0e0e0) 50%,transparent)}.gc-bar-row{position:relative;height:var(--gc-row-height, 36px);border-block-end:1px solid color-mix(in srgb,var(--color-border, #e0e0e0) 50%,transparent)}.gc-bar-row:last-child{border-block-end:none}.gc-bar{position:absolute;top:6px;bottom:6px;border-radius:var(--radius-s, 4px);background:var(--gc-bar-color, var(--color-interactive, #0066cc));cursor:pointer;min-width:4px;display:flex;align-items:center;overflow:hidden;transition:filter .15s ease}.gc-bar:hover{filter:brightness(1.1)}.gc-bar:focus-visible{outline:2px solid var(--color-interactive, #0066cc);outline-offset:2px}.gc-bar-fill{height:100%;border-radius:inherit;background:color-mix(in srgb,var(--gc-bar-color, var(--color-interactive, #0066cc)) 65%,white);pointer-events:none}.gc-bar-label{position:absolute;inset:0;display:flex;align-items:center;padding-inline:6px;font-size:11px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.gc-bar[data-status=done]{--gc-bar-color: var(--color-success, #16a34a)}.gc-bar[data-status=blocked]{--gc-bar-color: var(--color-error, #dc2626)}.gc-bar[data-status=not-started]{--gc-bar-color: var(--color-text-muted, #666666);opacity:.6}.gc-milestone{position:absolute;top:50%;width:14px;height:14px;transform:translate(-50%,-50%) rotate(45deg);background:var(--gc-bar-color, var(--color-interactive, #0066cc));border:2px solid var(--color-surface, #ffffff);cursor:pointer}.gc-milestone:focus-visible{outline:2px solid var(--color-interactive, #0066cc);outline-offset:3px}.gc-milestone[data-status=done]{--gc-bar-color: var(--color-success, #16a34a)}.gc-today-line{position:absolute;top:0;bottom:0;width:2px;background:var(--color-error, #dc2626);z-index:5;pointer-events:none}.gc-today-label{position:absolute;top:-22px;left:50%;transform:translate(-50%);font-size:10px;font-weight:700;color:var(--color-error, #dc2626);white-space:nowrap}.gc-deps{position:absolute;inset:0;pointer-events:none;overflow:visible}.gc-dep-line{fill:none;stroke:var(--color-text-muted, #666666);stroke-width:1.5;marker-end:url(#gc-arrowhead)}.gc-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}gantt-chart[compact]{--gc-row-height: 28px;--gc-task-width: 140px}gantt-chart[compact] .gc-task-row{font-size:12px;padding-inline:8px}gantt-chart[compact] .gc-bar{top:5px;bottom:5px}gantt-chart[compact] .gc-group-header{height:24px}gantt-chart[compact] .gc-group-spacer{height:24px}@container (max-width: 30rem){.gc-body{flex-direction:column}.gc-task-list{flex:none;border-inline-end:none;border-block-end:1px solid var(--color-border, #e0e0e0)}.gc-task-row{height:auto;padding-block:4px}.gc-timeline-spacer{display:none}}@media(prefers-reduced-motion:reduce){.gc-bar{transition:none}}@media print{gantt-chart[data-upgraded] .gc-container,gantt-chart[data-upgraded] .gc-title{display:none}gantt-chart[data-upgraded] .gc-sr-only{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}}::view-transition-old(*),::view-transition-new(*){animation-duration:.22s;animation-timing-function:ease-out}
|
|
2
2
|
/*# sourceMappingURL=ux-planning.full.css.map */
|