@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-cyrillic-ext-400-italic-BEGvmv_3.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-ext-400-italic-C_Uk1MUY.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-cyrillic-400-italic-D3GtrbRZ.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-400-italic-AH1vqu4S.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-vietnamese-400-italic-BoXDRTEW.woff2)format("woff2"),url(/assets/cormorant-garamond-vietnamese-400-italic-CJpMwFnN.woff)format("woff");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:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-ext-400-italic-BdEzgT7i.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-ext-400-italic-CQvLaSWn.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-400-italic-Dc_OZ8oc.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-400-italic-BLh7T8o8.woff)format("woff");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:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-cyrillic-ext-500-italic-ClXnudBg.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-ext-500-italic-DakTmaFY.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-cyrillic-500-italic-DVnfXoMy.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-500-italic-C9gO-8KC.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-vietnamese-500-italic-D3igDnAQ.woff2)format("woff2"),url(/assets/cormorant-garamond-vietnamese-500-italic-C-296ow0.woff)format("woff");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:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-ext-500-italic-CE7zdTnu.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-ext-500-italic-CalKM9tT.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-italic-Y14P-dkT.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-500-italic-DhNIfkTX.woff)format("woff");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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-cyrillic-ext-400-normal-W3Dto7M0.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-ext-400-normal-DLdKLAvx.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-cyrillic-400-normal-DD2KOZkl.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-400-normal-CVFrM67f.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-vietnamese-400-normal-6K-YXo6g.woff2)format("woff2"),url(/assets/cormorant-garamond-vietnamese-400-normal-4uxlocMh.woff)format("woff");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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-ext-400-normal-Drx2k2n9.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-ext-400-normal-uvC0WHQr.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-400-normal-B-1hWBU7.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-400-normal-B7YtguxJ.woff)format("woff");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}:root{--paper:#f8f5ee;--charcoal:#2b2a2f;--ink-soft:#2b2a2f9e;--ink-faint:#2b2a2f52;--hair:#2b2a2f1a;--tray:#faf7f0c7;--indigo:#35407a;--pigment:#8d80b8;--serif:"Cormorant Garamond", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--safe-t:env(safe-area-inset-top,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--paper);color:var(--charcoal);font-family:var(--sans);overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;font-size:15px;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:default;opacity:.32}:focus-visible{outline:2px solid var(--indigo);outline-offset:2px;border-radius:10px}.studio{position:fixed;inset:0;overflow:hidden}.canvas-host{touch-action:none;-webkit-touch-callout:none;position:absolute;inset:0}.layer{width:100%;height:100%;display:block;position:absolute;inset:0}.layer-paint,.layer-replay,.layer-wet{mix-blend-mode:multiply;pointer-events:none}.layer-paper{pointer-events:none}.layer-overlay{touch-action:none;cursor:crosshair}.layer-paint{transition:opacity .6s}.layer-replay{opacity:0;transition:opacity .6s}.is-replaying .layer-paint{opacity:.14}.is-replaying .layer-replay{opacity:1}.empty{text-align:center;pointer-events:none;place-content:center;justify-items:center;gap:28px;padding:0 24px;transition:opacity .9s;display:grid;position:absolute;inset:0}.empty.is-hidden{opacity:0}.empty.is-hidden .moods{pointer-events:none;visibility:hidden;transition:visibility 0s .9s}.hint{font-family:var(--serif);color:var(--ink-soft);letter-spacing:.005em;margin:0;font-size:clamp(26px,4.4vw,40px);font-style:italic;font-weight:400;line-height:1.22;animation:1.6s cubic-bezier(.2,.7,.2,1) both arrive}.moods{pointer-events:auto;gap:4px;animation:1.6s cubic-bezier(.2,.7,.2,1) .5s both arrive;display:flex}.mood{font-family:var(--serif);color:var(--ink-faint);padding:8px 12px 12px;font-size:21px;font-style:italic;transition:color .3s;position:relative}.mood:hover{color:var(--ink-soft)}.mood.is-on{color:var(--charcoal)}.mood:after{content:"";background:var(--pigment);opacity:0;border-radius:50% 40% 60% 45%;height:5px;transition:opacity .4s,transform .5s cubic-bezier(.2,.7,.2,1);position:absolute;bottom:6px;left:14%;right:14%;transform:scaleX(.4)rotate(-1.5deg)}.mood.is-on:after{opacity:.5;transform:scaleX(1)rotate(-1.5deg)}@keyframes arrive{0%{opacity:0;transform:translateY(6px)}}.topbar{top:calc(var(--safe-t) + 10px);left:calc(var(--safe-l) + 18px);right:calc(var(--safe-r) + 12px);pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute}.topbar>*{pointer-events:auto}.mark{align-items:baseline;gap:14px;min-width:0;display:flex}.wordmark{font-family:var(--serif);letter-spacing:-.01em;margin:0;font-size:30px;font-style:italic;font-weight:500;line-height:1}.piece{font-family:var(--serif);color:var(--ink-faint);white-space:nowrap;text-overflow:ellipsis;max-width:40vw;font-size:18px;font-style:italic;overflow:hidden}.transport{gap:2px;display:flex}.icon-btn{border-radius:50%;place-items:center;width:44px;height:44px;transition:background-color .2s;display:grid}.icon-btn:hover:not(:disabled){background:var(--hair)}.icon-btn.play.is-on{color:var(--indigo)}.tray-wrap{left:50%;bottom:calc(var(--safe-b) + 14px);max-width:calc(100vw - 24px - var(--safe-l) - var(--safe-r));flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;transform:translate(-50%)}.tray{background:var(--tray);-webkit-backdrop-filter:blur(14px)saturate(1.1);backdrop-filter:blur(14px)saturate(1.1);border:1px solid var(--hair);border-radius:26px;align-items:center;gap:6px;max-width:100%;padding:6px 8px;display:flex;box-shadow:0 10px 30px -18px #2b2a2f59}.group{align-items:center;gap:2px;display:flex}.group+.group{border-left:1px solid var(--hair);padding-left:6px}.tool{width:42px;height:42px;color:var(--ink-soft);border-radius:14px;place-items:center;transition:color .2s;display:grid;position:relative}.tool:hover:not(:disabled),.tool.is-on{color:var(--charcoal)}.tool:before{content:"";background:var(--pigment);opacity:0;border-radius:46% 54% 50% 48%/52% 46% 54% 48%;transition:opacity .25s,transform .3s cubic-bezier(.2,.7,.2,1),background-color .3s;position:absolute;inset:5px;transform:scale(.6)}.tool.is-on:before{opacity:.22;transform:scale(1)}.tool>svg{position:relative}.swatch{place-items:center;width:40px;height:42px;display:grid;position:relative}.swatch-paint{width:30px;height:30px;transition:transform .25s cubic-bezier(.2,.7,.2,1)}.swatch:hover .swatch-paint{transform:scale(1.06)}.swatch:after{content:"";border:1.4px solid var(--charcoal);opacity:0;border-radius:48% 52% 46% 54%/54% 46% 52% 48%;transition:opacity .2s,transform .3s cubic-bezier(.2,.7,.2,1);position:absolute;inset:3px 2px;transform:rotate(-8deg)scale(.9)}.swatch.is-on:after{opacity:.75;transform:rotate(-8deg)scale(1)}.size-dot{background:currentColor;border-radius:50%;transition:width .2s,height .2s;display:block;position:relative}@media (max-width:620px){.tray-wrap{width:calc(100vw - 20px - var(--safe-l) - var(--safe-r))}.tray{border-radius:24px;flex-wrap:wrap;justify-content:center;gap:0 4px;width:100%;padding:4px 6px}.pigments{border-bottom:1px solid var(--hair);justify-content:space-around;width:100%;padding-bottom:2px}.group+.group{border-left:0;padding-left:0}.brushes{flex:1;justify-content:space-around}.history{border-left:1px solid var(--hair)!important;padding-left:4px!important}.brushes .tool,.history .tool{width:37px}.wordmark{font-size:27px}}@media (max-width:370px){.brushes .tool,.history .tool{width:31px}.swatch{width:36px}}.notice{top:calc(var(--safe-t) + 64px);background:var(--tray);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--hair);font-family:var(--serif);white-space:nowrap;opacity:0;pointer-events:none;border-radius:18px;margin:0;padding:8px 16px;font-size:18px;font-style:italic;transition:opacity .3s,transform .3s;position:absolute;left:50%;transform:translate(-50%,-4px)}.notice.is-visible{opacity:1;transform:translate(-50%)}.scrim{background:#2b2a2f1f;animation:.25s both fade;position:absolute;inset:0}.panel{top:calc(var(--safe-t) + 12px);right:calc(var(--safe-r) + 12px);bottom:calc(var(--safe-b) + 12px);overscroll-behavior:contain;background:var(--paper);border:1px solid var(--hair);-webkit-user-select:text;user-select:text;border-radius:22px;flex-direction:column;gap:18px;width:min(360px,100vw - 24px);padding:18px 20px 20px;animation:.32s cubic-bezier(.2,.7,.2,1) both slide-in;display:flex;position:absolute;overflow-y:auto;box-shadow:0 24px 60px -30px #2b2a2f73}@media (max-width:620px){.panel{top:auto;left:calc(var(--safe-l) + 8px);right:calc(var(--safe-r) + 8px);width:auto;max-height:78vh;max-height:78dvh;padding-bottom:calc(var(--safe-b) + 20px);border-radius:22px 22px 0 0;animation-name:slide-up;bottom:0}}.panel-head{justify-content:space-between;align-items:center;margin:-6px -10px -6px 0;display:flex}.panel h2{font-family:var(--serif);margin:0;font-size:24px;font-style:italic;font-weight:500}.panel .list-title{margin-top:6px;font-size:20px}.field{color:var(--ink-soft);gap:6px;font-size:13px;display:grid}.field input{font:inherit;font-family:var(--serif);color:var(--charcoal);border:0;border-bottom:1px solid var(--ink-faint);background:0 0;border-radius:0;padding:6px 0;font-size:20px}.field input:focus{border-bottom-color:var(--indigo);outline:none}.actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.btn{border:1px solid var(--hair);border-radius:14px;height:44px;font-size:15px;transition:background-color .2s}.btn:hover:not(:disabled){background:var(--hair)}.btn.primary{background:var(--charcoal);color:var(--paper);border-color:var(--charcoal)}.btn.primary:hover:not(:disabled){background:#3d3c42}.btn.quiet{color:var(--ink-soft);border-color:#0000}.empty-list{color:var(--ink-soft);margin:-6px 0 0;font-size:14px;line-height:1.5}.pieces{gap:4px;margin:-6px 0 0;padding:0;list-style:none;display:grid}.pieces li{align-items:center;gap:4px;display:flex}.piece-open{text-align:left;border-radius:12px;flex:1;grid-template-rows:auto auto;grid-template-columns:56px 1fr;align-items:center;column-gap:12px;min-width:0;padding:6px;display:grid}.piece-open:hover{background:var(--hair)}.thumb{object-fit:cover;border:1px solid var(--hair);background:#efe9dc;border-radius:8px;grid-row:span 2;width:56px;height:56px}.piece-name{font-family:var(--serif);text-overflow:ellipsis;white-space:nowrap;font-size:18px;overflow:hidden}.piece-meta{color:var(--ink-soft);font-size:13px}.piece-remove{color:var(--ink-soft);border-radius:10px;padding:8px 10px;font-size:13px}.piece-remove.is-confirm{color:#9a3b2c}@keyframes fade{0%{opacity:0}}@keyframes slide-in{0%{opacity:0;transform:translate(16px)}}@keyframes slide-up{0%{opacity:0;transform:translateY(40px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important}}.tool.expand{color:var(--ink-faint)}.tool.expand.is-on,.tool.expand:hover{color:var(--charcoal)}.tool.expand:before{display:none}.paintbox{width:min(640px,100vw - 24px);max-height:calc(100vh - 190px - var(--safe-t) - var(--safe-b));max-height:calc(100dvh - 190px - var(--safe-t) - var(--safe-b));overscroll-behavior:contain;background:var(--tray);-webkit-backdrop-filter:blur(18px)saturate(1.1);backdrop-filter:blur(18px)saturate(1.1);border:1px solid var(--hair);border-radius:24px;padding:14px 16px 16px;animation:.28s cubic-bezier(.2,.7,.2,1) both rise;overflow-y:auto;box-shadow:0 18px 40px -24px #2b2a2f66}.paintbox-preview{border:1px solid var(--hair);border-radius:14px;width:100%;height:76px;display:block}.paintbox-caption{font-family:var(--serif);color:var(--ink-soft);margin:8px 2px 12px;font-size:17px;font-style:italic}.paintbox-body{grid-template-columns:1fr 1fr;gap:16px;display:grid}.pans{align-content:start;gap:2px;display:grid}.pan-row{grid-template-columns:62px 1fr;align-items:center;display:grid}.pan-family{font-family:var(--serif);color:var(--ink-faint);font-size:15px;font-style:italic}.pan-swatches{flex-wrap:wrap;display:flex}.pan-swatches .swatch{width:38px;height:40px}.brush-grid{grid-template-columns:1fr 1fr;align-content:start;gap:4px;display:grid}.brush-tile{text-align:left;color:var(--ink-soft);border-radius:14px;grid-template-rows:auto auto;grid-template-columns:34px 1fr;align-items:center;column-gap:6px;padding:6px 8px 6px 4px;transition:background-color .2s;display:grid;position:relative}.brush-tile:hover{background:var(--hair)}.brush-tile-glyph{grid-row:span 2;place-items:center;width:34px;height:34px;display:grid;position:relative}.brush-tile-glyph:before{content:"";background:var(--pigment);opacity:0;border-radius:46% 54% 50% 48%/52% 46% 54% 48%;transition:opacity .25s;position:absolute;inset:1px}.brush-tile.is-on .brush-tile-glyph:before{opacity:.24}.brush-tile-glyph svg{position:relative}.brush-tile.is-on{color:var(--charcoal)}.brush-tile-name{font-size:14px;line-height:1.2}.brush-tile-sound{font-family:var(--serif);color:var(--ink-faint);font-size:14px;font-style:italic;line-height:1.2}.sliders{border-top:1px solid var(--hair);grid-template-columns:1fr 1fr;gap:18px;margin-top:12px;padding-top:10px;display:grid}.slider{color:var(--ink-soft);grid-template-columns:auto 1fr;align-items:center;gap:12px;font-size:14px;display:grid}.slider input[type=range]{width:100%;accent-color:var(--charcoal);height:28px}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}@media (max-width:620px){.paintbox{width:100%;max-height:calc(100vh - 230px - var(--safe-t) - var(--safe-b));max-height:calc(100dvh - 230px - var(--safe-t) - var(--safe-b));padding:12px}.paintbox-body,.sliders{grid-template-columns:1fr;gap:10px}.pan-row{grid-template-columns:1fr}.pan-family{font-size:14px}.brush-grid{grid-template-columns:1fr 1fr}}.sheet{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.canvas-host.is-shaped{background:#e9e4d8}.canvas-host.is-shaped .sheet{box-shadow:0 1px 2px #2b2a2f14,0 18px 40px -22px #2b2a2f59}.canvas-host.can-pan,.canvas-host.can-pan .layer-overlay{cursor:grab}.canvas-host.is-panning,.canvas-host.is-panning .layer-overlay{cursor:grabbing}.zoom-pill{background:var(--tray);border:1px solid var(--hair);font-variant-numeric:tabular-nums;height:30px;color:var(--ink-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;align-self:center;margin-right:4px;padding:0 12px;font-size:13px}.zoom-pill:hover{color:var(--charcoal)}.empty-canvas{pointer-events:auto;justify-items:center;gap:10px;animation:1.6s cubic-bezier(.2,.7,.2,1) .8s both arrive;display:grid}.empty.is-hidden .empty-canvas{pointer-events:none;visibility:hidden;transition:visibility 0s .9s}.empty-canvas-toggle{color:var(--ink-faint);border-radius:10px;padding:6px 10px;font-size:13px}.empty-canvas-toggle:hover{color:var(--ink-soft)}.canvas-picker{gap:10px;display:grid}.canvas-picker.is-compact{background:var(--tray);border:1px solid var(--hair);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:18px;padding:10px 12px}.cp-shapes{grid-template-columns:repeat(6,minmax(0,1fr));gap:2px;display:grid}.cp-shape{min-width:52px;color:var(--ink-soft);border-radius:12px;align-content:end;justify-items:center;gap:6px;padding:8px 2px 6px;display:grid}.cp-shape:hover{background:var(--hair)}.cp-shape.is-on{color:var(--charcoal)}.cp-sheet{background:var(--paper);border:1.4px solid;border-radius:2px;display:block}.cp-shape.is-on .cp-sheet{background:var(--pigment);border-color:var(--charcoal)}.cp-label{font-size:12px}.cp-sizes{justify-content:center;gap:4px;display:flex}.cp-size{color:var(--ink-soft);border:1px solid #0000;border-radius:14px;padding:6px 12px;font-size:13px}.cp-size.is-on{color:var(--charcoal);border-color:var(--ink-faint)}.new-piece{gap:12px;display:grid}.canvas-info{color:var(--ink-soft);margin:-4px 0 0;font-size:14px}@media (max-width:480px){.cp-shapes{grid-template-columns:repeat(3,minmax(0,1fr))}}.library{z-index:20;overscroll-behavior:contain;padding:calc(var(--safe-t) + 18px) calc(var(--safe-r) + 24px) calc(var(--safe-b) + 32px) calc(var(--safe-l) + 24px);background:var(--paper);-webkit-user-select:text;user-select:text;animation:.22s both fade;position:absolute;inset:0;overflow-y:auto}.lib-head{align-items:flex-start;gap:16px;max-width:1200px;margin:0 auto 22px;display:flex}.lib-head h2{font-family:var(--serif);margin:0;font-size:34px;font-style:italic;font-weight:500;line-height:1.1}.lib-sub{color:var(--ink-soft);margin:4px 0 0;font-size:14px}.lib-account{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.lib-account-note{font-family:var(--serif);color:var(--ink-soft);margin-right:4px;font-size:17px;font-style:italic}.lib-sso{height:40px;color:var(--charcoal);background:#fff;border:1px solid #2b2a2f2e;border-radius:20px;align-items:center;gap:10px;padding:0 16px;font-size:14px;transition:background-color .15s;display:inline-flex}.lib-sso:hover{background:#f3f1ec}.lib-user{align-items:center;gap:10px;display:flex}.lib-avatar{object-fit:cover;border-radius:50%;width:34px;height:34px}.lib-initial{background:var(--pigment);color:#fff;place-items:center;font-weight:600;display:grid}.lib-user-text{line-height:1.2;display:grid}.lib-user-name{font-size:14px}.lib-user-email{color:var(--ink-soft);font-size:12px}.lib-search{border:1px solid var(--hair);width:min(360px,100%);max-width:1200px;height:40px;font:inherit;background:#fff;border-radius:20px;margin:0 auto 18px;padding:0 14px;display:block}.lib-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:22px 18px;max-width:1200px;margin:0 auto;display:grid}.lib-card{grid-template-rows:auto auto;gap:8px;min-width:0;display:grid;position:relative}.lib-thumb{aspect-ratio:4/3;background:#ece7dc;border-radius:14px;place-items:center;padding:10px;transition:transform .2s cubic-bezier(.2,.7,.2,1);display:grid;overflow:hidden}.lib-thumb:hover{transform:translateY(-2px)}.lib-thumb img{background:var(--paper);border-radius:3px;max-width:100%;max-height:100%;display:block;box-shadow:0 6px 18px -10px #2b2a2f73}.lib-thumb-empty{background:var(--paper);border-radius:3px;width:70%;height:70%}.lib-card.is-open .lib-thumb{outline:2px solid var(--pigment);outline-offset:2px}.lib-meta{gap:2px;min-width:0;padding-right:34px;display:grid}.lib-title{font-family:var(--serif);white-space:nowrap;text-overflow:ellipsis;font-size:19px;overflow:hidden}.lib-rename{font:inherit;font-family:var(--serif);border:0;border-bottom:1px solid var(--indigo);background:0 0;outline:none;padding:0;font-size:19px}.lib-detail{color:var(--ink-soft);align-items:center;gap:10px;font-size:13px;display:flex}.lib-mood{font-family:var(--serif);font-size:15px;font-style:italic}.lib-sync{border:1.4px solid var(--ink-faint);border-radius:50%;width:7px;height:7px}.lib-sync.is-synced{background:var(--pigment);border-color:var(--pigment)}.lib-menu-wrap{position:absolute;bottom:4px;right:0}.lib-menu-btn{width:32px;height:32px;color:var(--ink-soft);border-radius:50%;place-items:center;display:grid}.lib-menu-btn:hover{background:var(--hair)}.lib-menu{z-index:2;border:1px solid var(--hair);background:#fff;border-radius:14px;min-width:160px;padding:6px;display:grid;position:absolute;bottom:36px;right:0;box-shadow:0 16px 34px -18px #2b2a2f73}.lib-menu button{text-align:left;border-radius:9px;padding:9px 12px;font-size:14px}.lib-menu button:hover{background:var(--hair)}.lib-menu .is-danger{color:#9a3b2c}.lib-new{font-family:var(--serif);color:var(--ink-soft);align-content:start;justify-items:center;gap:10px;font-size:19px;font-style:italic;display:grid}.lib-new-mark{aspect-ratio:4/3;border:1.5px dashed var(--ink-faint);width:100%;font-family:var(--sans);color:var(--ink-faint);border-radius:14px;place-items:center;font-size:34px;font-style:normal;font-weight:300;transition:border-color .2s,color .2s;display:grid}.lib-new:hover .lib-new-mark{border-color:var(--ink-soft);color:var(--ink-soft)}.lib-empty{max-width:1200px;font-family:var(--serif);color:var(--ink-soft);margin:28px auto 0;font-size:19px;font-style:italic}@media (max-width:700px){.lib-head{flex-wrap:wrap}.lib-head>div:first-child{flex:1}.lib-account{order:3;justify-content:flex-start;width:100%}.lib-account-note{width:100%}.lib-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}}.brush-ring{--ring:var(--pigment);border:1.5px solid color-mix(in srgb, var(--ring) 85%, #2b2a2f);background:color-mix(in srgb, var(--ring) 10%, transparent);pointer-events:none;will-change:transform;z-index:2;border-radius:50%;display:none;position:absolute;top:0;left:0;box-shadow:0 0 0 1px #ffffff8c,inset 0 0 0 1px #ffffff59}.brush-ring:after{content:"";background:#2b2a2f;border-radius:50%;width:3px;height:3px;margin:-1.5px 0 0 -1.5px;position:absolute;top:50%;left:50%;box-shadow:0 0 0 1px #ffffffb3}.canvas-host.has-ring .brush-ring{display:block}.canvas-host.has-ring .layer-overlay{cursor:none}.canvas-host.can-pan .brush-ring,.canvas-host.is-panning .brush-ring,.producer-open .tray-wrap{display:none}.producer{--lane-head:210px;left:50%;bottom:calc(var(--safe-b) + 12px);width:min(980px, calc(100vw - 20px - var(--safe-l) - var(--safe-r)));max-height:min(600px,78vh);overscroll-behavior:contain;background:var(--tray);-webkit-backdrop-filter:blur(18px)saturate(1.1);backdrop-filter:blur(18px)saturate(1.1);border:1px solid var(--hair);border-radius:22px;max-height:min(600px,78dvh);padding:14px 16px;animation:.3s cubic-bezier(.2,.7,.2,1) both rise;position:absolute;overflow-y:auto;transform:translate(-50%);box-shadow:0 22px 50px -26px #2b2a2f73}.pr-top{grid-template-columns:52px 1fr auto;align-items:center;gap:12px;display:grid}.pr-cover{border:1px solid var(--hair);background:#ece7dc;border-radius:10px;width:52px;height:52px;overflow:hidden}.pr-cover img{object-fit:cover;width:100%;height:100%;display:block}.pr-id{min-width:0;display:grid}.pr-id h2{font-family:var(--serif);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:26px;font-style:italic;font-weight:500;line-height:1.1;overflow:hidden}.pr-meta{color:var(--ink-soft);font-size:13px}.pr-empty{font-family:var(--serif);color:var(--ink-soft);margin:14px 0 4px;font-size:19px;font-style:italic;line-height:1.4}.pr-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:14px 0 12px;display:flex}.pr-styles{flex-wrap:wrap;gap:6px;display:flex}.pr-style{border:1px solid var(--hair);height:34px;color:var(--ink-soft);background:#fff;border-radius:17px;padding:0 14px;font-size:14px}.pr-style:hover{color:var(--charcoal)}.pr-style.is-on{background:var(--charcoal);border-color:var(--charcoal);color:var(--paper)}.pr-actions{align-items:center;gap:6px;display:flex}.pr-take{height:34px;font-family:var(--serif);color:var(--ink-soft);border-radius:17px;padding:0 12px;font-size:17px;font-style:italic}.pr-take:hover{color:var(--charcoal);background:var(--hair)}.pr-download{border-radius:17px;height:34px;padding:0 16px}.pr-timeline{border:1px solid var(--hair);background:#fff;border-radius:16px;overflow-x:auto}.pr-grid{grid-template-columns:var(--lane-head) minmax(560px, 1fr);display:grid}.pr-cell{z-index:1;border-right:1px solid var(--hair);background:#fff;position:sticky;left:0}.pr-transport{border-bottom:1px solid var(--hair);align-items:center;gap:10px;padding:8px 12px;display:flex}.pr-play{background:var(--charcoal);width:40px;height:40px;color:var(--paper);border-radius:50%;flex:none;place-items:center;display:grid}.pr-play:active{transform:scale(.95)}.pr-time{font-variant-numeric:tabular-nums;color:var(--ink-soft);white-space:nowrap;font-size:13px}.pr-track{cursor:pointer;touch-action:pan-x;border-bottom:1px solid var(--hair);position:relative}.pr-sections{align-items:stretch;gap:2px;padding:8px 0;display:flex}.pr-sec{white-space:nowrap;min-width:0;color:var(--ink-soft);background:#f3f0e9;border-radius:6px;align-items:center;padding-left:8px;font-size:12px;display:flex;overflow:hidden}.pr-sec-verse{background:color-mix(in srgb, var(--pigment) 16%, #f3f0e9)}.pr-sec-chorus{background:color-mix(in srgb, var(--pigment) 32%, #f3f0e9);color:var(--charcoal)}.pr-lane-head{border-bottom:1px solid var(--hair);gap:4px;padding:8px 12px;display:grid}.pr-lane-name{align-items:center;gap:8px;font-size:14px;display:flex}.pr-dot{border-radius:50%;flex:none;width:9px;height:9px}.pr-lane-ctl{align-items:center;gap:4px;display:flex}.pr-ms{border:1px solid var(--hair);width:26px;height:22px;color:var(--ink-soft);background:#fff;border-radius:6px;flex:none;font-size:11px;font-weight:700}.pr-ms.is-on{background:var(--charcoal);border-color:var(--charcoal);color:var(--paper)}.pr-solo.is-on{color:var(--charcoal);background:#e0a850;border-color:#e0a850}.pr-lane-ctl input[type=range]{min-width:60px;accent-color:var(--charcoal);flex:1}.pr-lane-canvas{width:100%;height:46px;display:block}.pr-lane-head.is-silent .pr-lane-name,.pr-track.is-silent .pr-lane-canvas{opacity:.3}.pr-head-line{background:var(--charcoal);pointer-events:none;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0;left:0}.pr-foot{align-items:center;gap:12px;margin-top:12px;font-size:14px;display:flex}.pr-foot strong{font-weight:600}.pr-hint{font-family:var(--serif);color:var(--ink-soft);font-size:15px;font-style:italic}.pr-switch{background:#2b2a2f2e;border-radius:11px;flex:none;width:36px;height:22px;transition:background-color .2s;position:relative}.pr-switch span{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s cubic-bezier(.2,.7,.2,1);position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.pr-switch.is-on{background:var(--charcoal)}.pr-switch.is-on span{transform:translate(14px)}@media (max-width:620px){.producer{--lane-head:132px;max-height:82vh;max-height:82dvh;padding:12px}.pr-lane-ctl input[type=range]{display:none}.pr-styles{scrollbar-width:none;flex-wrap:nowrap;width:calc(100% + 24px);margin:0 -12px;padding:0 12px;overflow-x:auto}.pr-styles::-webkit-scrollbar{display:none}.pr-style{flex:none}.pr-bar{margin:12px 0 10px}.pr-actions{justify-content:space-between;width:100%}.pr-transport,.pr-lane-head{padding:6px 10px}.pr-play{width:36px;height:36px}.pr-time{font-size:12px}.pr-lane-canvas{height:40px}}.wordmark-btn{font:inherit;color:inherit;border-radius:8px;padding:0 2px}.wordmark-btn:hover{opacity:.75}.about .about-mark{font-size:32px}.about-tagline{font-family:var(--serif);color:var(--ink-soft);margin:-8px 0 0;font-size:19px;font-style:italic}.about h3{margin:0 0 6px;font-size:15px;font-weight:600}.about p,.about li{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.6}.about ul{gap:4px;margin:0;padding-left:18px;display:grid}.about a,.site-footer a{color:var(--indigo)}.site-footer{border-top:1px solid var(--hair);color:var(--ink-soft);margin-top:auto;padding-top:14px;font-size:13px}.site-footer nav{flex-wrap:wrap;gap:16px;margin-bottom:6px;display:flex}.site-footer p{margin:0}.lib-footer{max-width:1200px;margin:48px auto 0}
