.editor{position:fixed;inset:12px 12px 12px auto;width:430px;max-width:calc(100vw - 24px);height:calc(100dvh - 24px);max-height:none;margin:0;padding:0;background:var(--paper);color:var(--ink);border:1px solid #d4d3cb;box-shadow:0 10px 50px #0004;font-family:var(--ui);font-weight:400;overflow:hidden}
.editor[open]{display:flex;flex-direction:column}
.editor::backdrop{background:#0004;backdrop-filter:blur(3px)}
.editor-head{display:flex;justify-content:space-between;align-items:start;padding:25px 24px 22px;border-bottom:1px solid #d4d3cb}
.eyebrow{font:10px var(--display);letter-spacing:.04em;margin:0 0 13px}
.editor-head h2{font-size:21px;line-height:1.25;font-weight:600;letter-spacing:-.5px;margin:0}
.icon-button{background:none;color:inherit;font-size:28px;line-height:24px;padding:0 0 6px 12px}
.editor-body{padding:20px 24px;overflow:auto;overscroll-behavior:contain;flex:1;scrollbar-width:thin}
.editor-intro{font-size:12px;line-height:1.8;color:#55554d;margin:0 0 10px}
.save-state{font-size:10px;color:#79796f;min-height:22px;margin-bottom:14px}
.project{border-top:1px solid #d4d3cb}
.project summary{display:flex;align-items:center;gap:12px;min-height:76px;cursor:pointer;list-style:none}
.project summary::-webkit-details-marker{display:none}
.project summary img,.project summary video{width:64px;height:47px;object-fit:cover;background:#ddd}
.project-summary-text{flex:1;min-width:0}
.project-num{font:9px var(--display);color:#7c7c70;display:block;margin-bottom:4px}
.project-name{font:15px/1.1 var(--display);letter-spacing:-.035em;overflow:hidden;text-overflow:ellipsis;display:block;white-space:nowrap}
.project summary .plus{font-size:18px;color:#777}
.project[open] summary .plus{transform:rotate(45deg)}
.project-fields{padding:0 0 20px}
.field-label{display:block;font-size:11px;color:#626258;margin:12px 0 7px}
.title-input{width:100%;border:1px solid #cccbbf;color:#111;background:transparent;padding:11px 10px;font:16px var(--display);text-transform:uppercase;outline:none}
.title-input:focus{border-color:#111}
.image-upload{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:11px 10px;border:1px dashed #b5b5aa;margin-top:12px;cursor:pointer;font-size:12px}
.image-upload:hover{background:#e9e8df}
.image-upload small{font-size:9px;color:#777}
.image-input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.field-footer{display:flex;justify-content:space-between;margin-top:12px}
.move-actions{display:flex;gap:8px}
.small-button{background:none;padding:4px 7px;border:1px solid #cfcec2;color:#49493f;font-size:10px}
.delete-button{background:none;color:#8d453a;padding:4px 0;font-size:10px}
.position-control{display:flex;gap:10px;align-items:center;font-size:10px;color:#747468;margin-top:12px}
.position-control input{width:100%;accent-color:#191917;cursor:pointer}
.position-control span{flex-shrink:0}
.add-button{width:100%;padding:17px 0;background:none;color:#222;font-size:12px;text-align:left;border-top:1px solid #d4d3cb;display:flex;justify-content:space-between}
.add-button span{font:10px var(--display);color:#777}
.settings{margin-top:22px;border-top:1px solid #d4d3cb;padding-top:18px;font-size:12px}
.settings>summary{display:flex;justify-content:space-between;cursor:pointer;list-style:none}
.settings>summary::-webkit-details-marker{display:none}
.switch-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin-top:24px}
.switch-row input{accent-color:#111;width:17px;height:17px}
.small-note{font-size:10px;color:#75756b;line-height:1.8;margin:18px 0 14px}
.backup-actions{display:flex;gap:8px}
.secondary-button{background:none;color:#111;border:1px solid #c8c7bc;font-size:11px;padding:10px 14px}
.secondary-button:hover{background:#e6e5dc}
.text-button{background:none;color:#79796d;font-size:10px;padding:16px 0 0}
.reset-confirm{font-size:11px;line-height:1.8}
.reset-confirm .text-button{padding:10px 15px}
.editor-foot{padding:15px 24px;border-top:1px solid #d4d3cb;display:flex;align-items:center;justify-content:space-between}
.editor-foot>span{font-size:10px;color:#808073}
.primary-button{color:#fff;background:#181817;padding:13px 20px;font-size:12px}
.primary-button span{margin-left:20px}
.primary-button:hover{background:#3b3b33}
@media(max-width:767px){.editor{inset:0;width:100%;height:100dvh;max-width:none;border:0}.editor-head{padding-top:22px}.editor-head h2{font-size:20px}}
.media-hint{font-size:10px;line-height:1.7;color:#75756b;margin:9px 0 0}
.editor-body{min-height:0}
.project-fields .delete-button{padding:8px 10px;border:1px solid #d4b5ae}
.add-button{position:sticky;top:-20px;z-index:1;background:var(--paper);border-bottom:1px solid #d4d3cb;margin-bottom:6px}
.typography-panel{border:1px solid #d4d3cb;padding:15px;margin:4px 0 20px}
.typography-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.typography-head h3{font-size:13px;font-weight:600;margin:0}
.typography-head .small-button{padding:6px 8px;font-family:var(--ui)}
.font-control{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 16px;margin-top:14px}
.font-control>label{font-size:11px;color:#55554d}
.font-control>input[type=range]{grid-column:1 / -1;width:100%;margin:0;accent-color:#191917;cursor:pointer}
.font-value{display:flex;align-items:center;gap:5px;font-size:10px;color:#626258}
.font-value input{width:60px;min-height:30px;padding:4px;border:1px solid #cccbbf;background:transparent;color:#171716;text-align:right;font-size:12px;font-family:var(--display)}
.type-note{font-size:10px;line-height:1.7;color:#75756b;margin:14px 0 0}
.editor.type-preview::backdrop{backdrop-filter:none;background:#0002}
