.storage-image-node{position:relative;display:flex;align-items:center;max-width:100%;margin:1em 0}.storage-image-node__image-wrapper{position:relative;display:inline-block;max-width:100%}.storage-image-node__toolbar-wrapper{position:absolute;top:-40px;left:50%;transform:translate(-50%);display:flex;gap:4px;padding:4px;background:#fff;border-radius:6px;box-shadow:0 2px 8px #00000026;z-index:5}.storage-image-node__separator{width:1px;height:24px;background:#d9d9d9;margin:auto 4px}.storage-image-node__object-fit-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid #d9d9d9;border-radius:4px;background:#fff;cursor:pointer;transition:all .2s ease;color:#000000a6}.storage-image-node__object-fit-button:hover{color:var(--tt-brand-color-500);border-color:var(--tt-brand-color-500)}.storage-image-node__object-fit-button--active{color:var(--tt-brand-color-500);border-color:var(--tt-brand-color-500);background:#e6f7ff}.storage-image-node--align-left{justify-content:flex-start}.storage-image-node--align-center{justify-content:center}.storage-image-node--align-right{justify-content:flex-end}.storage-image-node__image{max-width:100%;height:auto;display:block;border-radius:4px;transition:box-shadow .2s ease}.storage-image-node--selected .storage-image-node__image{box-shadow:0 0 0 2px #1890ff;outline:none}.ProseMirror:not([contenteditable=true]) .storage-image-node--selected .storage-image-node__image{box-shadow:none;cursor:default}.ProseMirror:not([contenteditable=true]) .storage-image-node .storage-image-node__image{cursor:default;user-select:none}.storage-image-node--resizing .storage-image-node__image{transition:none;user-select:none}@media (prefers-color-scheme: dark){.storage-image-node__toolbar-wrapper{background:#1f1f1f;box-shadow:0 2px 8px #00000073}.storage-image-node__object-fit-button{background:#1f1f1f;border-color:#434343;color:#a6a6a6}.storage-image-node__object-fit-button:hover{color:var(--tt-brand-color-500);border-color:var(--tt-brand-color-500)}.storage-image-node__object-fit-button--active{color:var(--tt-brand-color-500);border-color:var(--tt-brand-color-500);background:#111b26}}.project-image-node{position:relative;display:flex;align-items:center;max-width:100%;margin:1em 0}.project-image-node__image-wrapper{position:relative;display:inline-block;max-width:100%}.project-image-node__toolbar-wrapper{position:absolute;top:-40px;left:50%;transform:translate(-50%);display:flex;gap:4px;padding:4px;background:#fff;border-radius:6px;box-shadow:0 2px 8px #00000026;z-index:5}.project-image-node__alignment-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid #d9d9d9;border-radius:4px;background:#fff;cursor:pointer;transition:all .2s ease;color:#000000a6}.project-image-node__alignment-button:hover{color:var(--tt-brand-color-500);border-color:var(--tt-brand-color-500)}.project-image-node__alignment-button--active{color:var(--tt-brand-color-500);border-color:var(--tt-brand-color-500);background:#e6f7ff}.project-image-node__separator{width:1px;height:24px;background:#d9d9d9;margin:auto 4px}.project-image-node__object-fit-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid #d9d9d9;border-radius:4px;background:#fff;cursor:pointer;transition:all .2s ease;color:#000000a6}.project-image-node__object-fit-button:hover{color:var(--tt-brand-color-500);border-color:var(--tt-brand-color-500)}.project-image-node__object-fit-button--active{color:var(--tt-brand-color-500);border-color:var(--tt-brand-color-500);background:#e6f7ff}.project-image-node__url-editor{display:flex;gap:4px;padding:4px;background:#fff;border-radius:6px;box-shadow:0 2px 8px #00000026}.project-image-node__url-input{min-width:280px;height:32px;padding:0 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;outline:none;transition:all .2s ease}.project-image-node__url-input:focus{border-color:var(--tt-brand-color-500);box-shadow:0 0 0 2px #1890ff1a}.project-image-node__url-input::placeholder{color:#00000040}.project-image-node__url-action-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid #d9d9d9;border-radius:4px;background:#fff;cursor:pointer;transition:all .2s ease;color:#000000a6}.project-image-node__url-action-button:hover{border-color:var(--tt-brand-color-500)}.project-image-node__url-action-button--confirm{color:#52c41a}.project-image-node__url-action-button--confirm:hover{color:#73d13d;border-color:#52c41a;background:#f6ffed}.project-image-node__url-action-button--cancel{color:#ff4d4f}.project-image-node__url-action-button--cancel:hover{color:#ff7875;border-color:#ff4d4f;background:#fff2f0}.project-image-node--align-left{justify-content:flex-start}.project-image-node--align-center{justify-content:center}.project-image-node--align-right{justify-content:flex-end}.project-image-node__image{max-width:100%;height:auto;display:block;border-radius:4px;transition:box-shadow .2s ease;object-fit:cover}.project-image-node--selected .project-image-node__image{box-shadow:0 0 0 2px var(--tt-brand-color-500);outline:none}.ProseMirror:not([contenteditable=true]) .project-image-node--selected .project-image-node__image{box-shadow:none;cursor:default}.ProseMirror:not([contenteditable=true]) .project-image-node .project-image-node__image{cursor:default;user-select:none}.project-image-node--resizing .project-image-node__image{transition:none;user-select:none}.project-image-node__resize-handle{position:absolute;width:12px;height:12px;background:var(--tt-brand-color-500);border:2px solid white;border-radius:50%;box-shadow:0 1px 3px #0003;z-index:5;cursor:pointer}.project-image-node__resize-handle--nw{top:-6px;left:-6px;cursor:nw-resize}.project-image-node__resize-handle--ne{top:-6px;right:-6px;cursor:ne-resize}.project-image-node__resize-handle--sw{bottom:-6px;left:-6px;cursor:sw-resize}.project-image-node__resize-handle--se{bottom:-6px;right:-6px;cursor:se-resize}.project-image-node__resize-handle:hover{background:var(--tt-brand-color-500);transform:scale(1.2)}.project-image-node__placeholder{height:50px;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;border-radius:8px;position:relative;overflow:hidden;width:100%;background:#f9f9f9;color:#888a92}.project-image-node__icon{position:absolute;left:-28px;bottom:-28px;opacity:.06}.project-image-node__upload-icon-wrapper{position:relative;display:flex;align-items:center;justify-content:center;color:inherit}.project-image-node__progress-wrapper{position:absolute;bottom:8px;right:8px;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.project-image-node__progress-circle{width:20px;height:20px;border:2px solid rgba(24,144,255,.3);border-top-color:var(--tt-brand-color-500);border-radius:50%;animation:project-image-spin .8s linear infinite}.project-image-node__progress-text{font-size:14px;font-weight:500;text-align:center;color:inherit}.project-image-node__error-content{display:flex;align-items:center;gap:8px}.project-image-node__error-title{font-size:14px;font-weight:500;color:inherit}.project-image-node__retry-button{font-size:14px;color:var(--tt-brand-color-500);background:transparent;border:none;padding:0;cursor:pointer;text-decoration:underline;transition:opacity .2s ease}.project-image-node__retry-button:hover{opacity:.8}.project-image-node__retry-button:active{opacity:.6}.project-image-node__loading-spinner{width:24px;height:24px;border:3px solid #f0f0f0;border-top-color:var(--tt-brand-color-500);border-radius:50%;animation:project-image-spin .8s linear infinite}.project-image-node__error-icon{font-size:32px}.project-image-node__error-message{font-size:14px;text-align:center}@keyframes project-image-spin{to{transform:rotate(360deg)}}@media (prefers-color-scheme: dark){.project-image-node__alignment-toolbar,.project-image-node__url-editor{background:#1f1f1f;box-shadow:0 2px 8px #00000073}.project-image-node__alignment-button{background:#1f1f1f;border-color:#434343;color:#a6a6a6}.project-image-node__alignment-button:hover,.project-image-node__alignment-button--active{color:var(--tt-brand-color-500);border-color:var(--tt-brand-color-500);background:#111b26}.project-image-node__object-fit-button{background:#1f1f1f;border-color:#434343;color:#a6a6a6}.project-image-node__object-fit-button:hover{color:var(--tt-brand-color-500);border-color:var(--tt-brand-color-500)}.project-image-node__object-fit-button--active{color:var(--tt-brand-color-500);border-color:var(--tt-brand-color-500);background:#111b26}.project-image-node__url-input{background:#1f1f1f;border-color:#434343;color:#e8e8e8}.project-image-node__url-input:focus{border-color:var(--tt-brand-color-500);box-shadow:0 0 0 2px #40a9ff33}.project-image-node__url-input::placeholder{color:#ffffff40}.project-image-node__url-action-button{background:#1f1f1f;border-color:#434343;color:#a6a6a6}.project-image-node__url-action-button:hover{border-color:var(--tt-brand-color-500)}.project-image-node__url-action-button--confirm{color:#95de64}.project-image-node__url-action-button--confirm:hover{color:#b7eb8f;border-color:#52c41a;background:#162312}.project-image-node__url-action-button--cancel{color:#ff7875}.project-image-node__url-action-button--cancel:hover{color:#ffa39e;border-color:#ff4d4f;background:#2a1215}.project-image-node__placeholder--loading{background:#eef3fdcc;color:var(--tt-brand-color-500)}.project-image-node__placeholder--error{background:#fff8ebcc;border-color:#fa8c1633;color:#ffa940}.project-image-node__progress-circle{border-color:#40a9ff4d;border-top-color:var(--tt-brand-color-500)}.project-image-node__loading-spinner{border-color:#434343;border-top-color:var(--tt-brand-color-500)}}:root{--view-transition-duration: .3s;--view-transition-easing: ease-in-out;--view-transition-fade-duration: .3s;--view-transition-slide-duration: .3s;--view-transition-scale-duration: .25s;--view-transition-flip-duration: .4s}::view-transition-group(root){animation-duration:var(--view-transition-duration);animation-timing-function:var(--view-transition-easing)}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--view-transition-duration);animation-timing-function:var(--view-transition-easing)}::view-transition-group(slide-left-transition),::view-transition-group(slide-right-transition),::view-transition-group(slide-up-transition),::view-transition-group(slide-down-transition){animation-duration:var(--view-transition-slide-duration, .3s);animation-timing-function:cubic-bezier(.4,0,.2,1)}.view-transition-fade{view-transition-name:fade-transition}::view-transition-old(fade-transition){animation:fade-out var(--view-transition-fade-duration, .3s) ease-in-out forwards}::view-transition-new(fade-transition){animation:fade-in var(--view-transition-fade-duration, .3s) ease-in-out forwards}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.view-transition-slide-left{view-transition-name:slide-left-transition}html.view-transition-slide-left ::view-transition-old(root){animation:slide-out-left var(--view-transition-slide-duration, .3s) cubic-bezier(.4,0,.2,1) forwards!important}html.view-transition-slide-left ::view-transition-new(root){animation:slide-in-left var(--view-transition-slide-duration, .3s) cubic-bezier(.4,0,.2,1) forwards!important}::view-transition-old(slide-left-transition){animation:slide-out-left var(--view-transition-slide-duration, .3s) cubic-bezier(.4,0,.2,1) forwards}::view-transition-new(slide-left-transition){animation:slide-in-left var(--view-transition-slide-duration, .3s) cubic-bezier(.4,0,.2,1) forwards}@keyframes slide-out-left{0%{transform:translate(0);opacity:1}to{transform:translate(-100%);opacity:0}}@keyframes slide-in-left{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.view-transition-slide-right{view-transition-name:slide-right-transition}html.view-transition-slide-right ::view-transition-old(root){animation:slide-out-right var(--view-transition-slide-duration, .3s) cubic-bezier(.4,0,.2,1) forwards!important}html.view-transition-slide-right ::view-transition-new(root){animation:slide-in-right var(--view-transition-slide-duration, .3s) cubic-bezier(.4,0,.2,1) forwards!important}::view-transition-old(slide-right-transition){animation:slide-out-right var(--view-transition-slide-duration, .3s) cubic-bezier(.4,0,.2,1) forwards}::view-transition-new(slide-right-transition){animation:slide-in-right var(--view-transition-slide-duration, .3s) cubic-bezier(.4,0,.2,1) forwards}@keyframes slide-out-right{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@keyframes slide-in-right{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}.view-transition-slide-up{view-transition-name:slide-up-transition}::view-transition-old(slide-up-transition){animation:slide-out-up var(--view-transition-slide-duration, .3s) cubic-bezier(.4,0,.2,1) forwards}::view-transition-new(slide-up-transition){animation:slide-in-up var(--view-transition-slide-duration, .3s) cubic-bezier(.4,0,.2,1) forwards}@keyframes slide-out-up{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}@keyframes slide-in-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.view-transition-slide-down{view-transition-name:slide-down-transition}::view-transition-old(slide-down-transition){animation:slide-out-down var(--view-transition-slide-duration, .3s) cubic-bezier(.4,0,.2,1) forwards}::view-transition-new(slide-down-transition){animation:slide-in-down var(--view-transition-slide-duration, .3s) cubic-bezier(.4,0,.2,1) forwards}@keyframes slide-out-down{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}@keyframes slide-in-down{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.view-transition-scale{view-transition-name:scale-transition}::view-transition-old(scale-transition){animation:scale-out var(--view-transition-scale-duration, .25s) cubic-bezier(.34,1.56,.64,1) forwards}::view-transition-new(scale-transition){animation:scale-in var(--view-transition-scale-duration, .25s) cubic-bezier(.34,1.56,.64,1) forwards}@keyframes scale-out{0%{transform:scale(1);opacity:1}to{transform:scale(.8);opacity:0}}@keyframes scale-in{0%{transform:scale(1.2);opacity:0}to{transform:scale(1);opacity:1}}.view-transition-flip{view-transition-name:flip-transition}::view-transition-old(flip-transition){animation:flip-out var(--view-transition-flip-duration, .4s) cubic-bezier(.25,.46,.45,.94) forwards}::view-transition-new(flip-transition){animation:flip-in var(--view-transition-flip-duration, .4s) cubic-bezier(.25,.46,.45,.94) forwards}@keyframes flip-out{0%{transform:rotateY(0);opacity:1}50%{transform:rotateY(-90deg);opacity:.5}to{transform:rotateY(-90deg);opacity:0}}@keyframes flip-in{0%{transform:rotateY(90deg);opacity:0}50%{transform:rotateY(90deg);opacity:.5}to{transform:rotateY(0);opacity:1}}.view-transition-custom{view-transition-name:custom-transition}::view-transition-old(custom-transition){animation:custom-out var(--view-transition-duration) var(--view-transition-easing) forwards}::view-transition-new(custom-transition){animation:custom-in var(--view-transition-duration) var(--view-transition-easing) forwards}@keyframes custom-out{0%{opacity:1}to{opacity:0}}@keyframes custom-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){:root{--view-transition-duration: 0ms;--view-transition-fade-duration: 0ms;--view-transition-slide-duration: 0ms;--view-transition-scale-duration: 0ms;--view-transition-flip-duration: 0ms}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation-duration:0ms!important}}@media (max-width: 768px){:root{--view-transition-duration: .25s;--view-transition-fade-duration: .25s;--view-transition-slide-duration: .25s;--view-transition-scale-duration: .2s;--view-transition-flip-duration: .35s}}@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine){:root{--view-transition-duration: .35s;--view-transition-fade-duration: .35s;--view-transition-slide-duration: .35s;--view-transition-scale-duration: .3s;--view-transition-flip-duration: .45s}}[data-view-transition-debug] ::view-transition-group(*){outline:2px solid red}[data-view-transition-debug] ::view-transition-old(*){outline:2px solid blue}[data-view-transition-debug] ::view-transition-new(*){outline:2px solid green}.view-transition-none{view-transition-name:none!important}.view-transition-auto{view-transition-name:auto}.no-view-transition,.no-view-transition *{view-transition-name:none!important}
