/* Readable stone diorama: cool structure, pale paths, meaningful accents. */
:root { --bg:#101b28; --text:#f5f0df; --muted:#bbcbd3; }
.vignette { background:radial-gradient(ellipse at 50% 52%,transparent 65%,#08131f40),linear-gradient(#09131c9c,transparent 20%,transparent 86%,#08131f66); }
.scene-loading { background:#101b28; }
.objective-hud { color:#fff4e0; border-color:var(--accent,#ffb66f); background:linear-gradient(90deg,transparent,#122331ed 13%,#122331ed 87%,transparent); }
.quest-gem { color:var(--accent,#ffb66f); line-height:1; }
.quest-gem .icon { width:19px; height:19px; }
#quest-fraction { color:var(--accent,#ffb66f); }
.glass-icon,.camera-controls .reset-view { background:#152938ed; border-color:#879cab80; color:#f6eddb; }
.orbit-help { color:#e4e9ea; }
.scene-caption { color:#f5f1e5; text-shadow:0 1px 3px #08121c,0 0 8px #08121c; }
#game-shell.portrait-mode .scene-caption { background:linear-gradient(90deg,transparent,#102332ed 12%,#102332ed 88%,transparent); }

/* The gold controller remains familiar. The active action matches its target. */
.action-main { border-color:#ba9765; }
.action-main .action-inner { border-color:#b7c6cb; box-shadow:0 0 0 1px #162939; background:#172936e8; }
.action-main.available { border-color:var(--accent); box-shadow:0 0 0 2px #142b39,0 0 20px color-mix(in srgb,var(--accent) 38%,transparent); }
.action-main.available .action-inner { border-color:var(--accent); background:#1c3545; }
.action-main.available .action-inner .icon,.action-main.available .action-caption { color:var(--accent); }
.action-caption { font-weight:600; }

/* Always legible, even over pale floors; an icon also survives compact mode. */
.object-label { display:flex; align-items:center; gap:9px; width:184px; height:49px; padding:6px 9px; transform:translate(-50%,-100%); border:1px solid var(--accent); border-radius:7px; background:#102331f5; color:#f8f4e9; text-shadow:none; box-shadow:0 3px 9px #06111bb3; text-align:left; z-index:3; }
.object-label::after { background:#102331; border-color:var(--accent); width:6px; height:6px; bottom:-4px; }
.object-label .marker-icon { display:grid; place-items:center; color:var(--accent); width:23px; flex-shrink:0; }
.object-label .marker-icon .icon { width:23px; height:23px; stroke-width:1.9; }
.marker-copy { display:flex; flex:1; flex-direction:column; gap:3px; min-width:0; }
.marker-copy strong { color:#fff8e9; font-size:12px; font-weight:600; letter-spacing:.1px; white-space:nowrap; }
.marker-copy small { color:var(--accent); font-size:10px; letter-spacing:.25px; }
.marker-status { color:var(--accent); font-size:11px; font-weight:700; }
.object-label.nearby { border-width:2px; box-shadow:0 0 0 2px #ffffff1a,0 4px 12px #06111bcc; }
.object-label[data-status="done"],.object-label[data-status="read"] { border-color:#b8ed85; }
.object-label[data-status="done"] .marker-status,.object-label[data-status="read"] .marker-status { color:#b8ed85; }
.object-label.compact-marker { width:38px; height:38px; border-radius:10px; padding:7px; justify-content:center; }
.compact-marker .marker-copy { display:none; }
.compact-marker .marker-status { position:absolute; right:-4px; top:-5px; border:1px solid var(--accent); min-width:14px; padding:1px 2px; border-radius:4px; background:#102331; font-size:9px; line-height:12px; text-align:center; }
.object-label:focus-visible { outline-color:#fff; z-index:7; }
.danger-label { position:absolute; display:flex; align-items:center; gap:4px; width:74px; height:26px; justify-content:center; transform:translate(-50%,-100%); pointer-events:none; background:#3a1720f5; border:1px solid #ff807b; border-radius:4px; color:#ffd4cc; font-size:10px; font-weight:600; box-shadow:0 2px 6px #10162088; }
.danger-label .icon { width:15px; height:15px; stroke-width:2; color:#ffa8a0; }
.object-label[hidden],.danger-label[hidden] { display:none!important; }

.minimap-shell { width:234px; background:#0f2232f5; border-color:#748f9f; }
#game-shell.compact .minimap-shell { width:224px; }
#game-shell.portrait-mode .minimap-shell { width:220px; max-height:calc(100% - 310px); overflow-y:auto; }
.map-legend { display:grid; grid-template-columns:repeat(3,1fr); gap:9px 5px; padding:0 0 14px; font-size:10px; }
.map-legend>span { display:flex; align-items:center; gap:4px; white-space:nowrap; }
.map-legend b { display:grid; place-items:center; border:1px solid currentColor; width:17px; height:17px; border-radius:2px; font-size:10px; }
.legend-clue { color:#91ddff; }.legend-fire { color:#ffb66f; }.legend-water { color:#61eadb; }.legend-rune { color:#d2acff; }.legend-danger { color:#ffaaa4; }.legend-treasure { color:#ffdc74; }
.minimap-footer { padding-top:10px; border-top:1px solid #6a84954a; color:#cfdae0; }
dialog { background:linear-gradient(135deg,#233543,#142432); border-color:#8d9c9e; }
.dialog-description,.note-entry p { color:#d2dce0; }
.note-entry { background:#1b303f; border-color:#597080; }
.clue-paper { color:#263e4c; background:#e8ddbd; border-color:#b5cbd0; text-shadow:none; }
.clue-paper small { color:#536672; }
dialog[data-mechanism] { border-color:var(--accent); }
dialog[data-mechanism] .dialog-eyebrow { color:var(--accent); }
dialog[data-mechanism] .symbol-button { background:#17303f; border:2px solid color-mix(in srgb,var(--accent) 60%,#17303f); color:var(--accent); }
dialog[data-mechanism] .symbol-button small { color:#e0e7ea; }
dialog[data-mechanism] .symbol-button.active { background:color-mix(in srgb,var(--accent) 27%,#17303f); border-color:var(--accent); box-shadow:inset 0 0 0 2px #152a39; }
dialog[data-mechanism] .primary-button { background:var(--accent); color:#132737; border-color:#e8f0ed; }
@media(max-height:460px) and (orientation:landscape) { .minimap-shell { top:96px; max-height:calc(100% - 115px); overflow-y:auto; } }
