@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2)format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2)format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2)format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-500-normal-ckzbgY84.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-normal-BsRWmXhO.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-500-normal-zIXX3Q-H.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-600-normal-Co1r35X9.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-600-normal-2CBVLo0M.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-ext-500-normal-CH1kM7og.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-ext-500-normal-DYeaGGzO.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-ext-600-normal-DaBc-lu7.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-ext-600-normal-Dk3-quAP.woff)format("woff")}:root{--bg:#09090b;--surface-0:#0e0e12;--surface-1:#121216;--surface-2:#18181e;--surface-3:#202028;--text-hi:#f3ebe3;--text:#ece6df;--text-1:#d9d3cc;--text-2:#a39d96;--text-3:#8e8882;--accent:#cf9d7b;--accent-hi:#ddb291;--accent-soft:#efd9c7;--accent-ink:#0c1519;--accent-tint:#cf9d7b24;--danger:#f08a80;--success:#7fd6a4;--warning:#e8c46a;--info:#7cb7f5;--line:#ffffff12;--line-2:#ffffff1f;--line-3:#ffffff2e;--ctl-border:#6f6a64;--font-ui:Inter, system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--font-display:"Cormorant Garamond", Georgia, serif;--fs-1:11px;--fs-2:12px;--fs-3:14px;--fs-4:17.5px;--fs-5:22px;--fs-6:27px;--fs-7:34px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--r-s:6px;--r-m:10px;--r-l:14px;--r-pill:999px;--h-sm:32px;--h-md:40px;--h-lg:44px;--shadow-1:0 1px 2px #0006;--shadow-2:0 8px 24px #00000073;--shadow-3:0 20px 60px #0000008c;--ease:cubic-bezier(.16, 1, .3, 1);--t-fast:.12s;--t-panel:.16s;--z-canvas:0;--z-panel:10;--z-bar:20;--z-drawer:30;--z-modal:40;--z-toast:50}@media (prefers-reduced-motion:reduce){:root{--t-fast:.001ms;--t-panel:.001ms}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font:400 var(--fs-3) / 1.5 var(--font-ui);-webkit-font-smoothing:antialiased;margin:0}button{font:inherit;color:inherit;cursor:pointer}input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 4px #09090bd9}::placeholder{color:#8f8a84;opacity:1}h1,h2,h3,p{margin:0}.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}.btn{justify-content:center;align-items:center;gap:var(--sp-2);height:var(--h-md);padding:0 var(--sp-4);border:1px solid var(--ctl-border);border-radius:var(--r-m);background:var(--surface-1);color:var(--text-1);font-size:var(--fs-3);white-space:nowrap;transition:background var(--t-fast), border-color var(--t-fast), transform var(--t-fast) var(--ease);font-weight:500;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--text-3)}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn[aria-busy=true]{cursor:progress;opacity:.75}.btn--sm{height:var(--h-sm);padding:0 var(--sp-3);font-size:var(--fs-2)}.btn--lg{height:var(--h-lg)}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:700}.btn--primary:hover:not(:disabled){background:var(--accent-hi);border-color:var(--accent-hi)}.btn--ghost{background:0 0;border-color:#0000}.btn--ghost:hover:not(:disabled){background:var(--surface-2);border-color:#0000}.btn--danger{color:var(--danger);border-color:var(--danger)}.btn--icon{width:var(--h-md);padding:0}.btn--icon.btn--sm{width:var(--h-sm)}.btn--icon.btn--lg{width:var(--h-lg)}.spin{border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.chip{align-items:center;gap:var(--sp-2);height:var(--h-sm);padding:0 var(--sp-3);border:1px solid var(--ctl-border);border-radius:var(--r-pill);color:var(--text-1);font-size:var(--fs-2);background:0 0;display:inline-flex}.chip:hover:not(:disabled){border-color:var(--accent);color:#fff}.chip[aria-pressed=true]{background:var(--accent-tint);border-color:var(--accent);color:var(--accent-soft)}.chip:disabled{opacity:.45;cursor:not-allowed}.chip--tag{cursor:default;border-color:var(--line-2);background:var(--line);height:26px}.field{gap:var(--sp-1);font-size:var(--fs-2);color:var(--text-2);flex-direction:column;display:flex}.input,.select{height:var(--h-md);padding:0 var(--sp-3);border:1px solid var(--ctl-border);border-radius:var(--r-m);background:var(--surface-0);width:100%;color:var(--text);font-size:var(--fs-3)}.input:focus,.select:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.input[aria-invalid=true]{border-color:var(--danger)}.input:disabled,.select:disabled{opacity:.45;cursor:not-allowed}.field__error{color:var(--danger);font-size:var(--fs-2)}.field__hint{color:var(--text-3);font-size:var(--fs-2)}.slider{align-items:center;gap:var(--sp-3);display:flex}.slider input[type=range]{accent-color:var(--accent);flex:1}.slider .input{width:72px;height:var(--h-sm);font-family:var(--font-mono);text-align:right}.switch{border-radius:var(--r-pill);width:40px;height:22px;transition:background var(--t-panel) var(--ease);background:#6b6660;border:0;padding:0;position:relative}.switch:after{content:"";width:16px;height:16px;transition:transform var(--t-panel) var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.switch[aria-checked=true]{background:var(--accent)}.switch[aria-checked=true]:after{transform:translate(18px)}.switch:disabled{opacity:.45;cursor:not-allowed}.panel{gap:var(--sp-3);padding:var(--sp-4);background:var(--surface-1);border:1px solid var(--line);border-radius:var(--r-l);flex-direction:column;display:flex}.panel__title{font-size:var(--fs-1);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.card{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--r-l);transition:transform var(--t-panel) var(--ease), border-color var(--t-fast);flex-direction:column;display:flex;position:relative;overflow:hidden}.card--open{cursor:pointer}.card--open:hover{border-color:var(--accent);transform:translateY(-2px)}.card--open:focus-visible{outline-offset:-3px}.card--selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.card__chev{right:var(--sp-3);bottom:var(--sp-3);color:var(--text-2);position:absolute}.card:hover .card__chev{color:var(--accent)}.drawer{width:min(420px,100vw);z-index:var(--z-drawer);gap:var(--sp-4);padding:var(--sp-4);background:var(--surface-1);border:0 solid var(--line-2);box-shadow:var(--shadow-3);animation:drawer-in var(--t-panel) var(--ease);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;overflow:auto}.drawer--right{border-left-width:1px;right:0}.drawer--left{--from:-24px;border-right-width:1px;left:0}.drawer__head{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.drawer__title{font:500 var(--fs-5) / 1.2 var(--font-display);color:var(--text-hi)}@keyframes drawer-in{0%{opacity:0;transform:translateX(var(--from,24px))}to{opacity:1;transform:none}}.menu{min-width:220px;padding:var(--sp-1);background:var(--surface-2);border:1px solid var(--line-3);border-radius:var(--r-l);box-shadow:var(--shadow-2);flex-direction:column;display:flex}.menu__item{align-items:center;gap:var(--sp-3);min-height:var(--h-md);padding:0 var(--sp-3);border-radius:var(--r-m);color:var(--text);text-align:left;font-size:var(--fs-3);background:0 0;border:0;display:flex}.menu__item:hover,.menu__item:focus-visible{background:var(--accent-tint)}.menu__item--danger{color:var(--danger)}.toast-region{z-index:var(--z-toast);right:var(--sp-5);bottom:var(--sp-5);gap:var(--sp-2);flex-direction:column;display:flex;position:fixed}.toast{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-m);background:var(--surface-3);border:1px solid var(--line-3);box-shadow:var(--shadow-2);animation:toast-in var(--t-panel) var(--ease);display:flex}.toast--success{border-color:var(--success)}.toast--error{border-color:var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.shell{grid-template-columns:200px 1fr;height:100%;display:grid}.shell__nav{gap:var(--sp-1);padding:var(--sp-4) var(--sp-3);background:var(--surface-0);border-right:1px solid var(--line-2);flex-direction:column;display:flex}.shell__brand{padding:var(--sp-2) var(--sp-3) var(--sp-4);font:500 var(--fs-5) / 1 var(--font-display);color:var(--text-hi)}.navlink{height:var(--h-lg);padding:0 var(--sp-3);border-radius:var(--r-m);color:var(--text-1);transition:background var(--t-fast), color var(--t-fast);border-left:3px solid #0000;align-items:center;font-weight:500;text-decoration:none;display:flex}.navlink:hover{background:var(--surface-2);color:var(--text-hi)}.navlink[aria-current=page]{background:var(--accent-tint);border-left-color:var(--accent);color:var(--accent-soft)}.shell__main{min-width:0;position:relative;overflow:auto}.layout{padding:var(--sp-6) var(--sp-5);gap:var(--sp-3);align-content:start;display:grid}.module-title{font:500 var(--fs-7) / 1.1 var(--font-display);color:var(--text-hi)}.module-lead{color:var(--text-2)}.shell--rail{grid-template-columns:56px 1fr}.shell--min{grid-template-columns:1fr}.shell__nav[hidden]{display:none}.navlink__icon{flex:none;place-items:center;width:24px;display:inline-grid}.navlink__label{margin-left:var(--sp-2)}.navlink--toggle{text-align:left;background:0 0;border:0;border-left:3px solid #0000;width:100%;margin-top:auto}.shell--rail .shell__nav{padding:var(--sp-4) var(--sp-2);align-items:stretch}.shell--rail .shell__brand{padding:var(--sp-2) 0 var(--sp-4);text-align:center;font-size:var(--fs-4)}.shell--rail .navlink{justify-content:center;padding:0}.shell--rail .navlink__label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}@media (width<=640px){.shell{grid-template-rows:auto 1fr;grid-template-columns:1fr}.shell__nav{border-right:0;border-bottom:1px solid var(--line-2);padding:var(--sp-2) var(--sp-3);flex-direction:row;align-items:center;overflow-x:auto}.shell__brand{padding:0 var(--sp-3) 0 0;white-space:nowrap;flex:none}.navlink{border-radius:var(--r-s);border-bottom:3px solid #0000;border-left:0;flex:none}.navlink[aria-current=page]{border-bottom-color:var(--accent)}.shell.shell--rail,.shell.shell--min{grid-template-columns:1fr}.navlink--toggle{display:none}.navlink__label{margin-left:var(--sp-2)}.shell--rail .navlink__label{width:auto;height:auto;margin:0 0 0 var(--sp-2);clip:auto;position:static;overflow:visible}.shell--rail .navlink{padding:0 var(--sp-3)}.shell--rail .shell__brand{text-align:left;font-size:var(--fs-5);padding:0 var(--sp-3) 0 0}}.lib{grid-template-columns:240px 1fr;min-height:100%;display:grid}.lib__tree{gap:var(--sp-1);padding:var(--sp-4) var(--sp-3);border-right:1px solid var(--line-2);flex-direction:column;display:flex}.treeitem{justify-content:space-between;align-items:center;gap:var(--sp-2);min-height:var(--h-md);padding:0 var(--sp-3);border-radius:var(--r-m);color:var(--text-1);text-align:left;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:0;display:flex}.treeitem:hover{background:var(--surface-2);color:var(--text-hi)}.treeitem[aria-current=true]{background:var(--accent-tint);color:var(--accent-soft)}.treeitem--sub{margin-left:var(--sp-4);min-height:var(--h-sm);font-size:var(--fs-2)}.count{color:var(--text-3);font-size:var(--fs-2);font-variant-numeric:tabular-nums}.lib__main{padding:var(--sp-5);gap:var(--sp-3);align-content:start;min-width:0;display:grid}.lib__bar{justify-content:space-between;align-items:flex-end;gap:var(--sp-4);flex-wrap:wrap;display:flex}.lib__tools{align-items:flex-end;gap:var(--sp-3);display:flex}.popwrap{position:relative}.popover{right:0;top:calc(100% + var(--sp-2));z-index:var(--z-panel);width:340px;max-width:calc(100vw - 2 * var(--sp-4));gap:var(--sp-4);padding:var(--sp-4);background:var(--surface-2);border:1px solid var(--line-3);border-radius:var(--r-l);box-shadow:var(--shadow-2);display:grid;position:absolute}.popover__foot{justify-content:space-between;display:flex}.chiprow{gap:var(--sp-2);flex-wrap:wrap;display:flex}.muted{color:var(--text-2);font-size:var(--fs-2)}.notice{padding:var(--sp-3) var(--sp-4);border:1px solid var(--warning);border-radius:var(--r-m);color:var(--warning)}.masonry{gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));align-items:start;margin:0;padding:0;list-style:none;display:grid}.card__body{gap:var(--sp-1);padding:var(--sp-3) var(--sp-4) var(--sp-4);display:grid}.empty{justify-items:start;gap:var(--sp-3);padding:var(--sp-6) 0;color:var(--text-2);display:grid}.skel{border-radius:var(--r-l);background:linear-gradient(90deg, var(--surface-1), var(--surface-3), var(--surface-1));background-size:200% 100%;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.stack{gap:var(--sp-4);display:grid}.meta{gap:var(--sp-2) var(--sp-4);grid-template-columns:auto 1fr;margin:0;display:grid}.meta dt{color:var(--text-2)}.meta dd{margin:0}.pv{background:var(--surface-0);place-items:center;height:112px;display:grid}.pv--swatches{align-items:stretch;display:flex}.pv--swatches span{flex:1}.pv__tile{padding:var(--sp-3) var(--sp-5);font-weight:600}.pv--font{font-size:var(--fs-7);color:var(--text-hi)}.pv--kind{font:500 var(--fs-7) / 1 var(--font-display);color:var(--accent)}@media (width<=860px){.lib{grid-template-columns:1fr}.lib__tree{border-right:0;border-bottom:1px solid var(--line-2);flex-direction:row;overflow-x:auto}.treeitem{flex:none}.treeitem--sub{margin-left:0}.lib__tools{width:100%}}.tree__h{margin:var(--sp-4) var(--sp-3) var(--sp-1);font-size:var(--fs-1);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.newcol{gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);display:flex}.newcol .input{flex:1;min-width:0}.dropzone{gap:var(--sp-1);padding:var(--sp-4);border:1px dashed var(--ctl-border);border-radius:var(--r-m);cursor:pointer;color:var(--text-1);transition:border-color var(--t-fast), background var(--t-fast);display:grid}.dropzone:hover,.dropzone:focus-within{border-color:var(--accent);background:var(--accent-tint)}.link{color:var(--accent);text-underline-offset:3px}.link:hover{color:var(--accent-hi)}.pv--img{object-fit:cover;width:100%;height:160px;display:block}.lib__count{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.editor{grid-template-columns:56px 1fr 280px;height:100%;min-height:0;display:grid}.tool[aria-pressed=true]{background:var(--accent-tint);border-color:var(--accent);color:var(--accent-soft)}.tools__sep{background:var(--line-2);width:24px;height:1px;margin:var(--sp-1) 0}.editor__stage{min-width:0;min-height:0;position:relative}.editor__canvas{touch-action:none;outline-offset:-2px;width:100%;height:100%;display:block;position:absolute;inset:0}.editor__empty{pointer-events:none;color:var(--text-2);place-items:center;display:grid;position:absolute;inset:0}.editor__panel{align-content:start;gap:var(--sp-5);padding:var(--sp-4);border-left:1px solid var(--line-2);background:var(--surface-0);display:grid;overflow:auto}.layers{gap:2px;margin:0;padding:0;list-style:none;display:grid}.layer{align-items:center;gap:var(--sp-1);border-radius:var(--r-s);padding-right:var(--sp-1);display:flex}.layer:hover{background:var(--surface-2)}.layer--on{background:var(--accent-tint)}.layer__name{min-width:0;min-height:var(--h-sm);padding:0 var(--sp-1);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;flex:1;overflow:hidden}.layer__btn{min-height:var(--h-sm);padding:0 var(--sp-2);border-radius:var(--r-s);color:var(--text-2);font-size:var(--fs-1);background:0 0;border:1px solid #0000}.layer__btn:hover{border-color:var(--ctl-border);color:var(--text-hi)}.layer__btn[aria-pressed=true]{color:var(--accent)}.layer__edit{height:var(--h-sm);flex:1;min-width:0}.props{gap:var(--sp-3);grid-template-columns:1fr 1fr;display:grid}.color{width:100%;height:var(--h-md);border:1px solid var(--ctl-border);border-radius:var(--r-m);background:var(--surface-1);cursor:pointer;padding:0}.only-narrow{display:none}@media (width<=860px){.editor{grid-template-columns:56px 1fr}.only-narrow{display:inline-flex}.editor__panel{display:none}.editor__panel.is-open{height:55vh;z-index:var(--z-drawer);border-left:0;border-top:1px solid var(--line-3);box-shadow:var(--shadow-3);display:grid;position:fixed;bottom:0;left:0;right:0}}.props>*{min-width:0}.props .input,.props select{width:100%;min-width:0}.editor__panel{overflow-x:hidden}.editor__hint{left:var(--sp-3);top:var(--sp-3);max-width:420px;padding:var(--sp-2) var(--sp-3);background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--r-m);font-size:var(--fs-2);color:var(--text-1);pointer-events:none;position:absolute}.swatch{width:var(--h-md);height:var(--h-md);border:1px solid var(--ctl-border);border-radius:var(--r-m);cursor:pointer;transition:transform var(--t-fast) var(--ease), border-color var(--t-fast);padding:0}.swatch:hover:not(:disabled){border-color:var(--accent);transform:scale(1.06)}.swatch:disabled{opacity:.4;cursor:not-allowed}.pv--icons{gap:var(--sp-3) var(--sp-5);color:var(--text-hi);grid-template-columns:repeat(4,auto)}.pv--tex{position:relative;overflow:hidden}.pv--tex svg{position:absolute;inset:0}.pv--sound{padding:0 var(--sp-4);position:relative}.pv--sound svg{width:100%;height:56px}.playbtn{right:var(--sp-2);bottom:var(--sp-2);z-index:2;width:var(--h-md);height:var(--h-md);border:1px solid var(--ctl-border);border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-hi);transition:background var(--t-fast), border-color var(--t-fast), transform var(--t-fast) var(--ease);position:absolute}.playbtn:hover:not(:disabled){border-color:var(--accent);background:var(--accent-tint)}.playbtn:active:not(:disabled){transform:scale(.94)}.playbtn:disabled{opacity:.45;cursor:not-allowed}.pv--motion{position:relative;overflow:hidden}.pv--motion svg{inset:var(--sp-3) var(--sp-5);width:calc(100% - 2 * var(--sp-5));height:calc(100% - 2 * var(--sp-3));position:absolute}.pv__dot{left:var(--sp-5);bottom:var(--sp-4);width:var(--sp-3);height:var(--sp-3);border-radius:var(--r-pill);background:var(--accent);animation:2s infinite alternate dot-slide;position:absolute}@keyframes dot-slide{0%{left:var(--sp-5)}to{left:calc(100% - var(--sp-5) - var(--sp-3))}}.pv--motion svg{overflow:visible}.iconpick{grid-template-columns:repeat(auto-fill, minmax(var(--h-md), 1fr));gap:var(--sp-1);display:grid}.iconpick__btn{height:var(--h-md);border:1px solid var(--line-2);border-radius:var(--r-m);background:var(--surface-1);color:var(--text-1);transition:border-color var(--t-fast), background var(--t-fast), color var(--t-fast);place-items:center;display:grid}.iconpick__btn:hover:not(:disabled){border-color:var(--accent);background:var(--accent-tint);color:var(--text-hi)}.iconpick__btn:disabled{opacity:.45;cursor:not-allowed}.groups{gap:var(--sp-5);display:grid}.group__h{margin:0 0 var(--sp-3);font:500 var(--fs-5) / 1.2 var(--font-display);color:var(--text-hi)}.masonry--list{gap:var(--sp-2);grid-template-columns:1fr}.masonry--list .card{grid-template-columns:160px 1fr;align-items:stretch;display:grid}.masonry--list .pv,.masonry--list .pv--img{height:100%;min-height:80px}@media (width<=640px){.masonry--list .card{grid-template-columns:96px 1fr}}.group__h .count{font:500 var(--fs-3) / 1 var(--font-ui);margin-left:var(--sp-2)}.taglist{gap:var(--sp-1);max-height:320px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.taglist li{align-items:center;gap:var(--sp-2);min-height:var(--h-md);display:flex}.taglist li>span:first-child{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.taglist form{gap:var(--sp-2);width:100%;display:flex}.taglist form .input{flex:1;min-width:0}.pick{top:var(--sp-2);left:var(--sp-2);z-index:3;width:var(--h-sm);height:var(--h-sm);border:1px solid var(--ctl-border);border-radius:var(--r-s);background:var(--surface-2);color:var(--accent-ink);transition:background var(--t-fast), border-color var(--t-fast);place-items:center;font-weight:700;display:grid;position:absolute}.pick:hover{border-color:var(--accent)}.pick[aria-pressed=true]{background:var(--accent);border-color:var(--accent)}.selbar{left:50%;bottom:var(--sp-5);z-index:var(--z-bar);align-items:center;gap:var(--sp-2);max-width:min(960px, calc(100vw - 2 * var(--sp-4)));padding:var(--sp-3) var(--sp-4);background:var(--surface-2);border:1px solid var(--line-3);border-radius:var(--r-l);box-shadow:var(--shadow-3);flex-wrap:wrap;display:flex;position:fixed;transform:translate(-50%)}.selbar__sel{width:auto;height:var(--h-sm);padding:0 var(--sp-2)}.selbar__tag{gap:var(--sp-2);display:flex}.selbar__tag .input{width:120px;height:var(--h-sm)}.masonry>li{content-visibility:auto;contain-intrinsic-size:auto 260px}.more{padding:var(--sp-5) 0;place-items:center;display:grid}.sheet__close{z-index:1;justify-self:end;position:sticky;top:0}.editor__panel,.lib__main,.stack,.popover,.props{grid-template-columns:minmax(0,1fr)}.props{grid-template-columns:repeat(2,minmax(0,1fr))}.layers,.taglist,.groups,.editor__panel>section{grid-template-columns:minmax(0,1fr);min-width:0}.lib__tree .popover{width:min(380px, calc(100vw - 2 * var(--sp-4)));max-height:70vh;left:0;right:auto;overflow:auto}.inline-form{align-items:flex-end;gap:var(--sp-2);display:flex}.inline-form .input,.inline-form .field{flex:1;min-width:0}.catman{gap:var(--sp-3);grid-template-columns:minmax(0,1fr);display:grid}.catman__cat{gap:var(--sp-1);padding-bottom:var(--sp-2);border-bottom:1px solid var(--line-2);grid-template-columns:minmax(0,1fr);display:grid}.catman__row{align-items:center;gap:var(--sp-2);min-height:var(--h-sm);display:flex}.catman__row>:first-child{flex:1;min-width:0}.catman__row--sub{margin-left:var(--sp-4)}.shortcuts{gap:var(--sp-2);grid-template-columns:minmax(0,1fr);max-height:60vh;margin:0;display:grid;overflow:auto}.shortcuts>div{gap:var(--sp-3);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:baseline;display:grid}.shortcuts dt,.shortcuts dd{margin:0}kbd{font:500 var(--fs-2) var(--font-mono);padding:2px var(--sp-2);border:1px solid var(--line-3);border-radius:var(--r-s);background:var(--surface-1);color:var(--text-hi);white-space:nowrap}.panel__head{justify-content:space-between;align-items:center;gap:var(--sp-2);display:flex}.panel__head--end{margin:calc(-1 * var(--sp-2)) 0 calc(-1 * var(--sp-3));justify-content:flex-end}.editor__panel--layers{border-left:0;border-right:1px solid var(--line-2)}.editor__resizer{cursor:col-resize;touch-action:none;width:6px;transition:background var(--t-fast);background:0 0}.editor__resizer:hover,.editor__resizer:focus-visible,.editor__resizer:active{background:var(--accent-tint)}@media (width<=860px){.editor__resizer{display:none}}.panel__tools{gap:var(--sp-1);display:inline-flex}.layers__search{width:100%;margin-bottom:var(--sp-2)}.layer{position:relative}.layer[draggable=true]{cursor:grab}.layer--drag{opacity:.45}.layer--hidden .layer__name,.layer--hidden .layer__icon{opacity:.5}.layer__chev{width:20px;min-height:var(--h-sm);border-radius:var(--r-s);color:var(--text-2);font-size:var(--fs-2);background:0 0;border:0;flex:none;padding:0}.layer__chev:hover{color:var(--text-hi);background:var(--surface-3)}.layer__chev--none{cursor:default;display:inline-block}.layer__icon{color:var(--text-2);flex:none;place-items:center;display:inline-grid}.layer--on .layer__icon{color:var(--accent)}.layer__btn{place-items:center;width:28px;padding:0;display:inline-grid}.layer{gap:2px}.layer--drop-above:before,.layer--drop-below:after{content:"";left:var(--sp-2);right:var(--sp-2);background:var(--accent);pointer-events:none;border-radius:1px;height:2px;position:absolute}.layer--drop-above:before{top:-1px}.layer--drop-below:after{bottom:-1px}.layer--drop-inside{outline:2px solid var(--accent);outline-offset:-2px;background:var(--accent-tint)}.editor{grid-template-columns:1fr 280px}.editor__top{top:var(--sp-3);left:var(--sp-3);right:var(--sp-3);justify-content:space-between;align-items:flex-start;gap:var(--sp-2);pointer-events:none;z-index:var(--z-bar);display:flex;position:absolute}.editor__cluster{pointer-events:auto;align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-2);background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--r-pill);font-size:var(--fs-2);display:flex}.editor__status{color:var(--text-2);padding:0 var(--sp-2);white-space:nowrap}.editor__cluster [aria-pressed=true]{color:var(--accent-soft)}.editor__top .popover{top:calc(100% + var(--sp-2));width:240px;bottom:auto;left:auto;right:0}.editor__top .popover:has(.shortcuts){width:380px}.editor__dock{left:50%;bottom:var(--sp-3);align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2);background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--r-l);box-shadow:var(--shadow-2);max-width:calc(100% - 2 * var(--sp-3));z-index:var(--z-bar);display:flex;position:absolute;transform:translate(-50%)}.dock__group{gap:2px;display:flex}.dock__group+.dock__group{padding-left:var(--sp-2);border-left:1px solid var(--line-2)}.dock__btn{width:var(--h-md);height:var(--h-md);border-radius:var(--r-m);color:var(--text-1);transition:background var(--t-fast), color var(--t-fast);background:0 0;border:1px solid #0000;place-items:center;padding:0;display:inline-grid;position:relative}.dock__btn:hover:not(:disabled){background:var(--surface-3);color:var(--text-hi)}.dock__btn:disabled{opacity:.4;cursor:not-allowed}.dock__btn[aria-pressed=true]{background:var(--accent-tint);border-color:var(--accent);color:var(--accent-soft)}.dock__btn[data-tip]:after{content:attr(data-tip);bottom:calc(100% + var(--sp-2));padding:var(--sp-1) var(--sp-2);background:var(--surface-3);border:1px solid var(--line-3);border-radius:var(--r-s);color:var(--text-hi);font-size:var(--fs-2);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--t-fast);position:absolute;left:50%;transform:translate(-50%)}.dock__btn[data-tip]:hover:after,.dock__btn[data-tip]:focus-visible:after{opacity:1}.editor__hint{top:calc(var(--sp-3) + var(--h-md) + var(--sp-2))}@media (width<=860px){.editor{grid-template-columns:1fr}.editor__status{display:none}.dock__btn{width:36px;height:36px}.editor__dock{gap:var(--sp-1);overflow-x:auto}.editor__dock .dock__btn[data-tip]:after{display:none}}.ptabs{border-bottom:1px solid var(--line-2);gap:2px;display:flex;overflow-x:auto}.ptab{min-height:var(--h-sm);color:var(--text-2);font-size:var(--fs-2);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;flex:auto;padding:0 6px;font-weight:600}.ptab:hover{color:var(--text-hi)}.ptab[aria-selected=true]{color:var(--accent-soft);border-bottom-color:var(--accent)}.numfield__label{cursor:ew-resize;-webkit-user-select:none;user-select:none;touch-action:none;width:fit-content}.numfield__label:hover{color:var(--text-hi)}.layer__tag{color:var(--text-3);font-size:var(--fs-2);flex:none}.layer--frame .layer__name{font-weight:700}.palette__backdrop{z-index:var(--z-modal);background:#09090b8c;place-items:start center;padding-top:12vh;display:grid;position:fixed;inset:0}.palette{width:min(560px, calc(100vw - 2 * var(--sp-4)));background:var(--surface-1);border:1px solid var(--line-3);border-radius:var(--r-l);max-height:70vh;box-shadow:var(--shadow-3);grid-template-rows:auto 1fr auto;display:grid;overflow:hidden}.palette__input{border:0;border-bottom:1px solid var(--line-2);height:var(--h-lg);padding:0 var(--sp-4);font-size:var(--fs-4);background:0 0;border-radius:0}.palette__input:focus-visible{box-shadow:none;border-bottom-color:var(--accent);outline:none}.palette__list{padding:var(--sp-2);align-content:start;gap:2px;margin:0;list-style:none;display:grid;overflow-y:auto}.palette__item{align-items:center;gap:var(--sp-3);min-height:var(--h-md);padding:0 var(--sp-3);border-radius:var(--r-m);cursor:pointer;grid-template-columns:96px 1fr auto;display:grid}.palette__item.is-active{background:var(--accent-tint)}.palette__item.is-disabled{color:var(--text-3);cursor:not-allowed}.palette__group{color:var(--text-2);font-size:var(--fs-1);text-transform:uppercase;letter-spacing:.06em}.palette__na{color:var(--text-3);font-size:var(--fs-2)}.palette__empty{padding:var(--sp-4);color:var(--text-2)}.palette__foot{padding:var(--sp-2) var(--sp-4);border-top:1px solid var(--line-2);font-size:var(--fs-2);margin:0}@media (width<=640px){.palette__item{grid-template-columns:1fr auto}.palette__group{display:none}}.texteditor{z-index:var(--z-panel);border:1px dashed var(--accent);resize:none;caret-color:var(--accent);background:0 0;border-radius:2px;outline:none;margin:0;padding:0;position:absolute;overflow:hidden}@media (width<=860px){.editor__top{row-gap:var(--sp-1);flex-wrap:wrap}.editor__cluster{max-width:100%;overflow-x:auto}}@media (width<=480px){.dock__btn{width:32px;height:32px}.editor__dock{padding:var(--sp-1);gap:4px}.dock__group+.dock__group{padding-left:4px}}.annot{gap:var(--sp-3);flex-direction:column;display:flex}.annot__img{border-radius:var(--r-m);line-height:0;position:relative;overflow:hidden}.annot__img.is-adding{cursor:crosshair;outline:2px solid var(--accent);outline-offset:-2px}.annot__img .pv--img{object-fit:contain;background:var(--surface-0);height:auto;max-height:60vh}.annot__mark{border-radius:var(--r-pill);background:var(--accent);width:28px;height:28px;color:var(--accent-ink);border:2px solid var(--bg);font:600 var(--fs-2)/1 var(--font-ui);cursor:grab;box-shadow:var(--shadow-2);touch-action:none;place-items:center;margin:-14px 0 0 -14px;display:grid;position:absolute}.annot__mark:hover,.annot__mark.is-active{background:var(--accent-hi)}.annot__mark:focus-visible{outline:2px solid var(--text-hi);outline-offset:2px}.annot__bar{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.annot__list{gap:var(--sp-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.annot__list li{align-items:center;gap:var(--sp-2);display:flex}.annot__list li .input{flex:1;min-width:0}.annot__badge{border-radius:var(--r-pill);background:var(--accent-tint);width:24px;height:24px;color:var(--accent);font-size:var(--fs-2);flex:none;place-items:center;display:grid}.masonry--gallery{gap:var(--sp-5);grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}.masonry--gallery>li{contain-intrinsic-size:auto 420px}.masonry--gallery .pv,.masonry--gallery .pv--img{aspect-ratio:16/10;object-fit:cover;object-position:top center;width:100%;height:auto}.gcard{gap:var(--sp-3);padding:var(--sp-4);display:grid}.gcard__head{justify-content:space-between;align-items:baseline;gap:var(--sp-3);min-width:0;display:flex}.gcard__title{font:500 var(--fs-5) / 1.15 var(--font-display);color:var(--text-hi);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gcard__sub{font:400 var(--fs-1) / 1.2 var(--font-mono);color:var(--text-2);text-align:right;text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:50%;overflow:hidden}.gcard__tags{gap:var(--sp-1);flex-wrap:wrap;align-items:center;min-height:28px;display:flex}.gcard__tags .chip{font-family:var(--font-mono);font-size:var(--fs-1)}.gcard__more{font:400 var(--fs-1) / 1 var(--font-mono);color:var(--text-2)}.gcard__foot{justify-content:space-between;align-items:center;gap:var(--sp-3);padding-top:var(--sp-2);border-top:1px solid var(--line);font:400 var(--fs-1) / 1 var(--font-mono);color:var(--text-2);display:flex}.gcard__cat{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gcard__idx{font-variant-numeric:tabular-nums;flex:none}.masonry>li[draggable=true]{cursor:grab}.reorder{justify-content:space-between;align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2);display:flex}
