.paper-canvas{isolation:isolate;width:100%;min-width:0;height:100%;min-height:0;color:var(--paper-ink,#33332c);background-color:var(--paper-bg,#f6f4ed);touch-action:auto;cursor:grab;outline:none;flex:1;position:relative;overflow:hidden}.paper-canvas:focus-visible{box-shadow:inset 0 0 0 2px var(--paper-accent,#de724e)}.paper-canvas--panning,.paper-canvas--panning *{cursor:grabbing!important}.paper-canvas__surface{touch-action:none;position:absolute;inset:0}.paper-canvas__world{transform-origin:0 0;pointer-events:none;position:absolute;inset:0}.paper-canvas__links{pointer-events:none;width:1px;height:1px;position:absolute;overflow:visible}.paper-canvas__links line{stroke:var(--paper-accent,#de724e);stroke-width:1.5px;stroke-dasharray:5 5;opacity:.65}.paper-canvas__component-links line{stroke-dasharray:none;opacity:.8}.paper-canvas__links text{fill:var(--paper-ink,#33332c);font:12px var(--ui-font);paint-order:stroke;stroke:var(--paper-bg,#f6f4ed);stroke-width:5px;stroke-linejoin:round}.paper-card{pointer-events:auto;cursor:default;touch-action:auto;background:var(--paper-bg,#f6f4ed);min-width:320px;min-height:220px;color:var(--paper-ink,#33332c);border:1px solid var(--paper-border,#d8d6cb);border-radius:5px;flex-direction:column;display:flex;position:absolute;overflow:hidden;box-shadow:0 3px 12px #33332c0a}.paper-card--selected{border-color:var(--paper-accent,#de724e);box-shadow:0 0 0 1px color-mix(in srgb, var(--paper-accent,#de724e) 40%, transparent), 0 5px 20px #33332c12;z-index:2}.paper-card{background:var(--panel-background,var(--paper-bg,#f6f4ed));color:var(--panel-foreground,var(--paper-ink,#33332c));border-color:var(--panel-highlight,var(--paper-border,#d8d6cb))}.paper-card--selected{border-color:var(--panel-highlight,var(--paper-accent,#de724e))}.paper-card[data-custom-background=true]>.paper-card__header button,.paper-card[data-custom-background=true]>.paper-card__connections button,.paper-card[data-custom-background=true]>.paper-card__component-meta{color:var(--panel-foreground)}.paper-card[data-custom-background=true]>.paper-card__editor{background:color-mix(in srgb, var(--panel-background) 14%, var(--background,var(--paper-bg,#f6f4ed)))}.paper-card__header{border-bottom:1px solid var(--paper-border,#d8d6cb);flex-shrink:0;align-items:center;gap:10px;min-height:45px;padding:0 11px;display:flex}.paper-card button,.paper-canvas__zoom button{font:inherit;color:var(--paper-ink,#33332c);cursor:pointer;background:0 0;border:0}.paper-card button:focus-visible,.paper-canvas__zoom button:focus-visible{outline:2px solid var(--paper-accent,#de724e);outline-offset:1px}.paper-card__move{text-align:left;touch-action:none;-webkit-user-select:none;user-select:none;flex:1;align-self:stretch;align-items:center;gap:8px;min-width:0;padding:0;display:flex;cursor:grab!important}.paper-card__grip{color:var(--paper-muted,#88877d);font-size:18px}.paper-card__title{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.015em;font-size:14px;font-weight:650;overflow:hidden}.paper-card__actions{flex-shrink:0;align-items:center;gap:3px;display:flex}.paper-card__status{color:var(--paper-accent,#de724e);white-space:nowrap;margin-right:4px;font-size:12px;font-weight:550;line-height:1}.paper-card__actions button{border-radius:4px;place-items:center;width:30px;height:30px;display:grid}.paper-card__actions button:hover{background:color-mix(in srgb, var(--paper-border,#d8d6cb) 40%, transparent)}.paper-card__actions button:disabled{opacity:.38;cursor:default}.paper-card__actions button:disabled:hover{background:0 0}.paper-card__play{font-size:12px!important}.paper-card__play--active{color:var(--paper-accent,#de724e)!important;background:color-mix(in srgb, var(--paper-accent,#de724e) 12%, transparent)!important}.paper-card__details{font-size:22px!important;font-weight:600!important;line-height:1!important}.paper-card__tags{flex-shrink:0;align-items:center;gap:5px;min-height:28px;padding:5px 12px 3px;display:flex;overflow:hidden}.paper-card__tags span{white-space:nowrap;text-overflow:ellipsis;max-width:130px;font:12px var(--ui-font);border:1px solid var(--paper-border,#d8d6cb);border-radius:3px;padding:2px 5px;overflow:hidden}.paper-card__connections{border-bottom:1px solid var(--paper-border,#d8d6cb);flex-wrap:wrap;flex-shrink:0;gap:5px;padding:7px 11px;display:flex}.paper-card .paper-card__connection{border:1px solid var(--paper-border,#d8d6cb);border-radius:4px;align-items:center;gap:5px;max-width:100%;min-height:25px;padding:3px 7px;font-size:12px;display:inline-flex}.paper-card__connection>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.paper-card__connection[aria-expanded=true]{background:color-mix(in srgb, var(--paper-accent,#de724e) 10%, transparent);border-color:color-mix(in srgb, var(--paper-accent,#de724e) 55%, var(--paper-border,#d8d6cb))}.paper-card__connection-chevron{color:var(--paper-accent,#de724e);font-size:16px;line-height:14px}.paper-card__connection-uses{color:var(--paper-muted,#88877d);font-size:12px}.paper-card__port-names{opacity:.75;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.paper-card--component{border-top:2px solid color-mix(in srgb, var(--paper-accent,#de724e) 60%, var(--paper-border,#d8d6cb))}.paper-card__component-meta{color:var(--paper-muted,#88877d);flex-shrink:0;justify-content:space-between;gap:12px;padding:6px 12px;font-size:12px;display:flex}.paper-card__component-meta span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.paper-card__component-meta span:first-child{color:var(--paper-accent,#de724e);flex-shrink:0}.paper-card__editor{cursor:text;touch-action:auto;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.paper-card__editor>*{height:100%;min-height:0}.paper-card__editor>.composition-error{flex-shrink:0;height:auto;max-height:35%;overflow:auto}.paper-card__editor>.component-editor{flex:1;height:auto}.paper-card__editor .cm-editor{height:100%}.paper-card__editor .cm-scroller{overflow:auto}.paper-card__editor textarea{box-sizing:border-box;resize:none;width:100%}.paper-card__resize{z-index:4;touch-action:none;-webkit-user-select:none;user-select:none;justify-content:flex-end;align-items:flex-end;width:24px;height:24px;padding:0 4px 3px 0;display:flex;position:absolute;bottom:0;right:0;color:var(--paper-muted,#88877d)!important;cursor:nwse-resize!important;font-size:22px!important;line-height:1!important}.paper-card__resize:hover,.paper-card__resize:focus-visible{color:var(--paper-accent,#de724e)!important}.paper-canvas__navigation{z-index:10;pointer-events:none;justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute;bottom:18px;left:20px;right:20px}.paper-canvas__hint{color:var(--paper-muted,#88877d);font:12px var(--ui-font);background:var(--paper-bg,#f6f4ed);border-radius:3px;padding:5px 7px}.paper-canvas__zoom{border:1px solid var(--paper-border,#d8d6cb);background:var(--paper-bg,#f6f4ed);pointer-events:auto;border-radius:5px;align-items:center;display:flex;overflow:hidden;box-shadow:0 2px 8px #33332c0a}.paper-canvas__zoom button{min-width:35px;height:34px;font:14px var(--ui-font);padding:0 9px}.paper-canvas__zoom button+button{border-left:1px solid var(--paper-border,#d8d6cb)}.paper-canvas__zoom button:hover:enabled{background:color-mix(in srgb, var(--paper-accent,#de724e) 12%, transparent)}.paper-canvas__zoom button:disabled{opacity:.35;cursor:default}.paper-canvas__empty{text-align:center;pointer-events:none;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}.paper-canvas__empty>span{font:600 18px/1.3 var(--ui-font)}.paper-canvas__empty p{color:var(--paper-muted,#88877d);margin:10px 0 0;font-size:12px}.paper-canvas--focus{cursor:default;background-image:none}.paper-canvas--focus .paper-canvas__world{inset:16px}.paper-canvas--focus .paper-card{min-width:0;min-height:0;inset:0}.paper-card--concealed{visibility:hidden;pointer-events:none}@media (width<=600px){.paper-canvas__navigation{justify-content:flex-end;bottom:12px;left:12px;right:12px}.paper-canvas__hint{display:none}.paper-canvas--focus .paper-canvas__world{inset:8px}.paper-card__header{flex-wrap:wrap;gap:0;min-height:48px;padding-inline:7px}.paper-card__move{flex-basis:100%;min-height:36px}.paper-card__actions{gap:0;margin-inline:auto}.paper-card__actions button{width:44px;height:44px}.paper-card__status{display:none}.paper-card__resize{clip-path:polygon(100% 0,100% 100%,0 100%);width:44px;height:44px}.paper-canvas__zoom button{min-width:44px;height:44px}}.paper-card{font:var(--ui-font-size,14px)/1.4 var(--ui-font,sans-serif);border-color:var(--panel-border,var(--paper-border,#d8d6cb))}.paper-card[data-panel-selected=true]{outline:3px solid var(--paper-accent,#de724e);outline-offset:4px;z-index:2}.paper-card[data-collapsed=true]{min-height:0}.paper-card[hidden],.paper-card__body[hidden],.paper-card__resize[hidden]{display:none!important}.paper-card__body{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.paper-card[data-custom-background=true] .paper-card__body>.paper-card__connections button,.paper-card[data-custom-background=true] .paper-card__body>.paper-card__component-meta{color:var(--panel-foreground)}.paper-card[data-custom-background=true] .paper-card__body>.paper-card__editor{background:color-mix(in srgb, var(--panel-background) 14%, var(--background,var(--paper-bg,#f6f4ed)))}.paper-card__header{font-family:var(--panel-header-font,var(--ui-font,sans-serif));font-size:var(--panel-header-font-size,14px);flex-wrap:wrap}.paper-card__title-row{flex:120px;align-self:stretch;align-items:center;gap:3px;min-width:0;display:flex}.paper-card__title{white-space:normal;overflow-wrap:anywhere;font:650 var(--panel-header-font-size,14px)/1.3 var(--panel-header-font,var(--ui-font,sans-serif))}.paper-card__move{min-height:44px}.paper-card .paper-card__fold{width:28px;height:32px;color:inherit;border-radius:4px;flex:0 0 28px;place-items:center;padding:0;display:grid}.paper-card__fold:hover:enabled{background:color-mix(in srgb, currentColor 10%, transparent)}.paper-card__fold:disabled{opacity:.4;cursor:default}.paper-canvas--focus .paper-card[data-collapsed=true]{bottom:auto}.paper-card__status,.paper-card__tags span,.paper-card .paper-card__connection,.paper-card__component-meta,.paper-card__connection-uses,.paper-card__port-names,.paper-canvas__hint,.paper-canvas__empty p,.paper-canvas__links text{font-size:var(--ui-small-font-size,12px)}.paper-canvas__zoom button{font-size:var(--ui-font-size,14px)}@media (width<=600px){.paper-card__title-row{flex-basis:100%}.paper-card__move{flex-basis:auto;min-height:44px}.paper-card .paper-card__fold{flex-basis:44px;width:44px;height:44px}}.paper-card__title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.paper-canvas__surface:before{content:"";pointer-events:none;opacity:var(--paper-grid-opacity,1);background-color:var(--paper-grid-color,transparent);background-image:var(--paper-grid-image,none);background-size:var(--paper-grid-size);background-position:var(--paper-grid-position);-webkit-mask-image:var(--paper-grid-mask,none);-webkit-mask-image:var(--paper-grid-mask,none);mask-image:var(--paper-grid-mask,none);-webkit-mask-size:var(--paper-grid-size);-webkit-mask-size:var(--paper-grid-size);mask-size:var(--paper-grid-size);-webkit-mask-position:var(--paper-grid-position);-webkit-mask-position:var(--paper-grid-position);mask-position:var(--paper-grid-position);background-repeat:repeat;position:absolute;inset:0;-webkit-mask-repeat:repeat;mask-repeat:repeat}.paper-canvas--focus .paper-canvas__surface:before{display:none}.paper-patch-group{box-sizing:border-box;border:var(--group-border-width,1px) solid transparent;color:var(--panel-foreground,#f2f4f7);pointer-events:none;border-radius:10px;position:absolute}.paper-patch-group__surface{inset:calc(-1 * var(--group-border-width,1px));box-sizing:border-box;border:var(--group-border-width,1px) solid var(--panel-border,var(--paper-border,#d8d6cb));border-radius:inherit;pointer-events:auto;isolation:isolate;background:0 0;position:absolute}.paper-patch-group__surface:before{content:"";z-index:-1;border-radius:inherit;background:var(--panel-background,#18202b);opacity:var(--group-background-opacity,.9);pointer-events:none;position:absolute;inset:0}.paper-patch-group__header{box-sizing:border-box;scrollbar-width:none;pointer-events:auto;cursor:default;background:var(--panel-background,#18202b);width:min(100%,480px);min-height:44px;color:inherit;font:600 var(--panel-header-font-size,14px)/1.3 var(--panel-header-font,var(--ui-font,sans-serif));border-radius:8px;flex-wrap:nowrap;align-items:center;gap:2px;padding:4px 6px;display:flex;position:relative;overflow:auto hidden}.paper-patch-group__header::-webkit-scrollbar{display:none}.paper-patch-group__header button{min-width:32px;min-height:36px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;flex:0 0 32px;justify-content:center;align-items:center;padding:3px;display:flex}.paper-patch-group__header button:disabled{opacity:.4;cursor:default}.paper-patch-group__header button:hover:enabled{background:#ffffff18}.paper-patch-group__header button:focus-visible{outline:2px solid var(--panel-highlight,#8db9ef);outline-offset:-2px}.paper-patch-group__header .paper-patch-group__move{text-align:left;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;flex:1 1 0;justify-content:flex-start;align-self:stretch;gap:6px;min-width:32px}.paper-patch-group__title{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;display:-webkit-box;overflow:hidden}.paper-patch-group .paper-card__grip{color:inherit;opacity:.65}@media (width<=600px){.paper-patch-group__header button{flex-basis:44px;min-width:44px;min-height:44px}.paper-patch-group__header .paper-patch-group__move{flex-basis:0;min-width:44px}}@property --paper-perimeter-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.paper-card[data-playing=true]:after,.paper-patch-group__surface[data-playing=true]:after{content:"";z-index:8;box-sizing:border-box;border:3px solid var(--panel-highlight,var(--paper-accent,#d96b47));border-radius:inherit;pointer-events:none;position:absolute;inset:0}@supports (background:conic-gradient(from 0deg, transparent, red)) and (color:color-mix(in srgb, red, white)) and ((mask-composite:exclude) or (-webkit-mask-composite:xor)){.paper-card[data-playing=true]:after,.paper-patch-group__surface[data-playing=true]:after{background:conic-gradient(from var(--paper-perimeter-angle), color-mix(in srgb, var(--panel-highlight,var(--paper-accent,#d96b47)) 30%, transparent) 0deg, color-mix(in srgb, var(--panel-highlight,var(--paper-accent,#d96b47)) 30%, transparent) 220deg, var(--panel-highlight,var(--paper-accent,#d96b47)) 300deg, color-mix(in srgb, var(--panel-highlight,var(--paper-accent,#d96b47)) 55%, white) 335deg, var(--panel-highlight,var(--paper-accent,#d96b47)) 350deg, color-mix(in srgb, var(--panel-highlight,var(--paper-accent,#d96b47)) 30%, transparent) 360deg);-webkit-mask-composite:xor;border:0;padding:3px;animation:3.2s linear infinite paper-playing-border;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}}@keyframes paper-playing-border{to{--paper-perimeter-angle:360deg}}.reduced-motion .paper-card[data-playing=true]:after,.reduced-motion .paper-patch-group__surface[data-playing=true]:after,.paper-card.reduced-motion[data-playing=true]:after,.paper-patch-group.reduced-motion>.paper-patch-group__surface[data-playing=true]:after{border:3px solid var(--panel-highlight,var(--paper-accent,#d96b47));background:0 0;padding:0;animation:none;-webkit-mask:none;mask:none}@media (prefers-reduced-motion:reduce){.paper-card[data-playing=true]:after,.paper-patch-group__surface[data-playing=true]:after{border:3px solid var(--panel-highlight,var(--paper-accent,#d96b47));background:0 0;padding:0;animation:none;-webkit-mask:none;mask:none}}.paper-context-menu,.paper-name-backdrop{color:var(--paper-ink,#33332c);font:var(--ui-font-size,14px)/1.45 var(--ui-font,"Inter", sans-serif)}.paper-context-menu{z-index:1000;overscroll-behavior:contain;border:1px solid var(--paper-border,#dad8ce);background:var(--paper-bg,#f6f4ed);border-radius:7px;min-width:min(224px,100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:5px;position:fixed;overflow:auto;box-shadow:0 8px 28px #0002,0 2px 6px #0001}.paper-context-menu__item{width:100%;min-height:36px;color:inherit;text-align:left;overflow-wrap:anywhere;font:inherit;background:0 0;border:0;border-radius:4px;align-items:center;gap:8px;padding:7px 10px 7px 7px;display:flex}.paper-context-menu__item:not(:disabled):hover,.paper-context-menu__item:focus{background:color-mix(in srgb, var(--paper-accent,#d96b47) 12%, var(--paper-bg,#f6f4ed));outline:none}.paper-context-menu__item:focus-visible{outline:2px solid var(--paper-accent,#d96b47);outline-offset:-2px}.paper-context-menu__item.is-danger{color:#b45542}.paper-context-menu__item:disabled{opacity:.45;cursor:default}.paper-context-menu__check{width:14px;color:var(--paper-accent,#d96b47);text-align:center;flex:0 0 14px;font-weight:600}.paper-context-menu__separator{background:var(--paper-border,#dad8ce);height:1px;margin:5px 7px}.paper-name-backdrop{z-index:1001;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#2223;place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow:auto}.paper-name-dialog{border:1px solid var(--paper-border,#dad8ce);background:var(--paper-bg,#f6f4ed);border-radius:8px;width:min(380px,100%);max-height:calc(100dvh - 32px);padding:23px;overflow:auto;box-shadow:0 12px 48px #0003}.paper-name-dialog h2{font:600 calc(var(--ui-font-size,14px) * 1.2857)/1.3 var(--ui-font,"Inter", sans-serif);letter-spacing:-.025em;margin:0 0 20px}.paper-name-dialog label{color:var(--paper-muted,#72736b);font-size:var(--ui-small-font-size,12px);margin-bottom:6px;display:block}.paper-name-dialog input{border:1px solid var(--paper-border,#dad8ce);width:100%;min-height:38px;color:inherit;font:inherit;background:0 0;border-radius:4px;padding:8px 10px}.paper-name-dialog__actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.paper-name-dialog button{border:1px solid var(--paper-border,#dad8ce);min-height:36px;color:inherit;font:inherit;background:0 0;border-radius:4px;padding:7px 14px}.paper-name-dialog button:hover{background:color-mix(in srgb, var(--paper-border,#dad8ce) 35%, transparent)}.paper-name-dialog button.is-primary{border-color:var(--paper-accent,#d96b47);background:var(--paper-accent,#d96b47);color:#fff9f0}.paper-name-dialog input:focus-visible,.paper-name-dialog button:focus-visible{outline:2px solid var(--paper-accent,#d96b47);outline-offset:2px}@media (width<=700px),(pointer:coarse){.paper-context-menu__item,.paper-name-dialog button,.paper-name-dialog input{min-height:44px}}.paper-appearance-backdrop{z-index:1001;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:var(--paper-ink,#33332c);font:var(--ui-font-size,14px)/1.45 var(--ui-font,"Inter", sans-serif);background:#2223;place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow:auto}.paper-appearance-dialog{border:1px solid var(--paper-border,#dad8ce);background:var(--paper-bg,#f6f4ed);border-radius:8px;width:min(460px,100%);max-height:calc(100dvh - 32px);padding:23px;overflow:auto;box-shadow:0 12px 48px #0003}.paper-appearance-dialog h2{font:600 1.286em/1.3 var(--ui-font,"Inter", sans-serif);letter-spacing:-.025em;margin:0 0 20px}.paper-appearance-dialog fieldset{border:0;min-width:0;margin:0 0 18px;padding:0}.paper-appearance-dialog legend{margin-bottom:6px;padding:0;font-weight:600}.paper-appearance-dialog__color-row{align-items:center;gap:8px;display:flex}.paper-appearance-dialog input,.paper-appearance-dialog button{border:1px solid var(--paper-border,#dad8ce);min-height:36px;color:inherit;font:inherit;background:0 0;border-radius:4px}.paper-appearance-dialog input[type=text]{width:100%;min-width:0;padding:8px 10px}.paper-appearance-dialog input[type=color]{cursor:pointer;flex:0 0 38px;width:38px;padding:2px}.paper-appearance-dialog button{cursor:pointer;padding:7px 10px}.paper-appearance-dialog__color-row button{font-size:var(--ui-small-font-size,12px);flex-shrink:0}.paper-appearance-dialog p{color:var(--paper-muted,#72736b);font-size:var(--ui-small-font-size,12px);margin:5px 0 8px}.paper-appearance-dialog p.is-error{color:var(--paper-ink,#33332c);font-weight:600}.paper-appearance-dialog input[aria-invalid=true]{border-style:dashed;border-width:2px}.paper-appearance-dialog__palette{flex-wrap:wrap;gap:8px;display:flex}.paper-appearance-dialog__palette button{width:30px;min-height:30px;padding:0;box-shadow:inset 0 0 0 1px #0002}.paper-appearance-dialog__palette button[aria-pressed=true]{outline:2px solid var(--paper-ink,#33332c);outline-offset:2px}.paper-appearance-dialog__preview{border:2px solid var(--panel-border,var(--paper-border,#dad8ce));background:var(--panel-background,var(--paper-bg,#f6f4ed));color:var(--panel-foreground,var(--paper-ink,#33332c));overflow-wrap:anywhere;border-radius:6px;gap:8px;padding:14px;display:grid}.paper-appearance-dialog__preview strong{font:600 var(--panel-header-font-size,14px)/1.4 var(--panel-header-font,var(--ui-font,"Inter", sans-serif))}.paper-appearance-dialog__playing-preview{border:2px dashed var(--panel-highlight,var(--paper-accent,#d96b47));border-radius:4px;padding:8px;animation:1.8s ease-in-out infinite paper-appearance-playing}@keyframes paper-appearance-playing{50%{box-shadow:0 0 0 2px var(--panel-highlight,var(--paper-accent,#d96b47))}}.reduced-motion .paper-appearance-dialog__playing-preview{animation:none}@media (prefers-reduced-motion:reduce){.paper-appearance-dialog__playing-preview{animation:none}}.paper-appearance-dialog__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.paper-appearance-dialog__reset{margin-right:auto}.paper-appearance-dialog button:hover{border-color:var(--paper-ink,#33332c)}.paper-appearance-dialog button.is-primary{border-color:var(--paper-ink,#33332c);background:var(--paper-ink,#33332c);color:var(--paper-bg,#f6f4ed)}.paper-appearance-dialog button:disabled{opacity:.45;cursor:default}.paper-appearance-dialog :is(input,button):focus-visible{outline:2px solid var(--paper-accent,#d96b47);outline-offset:2px}@media (width<=700px),(pointer:coarse){.paper-appearance-dialog{padding:18px}.paper-appearance-dialog :is(input,button){min-height:44px}.paper-appearance-dialog__palette button{width:44px}.paper-appearance-dialog input[type=color]{flex-basis:44px;width:44px}}.component-editor{min-height:140px;max-height:55vh;color:var(--foreground);overflow:auto}.component-editor .cm-editor{background:0 0;min-height:140px}.component-editor .cm-scroller{overflow:auto}.component-editor canvas{max-width:100%;height:auto!important}.composition-reference-chip{color:var(--foreground);background:color-mix(in srgb, var(--foreground) 10%, var(--background));white-space:nowrap;vertical-align:baseline;border:1px solid;border-radius:4px;padding:0 6px;font:12px/1.5 Inter,sans-serif;display:inline-block}.component-editor .cm-slider input{vertical-align:middle;width:64px;margin-right:4px}.routing-inspector{min-width:0;color:var(--paper-ink);font:var(--ui-font-size)/1.45 var(--ui-font);padding:12px}.routing-inspector *,.routing-inspector :before,.routing-inspector :after{box-sizing:border-box}.routing-inspector button,.routing-inspector input,.routing-inspector select{color:inherit;font:inherit;border:1px solid var(--paper-border);background:var(--paper-bg);border-radius:4px;min-width:0;max-width:100%;min-height:32px;padding:5px 8px}.routing-inspector button{cursor:pointer}.routing-inspector :is(button,input,select):focus-visible{outline:2px solid var(--paper-accent);outline-offset:2px}.routing-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.routing-heading strong{font-size:var(--ui-font-size);font-weight:600}.routing-mode,.routing-note,.routing-fragment p,.routing-outputs>span,.routing-input-title>span,.routing-source,.routing-reference,.routing-create label{color:var(--paper-muted);font-size:var(--ui-small-font-size)}.routing-mode{border:1px solid var(--paper-border);border-radius:4px;padding:2px 6px}.routing-fragment p,.routing-note{margin:0 0 9px}.routing-outputs{flex-wrap:wrap;align-items:center;gap:6px;padding-bottom:10px;display:flex}.routing-outputs code{border:1px solid var(--paper-border);overflow-wrap:anywhere;border-radius:4px;padding:2px 6px;font-size:12px}.routing-input{border-top:1px solid var(--paper-border);padding:10px 0}.routing-input-title{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:7px;display:flex}.routing-input-title code{font-size:14px}.routing-input-title>span:last-child{margin-left:auto}.routing-source,.routing-reference,.routing-create label{flex-direction:column;gap:4px;display:flex}.routing-source select,.routing-reference select{width:100%;color:var(--paper-ink);font-size:var(--ui-font-size)}.routing-input-actions{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.routing-references{gap:8px;display:grid}.routing-reference{border-top:1px solid var(--paper-border);padding-top:8px}.routing-diagnostics{color:var(--paper-muted);font-size:var(--ui-small-font-size);overflow-wrap:anywhere;margin:8px 0;padding-left:20px}.routing-error{border:1px solid var(--paper-accent);overflow-wrap:anywhere;font-size:var(--ui-small-font-size);border-radius:4px;margin:0 0 8px;padding:8px}.routing-create{border-top:1px solid var(--paper-border);flex-wrap:wrap;align-items:end;gap:6px;margin-top:10px;padding-top:10px;display:flex}.routing-create label{flex:140px}.routing-create input{width:100%;color:var(--paper-ink);font-size:var(--ui-font-size)}@media (width<=640px){.routing-inspector :is(button,input,select){min-height:44px}.routing-create button{flex:100%}}.composition-workspace{z-index:30;background:var(--paper-bg);min-width:0;color:var(--paper-ink);font:var(--ui-font-size)/1.45 var(--ui-font);flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.composition-workspace *,.composition-workspace :before,.composition-workspace :after{box-sizing:border-box}.composition-workspace button,.composition-workspace input,.composition-workspace select{font:inherit;color:inherit}.composition-workspace button{border:1px solid var(--paper-border);background:var(--paper-bg);cursor:pointer;white-space:nowrap;min-height:30px;font-size:var(--ui-font-size);border-radius:5px;justify-content:center;align-items:center;gap:6px;padding:5px 9px;display:inline-flex}.composition-workspace button:hover{background:color-mix(in srgb, var(--paper-accent) 9%, var(--paper-bg))}.composition-workspace button:disabled{opacity:.42;cursor:default}.composition-workspace button:focus-visible,.composition-workspace input:focus-visible,.composition-workspace select:focus-visible,.composition-graph-edge:focus-visible{outline:2px solid var(--paper-accent);outline-offset:2px}.composition-workspace input,.composition-workspace select{border:1px solid var(--paper-border);background:var(--paper-bg);min-width:0;max-width:100%;min-height:30px;font-size:var(--ui-font-size);border-radius:4px;padding:5px 7px}.composition-header{border-bottom:1px solid var(--paper-border);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex}.composition-heading{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;display:flex}.composition-heading h2{font-size:calc(var(--ui-font-size) + 2px);overflow-wrap:anywhere;margin:0;font-weight:600}.composition-eyebrow{font-size:var(--ui-small-font-size);letter-spacing:.1em;color:var(--paper-muted)}.composition-count{font-size:var(--ui-small-font-size);color:var(--paper-muted);border:1px solid var(--paper-border);white-space:nowrap;border-radius:4px;padding:3px 7px}.composition-song-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.composition-more{position:relative}.composition-more>summary{cursor:pointer;min-height:30px;font-size:var(--ui-small-font-size);border-radius:5px;justify-content:center;align-items:center;padding:5px 8px;list-style:none;display:flex}.composition-more>summary::-webkit-details-marker{display:none}.composition-more>summary:focus-visible{outline:2px solid var(--paper-accent);outline-offset:2px}.composition-more-menu{z-index:4;background:var(--paper-bg);border:1px solid var(--paper-border);border-radius:6px;flex-direction:column;gap:3px;width:230px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 5px 20px #0002}.composition-workspace .composition-more-menu button{white-space:normal;text-align:left;overflow-wrap:anywhere;justify-content:flex-start;width:100%}.composition-workspace .composition-icon{background:0 0;border-color:#0000;flex-shrink:0;width:30px;padding:5px}.composition-workspace .composition-play{color:var(--paper-accent);border-color:color-mix(in srgb, var(--paper-accent) 45%, var(--paper-border))}.composition-action-divider{background:var(--paper-border);width:1px;height:19px;margin:0 3px}.composition-body{flex:1;min-width:0;min-height:0;display:flex}.composition-sidebar{border-right:1px solid var(--paper-border);background:color-mix(in srgb, var(--paper-ink) 2%, var(--paper-bg));flex-direction:column;flex:0 0 224px;width:224px;min-height:0;padding:14px 10px;display:flex}.composition-sidebar-heading{font-size:var(--ui-small-font-size);justify-content:space-between;align-items:center;padding-left:7px;font-weight:600;display:flex}.composition-search{border:1px solid var(--paper-border);color:var(--paper-muted);border-radius:5px;align-items:center;gap:6px;margin:8px 0 12px;padding-left:8px;display:flex}.composition-workspace .composition-search input{background:0 0;border:0;width:100%;padding-left:0}.composition-outline{flex:1;min-height:0;overflow:auto}.composition-workspace .composition-outline button{white-space:normal;text-align:left;background:0 0;border-color:#0000;flex-direction:column;align-items:stretch;width:100%;margin-bottom:3px;padding:9px 8px;display:flex}.composition-workspace .composition-outline button[aria-current=true]{background:color-mix(in srgb, var(--paper-accent) 9%, var(--paper-bg));border-color:color-mix(in srgb, var(--paper-accent) 30%, var(--paper-border))}.composition-outline-name{overflow-wrap:anywhere;font-size:var(--ui-font-size);align-items:center;gap:8px;display:flex}.composition-outline-name svg{color:var(--paper-muted);flex-shrink:0}.composition-outline-meta{font-size:var(--ui-small-font-size);color:var(--paper-muted);padding-left:22px}.composition-sidebar-note{font-size:var(--ui-small-font-size);color:var(--paper-muted);padding:9px 7px 0}.composition-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.composition-navigation{border-bottom:1px solid var(--paper-border);flex-direction:column;gap:12px;padding:14px 22px 0;display:flex}.composition-breadcrumbs{flex-shrink:0;gap:3px;min-height:27px;display:flex;overflow-x:auto}.composition-breadcrumbs>span{color:var(--paper-muted);align-items:center;gap:3px;display:inline-flex}.composition-workspace .composition-breadcrumbs button{min-height:25px;color:var(--paper-muted);border:none;padding:2px 5px}.composition-workspace .composition-breadcrumbs button[aria-current=page]{color:var(--paper-ink);font-weight:600}.composition-tabs{flex-wrap:wrap;gap:20px;min-width:0;display:flex}.composition-workspace .composition-tabs button{min-height:34px;color:var(--paper-muted);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:4px 0 10px}.composition-workspace .composition-tabs button[aria-selected=true]{color:var(--paper-accent);border-bottom-color:var(--paper-accent)}.composition-mobile-picker{display:none}.composition-panel{flex:1;min-width:0;min-height:0;padding:18px 22px 28px;overflow:auto}.composition-linkbar{border:1px solid var(--paper-border);background:color-mix(in srgb, var(--paper-ink) 2%, var(--paper-bg));border-radius:6px;flex-wrap:wrap;align-items:end;gap:8px 16px;margin-bottom:18px;padding:11px 12px;display:flex}.composition-linkbar>div{flex-wrap:wrap;align-items:end;gap:6px;min-width:0;display:flex}.composition-linkbar label{font-size:var(--ui-small-font-size);color:var(--paper-muted);flex-direction:column;gap:4px;display:flex}.composition-linkbar select{width:190px;max-width:100%;color:var(--paper-ink)}.composition-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,390px),1fr));align-items:start;gap:18px;display:grid}.composition-card{border:1px solid var(--paper-border);background:var(--paper-bg);border-radius:7px;min-width:0;overflow:hidden}.composition-card-selected{grid-column:1/-1}.composition-card-playback{gap:4px;margin-left:auto;display:flex}.composition-card>header{border-bottom:1px solid var(--paper-border);background:color-mix(in srgb, var(--paper-ink) 2%, var(--paper-bg));flex-wrap:wrap;align-items:center;gap:10px;padding:11px 13px;display:flex}.composition-card-title{flex-direction:column;flex:1;align-items:start;gap:2px;min-width:0;display:flex}.composition-card-kind{font-size:var(--ui-small-font-size);letter-spacing:.08em;color:var(--paper-muted)}.composition-workspace .composition-rename{min-height:24px;font-size:var(--ui-font-size);background:0 0;border-color:#0000;width:100%;padding:2px 0;font-weight:600}.composition-workspace .composition-rename:focus{border-bottom-color:var(--paper-accent)}.composition-visualization{font-size:var(--ui-small-font-size);color:var(--paper-muted);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.composition-visualization select{max-width:105px}.composition-shared-note{border-bottom:1px solid var(--paper-border);color:var(--paper-muted);font-size:var(--ui-small-font-size);margin:0;padding:7px 13px}.composition-editor{min-height:140px;overflow:hidden}.composition-editor .cm-editor{min-height:140px}.composition-editor .cm-scroller{max-height:480px;overflow:auto}.composition-editor textarea{width:100%;min-height:140px}.composition-card>footer{border-top:1px solid var(--paper-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.composition-extract{flex:230px;gap:6px;min-width:0;display:flex}.composition-extract input{flex:1;width:140px}.composition-card-tools{flex-wrap:wrap;gap:6px;display:flex}.composition-workspace .composition-remove{color:var(--paper-muted)}.composition-error{border:1px solid var(--paper-accent);color:var(--paper-ink);font-size:var(--ui-small-font-size);overflow-wrap:anywhere;border-radius:5px;justify-content:space-between;align-items:start;gap:10px;margin:10px 22px 0;padding:9px 12px;display:flex}.composition-workspace .composition-error button{border:0;min-height:20px;padding:0 5px}.composition-notice{font-size:var(--ui-small-font-size);color:var(--paper-muted);margin:10px 22px 0}.composition-diagnostics{border:1px solid var(--paper-border);font-size:var(--ui-small-font-size);color:var(--paper-muted);border-radius:5px;flex-shrink:0;max-height:120px;margin:10px 22px 0;padding:7px 10px;overflow:auto}.composition-diagnostics summary{cursor:pointer}.composition-workspace .composition-diagnostics button{text-align:left;white-space:normal;font-size:var(--ui-small-font-size);background:0 0;border:0;padding-left:0;display:block}.composition-hint{font-size:var(--ui-small-font-size);color:var(--paper-muted)}.composition-graph-view{flex-direction:column;min-width:0;display:flex}.composition-graph-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.composition-graph-toolbar p{font-size:var(--ui-small-font-size);color:var(--paper-muted);flex-wrap:wrap;align-items:center;gap:7px;margin:0;display:flex}.composition-edge-key{border-top:2px solid var(--paper-accent);width:20px;display:inline-block}.composition-edge-key.binding{border-top:2px dashed var(--paper-muted);margin-left:8px}.composition-graph-help{margin:9px 0 13px}.composition-graph-scroll{border:1px solid var(--paper-border);background:radial-gradient(var(--paper-border) .7px, transparent .7px) 0 0 / 18px 18px;border-radius:6px;max-width:100%;height:min(60dvh,620px);min-height:360px;overflow:auto}.composition-graph-stage{position:relative}.composition-graph-lines{position:absolute;inset:0;overflow:visible}.composition-graph-edge{cursor:pointer;color:var(--paper-accent)}.composition-graph-edge>path{fill:none;stroke:currentColor;stroke-width:1.5px}.composition-graph-edge.binding{color:var(--paper-muted)}.composition-graph-edge.binding>path{stroke-dasharray:5 4}.composition-graph-edge text{fill:currentColor;font:var(--ui-small-font-size) var(--ui-font);paint-order:stroke;stroke:var(--paper-bg);stroke-width:4px;stroke-linejoin:round}.composition-workspace .composition-graph-node{text-align:left;white-space:normal;touch-action:none;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:start;width:220px;min-height:75px;padding:11px 13px;display:flex;position:absolute;box-shadow:0 3px 8px #00000008}.composition-workspace .composition-graph-node.selected{border-color:var(--paper-accent);box-shadow:0 0 0 1px var(--paper-accent)}.composition-graph-node>span{color:var(--paper-muted);font-size:var(--ui-small-font-size);letter-spacing:.07em}.composition-graph-node>strong{font-size:var(--ui-font-size);overflow-wrap:anywhere;max-width:100%}.composition-graph-node>small{color:var(--paper-muted);font-size:var(--ui-small-font-size)}.composition-expanded>div{font-size:var(--ui-small-font-size);flex-wrap:wrap;justify-content:space-between;gap:8px;padding-bottom:10px;display:flex}.composition-expanded pre{border:1px solid var(--paper-border);background:color-mix(in srgb, var(--paper-ink) 2%, var(--paper-bg));tab-size:2;border-radius:6px;min-height:240px;margin:0;padding:16px;font:14px/1.65 JetBrains,monospace;overflow:auto}@media (width<=900px){.composition-sidebar{flex-basis:185px;width:185px}.composition-navigation{padding-left:15px;padding-right:15px}.composition-panel{padding:15px}.composition-count{display:none}.composition-header{padding:10px 14px}}@media (width<=640px){.composition-sidebar{display:none}.composition-header{flex-wrap:nowrap;align-items:center;gap:8px;padding:9px 12px}.composition-heading{flex:1;gap:6px}.composition-heading>div{min-width:0}.composition-heading h2{font-size:var(--ui-font-size)}.composition-song-actions{flex-wrap:nowrap;flex-shrink:0;gap:3px}.composition-song-actions>button>span{display:none}.composition-song-actions>button,.composition-more>summary{width:44px;padding:5px}.composition-workspace button,.composition-workspace input,.composition-workspace select,.composition-more>summary{min-height:44px}.composition-workspace .composition-icon{width:44px;min-height:44px}.composition-workspace .composition-more-menu button{width:100%;font-size:var(--ui-font-size)}.composition-action-divider{margin:0 1px}.composition-navigation{gap:8px;padding:10px 12px 0}.composition-mobile-picker{font-size:var(--ui-small-font-size);color:var(--paper-muted);align-items:center;gap:9px;display:flex}.composition-mobile-picker select{flex:1;width:100%}.composition-tabs{gap:22px}.composition-workspace .composition-tabs button{min-height:44px;font-size:var(--ui-font-size)}.composition-workspace .composition-breadcrumbs button{min-height:44px}.composition-panel{padding:12px}.composition-cards{gap:12px}.composition-linkbar{margin-bottom:12px;padding:9px}.composition-linkbar>div{width:100%}.composition-linkbar label{flex:1;min-width:120px}.composition-linkbar select{width:100%}.composition-linkbar>div>select{flex:1;width:120px}.composition-card>header{flex-wrap:wrap;gap:5px;padding:9px 10px}.composition-card-title{flex-basis:100px}.composition-workspace .composition-rename{min-height:44px}.composition-visualization{font-size:var(--ui-small-font-size);gap:4px}.composition-visualization select{width:106px;font-size:var(--ui-font-size)}.composition-card>footer{padding:9px}.composition-extract{flex-basis:100%}.composition-card-tools{justify-content:flex-end;width:100%}.composition-error,.composition-notice,.composition-diagnostics{margin-left:12px;margin-right:12px}.composition-graph-scroll{min-height:300px}}.composition-card .routing-inspector{border-top:1px solid var(--paper-border)}.composition-card>[hidden]{display:none}.composition-card>header,.composition-workspace .composition-rename{font-family:var(--panel-header-font,var(--ui-font));font-size:var(--panel-header-font-size,14px)}.composition-workspace .composition-routing-toggle[aria-expanded=true]{color:var(--paper-accent);border-color:var(--paper-accent)}.strudel-editor{min-height:0;color:var(--foreground);flex-direction:column;flex:1;font-family:monospace;display:flex;position:relative}.strudel-editor-source{flex:1;min-height:0;overflow:auto}.strudel-editor-source[hidden]{display:none!important}.paper-card__editor .component-editor{height:100%;min-height:0;max-height:none;overflow:hidden}.paper-card__editor .component-editor .cm-editor{min-height:0}.strudel-editor-source .cm-editor{background:0 0;height:100%;min-height:0}.strudel-editor-source .cm-scroller{overscroll-behavior:contain;overflow:auto}.strudel-editor-source .cm-content{min-width:0}.strudel-editor-source canvas{max-width:100%}.strudel-editor-source .cm-gutters{border-right:0!important}.strudel-editor-source .cm-gutter.cm-lineNumbers{border-right:1px solid #848484!important}.strudel-output{overscroll-behavior:contain;border-top:1px solid #848484;flex:0 35%;min-height:0;max-height:45%;overflow:auto}.strudel-output[hidden]{visibility:hidden;pointer-events:none;display:block;position:absolute;inset:auto 0 0}.strudel-visuals{position:relative}.strudel-visuals>canvas{width:100%;height:auto}.strudel-visuals>canvas[hidden]{display:none}.strudel-visuals>canvas[data-output-unpainted]{visibility:hidden;position:absolute!important}.strudel-output-empty,.strudel-output-status{font:12px/1.5 var(--code-font,monospace);margin:0;padding:8px 10px}.strudel-output-empty{opacity:.65}.strudel-output-error{font:12px/1.5 var(--code-font,monospace);color:inherit;border-left:2px solid #b15e59;flex-shrink:0;padding:7px 10px;overflow:auto}.strudel-editor>.strudel-output-error{max-height:30%}.strudel-output-error strong,.strudel-output-error span{display:block}.strudel-output-error button{font:inherit;color:inherit;background:0 0;border:1px solid;margin-top:4px}body>#test-canvas{display:none!important}.utility-panel{--utility-paper:var(--paper-bg,#faf7ef);--utility-ink:var(--paper-ink,#302d28);--utility-muted:var(--paper-muted,#797367);--utility-border:var(--paper-border,#d9d1c1);--utility-accent:var(--paper-accent,#a75536);z-index:45;width:min(420px,100% - 28px);color:var(--utility-ink);background:var(--utility-paper);border:1px solid var(--utility-border);font-size:var(--ui-font-size);border-radius:6px;flex-direction:column;line-height:1.5;display:flex;position:absolute;inset:74px 14px 14px auto;box-shadow:-8px 8px 35px #302d2818}.utility-panel *,.utility-panel :before,.utility-panel :after{box-sizing:border-box}.utility-header{border-bottom:1px solid var(--utility-border);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:19px 21px 15px;display:flex}.utility-eyebrow{color:var(--utility-muted);font:550 var(--ui-small-font-size) var(--ui-font);letter-spacing:.06em}.utility-header h2{font-size:calc(var(--ui-font-size) + 4px);letter-spacing:-.025em;margin:3px 0 0;font-weight:600;line-height:1.2}.utility-panel button{border:1px solid var(--utility-border);min-height:36px;color:var(--utility-ink);background:var(--utility-paper);font:inherit;font-size:var(--ui-font-size);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;gap:6px;padding:7px 9px;display:inline-flex}.utility-panel button:hover:enabled{background:color-mix(in srgb, var(--utility-accent) 8%, var(--utility-paper));border-color:var(--utility-accent)}.utility-panel button:disabled{cursor:default;opacity:.6}.utility-panel .utility-close{border-radius:50%;width:33px;height:33px;padding:0}.utility-panel :is(button,input,select,a):focus-visible{outline:2px solid var(--utility-accent);outline-offset:3px}.utility-panel:focus{outline:none}.utility-content{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--utility-border) transparent;min-height:0;padding:20px 21px 24px;overflow:auto}.utility-intro{color:var(--utility-muted);margin:0 0 17px}.utility-panel code,.utility-panel pre{font-family:var(--code-font);font-size:14px}.utility-search{border:1px solid var(--utility-border);min-height:38px;color:var(--utility-muted);border-radius:4px;align-items:center;gap:8px;padding:0 10px;display:flex}.utility-search input{width:100%;min-width:0;color:var(--utility-ink);outline-offset:0;font:inherit;background:0 0;border:0;padding:8px 0}.utility-filter{justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.utility-filter select{min-width:0;max-width:min(180px,60%);color:var(--utility-ink);background:var(--utility-paper);border:1px solid var(--utility-border);font:inherit;border-radius:4px;padding:5px 9px}.utility-count{color:var(--utility-muted);font-size:var(--ui-small-font-size);margin:12px 0 8px}.utility-sounds{scrollbar-width:thin;border-top:1px solid var(--utility-border);max-height:230px;margin:0 0 22px;padding:0;list-style:none;overflow:auto}.utility-sounds li{border-bottom:1px solid var(--utility-border);justify-content:space-between;gap:12px;padding:7px 0;display:flex}.utility-sounds code{overflow-wrap:anywhere}.utility-sounds li>span{font-size:var(--ui-small-font-size);color:var(--utility-muted);flex-shrink:0}.utility-section{margin-top:24px}.utility-section h3{border-bottom:1px solid var(--utility-border);color:var(--utility-ink);font-size:calc(var(--ui-font-size) + 2px);margin:0 0 9px;padding-bottom:8px;font-weight:600}.utility-hint{color:var(--utility-muted);font-size:var(--ui-small-font-size);margin:7px 0 12px;line-height:1.6}.utility-assets{margin:14px 0;padding:0;list-style:none}.utility-assets li{padding:7px 0}.utility-assets li>div{justify-content:space-between;gap:10px;display:flex}.utility-assets li>div>span:first-child{overflow-wrap:anywhere}.utility-asset-status{color:var(--utility-muted);font-size:var(--ui-small-font-size);flex-shrink:0;padding-top:2px}.utility-asset-status--error,.utility-asset-error{color:var(--utility-accent)}.utility-asset-error{font:var(--ui-small-font-size) var(--ui-font);overflow-wrap:anywhere;margin:2px 0 0}.utility-actions{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.utility-notice{border:1px solid var(--utility-border);font-size:var(--ui-small-font-size);overflow-wrap:anywhere;border-radius:4px;padding:10px 12px}.utility-notice--error{border-color:var(--utility-accent);color:var(--utility-accent)}.utility-empty{color:var(--utility-muted);font-size:var(--ui-small-font-size);padding:15px 0}.utility-console{margin:17px 0;padding:0;list-style:none}.utility-log{border-bottom:1px solid var(--utility-border);padding:10px 0}.utility-log>div{font:var(--ui-small-font-size) var(--ui-font);color:var(--utility-muted);justify-content:space-between;gap:12px;display:flex}.utility-log p{white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.6 var(--code-font);margin:6px 0 0}.utility-log--error p,.utility-log--warning>div>span{color:var(--utility-accent)}.utility-link{color:var(--utility-accent);font-size:var(--ui-small-font-size);text-underline-offset:3px;align-items:center;gap:5px;display:inline-flex}.utility-example{border-bottom:1px solid var(--utility-border);margin:19px 0;padding-bottom:11px}.utility-example>div{justify-content:space-between;align-items:center;display:flex}.utility-example>div>button{padding:5px}.utility-example h3{font-size:calc(var(--ui-font-size) + 2px);margin:3px 0 10px;font-weight:600}.utility-example pre{background:color-mix(in srgb, var(--utility-border) 20%, var(--utility-paper));border-radius:4px;margin:0;padding:12px;line-height:1.7;overflow:auto}.utility-example pre code{white-space:pre-wrap;overflow-wrap:anywhere}.utility-integration{border-bottom:1px solid var(--utility-border);padding:14px 0}.utility-integration h4{font-size:calc(var(--ui-font-size) + 2px);margin:0;font-weight:600}.utility-devices{font-size:var(--ui-small-font-size);padding:0;list-style:none}.utility-section>.utility-link{margin-top:17px}.utility-upload{border:1px solid var(--utility-border);font-size:var(--ui-font-size);cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:8px 10px;display:inline-flex;position:relative;overflow:hidden}.utility-upload:hover{border-color:var(--utility-accent)}.utility-upload input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.utility-upload:focus-within{outline:2px solid var(--utility-accent);outline-offset:3px}.utility-upload--disabled{opacity:.6;cursor:default}.utility-upload--disabled input{cursor:default}.utility-local-files{margin:12px 0;padding:0;list-style:none}.utility-local-files li{border-bottom:1px solid var(--utility-border);padding:10px 0}.utility-local-files li>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.utility-local-files li>div+div{margin-top:6px}.utility-local-filename{overflow-wrap:anywhere}.utility-local-size{font-size:var(--ui-small-font-size);white-space:nowrap;color:var(--utility-muted)}.utility-local-files code{overflow-wrap:anywhere}.utility-local-files button{flex-shrink:0}.utility-header>div{overflow-wrap:anywhere;min-width:0}.utility-close{flex-shrink:0}.utility-filter,.utility-local-files li>div,.utility-assets li>div,.utility-log>div{flex-wrap:wrap}.utility-panel button,.utility-upload{overflow-wrap:anywhere}.utility-cache-count{font:var(--ui-small-font-size) var(--ui-font)}@media (width<=560px){.utility-panel{width:auto;inset:66px 8px 8px}.utility-header{padding:16px 18px 13px}.utility-content{padding:17px 18px 21px}}@media (width<=600px){.utility-panel button,.utility-upload,.utility-filter select,.utility-search{min-height:44px}.utility-panel .utility-close,.utility-example>div>button{border-radius:5px;min-width:44px;height:44px}.utility-assets li>div{flex-wrap:wrap;gap:3px 10px}}.settings-panel{--settings-paper:var(--paper-bg,#faf7ef);--settings-ink:var(--ink,#302d28);--settings-muted:var(--muted,#797367);--settings-border:var(--border,#d9d1c1);--settings-accent:var(--accent,#a75536);z-index:40;width:min(390px,100%);height:100%;color:var(--settings-ink);background:var(--settings-paper);border-left:1px solid var(--settings-border);font-family:inherit;font-size:var(--ui-font-size);isolation:isolate;flex-direction:column;line-height:1.5;display:flex;position:absolute;top:0;right:0;box-shadow:-12px 0 40px #302d2812}.settings-panel--bottom{border-top:1px solid var(--settings-border);border-left:0;width:100%;height:min(65%,560px);top:auto;bottom:0;box-shadow:0 -12px 40px #302d2812}.settings-panel *,.settings-panel :before,.settings-panel :after{box-sizing:border-box}.settings-header{border-bottom:1px solid var(--settings-border);background:var(--settings-paper);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:22px 24px 17px;display:flex}.settings-eyebrow{color:var(--settings-muted);font-size:var(--ui-small-font-size);letter-spacing:.06em;font-weight:550}.settings-header h2{color:var(--settings-ink);font-size:calc(var(--ui-font-size) + 4px);letter-spacing:-.025em;margin:3px 0 0;font-weight:600;line-height:1.3}.settings-close{border:1px solid var(--settings-border);width:34px;height:34px;color:var(--settings-ink);cursor:pointer;background:0 0;border-radius:50%;place-items:center;padding:0;font-size:25px;line-height:1;display:grid}.settings-content{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--settings-border) transparent;background-image:linear-gradient(90deg,#79736705 1px,#0000 1px),linear-gradient(#79736705 1px,#0000 1px);background-size:24px 24px;min-height:0;padding:20px 24px 28px;overflow:auto}.settings-intro{color:var(--settings-muted);font-size:var(--ui-font-size);margin:0 0 22px}.settings-section{border:0;min-width:0;margin:0 0 27px;padding:0}.settings-section legend{border-bottom:1px solid var(--settings-border);width:100%;color:var(--settings-ink);font-size:calc(var(--ui-font-size) + 2px);letter-spacing:-.015em;margin-bottom:15px;padding:0 0 9px;font-weight:600;display:block}.settings-field{font-size:var(--ui-font-size);flex-direction:column;gap:6px;margin:0 0 15px;display:flex}.settings-field input,.settings-field select{width:100%;min-width:0;min-height:37px;color:var(--settings-ink);background:var(--settings-paper);border:1px solid var(--settings-border);font:inherit;border-radius:5px;padding:7px 10px}.settings-field input[type=number]{max-width:115px}.settings-color-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.settings-field input[type=color]{cursor:pointer;width:52px;padding:4px}.settings-field .settings-color-hex{flex:10ch;width:auto}.settings-color-row .settings-theme-background{white-space:normal}.settings-field>label,.settings-checkbox span,.settings-header>div{overflow-wrap:anywhere;min-width:0}.settings-close{flex-shrink:0}.settings-theme-background{border:1px solid var(--settings-border);min-height:37px;color:var(--settings-ink);background:var(--settings-paper);font:inherit;cursor:pointer;border-radius:5px;padding:7px 10px}.settings-theme-background:hover,.settings-field input[aria-invalid=true]{border-color:var(--settings-accent)}.settings-checkbox{cursor:pointer;min-height:33px;font-size:var(--ui-font-size);align-items:center;gap:10px;display:flex}.settings-checkbox input{width:15px;height:15px;accent-color:var(--settings-accent);flex-shrink:0;margin:0}.settings-checklist{gap:2px;display:grid}.settings-hint{color:var(--settings-muted);font-size:var(--ui-small-font-size);margin:3px 0 13px;line-height:1.65}.settings-field .settings-hint{margin:0}.settings-error{color:var(--settings-accent)}.settings-footer{padding-top:9px}.settings-reset{border:1px solid var(--settings-border);width:100%;color:var(--settings-ink);background:var(--settings-paper);font:inherit;font-size:var(--ui-font-size);cursor:pointer;border-radius:5px;padding:10px 12px}.settings-reset:hover,.settings-close:hover{background:color-mix(in srgb, var(--settings-accent) 7%, var(--settings-paper));border-color:var(--settings-accent)}.settings-panel :is(button,input,select):focus-visible{outline:2px solid var(--settings-accent);outline-offset:3px}.settings-panel--bottom .settings-content{width:100%;max-width:760px;margin-inline:auto}@media (width<=520px){.settings-header{padding:18px 20px 14px}.settings-content{padding:18px 20px 25px}.settings-panel--bottom{height:75%}}@media (width<=600px){.settings-close{border-radius:5px;min-width:44px;height:44px}.settings-field input,.settings-field select,.settings-checkbox,.settings-reset,.settings-theme-background{min-height:44px}}:root{--ui-font:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ui-font-size:14px;--ui-small-font-size:12px;--panel-header-font:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--panel-header-font-size:14px}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/Inter/inter-cyrillic-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/Inter/inter-cyrillic-wght-normal.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/Inter/inter-greek-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/Inter/inter-greek-wght-normal.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/Inter/inter-vietnamese-wght-normal.woff2)format("woff2-variations");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:Inter;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/Inter/inter-latin-ext-wght-normal.woff2)format("woff2-variations");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:Inter;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/Inter/inter-latin-wght-normal.woff2)format("woff2-variations");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:JetBrains;src:url(/fonts/JetBrains/JetBrainsMono.woff2)format("woff2");font-display:swap}@font-face{font-family:Hack;src:url(/fonts/Hack/Hack-Regular.ttf);font-display:swap}@font-face{font-family:FiraCode;src:url(/fonts/FiraCode/FiraCode-Regular.ttf);font-display:swap}@font-face{font-family:FiraCode-SemiBold;src:url(/fonts/FiraCode/FiraCode-SemiBold.ttf);font-display:swap}@font-face{font-family:CutiePi;src:url(/fonts/CutiePi/Cute_Aurora_demo.ttf);font-display:swap}@font-face{font-family:teletext;src:url(/fonts/teletext/EuropeanTeletext.ttf);font-display:swap}@font-face{font-family:mode7;src:url(/fonts/mode7/MODE7GX3.TTF);font-display:swap}@font-face{font-family:BigBlueTerminal;src:url(/fonts/BigBlueTerminal/BigBlue_TerminalPlus.TTF);font-display:swap}@font-face{font-family:x3270;src:url(/fonts/3270/3270-Regular.ttf);font-display:swap}@font-face{font-family:Monocraft;src:url(/fonts/Monocraft/Monocraft.ttf);font-display:swap}@font-face{font-family:PressStart;src:url(/fonts/PressStart2P/PressStart2P-Regular.ttf);font-display:swap}@font-face{font-family:we-come-in-peace;src:url(/fonts/we-come-in-peace/we-come-in-peace-bb.regular.ttf);font-display:swap}@font-face{font-family:galactico;src:url(/fonts/galactico/Galactico-Basic.otf);font-display:swap}:root{--code-font:JetBrains, ui-monospace, monospace;font-family:var(--ui-font);font-size:var(--ui-font-size);color:#33332c;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f6f4ed;line-height:1.45}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,summary:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--paper-accent,#de724e);outline-offset:3px}button{color:inherit}button svg{flex-shrink:0}button{transition:background .15s,border-color .15s,opacity .15s}::selection{background:#e9896550}.paper-app{--paper-bg:#f6f4ed;--paper-ink:#33332c;--paper-muted:#72736b;--paper-border:#dad8ce;--paper-accent:#d96b47;--ink:var(--paper-ink);--muted:var(--paper-muted);--border:var(--paper-border);--accent:var(--paper-accent);width:100%;height:100dvh;color:var(--paper-ink);background:var(--paper-bg);font-family:var(--ui-font);font-size:var(--ui-font-size);flex-direction:column;display:flex;overflow:hidden}.paper-app.themed-paper{--paper-bg:var(--background,#f6f4ed);--paper-ink:var(--foreground,#33332c);--paper-muted:color-mix(in srgb, var(--foreground,#33332c) 64%, var(--background,#f6f4ed));--paper-border:color-mix(in srgb, var(--foreground,#33332c) 19%, var(--background,#f6f4ed))}.reduced-motion *,.reduced-motion :before,.reduced-motion :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.topbar{border-bottom:1px solid var(--paper-border);background:var(--paper-bg);z-index:60;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;min-height:56px;padding:6px 16px;display:flex;position:relative}.topbar>*{flex-shrink:0}.brand{text-align:left;font:650 calc(var(--ui-font-size) + 2px)/1.2 var(--ui-font);letter-spacing:-.035em;background:0 0;border:0;flex-shrink:0;align-items:center;gap:9px;padding:0;display:flex}.brand-name{white-space:nowrap}.brand em{color:var(--paper-accent);font-style:normal}.paper-logo{background:var(--paper-accent,#d96b47);color:#fff7eb;border-radius:7px;place-items:center;width:32px;height:32px;display:grid;transform:rotate(-4deg)}.toolbar-divider{background:var(--paper-border);width:1px;height:22px;margin:0 8px 0 6px}.toolbar-button{min-height:34px;font-size:var(--ui-font-size);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;gap:8px;padding:7px 10px;display:inline-flex}.toolbar-button:hover,.toolbar-button.is-active{background:color-mix(in srgb, var(--paper-border) 45%, transparent);border-color:var(--paper-border)}.toolbar-button b{border:1px solid var(--paper-border);min-width:20px;min-height:20px;color:var(--paper-muted);font:500 var(--ui-small-font-size) var(--ui-font);border-radius:4px;place-items:center;padding:0 4px;display:grid}.toolbar-button.icon-only{width:34px;padding:7px}.search-shortcut{width:max(210px, calc(var(--ui-font-size) * 15));color:var(--paper-muted);background:color-mix(in srgb, var(--paper-border) 18%, transparent);border:1px solid var(--paper-border);font-size:var(--ui-font-size);white-space:nowrap;border-radius:5px;align-items:center;gap:8px;margin-left:5px;padding:7px 10px;display:flex}.search-shortcut kbd{margin-left:auto}kbd{font:var(--ui-small-font-size) var(--ui-font);border:1px solid var(--paper-border);opacity:.8;border-radius:3px;padding:2px 4px}.toolbar-spacer{flex:1;min-width:0}.history-controls{align-items:center;gap:2px;display:flex}.routing-drawer h2{align-items:center;gap:7px;display:flex}@media (width<=700px){.history-controls{z-index:65;border:1px solid var(--paper-border);background:var(--paper-bg);border-radius:5px;padding:2px;position:fixed;bottom:56px;left:12px;box-shadow:0 2px 8px #0001}.history-controls .toolbar-button{width:44px;height:44px}}.button{border:1px solid var(--paper-border);white-space:nowrap;min-height:35px;font-size:var(--ui-font-size);border-radius:5px;justify-content:center;align-items:center;gap:7px;padding:8px 13px;font-weight:500;display:inline-flex}.button.primary{background:var(--paper-accent,#d96b47);color:#fff9f0;border-color:var(--paper-accent,#d96b47)}.button.primary:hover{filter:brightness(1.08)}.button.secondary{background:var(--paper-bg);color:var(--paper-ink)}.button.secondary:hover{background:color-mix(in srgb, var(--paper-border) 35%, transparent)}.button.danger{color:#fff;background:#b64d3b;border-color:#b64d3b}.button.wide{width:100%}.new-song-button{margin-left:3px}.file-menu{position:relative}.file-menu summary{cursor:pointer;border-radius:5px;justify-content:center;align-items:center;gap:6px;height:34px;padding:8px;list-style:none;display:flex}.file-menu summary::-webkit-details-marker{display:none}.file-menu summary:hover{background:color-mix(in srgb, var(--paper-border) 45%, transparent)}.file-menu-popover{border:1px solid var(--paper-border);background:var(--paper-bg);border-radius:6px;width:320px;padding:15px 10px 11px;position:absolute;top:44px;right:0;box-shadow:0 8px 30px #0002}.file-menu-popover>.eyebrow{font-size:var(--ui-small-font-size);padding:4px 8px 11px;display:block}.file-menu-popover>button{overflow-wrap:anywhere;text-align:left;width:100%;font-size:var(--ui-font-size);background:0 0;border:0;border-radius:4px;flex-wrap:wrap;align-items:center;gap:9px;padding:10px 8px;display:flex}.file-menu-popover>button:hover{background:color-mix(in srgb, var(--paper-border) 40%, transparent)}.file-menu-popover small{font:var(--ui-small-font-size) var(--ui-font);color:var(--paper-muted);white-space:nowrap;margin-left:auto}.file-menu-popover hr{border:0;border-top:1px solid var(--paper-border);margin:7px 8px}.file-menu-popover p{font-size:var(--ui-small-font-size);color:var(--paper-muted);margin:10px 8px 1px;line-height:1.7}.eyebrow{color:var(--paper-muted);font:600 var(--ui-small-font-size)/1.4 var(--ui-font);letter-spacing:.06em}.workspace{flex:1;min-height:0;position:relative;overflow:hidden}.paper-viewport{transition:right .18s;position:absolute;inset:0}.canvas-layer{position:absolute;inset:0}.paper-card button.paper-card__component-count{border:1px solid var(--paper-border);min-height:24px;font:var(--ui-small-font-size) var(--ui-font);color:var(--paper-accent);border-radius:3px;flex-shrink:0;padding:2px 6px}.has-panel:not(.panel-bottom) .paper-viewport{right:390px}.has-panel.panel-bottom .paper-viewport{bottom:min(65%,560px)}.workspace .utility-panel{border-top:0;border-bottom:0;border-right:0;border-radius:0;width:min(390px,100%);top:0;bottom:0;right:0}.workspace.panel-bottom .utility-panel,.workspace.panel-bottom .drawer{border-top:1px solid var(--paper-border);width:100%;height:min(65%,560px);inset:auto 0 0}.drawer{z-index:40;background:var(--paper-bg);border-left:1px solid var(--paper-border);flex-direction:column;width:min(390px,100%);display:flex;position:absolute;inset:0 0 0 auto}.drawer-header{border-bottom:1px solid var(--paper-border);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:20px 24px 16px;display:flex}.drawer-header h2{overflow-wrap:anywhere;font:600 calc(var(--ui-font-size) + 4px)/1.3 var(--ui-font);letter-spacing:-.025em;margin:5px 0 0}.drawer-header h2>span{color:var(--paper-muted);font:var(--ui-small-font-size) var(--ui-font);margin-left:8px}.icon-button{background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;width:30px;height:30px;padding:4px;display:inline-flex}.icon-button:hover{background:color-mix(in srgb, var(--paper-border) 35%, transparent)}.drawer-body{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--paper-border) transparent;flex:1;min-height:0;padding:22px 24px;overflow:auto}.drawer-footer{border-top:1px solid var(--paper-border);font-size:var(--ui-small-font-size);color:var(--paper-muted);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:7px;padding:14px 24px;display:flex}.input-with-icon{color:var(--paper-muted);border:1px solid var(--paper-border);border-radius:4px;align-items:center;gap:8px;padding:8px 10px;display:flex}.input-with-icon input{width:100%;min-width:0;color:var(--paper-ink);font-size:var(--ui-font-size);background:0 0;border:0;outline:none;padding:3px 0}.input-with-icon kbd{flex-shrink:0}.tag-filter{flex-wrap:wrap;gap:5px;margin:16px 0 20px;display:flex}.tag-filter>button{border:1px solid var(--paper-border);font:var(--ui-small-font-size) var(--ui-font);background:0 0;border-radius:3px;align-items:center;gap:4px;padding:4px 6px;display:inline-flex}.tag-filter>button.active{background:color-mix(in srgb, var(--paper-accent) 10%, transparent);color:var(--paper-accent);border-color:color-mix(in srgb, var(--paper-accent) 50%, var(--paper-border))}.library-list{border-top:1px solid var(--paper-border);margin-bottom:20px}.library-entry{text-align:left;border:0;border-bottom:1px solid var(--paper-border);background:0 0;align-items:center;gap:11px;width:100%;padding:17px 4px;display:flex}.library-entry:hover,.library-entry.selected{background:color-mix(in srgb, var(--paper-accent) 5%, transparent)}.entry-number{color:var(--paper-muted);font:var(--ui-small-font-size) var(--ui-font)}.entry-main{flex:1;min-width:0}.entry-main strong{font-size:var(--ui-font-size);overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:5px;font-weight:550;display:flex}.entry-main>span{color:var(--paper-muted);font:var(--ui-small-font-size) var(--ui-font);margin-top:7px;line-height:1.5;display:block}.library-entry>svg{color:var(--paper-muted)}.subtle-check{color:var(--paper-muted);font-size:var(--ui-small-font-size);align-items:center;gap:7px;margin:20px 0 0;display:flex}input[type=checkbox]{accent-color:var(--paper-accent)}.empty-state{color:var(--paper-muted);text-align:center;flex-direction:column;align-items:center;padding:36px 6px;display:flex}.empty-state h3{color:var(--paper-ink);font-weight:600;font-size:calc(var(--ui-font-size) + 2px);margin:15px 0 0}.empty-state p{font-size:var(--ui-small-font-size);line-height:1.7}.field-label{color:var(--paper-muted);font:var(--ui-small-font-size) var(--ui-font);margin:0 0 8px;display:block}.text-input{width:100%;min-width:0;min-height:37px;color:var(--paper-ink);border:1px solid var(--paper-border);font-size:var(--ui-font-size);background:0 0;border-radius:4px;margin-bottom:11px;padding:8px 9px;display:block}.title-input{font-size:var(--ui-font-size);margin-bottom:22px}.hint{color:var(--paper-muted);font-size:var(--ui-small-font-size);margin:7px 0 14px;line-height:1.7}.action-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px;margin:24px 0;display:grid}.action-grid>button{border:1px solid var(--paper-border);min-width:0;font-size:var(--ui-font-size);text-align:left;background:0 0;border-radius:4px;align-items:center;gap:7px;padding:11px 9px;line-height:1.4;display:flex}.action-grid>button:hover{background:color-mix(in srgb, var(--paper-border) 28%, transparent)}.detail-section{border-top:1px solid var(--paper-border);margin-top:22px;padding:19px 0 5px}.detail-section h3{font-size:calc(var(--ui-font-size) + 2px);align-items:center;gap:7px;margin:0 0 10px;font-weight:600;display:flex}.detail-section h3>span{color:var(--paper-muted);font:var(--ui-small-font-size) var(--ui-font);margin-left:auto}.connection-entry{border-bottom:1px solid var(--paper-border);align-items:center;margin-bottom:9px;display:flex}.connection-entry>button:first-child{text-align:left;min-width:0;font-size:var(--ui-font-size);background:0 0;border:0;flex:1;align-items:center;gap:8px;padding:11px 0;display:flex}.connection-entry small{font-size:var(--ui-small-font-size);color:var(--paper-muted);margin-top:4px;display:block}.revision-entry{border-bottom:1px solid var(--paper-border)}.revision-entry>button{text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:12px 0;display:flex}.revision-number{color:var(--paper-accent);font:var(--ui-small-font-size) var(--ui-font)}.revision-entry strong{font-weight:500;font-size:var(--ui-font-size);display:block}.revision-entry small{color:var(--paper-muted);font-size:var(--ui-small-font-size);margin-top:4px;display:block}.revision-entry>button>svg{color:var(--paper-muted);margin-left:auto}.revision-preview pre{background:color-mix(in srgb, var(--paper-border) 30%, transparent);white-space:pre-wrap;max-height:160px;padding:10px;font:14px/1.6 JetBrains,monospace;overflow:auto}.muted-note{color:var(--paper-muted);font-size:var(--ui-small-font-size)}.song-meta{color:var(--paper-muted);font:var(--ui-small-font-size) var(--ui-font);flex-direction:column;gap:7px;margin-bottom:22px;display:flex}.text-danger{font-size:var(--ui-font-size);color:#b45542;background:0 0;border:0;align-items:center;gap:7px;padding:0;display:inline-flex}.delete-confirm{font-size:var(--ui-small-font-size);border:1px solid #b45542;border-radius:4px;padding:10px}.delete-confirm .button{font-size:var(--ui-font-size);min-height:30px;margin:0 5px 5px 0;padding:6px 9px}.statusbar{border-top:1px solid var(--paper-border);min-height:28px;font:var(--ui-small-font-size) var(--ui-font);color:var(--paper-muted);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:4px 10px;padding:1px 14px;display:flex}.save-indicator{white-space:nowrap;align-items:center;gap:6px;display:flex}.save-indicator.saved>svg{color:#758869}.save-indicator.error{color:#b45542}.audio-meter{align-items:center;gap:2px;height:20px;display:inline-flex}.audio-meter i{background:var(--paper-muted);border-radius:1px;width:2px;transition:opacity 80ms}.audio-meter.active i{background:var(--paper-accent)}.playback-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:220px;overflow:hidden}.stop-button{border:1px solid var(--paper-border);min-height:24px;font-size:var(--ui-font-size);background:0 0;border-radius:3px;align-items:center;gap:5px;padding:2px 7px;display:flex}.stop-button:hover{color:var(--paper-accent);border-color:var(--paper-accent)}.editor-wrapper{flex-direction:column;display:flex}.restore-toolbar{z-index:65;background:var(--paper-bg);border:1px solid var(--paper-border);max-width:calc(100vw - 144px);min-height:44px;font-size:var(--ui-small-font-size);white-space:normal;overflow-wrap:anywhere;border-radius:4px;align-items:center;gap:7px;padding:8px 10px;display:flex;position:fixed;bottom:44px;left:12px}.is-toolbar-hidden .paper-canvas__hint{display:none}.is-toolbar-hidden .toast,.is-toolbar-hidden .storage-banner{bottom:96px}.canvas-empty{z-index:20;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.canvas-empty>button{pointer-events:auto}.canvas-empty .empty-paper-icon{border:1px solid var(--paper-border);width:70px;height:78px;box-shadow:4px 4px 0 var(--paper-border);background:var(--paper-bg);color:var(--paper-accent);place-items:center;margin-bottom:27px;display:grid;transform:rotate(-4deg)}.canvas-empty h2{font:600 calc(var(--ui-font-size) + 4px)/1.4 var(--ui-font);letter-spacing:-.025em;text-align:center;margin:15px 0 8px}.canvas-empty p{font-size:var(--ui-small-font-size);color:var(--paper-muted);margin-bottom:25px}.paper-canvas__empty{display:none}.toast{z-index:100;background:var(--paper-bg);border:1px solid var(--paper-border);max-width:min(650px,90vw);font-size:var(--ui-small-font-size);border-radius:5px;align-items:center;gap:14px;padding:10px 12px 10px 17px;display:flex;position:fixed;bottom:42px;left:50%;transform:translate(-50%);box-shadow:0 4px 24px #0002}.toast span{overflow-wrap:anywhere}.storage-banner{z-index:90;background:var(--paper-bg);font-size:var(--ui-small-font-size);border:1px solid #b64d3b;flex-wrap:wrap;align-items:center;gap:12px;padding:12px;display:flex;position:fixed;bottom:34px;left:10px;right:10px}.storage-banner button{border:1px solid var(--paper-border);background:0 0;border-radius:3px;padding:5px 9px}.hidden-file{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.modal-backdrop{z-index:150;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#27261f80;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--paper-bg);border:1px solid var(--paper-border);border-radius:8px;width:min(560px,100%);max-height:90dvh;padding:30px;overflow:auto;box-shadow:0 12px 70px #0004}.modal h2{font:600 calc(var(--ui-font-size) + 4px)/1.3 var(--ui-font);margin:12px 0 15px}.modal p{color:var(--paper-muted);line-height:1.8;font-size:var(--ui-small-font-size);overflow-wrap:anywhere}.modal-actions{flex-wrap:wrap;gap:9px;margin-top:22px;display:flex}.modal-actions .button{white-space:normal;font-size:var(--ui-font-size)}.share-link{resize:vertical;border:1px solid var(--paper-border);width:100%;height:85px;color:var(--paper-ink);font:var(--ui-font-size)/1.6 var(--ui-font);overflow-wrap:anywhere;background:0 0;border-radius:4px;padding:10px;display:block}.shared-preview{background:color-mix(in srgb, var(--paper-border) 30%, transparent);white-space:pre-wrap;max-height:280px;padding:15px;font:14px/1.7 JetBrains,monospace;overflow:auto}.loading-screen{color:#33332c;background:#f6f4ed;flex-direction:column;justify-content:center;align-items:center;gap:13px;min-height:100dvh;display:flex}.loading-screen h1{font:650 calc(var(--ui-font-size) + 4px)/1.3 var(--ui-font);margin:10px 0 0}.loading-screen em{color:#d96b47}.loading-screen p{max-width:500px;font-size:var(--ui-small-font-size);text-align:center;margin:0 20px;line-height:1.8}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1200px){.topbar{gap:5px}}@media (width<=1150px){.search-shortcut{display:none}}@media (width<=1100px){.optional-button{display:none}}@media (width<=950px){.topbar .toolbar-button[aria-label=Console],.topbar .toolbar-button[aria-label=Reference]{display:none}}@media (width<=850px){.search-shortcut,.topbar .toolbar-button[aria-label=Console],.topbar .toolbar-button[aria-label=Reference]{display:none}.toolbar-divider{margin-inline:6px}.has-panel:not(.panel-bottom) .paper-viewport{right:0}}@media (width<=760px){.brand-name,.toolbar-divider{display:none}.brand{justify-content:center;min-width:36px}.topbar{gap:6px;padding-inline:12px}}@media (width<=600px){.paper-card button.paper-card__component-count{min-height:44px}.topbar{min-height:52px;box-shadow:inset 0 -1px var(--paper-border);border-bottom:0;gap:3px;padding:4px 10px}.brand{justify-content:center;min-width:44px;min-height:44px}.brand-name,.toolbar-divider,.topbar .toolbar-button>span,.topbar .toolbar-button b{display:none}.topbar .toolbar-button{width:44px;min-height:44px;padding:10px}.file-menu summary{gap:0;width:44px;height:44px;padding:10px}.file-menu summary>svg:last-child{display:none}.file-menu-popover{width:auto;max-height:calc(100dvh - 94px);position:fixed;top:56px;left:10px;right:10px;overflow:auto}.new-song-button{min-width:44px;min-height:44px;font-size:var(--ui-font-size);padding:8px 10px;width:44px;padding:10px}.new-song-button>span{display:none}.statusbar{min-height:44px;box-shadow:inset 0 1px var(--paper-border);font-size:var(--ui-small-font-size);border-top:0;gap:7px;padding:0 10px}.save-indicator,.stop-button{flex-shrink:0}.stop-button{border:0;min-width:44px;min-height:44px;padding:0 7px}.audio-meter{display:none}.playback-label{flex-shrink:1;max-width:80px}.drawer{width:min(390px,100%)}.icon-button,.drawer .button,.drawer .text-input,.input-with-icon,.tag-filter>button,.subtle-check,.file-menu-popover>button,.storage-banner button{min-height:44px}.icon-button{width:44px}.drawer-header,.drawer-body{padding-inline:20px}.drawer-footer{flex-wrap:wrap;padding-inline:20px}.file-menu-popover>button{flex-wrap:wrap}.modal{padding:23px}.toast{font-size:var(--ui-small-font-size);bottom:56px}.workspace.panel-bottom .drawer,.workspace.panel-bottom .utility-panel{height:75%}.has-panel.panel-bottom .paper-viewport{bottom:0}}@media (width<=360px){.new-song-button{width:44px;padding:10px}.new-song-button>span{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
