@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/dbd827405181b508-s.2f577igfy6zek.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC7,U+10EC9-10EEE,U+10EF?,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/101a8ea8ee0a71f8-s.2ofvzoy5xjn1c.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/a80398e50828056b-s.3ncsaruqasduw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/996b4d9a15bee5b0-s.45a19n6z-i3ph.woff2)format("woff2");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/9d760601823f9ac2-s.3s-jl_297nmfs.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/e683b1ee568be024-s.p.1er88gr2sg4r_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rubik Fallback;src:local(Arial);ascent-override:89.06%;descent-override:23.81%;line-gap-override:0.0%;size-adjust:104.98%}.usiANa_className{font-family:Rubik,Rubik Fallback;font-style:normal}.usiANa_variable{--font-sans:"Rubik", "Rubik Fallback"}
@font-face{font-family:Bungee;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b4f7ba70afd3190e-s.2jttl6v9br7xd.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bungee;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1e7b02ea0ff1df89-s.35glb8gzssnzw.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bungee;font-style:normal;font-weight:400;font-display:swap;src:url(../media/970716c43037f925-s.p.0eonchcmd80fn.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bungee Fallback;src:local(Arial);ascent-override:73.58%;descent-override:21.64%;line-gap-override:0.0%;size-adjust:138.63%}.Zq54tW_className{font-family:Bungee,Bungee Fallback;font-style:normal;font-weight:400}.Zq54tW_variable{--font-display:"Bungee", "Bungee Fallback"}
:root,[data-theme=dark]{--background-color:#1c1b19;--stroke-color:#c9c4bb;--fill-color:#c9c4bb;--paper:#1c1b19;--ink:#e6e2db;--muted:#9a958c;--line:#e6e2db1f;--chip-active-bg:#e6e2db;--chip-active-fg:#1c1b19;--heart:#e8584d;--masthead:var(--header-height);--radius-pill:999px;--radius-panel:20px;--radius-row:10px;--radius-input:8px;--header-height:64px;--footer-height:40px}[data-theme=light]{--background-color:#ece9e3;--stroke-color:#3a3732;--fill-color:#3a3732;--paper:#ece9e3;--ink:#2c2a26;--muted:#65605a;--line:#2c2a261f;--chip-active-bg:#2c2a26;--chip-active-fg:#ece9e3;--heart:#c8372c}*{box-sizing:border-box}.home-layout>*,.gallery>*,.home-shapes,.home-rail,.filter-rail{min-width:0}button,a,summary{touch-action:manipulation}:is(button,a,input,select,summary):focus-visible{outline:2px solid var(--ink);outline-offset:3px}:is(.control,.dialog) :is(input,select):focus-visible{outline:2px solid var(--ink);outline-offset:2px}.skip-link{z-index:30;border-radius:var(--radius-pill);background:var(--chip-active-bg);color:var(--chip-active-fg);padding:10px 16px;font-size:14px;position:absolute;top:12px;left:12px;transform:translateY(-200%)}.skip-link:focus-visible{transform:none}.pattern-navigator{justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px;font-size:12px;display:flex}.pattern-navigator button{color:var(--ink);cursor:pointer;background:0 0;border:0;min-height:44px;padding:8px}.pattern-neighbours{color:var(--muted);align-items:center;gap:6px;display:flex}.pattern-neighbours a{min-width:44px;min-height:44px;color:var(--ink);place-items:center;font-size:20px;display:grid}html:has(dialog[open]){overflow:hidden}html,body{background:var(--paper);min-height:100%;color:var(--ink);margin:0;padding:0}html{height:100%}body{min-height:100dvh;font-family:var(--font-sans), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;-webkit-font-smoothing:antialiased}.app-shell{flex-direction:column;min-height:100dvh;display:flex}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}.site-header{z-index:20;background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);view-transition-name:site-header;justify-content:space-between;align-items:center;padding:22px 28px;display:flex;position:sticky;top:0}.brand{font-family:var(--font-display), sans-serif;letter-spacing:.02em;font-size:18px;line-height:1}.app-shell:has(.page-home) .brand{opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}.app-shell:has(.page-home) .wordmark-away .brand{opacity:1;visibility:visible}.header-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.header-actions a,.header-actions button{cursor:pointer;color:var(--muted);background:0 0;border:none;padding:0;font-size:14px}.header-actions a:hover,.header-actions button:hover{color:var(--ink)}.theme-fold-ink{fill:var(--ink)}.theme-fold-paper{fill:var(--paper)}.theme-fold-edge{fill:none;stroke:var(--ink);stroke-width:1.25px;vector-effect:non-scaling-stroke}.theme-word-paper,[data-theme=light] .theme-word-ink{display:none}[data-theme=light] .theme-word-paper{display:inline}.page{flex:1;width:min(1280px,100% - 48px);margin:0 auto 40px}.site-footer{min-height:var(--footer-height);color:var(--muted);flex-shrink:0;justify-content:center;align-items:center;padding:12px 28px 16px;font-size:12px;display:flex}.site-footer p{flex-wrap:wrap;justify-content:center;gap:0 10px;margin:0;display:flex}.site-footer a:hover{color:var(--ink)}.legal{max-width:36em}.legal h2{margin:32px 0 10px;font-size:16px;font-weight:600}.legal p,.legal li{color:var(--muted);margin:0 0 12px;font-size:15px;line-height:1.55}.legal ul{margin:0 0 12px;padding-left:1.2em}.legal a{text-underline-offset:3px;text-decoration:underline}.page-home,.page-studio{width:min(1360px,100% - 48px)}.hero{text-align:left}.hero h1{letter-spacing:-.03em;margin:20px 0 12px;font-size:clamp(36px,5vw,56px);font-weight:600;line-height:.96}.hero p{max-width:36em;color:var(--muted);margin:0 0 24px;font-size:16px;line-height:1.5}.home-layout{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:28px 48px;display:grid}.home-rail{top:calc(var(--header-height) + 4px);padding-top:4px;padding-bottom:24px;position:sticky}.wordmark{font-family:var(--font-display), sans-serif;letter-spacing:.01em;margin:0 0 10px;font-size:clamp(40px,4.6vw,54px);font-weight:400;line-height:.88}a.wordmark{display:block}.home-lede{color:var(--ink);text-wrap:balance;max-width:18em;margin:0 0 8px;font-size:14px;font-weight:400;line-height:1.45}.home-sub{color:var(--muted);text-wrap:pretty;max-width:22em;margin:0 0 24px;font-size:13px;line-height:1.5}.rail-search{gap:8px;margin-bottom:22px;display:grid}.rail-search input{width:100%;min-width:0;min-height:40px;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-input);padding:8px 10px;font-size:13px}.rail-surprise{min-height:36px;font:inherit;color:var(--muted);border:1px solid var(--line);border-radius:var(--radius-pill);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex}.rail-surprise:hover{color:var(--ink)}.pattern-card-controls{color:var(--muted);margin:4px 0 0;font-size:11px;line-height:1.4}.filter-rail{flex-direction:column;display:flex}.filter-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:11px}.filter-rail .filter-label+.filter-label,.filter-list+.filter-label{margin-top:22px}.filter-list{flex-direction:column;gap:1px;display:flex}.filter-item{appearance:none;width:100%;color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:none;border-left:2px solid #0000;justify-content:space-between;align-items:baseline;gap:12px;margin:0;padding:7px 0 7px 10px;font-size:14px;display:flex}.filter-item:hover{color:var(--ink)}.filter-item.active{color:var(--ink);border-left-color:var(--ink)}.filter-count{font-variant-numeric:tabular-nums;color:var(--muted);font-size:12px}.filter-item.active .filter-count{color:var(--ink)}.sort-switch{border:1px solid var(--line);border-radius:var(--radius-pill);gap:2px;padding:2px;display:flex}.sort-switch button{appearance:none;border-radius:var(--radius-pill);color:var(--muted);cursor:pointer;background:0 0;border:none;flex:1;padding:7px 14px;font-size:12px}.sort-switch button:hover{color:var(--ink)}.chips,.sorts{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.chip{appearance:none;border:1px solid var(--line);color:var(--ink);border-radius:var(--radius-pill);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;padding:7px 14px;font-size:12px}.chip.active{background:var(--chip-active-bg);color:var(--chip-active-fg);border-color:#0000}.chip.static{cursor:default;text-transform:uppercase}.gallery{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:28px 20px;margin-top:36px;display:grid}.home-shapes .gallery{margin-top:4px}.home-shapes .empty{margin-top:12px}.pattern-card{display:block}.pattern-card-title{margin:0}.pattern-card .thumb{aspect-ratio:1;overflow:hidden}.pattern-card .thumb svg{width:100%;height:100%;display:block}.pattern-card .thumb img{object-fit:contain;width:100%;height:100%;display:block}.missing-card .missing-thumb{border:1px dashed color-mix(in srgb, var(--ink) 28%, transparent);color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:12px;display:flex}.missing-card .missing-thumb p{margin:0}.missing-ask{appearance:none;border-radius:var(--radius-pill);background:color-mix(in srgb, var(--ink) 11%, transparent);min-height:36px;color:var(--ink);font:inherit;cursor:pointer;border:0;padding:8px 16px;font-size:12px;font-weight:500}.missing-ask:hover{background:color-mix(in srgb, var(--ink) 18%, transparent)}.missing-ask:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.missing-card .pattern-card-title{overflow-wrap:anywhere}.gallery-pagination{color:var(--muted);justify-content:center;align-items:center;gap:16px;margin:32px 0;font-size:12px;display:flex}.ui-popover{z-index:100;width:min(300px,100vw - 24px);max-height:var(--radix-popover-content-available-height);overscroll-behavior:contain;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-panel);padding:14px;font-size:12px;overflow-y:auto;box-shadow:0 12px 40px #0003}.ui-popover button,.ui-popover input,.ui-popover select{font:inherit;color:inherit}.ui-popover button{border-radius:var(--radius-pill);cursor:pointer;background:0 0;border:1px solid #0000;min-height:44px}.ui-popover button:hover{background:var(--line)}.ui-popover :focus-visible{outline:2px solid var(--ink);outline-offset:2px}.ui-panel-heading,.ui-control-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.ui-panel-heading{margin-bottom:8px}.ui-icon-button{place-items:center;width:44px;padding:0;display:grid}.ui-play-button{justify-content:center;align-items:center;gap:8px;width:100%;margin-bottom:12px;display:flex;background:var(--ink)!important;color:var(--paper)!important}.ui-segmented{border:1px solid var(--line);border-radius:var(--radius-pill);padding:2px;display:flex}.ui-segmented button{min-width:40px;padding:4px}.ui-segmented button[aria-pressed=true]{background:var(--line)}.ui-frame-control{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.ui-frame-control input{width:100%;height:44px;accent-color:var(--ink);touch-action:pan-y;display:block}.ui-frame-control output{color:var(--muted);font-variant-numeric:tabular-nums}.ui-reset-button{align-items:center;gap:8px;padding:0 8px;display:flex}.ui-panel-caption{color:var(--muted);margin:12px 0 0;font-size:11px;line-height:1.5}.split-control{flex-shrink:0;display:inline-flex;position:relative}.drawing-toolbar .split-control .split-main{border-radius:var(--radius-pill)}.ui-popover.ui-tip{width:max-content;max-width:240px;padding:7px 11px}.ui-tip-label{color:var(--ink);white-space:nowrap;align-items:center;gap:7px;font-size:12px;line-height:1.4;display:flex}.drawing-toolbar .motion-trigger,.drawing-toolbar .repeat-trigger{place-items:center;width:44px;min-width:44px;height:44px;padding:0;display:grid;position:relative}.motion-trigger[data-playing=true],.repeat-trigger.on{background:var(--ink);color:var(--paper);border-color:#0000}.motion-active-dot{background:currentColor;border-radius:50%;width:4px;height:4px;position:absolute;top:5px;right:5px}.action-panel{gap:5px;display:grid}.action-panel>button{text-align:left;padding:10px}.action-panel button span,.action-panel p{color:var(--muted);margin:4px 0 0;font-size:11px;line-height:1.5;display:block}.action-panel form{gap:8px;display:grid}.action-panel input,.action-panel select{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-input);width:100%;min-width:0;min-height:44px;padding:8px 12px;font-size:16px}.action-panel .popover-close{color:var(--muted);justify-self:end}.action-panel .popover-primary{background:var(--ink);color:var(--paper)}.action-panel button:disabled{opacity:.5;cursor:wait}.pattern-card-meta{justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.pattern-card h2{margin:0;font-size:15px;font-weight:500}.heart{appearance:none;cursor:pointer;color:var(--muted);background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:13px;display:inline-flex}.heart.liked .heart-icon{color:var(--heart)}.heart:hover{color:var(--ink)}.heart-count{text-align:left;font-variant-numeric:tabular-nums;min-width:1.1em}.pattern-title{letter-spacing:-.03em;margin:0 0 20px;font-size:22px;font-weight:600;line-height:1.15}.studio-stage{width:min(100%, calc(100dvh - var(--header-height) - var(--footer-height) - 56px));aspect-ratio:1}.related{margin-top:36px}.related-head{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:12px;display:flex}.related-head .filter-label{margin:0}.related-all{color:var(--muted);font-size:13px}.related-all:hover{color:var(--ink)}.related-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:18px 14px;display:grid}.related-card a{display:block}.related-card .thumb{aspect-ratio:1;border:1px solid var(--line);border-radius:var(--radius-input);background:var(--background-color);overflow:hidden}.related-card .thumb svg{width:100%;height:100%;display:block}.related-card h2{margin:10px 0 0;font-size:14px;font-weight:500}.pattern-tools{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px 14px;margin:0 0 20px;display:flex}.pattern-tools button{appearance:none;cursor:pointer;color:var(--muted);background:0 0;border:none;font-size:13px}.pattern-tools button:hover,.pattern-tools button.on{color:var(--ink)}.toggle{appearance:none;border:1px solid var(--line);border-radius:var(--radius-pill);cursor:pointer;color:var(--muted);background:0 0;padding:2px 10px;font-size:12px}.toggle.on{color:var(--ink);border-color:var(--ink)}.stage-frame{border:1px solid var(--line);background:var(--background-color)}.stage-frame>*,.stage-frame svg,.line-morph,.line-morph svg{width:100%;height:100%;display:block}.control{margin-bottom:16px}.control label{justify-content:space-between;margin-bottom:6px;font-size:13px;display:flex}.control-inline{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:10px;display:grid}.control-inline label{color:var(--muted);margin:0;font-size:11px}.control-inline .control-value{text-align:right;min-width:2.4em;font-size:11px}.control-value{font-variant-numeric:tabular-nums}.control input[type=range]{width:100%;accent-color:var(--ink)}.control input[type=text],.control select{border:none;border-bottom:1px solid var(--line);background:0 0;outline:none;width:100%;padding:6px 0}.seed-row{gap:8px;display:flex}.seed-row button{appearance:none;border:1px solid var(--line);border-radius:var(--radius-pill);cursor:pointer;background:0 0;padding:4px 10px;font-size:12px}.advanced-toggle{appearance:none;color:var(--muted);cursor:pointer;background:0 0;border:none;padding:8px 0 16px;font-size:13px}.pattern-copy{color:var(--muted);margin-top:0;font-size:13px;line-height:1.55}.pattern-credit{color:var(--muted);margin:6px 0 0;font-size:12px;line-height:1.4}.pattern-about{margin-top:8px}.pattern-contributors{border-top:1px solid var(--line);margin-top:10px;padding-top:20px}.pattern-contributors>.filter-label{margin:0 0 14px}.contributor-list{gap:18px;display:grid}.contributor-card{grid-template-columns:52px minmax(0,1fr);gap:12px;display:grid}.contributor-photo-link{width:52px;height:62px;text-decoration:none;display:block}.contributor-photo{background:var(--line);width:52px;height:62px;color:var(--muted);letter-spacing:.08em;border-radius:var(--radius-input);place-items:center;font-size:12px;text-decoration:none;display:grid;position:relative;overflow:hidden}.contributor-photo img{object-fit:cover;filter:grayscale()contrast(.92);width:100%;height:100%;position:absolute;inset:0}.contributor-body h2{flex-wrap:wrap;align-items:baseline;gap:5px 8px;margin:-2px 0 5px;font-size:14px;font-weight:500;line-height:1.3;display:flex}.contributor-body h2 a{color:var(--ink);text-decoration:none}.contributor-body h2 a:hover{text-underline-offset:3px;text-decoration:underline}.contributor-body h2 span{color:var(--muted);font-size:10px;font-weight:400}.contributor-body>p{color:var(--muted);margin:0;font-size:11px;line-height:1.5}.contributor-body .contributor-role{color:var(--ink);letter-spacing:.04em;text-transform:uppercase;margin:0 0 5px;font-size:10px}.contributor-related{flex-wrap:wrap;align-items:baseline;gap:5px 9px;margin-top:8px;font-size:10px;line-height:1.4;display:flex}.contributor-related span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.contributor-related a{color:var(--ink);text-underline-offset:3px}.people-page,.person-page{width:min(1180px,100% - 48px);padding-top:30px}.people-intro{grid-template-columns:minmax(260px,1fr) minmax(260px,.75fr);align-items:end;column-gap:60px;max-width:940px;margin-bottom:64px;display:grid}.people-intro h1{letter-spacing:-.05em;margin:0;font-size:clamp(42px,6vw,76px);font-weight:500;line-height:.96}.people-intro>p:last-child{color:var(--muted);max-width:34em;margin:0 0 4px;font-size:15px;line-height:1.55}.people-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 28px;display:grid}.person-index-card{border-top:1px solid var(--line);grid-template-columns:78px minmax(0,1fr);gap:15px;padding-top:14px;display:grid}.person-index-card>a{width:78px;height:92px}.person-index-photo,.person-profile-photo{background:var(--line);width:100%;height:100%;color:var(--muted);letter-spacing:.08em;place-items:center;font-size:13px;display:grid;position:relative;overflow:hidden}.person-index-photo img,.person-profile-photo img{object-fit:cover;filter:grayscale()contrast(.94);width:100%;height:100%;position:absolute;inset:0}.person-index-card h2{margin:0 0 9px;font-size:16px;font-weight:500;line-height:1.25}.person-index-card h2 a{color:var(--ink);text-decoration:none}.person-index-card h2 a:hover{text-underline-offset:3px;text-decoration:underline}.person-index-card p{color:var(--muted);margin:2px 0;font-size:11px;line-height:1.45}.people-back{color:var(--muted);margin-bottom:34px;font-size:12px;text-decoration:none;display:inline-block}.people-back:hover{color:var(--ink)}.person-profile{grid-template-columns:minmax(160px,260px) minmax(320px,620px);align-items:end;gap:clamp(28px,6vw,76px);display:grid}.person-index-photo{border-radius:var(--radius-input)}.person-profile-photo{aspect-ratio:4/5;border-radius:14px}.person-profile .filter-label{margin:0 0 16px}.person-profile h1{letter-spacing:-.055em;margin:0;font-size:clamp(46px,7vw,86px);font-weight:500;line-height:.92}.person-lifespan{color:var(--muted);margin:14px 0 0;font-size:13px}.person-bio{max-width:36em;margin:28px 0 18px;font-size:clamp(15px,1.7vw,19px);line-height:1.55}.person-source{color:var(--muted);text-underline-offset:3px;font-size:12px}.person-photo-credit{color:var(--muted);max-width:42em;margin:10px 0 0;font-size:11px;line-height:1.5}.person-photo-credit a{color:inherit;text-underline-offset:3px}.person-work{border-top:1px solid var(--line);margin-top:72px;padding-top:20px}.person-work-heading{justify-content:space-between;align-items:baseline;display:flex}.person-work-heading h2{margin:0;font-size:18px;font-weight:500}.person-work-heading span{color:var(--muted);font-size:12px}.person-work .gallery{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}@media (max-width:760px){.people-page,.person-page{width:calc(100% - 32px);padding-top:16px}.people-intro{margin-bottom:42px;display:block}.people-intro h1{font-size:clamp(40px,13vw,58px)}.people-intro>p:last-child{margin-top:24px}.people-grid{grid-template-columns:1fr 1fr;gap:32px 14px}.person-index-card{display:block}.person-index-card>a{aspect-ratio:4/5;width:100%;height:auto;margin-bottom:12px;display:block}.person-profile{grid-template-columns:100px minmax(0,1fr);align-items:start;gap:18px}.person-profile h1{font-size:clamp(32px,10vw,48px)}.person-profile .filter-label{margin-bottom:10px}.person-lifespan{margin-top:8px}.person-bio,.person-source,.person-photo-credit{grid-column:1/-1}.person-profile-copy{display:contents}.person-identity{grid-column:2}.person-bio{margin:24px 0 14px;font-size:15px}.person-work{margin-top:48px}}.pattern-detail{color:var(--ink);margin:12px 0 0;font-size:13px;line-height:1.6}.pattern-detail p{margin:0}.pattern-detail p+p,.pattern-detail p+div>p:first-child,.pattern-detail div>p+p{margin-top:.8em}.read-more{min-height:32px;color:var(--muted);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin-top:10px;padding:6px 0;font-size:12px;text-decoration:underline;display:inline-block}.read-more:hover{color:var(--ink)}.pattern-contributors .read-more{margin-top:14px}.pattern-fold{margin:22px 0 0}.pattern-fold figcaption{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:11px}.pattern-fold figcaption strong{color:var(--ink);font-weight:500}.pattern-fold figcaption.pattern-fold-caption{text-transform:none;letter-spacing:0;margin:8px 0 0;font-size:12px;line-height:1.5}.pattern-fold-frame{border:1px solid var(--line);background:var(--background-color)}.pattern-fold-frame svg{width:100%;height:auto;display:block}.pattern-about-body{margin-top:16px;display:flow-root}.pattern-about-body .pattern-detail{margin-top:0}.pattern-about-body .read-more{clear:left;margin-top:8px;display:block}.pattern-image{float:left;width:160px;margin:5px 24px 12px 0}@media (max-width:600px){.pattern-image{width:112px;margin-right:16px}}.pattern-image-frame{border:1px solid var(--line);border-radius:var(--radius-input);background:var(--background-color);display:block;overflow:hidden}.pattern-image img{filter:invert()grayscale();mix-blend-mode:lighten;width:100%;height:auto;display:block}[data-theme=light] .pattern-image img{filter:none;mix-blend-mode:normal}.pattern-image figcaption{color:var(--muted);margin-top:8px;font-size:11px;line-height:1.5}.pattern-image figcaption a{color:inherit;text-underline-offset:2px;text-decoration:underline}.dialog-backdrop{z-index:40;background:#00000073;place-items:center;display:grid;position:fixed;inset:0}.dialog{background:var(--paper);border:1px solid var(--line);width:min(420px,100% - 32px);padding:28px}.dialog h2{letter-spacing:-.03em;margin:0 0 8px;font-size:22px}.dialog p{color:var(--muted);font-size:14px;line-height:1.5}.dialog form{gap:10px;margin-top:16px;display:grid}.dialog input{border:none;border-bottom:1px solid var(--line);background:0 0;outline:none;padding:8px 0}.dialog-actions{gap:10px;margin-top:8px;display:flex}.dialog-actions button{appearance:none;border:1px solid var(--line);border-radius:var(--radius-pill);cursor:pointer;background:0 0;padding:8px 14px}.dialog-actions button.primary{background:var(--chip-active-bg);color:var(--chip-active-fg);border-color:#0000}.empty{color:var(--muted);margin-top:48px}.interactive-drawing{position:relative}.interactive-drawing>div:first-child{width:100%;height:100%}.pattern-handles{pointer-events:none;position:absolute;inset:0}.pattern-orbit{cursor:grab;touch-action:pan-y;position:absolute;inset:0}.drawing-tools{z-index:2;flex-direction:column;gap:6px;display:flex;position:absolute;bottom:10px;right:10px}.drawing-tools .icon-action{cursor:pointer;border:1px solid var(--line);width:34px;height:34px;color:var(--muted);background:color-mix(in srgb, var(--paper) 86%, transparent);box-shadow:0 1px 3px color-mix(in srgb, var(--ink) 12%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:50%;place-items:center;display:grid}.drawing-tools .icon-action:hover{color:var(--ink)}.drawing-tools .icon-action.on{color:var(--ink);border-color:color-mix(in srgb, var(--ink) 55%, transparent)}.drawing-tools .icon-action:after{top:50%;left:auto;right:calc(100% + 8px);transform:translateY(-50%)}.drawing-tools .icon-action[aria-disabled=true]{cursor:default}.compass-needle{transition:transform .12s ease-out}@media (prefers-reduced-motion:reduce){.compass-needle{transition:none}}.pattern-orbit:active{cursor:grabbing}.pattern-orbit:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}.pattern-handle{border:1px solid var(--ink);background:var(--paper);width:30px;height:30px;color:var(--ink);box-shadow:0 0 0 3px var(--paper);cursor:grab;touch-action:none;pointer-events:auto;border-radius:50%;font-size:11px;position:absolute;transform:translate(-50%,-50%)}.pattern-handle:active{cursor:grabbing}.pattern-interaction-note{color:var(--muted);margin:12px 0 0;font-size:11px}.pattern-history{gap:14px;margin:-8px 0 20px;display:flex}.pattern-history button,.book-study-meta button{appearance:none;color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.pattern-history button:disabled,.book-action:disabled{opacity:.35;cursor:default}.pattern-history button:hover:not(:disabled),.book-study-meta button:hover{color:var(--ink)}.pattern-exploration{margin:36px 0 0 288px}.book-action{appearance:none;border:1px solid var(--line);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;background:0 0;padding:8px 14px;font-size:12px}.book-action:hover:not(:disabled){border-color:var(--muted)}.book-notice{color:var(--muted);font-size:12px;line-height:1.5}.book-notice:empty{display:none}.book-study-thumb{appearance:none;aspect-ratio:1;background:var(--background-color);border:1px solid var(--line);cursor:pointer;width:100%;padding:0;display:block;overflow:hidden}.book-study-thumb>div,.book-study-thumb svg{width:100%;height:100%;display:block}.book-study-thumb:hover{border-color:var(--muted)}.book-study-meta{color:var(--muted);justify-content:space-between;align-items:baseline;gap:8px;margin-top:9px;font-size:11px;display:flex}.book-study-meta>span{overflow-wrap:anywhere}.book-study-meta button{flex-shrink:0;font-size:11px}.pattern-handle:focus-visible,.book-action:focus-visible,.book-study-thumb:focus-visible{outline:2px solid var(--ink);outline-offset:3px}@media (min-width:861px){.page-studio .home-rail{max-height:calc(100dvh - var(--header-height) - var(--footer-height) - 20px);scrollbar-width:thin;scrollbar-color:var(--line) transparent;padding-right:10px;overflow-y:auto}}@media (max-width:860px){.pattern-exploration{margin-left:0}.page-studio .home-shapes{width:100%}:root{--header-height:58px}.site-header,.page{width:calc(100% - 32px);padding-left:0;padding-right:0}.site-header{width:100%;padding:18px 16px}.site-footer{padding:10px 16px 14px}.page{width:calc(100% - 32px)}.home-layout{grid-template-columns:1fr;gap:8px}.home-rail{padding-top:0;padding-bottom:4px;position:static}.app-shell:has(.page-home) .brand{opacity:1;visibility:visible;display:block}.wordmark{display:none}.studio-stage{width:100%;max-width:none}.page-studio .home-layout{flex-direction:column;display:flex}.page-studio .home-shapes{order:-1}.home-lede{max-width:none}.home-sub{max-width:none;margin-bottom:18px}.rail-search{grid-template-columns:minmax(0,1fr) auto;align-items:center;margin-bottom:16px}.filter-rail{gap:0}.filter-list{scrollbar-width:none;flex-flow:row;gap:8px;margin:0 -16px 12px;padding-bottom:4px;padding-left:16px;padding-right:16px;overflow-x:auto}.filter-list::-webkit-scrollbar{display:none}.filter-rail .filter-label{display:none}.filter-rail .filter-list+.filter-label{margin-top:0}.filter-item{border:1px solid var(--line);border-radius:var(--radius-pill);white-space:nowrap;flex:none;justify-content:flex-start;align-items:center;gap:7px;width:auto;min-height:34px;padding:0 13px;font-size:13px}.filter-item.active{background:var(--chip-active-bg);color:var(--chip-active-fg);border-color:#0000}.filter-item.active .filter-count{color:var(--chip-active-fg)}.filter-count{margin-left:0}.sort-switch{align-self:start;width:auto;margin-bottom:14px}.home-shapes .gallery{margin-top:12px}}::view-transition{pointer-events:none}::view-transition-group(site-header){z-index:100;animation:none}::view-transition-old(site-header){display:none}::view-transition-new(site-header){animation:none}::view-transition-old(.page-out){animation:.14s ease-out both page-fade-out}::view-transition-new(.page-in){animation:.24s ease-out 60ms both page-fade-in}::view-transition-old(root){animation:.14s ease-out both page-fade-out}::view-transition-new(root){animation:.24s ease-out 60ms both page-fade-in}::view-transition-group(.ground){z-index:1;animation:none}::view-transition-old(.ground){animation-duration:.24s;animation-timing-function:ease-out}::view-transition-new(.ground){animation-duration:.24s;animation-timing-function:ease-out}@keyframes page-fade-out{to{opacity:0}}@keyframes page-fade-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.hero-backdrop-layer{transition:none}::view-transition-old(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-new(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-group(*){animation-duration:0s!important;animation-delay:0s!important}}.drawing-toolbar{z-index:4;width:min(100%, calc(100dvh - var(--header-height) - var(--footer-height) - 56px));justify-content:space-between;align-items:center;gap:12px;padding:0 0 10px;display:flex;position:relative}.motion-controls,.drawing-actions{align-items:center;gap:5px;display:flex}.drawing-toolbar button{font:inherit;color:var(--stroke-color);border-radius:var(--radius-pill);cursor:pointer;background:0 0;border:0;min-height:44px;padding:8px 12px;font-size:12px}.drawing-toolbar button:not([aria-pressed=true]):hover{background:color-mix(in srgb, var(--ink) 6%, transparent)}.motion-controls button{text-align:left;min-width:92px}.motion-controls button[aria-pressed=true]{background:var(--stroke-color);color:var(--background-color)}.motion-controls select{border-color:#0000;padding:8px 3px}.motion-caption{color:var(--muted);margin:0 0 8px;font-size:10px}.drawing-notice{margin:0 0 8px;font-size:12px}.drawing-notice:empty{display:none}.drawing-actions{position:relative}.drawing-popover{background:var(--background-color);border:1px solid var(--line);border-radius:var(--radius-panel);gap:5px;width:264px;padding:10px;display:grid;position:absolute;top:calc(100% + 9px);right:0;box-shadow:0 12px 40px #0002}.drawing-popover>button{text-align:left;border-color:#0000;padding:11px 9px}.drawing-popover>button:hover{border-color:var(--line)}.drawing-popover button span,.drawing-popover p{color:var(--muted);margin:4px 0 0;font-size:10px;line-height:1.5;display:block}.drawing-popover p{padding:2px 9px}.drawing-popover form{border-bottom:1px solid var(--line);gap:8px;padding:9px 9px 14px;display:grid}.drawing-popover label{color:var(--muted);font-size:11px}.drawing-popover input,.drawing-popover select{width:100%;min-width:0;font:inherit;background:var(--background-color);color:var(--stroke-color);border:1px solid var(--line);border-radius:var(--radius-input);padding:8px 12px;font-size:12px}.drawing-popover .popover-primary{background:var(--stroke-color);color:var(--background-color)}.drawing-popover button:disabled{opacity:.45;cursor:wait}.mobile-pattern-title{display:none}@media (max-width:860px){.drawing-toolbar{width:100%}.mobile-pattern-title{letter-spacing:-.03em;margin:0 0 18px;font-size:20px;font-weight:600;display:block}}.studio-workspace{min-width:0}.motion-timeline{width:min(100%, calc(100dvh - var(--header-height) - var(--footer-height) - 56px));color:var(--muted);align-items:center;gap:10px;margin:4px 0 12px;font-size:11px;display:flex}.motion-timeline input{min-width:40px;accent-color:var(--ink);cursor:ew-resize;flex:1}.motion-timeline button{color:var(--ink);cursor:pointer;background:0 0;border:0;min-width:30px;min-height:30px;font-size:18px}.motion-timeline output{text-align:right;font-variant-numeric:tabular-nums;min-width:38px}.text-control input{border:0;border-bottom:1px solid var(--line);letter-spacing:.04em;background:0 0;width:100%;padding:8px 0;font-size:22px}.drawing-popover .popover-close{color:var(--muted);justify-self:end;padding:5px 8px;font-size:11px}.drawing-popover{overscroll-behavior:contain;max-height:min(640px,100dvh - 140px);overflow-y:auto}.pattern-exploration .related{border-top:1px solid var(--line);padding-top:24px}@media (max-width:860px){:root,[data-theme]{--header-height:56px}.site-header{min-height:60px;padding:9px 16px}.page{margin-bottom:20px}.studio-workspace{flex-direction:column;display:flex}.page-studio .home-layout{display:contents}.page-studio .home-shapes{z-index:6;background:var(--paper);order:0;padding-top:6px;position:sticky;top:60px}.page-studio .studio-stage{width:min(100%,32dvh);margin-inline:auto}.page-studio .home-rail{order:2;width:100%;padding-top:16px;padding-bottom:8px}.page-studio .home-rail .pattern-title{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mobile-pattern-title{margin:0 0 10px;font-size:20px}.drawing-toolbar{gap:6px;width:100%;padding-bottom:6px}.drawing-toolbar>.motion-controls>button,.drawing-actions>button{min-height:44px;padding:9px 11px}.motion-controls>select{min-height:44px;font-size:14px}.motion-caption{display:none}.motion-timeline{gap:8px;width:100%;min-height:30px;margin:0 0 8px}.motion-timeline input{height:30px}.drawing-notice{margin:0 0 6px;font-size:11px;line-height:1.4}.pattern-interaction-note{text-align:center;margin:5px 0;font-size:10px}.pattern-exploration{order:3;margin:16px 0 0}.pattern-tools{float:right;margin-bottom:10px}.pattern-tools button,.pattern-history button{min-width:44px;min-height:44px}.pattern-history{gap:12px;margin:0 0 10px}.studio-tuning{clear:both}.studio-tuning>.filter-label{display:none}.control{margin-bottom:18px}.control label{font-size:13px}.control input[type=range]{cursor:ew-resize;height:32px}.control input[type=text],.control select,.drawing-popover input,.drawing-popover select{min-height:44px;font-size:16px}.control input[type=range]::-webkit-slider-thumb{width:22px;height:22px}.advanced-toggle{min-height:44px}.pattern-handle{background:color-mix(in srgb, var(--paper) 85%, transparent);width:40px;height:40px}.drawing-popover{left:12px;right:12px;bottom:max(12px, env(safe-area-inset-bottom));z-index:30;border-radius:var(--radius-panel);width:auto;max-height:calc(100dvh - 84px);padding:12px;position:fixed;top:auto;box-shadow:0 0 0 100vmax #0005}.drawing-popover>button,.drawing-popover .popover-close{min-height:44px;font-size:14px}.drawing-popover p,.drawing-popover button span{font-size:12px}.book-action,.book-study-meta button,.hold-pill{min-height:44px}.book-study-meta button{min-width:44px}.related-grid,.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.filter-item{min-height:40px}.filter-rail{margin-top:0}.filter-list{scroll-padding-inline:16px}.sort-switch button{min-height:40px}}@media (max-width:860px) and (max-height:600px){.page-studio .home-shapes{position:static}.page-studio .studio-stage{width:min(100%,55dvh)}}@media (min-width:861px){.studio-workspace:has(.motion-timeline) :is(.studio-stage,.drawing-toolbar,.motion-timeline){width:min(100%, calc(100dvh - var(--header-height) - var(--footer-height) - 110px))}}@media (max-width:860px){.page-studio .home-rail .pattern-title{display:none}.motion-caption.motion-context{margin-bottom:5px;line-height:1.4;display:block}.home-layout{grid-template-columns:minmax(0,1fr)}.page,.page-home,.page-studio,.people-page,.person-page{width:calc(100% - 32px);max-width:100%}.filter-list{max-width:calc(100% + 32px)}.site-header{flex-wrap:wrap;gap:10px}.header-actions{flex-wrap:wrap;justify-content:flex-end;min-width:0}.header-actions>a,.header-actions>button{align-items:center;min-height:44px;padding-inline:4px;font-size:12px;display:inline-flex}.page-studio .home-shapes{position:static}.page-studio .studio-stage{width:min(100%,42svh)}.motion-timeline button{min-width:44px;min-height:44px}.drawing-toolbar{flex-wrap:wrap}.drawing-actions,.motion-controls{flex-shrink:0}.drawing-actions>button{white-space:nowrap}.motion-timeline input,.control input[type=range]{touch-action:pan-y;height:44px}.pattern-handle{touch-action:none;width:48px;height:48px}.pattern-card-meta{align-items:flex-start;gap:4px}.pattern-card-meta>a{align-items:center;min-width:0;min-height:44px;display:flex}.pattern-card h2{overflow-wrap:break-word;font-size:13px}.pattern-card-controls{font-size:10px}.heart{flex-shrink:0;justify-content:center;min-width:44px;min-height:44px}.seed-row input{width:100%;min-width:0}.seed-row button{min-height:44px}.dialog{max-height:calc(100dvh - 32px);overflow-y:auto}.dialog input{min-height:44px;font-size:16px}.dialog-actions button{min-height:44px}.person-work .gallery{grid-template-columns:minmax(0,1fr)}.person-profile h1,.person-work-heading h2{overflow-wrap:anywhere}.filter-item,.sort-switch button{min-height:44px}}@media (min-width:600px) and (max-width:860px){.page-studio .studio-stage{width:min(100%,56svh)}}@media (max-width:359px){.site-header{gap:4px;padding-inline:12px}}dialog.drawing-popover{max-width:calc(100% - 32px);box-shadow:none;color:var(--ink);margin:0;position:fixed;inset:auto 16px 16px auto}dialog.drawing-popover::backdrop,.auth-modal::backdrop{background:#0008}.auth-modal{color:var(--ink);border:1px solid var(--line);width:min(420px,100% - 32px);max-height:calc(100dvh - 32px);overflow-y:auto}.auth-close{cursor:pointer;background:0 0;border:0;min-height:44px;margin-left:auto;display:block}.studio-workspace .studio-stage{background:0 0;border:0}.studio-rail-panel{border:1px solid var(--line);border-radius:var(--radius-panel);background:color-mix(in srgb, var(--ink) 2%, var(--paper));padding:16px}.studio-section-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 14px;font-size:11px;font-weight:500}.studio-rail-panel .pattern-tools{float:none;margin:0}.studio-quick-actions{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:18px;padding-bottom:12px;display:flex}.studio-rail-panel .studio-quick-actions .pattern-history{border:0;gap:10px;margin:0;padding:0}.studio-rail-panel .pattern-history{border-bottom:1px solid var(--line);margin:0 0 18px;padding-bottom:12px}.studio-presets-section{border-bottom:1px solid var(--line);margin-bottom:18px;padding-bottom:14px}.studio-presets-section .preset-strip{margin-bottom:0}.studio-rail-panel .control{margin-bottom:18px}.studio-rail-panel .control.bar-control,.studio-rail-panel .control.row-control,.studio-fine-card .control{margin-bottom:10px}.studio-fine-card .control>label{font-size:12px}.studio-rail-panel .control input[type=text],.studio-rail-panel .control select,.studio-fine-card .control input[type=text],.studio-fine-card .control select{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-input);padding:8px 12px}.studio-advanced-section{border-top:1px solid var(--line);margin-top:8px}.studio-advanced-section .advanced-toggle{width:100%;min-height:44px;color:var(--ink);justify-content:space-between;align-items:center;padding:12px 0;display:flex}.studio-rail-panel .pattern-about{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.studio-rail-panel .pattern-copy{margin-top:0}.studio-rail-panel .pattern-contributors{margin-top:20px}@media (max-width:860px){.studio-rail-panel{padding:16px}}@media (min-width:861px){.studio-workspace :is(.studio-stage,.drawing-toolbar,.motion-timeline,.pattern-navigator){width:min(100%, calc(100dvh - var(--header-height) - var(--footer-height) - 120px))}.studio-workspace:has(.motion-timeline) :is(.studio-stage,.drawing-toolbar,.motion-timeline,.pattern-navigator){width:min(100%, calc(100dvh - var(--header-height) - var(--footer-height) - 166px))}}@media (max-width:860px){dialog.drawing-popover{inset:auto 12px max(12px, env(safe-area-inset-bottom));width:auto;max-width:none}}.studio-heading{min-width:0;margin-bottom:20px}.studio-heading-row{justify-content:space-between;align-items:center;gap:24px;margin-bottom:10px;display:flex}.studio-heading .pattern-title{letter-spacing:-.66px;margin:0;font-size:36px;line-height:1.22}.studio-workspace .studio-heading-actions{flex-shrink:0;justify-content:flex-end;gap:8px;width:auto;padding:0}.studio-heading-actions .pattern-navigator{border:0;width:auto;margin:0;padding:0}.studio-heading-actions .pattern-neighbours button{color:var(--muted);border:0;padding:0 4px}.studio-intro{max-width:600px;color:var(--muted);margin:14px 0 0;font-size:13px;line-height:1.55}.studio-workspace .studio-save-actions{width:100%;margin-bottom:18px;padding:0}.studio-save-actions .drawing-actions{flex-wrap:wrap;gap:5px}.studio-quick-actions .pattern-tools:empty{display:none}.studio-background{margin-top:20px}.studio-background .pattern-contributors{margin-top:0}.studio-background .pattern-about{margin-top:24px}.studio-background .pattern-detail{margin-top:0}.studio-rail-panel .drawing-notice:empty{display:none}@media (min-width:861px){.page-studio .home-rail{z-index:2;max-height:none;padding-top:20px;position:relative;top:auto;overflow:visible}:is(.studio-workspace .studio-stage,.studio-workspace:has(.motion-timeline) .studio-stage){width:100%}.studio-workspace .studio-heading-actions,.studio-workspace .studio-heading-actions .pattern-navigator{width:auto}.studio-workspace .studio-save-actions{width:100%}}@media (max-width:860px){.studio-heading{order:-1;margin-bottom:8px}.studio-heading:has(.ui-popover){z-index:7;position:relative}.studio-heading-row{flex-wrap:wrap;align-items:flex-start;gap:12px}.studio-heading .pattern-title{font-size:28px}.studio-workspace .studio-heading-actions{gap:6px}.studio-intro{font-size:12px}.studio-background{margin-top:0}}.studio-loading-preview{width:100%;height:auto;display:block}.for-light{display:none}[data-theme=light] .for-light{display:block}[data-theme=light] .for-dark{display:none}.studio-toolbar-waiting{min-height:44px}.exploration-waiting{min-height:62px}.pattern-index header{max-width:660px;margin-bottom:40px}.pattern-index header h1{font-size:clamp(28px,4vw,40px)}.pattern-index p{color:var(--muted);font-size:13px;line-height:1.65}.pattern-index-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;display:grid}.pattern-index-grid article{border-top:1px solid var(--line);padding-top:18px}.pattern-index-grid h2{margin:0 0 10px;font-size:17px;font-weight:500}@media (max-width:860px){.pattern-index-grid{grid-template-columns:1fr;gap:20px}}.collection-page .people-intro h1{font-size:clamp(34px,5vw,60px)}.collection-index,.collection-others{border-top:1px solid var(--line);margin-top:72px;padding-top:20px}.collection-index>h2,.collection-others h2{margin:0 0 24px;font-size:18px;font-weight:500}.collection-index .pattern-index-grid h3{margin:0 0 8px;font-size:15px;font-weight:500}.collection-index .pattern-index-grid p{color:var(--muted);margin:0;font-size:13px;line-height:1.65}.collection-others ul{flex-wrap:wrap;gap:8px 20px;margin:0;padding:0;list-style:none;display:flex}.collection-others a{color:var(--muted);font-size:13px}.collection-others a:hover{color:var(--ink)}.pattern-index-collections{flex-wrap:wrap;gap:6px;margin:-16px 0 40px;display:flex}.pattern-index-collections a.chip{text-decoration:none}.studio-action-bar{border-bottom:1px solid var(--line);align-items:center;gap:2px;margin-bottom:18px;padding-bottom:12px;display:flex}.studio-action-bar .drawing-actions{gap:2px;display:flex}.studio-action-divider{background:var(--line);flex-shrink:0;width:1px;height:18px;margin-inline:3px}.icon-action{border-radius:var(--radius-pill);width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;flex-shrink:0;place-items:center;padding:0;display:inline-grid;position:relative}.icon-action:hover:not(:disabled),.icon-action[aria-expanded=true]{background:color-mix(in srgb, var(--ink) 8%, transparent)}.icon-action:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.icon-action:disabled{opacity:.3;cursor:default}.icon-action:after{content:attr(data-tooltip);border:1px solid var(--line);background:var(--paper);color:var(--ink);white-space:nowrap;pointer-events:none;opacity:0;z-index:20;border-radius:5px;padding:6px 9px;font-size:11px;line-height:1.4;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}.icon-action:focus-visible:after{opacity:1}@media (hover:hover){.icon-action:hover:after{opacity:1;transition:opacity .1s .35s}}.icon-action[aria-expanded=true]:after{display:none}.studio-rail-panel>.pattern-tools{margin:0 0 16px}.studio-rail-panel>.pattern-tools:empty{display:none}.studio-heading-actions .pattern-neighbours{gap:0}.studio-heading-actions .pattern-neighbours a{border-radius:var(--radius-pill)}.studio-heading-actions .pattern-neighbours a:hover{background:color-mix(in srgb, var(--ink) 6%, transparent)}.related-card .thumb img{object-fit:contain;width:100%;height:100%;display:block}.studio-heading-actions .heart{border-radius:var(--radius-pill);width:44px;min-height:44px;color:var(--ink);cursor:pointer;border:0;align-content:start;justify-items:center;gap:1px;padding:13px 0 0;font-size:10px;display:inline-grid}.studio-heading-actions .heart .heart-icon{width:18px;height:18px}.studio-heading-actions .heart .heart-count{text-align:center;min-width:0;min-height:1.1em;line-height:1.1}.studio-heading-actions .heart:hover{background:color-mix(in srgb, var(--ink) 6%, transparent)}.studio-heading-actions .heart.liked .heart-icon{color:var(--heart)}.studio-heading-actions .heart:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.site-header{background:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none}.header-pattern-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);flex:1;margin-inline:20px;font-size:14px;font-weight:500;overflow:hidden}.studio-rail-panel{padding-block:16px}.studio-action-bar{margin-bottom:18px;padding-bottom:8px}.action-panel .panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-bottom:6px;display:flex}.action-panel .panel-heading h2{margin:0;font-size:15px;font-weight:500}.action-panel .panel-close,.ui-popover .panel-close{min-width:36px;min-height:36px;color:var(--muted);place-items:center;padding:0;display:grid}.save-destination{gap:8px;padding:12px 0;display:grid}.save-destination+.save-destination{border-top:1px solid var(--line)}.save-destination h3{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:11px;font-weight:400}.save-destination form{border:0;gap:8px;padding:0;display:grid}.save-panel .save-hint{color:var(--muted);margin:0;font-size:11px;line-height:1.5}.save-panel .save-account-option{text-align:left;border:1px solid var(--line);border-radius:var(--radius-row);background:color-mix(in srgb, var(--ink) 4%, transparent);align-items:center;gap:10px;padding:10px 14px;display:flex}.save-panel .save-account-option>span{flex:1;margin:0}.save-account-option strong{color:var(--ink);font-size:13px;font-weight:500;display:block}.save-account-option small{color:var(--muted);margin-top:3px;font-size:11px;line-height:1.45;display:block}.page-yours .hero p{max-width:42em}.yours-section{margin-top:44px}.yours-section-head{align-items:baseline;gap:10px;margin-bottom:16px;display:flex}.yours-section-head h2{margin:0;font-size:18px;font-weight:500}.yours-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.yours-prompt{justify-items:start;gap:12px;max-width:36em;display:grid}.yours-prompt p{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.yours-warning{max-width:42em;color:var(--muted);margin:0 0 20px;font-size:12px;line-height:1.55}.yours-warning button{color:var(--ink);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.yours-group{margin-bottom:32px}.yours-group h3{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;font-size:12px;font-weight:400}.page-yours .pattern-card-title{margin:0;font-size:14px;font-weight:500}.page-yours .thumb{aspect-ratio:1;border:1px solid var(--line);background:var(--background-color);overflow:hidden}.page-yours .thumb svg{width:100%;height:100%;display:block}.yours-remove{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px}.yours-remove:hover{color:var(--ink)}@media (max-width:860px){.header-pattern-title{margin-inline:8px;font-size:12px}}.repeat-panel{gap:9px;display:grid}.repeat-note{color:var(--muted);margin:0;font-size:11px;line-height:1.5}.repeat-label{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:2px 0 -4px;font-size:10px}.repeat-switch{border:1px solid var(--line);border-radius:var(--radius-pill);display:flex;overflow:hidden}.repeat-switch button{min-height:34px;font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;flex:1;padding:6px 4px;font-size:11px}.repeat-switch button+button{border-left:1px solid var(--line)}.repeat-switch button.active{background:var(--ink);color:var(--paper)}.app-shell:has(.repeat-immersive){overflow-x:clip}.repeat-immersive .home-layout{display:block;position:relative}.repeat-immersive .home-shapes{width:100vw;margin-left:calc(50% - 50vw)}.studio-workspace.repeat-immersive .stage-frame{aspect-ratio:auto;border:0;width:100%;max-width:none;height:88dvh}@media (min-width:861px){.app-shell:has(.repeat-immersive) .site-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.studio-workspace.repeat-immersive .stage-frame{z-index:0;width:auto;height:auto;position:fixed;inset:0}:is(.repeat-immersive .pattern-exploration,.app-shell:has(.repeat-immersive) .site-footer){z-index:1;background:var(--paper);position:relative}.repeat-immersive .home-shapes{min-height:88dvh}.repeat-immersive .studio-heading{z-index:1;margin-inline:calc(50% - 50vw);margin-top:calc(-1 * var(--masthead));padding-inline:calc(50vw - 50%);padding-block:calc(var(--masthead) + 4px) 16px;position:relative}}.repeat-immersive .studio-heading{background:color-mix(in srgb, var(--paper) 58%, transparent);-webkit-backdrop-filter:blur(22px)saturate(1.05);backdrop-filter:blur(22px)saturate(1.05)}.repeat-immersive .home-rail{z-index:9;width:240px;max-height:calc(88dvh - 32px);position:absolute;top:0;left:0;overflow-y:auto}@media (max-width:860px){.repeat-immersive .home-layout{flex-direction:column;display:flex}.repeat-immersive .home-rail{z-index:auto;align-self:stretch;width:auto;max-height:none;position:static;overflow:visible}.studio-workspace.repeat-immersive .stage-frame{height:62dvh}}.feedback-launch{appearance:none;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.feedback-launch:hover{color:var(--ink)}.feedback-card{z-index:60;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-panel);width:min(360px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--ink);padding:16px;animation:.18s ease-out feedback-rise;position:fixed;inset:auto 16px 16px auto;overflow-y:auto;box-shadow:0 16px 40px #0000004d}@keyframes feedback-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.feedback-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;display:grid}.feedback-head h2{letter-spacing:-.01em;margin:0;font-size:15px;line-height:1.35}.feedback-close{border-radius:var(--radius-pill);width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;margin:-4px -4px 0 0;padding:0;display:grid}.feedback-close:hover{color:var(--ink)}.feedback-note{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.feedback-head+.feedback-note{margin-top:8px}.feedback-form{gap:10px;margin-top:12px;display:grid}.feedback-chips{flex-wrap:wrap;gap:6px;display:flex}.feedback-chip{appearance:none;border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--muted);font:inherit;cursor:pointer;background:0 0;padding:5px 10px;font-size:12px}.feedback-chip:hover{color:var(--ink)}.feedback-chip[aria-pressed=true]{background:var(--chip-active-bg);color:var(--chip-active-fg);border-color:#0000}.feedback-text,.feedback-email{border:1px solid var(--line);border-radius:var(--radius-input);width:100%;color:var(--ink);font:inherit;background:0 0;outline:none;padding:8px 12px;font-size:13px}.feedback-text{resize:vertical;min-height:74px;line-height:1.5}.feedback-text:focus-visible,.feedback-email:focus-visible{border-color:var(--ink)}.feedback-text::placeholder,.feedback-email::placeholder{color:var(--muted)}.feedback-actions{align-items:center;gap:10px;display:flex}.feedback-send{appearance:none;border-radius:var(--radius-pill);background:var(--chip-active-bg);color:var(--chip-active-fg);font:inherit;cursor:pointer;border:1px solid #0000;padding:7px 16px;font-size:13px}.feedback-send:disabled{border-color:var(--line);color:var(--muted);cursor:default;background:0 0}@media (max-width:860px){.feedback-card{inset:auto 12px max(12px, env(safe-area-inset-bottom)) 12px;width:auto}.feedback-text,.feedback-email{font-size:16px}.feedback-send,.feedback-chip{min-height:40px}.feedback-close{width:36px;height:36px}}@media (prefers-reduced-motion:reduce){.feedback-card{animation:none}}.site-header{box-sizing:border-box;height:var(--header-height);min-height:0;padding-block:0}.page-home,.page-studio{width:auto;max-width:none;margin-inline:28px}@media (min-width:861px){.page-home .home-rail{top:var(--header-height);max-height:calc(100dvh - var(--header-height));overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;padding-top:8px;overflow-y:auto}.page-studio{--studio-bar:76px}.page-studio .studio-heading{top:var(--header-height);z-index:5;background:var(--paper);margin-bottom:12px;padding-bottom:4px;position:sticky}.page-studio .studio-heading-row{min-height:52px;margin-bottom:0}@supports (animation-timeline:scroll()){.page-studio .studio-intro{animation:linear both studio-intro-away;animation-timeline:scroll(root);animation-range:0 120px;overflow:hidden}}.page-studio .home-layout{grid-template-columns:280px minmax(0,1fr);align-items:stretch}.page-studio .home-layout>.home-rail{grid-area:1/1/span 2}.page-studio .home-layout>.home-shapes{grid-area:1/2}.page-studio .home-layout>.pattern-exploration{grid-area:2/2;margin-top:32px}.page-studio .home-rail{padding-top:0}.page-studio .studio-rail-stack{top:calc(var(--header-height) + var(--studio-bar));max-height:calc(100dvh - var(--header-height) - var(--studio-bar) - 16px);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;position:sticky;overflow-y:auto}.page-studio .home-shapes{container-type:inline-size}.page-studio .studio-workspace:not(.repeat-immersive) .studio-stage{width:min(100%, calc(100dvh - var(--header-height) - var(--studio-bar) - 24px));margin-inline:auto;translate:calc(-1*min(164px,max(0px,50cqw - 50% - 24px)))}.pattern-exploration{margin:56px 0 0}.studio-background{border-top:1px solid var(--line);grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:32px 64px;margin-top:56px;padding-top:24px;display:grid}.studio-background .pattern-about{margin-top:0}.studio-background .pattern-detail{max-width:44em;font-size:15px;line-height:1.65}.studio-background .pattern-contributors{border-top:0;margin-top:0;padding-top:0}.studio-background .contributor-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}.pattern-related{margin-top:56px}.pattern-related .related-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.page-studio .repeat-immersive .studio-heading{z-index:10;position:sticky;top:0}.page-studio .repeat-immersive .home-rail{max-height:none;bottom:0;overflow:visible}.page-studio .repeat-immersive .home-layout>.pattern-exploration{margin-left:288px;padding-top:24px}}@keyframes studio-intro-away{0%{max-height:6em}to{opacity:0;max-height:0;margin-top:0}}@media (max-width:860px){.page-home,.page-studio{margin-inline:16px}.studio-background{order:2;margin-top:16px}.pattern-related{order:3}}.home-hero{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(280px,420px);align-items:end;gap:24px 64px;margin-bottom:28px;padding:12px 0 32px;display:grid}.home-hero .wordmark{margin:0 0 18px;font-size:clamp(72px,10vw,152px);line-height:.82}.home-hero .home-lede{letter-spacing:-.01em;max-width:20em;margin:0 0 8px;font-size:clamp(18px,1.9vw,26px);line-height:1.25}.home-hero .home-sub{max-width:34em;margin:0;font-size:14px}.home-hero .rail-search{grid-template-columns:minmax(0,1fr) auto;align-items:center;margin:0}.home-hero .rail-search input{border-radius:var(--radius-pill);min-height:44px;padding-inline:14px;font-size:14px}.home-hero .rail-surprise{min-height:44px;padding-inline:16px}.gallery-toolbar{justify-content:space-between;align-items:center;gap:16px;margin:0 0 20px;display:flex}.gallery-title{letter-spacing:-.02em;align-items:baseline;gap:10px;margin:0;font-size:20px;font-weight:500;display:flex}.gallery-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px;font-weight:400}.gallery-toolbar .sort-switch{flex:none}.home-shapes .gallery-toolbar+.gallery{margin-top:0}@media (min-width:861px){.page-home .home-rail{padding-top:4px}}@media (max-width:860px){.home-hero{border-bottom:0;margin-bottom:12px;padding:4px 0 16px;display:block}.home-hero .wordmark{display:none}.home-hero .home-lede{font-size:17px}.home-hero .home-sub{margin-bottom:14px;font-size:13px}.home-hero .rail-search input,.home-hero .rail-surprise{min-height:44px}.gallery-title{font-size:17px}}.header-actions .account-trigger{border:1px solid var(--line);border-radius:var(--radius-pill);width:36px;height:36px;color:var(--ink);cursor:pointer;background:0 0;place-items:center;padding:0;display:grid}.header-actions .theme-toggle{border-radius:var(--radius-pill);width:36px;height:36px;color:var(--muted);border:1px solid #0000;place-items:center;padding:0;display:grid}.header-actions .theme-toggle:hover{color:var(--ink);background:color-mix(in srgb, var(--ink) 8%, transparent)}.header-actions .theme-toggle:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.header-actions .account-trigger:hover,.header-actions .account-trigger[data-state=open]{background:color-mix(in srgb, var(--ink) 8%, transparent)}.header-actions .account-trigger.signed-in{background:var(--ink);color:var(--paper);border-color:#0000;font-size:14px;font-weight:600}.header-actions .account-trigger.signed-in:hover,.header-actions .account-trigger.signed-in[data-state=open]{opacity:.85;background:var(--ink)}.ui-popover.account-menu{gap:2px;width:240px;padding:6px;display:grid}.account-who{color:var(--muted);overflow-wrap:anywhere;margin:6px 10px 8px;font-size:11px;line-height:1.4}.account-who strong{color:var(--ink);font-weight:500;display:block}.account-item{border-radius:var(--radius-pill);width:100%;min-height:38px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0 10px;font-size:13px;text-decoration:none;display:flex}.account-item:hover,.account-item:focus-visible{background:color-mix(in srgb, var(--ink) 7%, transparent);outline:none}.account-item svg{color:var(--muted);flex:none}.account-menu hr{border:0;border-top:1px solid var(--line);margin:4px 6px}@media (max-width:860px){.header-actions>.account-trigger,.header-actions>.theme-toggle{width:40px;height:40px;min-height:0;padding:0;display:grid}.account-item{min-height:44px}}@media (min-width:861px){.header-pattern-title{display:none}}.dialog{border-radius:var(--radius-panel)}.ui-popover.ui-tip,.icon-action:after,.ui-popover a{border-radius:var(--radius-pill)}.ui-popover input:not([type=range]):not([type=checkbox]),.ui-popover select,.feedback-email{border-radius:var(--radius-pill);padding-inline:14px}.feedback-text{border-radius:14px}.book-variations{border-top:1px solid var(--line);padding-top:24px}.book-variations-intro{justify-content:space-between;align-items:center;gap:16px;margin-top:14px;display:flex}.book-variations-intro p{color:var(--muted);max-width:52em;margin:0;font-size:12px;line-height:1.5}.book-section-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.book-section-head h2{letter-spacing:-.02em;margin:0 0 6px;font-size:18px;font-weight:500}.book-section-head p,.book-study-note{color:var(--muted);max-width:52em;margin:0;font-size:12px;line-height:1.5}.book-action{color:var(--ink);justify-content:center;align-items:center;gap:6px;display:inline-flex}.book-action-soft{background:color-mix(in srgb, var(--ink) 11%, transparent);border-color:#0000;font-weight:500}.book-action-soft:hover:not(:disabled){background:color-mix(in srgb, var(--ink) 18%, transparent);border-color:#0000}.book-variations .book-notice{margin:10px 0 0}.book-card-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:20px 14px;margin-top:18px;display:grid}.book-card .book-study-thumb{border-radius:14px}.book-card.current .book-study-thumb{border-color:var(--ink)}.book-card .book-study-meta{align-items:center;margin-top:8px}.book-card .book-study-meta span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.book-card .book-study-meta em{color:var(--ink);font-style:normal}.book-card-remove,.book-card-keep{border:1px solid var(--line);border-radius:var(--radius-pill);min-height:28px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;flex:none;align-items:center;gap:4px;padding:0 10px;font-size:11px;display:inline-flex}.book-card-remove{width:28px;color:var(--muted);justify-content:center;padding:0}.book-card-remove:hover,.book-card-keep:hover:not(:disabled){border-color:var(--muted);color:var(--ink)}.book-card-keep:disabled{color:var(--muted);cursor:default;border-color:#0000}.variation-holds{flex-wrap:wrap;align-items:center;gap:6px;margin-top:16px;display:flex}.variation-holds-label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-right:4px;font-size:11px}.hold-pill{border:1px solid var(--line);border-radius:var(--radius-pill);min-height:30px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;align-items:center;gap:6px;padding:0 12px;font-size:12px;display:inline-flex}.hold-pill:hover{color:var(--ink);border-color:var(--muted)}.hold-pill[aria-pressed=true]{background:var(--chip-active-bg);color:var(--chip-active-fg);border-color:#0000}@media (max-width:860px){.book-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px}.book-card-remove{width:36px;min-height:36px}.book-card-keep{min-height:36px}}.book-picks{color:var(--muted);margin:14px 0 0;font-size:12px}.book-picks button{color:var(--ink);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.book-card-grid.breeding{opacity:.45;transition:opacity .2s}@media (max-width:860px){.page-studio{--mobile-actions:52px}.page-studio .studio-heading,.page-studio .studio-heading-row{display:contents}.page-studio .studio-heading .pattern-title{order:-3;margin-top:4px}.page-studio .studio-heading-actions{top:var(--header-height);z-index:8;min-height:var(--mobile-actions);background:var(--paper);border-bottom:1px solid var(--line);order:-2;justify-content:space-between;margin-inline:-16px;padding:4px 12px;position:sticky}.page-studio .studio-intro{order:-1;margin-top:8px}.page-studio .home-shapes{top:calc(var(--header-height) + var(--mobile-actions))}[data-radix-popper-content-wrapper]:has(>.action-panel){z-index:60!important;min-width:0!important;position:fixed!important;inset:auto 0 0!important;transform:none!important}.ui-popover.action-panel{width:100%;max-width:none;max-height:min(85dvh, var(--radix-popover-content-available-height,85dvh));border-radius:var(--radius-panel) var(--radius-panel) 0 0;padding:12px 16px max(16px, env(safe-area-inset-bottom));border-bottom:0;animation:.22s ease-out sheet-up;box-shadow:0 0 0 100vmax #0006}}@keyframes sheet-up{0%{opacity:0;translate:0 24px}}@media (prefers-reduced-motion:reduce){.ui-popover.action-panel{animation:none}}.save-inline{display:block;position:relative}.ui-popover .save-inline input{border-radius:var(--radius-pill);width:100%;min-height:40px;padding:0 72px 0 14px;font-size:13px}.ui-popover .save-inline button{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--ink) 15%, transparent);min-height:0;color:var(--ink);border:0;padding:0 14px;font-size:12px;font-weight:500;position:absolute;top:4px;bottom:4px;right:4px}.ui-popover .save-inline button:hover{background:color-mix(in srgb, var(--ink) 22%, transparent)}.save-where{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 6px;margin:0;font-size:11px;line-height:1.4;display:flex}.save-where span{color:var(--muted);margin:0;font-size:11px;display:inline}.ui-popover .save-account-link{min-height:0;color:var(--ink);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;align-items:center;gap:2px;padding:0;font-size:11px;text-decoration:underline;display:inline-flex}.ui-popover .save-account-link:disabled{opacity:.5}@media (max-width:860px){.ui-popover .save-inline input{min-height:44px;font-size:16px}.ui-popover .save-account-link{min-height:32px}}.export-panel{--export-tint:color-mix(in srgb, var(--ink) 9%, transparent);--export-edge:color-mix(in srgb, var(--ink) 22%, transparent)}.export-segmented{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--ink) 5%, transparent);gap:2px;padding:3px;display:flex}.export-segmented button{appearance:none;border-radius:var(--radius-pill);min-width:0;color:var(--muted);cursor:pointer;white-space:nowrap;font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;flex:1;padding:6px 8px;font-size:12px;transition:background-color .15s,color .15s}.export-segmented button:hover{color:var(--ink)}.export-segmented button[aria-checked=true]{background:var(--export-tint);border-color:var(--export-edge);color:var(--ink)}.export-panel>.export-segmented{margin:4px 0 2px}.export-body{gap:16px;padding-top:14px;display:grid}.export-block{gap:8px;min-width:0;display:grid}.export-label{color:var(--muted);font-size:11px}.export-hint{color:var(--muted);margin:0;font-size:11px;line-height:1.5}.export-panel .export-size-current,.export-size-list button{appearance:none;border:1px solid var(--line);border-radius:var(--radius-row);width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;grid-template-columns:20px minmax(0,1fr) auto 14px;align-items:center;gap:10px;padding:9px 12px;font-size:13px;display:grid}.export-panel .export-size-current:hover{border-color:var(--export-edge)}.export-panel .export-size-current[aria-expanded=true] .export-size-chevron{transform:rotate(180deg)}.export-size-chevron{color:var(--muted);transition:transform .15s}.export-size-px{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px}.export-size-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.export-size-list{border:1px solid var(--line);border-radius:var(--radius-panel);gap:2px;padding:4px;display:grid}.export-size-list button{border-color:#0000;padding:7px 8px}.export-size-list button:hover{background:color-mix(in srgb, var(--ink) 5%, transparent)}.export-size-list button[aria-checked=true]{background:var(--export-tint)}.export-size-list .frame-glyph,.export-panel .export-size-current .frame-glyph{color:var(--muted)}.export-size-list button[aria-checked=true] .frame-glyph{color:var(--ink)}.export-size-text{gap:1px;min-width:0;display:grid}.export-size-text em{color:var(--muted);margin-left:2px;font-size:11px;font-style:normal}.export-size-text small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.export-custom{color:var(--muted);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:center;gap:6px;font-size:12px;display:grid}.action-panel .export-custom input{border-radius:var(--radius-pill);font-variant-numeric:tabular-nums;min-height:36px;padding:6px 12px;font-size:13px}.export-panel .export-swap{appearance:none;border:1px solid var(--line);border-radius:var(--radius-pill);width:34px;height:34px;color:var(--ink);cursor:pointer;background:0 0}.export-panel .export-swap:hover{border-color:var(--export-edge)}.export-actions{gap:6px;display:grid}.export-panel .export-primary,.export-panel .export-secondary{appearance:none;border-radius:var(--radius-pill);cursor:pointer;width:100%;min-height:42px;padding:10px 16px;font-size:13px;font-weight:500}.export-panel .export-primary{border:1px solid var(--export-edge);background:color-mix(in srgb, var(--ink) 15%, transparent);color:var(--ink)}.export-panel .export-primary:hover:not(:disabled){background:color-mix(in srgb, var(--ink) 22%, transparent)}.export-panel .export-primary:disabled{border-color:var(--line);color:var(--muted);cursor:default;background:0 0}.export-panel .export-secondary{border:1px solid var(--line);color:var(--ink);background:0 0}.export-panel .export-secondary:hover{border-color:var(--export-edge)}.export-progress{border:1px solid var(--line);border-radius:var(--radius-pill);min-height:42px;color:var(--muted);font-variant-numeric:tabular-nums;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:0 6px 0 16px;font-size:12px;display:grid}.export-progress progress{appearance:none;border-radius:var(--radius-pill);background:var(--line);border:none;width:100%;height:4px;overflow:hidden}.export-progress progress::-webkit-progress-bar{background:var(--line)}.export-progress progress::-webkit-progress-value{background:var(--ink);border-radius:var(--radius-pill)}.export-progress progress::-moz-progress-bar{background:var(--ink)}.export-panel .export-progress button{appearance:none;border-radius:var(--radius-pill);background:var(--export-tint);color:var(--ink);cursor:pointer;border:none;padding:6px 12px;font-size:12px}.export-panel .save-destination{margin-top:18px}.export-panel .save-where{flex-wrap:wrap;align-items:center;gap:4px 6px;display:flex}.export-vector{grid-template-columns:1fr 1fr;gap:6px;display:grid}.export-panel .export-vector .export-secondary{min-height:38px;font-size:12px;font-weight:400}.export-swap-in{justify-content:center;align-items:center;gap:5px;animation:.25s ease-out export-swap-in;display:inline-flex}@keyframes export-swap-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.export-swap-in{animation:none}}.export-panel .export-swap-in,.export-panel .export-size-name,.export-panel .export-size-text>span{color:inherit}.export-panel .export-body{gap:10px;padding-top:12px}.export-panel .export-segmented{background:color-mix(in srgb, var(--ink) 4%, transparent);gap:0;padding:2px}.export-panel .export-segmented button{border:0;padding:4px 8px;font-size:12px}.export-panel .export-segmented button[aria-checked=true]{background:color-mix(in srgb, var(--ink) 11%, transparent);border:0}.export-formats{gap:1px;margin:2px -6px 0;display:grid}.export-panel .export-format{appearance:none;border-radius:var(--radius-row);width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:18px auto minmax(0,1fr);align-items:center;gap:10px;padding:9px 10px;font-size:13px;display:grid}.export-panel .export-paper{margin-top:-4px;padding:0 10px 6px 38px}.export-panel .export-format:hover:not(:disabled){background:color-mix(in srgb, var(--ink) 6%, transparent)}.export-panel .export-format:disabled{color:var(--muted);cursor:default}.export-format-icon{color:var(--muted);display:inline-flex}.export-panel .export-format-name{color:inherit;font-weight:500}.export-panel .export-format-detail{color:var(--muted);font-variant-numeric:tabular-nums;justify-self:end;font-size:12px}.export-panel .export-format-detail .export-swap-in{color:var(--ink)}.export-save{border-top:1px solid var(--line);gap:8px;margin-top:14px;padding-top:14px;display:grid}.export-save h3{color:var(--ink);letter-spacing:0;text-transform:none;margin:0;font-size:13px;font-weight:600}.export-save .save-where{margin:0}.export-panel .export-toggle{appearance:none;width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:4px 2px;display:grid}.export-toggle-text{gap:1px;min-width:0;display:grid}.export-panel .export-toggle-text>span{color:var(--ink);font-size:13px}.export-toggle-text small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.export-switch{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--ink) 14%, transparent);width:30px;height:18px;transition:background-color .15s;position:relative}.export-switch:after{content:"";background:var(--muted);border-radius:50%;width:14px;height:14px;transition:transform .15s,background-color .15s;position:absolute;top:2px;left:2px}.export-toggle[aria-checked=true] .export-switch{background:color-mix(in srgb, var(--ink) 32%, transparent)}.export-toggle[aria-checked=true] .export-switch:after{background:var(--ink);transform:translate(12px)}@media (prefers-reduced-motion:reduce){.export-switch,.export-switch:after{transition:none}}.export-panel .export-toggle,.export-panel .export-toggle:hover{background:0 0;border-radius:0}.export-toggle:hover .export-switch{background:color-mix(in srgb, var(--ink) 22%, transparent)}.export-toggle[aria-checked=true]:hover .export-switch{background:color-mix(in srgb, var(--ink) 40%, transparent)}.export-toggle:focus-visible{outline:none}.export-toggle:focus-visible .export-switch{outline:2px solid var(--export-edge);outline-offset:2px}.studio-rail-panel{z-index:1;position:relative}.studio-fine-card{z-index:0;margin:calc(-1 * var(--radius-panel)) 0 0;padding-top:var(--radius-panel);border-radius:0 0 var(--radius-panel) var(--radius-panel);background:color-mix(in srgb, var(--ink) 5%, var(--paper));transition:background-color .2s;position:relative}.studio-fine-card.open{background:color-mix(in srgb, var(--ink) 3%, var(--paper))}.studio-fine-tab{border-radius:0 0 var(--radius-panel) var(--radius-panel);width:100%;color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto 14px;align-items:center;gap:10px;margin:0;padding:14px 16px 12px;font-size:12px;display:grid}.studio-fine-tab:hover,.studio-fine-card.open .studio-fine-tab{color:var(--ink)}.studio-fine-tab:focus-visible{outline:2px solid var(--ink);outline-offset:-4px}@media (pointer:coarse){.studio-fine-tab{padding-block:18px 16px}}.studio-fine-body{grid-template-rows:0fr;transition:grid-template-rows .32s cubic-bezier(.2,0,0,1);display:grid}.studio-fine-card.open .studio-fine-body{grid-template-rows:1fr}.studio-fine-inner{min-height:0;overflow:hidden}.studio-fine-inner>div{padding:4px 16px 16px}.studio-fine-inner .control:last-child{margin-bottom:0}.advanced-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.advanced-chevron{color:var(--muted);transition:transform .2s}.studio-fine-tab[aria-expanded=true] .advanced-chevron{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.advanced-chevron,.studio-fine-card,.studio-fine-body{transition:none}}.ui-popover .ui-segmented,.ui-popover .repeat-switch{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--ink) 4%, transparent);border:0;gap:0;padding:2px;display:flex;overflow:visible}.ui-popover .ui-segmented button,.ui-popover .repeat-switch button{border-radius:var(--radius-pill);min-width:0;min-height:0;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer;background:0 0;border:0;flex:1;padding:4px 8px;font-size:12px;transition:background-color .15s,color .15s}.ui-popover .repeat-switch button+button{border-left:0}.ui-popover .ui-segmented button:hover,.ui-popover .repeat-switch button:hover{color:var(--ink);background:0 0}.ui-popover .ui-segmented button[aria-pressed=true],.ui-popover .repeat-switch button[aria-pressed=true],.ui-popover .repeat-switch button.active{background:color-mix(in srgb, var(--ink) 11%, transparent);color:var(--ink)}.studio-rail-panel input:not([type=range]),.studio-rail-panel select,.studio-fine-card input:not([type=range]),.studio-fine-card select{font-size:13px}.studio-rail-panel .control button,.studio-rail-panel .seed-row button,.studio-rail-panel .ui-control-row button,.studio-fine-card .control button{font-size:12px}@media (pointer:coarse){.studio-rail-panel input:not([type=range]),.studio-rail-panel select,.studio-fine-card input:not([type=range]),.studio-fine-card select{font-size:16px}}.ui-popover .panel-close{appearance:none;border-radius:var(--radius-pill);cursor:pointer;background:0 0;border:0}.ui-popover .panel-close:hover{color:var(--ink);background:color-mix(in srgb, var(--ink) 6%, transparent)}@media (min-width:861px){.page-studio .repeat-immersive .home-layout>.pattern-exploration,.page-studio .repeat-immersive~.studio-background,.page-studio .repeat-immersive .studio-background,.page-studio .repeat-immersive .pattern-related{z-index:1;background:var(--paper);box-shadow:0 0 0 100vmax var(--paper);clip-path:inset(-96px -100vmax);position:relative}.page-studio .repeat-immersive .home-layout>.pattern-exploration{clip-path:inset(0 -100vmax -96px)}.app-shell:has(.repeat-immersive) .site-footer{z-index:1;background:var(--paper);box-shadow:0 0 0 100vmax var(--paper);clip-path:inset(-96px -100vmax 0);position:relative}}.save-nudge{border-radius:var(--radius-panel);background:color-mix(in srgb, var(--ink) 5%, var(--paper));margin-top:12px;padding:8px;animation:.25s ease-out save-nudge-in}.save-nudge form{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px;display:grid}.save-nudge input{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--ink) 6%, var(--paper));min-width:0;min-height:32px;color:var(--ink);border:0;padding:5px 12px;font-size:12px}.save-nudge input::placeholder{color:var(--muted)}.save-nudge-save{appearance:none;border-radius:var(--radius-pill);background:color-mix(in srgb, var(--ink) 14%, transparent);min-height:32px;color:var(--ink);cursor:pointer;border:0;padding:0 14px;font-size:12px;font-weight:500}.save-nudge-save:hover{background:color-mix(in srgb, var(--ink) 22%, transparent)}.save-nudge-close{appearance:none;border-radius:var(--radius-pill);width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.save-nudge-close:hover{color:var(--ink);background:color-mix(in srgb, var(--ink) 6%, transparent)}.save-nudge-problem{color:var(--muted);grid-column:1/-1;margin:2px 4px 0;font-size:11px}.save-nudge-done{align-items:center;gap:8px;min-height:32px;margin:0;padding-inline:8px;font-size:12px;display:flex}@keyframes save-nudge-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.save-nudge{animation:none}}@media (pointer:coarse){.save-nudge input,.save-nudge-save{min-height:40px;font-size:16px}}.book-collapse{appearance:none;width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:12px;padding:0;display:grid}.book-collapse h2{margin:0}.book-collapse span{color:var(--muted);font-size:12px}.book-collapse svg{color:var(--muted);align-self:center;transition:transform .15s}.book-collapse[aria-expanded=true] svg{transform:rotate(180deg)}:root,[data-theme=dark]{--select-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239a958c' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}[data-theme=light]{--select-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236f6a63' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}select:not([multiple]){appearance:none;background-image:var(--select-chevron)!important;background-position:right 14px center!important;background-repeat:no-repeat!important;background-size:12px 12px!important;padding-right:36px!important}.ui-popover .panel-head{justify-content:space-between;align-items:center;gap:12px;margin:-2px 0 8px;display:flex}.ui-popover .panel-tabs{align-items:center;gap:18px;display:flex}.ui-popover .panel-head .panel-tabs button,.ui-popover .panel-head .panel-tabs button:hover,.ui-popover .panel-head .panel-tabs button:focus,.ui-popover .panel-head .panel-tabs button:active{appearance:none;min-width:0;min-height:0;box-shadow:none;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:0;margin:0;padding:4px 0;font-size:15px;font-weight:400}.ui-popover .panel-head .panel-tabs button:hover{color:var(--ink)}.ui-popover .panel-head .panel-tabs button[aria-selected=true]{color:var(--ink);font-weight:600}.ui-popover .panel-head .panel-tabs button:focus-visible{outline:2px solid color-mix(in srgb, var(--ink) 35%, transparent);outline-offset:3px;border-radius:4px}.ui-popover .panel-head-actions{align-items:center;gap:2px;display:flex}.ui-popover .panel-head .panel-close,.ui-popover .panel-head .panel-close:hover{min-width:36px;min-height:36px;padding:0}.ui-popover .panel-head .panel-close:hover{background:color-mix(in srgb, var(--ink) 6%, transparent);color:var(--ink)}.export-panel .panel-head{margin-bottom:0}.sort-switch{background:color-mix(in srgb, var(--ink) 4%, transparent);border:0;gap:0;padding:2px}.sort-switch button{padding:5px 12px;transition:background-color .15s,color .15s}.sort-switch button.active{background:color-mix(in srgb, var(--ink) 11%, transparent);color:var(--ink)}.gallery-pagination .gallery-reset{appearance:none;border-radius:var(--radius-pill);background:color-mix(in srgb, var(--ink) 9%, transparent);color:var(--ink);cursor:pointer;border:0;padding:6px 14px;font-size:12px}.gallery-pagination .gallery-reset:hover{background:color-mix(in srgb, var(--ink) 15%, transparent)}.gallery-tools{align-items:center;gap:8px;display:flex}.browse-button{display:none}@media (max-width:860px){.home-hero .rail-search,.page-home .home-rail{display:none}.gallery-toolbar{flex-wrap:wrap;margin-bottom:14px}.gallery-toolbar .gallery-tools{flex:1 0 100%;justify-content:space-between}.gallery-toolbar>span[aria-hidden=true]:empty{display:none}.browse-button{appearance:none;border-radius:var(--radius-pill);background:color-mix(in srgb, var(--ink) 6%, transparent);max-width:52vw;min-height:36px;color:var(--ink);cursor:pointer;border:0;align-items:center;gap:7px;padding:0 14px;font-size:12px;display:inline-flex}.browse-button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.browse-button[aria-pressed=true]{background:color-mix(in srgb, var(--ink) 12%, transparent)}}.browse-panel{gap:12px;display:grid}.browse-panel .rail-search{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.browse-panel .rail-search input{min-height:42px}.browse-panel .filter-rail{margin:0}.browse-panel .filter-list{flex-wrap:nowrap;gap:1px;max-width:none;display:grid;overflow:visible}.browse-panel .filter-item{border-radius:var(--radius-row);width:100%;min-height:42px;color:var(--ink);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;padding:0 12px;font-size:14px;display:flex}.browse-panel .filter-item.active{background:color-mix(in srgb, var(--ink) 9%, transparent);font-weight:600}.browse-panel .filter-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.browse-panel .gallery-reset{appearance:none;border-radius:var(--radius-pill);background:color-mix(in srgb, var(--ink) 9%, transparent);color:var(--ink);border:0;justify-self:center;padding:8px 16px;font-size:13px}.ui-popover.browse-panel .filter-list .filter-item{border-radius:var(--radius-row);min-height:44px;color:var(--ink);background:0 0;border:0;padding:0 12px;font-size:15px;font-weight:400}.ui-popover.browse-panel .filter-list .filter-item.active{background:color-mix(in srgb, var(--ink) 9%, transparent);font-weight:600}.ui-popover.browse-panel .filter-list .filter-item .filter-count,.ui-popover.browse-panel .filter-list .filter-item.active .filter-count{color:var(--muted);font-size:13px;font-weight:400}.ui-popover.browse-panel .filter-list .filter-item>span:first-child{color:inherit;font-size:inherit;font-weight:inherit}@media (max-width:860px){.gallery-tools .sort-switch{box-sizing:border-box;align-items:stretch;height:36px;margin:0;padding:0}.gallery-tools .sort-switch button{align-items:center;height:100%;min-height:0;padding:0 14px;font-size:12px;line-height:1;display:inline-flex}}.pattern-meta{border-top:1px solid var(--line);gap:12px;margin-top:20px;padding-top:16px;display:grid}.pattern-meta-row{grid-template-columns:64px minmax(0,1fr);align-items:baseline;gap:12px;margin:0;font-size:12px;line-height:1.5;display:grid}.pattern-meta-label{color:var(--muted)}.pattern-meta-items{flex-wrap:wrap;align-items:baseline;gap:6px 14px;display:flex}.pattern-topics a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--ink) 30%, transparent);text-decoration-color:color-mix(in srgb, var(--ink) 30%, transparent);text-underline-offset:3px}.pattern-topics a:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.pattern-explore .pattern-meta-items{gap:6px}.explore-chip{border:1px solid var(--line);border-radius:var(--radius-pill);min-height:30px;color:var(--ink);align-items:center;gap:8px;padding:0 12px;font-size:12px;text-decoration:none;transition:border-color .15s,background-color .15s;display:inline-flex}.explore-chip:hover{border-color:color-mix(in srgb, var(--ink) 40%, transparent);background:color-mix(in srgb, var(--ink) 5%, transparent)}.explore-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.external-link-icon{vertical-align:.05em;opacity:.7;flex:none;margin-left:.3em;display:inline-block}.external-link:hover .external-link-icon{opacity:1}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.studio-rail-panel .control.bar-control,.studio-rail-panel .control.row-control,.studio-fine-card .control.bar-control,.studio-fine-card .control.row-control{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:10px;margin-bottom:8px;display:grid}.bar-label,.row-control>label{color:var(--ink);margin:0;font-size:12px;line-height:1.25}.row-control>label span{font-size:12px}.studio-rail-panel .row-control select,.studio-fine-card .row-control select{text-overflow:ellipsis;white-space:nowrap;width:100%;min-width:0;min-height:28px;padding:3px 8px;font-size:12px;overflow:hidden}.bar{border-radius:var(--radius-input);background:color-mix(in srgb, var(--ink) 8%, var(--paper));cursor:ew-resize;touch-action:pan-y;-webkit-user-select:none;user-select:none;height:28px;position:relative;overflow:hidden}.bar-fill{inset-block:0;left:var(--from);right:calc(100% - var(--to));background:color-mix(in srgb, var(--ink) 30%, var(--paper));position:absolute}.bar-fill:after{content:"";inset-block:0;background:color-mix(in srgb, var(--ink) 60%, var(--paper));width:2px;position:absolute;right:0}.bar-centred .bar-fill:after{display:none}.bar-centred:before{content:"";height:6px;bottom:0;left:var(--origin);background:color-mix(in srgb, var(--ink) 35%, transparent);z-index:1;pointer-events:none;width:1px;position:absolute}.bar input[type=range]{opacity:0;pointer-events:none;z-index:2;width:100%;height:100%;margin:0;position:absolute;inset:0}.bar-value{pointer-events:none;z-index:1;font-variant-numeric:tabular-nums;color:var(--ink);place-items:center;font-size:12px;display:grid;position:absolute;inset:0}.bar input.bar-edit,.studio-rail-panel .control .bar input.bar-edit,.studio-fine-card .control .bar input.bar-edit{z-index:3;border-radius:inherit;background:var(--paper);width:100%;color:var(--ink);font:inherit;text-align:center;font-variant-numeric:tabular-nums;border:0;margin:0;padding:0 8px;font-size:12px;position:absolute;inset:0}.bar:hover{background:color-mix(in srgb, var(--ink) 12%, var(--paper))}.bar:has(input:focus-visible){outline:2px solid var(--ink);outline-offset:2px}@media (pointer:coarse){.bar,.studio-rail-panel .row-control select,.studio-fine-card .row-control select{height:36px;min-height:36px}}.preset-strip{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;gap:6px;margin:0 -16px 14px;padding:2px 16px;scroll-padding-inline:16px;display:flex;overflow-x:auto}.preset-strip::-webkit-scrollbar{display:none}.preset-strip-wrap{position:relative}.preset-hint{pointer-events:none;place-items:center;animation:2.6s both preset-hint-fade;display:grid;position:absolute;inset:0 0 14px}.preset-hint-hand{width:44px;height:44px;color:var(--ink);background:color-mix(in srgb, var(--paper) 88%, transparent);border:1px solid var(--line);box-shadow:0 2px 10px color-mix(in srgb, var(--ink) 14%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:50%;place-items:center;animation:1.25s ease-in-out .25s 2 both preset-hint-slide;display:grid}@keyframes preset-hint-slide{0%,to{transform:translate(0)}30%{transform:translate(-26px)rotate(-8deg)}70%{transform:translate(26px)rotate(8deg)}}@keyframes preset-hint-fade{0%{opacity:0}10%,82%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.preset-hint-hand{animation:none}}.preset-strip.dragging{scroll-snap-type:none;cursor:grabbing;-webkit-user-select:none;user-select:none}.preset-strip.dragging>button{cursor:grabbing}.preset-strip.fade-end{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 36px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 36px),#0000)}.preset-strip.fade-start{-webkit-mask-image:linear-gradient(90deg,#0000,#000 36px);mask-image:linear-gradient(90deg,#0000,#000 36px)}.preset-strip.fade-start.fade-end{-webkit-mask-image:linear-gradient(90deg,#0000,#000 36px calc(100% - 36px),#0000);mask-image:linear-gradient(90deg,#0000,#000 36px calc(100% - 36px),#0000)}.preset-strip>button{scroll-snap-align:start;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border:1px solid var(--line);color:var(--ink);white-space:nowrap;cursor:pointer;background:0 0;border-radius:999px;flex:none;padding:6px 11px;font-size:12px}.preset-strip>button:hover{border-color:color-mix(in srgb, var(--ink) 30%, transparent)}.preset-strip>button.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}.preset-thumbs{gap:8px}.preset-thumbs>button{border-radius:var(--radius-row);white-space:normal;justify-items:center;gap:5px;width:76px;padding:4px 4px 6px;display:grid}.preset-thumbs>button.on{background:color-mix(in srgb, var(--ink) 8%, var(--paper));border-color:var(--ink);color:var(--ink)}.preset-thumb{pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;object-fit:cover;background:color-mix(in srgb, var(--ink) 4%, var(--paper));border-radius:6px;width:66px;height:66px;display:block}.preset-thumbs .preset-name{text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;min-height:2.4em;font-size:11px;line-height:1.2;display:-webkit-box;overflow:hidden}.app-shell:has(>.embed-page)>:not(.embed-page){display:none}.app-shell:has(>.embed-page){min-height:0;padding:0}.embed-page{background:var(--background-color);flex-direction:column;display:flex;position:fixed;inset:0}.embed-drawing{flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.embed-drawing svg{width:100%;height:100%;display:block}.embed-credit{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:12px;padding:8px 12px;font-size:12px;text-decoration:none;display:flex}.embed-credit span:first-child,.embed-credit:hover span:last-child,.embed-credit:focus-visible span:last-child{color:var(--ink)}
