.relic-dialog{width:min(1100px,96vw);max-width:96vw;max-height:94dvh;padding:24px;background:var(--panel,#172322);color:var(--text,#e5efeb);border:1px solid var(--line,#30433c);border-radius:12px;overflow:auto}.relic-dialog::backdrop{background:#000b}.relic-head{display:flex;justify-content:space-between;align-items:center}.relic-head h2{margin:5px 0 20px}.relic-head small{font-size:10px;letter-spacing:.12em;color:var(--muted,#9aafac)}.relic-head>button{font-size:28px;padding:5px 14px}.relic-chapters{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;margin-bottom:20px}.relic-dialog button{cursor:pointer;color:inherit;background:var(--bg,#101818);border:1px solid var(--line,#30433c);border-radius:5px;min-height:32px}.relic-dialog button[aria-pressed=true],.relic-dialog button.active{border-color:var(--accent,#b7f77b);color:var(--accent,#b7f77b)}.relic-map-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.relic-map-tools>div{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.relic-map-tools button{padding:5px 10px}.relic-map-scroll{overflow:auto;border:1px solid var(--line,#30433c);border-radius:8px;max-height:60dvh}.relic-map-canvas{position:relative;min-width:100%;background:#101b1a}.relic-map-canvas img{display:block;width:100%;height:auto}.relic-map-canvas.concealed{background:linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px);background-size:30px 30px}.relic-dialog .relic-marker{position:absolute;transform:translate(-50%,-50%);width:28px;min-height:28px;border-radius:50%;font-size:10px;background:#162225e8;color:white;box-shadow:0 1px 4px #0008}.relic-dialog .relic-marker.music{color:#ddff79;font-size:18px;border-color:#ddff79}.relic-dialog .relic-marker.selected{outline:3px solid #ff80bd}.relic-credit,.relic-hint,.relic-warning{font-size:11px;color:var(--muted,#9aafac);line-height:1.7}.relic-credit a{color:inherit}.relic-legend{font-size:12px;color:var(--accent,#b7f77b);margin:18px 0}.relic-legend span{margin-left:18px;color:var(--muted,#9aafac)}.relic-song-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.relic-song-list button{display:flex;align-items:center;gap:12px;text-align:left;padding:12px;min-height:55px}.relic-song-list strong{flex:1;font-size:13px}.relic-song-list span{color:var(--accent,#b7f77b);font-size:11px}.relic-song-list small{font-size:10px;color:var(--muted,#9aafac)}.relic-acquisition{font-size:11px;margin:10px 0;display:flex;gap:8px;flex-wrap:wrap}.relic-acquisition button{color:var(--accent,#b7f77b);border:0;background:transparent;text-decoration:underline;cursor:pointer;padding:3px}@media(max-width:650px){.relic-dialog{padding:15px}.relic-chapters{grid-template-columns:repeat(5,minmax(0,1fr))}.relic-song-list{grid-template-columns:1fr}.relic-dialog .relic-marker{width:30px;min-height:30px}.relic-map-scroll{max-height:45dvh}}

html[data-theme="light"] .relic-dialog{--panel:#fff;--accent:#426917;--bg:#f3f6ef;--line:#c6d2c6;--muted:#50675b;--text:#20302a}
.relic-difficulty,.relic-type-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.relic-difficulty button{min-width:110px;padding:10px 20px;font-size:14px}.relic-type-filters button{padding:8px 12px;font-size:12px}.relic-dialog .relic-marker{width:32px;height:32px;font-size:16px}.relic-marker sup{position:absolute;right:-7px;top:-7px;min-width:14px;padding:2px;background:var(--panel);border:1px solid var(--line);border-radius:5px;color:var(--text);font-size:9px}.relic-dialog .relic-marker.gems{color:#78d9ee;border-color:#78d9ee}.relic-dialog .relic-marker.record{color:#e8d9b8;border-color:#e8d9b8}.relic-selected{display:flex;align-items:center;gap:15px;border:1px solid var(--accent);border-radius:8px;padding:15px;margin:15px 0}.relic-selected>div{flex:1;min-width:0}.relic-selected p{margin:6px 0 0;font-size:13px;color:var(--muted);overflow-wrap:anywhere}.relic-selected>span{color:var(--accent)}.relic-selected button{padding:8px 14px}.relic-song-list button>div{flex:1;min-width:0}.relic-song-list button>div small{display:block;margin-top:6px;overflow-wrap:anywhere}.relic-song-list button>small{white-space:nowrap}@media(max-width:650px){.relic-selected{gap:9px;padding:12px}.relic-selected button{max-width:115px}.relic-type-filters{gap:5px}}
