.character-entry-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:17px}.character-entry-actions button{flex:1;min-width:135px;font-size:.875rem;padding:10px 13px}.character-dialog[open]{width:min(940px,calc(100vw - 28px));max-width:none;height:min(600px,calc(100dvh - 28px));max-height:calc(100dvh - 28px);background:#142e38;border:1px solid #baa87580;border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.character-dialog .modal-heading{padding:15px 20px;min-height:66px;background:#162f38;flex-shrink:0}.character-dialog .modal-heading .eyebrow{font-size:.75rem;letter-spacing:.17em}.character-dialog .modal-heading h2{font-size:1.4rem;line-height:1.3;margin-top:3px}.character-dialog .modal-heading .hud-icon{height:34px;min-height:34px;min-width:34px;width:34px;font-size:24px}
.character-workspace{display:grid;grid-template-columns:minmax(0,1fr) 242px;flex:1;min-height:0;overflow:hidden}.character-editor{display:flex;flex-direction:column;gap:14px;padding:17px 20px;min-width:0;min-height:0;overflow:hidden}.character-modes{display:flex;align-items:stretch;gap:5px;flex-shrink:0;background:#0f232c7d;border:1px solid #8b9d8440;border-radius:8px;padding:4px}.character-modes button{flex:1;min-width:0;min-height:37px;border:0;background:transparent;border-radius:5px;padding:7px 8px;font-size:.875rem;color:#b9c9c7;white-space:nowrap}.character-modes button.chosen{background:#5b533a;color:#ffecc1;box-shadow:inset 0 0 0 1px #c8b37650}.character-modes small{font-size:.75rem;opacity:.7;margin-left:2px}
.character-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:10px;flex:1;min-height:0}.character-card{position:relative;display:flex;align-items:center;gap:12px;padding:16px 13px;min-width:0;min-height:0;text-align:left;border:1px solid #a9ad904a;border-radius:8px;background:#1e3b4390;overflow:hidden}.character-card.chosen{border-color:#e1c083;background:linear-gradient(130deg,#615438bf,#263c3b);box-shadow:inset 0 0 0 1px #dec18c35}.character-card>span:nth-child(2){display:flex;flex-direction:column;min-width:0;gap:6px}.character-initial{width:38px;min-width:38px;height:45px;display:grid;place-items:center;color:#ffe9bc;font:1.6rem Georgia,serif;background:color-mix(in srgb,var(--character-color),#122a32 45%);border:1px solid var(--character-color);border-radius:7px}.character-card strong{display:block;font:1.03rem/1.2 Georgia,serif;color:#fff0cf;overflow-wrap:anywhere}.character-card small{font-size:.75rem;line-height:1.3;color:#c7d2c5;overflow-wrap:anywhere}.character-card em{font-size:.75rem;line-height:1.3;font-style:normal;color:#b6b798}.character-card>i{position:absolute;top:5px;right:7px;font-size:.8125rem;color:#f8d58c;font-style:normal}.character-pagination{display:flex;align-items:center;justify-content:center;gap:18px;flex-shrink:0}.character-pagination span{font-size:.8125rem;font-variant-numeric:tabular-nums;color:#c1cbc2}.character-pagination .hud-icon{height:31px;min-height:31px;min-width:36px;width:36px;font-size:24px;background:#233e4260;box-shadow:none}.character-empty{grid-column:1/-1;grid-row:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:10px}.character-empty>span{color:#e1c385;font-size:2rem;line-height:1}.character-empty h3{font:1.25rem Georgia,serif;color:#f0d7a8}.character-empty p{font-size:.875rem;color:#bdccc5;max-width:310px}.character-empty button{font-size:.875rem;min-height:36px;padding:7px 16px}
.character-preview-panel{min-height:0;min-width:0;display:flex;flex-direction:column;border-left:1px solid #9ea7883e;background:#18313b;overflow:hidden}#character-preview{flex:1;min-height:70px;min-width:0;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#bec9bd;font-size:.8125rem;text-align:center}.character-preview-canvas{display:block;width:100%;height:100%;position:absolute;inset:0}.character-preview-loading{font-size:.8125rem;padding:12px}.character-preview-caption{flex-shrink:0;display:flex;flex-direction:column;gap:5px;text-align:center;padding:15px 13px 18px;background:linear-gradient(#1b343c,#142b33);border-top:1px solid #b7af8440}.character-preview-caption>strong{font:1.3rem/1.2 Georgia,serif;color:#f2dbaa;overflow-wrap:anywhere}.character-preview-caption>span{font-size:.8125rem;color:#c9d0bf}.character-preview-caption p{font-size:.75rem;line-height:1.5;color:#b8c9c9;margin:6px 0;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.character-preview-caption a,.character-preview-caption>small{font-size:.75rem;line-height:1.35;color:#d9c699}.character-source{align-self:center;text-decoration:none;border-bottom:1px solid #b0a07e66}.character-source:hover{text-decoration:underline}
.character-steps{display:flex;gap:8px;flex-shrink:0}.character-steps button{flex:1;min-height:33px;min-width:0;display:flex;align-items:center;justify-content:center;gap:8px;border:0;border-bottom:2px solid transparent;border-radius:0;padding:5px 3px;background:transparent;font-size:.875rem;color:#adc2c1}.character-steps button.chosen{color:#f0d7a7;border-color:#c9b17a}.character-steps small{display:grid;place-items:center;width:20px;height:20px;border:1px solid #92a0946b;border-radius:50%;font-size:.75rem}.character-fields{display:flex;flex-direction:column;gap:16px;flex:1;min-height:0;padding:3px 0}.character-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.character-field{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:.875rem;color:#d6dccd;line-height:1.2}.character-field>small{display:inline;font-size:.75rem;color:#9fb5b6}.character-field input,.character-field select,.character-field textarea{width:100%;min-width:0;min-height:40px;font-size:1rem;line-height:1.25;background:#0f2731c4;color:#f0e9d6;border:1px solid #8eac9b66;border-radius:6px;padding:8px 10px}.character-field input::placeholder,.character-field textarea::placeholder{color:#809a9f}.character-field textarea{resize:none;height:77px;min-height:0}.character-colors{border:0;padding:0;margin:0;display:flex;gap:9px;flex-wrap:wrap}.character-colors legend{margin-bottom:12px;font-size:.875rem;color:#d6dccd}.character-colors button{min-width:46px;padding:0;border:0;background:transparent;display:flex;flex-direction:column;align-items:center;gap:8px;min-height:0}.character-colors button>span{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:var(--swatch);border:1px solid #d3ceb453;color:#fff4cf;font-size:1rem}.character-colors button.chosen>span{outline:2px solid #e6d2a4;outline-offset:3px}.character-colors button>small{font-size:.75rem;color:#c2cdbe}
.character-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 20px;background:#152b34;border-top:1px solid #aba68544;flex-shrink:0}.character-footnote{min-width:0;display:flex;flex-direction:column;gap:5px}.character-footnote>span{font-size:.75rem;line-height:1.4;color:#dac49a}.character-footnote small{font-size:.75rem;color:#a8bfc0}.character-footer-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.character-footer-actions button{min-height:39px;font-size:.875rem;padding:8px 14px;white-space:nowrap}.character-dialog button:focus-visible,.character-dialog input:focus-visible,.character-dialog select:focus-visible,.character-dialog textarea:focus-visible{outline:2px solid #9bdbd5;outline-offset:2px}.avatar-caption strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;line-height:1.12}.avatar-caption small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:850px),(max-height:560px){.character-dialog[open]{height:calc(100dvh - 22px);max-height:calc(100dvh - 22px);border-radius:9px;width:calc(100vw - 24px)}.character-dialog .modal-heading{min-height:43px;padding:7px 13px}.character-dialog .modal-heading .eyebrow{display:none}.character-dialog .modal-heading h2{font-size:1.15rem;margin:0}.character-dialog .modal-heading .hud-icon{height:28px;min-height:28px;min-width:28px;width:28px}.character-workspace{grid-template-columns:minmax(0,1fr) 178px}.character-editor{gap:8px;padding:10px 12px}.character-modes{padding:3px;gap:3px}.character-modes button{min-height:30px;padding:4px 5px;font-size:.875rem}.character-modes small{font-size:.75rem}.character-cards{gap:7px}.character-card{padding:9px 9px;gap:9px;border-radius:6px}.character-initial{width:29px;min-width:29px;height:35px;font-size:1.25rem}.character-card>span:nth-child(2){gap:3px}.character-card strong{font-size:.94rem;line-height:1.12}.character-card small,.character-card em{font-size:.75rem;line-height:1.2}.character-pagination .hud-icon{height:26px;min-height:26px;font-size:23px}.character-pagination span{font-size:.75rem}.character-preview-caption{padding:8px 9px;gap:4px}.character-preview-caption>strong{font-size:1.03rem;line-height:1.14}.character-preview-caption>span{font-size:.75rem}.character-preview-caption p{font-size:.75rem;-webkit-line-clamp:2;line-height:1.35;margin:2px 0}.character-preview-caption a,.character-preview-caption>small{font-size:.75rem}.character-steps{gap:4px}.character-steps button{min-height:27px;font-size:.875rem;padding:3px 1px;gap:5px}.character-steps small{width:18px;height:18px}.character-fields{gap:9px;padding:0}.character-form-row{gap:8px 10px}.character-field{gap:4px;font-size:.875rem}.character-field input,.character-field select,.character-field textarea{min-height:33px;padding:5px 8px;font-size:1rem;line-height:1.15}.character-field textarea{height:51px;min-height:0}.character-field>small{font-size:.75rem}.character-colors{gap:13px}.character-colors legend{margin-bottom:9px}.character-colors button{gap:5px;min-width:41px}.character-colors button>span{width:29px;height:29px}.character-footer{padding:8px 12px;gap:9px;min-height:49px}.character-footnote{gap:2px}.character-footnote>span,.character-footnote small{font-size:.75rem;line-height:1.3}.character-footer-actions{gap:6px}.character-footer-actions button{min-height:34px;padding:6px 10px;font-size:.875rem}.character-empty{gap:8px}.character-empty>span{display:none}.character-empty h3{font-size:1.1rem}.character-empty p{font-size:.875rem}}
@media(max-height:430px){.character-preview-caption p{display:none}.character-card em{display:none}.character-field>small{display:none}.character-preview-caption>strong{font-size:.94rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.character-footer-actions button{font-size:.8125rem}.character-footnote small{display:none}.character-editor{gap:7px}.character-pagination{gap:14px}.character-steps small{display:none}.character-preview-caption>span,.character-preview-caption a,.character-preview-caption>small{font-size:.75rem}}
@media(max-width:660px) and (orientation:landscape){.character-workspace{grid-template-columns:minmax(0,1fr) 146px}.character-editor{padding:8px}.character-initial{display:none}.character-card strong{font-size:.875rem}.character-modes button{font-size:.8125rem;padding:4px 3px}.character-footer{padding:7px 9px;gap:7px}.character-footnote{max-width:230px}.character-steps button{font-size:.8125rem}.character-card{padding:8px}.character-preview-caption{padding:7px}.character-footnote>span{font-size:.75rem}.character-footer-actions button{padding:6px 8px}.character-colors{gap:7px}}
@media(orientation:portrait){.character-dialog[open]{visibility:hidden}}
@media(max-height:280px) and (orientation:landscape){.character-dialog:has(input:focus,textarea:focus) .modal-heading,.character-dialog:has(input:focus,textarea:focus) .character-modes,.character-dialog:has(input:focus,textarea:focus) .character-steps,.character-dialog:has(input:focus,textarea:focus) .character-preview-panel{display:none}.character-dialog:has(input:focus,textarea:focus) .character-workspace{grid-template-columns:1fr}.character-dialog:has(input:focus,textarea:focus) .character-editor{padding:6px 10px}.character-dialog:has(input:focus,textarea:focus) .character-footer{padding:4px 10px;min-height:38px}.character-dialog:has(input:focus,textarea:focus) .character-fields{gap:5px}.character-dialog:has(input:focus,textarea:focus) .character-field textarea{height:39px}}
