/* World save overlay UI (step 5b): World panel, import dialogs, read-only world layer groups. Uses tokens.css only. */

/* World panel */
.world-panel { gap: 6px; }
.world-summary { display: flex; flex-direction: column; gap: 2px; }
.world-kv { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.world-k { color: var(--text-dim); flex: none; }
.world-v { min-width: 0; text-align: right; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.world-seed.ok { color: #6fcf8e; }
.world-seed.bad { color: #ffb454; }
.world-actions { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.world-actions .spacer { flex: 1; }
.world-sub { margin-top: 4px; padding-top: 6px; border-top: 1px solid var(--border); color: var(--text-dim); font-size: var(--fs-small); text-transform: uppercase; letter-spacing: .04em; }
.world-banner { display: flex; flex-direction: column; gap: 6px; padding: 6px 8px; background: var(--bg-input); border: 1px solid #8a6a2a; border-radius: var(--radius); }
.world-banner.error { border-color: var(--danger); }
.world-banner-text { color: var(--text-bright); }
.world-status { display: flex; flex-direction: column; gap: 4px; }
.world-sugg { display: flex; flex-direction: column; gap: 4px; }
.world-row { display: flex; flex-direction: column; gap: 2px; padding: 4px 6px; background: var(--bg-input); border: 1px solid var(--border); border-radius: var(--radius); }
.world-row-name { color: var(--text-bright); }
.world-row-end { display: flex; gap: 6px; color: var(--text); font-size: var(--fs-small); }
.world-dim { width: 58px; flex: none; color: var(--text-dim); }
.world-row .world-actions { margin-top: 2px; }
.world-row-notes { color: var(--text-dim); font-size: var(--fs-small); white-space: pre-line; max-height: 3.6em; overflow: hidden; }
.world-row-end span:last-child { min-width: 0; overflow-wrap: anywhere; }
.world-other > summary { cursor: pointer; list-style: none; margin-bottom: 4px; }
.world-other > summary::-webkit-details-marker { display: none; }
.world-other > summary::before { content: '▸ '; }
.world-other[open] > summary::before { content: '▾ '; }

/* Progress bar (panel + import dialog) */
.world-bar { height: 8px; background: var(--bg-input); border: 1px solid var(--border-strong); border-radius: var(--radius); overflow: hidden; }
.world-bar-fill { height: 100%; width: 0; background: var(--accent); }

/* Import dialogs */
.world-dlg { min-width: 340px; max-width: 460px; }
.world-dlg .world-kv { padding: 1px 0; }
.world-prog-file { margin-bottom: 6px; color: var(--text-dim); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.world-prog-msg { margin-top: 6px; color: var(--text); min-height: 16px; }
.world-change { color: #7fc8ff; padding: 1px 0; }
.world-warn-head { margin-top: 6px; color: #ffb454; }
.world-warns { margin: 2px 0 0; padding-left: 16px; color: var(--text); max-height: 120px; overflow-y: auto; }

/* Layers panel: read-only world groups */
.wlyr-groups[hidden] { display: none !important; }
.wlyr-groups { border-top: 1px solid var(--border-strong); }
.wlyr-row { display: flex; align-items: center; gap: 6px; height: 26px; padding: 0 6px 0 10px; background: var(--bg-panel-header); border-bottom: 1px solid var(--border); }
.wlyr-oprow { display: flex; align-items: center; gap: 6px; height: 22px; padding: 0 10px; color: var(--text-dim); font-size: var(--fs-small); border-bottom: 1px solid var(--border); }
.wlyr-legend { display: flex; flex-wrap: wrap; gap: 2px 10px; padding: 4px 10px; border-bottom: 1px solid var(--border); font-size: var(--fs-small); color: var(--text-dim); }
.wlyr-key { display: inline-flex; align-items: center; gap: 4px; }
.wlyr-key i { width: 10px; height: 10px; border: 1px solid rgba(255,255,255,.3); }
.wlyr-legend:empty { display: none; }
