tetsu-map {
    aspect-ratio: 1 / 0.9;
    display: block;
    width: 100%;
    background-color: var(--c-light);
    border-radius: calc(var(--radius) / 1.5);
    flex-grow: 1;    
}

tetsu-dashpanel {
    display: flex;
    flex-wrap: wrap-reverse;
	align-items: flex-end;

    column-gap: var(--h-gap);
	row-gap: var(--v-gap);
}

#float_map {
	flex: 1 0 min(100%, var(--rvh) * 22);
}
#float_map > p {
	text-align: right;
}

tetsu-sidepanel {
	flex: 2 0 min(100%, var(--rvh) * 22);
	min-width: 0;
}

tetsu-sidepanel > *:not(:last-child) {
    margin-bottom: var(--v-gap);
}

#container_player_status {
    max-height: fit-content;
    height: 100%;
    transition: height 1s linear;
}
#container_player_status:not(:has(tetsu-float[visible])) {
    max-height: 0;
    margin: 0;
}

t-userdata {
	display: block;
	opacity: 1;
	transition: max-height 0.25s linear, opacity 1s ease-in-out;
	max-height: 2.5em;
	overflow: hidden;
	
	@starting-style {
		opacity: 0;
		max-height: 0;
	}
}
t-userdata[to_be_deleted] {
	max-height: 0;
	opacity: 0;
	transition: opacity 0.4s ease-in-out, max-height 0.25s linear;
}


tetsu-status {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;

    gap: 1rem;
    margin-bottom: 1.3rem;
}

tetsu-status > status-info {
    width: 7em;

    display: flex;
    justify-content: center;
}

tetsu-status-text {
    margin: 1.1rem 0 0.5rem 0;
    display: block;
}
tetsu-status-text:empty::after {
    content: "各路線の取得状況に関するお知らせは、ここに表示されます。";
    display: block;
    text-align: center;
    color: var(--c-dark2);
}

/* アナウンス */
s-announcement {
    --ann-color: var(--c-dark2);
    --ann-text: "不明";

    display: flex;
    align-items: baseline;
    gap: 0.5rem;
}
s-announcement:not(:last-child) {
    margin-bottom: 0.5em;
}

s-announcement::before {
    flex: 0 0 2rem;
    display: block;

    font-size: var(--f-s1);
    line-height: 0.9em;

    content: var(--ann-text);
    text-align: center;
    text-wrap: nowrap;
    padding: 0.25rem 0.75rem;

    border: 0.1em solid var(--ann-color);
    border-radius: calc(var(--radius) / 3.5);

    color: var(--c-dark);
    background-color: color-mix(in srgb, white 95%, var(--ann-color));
}
s-announcement[t-style="ok"] { --ann-color: var(--c-green); --ann-text: "正常"; }
s-announcement[t-style="warn"] { --ann-color: var(--c-yellow); --ann-text: "注意"; }
s-announcement[t-style="error"] { --ann-color: var(--c-red); --ann-text: "取得不可"; }




/* MAP */
.eki_tooltip,
.player_tooltip {
    background-color: white !important;
    opacity: 1 !important;

    line-height: 1em;
}

.eki_tooltip::before,
.player_tooltip::before {
    content: unset !important;

    bottom: unset !important;
    margin: unset !important;
    left: unset !important;
    position: relative !important;
    border: unset !important;
}



#map[tetsu-tooltip-permanent] .player_tooltip {
    display: block;
}

/* DIAGRAM */
#diagram_info {
	min-height: 1em;
}

#diagram_info:empty::after {
    content: "走行中ユーザーの情報は、こちらに表示されます。";
    display: block;
    text-align: center;
    color: var(--c-dark2);
}