.attach-viewer{position:fixed;inset:0 0 auto;height:100vh;height:100dvh;z-index:80;display:grid;grid-template-rows:auto auto minmax(0,1fr);background:#000;color:#fff;opacity:0;transition:opacity .15s ease}.attach-viewer.is-open{opacity:1}.attach-viewer-bar{grid-row:1}.attach-strip{grid-row:2}.attach-stage{grid-row:3}.attach-viewer-bar{display:flex;align-items:center;height:56px;padding:0 11px 0 4px;background:#00000080;padding-top:env(safe-area-inset-top);box-sizing:content-box}.attach-viewer-back{display:grid;place-items:center;width:48px;height:48px;padding:0;border:0;border-radius:999px;background:none;color:#fff;cursor:pointer}.attach-viewer-back svg{width:24px;height:24px}.attach-viewer-title{flex:1;margin:0 0 0 12px;font-size:20px;font-weight:500;color:#fff}.attach-check{display:grid;place-items:center;padding:0;border:2px solid #fff;border-radius:999px;background:#0000004d;color:#fff;font-weight:700;line-height:1;cursor:pointer}.attach-check.is-checked{background:var(--color-rose);border-color:var(--color-rose)}.attach-viewer-check{width:34px;height:34px;font-size:16px}.attach-strip{display:flex;gap:6px;height:103px;padding:12px 12px 6px;box-sizing:border-box;overflow-x:auto;overflow-y:hidden;background:#00000080;scrollbar-width:none}.attach-strip::-webkit-scrollbar{display:none}.attach-strip[hidden]{display:none}.attach-cell{position:relative;flex:0 0 85px;width:85px;height:85px;border-radius:4px;overflow:hidden;background:var(--e-plane-field);touch-action:pan-x;user-select:none;-webkit-user-select:none;cursor:pointer}.attach-cell img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}.attach-cell.is-current{box-shadow:inset 0 0 0 2px var(--color-rose)}.attach-cell.is-current img{opacity:.85}.attach-cell.is-unchecked img{opacity:.4}.attach-cell-check{position:absolute;top:4px;left:55px;width:26px;height:26px;font-size:12px}.attach-cell-video{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:2px;height:16px;padding:0 3px;background:#00000080;color:#fff;font-size:11px;line-height:1;pointer-events:none}.attach-cell-video svg{width:12px;height:12px}.attach-cell.is-dragging{opacity:.35}.attach-cell-ghost{position:fixed;z-index:90;border-radius:4px;overflow:hidden;box-shadow:0 10px 24px #00000080;pointer-events:none;opacity:.95}.attach-strip.is-reordering{cursor:grabbing}.attach-stage{position:relative;display:grid;place-items:center;min-height:0;overflow:hidden;touch-action:pan-y}.attach-stage-fit{position:absolute;inset:0 0 68px;display:grid;place-items:center;transition:transform .2s ease}.attach-stage-fit img,.attach-stage-fit video{width:100%;height:100%;min-width:0;min-height:0;object-fit:contain;-webkit-user-drag:none}.attach-stage-duration{position:absolute;left:12px;bottom:12px;padding:2px 6px;border-radius:4px;background:#00000080;color:#fff;font-size:12px;line-height:1.3}.attach-stage-arrow{position:absolute;top:50%;display:none;place-items:center;width:44px;height:44px;margin-top:-22px;padding:0;border:0;border-radius:999px;background:#0006;color:#fff;cursor:pointer}.attach-stage-arrow svg{width:24px;height:24px}.attach-stage-arrow--prev{left:12px;transform:scaleX(-1)}.attach-stage-arrow--next{right:12px}@media(hover:hover){.attach-stage-arrow:not([hidden]){display:grid}.attach-stage-arrow:hover{background:#0009}}.attach-viewer-foot{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:flex-end;gap:8px;padding:8px 8px calc(8px + env(safe-area-inset-bottom)) 12px}.attach-viewer-caption{flex:1;min-height:44px;max-height:82px;padding:12px 18px;border:0;border-radius:29px;background:#00000080;box-shadow:inset 0 0 0 1px #ffffff2e;color:#fff;font:inherit;font-size:16px;line-height:1.25;resize:none;outline:0;box-sizing:border-box}.attach-viewer-caption::placeholder{color:#fffc}.attach-viewer-send{position:relative;flex:0 0 52px;width:52px;height:52px;margin-bottom:-6px;padding:0;border:0;border-radius:999px;background:var(--color-rose);color:#fff;cursor:pointer}.attach-viewer-send>svg{width:28px;height:28px;margin-left:2px}.attach-viewer-send-count{position:absolute;top:-2px;left:-2px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#fff;color:var(--color-rose);font-size:12px;font-weight:700;line-height:20px;box-sizing:border-box}.attach-viewer-send-count[hidden]{display:none}.chat-upload-ring{position:absolute;top:50%;left:50%;width:48px;height:48px;margin:-24px 0 0 -24px;padding:0;border:0;border-radius:50%;background:#0006;color:#fff;cursor:pointer}.chat-upload-ring-svg{position:absolute;inset:0;transform:rotate(-90deg)}.chat-upload-ring-svg circle{fill:none;stroke-width:3;stroke-linecap:round}.chat-upload-ring-track{stroke:#fff3}.chat-upload-ring-arc{stroke:#fff;transition:stroke-dasharray .15s linear}.chat-upload-ring-x{position:absolute;inset:0;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round}.chat-media-tile:has(.chat-upload-ring) .chat-media-play{display:none}.chat-msg-time.is-pending{display:inline-flex;align-items:center}.chat-msg-clock{width:14px;height:14px}.chat-msg-failed{display:inline-grid;place-items:center;width:14px;height:14px;padding:0;border:0;border-radius:999px;background:#db3535;color:#fff;font-size:11px;font-weight:700;line-height:1;vertical-align:middle;cursor:pointer}.attach-sheet{position:fixed;inset:0;z-index:85;display:grid;place-items:end center;padding:var(--e-s4);background:#00000073}.attach-sheet-panel{display:flex;flex-direction:column;width:min(360px,100%);padding:var(--e-s2);border-radius:var(--e-r-section);background:var(--e-plane-section);box-shadow:0 14px 30px #00000080}.attach-sheet-action{min-height:var(--e-h-action);padding:0 var(--e-s3);border:0;border-radius:var(--e-r-control);background:none;color:var(--e-ink-1);font:inherit;font-size:var(--e-t-body);text-align:left;cursor:pointer}.attach-sheet-action.is-destructive{color:var(--e-ink-danger)}@media(hover:hover){.attach-sheet-action:hover{background:#ffffff0f}}@media(min-width:601px){.attach-sheet{place-items:center}}.attach-box-layer{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:#00000080;opacity:0;transition:opacity .2s ease}.attach-box-layer.is-open{opacity:1}.attach-box{--attach-box-radius: 6px;display:flex;flex-direction:column;width:364px;max-width:calc(100vw - 20px);max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);border-radius:8px;background:var(--e-plane-section);color:var(--e-ink-1);transform:scale(.96);transition:transform .2s ease}.attach-box-layer.is-open .attach-box{transform:none}.attach-box-title{flex:none;height:56px;margin:0;padding:13px 28px 0;box-sizing:border-box;overflow:hidden;font-size:16px;font-weight:600;line-height:22px;white-space:nowrap;text-overflow:ellipsis}.attach-box-scroll{flex:0 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.attach-box-inner{display:flex;flex-direction:column;gap:10px;width:308px;margin:0 0 0 28px}.attach-box-picture{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.attach-box-picture[hidden]{display:none}.attach-box-single{position:relative;overflow:hidden;border-radius:var(--attach-box-radius);background:var(--e-plane-field)}.attach-box-single-frame{position:absolute}.attach-box-single>.attach-box-controls,.attach-box-photo>.attach-box-controls{top:5px;right:5px}.attach-box-album{position:relative;transition:height .2s ease;cursor:pointer}.attach-box-tile{position:absolute;overflow:hidden;background:var(--e-plane-field);-webkit-user-select:none;user-select:none;touch-action:none}.attach-box-tile .attach-box-picture{position:absolute;inset:0;width:auto;height:auto;border-radius:inherit;transition:inset .15s ease}.attach-box-album.is-reordering{cursor:move}.attach-box-album.is-reordering .attach-box-tile{background:transparent}.attach-box-album.is-reordering .attach-box-picture{inset:5px}.attach-box-album.is-reordering .attach-box-controls{opacity:0}.attach-box-album.is-reordering .attach-box-tile:not(.is-dragging),.attach-box-tile.is-settling{transition:left .2s ease,top .2s ease,width .2s ease,height .2s ease}.attach-box-tile.is-dragging,.attach-box-tile.is-settling{z-index:2}.attach-box-photos{display:flex;flex-direction:column;gap:10px}.attach-box-photo{position:relative}.attach-box-photo-frame{position:absolute;top:0;bottom:0;overflow:hidden;border-radius:var(--attach-box-radius);background:var(--e-plane-field)}.attach-box-controls{position:absolute;z-index:1;display:flex;width:48px;height:26px;border-radius:13px;background:#0006;color:#fff;transition:opacity .15s ease}.attach-box-controls.is-vertical{flex-direction:column;width:30px;height:50px;border-radius:15px}.attach-box-controls[hidden]{display:none}.attach-box-controls button{display:grid;flex:1;place-items:center;padding:0;border:0;border-radius:inherit;background:none;color:inherit;cursor:pointer}.attach-box-controls svg{width:18px;height:18px}.attach-box-controls button:focus-visible{outline:2px solid var(--e-on-line);outline-offset:-2px}@media(hover:hover){.attach-box-controls button:hover{background:#ffffff1f}}.attach-box-play{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;background:#00000054;color:#fff;pointer-events:none}.attach-box-play svg{width:24px;height:24px;margin-left:2px}.attach-box-foot{flex:none;display:flex;flex-direction:column;padding:0 28px}.attach-box-check{position:relative;display:flex;align-items:center;gap:12px;min-height:22px;margin-top:20px;font-size:var(--e-t-body);cursor:pointer;-webkit-user-select:none;user-select:none}.attach-box-check[hidden]{display:none}.attach-box-check input{position:absolute;width:1px;height:1px;opacity:0}.attach-box-check-mark{display:grid;flex:none;place-items:center;width:22px;height:22px;border:2px solid var(--e-ink-3);border-radius:3px;box-sizing:border-box;color:transparent;transition:background .12s ease,border-color .12s ease}.attach-box-check-mark svg{width:16px;height:16px}.attach-box-check input:checked+.attach-box-check-mark{border-color:var(--color-rose);background:var(--color-rose);color:#fff}.attach-box-check input:focus-visible+.attach-box-check-mark{outline:2px solid var(--e-on-line);outline-offset:2px}.attach-box-field{position:relative;margin-top:8px;padding:26px 1px 4px}.attach-box-field:before,.attach-box-field:after{position:absolute;right:0;bottom:0;left:0;content:""}.attach-box-field:before{height:1px;background:var(--e-line-field)}.attach-box-field:after{height:2px;background:var(--e-on-line);transform:scaleX(0);transition:transform .15s ease}.attach-box-field:focus-within:after{transform:none}.attach-box-caption{display:block;width:100%;min-height:25px;max-height:128px;padding:0;border:0;background:none;color:var(--e-ink-1);font:inherit;font-size:var(--e-t-body);line-height:20px;overflow-y:auto;resize:none;outline:0}.attach-box-placeholder{position:absolute;top:26px;left:1px;color:var(--e-ink-3);font-size:14px;font-weight:600;line-height:20px;transform-origin:left top;transition:transform .15s ease,color .15s ease;pointer-events:none}.attach-box-field:focus-within .attach-box-placeholder,.attach-box-field.is-filled .attach-box-placeholder{transform:translateY(-20px) scale(.9)}.attach-box-field:focus-within .attach-box-placeholder{color:var(--e-ink-2)}.attach-box-buttons{flex:none;display:flex;justify-content:flex-end;gap:6px;padding:10px}.attach-box-button{height:34px;padding:0 15px;border:0;border-radius:var(--e-r-control);background:none;color:var(--color-rose-link);font:inherit;font-size:14px;font-weight:600;cursor:pointer}.attach-box-button--add{margin-right:auto}.attach-box-button[hidden]{display:none}.attach-box-button:focus-visible{outline:2px solid var(--e-on-line);outline-offset:-2px}@media(hover:hover){.attach-box-button:hover{background:var(--color-rose-secondary-hover-bg)}}.attach-box-menu{position:fixed;z-index:90;min-width:180px;padding:6px 0;border-radius:var(--e-r-section);background:var(--e-plane-section);box-shadow:0 0 0 1px var(--e-plane-section-line)}.attach-box-menu-item{display:block;width:100%;padding:9px 16px;border:0;background:none;color:var(--e-ink-1);font:inherit;font-size:var(--e-t-body);text-align:left;cursor:pointer}.attach-box-menu-item:focus-visible{outline:0;background:#ffffff0f}@media(hover:hover){.attach-box-menu-item:hover{background:#ffffff0f}}
