@import"https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,700&family=Geist:wght@400;700&display=swap";:root{--font-display: "Bricolage Grotesque", "Trebuchet MS", sans-serif;--font-body: "Geist", "Avenir Next", sans-serif;--color-paper: oklch(94% .035 42);--color-paper-deep: oklch(89% .052 40);--color-surface: oklch(98% .018 48);--color-surface-raised: oklch(99% .01 52);--color-ink: oklch(24% .046 322);--color-muted: oklch(43% .04 322);--color-rule: oklch(73% .055 344);--color-rule-strong: oklch(55% .08 337);--color-accent: oklch(49% .14 322);--color-accent-ink: oklch(98% .012 45);--color-focus: oklch(48% .17 255);--color-success: oklch(42% .12 154);--color-error: oklch(48% .17 28);--color-shadow: oklch(38% .07 330 / .18);--color-shadow-soft: oklch(38% .04 330 / .1);--color-progress-track: oklch(83% .055 343);--color-gem-rose: oklch(68% .17 354);--color-gem-coral: oklch(72% .16 35);--color-gem-honey: oklch(79% .15 82);--color-gem-jade: oklch(65% .12 162);--color-gem-sky: oklch(69% .12 237);--color-gem-violet: oklch(62% .15 299);--color-gem-shade: oklch(38% .08 325 / .34);--color-gem-shine: oklch(98% .025 48 / .78);--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.25rem;--text-lg: 1.5625rem;--text-xl: 1.953rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-pill: 999px;--rule-thin: 1px;--dur-instant: .1s;--dur-short: .18s;--dur-medium: .28s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--shadow-panel: 0 18px 54px var(--color-shadow-soft);--shadow-control: 0 8px 22px var(--color-shadow)}*,*:before,*:after{box-sizing:border-box}html,body{min-height:100%;overflow-x:clip}body{margin:0;color:var(--color-ink);background:var(--color-paper);font-family:var(--font-body);font-size:var(--text-base);line-height:1.5}button{font:inherit}.bedazzle-app{position:relative;isolation:isolate;min-height:100svh;display:grid;grid-template-rows:auto minmax(0,1fr);gap:var(--space-md);padding:max(var(--space-md),env(safe-area-inset-top)) max(var(--space-md),env(safe-area-inset-right)) max(var(--space-md),env(safe-area-inset-bottom)) max(var(--space-md),env(safe-area-inset-left));background:linear-gradient(145deg,var(--color-paper),var(--color-paper-deep))}.workbench-head{min-width:0;display:flex;align-items:end;justify-content:space-between;gap:var(--space-lg)}.workbench-head__copy{min-width:0}.event-note{margin:0 0 var(--space-2xs);color:var(--color-accent);font-size:var(--text-sm);font-weight:700}h1,h2,p{margin-block-start:0}h1,h2{font-family:var(--font-display);overflow-wrap:anywhere;min-width:0}h1{margin-block-end:var(--space-2xs);font-size:clamp(2rem,4.8vw,4.5rem);line-height:.96;letter-spacing:-.035em}.workbench-head__copy>p:last-child{max-width:58ch;margin:0;color:var(--color-muted)}.progress-cluster{min-width:9.75rem;color:var(--color-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.progress-track{height:.5rem;margin-block-start:var(--space-xs);overflow:clip;border-radius:var(--radius-pill);background:var(--color-progress-track);color:var(--color-ink)}.progress-track span{display:block;inline-size:100%;block-size:100%;border-radius:inherit;background:var(--color-accent);transition:transform var(--dur-medium) var(--ease-out);transform:scaleX(var(--progress, 0));transform-origin:left center}.craft-workbench{min-height:0;display:grid;grid-template-rows:minmax(24rem,1fr) auto;gap:var(--space-md)}.canvas-stage,.gem-tray{min-width:0;border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-panel)}.canvas-stage{position:relative;min-height:24rem;overflow:clip}.book-workspace{position:absolute;z-index:0;inset:0;width:100%;height:100%;display:block;touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair}.book-workspace[hidden],#bedazzle-canvas[hidden]{display:none}.book-guide-image{filter:grayscale(1) contrast(1.65) brightness(1.08);opacity:.28;pointer-events:none}.book-guide{fill:var(--color-paper-deep);fill-opacity:.36;stroke:var(--color-rule-strong);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.book-guide path,.book-guide__mark circle,.book-guide__mark ellipse{fill:none}.book-guide__bookmark{fill:var(--color-paper);fill-opacity:.72}.book-guide__mark{opacity:.34}.book-target-hit{fill:transparent;pointer-events:none}.book-active-target{fill:var(--color-surface-raised);fill-opacity:.55;stroke:var(--color-accent);stroke-width:3;pointer-events:none}.book-bead{pointer-events:none}.book-bead__shadow{fill:var(--color-shadow)}.book-bead__shine{fill:var(--color-surface-raised);fill-opacity:.82}.book-event-link{position:absolute;z-index:3;inset-block-start:var(--space-sm);inset-inline-end:var(--space-sm);min-height:2.75rem;display:inline-flex;align-items:center;padding-inline:var(--space-md);border:var(--rule-thin) solid var(--color-rule-strong);border-radius:var(--radius-pill);color:var(--color-ink);background:var(--color-surface-raised);box-shadow:var(--shadow-control);font-weight:700;text-decoration:none;white-space:nowrap}.book-event-link[hidden]{display:none}#bedazzle-canvas{position:relative;z-index:1;width:100%;height:100%;display:block;touch-action:none;cursor:crosshair}#bedazzle-canvas.is-dragging{cursor:grabbing}#bedazzle-canvas:focus-visible,.shape-choice:focus-visible,.swatch:focus-visible,.tool-button:focus-visible,.empty-guide-toggle:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.canvas-guide-bar{position:absolute;z-index:2;inset-inline-start:50%;inset-block-end:var(--space-md);width:max-content;max-width:calc(100% - var(--space-xl));display:flex;align-items:center;justify-content:center;gap:var(--space-xs);transform:translate(-50%);pointer-events:none}.canvas-hint{min-width:0;padding:var(--space-xs) var(--space-md);border-radius:var(--radius-pill);color:var(--color-muted);background:var(--color-surface-raised);box-shadow:var(--shadow-control);font-size:var(--text-sm);text-align:center;text-wrap:balance;pointer-events:none}.empty-guide-toggle{min-height:2.75rem;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2xs);padding-inline:var(--space-sm);border:var(--rule-thin) solid var(--color-rule-strong);border-radius:var(--radius-pill);color:var(--color-ink);background:var(--color-surface-raised);box-shadow:var(--shadow-control);font-size:var(--text-xs);font-weight:700;white-space:nowrap;cursor:pointer;pointer-events:auto;transition:background-color var(--dur-short) var(--ease-out),transform var(--dur-instant) var(--ease-out)}.empty-guide-toggle[hidden]{display:none}.empty-guide-toggle svg{inline-size:1rem;block-size:1rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.empty-guide-toggle[aria-pressed=true]{background:var(--color-paper);box-shadow:inset 0 0 0 2px var(--color-accent),var(--shadow-control)}.empty-guide-toggle.is-needed:not([aria-pressed=true]){box-shadow:inset 0 0 0 1px var(--color-accent),var(--shadow-control)}.empty-guide-toggle:active{transform:translateY(1px)}.empty-guide-toggle:disabled{opacity:.48;cursor:not-allowed}.gem-tray{padding:var(--space-md)}.shape-picker{margin-block-end:var(--space-lg);padding-block-end:var(--space-lg);border-block-end:var(--rule-thin) solid var(--color-rule)}.shape-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xs)}.shape-choice{min-width:0;min-height:5.25rem;display:grid;place-items:center;gap:var(--space-2xs);padding:var(--space-xs);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-sm);color:var(--color-muted);background:var(--color-surface-raised);cursor:pointer;white-space:nowrap;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-instant) var(--ease-out),box-shadow var(--dur-short) var(--ease-out)}.shape-choice svg{inline-size:2.55rem;block-size:2.55rem;overflow:visible;fill:var(--color-paper-deep);stroke:var(--color-rule-strong);stroke-width:1.8;vector-effect:non-scaling-stroke}.shape-choice .shape-icon__detail{fill:none;stroke-width:1.15;opacity:.7}.shape-choice span{font-size:var(--text-xs);font-weight:700;line-height:1}.shape-choice[aria-checked=true]{color:var(--color-ink);background:var(--color-paper);box-shadow:inset 0 0 0 2px var(--color-ink)}.shape-choice:active{transform:translateY(1px)}.shape-choice:disabled{opacity:.48;cursor:not-allowed}.tray-copy h2{margin-block-end:var(--space-2xs);font-size:var(--text-lg);line-height:1.05}.tray-copy p,.keyboard-note{margin-block-end:var(--space-md);color:var(--color-muted);font-size:var(--text-sm)}.swatch-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-xs)}.swatch{position:relative;min-width:0;min-height:3.25rem;display:grid;place-items:center;border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-sm);color:var(--color-ink);background:var(--color-surface-raised);cursor:grab;transition:background-color var(--dur-short) var(--ease-out),transform var(--dur-instant) var(--ease-out),box-shadow var(--dur-short) var(--ease-out)}.swatch:active{cursor:grabbing;transform:translateY(1px)}.swatch[aria-checked=true]{box-shadow:inset 0 0 0 2px var(--color-ink)}.swatch__gem{inline-size:1.7rem;block-size:1.7rem;border-radius:50%;background:var(--swatch-color);box-shadow:inset -.25rem -.32rem .35rem var(--color-gem-shade),inset .28rem .22rem .28rem var(--color-gem-shine),0 .22rem .45rem var(--color-shadow)}.swatch[data-color=rose]{--swatch-color: var(--color-gem-rose)}.swatch[data-color=coral]{--swatch-color: var(--color-gem-coral)}.swatch[data-color=honey]{--swatch-color: var(--color-gem-honey)}.swatch[data-color=jade]{--swatch-color: var(--color-gem-jade)}.swatch[data-color=sky]{--swatch-color: var(--color-gem-sky)}.swatch[data-color=violet]{--swatch-color: var(--color-gem-violet)}.swatch:disabled{opacity:.48;cursor:not-allowed}.swatch__label{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0 0 0 0)}.tray-actions{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-block-start:var(--space-md)}.tool-button{min-height:2.75rem;padding-inline:var(--space-md);border:var(--rule-thin) solid var(--color-ink);border-radius:var(--radius-pill);color:var(--color-accent-ink);background:var(--color-ink);cursor:pointer;white-space:nowrap;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-instant) var(--ease-out)}.tool-button--quiet{color:var(--color-ink);background:transparent}.tool-button:active{transform:translateY(1px)}.tool-button:disabled{opacity:.48;cursor:not-allowed}.keyboard-note{margin-block:var(--space-md) 0}.sr-only{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(hover:hover)and (pointer:fine){.swatch:hover,.shape-choice:hover{background:var(--color-paper)}.tool-button:hover{background:var(--color-paper-deep)}}@media(min-width:52rem){.bedazzle-app{gap:var(--space-lg);padding:var(--space-lg)}.craft-workbench{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(30rem,1fr)}.gem-tray{display:grid;grid-template-columns:minmax(15rem,.8fr) minmax(22rem,1.2fr) auto;align-items:end;gap:var(--space-lg)}.shape-picker{margin-block-end:0;padding-block-end:0;padding-inline-end:var(--space-lg);border-block-end:0;border-inline-end:var(--rule-thin) solid var(--color-rule)}.swatch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shape-choice{min-height:5.75rem}.tray-actions{margin-block-start:0;padding-block-start:0}.keyboard-note{display:none}}@media(min-width:72rem){.bedazzle-app{padding-inline:clamp(var(--space-xl),4vw,var(--space-2xl))}}@media(max-width:32rem){.workbench-head{align-items:stretch;flex-direction:column;gap:var(--space-sm)}.progress-cluster{min-width:0}.craft-workbench,.canvas-stage{min-height:22rem}.swatch-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.canvas-hint{font-size:var(--text-xs)}}@media(pointer:coarse){.swatch,.shape-choice,.tool-button{min-height:3rem}.book-active-target{display:none}}@media(max-width:51.99rem){.bedazzle-app{gap:var(--space-sm);padding:max(var(--space-sm),env(safe-area-inset-top)) max(var(--space-sm),env(safe-area-inset-right)) max(var(--space-sm),env(safe-area-inset-bottom)) max(var(--space-sm),env(safe-area-inset-left))}.craft-workbench{gap:var(--space-sm)}.gem-tray{display:grid;grid-template-columns:5.75rem minmax(0,1fr);align-items:end;gap:var(--space-xs);padding:var(--space-sm)}.shape-picker,.gem-picker{display:grid;grid-template-columns:minmax(0,1fr);align-items:end;gap:var(--space-2xs)}.shape-picker{margin-block-end:0;padding:0 var(--space-xs) 0 0;border-block-end:0;border-inline-end:var(--rule-thin) solid var(--color-rule)}.gem-picker{padding:0;border:0}.tray-copy h2{margin:0;font-size:var(--text-xs);line-height:1}.tray-copy p,.keyboard-note{display:none}.shape-grid,.swatch-grid{gap:var(--space-2xs)}.shape-choice{min-height:2.75rem;display:flex;gap:var(--space-2xs);padding:var(--space-2xs)}.shape-choice svg{inline-size:1.6rem;block-size:1.6rem}.shape-choice span{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0 0 0 0)}.swatch-grid{display:flex;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;scroll-snap-type:inline proximity}.swatch-grid::-webkit-scrollbar{display:none}.swatch{flex:0 0 2.75rem;min-height:2.75rem;scroll-snap-align:start}.swatch__gem{inline-size:1.4rem;block-size:1.4rem}.tray-actions{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2xs);margin-block-start:0}.tool-button{min-height:2.5rem;padding-inline:var(--space-xs);font-size:var(--text-xs)}body:has(.bedazzle-app[data-active-shape=book]){height:100dvh;overflow:hidden}.bedazzle-app[data-active-shape=book]{height:100dvh;min-height:0;grid-template-rows:auto minmax(0,1fr) 9.75rem;gap:var(--space-xs);padding:max(var(--space-xs),env(safe-area-inset-top)) max(var(--space-xs),env(safe-area-inset-right)) max(var(--space-xs),env(safe-area-inset-bottom)) max(var(--space-xs),env(safe-area-inset-left));overflow:hidden}.bedazzle-app[data-active-shape=book] .workbench-head__copy{display:none}.bedazzle-app[data-active-shape=book] .workbench-head{display:block}.bedazzle-app[data-active-shape=book] .progress-cluster{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-sm)}.bedazzle-app[data-active-shape=book] .progress-track{margin:0}.bedazzle-app[data-active-shape=book] .craft-workbench{display:contents}.bedazzle-app[data-active-shape=book] .canvas-stage{grid-row:2;min-height:0;height:100%}.bedazzle-app[data-active-shape=book] .gem-tray{grid-row:3;display:grid;gap:var(--space-xs);padding:var(--space-xs);border-radius:var(--radius-md);overflow:hidden}.bedazzle-app[data-active-shape=book] .shape-picker{margin:0;padding:0;border:0}.bedazzle-app[data-active-shape=book] .shape-picker .tray-copy,.bedazzle-app[data-active-shape=book] .gem-tray>.tray-copy,.bedazzle-app[data-active-shape=book] .keyboard-note{display:none}.bedazzle-app[data-active-shape=book] .shape-choice{min-height:2.5rem;grid-template-columns:auto auto;align-content:center;padding:var(--space-2xs) var(--space-xs)}.bedazzle-app[data-active-shape=book] .shape-choice svg{inline-size:1.5rem;block-size:1.5rem}.bedazzle-app[data-active-shape=book] .swatch-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.bedazzle-app[data-active-shape=book] .swatch{min-height:2.5rem}.bedazzle-app[data-active-shape=book] .swatch__gem{inline-size:1.45rem;block-size:1.45rem}.bedazzle-app[data-active-shape=book] .tray-actions{flex-wrap:nowrap;margin:0}.bedazzle-app[data-active-shape=book] .tool-button{flex:1 1 0;min-width:0;min-height:2.25rem;padding-inline:var(--space-xs)}.bedazzle-app[data-active-shape=book] .canvas-hint{inset-block-end:var(--space-xs);max-width:calc(100% - var(--space-md));padding:var(--space-2xs) var(--space-sm);font-size:var(--text-xs)}.bedazzle-app[data-active-shape=book] .book-event-link{inset-block-start:var(--space-xs);inset-inline-end:var(--space-xs);min-height:2.25rem;padding-inline:var(--space-sm);font-size:var(--text-xs)}}.canvas-toolbar{position:absolute;z-index:3;inset-block-start:var(--space-sm);inset-inline:var(--space-sm);display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);pointer-events:none}.canvas-toolbar .shape-picker,.canvas-actions{pointer-events:auto}.canvas-toolbar .shape-picker{margin:0;padding:0;border:0}.canvas-toolbar .shape-grid{gap:var(--space-2xs)}.canvas-toolbar .shape-choice{min-height:2.75rem;display:flex;grid-template-columns:none;gap:var(--space-2xs);padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-pill);box-shadow:var(--shadow-control)}.canvas-toolbar .shape-choice svg{inline-size:1.5rem;block-size:1.5rem}.canvas-actions{display:flex;align-items:center;gap:var(--space-2xs)}.canvas-action,.tool-sheet__close{min-height:2.75rem;display:inline-flex;align-items:center;justify-content:center;padding-inline:var(--space-sm);border:var(--rule-thin) solid var(--color-rule-strong);border-radius:var(--radius-pill);color:var(--color-ink);background:var(--color-surface-raised);box-shadow:var(--shadow-control);cursor:pointer;white-space:nowrap;transition:background-color var(--dur-short) var(--ease-out),transform var(--dur-instant) var(--ease-out)}.canvas-action{gap:var(--space-2xs)}.canvas-action__icon,.tool-row__icon{inline-size:1.25rem;block-size:1.25rem;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.canvas-action:active,.tool-sheet__close:active{transform:translateY(1px)}.canvas-action:disabled{opacity:.48;cursor:not-allowed}.tool-sheet__close:disabled{opacity:.48;cursor:not-allowed}.canvas-action:focus-visible,.tool-sheet__close:focus-visible,.sensory-toggle:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.gem-tray{padding:var(--space-xs)}.gem-picker{min-width:0}.tool-sheet{position:fixed;inset:auto max(var(--space-sm),env(safe-area-inset-right)) max(calc(var(--space-xl) + var(--space-xl)),env(safe-area-inset-bottom)) auto;width:min(23rem,calc(100% - var(--space-lg)));max-height:calc(100dvh - var(--space-xl));overflow-y:auto;margin:0;padding:var(--space-md);border:var(--rule-thin) solid var(--color-rule-strong);border-radius:var(--radius-md);color:var(--color-ink);background:var(--color-surface-raised);box-shadow:var(--shadow-panel)}.tool-sheet::backdrop{background:var(--color-shadow-soft)}.tool-sheet__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-block-end:var(--space-md)}.tool-sheet__head h2{margin:0;font-size:var(--text-lg)}.tool-sheet__group+.tool-sheet__group{margin-block-start:var(--space-md);padding-block-start:var(--space-md);border-block-start:var(--rule-thin) solid var(--color-rule)}.tool-sheet__group h3{margin:0 0 var(--space-xs);color:var(--color-muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.tool-sheet__actions{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xs)}.tool-row{width:100%;min-height:4rem;display:flex;align-items:center;justify-content:flex-start;gap:var(--space-sm);padding:var(--space-sm);border-color:var(--color-rule);border-radius:var(--radius-sm);text-align:start}.tool-row__copy{min-width:0;display:grid;gap:var(--space-2xs)}.tool-row__copy strong,.tool-row__copy small{white-space:nowrap}.tool-row__copy strong{font-size:var(--text-sm);line-height:1}.tool-row__copy small{color:var(--color-muted);font-size:var(--text-xs);line-height:1.2}.tool-sheet__note{margin:var(--space-sm) 0 0;color:var(--color-muted);font-size:var(--text-xs)}.sensory-toggle{gap:var(--space-sm)}.sensory-toggle[aria-pressed=true]{color:var(--color-ink);background:var(--color-paper);box-shadow:inset 0 0 0 2px var(--color-accent)}.sensory-toggle__switch{inline-size:2.5rem;block-size:1.5rem;display:flex;align-items:center;margin-inline-start:auto;padding:var(--space-2xs);border:var(--rule-thin) solid var(--color-rule-strong);border-radius:var(--radius-pill);background:var(--color-paper-deep)}.sensory-toggle__switch span{inline-size:1rem;block-size:1rem;border-radius:50%;background:var(--color-rule-strong);transform:translate(0);transition:transform var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out)}.sensory-toggle[aria-pressed=true] .sensory-toggle__switch{background:var(--color-surface-raised)}.sensory-toggle[aria-pressed=true] .sensory-toggle__switch span{background:var(--color-accent);transform:translate(1rem)}.celebration{position:fixed;z-index:100;inset:0;overflow:clip;pointer-events:none}.celebration__piece{--piece-color: var(--color-gem-rose);position:absolute;inset-block-start:-1.5rem;inset-inline-start:var(--x);inline-size:.55rem;block-size:.9rem;border-radius:var(--space-2xs);background:var(--piece-color);box-shadow:inset .12rem .12rem .12rem var(--color-gem-shine);opacity:0;animation:confetti-fall var(--flight) var(--ease-in) var(--delay) both}.celebration__piece--round{inline-size:.7rem;block-size:.7rem;border-radius:50%}.celebration__piece--rose{--piece-color: var(--color-gem-rose)}.celebration__piece--coral{--piece-color: var(--color-gem-coral)}.celebration__piece--honey{--piece-color: var(--color-gem-honey)}.celebration__piece--jade{--piece-color: var(--color-gem-jade)}.celebration__piece--sky{--piece-color: var(--color-gem-sky)}.celebration__piece--violet{--piece-color: var(--color-gem-violet)}@keyframes confetti-fall{0%{opacity:0;transform:translate3d(0,-4svh,0) rotate(0)}12%{opacity:1}76%{opacity:1}to{opacity:0;transform:translate3d(var(--drift),104svh,0) rotate(var(--turn))}}#bedazzle-canvas.is-painting{cursor:crosshair}@media(min-width:52rem){.canvas-stage{min-height:clamp(32rem,68svh,52rem)}.gem-tray{display:block}.gem-tray .swatch-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.canvas-toolbar .shape-choice{min-height:3rem}}@media(hover:hover)and (pointer:fine){.canvas-action:not(:disabled):hover,.tool-sheet__close:not(:disabled):hover{background:var(--color-paper-deep)}.sensory-toggle[aria-pressed=true]:hover{color:var(--color-ink);background:var(--color-paper-deep)}.empty-guide-toggle:not(:disabled):hover{background:var(--color-paper-deep)}}@media(max-width:51.99rem){html,body{height:100%;overflow-x:clip;overflow-y:hidden}.bedazzle-app{height:100dvh;min-height:0;grid-template-rows:auto minmax(0,1fr);gap:var(--space-xs);padding:max(var(--space-xs),env(safe-area-inset-top)) max(var(--space-xs),env(safe-area-inset-right)) max(var(--space-xs),env(safe-area-inset-bottom)) max(var(--space-xs),env(safe-area-inset-left))}.workbench-head{min-height:2.75rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(6.5rem,.42fr);align-items:center;gap:var(--space-sm)}.event-note,.workbench-head__copy>p:last-child{display:none}h1{margin:0;font-size:clamp(1.35rem,7vw,1.75rem);line-height:1.05}.progress-cluster{min-width:0;font-size:var(--text-xs);line-height:1.2}.progress-track{block-size:.35rem;margin-block-start:var(--space-2xs)}.craft-workbench{height:100%;min-height:0;grid-template-rows:minmax(0,1fr) auto;gap:var(--space-xs)}.canvas-stage{min-height:0;height:auto}.canvas-toolbar{inset-block-start:var(--space-xs);inset-inline:var(--space-xs)}.canvas-toolbar .shape-choice{inline-size:2.75rem;min-height:2.75rem;padding:var(--space-2xs)}.canvas-toolbar .shape-choice span{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0 0 0 0)}.canvas-action{min-height:2.75rem;padding-inline:var(--space-sm);font-size:var(--text-xs)}.gem-tray{display:block;padding:var(--space-xs)}.swatch-grid,.gem-tray .swatch-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-2xs);overflow:visible}.swatch{min-width:0;min-height:2.75rem}.swatch__gem{inline-size:1.45rem;block-size:1.45rem}.keyboard-note{display:none}.canvas-guide-bar{inset-block-end:var(--space-xs);max-width:calc(100% - var(--space-md))}.canvas-hint{padding:var(--space-2xs) var(--space-sm);font-size:var(--text-xs)}.tool-sheet{inset:auto max(var(--space-xs),env(safe-area-inset-right)) max(var(--space-xs),env(safe-area-inset-bottom)) max(var(--space-xs),env(safe-area-inset-left));width:auto;max-height:calc(100dvh - var(--space-md));padding:var(--space-sm)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.celebration--quiet{opacity:1}.celebration--quiet .celebration__piece{inset-block-start:var(--y);opacity:.72;animation:none!important;transform:rotate(var(--turn))}}
