.app-shell{position:relative;isolation:isolate;width:100%;height:100%;background:var(--color-canvas)}.board-menu{position:absolute;z-index:var(--layer-menu);top:calc(var(--space-5) + 3rem);left:var(--space-5);display:grid;width:min(19rem,100vw - 2 * var(--space-5));padding:var(--space-2);border:var(--panel-border);border-radius:var(--radius-lg);color:var(--color-text);background:var(--color-surface);box-shadow:var(--panel-shadow);animation:board-menu-in .15s ease-out}@keyframes board-menu-in{0%{opacity:0;transform:translateY(-.35rem) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.board-menu-account{display:grid;grid-template-columns:2.25rem minmax(0,1fr);gap:var(--space-2);align-items:center;padding:var(--space-2)}.board-menu-account .ui-avatar{width:2.25rem;height:2.25rem}.board-menu-account div{min-width:0}.board-menu-account strong,.board-menu-account small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-menu-account strong{font-size:var(--font-size-sm)}.board-menu-account small{margin-top:.125rem;color:var(--color-text-muted);font-size:var(--font-size-xs)}.board-menu-group{display:grid;gap:var(--space-1);padding:var(--space-2) 0;border-top:var(--panel-border)}.board-menu-group a,.board-menu-group button{display:flex;width:100%;min-height:2.5rem;gap:var(--space-3);align-items:center;padding:0 var(--space-3);border:0;border-radius:var(--radius-md);color:var(--color-text);background:transparent;font:inherit;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);text-align:left;text-decoration:none;cursor:pointer}.board-menu-group a:hover,.board-menu-group button:hover{background:var(--color-surface-hover)}.board-menu-group svg{width:1.15rem;height:1.15rem;flex:0 0 auto;fill:none;stroke:var(--color-tool);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.board-menu-group>p{margin:0 0 var(--space-1);padding:0 var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.06em;text-transform:uppercase}.board-menu-account-actions .board-menu-logout{color:var(--color-text-muted)}.board-menu-toggle{display:grid;width:2.25rem;height:2.25rem;place-items:center;padding:0;border-radius:var(--radius-md);color:var(--color-text);background:transparent}.board-menu-toggle:hover{background:var(--color-surface-hover)}.board-menu-toggle svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.8}.board-viewport{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.board-canvas{display:block;width:100%;height:100%;cursor:default;outline:none;touch-action:none}.top-bar,.left-toolbar,.shape-picker,.contextual-color-palette,.history-toolbar,.zoom-toolbar,.board-hint{position:absolute;z-index:var(--layer-ui);border:var(--panel-border);background:var(--color-surface);box-shadow:var(--panel-shadow);-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur)}.top-bar{top:var(--space-5);left:var(--space-5);display:flex;align-items:center;gap:.6875rem;min-width:11.875rem;padding:.5625rem var(--space-3) .5625rem .5625rem;border-radius:.8125rem}.top-bar h1,.top-bar p{margin:0}.top-bar h1{font-size:var(--font-size-lg);line-height:1.125rem}.top-bar p{color:var(--color-text-subtle);font-size:var(--font-size-xs)}.brand-mark{display:inline-grid;width:2.125rem;height:2.125rem;place-items:center;text-decoration:none}.brand-logo{position:relative;display:inline-block;width:100%;height:100%}.brand-logo img{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;object-fit:contain}.brand-logo__dark{display:none!important}:root[data-theme=dark] .brand-logo__light{display:none!important}:root[data-theme=dark] .brand-logo__dark{display:block!important}.ui-button{display:inline-flex;min-height:2.25rem;align-items:center;justify-content:center;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);background:var(--color-surface-muted);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.ui-button:hover:not(:disabled){background:var(--color-surface-hover)}.ui-button--primary{border-color:transparent;color:var(--color-on-dark);background:var(--color-primary);font-weight:var(--font-weight-bold)}.ui-button--primary:hover:not(:disabled){background:var(--color-primary-hover)}.ui-button--danger{color:var(--color-danger)}.ui-button--danger:hover:not(:disabled){border-color:var(--color-danger);background:var(--color-danger-surface)}.ui-button--ghost{border-color:transparent;background:transparent}.ui-button--ghost:hover:not(:disabled){background:var(--color-surface-hover)}.ui-dialog{max-height:min(42rem,100vh - 2rem);overflow:auto;backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur)}.ui-input{border:0;border-radius:var(--radius-md);color:var(--color-text);background:var(--color-surface-muted);font:inherit;outline:0;box-shadow:var(--control-shadow);transition:background .12s ease,box-shadow .12s ease}.ui-input:hover{background:var(--color-surface-hover)}.ui-input:focus{background:var(--color-surface);box-shadow:0 0 0 3px var(--color-primary-focus),var(--control-shadow-focus)}.ui-select{position:relative}.ui-select-trigger{display:flex;width:100%;min-height:2.5rem;align-items:center;justify-content:space-between;gap:var(--space-2);padding:0 var(--space-2);border:0;border-radius:var(--radius-md);color:var(--color-text);background:var(--color-surface-muted);box-shadow:var(--control-shadow);font:inherit;text-align:left;cursor:pointer}.ui-select-trigger:hover{background:var(--color-surface-hover)}.ui-select-trigger:focus-visible{outline:0;box-shadow:0 0 0 3px var(--color-primary-focus),var(--control-shadow-focus)}.ui-select-trigger:disabled{opacity:.55;cursor:default}.ui-select-trigger svg{width:1rem;height:1rem;flex:0 0 auto;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ui-select-menu{position:absolute;z-index:var(--layer-menu);top:calc(100% + var(--space-1));right:0;left:0;display:grid;gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--panel-shadow);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur)}.ui-select-menu button{min-height:2.25rem;padding:0 var(--space-2);border:0;border-radius:var(--radius-sm);color:var(--color-text);background:transparent;font:inherit;font-size:var(--font-size-sm);text-align:left;cursor:pointer}.ui-select-menu button:hover,.ui-select-menu button.is-selected{color:var(--color-primary);background:var(--color-primary-soft)}.ui-avatar{flex:0 0 auto;border-radius:var(--radius-round);object-fit:cover;overflow:hidden}.active-users{position:relative;display:flex;margin-left:auto;padding-left:var(--space-2)}.board-timer-indicator{display:grid;width:2.25rem;height:2.25rem;place-items:center;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);background:var(--color-surface-muted);font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);cursor:pointer}.board-timer-indicator.is-running{color:var(--color-primary);background:var(--color-primary-soft)}.board-timer-indicator:hover{border-color:var(--color-primary);background:var(--color-surface-hover)}.board-timer-indicator.is-running{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-soft);animation:timer-pulse .22s ease-out}.board-timer-indicator svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.board-timer-control{position:relative}.board-header-actions{display:flex;gap:0;align-items:center}.board-header-actions .board-header-icon,.board-header-actions .board-timer-indicator,.board-header-actions .share-button{width:1.75rem;min-height:2rem;margin:0;padding:0;border:0;border-radius:var(--radius-md);background:transparent;transition:width .18s ease,background .18s ease,border-radius .18s ease}.board-header-actions .share-button{margin-left:0}.board-header-actions .board-timer-indicator.is-running{width:auto;min-width:3.1rem;padding:0 var(--space-2);color:var(--color-primary);background:var(--color-primary-soft)}.board-header-actions svg{transition:transform .18s ease}.board-header-actions .board-header-icon:hover,.board-header-actions .board-timer-indicator:not(.is-running):hover,.board-header-actions .share-button:hover,.board-header-actions .board-header-icon.is-open,.board-header-actions .board-timer-indicator:not(.is-running).is-open,.board-header-actions .share-button.is-open,.board-header-actions .board-header-icon:focus-visible,.board-header-actions .board-timer-indicator:not(.is-running):focus-visible,.board-header-actions .share-button:focus-visible{width:2.25rem;border-color:transparent;background:var(--color-surface-hover)}.board-header-actions .board-header-icon:hover svg,.board-header-actions .board-timer-indicator:hover svg,.board-header-actions .share-button:hover svg,.board-header-actions .board-header-icon.is-open svg,.board-header-actions .board-timer-indicator.is-open svg,.board-header-actions .share-button.is-open svg,.board-header-actions .board-header-icon:focus-visible svg,.board-header-actions .board-timer-indicator:focus-visible svg,.board-header-actions .share-button:focus-visible svg{transform:scale(1.16)}.board-reaction-control{position:relative}.reaction-popover{position:absolute;z-index:var(--layer-menu);top:calc(100% + var(--space-2));left:50%;transform:translate(-50%);width:max-content;padding:var(--space-2);border:var(--panel-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--panel-shadow);-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur)}.reaction-popover>div{display:flex;gap:.15rem}.reaction-popover button{border:0;border-radius:var(--radius-md);background:transparent;cursor:pointer}.reaction-popover>div button{width:2.25rem;height:2.25rem;font-size:1.25rem}.reaction-popover button:hover{background:var(--color-surface-hover)}.reaction-celebrate{width:100%;margin-top:var(--space-1);padding:var(--space-2);color:var(--color-text);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-align:left}.remote-reaction{position:absolute;z-index:calc(var(--layer-ui) - 1);display:grid;justify-items:center;bottom:-3rem;left:50%;pointer-events:none;animation:reaction-rise 2.2s ease-out forwards;transform:translate(-50%)}.remote-reaction strong{font-size:2rem;line-height:1;filter:drop-shadow(0 2px 3px color-mix(in srgb,var(--color-text) 25%,transparent))}.remote-reaction span{margin-top:.2rem;padding:.18rem .4rem;border-radius:var(--radius-sm);color:var(--color-on-dark);background:var(--remote-color);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap}@keyframes reaction-rise{0%{opacity:0;transform:translate(-50%) scale(.7)}12%,72%{opacity:1}to{opacity:0;transform:translate(-50%,calc(-100vh + 5rem)) scale(1.08)}}.timer-popover{position:absolute;z-index:var(--layer-menu);top:calc(100% + var(--space-3));right:auto;left:50%;transform:translate(-50%);display:grid;width:15rem;gap:var(--space-3);padding:var(--space-4);border:var(--panel-border);border-radius:var(--radius-lg);color:var(--color-text);background:var(--color-surface);box-shadow:var(--panel-shadow)}.timer-popover strong{color:var(--color-text-strong);font-size:var(--font-size-lg)}.timer-popover p,.timer-popover label,.timer-popover small{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.timer-popover label{font-weight:var(--font-weight-semibold)}.timer-stepper{display:grid;grid-template-columns:2.25rem 1fr 2.25rem;gap:var(--space-1)}.timer-stepper button,.timer-stepper input{min-width:0;height:2.4rem;border:0;border-radius:var(--radius-sm);color:var(--color-text);background:var(--color-surface-muted);font:inherit;text-align:center}.timer-stepper button{font-size:var(--font-size-lg);cursor:pointer}.timer-stepper button:hover{background:var(--color-surface-hover)}.timer-popover-header{display:flex;gap:var(--space-3);align-items:center;justify-content:space-between}.timer-popover-header .ui-button{min-height:2rem;margin:0;padding:0 var(--space-2);font-size:var(--font-size-xs)}.board-header-icon{position:relative;display:grid;width:2.25rem;min-height:2.25rem;place-items:center;margin-left:0;padding:0;color:var(--color-tool)}.board-header-icon svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.top-bar [data-tooltip]:after{top:calc(100% + .625rem);left:50%;transform:translate(-50%,-.2rem)}.top-bar [data-tooltip]:hover:after,.top-bar [data-tooltip]:focus-visible:after{transform:translate(-50%)}@keyframes timer-pulse{0%{transform:scale(1)}55%{transform:scale(1.16)}to{transform:scale(1)}}.active-user-button{display:block;padding:0;border:0;border-radius:var(--radius-round);background:transparent;cursor:pointer}.active-user-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.active-user-button.is-following .active-user-avatar{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-focus)}.active-user-avatar{display:grid;width:1.75rem;height:1.75rem;place-items:center;margin-left:-.375rem;border:2px solid var(--color-surface);border-radius:var(--radius-round);color:var(--color-on-dark);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);object-fit:cover}.follow-user-menu{position:absolute;z-index:var(--layer-menu);top:calc(100% + var(--space-3));right:0;display:grid;min-width:10rem;gap:var(--space-2);padding:var(--space-3);border:var(--panel-border);border-radius:var(--radius-md);color:var(--color-text);background:var(--color-surface);box-shadow:var(--panel-shadow)}.follow-user-menu strong{font-size:var(--font-size-sm)}.follow-user-menu small{color:var(--color-text-muted);font-size:var(--font-size-xs)}.follow-user-menu button{min-height:2rem;padding:0 var(--space-2);border:0;border-radius:var(--radius-sm);color:var(--color-text);background:var(--color-surface-hover);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer}.follow-user-menu button:disabled{opacity:.55;cursor:default}.share-button,.secondary-action{min-height:2.25rem;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);background:var(--color-surface-muted);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.share-button:hover:not(:disabled),.secondary-action:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-surface-hover)}.share-button{margin-left:var(--space-2)}.dialog-backdrop{position:fixed;z-index:var(--layer-menu);top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:var(--space-4);background:color-mix(in srgb,var(--color-text) 35%,transparent);backdrop-filter:blur(.25rem);-webkit-backdrop-filter:blur(.25rem)}.share-dialog{width:min(100%,32rem);max-height:min(42rem,100vh - 2rem);overflow:auto;padding:var(--space-5);border:var(--panel-border);border-radius:var(--radius-xl);color:var(--color-text);background:var(--color-surface);box-shadow:var(--panel-shadow)}.share-dialog header{display:flex;align-items:flex-start;justify-content:space-between}.share-dialog h2,.share-dialog h3,.share-dialog p{margin:0}.share-dialog h2{margin-top:var(--space-1);font-size:var(--font-size-xl)}.share-dialog .route-error,.share-dialog .share-notice{margin-top:var(--space-3)}.dialog-close{display:grid;width:2rem;height:2rem;place-items:center;border-radius:var(--radius-md);color:var(--color-text-muted);background:transparent;font-size:1.5rem;line-height:1}.dialog-close:hover{color:var(--color-text);background:var(--color-surface-hover)}.share-notice{color:var(--color-primary);font-size:var(--font-size-sm)}.share-link-result{display:flex;gap:var(--space-2);align-items:center;margin-top:var(--space-4)}.share-board-name{display:grid;gap:var(--space-2);margin-top:var(--space-4)}.share-board-name label{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.share-board-name input{width:100%;min-width:0}.share-dialog input{min-height:2.5rem;padding:0 var(--space-2);border:0;border-radius:var(--radius-md);color:var(--color-text);background:var(--color-surface-muted);font:inherit}.share-link-result input{width:100%;min-width:0}.share-link-creator{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);align-items:end;margin-top:var(--space-4)}.share-link-creator>div:first-child{display:grid;gap:var(--space-2)}.share-link-creator label{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.share-link-creator .primary-action{min-height:2.5rem;margin:0}.share-link-creator .share-link-result{grid-column:1/-1;margin-top:0}.confirm-dialog{width:min(100%,25rem);padding:var(--space-5);border:var(--panel-border);border-radius:var(--radius-xl);color:var(--color-text);background:var(--color-surface);box-shadow:var(--panel-shadow);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur)}.confirm-dialog h2,.confirm-dialog p{margin:0}.confirm-dialog h2{color:var(--color-text-strong);font-size:1.35rem;letter-spacing:-.03em}.confirm-dialog p{margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.5}.confirm-dialog>div{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-5)}.share-role-select{width:100%}.share-role-select .ui-select-trigger,.share-board-name input{font-size:var(--font-size-sm)}.share-link-result{align-items:stretch}.share-link-result input{font-size:var(--font-size-xs)}.share-description{margin-top:var(--space-4)!important;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.5}.share-members{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.share-members h3{font-size:var(--font-size-md)}.share-member{display:flex;gap:var(--space-2);align-items:center;margin-top:var(--space-3)}.share-member>.ui-avatar{display:grid;width:2rem;height:2rem;place-items:center;border-radius:var(--radius-round);color:var(--color-on-dark);background:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);object-fit:cover}.share-member>div{flex:1 1 auto;min-width:0}.share-member strong,.share-member small{display:block}.share-member strong{font-size:var(--font-size-sm)}.share-member small{overflow:hidden;color:var(--color-text-muted);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap}.share-member>small{text-transform:capitalize}.share-member .share-member-role{max-width:6.75rem;font-size:var(--font-size-xs)}.share-member .share-member-role .ui-select-trigger{min-height:2rem;font-size:var(--font-size-xs)}.member-action{min-height:2rem;padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--color-text-muted);background:transparent;font:inherit;font-size:var(--font-size-xs)}.member-action.is-danger:hover:not(:disabled){color:var(--color-danger);background:var(--color-danger-surface)}.share-member-actions{display:flex;flex:0 0 auto;gap:var(--space-1);align-items:center}.share-member-actions .share-member-role{width:6.75rem}.share-member-actions .member-action{white-space:nowrap}.share-pending{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.share-pending h3{margin:0;font-size:var(--font-size-md)}.share-pending-row{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-2);padding:var(--space-2);border-radius:var(--radius-md);background:var(--color-surface-muted)}.share-pending-row span,.share-pending-row small{display:block}.share-pending-row span{color:var(--color-text);font-size:var(--font-size-sm)}.share-pending-row small{margin-top:.125rem;color:var(--color-text-muted);font-size:var(--font-size-xs);text-transform:capitalize}.share-dialog-actions{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.remote-cursor{position:absolute;z-index:calc(var(--layer-ui) - 1);top:0;left:0;width:1.5rem;height:1.5rem;pointer-events:none}.remote-cursor svg{display:block;width:1.5rem;height:1.5rem;fill:var(--remote-color);stroke:var(--color-surface);stroke-linejoin:round;stroke-width:2;filter:drop-shadow(0 1px 2px color-mix(in srgb,var(--color-text) 35%,transparent))}.remote-cursor span{position:absolute;top:1.1rem;left:1rem;padding:.2rem .35rem;border-radius:var(--radius-sm);color:var(--color-on-dark);background:var(--remote-color);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap}.remote-lock-label{position:absolute;z-index:var(--layer-editor);max-width:11rem;padding:.2rem .4rem;border-radius:var(--radius-sm);color:var(--color-on-dark);background:var(--remote-color);box-shadow:0 1px 5px color-mix(in srgb,var(--color-text) 25%,transparent);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);overflow:hidden;pointer-events:none;text-overflow:ellipsis;white-space:nowrap;transform:translateY(-100%)}.route-page{display:grid;min-height:100%;place-items:center;padding:var(--space-5);color:var(--color-text);background:radial-gradient(circle at 20% 20%,var(--color-primary-soft),transparent 26rem),var(--color-canvas)}.workspace-page{height:100%;overflow-y:auto;overscroll-behavior-y:contain;color:var(--color-text);background:linear-gradient(135deg,var(--color-workspace-gradient),var(--color-canvas) 48%,var(--color-workspace-accent))}.workspace-header{display:flex;max-width:76rem;align-items:center;justify-content:space-between;margin:0 auto;padding:var(--space-4) var(--space-5)}.login-page{position:relative;isolation:isolate;overflow:hidden;background:var(--color-canvas)}.login-page:before,.login-page:after{position:absolute;z-index:-1;width:min(48vw,38rem);aspect-ratio:1;border-radius:var(--radius-round);content:"";filter:blur(1.25rem);pointer-events:none;will-change:transform}.login-page:before{top:-18rem;left:-15rem;background:radial-gradient(circle,var(--color-login-ambient-primary) 0%,color-mix(in srgb,var(--color-login-ambient-primary) 68%,transparent) 34%,color-mix(in srgb,var(--color-login-ambient-primary) 30%,transparent) 58%,transparent 78%);animation:login-ambient-primary 22s ease-in-out infinite}.login-page:after{right:-17rem;bottom:-19rem;background:radial-gradient(circle,var(--color-login-ambient-secondary) 0%,color-mix(in srgb,var(--color-login-ambient-secondary) 68%,transparent) 34%,color-mix(in srgb,var(--color-login-ambient-secondary) 30%,transparent) 58%,transparent 78%);animation:login-ambient-secondary 27s ease-in-out infinite}.login-page>*{position:relative;z-index:1}@keyframes login-ambient-primary{0%,to{transform:translate3d(-2rem,1rem,0) scale(.92)}28%{transform:translate3d(19vw,12vh,0) scale(1.12)}63%{transform:translate3d(8vw,42vh,0) scale(.98)}}@keyframes login-ambient-secondary{0%,to{transform:translate3d(2rem,-1rem,0) scale(.94)}37%{transform:translate3d(-17vw,-18vh,0) scale(1.1)}72%{transform:translate3d(-8vw,-43vh,0) scale(.97)}}@media(prefers-reduced-motion:reduce){.login-page:before,.login-page:after{animation:none}}.workspace-brand{display:flex;gap:var(--space-2);align-items:center}.workspace-brand>span{color:var(--color-text-strong);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);letter-spacing:-.02em}.workspace-user{display:flex;gap:var(--space-2);align-items:center;color:var(--color-text-muted);font-size:var(--font-size-sm);border:0;background:transparent;font:inherit;text-align:left;cursor:pointer}.workspace-user img,.workspace-user span{display:grid;width:2rem;height:2rem;place-items:center;border-radius:var(--radius-round);color:var(--color-on-dark);background:var(--color-primary);font-size:var(--font-size-sm);object-fit:cover}.workspace-account{position:relative;display:flex;gap:var(--space-2);align-items:center}.workspace-create-button{gap:var(--space-1);margin:0}.workspace-create-button span{font-size:var(--font-size-lg);font-weight:var(--font-weight-normal);line-height:1}.account-menu{position:absolute;z-index:var(--layer-menu);top:calc(100% + var(--space-2));right:0;display:grid;width:min(18rem,100vw - 2 * var(--space-5));gap:var(--space-1);padding:var(--space-2);border:var(--panel-border);border-radius:var(--radius-lg);color:var(--color-text);background:var(--color-surface);box-shadow:var(--panel-shadow);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);animation:board-menu-in .15s ease-out}.account-menu>button:not(.account-menu-logout){display:flex;min-height:2.5rem;gap:var(--space-3);align-items:center;padding:0 var(--space-3);border:0;border-radius:var(--radius-md);color:var(--color-text);background:transparent;font:inherit;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);text-align:left;cursor:pointer}.account-menu>button:not(.account-menu-logout):hover{background:var(--color-surface-hover)}.account-menu-profile{display:grid;grid-template-columns:2.25rem minmax(0,1fr);gap:var(--space-2);align-items:center;padding:var(--space-2)}.account-menu-profile .ui-avatar{width:2.25rem;height:2.25rem}.account-menu-profile div{min-width:0}.account-menu-profile strong,.account-menu-profile small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu-profile strong{font-size:var(--font-size-sm)}.account-menu-profile small{margin-top:.125rem;color:var(--color-text-muted);font-size:var(--font-size-xs)}.account-menu-logout{width:100%;justify-content:flex-start;gap:var(--space-3);margin:0;border-top:var(--panel-border);border-radius:0;color:var(--color-text-muted)}.account-menu-logout svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.workspace-content{width:min(100%,76rem);margin:0 auto;padding:clamp(1rem,2vw,1.75rem) var(--space-5) 4rem}.workspace-hero{display:flex;gap:var(--space-5);align-items:end;justify-content:space-between}.workspace-hero h1,.workspace-hero p{margin:0}.workspace-hero h1{margin-top:var(--space-2);color:var(--color-text-strong);font-size:clamp(2.25rem,5vw,4.5rem);letter-spacing:-.06em;line-height:.92}.workspace-hero>div>p:last-child{max-width:34rem;margin-top:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-md);line-height:1.6}.workspace-create{margin:0}.template-section{margin-top:clamp(2.5rem,6vw,5rem)}.workspace-section-heading{display:flex;gap:var(--space-5);align-items:end;justify-content:space-between}.workspace-section-heading h2,.workspace-section-heading p{margin:0}.workspace-section-heading h2{margin-top:var(--space-1);color:var(--color-text-strong);font-size:1.65rem;letter-spacing:-.04em}.workspace-section-heading>p{max-width:25rem;color:var(--color-text-muted);font-size:var(--font-size-md);text-align:right}.boards-heading{margin-top:clamp(2.75rem,6vw,5rem)}.template-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-4)}.template-card{display:flex;min-width:0;padding:0;border:0;flex-direction:column;color:var(--color-text);background:transparent;font:inherit;text-align:left;cursor:pointer}.template-card strong{margin-top:var(--space-3);color:var(--color-text-strong);font-size:var(--font-size-lg)}.template-card small{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.45}.template-card:hover .template-preview,.template-card:focus-visible .template-preview{box-shadow:0 0 0 3px var(--color-primary-focus),var(--panel-shadow);transform:translateY(-2px)}.template-card:focus-visible{outline:0}.template-preview{position:relative;display:grid;width:100%;aspect-ratio:1.35;overflow:hidden;place-items:center;border-radius:var(--radius-lg);color:var(--color-primary);background:var(--color-primary-soft);font-size:1.8rem;transition:transform .15s ease,box-shadow .15s ease}.template-preview span{position:relative;z-index:1}.template-preview i{position:absolute;width:1.7rem;height:1.7rem;border-radius:var(--radius-sm);background:var(--color-sticky-yellow);opacity:.8;transform:rotate(-5deg)}.template-preview i:nth-of-type(1){top:14%;left:12%}.template-preview i:nth-of-type(2){right:11%;bottom:13%;background:var(--color-sticky-blue);transform:rotate(4deg)}.template-preview i:nth-of-type(3){right:18%;top:11%;width:1.15rem;height:1.15rem;background:var(--color-sticky-green)}.template-preview.is-blank i{display:none}.template-preview.is-purple{color:var(--color-sticky-purple);background:var(--color-workspace-accent)}.template-preview.is-green{background:color-mix(in srgb,var(--color-sticky-green) 35%,var(--color-surface))}.template-preview.is-orange{color:var(--color-danger);background:color-mix(in srgb,var(--color-sticky-yellow) 35%,var(--color-surface))}.template-preview.is-red{color:var(--color-danger);background:var(--color-danger-surface)}@media(max-width:70rem){.template-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:38rem){.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-section-heading{align-items:start;flex-direction:column}.workspace-section-heading>p{text-align:left}}.workspace-board-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:var(--space-4);margin-top:var(--space-4)}.workspace-board-card{overflow:hidden;border:var(--panel-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--panel-shadow)}.workspace-board-card footer{display:flex;gap:var(--space-2);padding:0 var(--space-4) var(--space-4)}.workspace-board-main{display:flex;min-height:12.5rem;flex-direction:column;padding:var(--space-4);color:var(--color-text);text-decoration:none}.workspace-board-main strong{margin-top:auto;color:var(--color-text-strong);font-size:1.25rem;letter-spacing:-.025em}.workspace-board-main small{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-xs)}.board-monogram{display:grid;width:3rem;height:3rem;place-items:center;border-radius:var(--radius-lg);color:var(--color-on-dark);background:var(--color-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.board-monogram--blue{background:var(--color-board-avatar-blue)}.board-monogram--purple{background:var(--color-board-avatar-purple)}.board-monogram--green{background:var(--color-board-avatar-green)}.board-monogram--orange{background:var(--color-board-avatar-orange)}.board-monogram--red{background:var(--color-board-avatar-red)}.board-monogram--teal{background:var(--color-board-avatar-teal)}.board-role{align-self:flex-start;margin-top:var(--space-3);padding:.2rem .45rem;border-radius:var(--radius-round);color:var(--color-role-viewer);background:var(--color-role-viewer-surface);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.board-role--owner{color:var(--color-role-owner);background:var(--color-role-owner-surface)}.board-role--editor{color:var(--color-role-editor);background:var(--color-role-editor-surface)}.board-role--viewer{color:var(--color-role-viewer);background:var(--color-role-viewer-surface)}.board-card-action{min-height:2rem;flex:1;padding:0 var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);background:var(--color-surface-muted);font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.board-card-action:hover{color:var(--color-text);background:var(--color-surface-hover)}.board-card-action.is-danger:hover{border-color:var(--color-danger);color:var(--color-danger);background:var(--color-danger-surface)}.workspace-empty{grid-column:1/-1;display:grid;justify-items:center;padding:4rem var(--space-4);border:1px dashed var(--color-border);border-radius:var(--radius-xl);text-align:center}.workspace-empty h2,.workspace-empty p{margin:0}.workspace-empty h2{margin-top:var(--space-3);font-size:var(--font-size-lg)}.workspace-empty p{max-width:22rem;margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.5}.workspace-empty .ui-button{margin-top:var(--space-4)}.workspace-empty .board-monogram{width:3rem;height:3rem;border:0;color:transparent;background:transparent}.workspace-empty .board-monogram:before{content:"";width:3rem;height:3rem;background:var(--color-text-muted);mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6h16v12H4z'/%3E%3Cpath d='M4 14h4l2 3h4l2-3h4'/%3E%3C/svg%3E") center/contain no-repeat}.board-create-dialog{position:relative;width:min(100%,30rem);padding:clamp(1.25rem,4vw,2rem);border:var(--panel-border);border-radius:var(--radius-xl);color:var(--color-text);background:var(--color-surface);box-shadow:var(--panel-shadow)}.board-create-dialog h2,.board-create-dialog p{margin:0}.board-create-dialog .dialog-close{position:absolute;top:var(--space-3);right:var(--space-3)}.board-create-dialog h2{margin-top:var(--space-1);font-size:1.75rem;letter-spacing:-.04em}.board-create-dialog>p:last-of-type{margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-md);line-height:1.5}.board-create-dialog form{display:grid;gap:var(--space-2);margin-top:var(--space-5)}.board-create-dialog label{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.board-create-dialog input{min-height:2.75rem;padding:0 var(--space-3);border:0;border-radius:var(--radius-md);color:var(--color-text);background:var(--color-surface-muted);font:inherit}.board-create-dialog .create-dialog-actions{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-3)}.board-create-dialog .primary-action{min-height:2.5rem;margin:0}.recent-boards-section{margin-top:clamp(2.5rem,6vw,4.5rem)}.recent-boards-table-wrap{overflow-x:auto;margin-top:var(--space-4);border:var(--panel-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--panel-shadow);-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur)}.recent-boards-table{width:100%;min-width:56rem;border-collapse:collapse;font-size:var(--font-size-sm)}.recent-boards-table th,.recent-boards-table td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-border)}.recent-boards-table th{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.04em}.recent-boards-table th button{padding:0;color:inherit;background:transparent;font:inherit;cursor:pointer;text-transform:inherit;letter-spacing:inherit}.recent-boards-table th button:hover{color:var(--color-primary)}.recent-boards-table th:last-child,.recent-boards-table td:last-child{width:1%;white-space:nowrap;text-align:right}.recent-boards-table tbody tr:last-child td{border-bottom:0}.recent-boards-table tbody tr:hover{background:var(--color-surface-muted)}.recent-board-title,.recent-person{display:inline-flex;gap:var(--space-2);align-items:center;color:var(--color-text);text-decoration:none}.recent-board-title .board-monogram{width:2rem;height:2rem;border-radius:var(--radius-md);font-size:var(--font-size-xs)}.recent-person .ui-avatar{width:1.75rem;height:1.75rem}.recent-person>span{display:grid;gap:.1rem}.recent-person small{color:var(--color-text-muted);font-size:var(--font-size-xs)}.recent-board-actions{display:flex;justify-content:flex-end;gap:var(--space-1)}.recent-board-actions .ui-button{min-height:2rem;padding:0 var(--space-2);font-size:var(--font-size-xs)}.recent-board-view-only{color:var(--color-text-muted);font-size:var(--font-size-xs)}.recent-boards-empty{padding:4.25rem 2.5rem!important;color:var(--color-text-muted);text-align:center!important}.recent-boards-empty:before{content:"";display:grid;width:3rem;height:3rem;margin:0 auto var(--space-3);background:var(--color-text-muted);mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6h16v12H4z'/%3E%3Cpath d='M4 14h4l2 3h4l2-3h4'/%3E%3C/svg%3E") center/contain no-repeat}.recent-boards-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-sm)}.recent-boards-pagination>div{display:flex;gap:var(--space-2)}.recent-boards-pagination .ui-button{min-height:2rem;padding:0 var(--space-3);font-size:var(--font-size-xs)}.timer-dialog{position:relative;width:min(100%,25rem);padding:var(--space-5);border:var(--panel-border);border-radius:var(--radius-xl);color:var(--color-text);background:var(--color-surface);box-shadow:var(--panel-shadow)}.timer-dialog h2,.timer-dialog p{margin:0}.timer-dialog h2{margin-top:var(--space-1);color:var(--color-text-strong);font-size:2rem;letter-spacing:-.04em}.timer-dialog>p:not(.eyebrow):not(.route-error){margin-top:var(--space-2);color:var(--color-text-muted);line-height:1.5}.timer-dialog label{display:block;margin-top:var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.timer-dialog input{width:100%;min-height:2.75rem;margin-top:var(--space-2);padding:0 var(--space-3);border:0;border-radius:var(--radius-md);color:var(--color-text);background:var(--color-surface-muted);font:inherit}.timer-actions{display:flex;justify-content:flex-end;margin-top:var(--space-5)}.route-card{width:min(100%,58rem);padding:clamp(1.25rem,3vw,2rem);border:var(--panel-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--panel-shadow);-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur)}.route-card h1,.route-card p{margin:0}.route-card h1{margin-top:var(--space-1);font-size:clamp(2rem,5vw,3.25rem);line-height:1}.route-card p{max-width:36rem;margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-md);line-height:1.55}.login-card{max-width:44rem;padding:var(--space-5);border:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;text-align:center}.login-card p{margin-right:auto;margin-left:auto}.login-card h1{margin-top:clamp(2rem,5vw,4rem);font-size:clamp(2.4rem,5vw,4.25rem);line-height:.98;letter-spacing:-.055em;white-space:nowrap}.login-card>p:not(.login-motto){max-width:30rem;margin-top:var(--space-3);font-size:clamp(.9375rem,1.7vw,1.0625rem)}.login-card .primary-action{min-height:3.125rem;margin-top:var(--space-5);padding:0 var(--space-5);font-size:var(--font-size-lg)}.route-status,.route-error{margin-top:var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-md)}.route-error{color:var(--color-danger)}.route-brand{width:3rem;height:3rem;margin:0 auto var(--space-3);font-size:var(--font-size-xl)}.eyebrow{color:var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.route-card-header{display:flex;gap:var(--space-4);align-items:flex-start;justify-content:space-between}.primary-action{display:inline-flex;min-height:2.75rem;align-items:center;justify-content:center;margin-top:var(--space-4);padding:0 var(--space-4);border-radius:var(--radius-md);color:var(--color-on-dark);background:var(--color-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);text-decoration:none;white-space:nowrap}.primary-action:hover{background:var(--color-primary-hover)}.route-card-header .primary-action{margin-top:0}.board-list{display:grid;gap:var(--space-2);margin-top:var(--space-5)}.board-list-item{display:flex;gap:var(--space-3);align-items:center;justify-content:space-between;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);background:var(--color-surface-muted);text-decoration:none;transition:border-color .12s ease,background .12s ease,transform .12s ease}.board-list-item:hover{border-color:var(--color-primary);background:var(--color-surface-hover);transform:translateY(-1px)}.board-list-item strong,.board-list-item small{display:block}.board-list-item small{margin-top:.25rem;color:var(--color-text-muted);line-height:1.4}.left-toolbar{top:50%;left:var(--space-5);display:flex;flex-direction:column;gap:var(--space-1);padding:.375rem;border-radius:var(--radius-xl);transform:translateY(-50%)}.tool-context-group,.shape-tool-group{position:relative;display:grid}.shape-picker{top:50%;left:calc(100% + .75rem);display:flex;gap:var(--space-1);padding:.375rem;border-radius:var(--radius-xl);transform:translateY(-50%)}.contextual-color-palette{position:absolute;top:0;left:calc(100% + .75rem);display:flex;flex-direction:column;gap:.3125rem;align-items:center;padding:.375rem;border-radius:var(--radius-xl)}button{border:0;cursor:pointer}button:focus-visible{outline:3px solid var(--color-primary-focus);outline-offset:2px}button:disabled{cursor:default;opacity:.35}.tool-icon{display:grid;width:2.5rem;height:2.5rem;place-items:center;border-radius:var(--radius-md);background:transparent}.tool-icon:hover{background:var(--color-surface-hover)}.tool-icon.is-active{color:var(--color-on-dark);background:var(--color-primary)}.tool-icon svg,.shape-picker svg,.history-toolbar svg,.zoom-toolbar svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.color-swatch{width:1.625rem;height:1.625rem;border:2px solid var(--color-on-dark);border-radius:var(--radius-round);box-shadow:0 0 0 1px var(--color-swatch-border)}.color-swatch.is-selected{box-shadow:0 0 0 2px var(--color-primary),0 0 0 4px var(--color-primary-soft)}.color-swatch--white{background:var(--color-on-dark)}.color-swatch--yellow{background:var(--color-sticky-yellow)}.color-swatch--red{background:var(--color-sticky-red)}.color-swatch--green{background:var(--color-sticky-green)}.color-swatch--blue{background:var(--color-sticky-blue)}.color-swatch--purple{background:var(--color-sticky-purple)}.color-swatch--freehand-black{background:var(--color-freehand-black)}.color-swatch--freehand-red{background:var(--color-freehand-red)}.color-swatch--freehand-orange{background:var(--color-freehand-orange)}.color-swatch--freehand-yellow{background:var(--color-freehand-yellow)}.color-swatch--freehand-green{background:var(--color-freehand-green)}.color-swatch--freehand-blue{background:var(--color-freehand-blue)}.color-swatch--freehand-purple{background:var(--color-freehand-purple)}.color-swatch--text-default{background:var(--color-text-item-default)}.color-swatch--text-red{background:var(--color-text-item-red)}.color-swatch--text-orange{background:var(--color-text-item-orange)}.color-swatch--text-yellow{background:var(--color-text-item-yellow)}.color-swatch--text-green{background:var(--color-text-item-green)}.color-swatch--text-blue{background:var(--color-text-item-blue)}.color-swatch--text-purple{background:var(--color-text-item-purple)}.palette-divider{width:1.25rem;height:1px;background:var(--color-border)}.arrow-style-swatch{display:grid;width:2rem;height:2rem;place-items:center;border-radius:var(--radius-md);color:var(--color-tool);background:transparent}.arrow-style-swatch:hover,.arrow-style-swatch.is-selected{background:var(--color-primary-soft)}.arrow-style-swatch.is-selected{color:var(--color-primary)}.arrow-style-swatch svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.login-brand-lockup{display:flex;gap:clamp(var(--space-3),2vw,var(--space-5));align-items:center;justify-content:center;margin-bottom:var(--space-4)}.login-brand-lockup .login-brand-copy{display:grid;gap:var(--space-2);justify-items:start;text-align:left}.login-brand-lockup .login-brand-copy>span{color:var(--color-brand-neutral);font-size:clamp(2.2rem,6vw,3.75rem);font-weight:var(--font-weight-bold);letter-spacing:-.065em;line-height:1}.login-brand-lockup .route-brand{width:clamp(8rem,22vw,15rem);height:clamp(7.1rem,19.5vw,13.35rem);margin:0}.login-motto{margin-top:0!important;color:var(--color-primary)!important;font-size:var(--font-size-sm)!important;font-weight:var(--font-weight-semibold);letter-spacing:.015em}@media(max-width:31rem){.login-brand-lockup{flex-direction:column}.login-brand-lockup .login-brand-copy{justify-items:center;text-align:center}.login-card h1{white-space:normal}}.text-style-swatch{display:grid;width:2rem;height:2rem;place-items:center;border-radius:var(--radius-md);color:var(--color-tool);background:transparent;font-family:var(--font-family-base)}.text-style-swatch:hover,.text-style-swatch.is-selected{background:var(--color-primary-soft)}.text-style-swatch.is-selected{color:var(--color-primary)}.text-style-swatch.text-size-18{font-size:.75rem}.text-style-swatch.text-size-24{font-size:1rem}.text-style-swatch.text-size-32{font-size:1.25rem}.text-style-swatch.text-style-bold{font-weight:800}.text-style-swatch.text-style-italic{font-style:italic}.text-style-swatch.text-style-underline{text-decoration:underline}.text-palette{width:5rem;gap:var(--space-2)}.text-controls-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-1)}.text-controls-column{display:grid;gap:var(--space-1)}.text-color-trigger{display:grid;width:100%;grid-template-columns:1fr 1.1rem;gap:var(--space-1);align-items:center;padding:.375rem;border-radius:var(--radius-md);color:var(--color-text-muted);background:transparent;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-align:left}.text-color-trigger:hover,.text-color-trigger.is-open{background:var(--color-surface-hover)}.text-color-preview{display:block;height:1.1rem;border-radius:var(--radius-sm);background:var(--color-text-color-trigger)}.text-color-preview--default{background:var(--color-text-item-default)}.text-color-preview--red{background:var(--color-text-item-red)}.text-color-preview--orange{background:var(--color-text-item-orange)}.text-color-preview--yellow{background:var(--color-text-item-yellow)}.text-color-preview--green{background:var(--color-text-item-green)}.text-color-preview--blue{background:var(--color-text-item-blue)}.text-color-preview--purple{background:var(--color-text-item-purple)}.text-color-picker{position:absolute;top:0;left:calc(100% + .75rem);display:grid;grid-template-columns:repeat(2,1.625rem);gap:.375rem;padding:.375rem;border:var(--panel-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--panel-shadow);-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur)}.freehand-palette{width:5rem;gap:var(--space-2)}.freehand-controls-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-1)}.freehand-color-preview{display:block;height:1.1rem;border-radius:var(--radius-sm)}.freehand-color-preview--black{background:var(--color-freehand-black)}.freehand-color-preview--red{background:var(--color-freehand-red)}.freehand-color-preview--orange{background:var(--color-freehand-orange)}.freehand-color-preview--yellow{background:var(--color-freehand-yellow)}.freehand-color-preview--green{background:var(--color-freehand-green)}.freehand-color-preview--blue{background:var(--color-freehand-blue)}.freehand-color-preview--purple{background:var(--color-freehand-purple)}.freehand-color-picker{position:absolute;top:0;left:calc(100% + .75rem);display:grid;grid-template-columns:repeat(2,1.625rem);gap:.375rem;padding:.375rem;border:var(--panel-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--panel-shadow);-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur)}.history-toolbar{top:var(--space-5);right:var(--space-5);display:flex;padding:.3125rem;border-radius:var(--radius-lg)}.history-toolbar button,.zoom-toolbar button{display:grid;min-width:2.125rem;height:2rem;place-items:center;border-radius:var(--radius-sm);background:transparent}.history-toolbar button:not(:disabled):hover,.zoom-toolbar button:not(:disabled):hover{background:var(--color-surface-hover)}[data-tooltip]{position:relative}[data-tooltip]:after{position:absolute;z-index:var(--layer-menu);padding:.35rem .5rem;border-radius:var(--radius-sm);color:var(--color-tooltip-text);background:var(--color-tooltip-bg);content:attr(data-tooltip);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .12s ease,transform .12s ease}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after{opacity:1}.left-toolbar>[data-tooltip]:after,.tool-context-group>[data-tooltip]:after,.shape-tool-group>[data-tooltip]:after,.contextual-color-palette [data-tooltip]:after{top:50%;left:calc(100% + .625rem);transform:translate(-.2rem,-50%)}.shape-picker [data-tooltip]:after{top:calc(100% + .625rem);left:50%;transform:translate(-50%,-.2rem)}.shape-picker [data-tooltip]:hover:after,.shape-picker [data-tooltip]:focus-visible:after{transform:translate(-50%)}.left-toolbar>[data-tooltip]:hover:after,.left-toolbar>[data-tooltip]:focus-visible:after,.tool-context-group>[data-tooltip]:hover:after,.tool-context-group>[data-tooltip]:focus-visible:after,.shape-tool-group>[data-tooltip]:hover:after,.shape-tool-group>[data-tooltip]:focus-visible:after,.contextual-color-palette [data-tooltip]:hover:after,.contextual-color-palette [data-tooltip]:focus-visible:after{transform:translateY(-50%)}.left-toolbar .is-picker-open:after{visibility:hidden;opacity:0}.history-toolbar [data-tooltip]:after{top:calc(100% + .625rem);left:50%;transform:translate(-50%,-.2rem)}.history-toolbar [data-tooltip]:hover:after,.history-toolbar [data-tooltip]:focus-visible:after{transform:translate(-50%)}.zoom-toolbar [data-tooltip]:after{bottom:calc(100% + .625rem);left:50%;transform:translate(-50%,.2rem)}.zoom-toolbar [data-tooltip]:hover:after,.zoom-toolbar [data-tooltip]:focus-visible:after{transform:translate(-50%)}.zoom-toolbar{right:var(--space-5);bottom:var(--space-5);display:flex;align-items:center;padding:.3125rem;border-radius:var(--radius-lg)}.zoom-toolbar .zoom-value{min-width:3.375rem;font-size:var(--font-size-sm);font-variant-numeric:tabular-nums}.board-hint{bottom:var(--space-5);left:var(--space-5);padding:.5625rem var(--space-3);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:var(--font-size-xs);pointer-events:none}.board-hint.is-active{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.note-editor{position:absolute;z-index:var(--layer-editor);margin:0;border:0;border-radius:var(--space-1);outline:0;color:var(--color-text);font-family:var(--font-family-note);text-align:center;resize:none;overflow:hidden;box-shadow:var(--editor-shadow)}.standalone-text-editor{position:absolute;z-index:var(--layer-editor);margin:0;padding:0;border:0;outline:0;color:var(--color-text);background:transparent;font-family:var(--font-family-note);resize:none;overflow:hidden}.standalone-text-editor::placeholder{color:var(--color-text-muted);opacity:.65}.shape-text-editor{position:absolute;z-index:var(--layer-editor);margin:0;border:0;outline:0;color:var(--color-text);background:transparent;font-family:var(--font-family-note);text-align:center;resize:none;overflow:hidden}.shape-text-editor::placeholder{color:var(--color-text-muted);opacity:.65}.shape-text-editor.is-frame-title{text-align:left}.arrow-label-editor{position:absolute;z-index:var(--layer-editor);margin:0;border:0;outline:0;color:var(--color-tool);background:transparent;font-family:var(--font-family-note);line-height:1;text-align:center;transform:translate(-50%,-50%)}.arrow-label-editor::placeholder{color:var(--color-text-muted);opacity:.65}.board-context-menu{position:absolute;z-index:var(--layer-menu);width:12.5rem;padding:var(--space-1);border:var(--panel-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--panel-shadow);-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur)}.board-context-menu button{display:flex;width:100%;min-height:2.25rem;align-items:center;justify-content:space-between;padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--color-text);background:transparent;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.board-context-menu button:hover,.board-context-menu button:focus-visible{background:var(--color-surface-hover)}.board-context-menu button.is-danger{color:var(--color-danger)}.board-context-menu button.is-danger:hover,.board-context-menu button.is-danger:focus-visible{background:var(--color-danger-surface)}.board-context-menu .context-menu-separator{height:1px;margin:var(--space-1) var(--space-2);background:var(--color-border)}.board-context-menu kbd{color:var(--color-text-muted);font-family:var(--font-family-base);font-size:var(--font-size-xs);font-weight:400}@media(max-width:43.75rem){.top-bar{display:flex;min-width:0;padding-right:var(--space-2)}.top-bar .board-title-summary,.top-bar .active-users,.top-bar .share-button{display:none}.left-toolbar{left:var(--space-3)}.history-toolbar{right:var(--space-3)}.board-hint{display:none}.workspace-hero{align-items:flex-start;flex-direction:column}.workspace-create{width:100%}.workspace-user strong{display:none}}:root{color-scheme:light;--palette-coral: #ff7a6a;--palette-coral-strong: #ef6254;--palette-navy: #0f172a;--color-brand-neutral: #172435;--palette-slate-700: #334155;--palette-slate-500: #64748b;--palette-slate-300: #cbd5e1;--palette-slate-100: #f1f5f9;--palette-white: #ffffff;--palette-cyan: #06b8d4;--palette-purple: #8b5cf6;--palette-amber: #fbbf24;--palette-green: #10b981;--color-canvas: #f8fafc;--color-browser-chrome: var(--color-canvas);--color-grid: #d7e0ea;--color-surface: rgb(255 255 255 / 94%);--color-surface-muted: rgb(248 250 252 / 84%);--color-surface-hover: #f1f5f9;--color-text: var(--palette-slate-700);--color-text-strong: var(--palette-navy);--color-text-muted: var(--palette-slate-500);--color-text-subtle: #7b8ba0;--color-item-text: var(--palette-navy);--color-text-item-default: var(--palette-navy);--color-text-item-red: #c54b40;--color-text-item-orange: #b96612;--color-text-item-yellow: #8a6010;--color-text-item-green: #14785a;--color-text-item-blue: #14799a;--color-text-item-purple: #6740af;--color-text-color-trigger: var(--palette-navy);--color-primary: var(--palette-coral);--color-primary-hover: var(--palette-coral-strong);--color-primary-soft: rgb(255 122 106 / 14%);--color-primary-focus: rgb(255 122 106 / 30%);--color-workspace-gradient: #fff6f4;--color-workspace-accent: #f2f8ff;--color-login-ambient-primary: color-mix(in srgb, var(--color-primary) 32%, transparent);--color-login-ambient-secondary: color-mix(in srgb, var(--palette-cyan) 25%, transparent);--color-selection-fill: var(--palette-coral);--color-alignment-guide: var(--palette-coral);--color-danger: #d64b4b;--color-danger-surface: #fff1f0;--color-role-owner: #7652aa;--color-role-owner-surface: rgb(118 82 170 / 13%);--color-role-editor: #14799a;--color-role-editor-surface: rgb(20 121 154 / 13%);--color-role-viewer: var(--palette-slate-500);--color-role-viewer-surface: rgb(100 116 139 / 13%);--color-board-avatar-blue: #2783b9;--color-board-avatar-purple: #7652aa;--color-board-avatar-green: #16846a;--color-board-avatar-orange: #d77922;--color-board-avatar-red: #c95650;--color-board-avatar-teal: #168f9a;--color-arrow: var(--palette-slate-700);--color-freehand: var(--palette-slate-700);--color-freehand-black: var(--palette-slate-700);--color-freehand-red: #d64b4b;--color-freehand-orange: #d77922;--color-freehand-yellow: #bc8914;--color-freehand-green: #16846a;--color-freehand-blue: #2783b9;--color-freehand-purple: #7652aa;--color-laser: var(--palette-coral);--color-note-border: var(--palette-navy);--color-handle-fill: var(--palette-white);--color-frame-fill: var(--palette-white);--color-shape-fill: var(--palette-white);--color-shape-stroke: var(--palette-slate-700);--color-tool: var(--palette-navy);--color-tooltip-bg: var(--palette-navy);--color-tooltip-text: var(--palette-white);--color-on-dark: var(--palette-white);--color-border: rgb(15 23 42 / 9%);--color-swatch-border: rgb(15 23 42 / 14%);--color-sticky-white: var(--palette-white);--color-sticky-white-text: var(--palette-navy);--color-sticky-yellow: #f8d76e;--color-sticky-yellow-text: #63450b;--color-sticky-red: #ffaaa0;--color-sticky-red-text: #53201d;--color-sticky-green: #a9e7cf;--color-sticky-green-text: #14513d;--color-sticky-blue: #9edcff;--color-sticky-blue-text: #123f5b;--color-sticky-purple: #dbbaff;--color-sticky-purple-text: #43276d;--font-family-base: "Plus Jakarta Sans", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-note: "Plus Jakarta Sans", ui-sans-serif, sans-serif;--font-size-xs: .6875rem;--font-size-sm: .75rem;--font-size-md: .8125rem;--font-size-lg: .875rem;--font-size-xl: 1rem;--font-size-icon: 1.125rem;--font-weight-semibold: 650;--font-weight-bold: 800;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.125rem;--radius-sm: .4375rem;--radius-md: .5625rem;--radius-lg: .6875rem;--radius-xl: .875rem;--radius-round: 999px;--panel-border: 1px solid var(--color-border);--panel-blur: blur(.875rem);--panel-shadow: 0 .5rem 1.875rem rgb(15 23 42 / 9%);--control-shadow: 0 .15rem .45rem rgb(15 23 42 / 7%);--control-shadow-focus: 0 .2rem .6rem rgb(15 23 42 / 10%);--editor-shadow: 0 .5rem 1.875rem rgb(15 23 42 / 16%);--layer-ui: 10;--layer-editor: 20;--layer-menu: 30}:root[data-theme=dark]{color-scheme:dark;--color-canvas: #0f172a;--color-brand-neutral: #f8fbff;--color-browser-chrome: var(--color-canvas);--color-grid: #26354b;--color-surface: rgb(22 34 53 / 94%);--color-surface-muted: rgb(30 43 64 / 78%);--color-surface-hover: #263850;--color-text: #d9e2ef;--color-text-strong: var(--palette-white);--color-text-muted: #a6b5c9;--color-text-subtle: #b5c2d3;--color-item-text: #e6edf7;--color-text-item-default: #e6edf7;--color-text-item-red: #ff9a90;--color-text-item-orange: #ffc278;--color-text-item-yellow: #ffe078;--color-text-item-green: #7ee1bc;--color-text-item-blue: #7dd5ff;--color-text-item-purple: #c9afff;--color-text-color-trigger: #e6edf7;--color-primary: #ff8d80;--color-primary-hover: #ff7567;--color-primary-soft: rgb(255 141 128 / 17%);--color-primary-focus: rgb(255 141 128 / 32%);--color-workspace-gradient: #15243a;--color-workspace-accent: #1d263e;--color-login-ambient-primary: color-mix(in srgb, var(--color-primary) 21%, transparent);--color-login-ambient-secondary: color-mix(in srgb, var(--palette-cyan) 15%, transparent);--color-selection-fill: #ff8d80;--color-alignment-guide: #ff8d80;--color-danger: #ff9892;--color-danger-surface: rgb(255 152 146 / 14%);--color-role-owner: #c9afff;--color-role-owner-surface: rgb(201 175 255 / 16%);--color-role-editor: #7dd5ff;--color-role-editor-surface: rgb(125 213 255 / 16%);--color-role-viewer: #bbc7d7;--color-role-viewer-surface: rgb(187 199 215 / 15%);--color-board-avatar-blue: #58b8e9;--color-board-avatar-purple: #aa8fea;--color-board-avatar-green: #55bd94;--color-board-avatar-orange: #eaa35f;--color-board-avatar-red: #e47570;--color-board-avatar-teal: #54b6bd;--color-arrow: #d9e2ef;--color-freehand: #e6edf7;--color-freehand-black: #e6edf7;--color-freehand-red: #ff9a90;--color-freehand-orange: #ffc278;--color-freehand-yellow: #ffe078;--color-freehand-green: #7ee1bc;--color-freehand-blue: #7dd5ff;--color-freehand-purple: #c9afff;--color-laser: #ff8d80;--color-note-border: #020617;--color-handle-fill: var(--palette-white);--color-frame-fill: #172235;--color-shape-fill: #f8fafc;--color-shape-stroke: #b5c2d3;--color-tool: #f2f6fb;--color-tooltip-bg: #f2f6fb;--color-tooltip-text: var(--palette-navy);--color-on-dark: var(--palette-white);--color-border: rgb(226 232 240 / 13%);--color-swatch-border: rgb(226 232 240 / 19%);--panel-shadow: 0 .75rem 2rem rgb(2 6 23 / 35%);--control-shadow: 0 .15rem .45rem rgb(2 6 23 / 24%);--control-shadow-focus: 0 .2rem .6rem rgb(2 6 23 / 30%);--editor-shadow: 0 .75rem 2rem rgb(2 6 23 / 40%);--color-sticky-white: #263850;--color-sticky-white-text: #f2f6fb;--color-sticky-yellow: #a97917;--color-sticky-yellow-text: #fff5cd;--color-sticky-red: #944b48;--color-sticky-red-text: #fff0ef;--color-sticky-green: #3d806b;--color-sticky-green-text: #e1fff2;--color-sticky-blue: #367b9e;--color-sticky-blue-text: #e4f6ff;--color-sticky-purple: #7055a3;--color-sticky-purple-text: #f5edff}:root{color:var(--color-text-strong);background:var(--color-canvas);font-family:var(--font-family-base);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button,textarea{font:inherit}button{color:inherit}
