@charset "UTF-8";.excalidraw .Spinner{display:flex;align-items:center;justify-content:center;height:100%;margin-left:auto;margin-right:auto;--spinner-color: var(--icon-fill-color)}.excalidraw .Spinner svg{animation:rotate 1.6s linear infinite;animation-delay:var(--spinner-delay);transform-origin:center center}.excalidraw .Spinner circle{stroke:var(--spinner-color);animation:dash 1.6s linear 0s infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,300;stroke-dashoffset:0}50%{stroke-dasharray:150,300;stroke-dashoffset:-200}to{stroke-dasharray:1,300;stroke-dashoffset:-280}}.excalidraw .ToolIcon{border-radius:var(--border-radius-lg);display:inline-flex;align-items:center;position:relative;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.excalidraw .ToolIcon__hidden{display:none!important}.excalidraw .ToolIcon.fillable .ToolIcon_type_radio:checked+.ToolIcon__icon,.excalidraw .ToolIcon.fillable .ToolIcon_type_checkbox:checked+.ToolIcon__icon{--icon-fill-color: var(--color-on-primary-container)}.excalidraw .ToolIcon.fillable .ToolIcon_type_radio:checked+.ToolIcon__icon svg,.excalidraw .ToolIcon.fillable .ToolIcon_type_checkbox:checked+.ToolIcon__icon svg{fill:var(--icon-fill-color)}.excalidraw .ToolIcon .ToolIcon_type_radio:checked+.ToolIcon__icon,.excalidraw .ToolIcon .ToolIcon_type_checkbox:checked+.ToolIcon__icon{background:var(--color-surface-primary-container);--keybinding-color: var(--color-on-primary-container)}.excalidraw .ToolIcon .ToolIcon_type_radio:checked+.ToolIcon__icon svg,.excalidraw .ToolIcon .ToolIcon_type_checkbox:checked+.ToolIcon__icon svg{color:var(--color-on-primary-container)}.excalidraw .ToolIcon .ToolIcon__keybinding{bottom:4px;right:4px}.excalidraw .ToolIcon .ToolIcon__icon:hover{background:var(--button-hover-bg)}.excalidraw .ToolIcon .ToolIcon__icon:active{background:var(--button-hover-bg);border:1px solid var(--button-active-border)}.excalidraw .ToolIcon .ToolIcon__icon:active svg{color:var(--color-on-primary-container)}.excalidraw .ToolIcon .ToolIcon__icon[aria-disabled=true]{background:initial;border:none}.excalidraw .ToolIcon .ToolIcon__icon[aria-disabled=true] svg{color:var(--color-disabled)}.excalidraw .ToolIcon--plain{background-color:transparent}.excalidraw .ToolIcon--plain .ToolIcon__icon{width:2rem;height:2rem}.excalidraw .ToolIcon_type_radio,.excalidraw .ToolIcon_type_checkbox{position:absolute;opacity:0;pointer-events:none}.excalidraw .ToolIcon__icon{box-sizing:border-box;width:var(--default-button-size);height:var(--default-button-size);color:var(--icon-fill-color);display:flex;justify-content:center;align-items:center;border-radius:var(--border-radius-lg)}.excalidraw .ToolIcon__icon+.ToolIcon__label{margin-inline-start:0}.excalidraw .ToolIcon__icon svg{position:relative;width:var(--default-icon-size);height:var(--default-icon-size);color:var(--icon-fill-color)}.excalidraw .ToolIcon__label{display:flex;align-items:center;color:var(--icon-fill-color);font-family:var(--ui-font);margin:0 .8em;text-overflow:ellipsis}.excalidraw .ToolIcon__label .Spinner{margin-left:.6em}.excalidraw .ToolIcon_size_small .ToolIcon__icon{width:2rem;height:2rem;font-size:.8em}.excalidraw .ToolIcon_type_button,.excalidraw .Modal .ToolIcon_type_button{padding:0;border:none;margin:0;font-size:inherit;background-color:initial}.excalidraw .ToolIcon_type_button:focus-visible,.excalidraw .Modal .ToolIcon_type_button:focus-visible{box-shadow:0 0 0 2px var(--focus-highlight-color)}.excalidraw .ToolIcon_type_button.ToolIcon--selected,.excalidraw .Modal .ToolIcon_type_button.ToolIcon--selected{background-color:var(--button-gray-2)}.excalidraw .ToolIcon_type_button.ToolIcon--selected:active,.excalidraw .Modal .ToolIcon_type_button.ToolIcon--selected:active,.excalidraw .ToolIcon_type_button:active,.excalidraw .Modal .ToolIcon_type_button:active{background-color:var(--button-gray-3)}.excalidraw .ToolIcon_type_button:disabled,.excalidraw .Modal .ToolIcon_type_button:disabled{cursor:default}.excalidraw .ToolIcon_type_button:disabled:active,.excalidraw .ToolIcon_type_button:disabled:focus-visible,.excalidraw .ToolIcon_type_button:disabled:hover,.excalidraw .Modal .ToolIcon_type_button:disabled:active,.excalidraw .Modal .ToolIcon_type_button:disabled:focus-visible,.excalidraw .Modal .ToolIcon_type_button:disabled:hover{background-color:initial;border:none;box-shadow:none}.excalidraw .ToolIcon_type_button:disabled svg,.excalidraw .Modal .ToolIcon_type_button:disabled svg{color:var(--color-disabled)}.excalidraw .ToolIcon_type_button--show,.excalidraw .Modal .ToolIcon_type_button--show{visibility:visible}.excalidraw .ToolIcon_type_button--hide,.excalidraw .Modal .ToolIcon_type_button--hide{display:none!important}.excalidraw .ToolIcon_type_floating,.excalidraw .ToolIcon_type_floating:hover,.excalidraw .ToolIcon_type_floating:active{background-color:transparent}.excalidraw .ToolIcon_type_floating .ToolIcon__icon{background-color:var(--button-gray-1);width:2rem;height:2rem}.excalidraw .ToolIcon_type_floating .ToolIcon__icon:hover{background-color:var(--button-gray-2)}.excalidraw .ToolIcon_type_floating .ToolIcon__icon:active{background-color:var(--button-gray-3)}.excalidraw .ToolIcon__keybinding{position:absolute;bottom:2px;right:3px;font-size:.625rem;color:var(--keybinding-color);font-family:var(--ui-font);-webkit-user-select:none;user-select:none}:root[dir=ltr] .excalidraw .unlocked-icon{left:2px}:root[dir=rtl] .excalidraw .unlocked-icon{right:2px}.excalidraw .App-toolbar-container .ToolIcon__icon{width:var(--lg-button-size);height:var(--lg-button-size)}@media screen and (max-width:450px){.excalidraw .App-toolbar-container .ToolIcon__icon{width:1.8rem;height:1.8rem}}@media screen and (max-width:379px){.excalidraw .App-toolbar-container .ToolIcon__icon{width:1.5rem;height:1.5rem}}.excalidraw .App-toolbar-container .ToolIcon__icon svg{width:var(--lg-icon-size);height:var(--lg-icon-size)}.excalidraw .App-toolbar-container .ToolIcon__LaserPointer .ToolIcon__icon,.excalidraw .App-toolbar-container .ToolIcon__MagicButton .ToolIcon__icon{width:var(--default-button-size);height:var(--default-button-size)}.excalidraw button.standalone{display:flex;justify-content:center;align-items:center;padding:.625rem;width:var(--button-width, var(--default-button-size));height:var(--button-height, var(--default-button-size));box-sizing:border-box;border-width:1px;border-style:solid;border-color:var(--button-border, var(--default-border-color));border-radius:var(--border-radius-lg);cursor:pointer;background-color:var(--button-bg, var(--island-bg-color));color:var(--button-color, var(--color-on-surface));font-family:var(--ui-font);padding:0}.excalidraw button.standalone svg{width:var(--button-width, var(--lg-icon-size));height:var(--button-height, var(--lg-icon-size))}.excalidraw button.standalone:hover{background-color:var(--button-hover-bg, var(--island-bg-color));border-color:var(--button-hover-border, var(--button-border, var(--default-border-color)));color:var(--button-hover-color, var(--button-color, var(--text-primary-color, inherit)))}.excalidraw button.standalone:active{background-color:var(--button-active-bg, var(--island-bg-color));border-color:var(--button-active-border, var(--color-primary-darkest))}.excalidraw button.standalone.active{background-color:var(--button-selected-bg, var(--color-surface-primary-container));border-color:var(--button-selected-border, var(--color-surface-primary-container))}.excalidraw button.standalone.active:hover{background-color:var(--button-selected-hover-bg, var(--color-surface-primary-container))}.excalidraw button.standalone.active svg{color:var(--button-color, var(--color-on-primary-container))}.excalidraw button.standalone svg{width:var(--default-icon-size);height:var(--default-icon-size)}.excalidraw button.standalone>*{pointer-events:none}.excalidraw .excalidraw-eye-dropper-container,.excalidraw .excalidraw-eye-dropper-backdrop{position:absolute;width:100%;height:100%;z-index:var(--zIndex-eyeDropperBackdrop);touch-action:none}.excalidraw .excalidraw-eye-dropper-container{pointer-events:none}.excalidraw .excalidraw-eye-dropper-backdrop{pointer-events:all}.excalidraw .excalidraw-eye-dropper-preview{pointer-events:none;width:3rem;height:3rem;position:fixed;z-index:var(--zIndex-eyeDropperPreview);border-radius:1rem;border:1px solid var(--default-border-color);filter:var(--theme-filter)}.excalidraw .excalidraw-eye-dropper-trigger{width:1.25rem;height:1.25rem;cursor:pointer;padding:4px;margin-right:-4px;margin-left:-2px;border-radius:.5rem;color:var(--icon-fill-color)}.excalidraw .excalidraw-eye-dropper-trigger:hover{background:var(--button-hover-bg)}.excalidraw .excalidraw-eye-dropper-trigger.selected{color:var(--color-primary);background:var(--color-primary-light)}.excalidraw .Island{--padding: 0;box-sizing:border-box;background-color:var(--island-bg-color);box-shadow:var(--shadow-island);border-radius:var(--border-radius-lg);padding:calc(var(--padding) * var(--space-factor));position:relative;transition:box-shadow .5s ease-in-out}.excalidraw .Island.zen-mode{box-shadow:none}.excalidraw .focus-visible-none:focus-visible{outline:none!important}.excalidraw .color-picker__heading{padding:0 .5rem;font-size:.75rem;text-align:left}.excalidraw .color-picker-container{display:grid;grid-template-columns:1fr 20px 1.625rem;padding:.25rem 0px;align-items:center}.excalidraw--mobile.excalidraw .color-picker-container{max-width:11rem}.excalidraw .color-picker__top-picks{display:flex;justify-content:space-between}.excalidraw .color-picker__button{--radius: .25rem;padding:0;margin:0;width:1.35rem;height:1.35rem;border:1px solid var(--color-gray-30);border-radius:var(--radius);filter:var(--theme-filter);background-color:var(--swatch-color);background-position:left center;position:relative;font-family:inherit;box-sizing:border-box}.excalidraw .color-picker__button:hover:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;box-shadow:0 0 0 1px var(--color-gray-30);border-radius:calc(var(--radius) + 1px);filter:var(--theme-filter)}.excalidraw .color-picker__button.active .color-picker__button-outline{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;box-shadow:0 0 0 1px var(--color-primary-darkest);z-index:1;border-radius:calc(var(--radius) + 1px);filter:var(--theme-filter)}.excalidraw .color-picker__button:focus-visible{outline:none}.excalidraw .color-picker__button:focus-visible:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border:3px solid var(--focus-highlight-color);border-radius:calc(var(--radius) + 1px)}.excalidraw .color-picker__button:focus-visible.active .color-picker__button-outline{display:none}.excalidraw .color-picker__button--large{--radius: .5rem;width:1.875rem;height:1.875rem}.excalidraw .color-picker__button.is-transparent{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg==)}.excalidraw .color-picker__button--no-focus-visible{border:0}.excalidraw .color-picker__button--no-focus-visible:after{display:none}.excalidraw .color-picker__button--no-focus-visible:focus-visible{outline:none!important}.excalidraw .color-picker__button.active-color{border-radius:calc(var(--radius) + 1px);width:1.625rem;height:1.625rem}.excalidraw .color-picker__button__hotkey-label{position:absolute;right:4px;bottom:4px;filter:none;font-size:11px}.excalidraw .color-picker{background:var(--popup-bg-color);border:0 solid rgba(255,255,255,.25);box-shadow:#00000040 0 1px 4px;border-radius:4px;position:absolute}:root[dir=ltr] .excalidraw .color-picker{left:-5.5px}:root[dir=rtl] .excalidraw .color-picker{right:-5.5px}.excalidraw .color-picker-control-container{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:.5rem}.excalidraw .color-picker-control-container+.popover{position:static}.excalidraw .color-picker-popover-container{margin-top:-.25rem}:root[dir=ltr] .excalidraw .color-picker-popover-container{margin-left:.5rem}:root[dir=rtl] .excalidraw .color-picker-popover-container{margin-left:-3rem}.excalidraw .color-picker-triangle{width:0;height:0;border-style:solid;border-width:0 9px 10px;border-color:transparent transparent var(--popup-bg-color);position:absolute;top:10px}:root[dir=ltr] .excalidraw .color-picker-triangle{transform:rotate(270deg);left:-14px}:root[dir=rtl] .excalidraw .color-picker-triangle{transform:rotate(90deg);right:-14px}.excalidraw .color-picker-triangle-shadow{border-color:transparent transparent rgba(0,0,0,.1)}:root[dir=ltr] .excalidraw .color-picker-triangle-shadow{left:-14px}:root[dir=rtl] .excalidraw .color-picker-triangle-shadow{right:-16px}.excalidraw .color-picker-content{display:flex;flex-direction:column;gap:.75rem;outline:none}.excalidraw .color-picker-content--default{padding:.5rem;display:grid;grid-template-columns:repeat(5,1.875rem);grid-gap:.25rem;border-radius:4px}.excalidraw .color-picker-content--default:focus{outline:none;box-shadow:0 0 0 2px var(--focus-highlight-color)}.excalidraw .color-picker-content--canvas{display:flex;flex-direction:column;padding:.25rem}.excalidraw .color-picker-content--canvas-title{color:#868e96;font-size:12px;padding:0 .25rem}.excalidraw .color-picker-content--canvas-colors{padding:.5rem 0}.excalidraw .color-picker-content--canvas-colors .color-picker-swatch{margin:0 .25rem}.excalidraw .color-picker-content .color-input-container{grid-column:1/span 5}.excalidraw .color-picker-swatch{position:relative;height:1.875rem;width:1.875rem;cursor:pointer;border-radius:4px;margin:0;box-sizing:border-box;border:1px solid #ddd;background-color:currentColor!important;filter:var(--theme-filter)}.excalidraw .color-picker-swatch:focus{box-shadow:0 0 4px 1px currentColor;border-color:var(--select-highlight-color)}.excalidraw .color-picker-transparent{border-radius:4px;box-shadow:#0000001a 0 0 0 1px inset;position:absolute;top:0;right:0;bottom:0;left:0}.excalidraw .color-picker-transparent,.excalidraw .color-picker-label-swatch{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg==) left center}.excalidraw .color-picker-hash{height:var(--default-button-size);flex-shrink:0;padding:.5rem .5rem .5rem .75rem;border:1px solid var(--default-border-color);border-right:0;box-sizing:border-box;color:var(--input-label-color);display:flex;align-items:center;justify-content:center;position:relative}:root[dir=ltr] .excalidraw .color-picker-hash{border-radius:var(--border-radius-lg) 0 0 var(--border-radius-lg)}:root[dir=rtl] .excalidraw .color-picker-hash{border-radius:0 var(--border-radius-lg) var(--border-radius-lg) 0;border-right:1px solid var(--default-border-color);border-left:0}.excalidraw .color-input-container{display:flex}.excalidraw .color-input-container:focus-within{box-shadow:0 0 0 1px var(--color-primary-darkest);border-radius:var(--border-radius-lg)}.excalidraw .color-picker__input-label{display:grid;grid-template-columns:auto 1fr auto auto;gap:8px;align-items:center;border:1px solid var(--default-border-color);border-radius:8px;padding:0 12px;margin:8px;box-sizing:border-box}.excalidraw .color-picker__input-label:focus-within{box-shadow:0 0 0 1px var(--color-primary-darkest);border-radius:var(--border-radius-lg)}.excalidraw .color-picker__input-hash{padding:0 .25rem}.excalidraw .color-picker-input{box-sizing:border-box;width:100%;margin:0;font-size:.875rem;font-family:inherit;background-color:transparent;color:var(--text-primary-color);border:0;outline:none;height:var(--default-button-size);border:1px solid var(--default-border-color);border-left:0;letter-spacing:.4px;padding:.5rem .5rem .5rem .25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}:root[dir=ltr] .excalidraw .color-picker-input{border-radius:0 var(--border-radius-lg) var(--border-radius-lg) 0}:root[dir=rtl] .excalidraw .color-picker-input{border-radius:var(--border-radius-lg) 0 0 var(--border-radius-lg);border-left:1px solid var(--default-border-color);border-right:0}.excalidraw .color-picker-input:focus-visible{box-shadow:none}.excalidraw .color-picker-label-swatch-container{border:1px solid var(--default-border-color);border-radius:var(--border-radius-lg);width:var(--default-button-size);height:var(--default-button-size);box-sizing:border-box;overflow:hidden}.excalidraw .color-picker-label-swatch{display:flex;justify-content:center;align-items:center;padding:.625rem;width:var(--button-width, var(--default-button-size));height:var(--button-height, var(--default-button-size));box-sizing:border-box;border-width:1px;border-style:solid;border-color:var(--button-border, var(--default-border-color));border-radius:var(--border-radius-lg);cursor:pointer;background-color:var(--button-bg, var(--island-bg-color));color:var(--button-color, var(--color-on-surface));font-family:var(--ui-font);background-color:var(--swatch-color)!important;overflow:hidden;position:relative;filter:var(--theme-filter);border:0!important}.excalidraw .color-picker-label-swatch svg{width:var(--button-width, var(--lg-icon-size));height:var(--button-height, var(--lg-icon-size))}.excalidraw .color-picker-label-swatch:hover{background-color:var(--button-hover-bg, var(--island-bg-color));border-color:var(--button-hover-border, var(--button-border, var(--default-border-color)));color:var(--button-hover-color, var(--button-color, var(--text-primary-color, inherit)))}.excalidraw .color-picker-label-swatch:active{background-color:var(--button-active-bg, var(--island-bg-color));border-color:var(--button-active-border, var(--color-primary-darkest))}.excalidraw .color-picker-label-swatch.active{background-color:var(--button-selected-bg, var(--color-surface-primary-container));border-color:var(--button-selected-border, var(--color-surface-primary-container))}.excalidraw .color-picker-label-swatch.active:hover{background-color:var(--button-selected-hover-bg, var(--color-surface-primary-container))}.excalidraw .color-picker-label-swatch.active svg{color:var(--button-color, var(--color-on-primary-container))}.excalidraw .color-picker-label-swatch:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:var(--swatch-color)}.excalidraw .color-picker-keybinding{position:absolute;bottom:2px;font-size:.7em}:root[dir=ltr] .excalidraw .color-picker-keybinding{right:2px}:root[dir=rtl] .excalidraw .color-picker-keybinding{left:2px}.excalidraw--mobile.excalidraw .color-picker-keybinding{display:none}.excalidraw .color-picker-type-canvasBackground .color-picker-keybinding{color:#aaa}.excalidraw .color-picker-type-elementBackground .color-picker-keybinding{color:#fff}.excalidraw .color-picker-swatch[aria-label=transparent] .color-picker-keybinding{color:#aaa}.excalidraw .color-picker-type-elementStroke .color-picker-keybinding{color:#d4d4d4}.excalidraw.theme--dark .color-picker-type-elementBackground .color-picker-keybinding,.excalidraw.theme--dark .color-picker-swatch[aria-label=transparent] .color-picker-keybinding{color:#000}.excalidraw .picker{padding:.5rem;background:var(--popup-bg-color);border:0 solid rgba(255,255,255,.25);box-shadow:var(--shadow-island);border-radius:4px;position:absolute}:root[dir=rtl] .excalidraw .picker{padding:.4rem}.excalidraw .picker-container button,.excalidraw .picker button{position:relative;display:flex;align-items:center;justify-content:center}.excalidraw .picker-container button:focus-visible,.excalidraw .picker button:focus-visible{outline:transparent;background-color:var(--button-gray-2)}.excalidraw .picker-container button:focus-visible svg,.excalidraw .picker button:focus-visible svg{opacity:1}.excalidraw .picker-container button:hover,.excalidraw .picker button:hover{background-color:var(--button-gray-2)}.excalidraw .picker-container button:active,.excalidraw .picker button:active{background-color:var(--button-gray-3)}.excalidraw .picker-container button:disabled,.excalidraw .picker button:disabled{cursor:not-allowed}.excalidraw .picker-container button svg,.excalidraw .picker button svg{margin:0;width:36px;height:18px;pointer-events:none}.excalidraw .picker button{padding:.25rem .28rem .35rem .25rem}.excalidraw .picker-content{display:grid;grid-template-columns:repeat(4,auto);grid-gap:.5rem;border-radius:4px}.excalidraw .picker-collapsible{font-size:.75rem;padding:.5rem 0}.excalidraw .picker-keybinding{position:absolute;bottom:2px;font-size:.7em;color:var(--keybinding-color)}:root[dir=ltr] .excalidraw .picker-keybinding{right:2px}:root[dir=rtl] .excalidraw .picker-keybinding{left:2px}.excalidraw--mobile.excalidraw .picker-keybinding{display:none}.excalidraw .picker-type-canvasBackground .picker-keybinding{color:#aaa}.excalidraw .picker-type-elementBackground .picker-keybinding{color:#fff}.excalidraw .picker-swatch[aria-label=transparent] .picker-keybinding{color:#aaa}.excalidraw .picker-type-elementStroke .picker-keybinding{color:#d4d4d4}.excalidraw.theme--dark .picker-type-elementBackground .picker-keybinding,.excalidraw.theme--dark .picker-swatch[aria-label=transparent] .picker-keybinding{color:#000}.excalidraw{--list-border-color: var(--color-gray-20)}.excalidraw .QuickSearch__wrapper{position:relative;height:2.6rem;border-bottom:1px solid var(--list-border-color)}.excalidraw .QuickSearch__wrapper svg{position:absolute;top:47.5%;transform:translateY(-50%);left:.75rem;width:1.25rem;height:1.25rem;color:var(--color-gray-40);z-index:1}.excalidraw.theme--dark{--list-border-color: var(--color-gray-80)}.excalidraw.theme--dark .QuickSearch__wrapper{border-bottom:none}.excalidraw .QuickSearch__input{position:absolute;top:0;left:0;width:100%;box-sizing:border-box;border:0!important;font-size:.875rem;padding-left:2.5rem!important;padding-right:.75rem!important}.excalidraw .QuickSearch__input::placeholder{color:var(--color-gray-40)}.excalidraw .QuickSearch__input:focus{box-shadow:none!important}.excalidraw .ScrollableList__wrapper{position:static!important;border:none;font-size:.875rem;overflow-y:auto}.excalidraw .ScrollableList__wrapper>.empty,.excalidraw .ScrollableList__wrapper>.hint{display:flex;justify-content:center;align-items:center;padding:.5rem;font-size:.75rem;color:var(--color-gray-60);overflow:hidden;text-align:center;line-height:150%}.excalidraw .FontPicker__container{display:grid;grid-template-columns:calc(1rem + 3 * var(--default-button-size)) 1rem 1fr;align-items:center}.excalidraw--mobile.excalidraw .FontPicker__container{max-width:calc(2rem + 4 * var(--default-button-size))}.excalidraw{--slider-thumb-size: 16px}.excalidraw .range-wrapper{position:relative;padding-top:10px;padding-bottom:30px}.excalidraw .range-input{width:100%;height:4px;-webkit-appearance:none;background:var(--color-slider-track);border-radius:2px;outline:none}.excalidraw .range-input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:var(--slider-thumb-size);height:var(--slider-thumb-size);background:var(--color-slider-thumb);border-radius:50%;cursor:pointer;border:none}.excalidraw .range-input::-moz-range-thumb{width:var(--slider-thumb-size);height:var(--slider-thumb-size);background:var(--color-slider-thumb);border-radius:50%;cursor:pointer;border:none}.excalidraw .value-bubble{position:absolute;bottom:0;transform:translate(-50%);font-size:12px;color:var(--text-primary-color)}.excalidraw .zero-label{position:absolute;bottom:0;left:4px;font-size:12px;color:var(--text-primary-color)}.excalidraw-tooltip{--ui-font: Assistant, system-ui, BlinkMacSystemFont, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;font-family:var(--ui-font);position:fixed;z-index:var(--zIndex-popup);padding:8px;border-radius:6px;box-sizing:border-box;pointer-events:none;word-wrap:break-word;background:#000;line-height:1.5;text-align:center;font-size:13px;font-weight:500;color:#fff;display:none}.excalidraw-tooltip.excalidraw-tooltip--visible{display:block}.excalidraw-tooltip-wrapper{display:flex}.excalidraw-tooltip-icon{width:.9em;height:.9em;margin-left:5px;margin-top:1px;display:flex}.excalidraw--mobile.excalidraw-tooltip-icon{display:none}.excalidraw .TextInput{display:inline-block}.ProjectName{margin:auto;display:flex;align-items:center}.ProjectName .TextInput{height:calc(1rem - 3px);width:200px;overflow:hidden;text-align:center;margin-left:8px;text-overflow:ellipsis}.ProjectName .TextInput--readonly{background:none;border:none;width:auto;max-width:200px;padding-left:2px}.ProjectName .TextInput--readonly:hover{background:none}.excalidraw .Checkbox{margin:4px .3em;display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.excalidraw .Checkbox:hover:not(.is-checked) .Checkbox-box:not(:focus){box-shadow:0 0 0 2px #4dabf7}.excalidraw .Checkbox:hover:not(.is-checked) .Checkbox-box:not(:focus) svg{display:block;opacity:.3}.excalidraw .Checkbox:active .Checkbox-box{box-shadow:0 0 2px 1px inset #1c7ed6!important}.excalidraw .Checkbox:hover .Checkbox-box{background-color:#d0ebff33}.excalidraw .Checkbox.is-checked .Checkbox-box{background-color:#d0ebff}.excalidraw .Checkbox.is-checked .Checkbox-box svg{display:block}.excalidraw .Checkbox.is-checked:hover .Checkbox-box{background-color:#a5d8ff}.excalidraw .Checkbox .Checkbox-box{width:22px;height:22px;padding:0;flex:0 0 auto;margin:0 1em;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px #1c7ed6;background-color:transparent;border-radius:4px;color:#1c7ed6;border:0}.excalidraw .Checkbox .Checkbox-box:focus{box-shadow:0 0 0 3px #1c7ed6}.excalidraw .Checkbox .Checkbox-box svg{display:none;width:16px;height:16px;stroke-width:3px}.excalidraw .Checkbox .Checkbox-label{display:flex;align-items:center}.excalidraw .Checkbox .excalidraw-tooltip-icon{width:1em;height:1em}.excalidraw .Avatar{width:var(--avatar-size, 1.5rem);height:var(--avatar-size, 1.5rem);position:relative;border-radius:100%;outline-offset:2px;display:flex;justify-content:center;align-items:center;cursor:pointer;font-size:.75rem;font-weight:700;line-height:1;color:var(--color-gray-90);flex:0 0 auto}.excalidraw .Avatar:active{transform:scale(.94)}.excalidraw .Avatar-img{width:100%;height:100%;border-radius:100%}.excalidraw .Avatar:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:100%}.excalidraw .Avatar.is-followed:before{border-color:var(--color-primary-hover);box-shadow:0 0 0 1px var(--color-primary-hover)}.excalidraw .Avatar.is-current-user{cursor:auto}.excalidraw-hyperlinkContainer{display:flex;align-items:center;justify-content:space-between;position:absolute;box-shadow:0 2px 4px #0000004d;z-index:var(--zIndex-hyperlinkContainer);background:var(--island-bg-color);border-radius:var(--border-radius-md);box-sizing:border-box;min-height:42px}.excalidraw-hyperlinkContainer-input,.excalidraw-hyperlinkContainer button{z-index:100}.excalidraw-hyperlinkContainer-input,.excalidraw-hyperlinkContainer-link{height:24px;padding:0 8px;line-height:24px;font-size:.9rem;font-weight:500;font-family:var(--ui-font)}.excalidraw-hyperlinkContainer-input{width:18rem;background-color:transparent;color:var(--text-primary-color);outline:none;border:none;box-shadow:none!important}.excalidraw-hyperlinkContainer-link{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:15rem}.excalidraw-hyperlinkContainer button{color:#228be6;background-color:transparent!important;font-weight:500}.excalidraw-hyperlinkContainer button.excalidraw-hyperlinkContainer--remove{color:#c92a2a}.excalidraw-hyperlinkContainer--remove .ToolIcon__icon svg{color:#fa5252}.excalidraw-hyperlinkContainer .ToolIcon__icon{width:2rem;height:2rem}.excalidraw-hyperlinkContainer__buttons{flex:0 0 auto}.excalidraw .Dialog{-webkit-user-select:text;user-select:text;cursor:auto}.excalidraw .Dialog__title{margin:0;text-align:left;font-size:1.25rem;border-bottom:1px solid var(--dialog-border-color);padding:0 0 .75rem;margin-bottom:1.5rem}.excalidraw .Dialog__close{color:var(--color-gray-40);margin:0;position:absolute;top:.75rem;right:.5rem;border:0;background-color:transparent;line-height:0;cursor:pointer}.excalidraw .Dialog__close:hover{color:var(--color-gray-60)}.excalidraw .Dialog__close:active{color:var(--color-gray-40)}.excalidraw .Dialog__close svg{width:1.5rem;height:1.5rem}.excalidraw .Dialog__close+.Dialog__content{--offset: 28px;height:calc(100% - var(--offset))!important;margin-top:var(--offset)!important}.excalidraw .Dialog--fullscreen .Dialog__close{top:1.25rem;right:1.25rem}.excalidraw.excalidraw-modal-container{position:absolute;z-index:var(--zIndex-modal)}.excalidraw .Modal{position:absolute;top:0;right:0;bottom:0;left:0;align-items:center;justify-content:center;overflow:auto;padding:calc(var(--space-factor) * 10);display:flex;flex-direction:column}.excalidraw .Modal .Island{padding:2.5rem;border:0;box-shadow:none;border-radius:0}.excalidraw .Modal.animations-disabled .Modal__background{animation:none}.excalidraw .Modal.animations-disabled .Modal__content{animation:none;opacity:1}.excalidraw .Modal__background{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;background-color:#12121233;animation:Modal__background__fade-in .1s linear forwards}.excalidraw .Modal__content{z-index:2;width:100%;max-width:var(--max-width);max-height:100%;opacity:0;transform:translateY(10px);animation:Modal__content_fade-in 25ms ease-out 0s forwards;position:relative;overflow-y:auto;background:var(--island-bg-color);border:1px solid var(--dialog-border-color);box-shadow:var(--modal-shadow);border-radius:.75rem;box-sizing:border-box}.excalidraw .Modal__content:focus{outline:none}@keyframes Modal__background__fade-in{0%{opacity:0}to{opacity:1}}@keyframes Modal__content_fade-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.excalidraw .Modal__close{color:var(--icon-fill-color);margin:0;padding:.375rem;position:absolute;top:1rem;right:1rem;border:0;background-color:transparent;line-height:0;cursor:pointer}.excalidraw .Modal__close svg{width:1.5rem;height:1.5rem}.excalidraw .Dialog--fullscreen .Modal{padding:0}.excalidraw .Dialog--fullscreen .Modal__content{position:absolute;top:0;right:0;bottom:0;left:0;max-width:100%;border:0;border-radius:0}.excalidraw .Stack{--gap: 0;display:grid;gap:calc(var(--space-factor) * var(--gap))}.excalidraw .Stack_vertical{grid-template-columns:auto;grid-auto-flow:row;grid-auto-rows:min-content}.excalidraw .Stack_horizontal{grid-template-rows:auto;grid-auto-flow:column;grid-auto-columns:min-content}.excalidraw .confirm-dialog-buttons{display:flex;column-gap:.5rem;justify-content:flex-end}.excalidraw .Dialog__action-button{position:relative;display:flex;column-gap:.5rem;align-items:center;padding:.5rem 1.5rem;border:1px solid var(--default-border-color);background-color:transparent;height:3rem;border-radius:var(--border-radius-lg);letter-spacing:.4px;color:inherit;font-family:inherit;font-size:.875rem;font-weight:600;-webkit-user-select:none;user-select:none}.excalidraw .Dialog__action-button svg{display:block;width:1rem;height:1rem}.excalidraw .Dialog__action-button--danger{background-color:var(--color-danger);border-color:var(--color-danger);color:#fff}.excalidraw .Dialog__action-button--primary{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.excalidraw.theme--dark .Dialog__action-button--danger,.excalidraw.theme--dark .Dialog__action-button--primary{color:var(--color-gray-100)}.excalidraw .publish-library__fields{display:flex;flex-direction:column}.excalidraw .publish-library__fields label{padding:1em 0;display:flex;justify-content:space-between;align-items:center}.excalidraw .publish-library__fields label span{font-weight:500;font-size:1rem;color:#868e96}.excalidraw .publish-library__fields label input,.excalidraw .publish-library__fields label textarea{width:70%;padding:.6em;font-family:var(--ui-font)}.excalidraw .publish-library__fields label .required{color:#e03131;margin:.2rem}.excalidraw .publish-library__buttons{display:flex;padding:.2rem 0;justify-content:flex-end;gap:.5rem}.excalidraw .publish-library__buttons .ToolIcon__icon{min-width:2.5rem;width:auto;font-size:1rem}.excalidraw .publish-library__buttons .ToolIcon_type_button{margin-left:1rem;padding:0 .5rem}.excalidraw .publish-library__buttons--confirm.ToolIcon_type_button{background-color:#228be6}.excalidraw .publish-library__buttons--confirm.ToolIcon_type_button:hover{background-color:#1971c2}.excalidraw .publish-library__buttons--cancel.ToolIcon_type_button{background-color:#adb5bd}.excalidraw .publish-library__buttons--cancel.ToolIcon_type_button:hover{background-color:#868e96}.excalidraw .publish-library__buttons .ToolIcon__icon{color:#fff}.excalidraw .publish-library__buttons .ToolIcon__icon .Spinner{--spinner-color: #fff}.excalidraw .publish-library__buttons .ToolIcon__icon .Spinner svg{padding:.5rem}.excalidraw .publish-library .selected-library-items{display:flex;flex-wrap:wrap}.excalidraw .publish-library .selected-library-items .single-library-item-wrapper{width:9rem}.excalidraw .publish-library-warning{color:#fa5252}.excalidraw .publish-library-note{padding:1em 0;font-style:italic;font-size:14px;display:block}.excalidraw .single-library-item{position:relative}.excalidraw .single-library-item-status{position:absolute;top:.3rem;left:.3rem;font-size:.7rem;color:#f03e3e;background:#ffffffe6;padding:.1rem .2rem;border-radius:.2rem}.excalidraw .single-library-item__svg{background-color:#fff;padding:.3rem;width:7.5rem;height:7.5rem;border:1px solid var(--button-gray-2)}.excalidraw .single-library-item__svg svg{width:100%;height:100%}.excalidraw .single-library-item .ToolIcon__icon{background-color:#fff;width:auto;height:auto;margin:0 .5rem}.excalidraw .single-library-item .ToolIcon,.excalidraw .single-library-item .ToolIcon_type_button:hover{background-color:#fff}.excalidraw .single-library-item .required,.excalidraw .single-library-item .error{color:#e03131;font-weight:700;font-size:1rem;margin:.2rem}.excalidraw .single-library-item .error{font-weight:500;margin:0;padding:.3em 0}.excalidraw .single-library-item--remove{position:absolute;top:.2rem;right:1rem}.excalidraw .single-library-item--remove .ToolIcon__icon{margin:0}.excalidraw .single-library-item--remove .ToolIcon__icon{background-color:#fa5252}.excalidraw .single-library-item--remove .ToolIcon__icon:hover{background-color:#f03e3e}.excalidraw .single-library-item--remove .ToolIcon__icon:active{background-color:#e03131}.excalidraw .single-library-item--remove svg{color:#fff;padding:.26rem;border-radius:.3em;width:1rem;height:1rem}.excalidraw .dropdown-menu{position:absolute;top:100%;margin-top:.5rem}.excalidraw .dropdown-menu--mobile{left:0;width:100%;row-gap:.75rem}.excalidraw .dropdown-menu--mobile .dropdown-menu-container{padding:8px;box-sizing:border-box;box-shadow:var(--shadow-island);border-radius:var(--border-radius-lg);position:relative;transition:box-shadow .5s ease-in-out}.excalidraw .dropdown-menu--mobile .dropdown-menu-container.zen-mode{box-shadow:none}.excalidraw .dropdown-menu .dropdown-menu-container{background-color:var(--island-bg-color);max-height:calc(100vh - 150px);overflow-y:auto;--gap: 2}.excalidraw .dropdown-menu .dropdown-menu-item-base{display:flex;column-gap:.625rem;font-size:.875rem;color:var(--color-on-surface);width:100%;box-sizing:border-box;font-weight:400;font-family:inherit}.excalidraw .dropdown-menu.manual-hover .dropdown-menu-item:hover{background-color:transparent}.excalidraw .dropdown-menu.manual-hover .dropdown-menu-item--hovered{background-color:var(--button-hover-bg)!important}.excalidraw .dropdown-menu.manual-hover .dropdown-menu-item--selected{background-color:var(--color-primary-light)!important}.excalidraw .dropdown-menu.fonts{margin-top:1rem;max-height:calc(7*(2rem + 2px) + 3.95rem)}@media screen and (min-width:1921px){.excalidraw .dropdown-menu.fonts{max-height:calc(7*(2.25rem + 2px) + 3.95rem)}}.excalidraw .dropdown-menu.fonts .dropdown-menu-item-base{display:inline-flex}.excalidraw .dropdown-menu.fonts .dropdown-menu-group:not(:first-child){margin-top:1rem}.excalidraw .dropdown-menu.fonts .dropdown-menu-group-title{font-size:.75rem;text-align:left;font-weight:400;margin:0 0 .5rem;line-height:1.3}.excalidraw .dropdown-menu .dropdown-menu-item{height:2rem;margin:1px;padding:0 .5rem;width:calc(100% - 2px);background-color:transparent;border:1px solid transparent;align-items:center;cursor:pointer;border-radius:var(--border-radius-md)}@media screen and (min-width:1921px){.excalidraw .dropdown-menu .dropdown-menu-item{height:2.25rem}}.excalidraw .dropdown-menu .dropdown-menu-item__text{display:flex;align-items:center;width:100%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;gap:.75rem}.excalidraw .dropdown-menu .dropdown-menu-item__shortcut{margin-inline-start:auto;opacity:.5}.excalidraw .dropdown-menu .dropdown-menu-item__shortcut--orphaned{text-align:right;font-size:.875rem;padding:0 .625rem}.excalidraw .dropdown-menu .dropdown-menu-item--selected{background:var(--color-primary-light);--icon-fill-color: var(--color-primary-darker)}.excalidraw .dropdown-menu .dropdown-menu-item:hover{background-color:var(--button-hover-bg);text-decoration:none}.excalidraw .dropdown-menu .dropdown-menu-item:active{background-color:var(--button-hover-bg);border-color:var(--color-brand-active)}.excalidraw .dropdown-menu .dropdown-menu-item svg{width:1rem;height:1rem;display:block}.excalidraw .dropdown-menu .dropdown-menu-item-bare{align-items:center;height:2rem;justify-content:space-between}@media screen and (min-width:1921px){.excalidraw .dropdown-menu .dropdown-menu-item-bare{height:2.25rem}}.excalidraw .dropdown-menu .dropdown-menu-item-bare svg{width:1rem;height:1rem;display:block}.excalidraw .dropdown-menu .dropdown-menu-item-custom{margin-top:.5rem}.excalidraw .dropdown-menu .dropdown-menu-group-title{font-size:14px;text-align:left;margin:10px 0;font-weight:500}.excalidraw .dropdown-menu-button{display:flex;justify-content:center;align-items:center;padding:.625rem;width:var(--button-width, var(--default-button-size));height:var(--button-height, var(--default-button-size));box-sizing:border-box;border-width:1px;border-style:solid;border-color:var(--button-border, var(--default-border-color));border-radius:var(--border-radius-lg);cursor:pointer;background-color:var(--button-bg, var(--island-bg-color));color:var(--button-color, var(--color-on-surface));font-family:var(--ui-font);width:var(--lg-button-size);height:var(--lg-button-size);--background: var(--color-surface-mid);background-color:var(--background)}.excalidraw .dropdown-menu-button svg{width:var(--button-width, var(--lg-icon-size));height:var(--button-height, var(--lg-icon-size))}.excalidraw .dropdown-menu-button:hover{background-color:var(--button-hover-bg, var(--island-bg-color));border-color:var(--button-hover-border, var(--button-border, var(--default-border-color)));color:var(--button-hover-color, var(--button-color, var(--text-primary-color, inherit)))}.excalidraw .dropdown-menu-button:active{background-color:var(--button-active-bg, var(--island-bg-color));border-color:var(--button-active-border, var(--color-primary-darkest))}.excalidraw .dropdown-menu-button.active{background-color:var(--button-selected-bg, var(--color-surface-primary-container));border-color:var(--button-selected-border, var(--color-surface-primary-container))}.excalidraw .dropdown-menu-button.active:hover{background-color:var(--button-selected-hover-bg, var(--color-surface-primary-container))}.excalidraw .dropdown-menu-button.active svg{color:var(--button-color, var(--color-on-primary-container))}.excalidraw.theme--dark.excalidraw .dropdown-menu-button{--background: var(--color-surface-high)}.excalidraw.theme--dark.excalidraw .dropdown-menu-button:hover{--background: #363541}.excalidraw .dropdown-menu-button:hover{--background: var(--color-surface-high);background-color:var(--background);text-decoration:none}.excalidraw .dropdown-menu-button:active{border-color:var(--color-primary)}.excalidraw .dropdown-menu-button svg{width:var(--lg-icon-size);height:var(--lg-icon-size)}.excalidraw .dropdown-menu-button--mobile{border:none;margin:0;padding:0;width:var(--default-button-size);height:var(--default-button-size)}.excalidraw .library-unit{align-items:center;border:1px solid transparent;display:flex;justify-content:center;position:relative;width:55px;height:55px;box-sizing:border-box;border-radius:var(--border-radius-lg)}.excalidraw .library-unit svg{pointer-events:none}.excalidraw .library-unit--hover{border-color:var(--color-primary)}.excalidraw .library-unit--selected{border-color:var(--color-primary);border-width:1px}.excalidraw .library-unit--skeleton{opacity:.5;background:linear-gradient(-45deg,var(--color-gray-10),var(--color-gray-20),var(--color-gray-10));background-size:200% 200%;animation:library-unit__skeleton-opacity-animation .2s linear}.excalidraw.theme--dark .library-unit--skeleton{background-image:linear-gradient(-45deg,var(--color-gray-100),var(--color-gray-80),var(--color-gray-100))}.excalidraw .library-unit__dragger{display:flex;align-items:center;justify-content:center;height:100%;width:100%}.excalidraw .library-unit__dragger>svg{filter:var(--theme-filter);flex-grow:1;max-height:100%;max-width:100%}.excalidraw .library-unit__checkbox-container,.excalidraw .library-unit__checkbox-container:hover,.excalidraw .library-unit__checkbox-container:active{align-items:center;background:none;border:none;color:var(--icon-fill-color);display:flex;justify-content:center;margin:0;padding:.5rem;position:absolute;left:2rem;bottom:2rem;cursor:pointer}.excalidraw .library-unit__checkbox-container input,.excalidraw .library-unit__checkbox-container:hover input,.excalidraw .library-unit__checkbox-container:active input{cursor:pointer}.excalidraw .library-unit__checkbox{position:absolute;top:.125rem;right:.125rem;margin:0}.excalidraw .library-unit__checkbox .Checkbox-box{margin:0;width:1rem;height:1rem;border-radius:4px;background-color:var(--color-primary-light);border:1px solid var(--color-primary);box-shadow:none!important;padding:2px}.excalidraw .library-unit__checkbox.Checkbox:hover .Checkbox-box{background-color:var(--color-primary-light)}.excalidraw .library-unit__checkbox.is-checked .Checkbox-box{background-color:var(--color-primary)!important}.excalidraw .library-unit__checkbox.is-checked .Checkbox-box svg{color:var(--color-primary-light)}.excalidraw .library-unit__removeFromLibrary>svg{height:16px;width:16px}.excalidraw .library-unit__adder{transform:scale(1);animation:library-unit__adder-animation 1s ease-in infinite;position:absolute;width:1.5rem;height:1.5rem;background-color:var(--color-primary);border-radius:var(--border-radius-md);display:flex;justify-content:center;align-items:center;pointer-events:none}.excalidraw .library-unit__adder svg{color:var(--color-primary-light);width:1rem;height:1rem}.excalidraw .library-unit:active .library-unit__adder{animation:none;transform:scale(.8)}.excalidraw .library-unit__active{cursor:pointer}@keyframes library-unit__adder-animation{0%{transform:scale(.85)}50%{transform:scale(1)}to{transform:scale(.85)}}@keyframes library-unit__skeleton-opacity-animation{0%{opacity:0}75%{opacity:0}to{opacity:.5}}.excalidraw{--container-padding-y: 1.5rem;--container-padding-x: .75rem}.excalidraw .library-menu-items__no-items{text-align:center;color:var(--color-gray-70);line-height:1.5;font-size:.875rem;width:100%}.excalidraw .library-menu-items__no-items__label{color:var(--color-primary);font-weight:700;font-size:1.125rem;margin-bottom:.75rem}.excalidraw.theme--dark .library-menu-items__no-items{color:var(--color-gray-40)}.excalidraw .library-menu-items-container{width:100%;display:flex;flex-grow:1;flex-shrink:1;flex-basis:0;overflow-y:auto;flex-direction:column;height:100%;justify-content:center;margin:0;position:relative}.excalidraw .library-menu-items-container>div{padding-left:.75rem;padding-right:.75rem}.excalidraw .library-menu-items-container__row{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.excalidraw .library-menu-items-container__items{row-gap:.5rem;padding:var(--container-padding-y) 0;flex:1;overflow-y:auto;overflow-x:hidden;margin-bottom:1rem}.excalidraw .library-menu-items-container__header{color:var(--color-primary);font-size:1.125rem;font-weight:700;margin-bottom:.75rem;width:100%;padding-right:4rem;box-sizing:border-box}.excalidraw .library-menu-items-container__header--excal{margin-top:2rem}.excalidraw .library-menu-items-container__grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;grid-gap:1rem}.excalidraw .library-menu-items-container .separator{width:100%;display:flex;align-items:center;font-weight:500;font-size:.9rem;margin:.6em .2em;color:var(--text-primary-color)}.excalidraw .library-menu-items-private-library-container{min-height:3.75rem;width:100%}.excalidraw .layer-ui__library{display:flex;flex-direction:column;flex:1 1 auto}.excalidraw .library-actions-counter{background-color:var(--color-primary);color:var(--color-primary-light);font-weight:700;display:flex;align-items:center;justify-content:center;border-radius:50%;width:1rem;height:1rem;position:absolute;bottom:-.25rem;right:-.25rem;font-size:.625rem;pointer-events:none}.excalidraw .layer-ui__library-message{padding:2rem;min-width:200px;display:flex;flex-direction:column;align-items:center;flex-grow:1;justify-content:center}.excalidraw .layer-ui__library-message span{font-size:.8em}.excalidraw .publish-library-success .Dialog__content{display:flex;flex-direction:column}.excalidraw .publish-library-success-close.ToolIcon_type_button{background-color:#228be6;align-self:flex-end}.excalidraw .publish-library-success-close.ToolIcon_type_button:hover{background-color:#1971c2}.excalidraw .publish-library-success-close.ToolIcon_type_button .ToolIcon__icon{width:auto;font-size:1rem;color:#fff;padding:0 .5rem}.excalidraw .library-menu-control-buttons{display:flex;align-items:center;justify-content:center;gap:.625rem;position:relative}.excalidraw .library-menu-control-buttons--at-bottom:before{content:"";width:calc(100% - 1.5rem);height:1px;position:absolute;top:-1px;background:var(--sidebar-border-color)}.excalidraw .library-menu-browse-button{flex:1;height:var(--lg-button-size);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;border-radius:var(--border-radius-lg);background-color:var(--color-primary);color:#fff;text-align:center;white-space:nowrap;text-decoration:none!important;font-weight:600;font-size:.75rem}.excalidraw .library-menu-browse-button:hover{background-color:var(--color-brand-hover)}.excalidraw .library-menu-browse-button:active{background-color:var(--color-brand-active)}.excalidraw.theme--dark .library-menu-browse-button{color:var(--color-gray-100)}.excalidraw.excalidraw--mobile .library-menu-browse-button{height:var(--default-button-size)}.excalidraw .layer-ui__library .dropdown-menu{width:auto;top:initial;right:0;left:initial;bottom:100%;margin-bottom:.625rem}.excalidraw .layer-ui__library .dropdown-menu .dropdown-menu-container{width:196px;box-shadow:var(--library-dropdown-shadow);border-radius:var(--border-radius-lg);padding:.25rem .5rem}.excalidraw .layer-ui__library .library-menu-dropdown-container{position:relative}.excalidraw .layer-ui__library .library-menu-dropdown-container--in-heading{padding:0;position:absolute;top:1rem;right:.75rem;z-index:1}.excalidraw .layer-ui__library .library-menu-dropdown-container--in-heading .dropdown-menu{top:100%}.excalidraw{--ExcTextField--color: var(--color-on-surface);--ExcTextField--label-color: var(--color-on-surface);--ExcTextField--background: var(--color-surface-low);--ExcTextField--readonly--background: var(--color-surface-high);--ExcTextField--readonly--color: var(--color-on-surface);--ExcTextField--border: var(--color-gray-20);--ExcTextField--readonly--border: var(--color-border-outline-variant);--ExcTextField--border-hover: var(--color-brand-hover);--ExcTextField--border-active: var(--color-brand-active);--ExcTextField--placeholder: var(--color-border-outline-variant)}.excalidraw .ExcTextField{position:relative}.excalidraw .ExcTextField svg{position:absolute;top:50%;transform:translateY(-50%);left:.75rem;width:1.25rem;height:1.25rem;color:var(--color-gray-40);z-index:1}.excalidraw .ExcTextField--fullWidth{width:100%;flex-grow:1}.excalidraw .ExcTextField__label{font-family:Assistant;font-style:normal;font-weight:600;font-size:.875rem;line-height:150%;color:var(--ExcTextField--label-color);margin-bottom:.25rem;-webkit-user-select:none;user-select:none}.excalidraw .ExcTextField__input{box-sizing:border-box;display:flex;flex-direction:row;align-items:center;height:3rem;background:var(--ExcTextField--background);border:1px solid var(--ExcTextField--border);border-radius:.5rem;padding:0 .75rem}.excalidraw .ExcTextField__input:not(.excalidraw .ExcTextField__input--readonly):hover{border-color:var(--ExcTextField--border-hover)}.excalidraw .ExcTextField__input:not(.excalidraw .ExcTextField__input--readonly):active,.excalidraw .ExcTextField__input:not(.excalidraw .ExcTextField__input--readonly):focus-within{border-color:var(--ExcTextField--border-active)}.excalidraw .ExcTextField__input input{display:flex;align-items:center;border:none;outline:none;padding:0;margin:0;height:1.5rem;color:var(--ExcTextField--color);font-family:Assistant;font-style:normal;font-weight:400;font-size:1rem;line-height:150%;text-overflow:ellipsis;background:transparent;width:100%}.excalidraw .ExcTextField__input input:not(:focus):hover{background-color:initial}.excalidraw .ExcTextField__input input:focus{outline:initial;box-shadow:initial}.excalidraw .ExcTextField__input--readonly{background:var(--ExcTextField--readonly--background);border-color:var(--ExcTextField--readonly--border)}.excalidraw .ExcTextField__input--readonly input{color:var(--ExcTextField--readonly--color)}.excalidraw .ExcTextField--hasIcon .ExcTextField__input{padding-left:2.5rem}.excalidraw .excalidraw-button{display:flex;justify-content:center;align-items:center;padding:.625rem;width:var(--button-width, var(--default-button-size));height:var(--button-height, var(--default-button-size));box-sizing:border-box;border-width:1px;border-style:solid;border-color:var(--button-border, var(--default-border-color));border-radius:var(--border-radius-lg);cursor:pointer;background-color:var(--button-bg, var(--island-bg-color));color:var(--button-color, var(--color-on-surface));font-family:var(--ui-font)}.excalidraw .excalidraw-button svg{width:var(--button-width, var(--lg-icon-size));height:var(--button-height, var(--lg-icon-size))}.excalidraw .excalidraw-button:hover{background-color:var(--button-hover-bg, var(--island-bg-color));border-color:var(--button-hover-border, var(--button-border, var(--default-border-color)));color:var(--button-hover-color, var(--button-color, var(--text-primary-color, inherit)))}.excalidraw .excalidraw-button:active{background-color:var(--button-active-bg, var(--island-bg-color));border-color:var(--button-active-border, var(--color-primary-darkest))}.excalidraw .excalidraw-button.active{background-color:var(--button-selected-bg, var(--color-surface-primary-container));border-color:var(--button-selected-border, var(--color-surface-primary-container))}.excalidraw .excalidraw-button.active:hover{background-color:var(--button-selected-hover-bg, var(--color-surface-primary-container))}.excalidraw .excalidraw-button.active svg{color:var(--button-color, var(--color-on-primary-container))}.zoom-actions,.undo-redo-buttons{background-color:var(--island-bg-color);border-radius:var(--border-radius-lg);box-shadow:0 0 0 1px var(--color-surface-lowest)}.zoom-button,.undo-redo-buttons button{border-radius:0!important;background-color:var(--color-surface-low)!important;font-size:.875rem!important;width:var(--lg-button-size);height:var(--lg-button-size)}.zoom-button svg,.undo-redo-buttons button svg{width:var(--lg-icon-size)!important;height:var(--lg-icon-size)!important}.zoom-button .ToolIcon__icon,.undo-redo-buttons button .ToolIcon__icon{width:100%;height:100%}.reset-zoom-button{border-left:0!important;border-right:0!important;padding:0 .625rem!important;width:3.75rem!important;justify-content:center;color:var(--text-primary-color)}.zoom-out-button{border-top-left-radius:var(--border-radius-lg)!important;border-bottom-left-radius:var(--border-radius-lg)!important}:root[dir=rtl] .zoom-out-button{transform:scaleX(-1)}.zoom-out-button .ToolIcon__icon{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.zoom-in-button{border-top-right-radius:var(--border-radius-lg)!important;border-bottom-right-radius:var(--border-radius-lg)!important}:root[dir=rtl] .zoom-in-button{transform:scaleX(-1)}.zoom-in-button .ToolIcon__icon{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.undo-redo-buttons .undo-button-container button{border-top-left-radius:var(--border-radius-lg)!important;border-bottom-left-radius:var(--border-radius-lg)!important;border-right:0!important}:root[dir=rtl] .undo-redo-buttons .undo-button-container button{transform:scaleX(-1)}.undo-redo-buttons .undo-button-container button .ToolIcon__icon{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.undo-redo-buttons .redo-button-container button{border-top-right-radius:var(--border-radius-lg)!important;border-bottom-right-radius:var(--border-radius-lg)!important}:root[dir=rtl] .undo-redo-buttons .redo-button-container button{transform:scaleX(-1)}.undo-redo-buttons .redo-button-container button .ToolIcon__icon{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.excalidraw .command-palette-dialog{-webkit-user-select:none;user-select:none}.excalidraw .command-palette-dialog .Modal__content{height:auto;max-height:100%}@media screen and (min-width:861px){.excalidraw .command-palette-dialog .Modal__content{max-height:750px;height:100%}}.excalidraw .command-palette-dialog .Modal__content .Island{height:100%;padding:1.5rem}.excalidraw .command-palette-dialog .Modal__content .Dialog__content{height:100%;display:flex;flex-direction:column}.excalidraw .command-palette-dialog .shortcuts-wrapper{display:flex;justify-content:center;align-items:center;margin-top:12px;gap:1.5rem}.excalidraw .command-palette-dialog .shortcut{display:flex;justify-content:center;align-items:center;height:16px;font-size:10px;gap:.25rem}.excalidraw .command-palette-dialog .shortcut .shortcut-wrapper{display:flex}.excalidraw .command-palette-dialog .shortcut .shortcut-plus{margin:0 4px}.excalidraw .command-palette-dialog .shortcut .shortcut-key{padding:0 4px;height:16px;border-radius:4px;display:flex;justify-content:center;align-items:center;background-color:var(--color-primary-light)}.excalidraw .command-palette-dialog .shortcut .shortcut-desc{margin-left:4px;color:var(--color-gray-50)}.excalidraw .command-palette-dialog .commands{overflow-y:auto;box-sizing:border-box;margin-top:12px;color:var(--popup-text-color);-webkit-user-select:none;user-select:none}.excalidraw .command-palette-dialog .commands .command-category{display:flex;flex-direction:column;padding:12px 0;margin-right:.25rem}.excalidraw .command-palette-dialog .commands .command-category-title{font-size:1rem;font-weight:600;margin-bottom:6px;display:flex;align-items:center}.excalidraw .command-palette-dialog .commands .command-item{color:var(--popup-text-color);height:2.5rem;display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;padding:0 .5rem;border-radius:var(--border-radius-lg);cursor:pointer}.excalidraw .command-palette-dialog .commands .command-item:active{background-color:var(--color-surface-low)}.excalidraw .command-palette-dialog .commands .command-item .name{display:flex;align-items:center;gap:.25rem}.excalidraw .command-palette-dialog .commands .item-selected{background-color:var(--color-surface-mid)}.excalidraw .command-palette-dialog .commands .item-disabled{opacity:.3;cursor:not-allowed}.excalidraw .command-palette-dialog .commands .no-match{display:flex;justify-content:center;align-items:center;margin-top:36px}.excalidraw .command-palette-dialog .icon{width:16px;height:16px;margin-right:6px}.excalidraw .popover{position:absolute;z-index:10;padding:5px 0;outline:none}.excalidraw .context-menu{position:relative;border-radius:4px;box-shadow:0 3px 10px #0003;padding:0;list-style:none;-webkit-user-select:none;user-select:none;margin:-.25rem 0 0 .125rem;padding:.5rem 0;background-color:var(--popup-secondary-bg-color);border:1px solid var(--button-gray-3);cursor:default}.excalidraw .context-menu button{color:var(--popup-text-color)}.excalidraw .context-menu-item{position:relative;width:100%;min-width:9.5rem;margin:0;padding:.25rem 1rem .25rem 1.25rem;text-align:start;border-radius:0;background-color:transparent;border:none;white-space:nowrap;font-family:inherit;display:grid;grid-template-columns:1fr .2fr;align-items:center}.excalidraw .context-menu-item.checkmark:before{position:absolute;left:6px;margin-bottom:1px;content:"✓"}.excalidraw .context-menu-item.dangerous .context-menu-item__label{color:#f03e3e}.excalidraw .context-menu-item .context-menu-item__label{justify-self:start;margin-inline-end:20px}.excalidraw .context-menu-item .context-menu-item__shortcut{justify-self:end;opacity:.6;font-family:inherit;font-size:.7rem}.excalidraw .context-menu-item:hover{color:var(--popup-bg-color);background-color:var(--select-highlight-color)}.excalidraw .context-menu-item:hover.dangerous{background-color:#fa5252}.excalidraw .context-menu-item:hover.dangerous .context-menu-item__label{color:var(--popup-bg-color)}.excalidraw .context-menu-item:focus{z-index:1}.excalidraw--mobile.excalidraw .context-menu-item{display:block}.excalidraw--mobile.excalidraw .context-menu-item .context-menu-item__label{margin-inline-end:0}.excalidraw--mobile.excalidraw .context-menu-item .context-menu-item__shortcut{display:none}.excalidraw .context-menu-item-separator{border:none;border-top:1px solid #adb5bd}.excalidraw{--RadioGroup-background: var(--island-bg-color);--RadioGroup-border: var(--color-surface-high);--RadioGroup-choice-color-off: var(--color-primary);--RadioGroup-choice-color-off-hover: var(--color-brand-hover);--RadioGroup-choice-background-off: var(--island-bg-color);--RadioGroup-choice-background-off-active: var(--color-surface-high);--RadioGroup-choice-color-on: var(--color-surface-lowest);--RadioGroup-choice-background-on: var(--color-primary);--RadioGroup-choice-background-on-hover: var(--color-brand-hover);--RadioGroup-choice-background-on-active: var(--color-brand-active)}.excalidraw .RadioGroup{box-sizing:border-box;display:flex;flex-direction:row;align-items:flex-start;padding:3px;border-radius:10px;background:var(--RadioGroup-background);border:1px solid var(--RadioGroup-border)}.excalidraw .RadioGroup__choice{position:relative;display:flex;align-items:center;justify-content:center;width:32px;height:24px;color:var(--RadioGroup-choice-color-off);background:var(--RadioGroup-choice-background-off);border-radius:8px;font-family:Assistant;font-style:normal;font-weight:600;font-size:.75rem;line-height:100%;-webkit-user-select:none;user-select:none;letter-spacing:.4px;transition:all 75ms ease-out}.excalidraw .RadioGroup__choice:hover{color:var(--RadioGroup-choice-color-off-hover)}.excalidraw .RadioGroup__choice:active{background:var(--RadioGroup-choice-background-off-active)}.excalidraw .RadioGroup__choice.active{color:var(--RadioGroup-choice-color-on);background:var(--RadioGroup-choice-background-on)}.excalidraw .RadioGroup__choice.active:hover{background:var(--RadioGroup-choice-background-on-hover)}.excalidraw .RadioGroup__choice.active:active{background:var(--RadioGroup-choice-background-on-active)}.excalidraw .RadioGroup__choice input{z-index:1;position:absolute;width:100%;height:100%;margin:0;padding:0;border-radius:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.excalidraw{--Switch-disabled-color: var(--color-border-outline);--Switch-disabled-toggled-background: var(--color-border-outline-variant);--Switch-disabled-border: var(--color-border-outline-variant);--Switch-track-background: var(--island-bg-color);--Switch-thumb-background: var(--color-on-surface);--Switch-hover-background: var(--color-brand-hover);--Switch-active-background: var(--color-brand-active)}.excalidraw .Switch{position:relative;box-sizing:border-box;width:40px;height:20px;border-radius:12px;transition-property:background,border;transition-duration:.15s;transition-timing-function:ease-out;background:var(--Switch-track-background);border:1px solid var(--Switch-disabled-color)}.excalidraw .Switch:hover{background:var(--Switch-track-background);border:1px solid var(--Switch-hover-background)}.excalidraw .Switch:active{border:1px solid var(--Switch-active-background)}.excalidraw .Switch.toggled{background:var(--color-primary);border:1px solid var(--color-primary)}.excalidraw .Switch.toggled:hover{background:var(--color-primary-darker);border:1px solid var(--color-primary-darker)}.excalidraw .Switch.disabled{background:var(--Switch-track-background);border:1px solid var(--Switch-disabled-border)}.excalidraw .Switch.disabled.toggled{background:var(--Switch-disabled-toggled-background);border:1px solid var(--Switch-disabled-toggled-background)}.excalidraw .Switch:before{content:"";box-sizing:border-box;display:block;pointer-events:none;position:absolute;border-radius:100%;transition:all .15s ease-out;width:10px;height:10px;top:4px;left:4px;background:var(--Switch-thumb-background)}.excalidraw .Switch:active:before{width:12px}.excalidraw .Switch.toggled:before{width:14px;height:14px;left:22px;top:2px;background:var(--Switch-track-background)}.excalidraw .Switch.toggled:active:before{width:16px;left:20px}.excalidraw .Switch.disabled:before{background:var(--Switch-disabled-color)}.excalidraw .Switch.disabled.toggled:before{background:var(--Switch-disabled-color)}.excalidraw .Switch input{width:100%;height:100%;margin:0;border-radius:12px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.excalidraw .Switch input:disabled{cursor:unset}.excalidraw{--ImageExportModal-preview-border: #d6d6d6}.excalidraw.theme--dark{--ImageExportModal-preview-border: #5c5c5c}.excalidraw .ImageExportModal{display:flex;flex-direction:row;justify-content:space-between;-webkit-user-select:none;user-select:none}.excalidraw .ImageExportModal h3{font-family:Assistant;font-style:normal;font-weight:700;font-size:1.313rem;line-height:130%;padding:0;margin:0}.excalidraw--mobile.excalidraw .ImageExportModal h3{display:none}.excalidraw .ImageExportModal>h3{display:none}.excalidraw--mobile.excalidraw .ImageExportModal>h3{display:block}.excalidraw--mobile.excalidraw .ImageExportModal{flex-direction:column;height:calc(100vh - 5rem)}.excalidraw .ImageExportModal__preview{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;height:360px;width:55%;margin-right:1.5rem}.excalidraw--mobile.excalidraw .ImageExportModal__preview{max-width:unset;margin-right:unset;width:100%;height:unset;flex-grow:1}.excalidraw .ImageExportModal__preview__filename>input{margin-top:1rem}.excalidraw .ImageExportModal__preview__canvas{box-sizing:border-box;width:100%;height:100%;display:flex;flex-grow:1;justify-content:center;align-items:center;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg==) left center;border:1px solid var(--ImageExportModal-preview-border);border-radius:12px;overflow:hidden;padding:1rem}.excalidraw .ImageExportModal__preview__canvas>canvas{max-width:calc(100% - 2rem);max-height:calc(100% - 2rem);filter:none!important}.excalidraw--mobile.excalidraw .ImageExportModal__preview__canvas>canvas{max-height:100%}.excalidraw--mobile.excalidraw .ImageExportModal__preview__canvas{margin-top:24px;max-width:unset}.excalidraw .ImageExportModal__settings{display:flex;flex-direction:column;flex-wrap:wrap;gap:18px}.excalidraw--mobile.excalidraw .ImageExportModal__settings{margin-left:unset;margin-top:1rem;flex-direction:row;gap:6px 34px;align-content:flex-start}.excalidraw .ImageExportModal__settings__setting{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.excalidraw--mobile.excalidraw .ImageExportModal__settings__setting{flex-direction:column;align-items:start;justify-content:unset;height:52px}.excalidraw .ImageExportModal__settings__setting__label{display:flex;flex-direction:row;align-items:center;font-family:Assistant;font-weight:600;font-size:1rem;line-height:150%}.excalidraw .ImageExportModal__settings__setting__label svg{width:20px;height:20px;margin-left:10px}.excalidraw .ImageExportModal__settings__setting__content{display:flex;height:100%;align-items:center}.excalidraw .ImageExportModal__settings__buttons{flex-grow:1;flex-wrap:wrap;display:flex;flex-direction:row;gap:11px;align-items:flex-end;align-content:flex-end}.excalidraw--mobile.excalidraw .ImageExportModal__settings__buttons{padding-top:32px;flex-basis:100%;justify-content:center}@keyframes successStatusAnimation{0%{transform:scale(.35)}50%{transform:scale(1.25)}to{transform:scale(1)}}.excalidraw .ExcButton{--text-color: transparent;--border-color: transparent;--back-color: transparent;color:var(--text-color);background-color:var(--back-color);border-color:var(--border-color);border-radius:.5rem;border-width:1px;border-style:solid;font-family:var(--font-family);-webkit-user-select:none;user-select:none}.excalidraw .ExcButton:hover{transition:all .15s ease-out}.excalidraw .ExcButton .Spinner{--spinner-color: var(--color-surface-lowest)}.excalidraw .ExcButton .ExcButton__statusIcon{visibility:visible;position:absolute;width:1.2rem;height:1.2rem;animation:successStatusAnimation .5s cubic-bezier(.3,1,.6,1)}.excalidraw .ExcButton.ExcButton--status-loading,.excalidraw .ExcButton.ExcButton--status-success{pointer-events:none}.excalidraw .ExcButton.ExcButton--status-loading .ExcButton__contents,.excalidraw .ExcButton.ExcButton--status-success .ExcButton__contents{visibility:hidden}.excalidraw .ExcButton[disabled]{pointer-events:none}.excalidraw .ExcButton,.excalidraw .ExcButton__contents{display:flex;justify-content:center;align-items:center;flex-shrink:0;flex-wrap:nowrap;position:relative}.excalidraw .ExcButton--color-primary.ExcButton--variant-filled{--text-color: var(--color-surface-lowest);--back-color: var(--color-primary)}.excalidraw .ExcButton--color-primary.ExcButton--variant-filled .Spinner{--spinner-color: var(--text-color)}.excalidraw .ExcButton--color-primary.ExcButton--variant-filled:hover{--back-color: var(--color-brand-hover)}.excalidraw .ExcButton--color-primary.ExcButton--variant-filled:active{--back-color: var(--color-brand-active)}.excalidraw .ExcButton--color-primary.ExcButton--variant-outlined,.excalidraw .ExcButton--color-primary.ExcButton--variant-icon{--text-color: var(--color-primary);--border-color: var(--color-primary);--back-color: transparent}.excalidraw .ExcButton--color-primary.ExcButton--variant-outlined .Spinner,.excalidraw .ExcButton--color-primary.ExcButton--variant-icon .Spinner{--spinner-color: var(--text-color)}.excalidraw .ExcButton--color-primary.ExcButton--variant-outlined:hover,.excalidraw .ExcButton--color-primary.ExcButton--variant-icon:hover{--text-color: var(--color-brand-hover);--border-color: var(--color-brand-hover)}.excalidraw .ExcButton--color-primary.ExcButton--variant-outlined:active,.excalidraw .ExcButton--color-primary.ExcButton--variant-icon:active{--text-color: var(--color-brand-active);--border-color: var(--color-brand-active)}.excalidraw .ExcButton--color-danger.ExcButton--variant-filled{--text-color: var(--color-danger-text);--back-color: var(--color-danger-dark)}.excalidraw .ExcButton--color-danger.ExcButton--variant-filled .Spinner{--spinner-color: var(--text-color)}.excalidraw .ExcButton--color-danger.ExcButton--variant-filled:hover{--back-color: var(--color-danger-darker)}.excalidraw .ExcButton--color-danger.ExcButton--variant-filled:active{--back-color: var(--color-danger-darkest)}.excalidraw .ExcButton--color-danger.ExcButton--variant-outlined,.excalidraw .ExcButton--color-danger.ExcButton--variant-icon{--text-color: var(--color-danger);--border-color: var(--color-danger);--back-color: transparent}.excalidraw .ExcButton--color-danger.ExcButton--variant-outlined .Spinner,.excalidraw .ExcButton--color-danger.ExcButton--variant-icon .Spinner{--spinner-color: var(--text-color)}.excalidraw .ExcButton--color-danger.ExcButton--variant-outlined:hover,.excalidraw .ExcButton--color-danger.ExcButton--variant-icon:hover{--text-color: var(--color-danger-darkest);--border-color: var(--color-danger-darkest)}.excalidraw .ExcButton--color-danger.ExcButton--variant-outlined:active,.excalidraw .ExcButton--color-danger.ExcButton--variant-icon:active{--text-color: var(--color-danger-darker);--border-color: var(--color-danger-darker)}.excalidraw .ExcButton--color-success.ExcButton--variant-filled{--text-color: var(--color-success-text);--back-color: var(--color-success)}.excalidraw .ExcButton--color-success.ExcButton--variant-filled .Spinner{--spinner-color: var(--color-success)}.excalidraw .ExcButton--color-success.ExcButton--variant-filled:hover{--back-color: var(--color-success-darker)}.excalidraw .ExcButton--color-success.ExcButton--variant-filled:active{--back-color: var(--color-success-darkest)}.excalidraw .ExcButton--color-success.ExcButton--variant-outlined,.excalidraw .ExcButton--color-success.ExcButton--variant-icon{--text-color: var(--color-success-contrast);--border-color: var(--color-success-contrast);--back-color: transparent}.excalidraw .ExcButton--color-success.ExcButton--variant-outlined .Spinner,.excalidraw .ExcButton--color-success.ExcButton--variant-icon .Spinner{--spinner-color: var(--color-success-contrast)}.excalidraw .ExcButton--color-success.ExcButton--variant-outlined:hover,.excalidraw .ExcButton--color-success.ExcButton--variant-icon:hover{--text-color: var(--color-success-contrast-hover);--border-color: var(--color-success-contrast-hover)}.excalidraw .ExcButton--color-success.ExcButton--variant-outlined:active,.excalidraw .ExcButton--color-success.ExcButton--variant-icon:active{--text-color: var(--color-success-contrast-active);--border-color: var(--color-success-contrast-active)}.excalidraw .ExcButton--color-muted.ExcButton--variant-filled{--text-color: var(--island-bg-color);--back-color: var(--color-gray-50)}.excalidraw .ExcButton--color-muted.ExcButton--variant-filled .Spinner{--spinner-color: var(--text-color)}.excalidraw .ExcButton--color-muted.ExcButton--variant-filled:hover{--back-color: var(--color-gray-60)}.excalidraw .ExcButton--color-muted.ExcButton--variant-filled:active{--back-color: var(--color-gray-80)}.excalidraw .ExcButton--color-muted.ExcButton--variant-outlined,.excalidraw .ExcButton--color-muted.ExcButton--variant-icon{--text-color: var(--color-muted-background);--border-color: var(--color-muted);--back-color: var(--island-bg-color)}.excalidraw .ExcButton--color-muted.ExcButton--variant-outlined .Spinner,.excalidraw .ExcButton--color-muted.ExcButton--variant-icon .Spinner{--spinner-color: var(--text-color)}.excalidraw .ExcButton--color-muted.ExcButton--variant-outlined:hover,.excalidraw .ExcButton--color-muted.ExcButton--variant-icon:hover{--text-color: var(--color-muted-background-darker);--border-color: var(--color-muted-darker)}.excalidraw .ExcButton--color-muted.ExcButton--variant-outlined:active,.excalidraw .ExcButton--color-muted.ExcButton--variant-icon:active{--text-color: var(--color-muted-background-darker);--border-color: var(--color-muted-darkest)}.excalidraw .ExcButton--color-warning.ExcButton--variant-filled{--text-color: black;--back-color: var(--color-warning-dark)}.excalidraw .ExcButton--color-warning.ExcButton--variant-filled .Spinner{--spinner-color: var(--text-color)}.excalidraw .ExcButton--color-warning.ExcButton--variant-filled:hover{--back-color: var(--color-warning-darker)}.excalidraw .ExcButton--color-warning.ExcButton--variant-filled:active{--back-color: var(--color-warning-darkest)}.excalidraw .ExcButton--color-warning.ExcButton--variant-outlined,.excalidraw .ExcButton--color-warning.ExcButton--variant-icon{--text-color: var(--color-warning-dark);--border-color: var(--color-warning-dark);--back-color: var(--input-bg-color)}.excalidraw .ExcButton--color-warning.ExcButton--variant-outlined .Spinner,.excalidraw .ExcButton--color-warning.ExcButton--variant-icon .Spinner{--spinner-color: var(--text-color)}.excalidraw .ExcButton--color-warning.ExcButton--variant-outlined:hover,.excalidraw .ExcButton--color-warning.ExcButton--variant-icon:hover{--text-color: var(--color-warning-darker);--border-color: var(--color-warning-darker)}.excalidraw .ExcButton--color-warning.ExcButton--variant-outlined:active,.excalidraw .ExcButton--color-warning.ExcButton--variant-icon:active{--text-color: var(--color-warning-darkest);--border-color: var(--color-warning-darkest)}.excalidraw .ExcButton--size-large{font-weight:600;font-size:.875rem;min-height:3rem;padding:.5rem 1.5rem;letter-spacing:.4px}.excalidraw .ExcButton--size-large .ExcButton__contents{gap:.75rem}.excalidraw .ExcButton--size-medium{font-weight:600;font-size:.75rem;min-height:2.5rem;padding:.5rem 1rem;letter-spacing:normal}.excalidraw .ExcButton--size-medium .ExcButton__contents{gap:.5rem}.excalidraw .ExcButton--variant-icon{padding:.5rem .75rem;width:3rem}.excalidraw .ExcButton--fullWidth{width:100%}.excalidraw .ExcButton__icon{width:1.25rem;height:1.25rem}.excalidraw .FixedSideContainer{position:absolute;pointer-events:none}.excalidraw .FixedSideContainer>*{pointer-events:var(--ui-pointerEvents)}.excalidraw .FixedSideContainer_side_top{left:var(--editor-container-padding);top:var(--editor-container-padding);right:var(--editor-container-padding);bottom:var(--editor-container-padding)}.excalidraw .FixedSideContainer_side_top.zen-mode{right:42px}.excalidraw .HintViewer{pointer-events:none;box-sizing:border-box;position:absolute;display:flex;flex-direction:column;justify-content:center;left:0;top:100%;max-width:100%;width:100%;margin-top:.5rem;text-align:center;color:var(--color-gray-40);font-size:.75rem}.excalidraw--mobile.excalidraw .HintViewer{position:static;padding-right:2rem}.excalidraw .HintViewer>span{padding:.25rem}.excalidraw.theme--dark .HintViewer{color:var(--color-gray-60)}.excalidraw--mobile.excalidraw .PasteChartDialog .Island{display:flex;flex-direction:column}.excalidraw .PasteChartDialog .container{display:flex;align-items:center;justify-content:space-around;flex-wrap:wrap}.excalidraw--mobile.excalidraw .PasteChartDialog .container{flex-direction:column;justify-content:center}.excalidraw .PasteChartDialog .ChartPreview{margin:8px;text-align:center;width:192px;height:128px;border-radius:2px;padding:1px;border:1px solid #ced4da;display:flex;align-items:center;justify-content:center;background:transparent}.excalidraw .PasteChartDialog .ChartPreview div{display:inline-block}.excalidraw .PasteChartDialog .ChartPreview svg{max-height:120px;max-width:186px}.excalidraw .PasteChartDialog .ChartPreview:hover{padding:0;border:2px solid #339af0}.excalidraw .HelpDialog .Modal__content{max-width:960px}.excalidraw .HelpDialog h3{margin:1.5rem 0;font-weight:700;font-size:1.125rem}.excalidraw .HelpDialog__header{display:flex;flex-wrap:wrap;gap:.75rem}.excalidraw .HelpDialog__btn{--background: var(--color-surface-mid);display:flex;column-gap:.5rem;align-items:center;background-color:var(--background);padding:.625rem 1rem;border:1px solid var(--background);border-radius:var(--border-radius-lg);color:var(--text-primary-color);font-weight:600;font-size:.75rem;letter-spacing:.4px}.excalidraw.theme--dark.excalidraw .HelpDialog__btn{--background: var(--color-surface-high)}.excalidraw.theme--dark.excalidraw .HelpDialog__btn:hover{--background: #363541}.excalidraw .HelpDialog__btn:hover{--background: var(--color-surface-high);text-decoration:none}.excalidraw .HelpDialog__btn:active{border-color:var(--color-primary)}.excalidraw .HelpDialog__link-icon{line-height:0}.excalidraw .HelpDialog__link-icon svg{width:1rem;height:1rem}.excalidraw .HelpDialog__islands-container{display:grid;grid-column-gap:1.5rem;grid-row-gap:2rem}@media screen and (min-width:1024px){.excalidraw .HelpDialog__islands-container{grid-template-columns:1fr 1fr}}@media screen and (min-width:1024px){.excalidraw .HelpDialog__island--tools{grid-area:1/1/2/2}.excalidraw .HelpDialog__island--view{grid-area:2/1/3/2}.excalidraw .HelpDialog__island--editor{grid-area:1/2/3/3}}.excalidraw .HelpDialog__island h4{font-size:1rem;font-weight:700;margin:0;margin-bottom:.625rem}.excalidraw .HelpDialog__island-content{border:1px solid var(--dialog-border-color);border-radius:var(--border-radius-lg)}.excalidraw .HelpDialog__shortcut{border-bottom:1px solid var(--dialog-border-color);padding:.375rem .75rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem;column-gap:.5rem}.excalidraw .HelpDialog__shortcut:last-child{border-bottom:none}.excalidraw .HelpDialog__key-container{display:flex;align-items:center;column-gap:.25rem;flex-shrink:0}.excalidraw .HelpDialog__key{display:flex;box-sizing:border-box;font-size:.625rem;background-color:var(--color-primary-light);border-radius:var(--border-radius-md);padding:.5rem;word-break:keep-all;align-items:center;font-family:inherit;line-height:1}.excalidraw{--avatar-size: 1.75rem;--avatarList-gap: .625rem;--userList-padding: var(--space-factor);--userlist-hint-bg-color: var(--color-gray-10);--userlist-hint-heading-color: var(--color-gray-80);--userlist-hint-text-color: var(--color-gray-60);--userlist-collaborators-border-color: var(--color-gray-20)}.excalidraw .UserList__wrapper{display:flex;width:100%;justify-content:flex-end;align-items:center;pointer-events:none!important}.excalidraw .UserList{pointer-events:none;padding:var(--userList-padding);display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:var(--avatarList-gap);box-sizing:border-box;--max-size: calc( var(--avatar-size) * var(--max-avatars, 2) + var(--avatarList-gap) * (var(--max-avatars, 2) - 1) + var(--userList-padding) * 2 );max-height:var(--max-size);max-width:var(--max-size)}.excalidraw .UserList>*{pointer-events:var(--ui-pointerEvents)}.excalidraw .UserList_mobile{padding:0;justify-content:normal;margin:.5rem 0;max-width:none;max-height:none}.excalidraw .UserList__more{width:var(--avatar-size, 1.5rem);height:var(--avatar-size, 1.5rem);position:relative;border-radius:100%;outline-offset:2px;display:flex;justify-content:center;align-items:center;cursor:pointer;font-size:.75rem;line-height:1;color:var(--color-gray-90);flex:0 0 auto;background-color:var(--color-gray-20);border:0!important;font-size:.625rem;font-weight:400;flex-shrink:0;color:var(--color-gray-100);font-weight:700}.excalidraw .UserList__more:active{transform:scale(.94)}.excalidraw .UserList__more-img{width:100%;height:100%;border-radius:100%}.excalidraw .UserList__more:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:100%}.excalidraw .UserList__more.is-followed:before{border-color:var(--color-primary-hover);box-shadow:0 0 0 1px var(--color-primary-hover)}.excalidraw .UserList__more.is-current-user{cursor:auto}.excalidraw .UserList__collaborator-name{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.excalidraw .UserList__collaborator--avatar-only{position:relative;display:flex;flex:0 0 auto}.excalidraw .UserList__collaborator--avatar-only .UserList__collaborator-status-icon{--size: 14px;position:absolute;display:flex;flex:0 0 auto;bottom:-.25rem;right:-.25rem;width:var(--size);height:var(--size)}.excalidraw .UserList__collaborator--avatar-only .UserList__collaborator-status-icon svg{flex:0 0 auto;width:var(--size);height:var(--size)}.excalidraw .UserList__collaborator-status-icons{margin-left:auto;flex:0 0 auto;min-width:2.25rem;gap:.25rem;justify-content:flex-end;display:flex}.excalidraw .UserList__collaborator.is-muted .UserList__collaborator-status-icon-microphone-muted{color:var(--color-danger);filter:drop-shadow(0px 0px 0px rgba(0,0,0,.5))}.excalidraw .UserList__collaborator-status-icon-speaking-indicator{display:flex;flex-flow:row nowrap;align-items:center;justify-content:space-between;width:1rem;padding:0 3px;box-sizing:border-box}.excalidraw .UserList__collaborator-status-icon-speaking-indicator div{width:.125rem;height:.4rem;background-color:#a2f1a6}.excalidraw .UserList__collaborator-status-icon-speaking-indicator div:nth-of-type(1){animation:speaking-indicator-anim 1s -.45s ease-in-out infinite}.excalidraw .UserList__collaborator-status-icon-speaking-indicator div:nth-of-type(2){animation:speaking-indicator-anim 1s -.9s ease-in-out infinite}.excalidraw .UserList__collaborator-status-icon-speaking-indicator div:nth-of-type(3){animation:speaking-indicator-anim 1s -.15s ease-in-out infinite}@keyframes speaking-indicator-anim{0%,to{transform:scaleY(1)}50%{transform:scaleY(2)}}.excalidraw.theme--dark{--userlist-hint-bg-color: var(--color-gray-90);--userlist-hint-heading-color: var(--color-gray-30);--userlist-hint-text-color: var(--color-gray-40);--userlist-collaborators-border-color: var(--color-gray-80)}.excalidraw .UserList__collaborators{top:auto;max-height:50vh}.excalidraw .Card{display:flex;flex-direction:column;align-items:center;max-width:290px;margin:1em;text-align:center}.excalidraw .Card .Card-icon{font-size:2.6em;display:flex;flex:0 0 auto;padding:1.4rem;border-radius:50%;background:var(--card-color);color:#fff}.excalidraw .Card .Card-icon svg{width:2.8rem;height:2.8rem}.excalidraw .Card .Card-details{font-size:.96em;min-height:90px;padding:0 1em;margin-bottom:auto}.excalidraw .Card .Card-button.ToolIcon_type_button{height:2.5rem;margin-top:1em;margin-bottom:.3em;background-color:var(--card-color)}.excalidraw .Card .Card-button.ToolIcon_type_button:hover{background-color:var(--card-color-darker)}.excalidraw .Card .Card-button.ToolIcon_type_button:active{background-color:var(--card-color-darkest)}.excalidraw .Card .Card-button.ToolIcon_type_button .ToolIcon__label{color:#fff}.excalidraw .Card .Card-button.ToolIcon_type_button .Spinner{--spinner-color: #fff}.excalidraw .ExportDialog__preview{--preview-padding: calc(var(--space-factor) * 4);background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg==) left center;text-align:center;padding:var(--preview-padding);margin-bottom:calc(var(--space-factor) * 3);display:flex;justify-content:center;align-items:center}.excalidraw .ExportDialog__preview canvas{max-width:calc(100% - var(--preview-padding) * 2);max-height:25rem}.excalidraw.theme--dark .ExportDialog__preview canvas{filter:none}.excalidraw .ExportDialog__actions{width:100%;display:flex;grid-gap:calc(var(--space-factor) * 2);align-items:top;justify-content:space-between}.excalidraw--mobile.excalidraw .ExportDialog{display:flex;flex-direction:column}.excalidraw--mobile.excalidraw .ExportDialog__actions{flex-direction:column;align-items:center}.excalidraw--mobile.excalidraw .ExportDialog__actions>*{margin-bottom:calc(var(--space-factor) * 3)}.excalidraw--mobile.excalidraw .ExportDialog__preview canvas{max-height:30vh}.excalidraw--mobile.excalidraw .ExportDialog__dialog,.excalidraw--mobile.excalidraw .ExportDialog__dialog .Island{height:100%;box-sizing:border-box}.excalidraw--mobile.excalidraw .ExportDialog__dialog .Island{overflow-y:auto}.excalidraw .ExportDialog--json .ExportDialog-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));justify-items:center;row-gap:2em}@media(max-width:460px){.excalidraw .ExportDialog--json .ExportDialog-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.excalidraw .ExportDialog--json .ExportDialog-cards .Card-details{min-height:40px}}.excalidraw .ExportDialog--json .ExportDialog-cards .ProjectName{width:fit-content;margin:1em auto;align-items:flex-start;flex-direction:column}.excalidraw .ExportDialog--json .ExportDialog-cards .ProjectName .TextInput{width:auto}.excalidraw .ExportDialog--json .ExportDialog-cards .ProjectName-label{margin:.625em 0;font-weight:700}.excalidraw button.ExportDialog-imageExportButton{border:0;width:5rem;height:5rem;margin:0 .2em;padding:0;display:flex;align-items:center;justify-content:center;border-radius:1rem;background-color:var(--button-color);box-shadow:0 3px 5px -1px #00000047,0 6px 10px #00000024;font-family:Cascadia;font-size:1.8em;color:#fff}.excalidraw button.ExportDialog-imageExportButton:hover{background-color:var(--button-color-darker)}.excalidraw button.ExportDialog-imageExportButton:active{background-color:var(--button-color-darkest);box-shadow:none}.excalidraw button.ExportDialog-imageExportButton svg{width:.9em}.excalidraw .sidebar-trigger{justify-content:center;padding:.625rem;width:var(--button-width, var(--default-button-size));height:var(--button-height, var(--default-button-size));box-sizing:border-box;border-width:1px;border-style:solid;border-color:var(--button-border, var(--default-border-color));border-radius:var(--border-radius-lg);cursor:pointer;background-color:var(--button-bg, var(--island-bg-color));color:var(--button-color, var(--color-on-surface));font-family:var(--ui-font);border:none;box-shadow:0 0 0 1px var(--color-surface-lowest);background-color:var(--color-surface-low);width:auto;height:var(--lg-button-size);display:flex;align-items:center;gap:.5rem;line-height:0;font-size:.75rem;letter-spacing:.4px}.excalidraw .sidebar-trigger svg{width:var(--button-width, var(--lg-icon-size));height:var(--button-height, var(--lg-icon-size))}.excalidraw .sidebar-trigger:hover{background-color:var(--button-hover-bg, var(--island-bg-color));border-color:var(--button-hover-border, var(--button-border, var(--default-border-color)));color:var(--button-hover-color, var(--button-color, var(--text-primary-color, inherit)))}.excalidraw .sidebar-trigger:active{background-color:var(--button-active-bg, var(--island-bg-color));border-color:var(--button-active-border, var(--color-primary-darkest))}.excalidraw .sidebar-trigger.active{background-color:var(--button-selected-bg, var(--color-surface-primary-container));border-color:var(--button-selected-border, var(--color-surface-primary-container))}.excalidraw .sidebar-trigger.active:hover{background-color:var(--button-selected-hover-bg, var(--color-surface-primary-container))}.excalidraw .sidebar-trigger.active svg{color:var(--button-color, var(--color-on-primary-container))}.excalidraw .sidebar-trigger:active{box-shadow:0 0 0 1px var(--color-brand-active)}.excalidraw .sidebar-trigger svg{width:var(--lg-icon-size);height:var(--lg-icon-size)}.excalidraw .sidebar-trigger__label-element{align-self:flex-start}.excalidraw .default-sidebar-trigger .sidebar-trigger__label{display:block;white-space:nowrap}.excalidraw.excalidraw--mobile .default-sidebar-trigger .sidebar-trigger__label{display:none}.excalidraw .sidebar{display:flex;flex-direction:column;position:absolute;top:0;bottom:0;right:0;z-index:5;margin:0;padding:0;box-sizing:border-box;background-color:var(--sidebar-bg-color);box-shadow:var(--sidebar-shadow);pointer-events:var(--ui-pointerEvents);overflow:hidden;border-radius:0;width:calc(var(--right-sidebar-width) - var(--space-factor) * 2);border-left:1px solid var(--sidebar-border-color)}:root[dir=rtl] .excalidraw .sidebar{left:0;right:auto}.excalidraw .sidebar--docked{box-shadow:none}:root[dir=rtl] .excalidraw .sidebar{border-right:1px solid var(--sidebar-border-color);border-left:0}.excalidraw .sidebar__header{box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;width:100%;padding:1rem .75rem;position:relative}.excalidraw .sidebar__header:after{content:"";width:calc(100% - 1.5rem);height:1px;background:var(--sidebar-border-color);position:absolute;bottom:-1px}.excalidraw .sidebar__header__buttons{gap:0;display:flex;align-items:center;margin-left:auto}.excalidraw .sidebar__header__buttons button{display:flex;justify-content:center;align-items:center;padding:.625rem;width:var(--button-width, var(--default-button-size));height:var(--button-height, var(--default-button-size));box-sizing:border-box;border-width:1px;border-style:solid;border-color:var(--button-border, var(--default-border-color));border-radius:var(--border-radius-lg);cursor:pointer;background-color:var(--button-bg, var(--island-bg-color));color:var(--button-color, var(--color-on-surface));font-family:var(--ui-font);--button-bg: transparent;border:0!important;width:var(--lg-button-size);height:var(--lg-button-size);padding:0}.excalidraw .sidebar__header__buttons button svg{width:var(--button-width, var(--lg-icon-size));height:var(--button-height, var(--lg-icon-size))}.excalidraw .sidebar__header__buttons button:hover{background-color:var(--button-hover-bg, var(--island-bg-color));border-color:var(--button-hover-border, var(--button-border, var(--default-border-color)));color:var(--button-hover-color, var(--button-color, var(--text-primary-color, inherit)))}.excalidraw .sidebar__header__buttons button:active{background-color:var(--button-active-bg, var(--island-bg-color));border-color:var(--button-active-border, var(--color-primary-darkest))}.excalidraw .sidebar__header__buttons button.active{background-color:var(--button-selected-bg, var(--color-surface-primary-container));border-color:var(--button-selected-border, var(--color-surface-primary-container))}.excalidraw .sidebar__header__buttons button.active:hover{background-color:var(--button-selected-hover-bg, var(--color-surface-primary-container))}.excalidraw .sidebar__header__buttons button.active svg{color:var(--button-color, var(--color-on-primary-container))}.excalidraw .sidebar__header__buttons button svg{width:var(--lg-icon-size);height:var(--lg-icon-size)}.excalidraw .sidebar__header__buttons button:hover{background:var(--button-hover-bg, var(--island-bg-color))}.excalidraw .sidebar__header__buttons .sidebar__dock.selected svg{stroke:var(--color-primary);fill:var(--color-primary)}.excalidraw .sidebar-tabs-root{display:flex;flex-direction:column;flex:1 1 auto;padding:1rem 0}.excalidraw .sidebar-tabs-root [role=tabpanel]{flex:1;flex:1 1 auto;display:flex;flex-direction:column;outline:none}.excalidraw .sidebar-tabs-root [role=tabpanel][data-state=inactive]{display:none!important}.excalidraw .sidebar-tabs-root [role=tablist]{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.excalidraw .sidebar-tabs-root>.sidebar__header{padding-top:0;padding-bottom:1rem}.excalidraw .sidebar-tab-trigger{--button-width: auto;--button-bg: transparent;--button-hover-bg: transparent;--button-active-bg: var(--color-primary);--button-hover-color: var(--color-primary);--button-hover-border: var(--color-primary)}.excalidraw .sidebar-tab-trigger[data-state=active]{--button-bg: var(--color-primary);--button-hover-bg: var(--color-primary-darker);--button-hover-color: var(--color-icon-white);--button-border: var(--color-primary);color:var(--color-icon-white)}.excalidraw .default-sidebar{display:flex;flex-direction:column}.excalidraw .default-sidebar .sidebar-triggers{display:flex;gap:0;padding:2px;margin-top:-3px;margin-bottom:-3px;border:1px solid var(--sidebar-border-color);background:var(--default-bg-color);border-radius:.625rem}.excalidraw .default-sidebar .sidebar-triggers .sidebar-tab-trigger{height:var(--lg-button-size);width:var(--lg-button-size);border:none}.excalidraw .ActiveFile .ActiveFile__fileName{display:flex;align-items:center}.excalidraw .ActiveFile .ActiveFile__fileName span{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;width:9.3em}.excalidraw .ActiveFile .ActiveFile__fileName svg{width:1.15em;margin-inline-end:.3em;transform:scaleY(.9)}.excalidraw .OverwriteConfirm{display:flex;flex-direction:column;align-items:center;gap:.75rem;isolation:isolate}.excalidraw .OverwriteConfirm h3{margin:0;font-weight:700;font-size:1.3125rem;line-height:130%;align-self:flex-start;color:var(--text-primary-color)}.excalidraw .OverwriteConfirm__Description{box-sizing:border-box;display:flex;flex-direction:row;align-items:center;width:100%;gap:1rem;padding:2.5rem;background:var(--color-danger-background);border-radius:.5rem;font-family:Assistant;font-style:normal;font-weight:400;font-size:1rem;line-height:150%;color:var(--color-danger-color)}.excalidraw--mobile.excalidraw .OverwriteConfirm__Description{flex-direction:column;text-align:center}.excalidraw .OverwriteConfirm__Description__spacer{flex-grow:1}.excalidraw .OverwriteConfirm__Description__icon{box-sizing:border-box;display:flex;align-items:center;justify-content:center;border-radius:2.5rem;background:var(--color-danger-icon-background);width:3.5rem;height:3.5rem;padding:.75rem}.excalidraw .OverwriteConfirm__Description__icon svg{color:var(--color-danger-icon-color);width:1.5rem;height:1.5rem}.excalidraw .OverwriteConfirm__Description.OverwriteConfirm__Description--color-warning{background:var(--color-warning-background);color:var(--color-warning-color)}.excalidraw .OverwriteConfirm__Description.OverwriteConfirm__Description--color-warning .OverwriteConfirm__Description__icon{background:var(--color-warning-icon-background);flex:0 0 auto}.excalidraw .OverwriteConfirm__Description.OverwriteConfirm__Description--color-warning .OverwriteConfirm__Description__icon svg{color:var(--color-warning-icon-color)}.excalidraw .OverwriteConfirm__Actions{display:flex;flex-direction:row;align-items:stretch;justify-items:stretch;justify-content:center;gap:1.5rem}.excalidraw--mobile.excalidraw .OverwriteConfirm__Actions{flex-direction:column}.excalidraw .OverwriteConfirm__Actions__Action{display:flex;flex-direction:column;align-items:center;padding:1.5rem;gap:.75rem;flex-basis:50%;flex-grow:0}.excalidraw .OverwriteConfirm__Actions__Action__content{height:100%;font-size:.875rem;text-align:center}.excalidraw .OverwriteConfirm__Actions__Action h4{font-weight:700;font-size:1.125rem;line-height:130%;margin:0;color:var(--text-primary-color)}.excalidraw .layer-ui__search{flex:1 0 auto;display:flex;flex-direction:column;padding:8px 0 0}.excalidraw .layer-ui__search-header{display:flex;justify-content:space-between;align-items:center;padding:0 .75rem}.excalidraw .layer-ui__search-header .ExcTextField{flex:1 0 auto}.excalidraw .layer-ui__search-header .ExcTextField__input{background-color:#f5f5f9;border-radius:var(--border-radius-md);border:0}.excalidraw.theme--dark.excalidraw .layer-ui__search-header .ExcTextField__input{background-color:#31303b}.excalidraw .layer-ui__search-header .ExcTextField__input input::placeholder{font-size:.9rem}.excalidraw .layer-ui__search-count{display:flex;justify-content:space-between;align-items:center;padding:8px 8px 0;margin:0 .75rem .25rem;font-size:.8em}.excalidraw .layer-ui__search-count .result-nav{display:flex}.excalidraw .layer-ui__search-count .result-nav .result-nav-btn{width:36px;height:36px;--button-border: transparent}.excalidraw .layer-ui__search-count .result-nav .result-nav-btn:active{background-color:var(--color-surface-high)}.excalidraw .layer-ui__search-count .result-nav .result-nav-btn:first-child{margin-right:4px}.excalidraw .layer-ui__search-result-container{overflow-y:auto;flex:1 1 0;display:flex;flex-direction:column;gap:.125rem}.excalidraw .layer-ui__result-item{display:flex;align-items:center;min-height:2rem;flex:0 0 auto;padding:.25rem .75rem;cursor:pointer;border:1px solid transparent;outline:none;margin:0 .75rem;border-radius:var(--border-radius-md)}.excalidraw .layer-ui__result-item .text-icon{width:1rem;height:1rem;margin-right:.75rem}.excalidraw .layer-ui__result-item .preview-text{flex:1;max-height:48px;line-height:24px;overflow:hidden;text-overflow:ellipsis;word-break:break-all}.excalidraw .layer-ui__result-item:hover{background-color:var(--color-surface-high)}.excalidraw .layer-ui__result-item:active{border-color:var(--color-primary)}.excalidraw .layer-ui__result-item.active{background-color:var(--color-surface-high)}.excalidraw .dialog-mermaid-title{margin-block:.25rem;font-size:1.25rem;font-weight:700;padding-inline:2.5rem}.excalidraw .Modal.Dialog.ttd-dialog{padding:1.25rem}.excalidraw .Modal.Dialog.ttd-dialog.Dialog--fullscreen{margin-top:0}.excalidraw .Modal.Dialog.ttd-dialog .Island{padding-inline:0!important;height:100%;display:flex;flex-direction:column;flex:1 1 auto;box-shadow:none}.excalidraw .Modal.Dialog.ttd-dialog .Modal__content{height:auto;max-height:100%}@media screen and (min-width:861px){.excalidraw .Modal.Dialog.ttd-dialog .Modal__content{max-height:750px;height:100%}}.excalidraw .Modal.Dialog.ttd-dialog .Dialog__content{flex:1 1 auto}.excalidraw .ttd-dialog-desc{font-size:15px;font-style:italic;font-weight:500;margin-bottom:1.5rem}.excalidraw .ttd-dialog-tabs-root{width:100%;height:100%;display:flex;flex-direction:column}.excalidraw .ttd-dialog-tab-trigger{color:var(--color-on-surface);font-size:.875rem;margin:0;padding:0 1rem;background-color:transparent;border:0;height:2.875rem;font-weight:600;font-family:inherit;letter-spacing:.4px}.excalidraw .ttd-dialog-tab-trigger[data-state=active]{border-bottom:2px solid var(--color-primary)}.excalidraw .ttd-dialog-triggers{border-bottom:1px solid var(--color-surface-high);margin-bottom:1.5rem;padding-inline:2.5rem}.excalidraw .ttd-dialog-content{padding-inline:2.5rem;height:100%;display:flex;flex-direction:column}.excalidraw .ttd-dialog-content[hidden]{display:none}.excalidraw .ttd-dialog-input{width:auto;height:10rem;resize:none;border-radius:var(--border-radius-lg);border:1px solid var(--dialog-border-color);white-space:pre-wrap;padding:.85rem;box-sizing:border-box;font-family:monospace}@media screen and (min-width:861px){.excalidraw .ttd-dialog-input{width:100%;height:100%}}.excalidraw .ttd-dialog-output-wrapper{display:flex;align-items:center;justify-content:center;padding:.85rem;box-sizing:border-box;flex-grow:1;position:relative;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg==) left center;border-radius:var(--border-radius-lg);border:1px solid var(--dialog-border-color);height:400px;width:auto}@media screen and (min-width:861px){.excalidraw .ttd-dialog-output-wrapper{width:100%;height:200px}}.excalidraw .ttd-dialog-output-wrapper canvas{max-width:100%;max-height:100%}.excalidraw .ttd-dialog-output-canvas-container{display:flex;width:100%;height:100%;align-items:center;justify-content:center;flex-grow:1}.excalidraw .ttd-dialog-output-error{color:red;font-weight:700;font-size:30px;word-break:break-word;overflow:auto;max-height:100%;height:100%;width:100%;text-align:center;position:absolute;z-index:10}.excalidraw .ttd-dialog-output-error p{font-weight:500;font-family:Cascadia;text-align:left;white-space:pre-wrap;font-size:.875rem;padding:0 10px}.excalidraw .ttd-dialog-panels{height:100%}@media screen and (min-width:861px){.excalidraw .ttd-dialog-panels{display:grid;grid-template-columns:1fr 1fr;gap:4rem}}.excalidraw .ttd-dialog-panel{display:flex;flex-direction:column;width:100%}.excalidraw .ttd-dialog-panel__header{display:flex;margin:0 4px 4px;align-items:center;gap:1rem}.excalidraw .ttd-dialog-panel__header label{font-size:14px;font-style:normal;font-weight:600}.excalidraw .ttd-dialog-panel:first-child .ttd-dialog-panel-button-container:not(.invisible){margin-bottom:4rem}@media screen and (min-width:861px){.excalidraw .ttd-dialog-panel .ttd-dialog-panel-button-container:not(.invisible){margin-bottom:.5rem!important}}.excalidraw .ttd-dialog-panel textarea{height:100%;resize:none;border-radius:var(--border-radius-lg);border:1px solid var(--dialog-border-color);white-space:pre-wrap;padding:.85rem;box-sizing:border-box;width:100%;font-family:monospace}@media screen and (max-width:861px){.excalidraw .ttd-dialog-panel textarea{width:auto;height:10rem}}.excalidraw .ttd-dialog-panel-button-container{margin-top:1rem;margin-bottom:.5rem}.excalidraw .ttd-dialog-panel-button-container.invisible .ttd-dialog-panel-button{display:none}@media screen and (min-width:861px){.excalidraw .ttd-dialog-panel-button-container.invisible .ttd-dialog-panel-button{display:block;visibility:hidden}}.excalidraw .ttd-dialog-panel-button{position:relative}.excalidraw .ttd-dialog-panel-button.excalidraw-button{font-family:inherit;font-weight:600;height:2.5rem;font-size:12px;color:#fff;background-color:var(--color-primary);width:100%}.excalidraw .ttd-dialog-panel-button.excalidraw-button:hover{background-color:var(--color-primary-darker)}.excalidraw .ttd-dialog-panel-button.excalidraw-button:active{background-color:var(--color-primary-darkest)}.excalidraw .ttd-dialog-panel-button.excalidraw-button:disabled{opacity:.5;cursor:not-allowed}.excalidraw .ttd-dialog-panel-button.excalidraw-button:disabled:hover{background-color:var(--color-primary)}@media screen and (min-width:861px){.excalidraw .ttd-dialog-panel-button.excalidraw-button{width:auto;min-width:7.5rem}}.excalidraw.theme--dark.excalidraw .ttd-dialog-panel-button.excalidraw-button{color:var(--color-gray-100)}.excalidraw .ttd-dialog-panel-button div{display:contents}.excalidraw .ttd-dialog-panel-button div.invisible{visibility:hidden}.excalidraw .ttd-dialog-panel-button div.Spinner{display:flex!important;position:absolute;top:0;right:0;bottom:0;left:0;--spinner-color: white}.excalidraw.theme--dark.excalidraw .ttd-dialog-panel-button div.Spinner{--spinner-color: var(--color-gray-100)}.excalidraw .ttd-dialog-panel-button div span{padding-left:.5rem;display:flex}.excalidraw .ttd-dialog-submit-shortcut{margin-inline-start:.5rem;font-size:.625rem;opacity:.6;display:flex;gap:.125rem}.excalidraw .ttd-dialog-submit-shortcut__key{border:1px solid gray;padding:2px 3px;border-radius:4px}.excalidraw .drag-input-container{display:flex;width:100%}.excalidraw .drag-input-container:focus-within{box-shadow:0 0 0 1px var(--color-primary-darkest);border-radius:var(--border-radius-md)}.excalidraw .disabled{opacity:.5;pointer-events:none}.excalidraw .drag-input-label{flex-shrink:0;border:1px solid var(--default-border-color);border-right:0;padding:0 .5rem 0 .75rem;min-width:1rem;height:2rem;box-sizing:border-box;color:var(--popup-text-color);display:flex;align-items:center;justify-content:center;position:relative}:root[dir=ltr] .excalidraw .drag-input-label{border-radius:var(--border-radius-md) 0 0 var(--border-radius-md)}:root[dir=rtl] .excalidraw .drag-input-label{border-radius:0 var(--border-radius-md) var(--border-radius-md) 0;border-right:1px solid var(--default-border-color);border-left:0}.excalidraw .drag-input{box-sizing:border-box;width:100%;margin:0;font-size:.875rem;font-family:inherit;background-color:transparent;color:var(--text-primary-color);border:0;outline:none;height:2rem;border:1px solid var(--default-border-color);border-left:0;letter-spacing:.4px;padding:.5rem .5rem .5rem .25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}:root[dir=ltr] .excalidraw .drag-input{border-radius:0 var(--border-radius-md) var(--border-radius-md) 0}:root[dir=rtl] .excalidraw .drag-input{border-radius:var(--border-radius-md) 0 0 var(--border-radius-md);border-left:1px solid var(--default-border-color);border-right:0}.excalidraw .drag-input:focus-visible{box-shadow:none}.exc-stats{width:204px;position:absolute;top:60px;font-size:12px;z-index:var(--zIndex-layerUI);pointer-events:var(--ui-pointerEvents)}:root[dir=rtl] .exc-stats{left:12px;right:initial}.exc-stats h2{font-size:1.5em;margin-block-start:.83em;margin-block-end:.83em;font-weight:700}.exc-stats h3{white-space:nowrap;font-size:1.17em;margin:0;font-weight:700}.exc-stats__rows{display:flex;flex-direction:column;gap:.3125rem}.exc-stats__row{display:flex;justify-content:space-between;align-items:center;display:grid;gap:4px}.exc-stats__row div+div{text-align:right}.exc-stats__row--heading{text-align:center;font-weight:700;margin:.25rem 0}.exc-stats .title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.exc-stats .title h2{margin:0}.exc-stats .close{height:16px;width:16px;cursor:pointer}.exc-stats .close svg{width:100%;height:100%}.excalidraw .ElementLinkDialog{position:absolute;top:var(--editor-container-padding);left:var(--editor-container-padding);z-index:var(--zIndex-modal);border-radius:10px;padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow-island);background-color:var(--island-bg-color)}.excalidraw--mobile.excalidraw .ElementLinkDialog{left:0;margin-left:.5rem;margin-right:.5rem;width:calc(100% - 1rem);box-sizing:border-box;z-index:5}.excalidraw .ElementLinkDialog .ElementLinkDialog__header{margin-bottom:1.5rem}.excalidraw .ElementLinkDialog .ElementLinkDialog__header h2{margin-top:0;margin-bottom:.5rem}.excalidraw--mobile.excalidraw .ElementLinkDialog .ElementLinkDialog__header h2{font-size:1.25rem}.excalidraw .ElementLinkDialog .ElementLinkDialog__header p{margin:0}.excalidraw--mobile.excalidraw .ElementLinkDialog .ElementLinkDialog__header p{font-size:.875rem}.excalidraw--mobile.excalidraw .ElementLinkDialog .ElementLinkDialog__header{margin-bottom:1rem}.excalidraw .ElementLinkDialog .ElementLinkDialog__input{display:flex}.excalidraw .ElementLinkDialog .ElementLinkDialog__input .ElementLinkDialog__input-field{flex:1}.excalidraw .ElementLinkDialog .ElementLinkDialog__input .ElementLinkDialog__remove{color:#c92a2a;margin-left:1rem}.excalidraw .ElementLinkDialog .ElementLinkDialog__input .ElementLinkDialog__remove .ToolIcon__icon{width:2rem;height:2rem}.excalidraw .ElementLinkDialog .ElementLinkDialog__input .ElementLinkDialog__remove .ToolIcon__icon svg{color:#fa5252}.excalidraw .ElementLinkDialog .ElementLinkDialog__actions{display:flex;justify-content:flex-end;margin-top:1.5rem}.excalidraw--mobile.excalidraw .ElementLinkDialog .ElementLinkDialog__actions{font-size:.875rem;margin-top:1rem}.excalidraw .layer-ui__wrapper.animate{transition:width .1s ease-in-out}.excalidraw .layer-ui__wrapper{position:absolute;width:100%;height:100%;pointer-events:none;z-index:var(--zIndex-layerUI)}.excalidraw .layer-ui__wrapper__top-right{display:flex;width:100%;justify-content:flex-end;gap:.75rem;pointer-events:none!important}.excalidraw .layer-ui__wrapper__top-right>*{pointer-events:var(--ui-pointerEvents)}.excalidraw .layer-ui__wrapper__footer{width:100%}.excalidraw .layer-ui__wrapper__footer-right{z-index:100;display:flex}.excalidraw .layer-ui__wrapper .zen-mode-transition{transition:transform .5s ease-in-out}:root[dir=ltr] .excalidraw .layer-ui__wrapper .zen-mode-transition.transition-left{transform:translate(-999px)}:root[dir=ltr] .excalidraw .layer-ui__wrapper .zen-mode-transition.transition-right{transform:translate(999px)}:root[dir=rtl] .excalidraw .layer-ui__wrapper .zen-mode-transition.transition-left{transform:translate(999px)}:root[dir=rtl] .excalidraw .layer-ui__wrapper .zen-mode-transition.transition-right{transform:translate(-999px)}.excalidraw .layer-ui__wrapper .zen-mode-transition.layer-ui__wrapper__footer-left--transition-bottom{transform:translateY(92px)}.excalidraw .layer-ui__wrapper .disable-zen-mode{padding:10px;position:absolute;bottom:0;opacity:0;visibility:hidden;transition:visibility 0s linear 0s,opacity .5s;font-family:var(--ui-font);font-size:.75rem;font-weight:500;line-height:1;border-radius:var(--border-radius-lg);border:1px solid var(--default-border-color);background-color:var(--island-bg-color);color:var(--text-primary-color)}[dir=ltr] .excalidraw .layer-ui__wrapper .disable-zen-mode{right:1rem}[dir=rtl] .excalidraw .layer-ui__wrapper .disable-zen-mode{left:1rem}.excalidraw .layer-ui__wrapper .disable-zen-mode:hover{background-color:var(--button-hover-bg)}.excalidraw .layer-ui__wrapper .disable-zen-mode:active{border-color:var(--color-primary)}.excalidraw .layer-ui__wrapper .disable-zen-mode--visible{opacity:1;visibility:visible;transition:visibility 0s linear .3s,opacity .5s;transition-delay:.8s;pointer-events:var(--ui-pointerEvents)}.excalidraw .layer-ui__wrapper .layer-ui__wrapper__footer-left>*,.excalidraw .layer-ui__wrapper .footer-center>*,.excalidraw .layer-ui__wrapper .layer-ui__wrapper__footer-right>*{pointer-events:var(--ui-pointerEvents)}.excalidraw .layer-ui__wrapper .layer-ui__wrapper__footer-right{margin-top:auto;margin-bottom:auto}.excalidraw .App-toolbar.zen-mode .ToolIcon__keybinding,.excalidraw .App-toolbar.zen-mode .HintViewer{display:none}.excalidraw .App-toolbar__divider{width:1px;height:1.5rem;align-self:center;background-color:var(--default-border-color);margin:0 .25rem}.excalidraw--mobile.excalidraw .App-toolbar__divider{margin:0}.excalidraw .App-toolbar__extra-tools-trigger{box-shadow:none;border:0;background-color:transparent}.excalidraw .App-toolbar__extra-tools-trigger:active{background-color:var(--button-hover-bg);box-shadow:0 0 0 1px var(--button-active-border, var(--color-primary-darkest)) inset}.excalidraw .App-toolbar__extra-tools-trigger--selected,.excalidraw .App-toolbar__extra-tools-trigger--selected:hover{background:var(--color-primary-light);color:var(--color-primary)}.excalidraw .App-toolbar__extra-tools-dropdown{margin-top:.375rem;right:0;min-width:11.875rem;z-index:1}.excalidraw .Toast{animation:fade-in .5s;background-color:var(--button-gray-1);border-radius:4px;bottom:10px;box-sizing:border-box;cursor:default;left:50%;margin-left:-150px;padding:4px 0;position:absolute;text-align:center;width:300px;z-index:999999}.excalidraw .Toast .Toast__message{padding:0 1.6rem;color:var(--popup-text-color);white-space:pre-wrap}.excalidraw .Toast .close{position:absolute;top:0;right:0;padding:.4rem}.excalidraw .Toast .close .ToolIcon__icon{width:1.2rem;height:1.2rem}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.excalidraw .SVGLayer{pointer-events:none;width:100vw;height:100vh;position:fixed;top:0;left:0;z-index:var(--zIndex-svgLayer)}.excalidraw .SVGLayer svg{image-rendering:auto;overflow:visible;position:absolute;width:100%;height:100%;top:0;left:0}.excalidraw .excalidraw-canvas-buttons{position:absolute;box-shadow:0 2px 4px #0000004d;z-index:var(--zIndex-canvasButtons);background:var(--island-bg-color);border-radius:var(--border-radius-lg);display:flex;flex-direction:column;gap:.375rem}.excalidraw .follow-mode{position:absolute;box-sizing:border-box;pointer-events:none;border:2px solid var(--color-primary-hover);z-index:9999;display:flex;align-items:flex-end;justify-content:center}.excalidraw .follow-mode__badge{background-color:var(--color-primary-hover);color:var(--color-primary-light);padding:.25rem .5rem;margin-bottom:.5rem;border-radius:.5rem;pointer-events:all;font-size:.75rem;display:flex;gap:.5rem;align-items:center}.excalidraw .follow-mode__badge__label{display:flex;white-space:pre-wrap;line-height:1}.excalidraw .follow-mode__badge__username{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.excalidraw .follow-mode__disconnect-btn{all:unset;cursor:pointer;border-radius:.25rem}.excalidraw .follow-mode__disconnect-btn:hover{background-color:var(--color-primary-darker)}.excalidraw .follow-mode__disconnect-btn:active{background-color:var(--color-primary-darkest)}.excalidraw .follow-mode__disconnect-btn svg{display:block;width:1rem;height:1rem}.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;-webkit-user-select:none;user-select:none}.LoadingMessage{position:absolute;top:0;right:0;bottom:0;left:0;z-index:999;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.LoadingMessage .Spinner{font-size:2.8em}.LoadingMessage .LoadingMessage-text{margin-top:1em;font-size:.8em}.LoadingMessage--dark{background-color:#121212;color:#ced4da}.excalidraw{--theme-filter: none;--button-destructive-bg-color: #ffe3e3;--button-destructive-color: #c92a2a;--button-gray-1: #e9ecef;--button-gray-2: #ced4da;--button-gray-3: #adb5bd;--button-special-active-bg-color: #ebfbee;--dialog-border-color: var(--color-gray-20);--dropdown-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="292.4" height="292.4" viewBox="0 0 292 292"><path d="M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z"/></svg>');--focus-highlight-color: #a5d8ff;--icon-fill-color: var(--color-on-surface);--icon-green-fill-color: #2b8a3e;--default-bg-color: #ffffff;--input-bg-color: #ffffff;--input-border-color: #ced4da;--input-hover-bg-color: #f1f3f5;--input-label-color: #495057;--island-bg-color: #ffffff;--keybinding-color: var(--color-gray-40);--link-color: #1c7ed6;--overlay-bg-color: rgba(255, 255, 255, .88);--popup-bg-color: var(--island-bg-color);--popup-secondary-bg-color: #f1f3f5;--popup-text-color: #000000;--popup-text-inverted-color: #ffffff;--select-highlight-color: #339af0;--shadow-island: 0px 0px .9310142993927002px 0px rgba(0, 0, 0, .17), 0px 0px 3.1270833015441895px 0px rgba(0, 0, 0, .08), 0px 7px 14px 0px rgba(0, 0, 0, .05);--button-hover-bg: var(--color-surface-high);--button-active-bg: var(--color-surface-high);--button-active-border: var(--color-brand-active);--default-border-color: var(--color-surface-high);--default-button-size: 2rem;--default-icon-size: 1rem;--lg-button-size: 2.25rem;--lg-icon-size: 1rem;--editor-container-padding: 1rem;--scrollbar-thumb: var(--button-gray-2);--scrollbar-thumb-hover: var(--button-gray-3);--color-slider-track: hsl(240, 100%, 90%);--color-slider-thumb: var(--color-gray-80);--modal-shadow: 0px 100px 80px rgba(0, 0, 0, .07), 0px 41.7776px 33.4221px rgba(0, 0, 0, .0503198), 0px 22.3363px 17.869px rgba(0, 0, 0, .0417275), 0px 12.5216px 10.0172px rgba(0, 0, 0, .035), 0px 6.6501px 5.32008px rgba(0, 0, 0, .0282725), 0px 2.76726px 2.21381px rgba(0, 0, 0, .0196802);--avatar-border-color: var(--color-gray-20);--sidebar-shadow: 0px 100px 80px rgba(0, 0, 0, .07), 0px 41.7776px 33.4221px rgba(0, 0, 0, .0503198), 0px 22.3363px 17.869px rgba(0, 0, 0, .0417275), 0px 12.5216px 10.0172px rgba(0, 0, 0, .035), 0px 6.6501px 5.32008px rgba(0, 0, 0, .0282725), 0px 2.76726px 2.21381px rgba(0, 0, 0, .0196802);--sidebar-border-color: var(--color-surface-high);--sidebar-bg-color: var(--island-bg-color);--library-dropdown-shadow: 0px 15px 6px rgba(0, 0, 0, .01), 0px 8px 5px rgba(0, 0, 0, .05), 0px 4px 4px rgba(0, 0, 0, .09), 0px 1px 2px rgba(0, 0, 0, .1), 0px 0px 0px rgba(0, 0, 0, .1);--space-factor: .25rem;--text-primary-color: var(--color-on-surface);--color-selection: #6965db;--color-icon-white: #ffffff;--color-primary: #6965db;--color-primary-darker: #5b57d1;--color-primary-darkest: #4a47b1;--color-primary-light: #e3e2fe;--color-primary-light-darker: #d7d5ff;--color-primary-hover: #5753d0;--color-gray-10: #f5f5f5;--color-gray-20: #ebebeb;--color-gray-30: #d6d6d6;--color-gray-40: #b8b8b8;--color-gray-50: #999999;--color-gray-60: #7a7a7a;--color-gray-70: #5c5c5c;--color-gray-80: #3d3d3d;--color-gray-85: #242424;--color-gray-90: #1e1e1e;--color-gray-100: #121212;--color-disabled: var(--color-gray-40);--color-warning: #fceeca;--color-warning-dark: #f5c354;--color-warning-darker: #f3ab2c;--color-warning-darkest: #ec8b14;--color-text-warning: var(--text-primary-color);--color-danger: #db6965;--color-danger-dark: #db6965;--color-danger-darker: #d65550;--color-danger-darkest: #d1413c;--color-danger-text: black;--color-danger-background: #fff0f0;--color-danger-icon-background: #ffdad6;--color-danger-color: #700000;--color-danger-icon-color: #700000;--color-warning-background: var(--color-warning);--color-warning-icon-background: var(--color-warning-dark);--color-warning-color: var(--text-primary-color);--color-warning-icon-color: var(--text-primary-color);--color-muted: var(--color-gray-30);--color-muted-darker: var(--color-gray-60);--color-muted-darkest: var(--color-gray-100);--color-muted-background: var(--color-gray-80);--color-muted-background-darker: var(--color-gray-100);--color-promo: var(--color-primary);--color-success: #cafccc;--color-success-darker: #bafabc;--color-success-darkest: #a5eba8;--color-success-text: #268029;--color-success-contrast: #65bb6a;--color-success-contrast-hover: #6bcf70;--color-success-contrast-active: #6edf74;--color-logo-icon: var(--color-primary);--color-logo-text: #190064;--border-radius-md: .375rem;--border-radius-lg: .5rem;--color-surface-high: #f1f0ff;--color-surface-mid: #f2f2f7;--color-surface-low: #ececf4;--color-surface-lowest: #ffffff;--color-on-surface: #1b1b1f;--color-brand-hover: #5753d0;--color-on-primary-container: #030064;--color-brand-active: #4440bf;--color-border-outline: #767680;--color-border-outline-variant: #c5c5d0;--color-surface-primary-container: #e0dfff;--color-badge: #0b6513;--background-color-badge: #d3ffd2}@media screen and (min-device-width:1921px){.excalidraw{--lg-button-size: 2.5rem;--lg-icon-size: 1.25rem;--default-button-size: 2.25rem;--default-icon-size: 1.25rem}}.excalidraw.theme--dark.theme--dark-background-none{background:none}.excalidraw.theme--dark{--theme-filter: invert(93%) hue-rotate(180deg);--button-destructive-bg-color: #5a0000;--button-destructive-color: #ffa8a8;--button-gray-1: #363636;--button-gray-2: #272727;--button-gray-3: #222;--button-special-active-bg-color: #204624;--dialog-border-color: var(--color-gray-80);--dropdown-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="292.4" height="292.4" viewBox="0 0 292 292"><path fill="%23ced4da" d="M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z"/></svg>');--focus-highlight-color: #228be6;--icon-green-fill-color: #69db7c;--default-bg-color: #121212;--input-bg-color: #121212;--input-border-color: #2e2e2e;--input-hover-bg-color: #181818;--input-label-color: #e9ecef;--island-bg-color: #232329;--keybinding-color: var(--color-gray-60);--link-color: #4dabf7;--overlay-bg-color: rgba(52, 58, 64, .12);--popup-secondary-bg-color: #222;--popup-text-color: #ced4da;--popup-text-inverted-color: #2c2c2c;--select-highlight-color: #4dabf7;--shadow-island: 0px 0px .9310142993927002px 0px rgba(0, 0, 0, .17), 0px 0px 3.1270833015441895px 0px rgba(0, 0, 0, .08), 0px 7px 14px 0px rgba(0, 0, 0, .05);--modal-shadow: 0px 100px 80px rgba(0, 0, 0, .07), 0px 41.7776px 33.4221px rgba(0, 0, 0, .0503198), 0px 22.3363px 17.869px rgba(0, 0, 0, .0417275), 0px 12.5216px 10.0172px rgba(0, 0, 0, .035), 0px 6.6501px 5.32008px rgba(0, 0, 0, .0282725), 0px 2.76726px 2.21381px rgba(0, 0, 0, .0196802);--avatar-border-color: var(--color-gray-85);--scrollbar-thumb: #343a40;--scrollbar-thumb-hover: #495057;--color-slider-track: hsl(244, 23%, 39%);--color-selection: #3530c4;--color-icon-white: var(--color-gray-90);--color-primary: #a8a5ff;--color-primary-darker: #b2aeff;--color-primary-darkest: #beb9ff;--color-primary-light: #4f4d6f;--color-primary-light-darker: #43415e;--color-primary-hover: #bbb8ff;--color-disabled: var(--color-gray-70);--color-text-warning: var(--color-gray-80);--color-danger: #ffa8a5;--color-danger-dark: #672120;--color-danger-darker: #8f2625;--color-danger-darkest: #ac2b29;--color-danger-text: #fbcbcc;--color-danger-background: #fbcbcc;--color-danger-icon-background: #672120;--color-danger-color: #261919;--color-danger-icon-color: #fbcbcc;--color-warning-background: var(--color-warning);--color-warning-icon-background: var(--color-warning-dark);--color-warning-color: var(--color-gray-80);--color-warning-icon-color: var(--color-gray-80);--color-muted: var(--color-gray-80);--color-muted-darker: var(--color-gray-60);--color-muted-darkest: var(--color-gray-20);--color-muted-background: var(--color-gray-40);--color-muted-background-darker: var(--color-gray-20);--color-logo-text: #e2dfff;--color-surface-high: hsl(245, 10%, 21%);--color-surface-low: hsl(240, 8%, 15%);--color-surface-mid: hsl(240 6% 10%);--color-surface-lowest: hsl(0, 0%, 7%);--color-on-surface: #e3e3e8;--color-brand-hover: #bbb8ff;--color-on-primary-container: #e0dfff;--color-brand-active: #d0ccff;--color-border-outline: #8e8d9c;--color-border-outline-variant: #46464f;--color-surface-primary-container: #403e6a}:root{--zIndex-canvas: 1;--zIndex-interactiveCanvas: 2;--zIndex-svgLayer: 3;--zIndex-wysiwyg: 3;--zIndex-canvasButtons: 3;--zIndex-layerUI: 4;--zIndex-eyeDropperBackdrop: 5;--zIndex-eyeDropperPreview: 6;--zIndex-hyperlinkContainer: 7;--zIndex-modal: 1000;--zIndex-popup: 1001;--zIndex-toast: 999999;--sab: env(safe-area-inset-bottom);--sal: env(safe-area-inset-left);--sar: env(safe-area-inset-right);--sat: env(safe-area-inset-top)}body.excalidraw-cursor-resize,body.excalidraw-cursor-resize a:hover,body.excalidraw-cursor-resize *{cursor:ew-resize}.excalidraw{--ui-font: Assistant, system-ui, BlinkMacSystemFont, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;font-family:var(--ui-font);position:relative;overflow:hidden;color:var(--text-primary-color);display:flex;top:0;right:0;bottom:0;left:0;height:100%;width:100%;-webkit-user-select:none;user-select:none}.excalidraw button{cursor:pointer;-webkit-user-select:none;user-select:none}.excalidraw:focus{outline:none}.excalidraw .excalidraw-link,.excalidraw a{font-weight:500;text-decoration:none;color:var(--link-color);-webkit-user-select:none;user-select:none;cursor:pointer}.excalidraw .excalidraw-link:hover,.excalidraw a:hover{text-decoration:underline}.excalidraw .excalidraw-link:active,.excalidraw a:active{text-decoration:none}.excalidraw canvas{touch-action:none;image-rendering:pixelated;image-rendering:-moz-crisp-edges;z-index:var(--zIndex-canvas)}.excalidraw canvas.interactive{z-index:var(--zIndex-interactiveCanvas)}.excalidraw__canvas-wrapper,.excalidraw__canvas.static{pointer-events:none}.excalidraw__canvas{position:absolute}.excalidraw__embeddable{width:100%;height:100%;border:0}.excalidraw__embeddable-container{position:absolute;z-index:2;transform-origin:top left;pointer-events:none}.excalidraw.theme--dark canvas{filter:var(--theme-filter)}.excalidraw .FixedSideContainer{padding-top:var(--sat, 0);padding-right:var(--sar, 0);padding-bottom:var(--sab, 0);padding-left:var(--sal, 0)}.excalidraw .panelRow{display:flex;justify-content:space-between}.excalidraw .panelColumn{display:flex;flex-direction:column;row-gap:.75rem}.excalidraw .panelColumn h3,.excalidraw .panelColumn legend,.excalidraw .panelColumn .control-label{margin:0;margin-bottom:.25rem;font-size:.75rem;color:var(--text-primary-color);font-weight:400;display:block}.excalidraw .panelColumn .control-label input{display:block;width:100%}.excalidraw .panelColumn legend{padding:0}.excalidraw .panelColumn .iconSelectList{flex-wrap:wrap;position:relative}.excalidraw .panelColumn .buttonList{flex-wrap:wrap;display:flex;column-gap:.5rem;row-gap:.5rem}.excalidraw .panelColumn .buttonList label{font-size:.75rem}.excalidraw .panelColumn .buttonList input[type=radio],.excalidraw .panelColumn .buttonList input[type=button]{opacity:0;position:absolute;pointer-events:none}.excalidraw .panelColumn .buttonList .iconRow{margin-top:8px}.excalidraw .panelColumn fieldset{margin:0;padding:0;border:none}.excalidraw .divider{width:1px;background-color:#e9ecef;margin:1px}.excalidraw .welcome-screen-menu-item:focus-visible,.excalidraw .dropdown-menu-item:focus-visible,.excalidraw button:focus-visible,.excalidraw .buttonList label:focus-within,.excalidraw input:focus-visible{outline:transparent;box-shadow:0 0 0 1px var(--color-brand-hover)}.excalidraw .buttonList .ToolIcon__icon{all:unset!important;display:flex!important}.excalidraw .buttonList button{background-color:transparent}.excalidraw .buttonList label,.excalidraw .buttonList button,.excalidraw .buttonList .zIndexButton{display:flex;justify-content:center;align-items:center;padding:.625rem;width:var(--button-width, var(--default-button-size));height:var(--button-height, var(--default-button-size));box-sizing:border-box;border-width:1px;border-style:solid;border-color:var(--button-border, var(--default-border-color));border-radius:var(--border-radius-lg);cursor:pointer;background-color:var(--button-bg, var(--island-bg-color));color:var(--button-color, var(--color-on-surface));font-family:var(--ui-font);padding:0}.excalidraw .buttonList label svg,.excalidraw .buttonList button svg,.excalidraw .buttonList .zIndexButton svg{width:var(--button-width, var(--lg-icon-size));height:var(--button-height, var(--lg-icon-size))}.excalidraw .buttonList label:hover,.excalidraw .buttonList button:hover,.excalidraw .buttonList .zIndexButton:hover{background-color:var(--button-hover-bg, var(--island-bg-color));border-color:var(--button-hover-border, var(--button-border, var(--default-border-color)));color:var(--button-hover-color, var(--button-color, var(--text-primary-color, inherit)))}.excalidraw .buttonList label:active,.excalidraw .buttonList button:active,.excalidraw .buttonList .zIndexButton:active{background-color:var(--button-active-bg, var(--island-bg-color));border-color:var(--button-active-border, var(--color-primary-darkest))}.excalidraw .buttonList label.active,.excalidraw .buttonList button.active,.excalidraw .buttonList .zIndexButton.active{background-color:var(--button-selected-bg, var(--color-surface-primary-container));border-color:var(--button-selected-border, var(--color-surface-primary-container))}.excalidraw .buttonList label.active:hover,.excalidraw .buttonList button.active:hover,.excalidraw .buttonList .zIndexButton.active:hover{background-color:var(--button-selected-hover-bg, var(--color-surface-primary-container))}.excalidraw .buttonList label.active svg,.excalidraw .buttonList button.active svg,.excalidraw .buttonList .zIndexButton.active svg{color:var(--button-color, var(--color-on-primary-container))}.excalidraw .buttonList label svg,.excalidraw .buttonList button svg,.excalidraw .buttonList .zIndexButton svg{width:var(--default-icon-size);height:var(--default-icon-size)}.excalidraw .App-top-bar{z-index:var(--zIndex-layerUI);display:flex;flex-direction:column;align-items:center}.excalidraw .App-bottom-bar{position:absolute;top:0;right:0;bottom:0;left:0;--bar-padding: calc(4 * var(--space-factor));padding-top:max(var(--bar-padding),var(--sat,0));padding-right:var(--sar, 0);padding-bottom:var(--sab, 0);padding-left:var(--sal, 0);z-index:4;display:flex;align-items:flex-end;pointer-events:none}.excalidraw .App-bottom-bar>.Island{width:100%;max-width:100%;min-width:100%;box-sizing:border-box;max-height:100%;display:flex;flex-direction:column;pointer-events:var(--ui-pointerEvents)}.excalidraw .App-bottom-bar>.Island .panelColumn{padding:8px 8px 0}.excalidraw .App-toolbar{width:100%}.excalidraw .App-toolbar .eraser.ToolIcon:hover{--icon-fill-color: #fff;--keybinding-color: #fff}.excalidraw .App-toolbar .eraser.active{background-color:var(--color-primary)}.excalidraw .App-toolbar-content{display:flex;align-items:center;justify-content:space-between;padding:8px}.excalidraw .App-toolbar-content .dropdown-menu--mobile{bottom:55px;top:auto}.excalidraw .App-mobile-menu{width:100%;overflow-x:visible;overflow-y:auto;box-sizing:border-box;margin-bottom:var(--bar-padding)}.excalidraw .App-menu{display:grid;color:var(--icon-fill-color)}.excalidraw .shapes-section{display:flex;justify-content:center;pointer-events:none!important}.excalidraw .shapes-section>*{pointer-events:var(--ui-pointerEvents)}.excalidraw .App-menu_top{grid-template-columns:1fr 2fr 1fr;grid-gap:2rem;align-items:flex-start;cursor:default;pointer-events:none!important}.excalidraw .App-menu_top>*{pointer-events:var(--ui-pointerEvents)}@media(min-width:1536px){.excalidraw .App-menu_top{grid-template-columns:1fr 1fr 1fr;grid-gap:3rem}}.excalidraw .App-menu_top>*:first-child{justify-self:flex-start}.excalidraw .App-menu_top>*:last-child{justify-self:flex-end}.excalidraw .App-menu_bottom{position:absolute;bottom:1rem;display:flex;justify-content:space-between;align-items:flex-start;cursor:default;pointer-events:none!important;box-sizing:border-box;padding:0 1rem}.excalidraw .App-menu_bottom--transition-left section{width:185px}.excalidraw .App-menu_bottom section{display:flex}.excalidraw .App-menu_bottom>*:first-child{justify-self:flex-start}.excalidraw .App-menu_bottom>*:last-child{justify-self:flex-end}.excalidraw .App-menu_left{grid-template-rows:1fr auto 1fr;height:100%}.excalidraw .App-menu_right{grid-template-rows:1fr;height:100%}.excalidraw .App-menu__left{overflow-y:auto;padding:.75rem;width:12.5rem;box-sizing:border-box;position:absolute}.excalidraw .dropdown-select{height:1.5rem;padding:0;padding-inline-start:.5rem;padding-inline-end:1.5rem;color:var(--icon-fill-color);background-color:var(--button-gray-1);border-radius:var(--space-factor);border:1px solid var(--button-gray-2);font-size:.8rem;font-family:inherit;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:var(--dropdown-icon);background-repeat:no-repeat;background-position:right .7rem top 50%,0 0;background-size:.65em auto,100%}:root[dir=rtl] .excalidraw .dropdown-select{background-position:left .7rem top 50%,0 0}.excalidraw .dropdown-select:focus{box-shadow:0 0 0 2px var(--focus-highlight-color)}.excalidraw .dropdown-select:hover,.excalidraw .dropdown-select:active{background-color:var(--button-gray-2)}.excalidraw .dropdown-select__language{height:2rem;background-color:var(--island-bg-color);border-color:var(--default-border-color)!important;cursor:pointer}.excalidraw .dropdown-select__language:hover{background-color:var(--island-bg-color)}.excalidraw .scroll-back-to-content{border-radius:var(--border-radius-lg);background-color:var(--island-bg-color);color:var(--icon-fill-color);border:1px solid var(--default-border-color);padding:10px 20px;position:absolute;left:50%;bottom:30px;transform:translate(-50%);pointer-events:var(--ui-pointerEvents);font-family:inherit}.excalidraw .scroll-back-to-content:hover{background-color:var(--button-hover-bg)}.excalidraw .scroll-back-to-content:active{border:1px solid var(--button-active-border)}.excalidraw .help-icon{display:flex;justify-content:center;align-items:center;padding:.625rem;width:var(--button-width, var(--default-button-size));height:var(--button-height, var(--default-button-size));box-sizing:border-box;border-width:1px;border-style:solid;border-color:var(--button-border, var(--default-border-color));border-radius:var(--border-radius-lg);cursor:pointer;background-color:var(--button-bg, var(--island-bg-color));color:var(--button-color, var(--color-on-surface));font-family:var(--ui-font);border:none;box-shadow:0 0 0 1px var(--color-surface-lowest);background-color:var(--color-surface-low);width:var(--lg-button-size);height:var(--lg-button-size)}.excalidraw .help-icon svg{width:var(--button-width, var(--lg-icon-size));height:var(--button-height, var(--lg-icon-size))}.excalidraw .help-icon:hover{background-color:var(--button-hover-bg, var(--island-bg-color));border-color:var(--button-hover-border, var(--button-border, var(--default-border-color)));color:var(--button-hover-color, var(--button-color, var(--text-primary-color, inherit)))}.excalidraw .help-icon:active{background-color:var(--button-active-bg, var(--island-bg-color));border-color:var(--button-active-border, var(--color-primary-darkest))}.excalidraw .help-icon.active{background-color:var(--button-selected-bg, var(--color-surface-primary-container));border-color:var(--button-selected-border, var(--color-surface-primary-container))}.excalidraw .help-icon.active:hover{background-color:var(--button-selected-hover-bg, var(--color-surface-primary-container))}.excalidraw .help-icon.active svg{color:var(--button-color, var(--color-on-primary-container))}.excalidraw .help-icon:active{box-shadow:0 0 0 1px var(--color-brand-active)}.excalidraw .help-icon svg{width:var(--lg-icon-size);height:var(--lg-icon-size)}.excalidraw .reset-zoom-button{font-family:var(--ui-font)}.excalidraw .finalize-button{display:grid;grid-auto-flow:column;gap:.4em;margin-top:auto;margin-bottom:auto;margin-inline-start:.6em}.excalidraw .undo-redo-buttons,.excalidraw .eraser-buttons{display:grid;grid-auto-flow:column;margin-top:auto;margin-bottom:auto;margin-inline-start:.6em}.excalidraw--mobile.excalidraw aside{display:none}.excalidraw--mobile.excalidraw .scroll-back-to-content{bottom:calc(80px + var(--sab, 0));z-index:-1}:root[dir=rtl] .excalidraw .rtl-mirror{transform:scaleX(-1)}.excalidraw .zen-mode-visibility{visibility:visible;opacity:1;height:auto;width:auto;transition:opacity .5s}.excalidraw .zen-mode-visibility.zen-mode-visibility--hidden{visibility:hidden;opacity:0;height:0;width:0;transition:opacity .5s}.excalidraw .disable-pointerEvents{pointer-events:none!important}.excalidraw.excalidraw--view-mode .App-menu{display:flex;justify-content:space-between}.excalidraw input.is-redacted{-webkit-text-security:disc}.excalidraw input[type=text],.excalidraw textarea:not(.excalidraw-wysiwyg){color:var(--text-primary-color);border:1.5px solid var(--input-border-color);padding:.75rem;white-space:nowrap;border-radius:var(--space-factor);background-color:var(--input-bg-color)}.excalidraw input[type=text]:not(:focus):hover,.excalidraw textarea:not(.excalidraw-wysiwyg):not(:focus):hover{border-color:var(--color-brand-hover)}.excalidraw input[type=text]:focus,.excalidraw textarea:not(.excalidraw-wysiwyg):focus{outline:none;border-color:var(--color-brand-hover)}@media print{.excalidraw .App-bottom-bar,.excalidraw .FixedSideContainer,.excalidraw .layer-ui__wrapper{display:none}}.excalidraw ::-webkit-scrollbar{width:4px;height:3px}.excalidraw select::-webkit-scrollbar{width:10px}.excalidraw ::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:10px}.excalidraw ::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.excalidraw ::-webkit-scrollbar-thumb:active{background:var(--scrollbar-thumb)}.excalidraw .mobile-misc-tools-container{position:absolute;top:calc(5rem - var(--editor-container-padding));right:calc(var(--editor-container-padding) * -1);display:flex;flex-direction:column;border:1px solid var(--sidebar-border-color);border-top-left-radius:var(--border-radius-lg);border-bottom-left-radius:var(--border-radius-lg);border-right:0;overflow:hidden;background-color:var(--island-bg-color)}.excalidraw .mobile-misc-tools-container .ToolIcon__icon{width:2rem;height:2rem;border-radius:0}.excalidraw .mobile-misc-tools-container .default-sidebar-trigger{border:0}.excalidraw .App-toolbar--mobile{overflow:visible;max-width:98vw}.excalidraw .App-toolbar--mobile .ToolIcon__keybinding{display:none}.excalidraw .UserList-Wrapper{margin:0;padding:0;border:none;text-align:left}.excalidraw .UserList-Wrapper legend{display:block;font-size:.75rem;font-weight:400;margin:0 0 .25rem;padding:0}.excalidraw .main-menu-trigger{border:none;box-shadow:0 0 0 1px var(--color-surface-lowest);background-color:var(--color-surface-low)}.excalidraw .main-menu-trigger:active{box-shadow:0 0 0 1px var(--color-brand-active)}.excalidraw .App-mobile-menu,.excalidraw .App-menu__left{--button-border: transparent;--button-bg: var(--color-surface-mid)}.excalidraw.theme--dark.excalidraw .App-mobile-menu,.excalidraw.theme--dark.excalidraw .App-menu__left{--button-hover-bg: #363541;--button-bg: var(--color-surface-high)}.excalidraw .App-menu__left .buttonList{padding:.25rem 0}.excalidraw .excalidraw__paragraph{margin:1rem 0}.excalidraw .Modal__content .excalidraw__paragraph:first-child{margin-top:0}.excalidraw .Modal__content .excalidraw__paragraph+.excalidraw__paragraph{margin-top:0rem}.ErrorSplash.excalidraw{min-height:100vh;padding:20px 0;overflow:auto;display:flex;align-items:center;justify-content:center;-webkit-user-select:text;user-select:text}.ErrorSplash.excalidraw .ErrorSplash-messageContainer{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;background-color:#ffe3e3;border:3px solid #c92a2a}.ErrorSplash.excalidraw .ErrorSplash-paragraph{margin:15px 0;max-width:600px}.ErrorSplash.excalidraw .ErrorSplash-paragraph.align-center{text-align:center}.ErrorSplash.excalidraw .bigger,.ErrorSplash.excalidraw .bigger button{font-size:1.1em}.ErrorSplash.excalidraw .smaller,.ErrorSplash.excalidraw .smaller button{font-size:.9em}.ErrorSplash.excalidraw .ErrorSplash-details{display:flex;flex-direction:column;align-items:flex-start}.ErrorSplash.excalidraw .ErrorSplash-details textarea{width:100%;margin:10px 0;font-family:Cascadia;font-size:.8em}.excalidraw__embeddable-container .excalidraw__embeddable-container__inner{overflow:hidden;display:flex;align-items:center;justify-content:center;border-radius:var(--embeddable-radius)}.excalidraw__embeddable-container .excalidraw__embeddable__outer{width:100%;height:100%}.excalidraw__embeddable-container .excalidraw__embeddable__outer>*{border-radius:var(--embeddable-radius)}.excalidraw__embeddable-container .excalidraw__embeddable-hint{position:absolute;z-index:1;background:#00000080;padding:1rem 1.6rem;border-radius:12px;color:#fff;font-weight:700;letter-spacing:.6px;font-family:Assistant}@font-face{font-family:Assistant;src:url(/assets/Assistant-Regular-DVxZuzxb.woff2) format("woff2");font-weight:400;style:normal;display:swap}@font-face{font-family:Assistant;src:url(/assets/Assistant-Medium-DrcxCXg3.woff2) format("woff2");font-weight:500;style:normal;display:swap}@font-face{font-family:Assistant;src:url(/assets/Assistant-SemiBold-SCI4bEL9.woff2) format("woff2");font-weight:600;style:normal;display:swap}@font-face{font-family:Assistant;src:url(/assets/Assistant-Bold-gm-uSS1B.woff2) format("woff2");font-weight:700;style:normal;display:swap}.footer-center{pointer-events:none;display:flex;width:100%;justify-content:flex-start;margin-inline-end:.6rem}.footer-center>*{pointer-events:var(--ui-pointerEvents)}.excalidraw .ExcalidrawLogo{--logo-icon--xs: 2rem;--logo-text--xs: 1.5rem;--logo-icon--small: 2.5rem;--logo-text--small: 1.75rem;--logo-icon--normal: 3rem;--logo-text--normal: 2.2rem;--logo-icon--large: 90px;--logo-text--large: 65px;display:flex;align-items:center}.excalidraw .ExcalidrawLogo svg{flex:0 0 auto}.excalidraw .ExcalidrawLogo .ExcalidrawLogo-icon{width:auto;color:var(--color-logo-icon)}.excalidraw .ExcalidrawLogo .ExcalidrawLogo-text{margin-left:.75rem;width:auto;color:var(--color-logo-text)}.excalidraw .ExcalidrawLogo.is-xs .ExcalidrawLogo-icon{height:var(--logo-icon--xs)}.excalidraw .ExcalidrawLogo.is-xs .ExcalidrawLogo-text{height:var(--logo-text--xs)}.excalidraw .ExcalidrawLogo.is-small .ExcalidrawLogo-icon{height:var(--logo-icon--small)}.excalidraw .ExcalidrawLogo.is-small .ExcalidrawLogo-text{height:var(--logo-text--small)}.excalidraw .ExcalidrawLogo.is-normal .ExcalidrawLogo-icon{height:var(--logo-icon--normal)}.excalidraw .ExcalidrawLogo.is-normal .ExcalidrawLogo-text{height:var(--logo-text--normal)}.excalidraw .ExcalidrawLogo.is-large .ExcalidrawLogo-icon{height:var(--logo-icon--large)}.excalidraw .ExcalidrawLogo.is-large .ExcalidrawLogo-text{height:var(--logo-text--large)}.excalidraw .excalifont{font-family:Excalifont,Xiaolai}.excalidraw .welcome-screen-decor{pointer-events:none;color:var(--color-gray-40)}.excalidraw .welcome-screen-decor a{--color: var(--color-primary);color:var(--color);text-decoration:none;margin-bottom:-6px}.excalidraw.theme--dark .welcome-screen-decor{color:var(--color-gray-60)}@media(max-height:599px){.excalidraw .welcome-screen-decor-hint{display:none!important}}@media(max-width:1024px),(max-width:800px){.excalidraw .welcome-screen-decor-hint .welcome-screen-decor--help,.excalidraw .welcome-screen-decor-hint .welcome-screen-decor--menu{display:none}}.excalidraw .welcome-screen-decor-hint--help{display:flex;position:absolute;right:0;bottom:100%}:root[dir=rtl] .excalidraw .welcome-screen-decor-hint--help{left:0;right:auto}.excalidraw .welcome-screen-decor-hint--help svg{margin-top:.5rem;width:85px;height:71px;transform:scaleX(-1) rotate(80deg)}:root[dir=rtl] .excalidraw .welcome-screen-decor-hint--help svg{transform:rotate(80deg)}.excalidraw .welcome-screen-decor-hint--toolbar{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:2.5rem;display:flex;align-items:baseline}.excalidraw .welcome-screen-decor-hint--toolbar .welcome-screen-decor-hint__label{width:120px;position:relative;top:-.5rem}.excalidraw .welcome-screen-decor-hint--toolbar svg{width:38px;height:78px}:root[dir=rtl] .excalidraw .welcome-screen-decor-hint--toolbar svg{transform:scaleX(-1)}.excalidraw .welcome-screen-decor-hint--menu{position:absolute;width:320px;font-size:1rem;top:100%;margin-top:.25rem;margin-inline-start:.6rem;display:flex;align-items:flex-end;gap:.5rem}.excalidraw .welcome-screen-decor-hint--menu svg{width:41px;height:94px}:root[dir=rtl] .excalidraw .welcome-screen-decor-hint--menu svg{transform:scaleX(-1)}@media(max-width:860px){.excalidraw .welcome-screen-decor-hint--menu .welcome-screen-decor-hint__label{max-width:160px}}.excalidraw .welcome-screen-center{display:flex;flex-direction:column;gap:2rem;justify-content:center;align-items:center;position:absolute;pointer-events:none;top:1rem;right:1rem;bottom:1rem;left:1rem}.excalidraw .welcome-screen-center__logo{display:flex;align-items:center;column-gap:.75rem;font-size:2.25rem}.excalidraw .welcome-screen-center__heading{font-size:1.125rem;text-align:center}.excalidraw .welcome-screen-menu{display:flex;flex-direction:column;gap:2px;justify-content:center;align-items:center}.excalidraw .welcome-screen-menu-item{box-sizing:border-box;pointer-events:var(--ui-pointerEvents);color:var(--color-gray-50);font-size:.875rem;width:100%;min-width:300px;max-width:400px;display:grid;align-items:center;justify-content:space-between;background:none;border:1px solid transparent;padding:.75rem;border-radius:var(--border-radius-md);grid-template-columns:calc(var(--default-icon-size) + .5rem) 1fr 3rem}.excalidraw .welcome-screen-menu-item__text{display:flex;align-items:center;margin-right:auto;text-align:left;column-gap:.5rem}.excalidraw .welcome-screen-menu-item__icon{width:var(--default-icon-size);height:var(--default-icon-size)}.excalidraw .welcome-screen-menu-item__shortcut{margin-left:auto;color:var(--color-gray-40);font-size:.75rem}.excalidraw .welcome-screen-menu-item:hover{text-decoration:none;background:var(--button-hover-bg)}.excalidraw .welcome-screen-menu-item:hover .welcome-screen-menu-item__shortcut,.excalidraw .welcome-screen-menu-item:hover .welcome-screen-menu-item__icon,.excalidraw .welcome-screen-menu-item:hover .welcome-screen-menu-item__text{color:var(--color-gray-100)}.excalidraw .welcome-screen-menu-item:active{background:var(--button-hover-bg);border-color:var(--color-brand-active)}.excalidraw .welcome-screen-menu-item:active .welcome-screen-menu-item__shortcut,.excalidraw .welcome-screen-menu-item:active .welcome-screen-menu-item__icon,.excalidraw .welcome-screen-menu-item:active .welcome-screen-menu-item__text{color:var(--color-gray-100)}.excalidraw.theme--dark .welcome-screen-menu-item,.excalidraw.theme--dark .welcome-screen-menu-item__shortcut{color:var(--color-gray-60)}.excalidraw.theme--dark .welcome-screen-menu-item:hover{background-color:var(--color-surface-low)}.excalidraw.theme--dark .welcome-screen-menu-item:hover .welcome-screen-menu-item__icon,.excalidraw.theme--dark .welcome-screen-menu-item:hover .welcome-screen-menu-item__shortcut,.excalidraw.theme--dark .welcome-screen-menu-item:hover .welcome-screen-menu-item__text,.excalidraw.theme--dark .welcome-screen-menu-item:active .welcome-screen-menu-item__icon,.excalidraw.theme--dark .welcome-screen-menu-item:active .welcome-screen-menu-item__shortcut,.excalidraw.theme--dark .welcome-screen-menu-item:active .welcome-screen-menu-item__text{color:var(--color-gray-10)}@media(max-height:599px){.excalidraw .welcome-screen-center{margin-top:4rem}}@media(min-height:600px)and (max-height:900px){.excalidraw .welcome-screen-center{margin-top:8rem}}@media(max-height:500px),(max-width:320px){.excalidraw .welcome-screen-center{display:none}}.excalidraw .collab-button{--button-bg: var(--color-primary);--button-color: var(--color-surface-lowest);--button-border: var(--color-primary);--button-width: var(--lg-button-size);--button-height: var(--lg-button-size);--button-hover-bg: var(--color-primary-darker);--button-hover-border: var(--color-primary-darker);--button-active-bg: var(--color-primary-darker);box-shadow:0 0 0 1px var(--color-surface-lowest);flex-shrink:0}.excalidraw .collab-button.active.active{background-color:#0fb884;border-color:#0fb884}.excalidraw .collab-button.active.active svg{color:#fff}.excalidraw .collab-button.active.active:hover,.excalidraw .collab-button.active.active:active{background-color:#0fb884;border-color:#0fb884}.excalidraw .CollabButton.is-collaborating{background-color:var(--button-special-active-bg-color)}.excalidraw .CollabButton.is-collaborating .ToolIcon__icon svg,.excalidraw .CollabButton.is-collaborating .ToolIcon__label{color:var(--icon-green-fill-color)}.excalidraw .CollabButton-collaborators{min-width:1em;min-height:1em;line-height:1;position:absolute;bottom:-5px;padding:3px;border-radius:50%;background-color:#b2f2bb;color:#2b8a3e;font-size:.6rem;font-family:Cascadia}:root[dir=ltr] .excalidraw .CollabButton-collaborators{right:-5px}:root[dir=rtl] .excalidraw .CollabButton-collaborators{left:-5px}.english-page{position:fixed;z-index:2147483600;top:0;right:0;bottom:0;left:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,sans-serif;color:#17181a;background:#f7f6f3;view-transition-name:english-page}.map-app:has(.english-page) .desktop-theme-toggle{view-transition-name:none}@keyframes english-theme-fade-in{0%{opacity:0}to{opacity:1}}@keyframes english-theme-fade-out{0%{opacity:1}to{opacity:0}}::view-transition-group(english-page){animation-duration:.22s;background:#f7f6f3}html[data-theme=dark]::view-transition-group(english-page){background:#16181b}::view-transition-old(english-page){animation:english-theme-fade-out .22s ease both}::view-transition-new(english-page){animation:english-theme-fade-in .22s ease both}[data-theme=dark] .english-page{color:#eceef1;background:#16181b}.english-page.welcome{display:grid;place-items:stretch;padding:0;background:linear-gradient(160deg,#fbfaf8,#f4f0ea)}[data-theme=dark] .english-page.welcome{background:linear-gradient(160deg,#1b1e22,#131518)}.english-page.welcome:after{content:"";position:absolute;z-index:0;top:0;right:0;bottom:0;left:0;pointer-events:none}[data-theme=dark] .english-page.welcome:after{background:#070a0f52}.english-welcome-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border-radius:0;object-fit:cover;object-position:center 58%}@keyframes english-welcome-reveal{0%{opacity:0;transform:scale(1.03)}to{opacity:1;transform:scale(1)}}.english-page.welcome :is(.english-welcome-image,.english-welcome-frame){animation:english-welcome-reveal .26s cubic-bezier(.22,.9,.3,1) both}html.project-switch-arrived .english-page.welcome :is(.english-welcome-image,.english-welcome-frame){animation:none;opacity:1;transform:none}.english-welcome-frame{position:relative;z-index:1;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:16px;padding:14px 18px 26px;border-radius:0;overflow:hidden;background:linear-gradient(180deg,#fff0,#fff0 52%,#141a2233)}.english-welcome-chrome{display:flex;align-items:center;gap:10px}.english-welcome-actions{position:absolute;z-index:2;top:max(10px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));display:flex;align-items:center;gap:7px;padding:3px}.english-page:is(.welcome,.review) .desktop-theme-toggle{background:#f8fcff9e;color:#25344a;border:1px solid rgba(255,255,255,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 4px 16px #23375024,inset 0 1px #ffffffb8}.english-page:is(.welcome,.review) .desktop-theme-toggle:hover{background:#fafdffd1;color:#1d2b40}html[data-theme=dark] .english-page:is(.welcome,.review) .desktop-theme-toggle{background:#12161dad;color:#fff;border-color:#ffffff75;box-shadow:0 4px 16px #00000029}html[data-theme=dark] .english-page:is(.welcome,.review) .desktop-theme-toggle:hover{background:#12161dd6;color:#fff}.english-page:is(.welcome,.review) .desktop-theme-toggle.dark{color:#ffd18a}.english-page:is(.welcome,.review) .desktop-theme-toggle.dark:hover{color:#ffe09c}.english-page .desktop-theme-toggle:focus-visible{outline:2px solid #25344a;outline-offset:3px}html[data-theme=dark] .english-page .desktop-theme-toggle:focus-visible{outline-color:#fff}.english-hammer-trigger{height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0 13px;border:0;border-radius:999px;background:#f8fcff9e;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 0 0 1px #ffffffc7,inset 0 1px #ffffffb8,0 4px 16px #23375024;cursor:pointer}.english-hammer-trigger img{width:18px;height:18px;object-fit:contain}.english-hammer-trigger:hover{background:#fafdffd1}html[data-theme=dark] .english-hammer-trigger{background:#12161dad;box-shadow:inset 0 0 0 1px #ffffff75,0 4px 16px #00000029}html[data-theme=dark] .english-hammer-trigger:hover{background:#12161dd6}.english-hammer-trigger:focus-visible{outline:2px solid #25344a;outline-offset:3px}html[data-theme=dark] .english-hammer-trigger:focus-visible{outline-color:#fff}.english-review-theme{position:absolute;z-index:3;top:18px;right:clamp(18px,5vw,40px)}[data-theme=dark] .english-page.welcome .project-switcher-button{border-color:#ffffff47;background:#14171c9e}[data-theme=dark] .english-page.welcome .project-switcher-button:hover{border-color:#ffffff75;background:#282c33e6}[data-theme=dark] .english-page.welcome .english-welcome-title{color:#f3f4f6;text-shadow:0 2px 22px rgba(0,0,0,.76)}[data-theme=dark] .english-page.welcome .english-welcome-frame{background:linear-gradient(180deg,#0a0d1214,#0a0d121a 45%,#0a0d128c)}[data-theme=dark] .english-page.welcome .english-welcome-card{border-color:#dfe8f53d;background:linear-gradient(135deg,#191e26c2,#1b222c9e);box-shadow:0 16px 38px #00000057,inset 0 1px #ffffff24;color:#f1f3f6}[data-theme=dark] .english-page.welcome .english-welcome-card:hover:not(:disabled){border-color:#eff4fc75;background:#2b323de6}[data-theme=dark] .english-page.welcome .english-welcome-card:focus-visible{outline-color:#fff;box-shadow:0 0 0 4px #ffffff47}[data-theme=dark] .english-page.welcome .english-welcome-card-count{color:#ffd18a}.english-page.stats{display:grid;place-items:stretch;background:#f7f6f3}[data-theme=dark] .english-page.stats{background:#16181b}.english-study-stats-theme{position:absolute;z-index:2;top:max(14px,env(safe-area-inset-top));right:clamp(14px,4vw,36px)}.english-settings{display:flex;align-items:center;gap:8px;margin-left:auto}.english-page .english-settings .english-jev{margin-left:0}.english-jev{position:relative}.english-welcome-chrome .english-jev,.english-review-bar .english-jev{margin-left:auto}.english-jev-head{display:flex;align-items:center;gap:8px}.english-jev-mode{font-size:12px;line-height:1;padding:5px 8px;border-radius:999px;color:color-mix(in srgb,#17181a 66%,transparent);background:color-mix(in srgb,#17181a 6%,transparent)}[data-theme=dark] .english-jev-mode{color:#eceef1b8;background:#ffffff14}.english-jev-toggle{font:inherit;font-size:13px;padding:6px 10px;border:1px solid color-mix(in srgb,#17181a 14%,transparent);border-radius:999px;background:#fff9;color:inherit;cursor:pointer}[data-theme=dark] .english-jev-toggle{border-color:#ffffff2e;background:#1e2125b8}.english-jev-toggle:hover{background:#fffc}[data-theme=dark] .english-jev-toggle:hover{background:#2c3035e6}.english-jev-toggle:focus-visible,.english-jev-input:focus-visible,.english-jev-save:focus-visible,.english-jev-clear:focus-visible{outline:2px solid #17181a;outline-offset:2px}[data-theme=dark] .english-jev-toggle:focus-visible,[data-theme=dark] .english-jev-input:focus-visible,[data-theme=dark] .english-jev-save:focus-visible,[data-theme=dark] .english-jev-clear:focus-visible{outline-color:#eceef1}.english-jev-form{position:absolute;top:calc(100% + 8px);right:0;z-index:2;display:grid;gap:8px;width:min(260px,calc(100vw - 48px));padding:14px;border:1px solid color-mix(in srgb,#17181a 12%,transparent);border-radius:14px;background:#fdfcfbf5;backdrop-filter:blur(12px) saturate(120%);-webkit-backdrop-filter:blur(12px) saturate(120%);box-shadow:0 14px 34px #141a2229;text-align:left}.english-tts-body{width:min(300px,calc(100vw - 48px));gap:12px}.english-tts-form{display:grid;gap:8px}.english-tts-body .english-tts-form+.english-tts-form{padding-top:12px;border-top:1px solid color-mix(in srgb,#17181a 10%,transparent)}[data-theme=dark] .english-tts-body .english-tts-form+.english-tts-form{border-top-color:#ffffff1f}[data-theme=dark] .english-jev-form{border-color:#ffffff24;background:#1a1d21f5;box-shadow:0 14px 34px #00000080}.english-jev-label{font-size:12px;color:color-mix(in srgb,#17181a 60%,transparent)}[data-theme=dark] .english-jev-label{color:#eceef1a8}.english-jev-input{font:inherit;font-size:14px;padding:8px 10px;border:1px solid color-mix(in srgb,#17181a 16%,transparent);border-radius:10px;background:#fff;color:inherit}[data-theme=dark] .english-jev-input{border-color:#fff3;background:#121417e6}.english-jev-note{margin:0;font-size:12px;color:color-mix(in srgb,#17181a 52%,transparent)}[data-theme=dark] .english-jev-note{color:#eceef199}.english-jev-actions{display:flex;gap:8px}.english-jev-save,.english-jev-clear{font:inherit;font-size:13px;padding:7px 12px;border-radius:999px;border:1px solid transparent;cursor:pointer}.english-jev-save{background:#17181a;color:#f7f6f3}[data-theme=dark] .english-jev-save{background:#eceef1;color:#17181a}.english-jev-clear{border-color:color-mix(in srgb,#17181a 16%,transparent);background:transparent;color:inherit}.english-jev-save:disabled,.english-jev-clear:disabled{cursor:default;opacity:.45}[data-theme=dark] .english-jev-clear{border-color:#fff3}.english-jev-status{margin:0;font-size:12px;color:#1f9d7a}.english-jev-status.failed{color:#d64f36}[data-theme=dark] .english-jev-status{color:#57cf9f}[data-theme=dark] .english-jev-status.failed{color:#ff8a6b}.english-page.welcome .project-switcher-button{border-color:#ffffffb3;background:#ffffff85;backdrop-filter:blur(10px) saturate(120%);-webkit-backdrop-filter:blur(10px) saturate(120%)}.english-page.welcome .project-switcher-button:hover{border-color:#ffffffeb;background:#ffffffb8}.english-welcome-title{align-self:center;margin:0;color:#14171b;font-size:clamp(30px,5.4vw,52px);font-weight:700;letter-spacing:-.01em;line-height:1.05;text-align:center;text-shadow:0 1px 20px rgba(255,255,255,.62)}.english-welcome-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:min(760px,100%);margin:0 auto}.english-welcome-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;width:min(760px,100%);margin:0 auto}.english-welcome-footer .english-error{margin:0 auto 0 0}.english-welcome-card{display:grid;gap:6px;padding:20px 22px;border:1px solid rgba(255,255,255,.78);border-radius:20px;background:linear-gradient(135deg,#ffffff94,#fafcff4d 58%,#f6f9fd66);box-shadow:0 16px 38px #1016202e,inset 0 1px #ffffffeb,inset 0 -1px #ffffff47;backdrop-filter:blur(24px) saturate(145%);-webkit-backdrop-filter:blur(24px) saturate(145%);color:#1a1d21;text-align:left;cursor:pointer;transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease}.english-welcome-card:hover:not(:disabled){background-color:#ffffff29;border-color:#fffffff0;box-shadow:0 20px 44px #10162038,inset 0 1px #fffffffa,inset 0 -1px #ffffff52;transform:translateY(-2px)}.english-welcome-card:focus-visible{outline:2px solid #14171b;outline-offset:3px}.english-welcome-card:disabled{cursor:default;opacity:.72}.english-welcome-card-label{font-size:19px;font-weight:600;letter-spacing:.01em}.english-welcome-card-count{font-size:14px;font-variant-numeric:tabular-nums;color:#c2571f}.english-error{margin:0 auto;padding:10px 14px;width:min(760px,100%);border-radius:12px;background:#ffffffe0;color:#8c2b20;font-size:13px}[data-theme=dark] .english-error{background:#1c2026e6;color:#ffb3a7}.english-page.review{background:linear-gradient(180deg,#fbfaf8,#f5f2ed)}[data-theme=dark] .english-page.review{background:linear-gradient(180deg,#1a1d21,#141619)}.english-review-scene{position:absolute;top:-8%;right:-8%;bottom:-8%;left:-8%;width:116%;height:116%;object-fit:cover;filter:blur(44px) saturate(112%);opacity:.5;pointer-events:none}.english-review-scene-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#faf9f79e;pointer-events:none}[data-theme=dark] .english-review-scene{opacity:.82;filter:blur(44px) saturate(112%) brightness(1.55) contrast(.72)}[data-theme=dark] .english-review-scene-scrim{background:#12141742}@keyframes english-review-exit{to{opacity:0;transform:translateY(-10px)}}.english-page.review.leaving :is(.english-review,.english-review-scene,.english-review-scene-scrim){animation:english-review-exit .24s cubic-bezier(.5,0,.75,.2) both;pointer-events:none}.english-review{position:relative;z-index:1}.english-review{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;padding:18px clamp(18px,5vw,40px) 26px}.english-review-bar{display:flex;align-items:center;gap:14px}.english-review-back{width:40px;height:40px;display:grid;place-items:center;border:1px solid color-mix(in srgb,#17181a 12%,transparent);border-radius:50%;background:transparent;color:inherit;font-size:19px;line-height:1;cursor:pointer}[data-theme=dark] .english-review-back{border-color:#ffffff2e}.english-review-back:hover{background:color-mix(in srgb,#17181a 6%,transparent)}.english-review-back:focus-visible{outline:2px solid #17181a;outline-offset:2px}[data-theme=dark] .english-review-back:focus-visible{outline-color:#eceef1}.english-review-progress{font-size:14px;font-variant-numeric:tabular-nums;color:color-mix(in srgb,#17181a 52%,transparent)}[data-theme=dark] .english-review-progress{color:#eceef199}.english-review-body{display:grid;align-content:center;align-content:safe center;justify-items:stretch;gap:22px;overflow:auto;padding:4px 0}.english-review-content-rail{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:22px;width:100%;margin:0 auto}.english-review-word{display:grid;justify-items:stretch;width:100%;min-width:0;max-width:100%;gap:8px;text-align:center}.english-review-word-text{margin:0;min-width:0;width:100%;max-width:100%;font-size:clamp(44px,9vw,76px);font-weight:700;letter-spacing:-.02em;line-height:1.02;white-space:nowrap;overflow-x:clip}.english-review-word-play{padding:0;border:0;border-radius:12px;background:none;color:inherit;font-family:inherit;cursor:pointer;outline-offset:6px}.english-review-word-play:hover{color:color-mix(in srgb,#17181a 78%,#4a7fd4)}[data-theme=dark] .english-review-word-play:hover{color:#dfe6f3}.english-review-phonetic{margin:0;font-size:15px;color:color-mix(in srgb,#17181a 54%,transparent)}[data-theme=dark] .english-review-phonetic{color:#eceef19e}.english-review-pronunciation-status{margin:0;font-size:13px;line-height:1.3;color:color-mix(in srgb,#17181a 46%,transparent)}[data-theme=dark] .english-review-pronunciation-status{color:#eceef18f}.english-review-inputs{display:block;width:min(420px,100%)}.english-review-input{display:block;width:100%;min-height:48px;padding:0 15px;border:1px solid transparent;border-radius:14px;background:color-mix(in srgb,#17181a 5%,transparent);color:inherit;font-family:inherit;font-size:16px}[data-theme=dark] .english-review-input{background:#ffffff12}.english-review-input:focus-visible{border-color:color-mix(in srgb,#17181a 26%,transparent);outline:2px solid color-mix(in srgb,#17181a 40%,transparent);outline-offset:1px}.english-review-input:disabled{opacity:.7}.english-review-done{margin:0;font-size:19px;font-weight:600}.english-review-done-button{padding:12px 0 9px;border:0;border-bottom:2px solid #1f9d7a;background:transparent;color:inherit;font-family:inherit;font-size:16px;cursor:pointer}.english-review-done-button:hover{opacity:.72}.english-review-done-button:focus-visible{outline:2px solid #17181a;outline-offset:3px}.english-review-result{grid-area:2 / 1;display:grid;justify-items:center;gap:8px;width:min(520px,100%);text-align:center}.english-review-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.english-review-icon-wrap{position:relative;display:grid;place-items:center;width:64px;height:64px}.english-review-icon-wrap.pass{color:#1f9d7a}.english-review-icon-wrap.retry{color:#d64f36}[data-theme=dark] .english-review-icon-wrap.pass{color:#57cf9f}[data-theme=dark] .english-review-icon-wrap.retry{color:#ff8a6b}.english-review-icon-mark{width:54px;height:54px;overflow:visible;fill:none;stroke:currentColor;stroke-width:6.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 5px color-mix(in srgb,currentColor 45%,transparent));transform-origin:center;animation:english-verdict-mark .46s cubic-bezier(.2,1.5,.4,1) both}.english-review-icon-burst{position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:50%;border:2px solid currentColor;opacity:0;pointer-events:none;animation:english-verdict-burst .52s cubic-bezier(.16,.9,.3,1) 40ms both}.english-review-spark{position:absolute;top:50%;left:50%;width:var(--spark-size, 4px);height:var(--spark-size, 4px);border-radius:50%;background:currentColor;opacity:0;pointer-events:none;animation:english-verdict-spark .62s cubic-bezier(.2,.8,.3,1) var(--spark-delay, 40ms) both}@keyframes english-verdict-mark{0%{transform:rotate(-32deg) scale(.35);opacity:0}58%{transform:rotate(4deg) scale(1.12);opacity:1}80%{transform:rotate(-1deg) scale(.97)}to{transform:rotate(0) scale(1);opacity:1}}@keyframes english-verdict-burst{0%{transform:scale(.5);opacity:.75}to{transform:scale(1.35);opacity:0}}@keyframes english-verdict-spark{0%{transform:translate(-50%,-50%) scale(.5);opacity:.95}70%{opacity:.7}to{transform:translate(calc(-50% + var(--spark-x, 0px)),calc(-50% + var(--spark-y, 0px))) scale(.35);opacity:0}}.english-review-word-panel{grid-area:1 / 1;display:grid;justify-items:center;width:min(420px,100%);gap:22px;animation:english-word-enter .32s cubic-bezier(.22,.9,.3,1) both}.english-review-content-rail.exiting{animation:english-rail-exit .26s cubic-bezier(.5,0,.75,.2) both;pointer-events:none}@keyframes english-rail-exit{0%{transform:translate(0);opacity:1}to{transform:translate(-44px);opacity:0}}@keyframes english-word-enter{0%{transform:translate(40px);opacity:0}to{transform:translate(0);opacity:1}}.english-review-reason{margin:0;font-size:14px;line-height:1.6;color:color-mix(in srgb,#17181a 58%,transparent)}[data-theme=dark] .english-review-reason{color:#eceef1ad}.english-review-meanings{margin:0;padding:0;display:grid;gap:4px;list-style:none;font-size:15px}.english-review-meaning-group{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;column-gap:8px;row-gap:2px;margin-top:6px}.english-review-meaning-group:first-child{margin-top:0}.english-review-pos{font-size:13px;font-weight:600;letter-spacing:.01em;color:color-mix(in srgb,#17181a 56%,transparent)}[data-theme=dark] .english-review-pos{color:#eceef1a8}.english-review-group-meanings{margin:0;padding:0;display:grid;gap:4px;list-style:none;grid-column:1 / -1}.english-review-pos+.english-review-group-meanings{grid-column:2}.english-review-scroll{display:grid;gap:12px;width:100%;justify-items:center}.english-review-details{display:grid;gap:10px;width:100%}.english-review-card{display:grid;gap:6px;width:min(520px,100%);padding:14px 18px;border:1px solid rgba(255,255,255,.6);border-radius:16px;background:#ffffff8c;box-shadow:0 6px 20px #10162012;backdrop-filter:blur(16px) saturate(125%);-webkit-backdrop-filter:blur(16px) saturate(125%);text-align:left}[data-theme=dark] .english-review-card{border-color:#ffffff24;background:#ffffff12;box-shadow:none}.english-review-card-en{margin:0;font-size:15px;line-height:1.55}.english-review-card-zh{margin:0;font-size:14px;line-height:1.55;color:color-mix(in srgb,#17181a 58%,transparent)}[data-theme=dark] .english-review-card-zh{color:#eceef1ad}.english-review-collocation{display:grid;gap:4px;margin:0}.english-review-collocation+.english-review-collocation{padding-top:10px;border-top:1px solid color-mix(in srgb,#17181a 8%,transparent)}[data-theme=dark] .english-review-collocation+.english-review-collocation{border-top-color:#ffffff1f}.english-review-error{margin:0;padding:9px 13px;border-radius:12px;background:color-mix(in srgb,#c0392b 10%,transparent);color:#8c2b20;font-size:13px}[data-theme=dark] .english-review-error{color:#ffb3a7}.english-review-actions{display:flex;justify-content:space-between;gap:clamp(24px,6vw,64px);width:100%}.english-review-actions.single{justify-content:center}.english-review-actions button{display:inline-flex;align-items:center;gap:10px;padding:10px 2px;border:0;border-radius:0;background:transparent;font-family:inherit;font-size:16px;cursor:pointer}.english-review-actions button .english-review-action-label{padding-bottom:5px;border-bottom:2px solid transparent}.english-review-actions button.submit .english-review-action-label{border-bottom-color:#1f9d7a}.english-review-actions button.miss .english-review-action-label{border-bottom-color:#d1542c}.english-review-actions button.next .english-review-action-label{border-bottom-color:#2f9e63}.english-review-actions button:hover:not(:disabled){opacity:.72}.english-review-actions button:focus-visible{outline:2px solid #17181a;outline-offset:3px}[data-theme=dark] .english-review-actions button:focus-visible{outline-color:#eceef1}.english-review-actions button:disabled{opacity:.45;cursor:default}.english-review-key{min-width:22px;padding:2px 6px;border:1px solid color-mix(in srgb,#17181a 18%,transparent);border-radius:6px;background:color-mix(in srgb,#17181a 4%,transparent);font-family:inherit;font-size:11px;line-height:1.5;text-align:center}[data-theme=dark] .english-review-key{border-color:#ffffff38;background:#ffffff14}@media(prefers-reduced-motion:reduce){::view-transition-group(english-page),::view-transition-old(english-page),::view-transition-new(english-page){animation:none!important}.english-welcome-card{transition:none}.english-welcome-card:hover:not(:disabled){transform:none}.english-page.welcome .english-welcome-image,.english-page.welcome .english-welcome-frame{animation:none}.english-review-icon-mark,.english-review-word-panel,.english-review-content-rail.exiting{animation:none;transition:none}.english-review-icon-burst,.english-review-spark{display:none}}@media(min-width:1001px){.english-review-content-rail{width:min(1020px,100%)}.english-review-content-rail,.english-review-result,.english-review-scroll{justify-items:start;text-align:left}.english-review-actions{width:min(1020px,100%)}}@media(max-width:720px){.english-welcome-frame{padding:12px 14px 20px}.english-welcome-cards{grid-template-columns:minmax(0,1fr);gap:10px}.english-welcome-card{padding:16px 18px}.english-welcome-footer{flex-wrap:wrap;justify-content:flex-end}.english-welcome-footer .english-error{flex:1 0 100%;text-align:center}.english-review{padding:14px 16px 20px}.english-review-actions{gap:20px}}.english-study-stats{box-sizing:border-box;width:min(1600px,100%);height:100%;margin:0 auto;padding:max(76px,calc(env(safe-area-inset-top) + 62px)) clamp(16px,4vw,40px) max(24px,env(safe-area-inset-bottom));overflow:auto;color:#202226;scrollbar-gutter:stable}.english-study-stats-header,.english-study-stats-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.english-study-stats-header{margin-bottom:22px}.english-study-stats-header h1,.english-study-stats-section-heading h2{margin:0}.english-study-stats-header h1{font-size:clamp(25px,4vw,34px);letter-spacing:-.035em}.english-study-stats-eyebrow{margin:0 0 4px;color:#687078;font-size:13px}.english-study-stats-back{min-height:40px;padding:0 16px;border:1px solid rgba(40,46,54,.14);border-radius:12px;color:inherit;background:#ffffffb8;font:inherit;cursor:pointer}.english-study-stats-back:hover{background:#fff}.english-study-stats-back:focus-visible,.english-study-stats-heatmap-scroll:focus-visible{outline:3px solid #4b83e6;outline-offset:3px}.english-study-stats-overview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.english-study-stats-metric,.english-study-stats-card{border:1px solid rgba(40,46,54,.09);border-radius:18px;background:#ffffffd1;box-shadow:0 5px 20px #1e242c0b}.english-study-stats-metric{display:grid;align-content:start;gap:6px;min-width:0;padding:17px;color:#616872;font-size:13px}.english-study-stats-metric strong{color:#202226;font-size:clamp(23px,3vw,31px);line-height:1.15}.english-study-stats-progress{height:7px;margin-top:3px;overflow:hidden;border-radius:8px;background:#e8eaed}.english-study-stats-progress span{display:block;height:100%;border-radius:inherit;background:#668fd2}.english-study-stats-note{margin:10px 2px 20px;color:#777e86;font-size:12px;line-height:1.5}.english-study-stats-card{margin-top:14px;padding:20px}.english-study-stats-section-heading{margin-bottom:16px}.english-study-stats-section-heading h2{font-size:17px}.english-study-stats-section-heading p{margin:5px 0 0;color:#777e86;font-size:12px}.english-study-stats-legend{display:flex;align-items:center;gap:5px;color:#777e86;font-size:11px;white-space:nowrap}.english-study-stats-legend .english-study-stats-cell{flex:0 0 11px}.english-study-stats-heatmap-scroll{max-width:100%;overflow-x:auto;padding:5px 2px 9px}.english-study-stats-heatmap{display:grid;grid-template-rows:repeat(7,12px);grid-auto-columns:12px;gap:4px;width:max-content}.english-study-stats-cell{display:block;width:11px;height:11px;border-radius:3px;background:#e9ebee}.english-study-stats-cell.level-1{background:#c7d8f4}.english-study-stats-cell.level-2{background:#91b3eb}.english-study-stats-cell.level-3{background:#5688d9}.english-study-stats-cell.level-4{background:#285daf}.english-study-stats-heatmap-footnote{margin:3px 0 0;color:#777e86;font-size:11px}.english-study-stats-empty{margin:0;padding:18px 0 5px;color:#777e86;font-size:14px}.english-study-stats-recent-list{margin:0;padding:0;list-style:none}.english-study-stats-recent-list li{display:grid;grid-template-columns:minmax(0,1fr) 126px;align-items:start;gap:8px 14px;padding:12px 0;border-top:1px solid rgba(40,46,54,.08);font-size:13px}.english-study-stats-recent-list li:first-child{border-top:0}.english-study-stats-recent-word{display:flex;align-items:center;gap:10px;min-width:0}.english-study-stats-recent-word strong{overflow-wrap:anywhere}.english-study-stats-recent-answer{display:grid;grid-column:1 / -1;grid-template-columns:auto minmax(0,1fr);gap:8px}.english-study-stats-recent-answer p{min-width:0;margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}.english-study-stats-recent-list span,.english-study-stats-recent-list time{color:#747b84}.english-study-stats-recent-list time{text-align:right;white-space:nowrap}[data-theme=dark] .english-study-stats{color:#eceef1}[data-theme=dark] .english-study-stats-eyebrow,[data-theme=dark] .english-study-stats-note,[data-theme=dark] .english-study-stats-section-heading p,[data-theme=dark] .english-study-stats-legend,[data-theme=dark] .english-study-stats-heatmap-footnote,[data-theme=dark] .english-study-stats-empty,[data-theme=dark] .english-study-stats-recent-list span,[data-theme=dark] .english-study-stats-recent-list time{color:#aab0b8}[data-theme=dark] .english-study-stats-metric,[data-theme=dark] .english-study-stats-card{border-color:#ffffff17;background:#ffffff0e;box-shadow:none}[data-theme=dark] .english-study-stats-metric{color:#aab0b8}[data-theme=dark] .english-study-stats-metric strong{color:#eceef1}[data-theme=dark] .english-study-stats-back{border-color:#ffffff2b;background:#ffffff14}[data-theme=dark] .english-study-stats-back:hover{background:#ffffff24}[data-theme=dark] .english-study-stats-progress{background:#373c43}[data-theme=dark] .english-study-stats-cell{background:#343941}[data-theme=dark] .english-study-stats-cell.level-1{background:#354a68}[data-theme=dark] .english-study-stats-cell.level-2{background:#466b9e}[data-theme=dark] .english-study-stats-cell.level-3{background:#5a8acb}[data-theme=dark] .english-study-stats-cell.level-4{background:#85b4f5}[data-theme=dark] .english-study-stats-recent-list li{border-color:#ffffff17}@media(max-width:720px){.english-study-stats{padding-right:14px;padding-left:14px}.english-study-stats-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.english-study-stats-metric{padding:13px}.english-study-stats-card{padding:16px 13px}.english-study-stats-recent-list li{grid-template-columns:minmax(0,1fr) auto;gap:7px 10px}.english-study-stats-recent-word{flex-wrap:wrap}.english-study-stats-recent-list time{grid-column:2;grid-row:1;font-size:11px}.english-study-stats-recent-answer{grid-column:1 / -1}}:root{color-scheme:light;--page-bg: #f4f5f7;--canvas-bg: #f8f9fb;--canvas-paper-tint: #f1f4f9;--surface: #ffffff;--surface-wash: #f5f6f8;--surface-wash-alt: #f7f8fa;--surface-sunken: #eef0f3;--surface-sunken-2: #f0f1f4;--surface-preview: #e8ebef;--switch-track: #d5dae0;--tint-yellow-solid: #fff7d9;--graph-node-top: #f9fbff;--graph-node-bottom: #e6ebf2;--graph-node-yellow: #fff8e5;--graph-node-red: #fff0f3;--graph-node-blue: #d5e5f9;--graph-node-ink: #303640;--graph-stage-1: #6b9da3;--graph-stage-2: #859b7b;--graph-stage-3: #b5a160;--graph-stage-4: #c18e67;--graph-stage-5: #b87978;--graph-stage-pending: #8994a4;--graph-edge-stroke: rgba(112, 133, 158, .78);--graph-node-outline: rgba(122, 137, 158, .18);--graph-node-accent: rgba(122, 137, 158, .12);--graph-node-rim-highlight: rgba(255, 255, 255, .8);--graph-node-rim-shade: rgba(106, 117, 132, .28);--graph-node-recess-shade: rgba(106, 117, 132, .12);--graph-node-recess-highlight: rgba(255, 255, 255, .22);--graph-node-lift-shadow: rgba(106, 117, 132, .28);--graph-node-selected-shadow: rgba(0, 122, 255, .4);--graph-node-gloss: rgba(255, 255, 255, .72);--graph-node-gloss-clear: rgba(255, 255, 255, 0);--graph-badge-default: rgba(25, 32, 44, .09);--graph-badge-blue: rgba(0, 122, 255, .14);--graph-badge-gold: rgba(213, 153, 0, .16);--graph-badge-red: rgba(255, 69, 58, .14);--canvas-grid-strength: 4.6%;--canvas-dot-strength: 11%;--ink: #171717;--ink-strong: #18202c;--ink-body: #20252d;--ink-secondary: #2b3440;--ink-panel: #303946;--ink-mid: #4f5967;--ink-muted: #596273;--ink-soft: #687384;--ink-faint: #727b88;--ink-ghost: #8a929f;--ink-ghost-2: #9aa3af;--ink-button: #171717;--ink-button-2: #20252d;--ink-button-3: #252b33;--on-ink-button: #ffffff;--line-ink: #191f28;--paper-line-ink: #37414e;--line-solid: #e1e5ea;--shadow-base: #1c2430;--accent: #007aff;--accent-strong: #1f7aff;--paper-ink: #20252d;--paper-muted: #727b88;--paper-line: rgba(55, 65, 78, .2);--paper-soft-line: rgba(55, 65, 78, .1);--paper-fill: #fdfdfc;--paper-wash: #f4f6f7;--paper-shadow: rgba(34, 42, 54, .16)}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2}html.project-switch-transition .english-page{view-transition-name:none}html.project-switch-transition::view-transition-old(root){animation:project-switch-fade-out .72s ease both}html.project-switch-transition::view-transition-new(root){animation:project-switch-fade-in .72s ease both}html.project-switch-transition::view-transition-group(project-switcher-icon){animation-duration:.72s}html.project-switch-transition::view-transition-old(project-switcher-icon){display:none;animation:none}html.project-switch-transition::view-transition-new(project-switcher-icon){animation:project-switch-icon-in .72s cubic-bezier(.25,.65,.3,1) both;opacity:1;mix-blend-mode:normal}@keyframes project-switch-fade-out{to{opacity:0}}@keyframes project-switch-fade-in{0%{opacity:0}}@keyframes project-switch-icon-in{0%{transform:rotate(0)}to{transform:rotate(1turn)}}html.project-switch-transition .map-page:not([aria-hidden]) .map-brand .mode-toggle{view-transition-name:project-switch-brand-controls}html.project-switch-transition .map-page:not([aria-hidden]) .map-header-actions .node-search{view-transition-name:project-switch-node-search}html.project-switch-transition .map-page:not([aria-hidden]) .settings-trigger,html.project-switch-transition .english-page.welcome .english-hammer-trigger{view-transition-name:project-switch-hammer}html.project-switch-transition .map-page:not([aria-hidden]) .desktop-theme-toggle,html.project-switch-transition .english-page.welcome .desktop-theme-toggle{view-transition-name:project-switch-theme-toggle}html.project-switch-transition::view-transition-group(project-switch-brand-controls),html.project-switch-transition::view-transition-group(project-switch-node-search){z-index:3;animation-duration:.72s}html.project-switch-transition::view-transition-old(project-switch-brand-controls){animation:project-switch-controls-out-left .72s cubic-bezier(.4,0,.2,1) both;transform-origin:left center}html.project-switch-transition::view-transition-new(project-switch-brand-controls){animation:project-switch-controls-in-left .72s cubic-bezier(.4,0,.2,1) both;transform-origin:left center}html.project-switch-transition::view-transition-old(project-switch-node-search){animation:project-switch-controls-out-right .72s cubic-bezier(.4,0,.2,1) both;transform-origin:right center}html.project-switch-transition::view-transition-new(project-switch-node-search){animation:project-switch-controls-in-right .72s cubic-bezier(.4,0,.2,1) both;transform-origin:right center}@keyframes project-switch-controls-out-left{0%{clip-path:inset(0 0 0 0 round 999px)}90%{opacity:1}to{clip-path:inset(0 100% 0 0 round 999px);opacity:0}}@keyframes project-switch-controls-in-left{0%{clip-path:inset(0 100% 0 0 round 999px);opacity:0}10%{opacity:1}to{clip-path:inset(0 0 0 0 round 999px)}}@keyframes project-switch-controls-out-right{0%{clip-path:inset(0 0 0 0 round 999px)}90%{opacity:1}to{clip-path:inset(0 0 0 100% round 999px);opacity:0}}@keyframes project-switch-controls-in-right{0%{clip-path:inset(0 0 0 100% round 999px);opacity:0}10%{opacity:1}to{clip-path:inset(0 0 0 0 round 999px)}}html.theme-mask-reveal::view-transition-new(root){-webkit-mask-image:radial-gradient(circle closest-side,#000 99%,transparent 100%);mask-image:radial-gradient(circle closest-side,#000 99%,transparent 100%);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:var(--theme-mask-start-x) var(--theme-mask-start-y);mask-position:var(--theme-mask-start-x) var(--theme-mask-start-y);-webkit-mask-size:1px 1px;mask-size:1px 1px}::view-transition-group(theme-toggle-control){z-index:3}::view-transition-old(theme-toggle-control){animation:theme-toggle-old-out .18s ease-out both}::view-transition-new(theme-toggle-control){animation:theme-toggle-new-in .56s cubic-bezier(.2,.86,.24,1.18) both}@keyframes theme-toggle-old-out{to{opacity:0;transform:scale(.84) rotate(-6deg)}}@keyframes theme-toggle-new-in{0%{opacity:0;transform:scale(.82) rotate(10deg)}68%{opacity:1;transform:scale(1.08) rotate(-2deg)}to{opacity:1;transform:scale(1) rotate(0)}}.theme-reveal-fallback{position:fixed;z-index:2147483647;border-radius:50%;pointer-events:auto;transform:translate(-50%,-50%) scale(0);transform-origin:center;will-change:transform,opacity}.theme-reveal-fallback--light{background:#f7f8fb}.theme-reveal-fallback--dark{background:#11151b}@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}[data-theme=dark]{color-scheme:dark;--page-bg: #101318;--canvas-bg: #14181f;--canvas-paper-tint: #1c2630;--surface: #1e2229;--surface-wash: #232830;--surface-wash-alt: #262c35;--surface-sunken: #1a1e25;--surface-sunken-2: #1c2129;--surface-preview: #0c0f14;--switch-track: #3a414c;--tint-yellow-solid: #3d3417;--graph-node-top: #354151;--graph-node-bottom: #232c38;--graph-node-yellow: #443e2c;--graph-node-red: #4d3440;--graph-node-blue: #304862;--graph-node-ink: #e2e7ef;--graph-stage-1: #8bb8be;--graph-stage-2: #a0b697;--graph-stage-3: #d1bd7f;--graph-stage-4: #d9ab85;--graph-stage-5: #d39b99;--graph-stage-pending: #a3afc0;--graph-edge-stroke: rgba(138, 155, 178, .64);--graph-node-outline: rgba(155, 171, 193, .16);--graph-node-accent: rgba(155, 171, 193, .1);--graph-node-rim-highlight: rgba(220, 232, 250, .34);--graph-node-rim-shade: rgba(0, 0, 0, .48);--graph-node-recess-shade: rgba(0, 0, 0, .2);--graph-node-recess-highlight: rgba(220, 232, 250, .12);--graph-node-lift-shadow: rgba(0, 0, 0, .44);--graph-node-selected-shadow: rgba(77, 163, 255, .56);--graph-node-gloss: rgba(220, 232, 250, .11);--graph-node-gloss-clear: rgba(220, 232, 250, 0);--graph-badge-default: rgba(232, 236, 240, .1);--graph-badge-blue: rgba(77, 163, 255, .2);--graph-badge-gold: rgba(255, 204, 0, .17);--graph-badge-red: rgba(255, 99, 89, .18);--canvas-grid-strength: 5%;--canvas-dot-strength: 12%;--ink: #e8eaed;--ink-strong: #f2f4f6;--ink-body: #e2e6ea;--ink-secondary: #d3d9df;--ink-panel: #c3cad2;--ink-mid: #a8b0ba;--ink-muted: #98a1ac;--ink-soft: #8a94a0;--ink-faint: #7c8692;--ink-ghost: #6e7885;--ink-ghost-2: #636d7a;--ink-button: #3f4855;--ink-button-2: #3a424e;--ink-button-3: #353c47;--on-ink-button: #e9ecf0;--line-ink: #dfe3e8;--paper-line-ink: #c6cdd5;--line-solid: #343b45;--shadow-base: #000000;--accent: #3d9aff;--accent-strong: #4da3ff;--paper-ink: #e2e6ea;--paper-muted: #8a94a0;--paper-line: rgba(198, 205, 213, .2);--paper-soft-line: rgba(198, 205, 213, .1);--paper-fill: #1b1f26;--paper-wash: #20252d;--paper-shadow: rgba(0, 0, 0, .5)}:root{color:var(--ink);background:var(--page-bg);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}.map-page :is(button,input,textarea,select,summary,[contenteditable=true],[tabindex]):focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 72%,var(--ink-strong));outline-offset:2px}.map-page :is(.node-search-input,.canvas-switcher-search,.rich-answer-field) :focus-visible{outline:none}@media(prefers-reduced-motion:reduce){.map-page,.map-page *,.map-page *:before,.map-page *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@font-face{font-family:HarmonyOS Sans SC;src:url(/fonts/HarmonyOS_Sans_SC_Regular.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Source Han Sans SC;src:url(/fonts/SourceHanSansSC-Regular.otf) format("opentype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:LXGW Neo XiHei;src:url(/fonts/LXGWNeoXiHei.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:LXGW WenKai GB;src:url(/fonts/LXGWWenKaiGB-Regular.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:IPAexGothic;src:url(/fonts/ipaexg.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}.card-font-license-link{display:inline-flex;margin-inline-start:6px;vertical-align:middle;color:inherit}.cloud-sync-details{display:grid;grid-template-columns:max-content 1fr;gap:6px 12px;margin:12px 0;font-size:12px;color:var(--ink-muted)}.cloud-sync-details dd{margin:0;text-align:right}.cloud-sync-local{font-size:12px}.google-drive-backup{margin:16px 0;padding:12px 0;border-top:1px solid var(--line-solid)}.google-drive-backup summary{cursor:pointer;font-weight:600}.google-drive-backup p{font-size:12px;color:var(--ink-muted);overflow-wrap:anywhere}.google-drive-backup-actions{display:flex;flex-wrap:wrap;gap:8px}.google-drive-backup button{font-size:12px;padding:8px 12px}.google-drive-backup ul{list-style:none;padding:0}.google-drive-backup li{display:flex;align-items:center;gap:8px;margin:8px 0}.google-drive-backup li span{flex:1;min-width:0;overflow-wrap:anywhere;font-size:12px}.recitation-badges{position:absolute;right:10px;bottom:-8px;z-index:1;max-width:72%;overflow:hidden;color:var(--graph-badge-default);font-family:Excalifont,Xiaolai,PingFang SC,sans-serif;font-size:clamp(48px,5.2vw,64px);font-weight:800;line-height:.86;letter-spacing:0;text-align:right;white-space:nowrap;pointer-events:none}.recitation-badges.recitation-red{color:var(--graph-badge-red)}.recitation-badges.recitation-yellow{color:var(--graph-badge-gold)}.recitation-badges.recitation-blue{color:var(--graph-badge-blue)}.recitation-badge{position:absolute;left:var(--petal-left);top:var(--petal-top);width:9px;height:9px;border-radius:999px;opacity:.46;transform:translate(-50%,-50%);box-shadow:0 2px 8px color-mix(in srgb,var(--shadow-base) 8%,transparent),inset 0 1px color-mix(in srgb,var(--surface) 55%,transparent)}.recitation-badge.yellow{background:#ffd45a}.recitation-badge.red{background:#ff6b6b;opacity:.58}.recitation-badge.blue{background:#4b8dff;opacity:.6}.hammer-settings{position:relative}.settings-trigger{height:36px;display:inline-flex;align-items:center;gap:7px;padding:0 13px;border:0;border-radius:999px;background:color-mix(in srgb,var(--surface) 86%,transparent);color:var(--ink-muted);font-weight:800;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--shadow-base) 6%,transparent),0 10px 22px color-mix(in srgb,var(--shadow-base) 8%,transparent);transition:transform .16s ease,background .16s ease,color .16s ease}.settings-trigger .settings-hammer-icon{width:18px;height:18px;overflow:visible;flex-shrink:0;transform:scale(1.22)}.settings-hammer-tool{transform-box:view-box;transform-origin:9.75px 19.3px}.settings-hammer-handle{fill:color-mix(in srgb,currentColor 11%,transparent)}.settings-hammer-detail{stroke-width:1.1}.settings-trigger:hover,.settings-trigger.active{background:var(--surface);color:var(--ink-strong);transform:translateY(-1px)}.settings-dialog-backdrop{position:fixed;z-index:2147483500;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:color-mix(in srgb,var(--shadow-base) 24%,transparent);animation:learning-stats-backdrop-in .18s ease-out}.settings-dialog{--settings-control-radius: 12px;width:min(700px,calc(100vw - 40px));max-height:min(780px,calc(100dvh - 40px));display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border-radius:20px;color:var(--ink-panel);animation:learning-stats-dialog-in .19s cubic-bezier(.2,.82,.25,1)}.settings-dialog--fixed{height:min(720px,calc(100dvh - 40px))}.settings-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 22px 15px;border-bottom:1px solid color-mix(in srgb,var(--line-ink) 8%,transparent)}.settings-dialog-header span{color:var(--ink-soft);font-size:11px;letter-spacing:.12em}.settings-dialog-header h2{margin:3px 0 0;color:var(--ink-strong);font-size:27px}.settings-dialog-close{width:38px;height:38px;padding:0;border:1px solid color-mix(in srgb,var(--line-ink) 16%,transparent);border-radius:50%;background:var(--surface-wash);color:var(--ink-soft);font-size:24px;line-height:1}.settings-dialog-body{min-height:0;display:grid;grid-template-columns:154px minmax(0,1fr);overflow:hidden}.settings-dialog-nav{display:grid;align-content:start;gap:5px;padding:16px 12px;border-right:1px solid color-mix(in srgb,var(--line-ink) 8%,transparent);background:color-mix(in srgb,var(--surface-wash) 32%,transparent)}.settings-dialog-nav button{min-height:38px;padding:8px 11px;border:0;border-radius:var(--settings-control-radius);background:transparent;color:var(--ink-soft);font-size:13px;font-weight:700;text-align:left}.settings-dialog-nav button:hover{background:color-mix(in srgb,var(--surface) 74%,transparent);color:var(--ink-panel)}.settings-dialog-nav button.active{background:var(--ink-button);color:var(--on-ink-button);box-shadow:1px 2px color-mix(in srgb,var(--shadow-base) 12%,transparent)}.settings-dialog-content{min-width:0;overflow:auto;overscroll-behavior:contain;padding:18px}.settings-dialog .hammer-settings-panel{position:static;width:auto;max-height:none;gap:10px;overflow:visible;padding:15px;border-radius:var(--settings-control-radius);background:color-mix(in srgb,var(--surface-wash) 44%,transparent);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;animation:none}.settings-dialog .settings-dialog-jev .english-jev-form{position:static;width:min(320px,100%);margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.hammer-settings-panel{position:absolute;right:0;top:calc(100% + 10px);z-index:40;width:198px;display:grid;gap:10px;padding:12px;border:1px solid color-mix(in srgb,var(--line-ink) 8%,transparent);border-radius:18px;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:0 24px 70px color-mix(in srgb,var(--shadow-base) 18%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transform-origin:calc(100% - 22px) -8px;animation:panel-paper-in .18s cubic-bezier(.2,.82,.25,1)}.hammer-settings-panel--integrated{width:min(320px,calc(100vw - 28px));max-height:min(78vh,760px);overflow-x:hidden;overflow-y:auto;scrollbar-width:thin}.settings-group-label{margin:2px 0 -2px;color:var(--ink-ghost);font-size:10px;font-weight:750;letter-spacing:.12em}.settings-group-label:not(:first-child){margin-top:5px;padding-top:9px;border-top:1px solid color-mix(in srgb,var(--line-ink) 8%,transparent)}.shortcut-settings-panel{--shortcut-radius: 12px;display:grid;gap:14px}.shortcut-settings-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.shortcut-settings-header strong{color:var(--ink-panel);font-size:17px;letter-spacing:-.02em}.shortcut-settings-group{display:grid;overflow:hidden;border:1px solid color-mix(in srgb,var(--line-ink) 9%,transparent);border-radius:var(--shortcut-radius);background:color-mix(in srgb,var(--surface) 78%,transparent)}.shortcut-settings-group>header{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border-bottom:1px solid color-mix(in srgb,var(--line-ink) 8%,transparent);background:color-mix(in srgb,var(--surface-wash) 62%,transparent)}.shortcut-settings-group>header strong{color:var(--ink-soft);font-size:11px;letter-spacing:.08em}.shortcut-setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:8px 12px;border-bottom:1px solid color-mix(in srgb,var(--line-ink) 7%,transparent)}.shortcut-setting-row:last-child{border-bottom:0}.shortcut-setting-row.has-conflict{background:color-mix(in srgb,#c45d5d 6%,transparent)}.shortcut-setting-copy{min-width:0}.shortcut-setting-copy strong{display:flex;align-items:center;gap:6px;color:var(--ink-panel);font-size:12px}.shortcut-setting-copy em{padding:1px 5px;border-radius:999px;background:color-mix(in srgb,#c45d5d 13%,transparent);color:#b24d4d;font-size:9px;font-style:normal}.shortcut-setting-control{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:7px}.shortcut-record-button{height:32px;border:1px solid color-mix(in srgb,var(--line-ink) 13%,transparent);border-radius:var(--shortcut-radius);font-size:11px}.shortcut-record-button{min-width:112px;padding:0 8px;background:var(--surface);color:var(--ink-panel);box-shadow:0 1px color-mix(in srgb,var(--shadow-base) 8%,transparent)}.shortcut-record-button kbd,.shortcut-conflicts kbd{font:inherit;font-weight:750;white-space:nowrap}.shortcut-record-button.recording{background:var(--ink-button);color:var(--on-ink-button);box-shadow:0 0 0 3px color-mix(in srgb,var(--ink-button) 12%,transparent)}.shortcut-recording-prompt{font-size:10px;font-weight:700}.shortcut-recording-message{margin:0;color:var(--ink-faint);font-size:11px}.shortcut-conflicts{display:grid;gap:7px;padding:11px 12px;border:1px solid color-mix(in srgb,#c45d5d 34%,transparent);border-radius:var(--shortcut-radius);background:color-mix(in srgb,#c45d5d 8%,var(--surface));color:var(--ink-panel);font-size:11px}.shortcut-conflicts-title{display:flex;align-items:center;gap:7px}.shortcut-conflicts-title>span{width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:#b24d4d;color:#fff;font-size:11px;font-weight:850}.shortcut-conflicts strong{color:#a94444}.shortcut-conflicts p{margin:0;display:flex;align-items:center;gap:9px}.shortcut-conflicts p kbd{min-width:84px;padding:4px 7px;border:1px solid color-mix(in srgb,#c45d5d 24%,transparent);border-radius:var(--shortcut-radius);background:color-mix(in srgb,var(--surface) 76%,transparent);text-align:center}@media(max-width:620px){.shortcut-settings-header,.shortcut-setting-row{align-items:stretch;flex-direction:column}.shortcut-setting-control{justify-content:flex-start}.shortcut-setting-control .shortcut-record-button{flex:1}}.hammer-ai-settings{padding-top:4px}.hammer-settings-section-title{display:flex;align-items:center;justify-content:space-between;color:var(--ink-panel);font-size:13px;font-weight:700;list-style:none;cursor:pointer;-webkit-user-select:none;user-select:none}.hammer-settings-section-title::-webkit-details-marker{display:none}.hammer-settings-section-title i{color:var(--ink-faint);font-size:15px;font-style:normal;transform:rotate(0);transition:transform .18s cubic-bezier(.2,.8,.2,1)}.hammer-ai-settings[open] .hammer-settings-section-title i{transform:rotate(180deg)}.hammer-ai-settings-body{display:grid;padding-top:9px;animation:hammer-ai-section-in .22s cubic-bezier(.2,.82,.24,1)}@keyframes hammer-ai-section-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.hammer-ai-settings .settings-panel{gap:8px}.hammer-ai-settings .line-input{width:100%;min-width:0}.hammer-settings-panel label{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--ink-panel);font-size:13px;font-weight:650}.hammer-settings-panel input[type=checkbox]{width:18px;height:18px;accent-color:var(--ink)}.settings-panel .line-input{width:100%;min-width:0}.settings-panel .settings-field{display:grid;gap:5px;align-items:initial}.settings-panel .settings-field>span{color:var(--ink-muted);font-size:12px}.recitation-display-select{min-width:108px;height:32px;padding:0 28px 0 10px;border:1px solid color-mix(in srgb,var(--line-ink) 12%,transparent);border-radius:var(--settings-control-radius, 12px);background:var(--surface);color:var(--ink-panel);font:inherit}.hammer-settings-panel button{height:36px;border-radius:var(--settings-control-radius, 12px);background:var(--ink-button);color:var(--on-ink-button);font-size:13px;font-weight:700}.hammer-settings-panel button:disabled{background:var(--surface-sunken);color:var(--ink-ghost);cursor:default}.backup-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.hammer-settings-panel .backup-actions button{height:32px;background:var(--surface-sunken);color:var(--ink-body);font-size:12px}.hammer-settings-panel .backup-actions button.secondary{background:var(--surface-wash-alt);color:var(--ink-muted)}.theme-picker,.cloze-intensity-picker{display:grid;gap:7px}.cloze-intensity-label{color:var(--ink-faint);font-size:12px}.cloze-intensity-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:4px;border:1px solid color-mix(in srgb,var(--line-ink) 7%,transparent);border-radius:11px;background:color-mix(in srgb,var(--surface-wash) 78%,transparent)}.cloze-algorithm-options{grid-template-columns:repeat(3,minmax(0,1fr))}.ai-cloze-batch-control{display:grid;gap:7px}.ai-cloze-batch-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--ink-faint);font-size:12px}.ai-cloze-batch-heading small{overflow:hidden;max-width:160px;color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap}.ai-cloze-batch-progress{height:4px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--line-ink) 9%,transparent)}.ai-cloze-batch-progress span{display:block;height:100%;border-radius:inherit;background:var(--ink-body);transition:width .18s ease}.hammer-settings-panel .ai-cloze-batch-control>button,.mobile-tools-sheet .ai-cloze-batch-control>button{min-height:34px;border:1px solid color-mix(in srgb,var(--line-ink) 9%,transparent);border-radius:10px;background:var(--surface-sunken);color:var(--ink-body)}.hammer-settings-panel .cloze-intensity-options button,.mobile-tools-sheet .cloze-intensity-options button{min-height:30px;padding:5px 9px;border:0;border-radius:8px;background:transparent;color:var(--ink-faint);box-shadow:none}.hammer-settings-panel .cloze-intensity-options button:hover,.mobile-tools-sheet .cloze-intensity-options button:hover{color:var(--ink-body)}.hammer-settings-panel .cloze-intensity-options button.active,.mobile-tools-sheet .cloze-intensity-options button.active{background:var(--ink-body);color:var(--surface)}.theme-picker-label{color:var(--ink-panel);font-size:13px;font-weight:650}.theme-picker-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:4px;border:1px solid color-mix(in srgb,var(--line-ink) 9%,transparent);border-radius:var(--settings-control-radius, 12px);background:color-mix(in srgb,var(--surface-sunken) 72%,transparent)}.settings-choice-picker .theme-picker-options{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-picker .theme-picker-options button{height:28px;padding:0 4px;border-radius:var(--settings-control-radius, 12px);background:transparent;color:var(--ink-soft);font-size:11px;font-weight:700;white-space:nowrap;transition:transform .15s ease,background .15s ease,color .15s ease}.theme-picker .theme-picker-options button:hover{transform:translateY(-1px);color:var(--ink-secondary)}.theme-picker .theme-picker-options button.active{background:var(--ink-button);color:var(--on-ink-button);box-shadow:1px 2px color-mix(in srgb,var(--shadow-base) 13%,transparent)}.settings-text-scale-picker{display:grid;gap:7px}.settings-text-scale-label{color:var(--ink-panel);font-size:13px;font-weight:650}.settings-text-scale-options,.ai-feedback-style-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:4px;border:1px solid color-mix(in srgb,var(--line-ink) 9%,transparent);border-radius:var(--settings-control-radius, 12px);background:color-mix(in srgb,var(--surface-sunken) 72%,transparent)}.ai-feedback-style-options{grid-template-columns:repeat(2,minmax(0,1fr))}.hammer-settings-panel .settings-text-scale-options button,.hammer-settings-panel .ai-feedback-style-options button{height:28px;padding:0 4px;border-radius:var(--settings-control-radius, 12px);background:transparent;color:var(--ink-soft);font-size:11px;font-weight:700}.hammer-settings-panel .settings-text-scale-options button.active,.hammer-settings-panel .ai-feedback-style-options button.active{background:var(--ink-button);color:var(--on-ink-button);box-shadow:1px 2px color-mix(in srgb,var(--shadow-base) 13%,transparent)}.backup-file-input{display:none}.cloud-sync-panel{display:grid;gap:8px;padding-top:10px;border-top:1px solid color-mix(in srgb,var(--line-ink) 8%,transparent)}.cloud-sync-panel.compact{padding-bottom:2px}.cloud-history-panel{margin-top:12px;font-size:13px}.cloud-history-panel summary{cursor:pointer;font-weight:600}.cloud-history-panel p{color:var(--muted);line-height:1.5}.cloud-history-panel ul{padding:0;list-style:none;max-height:220px;overflow:auto}.cloud-history-panel li{display:flex;gap:6px;margin:6px 0}.cloud-history-panel button{font-size:inherit}.cloud-history-preview{display:grid;gap:8px;margin-top:12px}.cloud-history-preview label{display:grid;gap:4px}.cloud-history-preview pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow:auto;font:inherit}.cloud-sync-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--ink-panel);font-size:13px;font-weight:700}.cloud-sync-head b{color:var(--ink-soft);font-size:11px;font-weight:650}.cloud-sync-status{padding:3px 7px;border-radius:999px;background:color-mix(in srgb,var(--line-ink) 7%,transparent);line-height:1.2}.cloud-sync-status.status-synced{background:color-mix(in srgb,#4caf6a 15%,transparent);color:color-mix(in srgb,#278446 78%,var(--ink-body))}.cloud-sync-status.status-syncing,.cloud-sync-status.status-pending,.cloud-sync-status.status-connecting{background:color-mix(in srgb,var(--accent) 12%,transparent);color:color-mix(in srgb,var(--accent) 74%,var(--ink-body))}.cloud-sync-status.status-needs-choice{background:color-mix(in srgb,#d7a522 16%,transparent);color:color-mix(in srgb,#9a6b00 80%,var(--ink-body))}.cloud-sync-status.status-error{background:color-mix(in srgb,#d94c4c 13%,transparent);color:color-mix(in srgb,#c63f3f 78%,var(--ink-body))}.hammer-settings-panel .cloud-sync-panel input{width:100%;height:34px;box-sizing:border-box;padding:0 11px;border:1px solid #e1e5ea;border-radius:var(--settings-control-radius, 12px);background:var(--surface-wash-alt);font-size:12px}.cloud-auth-actions,.cloud-choice-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.hammer-settings-panel .cloud-sync-panel button.secondary,.hammer-settings-panel .cloud-sync-panel button.cloud-logout{background:var(--surface-sunken);color:var(--ink-muted)}.hammer-settings-panel .cloud-sync-panel button.cloud-logout{height:28px;font-size:11px}.cloud-account,.cloud-sync-mode,.cloud-sync-progress,.cloud-sync-time,.cloud-sync-error{margin:0;overflow:hidden;color:var(--ink-soft);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.cloud-sync-error{color:#c64b4b;white-space:normal}.review-log-stats{display:inline-flex;align-items:baseline;gap:6px;width:max-content;margin:6px 0 12px;padding:7px 10px;border-radius:999px;background:var(--surface-wash);color:var(--ink-soft);font-size:12px}.review-log-stats b{color:var(--ink);font-size:18px;line-height:1}@font-face{font-family:Excalifont;src:url(/assets/Excalifont-Regular-C9eKQy_N.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Xiaolai;src:url(/assets/Xiaolai-Regular-DDFzikSr.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}*{box-sizing:border-box}html,body{overscroll-behavior:none}body{margin:0;min-width:320px;min-height:100vh;overflow:hidden}.language-boot{display:grid;min-height:100vh;place-content:center;justify-items:center;gap:10px;color:var(--ink);background:linear-gradient(rgba(173,187,204,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(173,187,204,.12) 1px,transparent 1px),var(--page-bg);background-size:28px 28px}.local-storage-warning{position:fixed;z-index:10000;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:16px;width:max-content;max-width:calc(100vw - 32px);padding:14px 18px;border:1px solid var(--line-solid);border-radius:16px;background:var(--surface);color:var(--ink);box-shadow:0 8px 32px #0000001f;font-size:14px}.local-storage-retry{flex:none;border:0;border-radius:10px;padding:9px 14px;background:var(--accent);color:#fff;cursor:pointer}.local-storage-retry:disabled{opacity:.6;cursor:wait}.language-boot-mark[hidden]{display:none}.language-boot strong{font-family:Excalifont,Xiaolai,PingFang SC,sans-serif;font-size:clamp(24px,5vw,34px);letter-spacing:0}.language-boot p{margin:0;color:var(--ink-soft);font-size:13px}.language-boot-mark{position:relative;width:76px;height:24px}.language-boot-mark span{position:absolute;top:9px;width:24px;height:6px;border-radius:999px 76% 999px 70%;background:var(--ink);animation:language-boot-pulse 1.15s cubic-bezier(.2,.8,.2,1) infinite}.language-boot-mark span:nth-child(1){left:0;transform:rotate(-5deg)}.language-boot-mark span:nth-child(2){left:26px;animation-delay:.12s;transform:rotate(3deg)}.language-boot-mark span:nth-child(3){left:52px;animation-delay:.24s;transform:rotate(-2deg)}@keyframes language-boot-pulse{0%,to{opacity:.18;translate:0 0;scale:.82 .72}45%{opacity:.92;translate:0 -3px;scale:1 1}}@media(prefers-reduced-motion:reduce){.language-boot-mark span{animation:none;opacity:.7}}.storage-loading{display:grid;min-height:100vh;place-items:center;color:var(--ink-soft);font-size:14px}button,input,textarea,select{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}h2,h3,p{margin-top:0}h2{margin-bottom:0;font-size:30px;line-height:1.1}h3{margin-bottom:8px}input,textarea{width:100%;border:1px solid color-mix(in srgb,var(--line-ink) 10%,transparent);border-radius:14px;background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--ink);outline:none}textarea{min-height:164px;padding:15px;resize:vertical;line-height:1.65}.floating-practice textarea{min-height:190px;border-color:color-mix(in srgb,var(--line-ink) 8%,transparent);border-radius:18px;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:inset 0 1px color-mix(in srgb,var(--surface) 80%,transparent)}.map-app{min-height:100dvh;padding:0;overflow:hidden}.map-page{position:relative;height:100dvh;display:grid;grid-template-rows:minmax(0,1fr);gap:0}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.map-header{position:absolute;top:max(10px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));z-index:120;isolation:isolate;pointer-events:none}.map-header>:not(.exam-countdown){pointer-events:auto}.exam-countdown{position:absolute;top:calc(100% + 8px);left:50%;z-index:122;transform:translate(-50%);padding:5px 10px;border:1px solid color-mix(in srgb,var(--line-ink) 12%,transparent);border-radius:999px;background:color-mix(in srgb,var(--surface-wash) 94%,transparent);color:var(--ink-secondary);box-shadow:0 3px 12px color-mix(in srgb,var(--shadow-base) 8%,transparent);font-size:12px;line-height:1.2;white-space:nowrap;pointer-events:none}.canvas-stage-progress{display:grid;gap:4px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--line-ink) 10%,transparent);border-radius:12px;background:color-mix(in srgb,var(--surface-wash) 62%,var(--surface));color:var(--ink-soft);font-size:11px;line-height:1.2}.canvas-stage-progress-item{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:8px}.canvas-stage-progress .canvas-stage-progress-label{height:auto;padding:2px 0;min-width:0;border:0;border-radius:5px;background:transparent;color:var(--ink-secondary);font:inherit;font-weight:600;text-align:left;white-space:nowrap;cursor:pointer}.canvas-stage-progress-label:hover,.canvas-stage-progress-label[aria-expanded=true]{color:color-mix(in srgb,var(--stage-color) 45%,var(--ink-strong))}.canvas-stage-progress-label:focus-visible,.canvas-stage-pending button:focus-visible{outline:2px solid #86b0e0;outline-offset:3px}.canvas-stage-pending{margin-top:5px;overflow:hidden;border:1px solid color-mix(in srgb,#86b0e0 28%,transparent);border-radius:12px;background:var(--surface);box-shadow:0 6px 18px color-mix(in srgb,var(--shadow-base) 5%,transparent)}.canvas-stage-pending-header{display:flex;align-items:center;gap:8px;padding:12px;background:linear-gradient(110deg,color-mix(in srgb,#86b0e0 12%,var(--surface)),var(--surface));color:var(--ink-strong);font-size:13px}.canvas-stage-progress .canvas-stage-pending-toggle{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:7px;background:color-mix(in srgb,#86b0e0 14%,var(--surface));color:var(--ink-secondary);font:inherit;white-space:nowrap;cursor:pointer}.canvas-stage-pending-toggle svg,.canvas-stage-pending-toggle g,.canvas-stage-pending-toggle line{transform-box:view-box;transform-origin:0 0;transition:transform .42s cubic-bezier(.22,1,.36,1)}.canvas-stage-pending-toggle svg{transform-origin:center;transform:rotate(0)}.canvas-stage-pending-toggle g{transform:translate(11px,15px)}.canvas-stage-pending-toggle line:first-child{transform:rotate(225deg) scaleX(4.243)}.canvas-stage-pending-toggle line:last-child{transform:rotate(-50.194deg) scaleX(7.81)}.canvas-stage-pending-toggle[aria-pressed=true] svg{transform:rotate(90deg)}.canvas-stage-pending-toggle[aria-pressed=true] g{transform:translate(12px,12px)}.canvas-stage-pending-toggle[aria-pressed=true] line:first-child{transform:rotate(180deg) scaleX(5)}.canvas-stage-pending-toggle[aria-pressed=true] line:last-child{transform:rotate(-56.31deg) scaleX(3.606)}@media(prefers-reduced-motion:reduce){.canvas-stage-pending-toggle svg,.canvas-stage-pending-toggle g,.canvas-stage-pending-toggle line{transition:none}}.canvas-stage-pending-date{flex-shrink:0;color:var(--ink-muted);font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}.canvas-stage-progress .canvas-stage-pending-close.window-minimize{margin-left:auto;flex-basis:24px;width:24px;min-width:24px;max-width:24px;height:24px;min-height:24px;max-height:24px;cursor:pointer}.canvas-stage-pending-list{max-height:300px;overflow-y:auto;overscroll-behavior:contain;margin:0;padding:4px 8px 8px;list-style:none}.canvas-stage-pending-divider{margin-top:6px;padding-top:6px;border-top:1px dashed color-mix(in srgb,var(--line-ink) 14%,transparent)}.canvas-stage-progress .canvas-stage-pending-card{height:auto;display:flex;align-items:center;gap:10px;width:100%;padding:11px 8px;border:0;border-radius:8px;background:transparent;color:var(--ink-secondary);text-align:left;font:inherit;cursor:pointer}.canvas-stage-pending-card:hover{background:color-mix(in srgb,#86b0e0 10%,var(--surface))}.canvas-stage-pending-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.5}.canvas-stage-pending-badge{flex-shrink:0;padding:4px 7px;border-radius:6px;background:color-mix(in srgb,#86b0e0 14%,var(--surface));color:var(--ink-secondary)}.canvas-stage-pending-badge[data-stage="0"]{background:var(--surface-wash);color:var(--ink-muted)}.canvas-stage-pending-arrow{color:var(--ink-faint);font-size:15px}.canvas-stage-pending-empty{margin:0;padding:22px 12px;text-align:center;color:var(--ink-muted);font-size:13px}.canvas-stage-progress-value{display:inline-grid;grid-template-columns:minmax(7ch,auto) 4ch;align-items:baseline;justify-content:flex-end;gap:6px;text-align:right;white-space:nowrap}.canvas-stage-progress-count,.canvas-stage-progress-percent{color:var(--ink-muted);font-variant-numeric:tabular-nums}.canvas-stage-progress-percent{color:var(--ink-secondary);font-weight:600;text-align:right}.canvas-stage-progress-bar{display:block;height:5px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--stage-color) 12%,transparent)}.canvas-stage-progress-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--stage-color) 88%,white),var(--stage-color));transition:width .28s cubic-bezier(.16,.86,.2,1)}.canvas-stage-progress-item[data-stage="1"]{--stage-color: var(--graph-stage-1)}.canvas-stage-progress-item[data-stage="2"]{--stage-color: var(--graph-stage-2)}.canvas-stage-progress-item[data-stage="3"]{--stage-color: var(--graph-stage-3)}.canvas-stage-progress-item[data-stage="4"]{--stage-color: var(--graph-stage-4)}.canvas-stage-progress-item[data-stage="5"]{--stage-color: var(--graph-stage-5)}.canvas-stage-progress-more summary{cursor:pointer;list-style:none;padding:1px 0;color:var(--ink-faint)}.canvas-stage-progress-more summary::-webkit-details-marker{display:none}.canvas-stage-progress-more summary:after{content:"▾";margin-left:3px;font-size:9px;vertical-align:1px}.canvas-stage-progress-more[open] summary{color:var(--ink-muted)}.canvas-stage-progress-more-body{display:grid;gap:4px;margin-top:4px;padding-top:4px;border-top:1px dashed color-mix(in srgb,var(--line-ink) 14%,transparent)}.map-brand{position:relative;z-index:121;display:flex;align-items:center;gap:5px;min-width:0;padding:3px 5px;border-radius:999px;background:color-mix(in srgb,var(--surface-wash) 90%,transparent);box-shadow:0 12px 32px color-mix(in srgb,var(--shadow-base) 16%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--shadow-base) 6%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.map-brand-icon{width:32px;height:32px;object-fit:contain}.canvas-manager{display:grid;gap:12px;align-content:start}.canvas-manager-list{position:relative;display:grid;gap:6px;margin:0;padding:0;list-style:none}.canvas-manager-item{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--line-ink) 10%,transparent);border-radius:12px;background:var(--surface);cursor:grab;touch-action:none;transition:transform .26s cubic-bezier(.2,1.24,.4,1),opacity .2s ease}.canvas-manager-item.active{border-color:color-mix(in srgb,#3f7d63 42%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,#3f7d63 8%,transparent)}.canvas-manager-item.is-dragging{z-index:3;cursor:grabbing;transform:translateY(var(--canvas-drag-y, 0)) scale(1.012);transition:none;box-shadow:0 10px 24px color-mix(in srgb,var(--shadow-base) 22%,transparent),0 2px 6px color-mix(in srgb,var(--shadow-base) 12%,transparent);will-change:transform}.canvas-manager-item.shift-up{transform:translateY(calc(-100% - 6px))}.canvas-manager-item.shift-down{transform:translateY(calc(100% + 6px))}.canvas-manager-item.is-settling{transition:none}.canvas-manager .canvas-manager-handle{width:14px;color:var(--ink-ghost);font-size:13px;line-height:1;letter-spacing:-1px;cursor:grab;-webkit-user-select:none;user-select:none}.canvas-manager-item.is-dragging .canvas-manager-handle{cursor:grabbing}.canvas-manager .canvas-item-actions,.canvas-manager .canvas-rename-input{cursor:default;touch-action:auto}.canvas-manager .canvas-manager-select{min-width:0;height:auto;display:grid;gap:3px;padding:0;background:transparent;color:var(--ink-secondary);cursor:grab;font-weight:400;text-align:left}.canvas-manager-select:hover{color:var(--ink-body)}.canvas-manager-name{min-width:0;display:flex;align-items:center;gap:7px}.canvas-manager-name strong,.canvas-manager-select small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-manager-select small{color:var(--ink-soft)}.canvas-manager-current{padding:3px 7px;border-radius:999px;background:color-mix(in srgb,#3f7d63 11%,transparent);color:#3f7d63;font-size:10px;font-style:normal;white-space:nowrap}.canvas-manager-item>.canvas-rename-input{grid-column:1 / -1;margin-top:4px}.canvas-manager-empty{color:var(--ink-ghost);text-align:center}.canvas-switcher-search{display:flex;align-items:center;gap:8px;min-height:40px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--line-ink) 12%,transparent);border-radius:11px 9px 12px 8px;background:color-mix(in srgb,var(--surface-wash) 82%,transparent);color:var(--ink-faint)}.canvas-switcher-search:focus-within{border-color:#3e6fb057;background:var(--surface);box-shadow:0 0 0 3px #3e6fb012}.canvas-switcher-search svg{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.canvas-switcher-search input,.canvas-create-row input,.canvas-rename-input{width:100%;min-width:0;padding:0;border:0;outline:0;background:transparent;color:var(--ink-secondary);font:inherit;font-size:14px}.canvas-item-actions{display:flex;align-items:center;gap:1px;padding-right:4px;opacity:0;transition:opacity .14s ease}.canvas-manager-item:hover>.canvas-item-actions,.canvas-manager-item:focus-within>.canvas-item-actions{opacity:1}.canvas-manager .canvas-item-actions button{width:27px;height:27px;padding:0;border-radius:8px 6px 9px;background:transparent;color:var(--ink-soft);font-size:16px;font-weight:400}.canvas-item-actions button:hover{background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--ink-body)}.canvas-item-actions button.danger:hover{color:#c44747}.canvas-item-actions button:disabled{opacity:.3;pointer-events:none}.canvas-rename-input{margin:5px 7px;padding:7px 8px;border:1px solid rgba(62,111,176,.3);border-radius:8px 6px 9px;background:var(--surface)}.canvas-create-row{display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:7px;padding:7px 7px 7px 11px;border:1px solid color-mix(in srgb,var(--line-ink) 12%,transparent);border-radius:11px 9px 12px 8px;background:color-mix(in srgb,var(--surface-wash) 82%,transparent)}.canvas-manager .canvas-create-row button{width:34px;height:32px;padding:0;border-radius:9px 7px 10px;background:var(--ink-button-2);color:var(--on-ink-button);font-size:20px;font-weight:400}.canvas-manager .canvas-import-button{width:100%;height:auto;margin-top:7px;padding:8px;border-radius:10px 8px 11px;background:transparent;color:#727d8b;font-size:13px;font-weight:400}.canvas-manager .canvas-import-button:hover{background:color-mix(in srgb,var(--surface-wash) 68%,transparent);color:var(--ink-secondary)}.node-search{position:relative}.node-search-trigger{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:6px 11px 6px 9px;border:1px solid color-mix(in srgb,var(--line-ink) 10%,transparent);border-radius:999px;background:color-mix(in srgb,var(--surface) 82%,transparent);box-shadow:1px 3px 10px color-mix(in srgb,var(--shadow-base) 8%,transparent);color:var(--ink-mid);font-size:14px}.node-search-trigger svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transform:rotate(-1.5deg);filter:drop-shadow(.45px .55px 0 color-mix(in srgb,currentColor 22%,transparent))}.node-search-icon-sketch{opacity:.42;stroke-width:1.15}.node-search-trigger:hover,.node-search-trigger.active{background:var(--surface);color:var(--ink-strong);transform:translateY(-1px)}.node-search-panel{position:absolute;z-index:2147483001;top:calc(100% + 9px);left:0;width:min(420px,calc(100vw - 32px));max-height:min(440px,calc(100vh - 94px));overflow:hidden;padding:12px;border-radius:22px;transform-origin:24px -7px;animation:node-search-in .21s cubic-bezier(.2,.82,.24,1.08)}.map-header-actions .node-search-panel{right:0;left:auto;transform-origin:calc(100% - 24px) -7px}.node-search-input{display:flex;align-items:center;gap:8px;min-height:40px;margin-bottom:8px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--line-ink) 8%,transparent);border-radius:13px;background:color-mix(in srgb,var(--surface) 38%,transparent);box-shadow:inset 0 1px 3px color-mix(in srgb,var(--shadow-base) 4%,transparent);color:var(--ink-faint)}.node-search-input:focus-within{border-color:color-mix(in srgb,var(--line-ink) 22%,transparent);background:color-mix(in srgb,var(--surface) 52%,transparent);box-shadow:inset 0 1px 3px color-mix(in srgb,var(--shadow-base) 4%,transparent),0 0 0 3px color-mix(in srgb,var(--surface) 28%,transparent)}.node-search-input svg{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transform:rotate(-1.5deg)}.node-search-input input{width:100%;min-width:0;padding:0;border:0;outline:0;background:transparent;color:var(--ink-secondary);font:inherit;font-size:14px}.node-search-panel ul{display:grid;gap:4px;max-height:278px;margin:0;padding:0 3px 0 0;overflow-x:hidden;overflow-y:auto;list-style:none;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--line-ink) 28%,transparent) transparent}.node-search-count{display:block;margin:-1px 6px 5px;color:var(--ink-ghost);font-size:10px;text-align:right}.node-search-panel ul.has-overflow-hint{-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 18px),transparent 100%);mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 18px),transparent 100%)}.node-search-panel li{display:block;border-radius:9px 8px 10px 7px;min-height:50px}@keyframes node-search-in{0%{opacity:0;transform:translateY(-5px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}.node-search-panel li:hover{background:color-mix(in srgb,var(--surface-wash) 72%,transparent)}.node-search-result{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(92px,42%);align-items:center;gap:12px;min-width:0;padding:9px 10px;background:transparent;color:var(--ink-secondary);text-align:left}.node-search-result.no-family{grid-template-columns:minmax(0,1fr)}.node-search-result-title{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.node-search-result-family{min-width:0;display:grid;gap:2px;text-align:right}.node-search-result-family small{overflow:hidden;color:var(--ink-soft);font-size:10px;font-style:italic;line-height:1.25;opacity:.82;text-overflow:ellipsis;white-space:nowrap}.node-search-panel>p{margin:2px 0;padding:18px 10px;color:var(--ink-ghost);font-size:13px;text-align:center}.map-header-actions{position:fixed;z-index:2147483000;top:max(10px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));max-width:calc(100vw - 24px);padding:3px;border-radius:999px;background:color-mix(in srgb,var(--surface-wash) 90%,transparent);box-shadow:0 12px 32px color-mix(in srgb,var(--shadow-base) 16%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--shadow-base) 6%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);pointer-events:auto}.map-header-actions,.toolbar,.section-row{display:flex;align-items:center;gap:7px}.map-header-actions{flex-wrap:wrap;justify-content:flex-end}.toolbar{flex-wrap:wrap}.eyebrow{display:none}.mode-toggle{display:flex;padding:2px;border-radius:999px;background:var(--surface-sunken);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--shadow-base) 3%,transparent)}.desktop-theme-toggle{position:relative;display:inline-grid;place-items:center;width:36px;height:36px;flex:0 0 36px;padding:0;border:0;border-radius:999px;color:#5f6672;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:0 10px 26px color-mix(in srgb,var(--shadow-base) 12%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--shadow-base) 7%,transparent);transition:transform .16s ease,color .18s ease,background .18s ease,box-shadow .18s ease;view-transition-name:theme-toggle-control}.desktop-theme-toggle-icon{display:block;width:22px;height:22px;overflow:visible;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;transform:rotate(-4deg);transition:transform .22s cubic-bezier(.2,.86,.25,1.18)}.desktop-theme-toggle-icon .theme-icon-main{stroke-width:1.85}.desktop-theme-toggle-icon .theme-icon-rays{stroke-width:1.65}.desktop-theme-toggle-icon .theme-icon-sketch{opacity:.34;stroke-width:1.15}.desktop-theme-toggle:hover{color:#252a32;transform:translateY(-1px);box-shadow:0 14px 32px color-mix(in srgb,var(--shadow-base) 15%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--shadow-base) 8%,transparent)}.desktop-theme-toggle:hover .desktop-theme-toggle-icon{transform:rotate(7deg) scale(1.06)}.desktop-theme-toggle:active{transform:scale(.92)}.desktop-theme-toggle.responding{animation:desktop-theme-toggle-response .56s cubic-bezier(.2,.86,.24,1.18)}.desktop-theme-toggle.responding .desktop-theme-toggle-icon{animation:desktop-theme-icon-response .56s cubic-bezier(.2,.86,.24,1.18)}@keyframes desktop-theme-toggle-response{0%{transform:scale(1) rotate(0)}28%{transform:scale(.88) rotate(-4deg)}68%{transform:scale(1.07) rotate(2deg)}to{transform:scale(1) rotate(0)}}@keyframes desktop-theme-icon-response{0%{transform:rotate(-4deg) scale(1)}48%{transform:rotate(15deg) scale(.92)}to{transform:rotate(-4deg) scale(1)}}.desktop-theme-toggle.dark{color:#e9bf68;background:color-mix(in srgb,var(--surface) 96%,transparent)}.desktop-theme-toggle.dark:hover{color:#ffe09c}.desktop-theme-toggle .header-theme-icon,.desktop-theme-toggle:hover .header-theme-icon{transform:none}.header-theme-icon :is(.theme-icon-main,.theme-icon-rays){transform-box:view-box;transform-origin:14px 14px}.header-theme-icon .theme-icon-star{stroke-width:1.35;transform-box:view-box;transform-origin:22px 7.5px}.header-theme-icon .theme-icon-star-dot{transform-box:fill-box;transform-origin:center}.settings-trigger:is(:hover,:focus-visible) .settings-hammer-tool{animation:header-hammer-swing .48s linear}.desktop-theme-toggle:is(:hover,:focus-visible) .header-theme-icon .theme-icon-main{animation:header-moon-sway .52s linear}.desktop-theme-toggle:is(:hover,:focus-visible) .header-theme-icon .theme-icon-rays{animation:header-sun-turn .62s cubic-bezier(.2,.75,.25,1)}.desktop-theme-toggle:is(:hover,:focus-visible) .header-theme-icon .theme-icon-star{animation:header-star-wink .56s linear}.desktop-theme-toggle:is(:hover,:focus-visible) .header-theme-icon .theme-icon-star-dot{animation:header-star-wink .48s 70ms linear}@keyframes header-hammer-swing{0%{transform:none;animation-timing-function:cubic-bezier(.2,.65,.3,1)}30%{transform:rotate(-18deg) translateY(-.6px);animation-timing-function:cubic-bezier(.45,0,.65,1)}58%{transform:rotate(10deg);animation-timing-function:ease-out}80%{transform:rotate(-3deg);animation-timing-function:ease-out}to{transform:none}}@keyframes header-moon-sway{0%{transform:none;animation-timing-function:cubic-bezier(.2,.7,.3,1)}38%{transform:translateY(-.65px) rotate(-12deg);animation-timing-function:ease-in-out}70%{transform:rotate(4deg);animation-timing-function:ease-out}to{transform:none}}@keyframes header-star-wink{0%{transform:none;animation-timing-function:ease-out}24%{transform:scale(.65) rotate(-18deg);animation-timing-function:cubic-bezier(.2,.7,.3,1)}56%{transform:scale(1.28) rotate(12deg);animation-timing-function:ease-out}to{transform:none}}@keyframes header-sun-turn{0%{transform:none}65%{transform:rotate(48deg)}to{transform:rotate(45deg)}}@media(prefers-reduced-motion:reduce){.settings-trigger,.desktop-theme-toggle,.settings-hammer-tool,.desktop-theme-toggle .header-theme-icon,.desktop-theme-toggle .header-theme-icon *{animation:none!important;transition:none!important}}.mode-toggle button,.ghost-button,.primary-button,.tiny-button{border-radius:999px;transition:transform .15s ease,background .15s ease,opacity .15s ease}.mode-toggle button{min-width:52px;min-height:32px;padding:6px 12px;background:transparent;color:var(--ink-soft);transform-origin:center;will-change:transform,background,color}.mode-toggle .annotation-toggle-button{height:auto;min-width:52px;min-height:32px;padding:6px 12px;border:0;background:transparent;color:var(--ink-soft);box-shadow:none;font-weight:800}.mode-toggle .annotation-toggle-button.active{background:#1f7aff;color:#fff;box-shadow:0 6px 18px #1f7aff33}.mode-toggle button.active{background:var(--surface);color:var(--ink);box-shadow:0 6px 18px color-mix(in srgb,var(--shadow-base) 12%,transparent);animation:mode-pill-pop .36s cubic-bezier(.18,.9,.2,1.16)}.mode-toggle button:hover:not(.active){color:var(--ink-secondary);transform:translateY(-1px)}@keyframes mode-pill-pop{0%{transform:scale(.9)}62%{transform:scale(1.045)}to{transform:scale(1)}}.annotation-toggle-button{border:0;height:36px;min-width:54px;padding:0 16px;border-radius:999px;background:color-mix(in srgb,var(--surface) 86%,transparent);color:var(--ink-muted);font-weight:800;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--shadow-base) 6%,transparent),0 10px 22px color-mix(in srgb,var(--shadow-base) 8%,transparent);cursor:pointer;transition:transform .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}.annotation-toggle-button:hover{transform:translateY(-1px)}.annotation-toggle-button.active{background:#1f7aff;color:#fff;box-shadow:0 16px 34px #1f7aff3d}.primary-button{padding:11px 20px;background:var(--ink-button);color:var(--on-ink-button)}.ghost-button{padding:10px 16px;background:var(--surface-sunken);color:var(--ink)}.icon-button{width:46px;height:46px;display:inline-grid;place-items:center;border-radius:999px;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:0 10px 26px color-mix(in srgb,var(--shadow-base) 12%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--shadow-base) 7%,transparent);transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.icon-button img{width:25px;height:25px;object-fit:contain;pointer-events:none}.icon-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 32px color-mix(in srgb,var(--shadow-base) 15%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--shadow-base) 8%,transparent)}.icon-button:disabled{opacity:.42}.tiny-button{padding:8px 12px;background:var(--surface-sunken-2);color:var(--ink-muted);font-size:13px}.primary-button:hover,.ghost-button:hover,.tiny-button:hover{transform:translateY(-1px)}.map-workspace{min-height:0;position:relative;z-index:1;isolation:isolate;display:block;overflow:hidden;border-radius:0;background:var(--canvas-bg);background-image:linear-gradient(145deg,color-mix(in srgb,var(--canvas-bg) 86%,var(--canvas-paper-tint)),var(--canvas-bg) 65%)}.review-guide{position:absolute;z-index:5;width:44px;height:44px;padding:6px;border:0;border-radius:50%;background:transparent;color:var(--accent);cursor:pointer;transform:translate(-50%,-50%);touch-action:manipulation}.review-guide-reminder{color:#e45b65}.review-guide-stage{color:#3285e8}.review-guide[hidden]{display:none}.review-guide:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.review-guide-float{display:block;transform-origin:50% 70%;will-change:transform;animation:review-guide-float 2.4s ease-in-out infinite}.review-guide-direction{display:block;transform:rotate(var(--review-guide-angle))}.review-guide svg{display:block;width:32px;height:32px;overflow:visible;transform:scale(calc(1 + var(--review-guide-emphasis, 0) * .75));filter:drop-shadow(0 1px 2px var(--canvas-bg));transition:transform .4s cubic-bezier(.2,.7,.2,1)}.review-guide-aura{pointer-events:none;opacity:var(--review-guide-emphasis, 0);transition:opacity .65s cubic-bezier(.2,.7,.2,1);animation:review-guide-aura-arrive .65s ease-out}.review-guide-aura-outer{filter:blur(7px);opacity:.28}.review-guide-aura-inner{filter:blur(2px);opacity:.48}@keyframes review-guide-aura-arrive{0%{opacity:0}}@keyframes review-guide-float{0%,to{transform:translateY(-4px) rotate(-2deg)}50%{transform:translateY(4px) rotate(2deg)}}@media(prefers-reduced-motion:reduce){.review-guide-float{animation:none;will-change:auto}.review-guide svg{transition:none}.review-guide-aura{animation:none;transition:none}}.map-canvas,.outline-panel{height:100%;min-height:0;border:0;border-radius:0;box-shadow:none}.map-canvas{overflow-anchor:none;overflow:auto;position:relative;z-index:3;border-radius:inherit;background-clip:padding-box;-webkit-background-clip:padding-box;background:transparent;cursor:grab;overscroll-behavior:none;touch-action:none;scrollbar-width:none;-webkit-user-select:none;user-select:none}.canvas-grid-viewport{position:absolute;z-index:1;top:1px;right:1px;bottom:1px;left:1px;border-radius:inherit;pointer-events:none}.canvas-grid-viewport.pattern-grid{background-image:linear-gradient(color-mix(in srgb,var(--line-ink) var(--canvas-grid-strength),transparent) 0,transparent calc(2.8px * var(--canvas-pattern-scale, 1))),linear-gradient(90deg,color-mix(in srgb,var(--line-ink) var(--canvas-grid-strength),transparent) 0,transparent calc(2.8px * var(--canvas-pattern-scale, 1)))}.canvas-grid-viewport.pattern-dots{background-image:radial-gradient(circle,color-mix(in srgb,var(--line-ink) var(--canvas-dot-strength),transparent) 0 calc(1.2px * var(--canvas-pattern-scale, 1)),transparent calc(1.4px * var(--canvas-pattern-scale, 1)))}.map-workspace.is-studying .canvas-grid-viewport{filter:opacity(.95)}.map-workspace.is-studying :is(.map-canvas,.annotation-viewport-layer){opacity:.94}body.canvas-is-panning,body.canvas-is-panning *{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}.map-canvas::-webkit-scrollbar{width:0;height:0}.map-canvas:active{cursor:grabbing}.map-canvas.annotation-active,.map-canvas.annotation-active:active{cursor:default;pointer-events:none}.map-canvas.wheel-zoom-preview .graph-edge{filter:none}.map-canvas.wheel-zoom-preview .hand-edge-echo{opacity:.08}.map-canvas.wheel-zoom-preview .canvas-node,.map-canvas.wheel-zoom-preview .graph-edge{transition:none!important}.map-workspace.wheel-zoom-preview .zoom-controls,.map-workspace.wheel-zoom-preview .floating-action-dock,.map-workspace.wheel-zoom-preview .floating-practice-dock,.map-workspace.wheel-zoom-preview .practice-page-dock,.map-workspace.wheel-zoom-preview .practice-reset-dock{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.canvas-plane{position:absolute;left:0;top:0;z-index:3;transform-origin:0 0}.annotation-viewport-layer{position:absolute;z-index:2;top:1px;right:1px;bottom:1px;left:1px;overflow:hidden;border-radius:inherit;pointer-events:none}.annotation-viewport-layer.active{z-index:auto;pointer-events:auto}.annotation-viewport-layer.active .popover{max-height:calc(100% - 20px);overflow-y:auto;overscroll-behavior:contain}.annotation-viewport-layer.active .popover:has(>.context-menu){max-height:none;overflow:visible;padding:0;border-radius:14px}.annotation-layer .excalidraw :is(.context-menu,.dropdown-menu-container,.popover>.Island,.properties-content>.Island){box-sizing:border-box;padding:8px;border:1px solid color-mix(in srgb,var(--line-ink) 10%,transparent);border-radius:14px;background:color-mix(in srgb,var(--surface) 52%,transparent);box-shadow:0 18px 50px color-mix(in srgb,var(--shadow-base) 18%,transparent);-webkit-backdrop-filter:blur(20px) saturate(1.3);backdrop-filter:blur(20px) saturate(1.3);color:var(--ink-body);font:13px/1.4 var(--ui-font);overscroll-behavior:contain;scrollbar-width:thin}.annotation-layer .excalidraw .context-menu{position:relative;z-index:auto;display:block;width:min(320px,calc(100vw - 24px));min-width:0;max-height:min(520px,calc(100dvh - 120px));overflow-y:auto;margin:0}.annotation-layer .excalidraw .context-menu button.context-menu-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;width:100%;min-width:0;min-height:32px;padding:6px 10px;border-radius:8px;color:var(--ink-body);font:inherit;text-align:start}.annotation-layer .excalidraw .context-menu-item .context-menu-item__label{margin:0;white-space:normal}.annotation-layer .excalidraw .context-menu-item .context-menu-item__shortcut{font-size:11px;color:var(--ink-soft);opacity:1}.annotation-layer .excalidraw .popover:focus-visible{outline:none}.annotation-layer .excalidraw .context-menu-item-separator{margin:5px 6px;border-top:1px solid color-mix(in srgb,var(--line-ink) 10%,transparent)}.annotation-layer .excalidraw .context-menu-item.checkmark:before{left:1px;font-size:10px}.annotation-layer .excalidraw .context-menu button.context-menu-item:is(:hover,:focus-visible):not(:disabled){background:var(--surface-wash);color:var(--ink-body)}.annotation-layer .excalidraw .context-menu-item.dangerous .context-menu-item__label{color:var(--danger, #b42318)}.annotation-layer .excalidraw .context-menu-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.annotation-layer .excalidraw .dropdown-menu .dropdown-menu-container{max-height:min(420px,calc(100dvh - 140px));overflow-y:auto}.annotation-layer .excalidraw .properties-content:has(.dropdown-menu.fonts){width:min(280px,calc(100vw - 24px))}.annotation-layer .excalidraw .dropdown-menu.fonts{width:100%;max-height:min(360px,calc(100dvh - 210px));margin-top:8px}.annotation-layer .excalidraw .properties-content>.Island{width:100%}.annotation-layer .excalidraw .dropdown-menu .dropdown-menu-item-base{font-size:13px;color:var(--ink-body)}.annotation-layer .excalidraw .dropdown-menu .dropdown-menu-item{min-height:32px;height:auto;padding:6px 8px;border-radius:8px}.annotation-layer .excalidraw .dropdown-menu .dropdown-menu-item svg{width:16px;height:16px}.annotation-layer .excalidraw .dropdown-menu.fonts .dropdown-menu-group:not(:first-child){margin-top:8px}.annotation-layer .excalidraw .dropdown-menu .dropdown-menu-group-title{margin:4px 6px;font:11px/1.4 var(--ui-font);color:var(--ink-soft)}.annotation-layer .excalidraw .dropdown-menu .dropdown-menu-item__shortcut{font-size:11px}.annotation-layer .excalidraw .dropdown-menu .dropdown-menu-item:hover{background:var(--surface-wash);color:var(--ink-body)}.annotation-layer .excalidraw .dropdown-menu .dropdown-menu-item--selected{background:color-mix(in srgb,var(--accent) 14%,transparent)}.annotation-layer{position:absolute;z-index:1;pointer-events:none;overflow:hidden}.annotation-layer.active{z-index:auto;pointer-events:auto}.annotation-layer.active .excalidraw__canvas-wrapper{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none}.annotation-layer.active .excalidraw__canvas.interactive{z-index:4}.annotation-layer.active .excalidraw-textEditorContainer{z-index:5}.annotation-card-binding-target{position:absolute;z-index:5;pointer-events:none;border:2px solid var(--color-primary, #1f7aff);border-radius:12px;box-shadow:0 0 0 4px #1f7aff1a}.annotation-layer .excalidraw,.annotation-layer .excalidraw .layer-ui__wrapper,.annotation-layer .excalidraw .excalidraw-textEditorContainer{--color-primary: #1f7aff;--color-primary-darker: #0f63d8;--color-primary-darkest: #064aa6;font-family:var(--ui-font)}.annotation-layer .excalidraw{width:100%;height:100%}.annotation-settle-snapshot{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;overflow:hidden;pointer-events:none}.annotation-settle-snapshot canvas{position:absolute}.annotation-layer.active .annotation-settle-snapshot{z-index:auto}.annotation-layer.active .annotation-snapshot-static{z-index:2}.annotation-layer.active .annotation-snapshot-interactive{z-index:4}.annotation-layer .excalidraw .layer-ui__wrapper{position:relative;z-index:30}.annotation-layer.active .excalidraw .main-menu-trigger,.annotation-layer.active .excalidraw .sidebar-trigger,.annotation-layer.active .excalidraw .zoom-actions,.annotation-layer.active .excalidraw .undo-redo-buttons,.annotation-layer.active .excalidraw .help-icon{display:none!important}.annotation-layer.active .excalidraw .App-top-bar{position:absolute;top:50%;left:14px;width:auto;align-items:flex-start;transform:translateY(-50%)}.annotation-layer.active .excalidraw .FixedSideContainer_side_top{top:0!important;right:0!important;bottom:0!important;left:0!important;width:auto!important;height:auto!important;pointer-events:none;transform:none}.annotation-layer.active .excalidraw .App-menu_top{display:block;width:100%;height:100%}.annotation-layer.active .excalidraw .App-menu_top>:not(.shapes-section):not(.App-menu_top__left){display:none!important}.annotation-layer.active .excalidraw .App-menu_top__left{position:absolute;top:calc(max(10px,env(safe-area-inset-top)) + 62px);right:14px;display:block!important;width:200px;pointer-events:auto}.annotation-layer.active .excalidraw .App-menu_top__left>:first-child{display:none!important}.annotation-layer.active .excalidraw .selected-shape-actions .Island{border-radius:20px}.settings-dialog,.node-search-panel,.annotation-layer.active .excalidraw .selected-shape-actions .Island{border:1px solid color-mix(in srgb,var(--surface) 68%,transparent);background:radial-gradient(ellipse at 12% 0%,rgb(255 255 255 / 18%),transparent 58%),radial-gradient(ellipse at 85% 100%,rgb(38 49 59 / 5%),transparent 64%),color-mix(in srgb,var(--surface) 58%,transparent);box-shadow:inset 0 1px 1px #ffffffa6,inset 0 -1px 2px color-mix(in srgb,var(--line-ink) 12%,transparent),inset 1px 0 2px #ffffff3d,0 2px 5px color-mix(in srgb,var(--shadow-base) 8%,transparent),0 10px 28px color-mix(in srgb,var(--shadow-base) 10%,transparent);-webkit-backdrop-filter:blur(6px) saturate(1.15) contrast(1.04) brightness(1.1);backdrop-filter:blur(6px) saturate(1.15) contrast(1.04) brightness(1.1)}.settings-dialog{background-color:color-mix(in srgb,var(--surface) 78%,transparent)}.annotation-layer.active .excalidraw .App-menu_top__left .color-picker__button.active-color{isolation:isolate;box-shadow:0 0 0 1px color-mix(in srgb,var(--color-primary) 44%,transparent)}.annotation-layer.active .excalidraw .App-menu_top__left .color-picker__button.active-color>.color-picker__button-outline:after{content:"";position:absolute;z-index:2;right:-4px;bottom:-4px;width:11px;height:11px;border:1px solid var(--island-bg-color);border-radius:50%;background:linear-gradient(#fff,#fff) center / 5px 1px no-repeat,linear-gradient(#fff,#fff) center / 1px 5px no-repeat,var(--color-primary);pointer-events:none}.annotation-layer.active .excalidraw .shapes-section,.annotation-layer.active .excalidraw .App-toolbar-container,.annotation-layer.active .excalidraw .App-toolbar-content{flex-direction:column;grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:auto}.annotation-layer.active .excalidraw .shapes-section{position:absolute;top:50%;left:14px;width:auto;pointer-events:auto;transform:translateY(-50%)}.annotation-layer.active .excalidraw .App-toolbar .Stack_horizontal{flex-direction:column;grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:auto}.annotation-layer.active .excalidraw .App-toolbar .HintViewer{display:none}.annotation-layer.active .excalidraw .shapes-section .Island,.annotation-toolbar-dock .Island{--color-surface-primary-container: color-mix(in srgb, var(--accent) 13%, var(--surface));--color-on-primary-container: var(--accent-strong);--button-hover-bg: color-mix(in srgb, var(--accent) 6%, var(--surface));--button-active-border: transparent;--icon-fill-color: var(--ink-secondary);--keybinding-color: var(--ink-ghost);padding:6px;border:1px solid color-mix(in srgb,var(--line-ink) 10%,transparent);border-radius:20px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 4px 12px color-mix(in srgb,var(--shadow-base) 4%,transparent),0 14px 36px color-mix(in srgb,var(--shadow-base) 8%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.annotation-layer.active .excalidraw .App-toolbar>.Stack_horizontal,.annotation-toolbar-dock .App-toolbar>.Stack_horizontal{gap:3px}.annotation-layer.active .excalidraw .App-toolbar .ToolIcon__icon,.annotation-toolbar-dock .App-toolbar .ToolIcon__icon{width:40px;height:40px;border:0;border-radius:12px;transition:background-color .14s ease,transform .14s ease}.annotation-layer.active .excalidraw .App-toolbar .ToolIcon__icon svg,.annotation-toolbar-dock .App-toolbar .ToolIcon__icon svg{width:20px;height:20px}.annotation-layer.active .excalidraw .App-toolbar .ToolIcon__keybinding,.annotation-toolbar-dock .App-toolbar .ToolIcon__keybinding{right:3px;bottom:2px;font-size:9px}.annotation-layer.active .excalidraw .App-toolbar .ToolIcon_type_radio:focus-visible+.ToolIcon__icon,.annotation-layer.active .excalidraw .App-toolbar .ToolIcon_type_checkbox:focus-visible+.ToolIcon__icon,.annotation-toolbar-dock .App-toolbar :is(.ToolIcon_type_radio,.ToolIcon_type_checkbox):focus-visible+.ToolIcon__icon{outline:2px solid var(--accent);outline-offset:2px}.annotation-layer.active .excalidraw .App-toolbar .ToolIcon__icon:active,.annotation-toolbar-dock .App-toolbar .ToolIcon__icon:active{transform:scale(.94)}.annotation-layer.active .excalidraw .App-toolbar__divider{width:22px;height:1px;margin:4px 0;background:color-mix(in srgb,var(--line-ink) 10%,transparent)}.annotation-layer.active .excalidraw .App-toolbar .ToolIcon:has(:is([data-testid=toolbar-rectangle],[data-testid=toolbar-freedraw],[data-testid=toolbar-eraser])){margin-top:7px}.annotation-layer.active .excalidraw .App-toolbar__extra-tools-trigger,.annotation-layer.active .excalidraw .App-toolbar__extra-tools-dropdown,.annotation-layer.active .excalidraw .App-toolbar__divider:has(+.App-toolbar__extra-tools-trigger),.annotation-toolbar-dock :is(.HintViewer,.App-toolbar__extra-tools-trigger,.App-toolbar__extra-tools-dropdown),.annotation-toolbar-dock .App-toolbar__divider:has(+.App-toolbar__extra-tools-trigger){display:none!important}.excalidraw.annotation-toolbar-dock{--ui-pointerEvents: auto;position:absolute;inset:auto;top:-1px;left:50%;z-index:2;display:inline-flex;width:max-content;height:auto;overflow:visible;background:transparent;transform:translate(-50%);isolation:isolate}.annotation-toolbar-dock .shapes-section{position:relative;z-index:1;min-height:54px;flex-direction:row}.annotation-toolbar-dock .ToolIcon,.annotation-toolbar-dock .App-toolbar .ToolIcon__icon{width:36px;height:40px}.annotation-toolbar-dock .Island{padding:6px 8px;border-color:transparent;border-radius:999px;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.annotation-toolbar-dock .App-toolbar>.Stack_horizontal{gap:2px}.annotation-toolbar-dock .App-toolbar__divider{width:1px;height:22px;margin:0 3px;background:color-mix(in srgb,var(--line-ink) 10%,transparent)}.annotation-toolbar-dock .ToolIcon:has(:is([data-testid=toolbar-rectangle],[data-testid=toolbar-freedraw],[data-testid=toolbar-eraser])){margin-left:5px}.annotation-toolbar-dock .editor-liquid-face{position:absolute;z-index:0;top:-1px;left:-1px;width:calc(100% + 2px);overflow:visible;pointer-events:none;filter:drop-shadow(0 4px 10px color-mix(in srgb,var(--shadow-base) 10%,transparent))}.annotation-toolbar-dock .editor-liquid-face path{fill:var(--surface);stroke:color-mix(in srgb,var(--line-ink) 12%,transparent);stroke-width:1}.annotation-toolbar-dock[data-active=true] :is(.editor-liquid-face,.editor-liquid-glass){animation:annotation-toolbar-flight-in .28s linear both}.annotation-toolbar-dock[data-active=true] .editor-liquid-glass{animation:annotation-toolbar-flight-in .28s linear both,annotation-toolbar-glass-emerge .28s linear both}.annotation-toolbar-dock[data-active=true] .editor-liquid-face path{animation:annotation-toolbar-emerge .28s linear both}.annotation-toolbar-dock[data-active=true] .shapes-section{animation:annotation-toolbar-content-in .28s linear both}.annotation-toolbar-dock[data-active=false]{--ui-pointerEvents: none;pointer-events:none}.annotation-toolbar-dock[data-active=false] :is(.editor-liquid-face,.editor-liquid-glass){animation:annotation-toolbar-flight-out .18s linear both,annotation-toolbar-hide .18s steps(1,end) forwards}.annotation-toolbar-dock[data-active=false] .editor-liquid-glass{animation:annotation-toolbar-flight-out .18s linear both,annotation-toolbar-glass-absorb .18s linear both,annotation-toolbar-hide .18s steps(1,end) forwards}.annotation-toolbar-dock[data-active=false] .editor-liquid-face path{animation:annotation-toolbar-absorb .18s linear both}.annotation-toolbar-dock[data-active=false] .shapes-section{animation:annotation-toolbar-content-out .18s linear both}@keyframes annotation-toolbar-flight-in{0%{transform:translate(var(--annotation-toolbar-source-x, 0px),var(--annotation-toolbar-source-y, 0px));animation-timing-function:cubic-bezier(.2,.65,.3,1)}44%{transform:translate(8px);animation-timing-function:ease-out}52%,to{transform:translate(0)}}@keyframes annotation-toolbar-emerge{0%{d:var(--editor-face-ball)}14%{d:var(--editor-face-trailLong)}28%{d:var(--editor-face-trailShort)}38%{d:var(--editor-face-settle)}44%,50%{d:var(--editor-face-ball);animation-timing-function:cubic-bezier(.16,.7,.3,1)}to{d:var(--editor-face-rest)}}@keyframes annotation-toolbar-glass-emerge{0%{clip-path:var(--editor-face-ball)}14%{clip-path:var(--editor-face-trailLong)}28%{clip-path:var(--editor-face-trailShort)}38%{clip-path:var(--editor-face-settle)}44%,50%{clip-path:var(--editor-face-ball);animation-timing-function:cubic-bezier(.16,.7,.3,1)}to{clip-path:var(--editor-face-rest)}}@keyframes annotation-toolbar-flight-out{0%,42%{transform:translate(0);animation-timing-function:cubic-bezier(.35,0,.65,1)}to{transform:translate(var(--annotation-toolbar-source-x, 0px),var(--annotation-toolbar-source-y, 0px))}}@keyframes annotation-toolbar-absorb{0%{d:var(--editor-face-rest);animation-timing-function:cubic-bezier(.35,0,.65,1)}42%{d:var(--editor-face-ball)}54%{d:var(--editor-face-settle)}64%{d:var(--editor-face-trailShort)}82%{d:var(--editor-face-trailLong)}to{d:var(--editor-face-ball)}}@keyframes annotation-toolbar-glass-absorb{0%{clip-path:var(--editor-face-rest);animation-timing-function:cubic-bezier(.35,0,.65,1)}42%{clip-path:var(--editor-face-ball)}54%{clip-path:var(--editor-face-settle)}64%{clip-path:var(--editor-face-trailShort)}82%{clip-path:var(--editor-face-trailLong)}to{clip-path:var(--editor-face-ball)}}@keyframes annotation-toolbar-content-in{0%,50%{clip-path:inset(0 100% 0 0 round 999px)}94%,to{clip-path:inset(0 round 0)}}@keyframes annotation-toolbar-content-out{0%{clip-path:inset(0 round 0)}42%,to{clip-path:inset(0 100% 0 0 round 999px)}}@keyframes annotation-toolbar-hide{to{visibility:hidden}}@media(min-width:641px)and (max-width:1120px){.excalidraw.annotation-toolbar-dock{top:calc(100% + 8px)}.annotation-mode .exam-countdown{top:calc(100% + 70px)}.annotation-layer.active .excalidraw .App-menu_top__left{top:calc(max(10px,env(safe-area-inset-top)) + 110px)}}@media(prefers-reduced-motion:reduce){.annotation-layer.active .excalidraw .App-toolbar .ToolIcon__icon,.annotation-layer.active .excalidraw .App-toolbar .ToolIcon__icon:active,.annotation-toolbar-dock .ToolIcon__icon{transition:none;transform:none}.annotation-toolbar-dock :is(.editor-liquid-face,.editor-liquid-face path,.editor-liquid-glass,.shapes-section){animation:none!important}.annotation-toolbar-dock[data-active=false] :is(.editor-liquid-face,.editor-liquid-glass){visibility:hidden!important}}.annotation-hand-pan-capture{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;cursor:grab;background:transparent;touch-action:none}.annotation-layer .panelColumn>.annotation-curved-text-control{order:1}.annotation-layer .annotation-curved-text-control>legend{width:100%}.annotation-layer .annotation-curved-text-control>legend>span{float:right;font-variant-numeric:tabular-nums}.annotation-layer .annotation-curved-text-control .annotation-curved-text-end{right:4px;left:auto}.annotation-layer .panelColumn:has(>.annotation-curved-text-control)>label.control-label~fieldset:not(.annotation-curved-text-control){order:2}.annotation-layer .panelColumn:has(>.annotation-curved-text-control[data-curved-group=true])>fieldset:has(button[aria-label=左对齐]){display:none}.annotation-hand-pan-capture:active{cursor:grabbing}.annotation-layer:not(.active) .layer-ui__wrapper{display:none}.scroll-back-to-content,.excalidraw .App-bottom-bar{display:none!important}.annotation-layer canvas{background:transparent!important;opacity:.98}.annotation-layer.active .excalidraw__canvas.static{left:0!important;right:0!important;top:0!important;width:100%!important;height:100%!important;transform:none!important}.canvas-spacer{position:relative;z-index:3;min-width:100%;min-height:100%;pointer-events:none}.map-canvas.annotation-active .canvas-spacer{pointer-events:none}.edge-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.canvas-graph-layer{position:absolute;z-index:2;display:block;max-width:none;max-height:none;pointer-events:auto;touch-action:none;transform:translateZ(0);transform-origin:0 0;will-change:transform;image-rendering:auto}.canvas-drag-layer{position:absolute;z-index:3;display:none;max-width:none;max-height:none;pointer-events:none;transform:translateZ(0);will-change:contents}.canvas-jump-glow{position:absolute;z-index:4;width:38px;height:28px;pointer-events:none;border-radius:50%;opacity:0;transform:translate(-50%,-50%) scale(calc(var(--jump-glow-scale, 1) * .72));background:radial-gradient(circle,rgba(255,69,58,0) 0 30%,rgba(255,69,58,.32) 44%,rgba(255,69,58,.15) 58%,transparent 76%);filter:drop-shadow(0 0 7px rgba(255,59,48,.48));transition:opacity .18s ease,transform .26s cubic-bezier(.2,.85,.25,1),filter .22s ease;will-change:opacity,transform,filter}.canvas-jump-glow.visible{opacity:1;transform:translate(-50%,-50%) scale(var(--jump-glow-scale, 1));animation:jump-glow-breathe 1.55s ease-in-out infinite}@keyframes jump-glow-breathe{0%,to{filter:drop-shadow(0 0 6px rgba(255,59,48,.42))}50%{filter:drop-shadow(0 0 12px rgba(255,59,48,.68))}}.canvas-plane{pointer-events:none}.mixed-annotation-selection,.canvas-selection-marquee{position:absolute;z-index:8;box-sizing:border-box;pointer-events:none;border-radius:calc(5px / var(--selection-zoom, 1))}.mixed-annotation-selection:after{content:"";position:absolute;inset:calc(-5px / var(--selection-zoom, 1));border:calc(1px / var(--selection-zoom, 1)) solid rgba(55,131,224,.65);border-radius:calc(3px / var(--selection-zoom, 1));--selection-corner: min(calc(9px / var(--selection-zoom, 1)), 40%);--selection-corners: linear-gradient(#000 0 0) top left / var(--selection-corner) var(--selection-corner) no-repeat, linear-gradient(#000 0 0) top right / var(--selection-corner) var(--selection-corner) no-repeat, linear-gradient(#000 0 0) bottom left / var(--selection-corner) var(--selection-corner) no-repeat, linear-gradient(#000 0 0) bottom right / var(--selection-corner) var(--selection-corner) no-repeat;-webkit-mask:var(--selection-corners);mask:var(--selection-corners);animation:mixed-annotation-corners-in .28s cubic-bezier(.2,.8,.25,1) both}@keyframes mixed-annotation-corners-in{0%{opacity:0;inset:calc(-10px / var(--selection-zoom, 1))}65%{opacity:1;inset:calc(-4px / var(--selection-zoom, 1))}to{opacity:1;inset:calc(-5px / var(--selection-zoom, 1))}}@media(prefers-reduced-motion:reduce){.mixed-annotation-selection:after{animation:none}}.canvas-selection-marquee{border:calc(1.5px / var(--selection-zoom, 1)) solid rgba(31,122,255,.9);background:#1f7aff13;box-shadow:inset 0 0 0 calc(.5px / var(--selection-zoom, 1)) color-mix(in srgb,var(--surface) 62%,transparent)}body.canvas-node-dragging .mixed-annotation-selection{opacity:0}.canvas-node,.canvas-node-controls,.connection-handle,.resize-handle,.edge-end-handle,.edge-trunk-handle{pointer-events:auto}.edge-trunk-handle{position:absolute;z-index:4;width:10px;min-width:10px;height:10px;min-height:10px;padding:0;border:0;border-radius:50%;background:color-mix(in srgb,var(--line-ink) 42%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--surface) 82%,transparent);cursor:ew-resize;touch-action:none;transform:translate3d(var(--node-drag-x, 0),var(--node-drag-y, 0),0);will-change:transform;opacity:0;transition:opacity .12s ease}.edge-trunk-handle:before{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border-radius:50%}.edge-trunk-handle:hover,.edge-trunk-handle:focus-visible,.edge-trunk-handle.is-active{opacity:1}.edge-trunk-handle:hover,.edge-trunk-handle:focus-visible{background:color-mix(in srgb,var(--line-ink) 72%,transparent);box-shadow:0 0 0 5px color-mix(in srgb,var(--shadow-base) 9%,transparent)}@media(hover:none){.edge-trunk-handle:not(.is-active){display:none}}.canvas-node-controls{position:absolute;z-index:4;pointer-events:none;transform:translate3d(var(--node-drag-x, 0),var(--node-drag-y, 0),0);will-change:transform}.node-glass-outline{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none;fill:none;stroke:#007aff80;stroke-width:2px}.node-hover-lift{position:absolute;z-index:5;transform-origin:center;animation:node-hover-lift .36s cubic-bezier(.2,.78,.2,1) both}@keyframes node-hover-lift{0%{transform:scale(1)}45%{transform:scale(1.028)}72%{transform:scale(1.015)}to{transform:scale(1.02)}}body.canvas-node-dragging .node-hover-lift{display:none}.node-hover-lift,.node-hover-lift *,.node-selection-jelly,.node-selection-jelly *{pointer-events:none!important}.node-selection-jelly .canvas-node{z-index:5;border:2px solid rgba(0,122,255,.5);transform-origin:center;will-change:transform;animation:node-selection-jelly .39s cubic-bezier(.2,.78,.2,1) both}.node-selection-jelly .canvas-node.selected .hand-node-outline{stroke:transparent}.node-selection-jelly .canvas-node[data-card-material=glass]:not(.structure-card){border-color:transparent}@keyframes node-selection-jelly{0%{transform:translateZ(0) scale(1) rotate(0)}24%{transform:translate3d(0,-2.4px,0) scale(1.055) rotate(-.12deg)}52%{transform:translate3d(0,.5px,0) scale(1.012) rotate(.08deg)}74%{transform:translate3d(0,-.7px,0) scale(1.028) rotate(-.04deg)}88%{transform:translateZ(0) scale(1.006) rotate(.015deg)}to{transform:translateZ(0) scale(1) rotate(0)}}@media(prefers-reduced-motion:reduce){.canvas-manager-item{transition:none}.node-search-panel,.node-hover-lift,.node-selection-jelly .canvas-node{animation:none}}.canvas-node-controls .connection-handle,.canvas-node-controls .resize-handle{pointer-events:auto;opacity:.68}.canvas-node-controls:hover .connection-handle,.canvas-node-controls:hover .resize-handle,.canvas-node-controls.is-hovered .connection-handle,.canvas-node-controls.is-hovered .resize-handle,.canvas-plane.is-connecting .canvas-node-controls .connection-handle{opacity:1}.map-canvas.annotation-active .canvas-graph-layer,.map-canvas.annotation-active .canvas-node,.map-canvas.annotation-active .canvas-node-controls,.map-canvas.annotation-active .connection-handle,.map-canvas.annotation-active .resize-handle,.map-canvas.annotation-active .edge-end-handle,.map-canvas.annotation-active .edge-trunk-handle{pointer-events:none}.graph-edge{fill:none;stroke:var(--graph-edge-stroke);stroke-width:2.15;stroke-linecap:round;stroke-linejoin:round;opacity:.9;filter:drop-shadow(1px 4px 7px rgba(70,91,120,.08))}.hand-edge-echo{opacity:.24;transform:translate(.8px,-.65px)}.hand-arrow{fill:none;stroke:var(--graph-edge-stroke);stroke-width:2.15;stroke-linecap:round;stroke-linejoin:round}.draft-edge{stroke:#007aff;stroke-width:2.8;stroke-dasharray:8 8;opacity:.86}.canvas-node{position:absolute;z-index:2;min-width:132px;min-height:78px;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:0;padding:16px 18px;border:0;border-radius:13px;background:linear-gradient(180deg,var(--graph-node-top),var(--graph-node-bottom));box-shadow:0 calc(1px * var(--node-scale, 1)) calc(2px * var(--node-scale, 1)) color-mix(in srgb,var(--graph-node-lift-shadow) 45%,transparent),0 calc(4px * var(--node-scale, 1)) calc(12px * var(--node-scale, 1)) color-mix(in srgb,var(--graph-node-lift-shadow) 65%,transparent);color:var(--graph-node-ink);-webkit-user-select:none;user-select:none;cursor:grab;overflow:visible;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .12s ease}.hand-node-border{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1;overflow:visible;pointer-events:none}.hand-node-outline,.hand-node-accent{fill:none;stroke:var(--graph-node-outline);stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.hand-node-accent{stroke:var(--graph-node-accent);stroke-width:1.05;transform:translate(var(--hand-shift-x),var(--hand-shift-y)) rotate(var(--hand-tilt));transform-origin:center}.canvas-node:not(.structure-card) .hand-node-outline{stroke-width:1}.canvas-node.stale-yellow{background:var(--graph-node-yellow)}.canvas-node.stale-red{background:var(--graph-node-red)}.canvas-node.stale-blue{background:var(--graph-node-blue)}.canvas-node.structure-card{background:linear-gradient(180deg,var(--graph-node-top),var(--graph-node-bottom));color:var(--graph-node-ink)}.canvas-node.structure-card .hand-node-outline{stroke:#5e6c8e8c;stroke-dasharray:7 5}.canvas-node.structure-card .hand-node-accent{stroke:#5e6c8e29}[data-theme=dark] .canvas-node.structure-card{background:linear-gradient(180deg,var(--graph-node-top),var(--graph-node-bottom));color:var(--graph-node-ink)}[data-theme=dark] .canvas-node.structure-card .hand-node-outline{stroke:#96a2c880}[data-theme=dark] .canvas-node.structure-card .hand-node-accent{stroke:#96a2c829}.canvas-node:active{cursor:grabbing}.canvas-node.readonly,.canvas-node.readonly:active{cursor:pointer}.canvas-node:before,.canvas-node:after{content:"";position:absolute;pointer-events:none}.canvas-node:before{top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(156deg,var(--graph-node-gloss),var(--graph-node-gloss-clear) 62% 82%,var(--graph-node-recess-highlight))}.canvas-node:after{top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:inset 0 calc(1px * var(--node-scale, 1)) calc(1px * var(--node-scale, 1)) var(--graph-node-rim-highlight),inset 0 0 calc(5px * var(--node-scale, 1)) var(--graph-node-rim-shade)}.canvas-node[data-card-material=glass]:not(.structure-card):before,.canvas-node[data-card-material=glass]:not(.structure-card):after{content:none}.canvas-node[data-card-material=glass]:not(.structure-card){background:transparent;box-shadow:none}.node-glass-face{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border-radius:inherit;pointer-events:none;filter:drop-shadow(0 calc(4px * var(--node-scale, 1)) calc(6px * var(--node-scale, 1)) var(--graph-node-lift-shadow))}.canvas-node[data-card-material=glass]:not(.structure-card) .recitation-badges{right:var(--glass-corner-inset);bottom:var(--glass-mark-bottom)}.canvas-node[data-card-material=glass]:not(.structure-card) .node-link-mark{left:var(--glass-corner-inset);bottom:var(--glass-mark-bottom)}.canvas-node[data-card-material=glass]:not(.structure-card) .node-progress{left:var(--glass-corner-inset);right:var(--glass-corner-inset);bottom:var(--glass-mark-bottom)}.canvas-node.selected{--graph-node-lift-shadow: var(--graph-node-selected-shadow)}.node-progress{position:absolute;left:14px;right:14px;bottom:8px;height:3px;overflow:hidden;border-radius:999px;background:#8b98aa29}.node-progress:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:44%;border-radius:inherit;background:linear-gradient(90deg,#007aff14,#007aff9e,#007aff14);animation:node-progress-slide .92s ease-in-out infinite}@keyframes node-progress-slide{0%{transform:translate(-120%)}to{transform:translate(260%)}}.canvas-node.connecting{border-color:#79849461;box-shadow:0 0 0 5px #7984941a,0 0 calc(9px * var(--node-scale, 1)) var(--graph-node-lift-shadow)}.canvas-node.grouped{border-color:#5856d657;box-shadow:0 0 0 4px #5856d61a,0 0 calc(9px * var(--node-scale, 1)) var(--graph-node-lift-shadow)}.canvas-node strong{position:relative;z-index:2;grid-column:1;display:-webkit-box;max-height:2.7em;overflow-wrap:anywhere;overflow:hidden;font-family:var(--card-title-font, "PingFang SC", "Microsoft YaHei", sans-serif);font-size:16px;font-weight:var(--card-title-weight, 400);line-height:var(--node-line-height, 1.35);text-align:center;-webkit-box-orient:vertical;-webkit-line-clamp:2}.map-page :is(.outline-node strong,.memory-card-front h2,.memory-card-back h4,.card-reconstruction-question h2,.card-review-list-scroll strong){font-family:var(--card-title-font, "PingFang SC", "Microsoft YaHei", sans-serif);font-weight:var(--card-title-weight, 400)}.node-paper-tape{position:absolute;top:calc(-2px * var(--node-scale, 1));left:50%;z-index:2;width:min(calc(34px * var(--node-scale, 1)),28%);height:calc(9px * var(--node-scale, 1));border-radius:calc(2px * var(--node-scale, 1));background:#c6a46547;pointer-events:none;transform:translate(-50%) rotate(-1deg)}[data-theme=dark] .node-paper-tape{background:#d6bc8938}.canvas-node.compact-height{padding-top:9px;padding-bottom:9px}.canvas-node.auto-width strong{display:block;max-height:none;overflow-wrap:normal;white-space:nowrap;-webkit-line-clamp:1}.canvas-node.font-scaled{box-sizing:border-box;min-width:0;min-height:0;gap:0;padding:var(--node-padding-y, 12px) var(--node-padding-x, 22px);border-radius:calc(13px * var(--node-scale, 1))}.canvas-node.font-scaled .node-link-mark{left:calc(10px * var(--node-scale, 1));bottom:calc(7px * var(--node-scale, 1));width:calc(16px * var(--node-scale, 1));height:calc(12px * var(--node-scale, 1))}.canvas-node.font-scaled .recitation-badges{right:calc(10px * var(--node-scale, 1));bottom:calc(-8px * var(--node-scale, 1));font-size:calc(56px * var(--node-scale, 1))}.canvas-node .recitation-badges.recitation-stage{right:calc(12px * var(--node-scale, 1));bottom:calc(10px * var(--node-scale, 1));display:flex;align-items:flex-end;gap:calc(3px * var(--node-scale, 1));height:calc(4px * var(--node-scale, 1));max-width:none;opacity:1;font-family:PingFang SC,system-ui,sans-serif;font-size:calc(14px * var(--node-scale, 1));font-weight:400;line-height:1}.canvas-node .recitation-stage-tick{width:calc(5px * var(--node-scale, 1));height:calc(2.5px * var(--node-scale, 1));border-radius:calc(1.25px * var(--node-scale, 1));background:var(--graph-stage-pending);opacity:.28}.canvas-node .recitation-stage-tick:is(.is-current,.is-reached):nth-child(1){background:var(--graph-stage-1)}.canvas-node .recitation-stage-tick:is(.is-current,.is-reached):nth-child(2){background:var(--graph-stage-2)}.canvas-node .recitation-stage-tick:is(.is-current,.is-reached):nth-child(3){background:var(--graph-stage-3)}.canvas-node .recitation-stage-tick:is(.is-current,.is-reached):nth-child(4){background:var(--graph-stage-4)}.canvas-node .recitation-stage-tick:is(.is-current,.is-reached):nth-child(5){background:var(--graph-stage-5)}.canvas-node .recitation-stage-tick.is-reached{opacity:.7}.canvas-node .recitation-stage-tick.is-current{height:calc(4px * var(--node-scale, 1));opacity:1}.canvas-node.font-scaled .node-progress{left:calc(14px * var(--node-scale, 1));right:calc(14px * var(--node-scale, 1));bottom:calc(8px * var(--node-scale, 1));height:max(1px,calc(3px * var(--node-scale, 1)))}.connection-handle{position:absolute;right:-4px;top:50%;z-index:4;width:8px;min-width:8px;height:8px;min-height:8px;display:block;padding:0;border:0;border-radius:50%;background:color-mix(in srgb,var(--line-ink) 38%,transparent);box-shadow:none;transform:translateY(-50%);cursor:crosshair;line-height:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;touch-action:none;opacity:0;transition:opacity .14s ease,background .14s ease,box-shadow .14s ease}.canvas-node:hover .connection-handle,.canvas-node.connecting .connection-handle,.canvas-plane.is-connecting .connection-handle{opacity:1}.connection-handle:hover{background:color-mix(in srgb,var(--line-ink) 70%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--shadow-base) 8%,transparent)}.connection-handle:before,.edge-end-handle:before{content:"";position:absolute;top:-9px;right:-9px;bottom:-9px;left:-9px;border-radius:50%}.edge-end-handle{position:absolute;z-index:3;width:8px;min-width:8px;height:8px;min-height:8px;display:block;padding:0;border:0;border-radius:50%;background:color-mix(in srgb,var(--line-ink) 34%,transparent);box-shadow:none;cursor:grab;line-height:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;touch-action:none;transform:translate3d(var(--node-drag-x, 0),var(--node-drag-y, 0),0);will-change:transform;transition:background .14s ease,box-shadow .14s ease,opacity .14s ease}.edge-end-handle:hover{background:color-mix(in srgb,var(--line-ink) 68%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--shadow-base) 8%,transparent)}.resize-handle{position:absolute;right:6px;bottom:6px;z-index:4;width:10px;min-width:10px;height:10px;min-height:10px;display:block;padding:0;border:0;border-right:2px solid color-mix(in srgb,var(--line-ink) 42%,transparent);border-bottom:2px solid color-mix(in srgb,var(--line-ink) 42%,transparent);border-radius:0 0 4px;background:transparent;cursor:nwse-resize;opacity:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;touch-action:none;transition:opacity .14s ease,border-color .14s ease}.canvas-node:hover .resize-handle,.canvas-node.resizing .resize-handle{opacity:1}.resize-handle:hover{border-color:color-mix(in srgb,var(--line-ink) 78%,transparent)}.resize-handle:before{content:"";position:absolute;top:-9px;right:-9px;bottom:-9px;left:-9px}.zoom-controls{position:sticky;left:18px;bottom:18px;z-index:8;width:max-content;display:flex;align-items:center;gap:5px;padding:5px;border:1px solid color-mix(in srgb,var(--line-ink) 8%,transparent);border-radius:999px;background:color-mix(in srgb,var(--surface) 88%,transparent);box-shadow:0 14px 36px color-mix(in srgb,var(--shadow-base) 12%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.zoom-controls button{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:transparent;color:var(--ink-mid);font-size:18px;line-height:1}.zoom-controls button:hover{background:var(--surface-sunken)}.zoom-controls span{min-width:48px;color:var(--ink-soft);font-size:12px;text-align:center}.canvas-minimap{position:absolute;z-index:40;right:18px;bottom:18px;width:212px;padding:7px;border:1px solid color-mix(in srgb,var(--line-ink) 9%,transparent);border-radius:18px;background:color-mix(in srgb,var(--surface) 90%,transparent);box-shadow:0 14px 38px color-mix(in srgb,var(--shadow-base) 14%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.canvas-minimap>span{position:absolute;z-index:1;top:10px;left:12px;color:var(--ink-ghost);font-size:10px;font-weight:800;letter-spacing:.08em;pointer-events:none}.canvas-minimap button{width:100%;display:block;padding:0;border-radius:12px;background:color-mix(in srgb,var(--surface-wash) 70%,transparent);cursor:crosshair}.canvas-minimap svg{width:100%;height:auto;display:block}.canvas-minimap-nodes rect{fill:color-mix(in srgb,#4d83c5 54%,var(--surface));stroke:none}.canvas-minimap-viewport{fill:#1f7aff14;stroke:#1f7aff;stroke-width:1.35}.outline-dot{position:relative;z-index:2;width:24px;height:24px;align-self:center;display:grid;place-items:center;border-radius:50%;background:#34c7591a;box-shadow:0 0 0 7px #34c7590b}.outline-dot:before{content:"";width:10px;height:10px;border-radius:50%;background:#34c759}.node-link-mark{position:absolute;left:10px;bottom:7px;z-index:2;width:16px;height:12px;color:color-mix(in srgb,var(--ink-mid) 72%,transparent);pointer-events:none;transform:rotate(-28deg)}.node-link-mark svg{display:block;width:100%;height:100%;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.45}.outline-dot{width:11px;height:11px;background:#34c759;box-shadow:0 0 0 6px #34c7591a}.outline-dot:before{display:none}.outline-panel{overflow:auto;padding:22px;background:color-mix(in srgb,var(--surface) 76%,transparent)}.outline-node{width:100%;min-height:46px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:6px;padding:9px 12px;padding-left:calc(14px + var(--depth, 0) * 38px);border-radius:13px;background:transparent;color:var(--ink-strong);text-align:left}.outline-node:hover{background:color-mix(in srgb,var(--surface-wash) 92%,transparent)}.outline-node.selected{background:var(--ink-button);color:var(--on-ink-button)}.outline-node strong{overflow-wrap:anywhere;line-height:1.35}.outline-node small{min-width:28px;height:28px;display:grid;place-items:center;border-radius:999px;background:#7a828f1f;color:var(--ink-faint);font-size:12px}.outline-node.selected small{background:color-mix(in srgb,var(--surface) 18%,transparent);color:var(--on-ink-button)}.outline-node.structure-only .outline-dot{background:#7d8bb0;box-shadow:0 0 0 6px #7d8bb01f}.outline-node.structure-only strong:before{content:"结构";display:inline-block;margin-right:8px;padding:1px 7px;border-radius:999px;background:#7d8bb029;color:var(--ink-secondary);font-size:11px;font-weight:500;vertical-align:middle}.outline-node.structure-only.selected strong:before{background:color-mix(in srgb,var(--surface) 20%,transparent);color:var(--on-ink-button)}.structure-card-property .structure-card-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--ink-body);font-size:13px;font-weight:650}.editor-drawer .structure-card-property .structure-card-toggle input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:15px;height:15px;flex:0 0 auto;box-sizing:border-box;margin:0;padding:0;border:1.5px solid #7d8bb0;border-radius:3px;outline:none;background:var(--surface);box-shadow:none}.editor-drawer .structure-card-property .structure-card-toggle input:checked{border-color:#5e6c8e;background-color:#5e6c8e;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3 3 7-7' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:11px 9px}.editor-drawer .structure-card-property .structure-card-toggle input:focus,.editor-drawer .structure-card-property .structure-card-toggle input:focus-visible{outline:none;box-shadow:none}.structure-card-property .structure-card-toggle span{color:var(--ink-body);font-size:13px}.structure-card-property small{color:var(--ink-ghost);font-size:12px}.edge-style-property .edge-style-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:4px;border:1px solid color-mix(in srgb,var(--line-ink) 9%,transparent);border-radius:12px;background:color-mix(in srgb,var(--surface) 72%,transparent)}.edge-style-property .edge-style-options button{display:flex;align-items:center;justify-content:center;gap:5px;height:28px;padding:0 6px;border-radius:9px;background:transparent;color:var(--ink-soft);font-size:12px;font-weight:650}.edge-style-property .edge-style-options button small{color:var(--ink-ghost);font-size:10px;font-weight:500}.edge-style-property .edge-style-options button.active{background:var(--ink-button);color:var(--on-ink-button);box-shadow:1px 2px color-mix(in srgb,var(--shadow-base) 13%,transparent)}.edge-style-property .edge-style-options button.active small{color:color-mix(in srgb,var(--on-ink-button) 72%,transparent)}.edge-style-property>small{color:var(--ink-ghost);font-size:12px}.outline-item{position:relative}.outline-item .outline-item:before{content:"";position:absolute;top:-5px;bottom:7px;left:calc(18px + var(--depth, 0) * 38px);width:1px;background:#97a4b62e}.node-practice{position:relative;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:0;padding:0;border:1px solid color-mix(in srgb,var(--line-ink) 8%,transparent);border-radius:24px;background:color-mix(in srgb,var(--surface) 86%,transparent);box-shadow:0 28px 90px color-mix(in srgb,var(--shadow-base) 18%,transparent);overflow:hidden;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.floating-practice{position:absolute;z-index:24;transform-origin:50% 50%;opacity:1;backface-visibility:hidden;will-change:transform,opacity;transition:box-shadow .16s ease}.floating-practice.mode-edit,.floating-practice.mode-practice{overflow:visible}.floating-practice.panel-hidden{visibility:hidden;opacity:0;pointer-events:none;transform:translate3d(var(--panel-node-dx, 0),var(--panel-node-dy, 12px),0) scale(.12)}.floating-practice.panel-switching{visibility:hidden;opacity:0!important;pointer-events:none;animation:none!important;transition:none!important}:is(.floating-practice,.annotation-note-editor).panel-pop{animation:practice-panel-pop .42s cubic-bezier(.16,.86,.2,1.12)}@property --practice-close-alpha{syntax: "<number>"; inherits: true; initial-value: 1;}:is(.floating-practice,.annotation-note-editor).panel-closing{transform-origin:50% 50%;pointer-events:none;animation:practice-panel-absorb .34s cubic-bezier(.2,.72,.18,1) both}:is(.floating-practice,.annotation-note-editor).panel-closing:before,:is(.floating-practice,.annotation-note-editor).panel-closing>*{opacity:var(--practice-close-alpha)}.floating-practice.panel-flip-in{animation:practice-panel-flip-in .42s cubic-bezier(.32,.72,.24,1.06)}.floating-practice.panel-flip-out{animation:practice-panel-flip-out .42s cubic-bezier(.32,.72,.24,1.06)}@keyframes practice-panel-flip-in{0%{transform:perspective(1500px) rotateY(-58deg) translateZ(-46px)}58%{transform:perspective(1500px) rotateY(7deg) translateZ(9px)}82%{transform:perspective(1500px) rotateY(-2deg) translateZ(-2px)}to{transform:perspective(1500px) rotateY(0) translateZ(0)}}@keyframes practice-panel-flip-out{0%{transform:perspective(1500px) rotateY(58deg) translateZ(-46px)}58%{transform:perspective(1500px) rotateY(-7deg) translateZ(9px)}82%{transform:perspective(1500px) rotateY(2deg) translateZ(-2px)}to{transform:perspective(1500px) rotateY(0) translateZ(0)}}.floating-practice.panel-morphing{transition:left .38s cubic-bezier(.2,.9,.22,1.06),top .38s cubic-bezier(.2,.9,.22,1.06),width .38s cubic-bezier(.2,.9,.22,1.06),height .38s cubic-bezier(.2,.9,.22,1.06),box-shadow .16s ease}.floating-practice.panel-morphing .practice-window-body{animation:practice-morph-content .34s cubic-bezier(.22,.9,.24,1.02) both}.floating-practice.panel-result-handoff .practice-window-body{animation:practice-result-handoff .42s cubic-bezier(.22,.9,.24,1.02) both}@keyframes practice-result-handoff{0%{opacity:.3;transform:translate3d(0,10px,0)}45%{opacity:.85}to{opacity:1;transform:translateZ(0)}}@keyframes practice-morph-content{0%{opacity:.35;transform:translate3d(0,6px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes practice-panel-pop{0%{transform:translate3d(-8px,10px,0) scale(.94)}58%{transform:translate3d(1px,-2px,0) scale(1.012)}to{transform:translateZ(0) scale(1)}}@keyframes practice-panel-absorb{0%{--practice-close-alpha: 1;transform:translateZ(0) scale(1)}18%{--practice-close-alpha: 1;transform:translateZ(0) scale(1.014)}52%{--practice-close-alpha: .7;transform:translateZ(0) scale(.985)}to{--practice-close-alpha: 0;border-color:transparent;box-shadow:none;visibility:hidden;transform:translate3d(0,8px,0) scale(.9)}}@media(prefers-reduced-motion:reduce){:is(.floating-practice,.annotation-note-editor).panel-pop,:is(.floating-practice,.annotation-note-editor).panel-closing{animation-duration:1ms!important}.floating-practice.panel-flip-in,.floating-practice.panel-flip-out{animation:none!important}.floating-practice.panel-morphing{transition-duration:1ms!important}.floating-practice.panel-morphing .practice-window-body,.floating-practice.panel-result-handoff .practice-window-body{animation-duration:1ms!important}}.practice-window-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:18px 18px 14px 20px;border-bottom:1px solid color-mix(in srgb,var(--line-ink) 6%,transparent);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.practice-window-actions{display:flex;align-items:center;gap:8px}.practice-header-action{position:relative;box-sizing:border-box;flex:0 0 28px;width:28px;min-width:28px;height:28px;min-height:28px;padding:5px;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line-ink));border-radius:7px;background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:color-mix(in srgb,var(--accent) 76%,var(--ink-body));box-shadow:0 4px 10px color-mix(in srgb,var(--shadow-base) 9%,transparent),inset 0 1px color-mix(in srgb,var(--surface) 72%,transparent);transition:transform .15s cubic-bezier(.18,.82,.24,1.2),border-color .15s ease,background .15s ease,box-shadow .15s ease}.practice-header-action svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.practice-header-action:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 58%,var(--line-ink));background:color-mix(in srgb,var(--accent) 16%,var(--surface));box-shadow:0 7px 15px color-mix(in srgb,var(--accent) 14%,transparent),inset 0 1px color-mix(in srgb,var(--surface) 76%,transparent);transform:translateY(-1px) rotate(-2deg) scale(1.06)}.practice-header-action:active:not(:disabled){transform:translateY(1px) rotate(0) scale(.93)}.practice-header-action:disabled{cursor:default;opacity:.36}.window-minimize{position:relative;width:32px;height:32px;border-radius:999px;background:color-mix(in srgb,var(--surface-wash) 88%,transparent);color:transparent;font-size:0}.window-minimize:before{content:"";position:absolute;left:10px;right:10px;top:50%;height:3px;border-radius:999px;background:#606a78;transform:translateY(-50%)}.window-minimize:hover{background:var(--ink-button)}.window-minimize:hover:before{background:#fff}.practice-window-bar:active{cursor:grabbing}.practice-window-bar h3{margin:0}.practice-window-title{min-width:0;display:flex;align-items:baseline;gap:8px}.practice-window-body{min-height:0;display:grid;align-content:start;gap:14px;padding:16px 20px 22px;overflow:auto}.floating-practice.mode-edit .practice-window-body{grid-template-rows:minmax(0,1fr);align-content:stretch;padding-top:4px;padding-bottom:20px;overflow:visible}.floating-practice.mode-practice .practice-window-body{grid-template-rows:minmax(0,1fr);align-content:stretch;padding-top:4px;padding-bottom:20px;overflow:auto}.floating-practice.mode-edit .answer-preview{min-height:0;height:100%;overflow:auto}.floating-practice.mode-edit .answer-preview-shell{position:relative;min-height:0;height:100%}.floating-practice.mode-edit .answer-preview-shell .answer-preview{padding-right:14px}.answer-han-count{flex:0 0 auto;padding:3px 8px;border:1px solid color-mix(in srgb,var(--line-ink) 8%,transparent);border-radius:999px;background:color-mix(in srgb,var(--surface) 78%,transparent);color:var(--ink-ghost);font-size:10px;pointer-events:none}.panel-side-mode-toggle{position:absolute;z-index:7;top:64px;right:-48px;display:grid;width:40px;height:40px;place-items:center;padding:0;border:1px solid color-mix(in srgb,var(--line-ink) 11%,transparent);border-radius:10px;background:color-mix(in srgb,var(--surface) 94%,transparent);color:var(--ink-faint);box-shadow:0 14px 34px color-mix(in srgb,var(--shadow-base) 18%,transparent),0 3px 8px color-mix(in srgb,var(--shadow-base) 10%,transparent),inset 0 1px color-mix(in srgb,var(--surface) 84%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:transform .15s cubic-bezier(.2,.75,.25,1),color .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease}.panel-side-mode-toggle:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 28%,transparent);transform:translateY(-2px) scale(1.045);color:var(--ink-body);box-shadow:0 18px 38px color-mix(in srgb,var(--shadow-base) 22%,transparent),0 4px 10px color-mix(in srgb,var(--shadow-base) 12%,transparent),inset 0 1px color-mix(in srgb,var(--surface) 88%,transparent)}.panel-side-mode-toggle[aria-pressed=true]{border-color:color-mix(in srgb,var(--accent) 34%,transparent);background:color-mix(in srgb,var(--accent) 11%,var(--surface));color:var(--ink-body)}.panel-side-mode-toggle:disabled{opacity:.34;cursor:default}.panel-side-mode-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.practice-cloze-eye,.answer-cloze-toggle{z-index:8}.practice-cloze-eye:not([aria-pressed=true]),.answer-cloze-toggle:not([aria-pressed=true]){background:color-mix(in srgb,var(--surface) 99%,transparent)}.practice-cloze-hint{top:112px;display:grid;place-items:center;opacity:1;visibility:visible}.practice-cloze-hint svg{width:17px;height:17px}.answer-cloze-spinner{width:17px;height:17px;border:1.8px solid color-mix(in srgb,currentColor 24%,transparent);border-top-color:currentColor;border-radius:50%;animation:answer-cloze-spin .7s linear infinite}.answer-cloze-notice{position:absolute;z-index:2;top:10px;right:10px;max-width:min(260px,calc(100% - 20px));overflow:hidden;color:var(--ink-faint);font-size:11px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}@keyframes answer-cloze-spin{to{transform:rotate(360deg)}}.practice-cloze-run{background-image:radial-gradient(circle .18em at right top,transparent calc(.18em - 1.25px),var(--cloze-line-color) calc(.18em - 1px) calc(.18em - .25px),transparent .18em),radial-gradient(circle .18em at left top,transparent calc(.18em - 1.25px),var(--cloze-line-color) calc(.18em - 1px) calc(.18em - .25px),transparent .18em),linear-gradient(var(--cloze-line-color),var(--cloze-line-color)),linear-gradient(to top,var(--cloze-ribbon-color),transparent);background-repeat:no-repeat;background-size:.18em .18em,.18em .18em,calc(100% - .36em + 2px) 1px,calc(100% - .36em) .18em;background-position:left 0 bottom .08em,right 0 bottom .08em,center bottom .08em,center bottom .08em}.cloze-hidden-text{display:inline;margin:0;padding:0;border:0;border-radius:0;font:inherit;line-height:inherit;vertical-align:baseline;color:inherit!important;background-color:transparent;text-shadow:none;box-decoration-break:slice;-webkit-box-decoration-break:slice;cursor:pointer}.cloze-text-transition.cloze-hidden-text-revealed{cursor:text}.cloze-transition-letters{color:inherit;filter:blur(.22em);opacity:.35;transition:filter .24s ease-in-out,opacity .24s ease-in-out}.cloze-hidden-text-revealed>.cloze-transition-letters{filter:blur(0);opacity:1}.cloze-text-transition[role=button]{cursor:pointer}@media(prefers-reduced-motion:reduce){.cloze-transition-letters{transition:none}}.cloze-hidden-text:focus-visible{outline:2px solid var(--accent, currentColor);outline-offset:2px}.floating-action-dock,.floating-practice-dock,.practice-page-dock{position:absolute;bottom:-62px;z-index:4;gap:10px;padding:7px;border:1px solid color-mix(in srgb,var(--line-ink) 6%,transparent);border-radius:999px;background:color-mix(in srgb,var(--surface) 76%,transparent);box-shadow:0 16px 42px color-mix(in srgb,var(--shadow-base) 16%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.floating-action-dock,.floating-practice-dock{left:20px}.floating-practice-dock{max-width:calc(100% - 142px);overflow:visible}.floating-action-dock .primary-button,.floating-action-dock .ghost-button,.floating-practice-dock .primary-button,.floating-practice-dock .ghost-button{min-width:62px;padding:10px 17px;border-radius:999px}.floating-practice-dock .muted{align-self:center;max-width:min(420px,calc(100vw - 180px));padding:0 6px;overflow-wrap:anywhere;line-height:1.45;white-space:normal}.ai-analysis-dock{position:absolute;z-index:-2;top:calc(100% + 10px);left:20px;width:max-content;height:38px;pointer-events:none}.ai-analysis-dock .editor-liquid-face{position:absolute;top:0;left:0;width:100%;overflow:visible;transform:scaleY(-1);transform-origin:50% var(--editor-face-center);filter:drop-shadow(0 2px 2px color-mix(in srgb,var(--shadow-base) 5%,transparent)) drop-shadow(0 8px 18px color-mix(in srgb,var(--shadow-base) 9%,transparent))}.ai-analysis-dock .editor-liquid-face path{fill:var(--paper-fill);stroke:color-mix(in srgb,var(--line-ink) 14%,transparent);stroke-width:1;animation:node-editor-tools-emerge var(--analysis-motion-ms) linear both}.ai-analysis-indicator{position:relative;display:flex;height:calc(100% - 6px);margin:3px;align-items:center;gap:7px;padding:0 10px;box-sizing:border-box;border:1px solid color-mix(in srgb,var(--line-ink) 10%,transparent);border-radius:999px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-wash) 38%,var(--surface)),color-mix(in srgb,var(--surface-wash) 78%,var(--surface)));box-shadow:inset 0 1px color-mix(in srgb,var(--surface) 80%,transparent);color:var(--ink-muted);font-size:12px;white-space:nowrap;animation:node-editor-tools-content-in var(--analysis-motion-ms) linear both}.ai-analysis-motion{width:16px;height:16px;flex:0 0 16px;color:var(--ink-muted);animation:ai-analysis-orbit 1.4s linear infinite}.ai-analysis-label{font-weight:500}.ai-analysis-indicator strong{min-width:4.5ch;margin-left:3px;padding-left:8px;border-left:1px solid color-mix(in srgb,var(--line-ink) 12%,transparent);color:var(--ink-secondary);font-weight:600;font-variant-numeric:tabular-nums;text-align:right}.ai-analysis-indicator strong span{margin-left:2px;color:var(--ink-muted);font-size:10px;font-weight:400}.ai-analysis-dock.is-closing .editor-liquid-face path{animation:node-editor-tools-absorb var(--analysis-motion-ms) linear both}.ai-analysis-dock.is-closing .ai-analysis-indicator{animation:node-editor-tools-content-out var(--analysis-motion-ms) linear both}@keyframes ai-analysis-orbit{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.ai-analysis-dock,.ai-analysis-dock .editor-liquid-face path,.ai-analysis-indicator,.ai-analysis-motion{animation:none!important}.ai-analysis-dock.is-closing{visibility:hidden}}.practice-page-dock{right:20px;bottom:-50px;display:flex;gap:4px;min-width:0;padding:4px}.practice-page-dock button{width:32px;min-width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;padding:0;background:color-mix(in srgb,var(--accent) 8%,var(--surface));color:var(--ink-mid)}.practice-page-dock button:disabled{background:transparent;color:color-mix(in srgb,var(--ink-ghost) 55%,transparent);opacity:1}.practice-page-dock svg{width:18px;height:18px;pointer-events:none;transition:transform .15s ease}.practice-reset-dock{position:absolute;right:-72px;top:60px;z-index:6;width:44px;height:44px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--line-ink) 6%,transparent);border-radius:999px;background:color-mix(in srgb,var(--surface) 78%,transparent);color:var(--ink-secondary);box-shadow:0 16px 42px color-mix(in srgb,var(--shadow-base) 16%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:reset-dock-in .36s cubic-bezier(.16,.86,.2,1.12)}.map-page:not(.mobile-layout) .floating-practice.mode-practice .practice-reset-dock{top:116px;right:-54px}.practice-reset-dock svg{width:21px;height:21px;transition:transform .18s ease,color .18s ease}.practice-reset-dock:hover:not(:disabled){background:var(--ink-button);color:var(--on-ink-button);transform:translateY(-1px)}.practice-reset-dock:hover:not(:disabled)>.practice-reminder-icon{transform:translateY(-1px)}.practice-reminder-bookmark{fill:transparent;transition:fill .22s ease}.practice-reminder-check{opacity:0;stroke-dasharray:10;stroke-dashoffset:10;transition:stroke-dashoffset .24s ease,opacity .12s ease}.practice-reminder-icon.is-scheduled{color:var(--accent)}.practice-reminder-icon.is-scheduled .practice-reminder-bookmark{fill:color-mix(in srgb,currentColor 9%,transparent)}.practice-reminder-icon.is-scheduled .practice-reminder-check{opacity:1;stroke-dashoffset:0}@media(prefers-reduced-motion:reduce){.practice-reset-dock .practice-reminder-icon,.practice-reminder-icon path{transition:none}}.practice-reset-dock:active:not(:disabled){transform:translateY(0) scale(.96)}@keyframes reset-dock-in{0%{opacity:0;transform:translate3d(-8px,10px,0) scale(.84) rotate(-12deg)}70%{opacity:1;transform:translate3d(0,-2px,0) scale(1.04) rotate(4deg)}to{opacity:1;transform:translateZ(0) scale(1) rotate(0)}}.practice-answer-input{min-height:0;height:100%;resize:none}.practice-answer-compose{min-height:0;height:100%;display:grid;grid-template-rows:minmax(0,1fr)}.practice-answer-editor{overflow-y:auto;padding:14px 18px;color:var(--ink-strong);font-size:15px;line-height:1.72;white-space:pre-wrap;overflow-wrap:anywhere;outline:none}.practice-answer-editor:empty:before{content:attr(data-placeholder);color:var(--ink-ghost);pointer-events:none}.practice-answer-marker{position:relative;display:inline-block;width:9px;height:1em;margin:0 2px;vertical-align:-.12em;-webkit-user-select:none;user-select:none}.practice-answer-marker:before,.practice-answer-marker:after{content:"";position:absolute;top:8%;width:1.8px;height:84%;border-radius:999px;background:var(--accent)}.practice-answer-marker:before{left:2px;transform:rotate(8deg)}.practice-answer-marker:after{left:3px;height:74%;transform:rotate(5deg);opacity:.68}.floating-practice.mode-practice .practice-cloze-answer{min-height:0;height:100%;overflow:auto;padding-right:14px;background:color-mix(in srgb,var(--surface) 92%,transparent)}.practice-cloze-answer{position:relative}.practice-cloze-run{--cloze-line-color: color-mix(in srgb, var(--accent) 42%, transparent);--cloze-ribbon-color: color-mix(in srgb, var(--accent) 6%, transparent);display:inline;margin:0;padding:0;border:0;border-radius:2px;color:var(--ink-body);font:inherit;line-height:inherit;vertical-align:baseline;white-space:pre-wrap;overflow-wrap:anywhere;box-decoration-break:slice;-webkit-box-decoration-break:slice;-webkit-user-select:none;user-select:none;cursor:text}.practice-cloze-run.is-active{--cloze-line-color: color-mix(in srgb, var(--accent) 84%, transparent);--cloze-ribbon-color: color-mix(in srgb, var(--accent) 13%, transparent)}.cloze-run-filler{color:transparent}.cloze-ghost{color:color-mix(in srgb,var(--ink-faint) 62%,transparent)}.cloze-ghost-character{display:inline-block;transform-origin:50% 80%;animation:cloze-ghost-arrive .38s cubic-bezier(.2,.7,.3,1)}.cloze-ghost-spacer{color:transparent}@keyframes cloze-ghost-arrive{0%{opacity:0;transform:translateY(.18em) scale(.88,1.04);filter:blur(.8px)}65%{opacity:1;transform:translateY(-.025em) scale(1.035,.98);filter:blur(0)}to{opacity:1;transform:none;filter:blur(0)}}@media(prefers-reduced-motion:reduce){.cloze-ghost-character{animation:none}}.practice-cloze-input{position:absolute;box-sizing:content-box;margin:0;padding:0 0 4px;border:0;border-radius:2px;outline:0;overflow-x:auto;overflow-y:hidden;font:inherit;line-height:normal;white-space:pre;scrollbar-width:none;cursor:text;color:transparent;pointer-events:none}.practice-cloze-input::-webkit-scrollbar{display:none}.practice-cloze-fragment-preview{position:absolute;box-sizing:border-box;overflow:hidden;color:var(--ink-body);font:inherit;white-space:pre;pointer-events:none;-webkit-user-select:none;user-select:none}.practice-cloze-input:focus{color:var(--ink-body);background:none;pointer-events:auto}.map-page .practice-cloze-input:focus-visible{outline:0;box-shadow:0 3px 6px -4px color-mix(in srgb,var(--accent) 24%,transparent),0 6px 12px -7px color-mix(in srgb,var(--accent) 18%,transparent)}.floating-practice.panel-flip-in .practice-cloze-input,.floating-practice.panel-flip-out .practice-cloze-input,.floating-practice.panel-flip-in .practice-cloze-fragment-preview,.floating-practice.panel-flip-out .practice-cloze-fragment-preview{opacity:0;box-shadow:none}.reconstruction-answer{min-height:0;overflow:auto;padding:15px;border:1px solid color-mix(in srgb,var(--line-ink) 8%,transparent);border-radius:18px;background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--ink-secondary);box-shadow:inset 0 1px color-mix(in srgb,var(--surface) 80%,transparent);font-size:14px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.reconstruction-answer-flow{min-height:100%}.reconstruction-answer-word{display:inline-block;padding:0;border:0;border-radius:2px;background:transparent;color:inherit;font:inherit;line-height:inherit;letter-spacing:0;text-align:left;vertical-align:baseline;transform-origin:50% 72%;animation:reconstruction-word-enter .36s cubic-bezier(.16,.82,.22,1.18)}.reconstruction-answer-word:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);transform:translateY(-1px) rotate(-.7deg)}.reconstruction-punctuation{color:inherit}.reconstruction-caret{display:inline-block;width:2px;height:1.15em;margin:0 2px -.18em;border-radius:1px;background:color-mix(in srgb,var(--accent) 72%,var(--ink-body));animation:reconstruction-caret-blink .95s steps(1,end) infinite}.reconstruction-placeholder{color:var(--ink-faint)}@keyframes reconstruction-word-enter{0%{opacity:0;background:color-mix(in srgb,var(--accent) 18%,transparent);transform:translate3d(0,8px,0) rotate(-2.4deg) scale(.84)}56%{opacity:1;background:color-mix(in srgb,var(--accent) 12%,transparent);transform:translate3d(0,-2px,0) rotate(1.1deg) scale(1.1)}78%{opacity:1;background:color-mix(in srgb,var(--accent) 5%,transparent);transform:translate3d(0,1px,0) rotate(-.35deg) scale(.985)}to{opacity:1;background:transparent;transform:translateZ(0) scale(1)}}@keyframes reconstruction-caret-blink{50%{opacity:.22}}.reconstruction-choice-tray{display:grid;grid-template-columns:minmax(0,1fr) 38px;align-items:stretch;gap:8px}.reconstruction-options{min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.reconstruction-option{min-width:0;min-height:40px;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:5px;padding:6px 8px;border:1px solid color-mix(in srgb,var(--line-ink) 10%,transparent);border-radius:10px 12px 9px 11px;background:linear-gradient(112deg,color-mix(in srgb,var(--accent) 5%,transparent),transparent 62%),color-mix(in srgb,var(--surface-wash) 84%,var(--surface));color:var(--ink-secondary);box-shadow:1px 2px color-mix(in srgb,var(--shadow-base) 5%,transparent),0 6px 15px color-mix(in srgb,var(--shadow-base) 7%,transparent),inset 0 1px color-mix(in srgb,var(--surface) 68%,transparent);font:inherit;letter-spacing:0;transform-origin:50% 72%;will-change:transform;transition:transform .18s cubic-bezier(.18,.82,.24,1.2),border-color .15s ease,background .15s ease,box-shadow .18s ease}.reconstruction-option:hover{border-color:color-mix(in srgb,var(--accent) 34%,transparent);background:color-mix(in srgb,var(--accent) 8%,var(--surface));box-shadow:0 10px 20px color-mix(in srgb,var(--shadow-base) 11%,transparent),0 3px 8px color-mix(in srgb,var(--accent) 12%,transparent);transform:translateY(-3px) rotate(-1.25deg) scale(1.035)}.reconstruction-option:nth-child(2n):hover{transform:translateY(-3px) rotate(1.25deg) scale(1.035)}.reconstruction-option:active,.reconstruction-option:nth-child(2n):active{transition-duration:70ms;transform:translateY(1px) rotate(0) scale(.94)}.reconstruction-option kbd{display:none}.reconstruction-option span{min-width:0;overflow:hidden;font-size:13px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.reconstruction-undo{width:38px;min-height:40px;padding:0;border:1px solid color-mix(in srgb,var(--line-ink) 10%,transparent);border-radius:7px;background:color-mix(in srgb,var(--surface-wash) 82%,var(--surface));color:var(--ink-secondary);font-size:20px}.reconstruction-undo:disabled{opacity:.34}.reconstruction-complete{grid-column:1 / -1;align-self:center;padding:8px 10px;color:var(--ink-faint);font-size:12px;text-align:center}@media(prefers-reduced-motion:reduce){.reconstruction-answer-word,.reconstruction-option{animation-duration:1ms!important;transition-duration:1ms!important}}.practice-result-page{min-height:0;display:grid;align-self:start;align-content:start;gap:14px;overflow:auto}.answer-review .review-head b[class*=verdict-]{display:inline-flex;align-items:center;justify-content:center;gap:6px}.answer-review .review-head b[class*=verdict-]:before{content:"";width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:var(--review-score-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--review-score-accent) 12%,transparent)}.answer-review .review-head b.verdict-pass{--review-score-accent: #55a86b}.answer-review .review-head b.verdict-partial{--review-score-accent: #d1a43e}.answer-review .review-head b.verdict-retry{--review-score-accent: #d45d5d}.practice-resize{position:absolute;right:4px;bottom:4px;z-index:3;width:30px;height:30px;border-radius:10px;background:linear-gradient(135deg,transparent 0 52%,rgba(122,130,143,.32) 53% 57%,transparent 58%),linear-gradient(135deg,transparent 0 68%,rgba(122,130,143,.28) 69% 73%,transparent 74%);opacity:.8;cursor:nwse-resize;touch-action:none}.node-practice h3{margin:0;font-size:21px;line-height:1.35;overflow-wrap:anywhere}.answer-preview,.soft-note,.answer-block,.result-pills{margin:0;padding:13px 14px;border-radius:14px;background:var(--surface-wash);color:var(--ink-faint);font-size:14px;line-height:1.65;overflow-wrap:anywhere}.answer-preview{color:var(--ink-secondary);white-space:pre-wrap;-moz-tab-size:2;tab-size:2;-webkit-user-select:text;user-select:text}.rich-bold{font-weight:780;color:var(--ink-body)}.rich-underline{text-decoration-line:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}.rich-italic{font-style:italic}.rich-highlight{padding:1px 3px;border-radius:5px;background:#ffd60a61;color:var(--ink-body)}.rich-divider{position:relative;display:block;width:100%;min-width:0;height:5px;margin:3px 0;-webkit-user-select:none;user-select:none}.rich-divider:before{content:"";position:absolute;top:2px;right:0;left:0;height:1px;border-radius:999px;background:color-mix(in srgb,var(--ink-faint) 34%,transparent)}.answer-block{display:grid;gap:6px;color:var(--ink-secondary)}.answer-block span,.result-pills span{color:var(--ink-ghost);font-size:12px}.answer-block p{margin:0;white-space:pre-wrap}.answer-review{display:grid;gap:12px;padding:14px;border:1px solid color-mix(in srgb,var(--line-ink) 6%,transparent);border-radius:18px;background:color-mix(in srgb,var(--surface-wash) 92%,transparent)}.answer-review>div{display:grid;gap:7px;padding:12px;border-radius:15px;background:color-mix(in srgb,var(--surface) 72%,transparent)}.answer-review .review-head{display:flex;align-items:center;justify-content:space-between;padding:0;background:transparent}.answer-review .review-head b{--review-score-accent: var(--ink-ghost);min-width:48px;padding:4px 10px;border:1px solid color-mix(in srgb,var(--review-score-accent) 20%,transparent);border-radius:999px;background:color-mix(in srgb,var(--review-score-accent) 6%,var(--surface));box-shadow:inset 0 1px color-mix(in srgb,var(--surface) 70%,transparent);color:var(--ink-secondary);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.25;text-align:center}.answer-review>div>span{color:var(--ink-ghost);font-size:12px}.answer-review p{margin:0;color:color-mix(in srgb,var(--ink-body) 88%,var(--ink-ghost));font-size:14px;line-height:1.75}.answer-review .answer-view-count{justify-self:end;color:var(--ink-ghost);font-size:11px;line-height:1}.answer-review mark{margin-right:2px;padding:2px 4px;border-radius:6px;background:transparent;color:inherit}.answer-review .diff-missing{background:#ff453a21;color:#a8262b}.answer-review .diff-extra{background:#ffcc0042;color:#655012}[data-theme=dark] .answer-review .diff-extra{background:#ffcc004d;color:#ffe08a}.ai-feedback{display:grid;gap:8px;margin:0;padding:13px 14px;border-radius:14px;background:var(--surface-wash);color:var(--ink-secondary);font-size:13px;line-height:1.6}.ai-feedback p,.ai-feedback ul{margin:0}.ai-feedback-summary{color:var(--ink-secondary)}.ai-feedback span{color:var(--ink-ghost);font-size:12px}.ai-feedback .ai-feedback-quote,.ai-feedback .ai-feedback-quote span{font-weight:800;font-size:inherit}.ai-feedback .ai-feedback-quote.reference,.ai-feedback .ai-feedback-quote.reference span{color:#c43131}.ai-feedback .ai-feedback-quote.user,.ai-feedback .ai-feedback-quote.user span{color:#9a6900}[data-theme=dark] .ai-feedback .ai-feedback-quote.reference,[data-theme=dark] .ai-feedback .ai-feedback-quote.reference span{color:#ff6b6b}[data-theme=dark] .ai-feedback .ai-feedback-quote.user,[data-theme=dark] .ai-feedback .ai-feedback-quote.user span{color:#d9a928}.ai-feedback ul{padding-left:18px}.result-pills{display:grid;gap:8px}.result-pills div{display:flex;flex-wrap:wrap;gap:7px}.result-pills b,.result-pills em{padding:6px 9px;border-radius:999px;background:var(--surface);color:var(--ink-panel);font-size:12px;font-style:normal;font-weight:650}.muted{margin:0;color:var(--ink-faint);font-size:14px}.ai-settings{position:relative}.ai-settings summary{list-style:none;padding:10px 15px;border-radius:999px;background:var(--surface-sunken);color:var(--ink);cursor:pointer}.ai-settings summary::-webkit-details-marker{display:none}.settings-panel{display:grid;gap:10px}.ai-model-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.ai-model-fetch{min-width:88px;border:1px solid color-mix(in srgb,var(--line-ink) 10%,transparent);border-radius:10px;background:var(--surface-wash-alt);color:var(--ink-body)}.ai-model-message{color:var(--ink-faint);font-size:11px}.ai-model-message.ok{color:#3f7f50}.ai-model-message.error{color:#a64646}.api-key-control{display:grid;gap:7px}.ai-provider-note,.ai-connection-message{display:block;color:var(--ink-faint);font-size:11px;line-height:1.45}.ai-connection-test{min-height:36px;border:1px solid color-mix(in srgb,var(--line-ink) 9%,transparent);border-radius:10px;background:color-mix(in srgb,var(--surface-wash) 92%,transparent);color:var(--ink-panel)}.ai-connection-test:hover:not(:disabled){background:var(--ink-button-2);color:var(--on-ink-button)}.ai-connection-message.ok{color:#3f7f50}.ai-connection-message.error{color:#a64646}.api-key-control>.line-input{width:100%;min-width:0}.api-key-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.api-key-actions button{min-width:0;padding:8px 9px;border:1px solid color-mix(in srgb,var(--line-ink) 10%,transparent);border-radius:9px;background:var(--ink-button-2);color:var(--on-ink-button);font-size:12px;cursor:pointer}.api-key-actions button.secondary{background:var(--surface-wash-alt);color:var(--ink-body)}.api-key-actions button:disabled{cursor:default;opacity:.42}.api-key-message{color:var(--ink-faint);font-size:11px}.ai-settings .settings-panel{position:absolute;right:0;top:calc(100% + 10px);z-index:20;width:280px;padding:16px;border:1px solid color-mix(in srgb,var(--line-ink) 8%,transparent);border-radius:20px;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:0 20px 50px color-mix(in srgb,var(--shadow-base) 16%,transparent)}.line-input{padding:10px 12px;font-size:13px}select.line-input{border:0;outline:0;background:var(--page-bg);border-radius:999px;color:var(--ink-strong)}.switch{position:relative;width:46px;height:28px}.switch input{opacity:0}.switch span{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:var(--switch-track);transition:.2s ease}.switch span:after{content:"";position:absolute;width:22px;height:22px;top:3px;left:3px;border-radius:50%;background:#fff;box-shadow:0 2px 7px color-mix(in srgb,var(--shadow-base) 20%,transparent);transition:.2s ease}.switch input:checked+span{background:#34c759}.switch input:checked+span:after{transform:translate(18px)}.context-menu{position:fixed;z-index:50;min-width:158px;display:grid;gap:4px;padding:8px;border:1px solid color-mix(in srgb,var(--line-ink) 10%,transparent);border-radius:14px;background:color-mix(in srgb,var(--surface) 95%,transparent);box-shadow:0 18px 50px color-mix(in srgb,var(--shadow-base) 18%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.context-menu button{width:100%;padding:10px 12px;border-radius:10px;background:transparent;color:var(--ink-body);text-align:left}.context-menu button:hover:not(:disabled){background:var(--surface-wash)}.context-menu .danger{color:#b42318}.node-jump-menu{position:fixed;z-index:2147483003;width:260px;overflow:hidden;border:1px solid color-mix(in srgb,var(--line-ink) 13%,transparent);border-radius:15px 12px 16px 11px;background:color-mix(in srgb,var(--surface) 97%,transparent);box-shadow:3px 18px 46px color-mix(in srgb,var(--shadow-base) 22%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:panel-paper-in .18s cubic-bezier(.2,.82,.25,1)}.node-jump-menu header{display:flex;align-items:center;gap:10px;padding:11px 11px 9px 14px;border-bottom:1px solid color-mix(in srgb,var(--line-ink) 8%,transparent)}.node-jump-menu header span{min-width:0;flex:1;overflow:hidden;color:var(--ink-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.node-jump-menu header button{width:27px;height:27px;flex:0 0 27px;padding:0;border-radius:50%;background:var(--surface-wash);color:var(--ink-secondary);font-size:18px;line-height:1}.node-jump-menu>div{display:grid;gap:3px;max-height:244px;overflow:auto;padding:7px}.node-jump-menu>div>button{display:grid;grid-template-columns:11px minmax(0,1fr);align-items:center;gap:9px;width:100%;padding:10px;border-radius:10px;background:transparent;color:var(--ink-body);text-align:left}.node-jump-menu>div>button:hover{background:var(--surface-wash)}.node-jump-menu>div i{width:7px;height:7px;border-radius:50%;background:#34c76f;box-shadow:0 0 0 4px color-mix(in srgb,#34c76f 13%,transparent)}.node-jump-menu>div span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jump-link-pending{position:fixed;left:50%;bottom:24px;z-index:2147483003;display:flex;align-items:center;gap:10px;max-width:min(520px,calc(100vw - 32px));padding:8px 9px 8px 14px;border:1px solid color-mix(in srgb,var(--line-ink) 11%,transparent);border-radius:999px;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:0 12px 36px color-mix(in srgb,var(--shadow-base) 18%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transform:translate(-50%);animation:panel-paper-in .18s cubic-bezier(.2,.82,.25,1)}.jump-link-pending span{min-width:0;overflow:hidden;color:var(--ink-secondary);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.jump-link-pending button{flex:0 0 auto;padding:7px 11px;border-radius:999px;background:var(--ink-button);color:var(--on-ink-button);font-size:12px}.editor-drawer{position:fixed;z-index:2147483100;top:24px;right:24px;width:min(460px,calc(100vw - 32px));max-height:calc(100vh - 48px);display:grid;gap:14px;padding:20px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--line-ink) 42%,transparent) color-mix(in srgb,var(--surface-wash) 70%,transparent);border:1px solid color-mix(in srgb,var(--line-ink) 10%,transparent);border-radius:24px;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:0 28px 80px color-mix(in srgb,var(--shadow-base) 18%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.editor-drawer::-webkit-scrollbar{width:14px}.editor-drawer::-webkit-scrollbar-track{margin:18px 0;border-radius:999px;background:color-mix(in srgb,var(--surface-wash) 72%,transparent)}.editor-drawer::-webkit-scrollbar-thumb{min-height:58px;border:4px solid transparent;border-radius:999px;background:color-mix(in srgb,var(--line-ink) 42%,transparent);background-clip:padding-box}.editor-drawer::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--line-ink) 58%,transparent);background-clip:padding-box}.editor-drawer h3{margin:0}.editor-drawer input,.editor-drawer textarea{padding:13px 14px}.editor-drawer textarea{min-height:230px;resize:vertical}.rich-toolbar button{min-width:34px;min-height:30px;border-radius:999px;background:transparent;color:var(--ink-muted);font-size:12px;font-weight:750}.rich-toolbar button:hover{background:var(--ink-button);color:var(--on-ink-button)}.rich-answer-field{overflow:hidden;border:1px solid color-mix(in srgb,var(--line-ink) 8%,transparent);border-radius:16px;background:color-mix(in srgb,var(--surface) 90%,transparent)}.rich-toolbar{display:flex;gap:7px;align-items:center;padding:8px 10px;border-bottom:1px solid color-mix(in srgb,var(--line-ink) 6%,transparent);background:color-mix(in srgb,var(--surface-wash) 92%,transparent)}.rich-toolbar button:nth-child(4){background:#ffd60a6b;color:var(--ink-mid)}.rich-toolbar button:nth-child(4):hover{background:var(--ink-button);color:var(--on-ink-button)}.rich-answer-editor{min-height:330px;max-height:520px;overflow:auto;padding:15px 16px;color:var(--ink-strong);font-size:15px;line-height:1.72;white-space:pre-wrap;overflow-wrap:anywhere;outline:none}.floating-practice.mode-edit.body-text-large .answer-preview{font-size:18px}.floating-practice.mode-edit.body-text-xlarge .answer-preview{font-size:21px}.floating-practice.mode-practice.practice-text-large .practice-answer-editor{font-size:18px}.floating-practice.mode-practice.practice-text-xlarge .practice-answer-editor{font-size:21px}.floating-practice.mode-practice.body-text-large .practice-cloze-answer{font-size:18px}.floating-practice.mode-practice.body-text-xlarge .practice-cloze-answer{font-size:21px}.rich-answer-editor:empty:before{content:attr(data-placeholder);color:var(--ink-ghost)}.rich-answer-editor mark{padding:1px 3px;border-radius:5px;background:#ffd60a61}.grading-picker{display:flex;flex-wrap:wrap;gap:7px}.grading-picker button{min-height:30px;padding:6px 10px;border-radius:999px;background:var(--surface-sunken-2);color:var(--ink-muted);font-size:12px}.grading-picker button.active{background:var(--ink-button);color:var(--on-ink-button)}.grading-picker button{min-width:62px}.node-properties{display:grid;gap:8px;margin:0}.node-properties div{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 14px;border-radius:14px;background:var(--surface-wash)}.node-properties dt,.node-properties dd{margin:0;font-size:13px}.node-properties dt{color:var(--ink-ghost)}.node-properties dd{color:var(--ink-secondary);font-weight:650}.property-section{display:grid;gap:8px;padding:12px;border-radius:14px;background:var(--surface-wash)}.property-section span{color:var(--ink-ghost);font-size:12px}.property-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.property-section-head button{padding:5px 9px;border-radius:999px;background:var(--surface);color:var(--ink-secondary);font-size:12px;font-weight:650}.property-section-head button:hover{background:var(--ink-button);color:var(--on-ink-button)}.property-section p,.property-section ul{margin:0}.property-section ul{display:grid;gap:8px;padding-left:18px}.property-section li{color:var(--ink-secondary);font-size:13px;line-height:1.55}.property-section b{display:block;margin-bottom:2px;color:var(--ink-body);font-size:13px}.jump-link-properties ul{gap:6px;padding:0;list-style:none}.jump-link-properties li{display:flex;align-items:center;gap:6px;padding:4px;border-radius:10px;background:color-mix(in srgb,var(--surface) 78%,transparent)}.jump-link-properties .jump-link-name{min-width:0;flex:1;overflow:hidden;padding:7px 8px;border-radius:8px;background:transparent;color:var(--ink-body);text-align:left;text-overflow:ellipsis;white-space:nowrap}.jump-link-properties .jump-link-name:hover{background:var(--surface-wash)}.jump-link-properties .jump-link-remove{width:28px;height:28px;flex:0 0 28px;padding:0;border-radius:50%;background:transparent;color:var(--ink-ghost);font-size:18px;line-height:1}.jump-link-properties .jump-link-remove:hover{background:color-mix(in srgb,#ef4444 12%,transparent);color:#c42d38}.font-size-control{display:grid;grid-template-columns:minmax(0,1fr) 72px;align-items:center;gap:10px}.font-size-control input[type=range]{height:32px;padding:0}.font-size-control input[type=number]{height:34px;padding:0 10px;border-radius:999px;text-align:center}.review-log-list{padding-left:0!important;list-style:none}.review-log-list li{position:relative;display:grid;gap:5px;padding:10px;border-radius:12px;background:color-mix(in srgb,var(--surface) 72%,transparent)}.review-log-list .review-log-answer-view-count{position:absolute;top:10px;right:10px;color:var(--ink-ghost);font-size:11px;font-style:normal}.review-log-list li>b{padding-right:64px}.review-log-list p{color:var(--ink-soft);font-size:12px}.review-log-list em{display:-webkit-box;margin:0;overflow:hidden;color:var(--ink-secondary);font-size:12px;font-style:normal;line-height:1.55;-webkit-line-clamp:2;-webkit-box-orient:vertical}.review-log-window{right:auto;width:min(520px,calc(100vw - 32px));height:min(680px,calc(100vh - 32px));max-height:calc(100vh - 24px);grid-template-rows:auto auto minmax(0,1fr);padding:0 20px 20px;overflow:hidden}.review-log-window .review-log-stats{margin:0}.review-log-window-bar{position:relative;min-height:62px;display:flex;align-items:center;padding:16px 38px 12px 2px;border-bottom:1px solid color-mix(in srgb,var(--line-ink) 7%,transparent);cursor:grab;-webkit-user-select:none;user-select:none}.review-log-window-bar:active{cursor:grabbing}.review-log-window-bar h3{margin:0;line-height:1.35}.review-log-close{position:absolute;top:16px;right:0;width:17px;height:17px;padding:0;border:1px solid rgba(180,35,28,.2);border-radius:50%;background:#ff5f57;box-shadow:inset 0 0 0 .5px color-mix(in srgb,var(--surface) 32%,transparent)}.review-log-close span:before,.review-log-close span:after{content:"";position:absolute;top:7px;left:4px;width:7px;height:1.5px;border-radius:999px;background:#691612ad}.review-log-close span:before{transform:rotate(45deg)}.review-log-close span:after{transform:rotate(-45deg)}.review-log-window .review-log-list.full{min-height:0;margin:0;overflow-y:auto;overscroll-behavior:contain}.review-log-list.full em{display:block;-webkit-line-clamp:unset}.review-log-list.full li{padding:13px}.node-delete-backdrop{position:fixed;z-index:2147483600;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:color-mix(in srgb,var(--shadow-base) 38%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:node-delete-backdrop-in .14s ease-out both}.node-delete-dialog{width:min(420px,100%);padding:24px;border:1px solid color-mix(in srgb,var(--line-ink) 18%,transparent);border-radius:20px;background:var(--surface);color:var(--ink-panel);box-shadow:0 24px 70px color-mix(in srgb,var(--shadow-base) 28%,transparent);animation:node-delete-dialog-in .16s cubic-bezier(.2,.82,.25,1) both}.node-delete-dialog h2{margin:0;color:var(--ink-strong);font-size:19px}.node-delete-dialog p{margin:10px 0 22px;color:var(--ink-muted);line-height:1.55}.node-delete-actions{display:flex;justify-content:flex-end;gap:10px}.node-delete-actions button{min-height:40px;padding:0 16px;border:1px solid color-mix(in srgb,var(--line-ink) 18%,transparent);border-radius:12px;background:color-mix(in srgb,var(--surface) 86%,var(--line-ink));color:var(--ink-strong);font:inherit;font-weight:700}.node-delete-actions button.is-destructive{border-color:transparent;background:#d93636;color:#fff}.node-delete-actions button:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:2px}.node-delete-backdrop.is-closing{animation:node-delete-backdrop-out .14s ease-in both}.node-delete-backdrop.is-closing .node-delete-dialog{animation:node-delete-dialog-out .14s ease-in both}@keyframes node-delete-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes node-delete-backdrop-out{to{opacity:0}}@keyframes node-delete-dialog-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes node-delete-dialog-out{to{opacity:0;transform:scale(.98)}}@media(max-width:480px){.node-delete-dialog{padding:21px}}@media(prefers-reduced-motion:reduce){.node-delete-backdrop,.node-delete-backdrop.is-closing,.node-delete-dialog,.node-delete-backdrop.is-closing .node-delete-dialog{animation-duration:1ms}}@media(max-width:900px){.map-workspace{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}.node-practice{max-height:320px}}.cloud-conflict-panel{font-size:13px}.cloud-conflict-panel section{margin-block:12px}.cloud-conflict-panel fieldset{border:1px solid var(--line);border-radius:12px;margin-block:8px}.cloud-conflict-panel label{display:block}.cloud-conflict-panel pre{max-height:140px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0}.editor-drawer.annotation-note-editor{position:fixed;box-sizing:border-box;width:max-content;max-height:none;display:block;padding:0;border-radius:24px;background:transparent;isolation:isolate;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 16px 44px color-mix(in srgb,var(--shadow-base) 15%,transparent),inset 0 1px color-mix(in srgb,var(--surface) 78%,transparent);overflow:visible}.editor-drawer.annotation-note-editor:before{top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:inherit;background:color-mix(in srgb,var(--surface) 34%,transparent);-webkit-backdrop-filter:blur(20px) saturate(1.15);backdrop-filter:blur(20px) saturate(1.15)}.editor-drawer.annotation-note-editor:focus{outline:none}.annotation-note-editor .annotation-note-editor-body{box-sizing:border-box;min-width:min(320px,calc(100vw - 24px));min-height:min(230px,calc(100dvh - 96px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 96px);padding:14px;overflow:auto}.annotation-note-editor .inline-node-editor-save{right:48px}.annotation-note-editor .annotation-note-dragbar{position:absolute;top:0;left:24px;right:40px;height:14px;z-index:10;cursor:grab;touch-action:none}.annotation-note-editor .annotation-note-dragbar:active{cursor:grabbing}.annotation-note-editor.editor-tools-below .inline-node-editor-save{top:calc(100% + 12px);--editor-tool-axis: -1}.editor-drawer.annotation-note-editor>.window-minimize{position:absolute;top:-9px;right:-5px;left:auto;width:28px;height:28px;transform:rotate(8deg)}.editor-drawer.annotation-note-editor .annotation-note-action,.editor-drawer.annotation-note-editor .annotation-note-action :is(.editor-liquid-face path,.editor-tool-content,.editor-liquid-glass){animation:none!important}.editor-drawer.annotation-note-editor .inline-node-editor .annotation-note-action{z-index:9;clip-path:none}.annotation-note-action-stroke{d:path("M5.3 13.5 C7 15.2 8.8 17 10.5 18.7 C14 15.2 17.5 11.7 21 8.2");transition:d .28s cubic-bezier(.2,.8,.2,1)}.annotation-note-action-pencil{opacity:1;transition:opacity .16s ease}.annotation-note-action[data-editing=true] .annotation-note-action-stroke{d:path("M5 12 C6.3 13.3 7.7 14.7 9 16 C12.3 12.7 15.7 9.3 19 6")}.annotation-note-action[data-editing=true] .annotation-note-action-pencil{opacity:0}@media(prefers-reduced-motion:reduce){.annotation-note-action :is(.annotation-note-action-stroke,.annotation-note-action-pencil){transition:none}}.annotation-note-editor .rich-answer-editor{background:color-mix(in srgb,var(--surface) 68%,transparent)}.annotation-note-editor .annotation-note-preview{white-space:pre-wrap}.annotation-note-editor.editor-tools-closing{pointer-events:none}.study-focus-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2147483390;background:radial-gradient(ellipse at 16% 0%,rgb(255 255 255 / 4%),transparent 56%),color-mix(in srgb,var(--shadow-base) 3%,transparent);-webkit-backdrop-filter:blur(4px) saturate(1.08);backdrop-filter:blur(4px) saturate(1.08);animation:study-focus-backdrop-in .26s ease-out both}.map-page .floating-practice[data-study-focus=true]{z-index:2147483400}.study-focus-backdrop.is-closing{pointer-events:none;animation:study-focus-backdrop-out .42s cubic-bezier(.22,.61,.36,1) both}@keyframes study-focus-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes study-focus-backdrop-out{0%{opacity:1;-webkit-backdrop-filter:blur(4px) saturate(1.08);backdrop-filter:blur(4px) saturate(1.08)}to{opacity:0;-webkit-backdrop-filter:blur(0px) saturate(1);backdrop-filter:blur(0px) saturate(1)}}@media(prefers-reduced-motion:reduce){.study-focus-backdrop{animation:none!important}}.node-practice,.editor-drawer{color:var(--paper-ink);border:1px solid color-mix(in srgb,var(--line-ink) 17%,transparent);border-radius:20px 23px 19px 22px;background-color:var(--paper-fill);background-image:linear-gradient(96deg,rgba(30,41,55,.012),transparent 34%,rgba(30,41,55,.008) 74%,transparent),repeating-linear-gradient(0deg,rgba(66,77,91,.012) 0,rgba(66,77,91,.012) 1px,transparent 1px,transparent 5px);box-shadow:2px 3px color-mix(in srgb,var(--shadow-base) 5.5%,transparent),0 18px 48px var(--paper-shadow),inset 0 0 0 1px color-mix(in srgb,var(--surface) 86%,transparent);-webkit-backdrop-filter:none;backdrop-filter:none}.editor-drawer.property-drawer,.editor-drawer.review-log-window{position:fixed;width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 24px);box-sizing:border-box;display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid color-mix(in srgb,var(--line-ink) 12%,transparent);border-radius:22px;background:color-mix(in srgb,var(--surface) 34%,transparent);-webkit-backdrop-filter:blur(20px) saturate(1.15);backdrop-filter:blur(20px) saturate(1.15);box-shadow:0 16px 44px color-mix(in srgb,var(--shadow-base) 15%,transparent),inset 0 1px color-mix(in srgb,var(--surface) 78%,transparent);overflow-x:hidden}.editor-drawer:is(.property-drawer,.review-log-window):before,.editor-drawer.property-drawer>.property-window-bar:after{content:none}.editor-drawer.property-drawer>.property-window-bar{position:relative;flex:0 0 auto;min-height:42px;margin:0;padding:0 44px 12px 0;border-bottom:1px solid color-mix(in srgb,var(--line-ink) 10%,transparent);background:transparent;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.property-window-bar:active{cursor:grabbing}.property-window-bar>div{min-width:0}.editor-drawer.property-drawer h3{margin:0 0 3px;font-size:18px}.property-node-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-soft);font-size:12px}.editor-drawer:is(.property-drawer,.review-log-window) .window-minimize{position:absolute;top:2px;right:0}.property-drawer .node-properties{gap:0;padding:4px 12px;border-radius:14px;background:var(--surface-wash)}.property-drawer .node-properties>div{padding:9px 0;border:0;border-radius:0;background:transparent;box-shadow:none}.property-drawer .node-properties>div+div{border-top:1px solid color-mix(in srgb,var(--line-ink) 7%,transparent)}.property-drawer .node-properties dd{text-align:right}.property-review-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px}.editor-drawer .property-review-date{height:auto;padding:0;border:0;border-radius:6px;background:transparent;color:inherit;font:inherit;box-shadow:none}.property-review-date:focus-visible{outline:2px solid var(--ink-soft);outline-offset:3px}.review-date-calendar{position:fixed;inset:auto;margin:0;width:280px;max-width:calc(100vw - 24px);box-sizing:border-box;padding:8px;border:1px solid color-mix(in srgb,var(--surface) 52%,transparent);border-radius:20px;background:color-mix(in srgb,var(--surface) 34%,transparent);color:var(--ink-panel);-webkit-backdrop-filter:blur(20px) saturate(1.3);backdrop-filter:blur(20px) saturate(1.3);box-shadow:0 12px 36px color-mix(in srgb,var(--shadow-base) 18%,transparent)}.review-date-calendar::backdrop{background:transparent}.review-date-calendar-body{padding:10px;border-radius:13px;background:color-mix(in srgb,var(--surface) 68%,transparent)}.review-date-calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.review-date-calendar-head strong{font:600 14px -apple-system,BlinkMacSystemFont,sans-serif}.review-date-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.review-date-calendar-grid span{display:grid;place-items:center;height:28px;font-size:12px;color:var(--ink-soft)}.review-date-calendar button{display:grid;place-items:center;min-width:0;height:30px;padding:0;border:0;border-radius:8px;background:transparent;color:inherit;font:13px -apple-system,BlinkMacSystemFont,sans-serif}.review-date-calendar button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.review-date-calendar-head button{width:30px}.review-date-calendar button:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 12%,transparent)}.review-date-calendar button[aria-pressed=true]{background:var(--accent);color:#fff}.review-date-calendar button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.review-date-calendar button:disabled{opacity:.3;cursor:default}.property-drawer .property-section{flex:0 0 auto;gap:9px;padding:12px;border:0;border-radius:14px;background:var(--surface-wash);box-shadow:none}.property-drawer .property-section>p{color:var(--ink-soft);font-size:13px}.property-drawer .edge-style-options{gap:3px;padding:3px;background:color-mix(in srgb,var(--line-ink) 5%,transparent)}.property-drawer .edge-style-options button{height:30px;font-weight:500}.property-drawer .edge-style-options button.active{background:var(--surface);color:var(--ink-strong);box-shadow:0 1px 4px color-mix(in srgb,var(--shadow-base) 10%,transparent)}.editor-drawer.property-drawer .structure-card-property .structure-card-toggle input:focus-visible{outline:2px solid var(--ink-soft);outline-offset:3px}.property-drawer button:focus-visible{outline:2px solid var(--ink-soft);outline-offset:3px}.node-practice{background-clip:padding-box;-webkit-background-clip:padding-box;isolation:isolate}.floating-practice{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;will-change:transform}.node-practice.floating-practice:before{content:"";position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;border:0;border-radius:inherit;background:color-mix(in srgb,var(--surface) 34%,transparent);-webkit-backdrop-filter:blur(20px) saturate(1.3);backdrop-filter:blur(20px) saturate(1.3);pointer-events:none}.floating-practice .practice-window-bar:after{content:none}.floating-practice .practice-window-bar{background:transparent;overflow:hidden;border-radius:19px 22px 0 0;-webkit-mask-image:-webkit-radial-gradient(white,black)}.node-practice:before,.editor-drawer:before{content:"";position:absolute;z-index:0;top:4px;right:5px;bottom:5px;left:4px;border:1px solid color-mix(in srgb,var(--line-ink) 7.5%,transparent);border-radius:17px 20px 16px 19px;pointer-events:none}.practice-window-bar,.editor-drawer>.section-row{min-height:54px;border-bottom:0;background:color-mix(in srgb,var(--surface) 48%,transparent)}.practice-window-bar:after,.editor-drawer>.section-row:after{content:"";position:absolute;right:18px;bottom:0;left:18px;height:2px;border-radius:60% 40% 55% 45%;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--line-ink) 17%,transparent) 5%,color-mix(in srgb,var(--line-ink) 11%,transparent) 84%,transparent),linear-gradient(90deg,transparent 8%,color-mix(in srgb,var(--line-ink) 6%,transparent) 28%,transparent 82%);transform:rotate(-.12deg);pointer-events:none}.practice-window-bar h3,.editor-drawer h3{color:var(--ink-strong);font-family:var(--card-title-font, "PingFang SC", "Microsoft YaHei", sans-serif);font-weight:var(--card-title-weight, 400);letter-spacing:0}.practice-window-bar h3{font-size:clamp(19px,2vw,23px);transform:translate(2px,2px)}.window-minimize,.editor-drawer .tiny-button{border:1px solid color-mix(in srgb,var(--line-ink) 16%,transparent);background:color-mix(in srgb,var(--surface-wash) 95%,transparent);box-shadow:1px 2px color-mix(in srgb,var(--shadow-base) 8%,transparent)}.window-minimize{width:29px;height:29px;border-radius:48% 52% 46% 54%}.window-minimize:before{left:9px;right:9px;height:2px;background:#4f5967;transform:translateY(-50%) rotate(-1.5deg)}.practice-window-body{gap:clamp(10px,2vw,16px);padding:clamp(10px,1.8vw,16px) clamp(14px,2.5vw,22px) clamp(16px,2.8vw,24px)}.practice-window-bar{min-height:48px;padding:8px 15px 6px 18px}.practice-answer-input,.floating-practice textarea,.editor-drawer input,.editor-drawer textarea,.rich-answer-field{border:1px solid color-mix(in srgb,var(--line-ink) 16%,transparent);border-radius:12px 14px 11px 13px;background:color-mix(in srgb,var(--surface) 64%,transparent);box-shadow:inset 0 1px color-mix(in srgb,var(--surface) 90%,transparent),1px 1px color-mix(in srgb,var(--shadow-base) 3.5%,transparent)}.practice-answer-input:focus,.floating-practice textarea:focus,.editor-drawer input:focus,.editor-drawer textarea:focus,.rich-answer-field:focus-within{border-color:#305c8e7a;box-shadow:0 0 0 3px #5c97d31a,inset 0 1px color-mix(in srgb,var(--surface) 90%,transparent)}.answer-preview,.soft-note,.answer-block,.result-pills,.property-section,.node-properties div,.review-log-list li{border:1px solid color-mix(in srgb,var(--line-ink) 7.5%,transparent);border-radius:12px 14px 11px 13px;background:color-mix(in srgb,var(--surface-wash) 72%,transparent);box-shadow:1px 1px color-mix(in srgb,var(--shadow-base) 2.5%,transparent)}.answer-preview{min-height:100%;padding:clamp(16px,2.7vw,24px);color:var(--ink-secondary);font-size:15px;line-height:1.78}.floating-action-dock,.floating-practice-dock,.practice-page-dock,.practice-reset-dock{border:1px solid color-mix(in srgb,var(--line-ink) 16%,transparent);background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:2px 3px color-mix(in srgb,var(--shadow-base) 7%,transparent),0 12px 28px color-mix(in srgb,var(--shadow-base) 13%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.floating-action-dock,.floating-practice-dock,.practice-page-dock{border-radius:22px 25px 21px 24px}.floating-action-dock .primary-button,.floating-action-dock .ghost-button,.floating-practice-dock .primary-button,.floating-practice-dock .ghost-button,.practice-page-dock button,.rich-toolbar button,.grading-picker button{border:1px solid transparent;transition:transform .15s ease,background .15s ease,color .15s ease,border-color .15s ease}.floating-action-dock button:hover,.floating-practice-dock button:hover,.practice-page-dock button:hover:not(:disabled),.rich-toolbar button:hover,.grading-picker button:hover{transform:translateY(-1px) rotate(-.35deg)}.floating-action-dock button:active,.floating-practice-dock button:active,.practice-page-dock button:active:not(:disabled),.rich-toolbar button:active,.grading-picker button:active{transform:translateY(1px) scale(.98)}.practice-page-dock{border-radius:999px;border-color:color-mix(in srgb,var(--line-ink) 10%,transparent);box-shadow:inset 0 1px color-mix(in srgb,var(--surface) 80%,transparent),0 3px 10px color-mix(in srgb,var(--shadow-base) 7%,transparent)}.floating-practice>.floating-practice-dock{bottom:-50px;min-height:40px}.practice-page-dock:before{content:"";position:absolute;left:50%;top:50%;width:1px;height:12px;transform:translate(-50%,-50%);background:color-mix(in srgb,var(--line-ink) 10%,transparent);pointer-events:none}.practice-page-dock button:hover:not(:disabled){transform:none;background:color-mix(in srgb,var(--accent) 13%,var(--surface));color:var(--accent)}.practice-page-dock button:first-child:hover:not(:disabled) svg{transform:translate(-1px)}.practice-page-dock button:last-child:hover:not(:disabled) svg{transform:translate(1px)}.practice-page-dock button:active:not(:disabled){transform:scale(.94)}@media(prefers-reduced-motion:reduce){.practice-page-dock button,.practice-page-dock svg{transition:none}}.practice-resize{position:absolute;right:6px;bottom:6px;z-index:5;opacity:.62;background:linear-gradient(136deg,transparent 0 56%,color-mix(in srgb,var(--line-ink) 38%,transparent) 57% 60%,transparent 61%),linear-gradient(136deg,transparent 0 72%,color-mix(in srgb,var(--line-ink) 31%,transparent) 73% 76%,transparent 77%)}.editor-drawer{width:min(480px,calc(100vw - 28px));max-height:calc(100vh - 32px);gap:clamp(11px,1.8vw,16px);padding:clamp(16px,2.3vw,22px);scrollbar-color:color-mix(in srgb,var(--line-ink) 36%,transparent) transparent}.editor-drawer>.section-row{margin:calc(clamp(16px,2.3vw,22px)*-1) calc(clamp(16px,2.3vw,22px)*-1) 2px;padding:16px clamp(16px,2.3vw,22px) 13px}.editor-drawer .tiny-button{min-width:48px;min-height:30px;border-radius:45% 55% 48% 52%/52% 46% 54% 48%;color:var(--ink-mid)}.rich-toolbar{border:1px solid color-mix(in srgb,var(--line-ink) 10%,transparent);background:color-mix(in srgb,var(--surface-wash) 78%,transparent)}.rich-answer-field{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:clamp(260px,46vh,520px)}.rich-toolbar{border-width:0 0 1px;border-radius:11px 13px 0 0}.floating-practice :is(.rich-answer-editor,.answer-preview,.practice-answer-input,.practice-cloze-input,.answer-review,.cloze-review,.answer-block,.ai-feedback){font-family:PingFang SC,Microsoft YaHei,sans-serif}.rich-answer-editor{min-height:clamp(210px,38vh,440px);max-height:min(54vh,560px);padding:clamp(14px,2.2vw,19px);font-family:Microsoft YaHei,PingFang SC,sans-serif;font-size:15px;line-height:1.78}.rich-answer-editor .rich-manual-cloze-mark{border-radius:3px;background:color-mix(in srgb,var(--accent) 16%,transparent);box-shadow:inset 0 -1px color-mix(in srgb,var(--accent) 52%,transparent)}.rich-answer-editor .rich-manual-cloze-mark+.rich-manual-cloze-mark{box-shadow:inset 1px 0 color-mix(in srgb,var(--accent) 52%,transparent),inset 0 -1px color-mix(in srgb,var(--accent) 52%,transparent)}.property-section,.node-properties div{background:color-mix(in srgb,var(--surface-wash) 76%,transparent)}.review-log-window{width:min(560px,calc(100vw - 28px));height:min(680px,calc(100vh - 32px));overflow:hidden}.review-log-window .review-log-list.full{min-height:0;overflow:auto;padding-right:4px}@media(max-width:640px){.context-menu{right:12px!important;bottom:12px!important;left:12px!important;top:auto!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:10px;border-radius:16px 18px 15px 17px}.context-menu button{min-height:46px;text-align:center}.node-practice,.editor-drawer{border-radius:17px 19px 16px 18px}.practice-window-bar{min-height:50px;padding:9px 12px 8px 14px}.practice-window-bar:after,.editor-drawer>.section-row:after{right:14px;left:14px}.practice-window-bar h3{font-size:19px}.practice-window-body{padding:12px 14px 18px}.floating-practice-dock{left:8px;max-width:calc(100% - 112px)}.practice-page-dock{right:8px}.floating-action-dock .primary-button,.floating-action-dock .ghost-button,.floating-practice-dock .primary-button,.floating-practice-dock .ghost-button{min-width:54px;padding:9px 12px}.editor-drawer,.review-log-window{top:14px;right:14px;width:calc(100vw - 28px);max-height:calc(100vh - 28px)}}.editor-drawer.review-log-window{z-index:2147483500;width:min(560px,calc(100vw - 24px));height:auto;max-height:min(760px,calc(100dvh - 24px));overflow:hidden}.editor-drawer.review-log-window .review-log-window-bar{flex:0 0 auto;min-height:42px;padding:0 44px 12px 0;touch-action:none}.editor-drawer.review-log-window .review-log-window-bar h3{font-size:18px;overflow-wrap:anywhere}.editor-drawer.review-log-window .review-log-stats{flex:0 0 auto;align-self:flex-start;padding:6px 10px;font-size:12px;background:var(--surface-wash)}.editor-drawer.review-log-window .review-log-stats b{font-size:18px}.editor-drawer.review-log-window .review-log-list.full{display:grid;gap:10px}.editor-drawer.review-log-window .review-log-list.full li{padding:14px;border:0;border-radius:14px;background:color-mix(in srgb,var(--surface) 68%,transparent);box-shadow:none}.editor-drawer.review-log-window .review-log-list.full li>b{font-size:13px;color:var(--ink-strong)}.editor-drawer.review-log-window .review-log-list.full em{margin-top:8px;font-size:14px;line-height:1.75;overflow-wrap:anywhere}.editor-drawer.review-log-window button:focus-visible{outline:2px solid var(--ink-soft);outline-offset:3px}.editor-drawer.review-log-window .tiny-button{border:1px solid color-mix(in srgb,var(--line-ink) 20%,transparent);background:color-mix(in srgb,var(--surface-wash) 94%,transparent);color:transparent;box-shadow:1px 2px color-mix(in srgb,var(--shadow-base) 8%,transparent),inset 0 1px color-mix(in srgb,var(--surface) 72%,transparent);transform:rotate(-1.5deg) scale(1)}.editor-drawer.review-log-window .tiny-button:hover{border-color:#781819e0;background:#e45557;color:transparent;box-shadow:1px 2px #741e1f2e,0 5px 12px #962a2b33,inset 0 1px color-mix(in srgb,var(--surface) 22%,transparent);transform:rotate(.5deg) scale(1.09)}.editor-drawer.review-log-window .tiny-button:active{background:#d84a4c;transform:rotate(-.5deg) scale(.96)}.editor-drawer>.section-row{position:relative;padding-right:58px}.editor-drawer .tiny-button{position:absolute;z-index:5;top:14px;right:17px;width:24px;min-width:24px;height:24px;min-height:24px;padding:0;border:1.5px solid rgba(137,30,32,.76);border-radius:48% 52% 46% 54%/52% 45% 55% 48%;background:#e45557;color:transparent;font-size:0;box-shadow:1px 2px #741e1f29,inset 0 1px color-mix(in srgb,var(--surface) 22%,transparent);transform:rotate(-1.5deg) scale(1)}.editor-drawer .tiny-button:before,.editor-drawer .tiny-button:after{content:"";position:absolute;top:50%;left:50%;width:11px;height:2px;border-radius:999px;background:var(--ink-soft);transform-origin:center}.editor-drawer .tiny-button:before{transform:translate(-50%,-50%) rotate(43deg)}.editor-drawer .tiny-button:after{width:10px;transform:translate(-50%,-50%) rotate(-48deg)}.editor-drawer .tiny-button:hover{border-color:color-mix(in srgb,#d84a4c 42%,transparent);background:color-mix(in srgb,#d84a4c 10%,var(--surface));color:transparent;box-shadow:1px 2px color-mix(in srgb,var(--shadow-base) 8%,transparent),0 5px 12px color-mix(in srgb,#d84a4c 12%,transparent),inset 0 1px color-mix(in srgb,var(--surface) 72%,transparent);transform:rotate(.5deg) scale(1.09)}.editor-drawer .tiny-button:active{background:color-mix(in srgb,#d84a4c 16%,var(--surface));transform:rotate(-.5deg) scale(.96)}.review-log-close{top:15px;width:24px;height:24px;border:1.5px solid rgba(137,30,32,.76);border-radius:48% 52% 46% 54%/52% 45% 55% 48%;background:#e45557;box-shadow:1px 2px #741e1f29,inset 0 1px color-mix(in srgb,var(--surface) 22%,transparent);transform:rotate(-1.5deg) scale(1);transition:transform .15s ease,box-shadow .15s ease}.review-log-close span:before,.review-log-close span:after{top:10px;left:5px;width:11px;height:2px;background:#fffffff5}.review-log-close span:before{transform:rotate(43deg)}.review-log-close span:after{width:10px;transform:rotate(-48deg)}.review-log-close:hover{box-shadow:1px 2px #741e1f2e,0 5px 12px #962a2b33,inset 0 1px color-mix(in srgb,var(--surface) 22%,transparent);transform:rotate(.5deg) scale(1.09)}.review-log-close:active{background:#d84a4c;transform:rotate(-.5deg) scale(.96)}.window-minimize,.canvas-stage-progress .canvas-stage-pending-close{box-sizing:border-box;flex:0 0 28px;width:28px;min-width:28px;max-width:28px;height:28px;min-height:28px;max-height:28px;padding:0;aspect-ratio:1;border:1px solid color-mix(in srgb,var(--line-ink) 20%,transparent);border-radius:48% 52% 46% 54%/52% 45% 55% 48%;background:color-mix(in srgb,var(--surface-wash) 94%,transparent);box-shadow:1px 1.5px color-mix(in srgb,var(--shadow-base) 8%,transparent),inset 0 1px color-mix(in srgb,var(--surface) 72%,transparent);transform:rotate(-1deg) scale(1);transition:transform .15s ease,box-shadow .15s ease}.window-minimize:before,.window-minimize:after{content:"";position:absolute;top:50%;left:50%;width:11px;height:1.8px;border-radius:999px;background:var(--ink-soft);transform-origin:center}.window-minimize:before{right:auto;transform:translate(-50%,-50%) rotate(43deg)}.window-minimize:after{width:10px;transform:translate(-50%,-50%) rotate(-48deg)}.window-minimize:hover{border-color:color-mix(in srgb,#d84a4c 42%,transparent);background:color-mix(in srgb,#d84a4c 10%,var(--surface));box-shadow:1px 1.5px color-mix(in srgb,var(--shadow-base) 8%,transparent),0 4px 10px color-mix(in srgb,#d84a4c 12%,transparent),inset 0 1px color-mix(in srgb,var(--surface) 72%,transparent);transform:rotate(.5deg) scale(1.1)}.window-minimize:hover:before,.window-minimize:hover:after{background:#c43f42}.window-minimize:active{background:color-mix(in srgb,#d84a4c 16%,var(--surface));transform:rotate(-.5deg) scale(.95)}.settings-dialog-close.window-minimize{flex-basis:40px;width:40px;min-width:40px;max-width:40px;height:40px;min-height:40px;max-height:40px}.settings-dialog-close.window-minimize:before{width:15px;height:2.2px}.settings-dialog-close.window-minimize:after{width:14px;height:2.2px}.answer-review .review-text{white-space:pre-wrap;overflow-wrap:anywhere}.answer-review .diff-missing .rich-highlight,.answer-review .diff-extra .rich-highlight{padding:0;background:transparent;color:inherit}.answer-review .diff-review{display:inline;margin:0 2px 0 0;padding:2px 4px;border:0;border-radius:6px;background:#22b8c91f;color:inherit;font:inherit;line-height:inherit;box-decoration-break:clone;-webkit-box-decoration-break:clone}.answer-review [role=button].diff-review{cursor:pointer}.answer-review [role=button].diff-review:focus-visible{outline:2px solid #22b8c9;outline-offset:2px}.answer-review .diff-review.is-rejected{background:#ff453a21;color:#a8262b}.answer-review .diff-review .rich-highlight{padding:0;background:transparent;color:inherit}.answer-review .diff-toggle{display:inline;margin:0;padding:0;border:0;border-radius:6px;background:transparent;color:inherit;font:inherit;line-height:inherit;text-align:inherit;box-decoration-break:clone;-webkit-box-decoration-break:clone}.answer-review [role=button].diff-toggle{cursor:pointer}.answer-review [role=button].diff-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.answer-review .diff-toggle.diff-missing,.review-log-window .diff-missing{margin:0 2px 0 0;padding:2px 4px;background:#ff453a21;color:#a8262b}.review-log-window mark{border-radius:6px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.review-log-window .diff-extra{padding:2px 4px;background:#ffcc0042;color:#655012}[data-theme=dark] .review-log-window .diff-extra{background:#ffcc004d;color:#ffe08a}.answer-review .diff-toggle .rich-highlight{padding:0;background:transparent;color:inherit}.answer-review .diff-hint,.review-log-window .diff-hint{margin:0 2px 0 0;padding:2px 4px;border-radius:6px;background:#a78bfa38;color:inherit;box-decoration-break:clone;-webkit-box-decoration-break:clone}.answer-review .diff-hint .rich-highlight,.review-log-window .diff-hint .rich-highlight{padding:0;background:transparent;color:inherit}[data-theme=dark] .answer-review .diff-hint,[data-theme=dark] .review-log-window .diff-hint{background:#a78bfa4d}.answer-review .diff-hint.diff-missing,.answer-review .diff-hint.is-rejected,.review-log-window .diff-hint.diff-missing{background:#ff453a21;color:#a8262b;box-shadow:inset 0 -2px #a78bfaa6}.inline-node-editor .rich-toolbar{gap:2px;padding:7px 10px 8px;background:color-mix(in srgb,var(--surface-wash) 96%,transparent)}.inline-node-editor .rich-toolbar button{position:relative;display:grid;place-items:center;min-width:36px;min-height:32px;padding:4px 8px;border:0;border-radius:8px;background:transparent;color:var(--ink-secondary);box-shadow:none;font-family:Assistant,Microsoft YaHei,sans-serif;font-size:20px;font-weight:500;line-height:1;transition:transform .13s ease,background .13s ease,color .13s ease}.inline-node-editor .rich-toolbar .format-glyph{display:grid;width:18px;height:18px;place-items:center;color:inherit;pointer-events:none}.inline-node-editor .rich-toolbar .format-glyph svg{display:block;width:18px;height:18px}.inline-node-editor .rich-toolbar button.is-manual-cloze-active{color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent)}.inline-node-editor .rich-answer-field.is-manual-cloze-mode{border-color:color-mix(in srgb,var(--accent) 34%,transparent)}.inline-node-editor .rich-answer-field.is-manual-cloze-mode .rich-answer-editor{box-shadow:inset 0 2px 8px color-mix(in srgb,var(--accent) 9%,transparent);caret-color:var(--accent)}.inline-node-editor .rich-toolbar button:nth-child(4){background:transparent;color:var(--ink-secondary)}.inline-node-editor .rich-toolbar button:nth-child(4):after{content:none}.inline-node-editor .rich-toolbar button img{width:27px;height:27px;display:block;object-fit:contain;pointer-events:none}.inline-node-editor .rich-toolbar button:hover{background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--accent);transform:none}.inline-node-editor .rich-toolbar button:active{transform:scale(.94)}.inline-node-editor .title-size-slider{padding:7px 12px 5px;border:1px solid color-mix(in srgb,var(--surface) 68%,transparent);border-radius:16px;background:linear-gradient(155deg,color-mix(in srgb,var(--surface) 48%,transparent),color-mix(in srgb,var(--surface) 18%,transparent));-webkit-backdrop-filter:blur(5px) saturate(1.15) brightness(1.1);backdrop-filter:blur(5px) saturate(1.15) brightness(1.1);box-shadow:inset 0 1px #ffffff7a,inset 0 -1px color-mix(in srgb,var(--line-ink) 12%,transparent),0 3px 12px color-mix(in srgb,var(--shadow-base) 9%,transparent)}.inline-node-editor .title-size-slider-control{min-width:0}.inline-node-editor .title-size-slider-track{position:relative;min-width:0;height:28px}.inline-node-editor .title-size-slider input[type=range]{--size-track: linear-gradient(90deg, color-mix(in srgb, var(--ink-secondary) 64%, transparent) var(--title-size-progress), color-mix(in srgb, var(--line-ink) 14%, transparent) var(--title-size-progress));--size-thumb: linear-gradient(145deg, color-mix(in srgb, var(--surface) 94%, white), color-mix(in srgb, var(--surface) 72%, var(--ink-soft)));--size-thumb-shadow: inset 0 1px 1px rgb(255 255 255 / 75%), inset 0 -1px 1px color-mix(in srgb, var(--line-ink) 18%, transparent), 0 1px 4px color-mix(in srgb, var(--shadow-base) 22%, transparent);-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;width:100%;height:20px;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;cursor:ew-resize;background:transparent}.inline-node-editor .title-size-slider input[type=range]::-webkit-slider-runnable-track{height:3px;border-radius:999px;background:var(--size-track);box-shadow:inset 0 1px 1px color-mix(in srgb,var(--shadow-base) 8%,transparent)}.inline-node-editor .title-size-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box;width:14px;height:14px;margin-top:-5.5px;border:1px solid color-mix(in srgb,var(--surface) 82%,transparent);border-radius:50%;background:var(--size-thumb);box-shadow:var(--size-thumb-shadow);transition:transform .16s cubic-bezier(.2,.8,.25,1)}.inline-node-editor .title-size-slider input[type=range]:hover::-webkit-slider-thumb,.inline-node-editor .title-size-slider input[type=range]:active::-webkit-slider-thumb{transform:scale(1.12)}.inline-node-editor .title-size-slider input[type=range]::-moz-range-track{height:3px;border-radius:999px;background:var(--size-track);box-shadow:inset 0 1px 1px color-mix(in srgb,var(--shadow-base) 8%,transparent)}.inline-node-editor .title-size-slider input[type=range]::-moz-range-thumb{box-sizing:border-box;width:14px;height:14px;border:1px solid color-mix(in srgb,var(--surface) 82%,transparent);border-radius:50%;background:var(--size-thumb);box-shadow:var(--size-thumb-shadow);transition:transform .16s cubic-bezier(.2,.8,.25,1)}.inline-node-editor .title-size-slider input[type=range]:hover::-moz-range-thumb,.inline-node-editor .title-size-slider input[type=range]:active::-moz-range-thumb{transform:scale(1.12)}.inline-node-editor .title-size-slider input[type=range]:focus-visible{outline:none}.inline-node-editor .title-size-slider input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:var(--size-thumb-shadow),0 0 0 3px color-mix(in srgb,var(--accent) 24%,transparent)}.inline-node-editor .title-size-slider input[type=range]:focus-visible::-moz-range-thumb{box-shadow:var(--size-thumb-shadow),0 0 0 3px color-mix(in srgb,var(--accent) 24%,transparent)}.inline-node-editor .title-size-marks{position:absolute;top:21px;right:7px;left:7px;height:7px}.inline-node-editor .title-size-marks button{position:absolute;top:-3px;width:10px;height:12px;padding:0;border:0;border-radius:3px;background:transparent;box-shadow:none;cursor:pointer;transform:translate(-50%)}.inline-node-editor .title-size-marks button:before{content:"";position:absolute;top:4px;left:4px;width:2px;height:2px;border-radius:50%;background:color-mix(in srgb,var(--ink-secondary) 32%,transparent);transition:background .16s ease,transform .16s ease}.inline-node-editor .title-size-marks button:hover:before{background:var(--ink-secondary);transform:scale(1.4)}.inline-node-editor .title-size-marks button:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.inline-node-editor{height:100%;min-height:0}.floating-practice.editor-tools-closing .inline-node-editor{pointer-events:none;display:contents}.floating-practice.editor-tools-closing .inline-node-editor>.rich-answer-field{display:contents}.floating-practice.editor-tools-closing .rich-answer-editor{display:none}.floating-practice :is(.answer-cloze-toggle,.practice-cloze-hint){--eye-face: var(--surface);--eye-rim: color-mix(in srgb, var(--line-ink) 11%, transparent);--eye-axis: 0deg;border:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transition:visibility 0s,color .15s ease;isolation:isolate}.floating-practice.mode-edit .answer-cloze-toggle{z-index:-2}.floating-practice.mode-edit .practice-cloze-hint{z-index:-3}.floating-practice .practice-cloze-eye{visibility:visible}.floating-practice .practice-cloze-eye[hidden]{display:none}.floating-practice .cloze-eye-icon{overflow:visible}.floating-practice .cloze-eye-pupil{transform-box:view-box;transform-origin:12px 12px}.floating-practice .cloze-eye-slash{transform-box:view-box;transform-origin:4px 4px}.floating-practice .practice-cloze-eye.is-retracted{opacity:1;visibility:hidden;pointer-events:none;transition:visibility 0s linear .2944s}.floating-practice .practice-cloze-eye[aria-pressed=true]:disabled{opacity:1}.floating-practice .answer-cloze-toggle[aria-pressed=true]{--eye-face: color-mix(in srgb, var(--accent) 11%, var(--surface));--eye-rim: color-mix(in srgb, var(--accent) 34%, transparent);--editor-glass-depth-bottom: var(--accent);color:var(--accent)}.floating-practice :is(.answer-cloze-toggle,.practice-cloze-hint):hover:not(:disabled){--eye-rim: color-mix(in srgb, var(--accent) 28%, transparent);transform:none;box-shadow:none}.floating-practice :is(.cloze-liquid-face,.cloze-liquid-glass){position:absolute;top:-40%;left:-140%;width:260%;height:180%;overflow:visible;transform:rotate(var(--eye-axis));transform-origin:73.076923% 50%;pointer-events:none}.floating-practice .cloze-liquid-glass{z-index:0;background:radial-gradient(ellipse at 82% 0%,rgb(255 255 255 / 20%),transparent 62%),radial-gradient(ellipse at 38% 64%,rgb(38 49 59 / 6%),rgb(38 49 59 / 3%) 36%,transparent 72%),color-mix(in srgb,var(--eye-face) var(--editor-glass-fill-alpha, 10%),rgb(121 121 121 / 6%));-webkit-backdrop-filter:blur(var(--editor-glass-blur, 5px)) saturate(1.15) contrast(1.04) brightness(1.1);backdrop-filter:blur(var(--editor-glass-blur, 5px)) saturate(1.15) contrast(1.04) brightness(1.1)}.floating-practice .cloze-liquid-face{z-index:1;filter:drop-shadow(0 1px 2px color-mix(in srgb,var(--shadow-base) 12%,transparent)) drop-shadow(0 4px 9px color-mix(in srgb,var(--shadow-base) 5%,transparent))}.cloze-liquid-face path{fill:var(--eye-face);stroke:var(--eye-rim);stroke-width:1}.floating-practice :is(.answer-cloze-toggle,.practice-cloze-hint)>svg:not(.cloze-liquid-face){position:relative;z-index:2}.answer-cloze-toggle.is-emerging .cloze-liquid-face path,.floating-practice .practice-cloze-eye:not(.is-retracted) .cloze-liquid-face path{animation:eye-liquid-emerge 384ms linear both}.floating-practice .answer-cloze-toggle.is-emerging>svg:not(.cloze-liquid-face),.floating-practice .practice-cloze-eye:not(.is-retracted)>svg:not(.cloze-liquid-face){animation:eye-glyph-emerge 384ms ease both}.practice-cloze-hint:not(.is-retracted) .cloze-liquid-face path{animation:hint-liquid-emerge .52s linear both}.floating-practice .practice-cloze-hint:not(.is-retracted)>svg:not(.cloze-liquid-face){animation:hint-glyph-emerge .52s ease both}.floating-practice.mode-edit:after,.floating-practice.mode-practice:after{content:"";position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:inherit;pointer-events:none}.floating-practice :is(.answer-cloze-toggle,.practice-cloze-hint).is-retracted{z-index:-2;opacity:1;visibility:hidden;pointer-events:none;transition:visibility 0s linear .2944s}.floating-practice .practice-cloze-hint.is-retracted{z-index:-3}:is(.answer-cloze-toggle,.practice-cloze-hint).is-retracted .cloze-liquid-face path{animation:eye-liquid-absorb .2944s linear both}.floating-practice :is(.answer-cloze-toggle,.practice-cloze-hint).is-retracted>svg:not(.cloze-liquid-face){animation:eye-glyph-absorb .2944s ease both}.mobile-layout .floating-practice.mode-edit .answer-cloze-toggle{--eye-axis: -90deg}.floating-practice .practice-cloze-hint{--eye-axis: 90deg}.mobile-layout .floating-practice .practice-cloze-hint{--eye-axis: 180deg}.floating-practice.mode-practice .practice-cloze-eye.is-retracted,.floating-practice.mode-practice .practice-cloze-eye.is-retracted+.practice-cloze-hint.is-retracted{--eye-axis: 0deg}.floating-practice .practice-cloze-hint.is-panel-emerging:not(.is-retracted){--eye-axis: 0deg}.floating-practice .practice-cloze-hint.is-panel-emerging:not(.is-retracted) .cloze-liquid-face path{animation:eye-liquid-emerge 384ms linear both}.floating-practice .practice-cloze-hint.is-panel-emerging:not(.is-retracted)>svg:not(.cloze-liquid-face){animation:eye-glyph-emerge 384ms ease both}@keyframes eye-liquid-emerge{38%{d:var(--cloze-face-long)}54%{d:var(--cloze-face-short)}60%{d:var(--cloze-face-settle)}0%{animation-timing-function:cubic-bezier(.35,0,.65,.65);d:path("M32 36 C32 34 33 32 35 32 C36 32 37 32 38 32 C40 32 41 34 41 35 C41 36 41 37 41 38 C41 40 39 40 38 40 C37 40 36 40 35 40 C33 40 32 39 32 38 C32 37 32 37 32 36 Z")}26%{d:path("M32 36 C40 36 45 27 52 27 C57 27 58 25 61 25 C68 25 71 30 71 33 C71 35 71 37 71 39 C71 44 67 47 61 47 C58 47 57 45 52 45 C45 45 40 36 32 36 C32 36 32 36 32 36 Z")}66%{d:path("M64 36 C64 29 68 19 75 19 C78 19 81 19 84 19 C92 19 94 27 94 31 C94 34 94 38 94 41 C94 49 90 53 84 53 C81 53 78 53 75 53 C68 53 64 43 64 39 C64 38 64 37 64 36 Z")}84%{animation-timing-function:cubic-bezier(.35,.35,.65,1);d:path("M55 36 C55 25 57 16.5 66 16.5 C73 16.5 80 16.5 87 16.5 C97 16.5 97 22 97 27 C97 32 97 40 97 45 C97 55.5 93 55.5 87 55.5 C80 55.5 73 55.5 66 55.5 C57 55.5 55 49 55 45 C55 40 55 38 55 36 Z")}to{d:path("M56 26 C56 20.477 60.477 16 66 16 C72 16 80 16 86 16 C91.523 16 96 20.477 96 26 C96 32 96 40 96 46 C96 51.523 91.523 56 86 56 C80 56 72 56 66 56 C60.477 56 56 51.523 56 46 C56 40 56 32 56 26 Z")}}@keyframes eye-liquid-absorb{0%{d:path("M56 26 C56 20.477 60.477 16 66 16 C72 16 80 16 86 16 C91.523 16 96 20.477 96 26 C96 32 96 40 96 46 C96 51.523 91.523 56 86 56 C80 56 72 56 66 56 C60.477 56 56 51.523 56 46 C56 40 56 32 56 26 Z")}12%{d:path("M58 30 C58 24 63 20.5 70 21 C74 21 81 21 85 21 C92 21 95 26 95 32 C95 35 95 39 95 42 C95 48 90 53 83 53 C79 53 72 53 68 52.5 C61 52 58 47 58 41 C58 38 58 34 58 30 Z")}24%{d:path("M48 36 C52 36 56 33 61 31 C66 28 69 26 75 26 C86 26 94 31 94 37 C94 39 94 41 94 43 C94 49 86 54 75 54 C69 54 66 46 61 43 C56 40 52 36 48 36 C48 36 48 36 48 36 Z")}36%{d:path("M32 36 C36 36 40 33 44 32 C53 30 59 27 73 27 C85 27 94 32 94 38 C94 40 94 42 94 44 C94 50 85 55 73 55 C59 55 53 38 44 36 C40 35 36 36 32 36 C32 36 32 36 32 36 Z")}48%{d:path("M32 36 C38 36 44 37 49 36.5 C58 36 61 25 72 25 C84 25 91 30 91 35 C91 37 91 39 91 41 C91 46 84 51 72 51 C61 51 58 40 49 39.5 C44 39 38 36 32 36 C32 36 32 36 32 36 Z")}60%{d:path("M32 36 C37 36 42 37.3 47 37 C54 36.5 55 23.5 66 23.5 C76 23.5 83 27.5 83 31.5 C83 33.5 83 35.5 83 37.5 C83 41.5 76 45.5 66 45.5 C55 45.5 54 39.5 47 39 C42 38.7 37 36 32 36 C32 36 32 36 32 36 Z")}70%{d:path("M32 36 C36 36 41 36.1 45 35.9 C50 35.7 50 26 58 26 C67 26 73 29 73 32 C73 33 73 35 73 36 C73 39 67 42 58 42 C50 42 50 37.3 45 37.1 C41 36.9 36 36 32 36 C32 36 32 36 32 36 Z")}80%{d:path("M32 36 C35 36 37 35.7 40 35.5 C44 35.3 44 30 49 30 C56 30 61 32 61 34 C61 34 61 36 61 36 C61 38 56 40 49 40 C44 40 44 36.7 40 36.5 C37 36.3 35 36 32 36 C32 36 32 36 32 36 Z")}88%{d:path("M32 36 C34 36 36 35 38 34 C39 32 41 31.7 43 31.7 C47 31.7 50 33.7 50 34.7 C50 34.7 50 36.7 50 36.7 C50 38.7 47 39.7 43 39.7 C41 39.7 39 40 38 38 C36 37 34 36 32 36 C32 36 32 36 32 36 Z")}94%{d:path("M32 36 C33 36 34 34 36 33 C37 32 38 32 40 32 C43 32 45 34 45 35 C45 35 45 37 45 37 C45 39 43 40 40 40 C38 40 37 40 36 39 C34 38 33 36 32 36 C32 36 32 36 32 36 Z")}to{d:path("M32 36 C32 34 33 32 35 32 C36 32 37 32 38 32 C40 32 41 34 41 35 C41 36 41 37 41 38 C41 40 39 40 38 40 C37 40 36 40 35 40 C33 40 32 39 32 38 C32 37 32 37 32 36 Z")}}@keyframes eye-glyph-emerge{0%,58%{clip-path:inset(50% round 50%)}to{clip-path:inset(0% round 0%)}}@keyframes hint-liquid-emerge{14%{d:path("M32 36 C40 36 45 27 52 27 C57 27 58 25 61 25 C68 25 71 30 71 33 C71 35 71 37 71 39 C71 44 67 47 61 47 C58 47 57 45 52 45 C45 45 40 36 32 36 C32 36 32 36 32 36 Z")}26%{d:var(--cloze-face-long)}38%{d:var(--cloze-face-short)}44%{d:var(--cloze-face-settle)}0%{animation-timing-function:cubic-bezier(.35,0,.65,.65);d:path("M32 36 C32 34 33 32 35 32 C36 32 37 32 38 32 C40 32 41 34 41 35 C41 36 41 37 41 38 C41 40 39 40 38 40 C37 40 36 40 35 40 C33 40 32 39 32 38 C32 37 32 37 32 36 Z")}50%,58%{animation-timing-function:cubic-bezier(.2,.65,.3,1);d:path("M65 36 C65 29.925 69.925 25 76 25 C76 25 76 25 76 25 C82.075 25 87 29.925 87 36 C87 36 87 36 87 36 C87 42.075 82.075 47 76 47 C76 47 76 47 76 47 C69.925 47 65 42.075 65 36 C65 36 65 36 65 36 Z")}86%{animation-timing-function:ease-out;d:path("M55 36 C55 25 57 16.5 66 16.5 C73 16.5 80 16.5 87 16.5 C97 16.5 97 22 97 27 C97 32 97 40 97 45 C97 55.5 93 55.5 87 55.5 C80 55.5 73 55.5 66 55.5 C57 55.5 55 49 55 45 C55 40 55 38 55 36 Z")}to{d:path("M56 26 C56 20.477 60.477 16 66 16 C72 16 80 16 86 16 C91.523 16 96 20.477 96 26 C96 32 96 40 96 46 C96 51.523 91.523 56 86 56 C80 56 72 56 66 56 C60.477 56 56 51.523 56 46 C56 40 56 32 56 26 Z")}}@keyframes hint-glyph-emerge{0%,76%{opacity:0;clip-path:inset(50% round 50%)}to{opacity:1;clip-path:inset(0% round 0%)}}@keyframes eye-glyph-absorb{0%{clip-path:inset(0% round 0%)}32%,to{clip-path:inset(50% round 50%)}}@supports not (d: path("M0 0")){.floating-practice.mode-edit .answer-cloze-toggle.is-retracted{transform:translate(-56px)}.mobile-layout .floating-practice.mode-edit .answer-cloze-toggle.is-retracted{transform:translateY(56px)}.floating-practice .practice-cloze-hint.is-retracted{transform:translateY(-48px)}.mobile-layout .floating-practice .practice-cloze-hint.is-retracted{transform:translate(46px)}.floating-practice.mode-practice .practice-cloze-eye.is-retracted,.floating-practice.mode-practice .practice-cloze-eye.is-retracted+.practice-cloze-hint.is-retracted{transform:translate(-56px)}}.inline-node-editor-title-row{display:contents}.inline-node-editor-heading{position:relative;min-width:1ch}.inline-node-editor-title-measure{visibility:hidden;pointer-events:none}.inline-node-editor-title{position:absolute;top:0;right:0;bottom:0;left:0;box-sizing:border-box;width:100%;height:100%;min-width:0;padding:0;border:0;border-radius:5px;background:transparent;color:inherit;font:inherit;letter-spacing:inherit}.inline-node-editor-title:focus{background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 10%,transparent)}.floating-practice.is-inline-editing .practice-edit-icon{background:color-mix(in srgb,var(--accent) 18%,var(--surface));border-color:color-mix(in srgb,var(--accent) 58%,var(--line-ink));animation:node-edit-button-open .32s cubic-bezier(.2,.8,.25,1.15)}.floating-practice .practice-edit-icon svg{transition:transform .22s ease}.floating-practice.is-inline-editing .practice-edit-icon svg{transform:rotate(-12deg) translate(1px,-1px)}.floating-practice.editor-tools-closing .practice-edit-icon{animation:node-edit-button-close .18s ease-in-out}.floating-practice.editor-tools-closing .practice-edit-icon svg{transform:rotate(0)}@keyframes node-edit-button-open{0%{transform:scale(1) rotate(0)}38%{transform:translateY(2px) scale(.88) rotate(-7deg)}72%{transform:translateY(-2px) scale(1.08) rotate(3deg)}to{transform:scale(1) rotate(0)}}@keyframes node-edit-button-close{0%{transform:scale(1) rotate(0)}48%{transform:translateY(1px) scale(.9) rotate(5deg)}to{transform:scale(1) rotate(0)}}.inline-node-editor-font{position:absolute;z-index:9;top:-48px;right:68px}.inline-node-editor-font-toggle{position:relative;display:inline-flex;align-items:center;gap:4px;height:36px;min-height:36px;padding:4px 11px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--ink-mid);font-family:Excalifont,Assistant,sans-serif;font-size:15px;line-height:1}.inline-node-editor-font-value{font-family:Assistant,sans-serif;font-size:11px;color:var(--ink-soft)}.inline-node-editor-font-action{position:absolute;top:0;right:0;bottom:0;left:0;padding:0;border:0;border-radius:inherit;background:transparent;box-shadow:none}.inline-node-editor-font-action:hover{background:transparent;transform:none}.inline-node-editor-font-action:focus-visible{outline:1px solid var(--ink-soft);outline-offset:2px}.inline-node-editor-font-input{width:3ch;padding:0;border:0;border-radius:0;background:transparent;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.inline-node-editor-font-input:focus-visible{outline:1px solid var(--ink-soft);outline-offset:2px}.inline-node-editor-font-input::selection{color:inherit;background:#9999993d}.inline-node-editor-font-input::-webkit-inner-spin-button,.inline-node-editor-font-input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.inline-node-editor-font-toggle:hover,.inline-node-editor-font-toggle:has([aria-expanded=true]){color:var(--ink-body)}.inline-node-editor-font-panel{position:absolute;z-index:12;left:50%;bottom:calc(100% + 10px);width:min(150px,calc(100vw - 40px));opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,8px) scale(.9);transform-origin:50% 100%;transition:opacity .15s ease,transform .22s cubic-bezier(.2,.8,.25,1.1),visibility 0s linear .22s}.inline-node-editor-font-panel.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%) scale(1);transition:opacity .17s ease,transform .26s cubic-bezier(.2,.8,.25,1.1),visibility 0s}.inline-node-editor-save{position:absolute;z-index:9;top:-48px;right:0;display:grid;place-items:center;height:36px;min-height:36px;min-width:56px;padding:5px 15px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--ink-secondary);font-size:12px}.inline-node-editor>.rich-answer-field{min-height:0;height:100%;overflow:visible;grid-template-rows:minmax(0,1fr);background:transparent}.floating-practice:is(.mode-edit,.mode-practice) :is(.answer-preview,.practice-cloze-answer,.practice-answer-input,.rich-answer-editor,.answer-block,.ai-feedback),.floating-practice .answer-review>div:not(.review-head),.floating-practice .cloze-review{background:color-mix(in srgb,var(--surface) 68%,transparent);-webkit-backdrop-filter:blur(26px) saturate(1.15);backdrop-filter:blur(26px) saturate(1.15)}.floating-practice.mode-edit :is(.answer-preview,.rich-answer-editor){background:color-mix(in srgb,var(--surface-wash) 68%,transparent)}.floating-practice .answer-review{background:transparent}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.node-practice.floating-practice:before,.floating-practice:is(.mode-edit,.mode-practice) :is(.answer-preview,.practice-cloze-answer,.practice-answer-input,.rich-answer-editor,.answer-block,.ai-feedback),.floating-practice .answer-review>div:not(.review-head),.floating-practice .cloze-review{background:var(--surface)}.floating-practice.mode-edit :is(.answer-preview,.rich-answer-editor){background:var(--surface-wash)}}@media(prefers-reduced-transparency:reduce){.node-practice.floating-practice:before,.floating-practice:is(.mode-edit,.mode-practice) :is(.answer-preview,.practice-cloze-answer,.practice-answer-input,.rich-answer-editor,.answer-block,.ai-feedback),.floating-practice .answer-review>div:not(.review-head),.floating-practice .cloze-review{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}.floating-practice.mode-edit :is(.answer-preview,.rich-answer-editor){background:var(--surface-wash)}}.inline-node-editor>.rich-answer-field .rich-toolbar{position:absolute;z-index:9;top:-48px;left:0;height:36px;border:1px solid transparent;border-radius:999px;box-shadow:none;gap:2px;margin:0;padding:3px 6px;background:transparent}.floating-practice.is-inline-editing{will-change:transform}.inline-node-editor .editor-liquid-glass,.map-header .editor-liquid-glass,.floating-practice :is(.practice-page-dock,.practice-reset-dock,.ai-analysis-dock,.floating-practice-dock) .editor-liquid-glass{position:absolute;z-index:-1;top:-1px;left:-1px;width:calc(100% + 2px);pointer-events:none;transform:scaleY(var(--editor-tool-axis, 1));transform-origin:50% var(--editor-face-center);clip-path:var(--editor-face-rest);background:radial-gradient(ellipse at var(--editor-glass-light, 18% 100%),rgb(255 255 255 / 20%),transparent 62%),radial-gradient(ellipse at var(--editor-glass-shade, 62% 42%),rgb(38 49 59 / 6%),rgb(38 49 59 / 3%) 36%,transparent 72%),color-mix(in srgb,var(--surface) var(--editor-glass-fill-alpha, 10%),rgb(121 121 121 / 6%));background-size:100% calc(var(--editor-face-center) + var(--editor-face-center));background-repeat:no-repeat;-webkit-backdrop-filter:blur(var(--editor-glass-blur, 5px)) saturate(1.15) contrast(1.04) brightness(1.1);backdrop-filter:blur(var(--editor-glass-blur, 5px)) saturate(1.15) contrast(1.04) brightness(1.1)}.map-header .settings-trigger,.inline-node-editor .inline-node-editor-font-toggle{--editor-glass-light: 82% 0%;--editor-glass-shade: 38% 64%;--editor-glass-depth-top: white;--editor-glass-depth-bottom: #26313b;--editor-glass-recess-x: -1px;--editor-glass-recess-y: -1.5px}.map-header .map-header-theme-glass{--editor-glass-light: 78% 100%;--editor-glass-shade: 32% 38%}.map-header :is(.map-brand,.annotation-toolbar-dock),.inline-node-editor .rich-toolbar{--editor-glass-light: 32% 0%;--editor-glass-shade: 64% 68%;--editor-glass-depth-top: white;--editor-glass-depth-bottom: #52616e;--editor-glass-recess-y: -1.5px}.inline-node-editor .editor-liquid-face,.map-header .editor-liquid-face,.floating-practice :is(.practice-page-dock,.practice-reset-dock,.ai-analysis-dock,.floating-practice-dock) .editor-liquid-face{position:absolute;z-index:-1;top:-1px;left:-1px;width:calc(100% + 2px);overflow:visible;pointer-events:none;transform:scaleY(var(--editor-tool-axis, 1));transform-origin:50% var(--editor-face-center);filter:drop-shadow(0 1px 2px color-mix(in srgb,var(--shadow-base) 12%,transparent)) drop-shadow(0 4px 9px color-mix(in srgb,var(--shadow-base) 5%,transparent))}.inline-node-editor .editor-liquid-face path,.map-header .editor-liquid-face path,.floating-practice :is(.practice-page-dock,.practice-reset-dock,.ai-analysis-dock,.floating-practice-dock) .editor-liquid-face path{fill:var(--editor-tool-fill, var(--surface));stroke:var(--editor-tool-rim, color-mix(in srgb, var(--line-ink) 16%, transparent));stroke-width:1}.floating-practice :is(.practice-page-dock,.practice-reset-dock,.ai-analysis-dock,.floating-practice-dock,.answer-cloze-toggle,.practice-cloze-hint){isolation:isolate;border:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.floating-practice .practice-page-dock button{background:transparent}.floating-practice .practice-page-dock button:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 12%,transparent)}.floating-practice .practice-reset-dock:hover{background:transparent;color:var(--accent)}.floating-practice .practice-reset-dock{visibility:inherit;opacity:var(--practice-close-alpha);animation:node-editor-tools-layer-in .48s steps(1,end) both;transition:visibility 0s,color .15s ease}.floating-practice .practice-reset-dock :is(.editor-liquid-face,.editor-liquid-glass){transform:rotate(90deg);transform-origin:50% var(--editor-face-center)}.floating-practice .practice-reset-dock:hover .editor-liquid-face{transform:rotate(90deg)}.floating-practice .practice-reset-dock .editor-liquid-face path{animation:editor-controls-face-emerge .48s linear both}.floating-practice .practice-reset-dock .editor-liquid-glass{animation:editor-controls-glass-emerge .48s linear both}.floating-practice .practice-reset-dock>svg:not(.editor-liquid-face){animation:editor-controls-content-emerge .48s ease both}.floating-practice .practice-reset-dock.is-retracted{z-index:-2;opacity:1;visibility:hidden;pointer-events:none;animation:none;transition:visibility 0s linear .2944s}.floating-practice .practice-reset-dock.is-retracted .editor-liquid-face path{animation:node-editor-tools-absorb .2944s linear both}.floating-practice .practice-reset-dock.is-retracted .editor-liquid-glass{animation:node-editor-glass-absorb .2944s linear both}.floating-practice .practice-reset-dock.is-retracted>svg:not(.editor-liquid-face){animation:eye-glyph-absorb .2944s ease both}@supports not (d: path("M0 0")){.floating-practice .practice-reset-dock.is-retracted{transform:translate(-14px)}}@media(prefers-reduced-motion:reduce){.floating-practice .practice-reset-dock,.floating-practice .practice-reset-dock *{animation:none!important;transition:none!important}}.floating-practice .ai-analysis-dock{--editor-tool-axis: -1}.floating-practice .ai-analysis-indicator{border:0;background:transparent;box-shadow:none}.ai-analysis-dock .editor-liquid-glass{animation:node-editor-glass-emerge var(--analysis-motion-ms) linear both}.ai-analysis-dock.is-closing .editor-liquid-glass{animation:node-editor-glass-absorb var(--analysis-motion-ms) linear both}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.floating-practice :is(.editor-liquid-glass,.cloze-liquid-glass){background:var(--surface)}}@media(prefers-reduced-transparency:reduce){.floating-practice :is(.editor-liquid-glass,.cloze-liquid-glass){background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}}.inline-node-editor .editor-tool-content{display:inline-flex;align-items:center;justify-content:center;gap:inherit}.map-header :is(.map-brand,.map-header-actions,.node-search-trigger,.settings-trigger,.map-header-theme-glass){isolation:isolate;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.map-header :is(.node-search-trigger,.settings-trigger,.map-header-theme-glass){position:relative;height:36px;min-height:36px;border:0;border-radius:999px}.map-header .map-header-theme-glass{display:grid;place-items:center;border:0}.map-header .settings-trigger{display:grid;place-items:center;width:44px;padding:0}.map-header .settings-trigger .settings-hammer-icon{display:block;transform:translateY(-1px) scale(1.22)}.map-header .node-search-trigger{justify-content:center;padding-inline:10px}.map-header :is(.editor-liquid-face,.editor-liquid-glass){top:0;left:0;width:100%}.map-header .annotation-toolbar-dock :is(.editor-liquid-face,.editor-liquid-glass){z-index:0}.map-header .mode-toggle,.map-header .desktop-theme-toggle{background:transparent;box-shadow:none}.map-header .mode-toggle button.active{color:var(--ink-body);background:linear-gradient(155deg,#ffffff42,color-mix(in srgb,var(--surface) 16%,transparent));box-shadow:inset 0 1px 1px #ffffffa6,inset 0 -1px 1px color-mix(in srgb,var(--line-ink) 22%,transparent),0 2px 6px color-mix(in srgb,var(--shadow-base) 10%,transparent)}.inline-node-editor>.rich-answer-field .rich-toolbar button{width:30px;min-width:30px;height:28px;min-height:28px;padding:0}.inline-node-editor>.rich-answer-field .rich-answer-editor{min-height:0;max-height:none;height:100%;box-sizing:border-box;padding:clamp(16px,2.7vw,24px);border-radius:inherit;font-size:15px;line-height:1.78;color:var(--ink-secondary)}:is(.floating-practice.mode-edit,.annotation-note-editor).body-text-large .inline-node-editor .rich-answer-editor{font-size:18px}:is(.floating-practice.mode-edit,.annotation-note-editor).body-text-xlarge .inline-node-editor .rich-answer-editor{font-size:21px}:is(.floating-practice,.annotation-note-editor).is-inline-editing :is(.rich-toolbar,.inline-node-editor-font,.inline-node-editor-save){--editor-travel-clip: inset(-200px -200px -11px)}:is(.floating-practice,.annotation-note-editor).is-inline-editing.editor-tools-below :is(.rich-toolbar,.inline-node-editor-font,.inline-node-editor-save){top:calc(100% + 12px);--editor-tool-axis: -1;--editor-travel-clip: inset(-11px -200px -200px)}:is(.floating-practice,.annotation-note-editor).is-inline-editing:not(.editor-tools-closing) :is(.rich-toolbar,.inline-node-editor-font,.inline-node-editor-save){animation:node-editor-tools-layer-in .52s steps(1,end) both}:is(.floating-practice,.annotation-note-editor).is-inline-editing:not(.editor-tools-closing) .inline-node-editor .editor-liquid-face path{animation:editor-controls-face-emerge .52s linear both}:is(.floating-practice,.annotation-note-editor).is-inline-editing:not(.editor-tools-closing) .editor-tool-content{animation:editor-controls-content-emerge .52s linear both}:is(.floating-practice,.annotation-note-editor).is-inline-editing:not(.editor-tools-closing) .inline-node-editor .editor-liquid-glass{animation:editor-controls-glass-emerge .52s linear both}:is(.floating-practice,.annotation-note-editor).editor-tools-closing :is(.rich-toolbar,.inline-node-editor-font,.inline-node-editor-save){z-index:-2;pointer-events:none;animation:none;clip-path:var(--editor-travel-clip, none)}:is(.floating-practice,.annotation-note-editor).editor-tools-closing .inline-node-editor .editor-liquid-face path{animation:editor-controls-face-absorb .8s linear both}:is(.floating-practice,.annotation-note-editor).editor-tools-closing .editor-tool-content{animation:editor-controls-content-absorb .8s linear both}:is(.floating-practice,.annotation-note-editor).editor-tools-closing .inline-node-editor .editor-liquid-glass{animation:editor-controls-glass-absorb .8s linear both}.floating-practice.editor-tools-closing .inline-node-editor-font-panel{visibility:hidden;pointer-events:none}@keyframes node-editor-tools-layer-in{0%,49%{z-index:-2;clip-path:var(--editor-travel-clip, none)}50%,to{z-index:9;clip-path:none}}@keyframes editor-controls-face-emerge{0%{d:var(--editor-face-dock);animation-timing-function:cubic-bezier(.35,0,.65,.65)}12%{d:var(--editor-face-softPull)}26%{d:var(--editor-face-softDrop)}38%{d:var(--editor-face-softRelease)}46%{d:var(--editor-face-glide)}50%,58%{d:var(--editor-face-ball);animation-timing-function:cubic-bezier(.2,.65,.3,1)}to{d:var(--editor-face-rest)}}@keyframes editor-controls-glass-emerge{0%{clip-path:var(--editor-face-dock);animation-timing-function:cubic-bezier(.35,0,.65,.65)}12%{clip-path:var(--editor-face-softPull)}26%{clip-path:var(--editor-face-softDrop)}38%{clip-path:var(--editor-face-softRelease)}46%{clip-path:var(--editor-face-glide)}50%,58%{clip-path:var(--editor-face-ball);animation-timing-function:cubic-bezier(.2,.65,.3,1)}to{clip-path:var(--editor-face-rest)}}@keyframes editor-controls-content-emerge{0%,76%{opacity:0;clip-path:inset(50% round 999px)}to{opacity:1;clip-path:inset(0 round 0)}}@keyframes editor-controls-face-absorb{0%{d:var(--editor-face-absorb0)}1%{d:var(--editor-face-absorb1)}2%{d:var(--editor-face-absorb2)}3%{d:var(--editor-face-absorb3)}4%{d:var(--editor-face-absorb4)}5%{d:var(--editor-face-absorb5)}6%{d:var(--editor-face-absorb6)}7%{d:var(--editor-face-absorb7)}8%{d:var(--editor-face-absorb8)}9%{d:var(--editor-face-absorb9)}10%{d:var(--editor-face-absorb10)}11%{d:var(--editor-face-absorb11)}12%{d:var(--editor-face-absorb12)}13%{d:var(--editor-face-absorb13)}14%{d:var(--editor-face-absorb14)}15%{d:var(--editor-face-absorb15)}16%{d:var(--editor-face-absorb16)}17%{d:var(--editor-face-absorb17)}18%{d:var(--editor-face-absorb18)}19%{d:var(--editor-face-absorb19)}20%{d:var(--editor-face-absorb20)}21%{d:var(--editor-face-absorb21)}22%{d:var(--editor-face-absorb22)}23%{d:var(--editor-face-absorb23)}24%{d:var(--editor-face-absorb24)}25%{d:var(--editor-face-absorb25)}26%{d:var(--editor-face-absorb26)}27%{d:var(--editor-face-absorb27)}28%{d:var(--editor-face-absorb28)}29%{d:var(--editor-face-absorb29)}30%{d:var(--editor-face-absorb30)}31%{d:var(--editor-face-absorb31)}32%{d:var(--editor-face-absorb32)}33%{d:var(--editor-face-absorb33)}34%{d:var(--editor-face-absorb34)}35%{d:var(--editor-face-absorb35)}36%{d:var(--editor-face-absorb36)}37%{d:var(--editor-face-absorb37)}38%{d:var(--editor-face-absorb38)}39%{d:var(--editor-face-absorb39)}40%{d:var(--editor-face-absorb40)}41%{d:var(--editor-face-absorb41)}42%{d:var(--editor-face-absorb42)}43%{d:var(--editor-face-absorb43)}44%{d:var(--editor-face-absorb44)}45%{d:var(--editor-face-absorb45)}46%{d:var(--editor-face-absorb46)}47%{d:var(--editor-face-absorb47)}48%{d:var(--editor-face-absorb48)}49%{d:var(--editor-face-absorb49)}50%{d:var(--editor-face-absorb50)}51%{d:var(--editor-face-absorb51)}52%{d:var(--editor-face-absorb52)}53%{d:var(--editor-face-absorb53)}54%{d:var(--editor-face-absorb54)}55%{d:var(--editor-face-absorb55)}56%{d:var(--editor-face-absorb56)}57%{d:var(--editor-face-absorb57)}58%{d:var(--editor-face-absorb58)}59%{d:var(--editor-face-absorb59)}60%{d:var(--editor-face-absorb60)}61%{d:var(--editor-face-absorb61)}62%{d:var(--editor-face-absorb62)}63%{d:var(--editor-face-absorb63)}64%{d:var(--editor-face-absorb64)}65%{d:var(--editor-face-absorb65)}66%{d:var(--editor-face-absorb66)}67%{d:var(--editor-face-absorb67)}68%{d:var(--editor-face-absorb68)}69%{d:var(--editor-face-absorb69)}70%{d:var(--editor-face-absorb70)}71%{d:var(--editor-face-absorb71)}72%{d:var(--editor-face-absorb72)}73%{d:var(--editor-face-absorb73)}74%{d:var(--editor-face-absorb74)}75%{d:var(--editor-face-absorb75)}76%{d:var(--editor-face-absorb76)}77%{d:var(--editor-face-absorb77)}78%{d:var(--editor-face-absorb78)}79%{d:var(--editor-face-absorb79)}80%{d:var(--editor-face-absorb80)}81%{d:var(--editor-face-absorb81)}82%{d:var(--editor-face-absorb82)}83%{d:var(--editor-face-absorb83)}84%{d:var(--editor-face-absorb84)}85%{d:var(--editor-face-absorb85)}86%{d:var(--editor-face-absorb86)}87%{d:var(--editor-face-absorb87)}88%{d:var(--editor-face-absorb88)}89%{d:var(--editor-face-absorb89)}90%{d:var(--editor-face-absorb90)}91%{d:var(--editor-face-absorb91)}92%{d:var(--editor-face-absorb92)}93%{d:var(--editor-face-absorb93)}94%{d:var(--editor-face-absorb94)}95%{d:var(--editor-face-absorb95)}96%{d:var(--editor-face-absorb96)}97%{d:var(--editor-face-absorb97)}98%{d:var(--editor-face-absorb98)}99%{d:var(--editor-face-absorb99)}to{d:var(--editor-face-absorb100)}}@keyframes editor-controls-glass-absorb{0%{clip-path:var(--editor-face-absorb0)}1%{clip-path:var(--editor-face-absorb1)}2%{clip-path:var(--editor-face-absorb2)}3%{clip-path:var(--editor-face-absorb3)}4%{clip-path:var(--editor-face-absorb4)}5%{clip-path:var(--editor-face-absorb5)}6%{clip-path:var(--editor-face-absorb6)}7%{clip-path:var(--editor-face-absorb7)}8%{clip-path:var(--editor-face-absorb8)}9%{clip-path:var(--editor-face-absorb9)}10%{clip-path:var(--editor-face-absorb10)}11%{clip-path:var(--editor-face-absorb11)}12%{clip-path:var(--editor-face-absorb12)}13%{clip-path:var(--editor-face-absorb13)}14%{clip-path:var(--editor-face-absorb14)}15%{clip-path:var(--editor-face-absorb15)}16%{clip-path:var(--editor-face-absorb16)}17%{clip-path:var(--editor-face-absorb17)}18%{clip-path:var(--editor-face-absorb18)}19%{clip-path:var(--editor-face-absorb19)}20%{clip-path:var(--editor-face-absorb20)}21%{clip-path:var(--editor-face-absorb21)}22%{clip-path:var(--editor-face-absorb22)}23%{clip-path:var(--editor-face-absorb23)}24%{clip-path:var(--editor-face-absorb24)}25%{clip-path:var(--editor-face-absorb25)}26%{clip-path:var(--editor-face-absorb26)}27%{clip-path:var(--editor-face-absorb27)}28%{clip-path:var(--editor-face-absorb28)}29%{clip-path:var(--editor-face-absorb29)}30%{clip-path:var(--editor-face-absorb30)}31%{clip-path:var(--editor-face-absorb31)}32%{clip-path:var(--editor-face-absorb32)}33%{clip-path:var(--editor-face-absorb33)}34%{clip-path:var(--editor-face-absorb34)}35%{clip-path:var(--editor-face-absorb35)}36%{clip-path:var(--editor-face-absorb36)}37%{clip-path:var(--editor-face-absorb37)}38%{clip-path:var(--editor-face-absorb38)}39%{clip-path:var(--editor-face-absorb39)}40%{clip-path:var(--editor-face-absorb40)}41%{clip-path:var(--editor-face-absorb41)}42%{clip-path:var(--editor-face-absorb42)}43%{clip-path:var(--editor-face-absorb43)}44%{clip-path:var(--editor-face-absorb44)}45%{clip-path:var(--editor-face-absorb45)}46%{clip-path:var(--editor-face-absorb46)}47%{clip-path:var(--editor-face-absorb47)}48%{clip-path:var(--editor-face-absorb48)}49%{clip-path:var(--editor-face-absorb49)}50%{clip-path:var(--editor-face-absorb50)}51%{clip-path:var(--editor-face-absorb51)}52%{clip-path:var(--editor-face-absorb52)}53%{clip-path:var(--editor-face-absorb53)}54%{clip-path:var(--editor-face-absorb54)}55%{clip-path:var(--editor-face-absorb55)}56%{clip-path:var(--editor-face-absorb56)}57%{clip-path:var(--editor-face-absorb57)}58%{clip-path:var(--editor-face-absorb58)}59%{clip-path:var(--editor-face-absorb59)}60%{clip-path:var(--editor-face-absorb60)}61%{clip-path:var(--editor-face-absorb61)}62%{clip-path:var(--editor-face-absorb62)}63%{clip-path:var(--editor-face-absorb63)}64%{clip-path:var(--editor-face-absorb64)}65%{clip-path:var(--editor-face-absorb65)}66%{clip-path:var(--editor-face-absorb66)}67%{clip-path:var(--editor-face-absorb67)}68%{clip-path:var(--editor-face-absorb68)}69%{clip-path:var(--editor-face-absorb69)}70%{clip-path:var(--editor-face-absorb70)}71%{clip-path:var(--editor-face-absorb71)}72%{clip-path:var(--editor-face-absorb72)}73%{clip-path:var(--editor-face-absorb73)}74%{clip-path:var(--editor-face-absorb74)}75%{clip-path:var(--editor-face-absorb75)}76%{clip-path:var(--editor-face-absorb76)}77%{clip-path:var(--editor-face-absorb77)}78%{clip-path:var(--editor-face-absorb78)}79%{clip-path:var(--editor-face-absorb79)}80%{clip-path:var(--editor-face-absorb80)}81%{clip-path:var(--editor-face-absorb81)}82%{clip-path:var(--editor-face-absorb82)}83%{clip-path:var(--editor-face-absorb83)}84%{clip-path:var(--editor-face-absorb84)}85%{clip-path:var(--editor-face-absorb85)}86%{clip-path:var(--editor-face-absorb86)}87%{clip-path:var(--editor-face-absorb87)}88%{clip-path:var(--editor-face-absorb88)}89%{clip-path:var(--editor-face-absorb89)}90%{clip-path:var(--editor-face-absorb90)}91%{clip-path:var(--editor-face-absorb91)}92%{clip-path:var(--editor-face-absorb92)}93%{clip-path:var(--editor-face-absorb93)}94%{clip-path:var(--editor-face-absorb94)}95%{clip-path:var(--editor-face-absorb95)}96%{clip-path:var(--editor-face-absorb96)}97%{clip-path:var(--editor-face-absorb97)}98%{clip-path:var(--editor-face-absorb98)}99%{clip-path:var(--editor-face-absorb99)}to{clip-path:var(--editor-face-absorb100)}}@keyframes editor-controls-content-absorb{0%{opacity:1;clip-path:inset(0 round 0)}24%,to{opacity:0;clip-path:inset(50% round 999px)}}@keyframes node-editor-tools-emerge{0%{d:var(--editor-face-dock);animation-timing-function:cubic-bezier(.35,0,.65,.65)}12%{d:var(--editor-face-pull)}26%{d:var(--editor-face-drop)}36%{d:var(--editor-face-release)}44%{d:var(--editor-face-glide)}48%{d:var(--editor-face-ball);animation-timing-function:cubic-bezier(.16,.7,.3,1)}to{d:var(--editor-face-rest)}}@keyframes node-editor-tools-absorb{0%{d:var(--editor-face-rest);animation-timing-function:cubic-bezier(.35,0,.65,.65)}42%{d:var(--editor-face-ball)}54%{d:var(--editor-face-glide)}66%{d:var(--editor-face-release)}78%{d:var(--editor-face-drop);animation-timing-function:ease-out}90%{d:var(--editor-face-pull)}to{d:var(--editor-face-dock)}}@keyframes node-editor-glass-emerge{0%{clip-path:var(--editor-face-dock);animation-timing-function:cubic-bezier(.35,0,.65,.65)}12%{clip-path:var(--editor-face-pull)}26%{clip-path:var(--editor-face-drop)}36%{clip-path:var(--editor-face-release)}44%{clip-path:var(--editor-face-glide)}48%{clip-path:var(--editor-face-ball);animation-timing-function:cubic-bezier(.16,.7,.3,1)}to{clip-path:var(--editor-face-rest)}}@keyframes node-editor-glass-absorb{0%{clip-path:var(--editor-face-rest);animation-timing-function:cubic-bezier(.35,0,.65,.65)}42%{clip-path:var(--editor-face-ball)}54%{clip-path:var(--editor-face-glide)}66%{clip-path:var(--editor-face-release)}78%{clip-path:var(--editor-face-drop);animation-timing-function:ease-out}90%{clip-path:var(--editor-face-pull)}to{clip-path:var(--editor-face-dock)}}@keyframes node-editor-tools-content-in{0%,48%{clip-path:inset(50% round 999px)}88%,to{clip-path:inset(0 round 0)}}@keyframes node-editor-tools-content-out{0%{clip-path:inset(0 round 0)}54%,to{clip-path:inset(50% round 999px)}}@media(prefers-reduced-motion:reduce){.floating-practice .practice-edit-icon,.floating-practice .practice-edit-icon svg{animation:none!important;transition:none!important}:is(.floating-practice,.annotation-note-editor).is-inline-editing :is(.rich-toolbar,.inline-node-editor-font,.inline-node-editor-save){animation:none!important}:is(.floating-practice,.annotation-note-editor) :is(.editor-liquid-face path,.editor-tool-content,.editor-liquid-glass){animation:none!important}.floating-practice :is(.answer-cloze-toggle,.practice-cloze-hint,.practice-cloze-eye){transition:none!important}.floating-practice :is(.answer-cloze-toggle,.practice-cloze-hint) *{animation:none!important}.inline-node-editor-font-panel{transition:none}}.cloze-review{min-width:0;padding:clamp(16px,3vw,24px);border-radius:18px;color:var(--ink-body)}.cloze-review p{margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.answer-review .review-head{justify-content:flex-end}.floating-practice .ai-analysis-dock.ai-grading-badge{--editor-tool-axis: 1;--review-score-accent: var(--ink-ghost);position:relative;inset:auto;z-index:0;isolation:isolate;flex:0 0 auto;width:92px;height:32px;border:1px solid color-mix(in srgb,var(--review-score-accent) 24%,transparent);border-radius:999px;background:color-mix(in srgb,var(--review-score-accent) 6%,transparent);transition:width .36s cubic-bezier(.22,.8,.25,1),border-color .36s ease,background .36s ease}.floating-practice .ai-grading-badge.is-checking{width:154px;border-color:transparent;background:transparent}.floating-practice .ai-grading-badge.verdict-pass{--review-score-accent: #55a86b}.floating-practice .ai-grading-badge.verdict-partial{--review-score-accent: #d1a43e}.floating-practice .ai-grading-badge.verdict-retry{--review-score-accent: #d45d5d}.floating-practice .ai-grading-badge .editor-liquid-face{transform:none;filter:none}.floating-practice .ai-grading-badge :is(.editor-liquid-glass,.editor-liquid-face path){animation:none}.floating-practice .ai-grading-badge .editor-liquid-face path{d:var(--editor-face-rest)}.floating-practice .ai-grading-badge .ai-analysis-indicator{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;height:100%;justify-content:center;padding:0;animation:none;opacity:0;transform:scale(.88);transition:opacity .16s ease,transform .24s ease}.floating-practice .ai-grading-badge.is-checking .ai-analysis-indicator{opacity:1;transform:scale(1)}.floating-practice .ai-grading-badge.is-complete .ai-analysis-motion{animation:none}.answer-review .ai-grading-badge .ai-grading-score{--review-score-accent: inherit;position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;padding:0;border:0;background:transparent;box-shadow:none;opacity:0;transform:scale(.8);transition:opacity .22s ease,transform .3s cubic-bezier(.2,.8,.25,1)}.answer-review .ai-grading-score:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--review-score-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--review-score-accent) 12%,transparent)}.answer-review .ai-grading-badge.is-complete .ai-grading-score{opacity:1;transform:scale(1);transition-delay:.14s}.answer-review:not(.cloze-review-pending)>div:not(.review-head){animation:practice-review-content-in .32s ease both}.answer-review-submitted{white-space:pre-wrap;overflow-wrap:anywhere}@keyframes practice-review-content-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.floating-practice .ai-grading-badge,.floating-practice .ai-grading-badge :is(.ai-analysis-indicator,.ai-grading-score){transition:none!important}.answer-review:not(.cloze-review-pending)>div:not(.review-head){animation:none}}@keyframes learning-stats-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes learning-stats-dialog-in{0%{opacity:0;transform:translateY(7px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.learning-stats-panel{display:grid;gap:10px;--heat-1: #e7f4ec;--heat-4: #2f7d55;--heat-low-ink: #0b1b12;--heat-high-ink: #fff}[data-theme=dark] .learning-stats-panel{--heat-1: #22352a;--heat-4: #7cc697;--heat-low-ink: #f7fff8;--heat-high-ink: #07130b}.learning-today{display:grid;grid-template-columns:minmax(104px,.8fr) minmax(0,1.2fr);gap:10px 14px;padding:12px;border:1px solid color-mix(in srgb,var(--line-ink) 10%,transparent);border-radius:12px;background:color-mix(in srgb,var(--surface-wash) 62%,var(--surface))}.learning-today-main{display:grid;align-content:start;gap:3px;padding-left:10px;border-left:3px solid color-mix(in srgb,var(--accent) 68%,transparent)}.learning-today-main>span,.learning-today-metrics span,.learning-today-empty{color:var(--ink-soft);font-size:10px}.learning-today-main>strong{font-size:23px;line-height:1.15}.learning-today-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:5px}.learning-today-metrics article{display:grid;gap:1px;padding:5px 8px;border-left:1px solid color-mix(in srgb,var(--line-ink) 10%,transparent)}.learning-today-metrics strong{color:var(--ink-panel);font-size:14px}.learning-today-empty{grid-column:1 / -1;margin:0}.learning-stats-summary{display:grid;grid-template-columns:1.4fr repeat(2,minmax(0,1fr));gap:8px}.learning-stats-summary article{display:grid;gap:3px;padding:9px 11px;border:1px solid color-mix(in srgb,var(--line-ink) 10%,transparent);border-radius:10px;background:color-mix(in srgb,var(--surface-wash) 62%,var(--surface))}.learning-stats-summary strong{font-size:19px}.learning-stats-summary span{color:var(--ink-soft);font-size:11px}.learning-stats-summary small{margin-top:2px;color:var(--ink-soft);font-size:10px;font-style:italic;opacity:.58}.learning-calendar-heading{position:sticky;z-index:2;top:0;display:grid;grid-template-columns:30px 1fr 30px;align-items:center;gap:8px;padding:6px 0;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:0 10px 14px -16px color-mix(in srgb,var(--shadow-base) 44%,transparent);text-align:center}.learning-calendar-heading button{height:27px;padding:0;border:1px solid color-mix(in srgb,var(--line-ink) 13%,transparent);border-radius:9px;background:var(--surface-wash);color:var(--ink-panel);font-size:19px}.learning-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:0 0 4px}.learning-calendar-legend{display:flex;align-items:center;justify-content:flex-end;gap:4px;padding:0 0 4px;color:var(--ink-ghost);font-size:10px}.learning-calendar-legend i{width:72px;height:8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--line-ink) 10%,transparent);background:linear-gradient(90deg,var(--heat-1),var(--heat-4))}.learning-calendar-weekday{padding:2px;color:var(--ink-soft);font-size:10px;text-align:center}.learning-calendar-day,.learning-calendar-empty{min-height:54px}.learning-calendar-day{position:relative;display:flex;flex-direction:column;gap:3px;padding:5px;border:1px solid color-mix(in srgb,var(--line-ink) 8%,transparent);border-radius:8px;background:color-mix(in srgb,var(--surface) 78%,transparent)}.learning-calendar-day[data-heat-ink]{border-color:transparent;background:color-mix(in srgb,var(--heat-1),var(--heat-4) var(--heat-strength));color:var(--heat-low-ink)}.learning-calendar-day[data-heat-ink=high],[data-theme=dark] .learning-calendar-day[data-heat-ink=middle]{color:var(--heat-high-ink)}.learning-calendar-day[data-heat-ink=high]>strong,.learning-calendar-day[data-heat-ink=high] div span,.learning-calendar-day[data-heat-ink=high].today:after{text-shadow:0 1px 1px color-mix(in srgb,var(--heat-4) 45%,transparent)}[data-theme=dark] .learning-calendar-day[data-heat-ink=high]>strong,[data-theme=dark] .learning-calendar-day[data-heat-ink=high] div span,[data-theme=dark] .learning-calendar-day[data-heat-ink=high].today:after{text-shadow:none}.learning-calendar-day[data-heat-ink]>strong,.learning-calendar-day[data-heat-ink] div span{color:inherit}.learning-calendar-day[data-heat-ink] .learning-calendar-item--recitation i,.learning-calendar-day[data-heat-ink] .learning-calendar-item--created i{background:currentColor}.learning-calendar-day.today:after{content:"今天";position:absolute;top:4px;right:4px;color:var(--accent);font-size:8px}.learning-calendar .learning-calendar-day[data-heat-ink].today:after{color:currentColor}@media(max-width:640px){.learning-calendar .learning-calendar-day[data-heat-ink].today:after{background:currentColor}}.learning-calendar-day>strong{font-size:11px}.learning-calendar-day>small{color:var(--ink-ghost)}.learning-calendar-day div{display:grid;gap:2px}.learning-calendar-day div span{display:flex;align-items:center;gap:3px;color:var(--ink-soft);font-size:9px;white-space:nowrap}.learning-calendar-day div i{width:4px;height:4px;border-radius:50%;background:var(--accent)}.learning-calendar-day .learning-calendar-item--recitation i{background:var(--accent)}.learning-calendar-day .learning-calendar-item--created i{background:var(--ink-strong)}.learning-calendar-tooltip{position:absolute;z-index:4;left:50%;bottom:calc(100% - 5px);width:max-content;min-width:142px;display:grid;gap:5px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--line-ink) 16%,transparent);border-radius:12px;background:color-mix(in srgb,var(--surface) 96%,transparent);color:var(--ink-soft);box-shadow:2px 3px color-mix(in srgb,var(--shadow-base) 8%,transparent),0 12px 30px color-mix(in srgb,var(--shadow-base) 18%,transparent);font-size:11px;line-height:1.4;pointer-events:none;opacity:0;visibility:hidden;transform:translate(-50%,8px) scale(.82) rotate(-1deg);transform-origin:50% 100%}.learning-calendar-tooltip strong{color:var(--ink-panel);font-size:14px}.learning-calendar-day:hover .learning-calendar-tooltip,.learning-calendar-day:focus-visible .learning-calendar-tooltip{visibility:visible;animation:learning-calendar-tooltip-pop .19s cubic-bezier(.18,1.35,.32,1) forwards}@keyframes learning-calendar-tooltip-pop{0%{opacity:0;filter:blur(1px);transform:translate(-50%,8px) scale(.82) rotate(-1deg)}70%{opacity:1;filter:blur(0);transform:translate(-50%,-2px) scale(1.04) rotate(.35deg)}to{opacity:1;filter:blur(0);transform:translate(-50%) scale(1) rotate(0)}}@media(prefers-reduced-motion:reduce){.learning-calendar-day:hover .learning-calendar-tooltip,.learning-calendar-day:focus-visible .learning-calendar-tooltip{animation:none;opacity:1;transform:translate(-50%)}}.learning-stats-note{margin-top:14px;color:var(--ink-soft);font-size:11px;line-height:1.6}.card-review-overlay{position:absolute;z-index:38;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:color-mix(in srgb,var(--surface-wash) 78%,transparent);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:card-review-overlay-in .22s ease-out}.card-review-window{position:relative;width:min(880px,100%);height:min(720px,100%);min-height:460px;display:grid;grid-template-rows:auto 3px minmax(0,1fr) auto;overflow:hidden;border:1px solid color-mix(in srgb,var(--line-ink) 20%,transparent);border-radius:21px 24px 20px 23px;background-color:var(--paper-fill);background-image:linear-gradient(97deg,rgba(35,45,58,.016),transparent 34%,rgba(35,45,58,.01) 76%,transparent),repeating-linear-gradient(0deg,rgba(66,77,91,.013) 0,rgba(66,77,91,.013) 1px,transparent 1px,transparent 5px);box-shadow:3px 4px color-mix(in srgb,var(--shadow-base) 7%,transparent),0 24px 64px color-mix(in srgb,var(--shadow-base) 18%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--surface) 90%,transparent);animation:card-review-window-in .36s cubic-bezier(.16,.86,.2,1.08);transition:width .26s cubic-bezier(.16,.86,.2,1)}.card-review-window.with-list{width:min(1080px,100%)}.card-review-window:before{content:"";position:absolute;z-index:0;top:5px;right:6px;bottom:6px;left:5px;border:1px solid color-mix(in srgb,var(--line-ink) 7%,transparent);border-radius:17px 20px 16px 19px;pointer-events:none}.card-review-window>*{position:relative;z-index:1}.card-review-header{z-index:5;min-height:74px;display:grid;grid-template-columns:minmax(150px,1fr) auto 28px;align-items:center;gap:16px;padding:14px 18px 12px 22px}.card-review-tools{display:flex;align-items:center;gap:8px}.card-list-trigger{position:relative;width:38px;height:38px;flex:0 0 38px;padding:0;border:1px solid color-mix(in srgb,var(--line-ink) 11%,transparent);border-radius:11px 13px 10px 12px;background:color-mix(in srgb,var(--surface-wash) 94%,transparent);color:var(--ink-soft);transition:transform .15s ease,color .15s ease,background .15s ease}.card-list-trigger:hover{transform:translateY(-1px);color:var(--ink-secondary)}.card-list-trigger.active{background:var(--ink-button-2);color:var(--on-ink-button)}.card-list-trigger span,.card-list-trigger span:before,.card-list-trigger span:after{position:absolute;left:50%;width:14px;height:1.5px;border-radius:999px;background:currentColor;content:""}.card-list-trigger span{top:50%;transform:translate(-50%,-50%)}.card-list-trigger span:before{top:-5px;transform:translate(-50%)}.card-list-trigger span:after{top:5px;transform:translate(-50%)}.card-review-header>div:first-child{min-width:0}.card-review-header h3{margin:0 0 2px;color:var(--ink-strong);font-family:Xiaolai,Microsoft YaHei,sans-serif;font-size:23px;font-weight:400}.card-review-header>div:first-child>span{color:var(--ink-faint);font-size:12px}.card-order-picker{display:flex;gap:5px;padding:4px;border:1px solid color-mix(in srgb,var(--line-ink) 9%,transparent);border-radius:13px 15px 12px 14px;background:color-mix(in srgb,var(--surface-wash) 78%,transparent)}.card-order-picker button{min-height:30px;padding:5px 11px;border-radius:10px 12px 9px 11px;background:transparent;color:var(--ink-soft);font-size:12px;font-weight:700}.card-order-picker button.active{background:var(--ink-button-2);color:var(--on-ink-button);box-shadow:1px 2px color-mix(in srgb,var(--shadow-base) 13%,transparent)}.card-filter-menu{position:relative}.card-filter-trigger{min-height:38px;padding:7px 12px;border:1px solid color-mix(in srgb,var(--line-ink) 11%,transparent);border-radius:11px 13px 10px 12px;background:color-mix(in srgb,var(--surface-wash) 94%,transparent);color:var(--ink-soft);font-size:12px;font-weight:750;transition:transform .15s ease,color .15s ease,background .15s ease}.card-filter-trigger:hover{transform:translateY(-1px);color:var(--ink-secondary)}.card-filter-trigger.active{background:var(--tint-yellow-solid);color:#745a12}.card-filter-popover{position:absolute;z-index:8;top:calc(100% + 9px);right:0;width:188px;display:grid;gap:4px;padding:10px;border:1px solid color-mix(in srgb,var(--line-ink) 18%,transparent);border-radius:13px 15px 12px 14px;background:color-mix(in srgb,var(--surface) 98%,transparent);box-shadow:3px 4px color-mix(in srgb,var(--shadow-base) 7%,transparent),0 14px 30px color-mix(in srgb,var(--shadow-base) 14%,transparent);max-height:min(360px,calc(100vh - 150px));overflow-y:auto}.card-filter-popover strong{padding:2px 5px 6px;color:var(--ink-mid);font-size:11px}.card-filter-popover button{display:grid;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 8px;border-radius:8px 10px 7px 9px;background:transparent;color:var(--ink-panel);text-align:left}.card-filter-popover button:hover{background:color-mix(in srgb,var(--surface-wash) 80%,transparent)}.card-filter-popover button.selected{background:color-mix(in srgb,var(--tint-yellow-solid) 54%,var(--surface));color:var(--ink-panel)}.card-filter-popover small{color:inherit;font-size:10px;opacity:.72}.card-filter-mark{width:11px;height:11px;border:1px solid color-mix(in srgb,var(--line-ink) 16%,transparent);border-radius:50%;box-shadow:1px 1px color-mix(in srgb,var(--shadow-base) 8%,transparent);background:var(--surface)}.card-filter-popover button.selected .card-filter-mark{border-color:color-mix(in srgb,var(--ink-secondary) 62%,transparent);background:var(--ink-secondary);box-shadow:inset 0 0 0 2px var(--surface)}.card-filter-popover .card-filter-manage{grid-template-columns:14px minmax(0,1fr);margin-top:5px;padding-top:9px;border-top:1px dashed color-mix(in srgb,var(--line-ink) 14%,transparent);border-radius:0 0 8px 9px}.card-filter-manage-icon{position:relative;width:12px;height:12px;border:1.5px solid color-mix(in srgb,var(--ink-mid) 72%,transparent);border-radius:50%}.card-filter-manage-icon:before,.card-filter-manage-icon:after{content:"";position:absolute;top:4px;right:-3px;bottom:4px;left:-3px;border-top:1.5px solid color-mix(in srgb,var(--ink-mid) 72%,transparent);transform:rotate(45deg)}.card-filter-manage-icon:after{transform:rotate(-45deg)}.card-review-close{position:relative;width:22px;height:22px;padding:0;border:1.5px solid rgba(137,30,32,.76);border-radius:48% 52% 46% 54%/52% 45% 55% 48%;background:#e45557;box-shadow:1px 2px #741e1f26,inset 0 1px color-mix(in srgb,var(--surface) 22%,transparent);transform:rotate(-1.5deg);transition:transform .15s ease,box-shadow .15s ease}.card-review-close:before,.card-review-close:after{content:"";position:absolute;top:50%;left:50%;width:10px;height:2px;border-radius:999px;background:#fffffff5}.card-review-close:before{transform:translate(-50%,-50%) rotate(43deg)}.card-review-close:after{width:9px;transform:translate(-50%,-50%) rotate(-48deg)}.card-review-close:hover{transform:rotate(.5deg) scale(1.1);box-shadow:1px 2px #741e1f2e,0 5px 12px #962a2b33}.card-progress-track{margin:0 20px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--line-ink) 10%,transparent)}.card-progress-track span{display:block;height:100%;border-radius:inherit;background:var(--ink-button-2);transition:width .28s cubic-bezier(.16,.86,.2,1)}.card-review-main{min-height:0;display:grid;grid-template-columns:minmax(0,1fr)}.card-review-main.with-list{grid-template-columns:196px minmax(0,1fr)}.card-review-list{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);padding:14px 12px 12px 16px;border-right:1px solid color-mix(in srgb,var(--line-ink) 10%,transparent);background:linear-gradient(90deg,color-mix(in srgb,var(--surface-wash) 66%,transparent),color-mix(in srgb,var(--surface-wash) 26%,transparent))}.card-review-window.with-list .card-review-list{position:relative;z-index:2;height:calc(100% + 86px)}.card-review-list-title{display:flex;align-items:center;justify-content:space-between;padding:2px 7px 10px;color:var(--ink-faint);font-size:11px}.card-review-list-title strong{color:var(--ink-panel);font-family:Xiaolai,Microsoft YaHei,sans-serif;font-size:15px;font-weight:400}.card-review-list-scroll{min-height:0;display:grid;align-content:start;gap:7px;overflow:auto;padding:1px 5px 8px 1px}.card-review-list-scroll button{min-width:0;min-height:64px;display:grid;align-content:space-between;gap:8px;padding:11px 11px 9px;border:1px solid color-mix(in srgb,var(--line-ink) 11%,transparent);border-radius:10px 13px 9px 12px;background:color-mix(in srgb,var(--surface) 72%,transparent);color:var(--ink-panel);text-align:left;box-shadow:1px 2px color-mix(in srgb,var(--shadow-base) 3.5%,transparent);transition:transform .15s ease,border-color .15s ease,background .15s ease}.card-review-list-scroll button:hover{transform:translate(2px);border-color:#445b7733;background:color-mix(in srgb,var(--surface) 96%,transparent)}.card-review-list-scroll button.active{border-color:#355e8f66;background:color-mix(in srgb,var(--surface-wash) 95%,transparent);box-shadow:2px 2px #3d5b8017,inset 0 0 0 1px color-mix(in srgb,var(--surface) 75%,transparent)}.card-review-list-scroll button>strong{overflow:hidden;color:inherit;font-size:13px;font-weight:700;line-height:1.42;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.card-review-list-scroll button>small{overflow:hidden;color:var(--ink-faint);font-size:10px;line-height:1.35;text-align:right;text-overflow:ellipsis;white-space:nowrap}.card-review-stage{min-width:0;min-height:0;display:grid;grid-template-columns:46px minmax(0,1fr) 46px;align-items:stretch}.card-review-stage>.card-review-empty,.card-review-stage>.card-review-complete{grid-column:1 / -1}.card-step-button{align-self:center;justify-self:center;position:relative;width:34px;height:52px;padding:0;border:1px solid color-mix(in srgb,var(--line-ink) 13%,transparent);border-radius:16px 19px 15px 18px;background:color-mix(in srgb,var(--surface-wash) 90%,transparent);box-shadow:1px 2px color-mix(in srgb,var(--shadow-base) 6%,transparent);transition:transform .15s ease,background .15s ease,opacity .15s ease}.card-step-button:hover:not(:disabled){transform:translateY(-1px) scale(1.04);background:var(--surface)}.card-step-button:disabled{cursor:default;opacity:.24}.card-step-button span{position:absolute;top:50%;left:50%;width:10px;height:10px;border-top:2px solid #515c69;border-right:2px solid #515c69}.card-step-button.previous span{transform:translate(-38%,-50%) rotate(-135deg)}.card-step-button.next span{transform:translate(-62%,-50%) rotate(45deg)}.memory-card{align-self:stretch;justify-self:stretch;position:relative;min-height:0;margin:18px 8px 14px;cursor:pointer;transform-style:preserve-3d;transition:transform .52s cubic-bezier(.2,.72,.2,1)}.memory-card.flipped{transform:rotateY(180deg)}.memory-card-side{position:absolute;top:0;right:0;bottom:0;left:0;min-height:0;display:grid;align-content:center;overflow:hidden;padding:clamp(24px,5vw,54px);border:1.5px solid color-mix(in srgb,var(--line-ink) 24%,transparent);border-radius:18px 22px 17px 20px;background:linear-gradient(102deg,color-mix(in srgb,var(--line-ink) 1.2%,transparent),transparent 45%),var(--paper-fill);box-shadow:3px 4px color-mix(in srgb,var(--shadow-base) 7.5%,transparent),0 16px 36px color-mix(in srgb,var(--shadow-base) 11%,transparent),inset 0 0 0 4px color-mix(in srgb,var(--surface) 80%,transparent);backface-visibility:hidden}.memory-card-side:after{content:"";position:absolute;top:8px;right:9px;bottom:9px;left:8px;border:1px solid color-mix(in srgb,var(--line-ink) 6.5%,transparent);border-radius:14px 18px 13px 16px;pointer-events:none}.memory-card-back{align-content:start;display:flex;flex-direction:column;transform:rotateY(180deg)}.memory-card-label{position:absolute;top:20px;left:24px;color:var(--ink-ghost);font-size:12px}.memory-card-context{max-width:min(680px,88%);display:flex;flex-wrap:wrap;justify-content:center;gap:5px 12px;margin:0 auto 13px;color:var(--ink-faint);font-size:12px;line-height:1.45;text-align:center}.memory-card-context span{position:relative;max-width:310px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memory-card-context span+span:before{content:"·";margin-right:12px;color:var(--ink-ghost)}.memory-card-context.back-context{justify-content:flex-start;max-width:100%;margin:12px 0 2px;text-align:left}.memory-card-front h2{max-width:720px;margin:0 auto;color:var(--ink-strong);font-family:Xiaolai,Microsoft YaHei,sans-serif;font-size:32px;font-weight:400;line-height:1.45;text-align:center;overflow-wrap:anywhere}.memory-card-front p{position:absolute;right:25px;bottom:20px;margin:0;color:var(--ink-faint);font-family:Xiaolai,Microsoft YaHei,sans-serif;font-size:13px}.memory-card-back h4{margin:14px 0 18px;color:var(--ink-soft);font-size:14px;font-weight:650}.memory-card-answer{flex:1 1 auto;min-height:0;overflow:auto;padding-right:10px;color:var(--ink-body);font-family:Microsoft YaHei,PingFang SC,sans-serif;font-size:17px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.card-review-footer{min-height:86px;display:grid;place-items:center;padding:12px 22px 18px;margin-left:0}.card-review-window.with-list .card-review-footer{margin-left:196px}.card-reveal-button,.card-review-complete button{min-width:150px;padding:12px 24px;border:1px solid color-mix(in srgb,var(--line-ink) 85%,transparent);border-radius:13px 15px 12px 14px;background:var(--ink-button-2);color:var(--on-ink-button);font-weight:750;box-shadow:2px 3px color-mix(in srgb,var(--shadow-base) 16%,transparent)}.card-grade-actions{width:min(620px,100%);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.card-grade-actions button{min-height:54px;display:grid;align-content:center;gap:2px;padding:8px 12px;border:1px solid color-mix(in srgb,var(--line-ink) 14%,transparent);border-radius:12px 14px 11px 13px;background:color-mix(in srgb,var(--surface-wash) 92%,transparent);color:var(--ink-panel);box-shadow:1px 2px color-mix(in srgb,var(--shadow-base) 6%,transparent);transition:transform .15s ease,background .15s ease,border-color .15s ease}.card-grade-actions button b{font-size:14px}.card-grade-actions button span{color:var(--ink-ghost);font-size:11px}.card-grade-actions button:hover{transform:translateY(-2px) rotate(-.25deg)}.card-grade-actions .again:hover{border-color:#d543456b;background:color-mix(in srgb,var(--surface-wash) 95%,transparent)}.card-grade-actions .hard:hover{border-color:#d5962d6b;background:color-mix(in srgb,var(--surface-wash) 96%,transparent)}.card-grade-actions .good:hover{border-color:#3e8b5b66;background:color-mix(in srgb,var(--surface-wash) 96%,transparent)}.card-grade-actions .easy:hover{border-color:#4070a666;background:color-mix(in srgb,var(--surface-wash) 96%,transparent)}.card-review-empty,.card-review-complete{display:grid;place-items:center;align-content:center;gap:10px;color:var(--ink-soft);text-align:center}.card-review-empty h3,.card-review-complete h3{margin:0;color:var(--ink-body);font-family:Xiaolai,Microsoft YaHei,sans-serif;font-size:26px;font-weight:400}.card-review-complete>span{color:color-mix(in srgb,var(--ink-soft) 36%,transparent);font-family:Xiaolai,sans-serif;font-size:82px;line-height:1}@keyframes card-review-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes card-review-window-in{0%{opacity:0;transform:translateY(12px) scale(.97)}68%{opacity:1;transform:translateY(-2px) scale(1.008)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:700px){.card-review-overlay{padding:10px}.card-review-window{min-height:420px;border-radius:17px 19px 16px 18px}.card-review-header{min-height:104px;grid-template-columns:minmax(0,1fr) 24px;gap:9px;padding:12px 14px 10px 16px}.card-review-tools{grid-column:1 / -1;grid-row:2;align-items:stretch}.card-order-picker,.card-order-picker button{flex:1}.card-review-close{grid-column:2;grid-row:1}.card-review-main.with-list{grid-template-columns:1fr;grid-template-rows:106px minmax(0,1fr)}.card-review-list{grid-template-rows:auto minmax(0,1fr);padding:8px 10px 6px;border-right:0;border-bottom:1px solid color-mix(in srgb,var(--line-ink) 10%,transparent)}.card-review-window.with-list .card-review-list{height:auto}.card-review-list-title{padding:0 5px 5px}.card-review-list-scroll{display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;padding:0 4px 5px}.card-review-list-scroll button{width:164px;min-width:164px;min-height:58px;padding:8px 9px 7px}.card-review-stage{grid-template-columns:35px minmax(0,1fr) 35px}.card-step-button{width:29px;height:46px}.memory-card{margin:10px 3px 8px}.memory-card-side{padding:38px 22px 28px}.memory-card-front h2{font-size:25px}.memory-card-context{max-width:94%;font-size:11px}.memory-card-answer{font-size:15px;line-height:1.75}.card-review-footer,.card-review-window.with-list .card-review-footer{min-height:126px;margin-left:0;padding:10px 14px 14px}.card-grade-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.card-grade-actions button{min-height:46px}}.card-group-dialog-backdrop{position:fixed;z-index:1600;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:color-mix(in srgb,var(--shadow-base) 16%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.card-group-dialog{width:min(420px,calc(100vw - 36px));max-height:min(560px,calc(100vh - 36px));padding:18px;border:1px solid color-mix(in srgb,var(--line-ink) 24%,transparent);border-radius:15px 18px 14px 17px;background:repeating-linear-gradient(0deg,transparent 0 27px,color-mix(in srgb,var(--line-ink) 4%,transparent) 27px 28px),var(--paper-fill, var(--surface));box-shadow:4px 5px color-mix(in srgb,var(--shadow-base) 8%,transparent),0 22px 60px color-mix(in srgb,var(--shadow-base) 20%,transparent);animation:card-group-dialog-in .22s cubic-bezier(.2,.84,.24,1.08)}.card-group-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.card-group-dialog h3{margin:0 0 3px;color:var(--ink-panel);font-size:21px}.card-group-dialog header span{color:var(--ink-soft);font-size:12px}.card-group-dialog-close{position:relative;flex:0 0 auto;width:22px;height:22px;padding:0;border:1.5px solid rgba(137,30,32,.76);border-radius:48% 52% 46% 54%/52% 45% 55% 48%;background:#e85659;box-shadow:1px 2px #62191b29;transition:transform .15s ease}.card-group-dialog-close:before,.card-group-dialog-close:after{content:"";position:absolute;top:9px;left:5px;width:10px;height:2px;border-radius:2px;background:#fff}.card-group-dialog-close:before{transform:rotate(45deg)}.card-group-dialog-close:after{transform:rotate(-45deg)}.card-group-dialog-close:hover{transform:scale(1.08) rotate(-2deg)}.card-group-dialog form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.card-group-dialog input{min-width:0;height:44px;padding:0 13px;border:1px solid color-mix(in srgb,var(--line-ink) 18%,transparent);border-radius:10px 12px 9px 11px;background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--ink-panel);font:inherit;outline:none}.card-group-dialog input:focus{border-color:color-mix(in srgb,#4d8fda 65%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,#4d8fda 14%,transparent)}.card-group-dialog-list{display:grid;gap:7px;max-height:min(400px,calc(100vh - 150px));overflow-y:auto}.card-group-dialog-list button{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid color-mix(in srgb,var(--line-ink) 10%,transparent);border-radius:9px 11px 8px 10px;background:color-mix(in srgb,var(--surface-wash) 84%,transparent);color:var(--ink-panel);text-align:left}.card-group-dialog-list button:hover{transform:translateY(-1px) rotate(-.15deg);background:color-mix(in srgb,var(--tint-yellow-solid) 34%,var(--surface))}.card-group-dialog-list small{color:var(--ink-soft);white-space:nowrap}.card-group-manager-backdrop{z-index:1880}.card-group-manager{width:min(560px,calc(100vw - 36px))}.card-group-manager-list{display:grid;gap:9px;max-height:min(480px,calc(100vh - 150px));overflow-y:auto;padding:2px 3px 4px 1px}.card-group-manager-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 13px;border:1px solid color-mix(in srgb,var(--line-ink) 11%,transparent);border-radius:10px 13px 9px 12px;background:color-mix(in srgb,var(--surface-wash) 82%,transparent);box-shadow:1px 2px color-mix(in srgb,var(--shadow-base) 5%,transparent)}.card-group-manager-main{position:relative;min-width:0;padding-bottom:14px}.card-group-manager-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.card-group-manager-heading strong{min-width:0;overflow:hidden;color:var(--ink-panel);font-size:15px;text-overflow:ellipsis;white-space:nowrap}.card-group-manager-heading span,.card-group-progress-label{color:var(--ink-soft);font-size:11px;white-space:nowrap}.card-group-progress-line{height:5px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--line-ink) 8%,transparent)}.card-group-progress-line>span{display:block;height:100%;border-radius:inherit;background:color-mix(in srgb,#55ad79 64%,var(--tint-yellow-solid));transition:width .24s cubic-bezier(.2,.8,.2,1)}.card-group-progress-label{position:absolute;right:0;bottom:-1px}.card-group-manager-actions{display:flex;align-items:center;gap:6px}.card-group-manager-actions button,.card-group-rename-form button{min-height:31px;padding:5px 9px;border-radius:8px 10px 7px 9px;background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--ink-mid);font-size:11px;font-weight:700}.card-group-manager-actions button:hover,.card-group-rename-form button:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--tint-yellow-solid) 34%,var(--surface))}.card-group-manager-actions .danger{background:color-mix(in srgb,#e85659 16%,var(--surface));color:#a53538}.card-group-delete-button{position:relative;width:31px;min-width:31px;padding:0!important}.card-group-delete-button:before{content:"";position:absolute;left:10px;top:10px;width:9px;height:10px;border:1.5px solid #b44b4e;border-top:0;border-radius:0 0 2px 2px}.card-group-delete-button:after{content:"";position:absolute;left:9px;top:7px;width:11px;height:2px;border-top:1.5px solid #b44b4e;box-shadow:3px -2px 0 -1px #b44b4e}.card-group-rename-form{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;margin-bottom:8px}.card-group-rename-form input{min-width:0;height:32px;padding:0 9px;border:1px solid color-mix(in srgb,var(--line-ink) 18%,transparent);border-radius:7px 9px 6px 8px;background:var(--surface);color:var(--ink-panel);font:inherit;outline:none}.card-group-rename-form input:focus{border-color:color-mix(in srgb,#4d8fda 62%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,#4d8fda 12%,transparent)}.card-group-name-error{display:block;margin:-4px 0 7px;color:#b44346;font-size:11px}.card-group-manager-empty{margin:22px 0;color:var(--ink-soft);text-align:center}@keyframes card-group-dialog-in{0%{opacity:0;transform:translateY(8px) scale(.97) rotate(-.2deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}@media(max-width:640px){.mobile-layout .card-group-manager{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:14px}.mobile-layout .card-group-manager-row{grid-template-columns:1fr;gap:7px;padding:10px 11px}.mobile-layout .card-group-manager-actions{justify-content:flex-end}.mobile-layout .card-group-rename-form{grid-template-columns:minmax(0,1fr) auto}.mobile-layout .card-group-rename-form button:last-child{grid-column:2}}.project-switcher{position:relative;flex:0 0 auto}.project-switcher-button{width:36px;height:36px;display:grid;place-items:center;padding:1px;border:1px solid transparent;border-radius:50%;background:color-mix(in srgb,var(--surface-wash) 52%,transparent);cursor:pointer;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease}.project-switcher-button:hover{border-color:color-mix(in srgb,var(--line-ink) 24%,transparent);background:color-mix(in srgb,var(--surface-wash) 90%,transparent);box-shadow:0 2px 9px color-mix(in srgb,var(--shadow-base) 15%,transparent)}.project-switcher-button:focus-visible{outline:2px solid var(--accent-ink, color-mix(in srgb, var(--line-ink) 70%, transparent));outline-offset:2px}.project-switcher-button .map-brand-icon{width:32px;height:32px;object-fit:contain}html.project-switch-transition .project-switcher-button .project-switcher-icon-active{view-transition-name:project-switcher-icon}@media(prefers-reduced-motion:reduce){.project-switcher-button{transition:none}}.mobile-tools-trigger,.mobile-bottom-nav,.mobile-tools-backdrop,.mobile-tools-sheet{display:none}.mobile-layout .mobile-tools-trigger{width:44px;min-width:44px;height:44px;min-height:44px;display:grid;place-items:center;margin-left:auto;padding:0;border:1px solid color-mix(in srgb,var(--line-ink) 11%,transparent);border-radius:13px 11px 14px 10px;background:color-mix(in srgb,var(--surface) 82%,transparent);color:var(--ink-mid);box-shadow:1px 3px 10px color-mix(in srgb,var(--shadow-base) 7%,transparent);font-size:0}.mobile-layout .mobile-tools-trigger span{width:22px;height:7px;display:block;background:radial-gradient(circle at 3.5px 3.5px,currentColor 0 2.5px,transparent 2.7px),radial-gradient(circle at 11px 3.5px,currentColor 0 2.5px,transparent 2.7px),radial-gradient(circle at 18.5px 3.5px,currentColor 0 2.5px,transparent 2.7px)}.mobile-layout .mobile-tools-trigger.active{background:var(--ink-button-3);color:var(--on-ink-button)}.mobile-layout .map-header-actions{display:none}.mobile-layout .mobile-bottom-nav{position:absolute;z-index:2147483300;right:10px;bottom:max(9px,env(safe-area-inset-bottom));left:10px;height:58px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding:5px;border:1px solid color-mix(in srgb,var(--line-ink) 11%,transparent);border-radius:20px 22px 18px 21px;background:color-mix(in srgb,var(--surface-wash) 96%,transparent);box-shadow:2px 4px color-mix(in srgb,var(--shadow-base) 7%,transparent),0 14px 36px color-mix(in srgb,var(--shadow-base) 18%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.mobile-layout .mobile-bottom-nav button{min-width:0;display:grid;grid-template-rows:20px 16px;place-items:center;gap:1px;padding:3px 2px;border-radius:14px 12px 15px 11px;background:transparent;color:var(--ink-faint);font-size:11px;line-height:1}.mobile-layout .mobile-bottom-nav button span{font-family:Excalifont,Xiaolai,sans-serif;font-size:20px;line-height:1}.mobile-layout .mobile-bottom-nav button.active{background:var(--ink-button-3);color:var(--on-ink-button);box-shadow:1px 2px color-mix(in srgb,var(--shadow-base) 15%,transparent)}.mobile-layout .mobile-tools-backdrop{position:absolute;z-index:2147483390;top:56px;right:0;bottom:0;left:0;display:block;padding:0;border-radius:0;background:color-mix(in srgb,var(--line-ink) 18%,transparent);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.mobile-layout .mobile-tools-sheet{position:absolute;z-index:2147483400;right:8px;bottom:calc(76px + env(safe-area-inset-bottom));left:8px;max-height:min(72dvh,650px);display:grid;gap:12px;padding:15px;overflow:auto;overscroll-behavior:contain;border:1px solid color-mix(in srgb,var(--line-ink) 16%,transparent);border-radius:20px 23px 18px 21px;background:linear-gradient(96deg,color-mix(in srgb,var(--line-ink) 1.2%,transparent),transparent 38%),#fdfdfc;box-shadow:2px 4px color-mix(in srgb,var(--shadow-base) 7%,transparent),0 24px 64px color-mix(in srgb,var(--shadow-base) 23%,transparent);animation:mobile-sheet-in .24s cubic-bezier(.2,.82,.24,1.04)}@keyframes mobile-sheet-in{0%{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.mobile-tools-heading{display:flex;align-items:center;justify-content:space-between;min-height:38px;border-bottom:1px solid color-mix(in srgb,var(--line-ink) 9%,transparent)}.mobile-tools-heading h3{margin:0;font-family:Xiaolai,PingFang SC,sans-serif;font-size:21px;font-weight:400}.mobile-tools-heading button{width:44px;height:44px;padding:0;border-radius:50%;border:1px solid color-mix(in srgb,var(--line-ink) 18%,transparent);background:var(--surface-wash);color:var(--ink-soft);font-size:18px;line-height:1;box-shadow:1px 2px color-mix(in srgb,var(--shadow-base) 8%,transparent)}.mobile-canvas-settings{border:1px solid color-mix(in srgb,var(--line-ink) 9%,transparent);border-radius:12px 15px 11px 14px;background:color-mix(in srgb,var(--surface-wash) 72%,transparent)}.mobile-canvas-settings>summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;padding:9px 12px;color:var(--ink-panel);font-weight:700;list-style:none;cursor:pointer}.mobile-canvas-settings>summary::-webkit-details-marker{display:none}.mobile-canvas-settings>summary:after{content:"⌄";color:var(--ink-ghost)}.mobile-canvas-settings[open]>summary:after{transform:rotate(180deg)}.mobile-canvas-settings-body{display:grid;gap:8px;padding:0 10px 10px}.mobile-canvas-settings .canvas-switcher-search{background:var(--surface)}.mobile-canvas-settings .canvas-manager-list{max-height:240px;margin:0;align-content:start;overflow-y:auto;overscroll-behavior:contain}.mobile-canvas-settings .canvas-item-actions{opacity:1}.mobile-canvas-settings .canvas-manager-handle{cursor:default}.mobile-canvas-settings .canvas-import-button{width:100%}.mobile-tools-toggle{min-height:48px;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:12px 14px 11px 13px;background:var(--surface-wash)}.mobile-tools-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-tools-actions button,.mobile-ai-settings>summary{min-height:44px;display:grid;place-items:center;padding:9px 12px;border:1px solid color-mix(in srgb,var(--line-ink) 10%,transparent);border-radius:12px 10px 13px 9px;background:var(--surface-wash);color:var(--ink-panel);font-weight:700}.mobile-ai-settings>summary{cursor:pointer;list-style:none}.mobile-ai-settings>summary::-webkit-details-marker{display:none}.mobile-ai-settings .settings-panel{position:static;width:100%;max-height:none;margin-top:8px;box-shadow:none}.mobile-ai-settings .learning-stats-panel{margin-top:8px}@media(hover:none),(pointer:coarse){.canvas-node.selected .connection-handle,.canvas-node.selected .resize-handle,.canvas-plane.is-connecting .connection-handle{opacity:1}.connection-handle{right:-14px;width:28px;min-width:28px;height:28px;min-height:28px;background:transparent}.connection-handle:after{content:"";position:absolute;left:10px;top:10px;width:8px;height:8px;border-radius:50%;background:color-mix(in srgb,var(--line-ink) 50%,transparent)}.edge-end-handle{width:28px;min-width:28px;height:28px;min-height:28px;background:transparent;transform:translate(-10px,-10px) translate3d(var(--node-drag-x, 0),var(--node-drag-y, 0),0)}.edge-end-handle:after{content:"";position:absolute;left:10px;top:10px;width:8px;height:8px;border-radius:50%;background:color-mix(in srgb,var(--line-ink) 48%,transparent)}.resize-handle{right:-2px;bottom:-2px;width:30px;min-width:30px;height:30px;min-height:30px;border:0}.resize-handle:after{content:"";position:absolute;right:7px;bottom:7px;width:10px;height:10px;border-right:2px solid color-mix(in srgb,var(--line-ink) 58%,transparent);border-bottom:2px solid color-mix(in srgb,var(--line-ink) 58%,transparent);border-radius:0 0 4px}.zoom-controls button,.window-minimize,.map-toolbar button,.practice-resize{min-width:44px;min-height:44px}}.mobile-mode-title,.mobile-preview-toggle{display:none}.mobile-preview-toggle{position:fixed;z-index:2147483600;right:24px;bottom:24px;min-height:42px;padding:9px 15px;border:1px solid color-mix(in srgb,var(--line-ink) 16%,transparent);border-radius:14px 12px 15px 11px;background:color-mix(in srgb,var(--surface) 96%,transparent);color:var(--ink-secondary);box-shadow:2px 4px color-mix(in srgb,var(--shadow-base) 7%,transparent),0 14px 36px color-mix(in srgb,var(--shadow-base) 16%,transparent);font-weight:700}.map-page:not(.mobile-layout)>.mobile-preview-toggle,.map-page.mobile-preview>.mobile-preview-toggle{display:block}.mobile-preview-toggle.active{background:var(--ink-button-3);color:var(--on-ink-button)}.map-app:has(.mobile-preview){display:grid;place-items:center;padding:16px;background:var(--surface-preview)}.map-page.mobile-preview{width:412px;max-width:calc(100vw - 32px);height:min(915px,calc(100dvh - 32px));overflow:hidden;border:1px solid color-mix(in srgb,var(--line-ink) 20%,transparent);border-radius:34px;background:var(--surface-wash-alt);box-shadow:0 30px 90px color-mix(in srgb,var(--shadow-base) 24%,transparent),inset 0 0 0 5px color-mix(in srgb,var(--surface) 62%,transparent)}.map-page.mobile-layout{position:relative;isolation:isolate;grid-template-rows:minmax(0,1fr);gap:0;min-height:0;background:var(--surface-wash)}.mobile-layout .map-header{top:0;left:0;right:0;z-index:2147483100;min-height:56px;padding:max(8px,env(safe-area-inset-top)) 12px 7px;align-items:center;border-bottom:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.mobile-layout .exam-countdown{top:calc(100% + 5px);font-size:11px}.mobile-layout .map-brand{width:100%;gap:10px;padding:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.mobile-layout .map-brand>.mode-toggle{display:none}.mobile-layout .mobile-mode-title{min-width:0;display:block;flex:1 1 auto;overflow:hidden;color:var(--ink-secondary);font-family:Xiaolai,PingFang SC,sans-serif;font-size:18px;text-overflow:ellipsis;white-space:nowrap;padding:0;border:0;background:transparent;text-align:left}.mobile-layout .canvas-item-actions{opacity:1}.mobile-layout .node-search-trigger{width:44px;min-width:44px;height:44px;min-height:44px;justify-content:center;padding:0;font-size:0;border-radius:13px 11px 14px 10px}.mobile-layout .node-search-trigger svg{width:20px;height:20px}.mobile-layout .node-search-panel{top:calc(100% + 8px);width:min(310px,calc(100vw - 24px));max-height:min(58dvh,480px)}.mobile-layout .map-header-actions{position:static;display:contents;max-width:none;padding:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.mobile-layout .desktop-theme-toggle{display:none}.mobile-layout .mode-toggle{position:absolute;z-index:2147483300;right:70px;bottom:max(9px,env(safe-area-inset-bottom));left:10px;height:54px;justify-content:stretch;gap:2px;padding:5px;border:1px solid color-mix(in srgb,var(--line-ink) 9%,transparent);background:color-mix(in srgb,var(--surface-wash) 95%,transparent);box-shadow:0 12px 34px color-mix(in srgb,var(--shadow-base) 18%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.mobile-layout .mode-toggle button{flex:1 1 0;min-width:0;min-height:42px;padding:7px 5px;font-size:14px}.mobile-layout .annotation-toggle-button{position:absolute;z-index:2147483300;right:10px;bottom:max(9px,env(safe-area-inset-bottom));width:52px;min-width:52px;height:54px;padding:0;border:1px solid color-mix(in srgb,var(--line-ink) 9%,transparent);background:color-mix(in srgb,var(--surface-wash) 95%,transparent);box-shadow:0 12px 34px color-mix(in srgb,var(--shadow-base) 18%,transparent);font-size:13px}.mobile-layout .annotation-toggle-button.active{background:#1f7aff}.mobile-layout .hammer-settings,.mobile-layout .ai-settings{position:absolute;z-index:2147483200;top:max(8px,env(safe-area-inset-top))}.mobile-layout .hammer-settings{right:10px}.mobile-layout .ai-settings{right:58px}.mobile-layout .hammer-identify-button,.mobile-layout .ai-settings>summary{width:40px;min-width:40px;height:40px;min-height:40px;padding:0;border-radius:13px 11px 14px 10px}.mobile-layout .hammer-identify-button img{width:21px;height:21px}.mobile-layout .hammer-settings-panel,.mobile-layout .ai-settings[open]>.settings-panel{position:fixed;top:calc(58px + env(safe-area-inset-top));right:10px;left:10px;width:auto;max-height:calc(100dvh - 142px - env(safe-area-inset-bottom));overflow:auto}.mobile-layout .map-workspace{min-height:0;padding-bottom:0;overflow:hidden;border-radius:0;clip-path:none;-webkit-clip-path:none;-webkit-mask-image:none}.mobile-layout .map-canvas{border-radius:0}.mobile-layout .zoom-controls{display:none}.mobile-layout .floating-practice{position:absolute;z-index:2147483000;right:8px!important;bottom:calc(78px + env(safe-area-inset-bottom))!important;left:8px!important;top:auto!important;width:auto!important;height:min(46dvh,430px)!important;max-height:calc(100dvh - 150px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:20px 22px 17px 19px;transform-origin:50% 100%;transition:height .22s cubic-bezier(.2,.78,.24,1),opacity .18s ease,transform .22s ease}.mobile-layout .floating-practice.mode-practice.page-result{height:min(74dvh,690px)!important}.mobile-layout .floating-practice.mode-edit{height:min(52dvh,490px)!important}.mobile-layout .floating-practice.panel-hidden{opacity:0;transform:translate3d(0,28px,0) scale(.985)}.mobile-layout .practice-window-bar{min-height:46px;padding:7px 12px 6px 15px;cursor:default;touch-action:auto}.mobile-layout .practice-window-bar h3{font-size:19px}.mobile-layout .practice-window-actions{gap:7px}.mobile-layout .practice-header-action{flex-basis:44px;width:44px;min-width:44px;height:44px;min-height:44px;padding:11px;border-radius:9px}.mobile-layout .practice-window-body{padding:11px 13px 68px;overscroll-behavior:contain}.mobile-layout .practice-answer-input{min-height:100%;resize:none}.mobile-layout .panel-side-mode-toggle{top:-46px;right:8px;width:38px;height:38px}.mobile-layout .practice-cloze-hint{top:-46px;right:54px}.mobile-layout .reconstruction-answer{padding:13px;border-radius:15px;font-size:15px}.mobile-layout .reconstruction-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.mobile-layout .reconstruction-option{min-height:42px}.mobile-layout .reconstruction-choice-tray{grid-template-columns:minmax(0,1fr) 38px;gap:6px}.mobile-layout .practice-resize{display:none}.mobile-layout .floating-action-dock,.mobile-layout .floating-practice-dock{right:auto;bottom:8px;left:8px;width:max-content;max-width:calc(100% - 82px);min-height:0;padding:5px}.mobile-layout .practice-page-dock{right:8px;bottom:8px;min-width:0;padding:4px}.mobile-layout .ai-analysis-dock{left:12px;top:calc(100% + 8px)}.mobile-layout .practice-page-dock button{width:38px;min-width:38px;height:38px}.mobile-layout .practice-reset-dock{right:12px;bottom:66px}.mobile-layout .editor-drawer:not(.property-drawer):not(.review-log-window){position:absolute!important;z-index:2147483400!important;top:max(7px,env(safe-area-inset-top))!important;right:7px!important;bottom:calc(74px + env(safe-area-inset-bottom))!important;left:7px!important;width:auto!important;height:auto!important;max-height:none!important;border-radius:20px 22px 17px 19px;overscroll-behavior:contain}.mobile-layout .editor-drawer:not(.property-drawer):not(.review-log-window)>.section-row{position:sticky;z-index:8;top:calc(clamp(16px,2.3vw,22px)*-1);background:color-mix(in srgb,var(--surface) 96%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-layout .review-log-window .review-log-list.full{padding-bottom:18px}.mobile-layout .context-menu{z-index:2147483500;right:10px!important;bottom:calc(76px + env(safe-area-inset-bottom))!important;left:10px!important;top:auto!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:10px;border-radius:16px 18px 15px 17px}.mobile-layout .context-menu button{min-height:46px;text-align:center}.mobile-preview .context-menu{position:absolute}@media(max-width:640px){.map-app{min-height:100dvh;padding:0}.map-page.mobile-layout{width:100%;height:100dvh;border-radius:0}.mobile-preview-toggle{display:none!important}}.map-page.mobile-layout .map-header-actions{display:none!important}.map-page.mobile-layout .map-brand{width:100%}.mobile-layout .card-review-overlay{z-index:2147483450;top:0;right:0;bottom:0;left:0;padding:0;background:var(--paper-fill);-webkit-backdrop-filter:none;backdrop-filter:none}.map-page.mobile-layout.card-review-mode{grid-template-rows:minmax(0,1fr)}.mobile-layout.card-review-mode>.map-header{display:none}.mobile-layout .card-review-window,.mobile-layout .card-review-window.with-list{width:100%;min-height:0;height:100%;grid-template-rows:auto 3px minmax(0,1fr) auto;border:0;border-radius:0;box-shadow:none}.mobile-layout .card-review-window:before{display:none}.mobile-layout .card-review-header{grid-template-columns:minmax(0,1fr) 38px 38px;grid-template-rows:auto;gap:8px;min-height:58px;padding:max(9px,env(safe-area-inset-top)) 12px 8px 16px}.mobile-layout .card-review-header>div:first-child{min-width:0;padding-right:0}.mobile-layout .card-review-header h3{display:none}.mobile-layout .card-review-header>div:first-child>span{display:block;color:var(--ink-faint);font-size:12px}.mobile-layout .card-review-tools{display:none}.mobile-layout .card-list-trigger,.mobile-layout .card-filter-trigger{width:auto;min-width:0;height:36px;min-height:36px;padding:0 5px}.mobile-layout .card-order-picker{width:100%;min-width:0;display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:2px;padding:3px}.mobile-layout .card-order-picker button{min-width:0;min-height:28px;padding:4px 2px;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.mobile-layout .card-filter-menu{min-width:0}.mobile-layout .card-filter-trigger{width:100%;font-size:10px}.mobile-layout .card-filter-popover{right:0;width:min(260px,calc(100vw - 44px))}.mobile-layout .card-reconstruction-toggle,.mobile-layout .card-review-close{align-self:center;width:36px;min-width:36px;height:36px;min-height:36px}.mobile-layout .card-reconstruction-toggle{grid-column:2;position:relative;display:grid;place-items:center;padding:0;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line-ink));border-radius:10px 12px 9px 11px;background:color-mix(in srgb,var(--surface-wash) 92%,transparent);color:var(--ink-mid);box-shadow:1px 2px color-mix(in srgb,var(--shadow-base) 7%,transparent)}.mobile-layout .card-reconstruction-toggle>span{width:18px;height:18px;display:grid;grid-template-columns:repeat(2,1fr);gap:2px}.mobile-layout .card-reconstruction-toggle i{border:1.5px solid currentColor;border-radius:2px}.mobile-layout .card-reconstruction-toggle.active{background:color-mix(in srgb,var(--accent) 17%,var(--surface));color:color-mix(in srgb,var(--accent) 76%,var(--ink-body));transform:rotate(-2deg)}.mobile-layout .card-reconstruction-toggle:disabled{opacity:.32}.mobile-layout .card-review-close{grid-column:3;display:block;justify-self:end}.mobile-layout .card-review-main,.mobile-layout .card-review-main.with-list{min-height:0;grid-template-columns:minmax(0,1fr)}.mobile-layout .card-review-main.with-list{grid-template-columns:1fr;grid-template-rows:108px minmax(0,1fr)}.mobile-layout .card-review-list,.mobile-layout .card-review-window.with-list .card-review-list{width:auto;height:auto;padding:7px 8px 3px;border-right:0;border-bottom:1px solid color-mix(in srgb,var(--line-ink) 8%,transparent)}.mobile-layout .card-review-list-title{padding:0 4px 4px}.mobile-layout .card-review-list-scroll{display:flex;gap:6px;padding:0 2px 5px;overflow-x:auto;overflow-y:hidden}.mobile-layout .card-review-list-scroll button{width:164px;min-width:164px;min-height:58px;padding:8px 9px 7px}.mobile-layout .card-review-stage{grid-template-columns:minmax(0,1fr);gap:0;padding:0}.mobile-layout .card-step-button{display:none}.mobile-layout .memory-card{grid-column:1;margin:8px 10px 10px}.mobile-layout .memory-card-side{padding:42px 24px 28px;border-radius:18px 21px 17px 20px}.mobile-layout .memory-card-label{top:15px;left:17px;font-size:11px}.mobile-layout .memory-card-front h2{font-size:clamp(29px,8.2vw,38px);line-height:1.48}.mobile-layout .memory-card-back{padding:42px 22px 20px}.mobile-layout .memory-card-back h4{flex:0 0 auto;margin:3px 0 13px;font-size:18px;line-height:1.5}.mobile-layout .memory-card-answer{padding:4px 8px 10px 0;font-size:clamp(19px,5vw,23px);line-height:1.82;overscroll-behavior:contain}.mobile-layout .card-review-footer,.mobile-layout .card-review-window.with-list .card-review-footer{min-height:70px;margin-left:0;padding:7px 12px max(10px,env(safe-area-inset-bottom))}.mobile-layout .card-grade-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.mobile-layout .card-grade-actions button{min-height:44px;padding:7px 3px;border-radius:10px 12px 9px 11px}.mobile-layout .card-grade-actions button b{font-size:13px}.mobile-layout .card-reconstruction-panel{grid-column:1;min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,2fr) minmax(190px,1fr);gap:10px;padding:8px 12px max(12px,env(safe-area-inset-bottom))}.mobile-layout .card-reconstruction-question{min-width:0;padding:2px 5px 0}.mobile-layout .card-reconstruction-question>span{color:var(--ink-ghost);font-size:11px}.mobile-layout .card-reconstruction-question h2{margin:5px 0 0;color:var(--ink-strong);font-family:Xiaolai,Microsoft YaHei,sans-serif;font-size:clamp(23px,6.4vw,31px);font-weight:400;line-height:1.45}.mobile-layout .card-reconstruction-answer{min-height:0;overflow:auto;padding:18px 17px;border:1px solid color-mix(in srgb,var(--line-ink) 14%,transparent);border-radius:16px 19px 15px 18px;background:color-mix(in srgb,var(--surface) 82%,transparent);color:var(--ink-body);box-shadow:2px 3px color-mix(in srgb,var(--shadow-base) 5%,transparent),inset 0 0 0 3px color-mix(in srgb,var(--surface) 46%,transparent);font-size:clamp(18px,4.8vw,22px);line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere}.mobile-layout .card-reconstruction-choice-zone{position:relative;min-height:0;display:grid;place-items:stretch;padding:12px 48px 4px 0;border-top:1px solid color-mix(in srgb,var(--line-ink) 8%,transparent)}.mobile-layout .card-reconstruction-options{min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(70px,1fr));gap:10px}.mobile-layout .card-reconstruction-option{min-height:70px;padding:10px 12px;border-radius:14px 17px 13px 16px;background:linear-gradient(112deg,color-mix(in srgb,var(--accent) 7%,transparent),transparent 60%),color-mix(in srgb,var(--surface-wash) 88%,var(--surface));box-shadow:2px 3px color-mix(in srgb,var(--shadow-base) 7%,transparent),0 10px 24px color-mix(in srgb,var(--shadow-base) 8%,transparent)}.mobile-layout .card-reconstruction-option span{font-family:Xiaolai,Microsoft YaHei,sans-serif;font-size:clamp(18px,5vw,22px)}.mobile-layout .card-reconstruction-undo{position:absolute;right:0;top:12px;bottom:4px;width:38px;padding:0;border:1px solid color-mix(in srgb,var(--line-ink) 11%,transparent);border-radius:12px 14px 11px 13px;background:color-mix(in srgb,var(--surface-wash) 88%,var(--surface));color:var(--ink-mid);font-size:22px}.mobile-layout .card-reconstruction-undo:disabled{opacity:.3}.mobile-layout .card-reconstruction-reveal{align-self:center;justify-self:center;min-width:154px;min-height:50px;padding:12px 24px;border:1px solid color-mix(in srgb,var(--line-ink) 82%,transparent);border-radius:13px 16px 12px 15px;background:var(--ink-button-2);color:var(--on-ink-button);font-size:16px;font-weight:750;box-shadow:2px 3px color-mix(in srgb,var(--shadow-base) 14%,transparent)}.ai-analysis-duration{display:block;margin:8px 4px 0 auto;color:var(--ink-ghost);font-size:11px;text-align:right}@media(max-width:640px){.learning-today{grid-template-columns:1fr}.learning-today-empty{grid-column:auto}.learning-calendar-heading{top:0;padding:8px 0}.learning-stats-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-calendar{gap:3px}.learning-calendar-day,.learning-calendar-empty{min-height:58px}.learning-calendar-day{gap:3px;padding:5px 3px}.learning-calendar-day.today:after{content:"";width:5px;height:5px;top:5px;right:5px;border-radius:50%;background:var(--accent)}.learning-calendar-day div span{gap:2px;font-size:8px}}.mobile-tools-sheet .card-font-picker{display:flex;align-items:center;justify-content:space-between;gap:12px}.learning-stats-panel .learning-calendar .learning-calendar-day>.learning-calendar-open{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-height:0;padding:0;border:0;border-radius:inherit;background:transparent;box-shadow:none;cursor:pointer}.learning-calendar-open:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.learning-calendar-day:focus-within .learning-calendar-tooltip{visibility:visible;animation:learning-calendar-tooltip-pop .19s ease-out forwards}.learning-day-backdrop{position:fixed;z-index:2147483610;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:color-mix(in srgb,var(--shadow-base) 8%,transparent);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.learning-day-window{box-sizing:border-box;display:flex;flex-direction:column;width:min(1120px,92%);height:min(820px,calc(100dvh - 40px));padding:12px;border:1px solid color-mix(in srgb,var(--line-ink) 12%,transparent);border-radius:24px;background:color-mix(in srgb,var(--surface) 34%,transparent);-webkit-backdrop-filter:blur(20px) saturate(1.15);backdrop-filter:blur(20px) saturate(1.15);box-shadow:0 16px 44px color-mix(in srgb,var(--shadow-base) 15%,transparent),inset 0 1px color-mix(in srgb,var(--surface) 78%,transparent);animation:learning-day-enter .18s ease-out both}.learning-day-header{display:flex;flex:0 0 auto;align-items:center;gap:10px;min-height:48px;padding:0 8px 12px}.learning-day-header h3{flex:1;margin:0;color:var(--ink-strong);font-size:18px;font-weight:600}.learning-day-header .window-minimize{position:relative;inset:auto}.learning-day-back{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:50%;color:var(--ink-secondary);background:color-mix(in srgb,var(--surface) 50%,transparent);cursor:pointer}.learning-day-back:focus-visible,.learning-day-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.learning-day-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:20px;border-radius:16px;background:color-mix(in srgb,var(--surface) 68%,transparent);-webkit-backdrop-filter:blur(26px) saturate(1.15);backdrop-filter:blur(26px) saturate(1.15)}.learning-day-body>section,.learning-day-empty{animation:learning-day-content-enter .18s ease-out both}.learning-day-hour+.learning-day-hour{margin-top:18px;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--line-ink) 8%,transparent)}.learning-day-hour h4{margin:0 0 10px;color:var(--ink-muted);font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}.learning-day-cards{display:flex;flex-wrap:wrap;gap:20px}.learning-day-session{display:flex;flex-wrap:wrap;row-gap:12px;max-width:100%;padding-inline-end:8px;isolation:isolate}.learning-day-card{position:relative;flex:0 0 auto;width:clamp(88px,8vw,112px);margin-inline-end:-8px;display:flex;flex-direction:column;justify-content:space-between;gap:6px;min-width:0;height:74px;padding:9px;border:1px solid color-mix(in srgb,var(--line-ink) 9%,transparent);border-radius:10px;color:var(--ink-secondary);background:color-mix(in srgb,var(--surface) 80%,transparent);box-shadow:inset 0 1px color-mix(in srgb,var(--surface) 60%,transparent),0 2px 5px color-mix(in srgb,var(--shadow-base) 6%,transparent);text-align:left;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.learning-day-card.stale-yellow{background:var(--graph-node-yellow)}.learning-day-card.stale-red{background:var(--graph-node-red)}.learning-day-card.stale-blue{background:var(--graph-node-blue)}.learning-day-card:last-child{margin-inline-end:0}.learning-day-card strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere;font-family:var(--card-title-font, "PingFang SC", sans-serif);font-size:12px;font-weight:500;line-height:1.4}.learning-day-card time{color:var(--ink-soft);font-size:10px;font-variant-numeric:tabular-nums}.learning-day-repeat{position:absolute;z-index:2;display:inline-flex;align-items:center;gap:1px;right:-1px;bottom:-3px;transform:rotate(-13deg);color:var(--ink-soft);font-family:ui-rounded,-apple-system,BlinkMacSystemFont,sans-serif;font-size:13px;font-weight:400;font-style:normal;line-height:1;letter-spacing:0;pointer-events:none}.learning-day-card:hover{transform:translateY(-2px);box-shadow:0 5px 14px color-mix(in srgb,var(--accent) 15%,transparent)}.learning-day-card:hover,.learning-day-card:focus-visible{z-index:3}.learning-day-empty{padding:40px 0;color:var(--ink-muted);text-align:center;font-size:14px}.learning-day-backdrop.is-closing .learning-day-window{animation:learning-day-exit .18s ease-in both;pointer-events:none}.learning-day-backdrop.is-closing .learning-day-body>section,.learning-day-backdrop.is-closing .learning-day-empty{animation:learning-day-content-enter .18s ease-in reverse both}@keyframes learning-day-enter{0%{transform:translateY(10px) scale(.985)}to{transform:none}}@keyframes learning-day-exit{to{transform:translateY(10px) scale(.985)}}@keyframes learning-day-content-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media(max-width:600px){.learning-day-backdrop{padding:10px}.learning-day-window{width:100%;height:calc(100dvh - 20px);padding:8px;border-radius:20px}.learning-day-body{padding:14px}}@media(prefers-reduced-motion:reduce){.learning-day-window,.learning-day-body>section,.learning-day-empty,.learning-day-backdrop.is-closing .learning-day-window,.learning-day-backdrop.is-closing .learning-day-body>section,.learning-day-backdrop.is-closing .learning-day-empty{animation:none}.learning-day-card{transition:none}.learning-day-card:hover{transform:none}}.settings-dialog-backdrop{animation-name:settings-backdrop-in}@keyframes settings-backdrop-in{0%{background-color:transparent}to{background-color:color-mix(in srgb,var(--shadow-base) 24%,transparent)}}@keyframes settings-window-in{0%{transform:translateY(7px) scale(.985)}to{transform:translateY(0) scale(1)}}.settings-dialog.settings-dialog--fixed{--settings-rule: color-mix(in srgb, var(--line-ink) 9%, transparent);--settings-fill: color-mix(in srgb, var(--surface) 12%, transparent);--settings-inset: color-mix(in srgb, var(--surface-sunken) 52%, transparent);--settings-tint: color-mix(in srgb, var(--accent) 12%, transparent);--settings-action: #0869d5;position:relative;grid-template-rows:minmax(0,1fr);width:min(760px,calc(100vw - 40px));border-radius:24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;border-color:color-mix(in srgb,var(--surface) 52%,transparent);background:transparent;box-shadow:inset 0 1px color-mix(in srgb,var(--surface) 50%,transparent),inset 0 -1px color-mix(in srgb,var(--line-ink) 8%,transparent),0 18px 54px color-mix(in srgb,var(--shadow-base) 16%,transparent);-webkit-backdrop-filter:blur(20px) saturate(1.3);backdrop-filter:blur(20px) saturate(1.3);animation-name:settings-window-in}.settings-dialog.settings-dialog--fixed .settings-dialog-close{position:absolute;z-index:3;top:12px;right:14px}.settings-dialog.settings-dialog--fixed .settings-dialog-body{grid-template-columns:174px minmax(0,1fr)}.settings-dialog.settings-dialog--fixed .settings-dialog-nav{gap:6px;padding:22px 12px;border-color:var(--settings-rule);background:color-mix(in srgb,var(--surface) 68%,transparent);-webkit-backdrop-filter:none;backdrop-filter:none}.settings-dialog.settings-dialog--fixed .settings-dialog-nav button{display:flex;align-items:center;gap:10px;min-height:42px;padding:9px 11px;border:1px solid transparent;border-radius:11px;color:var(--ink-secondary);font-size:13px;font-weight:500;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.settings-dialog.settings-dialog--fixed .settings-dialog-nav svg{flex:0 0 19px;width:19px;height:19px;color:var(--ink-soft)}.settings-dialog.settings-dialog--fixed .settings-dialog-nav button:hover{background:color-mix(in srgb,var(--surface) 50%,transparent)}.settings-dialog.settings-dialog--fixed .settings-dialog-nav button.active{border-color:color-mix(in srgb,var(--accent) 13%,transparent);background:var(--settings-tint);color:var(--ink-strong);font-weight:600;box-shadow:inset 0 1px color-mix(in srgb,var(--surface) 50%,transparent)}.settings-dialog.settings-dialog--fixed .settings-dialog-nav button.active svg{color:var(--accent)}.settings-dialog.settings-dialog--fixed .settings-dialog-content{padding:60px 22px 22px;background:color-mix(in srgb,var(--surface) 34%,transparent);-webkit-backdrop-filter:none;backdrop-filter:none;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--line-ink) 20%,transparent) transparent;scrollbar-gutter:stable}.settings-dialog.settings-dialog--fixed .hammer-settings-panel{gap:0;padding:18px;border:1px solid var(--settings-rule);border-radius:18px;background:var(--settings-fill);box-shadow:inset 0 1px color-mix(in srgb,var(--surface) 32%,transparent)}.settings-dialog.settings-dialog--fixed .settings-group-label{margin:0 0 10px;color:var(--ink-soft);font-size:12px;font-weight:600;letter-spacing:.3px}.settings-dialog.settings-dialog--fixed .settings-group-label:not(:first-child){margin-top:24px;padding-top:16px;border-top:1px solid var(--settings-rule)}.settings-dialog.settings-dialog--fixed .settings-preferences-section>label,.settings-dialog.settings-dialog--fixed .new-node-edge-style,.settings-dialog.settings-dialog--fixed :is(.theme-picker,.settings-text-scale-picker){display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:54px;padding:9px 0;border-bottom:1px solid var(--settings-rule);color:var(--ink-panel);font-size:13px;font-weight:500}.settings-dialog.settings-dialog--fixed .settings-preferences-section>label:last-child{border-bottom:0}.settings-dialog.settings-dialog--fixed :is(.theme-picker-label,.settings-text-scale-label){flex-shrink:0;font-size:13px;font-weight:500}.settings-dialog.settings-dialog--fixed .settings-dialog-content :where(button:not(.window-minimize)){height:auto;min-height:36px;padding:8px 12px;border:1px solid var(--settings-rule);border-radius:10px;background:var(--settings-inset);color:var(--ink-panel);font:inherit;font-size:12px;font-weight:550;line-height:1.4;box-shadow:inset 0 1px color-mix(in srgb,var(--surface) 56%,transparent);transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}.settings-dialog.settings-dialog--fixed .settings-dialog-content :where(button:not(.window-minimize):not(.canvas-manager-select):not(.learning-calendar-open)):hover:not(:disabled){border-color:color-mix(in srgb,var(--line-ink) 19%,transparent);background:var(--surface)}.settings-dialog.settings-dialog--fixed .settings-dialog-content :where(button:not(.window-minimize):not(.canvas-manager-select):not(.learning-calendar-open)):active:not(:disabled){box-shadow:inset 0 1px 3px color-mix(in srgb,var(--shadow-base) 12%,transparent)}.settings-dialog.settings-dialog--fixed :is(button,input,select,textarea,summary):focus-visible{outline:2px solid var(--accent);outline-offset:3px}.settings-dialog.settings-dialog--fixed .settings-dialog-content :where(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea){min-width:0;min-height:36px;height:auto;padding:8px 11px;border:1px solid var(--settings-rule);border-radius:10px;background:var(--settings-inset);color:var(--ink-panel);font:inherit;font-size:13px;box-shadow:inset 0 1px 2px color-mix(in srgb,var(--shadow-base) 4%,transparent)}.settings-dialog.settings-dialog--fixed .settings-dialog-content select{padding-right:28px;max-width:100%}.settings-dialog.settings-dialog--fixed .settings-dialog-content :is(input,select,textarea):disabled{color:var(--ink-ghost);background:var(--settings-fill)}.settings-dialog.settings-dialog--fixed input::placeholder{color:var(--ink-soft);opacity:1}.settings-dialog.settings-dialog--fixed .settings-preferences-section>label>input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;flex:0 0 42px;width:42px;height:26px;margin:0;border:1px solid color-mix(in srgb,var(--line-ink) 10%,transparent);border-radius:999px;background:var(--switch-track);cursor:pointer;transition:background .2s ease}.settings-dialog.settings-dialog--fixed .settings-preferences-section>label>input[type=checkbox]:before{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003,inset 0 -1px 1px #0001;transition:transform .22s cubic-bezier(.2,.8,.2,1)}.settings-dialog.settings-dialog--fixed .settings-preferences-section>label>input[type=checkbox]:checked{background:#34a853;border-color:transparent}.settings-dialog.settings-dialog--fixed .settings-preferences-section>label>input[type=checkbox]:checked:before{transform:translate(16px)}.settings-dialog.settings-dialog--fixed .hammer-settings-panel :is(.theme-picker-options,.settings-text-scale-options,.cloze-intensity-options,.ai-feedback-style-options){gap:2px;padding:3px;border:1px solid var(--settings-rule);border-radius:11px;background:var(--settings-inset)}.settings-dialog.settings-dialog--fixed :is(.theme-picker-options,.settings-text-scale-options){width:218px;flex-shrink:1}.settings-dialog.settings-dialog--fixed .hammer-settings-panel :is(.theme-picker-options,.settings-text-scale-options,.cloze-intensity-options,.ai-feedback-style-options)>button{min-height:30px;padding:5px 8px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink-soft);font-size:12px;font-weight:500;box-shadow:none;transform:none}.settings-dialog.settings-dialog--fixed .hammer-settings-panel :is(.theme-picker-options,.settings-text-scale-options,.cloze-intensity-options,.ai-feedback-style-options)>button.active{border-color:var(--settings-rule);background:var(--surface);color:var(--ink-strong);font-weight:600;box-shadow:0 1px 3px color-mix(in srgb,var(--shadow-base) 10%,transparent)}.settings-dialog.settings-dialog--fixed :is(.cloze-intensity-picker,.ai-cloze-batch-control){margin-top:18px;gap:10px}.settings-dialog.settings-dialog--fixed :is(.cloze-intensity-label,.ai-cloze-batch-heading){color:var(--ink-secondary);font-size:12px}.settings-dialog.settings-dialog--fixed .ai-cloze-batch-progress span{background:var(--settings-action)}.settings-dialog.settings-dialog--fixed .settings-panel{gap:14px}.settings-dialog.settings-dialog--fixed .settings-panel .section-row{min-height:38px;padding-bottom:12px;border-bottom:1px solid var(--settings-rule);font-size:14px;font-weight:600}.settings-dialog.settings-dialog--fixed .settings-panel .settings-field{gap:7px;font-weight:500}.settings-dialog.settings-dialog--fixed .settings-panel label.switch{position:relative;width:42px;height:26px;flex-shrink:0}.settings-dialog.settings-dialog--fixed .switch input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;cursor:pointer}.settings-dialog.settings-dialog--fixed .switch span{pointer-events:none}.settings-dialog.settings-dialog--fixed .switch span:after{width:20px;height:20px;left:3px;top:3px;box-shadow:0 1px 3px #0003,inset 0 -1px 1px #0001}.settings-dialog.settings-dialog--fixed .switch input:checked+span{background:#34a853}.settings-dialog.settings-dialog--fixed .switch input:checked+span:after{transform:translate(16px)}.settings-dialog.settings-dialog--fixed .switch input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}.settings-dialog.settings-dialog--fixed .settings-dialog-content :is(.ai-cloze-batch-control>button,.cloud-auth-actions>button:first-child,.cloud-sync-panel>button:not(.secondary):not(.cloud-logout),.english-jev-save,.canvas-create-row>button):not(:disabled){background:var(--settings-action);border-color:transparent;color:#fff;box-shadow:inset 0 1px #ffffff30,0 1px 3px color-mix(in srgb,var(--accent) 14%,transparent)}.settings-dialog.settings-dialog--fixed .settings-dialog-content :is(.ai-cloze-batch-control>button,.cloud-auth-actions>button:first-child,.cloud-sync-panel>button:not(.secondary):not(.cloud-logout),.english-jev-save,.canvas-create-row>button):hover:not(:disabled){background:color-mix(in srgb,var(--settings-action) 88%,#000);border-color:transparent}.settings-dialog.settings-dialog--fixed .settings-dialog-content :is(button.danger,button.cloud-logout,button.english-jev-clear){color:color-mix(in srgb,#d44343 85%,var(--ink-panel));background:color-mix(in srgb,#d44343 7%,var(--surface));border-color:color-mix(in srgb,#d44343 14%,transparent)}.settings-dialog.settings-dialog--fixed .settings-dialog-content button:disabled{background:var(--settings-inset);color:var(--ink-ghost);border-color:var(--settings-rule);box-shadow:none;cursor:default}.settings-dialog.settings-dialog--fixed .canvas-manager-list{gap:8px}.settings-dialog.settings-dialog--fixed .canvas-manager-item{padding:11px 10px;border-radius:13px;border-color:var(--settings-rule)}.settings-dialog.settings-dialog--fixed .canvas-manager-item:not(.is-dragging){background:color-mix(in srgb,var(--surface) 32%,transparent)}.settings-dialog.settings-dialog--fixed .canvas-manager-item.active{border-color:color-mix(in srgb,var(--accent) 30%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 7%,transparent)}.settings-dialog.settings-dialog--fixed .canvas-manager .canvas-manager-select{min-height:40px;padding:0;border:0;background:transparent;box-shadow:none;text-align:left}.settings-dialog.settings-dialog--fixed .canvas-manager .canvas-item-actions button{width:30px;min-height:30px;padding:0;border-radius:9px;font-size:16px;font-weight:400}.settings-dialog.settings-dialog--fixed :is(.canvas-switcher-search,.canvas-create-row){border-radius:11px;border-color:var(--settings-rule);background:var(--settings-inset)}.settings-dialog.settings-dialog--fixed .settings-dialog-content :is(.canvas-switcher-search,.canvas-create-row) input{min-height:28px;padding:0;border:0;background:transparent;box-shadow:none}.settings-dialog.settings-dialog--fixed .canvas-manager .canvas-create-row button{width:34px;min-height:34px;padding:0;border-radius:9px;font-size:21px;font-weight:400}.settings-dialog.settings-dialog--fixed .canvas-manager-current{background:var(--settings-tint);color:var(--accent);font-size:10px;font-style:normal}.settings-dialog.settings-dialog--fixed .canvas-manager .canvas-import-button{min-height:36px;border:0;background:transparent;color:var(--ink-secondary);box-shadow:none}.settings-dialog.settings-dialog--fixed .shortcut-settings-panel{gap:18px}.settings-dialog.settings-dialog--fixed .shortcut-settings-group{border:1px solid var(--settings-rule);border-radius:14px;background:var(--settings-fill)}.settings-dialog.settings-dialog--fixed .shortcut-settings-group>header{padding:12px 14px;border-color:var(--settings-rule);background:transparent}.settings-dialog.settings-dialog--fixed .shortcut-setting-row{padding:10px 14px;min-height:52px;border-color:var(--settings-rule)}.settings-dialog.settings-dialog--fixed .shortcut-setting-copy strong{font-size:12px;font-weight:500}.settings-dialog.settings-dialog--fixed .shortcut-record-button{min-width:98px;background:var(--settings-inset);box-shadow:inset 0 -1px 0 var(--settings-rule)}.settings-dialog.settings-dialog--fixed .shortcut-record-button.recording{color:var(--accent);background:var(--settings-tint);border-color:var(--accent)}.settings-dialog.settings-dialog--fixed :is(.cloud-sync-panel,.settings-dialog-jev){gap:12px;margin-top:20px;padding-top:18px;border-top:1px solid var(--settings-rule)}.settings-dialog.settings-dialog--fixed .settings-dialog-jev .english-jev-form{width:100%;gap:12px}.settings-dialog.settings-dialog--fixed :is(.cloud-account,.cloud-sync-time,.cloud-sync-local,.cloud-sync-progress){font-size:12px}.settings-dialog.settings-dialog--fixed .cloud-sync-status{padding:5px 9px;font-weight:500}.settings-dialog.settings-dialog--fixed .cloud-sync-details{gap:10px 16px;padding:12px;border-radius:10px;background:var(--settings-inset);font-size:12px}.settings-dialog.settings-dialog--fixed :is(.cloud-advanced-sync,.cloud-history-panel,.cloud-conflict-panel,.google-drive-backup){padding:12px;border:1px solid var(--settings-rule);border-radius:11px;background:var(--settings-fill)}.settings-dialog.settings-dialog--fixed summary{color:var(--ink-secondary);font-size:12px;font-weight:500;cursor:pointer}.settings-dialog.settings-dialog--fixed details[open]>summary{margin-bottom:12px}.settings-dialog.settings-dialog--fixed .cloud-history-panel li{flex-wrap:wrap;padding:6px 0;border-bottom:1px solid var(--settings-rule)}.settings-dialog.settings-dialog--fixed .cloud-conflict-panel fieldset{min-width:0;margin:12px 0;padding:12px;border:1px solid var(--settings-rule);border-radius:10px}.settings-dialog.settings-dialog--fixed .cloud-conflict-panel input[type=radio]{flex:0 0 16px;width:16px;height:16px;accent-color:var(--accent)}.settings-dialog.settings-dialog--fixed .cloud-conflict-panel pre{overflow:auto;max-height:180px;font-size:11px}.settings-dialog.settings-dialog--fixed .learning-stats-panel{gap:16px}.settings-dialog.settings-dialog--fixed :is(.learning-today,.learning-stats-summary article,.canvas-stage-progress){padding:16px;border:1px solid var(--settings-rule);border-radius:15px;background:var(--settings-fill)}.settings-dialog.settings-dialog--fixed .learning-today-main>strong{font-size:24px;font-weight:600}.settings-dialog.settings-dialog--fixed .learning-stats-summary small{font-style:normal;opacity:1}.settings-dialog.settings-dialog--fixed .learning-calendar-heading{position:relative;grid-template-columns:36px minmax(0,1fr) 36px;padding:4px 0;border:0;background:transparent;box-shadow:none}.settings-dialog.settings-dialog--fixed .learning-calendar-heading>strong{font-size:17px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.settings-dialog.settings-dialog--fixed .learning-calendar-heading button{display:grid;place-items:center;width:36px;height:36px;min-height:36px;padding:0;border-radius:50%;background:var(--settings-fill);color:var(--ink-secondary)}.settings-dialog.settings-dialog--fixed .learning-calendar-legend{gap:6px;padding:0;font-size:9px}.settings-dialog.settings-dialog--fixed .learning-calendar-legend i{width:64px;height:5px;border:0}.settings-dialog.settings-dialog--fixed .learning-calendar{gap:6px}.settings-dialog.settings-dialog--fixed .learning-calendar-weekday{padding:0 0 4px;font-size:10px;font-weight:500}.settings-dialog.settings-dialog--fixed .learning-calendar-day{min-height:62px;gap:6px;padding:8px;border-radius:12px;box-shadow:inset 0 1px color-mix(in srgb,var(--surface) 18%,transparent);font-variant-numeric:tabular-nums}.settings-dialog.settings-dialog--fixed .learning-calendar-day:not([data-heat-ink]){border-color:var(--settings-rule);background:color-mix(in srgb,var(--surface) 24%,transparent)}.settings-dialog.settings-dialog--fixed .learning-calendar-day>strong{font-size:12px;font-weight:600;line-height:1}.settings-dialog.settings-dialog--fixed .learning-calendar-day.today{outline:1.5px solid var(--accent);outline-offset:1px}.settings-dialog.settings-dialog--fixed .learning-calendar-day.today:after{content:"";top:8px;right:8px;width:4px;height:4px;border-radius:50%;background:var(--accent)}.settings-dialog.settings-dialog--fixed .learning-calendar-day[data-heat-ink].today:after{background:currentColor}.settings-dialog.settings-dialog--fixed .learning-calendar-day:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.settings-dialog.settings-dialog--fixed .settings-dialog-content .canvas-stage-progress-label{min-height:30px;padding:3px 0;border:0;background:transparent;box-shadow:none;color:var(--ink-panel);text-align:left}.settings-dialog.settings-dialog--fixed .settings-dialog-content .canvas-stage-progress-label:hover,.settings-dialog.settings-dialog--fixed .settings-dialog-content .canvas-stage-progress-label[aria-expanded=true]{background:transparent;color:var(--accent);box-shadow:none}.settings-dialog.settings-dialog--fixed .settings-dialog-content .canvas-stage-pending-card{width:100%;border:0;border-radius:9px;background:transparent;box-shadow:none;font-weight:400}.settings-dialog.settings-dialog--fixed .settings-dialog-content .canvas-stage-pending-toggle{width:30px;min-height:30px;padding:0;border-radius:9px;color:var(--ink-secondary);background:var(--settings-inset)}.settings-dialog.settings-dialog--fixed .canvas-stage-pending{border-color:var(--settings-rule);border-radius:13px;background:var(--settings-fill);box-shadow:none}.settings-dialog.settings-dialog--fixed .canvas-stage-pending-header{background:transparent;border-bottom:1px solid var(--settings-rule)}@media(max-width:800px){.settings-dialog.settings-dialog--fixed .settings-dialog-body{grid-template-columns:158px minmax(0,1fr)}.settings-dialog.settings-dialog--fixed .settings-dialog-content{padding:60px 16px 16px}.settings-dialog.settings-dialog--fixed .hammer-settings-panel{padding:14px}.settings-dialog.settings-dialog--fixed :is(.theme-picker,.settings-text-scale-picker){align-items:stretch;flex-direction:column;gap:8px}.settings-dialog.settings-dialog--fixed :is(.theme-picker-options,.settings-text-scale-options){width:100%}.settings-dialog.settings-dialog--fixed .learning-calendar{gap:4px}.settings-dialog.settings-dialog--fixed .learning-calendar-day{padding:6px 4px;border-radius:9px}.settings-dialog.settings-dialog--fixed .learning-calendar-day.today:after{top:6px;right:5px}}@media(prefers-reduced-motion:reduce){.settings-dialog-backdrop,.settings-dialog.settings-dialog--fixed{animation:none}.settings-dialog.settings-dialog--fixed :is(button,input[type=checkbox],.switch span),.settings-dialog.settings-dialog--fixed input[type=checkbox]:before,.settings-dialog.settings-dialog--fixed .switch span:after{transition:none}}@media(forced-colors:active){.settings-dialog.settings-dialog--fixed .settings-preferences-section>label>input[type=checkbox]{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.settings-dialog.settings-dialog--fixed .settings-preferences-section>label>input[type=checkbox]:before{display:none}.settings-dialog.settings-dialog--fixed .switch span{border:1px solid ButtonText}.settings-dialog.settings-dialog--fixed .switch span:after{background:ButtonText}.settings-dialog.settings-dialog--fixed :is(button.active,input:checked+span){outline:1px solid Highlight}}
