.moodboard-modal{position:fixed;inset:0;z-index:var(--z-modal);display:flex;flex-direction:column;background:var(--color-50);overflow:hidden;transition:opacity var(--duration-base) var(--ease-smooth)}.moodboard-modal.is-closing{opacity:0}.moodboard-back{position:absolute;top:var(--space-5);left:var(--space-5);z-index:2;padding:0;border:none;background:none;cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-variation-settings:"wght" var(--font-wght-semibold);color:var(--color-800);transition:color var(--duration-fast) var(--ease-smooth)}.moodboard-back:hover{color:var(--color-1000)}.moodboard-modal_body{display:flex;flex:1;min-height:0}.moodboard-stage{flex:1;min-width:0;min-height:0;display:grid;place-items:center;position:relative;padding:var(--space-12) var(--space-6);background:var(--color-50);container-type:size}.moodboard-empty{position:absolute;inset:var(--space-4);margin:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);text-align:center;max-width:22rem;max-height:max-content;padding:var(--space-6);background:var(--color-100);border:1px solid var(--color-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-float)}.moodboard-board{position:relative;container-type:size;overflow:hidden;max-width:100%;max-height:100%;transition:width var(--duration-slower) var(--ease-smooth),aspect-ratio var(--duration-slower) var(--ease-smooth),background var(--duration-base) var(--ease-smooth)}.moodboard-tile{position:absolute;background:transparent;transition:left var(--duration-slower) var(--ease-smooth),top var(--duration-slower) var(--ease-smooth),width var(--duration-slower) var(--ease-smooth),height var(--duration-slower) var(--ease-smooth),transform var(--duration-slower) var(--ease-smooth),box-shadow var(--duration-slower) var(--ease-smooth),border-radius var(--duration-slower) var(--ease-smooth);animation:moodboard-tile-in var(--duration-medium) var(--ease-smooth) backwards}@keyframes moodboard-tile-in{0%{opacity:0}to{opacity:1}}.moodboard-tile_clip{position:absolute;inset:0;overflow:hidden;transition:border-radius var(--duration-slower) var(--ease-smooth)}.moodboard-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;display:block;user-select:none;opacity:0;transition:opacity var(--duration-medium) var(--ease-smooth)}.moodboard-tile img.is-painted{opacity:1}.moodboard-tile_blur{opacity:1!important;transition:none!important}.moodboard-tile_actions{position:absolute;top:var(--space-1);right:var(--space-1);display:flex;gap:var(--space-1);opacity:0;transform:scale(.9);transition:opacity var(--duration-fast) var(--ease-smooth),transform var(--duration-fast) var(--ease-smooth);z-index:1002}.moodboard-tile_remove{display:grid;place-items:center;width:var(--space-6);height:var(--space-6);padding:0;border:none;border-radius:var(--radius-full);background:var(--color-1000);color:var(--color-0);cursor:pointer}@media (hover:hover){.moodboard-tile:focus-within .moodboard-tile_actions,.moodboard-tile:hover .moodboard-tile_actions{opacity:1;transform:scale(1)}}@media (hover:none){.moodboard-tile_actions{display:none}}.moodboard-board.is-editable:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(circle,var(--color-1000) 1px,transparent 1px);background-size:22px 22px;opacity:.06}.moodboard-tile.is-editable{cursor:grab;touch-action:none}.moodboard-tile.is-editable:active{cursor:grabbing}.moodboard-tile_bounds{position:absolute;inset:0;box-shadow:inset 0 0 0 1.5px var(--color-primary);border-radius:0;pointer-events:none;z-index:1000}.moodboard-tile.is-editable:focus-visible{outline:1.5px solid var(--color-primary);outline-offset:0}.moodboard-tile[data-dragging]{transition:none}.moodboard-handle{position:absolute;width:44px;height:44px;display:grid;place-items:center;z-index:1001;touch-action:none}.moodboard-handle_dot{width:8px;height:8px;border-radius:0;background:var(--color-1000);border:1.5px solid var(--color-primary)}.moodboard-handle_tl{top:0;left:0}.moodboard-handle_br,.moodboard-handle_tl{transform:translate(-50%,-50%);cursor:nwse-resize}.moodboard-handle_br{top:100%;left:100%}.moodboard-handle_tr{top:0;left:100%}.moodboard-handle_bl,.moodboard-handle_tr{transform:translate(-50%,-50%);cursor:nesw-resize}.moodboard-handle_bl{top:100%;left:0}body.is-moodboard-gesture,body.is-moodboard-gesture *{cursor:var(--moodboard-cursor,grabbing)!important}.moodboard-stage_loading{position:absolute;bottom:var(--space-4);display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-100);border:1px solid var(--color-200);border-radius:var(--radius-pill);box-shadow:var(--shadow-float)}.moodboard-spinner{width:var(--space-4);height:var(--space-4);border:2px solid var(--color-300);border-top-color:var(--color-800);border-radius:var(--radius-full);animation:moodboard-spin .7s linear infinite}@keyframes moodboard-spin{to{transform:rotate(1turn)}}.moodboard-controls{width:20rem;flex-shrink:0;display:flex;flex-direction:column;min-height:0;margin:var(--space-3) var(--space-3) var(--space-3) 0;background:var(--color-100);border-radius:var(--radius-xl);overflow:hidden}.moodboard-controls_scroll{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5) var(--space-5) var(--space-16);-webkit-mask-image:linear-gradient(180deg,black calc(100% - 3.5rem),transparent);mask-image:linear-gradient(180deg,black calc(100% - 3.5rem),transparent)}.moodboard-controls_scroll>*+*{border-top:1px solid var(--hairline);padding-top:var(--space-4)}.moodboard-control-block{display:flex;flex-direction:column;gap:var(--space-2)}.moodboard-nested{display:flex;flex-direction:column;gap:var(--space-4)}.moodboard-nested:empty{display:none}.moodboard-nested:not(:empty){padding:var(--space-3);border-radius:var(--radius-lg);background:var(--fill-faintest)}.moodboard-controls_actions{flex-shrink:0;flex-direction:column;padding:var(--space-4) var(--space-5);background:var(--color-150);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.moodboard-actions_row,.moodboard-control,.moodboard-controls_actions{display:flex;gap:var(--space-2)}.moodboard-control{position:relative;flex-direction:column}.moodboard-control_label{font-size:var(--font-size-sm);color:var(--color-700)}.moodboard-control .tabs-menu{margin-bottom:0;width:100%}.moodboard-control .tabs-menu .tab-link-effect{flex:1;min-width:0}.moodboard-slider{position:relative;display:flex;align-items:center;height:var(--space-10);border-radius:var(--radius-pill);background:var(--color-50);overflow:hidden;cursor:ew-resize;touch-action:none}.moodboard-slider:has(.moodboard-slider_input:focus-visible){box-shadow:var(--shadow-focus)}.moodboard-slider_fill{position:absolute;left:0;top:0;bottom:0;background:var(--color-200);pointer-events:none;transition:width var(--duration-fast) var(--ease-smooth)}.moodboard-slider_label,.moodboard-slider_value{position:relative;z-index:1;font-size:var(--font-size-caption);color:var(--color-800);font-weight:var(--font-weight-medium);font-variation-settings:"wght" var(--font-wght-medium);pointer-events:none}.moodboard-slider_label{padding-left:var(--space-4)}.moodboard-slider_value{margin-left:auto;padding-right:var(--space-4);font-variant-numeric:tabular-nums}.moodboard-slider_input{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;pointer-events:none}.moodboard-swatches{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-2)}.moodboard-swatches .tooltip-wrap{width:100%}.moodboard-swatch{position:relative;width:100%;aspect-ratio:1;border-radius:var(--radius-full);border:none;padding:0;cursor:pointer;transition:transform var(--duration-fast) var(--ease-smooth),box-shadow var(--duration-fast) var(--ease-smooth)}.moodboard-swatch:active{transform:scale(.9)}.moodboard-swatch.is-active{box-shadow:inset 0 0 0 2px var(--color-1000),inset 0 0 0 4px var(--color-100)}.moodboard-swatch.is-rainbow{background:conic-gradient(hsl(0,100%,60%),hsl(60,100%,55%),hsl(120,100%,45%),hsl(180,100%,50%),hsl(240,100%,62%),hsl(300,100%,55%),hsl(0,100%,60%))}.moodboard-swatch.is-auto,.moodboard-swatch.is-image{background:var(--fill-subtle);border:1px solid var(--color-300);color:var(--color-900)}.moodboard-swatch.is-auto{display:grid;place-items:center}.moodboard-swatch.is-auto:hover{color:var(--color-1000)}.moodboard-swatch.is-image{display:block;overflow:visible;cursor:default}.moodboard-swatch_imgbtn{position:absolute;inset:0;display:grid;place-items:center;padding:0;border:none;border-radius:inherit;background:transparent;color:inherit;cursor:pointer;overflow:hidden}.moodboard-swatch.is-image:hover{color:var(--color-1000)}.moodboard-swatch_imgbtn img{width:100%;height:100%;object-fit:cover;display:block}.moodboard-swatch_clear{position:absolute;top:calc(-1 * var(--space-1));right:calc(-1 * var(--space-1));z-index:1;width:1.1rem;height:1.1rem;display:grid;place-items:center;padding:0;border:none;border-radius:var(--radius-full);background:var(--color-1000);color:var(--color-0);cursor:pointer;box-shadow:var(--shadow-float)}.moodboard-cp{position:absolute;top:calc(100% + var(--space-2));left:0;right:0;z-index:var(--z-dropdown);display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);background:var(--color-100);border:1px solid var(--color-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-popover);animation:popover-in var(--duration-fast) var(--ease-smooth)}.moodboard-cp_sv{position:relative;aspect-ratio:1.45;border-radius:var(--radius-md);background-image:linear-gradient(0deg,hsl(0,0%,0%),transparent),linear-gradient(90deg,hsl(0,0%,100%),transparent);cursor:crosshair;touch-action:none}.moodboard-cp_thumb{position:absolute;width:var(--space-4);height:var(--space-4);border-radius:var(--radius-full);border:2px solid hsl(0,0%,100%);box-shadow:var(--shadow-float);transform:translate(-50%,-50%);pointer-events:none}.moodboard-cp_hue{-webkit-appearance:none;appearance:none;width:100%;height:var(--space-3);border-radius:var(--radius-pill);background:linear-gradient(90deg,hsl(0,100%,50%),hsl(60,100%,50%),hsl(120,100%,50%),hsl(180,100%,50%),hsl(240,100%,50%),hsl(300,100%,50%),hsl(360,100%,50%));cursor:pointer}.moodboard-cp_hue::-webkit-slider-thumb{-webkit-appearance:none;width:1.1rem;height:1.1rem;border-radius:var(--radius-full);background:transparent;border:3px solid hsl(0,0%,100%);box-shadow:var(--shadow-float);cursor:grab}.moodboard-cp_hue::-moz-range-thumb{width:1.1rem;height:1.1rem;border-radius:var(--radius-full);background:transparent;border:3px solid hsl(0,0%,100%);box-shadow:var(--shadow-float);cursor:grab}.moodboard-cp_row{display:flex;align-items:stretch;gap:var(--space-2)}.moodboard-cp_hex{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-1);padding:var(--space-15) var(--space-2);background:var(--fill-subtle);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-700)}.moodboard-cp_dropper{display:grid;place-items:center;width:var(--space-8);border:none;border-radius:var(--radius-md);background:var(--fill-subtle);color:var(--color-800);cursor:pointer;transition:background var(--duration-fast) var(--ease-smooth),color var(--duration-fast) var(--ease-smooth)}.moodboard-cp_dropper:hover{background:var(--fill-hover);color:var(--color-1000)}.moodboard-cp_hex input{flex:1;min-width:0;border:none;background:transparent;font:inherit;color:var(--color-1000)}.moodboard-cp_hex input:focus{outline:none}.moodboard-cp_chip{width:var(--space-5);height:var(--space-5);border-radius:var(--radius-sm)}.moodboard-shuffle-icon{display:inline-grid;place-items:center;margin-right:var(--space-2)}.moodboard-shuffle-icon path{stroke-dasharray:1;stroke-dashoffset:1;animation:moodboard-shuffle-draw var(--duration-medium) var(--ease-smooth) forwards}.moodboard-shuffle-icon path:nth-child(2){animation-duration:var(--duration-fast);animation-delay:.16s}.moodboard-shuffle-icon path:nth-child(3),.moodboard-shuffle-icon path:nth-child(4){animation-delay:.1s}.moodboard-shuffle-icon path:nth-child(5){animation-duration:var(--duration-fast);animation-delay:.26s}@keyframes moodboard-shuffle-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}.moodboard-link-btn,.moodboard-shuffle-link{display:inline-flex;align-items:center;gap:var(--space-1);border:none;background:none;padding:0;cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-variation-settings:"wght" var(--font-wght-medium);color:var(--color-1000);text-decoration:underline;text-underline-offset:.15em;transition:opacity var(--duration-fast) var(--ease-smooth)}.moodboard-link-btn:hover,.moodboard-shuffle-link:hover{opacity:.7}.moodboard-shuffle-link svg{display:block}.moodboard-images{display:flex;flex-direction:column;gap:var(--space-3)}.moodboard-images_head{display:flex;align-items:center;justify-content:space-between}.moodboard-images_actions{display:inline-flex;align-items:center;gap:var(--space-3)}.moodboard-cta-icon{margin-right:var(--space-2)}@media (max-width:479px){.moodboard-cta-label{display:none}.moodboard-cta-icon{margin-right:0}}.moodboard-images_grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2)}.moodboard-thumb{position:relative;aspect-ratio:16/9;border:none;padding:0;cursor:pointer;border-radius:var(--radius-sm);overflow:hidden;background:var(--color-200);opacity:.45;transition:opacity var(--duration-fast) var(--ease-smooth)}.moodboard-thumb.is-on{opacity:1}.moodboard-thumb_blur{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(8px);transform:scale(1.1)}.moodboard-thumb_img{position:absolute;left:0;top:50%;width:100%;height:auto;transform:translateY(-50%);display:block;opacity:0;transition:opacity var(--duration-medium) var(--ease-smooth)}.moodboard-thumb_img.is-tall{top:0;transform:none}.moodboard-thumb_img.is-loaded{opacity:1}.moodboard-thumb_check{position:absolute;top:var(--space-1);right:var(--space-1);width:1.1rem;height:1.1rem;display:grid;place-items:center;border-radius:var(--radius-full);background:var(--color-1000);color:var(--color-0);box-shadow:var(--shadow-float)}@media (prefers-reduced-motion:reduce){.moodboard-board,.moodboard-tile{transition:none;animation:none}.moodboard-shuffle-icon path{animation:none;stroke-dashoffset:0}.moodboard-tile img{transition:opacity var(--duration-fast) var(--ease-smooth)}}@media (max-width:767px){.moodboard-modal_body{flex-direction:column}.moodboard-stage{flex:1 1 auto;min-height:9rem;padding:var(--space-12) var(--space-4) var(--space-4)}.moodboard-controls{width:auto;flex:0 0 auto;max-height:56vh;margin:0;border-radius:0;border-top:1px solid var(--color-200)}.moodboard-controls_scroll{gap:var(--space-3);padding:var(--space-4)}.moodboard-controls_scroll>*+*{padding-top:var(--space-3)}.moodboard-controls_actions{border-radius:0;padding:var(--space-3) var(--space-4);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom))}.moodboard-images_grid{grid-template-columns:repeat(5,1fr)}}