.reflections-dialog{width:min(940px,calc(100% - 28px));padding:30px;background:#10201df8;border:1px solid #adcbb346;border-radius:10px}
.reflections-dialog .dialog-heading h2{font-family:Georgia,serif;font-size:36px;margin:8px 0 12px}
.reflections-dialog .eyebrow{color:#f0c6b9}
.reflection-intro{font-size:16px;line-height:1.65;color:#c7d7ca;max-width:680px;margin:0 0 25px}
.reflection-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}
#reflection-form label,.reflection-intentions legend{display:block;font-size:15px;line-height:1.5;color:#efe8d8;margin-bottom:8px}
#reflection-form input[type=text],#reflection-message{font:16px/1.6 inherit;font-family:inherit;font-size:16px;line-height:1.6;width:100%;border:1px solid #b7ccad66;border-radius:4px;color:#f8f3e7;background:#071b17;padding:11px 13px}
#reflection-form input[type=text]{margin-bottom:20px}
#reflection-message{min-height:148px;resize:vertical}
#reflection-form :focus-visible{outline:2px solid #efc698;outline-offset:3px}
.reflection-intentions{padding:0;margin:0 0 20px;border:0}
.reflection-choices{display:flex;gap:8px;flex-wrap:wrap}
.reflection-choices label{position:relative;padding:7px 11px;border:1px solid #a9bda847;border-radius:20px;cursor:pointer;margin:0!important;font-size:14px!important}
.reflection-choices label:has(input:checked){background:#416454;color:#fff7e7!important;border-color:#d7c098}
.reflection-choices input{accent-color:#e4c596;margin-right:5px}
.reflection-writing-meta{display:flex;justify-content:space-between;gap:10px;font-size:14px;color:#b4c5b7;margin:7px 0 13px}
.reflection-public-note{font-size:14px;line-height:1.65;color:#b9cbbb;margin:14px 0}
#reflection-submit{width:100%;min-height:48px;font-size:15px}
#reflection-submit:disabled{opacity:.7;cursor:wait}
#reflection-status{font-size:15px;line-height:1.6;color:#c7edcf;min-height:25px;margin:12px 0 0}
#reflection-status.error{color:#ffd1bf}
.reflection-list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.reflection-list-heading h3{font-size:15px;font-weight:500;margin:0;color:#d9dec9}
#reflections-refresh{min-height:36px;padding:7px 11px;font-size:14px}
#reflection-list{display:grid;gap:12px;max-height:470px;overflow:auto;padding-right:7px}
.reflection-card{padding:17px;background:#1c342bbf;border:1px solid #a9bfac26;border-radius:5px}
.reflection-kind{text-transform:uppercase;letter-spacing:1.5px;font-size:12px;color:#edc5a2}
.reflection-message{font-family:Georgia,serif;font-size:18px;line-height:1.6;color:#f4ecdc;white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0 15px}
.reflection-meta{display:flex;justify-content:space-between;gap:12px;font-size:14px;line-height:1.4;color:#bdcdbc;overflow-wrap:anywhere}
.reflection-meta time{white-space:nowrap}
.reflection-remove{display:block;background:transparent;color:#d3bcab;text-decoration:underline;text-underline-offset:3px;font-size:14px;margin:12px 0 0;padding:3px 0;min-height:30px;text-align:left}
.reflections-empty{font:20px/1.65 Georgia,serif;color:#d6decf;padding:25px 20px;border:1px dashed #acbd9e66;border-radius:5px;margin:0}
#reflections-load-status{font-size:14px;line-height:1.5;color:#b7c5b6}
#reflection-button{background:#264d3ce6;border-color:#9dccab77;color:#fff0d9}
@media(max-width:700px){.reflection-columns{grid-template-columns:1fr;gap:25px}.reflections-dialog{padding:22px}.reflections-dialog .dialog-heading h2{font-size:29px}#reflection-list{max-height:350px}.tour-controls{max-width:350px}.floor-caption{bottom:305px}.touch-controls,.art-info{bottom:164px}}
@media(max-width:1400px){.move-hint{display:none}}
@media(min-width:701px) and (max-width:1100px){.art-info{position:absolute;right:30px;bottom:112px}.tour-controls{flex-wrap:wrap}}
