.color-flow-gallery-card{grid-column:span 2}@media (max-width:720px){.color-flow-gallery-card{grid-column:span 1}}.color-flow-demo{grid-template-rows:minmax(0,1fr) 30px;gap:12px;min-width:0;display:grid;position:absolute;inset:17px 18px 43px}.color-flow-demo .color-flow-window{perspective:900px;place-items:center;min-width:0;min-height:0;display:grid;container-type:size}.color-flow-demo .color-flow-card{aspect-ratio:1;background:var(--flow-ink);background-image:repeating-radial-gradient(ellipse at 10% 0%, transparent 0 12%, var(--flow-paper) 17% 18%, transparent 25% 36%);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:pan-y;border:0;border-radius:7px;width:min(94cqw,94cqh);padding:0;display:block;position:relative;overflow:hidden;box-shadow:0 14px 25px -16px #20242b5c,0 1px 2px #20242b12}.color-flow-demo .color-flow-card canvas{width:100%;height:100%;display:block}.color-flow-demo .color-flow-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.color-flow-demo .color-flow-compact{color:var(--ink-soft);justify-content:center;align-items:center;gap:13px;font-size:10px;display:flex}.color-flow-demo .color-flow-compact a:hover{color:var(--accent)}.color-flow-demo .color-flow-button{border:1px solid var(--line);min-height:30px;color:var(--foreground);background:var(--paper);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:5px 11px;font-size:11px;display:inline-flex}.color-flow-demo .color-flow-button:hover{background:var(--accent-soft)}.color-flow-demo .color-flow-speed{min-height:30px;color:var(--ink-soft);font:10px var(--font-geist-mono), monospace;cursor:pointer;background:0 0;border:0;padding:5px}.color-flow-demo button:disabled,.color-flow-demo input:disabled{opacity:.45;cursor:default}.color-flow-demo :is(button,a,input):focus-visible{outline:2px solid var(--accent);outline-offset:4px}.color-flow-demo--expanded{grid-template-rows:auto;grid-template-columns:minmax(0,340px) minmax(210px,255px);justify-content:space-between;align-items:center;gap:clamp(24px,3vw,40px);position:relative;inset:auto}.color-flow-demo--expanded .color-flow-window{aspect-ratio:1}.color-flow-demo .color-flow-panel{gap:20px;display:grid}.color-flow-demo .color-flow-kicker{color:var(--ink-soft);font:10px var(--font-geist-mono), monospace;letter-spacing:.07em}.color-flow-demo .color-flow-panel-heading h2{letter-spacing:-.045em;margin:13px 0 10px;font-size:clamp(23px,2.3vw,29px);font-weight:450;line-height:1.14}.color-flow-demo .color-flow-panel-heading h2 span{display:block}.color-flow-demo .color-flow-panel-heading p{color:var(--ink-soft);margin:0;font-size:12px;line-height:1.7}.color-flow-demo .color-flow-palettes{border:0;margin:0;padding:0}.color-flow-demo .color-flow-palettes legend,.color-flow-demo .color-flow-range{color:var(--foreground);font-size:11px}.color-flow-demo .color-flow-palettes>div{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.color-flow-demo .color-flow-palettes button{border:1px solid var(--line);color:var(--ink-soft);background:var(--paper);cursor:pointer;border-radius:6px;align-items:center;gap:5px;padding:7px;font-size:10px;display:flex}.color-flow-demo .color-flow-palettes button[aria-pressed=true]{border-color:var(--accent);color:var(--foreground);background:var(--accent-soft)}.color-flow-demo .color-flow-palettes i{border-radius:50%;width:10px;height:10px}.color-flow-demo .color-flow-range{gap:8px;display:grid}.color-flow-demo .color-flow-range>span,.color-flow-demo .color-flow-range small{justify-content:space-between;display:flex}.color-flow-demo .color-flow-range small{color:var(--ink-soft);font-size:9px}.color-flow-demo .color-flow-range output{color:var(--ink-soft);font:10px var(--font-geist-mono), monospace}.color-flow-demo .color-flow-range input{width:100%;accent-color:var(--accent);cursor:pointer;margin:0}.color-flow-demo .color-flow-actions{gap:8px;display:flex}.color-flow-demo .color-flow-note{color:var(--ink-soft);font:9px/1.6 var(--font-geist-mono), monospace;margin:-5px 0 0}.color-flow-page{max-width:790px;margin:0 auto;padding:28px clamp(20px,3vw,40px) 40px}.color-flow-page .color-flow-page-heading{justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:20px;display:flex}.color-flow-page .color-flow-page-heading h1{letter-spacing:-.03em;margin:0;font-size:21px;font-weight:450}.color-flow-page .color-flow-page-heading p,.color-flow-page .color-flow-page-footer{color:var(--ink-soft);font:10px var(--font-geist-mono), monospace}.color-flow-page .color-flow-tabs{border:0;border-bottom:1px solid var(--line);flex-wrap:wrap;gap:7px;min-width:0;margin:0 0 24px;padding:0 0 20px;display:flex}.color-flow-page .color-flow-tabs button{border:1px solid var(--line);background:var(--paper);color:var(--ink-soft);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:11px;display:flex}.color-flow-page .color-flow-tabs button[aria-pressed=true]{background:var(--accent-soft);color:#4549c7;border-color:var(--accent)}.color-flow-page .color-flow-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.color-flow-page .color-flow-tabs button span{font:9px var(--font-geist-mono), monospace;opacity:.65}.color-flow-page .color-flow-page-footer{border-top:1px solid var(--line);justify-content:space-between;gap:20px;margin-top:26px;padding-top:20px;line-height:1.7;display:flex}.color-flow-page .color-flow-page-footer a:hover{color:var(--accent)}@media (max-width:700px){.color-flow-demo--expanded{grid-template-columns:1fr;gap:26px}.color-flow-demo--expanded .color-flow-window{justify-self:center;width:100%;max-width:340px}.color-flow-page{padding-top:24px}.color-flow-page .color-flow-page-heading p{font-size:8px}.color-flow-page .color-flow-tabs{gap:6px}.color-flow-page .color-flow-tabs button{padding:7px 10px;font-size:10px}}.color-flow-demo .color-flow-mobile-speed{display:none}@media (max-width:700px){.color-flow-demo .color-flow-mobile-speed{color:var(--ink-soft);align-items:center;gap:12px;font-size:11px;display:flex}.color-flow-demo .color-flow-mobile-speed input{min-width:0;accent-color:var(--accent);flex:1}.color-flow-demo .color-flow-mobile-speed output{min-width:42px;font:10px var(--font-geist-mono), monospace}}.color-flow-demo .color-flow-surface{width:100%;height:100%;display:block}.color-flow-demo .color-flow-source{text-underline-offset:3px;margin-top:7px;text-decoration:underline;display:block}.color-flow-studio{position:absolute;inset:18px 20px 39px;container-type:size}.color-flow-studio--standalone{height:370px;position:relative;inset:auto}.color-flow-studio .color-flow-demo--expanded{grid-template-rows:minmax(0,1fr);grid-template-columns:38px minmax(0,1fr) minmax(160px,210px);align-items:stretch;gap:clamp(12px,2cqw,24px);position:absolute;inset:0}.color-flow-studio .color-flow-window{aspect-ratio:auto;width:100%;max-width:none}.color-flow-studio .color-flow-card{width:min(90cqw,90cqh,300px)}.color-flow-studio .color-flow-style-rail{border:0;flex-direction:column;justify-content:center;gap:10px;min-width:0;margin:0;padding:0;display:flex}.color-flow-studio .color-flow-style-tile{aspect-ratio:1;width:38px;box-shadow:none;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;flex:none;padding:3px;display:block}.color-flow-studio .color-flow-style-tile span{border-radius:4px;width:100%;height:100%;display:block}.color-flow-studio .color-flow-style-tile--sand-flow span{background:radial-gradient(ellipse at 20% 80%, var(--sample-paper) 0 35%, transparent 37%), radial-gradient(ellipse at 70% 10%, var(--sample-paper) 0 40%, var(--sample-ink) 43%)}.color-flow-studio .color-flow-style-tile--marble-fold span{background:repeating-conic-gradient(from 40deg at 20% 60%, var(--sample-ink) 0deg, var(--sample-paper) 80deg, var(--sample-accent) 140deg, var(--sample-ink) 180deg)}.color-flow-studio .color-flow-style-tile--metal-melt span{background:linear-gradient(130deg, var(--sample-ink) 5%, var(--sample-accent) 27%, var(--sample-paper) 30%, var(--sample-accent) 39%, var(--sample-ink) 70%, var(--sample-paper) 90%)}.color-flow-studio .color-flow-style-tile--print-drift span{background:radial-gradient(circle, var(--sample-ink) 1px, transparent 1.5px) 0 0 / 4px 4px, linear-gradient(135deg, var(--sample-paper), var(--sample-accent), var(--sample-paper))}.color-flow-studio .color-flow-style-tile--prism-stream span{background:repeating-linear-gradient(128deg, transparent 0 2px, #fffc 2.5px 3px, transparent 3.5px 5px), linear-gradient(128deg, #05070b 18%, var(--sample-ink) 48%, var(--sample-paper) 57%, var(--sample-accent) 65%, #05070b 88%)}.color-flow-demo.prism-stream-demo .color-flow-card{background:#05070b}.color-flow-studio .color-flow-panel{align-self:center;gap:20px;min-width:0;padding:0 12px 0 20px}.color-flow-studio .color-flow-range small{display:none}.color-flow-studio .color-flow-palettes>div{gap:10px;margin:0}.color-flow-studio .color-flow-palettes button{background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;width:26px;height:26px;padding:0;display:grid}.color-flow-studio .color-flow-palettes button[aria-pressed=true]{background:0 0;border-color:#b8bec7}.color-flow-studio .color-flow-palettes button:hover{border-color:#b8bec7}.color-flow-studio .color-flow-palettes i{width:14px;height:14px}.color-flow-studio .color-flow-range{color:var(--ink-soft);gap:0;font-size:10px}.color-flow-studio .color-flow-range output{opacity:0;font-size:9px;transition:opacity .16s}.color-flow-studio .color-flow-range:hover output,.color-flow-studio .color-flow-range:focus-within output{opacity:1}.color-flow-studio .color-flow-range input{-webkit-appearance:none;appearance:none;cursor:pointer;background:0 0;height:24px}.color-flow-studio .color-flow-range input::-webkit-slider-runnable-track{background:#dce0e6;border-radius:2px;height:2px}.color-flow-studio .color-flow-range input::-moz-range-track{background:#dce0e6;border:0;border-radius:2px;height:2px}.color-flow-studio .color-flow-range input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#929aa6;border:0;border-radius:50%;width:8px;height:8px;margin-top:-3px}.color-flow-studio .color-flow-range input::-moz-range-thumb{background:#929aa6;border:0;border-radius:50%;width:8px;height:8px}.color-flow-studio .color-flow-style-tile[aria-pressed=true]{box-shadow:none;border-color:#a4acb8}@container (height<=280px){.color-flow-studio .color-flow-panel{gap:12px}}@container (width<=520px){.color-flow-studio .color-flow-demo--expanded{grid-template-rows:minmax(140px,1fr) auto;grid-template-columns:32px minmax(0,1fr);gap:10px 14px}.color-flow-studio .color-flow-style-rail{gap:6px}.color-flow-studio .color-flow-style-tile{width:32px}.color-flow-studio .color-flow-panel{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:8px 20px;padding:8px 0 0}}.color-flow-demo .color-flow-card:after{content:"";pointer-events:none;opacity:0;background:radial-gradient(ellipse 38% 55% at var(--flow-light-x,50%) var(--flow-light-y,50%), #ffffff29, transparent 70%);transition:opacity .18s;position:absolute;inset:0}@media (hover:hover) and (prefers-reduced-motion:no-preference){.color-flow-demo .color-flow-card:hover:after{opacity:1}}
