.document-flow-v120{position:relative;display:block;isolation:isolate;min-height:320px;padding:0 4px 0!important;box-sizing:border-box;line-height:28px;white-space:pre-wrap;overflow:visible;outline:none;cursor:text;contain:layout style}
.document-flow-v120 .flow-text-layer{position:absolute;inset:0 4px 0;display:block;z-index:1;pointer-events:none}
.document-flow-v120 .flow-selection-layer{position:absolute;inset:0 4px 0;display:block;z-index:0;pointer-events:none;user-select:none}
.document-flow-v120 .flow-selection-rect{position:absolute;display:block;left:0;top:0;margin:0;padding:0;border:0;background:#b9a0ed65;pointer-events:none}
.document-flow-v120 .flow-media-layer{position:absolute;inset:0 4px 0;display:block;z-index:2;pointer-events:none;user-select:none}
.document-flow-v120 .free-media{position:absolute!important;left:0;top:0;display:block!important;float:none!important;margin:0!important;padding:0!important;min-width:0!important;max-width:100%!important;max-height:none;border:1px solid color-mix(in srgb,var(--editor-ink,var(--text,#302c38)) 15%,transparent);border-radius:11px;overflow:hidden;box-sizing:border-box;pointer-events:auto;cursor:grab;touch-action:none;user-select:none;background:color-mix(in srgb,var(--surface,#fff) 32%,transparent);box-shadow:0 3px 16px #23172c0c;outline:none;transition:box-shadow .18s,border-color .18s,opacity .18s}
.document-flow-v120 .free-media>img,.document-flow-v120 .free-media>video{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;border-radius:inherit;pointer-events:auto;user-select:none;-webkit-user-drag:none;margin:0;padding:0}.document-flow-v120 .free-media::after{content:'';position:absolute;inset:0;border:2px solid transparent;border-radius:inherit;pointer-events:none;box-sizing:border-box;z-index:6}.document-flow-v120 .free-media:is(:hover,:focus,:focus-within,.selected,.moving,.resizing)::after{border-color:var(--accent,#8257ce)}.document-flow-v120 .free-media.moving{cursor:grabbing;opacity:.92;box-shadow:inset 0 0 0 2px var(--accent,#8257ce),0 10px 28px #20102b22}.document-flow-v120 .free-media.resizing{box-shadow:inset 0 0 0 2px var(--accent,#8257ce),0 6px 20px #0002}
.document-flow-v120 .flow-corner{position:absolute;width:17px;height:17px;min-width:0;min-height:0;padding:0;background:transparent;border:0;border-radius:3px;opacity:0;z-index:8;transition:opacity .15s}.document-flow-v120 .free-media:is(:hover,:focus,:focus-within,.selected,.moving,.resizing) .flow-corner{opacity:1}.document-flow-v120 .flow-corner::before{content:'';position:absolute;width:7px;height:7px;inset:5px;border:1.5px solid var(--accent,#8257ce);background:var(--surface,#fff);border-radius:2px;box-sizing:border-box}.document-flow-v120 .corner-nw{left:1px;top:1px;cursor:nwse-resize}.document-flow-v120 .corner-ne{right:1px;top:1px;cursor:nesw-resize}.document-flow-v120 .corner-sw{left:1px;bottom:1px;cursor:nesw-resize}.document-flow-v120 .corner-se{right:1px;bottom:1px;cursor:nwse-resize}.document-flow-v120 .flow-corner:focus-visible{outline:2px solid var(--accent,#8257ce);outline-offset:-2px}
.flow-media-menu{position:fixed;z-index:1100;min-width:148px;padding:5px;border:1px solid var(--line,#e5e3ec);border-radius:12px;color:var(--text,#302c38);background:var(--surface,#fff);box-shadow:0 12px 35px #20102b22;animation:flow-menu-in .12s ease-out}.flow-media-menu button{display:block;width:100%;padding:10px 12px;border-radius:8px;text-align:left;font-size:12px;color:#b85468;background:transparent}.flow-media-menu button:hover,.flow-media-menu button:focus-visible{background:#c35a6812;outline:none}:root:is([data-theme=glass],[data-theme=custom]) .flow-media-menu{background:linear-gradient(135deg,#ffffffe6,#ffffffaa),var(--surface,#ffffffb8);border-color:#fff9;box-shadow:inset 0 1px 0 #fff,0 12px 35px #4d2f6e25;backdrop-filter:blur(30px) saturate(150%)}
.document-flow-v120.flow-simple .flow-text-layer{position:relative;inset:auto;min-height:28px;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal}
.flow-large-note-hint{position:absolute;left:4px;right:4px;display:block;color:var(--muted,#8a8195);font-size:11px;line-height:18px;pointer-events:none;user-select:none}.flow-large-note-hint[hidden]{display:none}
.document-flow-v120,.document-flow-v120 .flow-text-layer{font-kerning:none;font-variant-ligatures:none;letter-spacing:0}
.document-flow-v120 .flow-line{position:absolute;display:block;left:0;top:0;white-space:pre;overflow:visible;pointer-events:auto;letter-spacing:0;font-kerning:none;font-variant-ligatures:none;box-sizing:border-box}
.document-flow-v120 .flow-text-token{display:inline;position:static;margin:0;padding:0;border:0;min-height:0;max-width:none;white-space:pre;pointer-events:auto;letter-spacing:0;line-height:inherit;font-kerning:none;font-variant-ligatures:none;color:inherit;box-sizing:border-box}
.document-flow-v120.flow-custom-selection::selection,.document-flow-v120.flow-custom-selection ::selection{background:transparent}
.document-flow-v120.flow-native-selection .flow-selection-layer{display:none}
.document-flow-v120.flow-native-selection::selection,.document-flow-v120.flow-native-selection ::selection{background:color-mix(in srgb,var(--accent,#8257ce) 30%,transparent);color:inherit}
.document-flow-v120 .flow-line-break{position:absolute;top:0;width:0;height:100%;font-size:0;line-height:0;white-space:pre;pointer-events:none}
.document-flow-v120 .flow-line-break::selection{background:transparent}
.document-flow-v120 .flow-line-break.is-selected::after{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:#b9a0ed65;pointer-events:none}
@media(forced-colors:active){.document-flow-v120 .flow-line-break.is-selected::after{background:Highlight;forced-color-adjust:none}}
@media(forced-colors:active){.document-flow-v120 .flow-selection-rect{background:Highlight;forced-color-adjust:none}}
.document-flow-v120 .flow-line-caret{display:inline-block;min-width:1px;width:1px;font-size:inherit;line-height:inherit}
.document-flow-v120 .flow-text-tail{display:inline-block;min-width:1px;width:1px;white-space:pre}
.document-flow-v120 .flow-composing-row,.document-flow-v120 .flow-composing-row .flow-text-token{white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal}
.document-flow-v120 .flow-composing-row :is(.flow-text-tail,.flow-line-caret){display:inline;min-width:0;width:auto;white-space:inherit}
.document-flow-v120.flow-simple .flow-text-token{white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal}
.flow-media-menu{min-width:180px;max-width:min(290px,calc(100vw - 24px));max-height:320px;overflow:auto}
.flow-stack-caption{display:block;padding:10px 12px 5px;margin-top:3px;border-top:1px solid var(--line,#e5e3ec);font-size:10px;color:var(--muted,#8a8195)}.flow-media-menu .flow-stack-pick{display:flex;gap:9px;align-items:center;color:inherit}.flow-stack-pick img{width:32px;height:25px;object-fit:contain;border-radius:4px;background:#80808010}.flow-stack-pick span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Reflow must not move the dialog's origin beneath a captured pointer. */
.editor-dialog[open]:has(.document-flow-v120){display:flex;flex-direction:column;height:min(760px,calc(100dvh - 48px));max-height:calc(100dvh - 48px)}.editor-dialog:has(.document-flow-v120)>.dialog-heading,.editor-dialog:has(.document-flow-v120)>.editor-bottom,.editor-dialog:has(.document-flow-v120)>.editor-lock-hint{flex:none}.editor-dialog:has(.document-flow-v120)>.editor-content{flex:1;min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
@keyframes flow-menu-in{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.document-flow-v120 .flow-text-token,.document-flow-v120 .free-media,.document-flow-v120 .flow-corner{transition:none!important}.flow-media-menu{animation:none}}

.document-flow::highlight(artigo-format-selection){background:#b9a0ed65}
.document-flow-v120.flow-custom-selection::highlight(artigo-format-selection){background:transparent}
/* object-fit letterboxing belongs to the note surface, not a dark media mat.
   Images stay transparent here so no original/photo or ink pixels are changed. */
.document-flow-v120 .free-media{background:var(--editor-paper,var(--surface,#fff))}
.document-flow-v120 .free-media>img{background:transparent}
:root:is([data-theme=glass],[data-theme=custom]) .document-flow-v120 .free-media{background:linear-gradient(125deg,color-mix(in srgb,var(--editor-paper,var(--surface,#fff)) 96%,transparent),color-mix(in srgb,var(--editor-paper,var(--surface,#fff)) 88%,transparent));backdrop-filter:blur(36px) saturate(135%);box-shadow:inset 0 1px 0 #ffffff9c,0 3px 16px #23172c0c}
