.composer-page{max-width:920px;margin:0 auto}.composer{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.composer-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px var(--space-3);padding:var(--space-4) var(--space-5) 0}.composer-head h1,.composer-head h2{font-size:var(--fs-lg);margin:0;letter-spacing:0}.composer-head .muted{font-size:var(--fs-sm)}.composer-body{display:grid;gap:var(--space-4);padding:var(--space-4) var(--space-5) var(--space-5)}.composer-form{margin:0}.composer .field>span{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.composer .counter{color:var(--muted);font-size:var(--fs-xs);font-weight:400;font-variant-numeric:tabular-nums}.composer .counter.is-short{color:var(--warn)}.composer-subject-fixed{margin:0;padding:8px 12px;background:var(--surface-2);border-radius:var(--radius-sm);color:var(--text-2);overflow-wrap:anywhere}.composer-rules{padding:var(--space-3) var(--space-4);background:var(--info-soft);color:var(--text);border-radius:var(--radius-sm);font-size:var(--fs-sm)}.composer-rules p{margin:0 0 6px}.composer-rules strong{color:var(--info)}.composer-guest{margin:0;padding:8px 12px;background:var(--surface-2);border-radius:var(--radius-sm);font-size:var(--fs-sm);color:var(--text-2)}.editor{border:1px solid var(--field-border,var(--border-strong));border-radius:var(--radius-sm);background:var(--field-bg,var(--surface));color:var(--field-text,var(--text));overflow:hidden}.editor:focus-within{border-color:var(--link);box-shadow:0 0 0 3px color-mix(in srgb,var(--link) 22%,transparent)}.field.invalid .editor{border-color:var(--danger)}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:4px;background:var(--surface-2);border-bottom:1px solid var(--border)}.toolbar-sep{width:1px;align-self:stretch;margin:4px 4px;background:var(--border)}.toolbar .btn{min-height:var(--control-h-sm);min-width:var(--control-h-sm);padding:0 8px;font-size:var(--fs-sm)}.toolbar .btn .icon{width:15px;height:15px}.toolbar details.dropdown{margin-left:auto}.toolbar .dropdown-list{min-width:220px;max-height:320px;overflow-y:auto}.toolbar .dropdown-list button{padding:6px 10px}.toolbar .dropdown-list code{font-family:var(--mono);font-size:var(--fs-xs);color:var(--muted);margin-left:auto}.toolbar-chars{display:flex;flex-wrap:wrap;gap:2px;padding:4px 6px}.toolbar-chars button{justify-content:center;width:32px;padding:6px 0}.editor textarea{display:block;border:0;border-radius:0;box-shadow:none;min-height:180px;padding:var(--space-3);font-family:var(--font);font-size:var(--fs-post);line-height:var(--lh-post);resize:vertical}.editor textarea:focus{box-shadow:none}.composer-compact .editor textarea{min-height:130px}.composer-tall .editor textarea{min-height:320px}.composer-options{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5)}.composer-icons>summary{cursor:pointer;display:inline-flex;align-items:center;gap:6px;color:var(--link);font-size:var(--fs-sm);font-weight:550;list-style:none}.composer-icons>summary::-webkit-details-marker{display:none}.composer-icons-grid{margin-top:var(--space-2);padding:var(--space-2);background:var(--surface-2);border-radius:var(--radius-sm);max-width:max-content}.pi-picker{display:grid;grid-template-columns:repeat(10,36px);gap:4px}.pi-chip{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #fff0;border-radius:var(--radius-sm);cursor:pointer}.pi-chip:hover{background:var(--surface);border-color:var(--border)}.pi-chip input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.pi-chip:has(input:checked){background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.pi-chip:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}@media (max-width:400px){.pi-picker{grid-template-columns:repeat(auto-fill,36px)}.composer-icons-grid{max-width:none}}.composer-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}.composer-actions .hint{margin-left:auto;color:var(--muted);font-size:var(--fs-xs)}.composer-actions input.btn{font:inherit;font-weight:550}.composer-actions input.btn-primary{color:var(--on-accent)}.similar-box{margin:0;padding:var(--space-3) var(--space-4);background:var(--surface-2);border-radius:var(--radius-sm);font-size:var(--fs-sm)}.similar-box:empty{display:none}.similar-box ul{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:4px}.similar-box h3{font-size:var(--fs-sm);margin:0;color:var(--text-2)}.composer-reply-card{scroll-margin-top:calc(var(--header-h) + var(--space-4));margin-top:var(--space-4)}.composer-locked{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--text-2)}.composer-locked .icon{color:var(--muted)}.preview-card{margin-bottom:var(--space-4)}.preview-card .card-head{margin-bottom:var(--space-3)}.preview-note{margin:0;color:var(--muted);font-size:var(--fs-sm)}@media (max-width:760px){.composer-head{padding:var(--space-3) var(--space-4) 0}.composer-body{padding:var(--space-3) var(--space-4) var(--space-4)}.composer-actions .hint{display:none}.composer-actions .btn{flex:1 1 auto}.editor textarea{font-size:16px}.btn-label-hide{display:none}}.composer-field>span:first-child{flex-wrap:wrap}.composer .field-meta{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.cmp-save{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:var(--fs-xs);font-weight:500}.cmp-save .icon{width:14px;height:14px}.cmp-save.is-saved{color:var(--ok)}.ve-wrap{position:relative}.editor.composer-on{display:flex;flex-direction:column;overflow:visible}.editor.composer-on .toolbar{position:sticky;top:var(--header-h,0);z-index:5;border-radius:var(--radius-sm) var(--radius-sm) 0 0}.toolbar-gap{flex:1 1 auto}.toolbar .tb-code{font-family:var(--mono);font-size:12px;font-weight:700}.toolbar .ve-mode{display:inline-flex;align-items:center;gap:6px}.toolbar .ve-mode code{font-family:var(--mono);font-size:12px}.toolbar .btn[aria-pressed="true"]{background:var(--link-soft);border-color:color-mix(in srgb,var(--link) 35%,transparent);color:var(--link)}.editor.composer-on .toolbar details.dropdown{margin-left:0}.ve-surface{min-height:180px;max-height:70vh;overflow-y:auto;padding:var(--space-3);outline:none;cursor:text;font-size:var(--fs-post);line-height:var(--lh-post);overflow-wrap:anywhere}.composer-compact .ve-surface{min-height:130px}.composer-page .ve-surface{min-height:240px}.ve-surface.post-body{max-width:none}.ve-surface:empty::before{content:attr(data-placeholder);color:var(--muted);pointer-events:none}.ve-surface .quote,.ve-surface .code{position:relative}.ve-surface .tiny,.ve-surface .code>b:first-child{user-select:none;-webkit-user-select:none}.ve-surface img{max-width:100%;height:auto}.ve-surface img.emoticon{vertical-align:-4px;cursor:default}.ve-surface a{cursor:text}.ve-surface .bb-raw{display:inline-block;padding:0 6px;border-radius:5px;background:var(--surface-2);border:1px dashed var(--border-strong);color:var(--text-2);font-size:var(--fs-sm)}.editor textarea.raw-tags{font-family:var(--mono);font-size:13.5px;line-height:1.6}.editor.is-over{border-color:var(--link);background:var(--link-soft)}.cmp-mini{position:absolute;z-index:55;display:flex;gap:2px;padding:3px;background:var(--chrome-bg);border-radius:var(--radius-sm);box-shadow:var(--shadow-md)}.cmp-mini button{display:grid;place-items:center;min-width:30px;height:30px;padding:0 6px;border:0;border-radius:7px;background:none;color:var(--chrome-ink,#e6e9ef);font:inherit;font-size:13px;cursor:pointer}.cmp-mini button:hover,.cmp-mini button:focus-visible{background:var(--chrome-hover-strong,rgb(255 255 255 / .12))}.cmp-mini button[aria-pressed="true"]{background:var(--chrome-press,rgb(255 255 255 / .2));color:var(--chrome-strong)}.cmp-mini .icon{width:15px;height:15px}.cmp-pop{position:absolute;z-index:60;min-width:220px;max-width:calc(100vw - 32px);padding:8px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg)}.cmp-pop h3{font-size:var(--fs-sm);font-weight:650;margin:2px 4px 8px;color:var(--text-2)}.cmp-pop .row{display:grid;gap:6px;margin-bottom:8px}.cmp-pop label{display:grid;gap:4px;font-size:var(--fs-xs);font-weight:600;color:var(--muted)}.cmp-pop .err{color:var(--danger);font-size:var(--fs-xs);margin:0 0 6px}.cmp-pop .actions{display:flex;gap:6px;justify-content:flex-end}.cmp-pop .emo-grid{display:grid;grid-template-columns:repeat(6,38px);gap:2px}.cmp-pop .emo-grid button{display:grid;place-items:center;width:38px;height:36px;border:0;border-radius:var(--radius-sm);background:none;cursor:pointer}.cmp-pop .emo-grid button:hover,.cmp-pop .emo-grid button:focus-visible{background:var(--surface-2)}.cmp-pop .emo-foot{margin:6px 4px 0;font-size:var(--fs-xs);color:var(--muted);min-height:18px;font-family:var(--mono)}.cmp-menu{min-width:250px;max-height:320px;overflow-y:auto;padding:6px}.cmp-menu .menu-head{margin:2px 6px 6px;font-size:var(--fs-xs);font-weight:650;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.cmp-menu [role=option]{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:var(--radius-sm);cursor:pointer}.cmp-menu [role=option][aria-selected=true]{background:var(--link-soft)}.cmp-menu .mi-ico{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:8px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);font-weight:700;font-size:13px}.cmp-menu .mi-ico.av{border-radius:50%;background:var(--accent-soft);color:var(--accent);border:0}.cmp-menu .mi-t{font-weight:600;font-size:var(--fs-sm)}.cmp-menu .mi-d{display:block;font-size:var(--fs-xs);color:var(--muted);font-family:var(--mono)}.cmp-menu .mi-tag{margin-left:auto;padding:1px 7px;border-radius:var(--radius-pill);background:var(--ok-soft);color:var(--ok);font-size:11px;font-weight:600}.cmp-menu .menu-empty{padding:8px;color:var(--muted);font-size:var(--fs-sm)}.slash-hint{margin:0;color:var(--muted);font-size:var(--fs-xs)}.slash-hint kbd{font-family:var(--mono);font-size:11px;padding:0 5px;border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:5px;background:var(--surface)}.draft-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 12px;border-radius:var(--radius-sm);background:var(--info-soft);font-size:var(--fs-sm)}.composer-toast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:90;max-width:calc(100vw - 32px);padding:9px 14px;border-radius:var(--radius-sm);background:var(--chrome-bg);color:var(--chrome-strong);font-size:var(--fs-sm);box-shadow:var(--shadow-md)}.cmp-pop-img{width:min(340px, calc(100vw - 32px))}.cmp-pop-img input{width:100%}.cmp-hint{position:absolute;z-index:55;display:flex;align-items:center;gap:6px;padding:6px 8px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);font-size:var(--fs-sm)}.cmp-hint[hidden]{display:none}.cmp-tray{display:grid;gap:10px}.cmp-drop{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 8px;padding:12px;border:1.5px dashed var(--border-strong);border-radius:var(--radius-sm);color:var(--muted);font-size:var(--fs-sm);text-align:center;transition:background .15s,border-color .15s}.cmp-drop.is-over{border-color:var(--link);background:var(--link-soft);color:var(--link)}.cmp-hint-touch{display:none}@media (pointer:coarse){.cmp-hint-mouse{display:none}.cmp-hint-touch{display:inline}}.cmp-drop .linklike{border:0;background:none;padding:0;color:var(--link);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.upchips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.upchips:empty{display:none}.upchip{display:flex;align-items:center;gap:10px;min-width:0;max-width:100%;width:320px;padding:6px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.upchip.is-used{border-color:color-mix(in srgb,var(--ok) 45%,var(--border))}.upchip-th{width:52px;height:52px;flex:none;border-radius:7px;object-fit:cover;background:var(--border)}.upchip-thbtn{flex:none;padding:0;border:0;border-radius:7px;background:none;line-height:0}.upchip-thbtn:not([disabled]){cursor:pointer}.upchip-thbtn:not([disabled]):hover .upchip-th{outline:2px solid var(--link);outline-offset:1px}.upchip-line{display:flex;align-items:center;gap:6px;min-width:0}.upchip-badge{flex:none;padding:1px 7px;border-radius:var(--radius-pill);background:var(--ok-soft);color:var(--ok);font-size:11px;font-weight:600;white-space:nowrap}.upchip-acts{display:flex;flex-wrap:wrap;gap:4px}.upchip-acts[hidden]{display:none}.upchip-ins{padding:3px 8px;border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface);color:var(--link);font:inherit;font-size:var(--fs-xs);font-weight:600;cursor:pointer}.upchip-ins:hover{background:var(--link-soft);border-color:var(--link)}.upchip-ins:focus-visible,.upchip-x:focus-visible{outline:2px solid var(--link);outline-offset:1px}.upchip-ins[aria-pressed=true]{background:var(--link-soft);border-color:var(--link)}.cmp-tray-note{margin:0;color:var(--muted);font-size:var(--fs-xs)}.upchip-file{display:grid;place-items:center;color:var(--muted)}.upchip-meta{display:grid;gap:4px;min-width:0;flex:1 1 auto}.upchip-name{min-width:0;font-size:var(--fs-sm);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upchip-sub{font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums}.upchip-sub.ok{color:var(--ok)}.upchip.is-error .upchip-sub{color:var(--danger);white-space:normal}.upchip-bar{height:4px;border-radius:var(--radius-pill);background:var(--border);overflow:hidden}.upchip-bar>i{display:block;height:100%;width:0;background:var(--link);transition:width .1s}.upchip.is-done .upchip-bar{display:none}.upchip-x{display:grid;place-items:center;flex:none;width:30px;height:30px;border:0;border-radius:8px;background:none;color:var(--muted);cursor:pointer}.upchip-x:hover{background:var(--surface);color:var(--danger)}.upchip-x .icon{width:14px;height:14px}.nojs-upload input[type=file]{font-size:var(--fs-sm)}.attach-only-note{display:flex;gap:8px;align-items:flex-start;margin:0;padding:10px 12px;border-radius:var(--radius-sm);background:var(--info-soft);font-size:var(--fs-sm)}.attach-only-preview{max-height:320px;overflow:auto;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm)}@media (max-width:640px){.editor.composer-on .toolbar{order:2;top:auto;bottom:var(--kb-offset,0);flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;border-bottom:0;border-top:1px solid var(--border);border-radius:0 0 var(--radius-sm) var(--radius-sm);box-shadow:0 -6px 14px -10px rgb(0 0 0 / .35);padding:6px}.editor.composer-on .toolbar::-webkit-scrollbar{display:none}.editor.composer-on .toolbar .btn,.editor.composer-on .toolbar summary.btn{min-width:40px;min-height:40px;flex:none}.editor.composer-on .toolbar-gap{display:none}.editor.composer-on .ve-surface,.editor.composer-on textarea{order:1;font-size:16px}.toolbar .ve-mode .lbl{display:none}.upchip{width:100%}.slash-hint{display:none}}