/* Hallmark · pre-emit critique: P5 H5 E5 S5 R5 V5
 * Hallmark · component: drama-editor modal · genre: modern-minimal · theme: Midnight
 * states: default · hover · focus · active · disabled · loading · error · success
 * contrast: pass · responsive: 320 / 375 / 414 / 768 / desktop
 */
dialog.v211-drama-editor{position:fixed;inset:0;margin:auto;width:min(68rem,calc(100% - 2rem));height:fit-content;max-height:calc(100dvh - 2rem);overflow:visible;border-radius:var(--radius-md);background:var(--color-paper-raised);color:var(--color-ink)}
.v211-drama-editor>form{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:calc(100dvh - 2rem);padding:0}
.v211-drama-editor .dialog-head{padding:var(--space-4) var(--space-5);border-block-end:1px solid var(--color-rule)}
.v211-drama-editor .dialog-head h2{margin:var(--space-1) 0 0;font-family:var(--font-display);font-size:1.5rem;letter-spacing:-.025em}
.v211-drama-editor .dialog-actions{margin:0;padding:var(--space-3) var(--space-5);border-block-start:1px solid var(--color-rule);background:var(--color-paper-raised)}
.v211-drama-editor #fields{display:block;min-height:0;padding:var(--space-4) var(--space-5);overflow-y:auto;overscroll-behavior:contain}
.v211-drama-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(14rem,16rem);gap:var(--space-5);align-items:start}
.v211-main-fields{min-width:0}.v211-field-grid,.v211-advanced-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
.v211-field-grid label,.v211-advanced-grid label,.v211-cover-panel label{display:grid;gap:var(--space-1);min-width:0;color:var(--color-muted)}
.v211-field-grid label>span:first-child,.v211-advanced-grid label>span:first-child,.v211-cover-panel label>span:first-child,.v211-label{color:var(--color-ink);font-weight:700}
.v211-span-2{grid-column:1/-1}.v211-field-grid small,.v211-advanced-grid small,.v211-category-field>small,.v211-cover-copy small{min-height:1lh;color:var(--color-muted);font-size:.75rem;line-height:1.45}
.v211-field-grid input,.v211-field-grid select,.v211-field-grid textarea,.v211-advanced-grid input,.v211-advanced-grid select,.v211-cover-panel input{min-height:2.75rem;padding:var(--space-2) var(--space-3);border:1px solid var(--color-rule);outline:2px solid transparent;outline-offset:1px;border-radius:var(--radius-sm);background:var(--color-paper);color:var(--color-ink)}
.v211-field-grid textarea{min-height:5.5rem;resize:vertical}.v211-field-grid input:focus-visible,.v211-field-grid select:focus-visible,.v211-field-grid textarea:focus-visible,.v211-advanced-grid input:focus-visible,.v211-advanced-grid select:focus-visible,.v211-cover-panel input:focus-visible{outline-color:var(--color-focus)}
.v211-field-grid input:disabled,.v211-field-grid select:disabled,.v211-field-grid textarea:disabled,.v211-advanced-grid input:disabled,.v211-cover-panel input:disabled{cursor:not-allowed;opacity:.55}
.v211-field-grid :is(input,select,textarea)[aria-invalid=true],.v211-advanced-grid :is(input,select,textarea)[aria-invalid=true]{border-color:var(--color-error)}
.v211-field-grid :is(input,select,textarea)[data-state=success],.v211-advanced-grid :is(input,select,textarea)[data-state=success]{border-color:var(--color-success)}
.v211-input-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2)}.v211-input-action button{min-height:2.75rem;white-space:nowrap}
.v211-category-field{position:relative;display:grid;gap:var(--space-1);min-width:0}.v211-category-trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:2.75rem;width:100%;padding:var(--space-2) var(--space-3);background:var(--color-paper);color:var(--color-ink);border:1px solid var(--color-rule);font-weight:500;text-align:start}.v211-category-trigger>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v211-category-popover{position:fixed;inset:auto;inset-inline-start:var(--v211-popover-left);inset-block-start:var(--v211-popover-top);width:var(--v211-popover-width);max-height:min(22rem,calc(100dvh - 1.5rem));margin:0;padding:0;overflow:hidden;border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-raised);color:var(--color-ink)}
.v211-category-popover::backdrop{background:transparent}.v211-popover-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border-block-end:1px solid var(--color-rule)}.v211-popover-head button{min-height:2.75rem}.v211-category-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-1);max-height:15rem;padding:var(--space-2);overflow-y:auto}.v211-category-option{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center;gap:var(--space-2)!important;min-height:2.75rem;padding:var(--space-2);border-radius:var(--radius-sm);background:var(--color-paper);color:var(--color-ink)!important;cursor:pointer}.v211-category-option input{width:auto;margin:0;accent-color:var(--color-accent)}.v211-category-option span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v211-category-popover>p{margin:0;padding:var(--space-2) var(--space-3);border-block-start:1px solid var(--color-rule);color:var(--color-muted);font-size:.75rem}.v211-category-popover>p[data-state=error]{color:var(--color-error)}.v211-category-empty{grid-column:1/-1;margin:0;padding:var(--space-4);color:var(--color-muted)}
.v211-advanced{margin-block-start:var(--space-3);border-block-start:1px solid var(--color-rule)}.v211-advanced summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:2.75rem;color:var(--color-ink);font-weight:700;cursor:pointer;white-space:nowrap}.v211-advanced summary span{overflow:hidden;text-overflow:ellipsis;color:var(--color-muted);font-size:.75rem;font-weight:400}.v211-advanced-grid{padding-block:var(--space-3)}
.v211-cover-panel{display:grid;gap:var(--space-3);min-width:0;padding-inline-start:var(--space-5);border-inline-start:1px solid var(--color-rule)}.v211-cover-copy{display:grid;gap:var(--space-1)}.v211-cover-copy strong{font-family:var(--font-display);font-size:1rem}.v211-cover-preview{position:relative;display:grid;place-items:center;width:min(100%,11rem);aspect-ratio:2/3;justify-self:center;overflow:hidden;border:1px dashed var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper);color:var(--color-muted);text-align:center}.v211-cover-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.v211-cover-preview.has-image{border-style:solid}.v211-cover-preview.has-image>span{opacity:0}.v211-upload-control{position:relative;display:block!important;min-height:2.75rem;border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper);color:var(--color-ink)!important;cursor:pointer}.v211-upload-control input{position:absolute;width:1px;height:1px;padding:0;border:0;clip-path:inset(50%);overflow:hidden;white-space:nowrap}.v211-upload-control span{display:flex;align-items:center;justify-content:center;min-height:2.75rem;padding-inline:var(--space-3);font-weight:750;white-space:nowrap}.v211-upload-control input:focus-visible+span{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:inherit}.v211-upload-control:active{transform:translateY(1px)}.v211-upload-control[data-state=loading]{cursor:progress;opacity:.72}.v211-upload-control[data-state=loading] span::after{width:.8rem;height:.8rem;margin-inline-start:var(--space-2);border:2px solid var(--color-rule);border-block-start-color:var(--color-focus);border-radius:var(--radius-pill);content:"";animation:v211-spin var(--duration-standard) linear infinite}.v211-upload-control[data-state=error]{border-color:var(--color-error)}.v211-upload-control[data-state=success]{border-color:var(--color-success)}.v211-upload-message{min-height:1lh;margin:0;color:var(--color-muted);font-size:.75rem;line-height:1.45}
.v211-drama-editor button[data-state=loading]{cursor:progress;opacity:.72}.v211-drama-editor button:disabled{cursor:not-allowed;opacity:.55}.v211-drama-editor :is(button,summary):focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}
@keyframes v211-spin{to{transform:rotate(1turn)}}
@media(hover:hover) and (pointer:fine){.v211-field-grid :is(input,select,textarea):hover,.v211-advanced-grid :is(input,select):hover,.v211-cover-panel input:hover,.v211-category-trigger:hover,.v211-category-option:hover,.v211-upload-control:hover{background:var(--color-paper-soft)}}
@media(max-width:60rem){dialog.v211-drama-editor{width:min(46rem,calc(100% - 1.5rem));max-height:calc(100dvh - 1.5rem)}.v211-drama-editor>form{max-height:calc(100dvh - 1.5rem)}.v211-drama-form{grid-template-columns:minmax(0,1fr)}.v211-cover-panel{grid-template-columns:minmax(7rem,9rem) minmax(0,1fr);align-items:start;padding-block-start:var(--space-4);padding-inline-start:0;border-block-start:1px solid var(--color-rule);border-inline-start:0}.v211-cover-copy{grid-column:1/-1}.v211-cover-preview{grid-row:2/6;width:100%}.v211-cover-panel .v211-upload-control,.v211-cover-panel label,.v211-upload-message{grid-column:2}}
@media(max-width:40rem){dialog.v211-drama-editor{width:calc(100% - 1rem);max-height:calc(100dvh - 1rem)}.v211-drama-editor>form{max-height:calc(100dvh - 1rem)}.v211-drama-editor .dialog-head,.v211-drama-editor #fields,.v211-drama-editor .dialog-actions{padding-inline:var(--space-3)}.v211-field-grid,.v211-advanced-grid{grid-template-columns:minmax(0,1fr)}.v211-span-2{grid-column:auto}.v211-input-action{grid-template-columns:minmax(0,1fr)}.v211-advanced summary span{display:none}.v211-cover-panel{grid-template-columns:6.5rem minmax(0,1fr)}.v211-category-list{grid-template-columns:minmax(0,1fr)}.v211-category-popover{max-height:calc(100dvh - 1rem)}}
@media(prefers-reduced-motion:reduce){.v211-upload-control[data-state=loading] span::after{animation-duration:1s}.v211-cover-preview.has-image>span{transition:none}}
