.post-editor{--pe-bg:#fff;--pe-panel:#fff;--pe-panel-2:#f5f6f7;--pe-border:#d9dde2;--pe-text:#222;--pe-text-dim:#6b7280;--pe-accent:#4a90e2;--pe-accent-hover:#357ac7;--pe-danger:#d64545;--pe-success:#2e8b57;background:var(--pe-bg);color:var(--pe-text);border-radius:8px;flex-direction:column;gap:12px;padding:16px;font-size:14px;display:flex}.post-editor *{box-sizing:border-box}.post-editor input,.post-editor select,.post-editor textarea{background:var(--pe-panel);color:var(--pe-text);border:1px solid var(--pe-border);border-radius:4px;width:100%;padding:8px 10px;font-family:inherit;font-size:14px}.post-editor input:focus,.post-editor select:focus,.post-editor textarea:focus{border-color:var(--pe-accent);outline:none}.post-editor select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%236b7280' d='M6 8L0 0h12z'/></svg>");background-position:right 10px center;background-repeat:no-repeat;padding-right:28px}.post-editor__row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.post-editor__row>.post-editor__select{max-width:180px}.post-editor__label{color:var(--pe-text-dim);font-size:12px;font-weight:500}.post-editor__label-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.post-editor__counter{color:var(--pe-text-dim);white-space:nowrap;font-size:12px}.post-editor__counter.is-over{color:var(--pe-danger);font-weight:700}.post-editor__error{color:#b33636;white-space:pre-wrap;background:#fdecec;border:1px solid #f3c2c2;border-radius:4px;padding:10px 12px;font-size:13px}.pe-editor{border:1px solid var(--pe-border);background:var(--pe-panel);border-radius:4px;flex-direction:column;display:flex;overflow:hidden}.pe-toolbar{background:var(--pe-panel-2);border-bottom:1px solid var(--pe-border);flex-wrap:wrap;gap:2px;padding:4px;display:flex}.pe-toolbar__btn{color:var(--pe-text);-webkit-text-fill-color:var(--pe-text);cursor:pointer;appearance:none;background:0 0;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;min-width:30px;height:28px;padding:0 8px;font-size:13px;font-weight:600;display:inline-flex}.pe-toolbar__btn:hover{background:#0000000f}.pe-toolbar__btn.is-active{background:var(--pe-accent);color:#fff;-webkit-text-fill-color:#fff}.pe-toolbar__btn:disabled{opacity:.4;cursor:not-allowed}.pe-toolbar__sep{background:var(--pe-border);align-self:stretch;width:1px;margin:2px 4px}.pe-editor__body{color:#222;background:#fff;min-height:320px;max-height:600px;padding:12px 14px;overflow-y:auto}.pe-editor__body .ProseMirror{outline:none;min-height:300px;font-size:15px;line-height:1.7}.pe-editor__body .ProseMirror p{margin:0 0 10px}.pe-editor__body .ProseMirror p.is-editor-empty:first-child:before{color:#b9b9b9;content:attr(data-placeholder);float:left;pointer-events:none;height:0}.pe-editor__body .ProseMirror img{border-radius:4px;max-width:100%;height:auto;margin-left:0;margin-right:auto;display:block}.pe-editor__body .ProseMirror img[data-align=center]{margin-left:auto;margin-right:auto}.pe-editor__body .ProseMirror img[data-align=right]{margin-left:auto;margin-right:0}.pe-editor__body .ProseMirror img[data-uploading=true]{opacity:.6;filter:saturate(.85)}.pe-editor__body .ProseMirror ul,.pe-editor__body .ProseMirror ol{margin:0 0 10px;padding-left:22px}.pe-editor__html-textarea{resize:vertical;min-height:320px;color:#1f2937!important;background:#f8f9fa!important;border:0!important;border-radius:0!important;font-family:ui-monospace,Menlo,Consolas,monospace!important}.pe-uploader{border:1px dashed var(--pe-border);background:var(--pe-panel);border-radius:6px;flex-direction:column;gap:10px;padding:14px;display:flex}.pe-uploader.is-dragging{border-color:var(--pe-accent);background:#4a90e214}.pe-uploader__hint{color:var(--pe-text-dim);font-size:12px;line-height:1.6}.pe-uploader__hint strong{color:var(--pe-text);font-weight:600}.pe-uploader__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pe-uploader__btn{background:var(--pe-panel-2);border:1px solid var(--pe-border);color:var(--pe-text);cursor:pointer;border-radius:4px;align-items:center;gap:4px;padding:6px 12px;font-size:13px;display:inline-flex}.pe-uploader__btn:hover{background:#e7eaee}.pe-uploader__totals{color:var(--pe-text-dim);margin-left:auto;font-size:12px}.pe-uploader__list{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.pe-uploader__item{background:var(--pe-panel-2);border:1px solid var(--pe-border);border-radius:4px;flex-direction:column;display:flex;position:relative;overflow:hidden}.pe-uploader__thumb{object-fit:cover;background:#eef0f3;width:100%;height:80px;display:block}.pe-uploader__thumb--placeholder{color:var(--pe-text-dim);text-transform:uppercase;letter-spacing:.5px;justify-content:center;align-items:center;font-size:11px;display:flex}.pe-uploader__meta{color:var(--pe-text-dim);flex-direction:column;gap:2px;padding:6px 8px;font-size:11px;line-height:1.4;display:flex}.pe-uploader__meta-name{color:var(--pe-text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pe-uploader__remove{color:#fff;cursor:pointer;background:#0000008c;border:0;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:14px;line-height:1;display:flex;position:absolute;top:4px;right:4px}.pe-uploader__remove:hover{background:var(--pe-danger)}.pe-thumbnail-picker{gap:10px;display:grid}.pe-thumbnail-picker__hint{color:var(--pe-text-dim);margin:0;font-size:12px;line-height:1.6}.pe-thumbnail-picker__list{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.pe-thumbnail-picker__item{border:1px solid var(--pe-border);background:var(--pe-panel-2);text-align:left;cursor:pointer;border-radius:8px;gap:8px;padding:10px;display:grid}.pe-thumbnail-picker__item.is-selected{border-color:var(--pe-accent);box-shadow:0 0 0 1px #4a90e22e}.pe-thumbnail-picker__preview{aspect-ratio:16/9;object-fit:cover;background:#eef0f3;border-radius:6px;width:100%}.pe-thumbnail-picker__preview--placeholder{color:var(--pe-text-dim);letter-spacing:.08em;place-items:center;font-size:12px;display:grid}.pe-thumbnail-picker__meta{gap:2px;min-width:0;display:grid}.pe-thumbnail-picker__meta strong,.pe-thumbnail-picker__meta span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pe-thumbnail-picker__meta strong{color:var(--pe-text);font-size:12px}.pe-thumbnail-picker__meta span{color:var(--pe-text-dim);font-size:11px}.pe-thumbnail-picker__badge{border:1px solid var(--pe-border);min-height:26px;color:var(--pe-text-dim);border-radius:999px;justify-self:start;align-items:center;padding:0 10px;font-size:11px;font-weight:600;display:inline-flex}.pe-thumbnail-picker__badge.is-selected{color:var(--pe-accent);background:#4a90e21a;border-color:#4a90e23d}.pe-submit{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.pe-submit__btn{cursor:pointer;appearance:none;border:1px solid #0000;border-radius:4px;padding:10px 22px;font-size:14px;font-weight:600}.pe-submit__btn--primary{background:var(--primary);color:#fff;border-color:var(--primary);-webkit-text-fill-color:#fff}.pe-submit__btn--primary:hover{background:var(--primary-hover,#229c5f);border-color:var(--primary-hover,#229c5f)}.pe-submit__btn--primary:disabled{opacity:.5;cursor:not-allowed}.pe-submit__btn--ghost{color:var(--pe-text);border-color:var(--pe-border);-webkit-text-fill-color:var(--pe-text);background:0 0}.pe-submit__btn--ghost:hover{background:var(--pe-panel-2)}.post-editor .pe-notice-tabs{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:6px;display:grid}.post-editor .pe-notice-tabs label{background:var(--pe-panel);border:1px solid var(--pe-border);cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:8px 10px;font-size:13px;display:flex}.post-editor .pe-notice-tabs input[type=checkbox]{cursor:pointer;width:auto}.pe-recruit-schedule{background:#f6fbf8;border:1px solid #2bb67333;border-radius:8px;grid-template-columns:minmax(92px,auto) minmax(150px,1fr);align-items:center;gap:8px 10px;padding:12px;display:grid}.pe-recruit-schedule .post-editor__select,.pe-recruit-schedule input{max-width:220px}.pe-recruit-schedule__hint{color:var(--pe-text-dim);grid-column:2;margin:0;font-size:12px}@media (max-width:640px){.pe-recruit-schedule{grid-template-columns:1fr}.pe-recruit-schedule__hint{grid-column:1}}