.toast-host{right:var(--space-4);bottom:var(--space-4);z-index:1000;gap:var(--space-2);pointer-events:none;max-width:min(360px, calc(100vw - var(--space-6)));flex-direction:column;display:flex;position:fixed}.toast{align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-raised);color:var(--color-text);box-shadow:var(--shadow-soft);pointer-events:auto;font-size:.85rem;line-height:1.35;animation:.18s ease-out toast-in;display:flex}.toast--success{border-color:color-mix(in srgb, var(--color-success) 45%, var(--color-border))}.toast--error{border-color:color-mix(in srgb, var(--color-danger) 45%, var(--color-border));color:color-mix(in srgb, var(--color-danger) 20%, var(--color-text))}.toast__message{flex:1;min-width:0}.toast__dismiss{color:var(--color-text-muted);background:0 0;border:none;flex-shrink:0;width:1.25rem;height:1.25rem;padding:0;font-size:1.1rem;line-height:1}.toast__dismiss:hover{color:var(--color-text)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.confirm-dialog-backdrop{z-index:1100;padding:var(--space-5);background:#0c0a129e;justify-content:center;align-items:center;animation:.14s ease-out confirm-backdrop-in;display:flex;position:fixed;inset:0}.confirm-dialog{width:min(100%,380px);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);animation:.16s ease-out confirm-dialog-in}.confirm-dialog__title{margin:0 0 var(--space-2);color:var(--color-text);font-size:1.15rem}.confirm-dialog__message{margin:0 0 var(--space-5);color:var(--color-text-muted);font-size:.95rem;line-height:1.45}.confirm-dialog__actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.confirm-dialog__btn{padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);font-size:.9rem}.confirm-dialog__btn:hover{background:var(--color-surface-raised)}.confirm-dialog__btn--confirm{background:var(--color-accent-2);border-color:var(--color-accent-2);color:var(--color-bg);font-weight:600}.confirm-dialog__btn--confirm:hover{filter:brightness(1.06)}.confirm-dialog__btn--danger{background:var(--color-danger);border-color:var(--color-danger);color:#1a1014}.confirm-dialog__btn--danger:hover{filter:brightness(1.05)}@keyframes confirm-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes confirm-dialog-in{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.gear-palette{z-index:5;width:220px;padding:0 var(--space-3) var(--space-3);background:var(--color-surface);border-right:1px solid var(--color-border);gap:var(--space-2);scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;flex-direction:column;flex-shrink:0;display:flex;position:relative;overflow-y:auto}.gear-palette::-webkit-scrollbar{width:8px}.gear-palette::-webkit-scrollbar-track{background:0 0}.gear-palette::-webkit-scrollbar-thumb{background:var(--color-border);border:2px solid var(--color-surface);background-clip:padding-box;border-radius:999px}.gear-palette::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted);border:2px solid var(--color-surface);background-clip:padding-box}.gear-palette::-webkit-scrollbar-corner{background:0 0}.gear-palette__header{z-index:2;gap:var(--space-2);margin:0 calc(-1 * var(--space-3));padding:var(--space-2) var(--space-3);background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-direction:column;display:flex;position:sticky;top:0}.gear-palette__section:first-of-type{margin-top:var(--space-2)}.gear-palette__title{margin:0;font-size:.95rem;font-weight:600;line-height:1.2}.gear-palette__search-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.gear-palette__search{box-sizing:border-box;width:100%;padding:6px var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);font:inherit;font-size:.8rem}.gear-palette__search:focus{outline:2px solid var(--color-accent-2);outline-offset:1px}.gear-palette__section{margin:0}.gear-palette__section-toggle{align-items:center;gap:var(--space-2);width:100%;margin:0 0 var(--space-1);color:var(--color-text-muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:2px 0;display:flex}.gear-palette__section-toggle:hover{color:var(--color-text)}.gear-palette__section-chevron{flex-shrink:0;width:.75rem;font-size:.7rem;line-height:1;display:inline-block}.gear-palette__section-title{text-transform:uppercase;letter-spacing:.06em;flex:1;min-width:0;margin:0;font-size:.7rem;font-weight:600}.gear-palette__section-count{font-variant-numeric:tabular-nums;opacity:.8;flex-shrink:0;font-size:.65rem}.gear-palette__list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.gear-palette__item{width:100%;padding:6px var(--space-2);border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);text-align:left;box-shadow:var(--shadow-soft);cursor:pointer;align-items:center;font-size:.85rem;display:flex;position:relative}.gear-palette__item-main{align-items:center;gap:var(--space-2);flex:1;min-width:0;display:flex}.gear-palette__thumb{object-fit:contain;object-position:left center;width:48px;height:34px;image-rendering:pixelated;pointer-events:none;border-radius:2px;flex-shrink:0}.gear-palette__thumb--placeholder{opacity:.45;display:inline-block}.gear-palette__item-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.gear-palette__port-dots{z-index:1;background:var(--color-bg);pointer-events:none;justify-content:center;align-items:center;gap:3px;max-width:calc(100% - 12px);padding:0 4px;display:inline-flex;position:absolute;bottom:0;left:50%;overflow:hidden;transform:translate(-50%,50%)}.gear-palette__item:hover .gear-palette__port-dots{background:var(--color-surface-raised)}.gear-palette__port-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.gear-palette__port-dot--audio{background:var(--color-audio-port)}.gear-palette__port-dot--mod{background:var(--color-mod-port)}.gear-palette__port-dot--clock{background:var(--color-clock-port)}.gear-palette__port-dot--pitch{background:var(--color-pitch-port)}.gear-palette__port-dot--gate{background:var(--color-gate-port)}.gear-palette__port-dot--scene{background:var(--color-scene-port)}.gear-palette__item:hover{background:var(--color-surface-raised)}.gear-palette__item:active{cursor:grabbing}.gear-palette__tooltip{z-index:40;width:min(240px,100vw - 16px);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-raised,var(--color-surface));color:var(--color-text);box-shadow:var(--shadow-soft);pointer-events:none;position:fixed}.gear-palette__tooltip-summary{margin:0 0 var(--space-2);font-size:.85rem;font-weight:600;line-height:1.3}.gear-palette__tooltip-description{color:var(--color-text-muted);margin:0;font-size:.8rem;line-height:1.4}.gear-palette__tooltip-ports{gap:var(--space-1);margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.gear-palette__tooltip-ports-row{gap:var(--space-2);align-items:flex-start;font-size:.72rem;line-height:1.35;display:flex}.gear-palette__tooltip-ports-dir{color:var(--color-text-muted);letter-spacing:.02em;text-transform:uppercase;flex:0 0 1.75rem;font-weight:600}.gear-palette__tooltip-ports-list{flex-wrap:wrap;gap:2px 8px;min-width:0;display:flex}.gear-palette__tooltip-port{color:var(--color-text);align-items:center;gap:4px;display:inline-flex}.gear-palette__tooltip-port .gear-palette__port-dot{width:5px;height:5px}.clock-bpm-input{z-index:15;color:#201828;font-family:var(--font-sans);text-align:center;box-sizing:border-box;appearance:textfield;background:#e8e0f8;border:1px solid #201828;border-radius:2px;padding:0 2px;font-size:10px;font-weight:700;line-height:1;position:absolute}.clock-bpm-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.clock-bpm-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.clock-bpm-input:focus{border-color:#b8a0e0;outline:none;box-shadow:0 0 0 1px #b8a0e0}.module-actions{z-index:20;gap:var(--space-2);pointer-events:none;background:0 0;border:none;padding:0;display:flex;position:absolute}.module-actions__btn{padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-raised);color:var(--color-text);white-space:nowrap;cursor:pointer;box-shadow:var(--shadow-soft);pointer-events:auto;font-size:.8rem;line-height:1.2}.module-actions__btn:hover{background:var(--color-surface)}.module-actions__btn--danger{border-color:var(--color-danger);color:var(--color-danger)}.module-actions__btn--danger:hover{background:color-mix(in srgb, var(--color-danger) 12%, var(--color-bg))}.sticker-picker{right:var(--space-4);bottom:var(--space-4);z-index:30;align-items:flex-end;gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex;position:absolute}.sticker-picker__fab,.sticker-picker__item{pointer-events:auto}.sticker-picker__fab{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-raised);color:var(--color-text);font:inherit;box-shadow:var(--shadow-soft);cursor:pointer;font-size:.85rem;display:inline-flex}.sticker-picker__fab:hover{border-color:color-mix(in srgb, var(--color-accent-2) 50%, var(--color-border))}.sticker-picker__tray{padding:var(--space-2);gap:var(--space-1);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-raised);box-shadow:var(--shadow-soft);margin:0;list-style:none;display:flex}.sticker-picker__item{border-radius:var(--radius-sm);background:var(--color-surface);cursor:grab;border:1px solid #0000;place-items:center;width:40px;height:40px;font-size:1.35rem;line-height:1;display:grid}.sticker-picker__item:hover{border-color:var(--color-accent-2);background:color-mix(in srgb, var(--color-accent-2) 12%, var(--color-surface))}.sticker-picker__item:active{cursor:grabbing}.notification-bell__btn{position:relative}.notification-bell__badge{background:var(--color-danger);min-width:1rem;height:1rem;color:var(--color-bg);text-align:center;pointer-events:none;border-radius:999px;padding:0 3px;font-size:.65rem;font-weight:700;line-height:1rem;position:absolute;top:0;right:0}.notification-bell__menu{flex-direction:column;width:min(320px,100vw - 2rem);min-width:260px;max-height:min(420px,70vh);padding:0;display:flex;overflow:hidden}.notification-bell__header{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);color:var(--color-text);font-size:.8rem;font-weight:500;display:flex}.notification-bell__mark-all{color:var(--color-accent-2);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem}.notification-bell__mark-all:hover{text-decoration:underline}.notification-bell__empty{padding:var(--space-4) var(--space-3);color:var(--color-text-muted);text-align:center;margin:0;font-size:.85rem}.notification-bell__list{padding:var(--space-1);margin:0;list-style:none;overflow-y:auto}.notification-bell__item{padding:var(--space-2);border-radius:var(--radius-sm);color:var(--color-text);flex-direction:column;gap:2px;text-decoration:none;display:flex}.notification-bell__item:hover{background:var(--color-bg)}.notification-bell__item--unread{background:color-mix(in srgb, var(--color-accent-2) 12%, transparent)}.notification-bell__item--unread:hover{background:color-mix(in srgb, var(--color-accent-2) 20%, transparent)}.notification-bell__text{font-size:.85rem;line-height:1.35}.notification-bell__when{color:var(--color-text-muted);font-size:.7rem}.coop-session-modal{width:min(100%,420px)}.coop-session-modal__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.coop-session-modal__header .confirm-dialog__title{margin-bottom:0}.coop-session-modal__close{color:var(--color-text-muted);padding:0 var(--space-1);cursor:pointer;background:0 0;border:none;font-size:1.4rem;line-height:1}.coop-session-modal__close:hover{color:var(--color-text)}.coop-session-modal__status{margin-top:var(--space-3);margin-bottom:var(--space-4)}.coop-session-modal__section{margin-bottom:var(--space-4)}.coop-session-modal__label{margin:0 0 var(--space-2);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);font-size:.8rem;font-weight:600}.coop-session-modal__peers{gap:var(--space-1);color:var(--color-text);flex-direction:column;margin:0;padding:0;font-size:.95rem;list-style:none;display:flex}.coop-session-modal__you,.coop-session-modal__host{color:var(--color-text-muted);font-size:.85rem}.coop-session-modal__link{margin:0 0 var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);word-break:break-all;font-size:.8rem;line-height:1.35}.coop-session-modal__actions{margin-top:var(--space-2);justify-content:flex-start}.toolbar{gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-direction:column;display:flex}.toolbar__row{align-items:center;gap:var(--space-3);min-height:40px;display:flex}.toolbar__brand{align-items:center;gap:var(--space-2);flex-direction:row;flex-shrink:0;display:flex}.toolbar__mark{width:32px;height:32px;image-rendering:pixelated;border-radius:var(--radius-sm);flex-shrink:0}.toolbar__logo{letter-spacing:.02em;color:var(--color-text);font-size:1.2rem;font-weight:400;line-height:1.2}.toolbar__divider{background:var(--color-border);flex-shrink:0;align-self:stretch;width:1px;min-height:28px}.toolbar__group{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.toolbar__group-label{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);padding-right:var(--space-1);-webkit-user-select:none;user-select:none;font-size:.65rem;font-weight:600}.toolbar__spacer{min-width:var(--space-2);flex:1}.toolbar__input,.toolbar__select{padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);font-size:.85rem;line-height:1.3}.toolbar__input--name{width:min(180px,22vw);min-width:120px}.toolbar__save-status{color:var(--color-text-muted);white-space:nowrap;font-size:.75rem}.toolbar__save-status--saved{color:var(--color-success)}.toolbar__save-status--error{color:var(--color-danger)}.toolbar__save-status--dirty{font-style:italic}.toolbar__btn{padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);white-space:nowrap;box-shadow:var(--shadow-soft);font-size:.85rem;line-height:1.3}.toolbar__btn:hover{background:var(--color-surface-raised)}.toolbar__btn--menu{min-width:4.5rem}.toolbar__btn--user{color:var(--color-accent-3)}.toolbar__btn--accent{background:var(--color-surface-raised);border-color:var(--color-accent-3)}.toolbar__btn--primary{background:var(--color-accent-2);border-color:var(--color-accent-2)}.toolbar__btn--danger{border-color:var(--color-danger);color:var(--color-danger);background:0 0}.toolbar__btn--icon{justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;display:inline-flex}.toolbar__btn--icon:disabled{opacity:.45;cursor:not-allowed}.toolbar__icon{display:block}.toolbar__pill{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg);align-items:center;font-size:.8rem;font-weight:600;display:inline-flex}.toolbar__pill--live{color:var(--color-success);border-color:color-mix(in srgb, var(--color-success) 40%, var(--color-border))}.toolbar__pill--coop{cursor:pointer;color:var(--color-accent-2);border-color:color-mix(in srgb, var(--color-accent-2) 40%, var(--color-border));font:inherit}.toolbar__pill--coop:hover{background:var(--color-surface-raised)}.toolbar-dropdown{position:relative}.toolbar-dropdown__menu{top:calc(100% + var(--space-1));z-index:200;min-width:168px;padding:var(--space-1);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);position:absolute;right:0}.toolbar-dropdown__header{padding:var(--space-2) var(--space-2) var(--space-1);color:var(--color-accent-3);font-size:.75rem;font-weight:600}.toolbar-dropdown__item{width:100%;padding:var(--space-2);border-radius:var(--radius-sm);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;font-size:.85rem;text-decoration:none;display:block}.toolbar-dropdown__item:hover{background:var(--color-bg)}.toolbar-dropdown__item--primary{color:var(--color-accent-2);font-weight:600}.toolbar-dropdown__field{padding:var(--space-2);gap:var(--space-1);flex-direction:column;display:flex}.toolbar-dropdown__label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.7rem}.toolbar-dropdown__field .toolbar__select{width:100%}.toolbar-dropdown__field .toolbar-dropdown__item{padding:var(--space-1) var(--space-2)}.restore-session{z-index:100;padding:var(--space-4);background:#1a18248c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.restore-session__card{width:min(360px,100%);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-soft)}.restore-session__title{margin:0 0 var(--space-2);font-size:1rem;font-weight:600}.restore-session__name{margin:0 0 var(--space-4);color:var(--color-text-muted);font-size:.9rem}.restore-session__actions{gap:var(--space-2);display:flex}.restore-session__btn{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);flex:1;font-size:.85rem}.restore-session__btn--primary{border-color:var(--color-accent-2);background:var(--color-surface-raised)}.app-shell{flex-direction:column;height:100%;display:flex;overflow:hidden}.app-shell__body{flex:1;min-height:0;display:flex;overflow:hidden}.app-shell__canvas{flex:1;min-width:0;position:relative;overflow:hidden}.patch-canvas-host{width:100%;height:100%}.patch-canvas-host canvas{width:100%;height:100%;display:block}.site-nav{z-index:200;padding:var(--space-2) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0;position:sticky;top:0}.site-nav__row{align-items:center;gap:var(--space-3);min-height:40px;display:flex}.site-nav__brand{align-items:center;gap:var(--space-2);color:inherit;flex-direction:row;flex-shrink:0;text-decoration:none;display:flex}.site-nav__mark{width:32px;height:32px;image-rendering:pixelated;border-radius:var(--radius-sm);flex-shrink:0}.site-nav__logo{letter-spacing:.02em;color:var(--color-text);font-size:1.2rem;font-weight:400;line-height:1.2}.site-nav__divider{background:var(--color-border);flex-shrink:0;align-self:stretch;width:1px;min-height:28px}.site-nav__links{align-items:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.site-nav__link{padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);color:var(--color-text);border:1px solid #0000;font-size:.9rem;line-height:1.4;text-decoration:none}.site-nav__link:hover{background:var(--color-surface-raised)}.site-nav__link--active{background:var(--color-surface-raised);border-color:var(--color-accent-3);color:var(--color-accent-3);font-weight:500}.site-nav__spacer{min-width:var(--space-2);flex:1}.site-nav__account{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.auth-page{min-height:100vh;padding:var(--space-5);background:var(--color-bg);justify-content:center;align-items:center;display:flex}.auth-card{width:100%;max-width:400px;padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.auth-card h1{margin:0 0 var(--space-2);font-size:1.4rem;font-weight:400}.auth-card p{margin:0 0 var(--space-4);color:var(--color-text-muted);font-size:.9rem}.auth-form{gap:var(--space-3);flex-direction:column;display:flex}.auth-field{gap:var(--space-1);flex-direction:column;display:flex}.auth-field label{color:var(--color-text-muted);font-size:.85rem}.auth-field input{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg)}.auth-error{color:var(--color-danger);font-size:.85rem}.auth-submit{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-accent-2);color:var(--color-text);border:none;font-weight:600}.auth-link{margin-top:var(--space-3);color:var(--color-text-muted);text-align:center;font-size:.85rem}.auth-link a{color:var(--color-accent-2)}.auth-banner{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:color-mix(in srgb, var(--color-accent) 12%, var(--color-surface-raised));border:1px solid color-mix(in srgb, var(--color-accent) 35%, var(--color-border));border-radius:var(--radius-sm);color:var(--color-text);flex-wrap:wrap;font-size:.8rem;display:flex}.auth-banner__btn{padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);cursor:pointer;font-size:.8rem}.auth-banner__hint{color:var(--color-success);font-size:.8rem}.auth-banner--warn{border-color:color-mix(in srgb, var(--color-accent) 35%, var(--color-border))}.library-page,.profile-page,.public-patch-page{background:var(--color-bg);min-height:calc(100vh - 56px);padding:var(--space-5)}.library-header{margin-bottom:var(--space-5);justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.library-header h1{margin:0;font-weight:400}.library-bulk-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.library-selection-count{color:var(--color-text-muted);font-size:.9rem}.library-table{border-collapse:collapse;background:var(--color-surface);border-radius:var(--radius-md);width:100%;overflow:hidden}.library-table th,.library-table td{padding:var(--space-3);text-align:left;border-bottom:1px solid var(--color-border)}.library-table th{background:var(--color-surface-raised);color:var(--color-text-muted);font-size:.85rem}.library-select-col{text-align:center;vertical-align:middle;width:2.5rem}.library-checkbox{width:1rem;height:1rem;accent-color:var(--color-accent-2);cursor:pointer}.library-row--selected td{background:color-mix(in srgb, var(--color-accent-2) 12%, transparent)}.library-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.library-btn{padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);cursor:pointer;font-size:.8rem;text-decoration:none}.library-btn--danger{border-color:var(--color-danger);color:var(--color-danger)}.library-btn--primary{background:var(--color-accent-2);border-color:var(--color-accent-2);color:var(--color-bg)}.follow-button-wrap{align-items:center;gap:var(--space-2);margin:var(--space-2) 0;flex-wrap:wrap;display:flex}.follow-button-wrap__error{color:var(--color-danger)}.visibility-badge{border-radius:var(--radius-sm);text-transform:capitalize;padding:2px 8px;font-size:.75rem;display:inline-block}.visibility-badge--private{background:var(--color-surface-raised);color:var(--color-text-muted)}.visibility-badge--unlisted{background:var(--color-accent-3);color:var(--color-bg)}.visibility-badge--public{background:var(--color-accent-2);color:var(--color-bg)}.library-empty{color:var(--color-text-muted);padding:var(--space-5);text-align:center}.profile-header{margin-bottom:var(--space-5)}.profile-header h1{margin:0 0 var(--space-2);letter-spacing:.02em;font-weight:400}.profile-meta{color:var(--color-text-muted);font-size:.9rem}.patch-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.patch-card{padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);gap:var(--space-2);flex-direction:column;display:flex}.patch-thumb{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid var(--color-border);width:100%;height:auto;display:block}.patch-thumb--row{flex-shrink:0;width:100px;height:56px}.library-name-cell{align-items:center;gap:var(--space-3);display:flex}.patch-card h3{margin:0;font-size:1rem}.patch-card-footer{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.like-btn{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);cursor:pointer;font-size:.85rem;display:inline-flex}.like-btn--active{border-color:var(--color-accent);color:var(--color-accent)}.public-patch-page .patch-thumb{max-width:320px;margin-bottom:var(--space-4)}.public-patch-actions{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.profile-bio{align-items:flex-start;gap:var(--space-2);margin:var(--space-3) 0;flex-direction:column;max-width:36rem;display:flex}.profile-bio-text{white-space:pre-wrap;margin:0;line-height:1.45}.profile-bio-form{gap:var(--space-2);margin:var(--space-3) 0;flex-direction:column;width:100%;max-width:36rem;display:flex}.profile-bio-form label{color:var(--color-text-muted);font-size:.85rem}.profile-bio-form textarea,.comment-form textarea{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);font:inherit;resize:vertical}.profile-bio-form-footer,.comment-form-footer{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.comments-section{margin-top:var(--space-5);max-width:40rem;padding-top:var(--space-4);border-top:1px solid var(--color-border)}.comments-section h2{margin:0 0 var(--space-3);font-size:1.15rem}.comment-list{margin:0 0 var(--space-4);gap:var(--space-3);flex-direction:column;padding:0;list-style:none;display:flex}.comment-list--nested{margin:var(--space-3) 0 0;padding-left:var(--space-4);border-left:2px solid var(--color-border)}.comment-item{gap:var(--space-2);flex-direction:column;display:flex}.comment-meta{align-items:baseline;gap:var(--space-2);flex-wrap:wrap;display:flex}.comment-meta a{color:var(--color-text);font-weight:600;text-decoration:none}.comment-meta a:hover{color:var(--color-accent-2)}.comment-body{white-space:pre-wrap;margin:0;line-height:1.45}.comment-actions{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.comment-form{gap:var(--space-2);flex-direction:column;display:flex}.comment-form label{color:var(--color-text-muted);font-size:.85rem}.comment-form--reply{margin-top:var(--space-2)}.community-page{background:var(--color-bg);min-height:calc(100vh - 56px);padding:var(--space-5)}.community-page__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.community-page__header h1{margin:0 0 var(--space-1);font-weight:400}.community-layout{gap:var(--space-5);grid-template-columns:minmax(160px,200px) 1fr;align-items:start;display:grid}.community-sidebar{gap:var(--space-1);top:calc(56px + var(--space-3));padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex;position:sticky}.community-sidebar__item{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;font-size:.9rem}.community-sidebar__item:hover{background:var(--color-surface-raised)}.community-sidebar__item--active{background:var(--color-surface-raised);border:1px solid var(--color-accent-3);color:var(--color-accent-3);font-weight:600}.community-main__title{margin:0 0 var(--space-4);font-size:1.25rem;font-weight:400}.community-main__error{color:var(--color-danger)}.community-patch-card{position:relative}.community-patch-card__rank{top:var(--space-3);right:var(--space-3);color:var(--color-accent-3);font-size:.85rem;font-weight:700;position:absolute}.community-patch-card__author{color:var(--color-accent-3);font-size:.85rem;text-decoration:none}.community-patch-card__author:hover{text-decoration:underline}.community-feed{gap:var(--space-3);flex-direction:column;display:flex}.community-feed__item{padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.community-feed__header{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.community-feed__actor{color:var(--color-text);font-weight:600;text-decoration:none}.community-feed__actor:hover{color:var(--color-accent-3)}.community-feed__patch h3{margin:0 0 var(--space-2)}@media (width<=720px){.community-layout{grid-template-columns:1fr}.community-sidebar{flex-flow:wrap;position:static}}.desk-host{height:100%}.desk-host--parked{visibility:hidden;pointer-events:none;z-index:0;position:fixed;inset:0}html.app-browse h1,html.app-browse h2,html.app-browse h3{font-weight:400}:root{--color-bg:#1a1824;--color-surface:#262233;--color-surface-raised:#322c40;--color-table:#b8895c;--color-wood:#c49a6c;--color-wood-seam:#6a4228;--color-border:#3d3850;--color-accent:#e8a0a8;--color-accent-2:#9bb8e8;--color-accent-3:#c4a8e8;--color-text:#ebe6f2;--color-text-muted:#9a93a8;--color-audio-port:#e8a0a8;--color-mod-port:#8ec9a8;--color-clock-port:#8eb0e0;--color-pitch-port:#e8a0c8;--color-gate-port:#b8a0e8;--color-scene-port:#e8d080;--color-cv-port:#9bb8e8;--color-wire-audio:#e8929a;--color-wire-mod:#7ec09a;--color-wire-clock:#8eb0e0;--color-wire-pitch:#e892b8;--color-wire-gate:#b090e0;--color-wire-scene:#e0c870;--color-wire-cv:#8eb0e0;--color-success:#8ec9a8;--color-danger:#e88898;--color-knob:#3a3448;--color-knob-accent:#c4a8e8;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--shadow-soft:0 4px 16px #00000047;--font-sans:"Pixelify Sans", "Segoe UI", system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);overflow:hidden}html.app-browse,html.app-browse body,html.app-browse #root{height:auto;min-height:100%;overflow:hidden auto}button{font:inherit;cursor:pointer}input,select{font:inherit;color:inherit}
