/* 39 viewer entry only. The mirror is hidden; the six fields are the editable code. */
html body.viewer-body #entry-dialog{position:fixed;inset:0;margin:auto;width:min(360px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);box-sizing:border-box;overflow:auto;padding:20px;border:1px solid #464646;border-radius:12px;background:#202020;color:#EDEDED}
html body.viewer-body #entry-dialog #entry-form{display:grid;gap:18px;padding:0;margin:0;min-width:0}
html body.viewer-body #entry-dialog #entry-title{margin:0;font-size:18px;font-weight:600;line-height:1.4;color:inherit;text-align:center}
html body.viewer-body #entry-dialog #viewer-code-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;min-width:0}
html body.viewer-body #entry-dialog #viewer-code-grid input{display:block;box-sizing:border-box;width:100%;min-width:0;height:48px;padding:0!important;border:1px solid #626262;border-radius:6px;background:#151515;color:#EFEFEF;font-size:22px!important;font-weight:650;text-align:center;text-transform:uppercase;line-height:1;caret-color:#00E5BE}
html body.viewer-body #entry-dialog #viewer-code-grid input:focus-visible{outline:2px solid #00E5BE;outline-offset:2px}
html body.viewer-body #entry-dialog .viewer-entry-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;min-width:0}
html body.viewer-body #entry-dialog .viewer-entry-actions button{min-height:44px;margin:0;padding:8px 16px;font-size:15px}
html body.viewer-body #entry-dialog .viewer-entry-actions button:not(.primary){background:transparent!important;color:#BDBDBD!important;border:0!important;box-shadow:none!important}
html body.viewer-body #entry-dialog .viewer-entry-actions button.primary{background:#00E5BE!important;color:#111318!important;border-color:#00E5BE!important;min-width:88px}
html body.viewer-body #entry-dialog #entry-feedback{margin:0;color:#F1CD84;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
html body.viewer-body #entry-dialog #entry-feedback:empty{display:none}

/* Early entry feedback is independent of the business modules and fonts. */
.viewer-boot-status{position:absolute;inset:0;z-index:8;display:flex;flex-wrap:wrap;align-content:center;align-items:center;justify-content:center;gap:10px;padding:20px;background:#101010;color:#EDEDED;pointer-events:none;text-align:center}
.viewer-boot-status button{pointer-events:auto}
.viewer-entry-status{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;color:#BDBDBD;font-size:14px;line-height:1.5;text-align:center}
.viewer-loading-spinner{display:inline-block;box-sizing:border-box;width:24px;height:24px;flex:none;border:3px solid #FFFFFF30;border-top-color:#00E5BE;border-radius:50%;animation:viewer-loading-spin .9s linear infinite}
.viewer-code-placeholder{display:block;box-sizing:border-box;height:64px;border:1px solid #FFFFFF30;border-radius:8px;background:#FFFFFF08}
#viewer-boot-status[hidden],#viewer-entry-status[hidden],.viewer-loading-spinner[hidden],[data-entry-retry][hidden],[data-viewer-reload][hidden]{display:none!important}
@keyframes viewer-loading-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.viewer-loading-spinner{animation:none}}
