:root{--app-surface:#fff;--app-field:#f6f7f3;--app-text:#252925;--app-border:#d9ddd7;--app-focus:#f1ede7}
html[data-mode=dark]{--app-surface:#141414;--app-field:#222;--app-text:#f2f2f2;--app-border:#555;--app-focus:#343434}
dialog .composer-actions,html[data-mode=dark] dialog .composer-actions{background:var(--app-surface);color:var(--app-text);isolation:isolate}
.app-select-native{position:absolute!important;width:1px!important;height:1px!important;margin:0!important;opacity:0!important;pointer-events:none;clip-path:inset(50%)}
.app-select-trigger{display:flex;justify-content:space-between;align-items:center;gap:14px;width:100%;min-height:44px;padding:12px 15px;border:1px solid var(--app-border);border-radius:12px;background:var(--app-field);color:var(--app-text);font:inherit;text-align:left}
.app-select-trigger.sort{width:auto;min-width:130px;font-size:13px;white-space:nowrap}
.app-select-trigger[aria-expanded=true]{border-color:var(--coral,#3155df);outline:2px solid #3155df33}
.app-select-menu{position:fixed;z-index:1000;overflow:auto;overscroll-behavior:contain;background:var(--app-surface);color:var(--app-text);border:1px solid var(--app-border);border-radius:14px;padding:6px;box-shadow:0 10px 35px #0004}
.app-select-menu [role=option]{display:block;width:100%;padding:12px 14px;min-height:44px;border-radius:8px;text-align:left;color:inherit;background:transparent;font:inherit}
.app-select-menu [role=option].focused,.app-select-menu [role=option]:hover{background:var(--app-focus)}
.app-select-menu [aria-selected=true]{font-weight:700;color:var(--coral,#3155df)}
.app-select-menu [aria-selected=true]::after{content:' ✓';float:right;margin-left:14px}
.settings-panel .plus-button{min-height:44px}.image-row .field{margin:0 0 12px}.image-row .grow{min-width:0}
#mask-canvas{touch-action:pan-y!important;cursor:default}#mask-canvas.mask-enabled{touch-action:none!important;cursor:crosshair}
.image-thumbnail video{width:90px;height:110px;object-fit:contain;background:#111}.image-row>video{width:90px;height:110px;object-fit:contain}
.app-video{position:relative;width:100%;aspect-ratio:9/16;background:var(--paper,var(--app-surface));color:var(--text,var(--app-text));border-radius:16px;overflow:hidden;isolation:isolate}
.app-video>video{display:block;width:100%;height:100%;object-fit:cover;background:transparent}
.video-controls{position:absolute;inset:0;pointer-events:none}
.video-controls button{pointer-events:auto;color:#fff;background:#17172780;min-width:44px;min-height:44px;border:1px solid #ffffff70;backdrop-filter:blur(4px)}
.video-controls [data-video=play]{position:absolute;inset:0;margin:auto;width:76px;height:76px;border-radius:50%;display:grid;place-items:center;transition:opacity .16s}
.video-controls [data-video=play] svg{width:34px;height:34px}
.app-video.is-playing [data-video=play]{opacity:0;width:100%;height:100%;border:0;border-radius:0}
.app-video.is-playing [data-video=play]:focus-visible{opacity:1;width:76px;height:76px;border-radius:50%}
.video-controls [data-video=sound]{position:absolute;right:12px;top:12px;border-radius:22px;padding:7px 12px;font-size:12px}
.video-error:empty{display:none}.video-error{position:absolute;inset:auto 12px 12px;margin:0;padding:12px;font-size:13px;border-radius:12px;background:var(--paper,var(--app-surface));color:var(--text,var(--app-text));pointer-events:none}
.iv-page>.app-video{height:100%;width:100%;aspect-ratio:auto;border-radius:0}.iv-page .app-video>video{max-height:none;height:100%}
.story-page:has(.app-video){background:transparent}.story-page>a:has(img){display:block;aspect-ratio:9/16;overflow:hidden}.story-page a>img{width:100%;height:100%;max-height:none;object-fit:cover;background:transparent}
.media-review-list video{max-height:50vh;width:100%}

.media-review-notice{width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);margin:auto}.media-review-notice h2{font-size:24px;line-height:1.2;margin:0 0 16px}.media-review-notice p{line-height:1.6;margin:0 0 20px}.media-review-notice .primary{width:100%}.media-review-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px;margin:0 0 20px;border:1px solid var(--coral,#3155df);border-radius:12px}.media-review-banner strong{flex:1;min-width:180px}

.media-upload-error{padding:1rem;border:2px solid var(--coral,#3155df);border-radius:14px;background:var(--surface,#fff);color:var(--text);line-height:1.5;scroll-margin-block:2rem}
